/* V16 — overall public website UX cleanup */
:root{
    --v16-space-section:clamp(58px,6.2vw,92px);
    --v16-radius:26px;
    --v16-line:#dfe9e3;
    --v16-shadow:0 18px 52px rgba(16,55,41,.075);
}

html{scroll-behavior:smooth;scroll-padding-top:92px}
body.doctor-public-v16{background:#fff;color:#17382d}
body.doctor-public-v16 main{overflow:clip}
body.doctor-public-v16 main>section{scroll-margin-top:88px}
body.doctor-public-v16 .section-v9,
body.doctor-public-v16 .v12-section{padding-block:var(--v16-space-section)!important;min-height:0!important}
body.doctor-public-v16 .container{width:min(1440px,calc(100% - 48px))}

/* Header is cleaner and sits above content without oversized empty top area. */
body.doctor-public-v16 .doctor-header-v9{position:sticky;top:0;z-index:180;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(20,69,51,.08);backdrop-filter:blur(18px) saturate(140%)}
body.doctor-public-v16 .doctor-nav-v9{min-height:78px}
body.doctor-public-v16 .doctor-brand-v9{min-width:max-content}
body.doctor-public-v16 .doctor-desktop-nav-v9{gap:clamp(16px,1.45vw,27px)}
body.doctor-public-v16 .doctor-desktop-nav-v9>a{font-size:12px;font-weight:800;white-space:nowrap}
body.doctor-public-v16 .nav-actions{gap:10px}

/* Hero: strong but not endlessly tall. */
body.doctor-public-v16 .doctor-hero-v14{padding-block:48px 66px!important}
body.doctor-public-v16 .doctor-hero-v14 .doctor-hero-grid-v9,
body.doctor-public-v16 .v14-hero-grid{min-height:0!important;gap:clamp(38px,4.2vw,68px)!important}
body.doctor-public-v16 .v14-hero-visual{min-height:500px!important}
body.doctor-public-v16 .v14-hero-image-frame{max-height:600px}
body.doctor-public-v16 .v14-hero-copy{align-self:center}
body.doctor-public-v16 .v14-quick-facts{margin-top:24px}

/* Trust strip hugs hero instead of creating a disconnected empty band. */
body.doctor-public-v16 .doctor-trust-strip-v9{margin-top:-1px;padding-block:0!important;border-block:1px solid #e8efeb;background:#fff}
body.doctor-public-v16 .v15-trust-grid{box-shadow:none!important;border:0!important;border-radius:0!important}
body.doctor-public-v16 .v15-trust-item{min-height:100px!important}

/* Consistent section rhythm and no giant white holes. */
body.doctor-public-v16 .v12-section-head,
body.doctor-public-v16 .section-heading-v9,
body.doctor-public-v16 .review-heading-v9{margin-bottom:34px!important}
body.doctor-public-v16 .v12-section-head{max-width:820px}
body.doctor-public-v16 .v12-split-head{gap:48px;margin-bottom:32px}
body.doctor-public-v16 .v12-card-grid,
body.doctor-public-v16 .v12-audience-grid,
body.doctor-public-v16 .v12-journey-grid,
body.doctor-public-v16 .doctor-services-grid-v9,
body.doctor-public-v16 .doctor-reviews-grid-v9{gap:16px}

/* About is compact and image/text stay balanced. */
body.doctor-public-v16 .v14-about-grid{gap:clamp(38px,5vw,76px);align-items:center}
body.doctor-public-v16 .v14-about-image-card{max-height:610px}
body.doctor-public-v16 .v14-profile-panels{margin-top:24px}

/* Expertise/audience cards align to content instead of forced height. */
body.doctor-public-v16 .v12-info-card,
body.doctor-public-v16 .v12-audience-grid article{min-height:0!important;height:100%;padding:24px!important}
body.doctor-public-v16 .v12-info-card p,
body.doctor-public-v16 .v12-audience-grid p{margin-top:7px}

/* Services have equal footer alignment without blank description blocks. */
body.doctor-public-v16 .v14-services-grid{align-items:stretch}
body.doctor-public-v16 .v14-service-card{height:100%;display:flex;flex-direction:column}
body.doctor-public-v16 .v14-service-body{height:100%;display:flex;flex-direction:column}
body.doctor-public-v16 .v14-service-body .doctor-service-meta-v9{margin-top:auto}
body.doctor-public-v16 .doctor-service-action-v9{margin-top:16px}

/* Patient journey — fixes the large dark empty block shown in screenshots. */
body.doctor-public-v16 .v12-journey{padding-block:72px!important;overflow:hidden;background:linear-gradient(135deg,#0d3426,#154a36 58%,#1f5b43)!important}
body.doctor-public-v16 .v12-journey .v12-section-head{margin-inline:0!important;text-align:start!important;max-width:720px;margin-bottom:34px!important}
body.doctor-public-v16 .v12-journey-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important}
body.doctor-public-v16 .v12-journey-grid article{min-height:0!important;padding:21px!important;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.07)!important;border-radius:20px;align-items:flex-start}
body.doctor-public-v16 .v12-journey-grid article>span{font-size:11px;font-weight:900;color:#b8db98;background:rgba(181,219,152,.1);border-radius:10px;padding:6px 8px}
body.doctor-public-v16 .v12-journey-grid h3{font-size:16px!important;line-height:1.55;margin:0 0 6px!important;color:#fff!important}
body.doctor-public-v16 .v12-journey-grid p{font-size:11.5px!important;line-height:1.8!important;color:rgba(255,255,255,.68)!important;margin:0}

/* Preview blocks don't force a tall viewport. */
body.doctor-public-v16 .v12-plan-grid,
body.doctor-public-v16 .v12-portal-grid,
body.doctor-public-v16 .v12-clinic-grid{gap:clamp(38px,5vw,70px)}
body.doctor-public-v16 .v12-portal-ui{min-height:390px!important}
body.doctor-public-v16 .v12-plan-device{max-width:560px}

/* Reviews: one review no longer leaves a giant empty section. */
body.doctor-public-v16 .doctor-reviews-v9{min-height:0!important}
body.doctor-public-v16 .doctor-reviews-grid-v9{align-items:stretch}
body.doctor-public-v16 .doctor-reviews-grid-v9:has(> :only-child){grid-template-columns:minmax(0,620px)!important;justify-content:center}
body.doctor-public-v16 .doctor-review-card-v9{min-height:0!important;height:100%}
body.doctor-public-v16 .empty-reviews-v9{padding:34px!important;min-height:0!important}

/* Empty/sparse CMS sections stay intentional, not blank. */
body.doctor-public-v16 .v12-community-empty{padding:32px!important;min-height:0!important}
body.doctor-public-v16 .v12-community-grid:has(> .v12-community-empty){grid-template-columns:1fr!important;max-width:760px;margin-inline:auto}
body.doctor-public-v16 .v12-center-action{margin-top:22px}

/* FAQ and clinic. */
body.doctor-public-v16 .doctor-faq-grid-v9{gap:clamp(34px,5vw,70px);align-items:start}
body.doctor-public-v16 .faq-list-v9{gap:10px}
body.doctor-public-v16 .v14-clinic-visual-wrap,
body.doctor-public-v16 .v14-clinic-image{min-height:390px!important}

/* CTA + footer: tighter, cleaner and not hidden behind assistant. */
body.doctor-public-v16 .doctor-cta-v9{padding:0 0 72px!important;margin:0!important;background:#fff}
body.doctor-public-v16 .doctor-cta-card-v9{border-radius:30px;padding:clamp(30px,4vw,52px)!important;box-shadow:var(--v16-shadow)}
body.doctor-public-v16 .doctor-footer-v9{padding-top:56px!important;padding-bottom:96px!important}
body.doctor-public-v16 .doctor-footer-main-v9{gap:36px!important}
body.doctor-public-v16 .footer-bottom{margin-top:34px!important;padding-top:20px!important}

/* Old floating contact stack is retired in V16: links live inside assistant. */
body.doctor-public-v16 .contact-float{display:none!important}
body.doctor-public-v16 .mobile-booking-bar-v12{z-index:170}

@media(max-width:1180px){
    body.doctor-public-v16 .container{width:min(calc(100% - 36px),1180px)}
    body.doctor-public-v16 .doctor-desktop-nav-v9{gap:13px}
    body.doctor-public-v16 .doctor-desktop-nav-v9>a{font-size:11px}
    body.doctor-public-v16 .v12-journey-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media(max-width:980px){
    :root{--v16-space-section:64px}
    body.doctor-public-v16 .container{width:min(calc(100% - 30px),900px)}
    body.doctor-public-v16 .doctor-hero-v14{padding-block:32px 52px!important}
    body.doctor-public-v16 .v14-hero-visual{min-height:0!important}
    body.doctor-public-v16 .v14-about-grid{gap:42px}
}

@media(max-width:760px){
    :root{--v16-space-section:48px}
    html{scroll-padding-top:72px}
    body.doctor-public-v16 .container{width:calc(100% - 24px)}
    body.doctor-public-v16 .doctor-nav-v9{min-height:68px}
    body.doctor-public-v16 .doctor-hero-v14{padding-block:24px 40px!important}
    body.doctor-public-v16 .v14-hero-grid{gap:28px!important}
    body.doctor-public-v16 .v14-hero-visual{order:-1}
    body.doctor-public-v16 .v14-hero-image-frame{max-height:none}
    body.doctor-public-v16 .v15-trust-item{min-height:72px!important}
    body.doctor-public-v16 .v12-split-head{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:26px!important}
    body.doctor-public-v16 .v12-journey{padding-block:50px!important}
    body.doctor-public-v16 .v12-journey-grid{grid-template-columns:1fr!important}
    body.doctor-public-v16 .v12-journey-grid article{padding:17px!important}
    body.doctor-public-v16 .v12-portal-ui{min-height:320px!important}
    body.doctor-public-v16 .v14-clinic-visual-wrap,
    body.doctor-public-v16 .v14-clinic-image{min-height:0!important}
    body.doctor-public-v16 .doctor-cta-v9{padding-bottom:52px!important}
    body.doctor-public-v16 .doctor-footer-v9{padding-bottom:130px!important}
}

@media(max-width:430px){
    :root{--v16-space-section:42px}
    body.doctor-public-v16 .container{width:calc(100% - 20px)}
    body.doctor-public-v16 .v12-section-head,
    body.doctor-public-v16 .section-heading-v9,
    body.doctor-public-v16 .review-heading-v9{margin-bottom:26px!important}
    body.doctor-public-v16 .doctor-cta-card-v9{border-radius:23px;padding:25px 20px!important}
}

/* Progressive enhancement: reveal motion must never make whole sections look empty.
   Content remains readable even before IntersectionObserver fires (including full-page screenshots). */
body.doctor-public-v16.motion-enabled [data-v13-reveal]{opacity:1!important;filter:none!important;transform:translate3d(0,16px,0)!important}
body.doctor-public-v16.motion-enabled [data-v13-reveal].is-visible{transform:none!important}
