
/* Approved shared header, footer and mobile controls — 2026-07-28. */
.topbar,.header,.mobile-clinic-bar,.footer,.stickybar{box-sizing:border-box}
.topbar *,.header *,.mobile-clinic-bar *,.footer *,.stickybar *{box-sizing:border-box}
.topbar .container,.header .container,.footer .container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
body.menu-open{overflow:hidden}

.topbar{display:block;padding:0;background:var(--darker,#0f2840);color:#d5e2ee;font-size:12px}
.topbar-inner{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px;min-height:36px}
.topbar-clinic{display:flex;align-items:center;gap:14px;min-width:0}
.topbar-clinic:last-child{justify-self:end}
.topbar-clinic>a{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.topbar-clinic>a:first-child{color:#cfe0f0}
.topbar-clinic>a:last-child{position:relative;padding-left:15px;border-left:1px solid rgba(255,255,255,.32);color:#fff;font-weight:700}
.topbar-email{display:inline-flex;align-items:center;justify-content:center;color:#fff!important;font-family:var(--display,Arial,sans-serif);font-size:12px;font-weight:700;white-space:nowrap}
.topbar a:hover{text-decoration:underline;text-underline-offset:3px}
.location-pin{display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;filter:saturate(.88)}
.mobile-clinic-bar{display:none}

.header{position:sticky;top:0;z-index:90;border-bottom:1px solid var(--line,#c9d8e7);background:rgba(255,255,255,.97);backdrop-filter:blur(10px)}
.header-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px}
.header .brand{display:flex;flex:none;align-items:center;gap:11px;min-width:255px;text-decoration:none}
.header .brand-logo{width:34px;height:44px;flex:none;object-fit:contain}
.header .brand-copy{display:flex;min-width:0;flex-direction:column;line-height:1.15}
.header .brand-name{color:var(--deep,var(--navy-deep,#143552));font-family:var(--display,Arial,sans-serif);font-size:18px;font-weight:800;letter-spacing:-.015em;line-height:1.15;white-space:nowrap}
.header .brand-sub{margin-top:4px;color:var(--muted,#557086);font-size:11px;font-weight:700;letter-spacing:.1em;line-height:1.2;text-transform:uppercase;white-space:nowrap}
.nav{display:flex;align-items:center;gap:17px;color:var(--deep,var(--navy-deep,#143552));font-family:var(--display,Arial,sans-serif);font-size:12.5px;font-weight:700;white-space:nowrap}
.nav>a,.nav-clinics-toggle{display:inline-flex;min-height:40px;align-items:center;padding:7px 0;border:0;border-bottom:2px solid transparent;background:transparent;color:inherit;font:inherit;font-weight:inherit;text-decoration:none;cursor:pointer}
.nav>a:hover,.nav>a[aria-current="page"],.nav-clinics-toggle:hover,.nav-clinics.is-current>.nav-clinics-toggle{color:var(--navy,#1f4e79);border-bottom-color:var(--gold,#f5c842)}
.nav-clinics{position:relative;display:flex;align-items:center}
.nav-clinics-toggle{gap:6px;white-space:nowrap}
.nav-clinics-chevron{width:7px;height:7px;border-right:1.8px solid currentColor;border-bottom:1.8px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .18s ease}
.nav-clinics.is-open .nav-clinics-chevron{transform:translateY(2px) rotate(225deg)}
.nav-clinics-menu{position:absolute;top:calc(100% + 9px);right:-12px;z-index:110;display:grid;min-width:228px;padding:8px;border:1px solid var(--line,#c9d8e7);border-radius:14px;background:#fff;box-shadow:0 14px 40px rgba(20,53,82,.16);opacity:0;visibility:hidden;transform:translateY(-7px);transition:.18s ease}
.nav-clinics-menu:before{content:"";position:absolute;top:-11px;right:0;left:0;height:12px}
.nav-clinics-menu a{padding:11px 12px!important;border:0!important;border-radius:9px;color:var(--deep,var(--navy-deep,#143552));font-size:12.5px;text-decoration:none;white-space:normal}
.nav-clinics-menu a:hover,.nav-clinics-menu a[aria-current="page"]{background:var(--soft,var(--soft-blue,#dfeaf4));color:var(--navy,#1f4e79)}
.nav-clinics:hover .nav-clinics-menu,.nav-clinics:focus-within .nav-clinics-menu,.nav-clinics.is-open .nav-clinics-menu{opacity:1;visibility:visible;transform:none}
.header-cta{display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:11px 19px;border-radius:999px;background:var(--navy,#1f4e79);box-shadow:0 10px 22px rgba(31,78,121,.18);color:#fff;font-family:var(--display,Arial,sans-serif);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}
.header-cta:hover{background:var(--deep,var(--navy-deep,#143552));color:#fff;transform:translateY(-1px)}
.menu-toggle{display:none;min-width:72px;min-height:40px;align-items:center;justify-content:center;border:1px solid var(--line,#c9d8e7);border-radius:999px;background:var(--soft,var(--soft-blue,#dfeaf4));color:var(--deep,var(--navy-deep,#143552));font-family:var(--display,Arial,sans-serif);font-size:12px;font-weight:800;cursor:pointer}

.footer{padding:50px 0 24px;background:var(--darker,#0c2237);color:#afc2d4}
.footer-grid{display:grid;grid-template-columns:1.2fr .75fr .75fr 1.05fr;gap:34px}
.footer-title{margin-bottom:13px;color:#fff;font-family:var(--display,Arial,sans-serif);font-size:14px;font-weight:800}
.footer-identity{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.footer-identity .footer-title{margin-bottom:0}
.footer-logo{width:36px;height:46px;flex:none;object-fit:contain}
.footer p,.footer a,.footer span{font-size:12.5px}
.footer p{margin:0;color:#afc2d4;line-height:1.65}
.footer a{color:inherit;text-decoration:none}
.footer a:hover{color:#fff}
.footer ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.footer-socials{display:block;margin-top:20px}
.footer-socials-label{margin-bottom:10px;color:#fff;font-family:var(--display,Arial,sans-serif);font-size:12px;font-weight:700}
.footer-social-links{display:grid;grid-template-columns:repeat(2,minmax(0,116px));gap:9px}
.footer-social-links a{display:inline-flex;width:116px;min-height:36px;align-items:center;justify-content:flex-start;gap:7px;padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.06);color:#d8e4ef;font-family:var(--display,Arial,sans-serif);font-size:11px;font-weight:700}
.footer-social-links a:hover{border-color:var(--gold,#f5c842);color:#fff}
.social-icon{display:inline-flex;width:20px;height:20px;flex:none;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:var(--deep,var(--navy-deep,#143552));font-size:10px!important;font-weight:800}
.footer-clinic{display:grid;gap:3px;margin-bottom:14px}
.footer-clinic strong{color:#fff;font-family:var(--display,Arial,sans-serif)}
.footer-clinic-link,.footer-email,.footer-booking-link{color:#fff!important;font-family:var(--display,Arial,sans-serif);font-weight:800}
.footer-email{display:block;margin:13px 0;overflow-wrap:anywhere}
.footer-booking-link{display:inline-flex;margin-top:5px}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:15px;margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:rgba(255,255,255,.56);font-size:11.5px}

.stickybar{position:fixed;left:50%;bottom:14px;z-index:120;display:none;width:min(420px,calc(100% - 24px));overflow:visible;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:#fff;box-shadow:0 14px 34px rgba(15,40,64,.28);transform:translate(-50%,130%);transition:transform .25s ease}
.stickybar.visible{transform:translate(-50%,0)}
.stickybar>.btn{width:100%;min-width:0;border-radius:999px}
.stickybar .call-sheet strong{color:var(--deep,var(--navy-deep,#143552));font-family:var(--display,Arial,sans-serif);font-size:12px}
.stickybar .call-sheet span{color:var(--muted,#557086);font-size:11px}

html[lang^="en"] .header-inner{gap:12px}
html[lang^="en"] .header .brand{min-width:242px}
html[lang^="en"] .header .brand-name{font-size:16.5px}
html[lang^="en"] .nav{gap:10px;font-size:11.5px}
html[lang^="en"] .header-cta{padding-inline:13px;font-size:12.5px}

@media(min-width:1081px) and (max-width:1100px){
  .nav{display:flex!important}
  .header-cta{display:inline-flex!important}
  .menu-toggle{display:none!important}
}

@media(max-width:1080px){
  .topbar-email{display:none!important}
  .topbar-inner.email-enabled{display:flex!important;justify-content:space-between}
  .nav,.header-cta{display:none!important}
  .menu-toggle{display:inline-flex!important}
  .nav.open{position:absolute!important;top:100%!important;right:auto!important;left:50%!important;z-index:140!important;display:grid!important;width:100vw!important;max-height:calc(100vh - 96px)!important;overflow-y:auto!important;overscroll-behavior:contain;padding:10px max(20px,calc((100vw - 1160px)/2)) 18px!important;border-bottom:1px solid var(--line,#c9d8e7)!important;background:#fff!important;box-shadow:0 14px 40px rgba(20,53,82,.16)!important;transform:translateX(-50%)!important}
  .nav.open>a,.nav.open .nav-clinics-toggle{width:100%!important;min-height:44px!important;justify-content:flex-start!important;padding:12px 4px!important;border-bottom:1px solid var(--line,#c9d8e7)!important}
  .nav.open>a[aria-current="page"]{color:var(--navy,#1f4e79);border-bottom-color:var(--gold,#f5c842)!important;box-shadow:inset 0 -2px 0 var(--gold,#f5c842)}
  .nav.open .nav-clinics{display:block;width:100%}
  .nav.open .nav-clinics-toggle{justify-content:space-between!important}
  .nav.open .language-switch{padding-left:4px!important;border-left:0!important}
  .nav-clinics-menu{position:static;display:none;min-width:0;margin-top:4px;padding:5px 8px 8px;border:0;border-left:3px solid var(--gold,#f5c842);border-radius:0;background:var(--soft-2,var(--soft-blue-2,#f3f7fb));box-shadow:none;opacity:1;visibility:visible;transform:none}
  .nav-clinics.is-open .nav-clinics-menu{display:grid}
  .nav-clinics:hover .nav-clinics-menu:not(:focus-within){display:none}
  .nav-clinics.is-open:hover .nav-clinics-menu{display:grid}
  .nav.open .nav-clinics.is-current>.nav-clinics-toggle{color:var(--navy,#1f4e79);border-bottom-color:var(--gold,#f5c842)!important;box-shadow:inset 0 -2px 0 var(--gold,#f5c842)}
}

@media(max-width:1080px) and (hover:hover){
  .nav.open>a:hover:not([aria-current="page"]),.nav.open .nav-clinics:hover>.nav-clinics-toggle{color:var(--navy,#1f4e79);border-bottom-color:var(--gold,#f5c842)!important;box-shadow:inset 0 -2px 0 var(--gold,#f5c842)}
}

@media(max-width:820px){
  body{padding-bottom:96px}
  .topbar{display:none}
  .mobile-clinic-bar{display:grid;grid-template-columns:1fr 1fr!important;border-bottom:1px solid rgba(255,255,255,.14);background:var(--darker,#0f2840)}
  .mobile-clinic-bar a{display:flex;min-height:42px;align-items:center;justify-content:center;color:#fff;font-family:var(--display,Arial,sans-serif);font-size:11px;font-weight:800;text-decoration:none}
  .mobile-clinic-bar a+a{border-left:1px solid rgba(255,255,255,.14)}
  .header-inner{min-height:68px;padding:7px 0}
  .header .brand{min-width:0;max-width:calc(100% - 88px);flex:1 1 auto;gap:8px}
  .header .brand-logo{width:27px;height:35px}
  .header .brand-name{font-size:clamp(11.25px,3.3vw,13.5px);line-height:1.2;white-space:nowrap}
  .header .brand-sub{margin-top:2px;font-size:8.5px;letter-spacing:.07em}
  html[lang^="en"] .header .brand{min-width:0}
  html[lang^="en"] .header .brand-name{font-size:clamp(10.75px,3.05vw,13px)}
  .footer{padding-bottom:98px}
  .footer-grid{grid-template-columns:1fr 1fr}
  .stickybar{position:fixed!important;right:12px!important;bottom:calc(12px + env(safe-area-inset-bottom))!important;left:12px!important;z-index:140!important;display:none!important;width:auto!important;max-width:420px!important;height:auto!important;margin-inline:auto!important;grid-template-columns:none!important;gap:8px!important;padding:8px!important;overflow:visible!important;border:1px solid var(--line,#c9d8e7)!important;border-radius:999px!important;background:rgba(255,255,255,.98)!important;box-shadow:0 14px 34px rgba(15,40,64,.28)!important;transform:none!important}
  .stickybar.visible{display:flex!important;transform:none!important}
  .stickybar>.btn{display:inline-flex!important;width:50%!important;min-width:0!important;min-height:44px!important;flex:1 1 0!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:10px 12px!important;white-space:nowrap!important}
  .stickybar .call-sheet{position:absolute!important;right:0!important;bottom:calc(100% + 10px)!important;left:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;overflow:hidden!important;padding:0!important;border:1px solid var(--line,#c9d8e7)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 14px 40px rgba(20,53,82,.16)!important}
  .stickybar .call-sheet[hidden]{display:none!important}
  .stickybar .call-sheet a{display:grid!important;gap:2px!important;padding:13px 10px!important;border:0!important;border-radius:0!important;background:#fff!important;text-align:center!important;text-decoration:none!important}
  .stickybar .call-sheet a+a{border-left:1px solid var(--line,#c9d8e7)!important}
}

@media(max-width:600px){
  .topbar .container,.header .container,.footer .container{width:min(1160px,calc(100% - 28px))}
  .header .brand-sub{display:none}
  .footer-grid{grid-template-columns:1fr}
  .footer-socials{display:block}
  .footer-social-links{display:grid;grid-template-columns:repeat(2,minmax(0,116px))}
  .footer-social-links a{justify-content:flex-start}
}
  