/* Public hospital website: keep the original palette and type scale. */
.header .topbar{height:auto;min-height:40px;padding:5px 0}
.header .topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.header .topbar .contact-info{display:flex;align-items:center;flex-wrap:wrap;gap:18px;min-width:0}
.header .topbar .contact-info>i{margin:0!important;gap:5px}
.header .topbar .contact-info a{padding:0!important;white-space:nowrap}
.header .topbar .topbar-actions{display:flex;align-items:center;gap:18px;margin-inline-start:auto;flex-shrink:0}
.header .topbar .language-switch{display:inline-flex;align-items:center;gap:7px;margin:0;padding:4px 10px;border:1px solid rgba(255,255,255,.4);border-radius:6px;color:#fff;font-size:13px;font-weight:500;line-height:1.6;white-space:nowrap}
.header .topbar .language-switch:hover,.header .topbar .language-switch:focus-visible{color:#fff;background:rgba(255,255,255,.15);border-color:#fff}
.header .topbar .social-links{display:flex;align-items:center;gap:14px}
.header .topbar .social-links a{margin:0}
.header .topbar .clinic-welcome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.header .logo{max-width:270px}
.header .logo h1{font-size:24px;line-height:1.35;text-wrap:balance}
.clinic-map{border:0;width:100%;height:300px;border-radius:16px}
.footer .footer-about .logo{white-space:normal}
.footer .footer-about .logo span{font-size:24px;line-height:1.5}
.cms-inquiry input,.cms-inquiry textarea,.cms-inquiry select{font-size:14px;padding:12px 14px}
.cms-inquiry .button-primary{border:0}
@media(max-width:767px){.header .topbar-inner{gap:10px}.header .topbar .social-links{display:none}.header .topbar .contact-info{gap:6px 12px;font-size:12px}.header .topbar .contact-info .topbar-email{display:none}.header .topbar .clinic-welcome{max-width:225px}.header .logo{max-width:230px}.header .logo h1{font-size:21px}.header .topbar .language-switch{font-size:12px}}
@media(max-width:380px){.header .topbar .clinic-welcome{max-width:185px}.header .logo{max-width:220px}.header .logo h1{font-size:20px}}

/* Preserve the original collapsing header even when top-bar rows wrap. */
.header.header-with-spacer{position:fixed;inset:0 0 auto;width:100%;transition:box-shadow .3s ease}
.header-space{flex-shrink:0;pointer-events:none}
.header.header-measuring,.header.header-measuring *{transition:none!important}
.header .topbar{max-height:120px;overflow:hidden;transition:max-height .3s ease,padding .3s ease,opacity .2s ease}
.header .branding{transition:padding .3s ease;}
.scrolled .header .topbar{height:0;min-height:0;max-height:0;padding-block:0;opacity:0;visibility:hidden;pointer-events:none}
.scrolled .header .branding{padding-block:8px}
.header .logo{max-width:none;flex-shrink:0}
.header .logo h1{font-size:16px;white-space:nowrap;text-wrap:nowrap;line-height:1.5}
.footer .footer-about .logo span{font-size:16px}
.header .topbar .social-links a,.header .topbar .social-unavailable{display:inline-flex;align-items:center;justify-content:center;width:24px;height:28px;color:#fff;font-size:15px;line-height:1}
.header .topbar .social-unavailable{opacity:.6;cursor:default}
.header .topbar .contact-info a{line-height:1.5}
@media(max-width:767px){
 .header .topbar-inner{flex-wrap:wrap;gap:4px 12px}
 .header .topbar .topbar-actions{gap:10px}
 .header .topbar .social-links{display:flex;gap:3px}
 .header .topbar .social-links a,.header .topbar .social-unavailable{width:22px}
 .header .topbar .contact-info{flex:1 1 auto}
 .header .topbar .contact-info .topbar-phone a{font-size:12px}
 .header .topbar .language-switch{padding:3px 7px}
 .header .logo:before{width:28px;height:28px;flex-shrink:0;font-size:24px}
}
@media(prefers-reduced-motion:reduce){.header,.header .topbar,.header .branding{transition:none}}

/* Published pages and accessible nested navigation. */
.navmenu .nav-item-row{display:flex;align-items:center;justify-content:space-between;gap:3px}
.navmenu .nav-item-row>a{flex:1}
.navmenu .nav-group-label,.navmenu .submenu-toggle{font:inherit;background:transparent;border:0;color:var(--nav-color);cursor:pointer}
.navmenu .nav-group-label{padding:18px 8px;font-size:15px;white-space:nowrap}
.navmenu .submenu-toggle{display:grid;place-items:center;min-width:28px;min-height:32px;border-radius:6px;padding:4px;font-size:12px}
.navmenu .submenu-toggle:hover,.navmenu .submenu-toggle:focus-visible{background:#eaf4fd;color:var(--accent-color)}
.navmenu .menu-current>.nav-item-row>a,.navmenu .menu-current>.nav-item-row>button{color:var(--accent-color)}
.navmenu .dropdown ul{padding-inline-start:0;list-style:none}
@media(min-width:1200px){
 .navmenu .dropdown>ul{inset-inline-start:0;inset-inline-end:auto;left:auto;top:100%}
 .navmenu .dropdown.submenu-open>ul{visibility:visible;opacity:1;top:100%}
 .navmenu .dropdown .dropdown>ul,.navmenu .dropdown .dropdown:hover>ul,.navmenu .dropdown .dropdown.submenu-open>ul{inset-inline-start:100%;inset-inline-end:auto;left:auto;top:0}
 .navmenu .dropdown ul .nav-group-label{padding:10px 20px}
 .navmenu .dropdown ul .submenu-toggle{margin-inline-end:10px}
}
@media(max-width:1199px){
 .navmenu .dropdown.submenu-open>ul{display:block}
 .navmenu .nav-item-row{padding-inline:0 14px}
 .navmenu .nav-group-label{padding:10px 20px;font-size:17px;font-weight:500}
 .navmenu .submenu-toggle{width:34px;height:34px;background:#eaf4fd}
}
.page-prose{max-width:900px;line-height:2;overflow-wrap:anywhere}
.page-prose h2,.page-prose h3,.page-prose h4{margin-block:1.5em .6em;color:var(--heading-color)}
.page-prose p,.page-prose ul,.page-prose ol{margin-bottom:1.2em}
.page-prose blockquote{border-inline-start:4px solid var(--accent-color);padding:16px 24px;background:#f1f7fc}
.preview-notice{padding:12px 20px;text-align:center;background:#fff5d9;color:#72551a;font-size:14px}
@media(min-width:1200px){.navmenu .dropdown:not(.submenu-open)>ul{opacity:0;visibility:hidden}}

/* Hospital identity: preserve the full transparent logo without cropping. */
.header .logo:before{display:none}
.header .logo{gap:10px}
.header .logo img.hospital-logo{width:56px;height:56px;max-height:none;object-fit:contain;flex-shrink:0;margin:0;transition:width .25s,height .25s}
.scrolled .header .logo img.hospital-logo{width:42px;height:42px}
@media(max-width:767px){.header .logo{gap:8px}.header .logo img.hospital-logo{width:46px;height:46px}.scrolled .header .logo img.hospital-logo{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.header .logo img.hospital-logo{transition:none}}
.doctor-placeholder{min-height:270px;display:grid;place-items:center;background:#eaf4fd;color:var(--accent-color);font-size:72px}.doctor-copy p{white-space:pre-line;overflow-wrap:anywhere}
