/* Production behavior and accessibility: never copy disabled review controls. */
html { font-size:100%; }
body.site-design { margin-top:0!important; padding-top:0!important; }
body.site-design, body.site-design * { box-sizing:border-box; }
body.site-design main, body.site-design section, body.site-design .row { min-width:0; }
body.site-design main a, body.site-design main p { overflow-wrap:anywhere; }
body.site-design .locale-header { position:relative!important;height:auto!important;min-height:0!important; }
body.site-design .locale-skip { left:0!important;top:0!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
body.site-design .locale-skip:focus { width:auto;height:auto;clip-path:none;overflow:visible; }
body.site-design .flexslider, body.site-design .flex-viewport { overflow:hidden!important;direction:ltr; }
html[dir=rtl] body.site-design .flexslider .slides > li { direction:rtl; }
body.site-design .locale-languages a { display:inline-flex;align-items:center;text-decoration:none!important;line-height:1.5!important;height:auto!important; }
body.site-design .locale-languages { width:auto!important;flex:0 0 auto!important; }
body.site-design #meet .modern-team-card.provider-profile { grid-column:auto!important; }
/* Keep the decorative arch concentric with the photo, independent of caption height. */
body.site-design .modern-team-photo::before { content:none!important; }
body.site-design .modern-team-photo img { outline:2px solid var(--gold);outline-offset:12px; }
body.site-design .modern-team-photo figcaption { margin-top:28px!important; }
body.site-design #meet .team-bio, body.site-design #meet .team-bio p, body.site-design #meet .team-bio ul { text-align:start!important; }
body.site-design .locale-nav > a { display:inline-flex;align-items:center;text-decoration:none!important;line-height:1.4!important;height:auto!important;min-height:0!important; }
body.site-design .locale-nav details:not([open]) > .locale-services { display:none!important; }
body.site-design .locale-services { position:absolute;max-height:70vh;overflow:auto; }
body.site-design .locale-phone { direction:ltr;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--teal)!important; }
body.site-design .locale-top > .locale-phone { margin-inline-start:auto; }
body.site-design a:focus-visible, body.site-design button:focus-visible,
body.site-design summary:focus-visible, body.site-design input:focus-visible,
body.site-design select:focus-visible, body.site-design textarea:focus-visible { outline:3px solid var(--teal)!important;outline-offset:4px!important; }
body.site-design button:disabled { opacity:.6;cursor:wait; }
body.site-design .day-card:disabled { cursor:default; }
body.site-design .day-card.active, body.site-design .time-slot.active { background:var(--teal)!important;color:#fff!important;border-color:var(--teal)!important; }
body.site-design input[dir=ltr] { text-align:start; }
html[lang=ar] body.site-design .locale-skip:focus { left:auto!important;right:12px!important; }
body.site-design .locale-skip:focus { z-index:100!important; }
body.site-design #main-content { scroll-margin-top:24px; }
@media(max-width:900px) {
  html[dir=rtl] body.site-design .modern-team-photo { justify-self:center!important; }
  body.site-design .internal-review > div { grid-template-columns:1fr!important;gap:12px!important; }
}
body.site-design .in-iframe .locale-header, body.site-design.in-iframe .locale-header { display:none!important; }
body.site-design .message.error { color:#922f24!important; }
body.site-design .message.success { color:#176046!important; }
body.site-design .intake-page .button, body.site-design #prepare-pdfs { background:var(--gold)!important;color:var(--ink)!important;border:0!important;border-radius:999px!important;box-shadow:0 2px 0 var(--gold-deep)!important; }
body.site-design .intake-page .notice { background:var(--mist)!important;border-left:0!important;border-inline-start:4px solid var(--teal)!important; }
@media(max-width:620px) {
  body.site-design .locale-top { flex-wrap:wrap!important;gap:12px!important;padding-inline:18px!important; }
  body.site-design .locale-logo img { max-width:100%;height:44px!important; }
  body.site-design .locale-nav { padding-inline:18px!important; }
  body.site-design .locale-book { margin-inline-start:0!important; }
  body.site-design .locale-services { position:fixed!important;inset-inline:18px!important;top:auto!important;width:auto!important;grid-template-columns:1fr!important; }
  body.site-design .locale-top > .locale-phone { margin-inline-start:0; }
}
@media(prefers-reduced-motion:reduce) {
  body.site-design *, body.site-design *::before, body.site-design *::after { scroll-behavior:auto!important;transition:none!important;animation:none!important; }
}

/* Keep the insurance dialog close button above its heading wrapper. */
body.site-design #providerList .modal-header .close { position:relative;z-index:1; }

/* Keep patient inputs equal-sized, including Safari’s native date control. */
body.site-design #booking-form .grid > div { min-width:0; }
body.site-design #booking-form .grid input { display:block;width:100%!important;min-width:0;min-inline-size:0;max-width:100%;height:52px!important;min-height:52px!important;max-height:52px;line-height:24px!important; }
body.site-design #booking-form input[type=date] { -webkit-appearance:none;appearance:none; }
body.site-design #booking-form input[type=date]::-webkit-date-and-time-value { min-width:0;min-height:24px;padding:0;text-align:start; }

body.site-design #booking-form .time-slot { font-size:14px!important;padding:7px 6px!important; }
@media(max-width:640px) {
  body.site-design #booking-form .time-slot { font-size:12px!important;padding:4px 2px!important; }
}
