/* ONE unified logo/glow authority. No page-specific logo sizing. TEST ONLY. */
:root { --pp-logo-desktop-width:520px; --pp-logo-mobile-width:330px; }
html body .heroWrap {position:relative;z-index:1000;overflow:visible;}
html body .heroWrap .heroShell {overflow:visible;}
html body .heroWrap .heroTop {position:relative;z-index:1;overflow:visible;}
html body .heroWrap .heroNavRow {position:relative;z-index:2000;overflow:visible;}
html body .heroWrap .heroNavBox {position:relative;z-index:2001;}
html body .heroWrap .heroMoreMenu {z-index:2002!important;}
html body .heroWrap .heroLogo.heroLogoGlow {
 position:relative!important;display:flex!important;align-items:center!important;
 justify-content:center!important;isolation:isolate!important;
 width:100%!important;max-width:100%!important;height:303px!important;
 min-height:303px!important;padding:0!important;margin:0 auto 10px!important;
 background:none!important;filter:none!important;overflow:visible!important;
}
html body .heroWrap .heroLogo.heroLogoGlow::before {
 content:""!important;position:absolute!important;inset:0 17%!important;
 background:radial-gradient(ellipse at center,rgba(34,250,60,.62) 0%,rgba(25,210,45,.36) 30%,rgba(20,145,35,.13) 54%,transparent 73%)!important;
 filter:blur(16px)!important;opacity:1!important;z-index:-1!important;
 transform:none!important;pointer-events:none!important;
}
html body .heroWrap .heroLogo.heroLogoGlow::after {content:none!important;display:none!important;}
html body .heroWrap .heroLogo.heroLogoGlow a {display:flex!important;justify-content:center!important;align-items:center!important;max-width:100%!important;}
html body .heroWrap .heroLogo.heroLogoGlow img {
 display:block!important;box-sizing:border-box!important;width:var(--pp-logo-desktop-width)!important;
 height:auto!important;max-width:92vw!important;max-height:none!important;
 object-fit:contain!important;filter:none!important;transform:none!important;
 margin:0 auto!important;position:relative!important;z-index:1!important;
}
/* Same black and white navigation on every page, including selected tabs. */
html body .heroNavGrid .heroBtn,html body .heroNavGrid .heroBtn.red,html body .heroNavGrid .heroBtn.yellow {
 background:#101310!important;background-image:none!important;color:#fff!important;
 border:1px solid #526457!important;border-radius:8px!important;
 text-shadow:none!important;box-shadow:none!important;
}
html body .heroNavGrid .heroBtn:hover,html body .heroNavGrid .heroBtn:focus-visible {
 background:#263228!important;border-color:#e2b94d!important;
 outline:2px solid #e2b94d!important;outline-offset:2px!important;
}
@media(max-width:900px) {
 html body .heroWrap .heroLogo.heroLogoGlow {height:auto!important;min-height:0!important;margin-bottom:8px!important;}
 html body .heroWrap .heroLogo.heroLogoGlow img {width:var(--pp-logo-mobile-width)!important;max-width:94vw!important;}
 html body .heroWrap .heroLogo.heroLogoGlow::before {inset:0 10%!important;}
}

/* FINAL VISUAL ALIGNMENT: use the calendar's 1200px desktop header frame. */
@media (min-width:901px) {
 html body section.heroWrap .heroShell {
   box-sizing:border-box!important;
   width:min(calc(100% - 24px),1200px)!important;
   max-width:1200px!important;
   margin-inline:auto!important;
 }
 html body section.heroWrap .heroLogo.heroLogoGlow img,
 html body #exactDesktopTemplateHero .heroLogo.heroLogoGlow img {
   box-sizing:border-box!important;
   width:520px!important;
   height:auto!important;
   max-height:none!important;
   object-fit:contain!important;
   transform:none!important;
 }
 /* Center the two prominent booking/contact buttons as a balanced row. */
 html body #exactDesktopTemplateHero .heroQuickLinks {
   grid-template-columns:repeat(4,minmax(0,1fr))!important;
   gap:12px!important;
 }
 html body #exactDesktopTemplateHero .heroQuickLinks > a.ppV8Book {
   grid-column:2!important;grid-row:2!important;
   width:calc(100% + 12px)!important;
   margin-left:-6px!important;
   justify-self:center!important;
   min-height:62px!important;
   padding:12px 14px!important;
   font-size:14px!important;
 }
 html body #exactDesktopTemplateHero .heroQuickLinks > a.ppV8Call {
   grid-column:3!important;grid-row:2!important;
   width:calc(100% + 12px)!important;
   margin-left:-6px!important;
   justify-self:center!important;
   min-height:62px!important;
   padding:12px 14px!important;
   font-size:14px!important;
 }
}
@media (max-width:900px) {
 html body section.heroWrap .heroShell {
   box-sizing:border-box!important;
   width:calc(100% - 16px)!important;
   max-width:1200px!important;
   margin-inline:auto!important;
 }
 html body #exactDesktopTemplateHero .heroQuickLinks > a.ppV8Book,
 html body #exactDesktopTemplateHero .heroQuickLinks > a.ppV8Call {
   grid-column:auto!important;grid-row:auto!important;
   width:100%!important;margin-left:0!important;
   min-height:54px!important;
 }
}

