:root{--navy:#173c51;--ink:#18384a;--teal:#167e80;--green:#77b35c;--muted:#627583;--line:#dce4e4;--paper:#f6f8f7;--blue:#3c79bb;--white:#fff;--radius:18px}*{box-sizing:border-box}body{margin:0;background:var(--paper);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);font-size:15px;line-height:1.5}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #e1ad3c;outline-offset:4px}button{border:0;background:none}svg{width:20px;height:20px;display:inline-block;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}.shell{max-width:1250px;width:calc(100% - 80px);margin:auto}.preview{min-height:36px;display:flex;gap:10px;align-items:center;justify-content:center;background:#e9f0ef;color:#43635e;font-size:11px;letter-spacing:.01em;padding:7px 18px}.preview strong{font-weight:650}.preview-dot{height:6px;width:6px;border-radius:50%;background:#947137}.preview button{font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:0 6px}.header-inner{max-width:1250px;width:calc(100% - 80px);margin:auto;display:flex;align-items:center;min-height:120px}.logo{width:168px;height:64px;object-fit:contain}.header-divider{height:27px;width:1px;background:var(--line);margin:0 24px}.header-sub{letter-spacing:.16em;font-size:10px;font-weight:600;color:var(--muted)}nav{margin-left:auto;display:flex;gap:28px;align-items:center;font-size:13px}nav .text-button{font-size:12px}nav .phone{display:flex;align-items:center;gap:9px;border:1px solid #cddcde;padding:11px 15px;border-radius:9px;font-weight:600}.hero{padding:45px 0 34px;display:grid;grid-template-columns:1.4fr 1fr;gap:0 50px}.eyebrow{display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:.16em;font-weight:700;margin-bottom:22px;color:var(--teal)}.eyebrow>span{width:6px;height:6px;background:var(--green);border-radius:50%}h1{font-size:clamp(38px,4.4vw,60px);font-weight:600;line-height:1.08;margin-bottom:22px;letter-spacing:-.055em}h1 em{color:var(--teal);font-style:normal}h2{font-size:30px;font-weight:600;margin-bottom:0}.hero-intro{font-size:16px;line-height:1.6;color:var(--muted);margin-bottom:27px}.hero-aside{position:relative;display:flex;align-items:center;justify-content:center;min-height:250px;overflow:hidden}.orbit{position:absolute;width:255px;height:255px;border:1px solid #dce8e6;border-radius:50%;top:-5px;right:6px;display:grid;place-items:center}.orbit:before{content:"";position:absolute;inset:35px;border:1px solid #e0e8e8;border-radius:50%}.orbit img{width:125px;opacity:.13}.aside-info{z-index:1;position:relative;align-self:end;margin-bottom:35px;margin-right:16px;padding:22px 26px;border-radius:14px;background:#e9f2eeeb;border:1px solid #d6e5df;backdrop-filter:blur(6px);max-width:300px;box-shadow:0 12px 35px #1f5c4410}.aside-info strong{font-size:22px;line-height:1.25;letter-spacing:-.035em;font-weight:550}.aside-info span{display:block;margin-top:13px;font-size:11px;color:#54726d}.search-panel{grid-column:1/-1;position:relative;background:white;border-radius:var(--radius);border:1px solid #d7e2e0;box-shadow:0 12px 35px #2e56650a;padding:24px 26px 0;margin-top:8px}#search-form label{font-size:12px;font-weight:600;display:block;margin-bottom:12px}.search-row{display:flex;align-items:center;gap:12px}.search-icon{color:#569690}.search-icon svg{width:24px;height:24px}input[type=search]{width:100%;min-width:0;border:0;outline:none;font-size:20px;padding:10px 0;color:var(--ink);background:transparent}input::placeholder{color:#97a6ab}.primary{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--teal);color:#fff;border-radius:9px;padding:14px 24px;font-weight:550;white-space:nowrap;transition:background .15s,transform .15s}.primary:hover{background:#116d70;transform:translateY(-1px)}.search-submit{min-width:130px}.search-bottom{border-top:1px solid #edf0f0;margin-top:20px;min-height:67px;display:flex;align-items:center;justify-content:space-between;gap:15px}.site-switch{display:flex;align-items:center;gap:5px}.site-switch button{font-size:12px;border-radius:7px;padding:8px 12px;display:flex;align-items:center;gap:6px}.site-switch button svg{width:14px;height:14px}.site-switch button.active{background:#eaf4ef;color:#29634c;font-weight:650}.search-help{font-size:11px;color:#87979d}.quick{grid-column:1/-1;display:flex;gap:8px;align-items:center;margin-top:15px;flex-wrap:wrap;font-size:11px}.quick>span{color:#8a999f;margin-right:3px}.quick button{font-size:11px;border:1px solid #e0e7e6;background:#f9fbfa;border-radius:100px;padding:5px 12px;color:#58737d}.quick button:hover{border-color:#7ba4a2}.catalog-section{padding-top:21px;padding-bottom:65px}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-top .eyebrow{margin-bottom:12px}.catalog-total{font-size:11px;color:var(--muted);margin:0}.catalog-layout{display:grid;grid-template-columns:228px minmax(0,1fr);gap:34px}.filters{align-self:start}.filters details{border-bottom:1px solid var(--line);padding-bottom:15px}.filters summary{list-style:none;font-weight:600;display:flex;justify-content:space-between;font-size:13px;margin-bottom:15px;cursor:pointer}.filters summary::-webkit-details-marker{display:none}#specialty-list{max-height:570px;overflow:auto;padding-right:6px;scrollbar-width:thin;scrollbar-color:#d0dedb transparent}#specialty-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;padding:9px 11px;border-radius:7px;font-size:12px;margin-bottom:2px;color:#637780}#specialty-list button span{font-size:10px;color:#8ca09e}#specialty-list button.active{background:#e6efeb;color:#256b56;font-weight:600}#specialty-list button:hover{background:#edf3f0}.help-card{margin-top:25px;padding:21px 19px;background:#edf2f2;border-radius:12px}.help-card>svg{color:var(--teal);margin-bottom:14px}.help-card strong{display:block;font-size:13px;margin-bottom:8px}.help-card p{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:12px}.help-card a{font-size:12px;font-weight:600}.results-head{height:28px;display:flex;justify-content:space-between;align-items:start;margin-bottom:13px}.results-head p{font-size:12px;color:var(--muted);margin:0}.text-button{padding:0;color:var(--teal);font-size:13px;display:inline-flex;align-items:center;gap:10px;font-weight:550}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service-card{background:white;border:1px solid #e0e7e5;border-radius:13px;padding:20px 18px 16px;display:flex;flex-direction:column;min-height:240px;transition:box-shadow .15s,border-color .15s}.service-card:hover{box-shadow:0 6px 20px #22463309;border-color:#a0c0b4}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.service-icon{height:37px;width:37px;border-radius:10px;background:#eff5f1;color:#4d8c72;display:grid;place-items:center}.card-index{font-size:9px;font-weight:600;letter-spacing:.09em;color:#8a9b9e}.service-card h3{font-size:16px;line-height:1.35;font-weight:600;letter-spacing:-.025em;margin:0 0 12px;overflow-wrap:anywhere}.service-specialty{font-size:10px;color:#87969a;margin-bottom:15px}.site-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:auto;margin-bottom:16px}.site-badge{border:1px solid #e3eae7;color:#72817e;font-size:10px;border-radius:4px;padding:3px 6px;display:inline-flex;gap:4px;align-items:center}.site-badge svg{width:11px;height:11px}.card-bottom{border-top:1px solid #edf0ef;padding-top:13px;display:flex;align-items:center;justify-content:space-between}.card-bottom span{font-size:10px;color:#8c999e}.card-bottom button{font-size:12px;color:var(--teal);display:flex;align-items:center;gap:7px;font-weight:600}.card-bottom button svg{width:15px;height:15px}.pagination{margin-top:25px;display:flex;gap:7px;justify-content:center;align-items:center}.pagination button{width:33px;height:33px;border:1px solid #dde6e2;border-radius:6px;background:white;font-size:12px}.pagination button.active{background:var(--teal);color:white;border-color:var(--teal)}.pagination span{font-size:11px;color:var(--muted);margin:0 8px}.catalog-note{font-size:10px;color:#8b989c;line-height:1.6;margin-top:24px}.empty{grid-column:1/-1;background:#fff;border:1px dashed #cbdad5;padding:50px 30px;text-align:center;border-radius:14px}.empty h3{font-size:24px;margin:14px 0}.empty p{font-size:14px;color:var(--muted)}.active-tag{display:inline-flex;align-items:center;gap:12px;background:#e4efea;border-radius:5px;padding:5px 10px;font-size:11px;margin:0 6px 12px 0}.locations{border-top:1px solid var(--line);padding-top:42px;padding-bottom:50px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.location-card{background:#edf3f1;border:1px solid #dae5df;padding:25px;border-radius:15px;display:flex;gap:20px;position:relative;overflow:hidden}.location-number{font-size:11px;color:#849e91;border-bottom:1px solid #a9c2b5;align-self:flex-start;padding-bottom:5px}.small-caps{font-size:9px;letter-spacing:.13em;color:#698477;font-weight:600}.location-card h3{font-size:23px;font-weight:550;margin:10px 0}.location-card p{font-size:12px;color:var(--muted);margin-bottom:24px}.location-icon{position:absolute;right:25px;bottom:20px;color:#9bb9ab;opacity:.3}.location-icon svg{width:45px;height:45px}.bottom-note{background:var(--navy);border-radius:15px;display:flex;align-items:center;color:#fff;padding:28px 32px;gap:20px;margin-bottom:45px}.bottom-note>svg{width:30px;height:30px;color:#9fcdb2}.bottom-note p{font-size:16px;font-weight:400;margin:0;color:#bfd1d7;line-height:1.7}.bottom-note p strong{font-weight:450;color:#fff}.bottom-note>span:last-child{margin-left:auto;text-align:right;font-weight:600;font-size:16px;letter-spacing:.02em}.bottom-note small{font-size:10px;font-weight:400;color:#a8c3cd}footer{border-top:1px solid var(--line);display:flex;align-items:center;gap:28px;padding:30px 0 40px;color:var(--muted)}footer img{width:115px;height:48px;object-fit:contain}footer p{font-size:10px;margin:0}footer button{margin-left:auto;font-size:11px!important}.skip{position:fixed;top:-100px;background:white;padding:10px;z-index:100}.skip:focus{top:0}dialog{border:0;border-radius:20px;padding:28px;width:650px;max-width:calc(100% - 24px);max-height:90dvh;box-shadow:0 35px 120px #143a5040;color:var(--ink)}dialog::backdrop{background:#112e406b;backdrop-filter:blur(3px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-top h2{font-size:25px}.icon-button{font-size:27px;width:35px;height:35px;display:grid;place-items:center;border-radius:50%;line-height:1}.icon-button:hover{background:#edf4f1}.stepper{display:flex;align-items:center;gap:12px;margin:18px 0 28px;font-size:11px;color:#8d9e9f}.stepper span{display:flex;gap:6px;align-items:center}.stepper b{border:1px solid #dce7e2;width:21px;height:21px;display:grid;place-items:center;border-radius:50%;font-size:10px;font-weight:500}.stepper .current{color:var(--teal);font-weight:600}.stepper .current b{background:var(--teal);color:white;border-color:var(--teal)}.stepper i{height:1px;width:25px;background:#dde8e1}.booking-title{font-size:26px;line-height:1.25;margin-bottom:10px;letter-spacing:-.03em}.modal-subtitle{font-size:13px;color:var(--muted);line-height:1.6}.demo-note{background:#f8f3e9;border:1px solid #eadfc9;border-radius:8px;padding:10px 13px;font-size:11px;color:#7e6840;margin:18px 0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.choice{border:1px solid #dce6e0;border-radius:10px;text-align:left;padding:16px;display:flex;gap:12px;align-items:start}.choice.selected{border:2px solid var(--teal);padding:15px;background:#f1f8f4}.choice strong{font-size:13px;display:block}.choice small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.field-label{font-size:12px;font-weight:600;display:block;margin-top:22px}.dates{display:flex;gap:6px;margin:12px 0 20px;overflow:auto}.day{min-width:64px;padding:10px 9px;border:1px solid #e0e8e3;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10px;color:var(--muted)}.day strong{font-size:21px;font-weight:550;color:var(--ink)}.day.selected{background:#e8f4ee;border-color:var(--teal);color:var(--teal)}.times{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0}.time{border:1px solid #dce6e2;border-radius:7px;padding:9px;font-size:13px}.time.selected{border-color:var(--teal);background:#eaf5f0;color:var(--teal);font-weight:600}.time small{font-size:9px;display:block;color:var(--muted)}.dialog-actions{border-top:1px solid #e4ebe7;padding-top:20px;margin-top:23px;display:flex;align-items:center;justify-content:space-between;gap:16px}.back{font-size:12px;color:var(--muted)}.summary-box{background:#f3f7f5;border:1px solid #e0e8e4;border-radius:10px;padding:19px;margin:22px 0}.summary-line{display:flex;justify-content:space-between;gap:20px;font-size:12px;padding:8px 0;border-bottom:1px solid #e0e8e4}.summary-line:last-child{border:0}.summary-line span{color:var(--muted)}.summary-line strong{text-align:right;font-weight:550}.success-icon{width:65px;height:65px;background:#e2f3e9;color:var(--teal);border-radius:50%;display:grid;place-items:center;margin:18px 0 24px}.success-icon svg{width:31px;height:31px}.confirmation-id{font-size:11px;font-family:monospace;color:var(--muted)}.admin-dialog{width:860px}.admin-tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:22px;flex-wrap:wrap}.admin-tabs button{font-size:12px;padding:9px 12px;border-radius:7px;color:var(--muted)}.admin-tabs .active{color:var(--teal);background:#eaf4ee}.admin-description{font-size:13px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.metric{padding:18px 15px;border:1px solid #e0e8e4;border-radius:10px}.metric strong{font-size:29px;display:block;font-weight:550;letter-spacing:-.04em}.metric span{display:block;font-size:10px;color:var(--muted);margin-top:5px}.funnel{margin:25px 0}.funnel-row{display:grid;grid-template-columns:160px 1fr 35px;gap:10px;align-items:center;margin:13px 0;font-size:11px}.bar{height:18px;background:#eef4f0;border-radius:3px;overflow:hidden}.bar>div{height:100%;background:#4f9a87;border-radius:3px}.status-row{display:flex;justify-content:space-between;align-items:start;padding:15px 0;gap:20px;border-bottom:1px solid var(--line);font-size:12px}.status-row p{font-size:11px;color:var(--muted);margin:5px 0 0}.status-pill{background:#f7f0e3;color:#977a41;padding:4px 8px;border-radius:5px;font-size:10px;white-space:nowrap}.status-pill.ready{background:#e4f2e8;color:#377451}.admin-note{font-size:11px;color:var(--muted);padding:16px;background:#f4f7f5;border-radius:8px;margin-top:20px;line-height:1.7}.source-links{display:flex;gap:15px;font-size:12px;margin-top:20px;color:var(--teal);flex-wrap:wrap}.catalog-table{width:100%;border-collapse:collapse;font-size:12px}.catalog-table th,.catalog-table td{padding:12px;text-align:left;border-bottom:1px solid #e1e9e4}.catalog-table th{font-size:10px;color:var(--muted)}.sources{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:18px 0;font-size:11px}.sources button{padding:7px 10px;border:1px solid var(--line);border-radius:5px}.sources button.active{border-color:var(--teal);color:var(--teal);background:#edf6f1}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);padding:12px 22px;border-radius:9px;background:var(--navy);color:white;font-size:12px;z-index:100}.loading{padding:60px;font-size:14px;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1100px){.results{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-layout{grid-template-columns:210px minmax(0,1fr);gap:24px}.hero{gap:25px}.header-sub,.header-divider{display:none}nav{gap:20px}.hero-aside{min-width:0}.location-card{padding:22px 18px;gap:14px}}@media(max-width:760px){.shell,.header-inner{width:calc(100% - 36px)}.header-inner{min-height:96px}.logo{width:135px;height:52px}nav>a:first-child{display:none}nav{gap:15px}.phone{border:0!important;padding:8px!important}.phone span:last-child{display:none}.preview{font-size:9px;gap:6px}.preview button{font-size:9px}.hero{grid-template-columns:1fr;padding-top:30px;gap:0}.hero-aside{display:none}h1{font-size:43px}.hero-intro{font-size:14px}.eyebrow{font-size:9px;margin-bottom:17px}.search-panel{padding:18px 16px 0}.search-row{gap:9px}input[type=search]{font-size:15px}.search-submit{padding:12px;min-width:42px;font-size:0;gap:0}.search-submit svg{width:20px;height:20px}.search-bottom{margin-top:14px;min-height:61px}.search-help{display:none}.site-switch{gap:0;justify-content:space-between;width:100%}.site-switch button{font-size:11px;padding:8px 9px}.site-switch svg{display:none}.catalog-section{padding-top:10px;padding-bottom:35px}h2{font-size:26px}.section-top{align-items:start;flex-direction:column;gap:10px;margin-bottom:20px}.catalog-layout{grid-template-columns:1fr;gap:18px}.filters details{padding:11px 14px;border:1px solid var(--line);border-radius:9px;background:#fff}.filters summary{margin-bottom:0;font-size:12px}.filters details[open] summary{margin-bottom:15px}#specialty-list{max-height:260px}.help-card{display:none}.results{gap:10px}.service-card{padding:15px 13px 13px;min-height:236px}.service-card h3{font-size:14px}.card-index{font-size:8px}.service-icon{height:32px;width:32px}.service-specialty{font-size:9px}.card-bottom>span{display:none}.card-bottom{justify-content:flex-end}.site-badge{font-size:9px}.catalog-total{font-size:10px}.location-grid{grid-template-columns:1fr;gap:12px}.location-card{padding:23px 18px}.locations{padding-top:30px;padding-bottom:30px}.bottom-note{padding:23px 20px;margin-bottom:28px;gap:13px}.bottom-note p{font-size:13px}.bottom-note>span:last-child{display:none}footer{flex-wrap:wrap;gap:14px;padding-top:20px}footer button{margin:0}footer img{width:100px;height:42px}dialog{padding:22px 18px;border-radius:16px;max-height:94dvh}.booking-title{font-size:23px}.choice-grid{gap:8px}.choice{padding:12px;gap:7px}.choice.selected{padding:11px}.choice svg{width:15px}.choice strong{font-size:12px}.metrics{grid-template-columns:repeat(2,1fr)}.funnel-row{grid-template-columns:120px 1fr 25px}.admin-tabs button{font-size:10px;padding:7px 8px}.dialog-actions .primary{font-size:12px;padding:13px 15px}.times{gap:7px}.day{min-width:58px}.preview span:not(.preview-dot){max-width:180px;line-height:1.3}.summary-line{font-size:11px}.catalog-table td{padding:10px 6px;font-size:11px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.date-search{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:24px}.date-search .field-label{margin:0}.date-search input,.patient-grid input{border:1px solid #c9d8dc;border-radius:10px;background:#fff;color:#143a50;padding:12px;font:inherit}.live-alert{background:#fff1e8;border:1px solid #edcfba;border-radius:12px;padding:15px;font-size:14px;line-height:1.55;margin:18px 0;color:#754328}.live-times{grid-template-columns:repeat(3,minmax(0,1fr));max-height:310px;overflow:auto;padding:2px}.live-times .time{min-width:0;padding:13px 8px;display:flex;flex-direction:column;gap:6px}.live-times small{white-space:normal;line-height:1.4}.sync-time{font-size:12px;color:#647982;line-height:1.6;margin:16px 0}.loading-slots{padding:32px 0;color:#357e79}.patient-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.patient-grid label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600}.checkline{display:flex;gap:10px;font-size:13px;line-height:1.6;margin:12px 0}.checkline input{flex-shrink:0;margin-top:4px}.preparation{background:#edf6f4;border-radius:12px;padding:16px;line-height:1.6;font-size:13px}.preparation p{white-space:pre-wrap}.dates{flex-wrap:wrap}.day{min-width:70px}.time strong{font-size:18px}@media(max-width:650px){.live-times{grid-template-columns:repeat(2,minmax(0,1fr))}.patient-grid{grid-template-columns:1fr}.dialog-actions{flex-wrap:wrap}.date-search{align-items:flex-start}.date-search label{width:100%}}

/* Keep live search results directly beneath the search controls. */
.search-active .hero{padding-bottom:12px}
.search-active .quick,.search-active .catalog-section .section-top{display:none}
.search-active .catalog-section{padding-top:0}
.search-active .search-bottom{min-height:48px;margin-top:10px}
.search-active .results-head{height:auto;min-height:20px;margin-bottom:8px}
.search-active #active-filters:empty{display:none}
.service-card[role=button]{cursor:pointer}
.service-card[role=button]:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.card-bottom .card-action{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:var(--teal)}
.card-action svg{width:15px;height:15px}
.period-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:12px 0 20px}
.period-nav>span{font-size:11px;color:var(--muted)}
.period-nav button:disabled{opacity:.4;cursor:default}
.dates{flex-wrap:wrap;max-height:230px;overflow:auto;padding:3px}
@media(max-width:760px){.search-active .catalog-layout{gap:10px}.search-active .filters{display:none}.period-nav>span{width:100%;order:3}.period-nav button{font-size:11px}.dates{max-height:180px}}

