:root{
  --pp-shell-green:#7dff8e;
  --pp-shell-green2:#48ff73;
  --pp-shell-purple:#c176ff;
  --pp-shell-blue:#55caff;
  --pp-shell-bg:#07050c;
  --pp-shell-line:rgba(255,255,255,.10);
  --pp-shell-max:1240px;
}

/* Replace only public-site chrome. Private Puff Pass app routes are excluded in PHP. */
body.pp-shell-active #masthead,
body.pp-shell-active header.site-header,
body.pp-shell-active .ast-primary-header-bar,
body.pp-shell-active .elementor-location-header,
body.pp-shell-active #colophon,
body.pp-shell-active footer.site-footer,
body.pp-shell-active .site-primary-footer-wrap,
body.pp-shell-active .site-above-footer-wrap,
body.pp-shell-active .site-below-footer-wrap,
body.pp-shell-active .elementor-location-footer,
body.pp-shell-active #ppf .ppf-nav,
body.pp-shell-active #ppf .ppf-footer{
  display:none!important;
}
body.pp-shell-active .ppc-top{display:none!important}

.pp-shell-max{width:min(var(--pp-shell-max),calc(100% - 40px));margin-inline:auto}
.pp-shell-header,.pp-shell-footer{font-family:Inter,"Bricolage Grotesque",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.pp-shell-header *,.pp-shell-footer *{box-sizing:border-box}

.pp-shell-header{
  display:none!important;
  pointer-events:none!important;
  position:sticky;
  top:var(--wp-admin--admin-bar--height,0px);
  z-index:99990;
  isolation:isolate;
  background:rgba(5,3,12,.84);
  border-bottom:1px solid rgba(125,255,142,.15);
  box-shadow:0 14px 42px rgba(0,0,0,.28);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  backdrop-filter:blur(18px) saturate(145%);
}

html.pp-shell-age-ready .pp-shell-header{display:block!important;pointer-events:auto!important}
html:not(.pp-shell-age-ready) .pp-shell-header{display:none!important;visibility:hidden!important;pointer-events:none!important}
.pp-shell-header:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent 4%,rgba(85,202,255,.55),rgba(125,255,142,.78),rgba(193,118,255,.72),transparent 96%);opacity:.75;pointer-events:none}
.pp-shell-routebar{height:28px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.05);background:linear-gradient(90deg,rgba(85,202,255,.035),rgba(125,255,142,.055),rgba(193,118,255,.055),rgba(85,202,255,.035));overflow:hidden}
.pp-shell-routebar-inner{display:flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;font-size:9.5px;line-height:1;font-weight:900;letter-spacing:.13em;color:rgba(255,255,255,.62)}
.pp-shell-routebar a{color:rgba(255,255,255,.74);text-decoration:none}
.pp-shell-routebar a:hover{color:var(--pp-shell-green)}
.pp-shell-routebar .pp-shell-trust{color:var(--pp-shell-green);text-shadow:0 0 14px rgba(125,255,142,.35)}
.pp-shell-routebar .pp-shell-adult{color:#fff;text-shadow:0 0 12px rgba(193,118,255,.22)}
.pp-shell-trust i{width:5px;height:5px;border-radius:50%;display:inline-block;margin-right:7px;background:var(--pp-shell-green);box-shadow:0 0 12px var(--pp-shell-green)}
.pp-shell-sep{color:rgba(193,118,255,.55)}

.pp-shell-mainbar{position:relative;background:linear-gradient(180deg,rgba(10,7,20,.82),rgba(5,3,12,.7))}
.pp-shell-mainbar-inner{height:76px;display:flex;align-items:center;gap:28px}
.pp-shell-brand{display:flex;align-items:center;gap:11px;min-width:max-content;color:#fff;text-decoration:none!important}
.pp-shell-brand img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 0 16px rgba(125,255,142,.2)) drop-shadow(0 0 24px rgba(193,118,255,.12))}
.pp-shell-brandwords{display:flex;flex-direction:column;gap:2px}
.pp-shell-brandwords strong{font-size:14px;line-height:1;font-weight:950;letter-spacing:.055em}
.pp-shell-brandwords small{font-size:7.5px;line-height:1;font-weight:900;letter-spacing:.17em;color:var(--pp-shell-green);opacity:.78}

