/* Dentavra · unified interface. Shared tokens cover every existing product view. */
:root {
  --bg: #f7f9f8;
  --surface: #fff;
  --surface-soft: #f1f6f3;
  --text: #18362d;
  --muted: #61746c;
  --line: #dce6e0;
  --border: var(--line);
  --line-strong: #b9cec1;
  --accent: #14583f;
  --accent-2: #237453;
  --green: var(--accent);
  --accent-soft: #e7f2ea;
  --cream: #f0f5f1;
  --danger: #a33d35;
  --radius: 22px;
  --shadow: 0 8px 28px #173c310a;
  --shadow-soft: 0 8px 28px #173c310a;
  --shadow-lift: 0 14px 36px #173c3112;
  --font-ui: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: var(--font-ui);
}
html { scroll-padding-top: 100px; }
body { background: var(--bg); font-size: 16px; line-height: 1.55; color: var(--text); }
[hidden] { display: none !important; }
::selection { background: #c8e8d4; color: #153e2e; }
main { overflow: clip; min-height: 65vh; }
.ambient { display: none; }
.shell { width: min(1200px, calc(100% - 64px)); }
h1, h2, h3 { text-wrap: balance; font-weight: 650; overflow-wrap: break-word; }
p { text-wrap: pretty; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { touch-action: manipulation; }
button, input, select, textarea { font-size: 1rem; }
button:disabled { cursor: not-allowed; opacity: .55; transform: none !important; box-shadow: none !important; }
:where(button, a, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid #2b9365; outline-offset: 4px;
}
.ui-icon { width: 20px; height: 20px; flex: 0 0 auto; vertical-align: middle; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.skip-link { position: fixed; top: 8px; left: 16px; z-index: 200; padding: 12px 20px; color: white; background: var(--accent); border-radius: 12px; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.eyebrow, .section-kicker { font-size: .75rem; letter-spacing: .12em; font-weight: 700; color: var(--accent); margin-bottom: 12px; }
.primary-btn, .book-btn, .secondary-btn, .ghost-btn, .account-btn, .table-btn, .emergency-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 9px;
  min-height: 44px; padding: 11px 18px; border-radius: 12px; line-height: 1.3; font-size: .875rem; font-weight: 650;
  text-decoration: none; transition: background .18s, border-color .18s, box-shadow .18s, transform .18s; cursor: pointer;
}
.primary-btn, .book-btn { background: var(--accent); border: 1px solid var(--accent); box-shadow: 0 3px 6px #14583f12; color: #fff; }
.primary-btn:hover, .book-btn:hover { background: #0e4530; border-color: #0e4530; filter: none; transform: translateY(-1px); }
.secondary-btn, .ghost-btn, .table-btn, .account-btn { border: 1px solid var(--line); color: var(--text); background: var(--surface); box-shadow: none; }
.secondary-btn:hover, .ghost-btn:hover, .table-btn:hover, .account-btn:hover { background: var(--surface-soft); border-color: var(--line-strong); box-shadow: none; }
.emergency-btn, .emergency-filter-btn { border: 1px solid #eadbc8; background: #fff8ee; color: #865022; font-weight: 650; }
.emergency-btn:hover, .emergency-filter-btn:hover { background: #fff0d9; border-color: #cda774; }
.text-btn, .compare-toggle, .back-link { min-height: 40px; font-size: .875rem; text-underline-offset: 4px; }
.text-btn:hover, .compare-toggle:hover, .back-link:hover { color: var(--accent); }
.icon-btn { display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; font-size: 26px; background: white; }
.icon-btn:hover { background: var(--surface-soft); color: var(--text); }

/* Navigation */
.site-header { grid-template-columns: 1fr auto 1fr; padding: 16px max(32px, calc((100vw - 1200px)/2)); gap: 24px; background: #fffffff2; backdrop-filter: blur(16px); border-bottom: 1px solid var(--line); }
.brand { gap: 10px; }
.brand-mark { width: 38px; height: 38px; border-radius: 12px; font-size: 24px; font-weight: 650; background: var(--accent); box-shadow: none; }
.brand-copy strong { font-size: 23px; font-weight: 700; letter-spacing: -.055em; }
.main-nav { padding: 0; gap: 8px; border: 0; background: none; box-shadow: none; }
.nav-link { min-height: 44px; padding: 11px 17px; border-radius: 10px; font-size: .875rem; font-weight: 600; }
.nav-link.active { color: var(--accent); background: var(--accent-soft); }
.nav-link:hover { color: var(--accent); background: var(--surface-soft); }
.header-actions { gap: 10px; }
#headerBookBtn { border-color: var(--line-strong); }
.account-btn { background: var(--accent); border-color: var(--accent); color: #fff; }
.account-btn:hover { background: #0e4530; color: #fff; }
.account-dot { background: #c3e4d0; }
.account-btn.signed-in .account-dot { background: #b6eb7d; }
.points-mini { font-size: .75rem; padding: 8px 12px; border: 1px solid var(--line); box-shadow: none; }
.menu-btn { height: 44px; width: 44px; border-radius: 12px; background: white; }
.site-menu-popover { padding: 16px; border-radius: 20px; border-color: var(--line); box-shadow: 0 18px 64px #19382b20; }
.site-menu-copy { padding: 8px 8px 20px; gap: 9px; }
.site-menu-copy strong { line-height: 1.35; font-size: 20px; }
.site-menu-copy small, .site-menu-clinic small { font-size: .75rem; }
.site-menu-copy span { font-size: .875rem; }

/* Discovery: a concise welcome, then the working search surface. */
.hero.hero-v95 { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(280px,.85fr); align-items: center; gap: 50px; padding: 32px 0 24px; }
.hero-v95 .hero-copy { max-width: none; }
.hero-v95 .hero-copy h1 { font-size: clamp(38px,4.4vw,62px); line-height: 1.1; letter-spacing: -.048em; font-weight: 650; margin: 0 0 18px; max-width: none; overflow-wrap: normal; text-wrap: initial; }
.hero-v95 .hero-copy h1 span { color: var(--accent); font-weight: inherit; }
.hero-v95 .hero-copy p { font-size: 1.0625rem; line-height: 1.65; max-width: 570px; color: var(--muted); }
.hero-trust-row { display: flex; gap: 14px 20px; margin-top: 22px; font-size: .75rem; font-weight: 600; color: #50685c; }
.hero-trust-row .ui-icon { width: 16px; height: 16px; color: var(--accent); }
.hero-portrait { position: relative; align-self: stretch; min-height: 250px; overflow: hidden; border-radius: 22px 70px 22px 22px; background: #e7ece5; }
.hero-portrait img { display: block; width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; object-position: 70% 40%; }
.portrait-note { position: absolute; left: 16px; right: 16px; bottom: 16px; display: flex; align-items: center; gap: 12px; padding: 13px 16px; border: 1px solid #ffffffaa; background: #ffffffed; border-radius: 14px; backdrop-filter: blur(12px); }
.portrait-note > .ui-icon { color: var(--accent); width: 28px; height: 28px; }
.portrait-note strong { display: block; font-size: .9375rem; font-weight: 650; letter-spacing: -.02em; }
.portrait-note small { display: block; font-size: .75rem; color: var(--muted); margin-top: 2px; }
.simple-search { position: relative; grid-template-columns: 1fr 1.3fr .9fr auto; gap: 0; padding: 10px; margin-top: 0; margin-bottom: 0; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 8px 30px #183b2d08; }
.simple-search-field { gap: 3px; padding: 6px 20px; border-right: 1px solid var(--line); border-bottom: 0; border-radius: 8px; }
.simple-search-field > span { display: flex; align-items: center; gap: 6px; font-size: .75rem; font-weight: 500; color: var(--muted); }
.simple-search-field > span .ui-icon { height: 14px; width: 14px; }
.simple-search-field select { padding: 4px 26px 4px 0; min-height: 32px; font-size: .9375rem; font-weight: 600; color: var(--text); width: 100%; background-color: transparent; border: 0; cursor: pointer; }
.simple-search-field:focus-within { background: var(--surface-soft); box-shadow: inset 0 0 0 2px #74a98b; }
.simple-search-field select:focus { outline: none; }
.simple-search-submit { min-width: 186px; margin-left: 12px; align-self: stretch; }
.search-secondary { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding-top: 8px; padding-bottom: 10px; }
.simple-emergency { min-height: 36px; font-size: .8125rem; padding: 6px 11px; background: transparent; border: 1px solid transparent; border-radius: 9px; box-shadow: none; color: #81512b; }
.simple-emergency.active { background: #fff0db; border-color: #e6c292; }
.results-toolbar { margin-top: 0; margin-bottom: 22px; gap: 16px; }
.view-switch { background: #eaf0ec; border: 0; border-radius: 11px; padding: 4px; gap: 2px; }
.view-switch button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 8px 15px; border-radius: 8px; font-size: .875rem; font-weight: 600; }
.view-switch button.active { background: #fff; color: var(--accent); box-shadow: 0 2px 5px #18362d12; }
.view-switch .ui-icon { width: 17px; height: 17px; }
.sort-chips { gap: 4px; padding: 0; border: 0; background: none; }
.sort-chips button { font-size: .8125rem; font-weight: 500; min-height: 40px; padding: 8px 12px; border-radius: 9px; }
.sort-chips button.active { background: var(--accent-soft); color: var(--accent); font-weight: 650; }
.sort-chips button:hover { background: #edf2ee; color: var(--accent); }
.results-heading { align-items: center; margin-bottom: 18px; gap: 16px; }
.results-heading .section-kicker { display: none; }
.results-heading h2 { font-size: 28px; font-weight: 650; letter-spacing: -.035em; line-height: 1.2; margin: 0; }
.results-heading p { display: block; font-size: .8125rem; margin: 0; padding: 5px 12px; border-radius: 20px; background: #eaf0ec; }
.results-heading p strong { color: var(--text); font-weight: 650; }

/* All clinic information is legible; actions stay in the same place on each card. */
.clinic-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; padding-bottom: 0; align-items: stretch; }
.clinic-card.clinic-card-v9 { position: relative; display: flex; flex-direction: column; min-height: 0; border: 1px solid var(--line); border-radius: 20px; background: white; box-shadow: 0 3px 8px #18362d03; overflow: hidden; }
.clinic-card-v9:hover { transform: translateY(-3px); box-shadow: var(--shadow-lift); border-color: var(--line-strong); }
.clinic-card-header { display: flex; align-items: center; gap: 12px; padding: 22px 22px 0; }
.clinic-monogram { display: grid; place-items: center; width: 50px; height: 50px; flex: 0 0 auto; border-radius: 15px; color: #256447; background: #eaf3e9; border: 1px solid #dfeadb; font-size: 18px; font-weight: 650; letter-spacing: -.04em; }
.clinic-card:nth-child(4n+2) .clinic-monogram { background: #f0f0e5; color: #696434; border-color: #e6e7d6; }
.clinic-card:nth-child(4n+3) .clinic-monogram { background: #eaf0f6; color: #426584; border-color: #dce6ef; }
.clinic-card:nth-child(4n+4) .clinic-monogram { background: #f6ede9; color: #966247; border-color: #ebded7; }
.clinic-card-heading { flex: 1; min-width: 0; }
.clinic-card-heading h3 { margin: 0 0 4px; font-size: 21px; line-height: 1.2; font-weight: 650; letter-spacing: -.035em; }
.clinic-location { display: flex; align-items: flex-start; gap: 4px; font-size: .8125rem; line-height: 1.45; overflow-wrap: normal; }
.clinic-location .ui-icon { width: 15px; height: 15px; margin-top: 2px; }
.save-btn { position: static; display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 auto; border: 1px solid var(--line); background: #fff; border-radius: 50%; color: #657d70; }
.save-btn:hover { background: #f9eff0; color: #a34655; border-color: #eccdd2; }
.save-btn.saved { background: #fcf0f2; border-color: #eccdd2; color: #a34655; }
.save-btn.saved .ui-icon { fill: currentColor; }
.clinic-body { display: flex; flex: 1; flex-direction: column; padding: 16px 22px 22px; }
.clinic-meta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 18px; }
.verification-badge, .featured-badge, .emergency-corner { position: static; display: inline-flex; align-items: center; gap: 4px; border-radius: 6px; padding: 4px 7px; font-size: .75rem; line-height: 1.3; font-weight: 600; }
.verification-badge { color: #276145; background: #edf6ee; }
.verification-badge .ui-icon { width: 14px; height: 14px; }
.featured-badge { color: #7a622b; background: #f9f4e6; }
.emergency-corner { color: #8b582a; background: #fff5e8; }
.clinic-rating { display: flex; align-items: center; gap: 5px; margin-left: auto; color: #6a7c72; font-size: .75rem; white-space: nowrap; }
.clinic-rating b { font-size: .875rem; color: var(--text); }
.clinic-rating .star { color: #c48b26; font-size: 16px; }
.service-preview { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0 0 18px; }
.service-preview span, .service-preview span:nth-child(3) { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; padding: 0; border: 0; border-radius: 0; background: transparent; overflow: visible; }
.service-preview b { display: block; min-height: 0; font-size: .875rem; line-height: 1.4; font-weight: 400; color: var(--muted); white-space: normal; overflow: visible; }
.service-preview small { display: block; flex-shrink: 0; font-size: .8125rem; line-height: 1.4; margin: 0; color: var(--text); font-variant-numeric: tabular-nums; }
.clinic-price-line { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding-top: 16px; margin-top: auto; border-top: 1px solid var(--line); }
.clinic-price-line .price-block { width: auto; }
.price-block > small { font-size: .75rem; line-height: 1.4; margin-bottom: 3px; }
.price-block > strong { display: block; font-size: 20px; font-weight: 650; line-height: 1.4; letter-spacing: -.025em; overflow-wrap: normal; font-variant-numeric: tabular-nums; }
.compare-toggle { padding: 7px 0; font-size: .8125rem; white-space: nowrap; }
.compare-toggle.selected { font-weight: 600; color: var(--accent); }
.card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 16px; width: 100%; }
.card-actions button { width: 100%; min-height: 44px; font-size: .875rem; padding: 11px 12px; line-height: 1.3; }
.card-actions .emergency-btn { grid-column: 1/-1; min-height: 36px; font-size: .8125rem; padding: 7px 10px; background: #fffaf3; }
.availability.availability-v9 { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 6px; width: auto; max-width: none; min-height: 45px; padding: 12px 22px; background: #f4f8f5; border-top: 1px solid #e6eee8; text-align: left; font-size: .75rem; }
.availability-v9 .ui-icon { width: 15px; height: 15px; color: #4b8361; }
.availability-v9 small { display: inline; font-size: .75rem; }
.availability-v9 strong { font-size: .75rem; font-weight: 650; text-align: left; color: #2b6849; }
.loyalty-chip { display: inline-flex; font-size: .75rem; font-weight: 500; border: 0; padding: 0; margin-left: auto; background: transparent; color: #557362; }
.empty-state, .loading-card { grid-column: 1/-1; width: 100%; padding: 48px 24px; border: 1px dashed var(--line-strong); background: #fff; border-radius: 18px; font-size: 1rem; }
.empty-state strong { display: inline-block; color: var(--text); margin-bottom: 7px; font-size: 18px; }
.compact-empty { padding: 28px 20px; font-size: .875rem; }
.loading-card { animation: loading-breathe 1.6s ease-in-out infinite alternate; }
@keyframes loading-breathe { to { opacity: .6; } }

/* Concierge and map */
.concierge-card.concierge-card-v95 { grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; margin: 38px auto 54px; padding: 30px; border: 1px solid #d6e5d9; border-radius: 22px; background: #ebf3ed; box-shadow: none; }
.concierge-card h2 { font-size: 26px; line-height: 1.25; margin: 0 0 12px; max-width: 430px; }
.concierge-card p { font-size: .875rem; line-height: 1.65; }
.concierge-card .section-kicker { margin-bottom: 8px; }
.concierge-form { flex-direction: row; align-items: stretch; gap: 8px; }
.concierge-form input { height: auto; min-height: 52px; border-radius: 12px; font-size: .875rem; }
.concierge-form .secondary-btn { background: var(--accent); border-color: var(--accent); color: white; }
.concierge-result { border-color: #cbded0; grid-template-columns: 1fr 1.5fr; }
.concierge-answer p, .concierge-matches span { font-size: .8125rem; }
.concierge-answer span { font-size: .75rem; }
.nearby-section { background: white; border: 1px solid var(--line); border-radius: 22px; padding: 24px; }
.nearby-head { align-items: center; gap: 20px; }
.nearby-head h2 { font-size: 28px; }
.nearby-head p { font-size: .875rem; max-width: 550px; }
.clinic-map-layout { grid-template-columns: 1.4fr 1fr; gap: 20px; }
.clinic-map { min-width: 0; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }
.map-note { font-size: .75rem; line-height: 1.5; padding: 12px; }
.nearby-list button { padding: 16px 12px; border-radius: 12px; min-height: 76px; }
.nearby-list strong { font-size: .9375rem; }
.nearby-list small { font-size: .8125rem; }

/* Profile pages, care and Pro */
.clinic-page { padding: 28px 0 60px; }
.back-link { display: inline-flex; align-items: center; margin-bottom: 6px; }
.clinic-profile-hero { grid-template-columns: 140px minmax(0,1fr) 230px; gap: 26px; padding: 30px; border: 1px solid var(--line); border-radius: 24px; background: #fff; box-shadow: none; }
.profile-visual { min-height: 200px; background: #e7f0e9; border-radius: 18px; color: var(--accent); }
.profile-visual::after { display: none; }
.profile-letter { font-size: 68px; font-weight: 500; }
.profile-copy h1 { font-size: clamp(30px,3.2vw,44px); line-height: 1.12; margin-bottom: 14px; }
.profile-copy p, .doctor-profile-hero p { font-size: 1rem; line-height: 1.6; color: var(--muted); }
.profile-rating { font-size: .875rem; line-height: 1.5; }
.profile-contact { padding: 20px; border-radius: 16px; background: #f3f7f4; }
.profile-contact small { font-size: .75rem; }
.profile-contact strong, .profile-contact span { font-size: .875rem; line-height: 1.5; overflow-wrap: anywhere; }
.profile-actions { gap: 8px; flex-wrap: wrap; }
.tag { font-size: .75rem; padding: 5px 9px; background: #f0f5f1; }
.clinic-loyalty-note { background: #eff7f0; border: 1px solid #dceadc; padding: 16px; border-radius: 14px; }
.clinic-loyalty-note span { font-size: .75rem; }
.clinic-loyalty-note strong { font-size: .875rem; }
.clinic-loyalty-note small { font-size: .8125rem; }
.clinic-page-section { margin-top: 22px; padding: 28px; background: white; border: 1px solid var(--line); border-radius: 22px; }
.section-title { align-items: center; margin-bottom: 20px; gap: 20px; }
.section-title h2 { font-size: 26px; line-height: 1.2; font-weight: 650; }
.section-title p { font-size: .875rem; max-width: 440px; line-height: 1.5; }
.verification-grid { gap: 10px; }
.verification-grid span { min-height: 44px; display: flex; align-items: center; font-size: .8125rem; padding: 10px 12px; border-radius: 10px; }
.verification-status, .verification-mini { font-size: .75rem; }
.verified-panel > p { font-size: .875rem; margin-bottom: 0; }
.emergency-panel { display: flex; justify-content: space-between; align-items: center; gap: 24px; border-color: #eadbc8; background: #fffaf2; }
.emergency-panel h2 { font-size: 26px; }
.emergency-panel p { font-size: .9375rem; margin-bottom: 0; }
.emergency-panel > div:last-child { display: grid; gap: 12px; min-width: 220px; font-size: .875rem; }
.waitlist-inline { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; padding-top: 16px; border-top: 1px solid var(--line); font-size: .875rem; color: var(--muted); }
.slot-picker, .live-slot-strip { padding: 5px 3px 12px; gap: 10px; scrollbar-width: thin; scrollbar-color: #bfd2c4 transparent; }
.slot-choice, .live-slot-strip button { min-width: 120px; gap: 5px; padding: 14px; border-radius: 12px; }
.slot-choice strong, .live-slot-strip strong { font-size: .9375rem; }
.slot-choice span, .slot-choice small, .live-slot-strip span, .live-slot-strip small { font-size: .75rem; line-height: 1.4; }
.slot-choice.selected { border-color: var(--accent); background: #eaf5ed; box-shadow: inset 0 0 0 1px var(--accent); }
.services-table article { padding: 20px; border-radius: 14px; background: #fbfcfb; grid-template-columns: minmax(0,1fr) minmax(180px,.4fr); gap: 24px; }
.services-table h3 { font-size: 18px; }
.services-table p { font-size: .875rem; line-height: 1.55; }
.services-table small, .services-table article > div > span, .service-points, .installment-chip { font-size: .75rem; }
.services-table strong { font-size: 19px; }
.doctor-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.doctor-card { padding: 20px; border-radius: 16px; gap: 14px; background: #f9fbf9; }
.doctor-avatar { width: 52px; height: 52px; border-radius: 16px; background: #e7efe9; font-size: 20px; }
.doctor-card h3 { font-size: 18px; line-height: 1.3; }
.doctor-card p { font-size: .875rem; line-height: 1.55; }
.doctor-card small, .doctor-card > div > span { font-size: .75rem; line-height: 1.5; }
.doctor-actions { display: flex; flex-wrap: wrap; gap: 8px; grid-column: 1/-1; }
.doctor-profile-hero { background: white; border: 1px solid var(--line); border-radius: 24px; padding: 32px; box-shadow: none; }
.doctor-profile-avatar { width: 150px; height: 170px; border-radius: 22px; background: #e7efe9; font-size: 48px; font-weight: 500; }
.doctor-meta-grid span { font-size: .875rem; line-height: 1.55; padding: 14px; }
.before-after-grid article { padding: 18px; border-radius: 16px; box-shadow: none; }
.before-after-grid h3 { font-size: 17px; }
.before-after-grid p, .before-after-grid small { font-size: .8125rem; line-height: 1.6; }
.before-after-grid > article > span, .ba-pair span { font-size: .75rem; }
.review-card { padding: 20px; border-radius: 16px; }
.review-card p { font-size: .9375rem; line-height: 1.6; }
.review-card small, .review-card span, .review-dimensions span { font-size: .75rem; }
.review-dimensions article { padding: 14px; border-radius: 12px; }
.review-dimensions strong { font-size: 22px; font-weight: 650; }
.trust-strip span { font-size: .75rem; }
.trust-strip strong { font-size: .875rem; line-height: 1.5; }
.learn-hero, .partner-hero { padding-top: 58px; padding-bottom: 32px; }
.learn-hero h1, .partner-hero h1 { font-size: clamp(36px,4.8vw,64px); line-height: 1.08; letter-spacing: -.04em; }
.learn-hero > p, .partner-hero > div > p { font-size: 1.0625rem; line-height: 1.65; }
.category-tabs { gap: 8px; }
.category-tabs button { min-height: 44px; border-radius: 10px; padding: 10px 17px; font-size: .875rem; }
.category-tabs button.active { color: #fff; background: var(--accent); }
.video-grid { gap: 22px; padding-bottom: 60px; }
.video-card { border-radius: 20px; box-shadow: var(--shadow); }
.video-copy { padding: 22px; }
.video-copy span, .video-copy small, .video-placeholder span { font-size: .75rem; line-height: 1.5; }
.video-copy h3 { font-size: 20px; margin: 10px 0; line-height: 1.35; }
.video-placeholder { background: #e8f0e9; }
.partner-hero { grid-template-columns: 1.4fr .65fr; align-items: center; gap: 42px; }
.partner-stat-card { padding: 32px; border-radius: 22px; box-shadow: none; background: #174e39; }
.partner-stat-card strong { font-size: 27px; line-height: 1.35; font-weight: 600; }
.partner-stat-card small { font-size: .75rem; color: #cde6d3; opacity: 1; }
.partner-stat-card p { font-size: .875rem; opacity: 1; color: #d4e7d9; }
.partner-points span { font-size: .8125rem; border-color: var(--line-strong); }
.partner-layout { grid-template-columns: 1fr 1fr; align-items: start; gap: 24px; padding-bottom: 60px; }
.benefit-grid { grid-column: 1; grid-row: 1; gap: 16px; }
.benefit-grid article { padding: 26px; border-radius: 18px; }
.benefit-grid article > span { margin-bottom: 14px; font-size: .75rem; color: var(--accent); background: var(--accent-soft); }
.benefit-grid h3 { font-size: 21px; }
.benefit-grid p { font-size: .9375rem; line-height: 1.6; }
.partner-form { grid-column: 2; grid-row: 1; padding: 28px; border-radius: 22px; }
.partner-form h2 { font-size: 30px; }
.partner-form > div:first-child p { font-size: .9375rem; }
.clinic-onboarding { grid-column: 1/-1; grid-row: 2; padding: 32px; background: #174e39; border-radius: 22px; }
.clinic-onboarding h2 { font-size: 30px; line-height: 1.25; }
.clinic-onboarding .section-kicker { color: #c8e1d0; }
.onboarding-steps { gap: 12px; }
.onboarding-steps article { padding: 20px; border-radius: 14px; }
.onboarding-steps b { font-size: .75rem; opacity: 1; color: #bfd9c7; }
.onboarding-steps strong { font-size: 18px; }
.onboarding-steps span { font-size: .875rem; opacity: 1; color: #d1e4d7; line-height: 1.5; }
.founder-offer { grid-column: 1/-1; grid-row: 3; padding: 30px; border-radius: 22px; background: #fff; color: #183c30; }
.founder-offer .section-kicker { color: #245d4b; }
.founder-offer h2 { font-size: 30px; color: #183c30; }
.founder-grid article { padding: 20px; background: #f2f7f3; border-color: #d8e5dc; }
.founder-grid strong { font-size: 36px; color: #174e39; }
.founder-grid span, .founder-offer p { font-size: .9375rem; line-height: 1.6; color: #486254; opacity: 1; }

/* Form and dialog system */
dialog { width: min(700px,calc(100% - 32px)); max-height: min(90dvh,960px); overflow-y: auto; overscroll-behavior: contain; color: var(--text); background: #fff; border: 1px solid #ffffff80; border-radius: 24px; box-shadow: 0 30px 100px #122c2840; }
dialog::backdrop { background: #0d2c2466; backdrop-filter: blur(5px); }
body:has(dialog[open]) { overflow: hidden; }
.modal-shell { padding: 28px; border-radius: 0; box-shadow: none; }
.modal-head { gap: 20px; padding-bottom: 20px; margin-bottom: 22px; border-bottom: 1px solid var(--line); align-items: center; }
.modal-head .section-kicker { margin-bottom: 6px; }
.modal-head h2 { font-size: 28px; line-height: 1.2; letter-spacing: -.035em; }
.form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px 16px; }
.field { gap: 7px; min-width: 0; }
.field > span { font-size: .8125rem; line-height: 1.45; font-weight: 600; color: #445f51; }
.field em { font-size: .75rem; color: var(--muted); }
.field input, .field select, .field textarea, .mini-select, .slot-add-form input, .slot-add-form select, .owner-plan-form input, .owner-plan-form select {
  width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #cfded4; border-radius: 10px; font-size: .9375rem; color: var(--text); background: #fff;
}
.field input:focus, .field select:focus, .field textarea:focus { border-color: #4b916b; box-shadow: 0 0 0 3px #4b916b15; }
input::placeholder, textarea::placeholder { color: #788a80; opacity: 1; }
.field textarea { min-height: 110px; }
.check-field, .reminder-choice { font-size: .875rem; gap: 10px; line-height: 1.5; min-height: 44px; }
input[type=checkbox], input[type=radio] { accent-color: var(--accent); width: 18px; height: 18px; flex: 0 0 auto; }
.form-note, .form-status, .auth-note { font-size: .8125rem; line-height: 1.55; }
.form-status { overflow-wrap: anywhere; color: var(--accent); }
.form-status:not(:empty) { padding: 12px; border-radius: 10px; background: #f1f6f2; }
.primary-btn.full { min-height: 48px; margin-top: 20px; }
.booking-loyalty, .quick-booking-mode, .pay-security, .protection-note, .payout-profile-intro { padding: 16px; border-radius: 14px; background: #f0f6f1; box-shadow: none; margin-bottom: 20px; }
.booking-loyalty span, .booking-loyalty small, .booking-loyalty strong, .quick-booking-mode span, .pay-security span, .protection-note span, .payout-profile-intro span { font-size: .8125rem; line-height: 1.6; }
.booking-advanced > .booking-loyalty { margin: 16px 0; }
#bookingForm .quick-booking-mode { display: block; padding: 13px 16px; margin-bottom: 20px; }
#bookingForm .quick-booking-mode strong { display: none; }
#bookingForm .field:has(#bookingService), #bookingForm .field:has(#bookingDoctor) { grid-column: auto; }
.demo-logins { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 18px; border-top: 1px solid var(--line); margin-top: 20px; }
.demo-logins small { width: 100%; font-size: .75rem; color: var(--muted); }
.demo-logins button { min-height: 40px; font-size: .8125rem; border: 1px solid var(--line); border-radius: 9px; padding: 8px 12px; background: #f6f9f6; cursor: pointer; }
.auth-form > .field + .field { margin-top: 16px; }
.quick-booking-mode strong, .pay-security strong, .protection-note strong, .payout-profile-intro strong { font-size: .9375rem; line-height: 1.5; }
.live-slot-heading { align-items: center; flex-wrap: wrap; gap: 6px; }
.live-slot-heading > span { font-size: .875rem; font-weight: 600; }
.payment-option, .pay-method { padding: 16px; border-radius: 12px; border: 1px solid var(--line); gap: 12px; }
.payment-option span, .payment-option small, .pay-method small, .dentavra-pay-badge small { font-size: .8125rem; line-height: 1.5; }
.payment-option strong, .pay-method strong { font-size: .9375rem; }
.pay-method.selected, .payment-option:has(input:checked) { border-color: #38845a; background: #f0f7f1; }
.pay-method:has(input:focus-visible) { outline: 3px solid #2b9365; outline-offset: 3px; }
.auth-tabs { background: #edf2ee; border-radius: 12px; }
.auth-tabs button { min-height: 44px; font-size: .875rem; }
.auth-tabs button.active { color: var(--accent); box-shadow: 0 2px 5px #18362d0c; }
.demo-accounts strong, .demo-accounts button { font-size: .75rem; }
.demo-accounts button { min-height: 40px; }

/* Patient, clinic and admin workspaces */
.dashboard-head { padding: 48px 0 28px; align-items: center; }
.dashboard-head h1 { font-size: clamp(32px,4vw,50px); line-height: 1.12; margin-bottom: 12px; }
.dashboard-head > div > p { font-size: 1rem; }
.dashboard-body { padding-bottom: 60px; }
.dash-section { padding: 26px; border-radius: 20px; margin-top: 22px; box-shadow: none; }
.metrics-grid { gap: 14px; }
.metrics-grid.eight, .metrics-grid.four { grid-template-columns: repeat(4,minmax(0,1fr)); }
.metrics-grid.five { grid-template-columns: repeat(5,minmax(0,1fr)); }
.metrics-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.metric-card { padding: 20px; border-radius: 16px; box-shadow: none; }
.metric-card small, .metric-card span { font-size: .75rem; line-height: 1.5; }
.metric-card strong { font-size: 30px; font-weight: 650; line-height: 1.2; margin: 10px 0 6px; }
.dash-split { gap: 20px; }
.dash-split > *, .dashboard-body > *, .partner-layout > *, .form-grid > *, .metrics-grid > *, .clinic-profile-hero > *, .doctor-profile-hero > * { min-width: 0; }
.primary-mini, .pay-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 10px 14px; border: 1px solid var(--accent); border-radius: 10px; background: var(--accent); color: white; font-size: .8125rem; font-weight: 650; cursor: pointer; }
.primary-mini:hover, .pay-btn:hover { background: #0e4530; }
.payout-profile-grid { gap: 12px; }
.payout-profile-grid article { min-width: 0; padding: 16px; border-radius: 12px; }
.payout-profile-grid span, .payout-profile-grid small, .payout-profile-actions span, .settlement-steps span, .mini-metrics span, .commission-cards small, .retention-admin-grid span, .recommendation-grid span, .passport-date span, .passport-content small, .family-list span, .points-history span { font-size: .8125rem; line-height: 1.55; }
.payout-profile-grid strong { font-size: 1rem; overflow-wrap: anywhere; }
.settlement-card h2 { font-size: 27px; line-height: 1.25; }
.settlement-card > p, .retention-copy { font-size: .9375rem; line-height: 1.65; }
.settlement-steps { gap: 12px; }
.settlement-steps > div { padding: 16px; min-width: 0; }
.mini-metrics > div, .retention-admin-grid > article, .commission-cards > article { min-width: 0; }
.mini-metrics strong, .retention-admin-grid strong { overflow-wrap: anywhere; }
.settlement-steps b { font-size: .9375rem; }
.tier-card span, .tier-card small { color: #d5e8db; opacity: 1; }
.loyalty-dashboard-card .section-kicker { color: #d5e8db; }
.loyalty-dashboard-card p { color: #d5e8db; opacity: 1; }
.inline-form { gap: 10px; }
.inline-form input { min-height: 46px; font-size: .9375rem; border: 1px solid var(--line-strong); border-radius: 10px; padding: 11px 12px; width: 100%; }
.table-input { min-height: 40px; min-width: 56px; font-size: .875rem; padding: 8px; border: 1px solid var(--line); border-radius: 8px; }
.family-list article, .points-history article { padding: 14px 0; }
.family-list strong, .passport-content p, .points-history strong { font-size: .9375rem; }
.bar-list > div > span, .bar-list > div > strong { font-size: .8125rem; }
.commission-cards article > span { font-size: .875rem; }
.recommendation-grid article { padding: 20px; }
.recommendation-grid h3 { font-size: 20px; }
.recommendation-grid p, .next-care { font-size: .875rem; }
.table-wrap { border-radius: 14px; scrollbar-width: thin; scrollbar-color: #bbcec1 transparent; }
table { min-width: 760px; }
th { padding: 15px; font-size: .75rem; letter-spacing: .045em; font-weight: 600; background: #f2f6f3; }
td { padding: 16px 15px; font-size: .875rem; line-height: 1.5; }
td small { font-size: .75rem; line-height: 1.5; }
tbody tr:last-child td { border-bottom: 0; }
tbody tr:hover { background: #f9fbf9; }
.table-btn { min-height: 40px; padding: 8px 12px; font-size: .8125rem; }
.mini-select { min-height: 40px; font-size: .8125rem; }
.status { padding: 5px 9px; font-size: .75rem; line-height: 1.4; font-weight: 500; }
.loyalty-dashboard-card { padding: 28px; border-radius: 20px; background: #174e39; box-shadow: none; }
.loyalty-dashboard-card p, .loyalty-dashboard-card small, .loyalty-dashboard-card span { font-size: .875rem; line-height: 1.5; }
.payment-overview article, .settlement-card, .marketplace-control article { border-radius: 16px; padding: 18px; box-shadow: none; }
.payment-overview small, .payment-overview span, .marketplace-control small, .marketplace-control span { font-size: .75rem; line-height: 1.5; }
.marketplace-control { gap: 12px; }
.marketplace-control strong { font-size: 24px; }
.clinic-metric-list article { border-radius: 12px; padding: 16px; }
.clinic-metric-list small, .clinic-metric-list article > div:first-child span { font-size: .75rem; }
.saved-list button { padding: 18px; border-radius: 12px; background: #f8fbf8; }
.saved-list button span { font-size: .8125rem; }
.treatment-plan-card { padding: 22px; border-radius: 16px; }
.plan-head h3 { font-size: 21px; }
.plan-head p, .plan-head > div:first-child > span, .plan-total span, .plan-item div span { font-size: .8125rem; line-height: 1.5; }
.plan-item { gap: 12px; padding: 13px 0; }
.plan-item strong, .plan-item em { font-size: .875rem; }
.tooth { min-height: 44px; }
.tooth span { font-size: .75rem; }
.tooth b { font-size: .75rem; }
.warranty-grid article { padding: 20px; }
.warranty-grid p, .warranty-grid small, .warranty-grid span { font-size: .8125rem; line-height: 1.5; }
.warranty-grid strong { font-size: .875rem; }
.reminder-list strong { font-size: .875rem; }
.reminder-list span { font-size: .8125rem; }
.growth-insights article { padding: 20px; }
.growth-insights h3 { font-size: 18px; }
.growth-insights span { font-size: .75rem; }
.growth-insights p, .growth-insights strong { font-size: .875rem; line-height: 1.55; }
.slot-admin-grid article { padding: 14px; }
.slot-admin-grid span, .slot-admin-grid small { font-size: .75rem; line-height: 1.5; }
.slot-add-form, .owner-plan-form { gap: 10px; }
.slot-add-form .check-field, .owner-plan-form .check-field { padding: 8px; }

/* Footer, comparison and small screens */
.site-footer { display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: 32px; padding: 30px 0 36px; border-top: 1px solid var(--line); }
.footer-brand .brand-mark { width: 32px; height: 32px; border-radius: 10px; font-size: 20px; }
.footer-brand .brand-copy strong { font-size: 21px; }
.site-footer p, .site-footer small { font-size: .75rem; line-height: 1.65; }
.compare-bar { width: min(800px,calc(100% - 40px)); bottom: 20px; left: 50%; right: auto; padding: 16px 20px; border: 1px solid #32694e; border-radius: 18px; background: #164832; box-shadow: 0 14px 44px #183b3130; }
.compare-bar > div:first-child { display: block; }
.compare-bar > div:first-child strong { font-size: .9375rem; }
.compare-bar > div:first-child span { font-size: .75rem; opacity: 1; color: #d1e7d8; }
.compare-bar .primary-btn { background: white; color: var(--accent); border-color: white; }
.compare-grid { grid-template-columns: 150px repeat(var(--compare-cols),minmax(210px,1fr)); border-radius: 12px; }
.compare-grid > div { padding: 16px; font-size: .875rem; line-height: 1.5; }
.compare-grid > div small, .compare-clinic span { font-size: .75rem; }
.compare-label { font-size: .75rem !important; }
.mobile-nav { display: none; }
@media (min-width:761px) and (max-width:1100px) {
  .site-header { grid-template-columns: auto 1fr auto; gap: 16px; }
  .main-nav { grid-column: auto; order: initial; justify-self: center; }
  .header-actions #headerBookBtn { display: none; }
  .hero.hero-v95 { grid-template-columns: 1.5fr 1fr; gap: 28px; }
  .hero-v95 .hero-copy h1 { font-size: 42px; }
  .hero-portrait { min-height: 264px; }
  .hero-trust-row { gap: 10px 15px; }
  .simple-search { grid-template-columns: 1fr 1.25fr .85fr auto; }
  .simple-search-field { padding-inline: 12px; }
  .simple-search-submit { min-width: 150px; padding-inline: 12px; }
  .clinic-profile-hero { grid-template-columns: 100px minmax(0,1fr); }
  .profile-contact { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); gap: 10px 20px; }
  .doctor-grid { grid-template-columns: 1fr; }
  .partner-hero { grid-template-columns: 1.3fr 1fr; gap: 26px; }
  .metrics-grid.five { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .metrics-grid.eight, .metrics-grid.four { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .site-footer { grid-template-columns: 1fr 1.5fr; }
  .site-footer small { grid-column: 1/-1; text-align: left; }
}
@media (max-width:900px) {
  .clinic-meta-row { gap: 6px; }
  .clinic-rating { width: 100%; margin-left: 0; }
  .loyalty-chip { margin-left: 0; }
  .clinic-map-layout { grid-template-columns: 1fr; }
  .concierge-card.concierge-card-v95 { grid-template-columns: 1fr; gap: 22px; }
  .partner-layout { grid-template-columns: 1fr; }
  .benefit-grid { grid-column: 1; grid-row: 1; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .benefit-grid article { padding: 20px; }
  .partner-form { grid-column: 1; grid-row: 2; }
  .clinic-onboarding { grid-column: 1; grid-row: 3; }
  .founder-offer { grid-column: 1; grid-row: 4; }
}
@media (max-width:760px) {
  html { scroll-padding-top: 90px; }
  body { padding-bottom: calc(84px + env(safe-area-inset-bottom)); }
  .shell { width: calc(100% - 32px); }
  .site-header { grid-template-columns: 1fr auto; padding: 13px 16px; gap: 14px; z-index: 90; background: #fff; backdrop-filter: none; }
  .site-header .main-nav, .site-header #headerBookBtn, .points-mini { display: none; }
  .brand-mark { width: 34px; height: 34px; border-radius: 10px; font-size: 22px; }
  .brand-copy strong { font-size: 22px; }
  .account-btn { width: auto; height: auto; padding: 10px 14px; min-height: 42px; }
  .account-btn span:last-child { display: inline; }
  .hero.hero-v95 { display: grid; grid-template-columns: 1fr; padding: 30px 0 22px; gap: 22px; }
  .hero-v95 .hero-copy h1 { font-size: clamp(32px,6.8vw,46px); line-height: 1.13; margin: 0 0 14px; letter-spacing: -.045em; }
  .hero-v95 .hero-copy p { font-size: 1rem; line-height: 1.6; max-width: 590px; }
  .hero .eyebrow { margin-bottom: 13px; font-size: .6875rem; }
  .hero-trust-row { display: flex; flex-wrap: wrap; font-size: .75rem; gap: 10px 14px; margin-top: 18px; }
  .hero-portrait { display: none; }
  .simple-search { grid-template-columns: 1fr 1fr; padding: 8px; border-radius: 16px; gap: 4px; }
  .simple-search-field { grid-column: auto; padding: 8px 10px; border: 0; border-radius: 8px; }
  .simple-search-field:nth-child(2) { grid-column: 2; border-left: 1px solid var(--line); }
  .simple-search-field:nth-child(3) { grid-column: 1; border-top: 1px solid var(--line); }
  .simple-search-field select { font-size: 1rem; }
  .simple-search-submit { grid-column: 2; min-width: 0; min-height: 50px; margin: 6px 0 0; padding: 10px; align-self: stretch; }
  .simple-search-submit .ui-icon { width: 17px; height: 17px; }
  .search-secondary { padding: 9px 0 19px; justify-content: flex-start; }
  .simple-emergency { width: auto; min-height: 36px; font-size: .8125rem; padding: 6px 0; }
  .results-toolbar { flex-wrap: wrap; gap: 14px; margin-bottom: 20px; }
  .view-switch { width: auto; flex-wrap: nowrap; overflow: visible; }
  .sort-chips { width: auto; max-width: 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 1px; }
  .sort-chips button { font-size: .75rem; padding: 8px 10px; white-space: nowrap; }
  .results-heading { align-items: center; gap: 10px; }
  .results-heading h2 { font-size: 24px; }
  .results-heading p { font-size: .75rem; padding: 4px 9px; }
  .clinic-grid { grid-template-columns: 1fr; gap: 16px; }
  .clinic-card-header { padding: 20px 18px 0; gap: 10px; }
  .clinic-card-heading h3 { font-size: 21px; }
  .clinic-location { font-size: .75rem; }
  .clinic-monogram { width: 46px; height: 46px; border-radius: 13px; font-size: 17px; }
  .clinic-body { padding: 15px 18px 18px; }
  .clinic-meta-row { gap: 6px; margin-bottom: 16px; }
  .clinic-rating { width: auto; margin-left: auto; }
  .service-preview { grid-template-columns: 1fr; gap: 10px; }
  .service-preview b { font-size: .875rem; }
  .card-actions { grid-template-columns: 1fr 1fr; }
  .availability.availability-v9 { display: flex; padding: 12px 18px; }
  .loyalty-chip { margin-left: auto; }
  .concierge-card.concierge-card-v95 { padding: 24px 20px; margin: 28px auto 34px; gap: 20px; border-radius: 18px; }
  .concierge-card h2 { font-size: 24px; }
  .concierge-form { flex-direction: column; }
  .concierge-form input { font-size: 1rem; }
  .concierge-form button { min-height: 48px; }
  .concierge-result { grid-template-columns: 1fr; }
  .nearby-section { padding: 20px 16px; border-radius: 18px; }
  .nearby-head { flex-direction: column; align-items: stretch; }
  .nearby-actions > button { width: 100%; }
  .clinic-page { padding-top: 20px; }
  .clinic-profile-hero { grid-template-columns: 1fr; padding: 22px 18px; gap: 20px; border-radius: 20px; }
  .profile-visual { min-height: 120px; display: flex; flex-direction: row; align-items: center; justify-content: space-between; padding: 22px; }
  .profile-letter { font-size: 58px; }
  .profile-copy h1 { font-size: 32px; }
  .profile-contact { margin: 0; padding: 18px; }
  .profile-actions { display: flex; }
  .profile-actions > button { flex: 1 1 45%; }
  .clinic-page-section { padding: 22px 18px; border-radius: 18px; margin-top: 16px; }
  .section-title { flex-direction: column; align-items: flex-start; gap: 12px; }
  .section-title h2 { font-size: 24px; }
  .section-title p { font-size: .875rem; }
  .verification-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .emergency-panel { flex-direction: column; align-items: stretch; }
  .emergency-panel h2 { font-size: 24px; }
  .emergency-panel > div:last-child { min-width: 0; }
  .waitlist-inline { flex-direction: column; align-items: flex-start; }
  .services-table article { grid-template-columns: 1fr; padding: 18px 16px; gap: 14px; }
  .services-table article > div:last-child { text-align: left; }
  .doctor-grid { grid-template-columns: 1fr; }
  .doctor-card { padding: 18px 16px; }
  .doctor-profile-hero { grid-template-columns: 1fr; padding: 24px 20px; gap: 20px; }
  .doctor-profile-avatar { width: 100px; height: 110px; border-radius: 18px; font-size: 34px; }
  .doctor-profile-hero h1 { font-size: 32px; }
  .doctor-meta-grid { grid-template-columns: 1fr; }
  .review-dimensions { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .trust-strip, .before-after-grid, .warranty-grid { grid-template-columns: 1fr; }
  .learn-hero, .partner-hero { padding: 36px 0 24px; }
  .learn-hero h1, .partner-hero h1 { font-size: 38px; line-height: 1.1; }
  .learn-hero > p, .partner-hero > div > p { font-size: 1rem; }
  .category-tabs { flex-wrap: nowrap; overflow-x: auto; padding: 4px; margin-left: -4px; scrollbar-width: none; }
  .category-tabs button { flex: 0 0 auto; white-space: nowrap; }
  .video-grid { grid-template-columns: 1fr; padding-bottom: 38px; }
  .partner-hero { display: grid; grid-template-columns: 1fr; gap: 26px; }
  .partner-stat-card { width: 100%; max-width: none; padding: 26px; }
  .partner-layout { padding-top: 0; gap: 18px; padding-bottom: 38px; }
  .benefit-grid { grid-template-columns: 1fr; }
  .partner-form, .clinic-onboarding, .founder-offer { padding: 24px 20px; border-radius: 18px; }
  .partner-form h2, .clinic-onboarding h2, .founder-offer h2 { font-size: 26px; }
  .onboarding-steps { grid-template-columns: 1fr 1fr; }
  .onboarding-steps article { padding: 16px; }
  .founder-grid { grid-template-columns: 1fr; }
  .founder-grid article { padding: 18px; }
  .dashboard-head { flex-direction: row; align-items: flex-start; padding: 32px 0 22px; gap: 12px; }
  .dashboard-head h1 { font-size: 32px; }
  .dashboard-head .ghost-btn { padding: 10px 13px; }
  .dashboard-head > div > p { font-size: .9375rem; }
  .dash-section { padding: 22px 16px; border-radius: 18px; margin-top: 16px; }
  .metrics-grid, .metrics-grid.three, .metrics-grid.four, .metrics-grid.five, .metrics-grid.eight { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .metric-card { padding: 16px; border-radius: 14px; }
  .metric-card strong { font-size: 26px; overflow-wrap: anywhere; }
  .dash-split, .payment-overview { grid-template-columns: 1fr; }
  .loyalty-dashboard-card { padding: 22px 18px; }
  .loyalty-dashboard-card h2 { font-size: 36px; }
  .payout-profile-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .payout-profile-actions { flex-wrap: wrap; gap: 12px; }
  .settlement-card { padding: 24px 18px; }
  .settlement-card h2 { font-size: 25px; }
  .settlement-steps { grid-template-columns: 1fr 1fr; }
  .inline-form { grid-template-columns: 1fr; }
  .passport-timeline article { grid-template-columns: 1fr; gap: 12px; }
  .passport-dot { display: none; }
  .marketplace-control { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .growth-insights, .saved-list { grid-template-columns: 1fr; }
  .tooth-map { grid-template-columns: repeat(8,minmax(0,1fr)); gap: 4px; padding: 8px; }
  .slot-admin-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .slot-add-form, .owner-plan-form { grid-template-columns: 1fr; }
  .reminder-list article { align-items: flex-start; flex-wrap: wrap; }
  .plan-item { grid-template-columns: 28px minmax(0,1fr) auto; gap: 8px; }
  dialog { max-height: calc(100dvh - 24px); width: calc(100% - 20px); border-radius: 20px; }
  .modal-shell { padding: 22px 18px; }
  .modal-head { gap: 12px; margin-bottom: 18px; padding-bottom: 18px; }
  .modal-head h2 { font-size: 25px; }
  .form-grid { grid-template-columns: 1fr; gap: 16px; }
  .field.wide { grid-column: 1/-1; }
  .field input, .field select, .field textarea { font-size: 1rem; min-height: 48px; }
  .payment-options { grid-template-columns: 1fr; }
  .pay-summary { flex-wrap: wrap; gap: 12px; }
  .mobile-nav { position: fixed; display: grid; grid-template-columns: repeat(4,1fr); left: 0; right: 0; bottom: 0; z-index: 80; gap: 4px; border-radius: 0; border-top: 1px solid var(--line); padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); background: #fffffff5; backdrop-filter: blur(18px); box-shadow: 0 -4px 24px #18362d07; }
  .mobile-nav button { min-height: 56px; padding: 6px 4px; gap: 5px; border-radius: 12px; color: #61786b; cursor: pointer; }
  .mobile-nav button > span { display: flex; }
  .mobile-nav .ui-icon { height: 21px; width: 21px; }
  .mobile-nav button b { font-size: .75rem; font-weight: 500; }
  .mobile-nav button.active, #mobileMenuBtn.menu-active { color: var(--accent); background: #eaf3ec; }
  .site-menu-popover.mobile-open { position: fixed; top: auto; bottom: calc(88px + env(safe-area-inset-bottom)); left: 12px; right: 12px; width: auto; max-height: calc(100dvh - 180px); overflow-y: auto; background: white; }
  .compare-bar { left: 50%; right: auto; bottom: calc(88px + env(safe-area-inset-bottom)); width: calc(100% - 24px); padding: 12px 14px; gap: 12px; border-radius: 15px; }
  .compare-bar > div:first-child span { display: none; }
  .compare-bar > div:first-child strong { font-size: .8125rem; }
  .compare-bar > div:last-child { gap: 6px; }
  .compare-bar .primary-btn { padding: 10px 12px; font-size: .8125rem; }
  .compare-bar .text-btn { font-size: .75rem; }
  .site-footer { display: grid; grid-template-columns: 1fr; gap: 14px; padding: 26px 0 30px; }
  .site-footer small { text-align: left; }
}
@media (max-width:400px) {
  .hero-v95 .hero-copy h1 { font-size: 30px; }
  .hero-trust-row { gap: 8px 12px; }
  .hero-trust-row span { font-size: .75rem; }
  .simple-search-submit { font-size: .8125rem; gap: 6px; }
  .results-heading h2 { font-size: 22px; }
  .clinic-card-heading h3 { font-size: 19px; }
  .clinic-monogram { width: 40px; height: 44px; font-size: 16px; }
  .clinic-card-header { gap: 9px; }
  .clinic-rating { width: 100%; margin-left: 0; }
  .clinic-price-line { gap: 5px; }
  .price-block > strong { font-size: 18px; }
  .loyalty-chip { width: 100%; margin-left: 21px; }
  .onboarding-steps { grid-template-columns: 1fr; }
  .mini-metrics { grid-template-columns: 1fr; }
  .dashboard-head { flex-direction: column; }
  .metrics-grid, .metrics-grid.three, .metrics-grid.four, .metrics-grid.five, .metrics-grid.eight { grid-template-columns: 1fr; }
  .compare-bar { flex-wrap: wrap; justify-content: center; gap: 4px 12px; }
}
/* Immediate press feedback and real network activity, without artificial delays. */
button { transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .12s ease; }
button:active:not(:disabled) { transform: scale(.97); }
button.is-loading { cursor: wait; opacity: .8; }
button.is-loading::after { content: ''; display: inline-block; width: 14px; height: 14px; flex: 0 0 14px; margin-left: 8px; vertical-align: middle; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: request-spin .7s linear infinite; }
html.request-pending::before { content: ''; position: fixed; z-index: 10000; top: 0; left: 0; width: 35%; height: 3px; background: #2c8863; box-shadow: 0 0 8px #2c886355; animation: request-progress 1.2s ease-in-out infinite; pointer-events: none; }
dialog[open] { animation: dialog-enter .18s ease-out; }
.view.active { animation: view-enter .2s ease-out; }
@keyframes request-spin { to { transform: rotate(360deg); } }
@keyframes request-progress { from { transform: translateX(-110%); } to { transform: translateX(390%); } }
@keyframes dialog-enter { from { opacity: 0; translate: 0 8px; } to { opacity: 1; translate: 0 0; } }
@keyframes view-enter { from { opacity: .6; } to { opacity: 1; } }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .clinic-card-v9:hover, .primary-btn:hover, .book-btn:hover { transform: none; }
}
@media (forced-colors:active) {
  button, .status, .verification-badge { border: 1px solid ButtonText; }
  button.active, button.selected, button[aria-pressed="true"] { outline: 2px solid Highlight; }
}
