/* Stage 1: isolated shared header and footer, without changing page layouts. */
@font-face{font-family:PMMontserrat;src:url('../fonts/Montserrat/Montserrat-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:PMMontserrat;src:url('../fonts/Montserrat/Montserrat-SemiBold.woff2') format('woff2');font-weight:600;font-display:swap}
.pm-shell{--pm-blue:#16569b;--pm-teal:#009f9c;--pm-ink:#17334c;font-family:PMMontserrat,Montserrat,Arial,sans-serif;color:var(--pm-ink);font-size:14px;line-height:1.55;box-sizing:border-box}
.pm-shell *{box-sizing:border-box}.pm-shell a{color:inherit;text-decoration:none}.pm-shell a:hover{text-decoration:underline;text-underline-offset:4px}.pm-shell button{font:inherit;cursor:pointer}.pm-shell :focus-visible{outline:3px solid #009f9c;outline-offset:4px}.pm-container{width:min(1280px,calc(100% - 64px));margin:0 auto}.pm-header{position:sticky;top:var(--panel-position,0px);z-index:90;background:#fff;box-shadow:0 2px 12px #17334c12}.pm-topbar{background:#f1f7fa;border-bottom:1px solid #e2edf3}.pm-topbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:10px;padding-bottom:10px;font-size:12px}.pm-utility{display:flex;gap:20px;align-items:center}.pm-vision{display:flex;gap:7px;align-items:center;padding:0;border:0;background:none;color:var(--pm-blue)}.pm-vision i{font-size:18px}.pm-header-main{display:flex;align-items:center;gap:32px;padding-top:15px;padding-bottom:15px}.pm-logo{display:block;flex-shrink:0}.pm-logo img{display:block;width:153px;height:52px;object-fit:contain}.pm-header-phone{margin-left:auto;display:flex;flex-direction:column;gap:2px}.pm-header-phone strong{font-size:20px;font-weight:600;color:var(--pm-blue)}.pm-header-phone span{font-size:11px;color:#516677}.pm-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 24px;background:var(--pm-blue);color:#fff!important;border-radius:8px;font-weight:600;white-space:nowrap}.pm-button:hover{background:#104984;text-decoration:none!important}.pm-navigation{border-top:1px solid #e8eff3}.pm-nav-inner{display:flex;gap:32px;align-items:center;min-height:49px}.pm-nav-inner>a{padding:13px 0;font-weight:600}.pm-nav-inner>a[aria-current=page]{color:var(--pm-blue)}.pm-nav-inner>a.pm-nav-secondary{font-weight:400;font-size:13px}.pm-nav-secondary:first-of-type{margin-left:auto}.pm-menu-toggle{display:none}.pm-mobile-info{display:none}.pm-mobile-actions{display:none}.pm-footer{padding:46px 0 28px;background:#f1f7fa;border-top:1px solid #e0ebf2}.pm-footer-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid #d7e4ec}.pm-footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1.3fr 1.2fr;gap:40px}.pm-footer-grid h2,.pm-clinic-info h2{font-size:15px;line-height:1.4;font-weight:600;margin:0 0 18px}.pm-footer-grid nav,.pm-footer-grid section{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.pm-footer-grid h2{margin-bottom:7px}.pm-footer-grid p{margin:0}.pm-footer-phone{font-size:19px;font-weight:600;color:var(--pm-blue)!important}.pm-footer-contacts>p:first-of-type{font-size:11px;color:#516677;margin-top:-7px}.pm-vk{margin-top:6px;font-weight:600;color:var(--pm-blue)!important}.pm-results{font-size:13px;margin-top:12px!important}.pm-clinic-info{padding:26px 0;margin-top:32px;border-top:1px solid #d7e4ec;scroll-margin-top:190px}.pm-clinic-info h2{margin-bottom:10px}.pm-clinic-info p{margin:8px 0}.pm-clinic-info a{color:var(--pm-blue);font-size:13px}.pm-regulators{font-size:12px;padding:16px 0;border-top:1px solid #d7e4ec}.pm-regulators summary{cursor:pointer;font-weight:600}.pm-regulators nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.pm-footer-bottom{display:flex;justify-content:space-between;gap:24px;padding-top:18px;border-top:1px solid #d7e4ec;font-size:12px;color:#516677}.pm-medical-warning p{margin:0}.pm-medical-warning{font-size:16px;letter-spacing:.01em}.pm-footer-bottom>span{white-space:nowrap}.pm-book-context{padding:10px 16px;margin:0 0 16px;background:#f1f7fa;color:#17334c;font:14px/1.5 Arial,sans-serif}.pm-book-context small{display:block;margin-top:5px}
@media(max-width:1150px){.pm-container{width:calc(100% - 40px)}.pm-topbar-inner{flex-wrap:wrap;gap:5px 20px}.pm-utility{margin-left:auto}.pm-nav-inner{gap:24px}.pm-footer-grid{gap:24px}.pm-hours{font-size:11px}}
@media(max-width:900px){.pm-container{width:calc(100% - 32px)}.pm-topbar-inner{padding-top:8px;padding-bottom:8px}.pm-hours{display:none}.pm-utility>a{display:none}.pm-header-main{gap:16px;padding-top:10px;padding-bottom:10px}.pm-header-phone{display:none}.pm-header-main>.pm-book{margin-left:auto;font-size:12px;padding:10px 15px;min-height:40px}.pm-logo img{width:127px;height:43px}.pm-menu-toggle{display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid #d9e5ed;padding:9px 11px;min-height:42px;border-radius:7px;background:#fff;color:var(--pm-blue)}.pm-menu-icon,.pm-menu-icon:before,.pm-menu-icon:after{display:block;width:18px;height:2px;background:currentColor;position:relative}.pm-menu-icon:before,.pm-menu-icon:after{content:'';position:absolute;left:0}.pm-menu-icon:before{top:-6px}.pm-menu-icon:after{top:6px}.pm-menu-label{font-size:12px}.pm-navigation{display:none;max-height:calc(100dvh - 130px);overflow-y:auto;overscroll-behavior:contain}.pm-navigation.pm-is-open{display:block}.pm-nav-inner{display:flex;flex-direction:column;align-items:stretch;gap:0;padding-top:8px;padding-bottom:14px}.pm-nav-inner>a{padding:11px 4px;border-bottom:1px solid #e8eff3;min-height:44px}.pm-nav-inner>a.pm-nav-secondary{margin:0}.pm-mobile-info{display:block;font-size:12px;padding-top:10px}.pm-mobile-info p{margin:6px 0}.pm-mobile-info>a{color:var(--pm-blue);display:block;padding:10px 0}.pm-footer-grid{grid-template-columns:1fr 1fr;gap:30px}.pm-clinic-info{scroll-margin-top:90px}.pm-footer-bottom{flex-direction:column;gap:12px}.pm-medical-warning{font-size:14px}}
@media(max-width:600px){.pm-topbar-inner{font-size:10px;gap:10px;flex-wrap:nowrap}.pm-vision{font-size:0}.pm-vision i{font-size:21px}.pm-header-main{justify-content:space-between;gap:10px}.pm-header-main>.pm-book{display:none}.pm-menu-toggle{margin-left:auto}.pm-footer{padding-top:30px;padding-bottom:100px}.pm-footer-top{gap:14px;padding-bottom:24px;margin-bottom:24px}.pm-footer-top .pm-button{font-size:11px;padding:10px 13px;min-height:43px}.pm-footer-top .pm-logo img{width:116px;height:40px}.pm-footer-grid{grid-template-columns:1fr 1fr;gap:26px 18px;font-size:12px}.pm-footer-contacts{grid-column:1/-1}.pm-footer-grid h2{font-size:13px}.pm-footer-grid section:last-child{grid-column:1/-1}.pm-footer-grid a{padding:3px 0}.pm-footer-phone{font-size:20px}.pm-regulators nav{grid-template-columns:1fr}.pm-mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:95;padding:8px 16px calc(8px + env(safe-area-inset-bottom));gap:10px;background:#fff;border-top:1px solid #d7e4ec;box-shadow:0 -3px 14px #17334c12}.pm-mobile-actions a{display:flex;justify-content:center;align-items:center;min-height:44px;background:#eaf4f9;border-radius:7px;font-weight:600;color:var(--pm-blue)}.pm-mobile-actions .pm-book{background:var(--pm-blue);color:#fff}.pm-mobile-actions a:hover{text-decoration:none}body.pm-has-mobile-actions{padding-bottom:70px}.woo-cookies{bottom:78px!important}}
/* Retain the established accessibility panel and its body class settings. */
body[class*="vision"] .pm-shell{font-family:inherit;color:inherit}body[class*="vision"] .pm-shell a{color:inherit}body[class*="vision"] .pm-topbar,body[class*="vision"] .pm-footer{background:inherit}
.pm-vision p{margin:0}
@media(max-width:600px){.pm-vision p{display:none}}
/* Match every shared surface and action to all five existing accessibility palettes. */
body.js-vision-color-1{--pm-access-bg:#fff;--pm-access-text:#000}
body.js-vision-color-2{--pm-access-bg:#000;--pm-access-text:#fff}
body.js-vision-color-3{--pm-access-bg:#e5f4ff;--pm-access-text:#063a67}
body.js-vision-color-4{--pm-access-bg:#f8f1df;--pm-access-text:#5a3d1e}
body.js-vision-color-5{--pm-access-bg:#1e2a1e;--pm-access-text:#b7f6a8}
body.js-vision-mode .pm-shell{color:var(--pm-access-text)!important;background:var(--pm-access-bg)!important;box-shadow:none;border-color:var(--pm-access-text)!important}
body.js-vision-mode .pm-shell :is(a,p,span,strong,h2,summary,i){color:var(--pm-access-text)!important}
body.js-vision-mode .pm-shell :is(.pm-topbar,.pm-navigation,.pm-mobile-info,.pm-container,.pm-footer-grid,.pm-clinic-info,.pm-regulators,.pm-footer-bottom,.pm-book-context){background:var(--pm-access-bg)!important;color:var(--pm-access-text)!important;border-color:var(--pm-access-text)!important}
body.js-vision-mode .pm-shell :is(.pm-footer-top,.pm-nav-inner>a){border-color:var(--pm-access-text)!important}
body.js-vision-mode .pm-shell :is(.pm-vision,.pm-menu-toggle){color:var(--pm-access-text)!important;background:var(--pm-access-bg)!important;border-color:var(--pm-access-text)!important}
body.js-vision-mode .pm-shell :is(.pm-button,.pm-mobile-actions a){color:var(--pm-access-bg)!important;background:var(--pm-access-text)!important;border:2px solid var(--pm-access-text)!important}
body.js-vision-mode .pm-mobile-actions a{color:var(--pm-access-bg)!important;background:var(--pm-access-text)!important;border:2px solid var(--pm-access-text)!important}
body.js-vision-mode .pm-shell :is(a,button,summary):is(:focus-visible,:hover){outline-color:var(--pm-access-text)!important}
body.js-vision-mode .pm-book-context{color:var(--pm-access-text)!important;background:var(--pm-access-bg)!important;border:1px solid var(--pm-access-text)}
/* The existing accessible layout uses a flowing header when text grows. */
body.js-vision-mode .pm-header{position:static;top:auto}
/* The shared cookie notice follows the same accessible palettes, preserving consent actions. */
body.js-vision-mode .woo-cookies{color:var(--pm-access-text)!important}
body.js-vision-mode .woo-cookies :is(.woo-cookies__container,.woo-cookies__img-box){color:var(--pm-access-text)!important;background:var(--pm-access-bg)!important;border:1px solid var(--pm-access-text);box-shadow:none}
body.js-vision-mode .woo-cookies :is(p,h5,a,span){color:var(--pm-access-text)!important}
body.js-vision-mode .woo-cookies .woo-cookies__right .w-btn{color:var(--pm-access-bg)!important;background:var(--pm-access-text)!important;border:2px solid var(--pm-access-text)!important}
body.js-vision-mode .woo-cookies .woo-cookies__right .w-btn._border{color:var(--pm-access-text)!important;background:var(--pm-access-bg)!important}
body.js-vision-mode .woo-cookies :is(a,.w-btn):is(:focus-visible,:hover){outline-color:var(--pm-access-text)!important}
body.js-vision-mode .woo-cookies__img-box svg,body.js-vision-mode .woo-cookies__img-box svg *{fill:var(--pm-access-text)!important}
/* Keep the footer dense while preserving all patient and legal information. */
.pm-footer{padding-top:28px;padding-bottom:20px}.pm-footer-top{padding-bottom:22px;margin-bottom:22px}.pm-footer-grid{gap:28px}.pm-footer-grid nav a{font-size:13px;line-height:1.5}.pm-footer-grid h2,.pm-footer-grid h3{font-size:15px}.pm-clinic-info{margin-top:24px;padding-top:20px}.pm-footer-bottom{font-size:13px}.pm-medflex-link{font-size:13px;line-height:1.5}
@media(max-width:599px){.pm-footer{padding-top:22px;padding-bottom:20px}.pm-footer-top{gap:18px}.pm-footer-grid{gap:24px}}

/* Compact the sticky header without changing its document-flow height. */
.pm-header{transform:translateY(0);transition:transform 240ms cubic-bezier(.22,.61,.36,1)}
.pm-header.pm-is-compact{transform:translateY(calc(-1 * var(--pm-topbar-height,0px)))}
.pm-header.pm-is-compact .pm-topbar{pointer-events:none}
body.js-vision-mode .pm-header{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){.pm-header{transition:none}}

/* Expand search without changing the desktop header's height. */
.pm-nav-search{position:relative;display:flex;align-items:center;flex:0 0 44px;margin:0;padding:0;min-width:0}
.pm-shell .pm-search-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--pm-blue);font-size:21px;line-height:1;flex-shrink:0}
.pm-shell .pm-search-button:hover,.pm-search-open .pm-search-button{background:#eaf3f8}
.pm-nav-search-field{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-width:calc(100vw - 40px);padding:12px;background:#fff;border:1px solid #c4d7e1;border-radius:8px;box-shadow:0 8px 24px #17334c14;animation:pm-search-reveal 160ms ease-out}
.pm-nav-search-field[hidden]{display:none!important}
.pm-search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.pm-shell .pm-nav-search-field input{display:block;appearance:none;width:100%;min-width:0;height:44px;padding:10px 12px;border:1px solid #9fbacc;border-radius:6px;background:#fff;color:var(--pm-ink);font:400 16px/1.4 PMMontserrat,Montserrat,Arial,sans-serif}
.pm-nav-search-field input::placeholder{color:#516677;opacity:1}
.pm-nav-search-field input:focus-visible{outline:3px solid var(--pm-blue);outline-offset:2px}
@keyframes pm-search-reveal{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){
 .pm-nav-search{flex:0 0 auto;width:100%;min-height:54px;border-bottom:1px solid #e8eff3;gap:8px}
 .pm-nav-search-field{position:static;order:1;flex:1;width:auto;max-width:none;min-width:0;padding:0;border:0;box-shadow:none}
 .pm-search-open .pm-search-button{order:2}
 .pm-shell .pm-nav-search-field input{height:44px}
}
body.js-vision-mode .pm-shell :is(.pm-search-button,.pm-nav-search-field,.pm-nav-search-field input){background:var(--pm-access-bg)!important;color:var(--pm-access-text)!important;border-color:var(--pm-access-text)!important;box-shadow:none}
body.js-vision-mode .pm-nav-search-field input::placeholder{color:var(--pm-access-text)!important}
body.js-vision-mode .pm-nav-search-field input:focus-visible{outline-color:var(--pm-access-text)!important}
@media(prefers-reduced-motion:reduce){.pm-nav-search-field{animation:none}}