/* Single shared header authority for current homepage and calendar. */
@media(min-width:901px){
 html body #exactDesktopTemplateHero .heroShell,html body section.heroWrap .heroShell{box-sizing:border-box!important;width:min(calc(100% - 24px),1200px)!important;max-width:1200px!important;margin-inline:auto!important}
 html body #exactDesktopTemplateHero .heroLogo.heroLogoGlow img,html body section.heroWrap .heroLogo.heroLogoGlow img{width:520px!important;height:auto!important;max-height:303px!important;max-width:92vw!important;object-fit:contain!important;transform:none!important;filter:none!important}
 html body #exactDesktopTemplateHero .heroNavGrid,html body section.heroWrap .heroNavGrid{max-width:1160px!important;width:100%!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;margin-inline:auto!important}
 html body #exactDesktopTemplateHero .heroQuickLinks{display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:10px!important;max-width:960px!important;width:100%!important;margin:12px auto 0!important;align-items:stretch!important}
 html body #exactDesktopTemplateHero .heroQuickLinks>:nth-child(1){grid-column:1/span 3!important;grid-row:1!important}
 html body #exactDesktopTemplateHero .heroQuickLinks>:nth-child(2){grid-column:4/span 3!important;grid-row:1!important}
 html body #exactDesktopTemplateHero .heroQuickLinks>:nth-child(3){grid-column:7/span 3!important;grid-row:1!important}
 html body #exactDesktopTemplateHero .heroQuickLinks>:nth-child(4){grid-column:10/span 3!important;grid-row:1!important}
 html body #exactDesktopTemplateHero .heroQuickLinks>a.ppV8Book{grid-column:3/span 4!important;grid-row:2!important;min-height:64px!important;width:100%!important;margin:0!important;justify-self:stretch!important;font-size:14px!important;padding:12px 16px!important}
 html body #exactDesktopTemplateHero .heroQuickLinks>a.ppV8Call{grid-column:7/span 4!important;grid-row:2!important;min-height:64px!important;width:100%!important;margin:0!important;justify-self:stretch!important;font-size:14px!important;padding:12px 16px!important}
}
html body #exactDesktopTemplateHero .heroShell,html body section.heroWrap .heroShell{background:radial-gradient(ellipse at 50% 18%,rgba(57,255,20,.20),rgba(57,255,20,.08) 23%,transparent 55%),linear-gradient(#101311,#050807)!important}
html body #exactDesktopTemplateHero .heroLogo.heroLogoGlow::before,html body section.heroWrap .heroLogo.heroLogoGlow::before{background:radial-gradient(ellipse at center,rgba(34,250,60,.62) 0%,rgba(25,210,45,.36) 30%,rgba(20,145,35,.13) 54%,transparent 73%)!important;filter:blur(16px)!important;opacity:1!important}
html body section.heroWrap{position:relative!important;z-index:5000!important;overflow:visible!important}
html body section.heroWrap .heroNavRow{position:relative!important;z-index:6000!important}
html body section.heroWrap .heroMoreMenu{z-index:7000!important}
@media(max-width:900px){
 html body #exactDesktopTemplateHero .heroShell,html body section.heroWrap .heroShell{width:calc(100% - 16px)!important;max-width:1200px!important}
 html body #exactDesktopTemplateHero .heroQuickLinks{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:100%!important}
 html body #exactDesktopTemplateHero .heroQuickLinks>*{grid-column:auto!important;grid-row:auto!important;width:100%!important;margin:0!important}
 html body #exactDesktopTemplateHero .heroQuickLinks>a.ppV8Book,html body #exactDesktopTemplateHero .heroQuickLinks>a.ppV8Call{min-height:56px!important}
}
@media(max-width:520px){html body #exactDesktopTemplateHero .heroQuickLinks>a.ppV8Book,html body #exactDesktopTemplateHero .heroQuickLinks>a.ppV8Call{grid-column:1/-1!important}}

/* HEADER WIDTH ONLY — shared desktop frame, 2026-10-23.
   The earlier 1200px .heroShell limit could not widen its narrower
   .heroWrap parent. Give the outer frame and shell the same width.
   No changes to logo, glow, buttons, dropdown, or mobile layout. */
@media (min-width:901px) {
  html body section.heroWrap,
  html body #exactDesktopTemplateHero {
    box-sizing:border-box!important;
    width:min(1200px, calc(100vw - 32px))!important;
    max-width:none!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  html body section.heroWrap .heroShell,
  html body #exactDesktopTemplateHero .heroShell {
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* VERIFIED FINAL HEADER WIDTH — 2026-10-23 — test site only.
   Browser test: header and main both 1318px at the test viewport.
   Desktop width only; logo, glow, buttons and mobile are unchanged. */
@media (min-width: 901px) {
  html body .heroWrap,
  html body .heroWrap.ppLegacyPreMainRetired,
  html body #exactDesktopTemplateHero {
    width: min(1400px, calc(100% - 24px)) !important;
    max-width: 1400px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
  html body .heroWrap .heroShell,
  html body #exactDesktopTemplateHero .heroShell {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
  }
}
