/* Doctor public page v2 — database-driven theme + refined mobile/tablet layout */
.hz-doctor-page{
  --hz-blue:var(--doctor-primary);
  --hz-blue-dark:var(--doctor-primary-dark);
  --hz-cyan:var(--doctor-accent);
  --hz-navy:var(--doctor-ink);
  --doctor-blue:var(--doctor-primary);
  --doctor-cyan:var(--doctor-accent);
  --doctor-navy:var(--doctor-ink);
  --surface:var(--doctor-surface);
  --soft:var(--doctor-soft);
  color:var(--doctor-ink);
  background:var(--doctor-surface);
}
.hz-doctor-page .hz-doctor-branded-header{border-color:var(--doctor-border)}
.hz-doctor-page .hz-doctor-brand-logo{background:var(--doctor-soft);border-color:var(--doctor-border)}
.hz-doctor-page .hz-doctor-brand-copy strong,
.hz-doctor-page .hz-profile-copy h1,
.hz-doctor-page .hz-section-head h2,
.hz-doctor-page .hz-booking-title h2,
.hz-doctor-page .hz-about-card h2,
.hz-doctor-page .hz-week-card h2,
.hz-doctor-page .hz-faq-section h2{color:var(--doctor-ink)}
.hz-doctor-page .hz-doctor-brand-copy small,
.hz-doctor-page .hz-profile-copy>p,
.hz-doctor-page .hz-section-head p,
.hz-doctor-page .hz-booking-title p{color:var(--doctor-muted)}
.hz-doctor-page .hz-primary-btn,
.hz-doctor-page .hz-header-cta,
.hz-doctor-page .hz-confirm-button,
.hz-doctor-page .hz-clinic-book-link,
.hz-doctor-page .hz-step-label>b,
.hz-doctor-page .hz-mobile-tabbar a.primary,
.hz-doctor-page .hz-mobile-booking-bar button{
  background:linear-gradient(135deg,var(--doctor-primary-dark),var(--doctor-primary) 58%,var(--doctor-accent));
  color:#fff;
}
.hz-doctor-page .hz-outline-btn{color:var(--doctor-primary-dark);border-color:var(--doctor-border);background:var(--doctor-surface)}
.hz-doctor-page .hz-verified-chip,
.hz-doctor-page .hz-section-head>div>span,
.hz-doctor-page .hz-booking-title>span,
.hz-doctor-page .hz-about-card>span,
.hz-doctor-page .hz-week-card>span,
.hz-doctor-page .hz-faq-section>div>span,
.hz-doctor-page .hz-next-card a,
.hz-doctor-page .hz-service-choice>strong{color:var(--doctor-primary)}
.hz-doctor-page .hz-verified-chip,
.hz-doctor-page .hz-choice-card>i,
.hz-doctor-page .hz-section-head>b{background:var(--doctor-soft)}
.hz-doctor-page .hz-profile-hero{
  background:linear-gradient(138deg,var(--doctor-surface) 18%,var(--doctor-soft) 72%,#fff);
  isolation:isolate;
}
.hz-profile-cover{position:absolute;inset:0;z-index:0;background-position:center;background-size:cover;opacity:.11;filter:saturate(.85)}
.hz-profile-hero.has-cover:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,var(--doctor-surface) 15%,rgba(255,255,255,.84) 52%,var(--doctor-soft));pointer-events:none}
.hz-doctor-page .hz-hero-pattern{z-index:1;opacity:.35}
.hz-doctor-page .hz-profile-copy,.hz-doctor-page .hz-profile-visual{z-index:2}
.hz-doctor-page .hz-doctor-photo{background:linear-gradient(145deg,var(--doctor-soft),#fff);box-shadow:0 24px 65px color-mix(in srgb,var(--doctor-primary) 18%,transparent)}
.hz-doctor-page .hz-doctor-photo:before{border-color:color-mix(in srgb,var(--doctor-primary) 30%,transparent)}
.hz-doctor-page .hz-profile-facts span,
.hz-doctor-page .hz-hero-doctor-identity,
.hz-doctor-page .hz-next-card,
.hz-doctor-page .hz-clinic-card,
.hz-doctor-page .hz-booking-main,
.hz-doctor-page .hz-booking-summary,
.hz-doctor-page .hz-about-card,
.hz-doctor-page .hz-week-card,
.hz-doctor-page .hz-doctor-contact-card,
.hz-doctor-page .hz-doctor-video-card{border-color:var(--doctor-border)}
.hz-doctor-page .hz-clinic-card:hover,
.hz-doctor-page .hz-clinic-card.selected{border-color:var(--doctor-primary);box-shadow:0 20px 48px color-mix(in srgb,var(--doctor-primary) 16%,transparent)}
.hz-doctor-page .hz-choice-card.active,
.hz-doctor-page .hz-service-choice.active{border-color:var(--doctor-primary);background:var(--doctor-soft);box-shadow:0 0 0 3px color-mix(in srgb,var(--doctor-primary) 10%,transparent)}
.hz-doctor-page .hz-date-card.active,
.hz-doctor-page .hz-time-slot.selected{background:linear-gradient(145deg,var(--doctor-primary-dark),var(--doctor-primary));border-color:var(--doctor-primary);box-shadow:0 11px 25px color-mix(in srgb,var(--doctor-primary) 25%,transparent)}
.hz-doctor-page .hz-time-slot{border-color:color-mix(in srgb,var(--doctor-primary) 30%,var(--doctor-border));background:color-mix(in srgb,var(--doctor-soft) 70%,#fff);color:var(--doctor-primary-dark)}
.hz-doctor-page .hz-booking-section{background:linear-gradient(145deg,var(--doctor-soft),#fff);border-color:var(--doctor-border)}
.hz-doctor-page .hz-schedule-guard{background:color-mix(in srgb,var(--doctor-soft) 78%,#fff);border-color:var(--doctor-border);color:var(--doctor-primary-dark)}
.hz-hero-contact-line{display:flex;gap:10px;flex-wrap:wrap;margin:-8px 0 22px}
.hz-hero-contact-line>a,.hz-hero-contact-line>span{min-height:54px;display:grid;align-content:center;gap:1px;padding:9px 13px;border:1px solid var(--doctor-border);border-radius:14px;background:rgba(255,255,255,.86);color:var(--doctor-ink)}
.hz-hero-contact-line small,.hz-hero-contact-line span{font-size:.72rem;color:var(--doctor-muted)}
.hz-hero-contact-line b{font-size:.82rem;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hz-contact-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.hz-doctor-contact-card,.hz-doctor-video-card{padding:28px;border:1px solid var(--doctor-border);border-radius:26px;background:var(--doctor-surface);box-shadow:0 16px 45px rgba(25,73,119,.07)}
.hz-doctor-contact-card>span,.hz-doctor-video-card>span{color:var(--doctor-primary);font-weight:800}
.hz-doctor-contact-card h2,.hz-doctor-video-card h2{margin:5px 0 18px;color:var(--doctor-ink)}
.hz-contact-list{display:grid;gap:9px}
.hz-contact-list>a,.hz-contact-list>div{display:grid;gap:2px;padding:12px 13px;border-radius:14px;background:var(--doctor-soft);border:1px solid var(--doctor-border)}
.hz-contact-list small{color:var(--doctor-muted)}
.hz-contact-list b{color:var(--doctor-ink);overflow-wrap:anywhere}
.hz-doctor-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
.hz-doctor-socials a{padding:8px 11px;border-radius:11px;background:var(--doctor-primary);color:#fff;font-size:.78rem;font-weight:800}
.hz-doctor-video-card>div{aspect-ratio:16/9;overflow:hidden;border-radius:18px;background:var(--doctor-soft)}
.hz-doctor-video-card iframe{width:100%;height:100%;border:0}

@media (min-width:761px) and (max-width:1100px){
  .hz-doctor-page .hz-public-header{padding-inline:20px}
  .hz-doctor-page .hz-profile-hero{padding:44px 30px}
  .hz-hero-contact-line{justify-content:flex-start}
  .hz-contact-media-grid{width:min(94%,980px)}
}

@media (max-width:760px){
  .doctor-public-body{background:var(--doctor-soft)}
  .hz-doctor-page{padding-bottom:calc(82px + env(safe-area-inset-bottom));background:var(--doctor-soft)}
  .hz-doctor-page .hz-doctor-branded-header{height:66px;padding:7px 10px;background:rgba(255,255,255,.96);border-bottom-color:var(--doctor-border)}
  .hz-doctor-page .hz-doctor-brand{max-width:calc(100% - 124px);gap:8px}
  .hz-doctor-page .hz-doctor-brand-logo{width:43px;height:43px;flex-basis:43px;border-radius:13px}
  .hz-doctor-page .hz-doctor-brand-copy strong{font-size:.88rem}
  .hz-doctor-page .hz-doctor-brand-copy small{font-size:.62rem}
  .hz-doctor-page .hz-install-page-button{width:42px;height:42px;border-radius:12px;background:var(--doctor-soft);color:var(--doctor-primary-dark);box-shadow:none}
  .hz-doctor-page .hz-header-cta{width:54px;height:42px;border-radius:12px}

  .hz-doctor-page .hz-profile-hero{padding:20px 14px 24px;gap:14px;border-radius:0 0 26px 26px;background:linear-gradient(155deg,var(--doctor-surface),var(--doctor-soft));overflow:hidden}
  .hz-doctor-page .hz-profile-cover{opacity:.08;background-position:center top}
  .hz-doctor-page .hz-profile-visual{min-height:166px}
  .hz-doctor-page .hz-doctor-photo{width:154px;height:154px;padding:8px;border-radius:44px 44px 36px 36px}
  .hz-doctor-page .hz-doctor-photo:before{inset:-9px}
  .hz-doctor-page .hz-doctor-photo>span{right:11px;bottom:11px;width:18px;height:18px;border-width:4px}
  .hz-doctor-page .hz-next-card{left:2px;bottom:0;width:150px;padding:9px 10px;border-radius:14px}
  .hz-doctor-page .hz-next-card small{font-size:.59rem}.hz-doctor-page .hz-next-card strong{font-size:.73rem}.hz-doctor-page .hz-next-card a{font-size:.68rem}
  .hz-doctor-page .hz-profile-copy{text-align:center}
  .hz-doctor-page .hz-hero-doctor-identity{display:none}
  .hz-doctor-page .hz-verified-chip{font-size:.64rem;padding:6px 10px}
  .hz-doctor-page .hz-profile-copy h1{font-size:1.7rem;margin:8px 0 3px;line-height:1.25}
  .hz-doctor-page .hz-profile-copy h2{font-size:.9rem;margin-bottom:8px;color:var(--doctor-primary-dark)}
  .hz-doctor-page .hz-profile-copy>p{font-size:.81rem;line-height:1.75;-webkit-line-clamp:3;margin:7px auto 12px}
  .hz-doctor-page .hz-profile-facts{gap:6px;margin:12px 0}
  .hz-doctor-page .hz-profile-facts span{padding:8px 4px;border-color:var(--doctor-border);font-size:.61rem}
  .hz-doctor-page .hz-profile-facts span b{font-size:.84rem;color:var(--doctor-primary)}
  .hz-hero-contact-line{display:grid;grid-template-columns:1fr;margin:0 0 10px;gap:7px;text-align:right}
  .hz-hero-contact-line>a,.hz-hero-contact-line>span{min-height:47px;padding:8px 11px;border-radius:12px}
  .hz-hero-contact-line b{font-size:.73rem;max-width:none}
  .hz-doctor-page .hz-hero-actions{grid-template-columns:1fr 1fr;margin-top:8px}
  .hz-doctor-page .hz-primary-btn,.hz-doctor-page .hz-outline-btn{min-height:45px;border-radius:12px;font-size:.78rem}

  .hz-doctor-page .hz-trust-strip{margin-top:10px;border-color:var(--doctor-border);background:var(--doctor-surface)}
  .hz-doctor-page .hz-trust-strip span{font-size:.64rem;color:var(--doctor-muted);border-color:var(--doctor-border)}
  .hz-doctor-page .hz-section{margin:38px auto;padding-inline:12px}
  .hz-doctor-page .hz-section-head{align-items:flex-start}
  .hz-doctor-page .hz-section-head h2{font-size:1.25rem;line-height:1.35}
  .hz-doctor-page .hz-section-head p{font-size:.74rem}

  .hz-doctor-page .hz-clinic-grid{grid-auto-columns:88%;gap:10px}
  .hz-doctor-page .hz-clinic-card{border-radius:19px;background:var(--doctor-surface)}
  .hz-doctor-page .hz-map-preview{height:132px;background:var(--doctor-soft)}
  .hz-doctor-page .hz-clinic-content{padding:14px}
  .hz-doctor-page .hz-clinic-book-link{min-height:43px;border-radius:12px}

  .hz-doctor-page .hz-booking-section{margin-top:30px;padding:16px 8px 24px;border-radius:26px 26px 0 0}
  .hz-doctor-page .hz-booking-title h2{font-size:1.35rem}
  .hz-doctor-page .hz-book-step,.hz-doctor-page .hz-patient-fields{padding:14px 11px;border-color:var(--doctor-border);border-radius:18px;box-shadow:0 9px 24px rgba(20,60,90,.05)}
  .hz-doctor-page .hz-choice-grid.clinics{grid-auto-columns:88%}
  .hz-doctor-page .hz-choice-grid.services{grid-auto-columns:84%}
  .hz-doctor-page .hz-choice-card,.hz-doctor-page .hz-service-choice{border-radius:14px;padding:11px}
  .hz-doctor-page .hz-date-rail{grid-auto-columns:64px;gap:6px}
  .hz-doctor-page .hz-date-card{min-height:77px;border-radius:14px}
  .hz-doctor-page .hz-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .hz-doctor-page .hz-time-slot{min-height:42px;font-size:.72rem;border-radius:11px}
  .hz-doctor-page .hz-booking-summary{padding:15px;border-radius:18px;background:var(--doctor-surface)}
  .hz-doctor-page .hz-booking-summary dl{gap:6px}
  .hz-doctor-page .hz-booking-summary dl>div{padding:9px;background:var(--doctor-soft)}
  .hz-doctor-page .hz-confirm-button{min-height:48px;border-radius:13px}

  .hz-doctor-page .hz-info-grid{gap:10px}
  .hz-doctor-page .hz-about-card,.hz-doctor-page .hz-week-card{padding:18px;border-radius:19px}
  .hz-contact-media-grid{grid-template-columns:1fr;gap:10px}
  .hz-doctor-contact-card,.hz-doctor-video-card{padding:18px;border-radius:20px}
  .hz-doctor-contact-card h2,.hz-doctor-video-card h2{font-size:1.24rem}
  .hz-doctor-socials{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .hz-doctor-socials a{text-align:center}
  .hz-doctor-page .hz-article-grid{grid-auto-columns:88%}
  .hz-doctor-page .hz-public-footer{padding-bottom:105px;background:var(--doctor-surface)}

  .hz-doctor-page .hz-mobile-tabbar{border-color:var(--doctor-border);background:rgba(255,255,255,.97)}
  .hz-doctor-page .hz-mobile-tabbar a.active{color:var(--doctor-primary);background:var(--doctor-soft)}
  .hz-doctor-page .hz-mobile-booking-bar{border-color:var(--doctor-border)}
  .hz-doctor-page .hz-mobile-booking-bar strong{color:var(--doctor-ink)}
}

@media (max-width:390px){
  .hz-doctor-page .hz-doctor-photo{width:142px;height:142px}
  .hz-doctor-page .hz-profile-visual{min-height:154px}
  .hz-doctor-page .hz-profile-copy h1{font-size:1.55rem}
  .hz-doctor-page .hz-slot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hz-doctor-page .hz-booking-summary dl{grid-template-columns:1fr}
}

/* Doctor media visibility fix */
.hz-doctor-page .hz-profile-cover{opacity:.34;filter:saturate(.95) contrast(1.02)}
.hz-doctor-page .hz-profile-hero.has-cover:after{background:linear-gradient(90deg,rgba(255,255,255,.94) 7%,rgba(255,255,255,.78) 48%,color-mix(in srgb,var(--doctor-soft) 78%,transparent))}
.hz-doctor-page .hz-doctor-photo img{display:block;object-position:center top}
.hz-doctor-page .hz-doctor-brand-logo img,.hz-doctor-page .hz-hero-doctor-identity img{display:block;opacity:1}
@media(max-width:760px){
  .hz-doctor-page .hz-profile-cover{opacity:.24;background-position:center}
  .hz-doctor-page .hz-profile-hero.has-cover:after{background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.9) 52%,var(--doctor-soft))}
  .hz-doctor-page .hz-hero-doctor-identity{display:inline-flex;margin-inline:auto}
}