/* Shrink grid children and controls to the available viewport instead of their intrinsic width. */
.hero>*:not(.hero-aside),.catalog-layout>*,.results-wrap,.patient-grid label,.choice>span,.summary-line strong{min-width:0}
.patient-grid,.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.patient-grid input{display:block;width:100%;min-width:0;max-width:100%}
.date-search input{min-width:0;max-width:100%}
.summary-line strong,.checkline,.sync-time,.live-alert,.preparation{overflow-wrap:anywhere}
.checkline input{width:18px;height:18px;flex:0 0 18px}
#booking-content,#admin-content{min-width:0;max-width:100%}
dialog{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
body:has(dialog[open]){overflow:hidden}
@media(max-width:760px){
 .preview{flex-wrap:wrap}.header-inner{gap:8px}.logo{width:120px}nav{min-width:0;gap:8px}nav .text-button{font-size:11px;max-width:92px;text-align:left}
 .hero{grid-template-columns:minmax(0,1fr)}
 .search-panel{min-width:0}.search-row{min-width:0}.search-row input[type=search]{font-size:16px;flex:1;width:0}
 .site-switch{flex-wrap:wrap;justify-content:flex-start}.site-switch button{padding:8px 6px}
 .results-head{height:auto;flex-wrap:wrap;gap:8px}.active-tag{max-width:100%;overflow-wrap:anywhere}
 dialog{width:calc(100vw - 24px);max-width:calc(100vw - 24px);padding:20px 16px;max-height:calc(100dvh - 24px);margin:auto}
 .patient-grid,.choice-grid{grid-template-columns:minmax(0,1fr)}
 .patient-grid input,.date-search input{font-size:16px;line-height:1.4;min-height:48px}
 .stepper{gap:6px;font-size:10px}.stepper span{min-width:0;gap:4px}.stepper b{flex:0 0 21px}.stepper i{width:10px;flex:0 1 10px}
 .dialog-actions{display:flex;flex-direction:column;align-items:stretch}.dialog-actions .primary{width:100%;min-width:0;white-space:normal;font-size:15px;min-height:48px}.dialog-actions .back{align-self:flex-start;min-height:36px}
 .summary-line{gap:12px;align-items:flex-start}.summary-line>span{flex:0 0 80px}
 .period-nav{gap:12px}.period-nav button{min-height:36px}
 .catalog-table{table-layout:fixed}.catalog-table th,.catalog-table td{overflow-wrap:anywhere;padding:9px 5px}
}
@media(max-width:430px){.results{grid-template-columns:minmax(0,1fr)}.service-card{min-height:210px}}

[hidden]{display:none!important}.manage-shell{width:min(100% - 32px,680px);margin:32px auto;min-width:0}.manage-logo{width:190px;max-width:65vw;margin-bottom:28px}.manage-card{background:white;border:1px solid #dce7e4;border-radius:24px;padding:clamp(20px,5vw,40px);overflow-wrap:anywhere;min-width:0}.manage-card h1{font-size:clamp(27px,5vw,38px);line-height:1.15;margin:16px 0 24px}.manage-card p{line-height:1.65}.manage-summary,.manage-notice{padding:20px;border-radius:16px;background:#f1f6f4;margin:20px 0}.manage-notice{background:#fff4e8}.manage-summary p{margin:10px 0}.manage-card fieldset{border:0;padding:0;margin:28px 0}.manage-card legend{font-weight:700;margin-bottom:14px}.manage-card .patient-grid{gap:16px}.manage-card input:not([type=checkbox]):not([type=radio]){font-size:16px;max-width:100%;min-width:0}.manage-card input[type=radio]{flex:0 0 20px;width:20px;height:20px}.manage-card .primary{width:100%;justify-content:center;margin-top:16px}.manage-help{line-height:1.8;text-align:center;font-size:14px;overflow-wrap:anywhere}.manage-home{display:inline-block;margin-top:24px}.manage-notice .text-button{display:inline-block;margin:8px 12px 0 0;overflow-wrap:anywhere}.notification-list{min-width:0}.notification-list .status-row{gap:12px;flex-wrap:wrap}.admin-tabs{flex-wrap:wrap}@media(max-width:480px){.manage-shell{margin:24px auto}.manage-card .patient-grid{grid-template-columns:minmax(0,1fr)}.manage-card .checkline{font-size:15px}.manage-card{padding:22px 18px}}

/* On phones, typing becomes a compact search view with results above the keyboard. */
@media(max-width:760px){
 body:is(.search-focused,.search-active) .hero-copy,
 body:is(.search-focused,.search-active) .quick,
 body:is(.search-focused,.search-active) .catalog-section .section-top,
 body:is(.search-focused,.search-active) .filters{display:none}
 body:is(.search-focused,.search-active) .hero{padding-top:8px;padding-bottom:10px}
 body:is(.search-focused,.search-active) .search-panel{margin-top:0;padding:10px 12px 0;border-radius:14px;scroll-margin-top:8px}
 body:is(.search-focused,.search-active) #search-form label{font-size:12px;margin-bottom:4px}
 body:is(.search-focused,.search-active) .search-row{gap:8px;min-height:44px}
 body:is(.search-focused,.search-active) .search-submit{min-height:44px;min-width:44px;padding:10px}
 body:is(.search-focused,.search-active) .search-bottom{margin-top:6px;min-height:44px}
 body:is(.search-focused,.search-active) .site-switch button{min-height:40px;font-size:11px;padding:6px}
 body:is(.search-focused,.search-active) .catalog-section{padding-top:0}
 body:is(.search-focused,.search-active) .catalog-layout{gap:0}
 body:is(.search-focused,.search-active) .results-head{min-height:24px;gap:4px;margin-bottom:6px;align-items:center}
 body:is(.search-focused,.search-active) #reset{font-size:12px;min-height:32px}
 body:is(.search-focused,.search-active) .active-tag:has([data-remove="query"]){display:none}
 body:is(.search-focused,.search-active) .results{grid-template-columns:minmax(0,1fr);gap:8px}
 body:is(.search-focused,.search-active) .service-card{min-height:0;padding:12px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;border-radius:12px}
 body:is(.search-focused,.search-active) .card-top,
 body:is(.search-focused,.search-active) .service-specialty{display:none}
 body:is(.search-focused,.search-active) .service-card h3{grid-column:1/-1;font-size:16px;line-height:1.3;margin:0}
 body:is(.search-focused,.search-active) .site-badges{margin:0;align-self:center}
 body:is(.search-focused,.search-active) .site-badge{font-size:10px;padding:2px 5px}
 body:is(.search-focused,.search-active) .card-bottom{border:0;padding:0;align-self:center}
 body:is(.search-focused,.search-active) .card-bottom>span:first-child{display:none}
 body:is(.search-focused,.search-active) .card-action{font-size:12px;white-space:nowrap}
}

.catalog-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border:1px solid #d7e2e0;border-radius:14px;background:#fff;font-size:16px;font-weight:600;text-align:left;min-height:56px;color:var(--ink)}
.catalog-toggle:hover{border-color:var(--teal);background:#f0f7f4}
.catalog-toggle>span:last-child{font-size:24px;line-height:1;color:var(--teal)}
.catalog-toggle[aria-expanded=true]{margin-bottom:24px}
@media(max-width:760px){.catalog-toggle{padding:15px 16px;font-size:15px}.catalog-toggle[aria-expanded=true]{margin-bottom:18px}}

/* CupBonamed identity stays readable on the smallest phone layouts. */
.cup-brand{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto;color:var(--navy)}
.cup-symbol{width:84px;height:84px;object-fit:contain;flex:0 0 auto}
.cup-wordmark{display:flex;flex-direction:column;gap:3px;min-width:0}
.cup-wordmark strong{font-size:50px;line-height:1.1;letter-spacing:-.045em;font-weight:750;white-space:nowrap}
.cup-wordmark strong>span{color:var(--teal)}
.cup-wordmark small{font-size:13px;line-height:1.35;color:var(--muted);white-space:nowrap}
.manage-brand{margin-bottom:28px}
@media(max-width:760px){.cup-brand{gap:8px}.cup-symbol{width:clamp(46px,15.5vw,66px);height:clamp(46px,15.5vw,66px)}.cup-wordmark strong{font-size:clamp(30px,9.8vw,41px)}.cup-wordmark small{font-size:12px}.header-inner:has(#dashboard:not([hidden])){flex-wrap:wrap;padding-top:12px;padding-bottom:12px}}
.doctor-context{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}.doctor-context[hidden]{display:none}.doctor-context h2{font-size:26px;margin:6px 0}.doctor-context p{margin:0;color:var(--muted)}.doctor-context .text-button{flex-shrink:0}.doctor-entry .hero-copy,.doctor-entry .hero-aside,.doctor-entry .quick,.doctor-entry .locations{display:none}.doctor-entry .hero{padding-top:18px}.doctor-entry .search-panel{grid-column:1/-1}@media(max-width:760px){.doctor-context{display:block}.doctor-context h2{font-size:23px}.doctor-context .text-button{margin-top:12px}.doctor-entry .hero{padding-top:8px}}

@media(max-width:760px){.header-inner{flex-wrap:wrap}}
@media(max-width:340px){.header-inner .cup-brand{gap:6px}.header-inner .cup-symbol{width:46px;height:46px}}

.patient-extra{border:1px solid #dce7e4;border-radius:12px;padding:16px;margin:20px 0}.patient-extra summary{cursor:pointer;color:#167b80;font-weight:650;font-size:15px}.patient-extra p,.patient-notes small{font-size:13px;line-height:1.5;color:#647982}.patient-extra .patient-grid{margin-bottom:0}.patient-notes{display:flex;flex-direction:column;gap:8px;margin:22px 0;font-size:14px;font-weight:600;min-width:0}.patient-notes textarea{display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;border:1px solid #c9d8dc;border-radius:10px;background:#fff;color:#143a50;padding:12px;font:inherit;resize:vertical;line-height:1.5}.patient-notes small{font-weight:400}@media(max-width:650px){.patient-notes textarea,.patient-extra input{font-size:16px}.patient-extra{padding:14px}}

/* Keep the booking dialog recognizably CupBonamed at every step. */
.cup-dialog-brand{gap:9px}.cup-dialog-brand .cup-symbol{width:46px;height:46px}.cup-dialog-brand .cup-wordmark strong{font-size:34px}
@media(max-width:760px){.cup-dialog-brand .cup-symbol{width:40px;height:40px}.cup-dialog-brand .cup-wordmark strong{font-size:29px}}

/* Unified search, with clinic-specific specialist booking links. */
.specialist-card{padding:22px;background:white;border:1px solid var(--line);border-radius:16px;min-width:0}
.specialist-heading{display:flex;align-items:flex-start;gap:12px}
.specialist-heading>div{min-width:0}.specialist-heading h3{font-size:19px;line-height:1.3;margin:0 0 7px;overflow-wrap:anywhere}
.specialist-heading p{font-size:13px;color:var(--muted);line-height:1.5;margin:0}
.specialist-icon{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;background:#edf5f1;color:var(--teal);border-radius:10px}
.specialist-sites{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:18px}
.specialist-sites>span{font-size:12px;color:var(--muted);margin-right:2px}
.specialist-site{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #c9dcd7;border-radius:9px;font-size:13px;font-weight:650;color:var(--teal)}
.specialist-site:hover{background:#edf5f1;border-color:var(--teal)}.specialist-site svg{width:16px;height:16px}
@media(max-width:760px){
 .specialist-card{padding:15px}.specialist-heading{gap:9px}.specialist-heading h3{font-size:16px}.specialist-heading p{font-size:12px}.specialist-icon{width:30px;height:30px}
 .specialist-sites{margin-top:12px;gap:6px}.specialist-sites>span{width:100%;margin:0}.specialist-site{flex:1;min-width:0;padding:8px;font-size:12px}
}

/* Portraits retain their space while loading; missing photos use the cross. */
.specialist-icon.has-portrait{width:64px;height:76px;overflow:hidden;border-radius:10px;background:#edf3f1}
.specialist-icon.has-portrait>svg{display:none}
.specialist-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}
@media(max-width:760px){.specialist-icon.has-portrait{width:54px;height:66px;border-radius:9px}}

.result-section-heading{font-size:18px;font-weight:650;letter-spacing:-.02em;margin:0 0 14px;color:var(--ink)}
.specialist-results{margin-top:26px;min-width:0}
.pagination:empty{display:none}
#results[hidden]~.specialist-results{margin-top:0}
#specialists{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){
 .result-section-heading{font-size:14px;margin:0 0 8px}
 .specialist-results{margin-top:18px}
 #specialists{grid-template-columns:minmax(0,1fr);gap:8px}
}
