/* Navigation: floating header, dropdowns and mobile accordion. */
.mobile-contact{display:none}
.site-header{position:sticky;top:0;padding:18px 0 10px;background:linear-gradient(var(--mint) 65%,#effafa00);border:0;z-index:50}
.admin-bar .site-header{top:32px}
.site-header .header-inner{width:min(1440px,calc(100% - 48px));min-height:92px;padding:16px 24px;border:1px solid #ffffff;border-radius:22px;background:#ffffffed;box-shadow:0 8px 36px #174e5810;gap:26px;transition:box-shadow .25s}
.site-header .wordmark{font-size:18px;letter-spacing:.015em;gap:12px}
.site-header .wordmark small{font-size:11px;letter-spacing:.03em;margin-top:6px}
.site-header .brand-symbol{width:46px;height:46px;border:0;border-radius:15px;background:#e3f6f3;color:#008995;box-shadow:inset 0 0 0 1px #c7eae6;font-size:28px}
.site-header .custom-logo{width:174px;max-height:62px}
.site-header .main-menu{gap:4px}
.site-header .main-menu>li{display:flex;align-items:center;border-radius:11px;transition:background .2s}
.site-header .main-menu>li>a{padding:12px 13px;font-size:14px;font-weight:500;white-space:nowrap;position:relative}
.site-header .main-menu>li:hover,.site-header .main-menu>li.is-open{background:#f0f8f6}
.site-header .main-menu>li.current-menu-item,.site-header .main-menu>li.current-menu-ancestor{background:#e5f5f1;color:#067681}
.site-header .main-menu>li.current-menu-item>a{font-weight:700}
.site-header .main-menu>.menu-item-has-children>a{padding-right:3px}
.site-header .submenu-toggle{width:28px;height:36px;display:grid;place-items:center;padding:0;margin-right:5px;border-radius:7px}
.submenu-toggle::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.submenu-toggle[aria-expanded=true]::after{transform:rotate(225deg) translate(-1px,-1px)}
.site-header .sub-menu{display:block;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(7px);transition:opacity .18s,transform .18s,visibility .18s;top:calc(100% + 15px);left:0;width:340px;padding:12px;border:1px solid #e0eeea;border-radius:18px;background:#fff;box-shadow:0 20px 55px #123e4620}
.site-header .sub-menu::before{content:"";position:absolute;left:0;right:0;top:-17px;height:18px}
.site-header .sub-menu a{padding:13px 38px 13px 15px;border-radius:10px;font-size:14px;position:relative;transition:background .2s,color .2s,padding .2s}
.site-header .sub-menu a::after{content:"↗";position:absolute;right:15px;color:#56aaa5}
.site-header .sub-menu a:hover{padding-left:19px;background:#eff9f6;color:#007985}
.site-header .sub-menu .current-menu-item>a{background:#e5f5f1;color:#067681;font-weight:700}
.site-header .main-menu li.is-open>.sub-menu{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}
.site-header .header-contact{padding:12px 18px;border-radius:13px;gap:22px;background:#087f8c;box-shadow:0 5px 14px #087f8c20}
.site-header .header-contact span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#ffffff20;transition:transform .2s}
.site-header .header-contact:hover span{transform:rotate(45deg)}
.site-header .menu-toggle{align-items:center;gap:14px;border-color:#d5eae5;border-radius:11px;padding:9px 13px;background:#f2faf7;font-size:13px;font-weight:700}
.menu-icon{width:17px;height:12px;position:relative;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transition:transform .2s}
.menu-icon::after{content:"";position:absolute;left:0;right:0;top:4px;border-top:1.5px solid currentColor}
.menu-toggle[aria-expanded=true] .menu-icon{transform:rotate(90deg)}
@media(min-width:1201px){.site-header .main-menu>li:last-child .sub-menu{left:auto;right:0}}
@media(max-width:1200px){
 .site-header{padding:12px 0 8px}.site-header .header-inner{width:calc(100% - 32px);min-height:80px;padding:14px 18px;gap:12px;flex-wrap:wrap;border-radius:18px}
 .site-header .menu-toggle{display:flex;margin-left:auto}.site-header .header-contact{display:none}.site-header .mobile-contact{display:flex;margin:12px 0 4px;border-radius:12px}
 .site-header .primary-navigation{display:none;order:4;margin:0;width:100%;padding:12px 0 0;border-top:1px solid #e1eee9;max-height:calc(100dvh - 150px);overflow-y:auto;overscroll-behavior:contain}
 .site-header .primary-navigation.is-open{display:block;animation:menu-enter .22s ease}
 .site-header .main-menu{display:block}.site-header .main-menu>li{flex-wrap:wrap;margin:4px 0}.site-header .main-menu>li>a{flex:1;padding:13px 14px;font-size:15px}
 .site-header .submenu-toggle{width:42px;height:42px;margin-right:4px;background:#e8f4f0}
 .site-header .sub-menu{display:none;position:static;visibility:visible;opacity:1;pointer-events:auto;transform:none;width:100%;box-shadow:none;border:0;border-radius:0;padding:2px 8px 9px 18px;background:transparent}
 .site-header .sub-menu::before{display:none}.site-header .main-menu li.is-open>.sub-menu{display:block;animation:menu-enter .2s ease}.site-header .sub-menu a{white-space:normal;font-size:14px;border-left:1px solid #bcded4;border-radius:0;padding-block:11px}
}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){.admin-bar .site-header{top:0}.site-header .header-inner{width:calc(100% - 24px);padding:12px;min-height:76px;gap:8px}.site-header .wordmark{font-size:14px;gap:9px}.site-header .wordmark small{font-size:10px}.site-header .brand-symbol{width:38px;height:40px;font-size:25px}.site-header .custom-logo{width:145px;max-height:52px}.site-header .menu-toggle{padding:8px 10px;gap:9px}}
@keyframes menu-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.site-header *{animation:none!important;transition:none!important}}

/* Local hospital logo: frame the supplied square PNG without changing the file. */
.site-header .medic-file-logo{display:block;position:relative;width:120px;height:82px;overflow:hidden}
.site-header .medic-file-logo img{position:absolute;width:133px;height:133px;max-width:none;left:-6px;top:-26px;object-fit:contain}
@media(max-width:600px){.site-header .medic-file-logo{width:104px;height:72px}.site-header .medic-file-logo img{width:116px;height:116px;left:-6px;top:-23px}}

/* Hospital contacts above the main menu. */
.header-contact-details{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 24px;color:var(--teal);font-size:13px;font-weight:600}
.header-contact-details a{display:inline-flex;align-items:center;gap:8px;min-width:0}
.header-contact-details a:hover{text-decoration:underline;text-underline-offset:4px}
.header-contact-details svg{flex-shrink:0}
.header-contact-details span{overflow-wrap:anywhere}
@media(min-width:1201px){
.site-header .header-inner.has-contact-details{display:grid;grid-template-columns:auto 1fr auto;column-gap:26px;row-gap:10px}
.has-contact-details .site-brand{grid-column:1;grid-row:1/3}
.has-contact-details .header-contact-details{grid-column:2/4;grid-row:1}
.has-contact-details .primary-navigation{grid-column:2;grid-row:2}
.has-contact-details .header-contact{grid-column:3;grid-row:2}
}
@media(max-width:1200px){
.header-contact-details{order:3;flex-basis:100%;justify-content:flex-start;border-top:1px solid var(--line);padding-top:10px;font-size:12px;gap:6px 18px}
}

.header-contact-pending{display:inline-flex;align-items:center;gap:8px}

/* Compact inline language selector. */
.header-actions{display:flex;align-items:center;gap:16px}
.medic-language-switcher{display:inline-flex;align-items:center;padding:4px;border-radius:30px;background:#c1e8e9;gap:2px;flex-shrink:0}
.medic-language-switcher a{display:grid;place-items:center;min-width:43px;min-height:36px;padding:5px 10px;border-radius:24px;font-size:12px;font-weight:700;line-height:1;color:#165861}
.medic-language-switcher a[aria-current=true]{background:#fff;color:#087f8c;box-shadow:0 2px 6px #087f8c10}
.medic-language-switcher a:hover{background:#ffffffa6}
#trp-floater-ls{display:none!important}
@media(min-width:1201px){
.has-contact-details .header-actions{grid-column:3;grid-row:2}
.site-header .header-inner.has-contact-details{column-gap:16px}
.site-header .main-menu>li>a{padding-inline:10px}
}
@media(max-width:1200px){
.header-actions{order:2;gap:0}
.site-header .header-inner{column-gap:10px}
}
@media(max-width:400px){
.medic-language-switcher a{min-width:35px;min-height:34px;padding-inline:7px}
.site-header .menu-toggle{gap:5px;padding-inline:8px}
}
