.lio-intake,.lio-dashboard,.lio-login,.lio-register{max-width:960px;margin:0 auto}
.lio-trial-page,.lio-early-start{max-width:960px;margin:0 auto;overflow-wrap:anywhere}
.lio-intake-form,.lio-register-form{display:grid;gap:1rem}
.lio-intake-form p,.lio-register-form p{margin:0;display:grid;gap:.4rem}
.lio-intake-form input[type=text],.lio-intake-form input[type=email],.lio-intake-form select,.lio-intake-form textarea,.lio-register-form input[type=text],.lio-register-form input[type=email],.lio-login input[type=text],.lio-login input[type=password]{width:100%;max-width:100%;box-sizing:border-box;padding:.75rem;border:1px solid #b8b8b8;border-radius:6px;background:#fff;color:#222}
.lio-intake-form input:focus,.lio-intake-form select:focus,.lio-intake-form textarea:focus,.lio-register-form input:focus,.lio-login input:focus,.lio-button:focus,.lio-package-card:focus{outline:3px solid rgba(0,0,0,.22);outline-offset:2px}
.lio-button{display:inline-block;border:0;border-radius:6px;padding:.78rem 1rem;background:#222;color:#fff;text-decoration:none;cursor:pointer;font:inherit}
.lio-button:hover{color:#fff;text-decoration:none}
.lio-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lio-notice{padding:1rem;border:1px solid #d8d8d8;border-radius:6px;background:#fafafa;margin:1rem 0}
.lio-notice-success{border-color:#9bbd9b;background:#f4fbf4}
.lio-trial-next{margin-top:1rem;padding:1rem;border-radius:8px;background:#f7f7f7}
.lio-dashboard-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.lio-kicker{font-size:.8rem;letter-spacing:.08em;font-weight:700}
.lio-summary-grid,.lio-package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.5rem 0}
.lio-summary-grid>div,.lio-package-card{padding:1rem;border:1px solid #e1e1e1;border-radius:8px;background:#fff}
.lio-summary-grid span{display:block;font-size:.85rem;color:#555;margin-bottom:.25rem}
.lio-summary-grid strong{display:block;font-size:1.05rem}
.lio-package-card{display:flex;flex-direction:column;gap:.75rem;color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease}
.lio-package-card:hover{color:inherit;text-decoration:none;border-color:#777;transform:translateY(-2px)}
.lio-package-card h3{margin:0}
.lio-package-lessons{font-size:1.15rem}
.lio-package-price{font-size:1.8rem;font-weight:700}
.lio-package-cta{margin-top:auto;font-weight:700;text-decoration:underline}
.lio-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.lio-table{width:100%;border-collapse:collapse;min-width:640px}
.lio-table th,.lio-table td{text-align:left;padding:.7rem;border-bottom:1px solid #ddd;vertical-align:top}
.lio-consent label{display:flex;gap:.6rem;align-items:flex-start}
.lio-consent input{margin-top:.25rem}
.lio-login form p{display:grid;gap:.35rem}
.lio-account-links,.lio-purchase-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1rem}
.lio-button-preferred{outline:3px solid rgba(0,0,0,.22);outline-offset:2px}
.lio-payment-note{font-size:.9rem;color:#555}
@media(max-width:640px){.lio-table{min-width:560px}.lio-summary-grid{grid-template-columns:1fr 1fr}.lio-package-grid{grid-template-columns:1fr}}
@media(max-width:420px){.lio-summary-grid{grid-template-columns:1fr}.lio-purchase-actions .lio-button{width:100%;text-align:center;box-sizing:border-box}}
@media(prefers-reduced-motion:reduce){.lio-package-card{transition:none}.lio-package-card:hover{transform:none}}

/* Point 12: scoped forms, natural wrapping and visible keyboard focus. */
.lio-private-offers{max-width:100%;overflow-wrap:anywhere}
.lio-private-offers .lio-package-card{min-width:0;box-sizing:border-box}
.lio-private-offers .lio-button{max-width:100%;box-sizing:border-box;white-space:normal;text-align:center}
.lio-private-offers .lio-button:focus-visible,.lio-private-offers summary:focus-visible{outline:3px solid #222;outline-offset:3px}
.lio-private-offers summary{cursor:pointer;padding:.6rem 0;font-weight:700}
@media(max-width:640px){.lio-private-offers .lio-package-grid{grid-template-columns:minmax(0,1fr)}}

/* LearnItalianOra public booking: three equal-action links and accessible wrapping. */
.lio-public-booking .lio-student-account-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:1rem}
.lio-public-booking .lio-student-account-actions .wp-block-button{margin:0}
.lio-public-booking .lio-student-account-actions .wp-block-button__link{display:inline-block;box-sizing:border-box;max-width:100%;white-space:normal;text-align:center}
.lio-public-booking .lio-student-account-actions .wp-block-button__link:focus-visible{outline:3px solid #222;outline-offset:3px}
@media(max-width:420px){
  .lio-public-booking .lio-student-account-actions{display:grid;grid-template-columns:minmax(0,1fr)}
  .lio-public-booking .lio-student-account-actions .wp-block-button__link{display:block;width:100%}
}

/* Phase 1: local Student Area controls match the theme's accessible orange CTA. */
.lio-dashboard .lio-button,.lio-login .lio-button,.lio-register .lio-button,
.lio-trial-page .lio-button,.lio-public-booking .lio-button,.lio-early-start .lio-button {
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  max-width:100%;box-sizing:border-box;padding:.65rem 1.45rem;border:1px solid #b8461e;
  border-radius:999px;background:var(--li-orange-dark,#b8461e);color:#fff;
  font-size:17px;font-weight:600;line-height:1.3;text-decoration:none;white-space:normal;text-align:center;
}
.lio-dashboard .lio-button:hover,.lio-login .lio-button:hover,.lio-register .lio-button:hover,
.lio-trial-page .lio-button:hover,.lio-public-booking .lio-button:hover,.lio-early-start .lio-button:hover {
  background:#8f3517;border-color:#8f3517;color:#fff;text-decoration:none;
}
.lio-dashboard .lio-button:focus-visible,.lio-login .lio-button:focus-visible,
.lio-register .lio-button:focus-visible,.lio-trial-page .lio-button:focus-visible,
.lio-public-booking .lio-button:focus-visible,.lio-early-start .lio-button:focus-visible {
  outline:3px solid var(--li-focus,#155eef);outline-offset:3px;
}
.lio-dashboard .lio-button:disabled,.lio-register .lio-button:disabled,
.lio-trial-page .lio-button:disabled,.lio-early-start .lio-button:disabled {
  background:#e5e4e1;border-color:#62666b;color:#202124;cursor:not-allowed;
}
.lio-early-start .lio-button-secondary{background:#fff;color:#b8461e}
.lio-register-form select,.lio-register-form textarea{width:100%;max-width:100%;box-sizing:border-box;padding:.75rem;border:1px solid #b8b8b8;border-radius:6px;background:#fff;color:#222}
.lio-register-form .lio-consent,.lio-early-start .lio-consent{
  display:grid;grid-template-columns:1.4em minmax(0,1fr);gap:.65rem;align-items:start;
}
.lio-register-form .lio-consent input[type=checkbox],.lio-early-start .lio-consent input[type=checkbox]{
  width:1.25em;height:1.25em;min-width:1.25em;margin:.25em 0 0;accent-color:#b8461e;
}
.lio-register-form .lio-consent label,.lio-early-start .lio-consent label{
  display:block;min-width:0;min-height:44px;margin:0;line-height:1.6;overflow-wrap:anywhere;cursor:pointer;
}
.lio-consent input[type=checkbox]:focus-visible{outline:3px solid #155eef;outline-offset:3px}
@media(max-width:420px){.lio-early-start .lio-account-links{display:grid;grid-template-columns:minmax(0,1fr)}.lio-trial-page .lio-button{width:100%}}