.pp-shell-desktop-nav{margin-left:auto;display:flex;align-items:center;gap:3px}
.pp-shell-desktop-nav a{position:relative;color:rgba(255,255,255,.80);text-decoration:none!important;padding:11px 9px;border-radius:12px;font-size:11px;line-height:1;font-weight:850;white-space:nowrap;transition:color .18s ease,background .18s ease,transform .18s ease}
.pp-shell-desktop-nav a:after{content:"";position:absolute;left:9px;right:9px;bottom:4px;height:1px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--pp-shell-green),var(--pp-shell-purple));box-shadow:0 0 10px rgba(125,255,142,.4);transition:transform .18s ease}
.pp-shell-desktop-nav a:hover{color:#fff;background:rgba(255,255,255,.035);transform:translateY(-1px)}
.pp-shell-desktop-nav a:hover:after{transform:scaleX(1)}

.pp-shell-actions{display:flex;align-items:center;gap:8px}
.pp-shell-pass{display:flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;color:#08050d!important;text-decoration:none!important;font-size:11px;font-weight:950;white-space:nowrap;background:linear-gradient(90deg,var(--pp-shell-green),#b9ff76 46%,var(--pp-shell-purple));box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 9px 24px rgba(125,255,142,.12);transition:transform .18s ease,box-shadow .18s ease}
.pp-shell-pass:hover{transform:translateY(-1px);box-shadow:0 0 22px rgba(125,255,142,.25),0 12px 28px rgba(193,118,255,.14)}
.pp-shell-menu-button{width:44px;height:44px;border:1px solid rgba(125,255,142,.28);border-radius:14px;background:rgba(5,3,12,.72);display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0;cursor:pointer}
.pp-shell-menu-button span{display:block;width:20px;height:2px;border-radius:20px;background:#fff;transition:.2s ease;box-shadow:0 0 7px rgba(125,255,142,.22)}
.pp-shell-header.is-open .pp-shell-menu-button span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.pp-shell-header.is-open .pp-shell-menu-button span:nth-child(2){opacity:0;transform:scaleX(.25)}
.pp-shell-header.is-open .pp-shell-menu-button span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.pp-shell-drawer{display:none;position:absolute;left:0;right:0;top:100%;max-height:calc(100vh - 104px);overflow:auto;background:linear-gradient(180deg,rgba(8,5,18,.98),rgba(4,3,10,.99));border-bottom:1px solid rgba(125,255,142,.18);box-shadow:0 30px 70px rgba(0,0,0,.62);padding:10px 20px 24px;isolation:isolate}
.pp-shell-drawer-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 8% 8%,rgba(125,255,142,.10),transparent 30%),radial-gradient(circle at 92% 72%,rgba(193,118,255,.12),transparent 34%);pointer-events:none}
.pp-shell-drawer nav{display:grid}
.pp-shell-drawer nav a{display:flex;align-items:center;gap:0;padding:17px 4px;color:#fff!important;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.07);font-size:20px;font-weight:900;letter-spacing:-.02em}
.pp-shell-drawer-contact{padding-top:20px;display:grid;gap:12px}
.pp-shell-drawer-contact>div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.pp-shell-drawer-contact>div a{font-size:12px;font-weight:750;color:rgba(255,255,255,.64)!important;text-decoration:none!important}
html.pp-shell-menu-open{overflow:hidden}

.pp-shell-footer{display:block!important;visibility:visible!important;opacity:1!important;position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;width:100%!important;max-width:none!important;margin:0!important;overflow:hidden;background:#05030b;border-top:1px solid rgba(125,255,142,.16);padding:72px 0 24px;isolation:isolate;z-index:2}
.pp-shell-footer:before{content:"";position:absolute;inset:0;z-index:-3;background:radial-gradient(ellipse at 8% 25%,rgba(125,255,142,.08),transparent 34%),radial-gradient(ellipse at 88% 20%,rgba(193,118,255,.09),transparent 35%),linear-gradient(180deg,#07050e 0%,#040309 100%)}
.pp-shell-footer-stars{position:absolute;inset:0;z-index:-2;opacity:.36;background-image:radial-gradient(circle at 10% 20%,#7dff8e 0 1px,transparent 1.8px),radial-gradient(circle at 72% 18%,#c176ff 0 1px,transparent 1.8px),radial-gradient(circle at 46% 64%,#55caff 0 1px,transparent 1.8px),radial-gradient(circle at 90% 70%,#7dff8e 0 1px,transparent 1.8px);background-size:260px 220px,310px 260px,230px 270px,280px 240px}
.pp-shell-footer-beam{position:absolute;top:0;left:50%;width:min(900px,80%);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--pp-shell-blue),var(--pp-shell-green),var(--pp-shell-purple),transparent);box-shadow:0 0 28px rgba(125,255,142,.45)}
.pp-shell-footer-hero{display:flex;align-items:flex-end;justify-content:flex-start;gap:36px;padding-bottom:46px;border-bottom:1px solid rgba(255,255,255,.08)}
.pp-shell-footer-brand{display:flex;align-items:center;gap:22px}
.pp-shell-footer-brand img{width:108px;height:108px;object-fit:contain;filter:drop-shadow(0 0 26px rgba(125,255,142,.17))}
.pp-shell-footer-kicker{font-size:10px;font-weight:950;letter-spacing:.2em;color:var(--pp-shell-green);margin-bottom:9px;text-shadow:0 0 14px rgba(125,255,142,.32)}
.pp-shell-footer h2{margin:0;color:#fff;font-size:clamp(42px,5.3vw,76px);line-height:.82;letter-spacing:-.06em;font-weight:1000}
.pp-shell-footer h2 span{background:linear-gradient(90deg,#7dff8e 0%,#99f7dc 38%,#be8dff 78%,#f06bc4 100%);-webkit-background-clip:text;background-clip:text;color:transparent}

.pp-shell-footer-grid{display:grid;grid-template-columns:.85fr .95fr 1.25fr 1.25fr;gap:44px;padding:46px 0}
.pp-shell-footer-grid section{display:flex;flex-direction:column;align-items:flex-start;gap:11px;min-width:0}
.pp-shell-footer-grid h3{margin:0 0 5px;font-size:10px;font-weight:950;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.38)}
.pp-shell-footer-grid a{color:rgba(255,255,255,.78)!important;text-decoration:none!important;font-size:13px;font-weight:750;line-height:1.25;transition:color .16s ease,transform .16s ease}
.pp-shell-footer-grid a:hover{color:var(--pp-shell-green)!important;transform:translateX(2px)}
.pp-shell-footer-contact a{display:flex;flex-direction:column;gap:2px}
.pp-shell-footer-contact a span{font-size:9px;color:rgba(255,255,255,.34);font-weight:850;text-transform:uppercase;letter-spacing:.11em}
.pp-shell-footer-contact a strong{font-size:13px;color:#fff;font-weight:850;word-break:break-word}
.pp-shell-footer-license strong{font-size:15px;color:#fff}
.pp-shell-footer-license>span{font-size:11px;color:rgba(255,255,255,.46);font-weight:700}
.pp-shell-footer-license a{margin-top:5px;padding:11px 13px;border-radius:12px;border:1px solid rgba(193,118,255,.20);background:rgba(193,118,255,.045);font-size:11px!important;line-height:1.45!important}
.pp-shell-footer-license a b{color:var(--pp-shell-green)}
.pp-shell-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid rgba(255,255,255,.07);font-size:10px;font-weight:700;letter-spacing:.02em;color:rgba(255,255,255,.34)}
.pp-shell-footer-bottom a{color:rgba(255,255,255,.55)!important;text-decoration:none!important}
.pp-shell-footer-bottom a:hover{color:var(--pp-shell-green)!important}

@media(max-width:1180px){
  .pp-shell-brandwords{display:none}
  .pp-shell-desktop-nav a{padding-inline:7px;font-size:10px}
}
@media(max-width:980px){
  .pp-shell-routebar-inner{justify-content:center;overflow:hidden}
  .pp-shell-routebar-inner>*:nth-child(n+4){display:none}
  .pp-shell-desktop-nav{display:none}
  .pp-shell-menu-button{display:flex}
  .pp-shell-mainbar-inner{height:72px}
  .pp-shell-brand img{width:54px;height:54px}
  .pp-shell-actions{margin-left:auto}
  .pp-shell-header.is-open .pp-shell-drawer{display:block}
  .pp-shell-footer-grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media(max-width:640px){
  .pp-shell-max{width:min(100% - 28px,var(--pp-shell-max))}
  .pp-shell-routebar{height:25px}
  .pp-shell-routebar-inner{justify-content:center;font-size:7.4px;letter-spacing:.075em;gap:6px;overflow:hidden}
  .pp-shell-routebar-inner>*{display:none!important}
  .pp-shell-routebar-inner .pp-shell-trust,.pp-shell-routebar-inner .pp-shell-adult,.pp-shell-routebar-inner .pp-shell-location{display:inline-flex!important;align-items:center;min-width:0}
  .pp-shell-routebar-inner .pp-shell-trust:after,.pp-shell-routebar-inner .pp-shell-adult:after{content:"•";margin-left:7px;color:rgba(193,118,255,.70)}
  .pp-shell-routebar-inner .pp-shell-adult{color:#fff;white-space:nowrap}
  .pp-shell-routebar-inner .pp-shell-location{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgba(255,255,255,.72)}
  .pp-shell-mainbar-inner{height:68px;gap:12px}
  .pp-shell-brand img{width:50px;height:50px}
  .pp-shell-pass{min-height:42px;padding:0 14px;font-size:11px}
  .pp-shell-menu-button{width:42px;height:42px;border-radius:13px}
  .pp-shell-drawer{padding:6px 14px 20px;max-height:calc(100vh - 93px)}
  .pp-shell-drawer nav a{font-size:19px;padding:16px 3px}
  .pp-shell-footer{padding-top:54px}
  .pp-shell-footer-hero{display:grid;gap:28px;padding-bottom:36px}
  .pp-shell-footer-brand{align-items:flex-start;gap:13px}
  .pp-shell-footer-brand img{width:72px;height:72px}
  .pp-shell-footer h2{font-size:clamp(42px,15vw,62px)}
  .pp-shell-footer-grid{grid-template-columns:1fr 1fr;gap:30px 18px;padding:36px 0}
  .pp-shell-footer-grid a{font-size:12px}
  .pp-shell-footer-contact,.pp-shell-footer-license{grid-column:1/-1;padding-top:5px;border-top:1px solid rgba(255,255,255,.06)}
  .pp-shell-footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}
}
@media(max-width:360px){
  .pp-shell-routebar-inner{font-size:6.9px;letter-spacing:.055em;gap:4px}
  .pp-shell-routebar-inner .pp-shell-trust:after,.pp-shell-routebar-inner .pp-shell-adult:after{margin-left:5px}
}
@media(max-width:390px){
  .pp-shell-pass{padding:0 12px;font-size:10px}
  .pp-shell-brand img{width:46px;height:46px}
  .pp-shell-menu-button{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){
  .pp-shell-header *,.pp-shell-footer *{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}




/* ============================================================
   v1.1.0 — ONE REAL TOP STRIP, ALL BROWSERS
============================================================ */
.pp-shell-routebar-inner{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.pp-shell-routebar-line{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  color:rgba(255,255,255,.76)!important;
  font-size:9px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.105em!important;
  text-align:center!important;
}
.pp-shell-routebar-line i{
  flex:0 0 auto!important;
  width:5px!important;
  height:5px!important;
  margin:0 1px 0 0!important;
  border-radius:50%!important;
  background:var(--pp-shell-green)!important;
  box-shadow:0 0 12px var(--pp-shell-green)!important;
}
.pp-shell-routebar-line b{
  color:rgba(193,118,255,.70)!important;
  font:inherit!important;
}
@media(max-width:980px){
  .pp-shell-routebar-line{
    gap:6px!important;
    font-size:8px!important;
    letter-spacing:.065em!important;
  }
}
@media(max-width:640px){
  .pp-shell-routebar{height:25px!important}
  .pp-shell-routebar-line{
    gap:5px!important;
    font-size:7.15px!important;
    letter-spacing:.035em!important;
  }
}
@media(max-width:370px){
  .pp-shell-routebar-line{
    gap:4px!important;
    font-size:6.65px!important;
    letter-spacing:.015em!important;
  }
}


/* v1.1.1 stability: avoid expensive live backdrop compositing on mobile/tablet. */
@media(max-width:980px){
  .pp-shell-header{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
}


/* ============================================================
   v1.1.3 — FINAL HEADER POLISH
   Larger mobile Enter Puff Pass CTA; desktop styling unchanged.
============================================================ */
@media(max-width:640px){
  .pp-shell-pass{
    flex:0 0 auto!important;
    min-width:124px!important;
    min-height:48px!important;
    padding:0 18px!important;
    font-size:12px!important;
    line-height:1!important;
    letter-spacing:.005em!important;
    box-shadow:
      0 0 0 1px rgba(255,255,255,.10) inset,
      0 8px 22px rgba(125,255,142,.18)!important;
  }
}
@media(max-width:390px){
  .pp-shell-pass{
    min-width:116px!important;
    min-height:46px!important;
    padding:0 14px!important;
    font-size:11px!important;
  }
}
@media(max-width:340px){
  .pp-shell-pass{
    min-width:108px!important;
    padding:0 11px!important;
    font-size:10.5px!important;
  }
}
