/* Loaded only by the reservation page; keep the shared CSS budget unchanged. */
.interest-optional { margin-top: 24px; border-block: 1px solid var(--lp-line, #11182725); }
.interest-optional > summary { padding-block: 16px; min-height: 48px; cursor: pointer; color: var(--lp-text, var(--ink)); font-size: 14px; line-height: 1.6; font-weight: 720; }
.interest-optional > summary small { color: var(--lp-muted, var(--muted)); font-size: 12px; font-weight: 500; }
.interest-optional > summary:focus-visible, .interest-school-optional input:focus-visible { outline: 3px solid var(--lp-accent, var(--blue)); outline-offset: 3px; }
.interest-optional > .interest-segmentation { margin-top: 0; padding: 8px 0 20px; border-top: 0; }
.interest-optional fieldset { min-width: 0; }
.interest-optional .interest-inline-options legend { display: block; max-width: 100%; font: inherit; font-weight: 720; line-height: 1.5; letter-spacing: 0; }
.interest-school-optional input { width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid var(--lp-line, #11182725); border-radius: 13px; font: inherit; font-size: 16px; }
.interest-companion-note { margin-top: 24px; color: var(--lp-muted, var(--muted)); font-size: 14px; line-height: 1.6; }
@layer siteTheme {
  html[data-site-theme] body #root .interest-page .selected-package-note { background: var(--lp-surface) !important; color: var(--lp-text) !important; border-color: var(--lp-line) !important; }
  html[data-site-theme] body #root .interest-page .selected-package-note :is(strong, small) { color: var(--lp-text) !important; }
}
@media (max-width: 760px) {
  #root .interest-page { padding-top: 28px; gap: 24px; }
  #root .interest-intro h1 { font-size: clamp(30px, 8vw, 38px); line-height: 1.12; }
}
