/* ==========================================================================
   EAGLE ACTION SPORTZ REDESIGN - SHARED STYLESHEET
   --------------------------------------------------------------------------
   This file controls the visual design shared across every HTML page:
   - seasonal background/theme variables
   - layout containers and translucent page panels
   - header, nav, buttons, cards, pricing tables, and shop grids
   - responsive/mobile behavior
   - page-load and subtle navigation animation styling

   For page-specific structure, see the labeled HTML comments inside each
   root-level page file such as index.html, prices.html, and reservations.html.
   ========================================================================== */

/* Eagle Action Sportz v3 — closer original identity, cleaner professional layout */
:root{
  --eas-blue:#176dcb;
  --eas-blue-dark:#0a4fa9;
  --eas-green:#76c967;
  --eas-green-bright:#90e07a;
  --eas-green-deep:#24571e;
  --eas-yellow:#ffd735;
  --eas-yellow-deep:#e0b91c;
  --eas-red:#a33124;
  --eas-black:#050505;
  --eas-paper:#fff7fc;
  --eas-ink:#111;
  --eas-card:rgba(255,247,252,.88);
  --eas-card-strong:rgba(255,255,255,.94);
  --eas-shadow:0 18px 42px rgba(25,60,20,.16);
  --frame:900px;
  --wide:1180px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-height:100vh;
  color:var(--eas-ink);
  font-family:Arial, Helvetica, sans-serif;
  line-height:1.45;
  background-color:var(--eas-paper);
  overflow-x:hidden;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-3;
  pointer-events:none;
  background-image:var(--splatter-url);
  background-size:cover;
  background-position:center top;
  background-repeat:repeat-y;
  opacity:.82;
}
body::after{
  content:"";
  position:fixed;
  inset:-80px;
  z-index:-2;
  pointer-events:none;
  background:
    radial-gradient(circle at 4% 16%,rgba(87,205,82,.34) 0 7px,transparent 9px),
    radial-gradient(circle at 8% 20%,rgba(87,205,82,.28) 0 42px,transparent 45px),
    radial-gradient(circle at 18% 36%,rgba(87,205,82,.25) 0 17px,transparent 19px),
    radial-gradient(circle at 83% 15%,rgba(87,205,82,.33) 0 66px,transparent 70px),
    radial-gradient(circle at 89% 18%,rgba(87,205,82,.22) 0 13px,transparent 15px),
    radial-gradient(circle at 38% 58%,rgba(87,205,82,.34) 0 105px,transparent 112px),
    radial-gradient(circle at 60% 82%,rgba(87,205,82,.18) 0 42px,transparent 47px),
    radial-gradient(circle at 96% 78%,rgba(87,205,82,.24) 0 85px,transparent 92px),
    linear-gradient(90deg,rgba(255,247,252,.32),rgba(255,247,252,.12),rgba(255,247,252,.34));
  opacity:.95;
}

a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
p{margin:0 0 .85rem}
ul{margin:.65rem 0 0;padding-left:1.15rem}
li{margin:.32rem 0;font-size:.94rem}
.skip-link{position:absolute;left:12px;top:-80px;background:var(--eas-yellow);padding:.7rem 1rem;z-index:999;font-weight:800}
.skip-link:focus{top:12px}

/* Thin segmented green navigation like the original, but cleaner and easier to read */
.top-nav-ribbon{
  position:sticky;
  top:0;
  z-index:1000;
  min-height:30px;
  background:linear-gradient(#e3f8dd 0%,#9fe093 32%,#4fa748 58%,#83ca77 100%);
  border-bottom:1px solid #111;
  box-shadow:0 2px 8px rgba(0,0,0,.28);
}
.ribbon-menu{
  min-height:30px;
  display:grid;
  grid-template-columns:repeat(9,1fr);
  max-width:1920px;
  margin:0 auto;
}
.ribbon-menu a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:0 6px;
  color:#071507;
  border-right:1px solid rgba(0,0,0,.76);
  border-left:1px solid rgba(255,255,255,.45);
  font-size:10px;
  line-height:1;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.16em;
  white-space:nowrap;
  text-shadow:0 1px 0 rgba(255,255,255,.5);
}
.ribbon-menu a.active,
.ribbon-menu a:hover{
  background:linear-gradient(#ffffff,#d8d8d8);
  color:#000;
}
.mobile-menu-button{display:none}

/* Professionalized version of the original centered logo / info header */
.brand-head{
  padding:18px 14px 14px;
  background:linear-gradient(180deg,rgba(255,247,252,.82),rgba(255,247,252,.52));
}
.brand-cluster{
  width:min(980px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:142px minmax(210px,1fr) minmax(285px,1.25fr) auto;
  gap:18px;
  align-items:center;
  padding:14px 18px;
  text-align:left;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(23,109,203,.28);
  border-top:5px solid var(--eas-blue);
  border-bottom:5px solid var(--eas-green);
  border-radius:16px;
  box-shadow:var(--eas-shadow), inset 0 0 0 1px rgba(255,255,255,.55);
  backdrop-filter:blur(2px);
}
.brand-logo{
  display:flex;
  align-items:center;
  justify-content:center;
}
.brand-logo img{
  width:146px;
  max-width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 3px 4px rgba(0,0,0,.18));
}
.brand-detail{
  color:#124f9b;
  font-size:13px;
  font-weight:800;
  line-height:1.28;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.brand-detail strong{
  display:block;
  margin-bottom:3px;
  color:var(--eas-blue);
  font-size:14px;
  letter-spacing:.03em;
  text-transform:uppercase;
}
.brand-detail span,
.brand-detail a{display:block}
.brand-detail a{text-decoration:underline;color:#124f9b}
.brand-actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
}
.small-blue-btn,
.rounded-blue{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 18px;
  border:0;
  border-radius:999px;
  background:linear-gradient(#1879fa,#0b5ed7);
  color:white;
  box-shadow:0 3px 0 #073c89,0 9px 16px rgba(11,94,215,.22);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.05em;
  cursor:pointer;
  transition:transform .16s ease,filter .16s ease;
}
.small-blue-btn:hover,
.rounded-blue:hover{filter:brightness(1.03);transform:translateY(-1px)}
.social-row{display:flex;gap:5px;align-items:center;justify-content:center}
.social-square{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  color:white;
  border-radius:3px;
  font-size:12px;
  font-weight:950;
  line-height:1;
  box-shadow:0 1px 2px rgba(0,0,0,.25);
}
.fb{background:#2456a6}.ig{background:#e73583}.map{background:#75c047}

/* Main layout: still centered like the current site, but with polished alignment */
.page-frame,
.wide-frame,
.shop-frame{
  width:min(var(--frame),calc(100% - 28px));
  margin:18px auto 38px;
  padding:26px clamp(18px,3vw,34px) 34px;
  background:linear-gradient(180deg,rgba(255,247,252,.88),rgba(255,255,255,.78));
  border:1px solid rgba(37,91,30,.18);
  border-radius:20px;
  box-shadow:var(--eas-shadow);
  position:relative;
  overflow:hidden;
}
.wide-frame{width:min(var(--wide),calc(100% - 28px))}
.shop-frame{width:min(980px,calc(100% - 28px))}
.page-frame::before,
.wide-frame::before,
.shop-frame::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 3% 8%,rgba(118,201,103,.18) 0 44px,transparent 48px),
    radial-gradient(circle at 96% 14%,rgba(118,201,103,.14) 0 54px,transparent 58px),
    linear-gradient(135deg,rgba(23,109,203,.04),transparent 40%);
}
.page-frame>* ,
.wide-frame>* ,
.shop-frame>*{position:relative;z-index:1}

.page-title-wrap{text-align:center;margin:0 auto 22px}
.page-title-wrap h1,
.welcome-block h1,
.loyalty-hero h1{
  margin:0 0 8px;
  color:#000;
  font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;
  font-size:clamp(2.45rem,6vw,4.4rem);
  line-height:.92;
  letter-spacing:.035em;
  text-transform:uppercase;
  text-shadow:2px 3px 0 rgba(0,0,0,.14);
}
.page-title-wrap p{
  max-width:680px;
  margin:0 auto;
  color:#222;
  font-size:14px;
  font-weight:800;
}
.blue-heading{
  display:flex;
  align-items:center;
  gap:12px;
  justify-content:center;
  margin:18px auto 16px;
  color:var(--eas-blue);
  font-size:clamp(1rem,2vw,1.38rem);
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:950;
}
.blue-heading::before,
.blue-heading::after{
  content:"";
  height:10px;
  background:linear-gradient(90deg,var(--eas-blue),#2d8af7);
  border-radius:999px;
  flex:1;
  min-width:44px;
  box-shadow:0 2px 0 rgba(0,0,0,.12);
}
.blue-heading.small{font-size:1rem;letter-spacing:.16em;margin-top:0}
.blue-heading.small::before,
.blue-heading.small::after{display:none}
.blue-rule{
  width:min(520px,100%);
  height:12px;
  margin:20px auto;
  border-radius:999px;
  background:linear-gradient(90deg,var(--eas-blue),#2484ef,var(--eas-blue));
  box-shadow:0 2px 0 rgba(0,0,0,.12);
}
.centered{text-align:center}

.home-intro{text-align:center}
.home-hero-pair,
.story-pair,
.split-photo-band,
.contact-pair,
.map-card{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  align-items:center;
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}
.home-hero-pair{grid-template-columns:.9fr 1.1fr;margin-top:12px}
.story-pair{margin:14px auto 28px}
.story-pair.reverse,
.split-photo-band.reverse{direction:rtl}
.story-pair.reverse>*,
.split-photo-band.reverse>*{direction:ltr}

.yellow-note{
  background:linear-gradient(180deg,#ffe35c,#ffd735);
  border:2px solid rgba(0,0,0,.16);
  border-radius:12px;
  padding:18px;
  text-align:left;
  color:#202020;
  box-shadow:0 6px 0 rgba(0,0,0,.1),0 10px 22px rgba(0,0,0,.08);
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
}
.yellow-note h2{
  margin:.1rem 0 .6rem;
  color:#0c5fc5;
  font-family:Arial,Helvetica,sans-serif;
  font-size:1.1rem;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.yellow-note.tilted{transform:rotate(-.65deg)}
.framed-photo,
.wide-strip-photo,
.split-photo-band img{
  width:100%;
  object-fit:cover;
  border:3px solid rgba(0,0,0,.22);
  border-radius:12px;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
}
.framed-photo{height:260px}
.hero-photo{height:280px}
.wide-strip-photo{
  width:min(860px,100%);
  height:260px;
  margin:0 auto 22px;
  opacity:.95;
}
.split-photo-band{margin:24px auto}
.split-photo-band img{height:280px}

.welcome-block{
  width:min(620px,100%);
  margin:0 auto 20px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
}
.welcome-block h1{font-size:clamp(2.65rem,6.4vw,4.6rem);text-align:center}
.button-stack{display:flex;flex-direction:column;gap:10px;min-width:170px}
.compact-stack{
  width:100%;
  margin:12px auto 0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.photo-stack img{
  width:100%;
  height:180px;
  object-fit:cover;
  border:3px solid rgba(0,0,0,.2);
  border-radius:12px;
  box-shadow:0 8px 18px rgba(0,0,0,.16);
}
.photo-stack img:first-child{height:180px;width:100%;margin:0}
.photo-stack.side{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.photo-stack.side img{height:180px;width:100%;margin:0}

.green-panel{
  max-width:920px;
  margin:24px auto;
  padding:20px;
  text-align:left;
  background:linear-gradient(145deg,rgba(143,222,120,.82),rgba(240,255,228,.76));
  border:1px solid rgba(37,91,30,.28);
  border-radius:16px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 12px 24px rgba(36,87,30,.12);
}
.green-panel h2{
  margin:0 0 .65rem;
  font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;
  font-size:1.7rem;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.mini-card-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.mini-card{
  min-height:92px;
  padding:13px;
  text-align:left;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(0,0,0,.16);
  border-radius:12px;
  box-shadow:0 4px 0 rgba(0,0,0,.06);
}
.mini-card strong{
  display:block;
  color:#0b57b8;
  font-size:13px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.mini-card small{display:block;color:#222;font-size:12px;line-height:1.35}
.dot-icon{
  display:inline-block;
  width:10px;
  height:10px;
  margin:0 0 7px;
  border-radius:50%;
  background:var(--eas-blue);
  color:transparent;
  vertical-align:middle;
}
.brand-strip{text-align:center;margin-top:22px}
.brand-strip p{max-width:720px;margin:0 auto 12px;font-size:13px;font-weight:800}
.brand-tiles{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
}
.brand-tiles span{
  min-width:76px;
  padding:7px 10px;
  background:#111;
  color:#fff;
  border:1px solid #777;
  border-radius:3px;
  font-size:10px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.package-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:18px auto 24px;
}
.package-grid.two-up{grid-template-columns:repeat(3,1fr)}
.package-card,
.offer-card,
.loyalty-steps article{
  background:var(--eas-card-strong);
  border:1px solid rgba(0,0,0,.22);
  border-top:6px solid var(--eas-green);
  border-radius:14px;
  padding:18px;
  text-align:center;
  box-shadow:0 8px 0 rgba(0,0,0,.06),0 12px 22px rgba(0,0,0,.08);
}
.package-card h3,
.offer-card h2,
.loyalty-steps h2{
  margin:0 0 7px;
  font-size:1.1rem;
  font-weight:950;
  line-height:1.15;
}
.age-line{font-size:12px;font-weight:900;color:#333}
.price-chip{
  display:inline-block;
  margin:10px 0;
  padding:6px 11px;
  background:linear-gradient(#1879fa,#0d6dde);
  color:#fff;
  border-radius:999px;
  font-size:12px;
  font-weight:950;
}
.package-card ul{text-align:left}
.offer-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
  margin:22px auto;
}
.offer-card{
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.offer-card h2{font-size:1.25rem}

.shop-filter{
  display:flex;
  gap:7px;
  justify-content:center;
  flex-wrap:wrap;
  margin:16px 0;
}
.shop-filter button{
  padding:7px 11px;
  border:0;
  border-radius:5px;
  background:#111;
  color:#fff;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  cursor:pointer;
}
.shop-filter button.active{background:var(--eas-blue)}
.shop-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.shop-card{
  min-height:220px;
  display:flex;
  flex-direction:column;
  position:relative;
  padding:10px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(0,0,0,.18);
  border-radius:12px;
  box-shadow:0 5px 0 rgba(0,0,0,.06);
}
.shop-thumb{
  height:98px;
  margin-bottom:7px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,#1c1c1c,#515151);
  border:1px solid #000;
  border-radius:8px;
  color:#fff;
  font-size:11px;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.shop-badge{
  align-self:flex-start;
  margin-bottom:6px;
  padding:3px 6px;
  background:#0b65e6;
  color:#fff;
  border-radius:3px;
  font-size:9px;
}
.shop-card h3{flex:1;margin:0 0 5px;font-size:12px;line-height:1.25}
.shop-card p{margin:0 0 7px;font-weight:950}
.quick-view{padding:5px;text-align:center;background:#ddd;border:1px solid #111;border-radius:4px;font-size:11px}
.shop-card[data-product-extra]{display:none}
.shop-grid.show-more .shop-card[data-product-extra]{display:flex}
.tiny-note,
.prototype-note{margin-top:12px;color:#555;text-align:center;font-size:11px}

.weather-mini{
  min-height:160px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:18px;
  background:rgba(255,255,255,.68);
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
}
.weather-mini span{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(23,109,203,.12);
  font-size:18px;
  line-height:1;
}
.map-card{
  padding:20px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(0,0,0,.16);
  border-radius:16px;
  box-shadow:0 8px 0 rgba(0,0,0,.06);
}
.address-block h2{margin:.2rem 0;color:var(--eas-blue);letter-spacing:.1em;text-transform:uppercase}
.address-block p{font-family:Georgia,'Times New Roman',serif;font-weight:700;color:#8d2820}
.map-embed iframe{
  width:100%;
  height:300px;
  border:3px solid rgba(0,0,0,.18);
  border-radius:12px;
}
.contact-pair{align-items:start}
.contact-form,
.contact-note{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(0,0,0,.16);
  border-radius:16px;
  padding:18px;
  box-shadow:0 8px 0 rgba(0,0,0,.06);
}
.contact-form label{display:block;margin:0 0 10px;font-size:12px;font-weight:800}
.contact-form input,
.contact-form textarea{
  width:100%;
  margin-top:3px;
  padding:9px;
  background:#a43125;
  border:2px solid #3d1c12;
  color:#fff;
  font:inherit;
  border-radius:4px;
}
.send-button{
  float:right;
  padding:7px 13px;
  border:1px solid #8f6c00;
  border-radius:4px;
  background:var(--eas-yellow);
  font-weight:950;
  cursor:pointer;
}
.form-message{clear:both;color:#176dcb;font-weight:950}
.contact-note{
  color:#176dcb;
  text-align:center;
  font-size:18px;
  font-weight:950;
}
.loyalty-hero{
  position:relative;
  min-height:260px;
  display:grid;
  place-items:center;
  overflow:hidden;
  margin:0 auto 18px;
  color:white;
  text-align:center;
  border:1px solid rgba(0,0,0,.2);
  border-radius:16px;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
}
.loyalty-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.48)}
.loyalty-hero div{position:relative;z-index:1;padding:18px}
.loyalty-hero h1{color:white;font-size:2.8rem;text-shadow:2px 3px 0 rgba(0,0,0,.42)}
.loyalty-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.loyalty-steps span{color:#777;font-size:12px;font-weight:900}

.old-footer{
  width:min(var(--frame),calc(100% - 28px));
  margin:8px auto 28px;
  padding:16px;
  text-align:center;
  background:rgba(255,247,252,.72);
  border:1px solid rgba(37,91,30,.16);
  border-radius:16px;
}
.back-link{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:1px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.back-link span{font-size:21px;line-height:1}
.footer-mini{margin-top:18px;color:#222;font-size:11px}
.footer-mini img{width:74px;margin:0 auto 6px}
.footer-mini a{text-decoration:underline;color:#0b57b8}
.floating-top{
  position:fixed;
  right:14px;
  bottom:14px;
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#6dc85b;
  color:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,.22);
  font-weight:950;
  opacity:0;
  pointer-events:none;
  transition:.2s;
}
.floating-top.visible{opacity:1;pointer-events:auto}

@media(max-width:1020px){
  .brand-cluster{grid-template-columns:118px 1fr 1fr;gap:14px;text-align:center}
  .brand-logo img{width:110px}
  .brand-actions{grid-column:1 / -1;flex-direction:row}
  .package-grid,.package-grid.two-up{grid-template-columns:repeat(2,1fr)}
  .shop-grid{grid-template-columns:repeat(3,1fr)}
  .ribbon-menu a{font-size:8px;letter-spacing:.08em}
}
@media(max-width:760px){
  body::before{background-size:auto 100%;opacity:.7}
  .top-nav-ribbon{min-height:34px}
  .mobile-menu-button{
    display:block;
    width:100%;
    height:34px;
    border:0;
    background:linear-gradient(#d9f7d4,#55b24f);
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.16em;
  }
  .ribbon-menu{display:none;grid-template-columns:1fr;min-height:auto}
  .top-nav-ribbon.open .ribbon-menu{display:grid}
  .ribbon-menu a{min-height:34px;font-size:11px;letter-spacing:.12em}
  .brand-head{padding:10px 10px 12px}
  .brand-cluster{grid-template-columns:1fr;gap:10px;padding:14px;text-align:center}
  .brand-logo img{width:104px}
  .brand-actions{grid-column:auto;flex-direction:column}
  .page-frame,.wide-frame,.shop-frame{width:min(100% - 20px,760px);margin-top:14px;padding:20px 14px 28px;border-radius:16px}
  .home-hero-pair,.story-pair,.split-photo-band,.contact-pair,.map-card{grid-template-columns:1fr;gap:14px}
  .story-pair.reverse,.split-photo-band.reverse{direction:ltr}
  .yellow-note.tilted{transform:none}
  .welcome-block{grid-template-columns:1fr;gap:16px}
  .button-stack{width:min(280px,100%);margin:0 auto}
  .compact-stack,.mini-card-row,.offer-grid,.loyalty-steps{grid-template-columns:1fr}
  .photo-stack.side{grid-template-columns:1fr 1fr}
  .framed-photo,.hero-photo,.wide-strip-photo,.split-photo-band img{height:210px}
  .photo-stack img,.photo-stack img:first-child{height:170px}
  .package-grid,.package-grid.two-up,.shop-grid{grid-template-columns:1fr}
  .shop-card{min-height:auto}
  .blue-heading{font-size:.98rem;letter-spacing:.08em;gap:8px}
  .blue-heading::before,.blue-heading::after{height:7px;min-width:28px}
  .page-title-wrap h1,.welcome-block h1{font-size:2.55rem}
  .contact-note{font-size:15px}
}
@media(max-width:420px){
  .photo-stack.side{grid-template-columns:1fr}
  .social-square{width:22px;height:22px}
  .small-blue-btn,.rounded-blue{width:100%}
}

/* v4 cleanup: original-style stocked brands wall, airsoft/jellyball callout, and polished footer */
.activities-callout{
  max-width:860px;
  margin:26px auto 20px;
  display:grid;
  grid-template-columns:280px 1fr;
  gap:22px;
  align-items:center;
  padding:18px 20px;
  background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(234,255,226,.8));
  border:1px solid rgba(23,109,203,.22);
  border-left:8px solid var(--eas-blue);
  border-right:8px solid var(--eas-green);
  border-radius:18px;
  box-shadow:0 12px 26px rgba(25,60,20,.14), inset 0 0 0 1px rgba(255,255,255,.65);
  text-align:left;
}
.activities-logo-pair{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:12px;
  min-height:160px;
  background:
    radial-gradient(circle at 24% 18%,rgba(111,207,89,.28) 0 26px,transparent 29px),
    radial-gradient(circle at 78% 74%,rgba(111,207,89,.22) 0 34px,transparent 38px),
    rgba(255,247,252,.72);
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
}
.activities-logo-pair img:first-child{width:145px;filter:drop-shadow(0 5px 4px rgba(0,0,0,.16))}
.activities-logo-pair img:last-child{width:92px;filter:drop-shadow(0 4px 4px rgba(0,0,0,.14))}
.section-kicker{
  margin:0 0 4px;
  color:var(--eas-blue);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.16em;
}
.activities-copy h2{
  margin:.05rem 0 .45rem;
  font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;
  font-size:clamp(1.9rem,4vw,2.85rem);
  line-height:.95;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-shadow:1px 2px 0 rgba(0,0,0,.12);
}
.activities-copy p:not(.section-kicker){margin:0 0 .9rem;font-weight:800;color:#1a1a1a;font-size:14px}
.activity-pills{display:flex;flex-wrap:wrap;gap:8px}
.activity-pills a{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 10px;
  border-radius:999px;
  background:#111;
  color:white;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.06em;
  box-shadow:0 3px 0 rgba(0,0,0,.15);
}
.activity-pills a:nth-child(2){background:var(--eas-blue)}
.activity-pills a:nth-child(3){background:var(--eas-green-deep)}

.proshop-wall{
  max-width:980px;
  margin:24px auto 8px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:20px;
  align-items:stretch;
  padding:14px;
  background:linear-gradient(180deg,rgba(255,247,252,.82),rgba(255,255,255,.56));
  border-top:5px solid var(--eas-green);
  border-bottom:5px solid var(--eas-blue);
  border-radius:18px;
  box-shadow:0 14px 30px rgba(25,60,20,.16);
}
.proshop-logos{
  display:grid;
  grid-template-columns:repeat(6,minmax(74px,1fr));
  gap:10px;
  align-content:center;
  padding:4px;
}
.brand-logo-tile{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.55);
  border-radius:2px;
  color:white;
  background:#050505;
  font-weight:950;
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.04em;
  box-shadow:0 10px 18px rgba(0,0,0,.16);
}
.brand-logo-tile::after{
  content:"";
  position:absolute;
  inset:auto 12% 7px;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
}
.brand-logo-tile.virtue{font-size:42px;color:#dfe7f3;background:radial-gradient(circle,#f7f7f7 0 32%,#5e6570 34%,#101216 70%)}
.brand-logo-tile.hk{font-size:27px;color:#a8fff0;background:#020404;text-shadow:0 0 4px #45e6d6}
.brand-logo-tile.shocker{font-size:28px;color:#75d7ff;background:linear-gradient(145deg,#0a0a0a,#121925);font-style:italic}
.brand-logo-tile.exalt{font-size:18px;background:#fff;color:#111;border-color:#ddd}
.brand-logo-tile.gog{font-size:26px;background:#fff;color:#111;border-color:#ddd;font-family:Georgia,'Times New Roman',serif}
.brand-logo-tile.ninja{font-size:42px;color:#d88080;background:#221719;font-family:Georgia,'Times New Roman',serif}
.brand-logo-tile.empire{font-size:17px;color:#f63d2c;background:#020202;font-style:italic}
.brand-logo-tile.gi{font-size:31px;color:white;background:#111;border-color:#333}
.brand-logo-tile.tippmann{font-size:38px;color:#ff1f1f;background:#151515;border-radius:50%}
.brand-logo-tile.dlx{font-size:22px;color:#d7caa9;background:#5a2e59;font-family:Georgia,'Times New Roman',serif}
.brand-logo-tile.eclipse{font-size:46px;color:#1d1d1d;background:#79e344;font-style:italic}
.brand-logo-tile.valken{font-size:14px;color:white;background:#050505}
.proshop-note{
  min-height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
  font-size:16px;
}
.proshop-note h2{font-size:1.25rem;letter-spacing:.08em}
.rounded-blue.compact{min-height:30px;padding:7px 13px;font-size:10px;align-self:center;margin-top:4px}

.site-footer{
  width:min(980px,calc(100% - 28px));
  margin:18px auto 30px;
  text-align:center;
}
.site-footer .back-link{margin-bottom:12px}
.footer-card{
  display:grid;
  grid-template-columns:280px 1fr auto;
  gap:22px;
  align-items:center;
  padding:22px 24px;
  background:
    radial-gradient(circle at 12% 14%,rgba(111,207,89,.28) 0 28px,transparent 31px),
    radial-gradient(circle at 86% 78%,rgba(111,207,89,.22) 0 52px,transparent 58px),
    linear-gradient(180deg,rgba(255,247,252,.86),rgba(232,255,226,.78));
  border:1px solid rgba(37,91,30,.22);
  border-top:5px solid var(--eas-green);
  border-bottom:5px solid var(--eas-blue);
  border-radius:18px;
  box-shadow:0 14px 30px rgba(25,60,20,.16);
}
.footer-brand-lockup{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.footer-logo-main{width:160px;filter:drop-shadow(0 5px 4px rgba(0,0,0,.16))}
.footer-logo-airsoft{width:86px;filter:drop-shadow(0 4px 3px rgba(0,0,0,.14))}
.footer-contact-lockup{
  color:#176dcb;
  text-align:left;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:950;
  font-size:22px;
  line-height:1.22;
  text-shadow:1px 2px 0 rgba(255,255,255,.85),0 2px 5px rgba(0,0,0,.16);
}
.footer-contact-lockup strong,
.footer-contact-lockup span,
.footer-contact-lockup a,
.footer-contact-lockup small{display:block}
.footer-contact-lockup a{color:#176dcb;text-decoration:none}
.footer-contact-lockup small{
  margin-top:6px;
  color:#174b12;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  line-height:1.1;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.footer-cta-lockup{display:flex;flex-direction:column;gap:9px;align-items:center;justify-content:center;min-width:150px}

@media(max-width:900px){
  .activities-callout,.proshop-wall,.footer-card{grid-template-columns:1fr}
  .activities-callout,.footer-contact-lockup{text-align:center}
  .proshop-logos{grid-template-columns:repeat(4,minmax(70px,1fr))}
  .footer-brand-lockup{order:0}
  .footer-contact-lockup{order:1}
  .footer-cta-lockup{order:2;flex-direction:row;flex-wrap:wrap}
}
@media(max-width:560px){
  .activities-callout{padding:14px;gap:14px}
  .activities-logo-pair{min-height:132px}
  .activities-logo-pair img:first-child{width:118px}
  .activities-logo-pair img:last-child{width:72px}
  .proshop-wall{padding:10px;gap:12px}
  .proshop-logos{grid-template-columns:repeat(3,1fr);gap:7px}
  .brand-logo-tile{min-height:58px}
  .footer-card{padding:16px 12px}
  .footer-logo-main{width:132px}
  .footer-logo-airsoft{width:68px}
  .footer-contact-lockup{font-size:18px}
  .footer-cta-lockup{flex-direction:column;width:100%}
  .footer-cta-lockup .rounded-blue.compact{width:100%;max-width:240px}
}


/* ===== v5 polish pass: sticky splatter, livelier motion, clearer nav/header, refined page layouts ===== */
:root{--eas-orange:#ff8a1d;--eas-purple:#6b32ff;--eas-glow:#bdff4c;--eas-deep-shadow:0 26px 60px rgba(19,45,16,.24)}
body{background-color:#fff5fb;background-attachment:fixed;}
body::before{opacity:.9;background-size:cover;background-attachment:fixed;}
body::after{opacity:1;background-attachment:fixed;}
.sticky-splatter{position:fixed;pointer-events:none;z-index:-1;filter:drop-shadow(0 16px 28px rgba(0,0,0,.08));opacity:.84;transform:translate3d(0,0,0);}
.sticky-splatter::before,.sticky-splatter::after{content:"";position:absolute;border-radius:50%;}
.sticky-splatter-left{left:-84px;top:18vh;width:270px;height:270px;background:radial-gradient(circle at 45% 46%,rgba(61,202,52,.38) 0 58px,transparent 61px),radial-gradient(circle at 18% 28%,rgba(61,202,52,.30) 0 24px,transparent 27px),radial-gradient(circle at 78% 20%,rgba(61,202,52,.24) 0 18px,transparent 20px),radial-gradient(circle at 82% 82%,rgba(61,202,52,.25) 0 32px,transparent 35px);animation:paintFloatA 12s ease-in-out infinite;}
.sticky-splatter-left::before{left:78px;top:102px;width:160px;height:24px;background:rgba(61,202,52,.22);transform:rotate(24deg);border-radius:999px;}
.sticky-splatter-left::after{left:35px;top:220px;width:56px;height:56px;background:rgba(255,215,53,.42);}
.sticky-splatter-right{right:-96px;top:30vh;width:340px;height:340px;background:radial-gradient(circle at 52% 50%,rgba(123,222,95,.36) 0 82px,transparent 88px),radial-gradient(circle at 20% 72%,rgba(23,109,203,.18) 0 34px,transparent 37px),radial-gradient(circle at 30% 20%,rgba(123,222,95,.25) 0 44px,transparent 48px),radial-gradient(circle at 86% 80%,rgba(255,138,29,.26) 0 28px,transparent 31px);animation:paintFloatB 15s ease-in-out infinite;}
.sticky-splatter-right::before{right:146px;top:138px;width:220px;height:30px;background:rgba(123,222,95,.23);transform:rotate(-18deg);border-radius:999px;}
.sticky-splatter-blue{left:58%;bottom:-86px;width:260px;height:260px;background:radial-gradient(circle at 50% 50%,rgba(23,109,203,.22) 0 66px,transparent 72px),radial-gradient(circle at 20% 22%,rgba(255,215,53,.42) 0 24px,transparent 27px),radial-gradient(circle at 82% 36%,rgba(107,50,255,.22) 0 34px,transparent 38px);animation:paintFloatC 18s ease-in-out infinite;}
@keyframes paintFloatA{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(16px,22px,0) rotate(4deg)}}
@keyframes paintFloatB{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(-24px,16px,0) rotate(-5deg)}}
@keyframes paintFloatC{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(8px,-24px,0) rotate(7deg)}}

.top-nav-ribbon{min-height:42px;background:linear-gradient(#eaffdf 0%,#b8f0ad 20%,#61bf58 52%,#89da7d 100%);border-bottom:2px solid #111;}
.ribbon-menu{min-height:42px;}
.ribbon-menu a{min-height:42px;font-size:12px;letter-spacing:.12em;padding:0 9px;}
.ribbon-menu a.active,.ribbon-menu a:hover{box-shadow:inset 0 -4px 0 var(--eas-blue);}
.brand-head{padding:24px 16px 18px;background:linear-gradient(180deg,rgba(255,247,252,.86),rgba(255,247,252,.44));}
.brand-cluster{width:min(1120px,100%);grid-template-columns:178px minmax(240px,1fr) minmax(340px,1.18fr) 145px;gap:22px;padding:18px 24px;border-radius:20px;border-top:7px solid var(--eas-blue);border-bottom:7px solid var(--eas-green);box-shadow:var(--eas-deep-shadow),inset 0 0 0 1px rgba(255,255,255,.75);}
.brand-logo img{width:160px;}
.brand-detail{font-size:15px;line-height:1.32;}
.brand-detail strong{font-size:15px;}
.small-blue-btn,.rounded-blue{min-height:38px;padding:10px 20px;font-size:12px;box-shadow:0 4px 0 #073c89,0 10px 22px rgba(11,94,215,.26);}
.social-square{width:24px;height:24px;font-size:14px;}

.page-frame,.wide-frame,.shop-frame{box-shadow:var(--eas-deep-shadow);backdrop-filter:blur(3px);transform-style:preserve-3d;}
.page-frame::after,.wide-frame::after,.shop-frame::after{content:"";position:absolute;inset:10px;border:1px solid rgba(255,255,255,.55);border-radius:16px;pointer-events:none;z-index:0;}
.reveal-on-scroll{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease;}
.reveal-on-scroll.is-visible{opacity:1;transform:none;}
.motion-card{transition:transform .22s ease,box-shadow .22s ease,filter .22s ease;}
.motion-card:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(0,0,0,.18);filter:saturate(1.04);}
.blue-rule,.blue-heading::before,.blue-heading::after{position:relative;overflow:hidden;}
.blue-rule::after,.blue-heading::before,.blue-heading::after{background-size:180% 100%;animation:blueSlide 5s ease-in-out infinite;}
@keyframes blueSlide{0%,100%{background-position:0 0}50%{background-position:100% 0}}

.proshop-logos-polished{grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;align-content:start;padding:4px;}
.proshop-logo-card{min-height:92px;display:grid;grid-template-rows:1fr auto;place-items:center;gap:6px;padding:10px;background:linear-gradient(145deg,#070707,#1d1d1d);border:1px solid rgba(255,255,255,.2);border-radius:10px;box-shadow:0 10px 20px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.07);position:relative;overflow:hidden;}
.proshop-logo-card::before{content:"";position:absolute;inset:-60% -20% auto;height:90px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:rotate(-18deg);animation:logoSheen 7s ease-in-out infinite;}
.proshop-logo-card img{max-width:92px;max-height:48px;object-fit:contain;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45));}
.proshop-logo-card span{color:white;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.11em;text-align:center;line-height:1.05;}
@keyframes logoSheen{0%,72%{transform:translateX(-160%) rotate(-18deg)}88%,100%{transform:translateX(160%) rotate(-18deg)}}
.shop-brand-panel .proshop-logos-polished{margin-top:14px;grid-template-columns:repeat(6,minmax(100px,1fr));}

.price-hero-slab{display:grid;grid-template-columns:1fr 1fr;gap:0;overflow:hidden;border-radius:18px;border:1px solid rgba(0,0,0,.18);box-shadow:0 16px 36px rgba(0,0,0,.18);background:#111;}
.price-hero-slab>img{width:100%;height:100%;min-height:340px;object-fit:cover;filter:saturate(1.05) contrast(1.03);}
.price-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:32px;background:radial-gradient(circle at 92% 12%,rgba(118,201,103,.3),transparent 26%),linear-gradient(145deg,rgba(255,255,255,.94),rgba(229,255,221,.88));}
.price-hero-copy h1{margin:.15rem 0 .55rem;font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;font-size:clamp(3rem,8vw,5.7rem);line-height:.85;text-transform:uppercase;text-shadow:2px 3px 0 rgba(0,0,0,.14);}
.price-hero-copy p:not(.section-kicker){font-weight:800;color:#202020;}
.price-jump-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.price-jump-row a{padding:8px 10px;border-radius:999px;background:#111;color:white;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.06em;}
.price-jump-row a:nth-child(even){background:var(--eas-blue)}
.price-section-block{margin:28px auto 34px;}
.package-grid-featured{align-items:stretch;}
.price-card-readable{text-align:left;padding:20px 20px 22px;border-top-width:8px;position:relative;overflow:hidden;}
.price-card-readable h3{font-size:1.22rem;margin:4px 0 5px;}
.price-card-readable ul{padding-left:1rem;}
.price-card-readable li{font-size:.98rem;line-height:1.35;}
.price-card-readable .price-chip{font-size:13px;margin:11px 0 8px;}
.package-tag{display:inline-flex;min-height:24px;align-items:center;padding:4px 8px;border-radius:999px;background:rgba(118,201,103,.24);color:#164e11;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.1em;}
.featured-package{border-top-color:var(--eas-blue);box-shadow:0 10px 0 rgba(23,109,203,.1),0 18px 28px rgba(0,0,0,.12);transform:translateY(-4px);}
.package-grid-clean{grid-template-columns:repeat(3,minmax(0,1fr));}
.airsoft-glow-grid{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:16px;align-items:stretch;}
.glow-video-card{padding:16px;background:linear-gradient(145deg,#090319,#1d064b 58%,#0b1328);color:white;border-radius:16px;border:1px solid rgba(189,255,76,.35);box-shadow:0 18px 38px rgba(42,0,125,.25);}
.glow-video-shell{position:relative;overflow:hidden;border-radius:12px;border:2px solid rgba(189,255,76,.45);box-shadow:0 0 28px rgba(107,50,255,.32);}
.glow-video-shell img{width:100%;height:230px;object-fit:cover;filter:saturate(1.25) contrast(1.08);}
.play-badge{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:rgba(189,255,76,.92);color:#220749;font-size:28px;font-weight:950;box-shadow:0 0 0 9px rgba(189,255,76,.18),0 0 30px rgba(189,255,76,.55);}
.glow-video-card h3{margin:13px 0 6px;text-transform:uppercase;letter-spacing:.04em;}
.glow-video-card p{font-size:13px;color:#ecddff;font-weight:800;}
.final-cta-panel{text-align:center;}

.field-overview-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:20px;align-items:center;margin-bottom:28px;}
.field-copy-card{height:100%;display:flex;flex-direction:column;justify-content:center;}
.aerial-field-photo{height:330px;}
.field-gallery-section{margin:26px auto;padding:20px;background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.14);border-radius:18px;box-shadow:0 12px 26px rgba(0,0,0,.1);}
.field-gallery-section h2{margin:0 0 14px;text-align:center;font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;text-transform:uppercase;font-size:2.2rem;letter-spacing:.05em;}
.field-gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.field-gallery-grid article{overflow:hidden;border-radius:14px;background:#fff;border:1px solid rgba(0,0,0,.16);box-shadow:0 7px 0 rgba(0,0,0,.06);}
.field-gallery-grid img{width:100%;height:160px;object-fit:cover;}
.field-gallery-grid h3{margin:12px 12px 4px;color:var(--eas-blue);text-transform:uppercase;font-size:13px;letter-spacing:.06em;}
.field-gallery-grid p{margin:0 12px 14px;font-weight:800;font-size:12px;color:#222;}

.weather-policy-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:center;margin:14px auto 24px;}
.animated-weather-panel{min-height:230px;display:flex;align-items:center;justify-content:center;gap:22px;padding:22px;background:linear-gradient(145deg,rgba(17,27,39,.94),rgba(40,72,98,.88));border-radius:18px;box-shadow:0 18px 36px rgba(0,0,0,.2),inset 0 0 40px rgba(23,109,203,.16);overflow:hidden;}
.weather-anim{position:relative;width:90px;height:90px;}
.weather-anim .cloud{position:absolute;left:12px;top:28px;width:66px;height:30px;border-radius:999px;background:#e9edf1;box-shadow:18px -12px 0 0 #cfd8df,-16px -8px 0 0 #f7f9fa,0 7px 16px rgba(0,0,0,.25);animation:cloudBob 2.6s ease-in-out infinite;}
.weather-rain i{position:absolute;top:66px;width:5px;height:20px;background:#52b7ff;border-radius:999px;animation:rainDrop .85s linear infinite;}
.weather-rain i:nth-child(2){left:24px}.weather-rain i:nth-child(3){left:44px;animation-delay:.18s}.weather-rain i:nth-child(4){left:64px;animation-delay:.34s}
.weather-lightning b{position:absolute;left:39px;top:56px;width:28px;height:38px;background:linear-gradient(#ffe45c,#ff9f1c);clip-path:polygon(40% 0,90% 0,58% 40%,88% 40%,20% 100%,42% 52%,12% 52%);filter:drop-shadow(0 0 12px rgba(255,224,92,.8));animation:flashBolt 1.4s steps(2,end) infinite;}
.weather-wind{display:flex;flex-direction:column;justify-content:center;gap:12px;}
.weather-wind span{height:9px;background:linear-gradient(90deg,transparent,#d3f3ff,#74cff9);border-radius:999px;animation:windLine 1.7s ease-in-out infinite;}
.weather-wind span:nth-child(1){width:72px}.weather-wind span:nth-child(2){width:92px;animation-delay:.22s}.weather-wind span:nth-child(3){width:58px;animation-delay:.38s}
@keyframes cloudBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes rainDrop{0%{transform:translateY(-8px);opacity:0}30%{opacity:1}100%{transform:translateY(16px);opacity:0}}
@keyframes flashBolt{0%,45%,100%{opacity:.55}50%,60%{opacity:1}}
@keyframes windLine{0%,100%{transform:translateX(-8px);opacity:.55}50%{transform:translateX(8px);opacity:1}}
.reservation-cta-row{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}

.contact-layout-pro{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:stretch;}
.contact-info-panel{padding:24px;background:linear-gradient(145deg,rgba(255,227,92,.94),rgba(255,247,195,.88));border:1px solid rgba(0,0,0,.16);border-radius:18px;box-shadow:0 12px 26px rgba(0,0,0,.1);}
.contact-info-panel h2{margin:.15rem 0 .5rem;font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;font-size:2.35rem;line-height:.95;text-transform:uppercase;}
.contact-info-panel p:not(.section-kicker){font-weight:800;}
.contact-method-grid{display:grid;gap:10px;margin-top:16px;}
.contact-method-grid a{display:grid;grid-template-columns:38px 1fr;column-gap:11px;align-items:center;padding:12px;background:rgba(255,255,255,.76);border:1px solid rgba(0,0,0,.13);border-radius:12px;}
.contact-method-grid span{grid-row:1/3;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--eas-blue);color:white;font-weight:950;}
.contact-method-grid strong{color:#0b57b8;text-transform:uppercase;letter-spacing:.06em;font-size:12px;}
.contact-method-grid small{font-weight:800;color:#222;}
.contact-form-pro{padding:24px;background:rgba(255,255,255,.92);}
.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.contact-form-pro input,.contact-form-pro textarea{background:#fff;color:#111;border:2px solid rgba(23,109,203,.25);border-radius:9px;box-shadow:inset 0 2px 4px rgba(0,0,0,.04);}
.contact-form-pro input:focus,.contact-form-pro textarea:focus{outline:3px solid rgba(118,201,103,.25);border-color:var(--eas-blue);}
.contact-form-pro .send-button{float:none;width:100%;min-height:42px;background:linear-gradient(#ffd735,#ffb829);border:1px solid #986e00;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;}

.loyalty-hero-pro{min-height:330px;border-radius:20px;}
.loyalty-hero-pro::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,rgba(255,215,53,.28),transparent 28%),linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.28));}
.loyalty-hero-pro div{z-index:2;text-align:left;width:min(680px,100%);margin-right:auto;}
.loyalty-steps-pro article{text-align:left;border-top-width:8px;position:relative;overflow:hidden;}
.loyalty-steps-pro article::before{content:"";position:absolute;right:-36px;top:-36px;width:105px;height:105px;border-radius:50%;background:rgba(118,201,103,.2);}
.loyalty-steps-pro span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#111;color:#fff;font-size:12px;}
.loyalty-note{text-align:center;}

@media(max-width:1100px){.brand-cluster{grid-template-columns:150px 1fr 1fr;}.brand-actions{grid-column:1/-1;flex-direction:row}.brand-logo img{width:138px}.shop-brand-panel .proshop-logos-polished{grid-template-columns:repeat(4,minmax(100px,1fr));}.airsoft-glow-grid{grid-template-columns:1fr 1fr}.glow-video-card{grid-column:1/-1}.field-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.sticky-splatter{opacity:.55}.top-nav-ribbon{min-height:38px}.mobile-menu-button{height:38px;font-size:12px}.ribbon-menu a{min-height:38px;font-size:11px}.brand-cluster{grid-template-columns:1fr;padding:16px}.brand-logo img{width:126px}.brand-actions{grid-column:auto}.price-hero-slab,.field-overview-grid,.weather-policy-card,.contact-layout-pro{grid-template-columns:1fr}.price-hero-slab>img{min-height:230px}.price-hero-copy{padding:22px}.package-grid-featured,.package-grid-clean,.airsoft-glow-grid{grid-template-columns:1fr}.featured-package{transform:none}.proshop-logos-polished,.shop-brand-panel .proshop-logos-polished{grid-template-columns:repeat(2,minmax(110px,1fr));}.field-gallery-grid{grid-template-columns:1fr}.animated-weather-panel{min-height:190px;gap:10px}.weather-anim{width:74px;height:80px}.form-grid-two{grid-template-columns:1fr}.loyalty-hero-pro div{text-align:center}.contact-info-panel h2{font-size:2rem}}
@media(max-width:480px){.proshop-logos-polished,.shop-brand-panel .proshop-logos-polished{grid-template-columns:1fr}.proshop-logo-card{min-height:78px}.footer-cta-lockup .rounded-blue.compact{width:100%}.price-jump-row a{flex:1;justify-content:center;text-align:center}.animated-weather-panel{flex-wrap:wrap}.weather-anim{width:82px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-on-scroll{opacity:1;transform:none}.sticky-splatter{display:none}}


/* ===== v6 polish pass: more movement, stronger original-style pro shop, passes, videos ===== */
:root{
  --splat-green:rgba(72,211,58,.42);
  --splat-blue:rgba(23,109,203,.24);
  --splat-yellow:rgba(255,215,53,.42);
  --splat-orange:rgba(255,118,24,.28);
}
body{
  background-image:
    radial-gradient(circle at 14% 18%,rgba(255,215,53,.10),transparent 18%),
    radial-gradient(circle at 88% 38%,rgba(23,109,203,.09),transparent 22%),
    radial-gradient(circle at 45% 82%,rgba(118,201,103,.14),transparent 20%);
}
body::after{
  animation: backgroundBreath 16s ease-in-out infinite alternate;
}
@keyframes backgroundBreath{
  from{filter:saturate(1) contrast(1);opacity:.88;transform:scale(1)}
  to{filter:saturate(1.14) contrast(1.04);opacity:1;transform:scale(1.018)}
}
.top-nav-ribbon{min-height:48px;box-shadow:0 4px 14px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.65)}
.ribbon-menu{min-height:48px;}
.ribbon-menu a{min-height:48px;font-size:13px;letter-spacing:.13em;padding:0 12px;}
.brand-cluster{border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,255,242,.86));box-shadow:0 18px 44px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.6),inset 0 0 32px rgba(118,201,103,.12)}
.page-frame,.wide-frame,.shop-frame{backdrop-filter:blur(1.5px);box-shadow:0 20px 55px rgba(19,67,18,.2),0 6px 0 rgba(23,109,203,.26)}
.page-frame::after,.wide-frame::after,.shop-frame::after{content:"";position:absolute;inset:auto -80px -120px auto;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(255,215,53,.20) 0 42px,rgba(118,201,103,.18) 43px 80px,transparent 82px);pointer-events:none;z-index:0;animation:cornerSplat 9s ease-in-out infinite alternate;}
@keyframes cornerSplat{from{transform:translate(0,0) rotate(0deg)}to{transform:translate(-12px,-8px) rotate(7deg)}}
.blue-rule,.blue-heading::before,.blue-heading::after{position:relative;overflow:hidden;}
.blue-rule::after,.blue-heading::before,.blue-heading::after{background-size:200% 100%;animation:barGlide 4.5s ease-in-out infinite alternate;}
@keyframes barGlide{from{background-position:0 0}to{background-position:100% 0}}
.motion-card{will-change:transform;}
.motion-card:hover{transform:translateY(-5px) rotate(-.15deg);box-shadow:0 14px 28px rgba(0,0,0,.15)}
.sticky-splatter{z-index:-1;mix-blend-mode:multiply;}
.sticky-splatter-left{width:330px;height:330px;left:-126px;background:radial-gradient(circle at 48% 47%,var(--splat-green) 0 66px,transparent 70px),radial-gradient(circle at 20% 25%,rgba(126,230,92,.36) 0 28px,transparent 31px),radial-gradient(circle at 80% 25%,var(--splat-yellow) 0 22px,transparent 25px),radial-gradient(circle at 84% 84%,rgba(72,211,58,.28) 0 38px,transparent 42px);}
.sticky-splatter-right{width:405px;height:405px;right:-148px;background:radial-gradient(circle at 52% 50%,rgba(123,222,95,.42) 0 94px,transparent 101px),radial-gradient(circle at 24% 72%,var(--splat-blue) 0 40px,transparent 44px),radial-gradient(circle at 36% 22%,rgba(123,222,95,.28) 0 52px,transparent 56px),radial-gradient(circle at 86% 80%,var(--splat-orange) 0 36px,transparent 40px);}
.sticky-splatter-blue{width:320px;height:320px;bottom:-120px;background:radial-gradient(circle at 50% 50%,rgba(23,109,203,.24) 0 76px,transparent 84px),radial-gradient(circle at 20% 22%,var(--splat-yellow) 0 30px,transparent 34px),radial-gradient(circle at 82% 36%,rgba(107,50,255,.26) 0 40px,transparent 46px),radial-gradient(circle at 72% 78%,rgba(72,211,58,.26) 0 30px,transparent 35px)}

/* Original-style pro shop logo wall, but cleaner and not broken */
.proshop-wall{align-items:stretch;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(245,255,241,.84));border-top:6px solid var(--eas-green);border-bottom:7px solid var(--eas-blue);}
.original-logo-wall{grid-template-columns:repeat(6,minmax(92px,1fr));gap:8px;padding:8px;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.1));border-radius:14px;}
.proshop-logo-card{min-height:86px;padding:0;background:#050505;border:1px solid rgba(0,0,0,.38);border-radius:6px;box-shadow:0 8px 16px rgba(0,0,0,.2);overflow:hidden;}
.proshop-logo-card::before{display:none;}
.proshop-logo-card img{width:100%;height:86px;max-width:none;max-height:none;object-fit:cover;filter:none;transition:transform .18s ease,filter .18s ease;}
.proshop-logo-card:hover img{transform:scale(1.045);filter:saturate(1.05) brightness(1.04)}
.proshop-logo-card span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.proshop-note{display:flex;flex-direction:column;justify-content:center;text-align:center;border-radius:16px;border:2px solid rgba(0,0,0,.18)}
.proshop-note h2{font-size:1.55rem;color:#0b65e6;text-shadow:1px 1px 0 rgba(255,255,255,.7)}
.shop-brand-panel .original-logo-wall{grid-template-columns:repeat(6,minmax(96px,1fr));}

/* Field pass section */
.field-pass-teaser{display:grid;grid-template-columns:1fr auto auto;gap:18px;align-items:center;margin:26px auto;padding:20px;background:linear-gradient(135deg,rgba(255,215,53,.96),rgba(255,245,179,.92));border:2px solid rgba(0,0,0,.18);border-left:9px solid var(--eas-green);border-radius:18px;box-shadow:0 14px 30px rgba(0,0,0,.13);text-align:left;}
.field-pass-teaser h2,.field-pass-intro h2{margin:.1rem 0 .45rem;font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;text-transform:uppercase;letter-spacing:.045em;font-size:clamp(1.75rem,4vw,2.8rem);line-height:.95;}
.field-pass-teaser p{margin:0;font-weight:800;}
.pass-teaser-prices{display:grid;gap:8px;min-width:190px;}
.pass-teaser-prices span{display:block;padding:8px 12px;background:#111;color:#fff;border-radius:999px;font-size:12px;font-weight:950;text-align:center;text-transform:uppercase;letter-spacing:.04em;}
.field-pass-showcase{margin:28px auto;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,255,241,.88));border:1px solid rgba(0,0,0,.16);border-top:6px solid var(--eas-green);border-bottom:7px solid var(--eas-blue);border-radius:20px;box-shadow:0 16px 35px rgba(0,0,0,.12);}
.field-pass-intro{text-align:center;max-width:780px;margin:0 auto 18px;}
.field-pass-intro p:not(.section-kicker){font-weight:800;color:#222;}
.field-pass-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start;}
.field-pass-card{background:#fff;border:2px solid #111;border-radius:10px;overflow:hidden;box-shadow:0 10px 0 rgba(0,0,0,.06);}
.pass-card-header{display:flex;align-items:end;justify-content:space-between;gap:12px;min-height:130px;padding:18px;background:linear-gradient(135deg,#fff,#f4fff2 58%,rgba(118,201,103,.35));position:relative;overflow:hidden;}
.pass-card-header::after{content:"";position:absolute;right:18px;top:14px;width:92px;height:76px;background:url('https://static.wixstatic.com/media/4705fb_87e753cda90145dfb97613ed915bc904~mv2.png/v1/crop/x_72%2Cy_63%2Cw_710%2Ch_507/fill/w_165%2Ch_120%2Cal_c%2Cq_85%2Cusm_0.66_1.00_0.01%2Cenc_avif%2Cquality_auto/4705fb_87e753cda90145dfb97613ed915bc904~mv2.png') center/contain no-repeat;opacity:.95;}
.airsoft-pass .pass-card-header::after{background-image:url('https://static.wixstatic.com/media/4705fb_136baa3b60eb4d23a6331123a86d7cd9~mv2.png/v1/fill/w_173%2Ch_173%2Cal_c%2Cq_85%2Cusm_0.66_1.00_0.01%2Cenc_avif%2Cquality_auto/4705fb_136baa3b60eb4d23a6331123a86d7cd9~mv2.png')}
.pass-card-header span{display:block;font-family:Arial Black,Arial,sans-serif;font-size:clamp(2.1rem,5vw,3.4rem);line-height:.82;text-transform:uppercase;color:#000;text-shadow:2px 2px 0 rgba(118,201,103,.36);}
.pass-card-header h3{margin:0;display:inline-block;padding:5px 9px;background:#000;color:#fff;font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;font-size:clamp(1.6rem,4vw,2.55rem);line-height:.9;text-transform:uppercase;letter-spacing:.04em;}
.pass-prices{display:grid;grid-template-columns:1fr 1fr;background:var(--eas-green);border-top:2px solid #111;border-bottom:2px solid #111;}
.pass-prices b{padding:10px;text-align:center;font-family:Arial Black,Arial,sans-serif;font-size:clamp(1rem,2.4vw,1.55rem);line-height:1;text-transform:uppercase;border-right:2px solid #111;}
.pass-prices b:last-child{border-right:0;}
.field-pass-card table{width:100%;border-collapse:collapse;font-family:Arial,Helvetica,sans-serif;}
.field-pass-card th,.field-pass-card td{border-bottom:1px solid #111;border-right:1px solid #111;padding:11px 9px;text-align:center;font-weight:950;text-transform:uppercase;line-height:1.15;}
.field-pass-card th:first-child,.field-pass-card td:first-child{text-align:left;width:58%;}
.field-pass-card th{background:#eef9e8;color:#111;}
.field-pass-card th:last-child,.field-pass-card td:last-child{border-right:0;}
.field-pass-card tr:last-child td{border-bottom:0;}
.field-pass-card .yes{color:#176dcb;font-family:Arial Black,Arial,sans-serif;}
.field-pass-card .no{color:#a33124;font-family:Arial Black,Arial,sans-serif;}
.field-pass-footnote{margin:14px auto 0;max-width:900px;font-weight:800;font-size:13px;text-align:center;color:#333;}

/* Prices cleanup + video */
.upgraded-price-page{padding-top:22px;}
.price-section-block{margin:30px 0;scroll-margin-top:80px;}
.price-card-readable{padding:20px;text-align:left;}
.price-card-readable h3{text-align:left;font-size:1.3rem;}
.price-card-readable .price-chip{font-size:13px;line-height:1.25;white-space:normal;}
.price-card-readable ul{margin-top:10px;}
.package-card li{line-height:1.35;}
.package-grid-featured{grid-template-columns:repeat(3,minmax(0,1fr));}
.featured-package{transform:translateY(-8px);border-top-color:var(--eas-blue);box-shadow:0 12px 0 rgba(23,109,203,.13),0 18px 30px rgba(0,0,0,.12);}
.package-tag{display:inline-block;margin-bottom:9px;padding:5px 9px;background:#111;color:#fff;border-radius:999px;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;}
.airsoft-glow-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(300px,.9fr);gap:16px;align-items:stretch;}
.glow-video-card{padding:14px;background:linear-gradient(145deg,#111,#291456);color:#fff;border-radius:16px;border:1px solid rgba(255,255,255,.2);box-shadow:0 18px 36px rgba(20,0,60,.24);}
.real-video-shell video,.video-frame video{display:block;width:100%;height:100%;border:0;border-radius:12px;object-fit:cover;background:#000;}
.glow-video-shell{aspect-ratio:16/11;min-height:220px;}
.glow-video-card h3{margin:12px 0 5px;color:#ffe45c;text-transform:uppercase;letter-spacing:.05em;}
.glow-video-card p{font-weight:800;font-size:13px;color:#f5efff;}
.price-pass-cta{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;}
.price-pass-cta h2{margin-bottom:.35rem;}

/* About field video */
.field-video-section{margin:28px 0;}
.video-feature-card{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;align-items:center;padding:18px;background:rgba(255,255,255,.78);border:1px solid rgba(0,0,0,.15);border-radius:18px;box-shadow:0 12px 28px rgba(0,0,0,.1);}
.video-frame{aspect-ratio:16/9;border:3px solid rgba(0,0,0,.22);border-radius:14px;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.16);background:#000;}
.field-gallery-grid img{height:175px;}

/* Weather policy: larger animated icons */
.animated-weather-panel{gap:16px;align-items:stretch;}
.weather-icon-card{flex:1;min-width:112px;display:grid;place-items:center;gap:10px;padding:16px 10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px;color:#fff;text-align:center;box-shadow:inset 0 0 22px rgba(255,255,255,.05)}
.weather-icon-card strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;}
.weather-anim{width:110px;height:108px;}
.weather-anim .cloud{left:16px;top:34px;width:76px;height:36px;box-shadow:21px -14px 0 0 #cfd8df,-19px -9px 0 0 #f7f9fa,0 8px 18px rgba(0,0,0,.25);}
.weather-rain i{top:78px;height:24px;width:6px;}
.weather-rain i:nth-child(2){left:30px}.weather-rain i:nth-child(3){left:54px}.weather-rain i:nth-child(4){left:78px}
.weather-lightning b{left:48px;top:64px;width:34px;height:48px;}
.weather-wind span:nth-child(1){width:86px}.weather-wind span:nth-child(2){width:112px}.weather-wind span:nth-child(3){width:70px}

/* Contact page cleanup */
.contact-quick-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 auto 22px;}
.contact-quick-strip a{display:block;padding:14px 16px;text-align:center;background:linear-gradient(180deg,#fff,#efffec);border:1px solid rgba(0,0,0,.15);border-top:5px solid var(--eas-green);border-radius:14px;box-shadow:0 8px 0 rgba(0,0,0,.05);}
.contact-quick-strip strong,.contact-quick-strip span{display:block;}
.contact-quick-strip strong{text-transform:uppercase;color:#0b57b8;letter-spacing:.06em;font-size:12px;}
.contact-quick-strip span{font-weight:900;color:#222;font-size:13px;margin-top:3px;}
.contact-form-pro select{width:100%;margin-top:3px;padding:10px;background:#fff;color:#111;border:2px solid rgba(23,109,203,.25);border-radius:9px;font:inherit;}
.contact-layout-pro{align-items:start;}
.contact-info-panel{position:relative;overflow:hidden;}
.contact-info-panel::after{content:"";position:absolute;right:-38px;bottom:-46px;width:160px;height:160px;background:radial-gradient(circle,rgba(118,201,103,.38) 0 46px,transparent 50px);}
.contact-method-grid a{position:relative;z-index:1;}
.contact-form-pro{border-radius:18px;border:1px solid rgba(0,0,0,.14);box-shadow:0 14px 30px rgba(0,0,0,.1);}

/* Loyalty cleanup */
.upgraded-loyalty-page .field-pass-showcase{margin-top:24px;}
.loyalty-steps-pro{margin-top:18px;}
.loyalty-steps-pro article{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(242,255,238,.9));}
.loyalty-note{display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;}

@media(max-width:1120px){
  .original-logo-wall,.shop-brand-panel .original-logo-wall{grid-template-columns:repeat(4,minmax(96px,1fr));}
  .airsoft-glow-grid{grid-template-columns:1fr 1fr}.glow-video-card{grid-column:1/-1}.price-pass-cta{grid-template-columns:1fr;text-align:center}.video-feature-card{grid-template-columns:1fr}.field-pass-teaser{grid-template-columns:1fr;text-align:center}.pass-teaser-prices{grid-template-columns:1fr 1fr;min-width:0}.field-pass-grid{grid-template-columns:1fr}.loyalty-note{grid-template-columns:1fr;text-align:center}
}
@media(max-width:760px){
  .top-nav-ribbon{min-height:40px}.ribbon-menu{min-height:auto}.ribbon-menu a{min-height:40px;font-size:11px}.mobile-menu-button{height:40px;font-size:12px}
  .original-logo-wall,.shop-brand-panel .original-logo-wall{grid-template-columns:repeat(3,minmax(82px,1fr));gap:6px}.proshop-logo-card,.proshop-logo-card img{height:72px;min-height:72px}.contact-quick-strip{grid-template-columns:1fr}.pass-teaser-prices{grid-template-columns:1fr}.pass-card-header{min-height:112px}.pass-card-header::after{width:76px;height:62px}.field-pass-card th,.field-pass-card td{font-size:12px;padding:9px 7px}.weather-policy-card{gap:14px}.animated-weather-panel{flex-direction:column}.weather-icon-card{min-height:136px}.weather-anim{width:94px;height:94px}.price-card-readable h3{font-size:1.18rem}
}
@media(max-width:450px){.original-logo-wall,.shop-brand-panel .original-logo-wall{grid-template-columns:repeat(2,minmax(82px,1fr));}.pass-card-header{display:block}.pass-card-header h3{margin-top:8px}.field-pass-card th:first-child,.field-pass-card td:first-child{width:auto}.field-pass-card th,.field-pass-card td{font-size:11px}}

/* ===== v7 cleanup pass: tighter pro-shop, bigger glowball, cleaner passes/weather ===== */
.home-intro.page-frame{
  width:min(1180px,calc(100% - 28px));
}

/* Stocked pro-shop: keep the original wall feeling, but stop logo cropping/overlap */
.proshop-wall{
  width:100%;
  max-width:1100px;
  grid-template-columns:minmax(0,1fr) minmax(260px,310px);
  gap:16px;
  align-items:stretch;
  padding:16px;
  overflow:hidden;
}
.original-logo-wall,
.shop-brand-panel .original-logo-wall{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  align-content:center;
  min-width:0;
  padding:8px;
  background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(234,255,226,.24));
  border-radius:14px;
}
.proshop-logo-card,
.shop-brand-panel .proshop-logo-card{
  min-height:0;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:5px;
  background:#050505;
  border:1px solid rgba(0,0,0,.55);
  border-radius:8px;
  box-shadow:0 8px 14px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.06);
  overflow:hidden;
}
.proshop-logo-card img,
.shop-brand-panel .proshop-logo-card img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
  filter:none;
  transform:none;
}
.proshop-logo-card:hover img,
.shop-brand-panel .proshop-logo-card:hover img{
  transform:scale(1.035);
  filter:saturate(1.06) brightness(1.04);
}
.proshop-logo-card span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.proshop-note{
  min-width:0;
  padding:22px 18px;
  border-radius:18px;
  justify-content:center;
  align-items:center;
  box-shadow:0 10px 0 rgba(0,0,0,.08),0 16px 26px rgba(0,0,0,.12);
}
.proshop-note h2{
  margin-bottom:10px;
  font-size:clamp(1.35rem,2.7vw,2rem);
  line-height:1.08;
  letter-spacing:.12em;
}
.proshop-note p{font-size:15px;line-height:1.36;}

/* Prices: place Glowball video below the cards and let it breathe */
.cleaned-glow-packages{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.glow-video-wide{
  margin:18px auto 0;
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr);
  gap:20px;
  align-items:center;
  padding:18px;
  max-width:100%;
  background:
    radial-gradient(circle at 16% 18%,rgba(184,255,76,.24),transparent 26%),
    radial-gradient(circle at 80% 82%,rgba(79,37,185,.38),transparent 35%),
    linear-gradient(145deg,#090319,#1b0747 58%,#0b1328);
}
.glow-video-wide .glow-video-shell{
  aspect-ratio:16/9;
  min-height:360px;
  border-width:3px;
  border-color:rgba(189,255,76,.62);
}
.glow-video-wide video{object-fit:cover;}
.glow-video-copy h3{
  margin:.25rem 0 .55rem;
  color:#ffe45c;
  font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;
  font-size:clamp(2rem,4.2vw,3.35rem);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.glow-video-copy p:not(.section-kicker){font-size:15px;line-height:1.45;color:#f4edff;font-weight:800;}
.glow-video-copy .rounded-blue{margin-top:6px;}

/* Field passes: simplify the headers and remove logo overlays */
.field-pass-showcase{
  padding:26px;
  border-radius:22px;
}
.field-pass-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.field-pass-card{
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 12px 0 rgba(0,0,0,.06),0 20px 34px rgba(0,0,0,.12);
}
.pass-card-header{
  min-height:0;
  display:block;
  padding:22px 20px 18px;
  background:
    radial-gradient(circle at 90% 20%,rgba(118,201,103,.34),transparent 26%),
    linear-gradient(135deg,#ffffff,#f3fff0 64%,rgba(118,201,103,.36));
}
.airsoft-pass .pass-card-header{
  background:
    radial-gradient(circle at 90% 20%,rgba(23,109,203,.24),transparent 27%),
    linear-gradient(135deg,#ffffff,#eff8ff 64%,rgba(118,201,103,.3));
}
.pass-card-header::after{display:none;}
.pass-card-header span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin-bottom:10px;
  padding:5px 10px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-family:Arial,Helvetica,sans-serif;
  font-size:12px;
  line-height:1;
  letter-spacing:.12em;
  text-shadow:none;
}
.pass-card-header h3{
  display:block;
  margin:0;
  padding:0;
  background:transparent;
  color:#000;
  font-size:clamp(2.4rem,5vw,4rem);
  line-height:.86;
  letter-spacing:.04em;
  text-shadow:2px 3px 0 rgba(118,201,103,.28);
}
.pass-prices b{
  padding:14px 10px;
  font-size:clamp(1.05rem,2.2vw,1.55rem);
}
.field-pass-card th,
.field-pass-card td{
  padding:13px 11px;
  font-size:13px;
}
.field-pass-card td:first-child{font-weight:900;}
.field-pass-footnote{
  margin-top:16px;
  padding:12px 14px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
}

/* Weather policy: solid cards, contained animations, no see-through icon boxes */
.weather-policy-card{
  grid-template-columns:1fr;
  max-width:980px;
}
.animated-weather-panel{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:stretch;
  min-height:0;
  padding:18px;
  background:
    radial-gradient(circle at 10% 15%,rgba(82,183,255,.18),transparent 28%),
    linear-gradient(145deg,#132131,#2a4e64);
  border:1px solid rgba(255,255,255,.16);
  border-radius:20px;
}
.weather-icon-card{
  min-width:0;
  min-height:175px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:18px 12px;
  background:linear-gradient(180deg,#2d4557,#203544);
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  overflow:hidden;
  color:#fff;
}
.weather-icon-card strong{
  max-width:100%;
  font-size:12px;
  line-height:1.15;
  text-align:center;
  white-space:normal;
}
.weather-anim{
  width:112px;
  height:106px;
  flex:0 0 auto;
  transform:scale(.95);
  transform-origin:center;
}
.weather-anim .cloud{background:#eef3f7;}
.weather-wind{width:120px;align-items:center;}

/* Loyalty page: field passes removed, reward section centered */
.upgraded-loyalty-page .loyalty-steps-pro{
  margin-top:24px;
}
.upgraded-loyalty-page .loyalty-note{
  margin-top:24px;
}

@media(max-width:1120px){
  .home-intro.page-frame{width:min(1000px,calc(100% - 28px));}
  .proshop-wall{grid-template-columns:1fr;max-width:760px;}
  .original-logo-wall,.shop-brand-panel .original-logo-wall{grid-template-columns:repeat(4,minmax(0,1fr));}
  .proshop-note{max-width:100%;}
  .glow-video-wide{grid-template-columns:1fr;}
  .glow-video-wide .glow-video-shell{min-height:300px;}
}
@media(max-width:760px){
  .top-nav-ribbon{min-height:42px;}
  .ribbon-menu a{min-height:42px;font-size:11px;}
  .original-logo-wall,.shop-brand-panel .original-logo-wall{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;}
  .proshop-logo-card,.shop-brand-panel .proshop-logo-card{height:74px;min-height:0;}
  .cleaned-glow-packages{grid-template-columns:1fr;}
  .glow-video-wide{padding:14px;}
  .glow-video-wide .glow-video-shell{min-height:230px;}
  .field-pass-grid{grid-template-columns:1fr;}
  .field-pass-showcase{padding:18px 14px;}
  .pass-card-header h3{font-size:2.5rem;}
  .weather-policy-card{grid-template-columns:1fr;}
  .animated-weather-panel{grid-template-columns:1fr;}
  .weather-icon-card{min-height:145px;}
}
@media(max-width:450px){
  .original-logo-wall,.shop-brand-panel .original-logo-wall{grid-template-columns:repeat(2,minmax(0,1fr));}
  .proshop-logo-card,.shop-brand-panel .proshop-logo-card{height:70px;}
  .glow-video-wide .glow-video-shell{min-height:200px;}
  .field-pass-card th,.field-pass-card td{font-size:11px;padding:9px 7px;}
}

/* ===== v8 requested cleanup: real JPG brand logos, safer price anchors, stronger price buttons, simpler loyalty ===== */
/* Brand logo wall — square, contained logo tiles so the JPG brand files do not crop or overlap the note. */
.proshop-wall{
  max-width:1160px;
  grid-template-columns:minmax(0,1fr) minmax(285px,320px);
  gap:18px;
  align-items:center;
  overflow:visible;
}
.original-logo-wall,
.shop-brand-panel .original-logo-wall{
  grid-template-columns:repeat(6,minmax(86px,1fr));
  gap:10px;
  padding:10px;
  align-items:center;
  justify-items:stretch;
  border-radius:16px;
}
.proshop-logo-card,
.shop-brand-panel .proshop-logo-card{
  aspect-ratio:1/1;
  height:auto;
  min-height:0;
  padding:8px;
  border-radius:9px;
  background:linear-gradient(145deg,#040404,#151515);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 16px rgba(0,0,0,.22),inset 0 0 0 1px rgba(255,255,255,.08);
}
.proshop-logo-card img,
.shop-brand-panel .proshop-logo-card img{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:4px;
}
.proshop-logo-card:hover,
.shop-brand-panel .proshop-logo-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 22px rgba(0,0,0,.26),0 0 0 2px rgba(118,201,103,.45),inset 0 0 0 1px rgba(255,255,255,.12);
}
.proshop-logo-card:hover img,
.shop-brand-panel .proshop-logo-card:hover img{
  transform:scale(1.018);
}
.proshop-note{
  align-self:stretch;
  padding:24px 20px;
}
.proshop-note h2{word-break:normal;}

/* Prices page jump links: keep section tops from hiding under the sticky green tab bar. */
body[data-page="prices"] .price-section-block,
body[data-page="prices"] #rental-packages,
body[data-page="prices"] #parties,
body[data-page="prices"] #own-gear,
body[data-page="prices"] #airsoft,
body[data-page="prices"] #glowball{
  scroll-margin-top:112px;
}
body[data-page="prices"] .price-jump-row a{
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
body[data-page="prices"] .price-jump-row a:hover{
  transform:translateY(-2px);
  box-shadow:0 7px 14px rgba(0,0,0,.18);
}

/* Bigger, clickable price bubbles that read like booking CTAs. */
body[data-page="prices"] .price-chip.book-price-chip,
body[data-page="prices"] .price-card-readable .price-chip.book-price-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  max-width:100%;
  margin:13px 0 10px;
  padding:10px 17px;
  min-height:40px;
  background:linear-gradient(180deg,#2f8dff 0%,#176dcb 55%,#0a4fa9 100%);
  color:#fff;
  border:2px solid rgba(255,255,255,.9);
  border-radius:999px;
  box-shadow:0 8px 0 rgba(0,0,0,.08),0 10px 20px rgba(23,109,203,.26),inset 0 1px 0 rgba(255,255,255,.55);
  font-size:clamp(14px,1.3vw,17px);
  line-height:1.18;
  font-weight:950;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
}
body[data-page="prices"] .price-chip.book-price-chip::after{
  content:"Book";
  display:inline-flex;
  align-items:center;
  padding:4px 7px;
  border-radius:999px;
  background:rgba(0,0,0,.28);
  color:#fff;
  font-size:10px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body[data-page="prices"] .price-chip.book-price-chip:hover,
body[data-page="prices"] .price-chip.book-price-chip:focus-visible{
  transform:translateY(-2px);
  background:linear-gradient(180deg,#48a0ff 0%,#176dcb 52%,#073f8b 100%);
  box-shadow:0 11px 0 rgba(0,0,0,.09),0 16px 25px rgba(23,109,203,.32),inset 0 1px 0 rgba(255,255,255,.62);
}

/* Loyalty page — remove the extra shop CTA and make the three reward cards easier to read. */
.upgraded-loyalty-page .loyalty-steps-pro{
  align-items:stretch;
  gap:18px;
}
.upgraded-loyalty-page .loyalty-steps-pro article{
  min-height:230px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
  padding:24px 22px;
  text-align:left;
}
.upgraded-loyalty-page .loyalty-steps-pro article span{
  margin-bottom:4px;
  flex:0 0 auto;
}
.upgraded-loyalty-page .loyalty-steps-pro article h2{
  margin:0 0 2px;
  font-size:clamp(1.35rem,2.1vw,1.75rem);
}
.upgraded-loyalty-page .loyalty-steps-pro article p{
  margin:0;
  font-size:15px;
  line-height:1.48;
  font-weight:800;
  color:#222;
}
.loyalty-simple-note{
  max-width:760px;
  margin:22px auto 0;
  padding:13px 16px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.13);
  text-align:center;
  font-weight:900;
  color:#222;
}

@media(max-width:1120px){
  .proshop-wall{grid-template-columns:1fr;max-width:820px;}
  .original-logo-wall,.shop-brand-panel .original-logo-wall{grid-template-columns:repeat(4,minmax(84px,1fr));}
  .proshop-note{align-self:auto;}
}
@media(max-width:760px){
  .original-logo-wall,.shop-brand-panel .original-logo-wall{grid-template-columns:repeat(3,minmax(74px,1fr));gap:8px;padding:8px;}
  body[data-page="prices"] .price-chip.book-price-chip::after{display:none;}
  .upgraded-loyalty-page .loyalty-steps-pro article{min-height:0;align-items:center;text-align:center;}
  .loyalty-simple-note{border-radius:16px;}
}
@media(max-width:450px){
  .original-logo-wall,.shop-brand-panel .original-logo-wall{grid-template-columns:repeat(2,minmax(80px,1fr));}
}


/* === v9 cleanup pass ===
   Removes bottom footer area and returns price chips to their previous compact size
   while keeping the booking link behavior. */
.site-footer{display:none!important;}

body[data-page="prices"] .price-chip.book-price-chip,
body[data-page="prices"] .price-card-readable .price-chip.book-price-chip{
  display:inline-block;
  width:auto;
  min-height:0;
  margin:10px 0;
  padding:6px 11px;
  background:linear-gradient(#1879fa,#0d6dde);
  color:#fff;
  border:0;
  border-radius:999px;
  box-shadow:0 4px 9px rgba(13,109,222,.22);
  font-size:12px;
  line-height:1.25;
  font-weight:950;
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease;
}
body[data-page="prices"] .price-chip.book-price-chip::after,
body[data-page="prices"] .price-card-readable .price-chip.book-price-chip::after{
  content:none!important;
  display:none!important;
}
body[data-page="prices"] .price-chip.book-price-chip:hover,
body[data-page="prices"] .price-chip.book-price-chip:focus-visible{
  transform:translateY(-1px);
  background:linear-gradient(#2f8dff,#0d6dde);
  box-shadow:0 6px 13px rgba(13,109,222,.3);
}

/* Keep shop page tighter now that the duplicated pro-shop brand grid is removed. */
body[data-page="shop"] .shop-frame{
  margin-bottom:44px;
}

/* === v10.1 carousel cleanup: local assets/photos, transparent arrows, no captions === */
.home-carousel-wrap{
  width:min(860px,100%);
  margin:16px auto 8px;
}
.home-carousel-shell{
  position:relative;
  overflow:hidden;
  min-height:360px;
  aspect-ratio:16/8.4;
  border:4px solid rgba(0,0,0,.18);
  border-radius:18px;
  background:
    radial-gradient(circle at 12% 14%,rgba(118,201,103,.24),transparent 28%),
    linear-gradient(145deg,#111,#27481d);
  box-shadow:0 18px 38px rgba(0,0,0,.22),0 7px 0 rgba(23,109,203,.22);
}
.home-carousel-track,
.home-carousel-slide{
  position:absolute;
  inset:0;
}
.home-carousel-slide{
  margin:0;
  opacity:0;
  transform:scale(1.025);
  transition:opacity .7s ease, transform 1.1s ease;
  pointer-events:none;
}
.home-carousel-slide.is-active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}
.home-carousel-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(1.05) contrast(1.02);
}
.home-carousel-slide figcaption{display:none!important;}
.home-carousel-shell::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(0,0,0,.22),transparent 18%,transparent 82%,rgba(0,0,0,.22)),
    radial-gradient(circle at 8% 15%,rgba(118,201,103,.22),transparent 20%),
    radial-gradient(circle at 92% 82%,rgba(255,215,53,.16),transparent 18%);
}
.carousel-control{
  position:absolute;
  top:50%;
  z-index:5;
  width:54px;
  height:86px;
  display:grid;
  place-items:center;
  transform:translateY(-50%);
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:rgba(245,248,245,.9);
  font-family:Georgia,'Times New Roman',serif;
  font-size:76px;
  font-weight:400;
  line-height:1;
  text-shadow:0 3px 8px rgba(0,0,0,.72),0 0 18px rgba(0,0,0,.45);
  cursor:pointer;
  transition:color .18s ease, transform .18s ease, text-shadow .18s ease, background .18s ease;
}
.carousel-prev{left:8px;}
.carousel-next{right:8px;}
.carousel-control:hover,
.carousel-control:focus-visible{
  color:#fff;
  background:rgba(0,0,0,.10);
  transform:translateY(-50%) scale(1.08);
  text-shadow:0 4px 10px rgba(0,0,0,.85),0 0 20px rgba(255,255,255,.28);
  outline:none;
}
.carousel-dots{
  position:absolute;
  left:50%;
  bottom:13px;
  z-index:6;
  display:flex;
  gap:8px;
  transform:translateX(-50%);
  padding:6px 9px;
  border-radius:999px;
  background:rgba(0,0,0,.28);
  backdrop-filter:blur(3px);
}
.carousel-dots button{
  width:9px;
  height:9px;
  padding:0;
  border:1px solid rgba(255,255,255,.8);
  border-radius:50%;
  background:rgba(255,255,255,.45);
  cursor:pointer;
}
.carousel-dots button.active,
.carousel-dots button:hover{
  background:var(--eas-green-bright);
  border-color:#fff;
  box-shadow:0 0 0 3px rgba(118,201,103,.24);
}
@media(max-width:760px){
  .home-carousel-shell{min-height:250px;aspect-ratio:16/10;border-width:3px;}
  .carousel-control{width:42px;height:70px;font-size:58px;}
  .carousel-prev{left:2px}.carousel-next{right:2px}
}
@media(max-width:420px){
  .home-carousel-shell{min-height:210px;}
  .carousel-dots{bottom:9px;gap:6px;}
  .carousel-dots button{width:8px;height:8px;}
}

/* === v12 carousel pass: use the full assets/photos set, no captions, no cropped photos === */
.home-carousel-wrap{
  width:min(1040px,100%);
  margin:18px auto 10px;
}
.home-carousel-shell{
  height:clamp(420px,58vw,760px);
  min-height:0;
  aspect-ratio:auto;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:14px;
  background:
    radial-gradient(circle at 14% 18%,rgba(118,201,103,.28),transparent 26%),
    radial-gradient(circle at 86% 82%,rgba(255,215,53,.16),transparent 22%),
    linear-gradient(145deg,#071007,#162912 48%,#0b151c);
}
.home-carousel-track,
.home-carousel-slide{
  position:absolute;
  inset:14px;
}
.home-carousel-slide{
  display:grid;
  place-items:center;
  margin:0;
  opacity:0;
  transform:scale(.99);
  transition:opacity .72s ease, transform 1.15s ease;
  pointer-events:none;
}
.home-carousel-slide.is-active{
  opacity:1;
  transform:scale(1);
  pointer-events:auto;
}
.home-carousel-slide img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  border-radius:12px;
  background:rgba(0,0,0,.18);
  filter:saturate(1.05) contrast(1.02);
  box-shadow:0 12px 30px rgba(0,0,0,.22);
}
.home-carousel-slide figcaption{display:none!important;}
.home-carousel-shell::after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.18),transparent 15%,transparent 85%,rgba(0,0,0,.18)),
    radial-gradient(circle at 8% 15%,rgba(118,201,103,.18),transparent 18%),
    radial-gradient(circle at 92% 82%,rgba(255,215,53,.12),transparent 18%);
}
.carousel-control{
  width:58px;
  height:94px;
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  color:rgba(248,250,248,.88);
  text-shadow:0 4px 10px rgba(0,0,0,.88),0 0 18px rgba(0,0,0,.55);
}
.carousel-control:hover,
.carousel-control:focus-visible{
  background:transparent!important;
  color:#fff;
  transform:translateY(-50%) scale(1.1);
  text-shadow:0 5px 12px rgba(0,0,0,.92),0 0 24px rgba(255,255,255,.38);
}
.carousel-dots{
  max-width:calc(100% - 96px);
  flex-wrap:wrap;
  justify-content:center;
}
@media(max-width:760px){
  .home-carousel-shell{height:clamp(280px,70vw,500px);padding:10px;}
  .home-carousel-track,.home-carousel-slide{inset:10px;}
  .carousel-control{width:42px;height:72px;font-size:60px;}
}
@media(max-width:420px){
  .home-carousel-shell{height:clamp(240px,76vw,380px);padding:8px;}
  .home-carousel-track,.home-carousel-slide{inset:8px;}
}


/* === v13 carousel full-photo treatment ===
   Keeps every carousel image uncropped, preserves its original proportions,
   and avoids forcing small/vertical images to stretch or look grainy. */
.home-carousel-wrap{
  width:min(1120px,100%);
  margin:18px auto 12px;
}
.home-carousel-shell{
  height:auto!important;
  min-height:clamp(360px,54vw,680px);
  max-height:none;
  display:block;
  padding:16px;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 16%,rgba(118,201,103,.24),transparent 30%),
    radial-gradient(circle at 86% 82%,rgba(255,215,53,.13),transparent 24%),
    linear-gradient(145deg,#071007,#142410 48%,#081018);
}
.home-carousel-track{
  position:relative!important;
  inset:auto!important;
  width:100%;
  min-height:clamp(320px,50vw,640px);
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:14px;
}
.home-carousel-slide{
  position:relative!important;
  inset:auto!important;
  grid-area:1 / 1;
  width:100%;
  min-width:0;
  min-height:clamp(320px,50vw,640px);
  display:grid;
  place-items:center;
  padding:10px;
  overflow:hidden;
  isolation:isolate;
}
.home-carousel-slide::before{
  content:"";
  position:absolute;
  inset:-28px;
  z-index:-1;
  background-image:var(--slide-bg);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  filter:blur(26px) saturate(1.08) brightness(.72);
  transform:scale(1.08);
  opacity:.34;
}
.home-carousel-slide::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at center,rgba(0,0,0,.08),rgba(0,0,0,.34));
}
.home-carousel-slide img{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:min(76vh,720px)!important;
  object-fit:contain!important;
  object-position:center!important;
  border-radius:12px;
  background:transparent!important;
  filter:none!important;
  image-rendering:auto;
  box-shadow:0 16px 36px rgba(0,0,0,.32);
}
.home-carousel-wrap[data-carousel-orientation="portrait"] .home-carousel-slide.is-active img{
  max-height:min(80vh,760px)!important;
}
.home-carousel-shell::after{
  background:
    linear-gradient(90deg,rgba(0,0,0,.16),transparent 14%,transparent 86%,rgba(0,0,0,.16)),
    radial-gradient(circle at 8% 15%,rgba(118,201,103,.14),transparent 18%),
    radial-gradient(circle at 92% 82%,rgba(255,215,53,.10),transparent 18%);
}
.carousel-control{
  z-index:10;
}
.carousel-dots{
  z-index:11;
}
@media(max-width:760px){
  .home-carousel-shell{
    min-height:clamp(300px,82vw,520px);
    padding:10px;
  }
  .home-carousel-track,
  .home-carousel-slide{
    min-height:clamp(270px,78vw,490px);
  }
  .home-carousel-slide{padding:8px;}
  .home-carousel-slide img{
    max-height:min(74vh,500px)!important;
  }
}
@media(max-width:420px){
  .home-carousel-shell{
    min-height:clamp(260px,92vw,440px);
    padding:8px;
  }
  .home-carousel-track,
  .home-carousel-slide{
    min-height:clamp(238px,88vw,410px);
  }
  .home-carousel-slide img{
    max-height:min(72vh,410px)!important;
  }
}

/* === v14 homepage flow + anchor cleanup ===
   Redesigns the Welcome CTA area, removes the redundant Play/Reserve/Shop panel,
   highlights Glowball on the home page, and prevents anchored sections from hiding
   under the sticky tab/header area. */
html{
  scroll-padding-top:128px;
}
[id]{scroll-margin-top:128px;}
body[data-page="loyalty"] #rewards{scroll-margin-top:138px;}

.welcome-feature{
  width:min(900px,100%);
  margin:4px auto 22px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,280px);
  gap:22px;
  align-items:center;
  padding:22px clamp(18px,3vw,30px);
  border:1px solid rgba(23,109,203,.22);
  border-left:8px solid var(--eas-green);
  border-right:8px solid var(--eas-blue);
  border-radius:20px;
  background:
    radial-gradient(circle at 7% 14%,rgba(118,201,103,.22) 0 34px,transparent 38px),
    radial-gradient(circle at 92% 82%,rgba(255,215,53,.24) 0 42px,transparent 48px),
    linear-gradient(135deg,rgba(255,255,255,.90),rgba(238,255,232,.82));
  box-shadow:0 18px 38px rgba(25,60,20,.16), inset 0 0 0 1px rgba(255,255,255,.72);
  text-align:left;
}
.welcome-copy h1{
  margin:.08rem 0 .55rem;
  max-width:560px;
  font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;
  font-size:clamp(3.25rem,8.4vw,6.7rem);
  line-height:.82;
  letter-spacing:.035em;
  text-transform:uppercase;
  color:#050505;
  text-shadow:2px 3px 0 rgba(118,201,103,.33),4px 6px 0 rgba(0,0,0,.08);
}
.welcome-copy p:not(.section-kicker){
  max-width:620px;
  margin:0 0 .85rem;
  color:#1b1b1b;
  font-size:clamp(14px,1.8vw,17px);
  line-height:1.42;
  font-weight:850;
}
.welcome-quick-facts{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.welcome-quick-facts span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:6px 9px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:10px;
  font-weight:950;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.welcome-quick-facts span:nth-child(2){background:var(--eas-blue)}
.welcome-quick-facts span:nth-child(3){background:var(--eas-green-deep)}
.welcome-action-card{
  display:grid;
  gap:11px;
  align-content:center;
  justify-items:stretch;
  padding:18px;
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(255,215,53,.96),rgba(255,235,111,.92));
  border:2px solid rgba(0,0,0,.16);
  box-shadow:0 10px 0 rgba(0,0,0,.08),0 16px 28px rgba(0,0,0,.12);
}
.welcome-action-card p{
  margin:0 0 2px;
  text-align:center;
  color:#0b57b8;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.welcome-action-card .rounded-blue{width:100%;min-height:42px;}
.rounded-blue.secondary-action{
  background:linear-gradient(#1f1f1f,#050505);
  box-shadow:0 4px 0 rgba(0,0,0,.36),0 10px 20px rgba(0,0,0,.18);
}
.rounded-blue.tertiary-action{
  background:linear-gradient(#69ca5b,#39a631);
  box-shadow:0 4px 0 #1f6d19,0 10px 20px rgba(37,87,30,.22);
}

.home-glow-highlight{
  width:min(980px,100%);
  margin:22px auto 26px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,.86fr);
  gap:22px;
  align-items:center;
  padding:20px;
  border-radius:22px;
  border:1px solid rgba(189,255,76,.42);
  border-top:6px solid var(--eas-glow);
  border-bottom:7px solid var(--eas-purple);
  background:
    radial-gradient(circle at 16% 18%,rgba(189,255,76,.28),transparent 30%),
    radial-gradient(circle at 84% 74%,rgba(107,50,255,.34),transparent 34%),
    linear-gradient(145deg,#090319,#1a0845 58%,#071427);
  box-shadow:0 22px 46px rgba(44,0,118,.22),0 0 26px rgba(189,255,76,.12);
  color:#fff;
  overflow:hidden;
  position:relative;
}
.home-glow-highlight::before{
  content:"";
  position:absolute;
  inset:-40px auto auto -60px;
  width:190px;
  height:190px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(189,255,76,.28) 0 40px,transparent 44px),radial-gradient(circle at 68% 70%,rgba(255,215,53,.2) 0 24px,transparent 28px);
  pointer-events:none;
}
.home-glow-highlight>*{position:relative;z-index:1;}
.glow-highlight-copy{text-align:left;}
.glow-highlight-copy .section-kicker{color:#bdff4c;}
.glow-highlight-copy h2{
  margin:.1rem 0 .6rem;
  font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;
  font-size:clamp(2.35rem,5.8vw,4.8rem);
  line-height:.86;
  letter-spacing:.045em;
  text-transform:uppercase;
  color:#ffe45c;
  text-shadow:2px 3px 0 rgba(0,0,0,.42),0 0 18px rgba(189,255,76,.18);
}
.glow-highlight-copy p:not(.section-kicker){
  max-width:620px;
  margin:0 0 1rem;
  color:#f4edff;
  font-size:15px;
  line-height:1.45;
  font-weight:850;
}
.glow-highlight-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.glow-highlight-video{
  aspect-ratio:16/10;
  min-height:220px;
  border-radius:16px;
  overflow:hidden;
  border:3px solid rgba(189,255,76,.58);
  background:#000;
  box-shadow:0 0 28px rgba(107,50,255,.36),0 14px 26px rgba(0,0,0,.32);
}
.glow-highlight-video video{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#000;
}

/* Keep the carousel polished after the welcome redesign. */
.home-carousel-wrap{margin-top:18px;margin-bottom:20px;}

@media(max-width:860px){
  .welcome-feature,
  .home-glow-highlight{grid-template-columns:1fr;text-align:center;}
  .welcome-copy,.glow-highlight-copy{text-align:center;}
  .welcome-copy h1{margin-left:auto;margin-right:auto;}
  .welcome-quick-facts,.glow-highlight-actions{justify-content:center;}
  .welcome-action-card{width:min(360px,100%);margin:0 auto;}
  .home-glow-highlight{padding:17px;}
  .glow-highlight-video{min-height:210px;}
}
@media(max-width:520px){
  .welcome-feature{padding:18px 14px;border-left-width:5px;border-right-width:5px;}
  .welcome-copy h1{font-size:clamp(2.8rem,14vw,4.15rem);}
  .welcome-quick-facts span{width:100%;justify-content:center;}
  .home-glow-highlight{border-radius:18px;padding:14px;}
  .glow-highlight-actions .rounded-blue{width:100%;}
  .glow-highlight-video{min-height:185px;}
}

/* === v15 final polish pass ===
   - Adds breathing room to the redesigned Welcome headline.
   - Enlarges the first intro/photo area slightly so the hero image feels stronger.
   - Removes broad hover/lift effects from cards and image panels.
   - Keeps only subtle hover feedback on true action buttons / CTA links. */
body[data-page="home"] .welcome-feature{
  width:min(960px,100%);
  gap:28px;
  padding:26px clamp(22px,3.2vw,36px);
}
body[data-page="home"] .welcome-copy .section-kicker{
  margin-bottom:10px;
  letter-spacing:.22em;
}
body[data-page="home"] .welcome-copy h1{
  max-width:620px;
  line-height:.9;
  letter-spacing:.052em;
  word-spacing:.05em;
  margin-bottom:.72rem;
}
body[data-page="home"] .welcome-copy p:not(.section-kicker){
  line-height:1.52;
}

body[data-page="home"] .home-hero-pair{
  width:min(1120px,100%);
  grid-template-columns:minmax(320px,.82fr) minmax(420px,1.18fr);
  gap:28px;
  margin:22px auto 28px;
  align-items:stretch;
}
body[data-page="home"] .home-hero-pair .yellow-note{
  min-height:320px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:24px 24px;
  font-size:16px;
  line-height:1.52;
}
body[data-page="home"] .home-hero-pair .yellow-note p{
  margin-bottom:1.05rem;
}
body[data-page="home"] .home-hero-pair .yellow-note p:last-child{
  margin-bottom:0;
}
body[data-page="home"] .hero-photo{
  height:320px;
  border-width:3px;
}

/* Remove the general hover lift from content cards/photos/logo tiles. */
.motion-card:hover,
.package-card.motion-card:hover,
.offer-card.motion-card:hover,
.mini-card.motion-card:hover,
.proshop-logo-card.motion-card:hover,
.shop-card.motion-card:hover,
.field-gallery-grid article.motion-card:hover,
.contact-method-grid a.motion-card:hover,
.field-pass-card.motion-card:hover,
.field-pass-teaser.motion-card:hover,
.video-feature-card.motion-card:hover,
.weather-icon-card.motion-card:hover,
.contact-quick-strip a.motion-card:hover,
.yellow-note.motion-card:hover,
.green-panel.motion-card:hover{
  transform:none!important;
  filter:none!important;
}
.proshop-logo-card:hover,
.shop-brand-panel .proshop-logo-card:hover,
.proshop-logo-card:hover img,
.shop-brand-panel .proshop-logo-card:hover img{
  transform:none!important;
  filter:none!important;
}

/* Keep actual action buttons responsive, but make the effect quieter. */
a.rounded-blue:hover,
button.rounded-blue:hover,
.small-blue-btn:hover,
.send-button:hover,
.quick-view:hover,
body[data-page="prices"] .price-chip.book-price-chip:hover,
body[data-page="prices"] .price-chip.book-price-chip:focus-visible,
body[data-page="prices"] .price-jump-row a:hover,
.activity-pills a:hover,
.carousel-control:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.025)!important;
}
a.rounded-blue:hover,
button.rounded-blue:hover,
.small-blue-btn:hover{
  box-shadow:0 3px 0 #073c89,0 8px 15px rgba(11,94,215,.20)!important;
}
.rounded-blue.secondary-action:hover{
  box-shadow:0 3px 0 rgba(0,0,0,.34),0 8px 14px rgba(0,0,0,.16)!important;
}
.rounded-blue.tertiary-action:hover{
  box-shadow:0 3px 0 #1f6d19,0 8px 14px rgba(37,87,30,.18)!important;
}

@media(max-width:900px){
  body[data-page="home"] .home-hero-pair{
    grid-template-columns:1fr;
    gap:18px;
  }
  body[data-page="home"] .home-hero-pair .yellow-note{
    min-height:0;
  }
  body[data-page="home"] .hero-photo{
    height:300px;
  }
}
@media(max-width:520px){
  body[data-page="home"] .welcome-feature{
    padding:20px 16px;
  }
  body[data-page="home"] .welcome-copy h1{
    line-height:.94;
    letter-spacing:.035em;
  }
  body[data-page="home"] .hero-photo{
    height:235px;
  }
}

/* === v16 link hover paint splats ===
   Small randomized splatter overlays on clickable links/buttons. Uses the supplied
   transparent PNG splats in assets/paint-splats and does not affect layout. */
.link-hover-splat-layer{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:3000;
  overflow:hidden;
}
.link-hover-splat{
  position:absolute;
  width:var(--splat-size,32px);
  height:auto;
  left:var(--splat-x,0px);
  top:var(--splat-y,0px);
  opacity:0;
  pointer-events:none;
  user-select:none;
  transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(.58);
  transform-origin:center;
  filter:drop-shadow(0 2px 2px rgba(0,0,0,.12));
  mix-blend-mode:multiply;
  animation:linkSplatIn .28s cubic-bezier(.18,.9,.2,1.25) forwards;
}
.link-hover-splat.is-leaving{
  animation:linkSplatOut .18s ease-in forwards;
}
@keyframes linkSplatIn{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(.45)}
  72%{opacity:.9;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(1.08)}
  100%{opacity:.82;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(1)}
}
@keyframes linkSplatOut{
  from{opacity:.82;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(1)}
  to{opacity:0;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(.72)}
}
@media(prefers-reduced-motion:reduce){
  .link-hover-splat{display:none!important;}
}


/* === v18 cleanup pass ===
   Keeps paint-splat hover playful without covering important text, and excludes
   the main logo + homepage carousel from the hover effect. */
.link-hover-splat{
  opacity:0;
  max-width:34px;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.08));
  mix-blend-mode:multiply;
}
@keyframes linkSplatIn{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(.45)}
  72%{opacity:.42;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(1.06)}
  100%{opacity:.36;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(1)}
}
@keyframes linkSplatOut{
  from{opacity:.36;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(1)}
  to{opacity:0;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(.72)}
}
.brand-logo,
.home-carousel-wrap,
.home-carousel-wrap *{
  isolation:isolate;
}

/* Special Offers top image: use a larger, clearer presentation. */
body[data-page="specials"] .wide-strip-photo{
  width:min(1040px,100%);
  height:clamp(300px,38vw,470px);
  object-fit:cover;
  object-position:center;
  border-width:4px;
  border-radius:16px;
}
@media(max-width:760px){
  body[data-page="specials"] .wide-strip-photo{
    height:260px;
  }
}


/* === v19 cleanup pass ===
   Makes the Location page address easier to notice and makes hover splats
   slightly more visible while still staying behind/around text. */
body[data-page="location"] .address-block{
  padding:24px 22px;
  background:
    radial-gradient(circle at 88% 18%,rgba(118,201,103,.22),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(246,255,241,.86));
  border:2px solid rgba(23,109,203,.22);
  border-left:8px solid var(--eas-blue);
  border-radius:16px;
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}
body[data-page="location"] .address-block h2{
  margin:0 0 8px;
  font-size:clamp(1.15rem,2vw,1.55rem);
  letter-spacing:.12em;
}
body[data-page="location"] .address-block p:first-of-type{
  margin:0 0 16px;
  padding:14px 16px;
  background:linear-gradient(180deg,#ffe45c,#ffd735);
  border:2px solid rgba(0,0,0,.14);
  border-radius:12px;
  color:#111;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1.45rem,3.6vw,2.45rem);
  line-height:1.08;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.035em;
  box-shadow:0 7px 0 rgba(0,0,0,.08),0 12px 22px rgba(0,0,0,.08);
}
body[data-page="location"] .address-block p:first-of-type strong{
  display:block;
  color:#0b57b8;
  font-size:1.05em;
}
body[data-page="location"] .address-block p:nth-of-type(2){
  font-size:clamp(1rem,1.4vw,1.15rem);
  line-height:1.5;
}
body[data-page="location"] .address-block .rounded-blue{
  margin-top:6px;
}

/* Slightly more visible hover splats, still subtle enough to avoid blocking text. */
@keyframes linkSplatIn{
  0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(.45)}
  72%{opacity:.56;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(1.06)}
  100%{opacity:.48;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(1)}
}
@keyframes linkSplatOut{
  from{opacity:.48;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(1)}
  to{opacity:0;transform:translate(-50%,-50%) rotate(var(--splat-rotation,0deg)) scale(.72)}
}
.link-hover-splat{
  max-width:36px;
}
@media(max-width:760px){
  body[data-page="location"] .address-block{
    padding:18px 14px;
  }
  body[data-page="location"] .address-block p:first-of-type{
    font-size:1.45rem;
  }
}


/* === v20 location page address tone-down ===
   More like the original reference: bold blue address, cleaner spacing,
   no oversized yellow callout. */
body[data-page="location"] .address-block{
  padding:22px 20px;
  background:
    radial-gradient(circle at 88% 18%,rgba(118,201,103,.16),transparent 30%),
    rgba(255,255,255,.72);
  border:1px solid rgba(23,109,203,.16);
  border-left:5px solid var(--eas-blue);
  border-radius:16px;
  box-shadow:0 8px 20px rgba(0,0,0,.08);
  text-align:center;
}
body[data-page="location"] .address-block h2{
  display:inline-block;
  margin:0 0 8px;
  color:#176dcb;
  font-size:clamp(1.05rem,1.8vw,1.42rem);
  line-height:1;
  letter-spacing:.22em;
  text-decoration:underline;
  text-underline-offset:5px;
  text-shadow:
    1px 2px 0 rgba(255,255,255,.92),
    0 3px 6px rgba(0,0,0,.22);
}
body[data-page="location"] .address-block p:first-of-type{
  margin:0 auto 16px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  color:#176dcb;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(1.65rem,3vw,2.25rem);
  line-height:1.22;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.18em;
  text-shadow:
    2px 3px 0 rgba(255,255,255,.9),
    0 4px 8px rgba(0,0,0,.26);
}
body[data-page="location"] .address-block p:first-of-type strong{
  display:block;
  color:#176dcb;
  font-size:1em;
}
body[data-page="location"] .address-block p:nth-of-type(2){
  max-width:440px;
  margin-left:auto;
  margin-right:auto;
  color:#8d2820;
  font-size:clamp(.95rem,1.25vw,1.08rem);
  line-height:1.45;
  text-align:center;
}
@media(max-width:760px){
  body[data-page="location"] .address-block{
    padding:18px 14px;
  }
  body[data-page="location"] .address-block p:first-of-type{
    font-size:1.42rem;
    letter-spacing:.11em;
  }
}


/* === v21 prices update ===
   Small, easy-to-scan paint-by-the-case section on the Prices page. */
.paint-case-pricing{
  width:min(980px,100%);
  margin:18px auto 26px;
  display:grid;
  grid-template-columns:minmax(240px,.88fr) minmax(360px,1.12fr);
  gap:16px;
  align-items:stretch;
  padding:16px;
  background:
    radial-gradient(circle at 96% 12%,rgba(118,201,103,.22),transparent 28%),
    linear-gradient(135deg,rgba(255,255,255,.92),rgba(242,255,238,.86));
  border:1px solid rgba(0,0,0,.14);
  border-top:5px solid var(--eas-green);
  border-bottom:5px solid var(--eas-blue);
  border-radius:18px;
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}
.paint-case-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:left;
  padding:8px 10px;
}
.paint-case-copy h2{
  margin:.1rem 0 .45rem;
  font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;
  font-size:clamp(1.85rem,3.6vw,2.85rem);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:.045em;
  text-shadow:1px 2px 0 rgba(0,0,0,.10);
}
.paint-case-copy p:not(.section-kicker){
  margin:0;
  color:#222;
  font-size:14px;
  font-weight:800;
}
.paint-case-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.paint-case-card{
  min-height:134px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:16px 14px;
  text-align:center;
  background:#fff;
  border:1px solid rgba(0,0,0,.18);
  border-radius:14px;
  box-shadow:0 7px 0 rgba(0,0,0,.06);
  position:relative;
  overflow:hidden;
}
.paint-case-card::before{
  content:"";
  position:absolute;
  inset:auto -24px -34px auto;
  width:100px;
  height:100px;
  border-radius:50%;
  background:rgba(118,201,103,.20);
}
.paint-case-card span,
.paint-case-card strong,
.paint-case-card small{
  position:relative;
  z-index:1;
}
.paint-case-card span{
  color:#0b57b8;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.paint-case-card strong{
  margin:4px 0 2px;
  color:#111;
  font-family:Impact,Haettenschweiler,'Arial Black',sans-serif;
  font-size:clamp(2.5rem,5vw,3.7rem);
  line-height:1;
  letter-spacing:.04em;
}
.paint-case-card small{
  max-width:170px;
  color:#222;
  font-size:12px;
  line-height:1.25;
  font-weight:900;
}
.glow-case-card{
  background:
    radial-gradient(circle at 18% 16%,rgba(189,255,76,.28),transparent 28%),
    linear-gradient(145deg,#13042f,#26145a 72%);
  border-color:rgba(189,255,76,.46);
  color:#fff;
}
.glow-case-card::before{
  background:rgba(189,255,76,.24);
}
.glow-case-card span{
  color:#ffe45c;
}
.glow-case-card strong,
.glow-case-card small{
  color:#fff;
}
@media(max-width:760px){
  .paint-case-pricing{
    grid-template-columns:1fr;
    padding:14px;
  }
  .paint-case-copy{
    text-align:center;
  }
}
@media(max-width:480px){
  .paint-case-cards{
    grid-template-columns:1fr;
  }
}


/* === v23 finishing pass ===
   Re-applies the v22 polish on top of a complete v21 package so the homepage
   keeps its assets, CSS, scripts, and carousel behavior intact. */
.hero-splash-heading{
  width:fit-content;
  margin:2px auto 20px;
  padding:7px 22px 10px;
  position:relative;
  font-size:clamp(1.35rem,3.1vw,2.15rem);
  letter-spacing:.14em;
  color:#146fd3;
  text-shadow:0 1px 0 rgba(255,255,255,.95),0 6px 14px rgba(0,0,0,.14);
}
.hero-splash-heading::before,
.hero-splash-heading::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:-1;
  opacity:.86;
}
.hero-splash-heading::before{
  left:-28px;
  top:-11px;
  width:76px;
  height:56px;
  background:
    radial-gradient(circle at 36% 40%,rgba(72,211,58,.30) 0 16px,transparent 18px),
    radial-gradient(circle at 70% 28%,rgba(72,211,58,.21) 0 7px,transparent 9px),
    radial-gradient(circle at 78% 78%,rgba(23,109,203,.15) 0 10px,transparent 12px),
    radial-gradient(circle at 18% 72%,rgba(255,215,53,.20) 0 8px,transparent 10px);
}
.hero-splash-heading::after{
  right:-22px;
  bottom:-7px;
  width:82px;
  height:58px;
  background:
    radial-gradient(circle at 48% 42%,rgba(23,109,203,.20) 0 16px,transparent 18px),
    radial-gradient(circle at 22% 24%,rgba(255,94,0,.14) 0 9px,transparent 11px),
    radial-gradient(circle at 80% 68%,rgba(118,201,103,.18) 0 10px,transparent 12px);
}

.activities-logo-pair.single-main-logo{
  min-height:190px;
  padding:18px;
}
.activities-logo-pair.single-main-logo img{
  width:min(230px,100%);
  max-width:100%;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.14));
}

.paint-case-pricing.compact-under-rentals{
  max-width:760px;
  margin:18px auto 6px;
  padding:14px 16px;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  border-left:6px solid var(--eas-blue);
  border-top:1px solid rgba(23,109,203,.18);
  border-bottom:1px solid rgba(37,91,30,.18);
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
.paint-case-pricing.compact-under-rentals .paint-case-copy h2{
  font-size:clamp(1.55rem,2.6vw,2.2rem);
  margin:.05rem 0 .28rem;
}
.paint-case-pricing.compact-under-rentals .paint-case-copy p:not(.section-kicker){
  font-size:13px;
  line-height:1.38;
}
.paint-case-pricing.compact-under-rentals .paint-case-cards{
  gap:8px;
}
.paint-case-pricing.compact-under-rentals .paint-case-card{
  min-height:94px;
  padding:11px 12px;
}
.paint-case-pricing.compact-under-rentals .paint-case-card strong{
  font-size:clamp(1.7rem,3vw,2.3rem);
}
.paint-case-pricing.compact-under-rentals .paint-case-card small{
  font-size:10.5px;
}

.page-end-nav{
  display:flex;
  justify-content:center;
  margin:28px auto 6px;
}
.page-top-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 16px;
  border-radius:999px;
  background:linear-gradient(180deg,#1879fa 0%,#0f69d2 100%);
  color:#fff;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:12px;
  box-shadow:0 5px 0 rgba(0,0,0,.12),0 10px 18px rgba(23,109,203,.18);
}
.page-top-link:hover,
.page-top-link:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 6px 0 rgba(0,0,0,.12),0 12px 20px rgba(23,109,203,.22);
}

/* Tone down the loyalty image glow/overlay. */
.loyalty-hero-pro{
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}
.loyalty-hero-pro img{
  filter:brightness(.58) saturate(1.02)!important;
}
.loyalty-hero-pro::after{
  background:linear-gradient(90deg,rgba(0,0,0,.70),rgba(0,0,0,.32))!important;
}

@media(max-width:900px){
  .paint-case-pricing.compact-under-rentals{
    grid-template-columns:1fr;
    max-width:100%;
  }
}
@media(max-width:760px){
  .hero-splash-heading{
    font-size:clamp(1.12rem,4.8vw,1.55rem);
    letter-spacing:.11em;
    padding:6px 10px 8px;
  }
  .activities-callout{
    grid-template-columns:1fr;
    text-align:center;
  }
  .activities-copy{
    text-align:center;
  }
  .activity-pills{
    justify-content:center;
  }
  .paint-case-pricing.compact-under-rentals .paint-case-cards{
    grid-template-columns:1fr;
  }
}




/* === v24 homepage hero heading polish ===
   Make the "Hattiesburg's Premier Paintball Field!" callout larger, bolder,
   and surrounded by more playful paint splatter accents. */
.hero-splash-heading{
  margin:4px auto 22px;
  padding:10px 28px 14px;
  font-size:clamp(1.7rem,4vw,2.9rem);
  font-weight:950;
  letter-spacing:.12em;
  line-height:1.02;
  color:#0f68ce;
  text-shadow:
    0 1px 0 rgba(255,255,255,.98),
    0 4px 0 rgba(255,255,255,.72),
    0 8px 18px rgba(0,0,0,.18);
}
.hero-splash-heading::before,
.hero-splash-heading::after{
  opacity:.98;
}
.hero-splash-heading::before{
  left:-42px;
  top:-18px;
  width:116px;
  height:86px;
  background:
    radial-gradient(circle at 28% 36%,rgba(72,211,58,.38) 0 20px,transparent 22px),
    radial-gradient(circle at 48% 28%,rgba(72,211,58,.26) 0 10px,transparent 12px),
    radial-gradient(circle at 67% 18%,rgba(255,215,53,.24) 0 12px,transparent 14px),
    radial-gradient(circle at 72% 46%,rgba(23,109,203,.18) 0 12px,transparent 14px),
    radial-gradient(circle at 18% 72%,rgba(72,211,58,.18) 0 11px,transparent 13px),
    radial-gradient(circle at 58% 74%,rgba(255,138,29,.16) 0 10px,transparent 12px);
  transform:rotate(-8deg);
}
.hero-splash-heading::after{
  right:-36px;
  bottom:-15px;
  width:124px;
  height:88px;
  background:
    radial-gradient(circle at 40% 44%,rgba(23,109,203,.28) 0 19px,transparent 21px),
    radial-gradient(circle at 20% 24%,rgba(255,94,0,.15) 0 10px,transparent 12px),
    radial-gradient(circle at 74% 28%,rgba(118,201,103,.18) 0 11px,transparent 13px),
    radial-gradient(circle at 78% 68%,rgba(255,215,53,.20) 0 12px,transparent 14px),
    radial-gradient(circle at 28% 76%,rgba(23,109,203,.16) 0 9px,transparent 11px),
    radial-gradient(circle at 56% 78%,rgba(118,201,103,.18) 0 9px,transparent 11px);
  transform:rotate(6deg);
}

@media(max-width:760px){
  .hero-splash-heading{
    margin:2px auto 18px;
    padding:8px 12px 10px;
    font-size:clamp(1.28rem,6vw,1.9rem);
    letter-spacing:.09em;
  }
  .hero-splash-heading::before{
    left:-18px;
    top:-10px;
    width:68px;
    height:52px;
  }
  .hero-splash-heading::after{
    right:-16px;
    bottom:-8px;
    width:72px;
    height:54px;
  }
}



/* === v25 hero + back-to-top refinement ===
   Bigger, bolder homepage headline with paintball-hit splatter overlays.
   Back-to-top now matches the original site more closely. */

/* Homepage feature line */
.hero-splash-heading{
  width:100%;
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:108px;
  margin:4px auto 18px;
  padding:8px 18px 14px;
  background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,255,255,.14));
  border-radius:18px;
  overflow:visible;
}
.hero-splash-heading > span{
  position:relative;
  display:inline-block;
  padding:10px 24px 12px;
  font-family:Impact, Haettenschweiler, "Arial Black", sans-serif;
  font-size:clamp(2rem,4.4vw,3.3rem);
  line-height:.95;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#0f68ce;
  text-shadow:
    0 1px 0 rgba(255,255,255,.98),
    0 3px 0 rgba(255,255,255,.85),
    0 8px 20px rgba(0,0,0,.16);
  z-index:1;
}
.hero-splash-heading::before,
.hero-splash-heading::after,
.hero-splash-heading > span::before,
.hero-splash-heading > span::after{
  content:"";
  position:absolute;
  background-repeat:no-repeat;
  background-size:contain;
  pointer-events:none;
}
.hero-splash-heading::before{
  left:8%;
  top:-6px;
  width:96px;
  height:96px;
  background-image:url("assets/paint-splats/paint_splat_02_green_transparent.png");
  opacity:.42;
  transform:rotate(-18deg);
}
.hero-splash-heading::after{
  right:10%;
  top:6px;
  width:84px;
  height:84px;
  background-image:url("assets/paint-splats/paint_splat_09_blue_transparent.png");
  opacity:.24;
  transform:rotate(24deg);
}
.hero-splash-heading > span::before{
  left:-28px;
  top:-14px;
  width:96px;
  height:96px;
  background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");
  opacity:.34;
  transform:rotate(-14deg);
  z-index:2;
}
.hero-splash-heading > span::after{
  right:-18px;
  bottom:-18px;
  width:106px;
  height:106px;
  background-image:url("assets/paint-splats/paint_splat_08_red_transparent.png");
  opacity:.28;
  transform:rotate(12deg);
  z-index:2;
}

/* More original-style back-to-top */
.page-end-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:30px auto 8px;
  min-height:82px;
}
.page-top-link{
  position:relative;
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-height:auto;
  padding:0;
  background:transparent;
  color:#121212;
  box-shadow:none;
  border-radius:0;
  text-transform:uppercase;
  font-family:Arial, Helvetica, sans-serif;
  font-weight:500;
  letter-spacing:.08em;
  font-size:11px;
  text-shadow:0 3px 8px rgba(0,0,0,.28);
  transition:transform .18s ease, opacity .18s ease, color .18s ease;
}
.page-top-link::before{
  content:"⌃";
  display:block;
  font-size:34px;
  line-height:1;
  font-weight:400;
  margin-bottom:1px;
  color:#111;
  opacity:0;
  transform:translateY(18px);
}
.page-end-nav.in-view .page-top-link::before{
  animation:pageTopArrowRise .65s cubic-bezier(.17,.84,.44,1) forwards;
}
.page-end-nav.in-view .page-top-link{
  animation:pageTopTextFade .3s ease .14s both;
}
.page-top-link:hover,
.page-top-link:focus-visible{
  background:transparent;
  color:#000;
  box-shadow:none;
  transform:translateY(-1px);
}
@keyframes pageTopArrowRise{
  0%{opacity:0; transform:translateY(18px);}
  55%{opacity:1;}
  100%{opacity:1; transform:translateY(0);}
}
@keyframes pageTopTextFade{
  from{opacity:.68;}
  to{opacity:1;}
}

@media(max-width:760px){
  .hero-splash-heading{
    min-height:94px;
    padding:6px 10px 10px;
  }
  .hero-splash-heading > span{
    font-size:clamp(1.45rem,7vw,2rem);
    padding:8px 12px 10px;
    letter-spacing:.06em;
    text-align:center;
  }
  .hero-splash-heading::before{
    left:2%;
    width:64px;
    height:64px;
  }
  .hero-splash-heading::after{
    right:3%;
    width:58px;
    height:58px;
  }
  .hero-splash-heading > span::before{
    left:-10px;
    top:-6px;
    width:58px;
    height:58px;
  }
  .hero-splash-heading > span::after{
    right:-10px;
    bottom:-8px;
    width:62px;
    height:62px;
  }
}



/* === v27 carousel cleanup ===
   Removes the dot strip under the carousel and keeps arrows stationary on hover. */
.home-carousel-wrap .carousel-dots,
.home-carousel-wrap [data-carousel-dots]{
  display:none!important;
}

.home-carousel-wrap .carousel-control,
.home-carousel-wrap .carousel-control:hover,
.home-carousel-wrap .carousel-control:focus-visible,
.home-carousel-wrap .carousel-control:active{
  transform:translateY(-50%)!important;
  filter:none!important;
}

.home-carousel-wrap .carousel-control:hover,
.home-carousel-wrap .carousel-control:focus-visible{
  background:rgba(255,255,255,.28)!important;
  border-color:rgba(255,255,255,.52)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
}


/* === v28 mobile QA polish ===
   Helps the site hold up better on iPhone/Samsung-width screens. */
@media(hover:none), (pointer:coarse){
  .link-hover-splat{
    display:none!important;
  }
}

@media(max-width:640px){
  html, body{
    max-width:100%;
    overflow-x:hidden;
  }

  .brand-cluster{
    gap:12px;
  }

  .brand-detail{
    font-size:12px;
    line-height:1.35;
  }

  .brand-detail strong{
    font-size:13px;
  }

  .small-blue-btn,
  .rounded-blue{
    min-height:40px;
    width:100%;
    max-width:320px;
  }

  .hero-splash-heading{
    min-height:96px;
    margin-bottom:16px;
  }

  .hero-splash-heading > span{
    max-width:96%;
    text-align:center;
    word-break:normal;
    overflow-wrap:normal;
    hyphens:none;
  }

  .home-hero-pair .yellow-note{
    font-size:15px;
    line-height:1.48;
  }

  .welcome-action-card{
    width:100%;
  }

  .welcome-action-card .rounded-blue,
  .glow-highlight-actions .rounded-blue,
  .field-pass-teaser .rounded-blue{
    width:100%;
  }

  .home-carousel-shell{
    padding-left:8px;
    padding-right:8px;
  }

  .home-carousel-wrap .carousel-control{
    width:40px;
    height:64px;
    font-size:56px;
  }

  .home-carousel-wrap .carousel-prev{
    left:2px;
  }

  .home-carousel-wrap .carousel-next{
    right:2px;
  }

  .activities-logo-pair.single-main-logo img{
    width:min(210px,92%);
  }

  .paint-case-pricing.compact-under-rentals{
    padding:14px;
  }

  .paint-case-pricing.compact-under-rentals .paint-case-cards{
    grid-template-columns:1fr;
  }

  .page-top-link{
    font-size:12px;
    letter-spacing:.07em;
  }
}

@media(max-width:430px){
  .page-frame,
  .wide-frame,
  .shop-frame{
    width:calc(100% - 16px);
    padding-left:12px;
    padding-right:12px;
  }

  .brand-head{
    padding-left:8px;
    padding-right:8px;
  }

  .brand-logo img{
    width:118px;
  }

  .hero-splash-heading{
    padding-left:4px;
    padding-right:4px;
  }

  .hero-splash-heading > span{
    font-size:clamp(1.35rem,6.6vw,1.85rem);
    letter-spacing:.05em;
    line-height:1.02;
  }

  .welcome-copy h1,
  .page-title-wrap h1,
  .price-hero-copy h1,
  .loyalty-hero h1{
    font-size:clamp(2.2rem,12vw,3.25rem);
  }

  .ribbon-menu a{
    white-space:normal;
    line-height:1.18;
    padding-top:9px;
    padding-bottom:9px;
  }
}



/* === v29 prices-page mobile cleanup ===
   Tightens spacing and improves layout only on the Prices page for phones. */
@media(max-width:760px){
  body[data-page="prices"] .upgraded-price-page{
    padding-top:16px;
  }

  body[data-page="prices"] .price-hero-copy{
    padding:18px 16px 20px;
    text-align:center;
  }

  body[data-page="prices"] .price-hero-copy p:not(.section-kicker){
    font-size:14px;
    line-height:1.45;
    max-width:38ch;
    margin-left:auto;
    margin-right:auto;
  }

  body[data-page="prices"] .price-jump-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
    margin-top:14px;
  }

  body[data-page="prices"] .price-jump-row a{
    min-height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:10px 12px;
    font-size:12px;
    line-height:1.15;
    text-align:center;
  }

  body[data-page="prices"] .price-jump-row a:last-child{
    grid-column:1 / -1;
  }

  body[data-page="prices"] .blue-heading{
    font-size:1.02rem;
    letter-spacing:.06em;
    text-align:center;
    line-height:1.2;
  }

  body[data-page="prices"] .package-card.price-card-readable{
    padding:18px 16px 20px;
    border-radius:16px;
  }

  body[data-page="prices"] .price-card-readable h3{
    font-size:1.18rem;
    line-height:1.08;
    margin-bottom:6px;
  }

  body[data-page="prices"] .price-card-readable .age-line,
  body[data-page="prices"] .price-card-readable .package-tag{
    font-size:12px;
  }

  body[data-page="prices"] .price-chip.book-price-chip,
  body[data-page="prices"] .price-card-readable .price-chip.book-price-chip{
    width:100%;
    max-width:none;
    min-height:48px;
    padding:12px 14px;
    font-size:13px;
    line-height:1.28;
    text-align:center;
  }

  body[data-page="prices"] .price-card-readable ul{
    margin-top:12px;
    padding-left:1.05rem;
  }

  body[data-page="prices"] .price-card-readable li{
    font-size:.96rem;
    line-height:1.42;
    margin-bottom:5px;
  }

  body[data-page="prices"] .paint-case-pricing.compact-under-rentals{
    margin-top:14px;
    margin-bottom:12px;
    padding:14px 12px;
    gap:12px;
  }

  body[data-page="prices"] .paint-case-pricing.compact-under-rentals .paint-case-copy{
    padding:0 2px;
  }

  body[data-page="prices"] .paint-case-pricing.compact-under-rentals .paint-case-copy h2{
    font-size:1.65rem;
    line-height:.96;
  }

  body[data-page="prices"] .paint-case-pricing.compact-under-rentals .paint-case-copy p:not(.section-kicker){
    font-size:12.5px;
    line-height:1.42;
  }

  body[data-page="prices"] .paint-case-pricing.compact-under-rentals .paint-case-card{
    min-height:88px;
    padding:10px 10px;
  }

  body[data-page="prices"] .split-photo-band.party-photo-band{
    gap:12px;
    margin:18px auto;
  }

  body[data-page="prices"] .split-photo-band.party-photo-band img{
    height:220px;
  }

  body[data-page="prices"] .split-photo-band.party-photo-band .yellow-note{
    padding:16px 14px;
  }

  body[data-page="prices"] .split-photo-band.party-photo-band .yellow-note p{
    font-size:14px;
    line-height:1.42;
  }

  body[data-page="prices"] .airsoft-glow-section{
    gap:14px;
  }

  body[data-page="prices"] .cleaned-glow-packages{
    gap:14px;
  }

  body[data-page="prices"] .glow-video-card.glow-video-wide{
    padding:12px;
  }

  body[data-page="prices"] .real-video-shell video{
    display:block;
    width:100%;
    max-height:260px;
  }

  body[data-page="prices"] .glow-video-copy{
    text-align:center;
  }

  body[data-page="prices"] .glow-video-copy h3{
    font-size:1.1rem;
  }

  body[data-page="prices"] .price-pass-cta,
  body[data-page="prices"] .final-cta-panel{
    padding:18px 14px;
    gap:12px;
  }

  body[data-page="prices"] .price-pass-cta h2,
  body[data-page="prices"] .final-cta-panel h2{
    font-size:1.45rem;
    line-height:1.05;
  }

  body[data-page="prices"] .price-pass-cta p,
  body[data-page="prices"] .final-cta-panel p{
    font-size:14px;
    line-height:1.45;
  }
}

@media(max-width:430px){
  body[data-page="prices"] .wide-frame.price-page{
    width:calc(100% - 12px);
    padding-left:10px;
    padding-right:10px;
  }

  body[data-page="prices"] .price-hero-slab{
    border-radius:16px;
  }

  body[data-page="prices"] .price-hero-slab > img{
    min-height:200px;
  }

  body[data-page="prices"] .price-hero-copy h1{
    font-size:clamp(2.3rem,13vw,3.25rem);
    line-height:.86;
  }

  body[data-page="prices"] .price-jump-row{
    grid-template-columns:1fr;
  }

  body[data-page="prices"] .price-jump-row a:last-child{
    grid-column:auto;
  }

  body[data-page="prices"] .blue-heading{
    font-size:.94rem;
  }

  body[data-page="prices"] .package-card.price-card-readable{
    padding:16px 14px 18px;
  }

  body[data-page="prices"] .price-card-readable h3{
    font-size:1.1rem;
  }

  body[data-page="prices"] .price-chip.book-price-chip,
  body[data-page="prices"] .price-card-readable .price-chip.book-price-chip{
    font-size:12.5px;
    padding:11px 12px;
  }

  body[data-page="prices"] .paint-case-pricing.compact-under-rentals .paint-case-copy h2{
    font-size:1.48rem;
  }

  body[data-page="prices"] .paint-case-pricing.compact-under-rentals .paint-case-card strong{
    font-size:1.52rem;
  }

  body[data-page="prices"] .split-photo-band.party-photo-band img{
    height:198px;
  }

  body[data-page="prices"] .price-pass-cta h2,
  body[data-page="prices"] .final-cta-panel h2{
    font-size:1.28rem;
  }
}


/* === v30 prices mobile package stacking ===
   Mobile-only fix: stack the paintball rental package cards vertically.
   Desktop/tablet layout is unchanged. */
@media(max-width:760px){
  body[data-page="prices"] #rental-packages .package-grid,
  body[data-page="prices"] #rental-packages .package-grid-featured{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  body[data-page="prices"] #rental-packages .package-card,
  body[data-page="prices"] #rental-packages .featured-package{
    width:100%!important;
    max-width:100%!important;
    transform:none!important;
  }

  body[data-page="prices"] #rental-packages .price-chip.book-price-chip{
    width:auto!important;
    min-width:112px;
    max-width:220px;
    align-self:flex-start;
  }
}

@media(max-width:430px){
  body[data-page="prices"] #rental-packages .price-chip.book-price-chip{
    width:auto!important;
    min-width:104px;
    max-width:200px;
  }
}


/* === v31 responsive desktop nav overflow ===
   Desktop/tablet nav now moves links that no longer fit into a More menu. */
@media(min-width:761px){
  .ribbon-menu{
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    justify-content:center;
    overflow:visible;
    position:relative;
  }

  .ribbon-menu > a{
    flex:0 0 auto;
    padding-left:12px;
    padding-right:12px;
  }

  .ribbon-menu > a.ribbon-overflow-hidden{
    display:none!important;
  }

  .ribbon-more-wrap{
    position:relative;
    flex:0 0 auto;
    display:flex;
    align-items:stretch;
  }

  .ribbon-more-wrap[hidden]{
    display:none!important;
  }

  .ribbon-more-button{
    min-height:30px;
    padding:0 14px;
    border:0;
    border-left:1px solid rgba(0,0,0,.76);
    border-right:1px solid rgba(0,0,0,.76);
    background:linear-gradient(#e3f8dd 0%,#9fe093 32%,#4fa748 58%,#83ca77 100%);
    color:#071507;
    font-size:10px;
    line-height:1;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.16em;
    white-space:nowrap;
    text-shadow:0 1px 0 rgba(255,255,255,.5);
    cursor:pointer;
  }

  .ribbon-more-button:hover,
  .ribbon-more-button:focus-visible,
  .ribbon-more-wrap.open .ribbon-more-button{
    background:linear-gradient(#ffffff,#d8d8d8);
    color:#000;
  }

  .ribbon-more-menu{
    position:absolute;
    right:0;
    top:100%;
    min-width:230px;
    padding:7px;
    display:none;
    background:linear-gradient(180deg,#ffffff,#e9f7e6);
    border:1px solid rgba(0,0,0,.45);
    border-top:0;
    border-radius:0 0 12px 12px;
    box-shadow:0 12px 28px rgba(0,0,0,.24);
    z-index:1200;
  }

  .ribbon-more-wrap.open .ribbon-more-menu{
    display:grid;
    gap:5px;
  }

  .ribbon-more-menu a{
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:8px 11px;
    border:1px solid rgba(0,0,0,.16);
    border-radius:8px;
    background:rgba(255,255,255,.86);
    color:#071507;
    font-size:11px;
    line-height:1.15;
    font-weight:950;
    text-transform:uppercase;
    letter-spacing:.11em;
    text-shadow:none;
    white-space:normal;
  }

  .ribbon-more-menu a:hover,
  .ribbon-more-menu a:focus-visible,
  .ribbon-more-menu a.active{
    background:linear-gradient(#1879fa,#0d6dde);
    color:#fff;
  }
}


/* === v32 mobile glowball card centering ===
   Mobile-only: center and contain the glowball video preview card on Prices. */
@media(max-width:760px){
  body[data-page="prices"] .glow-video-card.glow-video-wide{
    width:100%;
    max-width:390px;
    margin-left:auto;
    margin-right:auto;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
    padding:12px;
  }

  body[data-page="prices"] .glow-video-card.glow-video-wide .glow-video-shell,
  body[data-page="prices"] .glow-video-card.glow-video-wide .real-video-shell{
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
  }

  body[data-page="prices"] .glow-video-card.glow-video-wide video{
    width:100%;
    max-width:100%;
    display:block;
    margin:0 auto;
  }

  body[data-page="prices"] .glow-video-card.glow-video-wide .glow-video-copy{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  body[data-page="prices"] .glow-video-card.glow-video-wide .rounded-blue{
    width:100%;
    max-width:320px;
    margin-left:auto;
    margin-right:auto;
  }
}

@media(max-width:430px){
  body[data-page="prices"] .glow-video-card.glow-video-wide{
    max-width:100%;
    padding:10px;
  }
}


/* === v33 location address cleanup ===
   Cleaner address block with better wrapping and less oversized mobile text. */
body[data-page="location"] .location-address-card{
  max-width:520px;
  margin:0 auto;
  padding:24px 22px 26px;
  background:
    radial-gradient(circle at 88% 16%,rgba(118,201,103,.13),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(250,255,248,.86));
  border:1px solid rgba(23,109,203,.20);
  border-left:5px solid var(--eas-blue);
  border-radius:18px;
  box-shadow:0 10px 24px rgba(0,0,0,.09);
  text-align:center;
}

body[data-page="location"] .location-address-card h2{
  display:inline-block;
  margin:0 0 10px;
  color:#176dcb;
  font-size:clamp(1rem,1.7vw,1.34rem);
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-decoration:underline;
  text-underline-offset:5px;
  text-shadow:
    1px 2px 0 rgba(255,255,255,.94),
    0 2px 5px rgba(0,0,0,.18);
}

body[data-page="location"] .location-address-lines{
  margin:0 auto 16px!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  max-width:430px;
  color:#176dcb;
  font-family:Arial,Helvetica,sans-serif;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.08em!important;
  line-height:1.06!important;
  text-shadow:
    1px 2px 0 rgba(255,255,255,.96),
    0 4px 8px rgba(0,0,0,.22);
}

body[data-page="location"] .location-address-lines .street-line,
body[data-page="location"] .location-address-lines .city-line{
  display:block;
}

body[data-page="location"] .location-address-lines .street-line{
  font-size:clamp(1.72rem,3.3vw,2.35rem);
  margin-bottom:8px;
}

body[data-page="location"] .location-address-lines .city-line{
  font-size:clamp(1.55rem,2.8vw,2.08rem);
}

body[data-page="location"] .location-directions{
  max-width:430px!important;
  margin:0 auto 18px!important;
  padding:13px 15px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(163,49,36,.18);
  border-left:4px solid rgba(163,49,36,.75);
  border-radius:12px;
  color:#8d2820!important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:clamp(.92rem,1.15vw,1rem)!important;
  line-height:1.42!important;
  font-weight:850;
  text-align:left!important;
}

body[data-page="location"] .location-address-card .rounded-blue{
  width:auto;
  min-width:140px;
  margin:0 auto;
}

@media(max-width:760px){
  body[data-page="location"] .map-card{
    gap:16px;
  }

  body[data-page="location"] .location-address-card{
    width:100%;
    max-width:430px;
    padding:22px 18px 24px;
    border-left-width:4px;
  }

  body[data-page="location"] .location-address-card h2{
    font-size:1rem;
    letter-spacing:.16em;
    margin-bottom:9px;
  }

  body[data-page="location"] .location-address-lines{
    max-width:100%;
    letter-spacing:.065em!important;
    margin-bottom:14px!important;
  }

  body[data-page="location"] .location-address-lines .street-line{
    font-size:clamp(1.72rem,7.4vw,2.08rem);
    margin-bottom:7px;
  }

  body[data-page="location"] .location-address-lines .city-line{
    font-size:clamp(1.35rem,6.4vw,1.76rem);
  }

  body[data-page="location"] .location-directions{
    padding:12px 13px;
    font-size:.94rem!important;
    line-height:1.46!important;
    text-align:center!important;
  }
}

@media(max-width:430px){
  body[data-page="location"] .location-address-card{
    padding:20px 14px 22px;
  }

  body[data-page="location"] .location-address-lines{
    letter-spacing:.045em!important;
  }

  body[data-page="location"] .location-address-lines .street-line{
    font-size:clamp(1.56rem,7vw,1.86rem);
  }

  body[data-page="location"] .location-address-lines .city-line{
    font-size:clamp(1.24rem,5.8vw,1.52rem);
  }

  body[data-page="location"] .location-directions{
    font-size:.9rem!important;
  }
}


/* === v34 dynamic nav width behavior ===
   Desktop/tablet nav fills the full available width while tabs fit.
   Only when the natural tab widths would overflow do extra tabs move into More. */
@media(min-width:761px){
  .top-nav-ribbon{
    width:100%;
  }

  .ribbon-menu{
    width:100%;
    max-width:none;
    display:flex;
    flex-wrap:nowrap;
    align-items:stretch;
    justify-content:stretch;
    overflow:visible;
  }

  .ribbon-menu > a:not(.ribbon-overflow-hidden){
    flex:1 1 0;
    min-width:max-content;
    text-align:center;
  }

  .ribbon-menu > a.ribbon-measuring{
    flex:0 0 auto!important;
    min-width:0!important;
  }

  .ribbon-more-wrap{
    flex:0 0 auto;
  }

  .ribbon-more-button{
    min-width:78px;
  }
}


/* === v35 easy whole-site theme system ===
   Change window.EAS_SITE_THEME in theme-config.js to swap seasonal styling.

   Available themes:
   default, july4, halloween, christmas, glowball, spring
*/

/* Shared theme polish */
html[data-eas-theme] body,
html[data-eas-theme] .top-nav-ribbon,
html[data-eas-theme] .brand-cluster,
html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame,
html[data-eas-theme] .package-card,
html[data-eas-theme] .green-panel,
html[data-eas-theme] .yellow-note,
html[data-eas-theme] .paint-case-pricing{
  transition:
    background-color .25s ease,
    background .25s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    color .25s ease;
}

/* 4th of July / Independence Day */
html[data-eas-theme="july4"]{
  --eas-blue:#115fce;
  --eas-blue-dark:#083d92;
  --eas-green:#d71920;
  --eas-green-bright:#ffffff;
  --eas-green-deep:#0a2f80;
  --eas-yellow:#ffffff;
  --eas-yellow-deep:#d71920;
  --eas-red:#d71920;
  --eas-paper:#fff8fb;
  --eas-card:rgba(255,255,255,.90);
  --eas-card-strong:rgba(255,255,255,.96);
  --eas-shadow:0 18px 42px rgba(15,58,126,.18);
}

html[data-eas-theme="july4"] body::before{
  opacity:.54;
}

html[data-eas-theme="july4"] body::after{
  background:
    radial-gradient(circle at 6% 14%,rgba(17,95,206,.18) 0 74px,transparent 78px),
    radial-gradient(circle at 15% 21%,rgba(215,25,32,.16) 0 28px,transparent 31px),
    radial-gradient(circle at 87% 16%,rgba(215,25,32,.18) 0 88px,transparent 93px),
    radial-gradient(circle at 78% 26%,rgba(17,95,206,.16) 0 36px,transparent 40px),
    linear-gradient(112deg,rgba(17,95,206,.13) 0 12%,transparent 12% 20%,rgba(215,25,32,.12) 20% 28%,transparent 28% 38%,rgba(17,95,206,.09) 38% 48%,transparent 48%),
    linear-gradient(90deg,rgba(255,255,255,.58),rgba(255,255,255,.22),rgba(255,255,255,.58));
  opacity:.98;
}

html[data-eas-theme="july4"] .top-nav-ribbon,
html[data-eas-theme="july4"] .mobile-menu-button,
html[data-eas-theme="july4"] .ribbon-more-button{
  background:linear-gradient(180deg,#ffffff 0%,#f8f8f8 26%,#115fce 27%,#115fce 62%,#d71920 63%,#d71920 100%);
}

html[data-eas-theme="july4"] .ribbon-menu a{
  color:#ffffff;
  text-shadow:0 1px 1px rgba(0,0,0,.48);
  border-right-color:rgba(255,255,255,.45);
  border-left-color:rgba(0,0,0,.22);
}

html[data-eas-theme="july4"] .ribbon-menu a.active,
html[data-eas-theme="july4"] .ribbon-menu a:hover,
html[data-eas-theme="july4"] .ribbon-more-button:hover,
html[data-eas-theme="july4"] .ribbon-more-wrap.open .ribbon-more-button{
  background:linear-gradient(180deg,#ffffff,#e7f0ff);
  color:#0a2f80;
  text-shadow:none;
}

html[data-eas-theme="july4"] .brand-cluster,
html[data-eas-theme="july4"] .page-frame,
html[data-eas-theme="july4"] .wide-frame,
html[data-eas-theme="july4"] .shop-frame{
  border-color:rgba(17,95,206,.26);
  border-top-color:#115fce;
  border-bottom-color:#d71920;
  box-shadow:0 18px 42px rgba(15,58,126,.18);
}

html[data-eas-theme="july4"] .page-frame::before,
html[data-eas-theme="july4"] .wide-frame::before,
html[data-eas-theme="july4"] .shop-frame::before{
  background:
    radial-gradient(circle at 4% 10%,rgba(17,95,206,.16) 0 48px,transparent 52px),
    radial-gradient(circle at 96% 12%,rgba(215,25,32,.14) 0 58px,transparent 62px),
    linear-gradient(135deg,rgba(17,95,206,.05),rgba(215,25,32,.04) 45%,transparent 70%);
}

html[data-eas-theme="july4"] .blue-rule,
html[data-eas-theme="july4"] .blue-heading::before,
html[data-eas-theme="july4"] .blue-heading::after{
  background:linear-gradient(90deg,#115fce,#ffffff,#d71920,#115fce);
}

html[data-eas-theme="july4"] .small-blue-btn,
html[data-eas-theme="july4"] .rounded-blue,
html[data-eas-theme="july4"] .price-chip.book-price-chip{
  background:linear-gradient(180deg,#1d75e9,#115fce 58%,#083d92);
  box-shadow:0 3px 0 #062d6e,0 9px 16px rgba(17,95,206,.24);
}

html[data-eas-theme="july4"] .yellow-note{
  background:linear-gradient(180deg,#fff,#f5f9ff);
  border-color:rgba(17,95,206,.24);
  border-top:4px solid #115fce;
  border-bottom:4px solid #d71920;
}

html[data-eas-theme="july4"] .hero-splash-heading::before{
  background-image:url("assets/paint-splats/paint_splat_09_blue_transparent.png");
  opacity:.32;
}
html[data-eas-theme="july4"] .hero-splash-heading::after{
  background-image:url("assets/paint-splats/paint_splat_08_red_transparent.png");
  opacity:.30;
}
html[data-eas-theme="july4"] .hero-splash-heading > span::before{
  background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");
  opacity:.28;
}
html[data-eas-theme="july4"] .hero-splash-heading > span::after{
  background-image:url("assets/paint-splats/paint_splat_08_red_transparent.png");
  opacity:.30;
}

/* Halloween */
html[data-eas-theme="halloween"]{
  --eas-blue:#8d4dff;
  --eas-blue-dark:#3f197f;
  --eas-green:#ff7a18;
  --eas-green-bright:#ffa640;
  --eas-green-deep:#3b1468;
  --eas-yellow:#ffb72a;
  --eas-yellow-deep:#ff7a18;
  --eas-red:#d95019;
  --eas-paper:#10061d;
  --eas-ink:#0b0b0b;
  --eas-shadow:0 18px 42px rgba(35,9,65,.28);
}
html[data-eas-theme="halloween"] body{
  background-color:#160722;
}
html[data-eas-theme="halloween"] body::before{
  opacity:.28;
  filter:hue-rotate(70deg) saturate(1.4) brightness(.72);
}
html[data-eas-theme="halloween"] body::after{
  background:
    radial-gradient(circle at 9% 18%,rgba(255,122,24,.20) 0 70px,transparent 76px),
    radial-gradient(circle at 84% 18%,rgba(141,77,255,.22) 0 80px,transparent 86px),
    radial-gradient(circle at 90% 72%,rgba(255,183,42,.15) 0 54px,transparent 60px),
    linear-gradient(135deg,rgba(20,4,34,.75),rgba(255,122,24,.08),rgba(20,4,34,.72));
  opacity:.95;
}
html[data-eas-theme="halloween"] .top-nav-ribbon,
html[data-eas-theme="halloween"] .mobile-menu-button,
html[data-eas-theme="halloween"] .ribbon-more-button{
  background:linear-gradient(180deg,#ffb72a,#ff7a18 54%,#3b1468);
}
html[data-eas-theme="halloween"] .ribbon-menu a{
  color:#160722;
  text-shadow:0 1px 0 rgba(255,255,255,.35);
}
html[data-eas-theme="halloween"] .brand-cluster,
html[data-eas-theme="halloween"] .page-frame,
html[data-eas-theme="halloween"] .wide-frame,
html[data-eas-theme="halloween"] .shop-frame{
  background:linear-gradient(180deg,rgba(255,248,242,.91),rgba(255,255,255,.82));
  border-top-color:#ff7a18;
  border-bottom-color:#8d4dff;
}
html[data-eas-theme="halloween"] .blue-rule,
html[data-eas-theme="halloween"] .blue-heading::before,
html[data-eas-theme="halloween"] .blue-heading::after{
  background:linear-gradient(90deg,#8d4dff,#ff7a18,#ffb72a);
}

/* Christmas */
html[data-eas-theme="christmas"]{
  --eas-blue:#0c7a3b;
  --eas-blue-dark:#07592b;
  --eas-green:#c51f2e;
  --eas-green-bright:#f7f2e8;
  --eas-green-deep:#0c5a2e;
  --eas-yellow:#f6f1db;
  --eas-yellow-deep:#d6b85b;
  --eas-red:#c51f2e;
  --eas-paper:#f9fbf4;
  --eas-shadow:0 18px 42px rgba(12,90,46,.18);
}
html[data-eas-theme="christmas"] body::after{
  background:
    radial-gradient(circle at 7% 16%,rgba(197,31,46,.16) 0 62px,transparent 68px),
    radial-gradient(circle at 88% 20%,rgba(12,122,59,.18) 0 78px,transparent 84px),
    radial-gradient(circle at 78% 82%,rgba(214,184,91,.14) 0 56px,transparent 62px),
    linear-gradient(115deg,rgba(255,255,255,.56),rgba(12,122,59,.08),rgba(197,31,46,.08),rgba(255,255,255,.58));
}
html[data-eas-theme="christmas"] .top-nav-ribbon,
html[data-eas-theme="christmas"] .mobile-menu-button,
html[data-eas-theme="christmas"] .ribbon-more-button{
  background:linear-gradient(180deg,#f7f2e8,#dff1df 32%,#0c7a3b 56%,#c51f2e);
}
html[data-eas-theme="christmas"] .ribbon-menu a{
  color:#fff;
  text-shadow:0 1px 1px rgba(0,0,0,.45);
}
html[data-eas-theme="christmas"] .brand-cluster,
html[data-eas-theme="christmas"] .page-frame,
html[data-eas-theme="christmas"] .wide-frame,
html[data-eas-theme="christmas"] .shop-frame{
  border-top-color:#0c7a3b;
  border-bottom-color:#c51f2e;
}
html[data-eas-theme="christmas"] .blue-rule,
html[data-eas-theme="christmas"] .blue-heading::before,
html[data-eas-theme="christmas"] .blue-heading::after{
  background:linear-gradient(90deg,#0c7a3b,#f7f2e8,#c51f2e,#0c7a3b);
}

/* Glowball / night play */
html[data-eas-theme="glowball"]{
  --eas-blue:#8f48ff;
  --eas-blue-dark:#37106e;
  --eas-green:#bdfd3f;
  --eas-green-bright:#d6ff6f;
  --eas-green-deep:#4c7d10;
  --eas-yellow:#f6ff4a;
  --eas-yellow-deep:#bdfd3f;
  --eas-red:#ff35b0;
  --eas-paper:#0c0618;
  --eas-shadow:0 18px 42px rgba(78,32,160,.30);
}
html[data-eas-theme="glowball"] body{
  background-color:#0c0618;
}
html[data-eas-theme="glowball"] body::before{
  opacity:.18;
  filter:hue-rotate(225deg) saturate(1.7) brightness(.55);
}
html[data-eas-theme="glowball"] body::after{
  background:
    radial-gradient(circle at 13% 18%,rgba(189,253,63,.18) 0 80px,transparent 86px),
    radial-gradient(circle at 82% 18%,rgba(143,72,255,.22) 0 86px,transparent 92px),
    radial-gradient(circle at 70% 78%,rgba(255,53,176,.16) 0 58px,transparent 64px),
    linear-gradient(145deg,rgba(12,6,24,.78),rgba(143,72,255,.10),rgba(189,253,63,.08));
}
html[data-eas-theme="glowball"] .top-nav-ribbon,
html[data-eas-theme="glowball"] .mobile-menu-button,
html[data-eas-theme="glowball"] .ribbon-more-button{
  background:linear-gradient(180deg,#d6ff6f,#8f48ff 48%,#19072f);
}
html[data-eas-theme="glowball"] .ribbon-menu a{
  color:#fff;
  text-shadow:0 1px 1px rgba(0,0,0,.55);
}
html[data-eas-theme="glowball"] .brand-cluster,
html[data-eas-theme="glowball"] .page-frame,
html[data-eas-theme="glowball"] .wide-frame,
html[data-eas-theme="glowball"] .shop-frame{
  background:linear-gradient(180deg,rgba(255,255,255,.93),rgba(245,241,255,.83));
  border-top-color:#8f48ff;
  border-bottom-color:#bdfd3f;
  box-shadow:0 18px 42px rgba(78,32,160,.24);
}
html[data-eas-theme="glowball"] .blue-rule,
html[data-eas-theme="glowball"] .blue-heading::before,
html[data-eas-theme="glowball"] .blue-heading::after{
  background:linear-gradient(90deg,#8f48ff,#bdfd3f,#ff35b0);
}

/* Spring / bright paintball */
html[data-eas-theme="spring"]{
  --eas-blue:#1a8dce;
  --eas-blue-dark:#09649b;
  --eas-green:#77cf61;
  --eas-green-bright:#9fe989;
  --eas-green-deep:#2f7528;
  --eas-yellow:#ffe15c;
  --eas-yellow-deep:#e3bc21;
  --eas-red:#ef5aa7;
  --eas-paper:#fff7fc;
}
html[data-eas-theme="spring"] body::after{
  background:
    radial-gradient(circle at 8% 18%,rgba(239,90,167,.18) 0 58px,transparent 64px),
    radial-gradient(circle at 88% 18%,rgba(119,207,97,.20) 0 78px,transparent 84px),
    radial-gradient(circle at 76% 80%,rgba(255,225,92,.18) 0 56px,transparent 62px),
    linear-gradient(115deg,rgba(255,255,255,.55),rgba(119,207,97,.10),rgba(239,90,167,.08),rgba(255,255,255,.58));
}
html[data-eas-theme="spring"] .top-nav-ribbon,
html[data-eas-theme="spring"] .mobile-menu-button,
html[data-eas-theme="spring"] .ribbon-more-button{
  background:linear-gradient(180deg,#f7fff2,#9fe989 35%,#77cf61 62%,#1a8dce);
}
html[data-eas-theme="spring"] .blue-rule,
html[data-eas-theme="spring"] .blue-heading::before,
html[data-eas-theme="spring"] .blue-heading::after{
  background:linear-gradient(90deg,#1a8dce,#77cf61,#ffe15c,#ef5aa7);
}

@media(max-width:760px){
  html[data-eas-theme="halloween"] body,
  html[data-eas-theme="glowball"] body{
    background-color:#150a22;
  }
}



/* === v36 production-ready seasonal theme system === */
body::before{
  background-image:var(--theme-bg,var(--splatter-url));
}

html[data-eas-theme]{
  --theme-overlay-opacity:.9;
}
html[data-eas-theme] body::before{
  opacity:var(--theme-overlay-opacity);
  background-size:cover;
  background-position:center top;
  background-repeat:repeat-y;
}
html[data-eas-theme] body::after{
  opacity:.88;
}
html[data-eas-theme] .top-nav-ribbon,
html[data-eas-theme] .brand-cluster,
html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame,
html[data-eas-theme] .activities-callout,
html[data-eas-theme] .proshop-wall,
html[data-eas-theme] .yellow-note,
html[data-eas-theme] .green-panel,
html[data-eas-theme] .map-card,
html[data-eas-theme] .contact-form,
html[data-eas-theme] .contact-note,
html[data-eas-theme] .package-card,
html[data-eas-theme] .offer-card,
html[data-eas-theme] .loyalty-steps article,
html[data-eas-theme] .paint-case-pricing,
html[data-eas-theme] .price-nav-shell,
html[data-eas-theme] .home-glow-highlight,
html[data-eas-theme] .welcome-feature,
html[data-eas-theme] .glow-highlight-video,
html[data-eas-theme] .page-end-nav,
html[data-eas-theme] .back-top-wrap{
  transition:background .28s ease, box-shadow .28s ease, border-color .28s ease, color .28s ease;
}
html[data-eas-theme] .page-frame::before,
html[data-eas-theme] .wide-frame::before,
html[data-eas-theme] .shop-frame::before{
  opacity:.9;
}
html[data-eas-theme] .small-blue-btn,
html[data-eas-theme] .rounded-blue,
html[data-eas-theme] .send-button,
html[data-eas-theme] .shop-filter button.active,
html[data-eas-theme] .mobile-menu-button,
html[data-eas-theme] .ribbon-more-button,
html[data-eas-theme] .floating-top,
html[data-eas-theme] .page-top-link,
html[data-eas-theme] .price-chip.book-price-chip{
  background:linear-gradient(180deg,var(--eas-blue),var(--eas-blue-dark));
}
html[data-eas-theme] .top-nav-ribbon{
  box-shadow:0 2px 10px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.3);
}
html[data-eas-theme] .ribbon-menu a.active,
html[data-eas-theme] .ribbon-menu a:hover,
html[data-eas-theme] .ribbon-more-wrap.open .ribbon-more-button,
html[data-eas-theme] .ribbon-more-button:hover{
  box-shadow:inset 0 -3px 0 rgba(0,0,0,.1);
}
html[data-eas-theme] .blue-rule,
html[data-eas-theme] .blue-heading::before,
html[data-eas-theme] .blue-heading::after{
  background:linear-gradient(90deg,var(--eas-blue),var(--eas-yellow),var(--eas-green),var(--eas-blue));
}
html[data-eas-theme] .yellow-note{
  background:linear-gradient(180deg,var(--eas-yellow),var(--eas-yellow-deep));
}
html[data-eas-theme] .green-panel{
  background:linear-gradient(145deg,var(--eas-green-bright),rgba(255,255,255,.86));
}
html[data-eas-theme] .activities-callout,
html[data-eas-theme] .proshop-wall,
html[data-eas-theme] .page-end-nav,
html[data-eas-theme] .back-top-wrap{
  border-top-color:var(--eas-blue)!important;
  border-bottom-color:var(--eas-green)!important;
}
html[data-eas-theme] .brand-cluster,
html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame,
html[data-eas-theme] .map-card,
html[data-eas-theme] .contact-form,
html[data-eas-theme] .contact-note{
  border-top-color:var(--eas-blue);
  border-bottom-color:var(--eas-green);
  box-shadow:0 18px 42px rgba(0,0,0,.12);
}
html[data-eas-theme] .hero-splash-heading::before,
html[data-eas-theme] .hero-splash-heading::after,
html[data-eas-theme] .hero-splash-heading > span::before,
html[data-eas-theme] .hero-splash-heading > span::after{
  filter:drop-shadow(0 3px 6px rgba(0,0,0,.1));
}

/* Theme-specific polish */
html[data-eas-theme="default"]{
  --theme-overlay-opacity:.92;
}
html[data-eas-theme="default"] body::after{
  background:
    radial-gradient(circle at 4% 16%,rgba(87,205,82,.34) 0 7px,transparent 9px),
    radial-gradient(circle at 8% 20%,rgba(87,205,82,.28) 0 42px,transparent 45px),
    radial-gradient(circle at 18% 36%,rgba(87,205,82,.25) 0 17px,transparent 19px),
    radial-gradient(circle at 83% 15%,rgba(87,205,82,.33) 0 66px,transparent 70px),
    radial-gradient(circle at 89% 18%,rgba(87,205,82,.22) 0 13px,transparent 15px),
    radial-gradient(circle at 38% 58%,rgba(87,205,82,.34) 0 105px,transparent 112px),
    radial-gradient(circle at 60% 82%,rgba(87,205,82,.18) 0 42px,transparent 47px),
    radial-gradient(circle at 96% 78%,rgba(87,205,82,.24) 0 85px,transparent 92px),
    linear-gradient(90deg,rgba(255,247,252,.32),rgba(255,247,252,.12),rgba(255,247,252,.34));
}

html[data-eas-theme="july4"]{
  --theme-overlay-opacity:.98;
  --eas-blue:#155fca;
  --eas-blue-dark:#083d92;
  --eas-green:#d91d24;
  --eas-green-bright:#ffffff;
  --eas-green-deep:#7f0b0f;
  --eas-yellow:#ffffff;
  --eas-yellow-deep:#e7efff;
  --eas-red:#d91d24;
  --eas-paper:#fff9fb;
  --eas-card:rgba(255,255,255,.92);
  --eas-card-strong:rgba(255,255,255,.96);
}
html[data-eas-theme="july4"] body::after{
  background:
    radial-gradient(circle at 6% 14%,rgba(21,95,202,.18) 0 82px,transparent 88px),
    radial-gradient(circle at 15% 20%,rgba(217,29,36,.18) 0 30px,transparent 34px),
    radial-gradient(circle at 89% 18%,rgba(217,29,36,.18) 0 86px,transparent 92px),
    radial-gradient(circle at 81% 27%,rgba(21,95,202,.15) 0 34px,transparent 40px),
    linear-gradient(110deg,rgba(255,255,255,.52),rgba(255,255,255,.18),rgba(255,255,255,.52));
}
html[data-eas-theme="july4"] .top-nav-ribbon,
html[data-eas-theme="july4"] .mobile-menu-button,
html[data-eas-theme="july4"] .ribbon-more-button{
  background:linear-gradient(180deg,#fff 0%,#f9f9f9 24%,#155fca 25%,#155fca 62%,#d91d24 63%,#d91d24 100%);
}
html[data-eas-theme="july4"] .ribbon-menu a{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.45);border-right-color:rgba(255,255,255,.36);}
html[data-eas-theme="july4"] .ribbon-menu a.active,
html[data-eas-theme="july4"] .ribbon-menu a:hover,
html[data-eas-theme="july4"] .ribbon-more-button:hover,
html[data-eas-theme="july4"] .ribbon-more-wrap.open .ribbon-more-button{background:linear-gradient(180deg,#fff,#e7f0ff);color:#083d92;text-shadow:none;}
html[data-eas-theme="july4"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_09_blue_transparent.png");opacity:.33;}
html[data-eas-theme="july4"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_08_red_transparent.png");opacity:.31;}
html[data-eas-theme="july4"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.23;}
html[data-eas-theme="july4"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_08_red_transparent.png");opacity:.26;}

html[data-eas-theme="halloween"]{
  --theme-overlay-opacity:.98;
  --eas-blue:#8e52ff;
  --eas-blue-dark:#43197d;
  --eas-green:#ff7a18;
  --eas-green-bright:#ffb13d;
  --eas-green-deep:#3c145d;
  --eas-yellow:#ffb13d;
  --eas-yellow-deep:#ff7a18;
  --eas-red:#d9521f;
  --eas-paper:#13071d;
  --eas-card:rgba(255,255,255,.9);
  --eas-card-strong:rgba(255,255,255,.96);
}
html[data-eas-theme="halloween"] body{background-color:#14071c;}
html[data-eas-theme="halloween"] body::after{background:linear-gradient(145deg,rgba(20,6,32,.72),rgba(255,122,24,.07),rgba(142,82,255,.08));}
html[data-eas-theme="halloween"] .top-nav-ribbon,
html[data-eas-theme="halloween"] .mobile-menu-button,
html[data-eas-theme="halloween"] .ribbon-more-button{background:linear-gradient(180deg,#ffbf5c,#ff7a18 54%,#42135f);}
html[data-eas-theme="halloween"] .ribbon-menu a{color:#160812;text-shadow:0 1px 0 rgba(255,255,255,.35);}
html[data-eas-theme="halloween"] .yellow-note{color:#1f1208;}
html[data-eas-theme="halloween"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_03_orange_transparent.png");opacity:.36;}
html[data-eas-theme="halloween"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_07_purple_transparent.png");opacity:.35;}
html[data-eas-theme="halloween"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.22;}
html[data-eas-theme="halloween"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_03_orange_transparent.png");opacity:.24;}

html[data-eas-theme="christmas"]{
  --theme-overlay-opacity:.98;
  --eas-blue:#0d7a3c;
  --eas-blue-dark:#08562b;
  --eas-green:#c51f2e;
  --eas-green-bright:#fff4e2;
  --eas-green-deep:#0c5d31;
  --eas-yellow:#f2df83;
  --eas-yellow-deep:#d7b957;
  --eas-red:#c51f2e;
  --eas-paper:#fafbf6;
}
html[data-eas-theme="christmas"] body::after{background:linear-gradient(135deg,rgba(255,255,255,.5),rgba(12,122,59,.06),rgba(197,31,46,.07));}
html[data-eas-theme="christmas"] .top-nav-ribbon,
html[data-eas-theme="christmas"] .mobile-menu-button,
html[data-eas-theme="christmas"] .ribbon-more-button{background:linear-gradient(180deg,#fff8e9,#def0de 36%,#0d7a3c 58%,#c51f2e);}
html[data-eas-theme="christmas"] .ribbon-menu a{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.45);}
html[data-eas-theme="christmas"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_08_red_transparent.png");opacity:.31;}
html[data-eas-theme="christmas"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_02_green_transparent.png");opacity:.31;}
html[data-eas-theme="christmas"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.2;}
html[data-eas-theme="christmas"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_02_green_transparent.png");opacity:.24;}

html[data-eas-theme="glowball"]{
  --theme-overlay-opacity:1;
  --eas-blue:#904cff;
  --eas-blue-dark:#35106d;
  --eas-green:#c6ff3e;
  --eas-green-bright:#e2ff72;
  --eas-green-deep:#5d8c11;
  --eas-yellow:#f3ff60;
  --eas-yellow-deep:#c6ff3e;
  --eas-red:#ff35b0;
  --eas-paper:#0a0715;
}
html[data-eas-theme="glowball"] body{background-color:#0a0715;}
html[data-eas-theme="glowball"] body::after{background:linear-gradient(145deg,rgba(10,7,21,.72),rgba(144,76,255,.1),rgba(198,255,62,.08),rgba(255,53,176,.08));}
html[data-eas-theme="glowball"] .top-nav-ribbon,
html[data-eas-theme="glowball"] .mobile-menu-button,
html[data-eas-theme="glowball"] .ribbon-more-button{background:linear-gradient(180deg,#d6ff70,#8f48ff 52%,#1a082e);}
html[data-eas-theme="glowball"] .ribbon-menu a{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.55);}
html[data-eas-theme="glowball"] .brand-cluster,
html[data-eas-theme="glowball"] .page-frame,
html[data-eas-theme="glowball"] .wide-frame,
html[data-eas-theme="glowball"] .shop-frame{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(246,242,255,.87));}
html[data-eas-theme="glowball"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_07_purple_transparent.png");opacity:.38;}
html[data-eas-theme="glowball"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_04_lime_transparent.png");opacity:.34;}
html[data-eas-theme="glowball"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_05_teal_transparent.png");opacity:.26;}
html[data-eas-theme="glowball"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_01_pink_transparent.png");opacity:.25;}

html[data-eas-theme="spring"]{
  --theme-overlay-opacity:.98;
  --eas-blue:#1b8ecf;
  --eas-blue-dark:#09649b;
  --eas-green:#79cf63;
  --eas-green-bright:#a0eb8c;
  --eas-green-deep:#2f7628;
  --eas-yellow:#ffe45f;
  --eas-yellow-deep:#dfbc29;
  --eas-red:#ef5aa7;
  --eas-paper:#fff9fd;
}
html[data-eas-theme="spring"] body::after{background:linear-gradient(120deg,rgba(255,255,255,.5),rgba(121,207,99,.08),rgba(239,90,167,.06));}
html[data-eas-theme="spring"] .top-nav-ribbon,
html[data-eas-theme="spring"] .mobile-menu-button,
html[data-eas-theme="spring"] .ribbon-more-button{background:linear-gradient(180deg,#f7fff2,#9fe989 35%,#79cf63 62%,#1b8ecf);}
html[data-eas-theme="spring"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_02_green_transparent.png");opacity:.3;}
html[data-eas-theme="spring"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_01_pink_transparent.png");opacity:.3;}
html[data-eas-theme="spring"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.22;}
html[data-eas-theme="spring"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_05_teal_transparent.png");opacity:.24;}

@media (max-width:760px){
  html[data-eas-theme] body::before{background-size:auto 100%;background-position:center top;}
}


/* === v37 production background and transparent logo pass ===
   Uses local paint-splatter background PNGs and the transparent PNG main logo. */
.brand-logo img[src$=".png"],
.activities-logo-pair.single-main-logo img[src$=".png"]{
  background:transparent!important;
}

html[data-eas-theme] body::before{
  background-image:var(--theme-bg,var(--splatter-url));
  background-size:cover;
  background-position:center top;
  background-repeat:repeat-y;
}

html[data-eas-theme] .brand-head{
  background:
    linear-gradient(180deg,rgba(255,255,255,.64),rgba(255,255,255,.28));
}

/* New seasonal themes */
html[data-eas-theme="fall"]{
  --theme-overlay-opacity:.98;
  --eas-blue:#9a4f1d;
  --eas-blue-dark:#6f3513;
  --eas-green:#d96b1f;
  --eas-green-bright:#f0b23d;
  --eas-green-deep:#6c7d2a;
  --eas-yellow:#f0b23d;
  --eas-yellow-deep:#d78c2a;
  --eas-red:#a4451c;
  --eas-paper:#fff8ee;
}
html[data-eas-theme="fall"] body::after{
  background:linear-gradient(120deg,rgba(255,255,255,.50),rgba(217,107,31,.08),rgba(108,125,42,.07));
}
html[data-eas-theme="fall"] .top-nav-ribbon,
html[data-eas-theme="fall"] .mobile-menu-button,
html[data-eas-theme="fall"] .ribbon-more-button{
  background:linear-gradient(180deg,#fff2d8,#f0b23d 35%,#d96b1f 64%,#6f3513);
}
html[data-eas-theme="fall"] .ribbon-menu a{color:#2a1205;text-shadow:0 1px 0 rgba(255,255,255,.35);}
html[data-eas-theme="fall"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_03_orange_transparent.png");opacity:.32;}
html[data-eas-theme="fall"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.24;}
html[data-eas-theme="fall"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_08_red_transparent.png");opacity:.18;}
html[data-eas-theme="fall"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_03_orange_transparent.png");opacity:.23;}

html[data-eas-theme="valentines"]{
  --theme-overlay-opacity:.98;
  --eas-blue:#d71955;
  --eas-blue-dark:#96123d;
  --eas-green:#ee3f7c;
  --eas-green-bright:#ff8ab7;
  --eas-green-deep:#872d72;
  --eas-yellow:#ffdce8;
  --eas-yellow-deep:#ffb5ce;
  --eas-red:#d71955;
  --eas-paper:#fff6fb;
}
html[data-eas-theme="valentines"] body::after{
  background:linear-gradient(120deg,rgba(255,255,255,.50),rgba(238,63,124,.08),rgba(135,45,114,.06));
}
html[data-eas-theme="valentines"] .top-nav-ribbon,
html[data-eas-theme="valentines"] .mobile-menu-button,
html[data-eas-theme="valentines"] .ribbon-more-button{
  background:linear-gradient(180deg,#fff3fa,#ff8ab7 34%,#ee3f7c 66%,#96123d);
}
html[data-eas-theme="valentines"] .ribbon-menu a{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.34);}
html[data-eas-theme="valentines"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_01_pink_transparent.png");opacity:.34;}
html[data-eas-theme="valentines"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_08_red_transparent.png");opacity:.24;}
html[data-eas-theme="valentines"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_07_purple_transparent.png");opacity:.18;}
html[data-eas-theme="valentines"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_01_pink_transparent.png");opacity:.22;}

html[data-eas-theme="summer"]{
  --theme-overlay-opacity:.98;
  --eas-blue:#26a7d9;
  --eas-blue-dark:#0d6f97;
  --eas-green:#72d455;
  --eas-green-bright:#a8ef7d;
  --eas-green-deep:#2e7b22;
  --eas-yellow:#ffe45f;
  --eas-yellow-deep:#ffb121;
  --eas-red:#ff6f1a;
  --eas-paper:#fffdf1;
}
html[data-eas-theme="summer"] body::after{
  background:linear-gradient(120deg,rgba(255,255,255,.50),rgba(38,167,217,.08),rgba(255,177,33,.08));
}
html[data-eas-theme="summer"] .top-nav-ribbon,
html[data-eas-theme="summer"] .mobile-menu-button,
html[data-eas-theme="summer"] .ribbon-more-button{
  background:linear-gradient(180deg,#fffbd7,#ffe45f 30%,#72d455 58%,#26a7d9);
}
html[data-eas-theme="summer"] .ribbon-menu a{color:#0c3151;text-shadow:0 1px 0 rgba(255,255,255,.42);}
html[data-eas-theme="summer"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.30;}
html[data-eas-theme="summer"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_05_teal_transparent.png");opacity:.27;}
html[data-eas-theme="summer"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_03_orange_transparent.png");opacity:.22;}
html[data-eas-theme="summer"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_02_green_transparent.png");opacity:.22;}

@media(max-width:760px){
  html[data-eas-theme] body::before{
    background-size:auto 100%;
    background-position:center top;
  }
}


/* === v38 theme/nav cleanup ===
   Fixes theme loading consistency and tones the top navigation down to one
   solid color per theme instead of multi-color seasonal stripes. */
html[data-eas-theme="default"]{
  --theme-nav:#63bf55;
  --theme-nav-border:#24571e;
  --theme-nav-text:#071507;
  --theme-nav-active:#ffffff;
  --theme-nav-active-text:#071507;
}
html[data-eas-theme="july4"]{
  --theme-nav:#155fca;
  --theme-nav-border:#083d92;
  --theme-nav-text:#ffffff;
  --theme-nav-active:#ffffff;
  --theme-nav-active-text:#083d92;
}
html[data-eas-theme="halloween"]{
  --theme-nav:#ff7a18;
  --theme-nav-border:#6a2a00;
  --theme-nav-text:#160812;
  --theme-nav-active:#fff2df;
  --theme-nav-active-text:#42135f;
}
html[data-eas-theme="christmas"]{
  --theme-nav:#0d7a3c;
  --theme-nav-border:#07562b;
  --theme-nav-text:#ffffff;
  --theme-nav-active:#fff8e9;
  --theme-nav-active-text:#0d5f31;
}
html[data-eas-theme="glowball"]{
  --theme-nav:#8f48ff;
  --theme-nav-border:#35106d;
  --theme-nav-text:#ffffff;
  --theme-nav-active:#ecddff;
  --theme-nav-active-text:#35106d;
}
html[data-eas-theme="spring"]{
  --theme-nav:#79cf63;
  --theme-nav-border:#2f7628;
  --theme-nav-text:#072107;
  --theme-nav-active:#ffffff;
  --theme-nav-active-text:#09649b;
}
html[data-eas-theme="fall"]{
  --theme-nav:#d96b1f;
  --theme-nav-border:#6f3513;
  --theme-nav-text:#ffffff;
  --theme-nav-active:#fff2d8;
  --theme-nav-active-text:#6f3513;
}
html[data-eas-theme="valentines"]{
  --theme-nav:#d71955;
  --theme-nav-border:#96123d;
  --theme-nav-text:#ffffff;
  --theme-nav-active:#fff3fa;
  --theme-nav-active-text:#96123d;
}
html[data-eas-theme="summer"]{
  --theme-nav:#26a7d9;
  --theme-nav-border:#0d6f97;
  --theme-nav-text:#052c3d;
  --theme-nav-active:#fffbd7;
  --theme-nav-active-text:#0d6f97;
}

html[data-eas-theme] .top-nav-ribbon,
html[data-eas-theme] .mobile-menu-button,
html[data-eas-theme] .ribbon-more-button{
  background:var(--theme-nav)!important;
  color:var(--theme-nav-text)!important;
  border-color:var(--theme-nav-border)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.22)!important;
}

html[data-eas-theme] .top-nav-ribbon{
  border-bottom:2px solid var(--theme-nav-border)!important;
}

html[data-eas-theme] .ribbon-menu a{
  background:transparent!important;
  color:var(--theme-nav-text)!important;
  border-right:1px solid rgba(0,0,0,.28)!important;
  border-left:1px solid rgba(255,255,255,.22)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.16)!important;
}

html[data-eas-theme="july4"] .ribbon-menu a,
html[data-eas-theme="christmas"] .ribbon-menu a,
html[data-eas-theme="glowball"] .ribbon-menu a,
html[data-eas-theme="fall"] .ribbon-menu a,
html[data-eas-theme="valentines"] .ribbon-menu a{
  text-shadow:0 1px 1px rgba(0,0,0,.36)!important;
}

html[data-eas-theme] .ribbon-menu a.active,
html[data-eas-theme] .ribbon-menu a:hover,
html[data-eas-theme] .ribbon-menu a:focus-visible,
html[data-eas-theme] .ribbon-more-button:hover,
html[data-eas-theme] .ribbon-more-button:focus-visible,
html[data-eas-theme] .ribbon-more-wrap.open .ribbon-more-button{
  background:var(--theme-nav-active)!important;
  color:var(--theme-nav-active-text)!important;
  text-shadow:none!important;
}

html[data-eas-theme] .ribbon-more-menu{
  background:rgba(255,255,255,.96)!important;
  border-color:var(--theme-nav-border)!important;
}

html[data-eas-theme] .ribbon-more-menu a{
  color:#111!important;
  text-shadow:none!important;
}

html[data-eas-theme] .ribbon-more-menu a:hover,
html[data-eas-theme] .ribbon-more-menu a:focus-visible,
html[data-eas-theme] .ribbon-more-menu a.active{
  background:var(--theme-nav)!important;
  color:var(--theme-nav-text)!important;
}

@media(max-width:760px){
  html[data-eas-theme] .mobile-menu-button{
    min-height:42px;
    color:var(--theme-nav-text)!important;
    text-shadow:0 1px 0 rgba(255,255,255,.14)!important;
  }
}


/* === v39 bottom back-to-top transparency fix ===
   Keeps the bottom Back to Top control transparent regardless of active theme. */
html[data-eas-theme] .page-end-nav,
html[data-eas-theme] .back-top-wrap{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

html[data-eas-theme] .page-top-link,
html[data-eas-theme] .page-top-link:hover,
html[data-eas-theme] .page-top-link:focus-visible,
html[data-eas-theme] .page-top-link:active{
  background:transparent!important;
  color:#121212!important;
  border-color:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}

html[data-eas-theme] .page-top-link::before{
  color:#111!important;
}

html[data-eas-theme="glowball"] .page-top-link,
html[data-eas-theme="halloween"] .page-top-link{
  color:#f8f8f8!important;
  text-shadow:0 3px 10px rgba(0,0,0,.82),0 0 8px rgba(255,255,255,.18)!important;
}

html[data-eas-theme="glowball"] .page-top-link::before,
html[data-eas-theme="halloween"] .page-top-link::before{
  color:#f8f8f8!important;
}


/* === v41 theme QA / production polish ===
   Finalizes theme wiring, theme movement layer, button polish, and theme-safe nav behavior. */

/* Keep the user-provided wide paint backgrounds visible instead of over-zoomed. */
html[data-eas-theme] body::before{
  background-image:var(--theme-bg,var(--splatter-url))!important;
  background-size:100% auto!important;
  background-position:center top!important;
  background-repeat:repeat-y!important;
  opacity:.96!important;
}

html[data-eas-theme="glowball"] body::before{
  opacity:1!important;
}

html[data-eas-theme] body::after{
  opacity:.42!important;
}

/* Dynamic seasonal background accent layer. */
.theme-ambient-layer{
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  overflow:hidden;
  opacity:.88;
}

.theme-ambient-splat{
  position:absolute;
  left:var(--ambient-x);
  top:var(--ambient-y);
  width:var(--ambient-size);
  height:var(--ambient-size);
  background-image:var(--ambient-img);
  background-size:contain;
  background-position:center;
  background-repeat:no-repeat;
  opacity:var(--ambient-opacity);
  transform:translate3d(0,0,0) rotate(var(--ambient-rotate));
  animation:themeAmbientFloat var(--ambient-duration) ease-in-out infinite alternate;
  animation-delay:var(--ambient-delay);
  filter:blur(var(--ambient-blur));
}

.theme-ambient-dot{
  position:absolute;
  left:var(--ambient-x);
  top:var(--ambient-y);
  width:var(--ambient-size);
  height:var(--ambient-size);
  border-radius:50%;
  background:var(--ambient-color);
  opacity:var(--ambient-opacity);
  filter:blur(var(--ambient-blur));
  animation:themeAmbientFloat var(--ambient-duration) ease-in-out infinite alternate;
  animation-delay:var(--ambient-delay);
}

@keyframes themeAmbientFloat{
  from{
    transform:translate3d(0,0,0) rotate(var(--ambient-rotate));
  }
  to{
    transform:translate3d(var(--ambient-dx),var(--ambient-dy),0) rotate(calc(var(--ambient-rotate) + var(--ambient-spin)));
  }
}

html[data-eas-theme="glowball"] .theme-ambient-layer{
  mix-blend-mode:screen;
  opacity:.72;
}

@media(max-width:760px){
  html[data-eas-theme] body::before{
    background-size:auto 100vh!important;
    background-position:center top!important;
  }

  .theme-ambient-layer{
    opacity:.42;
  }
}

@media(prefers-reduced-motion:reduce){
  .theme-ambient-splat,
  .theme-ambient-dot{
    animation:none!important;
  }
}

/* One-color nav, using the theme-config CSS variables as the source of truth. */
html[data-eas-theme] .top-nav-ribbon,
html[data-eas-theme] .mobile-menu-button,
html[data-eas-theme] .ribbon-more-button{
  background:var(--theme-nav)!important;
  color:var(--theme-nav-text)!important;
  border-color:var(--theme-nav-border)!important;
  box-shadow:0 2px 8px rgba(0,0,0,.22)!important;
}

html[data-eas-theme] .top-nav-ribbon{
  border-bottom:2px solid var(--theme-nav-border)!important;
}

html[data-eas-theme] .ribbon-menu a{
  background:transparent!important;
  color:var(--theme-nav-text)!important;
  border-right:1px solid rgba(0,0,0,.28)!important;
  border-left:1px solid rgba(255,255,255,.22)!important;
}

html[data-eas-theme] .ribbon-menu a.active,
html[data-eas-theme] .ribbon-menu a:hover,
html[data-eas-theme] .ribbon-menu a:focus-visible,
html[data-eas-theme] .ribbon-more-button:hover,
html[data-eas-theme] .ribbon-more-button:focus-visible,
html[data-eas-theme] .ribbon-more-wrap.open .ribbon-more-button{
  background:var(--theme-nav-active)!important;
  color:var(--theme-nav-active-text)!important;
  text-shadow:none!important;
}

html[data-eas-theme] .ribbon-more-menu{
  background:rgba(255,255,255,.96)!important;
  border-color:var(--theme-nav-border)!important;
}

/* Button quality pass: consistent theming without affecting Back to Top. */
html[data-eas-theme] .small-blue-btn,
html[data-eas-theme] .rounded-blue,
html[data-eas-theme] .send-button,
html[data-eas-theme] .shop-filter button.active,
html[data-eas-theme] .price-chip.book-price-chip,
html[data-eas-theme] .activity-pills a:nth-child(2){
  background:linear-gradient(180deg,var(--theme-button-start),var(--theme-button-end))!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 3px 0 rgba(0,0,0,.26),0 9px 18px rgba(0,0,0,.16)!important;
}

html[data-eas-theme] .small-blue-btn:hover,
html[data-eas-theme] .rounded-blue:hover,
html[data-eas-theme] .send-button:hover,
html[data-eas-theme] .price-chip.book-price-chip:hover{
  filter:brightness(1.05)!important;
  transform:translateY(-1px)!important;
}

html[data-eas-theme] .blue-heading,
html[data-eas-theme] .section-kicker,
html[data-eas-theme] .brand-detail,
html[data-eas-theme] .brand-detail strong,
html[data-eas-theme] .brand-detail a{
  color:var(--eas-blue)!important;
}

html[data-eas-theme] .blue-rule,
html[data-eas-theme] .blue-heading::before,
html[data-eas-theme] .blue-heading::after{
  background:linear-gradient(90deg,var(--eas-blue),var(--theme-accent),var(--eas-green),var(--eas-blue))!important;
}

html[data-eas-theme] .brand-cluster,
html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame{
  background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(255,255,255,.78))!important;
  border-top-color:var(--eas-blue)!important;
  border-bottom-color:var(--eas-green)!important;
}

html[data-eas-theme="glowball"] .brand-cluster,
html[data-eas-theme="glowball"] .page-frame,
html[data-eas-theme="glowball"] .wide-frame,
html[data-eas-theme="glowball"] .shop-frame{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(246,242,255,.86))!important;
}

/* Keep bottom Back to Top transparent no matter what theme is active. */
html[data-eas-theme] .page-end-nav,
html[data-eas-theme] .back-top-wrap{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

html[data-eas-theme] .page-top-link,
html[data-eas-theme] .page-top-link:hover,
html[data-eas-theme] .page-top-link:focus-visible,
html[data-eas-theme] .page-top-link:active{
  background:transparent!important;
  color:#121212!important;
  border-color:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}

html[data-eas-theme] .page-top-link::before{
  color:#111!important;
}

html[data-eas-theme="glowball"] .page-top-link,
html[data-eas-theme="halloween"] .page-top-link{
  color:#f8f8f8!important;
  text-shadow:0 3px 10px rgba(0,0,0,.82),0 0 8px rgba(255,255,255,.18)!important;
}

html[data-eas-theme="glowball"] .page-top-link::before,
html[data-eas-theme="halloween"] .page-top-link::before{
  color:#f8f8f8!important;
}


/* === v42 theme background fit update ===
   Uses the user's new production backgrounds and removes the moving ambient layer
   so the site keeps a cleaner, more polished look with these custom artworks. */

html[data-eas-theme] body::before{
  background-image: var(--theme-bg, var(--splatter-url)) !important;
  background-size: cover !important;
  background-position: center top !important;
  background-repeat: no-repeat !important;
  background-attachment: fixed !important;
  opacity: 1 !important;
}

html[data-eas-theme] body::after{
  opacity: 1 !important;
}

.theme-ambient-layer,
.theme-ambient-splat,
.theme-ambient-dot{
  display: none !important;
}

@media (max-width: 1024px){
  html[data-eas-theme] body::before{
    background-size: cover !important;
    background-position: center top !important;
    background-attachment: scroll !important;
  }
}

/* Slightly stronger readable surfaces on top of the richer artwork backgrounds. */
html[data-eas-theme] .brand-cluster,
html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame,
html[data-eas-theme] .map-card,
html[data-eas-theme] .contact-form,
html[data-eas-theme] .contact-note,
html[data-eas-theme] .activities-callout,
html[data-eas-theme] .proshop-wall,
html[data-eas-theme] .yellow-note,
html[data-eas-theme] .green-panel,
html[data-eas-theme] .package-card,
html[data-eas-theme] .offer-card,
html[data-eas-theme] .loyalty-steps article,
html[data-eas-theme] .paint-case-pricing,
html[data-eas-theme] .price-nav-shell,
html[data-eas-theme] .home-glow-highlight,
html[data-eas-theme] .welcome-feature,
html[data-eas-theme] .glow-highlight-video{
  background-color: rgba(255,255,255,.90) !important;
  backdrop-filter: blur(3px);
}

html[data-eas-theme="glowball"] .brand-cluster,
html[data-eas-theme="glowball"] .page-frame,
html[data-eas-theme="glowball"] .wide-frame,
html[data-eas-theme="glowball"] .shop-frame,
html[data-eas-theme="glowball"] .map-card,
html[data-eas-theme="glowball"] .contact-form,
html[data-eas-theme="glowball"] .contact-note,
html[data-eas-theme="glowball"] .activities-callout,
html[data-eas-theme="glowball"] .proshop-wall,
html[data-eas-theme="glowball"] .yellow-note,
html[data-eas-theme="glowball"] .green-panel,
html[data-eas-theme="glowball"] .package-card,
html[data-eas-theme="glowball"] .offer-card,
html[data-eas-theme="glowball"] .loyalty-steps article,
html[data-eas-theme="glowball"] .paint-case-pricing,
html[data-eas-theme="glowball"] .price-nav-shell,
html[data-eas-theme="glowball"] .home-glow-highlight,
html[data-eas-theme="glowball"] .welcome-feature,
html[data-eas-theme="glowball"] .glow-highlight-video{
  background-color: rgba(252,252,255,.92) !important;
}



/* === v43 themed content panel clarity ===
   Makes the main information panels clearer over the rich seasonal backgrounds,
   while tinting the panel treatment to match each active theme. */
html[data-eas-theme="default"]{
  --theme-surface-rgb:248,255,246;
  --theme-surface-edge-rgb:99,191,85;
  --theme-surface-soft-rgb:23,109,203;
}
html[data-eas-theme="july4"]{
  --theme-surface-rgb:248,251,255;
  --theme-surface-edge-rgb:21,95,202;
  --theme-surface-soft-rgb:217,29,36;
}
html[data-eas-theme="halloween"]{
  --theme-surface-rgb:255,247,236;
  --theme-surface-edge-rgb:255,122,24;
  --theme-surface-soft-rgb:142,82,255;
}
html[data-eas-theme="christmas"]{
  --theme-surface-rgb:252,255,248;
  --theme-surface-edge-rgb:13,122,60;
  --theme-surface-soft-rgb:197,31,46;
}
html[data-eas-theme="glowball"]{
  --theme-surface-rgb:249,247,255;
  --theme-surface-edge-rgb:143,72,255;
  --theme-surface-soft-rgb:189,253,63;
}
html[data-eas-theme="spring"]{
  --theme-surface-rgb:253,255,250;
  --theme-surface-edge-rgb:121,207,99;
  --theme-surface-soft-rgb:239,90,167;
}
html[data-eas-theme="fall"]{
  --theme-surface-rgb:255,248,238;
  --theme-surface-edge-rgb:217,107,31;
  --theme-surface-soft-rgb:164,69,28;
}
html[data-eas-theme="valentines"]{
  --theme-surface-rgb:255,246,251;
  --theme-surface-edge-rgb:215,25,85;
  --theme-surface-soft-rgb:255,138,183;
}
html[data-eas-theme="summer"]{
  --theme-surface-rgb:255,253,241;
  --theme-surface-edge-rgb:38,167,217;
  --theme-surface-soft-rgb:255,177,33;
}

/* Primary content shells */
html[data-eas-theme] .brand-cluster,
html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame{
  background:
    radial-gradient(circle at 10% 0%, rgba(var(--theme-surface-edge-rgb), .13), transparent 32%),
    radial-gradient(circle at 96% 12%, rgba(var(--theme-surface-soft-rgb), .10), transparent 30%),
    linear-gradient(180deg, rgba(var(--theme-surface-rgb), .965), rgba(255,255,255,.91)) !important;
  border:1px solid rgba(var(--theme-surface-edge-rgb), .34) !important;
  border-top:5px solid rgba(var(--theme-surface-edge-rgb), .86) !important;
  border-bottom:5px solid rgba(var(--theme-surface-soft-rgb), .74) !important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.16),
    0 0 0 1px rgba(255,255,255,.56) inset,
    0 0 34px rgba(var(--theme-surface-edge-rgb), .10) !important;
  backdrop-filter:blur(6px) saturate(1.08);
}

/* Inner cards / panels */
html[data-eas-theme] .welcome-feature,
html[data-eas-theme] .home-glow-highlight,
html[data-eas-theme] .activities-callout,
html[data-eas-theme] .field-pass-teaser,
html[data-eas-theme] .proshop-wall,
html[data-eas-theme] .paint-case-pricing,
html[data-eas-theme] .price-nav-shell,
html[data-eas-theme] .package-card,
html[data-eas-theme] .offer-card,
html[data-eas-theme] .map-card,
html[data-eas-theme] .contact-form,
html[data-eas-theme] .contact-note,
html[data-eas-theme] .loyalty-steps article,
html[data-eas-theme] .glow-video-card,
html[data-eas-theme] .airsoft-glow-section,
html[data-eas-theme] .final-cta-panel,
html[data-eas-theme] .price-pass-cta{
  background:
    linear-gradient(180deg, rgba(var(--theme-surface-rgb), .94), rgba(255,255,255,.88)) !important;
  border-color:rgba(var(--theme-surface-edge-rgb), .28) !important;
  box-shadow:
    0 10px 24px rgba(0,0,0,.12),
    0 0 0 1px rgba(255,255,255,.46) inset !important;
}

/* Yellow notes should stay yellow, but gain theme-matched edge treatment. */
html[data-eas-theme] .yellow-note{
  background:
    linear-gradient(180deg, rgba(255,225,82,.96), rgba(255,211,53,.90)) !important;
  border-color:rgba(var(--theme-surface-edge-rgb), .42) !important;
  box-shadow:
    0 10px 22px rgba(0,0,0,.12),
    0 0 0 1px rgba(255,255,255,.42) inset !important;
}

/* Theme-matched visual emphasis lines on section cards. */
html[data-eas-theme] .welcome-feature,
html[data-eas-theme] .home-glow-highlight,
html[data-eas-theme] .activities-callout,
html[data-eas-theme] .field-pass-teaser,
html[data-eas-theme] .paint-case-pricing,
html[data-eas-theme] .price-pass-cta,
html[data-eas-theme] .final-cta-panel{
  border-left:5px solid rgba(var(--theme-surface-edge-rgb), .80) !important;
}

/* Dark artwork themes still use clear readable panels, not dark panels. */
html[data-eas-theme="glowball"] .brand-cluster,
html[data-eas-theme="glowball"] .page-frame,
html[data-eas-theme="glowball"] .wide-frame,
html[data-eas-theme="glowball"] .shop-frame,
html[data-eas-theme="halloween"] .brand-cluster,
html[data-eas-theme="halloween"] .page-frame,
html[data-eas-theme="halloween"] .wide-frame,
html[data-eas-theme="halloween"] .shop-frame{
  box-shadow:
    0 20px 50px rgba(0,0,0,.26),
    0 0 0 1px rgba(255,255,255,.60) inset,
    0 0 36px rgba(var(--theme-surface-edge-rgb), .16) !important;
}

/* Keep transparent Back to Top untouched by panel styling. */
html[data-eas-theme] .page-end-nav,
html[data-eas-theme] .back-top-wrap{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

@media(max-width:760px){
  html[data-eas-theme] .brand-cluster,
  html[data-eas-theme] .page-frame,
  html[data-eas-theme] .wide-frame,
  html[data-eas-theme] .shop-frame{
    border-top-width:4px!important;
    border-bottom-width:4px!important;
    background:
      linear-gradient(180deg, rgba(var(--theme-surface-rgb), .975), rgba(255,255,255,.94)) !important;
    backdrop-filter:blur(4px) saturate(1.05);
  }

  html[data-eas-theme] .welcome-feature,
  html[data-eas-theme] .home-glow-highlight,
  html[data-eas-theme] .activities-callout,
  html[data-eas-theme] .field-pass-teaser,
  html[data-eas-theme] .paint-case-pricing,
  html[data-eas-theme] .price-pass-cta,
  html[data-eas-theme] .final-cta-panel{
    border-left-width:4px!important;
  }
}



/* === v44 Halloween/background color correction ===
   Keeps supplied background artwork true-to-file.
   Older experimental theme rules used hue/filter effects on body::before,
   which could shift Halloween into green/red. */
html[data-eas-theme] body::before{
  filter:none!important;
  mix-blend-mode:normal!important;
  background-image:var(--theme-bg,var(--splatter-url))!important;
}

html[data-eas-theme] body::after{
  filter:none!important;
  mix-blend-mode:normal!important;
}

/* Keep the Halloween background true orange / purple / black. */
html[data-eas-theme="halloween"] body::before{
  filter:none!important;
  opacity:1!important;
  background-image:url("assets/themes/halloween-paintball-splatter-bg.png")!important;
  background-size:cover!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
}

html[data-eas-theme="halloween"] body::after{
  background:
    linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.02)),
    radial-gradient(circle at 50% 10%,rgba(255,255,255,.10),transparent 38%)!important;
  opacity:.42!important;
}

/* Halloween polish after restoring the correct artwork colors. */
html[data-eas-theme="halloween"]{
  --theme-surface-rgb:255,247,236;
  --theme-surface-edge-rgb:255,122,24;
  --theme-surface-soft-rgb:142,82,255;
}

html[data-eas-theme="halloween"] .top-nav-ribbon,
html[data-eas-theme="halloween"] .mobile-menu-button,
html[data-eas-theme="halloween"] .ribbon-more-button{
  background:#ff7a18!important;
  border-color:#6a2a00!important;
  color:#160812!important;
}

html[data-eas-theme="halloween"] .ribbon-menu a{
  color:#160812!important;
  text-shadow:0 1px 0 rgba(255,255,255,.30)!important;
}

html[data-eas-theme="halloween"] .ribbon-menu a.active,
html[data-eas-theme="halloween"] .ribbon-menu a:hover,
html[data-eas-theme="halloween"] .ribbon-menu a:focus-visible{
  background:#fff2df!important;
  color:#42135f!important;
  text-shadow:none!important;
}



/* === v45 fixed Glowball section colors ===
   Glowball promo areas should always stay purple/neon regardless of seasonal theme. */
html[data-eas-theme] .home-glow-highlight,
html[data-eas-theme] .glow-video-card,
html[data-eas-theme] .glow-video-card.glow-video-wide,
html[data-eas-theme] .package-card.glow-card{
  color:#ffffff!important;
  border:1px solid rgba(189,255,76,.42)!important;
  border-top:6px solid #bdfd4c!important;
  border-bottom:7px solid #6b32ff!important;
  background:
    radial-gradient(circle at 16% 18%,rgba(189,255,76,.28),transparent 30%),
    radial-gradient(circle at 84% 74%,rgba(107,50,255,.34),transparent 34%),
    linear-gradient(145deg,#090319,#1a0845 58%,#071427)!important;
  box-shadow:
    0 22px 46px rgba(42,0,125,.30),
    0 0 0 1px rgba(189,255,76,.16) inset,
    0 0 32px rgba(107,50,255,.25)!important;
  backdrop-filter:none!important;
}

html[data-eas-theme] .home-glow-highlight .section-kicker,
html[data-eas-theme] .glow-video-card .section-kicker,
html[data-eas-theme] .package-card.glow-card .package-tag{
  color:#f5ff55!important;
  text-shadow:0 0 10px rgba(189,255,76,.30)!important;
}

html[data-eas-theme] .home-glow-highlight h2,
html[data-eas-theme] .glow-video-card h3,
html[data-eas-theme] .package-card.glow-card h3{
  color:#ffffff!important;
  text-shadow:0 0 14px rgba(107,50,255,.34),0 3px 0 rgba(0,0,0,.26)!important;
}

html[data-eas-theme] .home-glow-highlight p,
html[data-eas-theme] .glow-video-card p,
html[data-eas-theme] .package-card.glow-card li,
html[data-eas-theme] .package-card.glow-card .age-line{
  color:#f4edff!important;
}

html[data-eas-theme] .glow-highlight-video,
html[data-eas-theme] .glow-video-shell,
html[data-eas-theme] .real-video-shell{
  border-color:rgba(189,255,76,.58)!important;
  background:#000!important;
  box-shadow:0 0 28px rgba(107,50,255,.36),0 14px 26px rgba(0,0,0,.32)!important;
}

html[data-eas-theme] .home-glow-highlight .rounded-blue,
html[data-eas-theme] .glow-video-card .rounded-blue,
html[data-eas-theme] .package-card.glow-card .price-chip.book-price-chip{
  background:linear-gradient(180deg,#8f48ff,#35106d)!important;
  color:#ffffff!important;
  box-shadow:0 3px 0 rgba(0,0,0,.32),0 0 20px rgba(143,72,255,.32)!important;
}

html[data-eas-theme] .home-glow-highlight .rounded-blue.secondary-action,
html[data-eas-theme] .glow-video-card .rounded-blue.secondary-action{
  background:linear-gradient(180deg,#c6ff3e,#5d8c11)!important;
  color:#111!important;
  text-shadow:0 1px 0 rgba(255,255,255,.32)!important;
}

/* Prevent theme panel clarity overrides from washing out Glowball cards. */
html[data-eas-theme] .home-glow-highlight::before,
html[data-eas-theme] .glow-video-card::before,
html[data-eas-theme] .package-card.glow-card::before{
  display:none!important;
}



/* === v46 final transparency/background/contact polish ===
   - Uses the uploaded default background.
   - Removes independently moving/fixed decorative background layers.
   - Makes header/content holders more transparent and theme-tinted.
   - Restores clean big map layout.
   - Adds floating contact widget styles. */

/* Put the theme artwork directly on body so there are no independent moving layers. */
html[data-eas-theme] body{
  background-image:var(--theme-bg,var(--splatter-url))!important;
  background-size:100% auto!important;
  background-position:center top!important;
  background-repeat:repeat-y!important;
  background-attachment:scroll!important;
}

/* Remove old fixed/pseudo/extra decorative background elements. */
html[data-eas-theme] body::before,
html[data-eas-theme] body::after,
.sticky-splatter,
.theme-ambient-layer,
.theme-ambient-splat,
.theme-ambient-dot{
  display:none!important;
  content:none!important;
}

/* Remove random internal panel splats/paint overlays, except purpose-built Glowball styling. */
.page-frame::before,
.wide-frame::before,
.shop-frame::before{
  display:none!important;
  content:none!important;
}

/* Theme-tinted transparent page/header holders. */
html[data-eas-theme] .brand-head{
  background:rgba(255,255,255,.23)!important;
  backdrop-filter:blur(9px) saturate(1.15);
  -webkit-backdrop-filter:blur(9px) saturate(1.15);
  border-bottom:1px solid rgba(var(--theme-surface-edge-rgb),.18);
}

html[data-eas-theme] .brand-cluster{
  background:
    linear-gradient(180deg,rgba(var(--theme-surface-rgb),.58),rgba(255,255,255,.42))!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.30)!important;
  border-top-color:rgba(var(--theme-surface-edge-rgb),.70)!important;
  border-bottom-color:rgba(var(--theme-surface-soft-rgb),.55)!important;
  box-shadow:
    0 16px 36px rgba(0,0,0,.10),
    0 0 0 1px rgba(255,255,255,.42) inset!important;
  backdrop-filter:blur(8px) saturate(1.12);
  -webkit-backdrop-filter:blur(8px) saturate(1.12);
}

html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame{
  background:
    linear-gradient(180deg,rgba(var(--theme-surface-rgb),.72),rgba(255,255,255,.58))!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.32)!important;
  border-top-color:rgba(var(--theme-surface-edge-rgb),.74)!important;
  border-bottom-color:rgba(var(--theme-surface-soft-rgb),.54)!important;
  box-shadow:
    0 18px 44px rgba(0,0,0,.13),
    0 0 0 1px rgba(255,255,255,.38) inset!important;
  backdrop-filter:blur(7px) saturate(1.12);
  -webkit-backdrop-filter:blur(7px) saturate(1.12);
}

/* Inner cards are clearer than the main holder, but still allow the theme to breathe. */
html[data-eas-theme] .welcome-feature,
html[data-eas-theme] .activities-callout,
html[data-eas-theme] .field-pass-teaser,
html[data-eas-theme] .proshop-wall,
html[data-eas-theme] .paint-case-pricing,
html[data-eas-theme] .price-nav-shell,
html[data-eas-theme] .package-card:not(.glow-card),
html[data-eas-theme] .offer-card,
html[data-eas-theme] .map-card,
html[data-eas-theme] .contact-form,
html[data-eas-theme] .contact-note,
html[data-eas-theme] .loyalty-steps article,
html[data-eas-theme] .airsoft-glow-section,
html[data-eas-theme] .final-cta-panel,
html[data-eas-theme] .price-pass-cta{
  background:
    linear-gradient(180deg,rgba(var(--theme-surface-rgb),.77),rgba(255,255,255,.66))!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.24)!important;
  box-shadow:
    0 10px 24px rgba(0,0,0,.10),
    0 0 0 1px rgba(255,255,255,.34) inset!important;
  backdrop-filter:blur(5px) saturate(1.08);
  -webkit-backdrop-filter:blur(5px) saturate(1.08);
}

/* Keep yellow notes yellow, with just a themed edge. */
html[data-eas-theme] .yellow-note{
  background:linear-gradient(180deg,rgba(255,226,86,.90),rgba(255,211,53,.82))!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.34)!important;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}

/* Facebook icon is now transparent. */
.social-square.fb{
  background:transparent!important;
  box-shadow:none!important;
}
.social-square img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

/* More original-style display font for big headings / headers. */
:root{
  --eas-display-font:Impact, Haettenschweiler, "Arial Black", "Stencil Std", "Stencil", sans-serif;
}
.page-title-wrap h1,
.welcome-block h1,
.welcome-copy h1,
.loyalty-hero h1,
.price-hero-copy h1,
.blue-heading,
.hero-splash-heading > span,
.package-card h3,
.price-card-readable h3,
.offer-card h3,
.activities-copy h2,
.contact-info-panel h2,
.final-cta-panel h2,
.price-pass-cta h2{
  font-family:var(--eas-display-font)!important;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* Location page: larger map, cleaner split like the current site. */
body[data-page="location"] .location-page{
  width:min(1720px,calc(100% - 34px));
}

body[data-page="location"] .map-card{
  display:grid!important;
  grid-template-columns:minmax(360px,.82fr) minmax(680px,1.45fr)!important;
  gap:28px!important;
  align-items:stretch!important;
  padding:24px!important;
  max-width:100%!important;
}

body[data-page="location"] .location-address-card{
  width:100%;
  max-width:100%!important;
  min-height:500px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

body[data-page="location"] .map-embed{
  min-height:520px;
}

body[data-page="location"] .map-embed iframe{
  height:100%!important;
  min-height:520px!important;
  border-radius:14px!important;
  border:3px solid rgba(var(--theme-surface-edge-rgb),.24)!important;
  box-shadow:0 14px 28px rgba(0,0,0,.13)!important;
}

/* Bottom back to top stays transparent no matter what. */
html[data-eas-theme] .page-end-nav,
html[data-eas-theme] .back-top-wrap{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
}

html[data-eas-theme] .page-top-link,
html[data-eas-theme] .page-top-link:hover,
html[data-eas-theme] .page-top-link:focus-visible,
html[data-eas-theme] .page-top-link:active{
  background:transparent!important;
  color:#121212!important;
  border-color:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Floating back-to-top moves above the contact widget. */
.floating-top{
  right:22px!important;
  bottom:92px!important;
  z-index:1450!important;
}

/* Floating contact widget */
.eas-contact-widget{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:1600;
  font-family:Arial,Helvetica,sans-serif;
}
.eas-contact-launch{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:12px 17px;
  border:0;
  border-radius:999px;
  background:linear-gradient(180deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7));
  color:#fff;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 4px 0 rgba(0,0,0,.24),0 14px 28px rgba(0,0,0,.20);
  cursor:pointer;
}
.eas-contact-launch .dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:#78ff5a;
  box-shadow:0 0 10px rgba(120,255,90,.85);
}
.eas-contact-panel{
  position:absolute;
  right:0;
  bottom:62px;
  width:min(360px,calc(100vw - 28px));
  overflow:hidden;
  border-radius:16px;
  background:#f5dcf4;
  border:1px solid rgba(0,0,0,.14);
  box-shadow:0 18px 46px rgba(0,0,0,.28);
  transform:translateY(12px);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}
.eas-contact-widget.open .eas-contact-panel{
  transform:translateY(0);
  opacity:1;
  pointer-events:auto;
}
.eas-contact-header{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  background:#fff;
  color:#111;
  border-bottom:1px solid rgba(0,0,0,.08);
}
.eas-contact-header strong{
  font-weight:800;
}
.eas-contact-close{
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  color:#111;
}
.eas-contact-body{
  padding:14px 16px 16px;
  max-height:min(560px,calc(100vh - 150px));
  overflow:auto;
}
.eas-chat-time{
  width:max-content;
  margin:0 auto 10px;
  padding:4px 8px;
  border-radius:4px;
  background:rgba(0,0,0,.38);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.eas-chat-bubble{
  max-width:88%;
  margin:0 0 9px;
  padding:10px 12px;
  border-radius:7px;
  background:#fff;
  color:#000;
  font-size:13px;
  line-height:1.32;
}
.eas-chat-bubble.user{
  margin-left:auto;
  background:rgba(255,255,255,.86);
  border-left:3px solid var(--theme-nav,#176dcb);
}
.eas-contact-form{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.eas-contact-form input,
.eas-contact-form textarea{
  width:100%;
  border:1px solid rgba(0,0,0,.15);
  border-radius:8px;
  padding:9px 10px;
  font:inherit;
  background:#fff;
  color:#111;
}
.eas-contact-form textarea{
  min-height:82px;
  resize:vertical;
}
.eas-contact-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:10px;
}
.eas-contact-actions a,
.eas-contact-form button{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 10px;
  border:0;
  border-radius:999px;
  background:linear-gradient(180deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7));
  color:#fff!important;
  text-decoration:none;
  font-weight:950;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  cursor:pointer;
}
.eas-contact-actions a.secondary{
  background:#111;
}
.eas-contact-status{
  margin:8px 0 0;
  color:#222;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
}

@media(max-width:1100px){
  body[data-page="location"] .map-card{
    grid-template-columns:1fr!important;
  }
  body[data-page="location"] .location-address-card{
    min-height:auto;
  }
  body[data-page="location"] .map-embed,
  body[data-page="location"] .map-embed iframe{
    min-height:430px!important;
  }
}

@media(max-width:760px){
  html[data-eas-theme] body{
    background-size:auto 100vh!important;
    background-repeat:repeat-y!important;
  }
  html[data-eas-theme] .brand-head{
    background:rgba(255,255,255,.20)!important;
  }
  html[data-eas-theme] .brand-cluster,
  html[data-eas-theme] .page-frame,
  html[data-eas-theme] .wide-frame,
  html[data-eas-theme] .shop-frame{
    background:linear-gradient(180deg,rgba(var(--theme-surface-rgb),.78),rgba(255,255,255,.68))!important;
  }
  body[data-page="location"] .map-embed,
  body[data-page="location"] .map-embed iframe{
    min-height:360px!important;
  }
  .eas-contact-widget{
    right:12px;
    bottom:12px;
  }
  .eas-contact-launch{
    min-height:44px;
    padding:10px 14px;
    font-size:12px;
  }
  .eas-contact-panel{
    right:0;
    bottom:56px;
  }
  .floating-top{
    right:16px!important;
    bottom:78px!important;
  }
}



/* === v47 retry polish: background fit, transparency, logo, font, no blur === */

/* Use the seasonal artwork as one stretched/fitted background, not repeating. */
html[data-eas-theme]{
  min-height:100%;
  background-image:var(--theme-bg,var(--splatter-url))!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
  background-color:#f8f8f8!important;
}

html[data-eas-theme] body{
  min-height:100%;
  background:transparent!important;
  background-image:none!important;
}

/* Keep every older/decorative background layer completely off. */
html[data-eas-theme] body::before,
html[data-eas-theme] body::after,
.sticky-splatter,
.theme-ambient-layer,
.theme-ambient-splat,
.theme-ambient-dot,
.page-frame::before,
.wide-frame::before,
.shop-frame::before{
  display:none!important;
  content:none!important;
  background:none!important;
}

/* No blur on the header/top holder. More transparent, but crisp. */
html[data-eas-theme] .brand-head{
  background:rgba(255,255,255,.16)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border-bottom:1px solid rgba(var(--theme-surface-edge-rgb),.16)!important;
  box-shadow:none!important;
}

html[data-eas-theme] .brand-cluster{
  background:
    linear-gradient(180deg,rgba(var(--theme-surface-rgb),.42),rgba(255,255,255,.24))!important;
  border:1px solid rgba(var(--theme-surface-edge-rgb),.24)!important;
  border-top:3px solid rgba(var(--theme-surface-edge-rgb),.54)!important;
  border-bottom:3px solid rgba(var(--theme-surface-soft-rgb),.38)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.08),0 0 0 1px rgba(255,255,255,.20) inset!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Main information holders: more transparent and theme-tinted. */
html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame{
  background:
    linear-gradient(180deg,rgba(var(--theme-surface-rgb),.52),rgba(255,255,255,.34))!important;
  border:1px solid rgba(var(--theme-surface-edge-rgb),.26)!important;
  border-top:4px solid rgba(var(--theme-surface-edge-rgb),.58)!important;
  border-bottom:4px solid rgba(var(--theme-surface-soft-rgb),.40)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.11),0 0 0 1px rgba(255,255,255,.22) inset!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Inner cards stay readable but also more see-through. Glowball cards are excluded below by v45 rules. */
html[data-eas-theme] .welcome-feature,
html[data-eas-theme] .activities-callout,
html[data-eas-theme] .field-pass-teaser,
html[data-eas-theme] .proshop-wall,
html[data-eas-theme] .paint-case-pricing,
html[data-eas-theme] .price-nav-shell,
html[data-eas-theme] .package-card:not(.glow-card),
html[data-eas-theme] .offer-card,
html[data-eas-theme] .map-card,
html[data-eas-theme] .contact-form,
html[data-eas-theme] .contact-note,
html[data-eas-theme] .loyalty-steps article,
html[data-eas-theme] .airsoft-glow-section,
html[data-eas-theme] .final-cta-panel,
html[data-eas-theme] .price-pass-cta,
html[data-eas-theme] .welcome-action-card{
  background:
    linear-gradient(180deg,rgba(var(--theme-surface-rgb),.64),rgba(255,255,255,.48))!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.22)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.09),0 0 0 1px rgba(255,255,255,.22) inset!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Keep yellow notes yellow but less opaque. */
html[data-eas-theme] .yellow-note{
  background:linear-gradient(180deg,rgba(255,226,86,.82),rgba(255,211,53,.70))!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.30)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Use requested display font anywhere we have large, bold black-style headers. */
:root{
  --eas-display-font:stencil-w01-bold,fantasy;
}

.page-title-wrap h1,
.welcome-block h1,
.welcome-copy h1,
.loyalty-hero h1,
.price-hero-copy h1,
.blue-heading,
.hero-splash-heading > span,
.package-card h3,
.price-card-readable h3,
.offer-card h3,
.activities-copy h2,
.contact-info-panel h2,
.final-cta-panel h2,
.price-pass-cta h2,
.location-address-card h2,
.location-address-lines,
.address-block h2{
  font-family:var(--eas-display-font)!important;
  letter-spacing:.075em;
  text-transform:uppercase;
}

/* New uploaded logo sizing. */
.brand-logo{
  position:relative;
  isolation:isolate;
}

.brand-logo img{
  width:clamp(180px,17.5vw,290px)!important;
  max-height:none!important;
  object-fit:contain!important;
}

.brand-cluster{
  gap:clamp(16px,2.5vw,34px)!important;
}

.activities-logo-pair.single-main-logo img,
.activities-logo-pair img[src*="eagle-action-sportz-main-logo"]{
  width:min(330px,96%)!important;
  max-height:none!important;
}

/* Homepage-only logo splat on load. */
body[data-page="home"] .brand-logo::before{
  content:"";
  position:absolute;
  inset:-24px;
  z-index:-1;
  background:
    radial-gradient(circle at 42% 52%,rgba(255,255,255,.32),transparent 46%),
    url("assets/paint-splats/paint_splat_08_red_transparent.png") 72% 50%/62% no-repeat,
    url("assets/paint-splats/paint_splat_09_blue_transparent.png") 22% 42%/58% no-repeat;
  opacity:0;
  transform:scale(.18) rotate(-18deg);
  animation:easLogoSplatBurst 980ms cubic-bezier(.22,1.18,.28,1) .18s both;
  pointer-events:none;
}

body[data-page="home"] .brand-logo img{
  transform-origin:center center;
  animation:easLogoSplatIn 980ms cubic-bezier(.17,1.2,.24,1) .18s both;
  will-change:transform,opacity,filter;
}

@keyframes easLogoSplatIn{
  0%{
    opacity:0;
    transform:scale(.25) rotate(-8deg);
    filter:blur(5px) drop-shadow(0 0 0 rgba(0,0,0,0));
  }
  45%{
    opacity:1;
    transform:scale(1.18) rotate(2deg);
    filter:blur(0) drop-shadow(0 12px 16px rgba(0,0,0,.18));
  }
  68%{
    transform:scale(.94) rotate(-1deg);
  }
  84%{
    transform:scale(1.04) rotate(.35deg);
  }
  100%{
    opacity:1;
    transform:scale(1) rotate(0);
    filter:drop-shadow(0 8px 12px rgba(0,0,0,.13));
  }
}

@keyframes easLogoSplatBurst{
  0%{
    opacity:0;
    transform:scale(.12) rotate(-26deg);
    filter:blur(7px);
  }
  34%{
    opacity:.78;
    transform:scale(1.18) rotate(4deg);
    filter:blur(0);
  }
  70%{
    opacity:.36;
    transform:scale(1.04) rotate(-2deg);
  }
  100%{
    opacity:.22;
    transform:scale(1) rotate(0);
  }
}

/* No animation for users who prefer reduced motion. */
@media(prefers-reduced-motion:reduce){
  body[data-page="home"] .brand-logo::before,
  body[data-page="home"] .brand-logo img{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}

/* Bottom Back to Top remains transparent. */
html[data-eas-theme] .page-end-nav,
html[data-eas-theme] .back-top-wrap{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

html[data-eas-theme] .page-top-link,
html[data-eas-theme] .page-top-link:hover,
html[data-eas-theme] .page-top-link:focus-visible,
html[data-eas-theme] .page-top-link:active{
  background:transparent!important;
  color:#121212!important;
  border-color:transparent!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Mobile: still no repeat, just fitted artwork. */
@media(max-width:760px){
  html[data-eas-theme]{
    background-size:cover!important;
    background-position:center top!important;
    background-attachment:scroll!important;
    background-repeat:no-repeat!important;
  }

  html[data-eas-theme] .brand-head{
    background:rgba(255,255,255,.14)!important;
  }

  html[data-eas-theme] .brand-cluster{
    background:linear-gradient(180deg,rgba(var(--theme-surface-rgb),.46),rgba(255,255,255,.30))!important;
  }

  html[data-eas-theme] .page-frame,
  html[data-eas-theme] .wide-frame,
  html[data-eas-theme] .shop-frame{
    background:linear-gradient(180deg,rgba(var(--theme-surface-rgb),.58),rgba(255,255,255,.42))!important;
  }

  .brand-logo img{
    width:clamp(170px,44vw,245px)!important;
  }
}



/* === v48 header/logo/font/chat/background cleanup === */

/* Stretch the active theme background to the full page once. No repeat. */
html[data-eas-theme]{
  min-height:100%;
  background-image:var(--theme-bg,var(--splatter-url))!important;
  background-size:100% 100%!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-attachment:scroll!important;
  background-color:#f8f8f8!important;
}

html[data-eas-theme] body{
  min-height:100%;
  background:transparent!important;
  background-image:none!important;
  background-repeat:no-repeat!important;
}

/* Keep all old moving / pseudo background layers removed. */
html[data-eas-theme] body::before,
html[data-eas-theme] body::after,
.sticky-splatter,
.theme-ambient-layer,
.theme-ambient-splat,
.theme-ambient-dot,
.page-frame::before,
.wide-frame::before,
.shop-frame::before,
.brand-logo::before{
  display:none!important;
  content:none!important;
  background:none!important;
  animation:none!important;
}

/* Fully remove the visual header holder. Keep the layout/content only. */
html[data-eas-theme] .brand-head{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:12px 14px 6px!important;
}

html[data-eas-theme] .brand-cluster{
  width:min(1220px,100%)!important;
  grid-template-columns:minmax(245px,330px) minmax(245px,1fr) minmax(330px,1.25fr) auto!important;
  gap:clamp(22px,3vw,42px)!important;
  padding:6px 14px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Bigger logo and stronger top info text. */
.brand-logo img{
  width:clamp(250px,22vw,385px)!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.20))!important;
}

.brand-detail{
  font-size:clamp(15px,1.08vw,18px)!important;
  line-height:1.28!important;
  font-weight:900!important;
  color:#0f4f9c!important;
  text-shadow:0 2px 0 rgba(255,255,255,.70),0 4px 8px rgba(0,0,0,.10)!important;
}

.brand-detail strong{
  font-size:clamp(16px,1.18vw,20px)!important;
  letter-spacing:.055em!important;
}

.brand-actions .small-blue-btn{
  min-width:170px!important;
  min-height:40px!important;
  font-size:12px!important;
}

/* Requested display font for large black/display headings across all themes/pages. */
:root{
  --eas-display-font:stencil-w01-bold,fantasy!important;
}

h1,
.page-title-wrap h1,
.welcome-block h1,
.welcome-copy h1,
.loyalty-hero h1,
.price-hero-copy h1,
.blue-heading,
.hero-splash-heading > span,
.package-card h3,
.price-card-readable h3,
.offer-card h3,
.activities-copy h2,
.contact-info-panel h2,
.final-cta-panel h2,
.price-pass-cta h2,
.location-address-card h2,
.location-address-lines,
.address-block h2,
.section-title,
.hero-title,
.big-stencil,
[class*="heading"]{
  font-family:stencil-w01-bold,fantasy!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

/* Black stencil headings get the original heavy shadow feel. */
.page-title-wrap h1,
.welcome-block h1,
.welcome-copy h1,
.loyalty-hero h1,
.price-hero-copy h1{
  color:#050505!important;
  text-shadow:3px 4px 0 rgba(255,255,255,.78),5px 7px 8px rgba(0,0,0,.28)!important;
}

/* Reverse logo landing animation: starts oversized and lands into place. No background splats behind it. */
body[data-page="home"] .brand-logo img{
  transform-origin:center center;
  animation:easLogoLandIn 820ms cubic-bezier(.18,.92,.22,1.14) .14s both!important;
  will-change:transform,opacity,filter;
}

@keyframes easLogoLandIn{
  0%{
    opacity:0;
    transform:translateY(-56px) scale(1.72) rotate(-4deg);
    filter:drop-shadow(0 24px 18px rgba(0,0,0,.0));
  }
  44%{
    opacity:1;
    transform:translateY(6px) scale(.92) rotate(1.5deg);
    filter:drop-shadow(0 18px 18px rgba(0,0,0,.24));
  }
  64%{
    transform:translateY(-5px) scale(1.07) rotate(-.7deg);
  }
  82%{
    transform:translateY(2px) scale(.985) rotate(.25deg);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1) rotate(0);
    filter:drop-shadow(0 7px 12px rgba(0,0,0,.20));
  }
}

@media(prefers-reduced-motion:reduce){
  body[data-page="home"] .brand-logo img{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}

/* Simplified contact widget: no extra action buttons and no name input. */
.eas-contact-actions,
.eas-contact-form input[name="name"]{
  display:none!important;
}

.eas-contact-body{
  padding-bottom:18px!important;
}

.eas-contact-form{
  margin-top:12px!important;
}

.eas-contact-form textarea{
  min-height:104px!important;
}

.eas-contact-form button{
  min-height:40px!important;
}

/* Keep primary content holders more transparent. */
html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame{
  background:linear-gradient(180deg,rgba(var(--theme-surface-rgb),.46),rgba(255,255,255,.28))!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.22)!important;
  box-shadow:0 14px 34px rgba(0,0,0,.10),0 0 0 1px rgba(255,255,255,.18) inset!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Inner cards readable but lighter. */
html[data-eas-theme] .welcome-feature,
html[data-eas-theme] .activities-callout,
html[data-eas-theme] .field-pass-teaser,
html[data-eas-theme] .proshop-wall,
html[data-eas-theme] .paint-case-pricing,
html[data-eas-theme] .price-nav-shell,
html[data-eas-theme] .package-card:not(.glow-card),
html[data-eas-theme] .offer-card,
html[data-eas-theme] .map-card,
html[data-eas-theme] .contact-form,
html[data-eas-theme] .contact-note,
html[data-eas-theme] .loyalty-steps article,
html[data-eas-theme] .airsoft-glow-section,
html[data-eas-theme] .final-cta-panel,
html[data-eas-theme] .price-pass-cta,
html[data-eas-theme] .welcome-action-card{
  background:linear-gradient(180deg,rgba(var(--theme-surface-rgb),.58),rgba(255,255,255,.38))!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Bottom Back to Top stays transparent. */
html[data-eas-theme] .page-end-nav,
html[data-eas-theme] .back-top-wrap,
html[data-eas-theme] .page-top-link,
html[data-eas-theme] .page-top-link:hover,
html[data-eas-theme] .page-top-link:focus-visible,
html[data-eas-theme] .page-top-link:active{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Mobile header still uses no holder, but the larger logo scales safely. */
@media(max-width:980px){
  html[data-eas-theme] .brand-cluster{
    grid-template-columns:1fr!important;
    text-align:center!important;
    gap:10px!important;
  }

  .brand-logo img{
    width:clamp(245px,70vw,350px)!important;
    margin:0 auto!important;
  }

  .brand-detail{
    font-size:15px!important;
  }

  .brand-actions{
    flex-direction:row!important;
    flex-wrap:wrap!important;
  }
}

@media(max-width:760px){
  html[data-eas-theme]{
    background-size:cover!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
  }

  html[data-eas-theme] .brand-head{
    padding:8px 10px 4px!important;
  }

  .brand-logo img{
    width:clamp(230px,78vw,330px)!important;
  }

  .brand-detail{
    font-size:14px!important;
  }
}



/* === v49 header/background/animation correction ===
   Restores the v47-style header holder, restores v47-style theme background fit,
   and changes the homepage logo animation so it lands once with no recoil/bounce. */

/* Background behavior back to the v47 look: fitted artwork, no repeat, no stretching distortion. */
html[data-eas-theme]{
  min-height:100%;
  background-image:var(--theme-bg,var(--splatter-url))!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-attachment:fixed!important;
  background-color:#f8f8f8!important;
}

html[data-eas-theme] body{
  min-height:100%;
  background:transparent!important;
  background-image:none!important;
  background-repeat:no-repeat!important;
}

/* Keep old moving/decorative layers disabled. */
html[data-eas-theme] body::before,
html[data-eas-theme] body::after,
.sticky-splatter,
.theme-ambient-layer,
.theme-ambient-splat,
.theme-ambient-dot,
.page-frame::before,
.wide-frame::before,
.shop-frame::before,
.brand-logo::before{
  display:none!important;
  content:none!important;
  background:none!important;
  animation:none!important;
}

/* Bring the top header holder back, without blur. */
html[data-eas-theme] .brand-head{
  padding:18px 14px 14px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.12))!important;
  border-bottom:1px solid rgba(var(--theme-surface-edge-rgb),.16)!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

html[data-eas-theme] .brand-cluster{
  width:min(1220px,100%)!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(245px,330px) minmax(245px,1fr) minmax(330px,1.25fr) auto!important;
  gap:clamp(22px,3vw,42px)!important;
  align-items:center!important;
  padding:14px 20px!important;
  text-align:left!important;
  background:
    linear-gradient(180deg,rgba(var(--theme-surface-rgb),.46),rgba(255,255,255,.30))!important;
  border:1px solid rgba(var(--theme-surface-edge-rgb),.28)!important;
  border-top:4px solid rgba(var(--theme-surface-edge-rgb),.68)!important;
  border-bottom:4px solid rgba(var(--theme-surface-soft-rgb),.48)!important;
  border-radius:16px!important;
  box-shadow:
    0 12px 30px rgba(0,0,0,.10),
    0 0 0 1px rgba(255,255,255,.24) inset!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Keep the larger v48 logo/text sizing inside the restored holder. */
.brand-logo img{
  width:clamp(250px,21vw,370px)!important;
  max-width:100%!important;
  max-height:none!important;
  object-fit:contain!important;
  filter:drop-shadow(0 7px 12px rgba(0,0,0,.20))!important;
}

.brand-detail{
  font-size:clamp(15px,1.08vw,18px)!important;
  line-height:1.28!important;
  font-weight:900!important;
  color:#0f4f9c!important;
  text-shadow:0 2px 0 rgba(255,255,255,.70),0 4px 8px rgba(0,0,0,.10)!important;
}

.brand-detail strong{
  font-size:clamp(16px,1.18vw,20px)!important;
  letter-spacing:.055em!important;
}

/* Homepage-only logo lands once. No recoil, no bounce, no extra splat behind it. */
body[data-page="home"] .brand-logo::before{
  display:none!important;
  content:none!important;
  animation:none!important;
}

body[data-page="home"] .brand-logo img{
  transform-origin:center center;
  animation:easLogoLandOnce 760ms cubic-bezier(.18,.86,.18,1) .12s both!important;
  will-change:transform,opacity,filter;
}

@keyframes easLogoLandOnce{
  0%{
    opacity:0;
    transform:translateY(-64px) scale(1.62) rotate(-3deg);
    filter:drop-shadow(0 0 0 rgba(0,0,0,0));
  }
  72%{
    opacity:1;
    transform:translateY(0) scale(1) rotate(0deg);
    filter:drop-shadow(0 10px 14px rgba(0,0,0,.22));
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1) rotate(0deg);
    filter:drop-shadow(0 7px 12px rgba(0,0,0,.20));
  }
}

@media(prefers-reduced-motion:reduce){
  body[data-page="home"] .brand-logo img{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}

/* Main holders remain transparent but not as invisible as the removed-header pass. */
html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame{
  background:linear-gradient(180deg,rgba(var(--theme-surface-rgb),.52),rgba(255,255,255,.34))!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.26)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.11),0 0 0 1px rgba(255,255,255,.22) inset!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Mobile keeps the same holder style but stacks cleanly. */
@media(max-width:980px){
  html[data-eas-theme]{
    background-size:cover!important;
    background-position:center top!important;
    background-attachment:scroll!important;
    background-repeat:no-repeat!important;
  }

  html[data-eas-theme] .brand-cluster{
    grid-template-columns:1fr!important;
    text-align:center!important;
    gap:10px!important;
    padding:12px 14px!important;
  }

  .brand-logo img{
    width:clamp(245px,70vw,350px)!important;
    margin:0 auto!important;
  }

  .brand-actions{
    flex-direction:row!important;
    flex-wrap:wrap!important;
  }
}

@media(max-width:760px){
  html[data-eas-theme] .brand-head{
    padding:10px 10px 8px!important;
    background:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.10))!important;
  }

  html[data-eas-theme] .brand-cluster{
    background:linear-gradient(180deg,rgba(var(--theme-surface-rgb),.50),rgba(255,255,255,.34))!important;
  }

  .brand-logo img{
    width:clamp(230px,78vw,330px)!important;
  }
}



/* === v50 loyalty/header cleanup ===
   Background behavior intentionally unchanged from v49. */

/* Loyalty hero readability fix */
body[data-page="loyalty"] .loyalty-hero,
body[data-page="loyalty"] .loyalty-hero-pro{
  color:#fff!important;
}

body[data-page="loyalty"] .loyalty-hero img,
body[data-page="loyalty"] .loyalty-hero-pro img{
  filter:brightness(.42) saturate(1.05)!important;
}

body[data-page="loyalty"] .loyalty-hero-pro::after{
  background:
    radial-gradient(circle at 80% 15%,rgba(255,215,53,.14),transparent 26%),
    linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.62) 43%,rgba(0,0,0,.30) 100%)!important;
}

body[data-page="loyalty"] .loyalty-hero .section-kicker,
body[data-page="loyalty"] .loyalty-hero-pro .section-kicker{
  color:#2f8dff!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.42),
    0 0 12px rgba(47,141,255,.28)!important;
}

body[data-page="loyalty"] .loyalty-hero h1,
body[data-page="loyalty"] .loyalty-hero-pro h1{
  color:#fff!important;
  -webkit-text-stroke:1px rgba(255,255,255,.18);
  text-shadow:
    3px 4px 0 rgba(0,0,0,.82),
    0 9px 18px rgba(0,0,0,.55)!important;
}

body[data-page="loyalty"] .loyalty-hero p:not(.section-kicker),
body[data-page="loyalty"] .loyalty-hero-pro p:not(.section-kicker){
  color:#fff!important;
  font-weight:900!important;
  text-shadow:0 2px 6px rgba(0,0,0,.72)!important;
}

/* Make the top header just a little smaller, while keeping the v49 holder look. */
html[data-eas-theme] .brand-head{
  padding:14px 14px 10px!important;
  border-bottom:0!important;
}

html[data-eas-theme] .brand-cluster{
  width:min(1120px,100%)!important;
  grid-template-columns:minmax(215px,300px) minmax(230px,1fr) minmax(300px,1.18fr) auto!important;
  gap:clamp(16px,2.4vw,32px)!important;
  padding:11px 17px!important;
  border-top-width:3px!important;
  border-bottom-width:3px!important;
}

.brand-logo img{
  width:clamp(220px,19vw,330px)!important;
}

.brand-detail{
  font-size:clamp(14px,1vw,17px)!important;
}

.brand-detail strong{
  font-size:clamp(15px,1.08vw,19px)!important;
}

.brand-actions .small-blue-btn{
  min-width:155px!important;
  min-height:38px!important;
}

/* Remove the thin divider line directly between the header and page content. */
html[data-eas-theme] main > .page-frame:first-child,
html[data-eas-theme] main > .wide-frame:first-child,
html[data-eas-theme] main > .shop-frame:first-child{
  border-top-width:0!important;
}

/* Keep bottom Back to Top transparent. */
html[data-eas-theme] .page-end-nav,
html[data-eas-theme] .back-top-wrap,
html[data-eas-theme] .page-top-link,
html[data-eas-theme] .page-top-link:hover,
html[data-eas-theme] .page-top-link:focus-visible,
html[data-eas-theme] .page-top-link:active{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

@media(max-width:980px){
  html[data-eas-theme] .brand-cluster{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:10px 14px!important;
  }

  .brand-logo img{
    width:clamp(220px,66vw,320px)!important;
  }

  .brand-detail{
    font-size:14px!important;
  }
}

@media(max-width:760px){
  html[data-eas-theme] .brand-head{
    padding:8px 10px 6px!important;
  }

  .brand-logo img{
    width:clamp(215px,72vw,305px)!important;
  }
}



/* === v51 logo animation + social icon polish ===
   Logo starts larger and drops in slower, then stops.
   Social icons use transparent artwork on a matching shared background. */

/* Slower / larger homepage logo land animation with no recoil. */
body[data-page="home"] .brand-logo img{
  animation:easLogoLandSlower 1180ms cubic-bezier(.15,.76,.16,1) .16s both!important;
  transform-origin:center center!important;
  will-change:transform,opacity,filter;
}

@keyframes easLogoLandSlower{
  0%{
    opacity:0;
    transform:translateY(-110px) scale(2.18) rotate(-3deg);
    filter:drop-shadow(0 0 0 rgba(0,0,0,0));
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1) rotate(0deg);
    filter:drop-shadow(0 7px 12px rgba(0,0,0,.20));
  }
}

/* Shared social icon background so Facebook / Instagram / Maps stand out together. */
.social-row{
  gap:9px!important;
}

.social-square,
.social-square.fb,
.social-square.ig,
.social-square.map{
  width:34px!important;
  height:34px!important;
  padding:5px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.82)!important;
  border:1px solid rgba(20,72,130,.20)!important;
  box-shadow:
    0 6px 14px rgba(0,0,0,.12),
    inset 0 0 0 1px rgba(255,255,255,.48)!important;
  overflow:hidden!important;
}

.social-square:hover,
.social-square:focus-visible{
  background:rgba(255,255,255,.94)!important;
  transform:translateY(-1px)!important;
}

.social-square img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.social-square.fb img{
  width:92%!important;
  height:92%!important;
}

.social-square.ig img{
  width:100%!important;
  height:100%!important;
}

.social-square.map img{
  width:96%!important;
  height:96%!important;
}

/* Keep social icons protected from paint-hover splats. */
.social-square,
.social-square *{
  isolation:isolate;
}

@media(max-width:760px){
  .social-square,
  .social-square.fb,
  .social-square.ig,
  .social-square.map{
    width:32px!important;
    height:32px!important;
    padding:5px!important;
  }
}



/* === v52 readability, contact, social, and homepage cleanup ===
   Background behavior is intentionally unchanged from the current build. */

/* Remove any layout gap left by removing the More Than Paintball block. */
body[data-page="home"] .field-pass-teaser{
  margin-top:18px!important;
}

/* Dark-theme readability: Halloween and Glowball need stronger readable surfaces. */
html[data-eas-theme="halloween"] .page-frame,
html[data-eas-theme="halloween"] .wide-frame,
html[data-eas-theme="halloween"] .shop-frame,
html[data-eas-theme="glowball"] .page-frame,
html[data-eas-theme="glowball"] .wide-frame,
html[data-eas-theme="glowball"] .shop-frame{
  background:linear-gradient(180deg,rgba(var(--theme-surface-rgb),.78),rgba(255,255,255,.64))!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.36)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.28) inset!important;
}

html[data-eas-theme="halloween"] .welcome-feature,
html[data-eas-theme="halloween"] .field-pass-teaser,
html[data-eas-theme="halloween"] .proshop-wall,
html[data-eas-theme="halloween"] .paint-case-pricing,
html[data-eas-theme="halloween"] .price-nav-shell,
html[data-eas-theme="halloween"] .package-card:not(.glow-card),
html[data-eas-theme="halloween"] .offer-card,
html[data-eas-theme="halloween"] .map-card,
html[data-eas-theme="halloween"] .contact-form,
html[data-eas-theme="halloween"] .contact-note,
html[data-eas-theme="halloween"] .loyalty-steps article,
html[data-eas-theme="halloween"] .final-cta-panel,
html[data-eas-theme="halloween"] .price-pass-cta,
html[data-eas-theme="glowball"] .welcome-feature,
html[data-eas-theme="glowball"] .field-pass-teaser,
html[data-eas-theme="glowball"] .proshop-wall,
html[data-eas-theme="glowball"] .paint-case-pricing,
html[data-eas-theme="glowball"] .price-nav-shell,
html[data-eas-theme="glowball"] .package-card:not(.glow-card),
html[data-eas-theme="glowball"] .offer-card,
html[data-eas-theme="glowball"] .map-card,
html[data-eas-theme="glowball"] .contact-form,
html[data-eas-theme="glowball"] .contact-note,
html[data-eas-theme="glowball"] .loyalty-steps article,
html[data-eas-theme="glowball"] .final-cta-panel,
html[data-eas-theme="glowball"] .price-pass-cta{
  background:linear-gradient(180deg,rgba(var(--theme-surface-rgb),.86),rgba(255,255,255,.74))!important;
  color:#111!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.34)!important;
  box-shadow:0 12px 26px rgba(0,0,0,.18),0 0 0 1px rgba(255,255,255,.30) inset!important;
}

html[data-eas-theme="halloween"] .package-card:not(.glow-card) h3,
html[data-eas-theme="halloween"] .offer-card h3,
html[data-eas-theme="halloween"] .paint-case-pricing h2,
html[data-eas-theme="glowball"] .package-card:not(.glow-card) h3,
html[data-eas-theme="glowball"] .offer-card h3,
html[data-eas-theme="glowball"] .paint-case-pricing h2{
  color:#050505!important;
  text-shadow:1px 2px 0 rgba(255,255,255,.78),0 4px 8px rgba(0,0,0,.18)!important;
}

html[data-eas-theme="halloween"] .package-card:not(.glow-card) p,
html[data-eas-theme="halloween"] .package-card:not(.glow-card) li,
html[data-eas-theme="halloween"] .offer-card p,
html[data-eas-theme="halloween"] .paint-case-pricing p,
html[data-eas-theme="glowball"] .package-card:not(.glow-card) p,
html[data-eas-theme="glowball"] .package-card:not(.glow-card) li,
html[data-eas-theme="glowball"] .offer-card p,
html[data-eas-theme="glowball"] .paint-case-pricing p{
  color:#161616!important;
}

/* Prices page: package/info sections should be more opaque and easier to read on every theme. */
body[data-page="prices"] .package-card:not(.glow-card),
body[data-page="prices"] .paint-case-pricing,
body[data-page="prices"] .price-split-polished,
body[data-page="prices"] .price-pass-cta,
body[data-page="prices"] .airsoft-glow-section,
body[data-page="prices"] .final-cta-panel,
body[data-page="prices"] .price-nav-shell{
  background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(255,255,255,.76))!important;
  color:#111!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.34)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.34) inset!important;
}

body[data-page="prices"] .package-card:not(.glow-card) h3,
body[data-page="prices"] .paint-case-pricing h2,
body[data-page="prices"] .price-split-polished h2,
body[data-page="prices"] .price-pass-cta h2,
body[data-page="prices"] .final-cta-panel h2{
  color:#050505!important;
  text-shadow:1px 2px 0 rgba(255,255,255,.78),0 4px 8px rgba(0,0,0,.18)!important;
}

/* Keep Glowball pricing cards locked to their neon styling even on the Prices page. */
body[data-page="prices"] .package-card.glow-card,
body[data-page="prices"] .glow-video-card{
  background:
    radial-gradient(circle at 16% 18%,rgba(189,255,76,.28),transparent 30%),
    radial-gradient(circle at 84% 74%,rgba(107,50,255,.34),transparent 34%),
    linear-gradient(145deg,#090319,#1a0845 58%,#071427)!important;
  color:#fff!important;
}

/* More professional floating contact button. */
.eas-contact-widget{
  right:22px!important;
  bottom:22px!important;
}

.eas-contact-launch{
  min-height:46px!important;
  padding:11px 18px 11px 15px!important;
  gap:10px!important;
  border-radius:14px!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(245,248,255,.94))!important;
  color:#14213d!important;
  border:1px solid rgba(20,72,130,.22)!important;
  box-shadow:
    0 10px 24px rgba(0,0,0,.18),
    0 0 0 1px rgba(255,255,255,.62) inset!important;
  text-shadow:none!important;
  letter-spacing:.045em!important;
}

.eas-contact-launch::before{
  content:"";
  width:19px;
  height:19px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%,#fff 0 24%,transparent 25%),
    linear-gradient(180deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7));
  box-shadow:0 0 0 3px rgba(24,121,250,.10);
  flex:0 0 auto;
}

.eas-contact-launch .dot{
  display:none!important;
}

.eas-contact-launch:hover,
.eas-contact-launch:focus-visible{
  transform:translateY(-1px)!important;
  background:#fff!important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.22),
    0 0 0 1px rgba(255,255,255,.72) inset!important;
}

.eas-contact-panel{
  border-radius:18px!important;
  border:1px solid rgba(20,72,130,.22)!important;
  box-shadow:0 22px 54px rgba(0,0,0,.30)!important;
}

.eas-contact-header{
  background:linear-gradient(180deg,#fff,#f8faff)!important;
}

/* Social icons: same background, bigger Facebook artwork. */
.social-square,
.social-square.fb,
.social-square.ig,
.social-square.map{
  width:36px!important;
  height:36px!important;
  padding:4px!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(20,72,130,.22)!important;
  box-shadow:
    0 7px 16px rgba(0,0,0,.13),
    inset 0 0 0 1px rgba(255,255,255,.55)!important;
}

.social-square.fb img{
  width:132%!important;
  height:132%!important;
  max-width:none!important;
  max-height:none!important;
  transform:scale(1.18)!important;
  transform-origin:center center!important;
}

.social-square.ig img,
.social-square.map img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

/* Contact widget should not receive paint splatter hover treatment. */
.eas-contact-widget,
.eas-contact-widget *,
.social-square,
.social-square *{
  isolation:isolate;
}

@media(max-width:760px){
  .eas-contact-widget{
    right:14px!important;
    bottom:14px!important;
  }

  .eas-contact-launch{
    min-height:44px!important;
    padding:10px 15px 10px 13px!important;
    font-size:12px!important;
  }
}



/* === v53 actual requested fixes ===
   Keeps current background behavior unchanged.
   Fixes dark theme footer readability, prices wrappers, nav sizing,
   header divider line, and adds page transition. */

/* 1) Footer/address/hours readability for Halloween and Glowball */
html[data-eas-theme="halloween"] .footer-card,
html[data-eas-theme="glowball"] .footer-card{
  background:
    linear-gradient(180deg,rgba(12,12,16,.74),rgba(18,18,24,.62))!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.50)!important;
  border-top-color:rgba(var(--theme-surface-edge-rgb),.88)!important;
  border-bottom-color:rgba(var(--theme-surface-soft-rgb),.78)!important;
  box-shadow:0 18px 42px rgba(0,0,0,.32),0 0 0 1px rgba(255,255,255,.14) inset!important;
}

html[data-eas-theme="halloween"] .footer-contact-lockup,
html[data-eas-theme="halloween"] .footer-contact-lockup strong,
html[data-eas-theme="halloween"] .footer-contact-lockup span,
html[data-eas-theme="halloween"] .footer-contact-lockup small,
html[data-eas-theme="halloween"] .footer-contact-lockup a,
html[data-eas-theme="glowball"] .footer-contact-lockup,
html[data-eas-theme="glowball"] .footer-contact-lockup strong,
html[data-eas-theme="glowball"] .footer-contact-lockup span,
html[data-eas-theme="glowball"] .footer-contact-lockup small,
html[data-eas-theme="glowball"] .footer-contact-lockup a{
  color:#fff!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.70),
    0 0 10px rgba(255,255,255,.18)!important;
}

html[data-eas-theme="halloween"] .footer-contact-lockup strong,
html[data-eas-theme="glowball"] .footer-contact-lockup strong{
  color:var(--theme-accent,#f5ff55)!important;
}

/* 2) Prices page: undo the broad v52 section-wrapper wash.
      Only cards/info boxes get the more opaque readable treatment. */
body[data-page="prices"] .price-split-polished,
body[data-page="prices"] .airsoft-glow-section{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
}

/* More opaque info boxes/cards, matching the rental cards treatment. */
body[data-page="prices"] .package-card:not(.glow-card),
body[data-page="prices"] .paint-case-pricing,
body[data-page="prices"] .paint-case-card,
body[data-page="prices"] .split-photo-band .yellow-note,
body[data-page="prices"] .price-pass-cta,
body[data-page="prices"] .final-cta-panel,
body[data-page="prices"] .price-nav-shell{
  background:linear-gradient(180deg,rgba(255,255,255,.90),rgba(255,255,255,.78))!important;
  color:#111!important;
  border-color:rgba(var(--theme-surface-edge-rgb),.34)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.16),0 0 0 1px rgba(255,255,255,.36) inset!important;
}

/* Party / Airsoft cards specifically: readable, but not changing the whole section. */
body[data-page="prices"] #parties .package-card:not(.glow-card),
body[data-page="prices"] #airsoft .package-card:not(.glow-card){
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.82))!important;
  color:#111!important;
}

body[data-page="prices"] #parties .package-card:not(.glow-card) h3,
body[data-page="prices"] #airsoft .package-card:not(.glow-card) h3,
body[data-page="prices"] #parties .package-card:not(.glow-card) li,
body[data-page="prices"] #airsoft .package-card:not(.glow-card) li,
body[data-page="prices"] #parties .package-card:not(.glow-card) p,
body[data-page="prices"] #airsoft .package-card:not(.glow-card) p{
  color:#111!important;
}

/* Keep Glowball package/video untouched: neon always wins. */
body[data-page="prices"] .package-card.glow-card,
body[data-page="prices"] .glow-video-card,
body[data-page="prices"] .glow-video-card.glow-video-wide{
  color:#ffffff!important;
  border:1px solid rgba(189,255,76,.42)!important;
  border-top:6px solid #bdfd4c!important;
  border-bottom:7px solid #6b32ff!important;
  background:
    radial-gradient(circle at 16% 18%,rgba(189,255,76,.28),transparent 30%),
    radial-gradient(circle at 84% 74%,rgba(107,50,255,.34),transparent 34%),
    linear-gradient(145deg,#090319,#1a0845 58%,#071427)!important;
  box-shadow:
    0 22px 46px rgba(42,0,125,.30),
    0 0 0 1px rgba(189,255,76,.16) inset,
    0 0 32px rgba(107,50,255,.25)!important;
}

body[data-page="prices"] .package-card.glow-card h3,
body[data-page="prices"] .package-card.glow-card li,
body[data-page="prices"] .package-card.glow-card p,
body[data-page="prices"] .package-card.glow-card .age-line,
body[data-page="prices"] .glow-video-card h3,
body[data-page="prices"] .glow-video-card p{
  color:#fff!important;
  text-shadow:none!important;
}

/* 3) Remove the thin line directly below the header. */
html[data-eas-theme] .brand-head{
  border-bottom:0!important;
}

html[data-eas-theme] main,
html[data-eas-theme] main > :first-child{
  border-top-color:transparent!important;
}

html[data-eas-theme] main > .page-frame:first-child,
html[data-eas-theme] main > .wide-frame:first-child,
html[data-eas-theme] main > .shop-frame:first-child,
html[data-eas-theme] .page-frame:first-of-type,
html[data-eas-theme] .wide-frame:first-of-type,
html[data-eas-theme] .shop-frame:first-of-type{
  border-top-width:0!important;
}

/* 4) Top nav same height across every page, including Prices. */
.top-nav-ribbon,
.ribbon-menu,
.ribbon-menu > a,
.ribbon-more-wrap,
.ribbon-more-button{
  box-sizing:border-box!important;
  min-height:34px!important;
  height:34px!important;
}

.ribbon-menu > a,
.ribbon-more-button{
  align-items:center!important;
  justify-content:center!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:1!important;
  font-size:10px!important;
}

html[data-eas-theme] .top-nav-ribbon{
  border-bottom:2px solid var(--theme-nav-border,#24571e)!important;
}

/* 5) Light page transition between internal pages. */
body{
  animation:easPageEnter .24s ease-out both;
}

body.eas-page-leaving main,
body.eas-page-leaving .brand-head,
body.eas-page-leaving .site-footer{
  opacity:0;
  transform:translateY(8px);
  transition:opacity .16s ease, transform .16s ease;
}

main,
.brand-head,
.site-footer{
  transition:opacity .16s ease, transform .16s ease;
}

@keyframes easPageEnter{
  from{
    opacity:.72;
  }
  to{
    opacity:1;
  }
}

@media(prefers-reduced-motion:reduce){
  body{
    animation:none!important;
  }

  body.eas-page-leaving main,
  body.eas-page-leaving .brand-head,
  body.eas-page-leaving .site-footer,
  main,
  .brand-head,
  .site-footer{
    transition:none!important;
    transform:none!important;
  }
}



/* === v56 requested polish pass ===
   - Glow Paint case card always keeps Glowball styling.
   - Social icons fill their shared boxes better.
   - Nav bar is a little bigger and consistent on every page.
   - Halloween/Glowball header text turns white.
   - Page transition moves horizontally based on nav order. */

/* 1) Glow Paint case card: always special Glowball/neon styling, regardless of active theme. */
body[data-page="prices"] .paint-case-card.glow-case-card,
body[data-page="prices"] .paint-case-pricing.compact-under-rentals .paint-case-card.glow-case-card,
html[data-eas-theme] body[data-page="prices"] .paint-case-card.glow-case-card{
  color:#ffffff!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(189,255,76,.34),transparent 32%),
    radial-gradient(circle at 18% 84%,rgba(143,72,255,.42),transparent 34%),
    linear-gradient(145deg,#090319,#1a0845 58%,#071427)!important;
  border:1px solid rgba(189,255,76,.46)!important;
  border-top:5px solid #bdfd4c!important;
  border-bottom:5px solid #6b32ff!important;
  box-shadow:
    0 14px 30px rgba(42,0,125,.32),
    0 0 0 1px rgba(189,255,76,.17) inset,
    0 0 24px rgba(107,50,255,.28)!important;
}

body[data-page="prices"] .paint-case-card.glow-case-card span,
body[data-page="prices"] .paint-case-card.glow-case-card strong,
body[data-page="prices"] .paint-case-card.glow-case-card small{
  color:#ffffff!important;
  text-shadow:0 2px 5px rgba(0,0,0,.58)!important;
}

body[data-page="prices"] .paint-case-card.glow-case-card span{
  color:#f5ff55!important;
  letter-spacing:.12em!important;
}

body[data-page="prices"] .paint-case-card.glow-case-card small{
  color:#f1e9ff!important;
}

/* 2) Social icons: Instagram and Maps fill their boxes better, matching Facebook. */
.social-square,
.social-square.fb,
.social-square.ig,
.social-square.map{
  width:38px!important;
  height:38px!important;
  padding:4px!important;
  border-radius:11px!important;
  background:rgba(255,255,255,.90)!important;
  border:1px solid rgba(20,72,130,.24)!important;
  box-shadow:
    0 7px 16px rgba(0,0,0,.14),
    inset 0 0 0 1px rgba(255,255,255,.58)!important;
  overflow:hidden!important;
}

.social-square.fb img{
  width:138%!important;
  height:138%!important;
  max-width:none!important;
  max-height:none!important;
  transform:scale(1.22)!important;
  transform-origin:center center!important;
}

.social-square.ig img{
  width:128%!important;
  height:128%!important;
  max-width:none!important;
  max-height:none!important;
  transform:scale(1.18)!important;
  transform-origin:center center!important;
}

.social-square.map img{
  width:122%!important;
  height:122%!important;
  max-width:none!important;
  max-height:none!important;
  transform:scale(1.12)!important;
  transform-origin:center center!important;
}

/* 3) Nav bar: slightly bigger, same size on every page. */
.top-nav-ribbon,
.ribbon-menu,
.ribbon-menu > a,
.ribbon-more-wrap,
.ribbon-more-button{
  box-sizing:border-box!important;
  min-height:40px!important;
  height:40px!important;
}

.ribbon-menu > a,
.ribbon-more-button{
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:1!important;
  font-size:11px!important;
  letter-spacing:.15em!important;
  align-items:center!important;
  justify-content:center!important;
}

.mobile-menu-button{
  min-height:40px!important;
}

/* 4) Halloween + Glowball: make top header info text white for readability. */
html[data-eas-theme="halloween"] .brand-detail,
html[data-eas-theme="halloween"] .brand-detail strong,
html[data-eas-theme="halloween"] .brand-detail span,
html[data-eas-theme="halloween"] .brand-detail a,
html[data-eas-theme="glowball"] .brand-detail,
html[data-eas-theme="glowball"] .brand-detail strong,
html[data-eas-theme="glowball"] .brand-detail span,
html[data-eas-theme="glowball"] .brand-detail a{
  color:#ffffff!important;
  text-shadow:
    0 2px 0 rgba(0,0,0,.72),
    0 0 12px rgba(255,255,255,.22)!important;
}

html[data-eas-theme="halloween"] .brand-detail a,
html[data-eas-theme="glowball"] .brand-detail a{
  text-decoration-color:rgba(255,255,255,.86)!important;
}

/* 5) Directional page transition.
   Forward nav movement enters from the right; backward movement enters from the left. */
body{
  animation:none!important;
}

main,
.brand-head,
.site-footer{
  transition:opacity .22s ease, transform .22s ease!important;
}

body.eas-page-enter-from-right main,
body.eas-page-enter-from-right .brand-head,
body.eas-page-enter-from-right .site-footer{
  animation:easPageEnterFromRight .28s ease-out both!important;
}

body.eas-page-enter-from-left main,
body.eas-page-enter-from-left .brand-head,
body.eas-page-enter-from-left .site-footer{
  animation:easPageEnterFromLeft .28s ease-out both!important;
}

body.eas-page-leaving-to-right main,
body.eas-page-leaving-to-right .brand-head,
body.eas-page-leaving-to-right .site-footer{
  opacity:0!important;
  transform:translateX(-48px)!important;
}

body.eas-page-leaving-to-left main,
body.eas-page-leaving-to-left .brand-head,
body.eas-page-leaving-to-left .site-footer{
  opacity:0!important;
  transform:translateX(48px)!important;
}

body.eas-page-leaving main,
body.eas-page-leaving .brand-head,
body.eas-page-leaving .site-footer{
  opacity:0!important;
}

@keyframes easPageEnterFromRight{
  from{
    opacity:0;
    transform:translateX(48px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

@keyframes easPageEnterFromLeft{
  from{
    opacity:0;
    transform:translateX(-48px);
  }
  to{
    opacity:1;
    transform:translateX(0);
  }
}

/* Mobile safe sizing. */
@media(max-width:760px){
  .top-nav-ribbon,
  .ribbon-menu,
  .ribbon-menu > a,
  .ribbon-more-wrap,
  .ribbon-more-button,
  .mobile-menu-button{
    min-height:40px!important;
    height:auto!important;
  }

  .social-square,
  .social-square.fb,
  .social-square.ig,
  .social-square.map{
    width:36px!important;
    height:36px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.eas-page-enter-from-right main,
  body.eas-page-enter-from-right .brand-head,
  body.eas-page-enter-from-right .site-footer,
  body.eas-page-enter-from-left main,
  body.eas-page-enter-from-left .brand-head,
  body.eas-page-enter-from-left .site-footer{
    animation:none!important;
  }

  body.eas-page-leaving-to-right main,
  body.eas-page-leaving-to-right .brand-head,
  body.eas-page-leaving-to-right .site-footer,
  body.eas-page-leaving-to-left main,
  body.eas-page-leaving-to-left .brand-head,
  body.eas-page-leaving-to-left .site-footer{
    transform:none!important;
  }
}



/* === v58 smoother directional page navigation ===
   Replaces the stutter-prone full page slide with a lighter GPU-friendly
   overlay swipe + tiny content fade. This keeps the left/right direction
   without moving the heavy background and page layout around. */

/* Transition overlay created by scripts.js */
.eas-page-transition-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  pointer-events:none;
  background:
    linear-gradient(90deg,
      rgba(var(--theme-surface-edge-rgb,23,109,203),.92),
      rgba(var(--theme-surface-soft-rgb,118,201,103),.86)
    );
  transform:translate3d(100%,0,0);
  opacity:0;
  will-change:transform,opacity;
  backface-visibility:hidden;
  contain:layout paint style;
}

.eas-page-transition-overlay::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 22% 50%,rgba(255,255,255,.28),transparent 26%),
    radial-gradient(circle at 78% 50%,rgba(255,255,255,.18),transparent 30%),
    linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,255,255,0));
  opacity:.68;
}

/* Outgoing overlay motion */
body.eas-page-leaving-to-right .eas-page-transition-overlay{
  opacity:1;
  animation:easSmoothCoverRight .34s cubic-bezier(.45,0,.2,1) both;
}

body.eas-page-leaving-to-left .eas-page-transition-overlay{
  opacity:1;
  animation:easSmoothCoverLeft .34s cubic-bezier(.45,0,.2,1) both;
}

/* Incoming overlay motion */
body.eas-page-enter-from-right .eas-page-transition-overlay{
  opacity:1;
  animation:easSmoothRevealRight .42s cubic-bezier(.2,.72,.18,1) both;
}

body.eas-page-enter-from-left .eas-page-transition-overlay{
  opacity:1;
  animation:easSmoothRevealLeft .42s cubic-bezier(.2,.72,.18,1) both;
}

/* Do not slide the heavy page layout anymore; just fade it slightly. */
body.eas-page-leaving-to-right main,
body.eas-page-leaving-to-right .brand-head,
body.eas-page-leaving-to-right .site-footer,
body.eas-page-leaving-to-left main,
body.eas-page-leaving-to-left .brand-head,
body.eas-page-leaving-to-left .site-footer{
  opacity:.72!important;
  transform:none!important;
  transition:opacity .18s ease!important;
}

body.eas-page-enter-from-right main,
body.eas-page-enter-from-right .brand-head,
body.eas-page-enter-from-right .site-footer,
body.eas-page-enter-from-left main,
body.eas-page-enter-from-left .brand-head,
body.eas-page-enter-from-left .site-footer{
  animation:easContentSoftIn .30s ease-out both!important;
}

/* Override older v56/v53 keyframe movement if those classes still exist. */
@keyframes easPageEnterFromRight{
  from{opacity:.88;transform:none;}
  to{opacity:1;transform:none;}
}

@keyframes easPageEnterFromLeft{
  from{opacity:.88;transform:none;}
  to{opacity:1;transform:none;}
}

@keyframes easContentSoftIn{
  from{opacity:.82;filter:saturate(.96);}
  to{opacity:1;filter:saturate(1);}
}

@keyframes easSmoothCoverRight{
  from{transform:translate3d(-102%,0,0);opacity:1;}
  to{transform:translate3d(0,0,0);opacity:1;}
}

@keyframes easSmoothCoverLeft{
  from{transform:translate3d(102%,0,0);opacity:1;}
  to{transform:translate3d(0,0,0);opacity:1;}
}

@keyframes easSmoothRevealRight{
  from{transform:translate3d(0,0,0);opacity:1;}
  to{transform:translate3d(102%,0,0);opacity:1;}
}

@keyframes easSmoothRevealLeft{
  from{transform:translate3d(0,0,0);opacity:1;}
  to{transform:translate3d(-102%,0,0);opacity:1;}
}

@media(prefers-reduced-motion:reduce){
  .eas-page-transition-overlay{
    display:none!important;
  }

  body.eas-page-enter-from-right main,
  body.eas-page-enter-from-right .brand-head,
  body.eas-page-enter-from-right .site-footer,
  body.eas-page-enter-from-left main,
  body.eas-page-enter-from-left .brand-head,
  body.eas-page-enter-from-left .site-footer{
    animation:none!important;
  }
}



/* === v59 calmer live-site-style navigation animation ===
   Removes the heavy v58 color-wipe overlay and uses a light content fade/slide,
   closer to the subtle feel of the current Wix site. Also adds a one-time
   nav-bar drop animation on initial page load. */

/* Kill the v58 overlay wipe entirely. */
.eas-page-transition-overlay,
.eas-page-transition-overlay::after{
  display:none!important;
  animation:none!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Keep the background and nav steady. Only the page content softly transitions. */
main,
.brand-head,
.site-footer{
  will-change:opacity,transform;
}

body.eas-page-enter-from-right main,
body.eas-page-enter-from-right .brand-head,
body.eas-page-enter-from-right .site-footer{
  animation:easCalmEnterFromRight .30s cubic-bezier(.22,.72,.2,1) both!important;
}

body.eas-page-enter-from-left main,
body.eas-page-enter-from-left .brand-head,
body.eas-page-enter-from-left .site-footer{
  animation:easCalmEnterFromLeft .30s cubic-bezier(.22,.72,.2,1) both!important;
}

body.eas-page-leaving-to-right main,
body.eas-page-leaving-to-right .brand-head,
body.eas-page-leaving-to-right .site-footer{
  opacity:0!important;
  transform:translate3d(-14px,0,0)!important;
  transition:opacity .18s ease, transform .18s ease!important;
}

body.eas-page-leaving-to-left main,
body.eas-page-leaving-to-left .brand-head,
body.eas-page-leaving-to-left .site-footer{
  opacity:0!important;
  transform:translate3d(14px,0,0)!important;
  transition:opacity .18s ease, transform .18s ease!important;
}

@keyframes easCalmEnterFromRight{
  from{
    opacity:0;
    transform:translate3d(14px,0,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

@keyframes easCalmEnterFromLeft{
  from{
    opacity:0;
    transform:translate3d(-14px,0,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

/* Override the previous v58 overlay keyframes/classes if cached CSS still exists. */
body.eas-page-leaving-to-right .eas-page-transition-overlay,
body.eas-page-leaving-to-left .eas-page-transition-overlay,
body.eas-page-enter-from-right .eas-page-transition-overlay,
body.eas-page-enter-from-left .eas-page-transition-overlay{
  display:none!important;
  animation:none!important;
}

/* One-time nav bar drop/bounce on page load. */
body.eas-nav-load-animate .top-nav-ribbon{
  animation:easNavDropOnce .54s cubic-bezier(.20,.86,.24,1) .05s both!important;
  transform-origin:top center;
  will-change:transform,opacity;
}

@keyframes easNavDropOnce{
  0%{
    opacity:.25;
    transform:translate3d(0,-42px,0);
  }
  72%{
    opacity:1;
    transform:translate3d(0,3px,0);
  }
  88%{
    transform:translate3d(0,-1px,0);
  }
  100%{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

@media(prefers-reduced-motion:reduce){
  body.eas-nav-load-animate .top-nav-ribbon,
  body.eas-page-enter-from-right main,
  body.eas-page-enter-from-right .brand-head,
  body.eas-page-enter-from-right .site-footer,
  body.eas-page-enter-from-left main,
  body.eas-page-enter-from-left .brand-head,
  body.eas-page-enter-from-left .site-footer{
    animation:none!important;
  }

  body.eas-page-leaving-to-right main,
  body.eas-page-leaving-to-right .brand-head,
  body.eas-page-leaving-to-right .site-footer,
  body.eas-page-leaving-to-left main,
  body.eas-page-leaving-to-left .brand-head,
  body.eas-page-leaving-to-left .site-footer{
    transition:none!important;
    transform:none!important;
  }
}



/* === v60 remove navigation color wave ===
   Removes the colored transition overlay/wave for now.
   Leaves only a very subtle page fade and keeps the one-time nav drop animation. */

/* Fully disable the color-wave overlay from v58/v59. */
.eas-page-transition-overlay,
.eas-page-transition-overlay::before,
.eas-page-transition-overlay::after{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  animation:none!important;
  transform:none!important;
  pointer-events:none!important;
  background:none!important;
}

/* No horizontal color sweep/wave on page navigation. */
body.eas-page-leaving-to-right .eas-page-transition-overlay,
body.eas-page-leaving-to-left .eas-page-transition-overlay,
body.eas-page-enter-from-right .eas-page-transition-overlay,
body.eas-page-enter-from-left .eas-page-transition-overlay{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  animation:none!important;
  background:none!important;
}

/* Keep page navigation extremely simple and smooth: a tiny fade only. */
body.eas-page-enter-from-right main,
body.eas-page-enter-from-right .brand-head,
body.eas-page-enter-from-right .site-footer,
body.eas-page-enter-from-left main,
body.eas-page-enter-from-left .brand-head,
body.eas-page-enter-from-left .site-footer{
  animation:easSimplePageFadeIn .18s ease-out both!important;
  transform:none!important;
}

body.eas-page-leaving-to-right main,
body.eas-page-leaving-to-right .brand-head,
body.eas-page-leaving-to-right .site-footer,
body.eas-page-leaving-to-left main,
body.eas-page-leaving-to-left .brand-head,
body.eas-page-leaving-to-left .site-footer{
  opacity:0!important;
  transform:none!important;
  transition:opacity .12s ease-out!important;
}

@keyframes easSimplePageFadeIn{
  from{opacity:.88;}
  to{opacity:1;}
}

/* Override any older left/right keyframes so no slide/wave feeling remains. */
@keyframes easCalmEnterFromRight{
  from{opacity:.88;transform:none;}
  to{opacity:1;transform:none;}
}

@keyframes easCalmEnterFromLeft{
  from{opacity:.88;transform:none;}
  to{opacity:1;transform:none;}
}

@keyframes easSmoothCoverRight{
  from{opacity:0;transform:none;}
  to{opacity:0;transform:none;}
}

@keyframes easSmoothCoverLeft{
  from{opacity:0;transform:none;}
  to{opacity:0;transform:none;}
}

@keyframes easSmoothRevealRight{
  from{opacity:0;transform:none;}
  to{opacity:0;transform:none;}
}

@keyframes easSmoothRevealLeft{
  from{opacity:0;transform:none;}
  to{opacity:0;transform:none;}
}



/* === v65 complete package / latest small polish ===
   - Keeps nav intro/drop animation CSS, but scripts.js only triggers it once per session.
   - Online Store Load More area has extra breathing room below the grid.
   - Location address box blue side accent is removed.
   - Floating blue back-to-top button is removed/hidden; bottom Back to Top link remains. */

/* Remove the redundant floating blue back-to-top button on every page. */
.floating-top,
button.floating-top,
[data-back-to-top].floating-top{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Keep the normal bottom Back to Top link subtle and transparent. */
.page-end-nav{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  margin:24px auto 12px!important;
  padding:0!important;
  background:transparent!important;
}

.page-top-link{
  background:transparent!important;
  box-shadow:none!important;
}

/* Online Store: make the Load More control feel intentionally placed below the grid. */
body[data-page="shop"] .centered:has([data-load-more]),
body[data-page="shop"] .load-more-wrap,
body[data-page="shop"] .shop-load-more,
body[data-page="shop"] .store-load-more,
body[data-page="shop"] .product-load-more,
body[data-page="shop"] .items-load-more,
body[data-page="shop"] [data-load-more]{
  margin-top:36px!important;
  padding-top:18px!important;
  clear:both!important;
}

body[data-page="shop"] .shop-grid + .centered,
body[data-page="shop"] .product-grid + .centered,
body[data-page="shop"] .store-grid + .centered,
body[data-page="shop"] .shop-items + .centered{
  margin-top:38px!important;
}

body[data-page="shop"] button[data-load-more],
body[data-page="shop"] a[data-load-more]{
  margin-top:0!important;
}

/* Location page: remove awkward blue side accent from the address/info box. */
body[data-page="location"] .address-box,
body[data-page="location"] .location-address,
body[data-page="location"] .location-card.address,
body[data-page="location"] .location-info-card,
body[data-page="location"] .location-detail-card,
body[data-page="location"] .directions-card{
  border-left-width:1px!important;
  border-left-style:solid!important;
  border-left-color:rgba(23,109,203,.16)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.10)!important;
}

body[data-page="location"] .address-box::before,
body[data-page="location"] .location-address::before,
body[data-page="location"] .location-card.address::before,
body[data-page="location"] .location-info-card::before,
body[data-page="location"] .location-detail-card::before,
body[data-page="location"] .directions-card::before{
  display:none!important;
  content:none!important;
}



/* === v66 seasonal theme logo + expanded theme system ===
   New uploaded wide backgrounds and matching transparent theme logos are now wired
   through theme-config.js. The main brand logo swaps automatically based on the
   active theme. */

.brand-logo img,
.activities-logo-pair.single-main-logo img{
  transition:opacity .22s ease, transform .22s ease, filter .22s ease;
}

html[data-eas-theme] .brand-logo img[data-theme-logo],
html[data-eas-theme] .activities-logo-pair.single-main-logo img[data-theme-logo]{
  object-fit:contain;
  background:transparent!important;
}

html[data-eas-theme="halloween"] .brand-logo img[data-theme-logo],
html[data-eas-theme="fall"] .brand-logo img[data-theme-logo],
html[data-eas-theme="spring"] .brand-logo img[data-theme-logo],
html[data-eas-theme="christmas"] .brand-logo img[data-theme-logo],
html[data-eas-theme="july4"] .brand-logo img[data-theme-logo],
html[data-eas-theme="winter"] .brand-logo img[data-theme-logo],
html[data-eas-theme="easter"] .brand-logo img[data-theme-logo],
html[data-eas-theme="stpatricks"] .brand-logo img[data-theme-logo],
html[data-eas-theme="military"] .brand-logo img[data-theme-logo],
html[data-eas-theme="newyear"] .brand-logo img[data-theme-logo]{
  width:170px!important;
  max-height:150px!important;
  filter:drop-shadow(0 8px 9px rgba(0,0,0,.20))!important;
}

@media(max-width:760px){
  html[data-eas-theme] .brand-logo img[data-theme-logo]{
    width:138px!important;
    max-height:126px!important;
  }
}

/* New themes */
html[data-eas-theme="winter"],
html[data-eas-theme="easter"],
html[data-eas-theme="stpatricks"],
html[data-eas-theme="military"],
html[data-eas-theme="newyear"]{
  --theme-overlay-opacity:.98;
}

html[data-eas-theme="winter"] body::after{
  background:
    radial-gradient(circle at 7% 16%,rgba(42,158,216,.16) 0 72px,transparent 78px),
    radial-gradient(circle at 88% 20%,rgba(137,231,255,.20) 0 86px,transparent 94px),
    radial-gradient(circle at 76% 82%,rgba(255,255,255,.28) 0 60px,transparent 68px),
    linear-gradient(115deg,rgba(255,255,255,.58),rgba(42,158,216,.08),rgba(255,255,255,.62));
}
html[data-eas-theme="winter"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_09_blue_transparent.png");opacity:.28;}
html[data-eas-theme="winter"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_05_teal_transparent.png");opacity:.22;}
html[data-eas-theme="winter"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.16;}
html[data-eas-theme="winter"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_09_blue_transparent.png");opacity:.18;}

html[data-eas-theme="easter"] body::after{
  background:
    radial-gradient(circle at 8% 18%,rgba(244,139,182,.18) 0 70px,transparent 76px),
    radial-gradient(circle at 88% 20%,rgba(118,200,238,.18) 0 82px,transparent 90px),
    radial-gradient(circle at 78% 82%,rgba(255,228,107,.18) 0 58px,transparent 64px),
    linear-gradient(115deg,rgba(255,255,255,.56),rgba(244,139,182,.08),rgba(118,200,238,.08),rgba(255,255,255,.58));
}
html[data-eas-theme="easter"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_01_pink_transparent.png");opacity:.32;}
html[data-eas-theme="easter"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_05_teal_transparent.png");opacity:.24;}
html[data-eas-theme="easter"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.20;}
html[data-eas-theme="easter"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_07_purple_transparent.png");opacity:.20;}

html[data-eas-theme="stpatricks"] body::after{
  background:
    radial-gradient(circle at 7% 16%,rgba(17,139,62,.18) 0 74px,transparent 80px),
    radial-gradient(circle at 88% 20%,rgba(214,167,43,.16) 0 78px,transparent 86px),
    radial-gradient(circle at 76% 82%,rgba(31,184,92,.16) 0 58px,transparent 64px),
    linear-gradient(115deg,rgba(255,255,255,.54),rgba(17,139,62,.09),rgba(214,167,43,.08),rgba(255,255,255,.58));
}
html[data-eas-theme="stpatricks"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_02_green_transparent.png");opacity:.34;}
html[data-eas-theme="stpatricks"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_04_lime_transparent.png");opacity:.26;}
html[data-eas-theme="stpatricks"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.20;}
html[data-eas-theme="stpatricks"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_02_green_transparent.png");opacity:.20;}

html[data-eas-theme="military"] body::after{
  background:
    radial-gradient(circle at 8% 18%,rgba(76,86,51,.18) 0 74px,transparent 80px),
    radial-gradient(circle at 88% 20%,rgba(183,163,106,.14) 0 82px,transparent 90px),
    radial-gradient(circle at 76% 82%,rgba(37,43,24,.12) 0 58px,transparent 64px),
    linear-gradient(115deg,rgba(255,255,255,.54),rgba(76,86,51,.08),rgba(183,163,106,.07),rgba(255,255,255,.58));
}
html[data-eas-theme="military"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_02_green_transparent.png");opacity:.24;}
html[data-eas-theme="military"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_03_orange_transparent.png");opacity:.18;}
html[data-eas-theme="military"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.16;}
html[data-eas-theme="military"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_02_green_transparent.png");opacity:.16;}

html[data-eas-theme="newyear"] body::after{
  background:
    radial-gradient(circle at 7% 16%,rgba(10,45,100,.18) 0 74px,transparent 80px),
    radial-gradient(circle at 88% 20%,rgba(216,173,69,.18) 0 82px,transparent 90px),
    radial-gradient(circle at 76% 82%,rgba(255,255,255,.22) 0 58px,transparent 64px),
    linear-gradient(115deg,rgba(255,255,255,.54),rgba(10,45,100,.08),rgba(216,173,69,.07),rgba(255,255,255,.58));
}
html[data-eas-theme="newyear"] .hero-splash-heading::before{background-image:url("assets/paint-splats/paint_splat_09_blue_transparent.png");opacity:.26;}
html[data-eas-theme="newyear"] .hero-splash-heading::after{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.22;}
html[data-eas-theme="newyear"] .hero-splash-heading > span::before{background-image:url("assets/paint-splats/paint_splat_07_purple_transparent.png");opacity:.16;}
html[data-eas-theme="newyear"] .hero-splash-heading > span::after{background-image:url("assets/paint-splats/paint_splat_06_yellow_transparent.png");opacity:.18;}

/* Theme preview moved to shared stylesheet so the HTML can stay clean. */
.theme-preview-tools{display:grid;gap:18px;margin:22px auto 0}
.theme-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.theme-card{background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.14);border-radius:16px;overflow:hidden;box-shadow:0 10px 22px rgba(0,0,0,.08)}
.theme-select{width:100%;height:100%;display:grid;gap:0;padding:0;border:0;background:transparent;color:#111;text-align:left;cursor:pointer}
.theme-select .thumb{position:relative;display:block;aspect-ratio:16/8;background-size:cover;background-position:center;border-bottom:1px solid rgba(0,0,0,.12);overflow:hidden}
.theme-select .thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.10));}
.theme-select .thumb-logo{position:absolute;left:50%;top:50%;z-index:2;width:46%;max-height:82%;transform:translate(-50%,-50%);object-fit:contain;filter:drop-shadow(0 6px 8px rgba(0,0,0,.28));}
.theme-select strong{display:block;padding:11px 12px 2px;font-size:14px;text-transform:uppercase;letter-spacing:.08em}
.theme-select small{display:block;padding:0 12px 12px;color:#444;font-size:12px;font-weight:800}
.theme-card.is-selected{outline:3px solid var(--theme-accent,#176dcb);outline-offset:2px}
.theme-live-sample{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;margin-top:10px}
.theme-sample-card{padding:18px;background:rgba(255,255,255,.86);border:1px solid rgba(0,0,0,.14);border-radius:16px;box-shadow:0 10px 22px rgba(0,0,0,.08)}
.theme-sample-card h2{margin:0 0 8px}
.theme-button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.theme-logo-sample{display:grid;place-items:center;min-height:210px}
.theme-logo-sample img{max-width:280px;width:80%;height:auto;filter:drop-shadow(0 8px 10px rgba(0,0,0,.18))}
@media(max-width:760px){.theme-live-sample{grid-template-columns:1fr}}



/* === v68 theme splat system ===
   Uploaded paint splats are now theme-aware. These affect:
   - decorative splats around the "Hattiesburg's Premier Paintball Field!" heading
   - hover/focus splats generated by scripts.js
   - theme preview cards */

:root{
  --theme-splat-primary:url("assets/theme-splats/theme-splat-navy.png");
  --theme-splat-secondary:url("assets/theme-splats/theme-splat-teal.png");
  --theme-splat-tertiary:url("assets/theme-splats/theme-splat-red.png");
}

.hero-splash-heading::before,
.blue-heading.small::before{
  background-image:var(--theme-splat-primary)!important;
  opacity:.34!important;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.10));
}

.hero-splash-heading::after,
.blue-heading.small::after{
  background-image:var(--theme-splat-secondary)!important;
  opacity:.27!important;
  filter:drop-shadow(0 8px 13px rgba(0,0,0,.08));
}

.hero-splash-heading > span::before,
.blue-heading.small > span::before{
  background-image:var(--theme-splat-tertiary)!important;
  opacity:.21!important;
}

.hero-splash-heading > span::after,
.blue-heading.small > span::after{
  background-image:var(--theme-splat-secondary)!important;
  opacity:.18!important;
}

.link-hover-splat{
  object-fit:contain;
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.12));
}

html[data-eas-theme] .brand-logo img[data-theme-logo],
html[data-eas-theme] .activities-logo-pair.single-main-logo img[data-theme-logo]{
  width:178px!important;
  max-width:100%!important;
  max-height:158px!important;
  object-fit:contain!important;
}

@media(max-width:760px){
  html[data-eas-theme] .brand-logo img[data-theme-logo],
  html[data-eas-theme] .activities-logo-pair.single-main-logo img[data-theme-logo]{
    width:142px!important;
    max-height:132px!important;
  }
}

html[data-eas-theme="winter"] .hero-splash-heading::before,
html[data-eas-theme="winter"] .blue-heading.small::before,
html[data-eas-theme="christmas"] .hero-splash-heading::after,
html[data-eas-theme="christmas"] .blue-heading.small::after{
  opacity:.32!important;
}

html[data-eas-theme="halloween"] .hero-splash-heading::before,
html[data-eas-theme="glowball"] .hero-splash-heading::before{
  opacity:.38!important;
}

html[data-eas-theme="military"] .hero-splash-heading::before,
html[data-eas-theme="fall"] .hero-splash-heading::before{
  opacity:.30!important;
}

.theme-select .thumb-splat{
  position:absolute;
  right:8px;
  bottom:8px;
  z-index:3;
  width:44px;
  height:44px;
  object-fit:contain;
  filter:drop-shadow(0 5px 7px rgba(0,0,0,.22));
  opacity:.9;
}

.theme-logo-sample{
  position:relative;
  overflow:hidden;
}

.theme-splat-sample{
  position:absolute;
  right:14px;
  bottom:14px;
  width:78px;
  height:78px;
  object-fit:contain;
  opacity:.72;
  filter:drop-shadow(0 6px 8px rgba(0,0,0,.18));
  pointer-events:none;
}

/* === v69 theme QA pass: logo sizing, transparency support, and readability ===
   This block intentionally sits last so it can override earlier sizing/color rules. */

html[data-eas-theme] .brand-cluster{
  grid-template-columns:minmax(245px,340px) minmax(230px,1fr) minmax(300px,1.18fr) auto!important;
}

html[data-eas-theme] .brand-logo{
  min-height:clamp(150px,15vw,218px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

html[data-eas-theme] .brand-logo img,
html[data-eas-theme] .brand-logo img[data-theme-logo],
html[data-eas-theme] .activities-logo-pair.single-main-logo img,
html[data-eas-theme] .activities-logo-pair.single-main-logo img[data-theme-logo]{
  width:clamp(220px,19vw,305px)!important;
  max-width:100%!important;
  max-height:clamp(170px,17vw,235px)!important;
  object-fit:contain!important;
  background:transparent!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.22))!important;
}

body[data-page="home"] .brand-logo img{
  animation:easLogoLandSlower 1180ms cubic-bezier(.15,.76,.16,1) .16s both!important;
}

@media(max-width:980px){
  html[data-eas-theme] .brand-cluster{grid-template-columns:1fr!important;}
  html[data-eas-theme] .brand-logo{min-height:clamp(140px,34vw,210px)!important;}
  html[data-eas-theme] .brand-logo img,
  html[data-eas-theme] .brand-logo img[data-theme-logo]{
    width:clamp(230px,64vw,330px)!important;
    max-height:clamp(160px,46vw,240px)!important;
  }
}

@media(max-width:760px){
  html[data-eas-theme] .brand-logo{min-height:clamp(132px,38vw,196px)!important;}
  html[data-eas-theme] .brand-logo img,
  html[data-eas-theme] .brand-logo img[data-theme-logo]{
    width:clamp(220px,76vw,310px)!important;
    max-height:clamp(145px,52vw,218px)!important;
  }
}

html[data-eas-theme]{
  --theme-readable-text:#101827;
  --theme-readable-muted:#2d3748;
  --theme-readable-soft:#465568;
  --theme-readable-panel:rgba(255,255,255,.78);
  --theme-readable-panel-strong:rgba(255,255,255,.88);
  --theme-readable-border:rgba(12,18,30,.22);
}

html[data-eas-theme="halloween"],
html[data-eas-theme="glowball"],
html[data-eas-theme="newyear"],
html[data-eas-theme="military"]{
  --theme-readable-panel:rgba(255,255,255,.84);
  --theme-readable-panel-strong:rgba(255,255,255,.92);
  --theme-readable-border:rgba(0,0,0,.24);
}

html[data-eas-theme] .page-frame,
html[data-eas-theme] .wide-frame,
html[data-eas-theme] .shop-frame,
html[data-eas-theme] .page-title-wrap,
html[data-eas-theme] .green-panel,
html[data-eas-theme] .price-section-block,
html[data-eas-theme] .price-hero-slab,
html[data-eas-theme] .shop-panel,
html[data-eas-theme] .contact-form-pro,
html[data-eas-theme] .contact-info-panel,
html[data-eas-theme] .location-address-card,
html[data-eas-theme] .map-card,
html[data-eas-theme] .phone-card,
html[data-eas-theme] .package-card,
html[data-eas-theme] .offer-card,
html[data-eas-theme] .field-pass-card,
html[data-eas-theme] .shop-card,
html[data-eas-theme] .weather-policy-card,
html[data-eas-theme] .about-story-card,
html[data-eas-theme] .video-feature-card,
html[data-eas-theme] .mini-card,
html[data-eas-theme] .story-pair{
  background:linear-gradient(180deg,var(--theme-readable-panel-strong),var(--theme-readable-panel))!important;
  border-color:var(--theme-readable-border)!important;
  color:var(--theme-readable-text)!important;
  text-shadow:none!important;
}

html[data-eas-theme] .page-frame h1,
html[data-eas-theme] .page-frame h2,
html[data-eas-theme] .page-frame h3,
html[data-eas-theme] .wide-frame h1,
html[data-eas-theme] .wide-frame h2,
html[data-eas-theme] .wide-frame h3,
html[data-eas-theme] .shop-frame h1,
html[data-eas-theme] .shop-frame h2,
html[data-eas-theme] .shop-frame h3,
html[data-eas-theme] .page-title-wrap h1,
html[data-eas-theme] .page-title-wrap h2,
html[data-eas-theme] .package-card h3,
html[data-eas-theme] .offer-card h3,
html[data-eas-theme] .shop-card h3,
html[data-eas-theme] .field-pass-card h3{
  color:var(--theme-readable-text)!important;
  text-shadow:0 2px 0 rgba(255,255,255,.70),0 5px 12px rgba(0,0,0,.08)!important;
}

html[data-eas-theme] .page-frame p,
html[data-eas-theme] .wide-frame p,
html[data-eas-theme] .shop-frame p,
html[data-eas-theme] .page-title-wrap p,
html[data-eas-theme] .package-card p,
html[data-eas-theme] .offer-card p,
html[data-eas-theme] .shop-card p,
html[data-eas-theme] .field-pass-card p,
html[data-eas-theme] .brand-detail span,
html[data-eas-theme] .brand-detail a{
  color:var(--theme-readable-muted)!important;
  font-weight:800!important;
}

html[data-eas-theme] .brand-detail,
html[data-eas-theme] .brand-detail strong{
  color:var(--theme-blue-dark,#0b4f9c)!important;
  text-shadow:0 1px 0 rgba(255,255,255,.70),0 4px 10px rgba(0,0,0,.08)!important;
}

html[data-eas-theme="halloween"] .brand-detail,
html[data-eas-theme="halloween"] .brand-detail strong,
html[data-eas-theme="glowball"] .brand-detail,
html[data-eas-theme="glowball"] .brand-detail strong,
html[data-eas-theme="newyear"] .brand-detail,
html[data-eas-theme="newyear"] .brand-detail strong,
html[data-eas-theme="military"] .brand-detail,
html[data-eas-theme="military"] .brand-detail strong{
  color:var(--theme-accent,#176dcb)!important;
}

html[data-eas-theme] .yellow-note{
  color:#1f1608!important;
  background:linear-gradient(180deg,rgba(255,245,166,.96),rgba(255,218,74,.92))!important;
  border-color:rgba(89,62,0,.22)!important;
}

html[data-eas-theme] .yellow-note p,
html[data-eas-theme] .yellow-note strong,
html[data-eas-theme] .yellow-note h2,
html[data-eas-theme] .yellow-note h3{
  color:#1f1608!important;
  text-shadow:none!important;
}

html[data-eas-theme] .home-glow-highlight,
html[data-eas-theme] .airsoft-glow-section,
html[data-eas-theme] .glow-video-card,
html[data-eas-theme] .glow-card,
html[data-eas-theme] .glow-case-card,
html[data-eas-theme] .paint-case-card.glow-case-card{
  color:#fff!important;
  background:radial-gradient(circle at 86% 14%,rgba(189,255,76,.30),transparent 30%),radial-gradient(circle at 12% 90%,rgba(124,60,255,.44),transparent 32%),linear-gradient(135deg,#07020f,#1c084a 54%,#061427)!important;
  border-color:rgba(189,255,76,.38)!important;
}

html[data-eas-theme] .home-glow-highlight h2,
html[data-eas-theme] .airsoft-glow-section h2,
html[data-eas-theme] .glow-video-card h2,
html[data-eas-theme] .glow-card h3,
html[data-eas-theme] .glow-case-card h3,
html[data-eas-theme] .paint-case-card.glow-case-card h3{
  color:#f4ff60!important;
  text-shadow:0 0 18px rgba(189,255,76,.28),0 3px 0 rgba(0,0,0,.36)!important;
}

html[data-eas-theme] .home-glow-highlight p,
html[data-eas-theme] .airsoft-glow-section p,
html[data-eas-theme] .glow-video-card p,
html[data-eas-theme] .glow-card p,
html[data-eas-theme] .glow-case-card p,
html[data-eas-theme] .paint-case-card.glow-case-card p{
  color:#f5efff!important;
  text-shadow:0 2px 6px rgba(0,0,0,.35)!important;
}

html[data-eas-theme] .ribbon-menu a,
html[data-eas-theme] .ribbon-more-button{
  color:var(--theme-nav-text)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.18)!important;
}

html[data-eas-theme] .ribbon-menu a.active{
  color:var(--theme-nav-active-text)!important;
  background:var(--theme-nav-active)!important;
  text-shadow:none!important;
}

html[data-eas-theme] .small-blue-btn,
html[data-eas-theme] .rounded-blue,
html[data-eas-theme] .send-button,
html[data-eas-theme] .book-now-large,
html[data-eas-theme] .shop-card a,
html[data-eas-theme] .package-card a{
  color:#fff!important;
  text-shadow:0 1px 2px rgba(0,0,0,.34)!important;
}

html[data-eas-theme] input,
html[data-eas-theme] textarea,
html[data-eas-theme] select{
  background:rgba(255,255,255,.96)!important;
  color:#101827!important;
  border-color:rgba(12,18,30,.26)!important;
}

html[data-eas-theme] input::placeholder,
html[data-eas-theme] textarea::placeholder{
  color:#5c697a!important;
}

html[data-eas-theme] .hero-splash-heading::before,
html[data-eas-theme] .blue-heading.small::before{opacity:.30!important;}
html[data-eas-theme] .hero-splash-heading::after,
html[data-eas-theme] .blue-heading.small::after{opacity:.23!important;}
html[data-eas-theme] .hero-splash-heading > span::before,
html[data-eas-theme] .blue-heading.small > span::before,
html[data-eas-theme] .hero-splash-heading > span::after,
html[data-eas-theme] .blue-heading.small > span::after{opacity:.18!important;}

html[data-eas-theme="halloween"] .hero-splash-heading::before,
html[data-eas-theme="glowball"] .hero-splash-heading::before,
html[data-eas-theme="newyear"] .hero-splash-heading::before{opacity:.34!important;}



/* === v70 prices Glowball containment + logo flash fix ===
   Fixes:
   1) The dark/neon Glowball treatment should NOT apply to the entire
      Airsoft & Glowball pricing section.
   2) Only the Glowball card and Glowball video preview should keep the
      fixed dark/neon Glowball styling.
   3) Non-default theme logos are hidden until theme-config swaps the
      correct logo in, preventing the quick default-logo flash. */

html[data-eas-theme]:not([data-eas-theme="default"])[data-eas-logo-ready="false"] .brand-logo img,
html[data-eas-theme]:not([data-eas-theme="default"])[data-eas-logo-ready="false"] .activities-logo-pair.single-main-logo img{
  opacity:0!important;
  transform:scale(.985)!important;
}

html[data-eas-logo-ready="true"] .brand-logo img,
html[data-eas-logo-ready="true"] .activities-logo-pair.single-main-logo img{
  opacity:1!important;
}

/* Keep the parent Airsoft & Glowball pricing section readable and theme-neutral. */
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section.price-section-block{
  color:var(--theme-readable-text,#101827)!important;
  background:
    linear-gradient(180deg,var(--theme-readable-panel-strong,rgba(255,255,255,.90)),var(--theme-readable-panel,rgba(255,255,255,.80)))!important;
  border-color:var(--theme-readable-border,rgba(12,18,30,.22))!important;
  text-shadow:none!important;
}

html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section.price-section-block > h2,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section.price-section-block > p,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section.price-section-block > .section-kicker{
  color:var(--theme-readable-text,#101827)!important;
  text-shadow:0 2px 0 rgba(255,255,255,.70),0 5px 12px rgba(0,0,0,.08)!important;
}

/* Airsoft remains a normal readable pricing card. */
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable{
  color:var(--theme-readable-text,#101827)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.84))!important;
  border-color:var(--theme-readable-border,rgba(12,18,30,.22))!important;
  text-shadow:none!important;
}

html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card h3,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card p,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card li,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card small,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card span{
  color:var(--theme-readable-muted,#2d3748)!important;
  text-shadow:none!important;
}

/* Glowball itself stays fixed dark/neon across every theme. */
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .glow-card,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .glow-card.price-card-readable,
html[data-eas-theme] body[data-page="prices"] .glow-video-card.glow-video-wide{
  color:#fff!important;
  background:
    radial-gradient(circle at 16% 18%,rgba(184,255,76,.24),transparent 26%),
    radial-gradient(circle at 80% 82%,rgba(79,37,185,.38),transparent 35%),
    linear-gradient(145deg,#090319,#1b0747 58%,#0b1328)!important;
  border-color:rgba(189,255,76,.45)!important;
  box-shadow:0 18px 38px rgba(42,0,125,.25)!important;
  text-shadow:none!important;
}

html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .glow-card::before{
  background:linear-gradient(90deg,#8f48ff,#bdff4c,#ff35b0)!important;
}

html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .glow-card .section-kicker,
html[data-eas-theme] body[data-page="prices"] .glow-video-card.glow-video-wide .section-kicker{
  color:#bdff4c!important;
  background:rgba(255,255,255,.08)!important;
  border-color:rgba(189,255,76,.25)!important;
  text-shadow:0 0 12px rgba(189,255,76,.25)!important;
}

html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .glow-card h3,
html[data-eas-theme] body[data-page="prices"] .glow-video-card.glow-video-wide h3,
html[data-eas-theme] body[data-page="prices"] .glow-video-copy h3{
  color:#ffe45c!important;
  text-shadow:0 0 18px rgba(189,255,76,.28),0 3px 0 rgba(0,0,0,.36)!important;
}

html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .glow-card p,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .glow-card li,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .glow-card small,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .glow-card span,
html[data-eas-theme] body[data-page="prices"] .glow-video-card.glow-video-wide p{
  color:#f5efff!important;
  text-shadow:0 2px 6px rgba(0,0,0,.35)!important;
}

html[data-eas-theme] body[data-page="prices"] .glow-video-card.glow-video-wide .glow-video-shell,
html[data-eas-theme] body[data-page="prices"] .glow-video-card.glow-video-wide .real-video-shell{
  border-color:rgba(189,255,76,.62)!important;
  box-shadow:0 0 28px rgba(107,50,255,.32)!important;
}

/* Preserve Glowball areas sitewide as their own fixed event style. */
html[data-eas-theme] .home-glow-highlight,
html[data-eas-theme] .glow-highlight-video,
html[data-eas-theme] .glow-case-card,
html[data-eas-theme] .paint-case-card.glow-case-card{
  color:#fff!important;
  background:
    radial-gradient(circle at 86% 14%,rgba(189,255,76,.30),transparent 30%),
    radial-gradient(circle at 12% 90%,rgba(124,60,255,.44),transparent 32%),
    linear-gradient(135deg,#07020f,#1c084a 54%,#061427)!important;
  border-color:rgba(189,255,76,.38)!important;
}



/* === v71 Airsoft pricing card theme fix ===
   v70 correctly stopped the Glowball styling from washing over the whole
   Airsoft + Glowball section, but it also pinned the Airsoft card too hard
   to a white/black readable card. This restores Airsoft as a normal
   theme-aware card with white text and active-theme accents, while Glowball
   stays locked to its own fixed neon event style. */

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable{
  position:relative!important;
  overflow:hidden!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 88% 8%,rgba(255,255,255,.22),transparent 25%),
    radial-gradient(circle at 12% 88%,rgba(255,255,255,.12),transparent 28%),
    linear-gradient(145deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7))!important;
  border:1px solid rgba(255,255,255,.34)!important;
  border-top:7px solid var(--theme-accent,#176dcb)!important;
  border-bottom:7px solid var(--theme-nav-border,#0b5ed7)!important;
  box-shadow:
    0 18px 36px rgba(0,0,0,.22),
    0 0 0 1px rgba(255,255,255,.16) inset!important;
  text-shadow:none!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card::before,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  height:auto!important;
  background:
    var(--theme-splat-secondary) right -34px top -42px / 210px 210px no-repeat,
    var(--theme-splat-primary) left -54px bottom -70px / 250px 250px no-repeat,
    linear-gradient(90deg,var(--theme-accent,#176dcb),rgba(255,255,255,.42),var(--theme-nav-border,#0b5ed7)) top / 100% 7px no-repeat!important;
  opacity:.18!important;
  border-radius:inherit!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card > *,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable > *{
  position:relative!important;
  z-index:1!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .package-tag,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable .package-tag{
  color:#fff!important;
  background:rgba(0,0,0,.34)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.18)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.45)!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card h3,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card p,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card li,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card span,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card small,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .age-line,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable h3,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable p,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable li,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable span,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable small,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable .age-line{
  color:#fff!important;
  text-shadow:0 2px 5px rgba(0,0,0,.44)!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card h3,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable h3{
  text-shadow:
    0 2px 0 rgba(0,0,0,.42),
    0 8px 16px rgba(0,0,0,.20)!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card ul,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable ul{
  color:#fff!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card li::marker,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable li::marker{
  color:var(--theme-accent,#fff)!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .price-chip.book-price-chip,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable .price-chip.book-price-chip{
  color:#fff!important;
  background:
    linear-gradient(135deg,rgba(0,0,0,.46),rgba(0,0,0,.22)),
    linear-gradient(135deg,var(--theme-accent,#176dcb),var(--theme-nav-border,#0b5ed7))!important;
  border:1px solid rgba(255,255,255,.36)!important;
  box-shadow:
    0 12px 22px rgba(0,0,0,.26),
    0 0 0 1px rgba(255,255,255,.14) inset!important;
  text-shadow:0 1px 2px rgba(0,0,0,.50)!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .price-chip.book-price-chip:hover,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable .price-chip.book-price-chip:hover{
  filter:brightness(1.06) saturate(1.08)!important;
  transform:translateY(-1px)!important;
}

/* Light-accent themes need a touch more dark backing so white text stays readable. */
html[data-eas-theme="easter"] body[data-page="prices"] #airsoft .airsoft-card,
html[data-eas-theme="spring"] body[data-page="prices"] #airsoft .airsoft-card,
html[data-eas-theme="winter"] body[data-page="prices"] #airsoft .airsoft-card,
html[data-eas-theme="summer"] body[data-page="prices"] #airsoft .airsoft-card{
  background:
    radial-gradient(circle at 88% 8%,rgba(255,255,255,.18),transparent 25%),
    radial-gradient(circle at 12% 88%,rgba(255,255,255,.10),transparent 28%),
    linear-gradient(145deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7)),
    linear-gradient(145deg,rgba(0,0,0,.22),rgba(0,0,0,.32))!important;
  background-blend-mode:normal,normal,multiply!important;
}

/* Christmas and St. Patrick's use strong green/red accents while keeping white copy. */
html[data-eas-theme="christmas"] body[data-page="prices"] #airsoft .airsoft-card,
html[data-eas-theme="stpatricks"] body[data-page="prices"] #airsoft .airsoft-card{
  border-top-color:var(--eas-yellow,#f2df83)!important;
}



/* === v72 Prices / Store / Contact polish ===
   Fixes:
   1) Airsoft pricing card goes back to behaving like the other standard pricing cards.
   2) Store Load More button is more polished and sits closer to the product grid.
   3) Floating contact/chat panel now carries the active theme background/accent while preserving readability. */


/* --- Prices page: Airsoft should match the normal package card style --- */

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable{
  position:relative!important;
  overflow:hidden!important;
  color:#141414!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.90))!important;
  border:1px solid rgba(10,20,30,.16)!important;
  border-top:7px solid var(--eas-green,var(--theme-accent,#76c967))!important;
  border-bottom:1px solid rgba(10,20,30,.16)!important;
  box-shadow:
    0 14px 30px rgba(0,0,0,.10),
    0 0 0 1px rgba(255,255,255,.70) inset!important;
  text-shadow:none!important;
  transform:none!important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card::before,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  height:auto!important;
  border-radius:inherit!important;
  background:
    var(--theme-splat-primary) right -70px top -84px / 230px 230px no-repeat,
    linear-gradient(90deg,var(--eas-green,var(--theme-accent,#76c967)),rgba(255,255,255,.45),var(--theme-accent,#176dcb)) top / 100% 7px no-repeat!important;
  opacity:.10!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card:hover,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable:hover{
  transform:translateY(-3px)!important;
  box-shadow:
    0 18px 36px rgba(0,0,0,.15),
    0 0 0 1px rgba(255,255,255,.72) inset!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card > *,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable > *{
  position:relative!important;
  z-index:1!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .package-tag,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable .package-tag{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  color:#fff!important;
  background:#111!important;
  border:0!important;
  border-radius:999px!important;
  padding:7px 13px!important;
  box-shadow:none!important;
  text-shadow:none!important;
  letter-spacing:.08em!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card h3,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable h3{
  color:#050505!important;
  text-shadow:
    0 2px 0 rgba(255,255,255,.88),
    0 6px 12px rgba(0,0,0,.18)!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card p,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card li,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card span,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card small,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .age-line,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable p,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable li,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable span,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable small,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable .age-line{
  color:#171717!important;
  text-shadow:none!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card ul,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable ul{
  color:#171717!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card li::marker,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable li::marker{
  color:#050505!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .price-chip.book-price-chip,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable .price-chip.book-price-chip{
  color:#fff!important;
  background:
    linear-gradient(180deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7))!important;
  border:1px solid rgba(0,0,0,.10)!important;
  box-shadow:
    0 6px 0 rgba(0,0,0,.16),
    0 11px 18px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.38)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.30)!important;
}

html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .price-chip.book-price-chip:hover,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable .price-chip.book-price-chip:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.05) saturate(1.05)!important;
}


/* --- Online store: tighter, more professional Load More placement --- */

body[data-page="shop"] .centered:has([data-load-more]),
body[data-page="shop"] .load-more-wrap,
body[data-page="shop"] .shop-load-more,
body[data-page="shop"] .store-load-more,
body[data-page="shop"] .product-load-more,
body[data-page="shop"] .items-load-more{
  margin-top:16px!important;
  padding-top:4px!important;
  clear:both!important;
}

body[data-page="shop"] .shop-grid + .centered,
body[data-page="shop"] .product-grid + .centered,
body[data-page="shop"] .store-grid + .centered,
body[data-page="shop"] .shop-items + .centered{
  margin-top:18px!important;
  padding-top:2px!important;
}

body[data-page="shop"] button[data-load-more],
body[data-page="shop"] a[data-load-more]{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-height:44px!important;
  min-width:168px!important;
  margin:0 auto!important;
  padding:12px 22px!important;
  border-radius:999px!important;
  border:1px solid rgba(8,28,60,.20)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,0)),
    linear-gradient(135deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7))!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:950!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  box-shadow:
    0 7px 0 rgba(0,0,0,.16),
    0 14px 24px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.42)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.34)!important;
}

body[data-page="shop"] button[data-load-more]::after,
body[data-page="shop"] a[data-load-more]::after{
  content:"+"!important;
  display:grid!important;
  place-items:center!important;
  width:18px!important;
  height:18px!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.20)!important;
  color:#fff!important;
  font-size:14px!important;
  line-height:1!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.20)!important;
}

body[data-page="shop"] button[data-load-more]:hover,
body[data-page="shop"] a[data-load-more]:hover,
body[data-page="shop"] button[data-load-more]:focus-visible,
body[data-page="shop"] a[data-load-more]:focus-visible{
  transform:translateY(-2px)!important;
  filter:brightness(1.06) saturate(1.06)!important;
  box-shadow:
    0 8px 0 rgba(0,0,0,.17),
    0 18px 30px rgba(0,0,0,.24),
    0 0 0 4px color-mix(in srgb,var(--theme-accent,#176dcb) 18%,transparent),
    inset 0 1px 0 rgba(255,255,255,.46)!important;
}

body[data-page="shop"] .tiny-note{
  margin-top:12px!important;
}


/* --- Floating contact/chat widget: themed background with readable bubbles --- */

html[data-eas-theme] .eas-contact-panel{
  border-radius:18px!important;
  border:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 35%,rgba(0,0,0,.18))!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.82),rgba(255,255,255,.68)),
    var(--theme-bg)!important;
  background-size:cover!important;
  background-position:center!important;
  box-shadow:
    0 24px 58px rgba(0,0,0,.32),
    0 0 0 1px rgba(255,255,255,.55) inset!important;
  backdrop-filter:blur(8px) saturate(1.12)!important;
}

html[data-eas-theme] .eas-contact-panel::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    var(--theme-splat-primary) right -58px top -66px / 190px 190px no-repeat,
    var(--theme-splat-secondary) left -72px bottom -82px / 220px 220px no-repeat,
    linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,.08))!important;
  opacity:.18!important;
}

html[data-eas-theme] .eas-contact-header,
html[data-eas-theme] .eas-contact-body{
  position:relative!important;
  z-index:1!important;
}

html[data-eas-theme] .eas-contact-header{
  color:#fff!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0)),
    linear-gradient(135deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7))!important;
  border-bottom:1px solid rgba(255,255,255,.28)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.35)!important;
}

html[data-eas-theme] .eas-contact-header strong{
  color:#fff!important;
}

html[data-eas-theme] .eas-contact-close{
  color:#fff!important;
  background:rgba(0,0,0,.16)!important;
  border-radius:50%!important;
}

html[data-eas-theme] .eas-chat-time{
  color:#fff!important;
  background:rgba(0,0,0,.48)!important;
  border:1px solid rgba(255,255,255,.18)!important;
}

html[data-eas-theme] .eas-chat-bubble{
  color:#101010!important;
  background:rgba(255,255,255,.93)!important;
  border:1px solid rgba(0,0,0,.10)!important;
  box-shadow:0 8px 18px rgba(0,0,0,.12)!important;
}

html[data-eas-theme] .eas-chat-bubble.user{
  border-left:4px solid var(--theme-accent,#176dcb)!important;
}

html[data-eas-theme] .eas-contact-form textarea,
html[data-eas-theme] .eas-contact-form input{
  color:#111!important;
  background:rgba(255,255,255,.95)!important;
  border:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 38%,rgba(0,0,0,.15))!important;
  box-shadow:0 5px 14px rgba(0,0,0,.10)!important;
}

html[data-eas-theme] .eas-contact-form textarea:focus,
html[data-eas-theme] .eas-contact-form input:focus{
  outline:3px solid color-mix(in srgb,var(--theme-accent,#176dcb) 24%,transparent)!important;
  border-color:var(--theme-accent,#176dcb)!important;
}

html[data-eas-theme] .eas-contact-form button{
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0)),
    linear-gradient(135deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7))!important;
  box-shadow:
    0 5px 0 rgba(0,0,0,.18),
    0 11px 20px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.38)!important;
}

html[data-eas-theme] .eas-contact-launch{
  color:#fff!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0)),
    linear-gradient(135deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7))!important;
  border:1px solid rgba(255,255,255,.28)!important;
  box-shadow:
    0 8px 0 rgba(0,0,0,.18),
    0 17px 30px rgba(0,0,0,.24),
    inset 0 1px 0 rgba(255,255,255,.42)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.36)!important;
}

html[data-eas-theme] .eas-contact-launch::before{
  background:
    radial-gradient(circle at 50% 50%,#fff 0 24%,transparent 25%),
    linear-gradient(180deg,var(--theme-accent,#176dcb),var(--theme-nav-border,#0b5ed7))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-accent,#176dcb) 18%,transparent)!important;
}



/* === v73 Live Wix Store Connection ===
   The redesigned Store page now works as a styled directory into the existing
   Wix Store product/category pages. Checkout, product options, inventory,
   cart, and Buy Now remain controlled by Wix. */

.connected-store-frame .page-title-wrap{
  max-width:920px;
}

.store-connection-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
}

.store-connection-note{
  max-width:980px;
  margin:18px auto 22px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:14px 16px;
  border-radius:16px;
  color:#121212;
  background:
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.78));
  border:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 32%,rgba(0,0,0,.13));
  box-shadow:0 10px 22px rgba(0,0,0,.09);
}

.store-connection-note strong{
  flex:0 0 auto;
  color:var(--theme-button-end,#0b5ed7);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:12px;
}

.store-connection-note span{
  font-weight:800;
  line-height:1.45;
}

.live-category-panel{
  max-width:1040px;
  margin:0 auto 20px;
  padding:16px;
  border-radius:18px;
  display:grid;
  grid-template-columns:210px 1fr;
  gap:14px;
  align-items:center;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--theme-accent,#176dcb) 14%,transparent),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.80));
  border:1px solid rgba(8,20,40,.15);
  box-shadow:0 12px 26px rgba(0,0,0,.10);
}

.live-category-panel strong{
  display:block;
  color:#090909;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-size:1.15rem;
}

.live-category-panel span{
  display:block;
  margin-top:2px;
  color:#2f3947;
  font-size:13px;
  font-weight:800;
}

.store-category-scroll{
  display:flex;
  gap:9px;
  overflow-x:auto;
  padding:4px 2px 8px;
  scrollbar-width:thin;
}

.store-category-link{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:8px 12px;
  border-radius:999px;
  color:#fff!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,0)),
    linear-gradient(135deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7));
  border:1px solid rgba(0,0,0,.10);
  box-shadow:
    0 5px 0 rgba(0,0,0,.14),
    0 9px 15px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.35);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.07em;
  white-space:nowrap;
}

.store-category-link:hover,
.store-category-link:focus-visible{
  transform:translateY(-1px);
  filter:brightness(1.06) saturate(1.08);
  text-decoration:none;
}

.connected-shop-grid .shop-card{
  padding:0!important;
}

.shop-card-link{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:14px;
  color:inherit;
  text-decoration:none;
}

.shop-card-link:hover,
.shop-card-link:focus-visible{
  text-decoration:none;
}

.shop-category-pill{
  display:inline-flex;
  width:max-content;
  align-items:center;
  justify-content:center;
  margin:10px 0 6px;
  padding:5px 9px;
  border-radius:999px;
  color:#fff;
  background:#111;
  font-size:10px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.connected-shop-grid .shop-thumb{
  min-height:190px;
  border-radius:14px;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.85),rgba(255,255,255,.22) 35%,transparent 58%),
    linear-gradient(135deg,color-mix(in srgb,var(--theme-accent,#176dcb) 16%,#fff),rgba(255,255,255,.78));
  border:1px solid rgba(0,0,0,.12);
}

.connected-shop-grid .shop-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .22s ease, filter .22s ease;
}

.connected-shop-grid .shop-card:hover .shop-thumb img{
  transform:scale(1.035);
  filter:saturate(1.04) brightness(1.02);
}

.connected-shop-grid .shop-thumb span{
  font-size:2.2rem;
  letter-spacing:.12em;
}

.connected-shop-grid .shop-card h3{
  min-height:3.6em;
}

.shop-price{
  font-weight:950!important;
  color:var(--theme-button-end,#0b5ed7)!important;
  font-size:1.05rem!important;
}

.shop-card-copy{
  display:block;
  min-height:2.8em;
  margin:2px 0 12px;
  color:#2f3947;
  font-weight:800;
  line-height:1.35;
}

.connected-shop-grid .quick-view{
  margin-top:auto;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  min-height:38px;
  border-radius:999px;
  background:
    linear-gradient(180deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7));
  color:#fff!important;
  box-shadow:
    0 5px 0 rgba(0,0,0,.14),
    0 9px 15px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.35);
}

.shop-actions-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
}

.outline-store-btn{
  background:
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82))!important;
  color:var(--theme-button-end,#0b5ed7)!important;
  border:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 36%,rgba(0,0,0,.16))!important;
  box-shadow:0 7px 0 rgba(0,0,0,.08),0 13px 22px rgba(0,0,0,.12)!important;
  text-shadow:none!important;
}

@media(max-width:760px){
  .live-category-panel{
    grid-template-columns:1fr;
  }

  .store-connection-note{
    flex-direction:column;
  }

  .connected-shop-grid .shop-thumb{
    min-height:170px;
  }
}



/* === v74 Custom Storefront + Product Detail Pages ===
   Option 1 implementation:
   - Redesigned product grid and custom product detail pages live inside this static redesign.
   - Checkout is handed off to the existing Wix Store product pages.
   - Store hover paint splats are disabled because they were visually distracting.
   - Product preview images use object-fit: contain so images show in full instead of being cropped. */

body[data-page="shop"] .link-hover-splat,
body[data-page="themes"] .link-hover-splat,
body:has(.store-product-detail-v74) .link-hover-splat{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

.custom-storefront-v74{
  position:relative;
}

.custom-store-grid .shop-card{
  display:flex!important;
  flex-direction:column!important;
  min-height:100%;
  overflow:hidden!important;
}

.custom-store-grid .shop-card-link{
  flex:1 1 auto!important;
}

.product-preview-full,
.custom-store-grid .shop-thumb,
.connected-shop-grid .shop-thumb{
  display:grid!important;
  place-items:center!important;
  background:
    radial-gradient(circle at 20% 14%,rgba(255,255,255,.94),rgba(255,255,255,.72) 48%,rgba(255,255,255,.58)),
    linear-gradient(135deg,color-mix(in srgb,var(--theme-accent,#176dcb) 12%,#fff),rgba(255,255,255,.88))!important;
}

.product-preview-full img,
.custom-store-grid .shop-thumb img,
.connected-shop-grid .shop-thumb img,
.product-detail-img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  padding:10px!important;
  box-sizing:border-box!important;
  background:transparent!important;
}

.custom-store-grid .shop-thumb{
  min-height:210px!important;
  aspect-ratio:1/1!important;
}

.custom-store-grid .shop-card:hover .shop-thumb img{
  transform:scale(1.012)!important;
  filter:saturate(1.04) brightness(1.02)!important;
}

.store-mini-buy{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:0 14px 14px;
  min-height:36px;
  border-radius:999px;
  color:#fff!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0)),
    linear-gradient(135deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7));
  border:1px solid rgba(0,0,0,.10);
  box-shadow:
    0 5px 0 rgba(0,0,0,.16),
    0 10px 15px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.35);
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none!important;
}

.store-mini-buy:hover,
.store-mini-buy:focus-visible{
  transform:translateY(-1px);
  filter:brightness(1.06) saturate(1.06);
}

.store-image-placeholder{
  width:100%;
  height:100%;
  min-height:180px;
  display:grid;
  place-items:center;
  border-radius:12px;
  background:
    var(--theme-splat-primary) center/70% no-repeat,
    linear-gradient(135deg,rgba(255,255,255,.82),rgba(255,255,255,.55));
  border:1px dashed color-mix(in srgb,var(--theme-accent,#176dcb) 42%,rgba(0,0,0,.18));
}

.store-image-placeholder span{
  display:inline-flex;
  padding:10px 14px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  box-shadow:0 10px 18px rgba(0,0,0,.16);
}

.store-product-detail-v74{
  max-width:1180px;
  margin:22px auto 30px;
  padding:26px;
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.82));
  border:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 22%,rgba(0,0,0,.12));
  box-shadow:0 24px 54px rgba(0,0,0,.16);
}

.store-product-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 18px;
  color:#1b2737;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.store-product-breadcrumb a{
  color:var(--theme-button-end,#0b5ed7);
  text-decoration:none;
}

.product-detail-layout{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(320px,1.1fr);
  gap:24px;
  align-items:start;
}

.product-gallery-panel,
.product-info-panel,
.product-detail-info-grid > article,
.related-products-v74{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(0,0,0,.12);
  border-radius:20px;
  box-shadow:0 14px 30px rgba(0,0,0,.10);
}

.product-gallery-panel{
  padding:16px;
}

.product-main-image{
  min-height:460px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.12);
}

.product-gallery-note{
  margin-top:10px;
  color:#303b4c;
  font-size:13px;
  font-weight:800;
  line-height:1.4;
}

.product-info-panel{
  padding:22px;
}

.product-info-panel h1{
  margin:12px 0 8px;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(2rem,5vw,4.2rem);
  line-height:.94;
  color:#080808;
  text-transform:uppercase;
  text-shadow:0 2px 0 rgba(255,255,255,.86),0 8px 15px rgba(0,0,0,.14);
}

.product-detail-price{
  margin:12px 0;
  color:var(--theme-button-end,#0b5ed7);
  font-size:2rem;
  font-weight:950;
}

.product-detail-summary{
  color:#202a39;
  font-size:1.03rem;
  font-weight:850;
  line-height:1.5;
}

.product-purchase-box{
  margin-top:18px;
  padding:16px;
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--theme-accent,#176dcb) 16%,transparent),transparent 28%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.74));
  border:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 32%,rgba(0,0,0,.12));
}

.product-purchase-box label{
  display:block;
  margin-bottom:8px;
  color:#111;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.09em;
}

.quantity-preview-row{
  display:inline-grid;
  grid-template-columns:42px 76px 42px;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
}

.quantity-preview-row button,
.quantity-preview-row input{
  height:42px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;
  color:#111;
  font-size:18px;
  font-weight:950;
  text-align:center;
  box-shadow:0 6px 12px rgba(0,0,0,.08);
}

.quantity-preview-row button{
  cursor:pointer;
  background:linear-gradient(180deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7));
  color:#fff;
}

.product-buy-now,
.product-live-link{
  width:100%;
  margin-top:8px;
  text-align:center;
}

.product-detail-note{
  margin-top:14px;
  padding:12px;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  color:#1d2837;
  border:1px solid rgba(0,0,0,.10);
  font-weight:800;
  line-height:1.45;
}

.product-detail-info-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-top:22px;
}

.product-detail-info-grid > article{
  padding:20px;
}

.product-detail-info-grid h2,
.related-products-v74 h2{
  margin:0 0 10px;
  color:#070707;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  text-transform:uppercase;
  letter-spacing:.03em;
}

.product-detail-info-grid li,
.product-detail-info-grid p{
  color:#202a39;
  font-weight:800;
  line-height:1.5;
}

.related-products-v74{
  margin-top:22px;
  padding:20px;
}

.related-products-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:14px;
}

.related-product-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px;
  border-radius:16px;
  background:rgba(255,255,255,.82);
  color:#111;
  text-decoration:none!important;
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 10px 20px rgba(0,0,0,.08);
}

.related-product-card:hover,
.related-product-card:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(0,0,0,.12);
}

.related-product-img{
  height:140px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.10);
}

.related-product-card strong{
  color:#111;
  font-weight:950;
  line-height:1.15;
}

.related-product-card span{
  color:var(--theme-button-end,#0b5ed7);
  font-weight:950;
}

@media(max-width:900px){
  .product-detail-layout,
  .product-detail-info-grid{
    grid-template-columns:1fr;
  }

  .product-main-image{
    min-height:340px;
  }

  .store-product-detail-v74{
    padding:18px;
  }
}

@media(max-width:560px){
  .custom-store-grid .shop-thumb{
    min-height:190px!important;
  }

  .product-main-image{
    min-height:280px;
  }

  .product-info-panel h1{
    font-size:2.4rem;
  }
}



/* === v75 future-proof storefront filtering / pagination ===
   Keeps the product grid clean by showing only the configured page size first.
   JS controls visibility so filters can search across the full product list. */

body[data-page="shop"] [data-product].is-store-hidden,
body[data-page="shop"] [data-product][hidden]{
  display:none!important;
}

body[data-page="shop"] .custom-store-grid:not([data-store-expanded="true"]) .shop-card[data-product-extra]{
  display:none;
}

.store-result-status{
  max-width:1040px;
  margin:14px auto 0;
  display:flex;
  justify-content:center;
  align-items:center;
  color:#111;
  font-size:13px;
  font-weight:950;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.store-result-status span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 30%,rgba(0,0,0,.12));
  box-shadow:0 8px 16px rgba(0,0,0,.10);
}

.store-empty-state{
  max-width:620px;
  margin:18px auto 0;
  padding:20px;
  border-radius:18px;
  text-align:center;
  color:#111;
  background:
    radial-gradient(circle at 100% 0,color-mix(in srgb,var(--theme-accent,#176dcb) 14%,transparent),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82));
  border:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 32%,rgba(0,0,0,.14));
  box-shadow:0 14px 30px rgba(0,0,0,.12);
}

.store-empty-state strong{
  display:block;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:1.4rem;
  text-transform:uppercase;
}

.store-empty-state span{
  display:block;
  margin-top:5px;
  color:#2f3947;
  font-weight:850;
}

body[data-page="shop"] .shop-filter [data-filter]{
  cursor:pointer;
}

body[data-page="shop"] .shop-filter [data-filter][aria-pressed="true"],
body[data-page="shop"] .shop-filter [data-filter].active{
  box-shadow:
    0 6px 0 rgba(0,0,0,.16),
    0 13px 22px rgba(0,0,0,.18),
    0 0 0 4px color-mix(in srgb,var(--theme-accent,#176dcb) 20%,transparent),
    inset 0 1px 0 rgba(255,255,255,.42)!important;
}

body[data-page="shop"] .shop-actions-row{
  margin-top:18px!important;
}

body[data-page="shop"] [data-load-more][hidden]{
  display:none!important;
}

/* Reinforce full-image previews so product cards never crop artwork. */
body[data-page="shop"] .product-preview-full img,
body[data-page="shop"] .custom-store-grid .shop-thumb img,
body[data-page="shop"] .connected-shop-grid .shop-thumb img{
  object-fit:contain!important;
  object-position:center center!important;
  width:100%!important;
  height:100%!important;
  padding:10px!important;
  transform:none;
}

body[data-page="shop"] .custom-store-grid .shop-card:hover .shop-thumb img{
  transform:scale(1.006)!important;
}

/* Keep store pages calmer: no hover paint-splat visuals in the storefront. */
body[data-page="shop"] .link-hover-splat,
body:has(.store-product-detail-v74) .link-hover-splat{
  display:none!important;
}



/* === v76 full site footer ===
   Theme-aware footer used across every page.
   Includes brand, CTAs, navigation, activities, contact, hours, socials, legal/prototype note. */

.site-footer{
  position:relative;
  z-index:2;
  max-width:1180px;
  margin:30px auto 24px;
  padding:0 16px;
  color:#111;
}

.site-footer-inner{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  border:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 34%,rgba(0,0,0,.16));
  background:
    radial-gradient(circle at 94% 6%,color-mix(in srgb,var(--theme-accent,#176dcb) 18%,transparent),transparent 28%),
    radial-gradient(circle at 5% 96%,color-mix(in srgb,var(--theme-button-start,#1879fa) 13%,transparent),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82));
  box-shadow:
    0 24px 56px rgba(0,0,0,.17),
    0 0 0 1px rgba(255,255,255,.58) inset;
}

.site-footer-inner::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    var(--theme-splat-primary) right -92px top -120px / 300px 300px no-repeat,
    var(--theme-splat-secondary) left -110px bottom -130px / 340px 340px no-repeat,
    linear-gradient(90deg,var(--theme-accent,#176dcb),rgba(255,255,255,.40),var(--theme-nav-border,#0b5ed7)) top / 100% 8px no-repeat;
  opacity:.13;
}

.site-footer-main,
.site-footer-grid,
.site-footer-bottom{
  position:relative;
  z-index:1;
}

.site-footer-main{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);
  gap:18px;
  padding:26px 26px 18px;
  align-items:stretch;
}

.site-footer-brand-block{
  display:grid;
  grid-template-columns:145px minmax(0,1fr);
  gap:18px;
  align-items:center;
}

.site-footer-logo{
  display:grid;
  place-items:center;
  min-height:128px;
  padding:8px;
  border-radius:22px;
  background:
    radial-gradient(circle at 50% 40%,rgba(255,255,255,.88),rgba(255,255,255,.50) 55%,rgba(255,255,255,.18));
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 14px 28px rgba(0,0,0,.12);
}

.site-footer-logo img{
  display:block;
  width:128px;
  max-width:100%;
  max-height:118px;
  object-fit:contain;
  transition:opacity .16s ease, transform .16s ease;
}

html[data-eas-theme]:not([data-eas-theme="default"])[data-eas-logo-ready="false"] .site-footer-logo img{
  opacity:0!important;
  transform:scale(.985)!important;
}

html[data-eas-logo-ready="true"] .site-footer-logo img{
  opacity:1!important;
}

.site-footer-brand-copy .section-kicker{
  margin:0 0 5px;
}

.site-footer-brand-copy h2{
  margin:0 0 8px;
  color:#050505;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:.92;
  text-transform:uppercase;
  letter-spacing:.02em;
  text-shadow:0 2px 0 rgba(255,255,255,.86),0 8px 14px rgba(0,0,0,.15);
}

.site-footer-brand-copy p{
  max-width:720px;
  margin:0;
  color:#202a39;
  font-weight:850;
  line-height:1.45;
}

.site-footer-cta-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.site-footer .rounded-blue.compact{
  min-height:38px;
}

.outline-footer-btn{
  color:var(--theme-button-end,#0b5ed7)!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.78))!important;
  border:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 42%,rgba(0,0,0,.14))!important;
  text-shadow:none!important;
  box-shadow:
    0 5px 0 rgba(0,0,0,.09),
    0 10px 18px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.45)!important;
}

.site-footer-quick-card{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:8px;
  padding:18px;
  border-radius:20px;
  color:#fff;
  background:
    radial-gradient(circle at 100% 0,rgba(255,255,255,.24),transparent 35%),
    linear-gradient(135deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7));
  border:1px solid rgba(255,255,255,.34);
  box-shadow:
    0 12px 24px rgba(0,0,0,.16),
    inset 0 1px 0 rgba(255,255,255,.34);
}

.site-footer-quick-card strong{
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:1.8rem;
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:.03em;
  text-shadow:0 2px 0 rgba(0,0,0,.18);
}

.site-footer-quick-card span{
  color:rgba(255,255,255,.94);
  font-weight:850;
  line-height:1.42;
}

.site-footer-quick-card a{
  width:max-content;
  color:#111;
  background:rgba(255,255,255,.90);
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 8px 16px rgba(0,0,0,.16);
}

.site-footer-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  padding:0 26px 22px;
}

.site-footer-column{
  min-width:0;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 10px 20px rgba(0,0,0,.08);
}

.site-footer-column h3{
  margin:0 0 10px;
  color:#050505;
  font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size:1.35rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  text-shadow:0 2px 0 rgba(255,255,255,.82);
}

.site-footer-column a{
  display:block;
  width:max-content;
  max-width:100%;
  margin:7px 0;
  color:#202a39;
  font-size:13px;
  font-weight:900;
  line-height:1.3;
  text-decoration:none;
}

.site-footer-column a:hover,
.site-footer-column a:focus-visible{
  color:var(--theme-button-end,#0b5ed7);
  transform:translateX(3px);
}

.site-footer-contact a[href^="tel"]{
  color:var(--theme-button-end,#0b5ed7);
  font-weight:950;
}

.site-footer-socials{
  display:flex;
  gap:8px;
  margin-top:12px;
}

.site-footer-socials a{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin:0;
  border-radius:12px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.70));
  border:1px solid rgba(0,0,0,.10);
  box-shadow:0 8px 15px rgba(0,0,0,.12);
}

.site-footer-socials a:hover,
.site-footer-socials a:focus-visible{
  transform:translateY(-2px);
}

.site-footer-socials img{
  width:22px;
  height:22px;
  object-fit:contain;
}

.site-footer-hours p{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:8px;
  margin:8px 0;
  color:#202a39;
  font-size:13px;
  line-height:1.25;
}

.site-footer-hours span{
  color:var(--theme-button-end,#0b5ed7);
  font-weight:950;
}

.site-footer-hours strong{
  color:#111;
  font-weight:900;
}

.site-footer-bottom{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:14px 26px 18px;
  background:rgba(0,0,0,.06);
  border-top:1px solid rgba(0,0,0,.10);
}

.site-footer-bottom p{
  margin:0;
  color:#202a39;
  font-size:12px;
  font-weight:850;
  line-height:1.35;
}

.site-footer-bottom p:first-child{
  color:#111;
  font-weight:950;
}

.site-footer-bottom a{
  color:#fff;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0)),
    linear-gradient(135deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7));
  border-radius:999px;
  padding:8px 12px;
  font-size:11px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:0 7px 14px rgba(0,0,0,.16);
}

@media(max-width:980px){
  .site-footer-main{
    grid-template-columns:1fr;
  }

  .site-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:680px){
  .site-footer{
    margin-top:22px;
    padding:0 10px;
  }

  .site-footer-main,
  .site-footer-grid,
  .site-footer-bottom{
    padding-left:16px;
    padding-right:16px;
  }

  .site-footer-brand-block{
    grid-template-columns:1fr;
    text-align:center;
  }

  .site-footer-logo{
    max-width:190px;
    margin:0 auto;
  }

  .site-footer-cta-row{
    justify-content:center;
  }

  .site-footer-grid{
    grid-template-columns:1fr;
  }

  .site-footer-column a{
    width:100%;
  }

  .site-footer-hours p{
    grid-template-columns:1fr;
    gap:2px;
  }

  .site-footer-bottom{
    justify-content:center;
    text-align:center;
  }
}



/* === v77 footer visibility fix + Christmas logo update ===
   Footer is now inserted inside <main> at the bottom of every page.
   This avoids situations where site/page wrappers or body-level layout rules
   hide content that appears after the main page frame. */

main > .site-footer{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  grid-column:1 / -1!important;
  width:min(1180px,calc(100% - 24px))!important;
  max-width:1180px!important;
  margin:34px auto 24px!important;
  padding:0!important;
  clear:both!important;
  position:relative!important;
  z-index:5!important;
}

.site-footer{
  display:block!important;
  visibility:visible!important;
}

.site-footer *{
  box-sizing:border-box;
}

.site-footer-inner{
  isolation:isolate;
}

.site-footer-logo img{
  object-fit:contain!important;
}

/* Make the footer sit nicely on pages that already have a bottom Back to Top strip. */
.back-to-top-section + .site-footer,
.page-bottom-actions + .site-footer,
.bottom-back-top + .site-footer{
  margin-top:22px!important;
}

/* Product detail pages have their own main layout; footer needs extra top breathing room. */
.store-product-detail-v74 + .site-footer{
  margin-top:30px!important;
}

/* Theme preview/footer QA: keep footer readable on all seasonal backgrounds. */
html[data-eas-theme] .site-footer-inner{
  color:#111!important;
}

html[data-eas-theme] .site-footer-column,
html[data-eas-theme] .site-footer-logo,
html[data-eas-theme] .product-detail-info-grid > article{
  color:#111!important;
}

@media(max-width:680px){
  main > .site-footer{
    width:calc(100% - 18px)!important;
    margin-top:24px!important;
  }
}



/* === v78 slim full-width footer ===
   Simplifies v77 footer:
   - Full-width bottom band instead of boxed card.
   - Much thinner vertical height.
   - Centered content.
   - Footer logo matches header-logo behavior, just smaller.
   - Keeps theme colors, theme splats, and seasonal logo swapping. */

main > .site-footer.site-footer-slim,
.site-footer.site-footer-slim{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:100vw!important;
  max-width:none!important;
  margin:34px calc(50% - 50vw) 0!important;
  padding:0!important;
  clear:both!important;
  position:relative!important;
  z-index:5!important;
  color:#111!important;
}

.site-footer-slim .site-footer-inner{
  width:100%!important;
  max-width:none!important;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-top:1px solid color-mix(in srgb,var(--theme-accent,#176dcb) 38%,rgba(0,0,0,.18))!important;
  background:
    radial-gradient(circle at 96% 0,color-mix(in srgb,var(--theme-accent,#176dcb) 12%,transparent),transparent 24%),
    radial-gradient(circle at 4% 100%,color-mix(in srgb,var(--theme-button-start,#1879fa) 10%,transparent),transparent 26%),
    linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.82))!important;
  box-shadow:
    0 -10px 30px rgba(0,0,0,.12),
    inset 0 1px 0 rgba(255,255,255,.65)!important;
  overflow:hidden!important;
  isolation:isolate!important;
}

.site-footer-slim .site-footer-inner::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  background:
    var(--theme-splat-primary) right -120px top -150px / 280px 280px no-repeat,
    var(--theme-splat-secondary) left -140px bottom -150px / 300px 300px no-repeat,
    linear-gradient(90deg,var(--theme-accent,#176dcb),rgba(255,255,255,.45),var(--theme-nav-border,#0b5ed7)) top / 100% 5px no-repeat!important;
  opacity:.095!important;
}

.site-footer-slim .site-footer-topline,
.site-footer-slim .site-footer-links-row,
.site-footer-slim .site-footer-bottom{
  width:min(1160px,calc(100% - 34px))!important;
  max-width:1160px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  position:relative!important;
  z-index:1!important;
}

.site-footer-slim .site-footer-topline{
  display:grid!important;
  grid-template-columns:120px minmax(0,1fr) auto!important;
  gap:18px!important;
  align-items:center!important;
  justify-items:center!important;
  padding:18px 0 12px!important;
  text-align:center!important;
}

.site-footer-slim .site-footer-logo{
  display:grid!important;
  place-items:center!important;
  width:112px!important;
  min-height:96px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.site-footer-slim .site-footer-logo img{
  display:block!important;
  width:108px!important;
  max-width:108px!important;
  max-height:88px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 8px 12px rgba(0,0,0,.18))!important;
}

.site-footer-slim .site-footer-brand-copy{
  text-align:center!important;
  max-width:660px!important;
  margin:0 auto!important;
}

.site-footer-slim .site-footer-brand-copy .section-kicker{
  margin:0 0 4px!important;
  font-size:11px!important;
  letter-spacing:.18em!important;
  color:var(--theme-button-end,#0b5ed7)!important;
}

.site-footer-slim .site-footer-brand-copy h2{
  margin:0 0 5px!important;
  color:#050505!important;
  font-size:clamp(2rem,4vw,3.1rem)!important;
  line-height:.9!important;
  text-align:center!important;
  text-shadow:0 2px 0 rgba(255,255,255,.84),0 7px 13px rgba(0,0,0,.14)!important;
}

.site-footer-slim .site-footer-brand-copy p{
  max-width:650px!important;
  margin:0 auto!important;
  color:#1d2634!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.35!important;
  text-align:center!important;
}

.site-footer-slim .site-footer-cta-row{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:8px!important;
  margin:0!important;
  width:auto!important;
}

.site-footer-slim .rounded-blue.compact{
  min-height:34px!important;
  padding:9px 13px!important;
  font-size:10px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
}

.site-footer-slim .site-footer-links-row{
  display:grid!important;
  grid-template-columns:1fr 1fr 1.35fr 1.25fr!important;
  gap:10px!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  padding:0 0 12px!important;
}

.site-footer-slim .site-footer-column{
  min-width:0!important;
  padding:12px!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.54)!important;
  border:1px solid rgba(0,0,0,.09)!important;
  box-shadow:none!important;
  text-align:center!important;
}

.site-footer-slim .site-footer-column h3{
  margin:0 0 8px!important;
  color:#070707!important;
  font-size:1.05rem!important;
  line-height:1!important;
  text-align:center!important;
  letter-spacing:.05em!important;
  text-shadow:0 2px 0 rgba(255,255,255,.75)!important;
}

.site-footer-slim .footer-link-list{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:6px 10px!important;
}

.site-footer-slim .site-footer-column a{
  display:inline-flex!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  color:#202a39!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
}

.site-footer-slim .site-footer-column a:hover,
.site-footer-slim .site-footer-column a:focus-visible{
  color:var(--theme-button-end,#0b5ed7)!important;
  transform:translateY(-1px)!important;
}

.site-footer-slim .site-footer-contact p{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:5px 8px!important;
  margin:0!important;
  color:#202a39!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.25!important;
}

.site-footer-slim .site-footer-contact p a{
  color:#202a39!important;
}

.site-footer-slim .site-footer-contact p a[href^="tel"]{
  color:var(--theme-button-end,#0b5ed7)!important;
}

.site-footer-slim .site-footer-socials{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:8px!important;
}

.site-footer-slim .site-footer-socials a{
  display:grid!important;
  place-items:center!important;
  width:30px!important;
  height:30px!important;
  margin:0!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(0,0,0,.08)!important;
  box-shadow:0 5px 10px rgba(0,0,0,.10)!important;
}

.site-footer-slim .site-footer-socials img{
  width:18px!important;
  height:18px!important;
  object-fit:contain!important;
}

.site-footer-slim .site-footer-hours p{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:5px 10px!important;
  margin:0!important;
  color:#202a39!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.25!important;
}

.site-footer-slim .site-footer-hours p span{
  color:#202a39!important;
}

.site-footer-slim .site-footer-bottom{
  display:grid!important;
  grid-template-columns:1fr auto 1fr!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 0 12px!important;
  border-top:1px solid rgba(0,0,0,.09)!important;
  background:transparent!important;
  text-align:center!important;
}

.site-footer-slim .site-footer-bottom p{
  margin:0!important;
  color:#1d2634!important;
  font-size:11px!important;
  font-weight:850!important;
  line-height:1.25!important;
}

.site-footer-slim .site-footer-bottom p:first-child{
  text-align:left!important;
}

.site-footer-slim .site-footer-bottom p:nth-child(2){
  order:3!important;
  text-align:right!important;
}

.site-footer-slim .site-footer-bottom a{
  order:2!important;
  display:inline-flex!important;
  justify-content:center!important;
  align-items:center!important;
  min-height:30px!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  color:#fff!important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,0)),
    linear-gradient(135deg,var(--theme-button-start,#1879fa),var(--theme-button-end,#0b5ed7))!important;
  box-shadow:0 5px 10px rgba(0,0,0,.14)!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
}

/* Hide old v76-only layout block in case any cached markup appears. */
.site-footer-slim .site-footer-main,
.site-footer-slim .site-footer-grid,
.site-footer-slim .site-footer-quick-card{
  display:none!important;
}

@media(max-width:980px){
  .site-footer-slim .site-footer-topline{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding-top:16px!important;
  }

  .site-footer-slim .site-footer-cta-row{
    margin-top:2px!important;
  }

  .site-footer-slim .site-footer-links-row{
    grid-template-columns:1fr 1fr!important;
  }

  .site-footer-slim .site-footer-bottom{
    grid-template-columns:1fr!important;
  }

  .site-footer-slim .site-footer-bottom p,
  .site-footer-slim .site-footer-bottom p:first-child,
  .site-footer-slim .site-footer-bottom p:nth-child(2){
    text-align:center!important;
  }
}

@media(max-width:620px){
  main > .site-footer.site-footer-slim,
  .site-footer.site-footer-slim{
    width:100vw!important;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }

  .site-footer-slim .site-footer-topline,
  .site-footer-slim .site-footer-links-row,
  .site-footer-slim .site-footer-bottom{
    width:calc(100% - 22px)!important;
  }

  .site-footer-slim .site-footer-links-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  .site-footer-slim .site-footer-brand-copy h2{
    font-size:2.15rem!important;
  }

  .site-footer-slim .site-footer-logo{
    width:104px!important;
    min-height:82px!important;
  }

  .site-footer-slim .site-footer-logo img{
    width:100px!important;
    max-height:78px!important;
  }

  .site-footer-slim .site-footer-column{
    padding:10px!important;
  }
}



/* === v79 ultra-slim footer cleanup ===
   - Removes footer descriptive paragraph from HTML.
   - Makes footer thinner again.
   - Keeps footer content centered.
   - Prevents decorative hover splats from appearing on footer CTAs/social icons/back-to-top. */

html.suppress-hover-splat .link-hover-splat,
.site-footer .link-hover-splat,
.site-footer-slim .link-hover-splat,
.site-footer a.no-hover-splat::before,
.site-footer a.no-hover-splat::after,
.site-footer .rounded-blue::before,
.site-footer .rounded-blue::after,
.site-footer-socials a::before,
.site-footer-socials a::after{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.site-footer .no-hover-splat,
.site-footer .no-hover-splat-zone,
.site-footer-socials,
.site-footer-cta-row{
  --hover-splat-opacity:0!important;
}

main > .site-footer.site-footer-slim,
.site-footer.site-footer-slim{
  margin-top:28px!important;
}

.site-footer-slim .site-footer-inner{
  box-shadow:
    0 -7px 22px rgba(0,0,0,.10),
    inset 0 1px 0 rgba(255,255,255,.65)!important;
}

.site-footer-slim .site-footer-inner::before{
  background:
    var(--theme-splat-primary) right -135px top -165px / 245px 245px no-repeat,
    var(--theme-splat-secondary) left -145px bottom -160px / 255px 255px no-repeat,
    linear-gradient(90deg,var(--theme-accent,#176dcb),rgba(255,255,255,.45),var(--theme-nav-border,#0b5ed7)) top / 100% 4px no-repeat!important;
  opacity:.075!important;
}

.site-footer-slim .site-footer-topline{
  grid-template-columns:96px minmax(0,1fr) auto!important;
  gap:14px!important;
  padding:12px 0 7px!important;
}

.site-footer-slim .site-footer-logo{
  width:88px!important;
  min-height:66px!important;
}

.site-footer-slim .site-footer-logo img{
  width:86px!important;
  max-width:86px!important;
  max-height:64px!important;
  filter:drop-shadow(0 6px 9px rgba(0,0,0,.17))!important;
}

.site-footer-slim .site-footer-brand-copy{
  max-width:580px!important;
}

.site-footer-slim .site-footer-brand-copy .section-kicker{
  margin:0 0 3px!important;
  font-size:10px!important;
  letter-spacing:.17em!important;
}

.site-footer-slim .site-footer-brand-copy h2{
  margin:0!important;
  font-size:clamp(1.75rem,3.35vw,2.65rem)!important;
  line-height:.88!important;
}

/* The descriptive paragraph was removed in HTML, but this keeps old cached markup thin if present. */
.site-footer-slim .site-footer-brand-copy > p{
  display:none!important;
}

.site-footer-slim .site-footer-cta-row{
  gap:6px!important;
}

.site-footer-slim .rounded-blue.compact{
  min-height:30px!important;
  padding:7px 11px!important;
  font-size:9.5px!important;
  box-shadow:
    0 4px 0 rgba(0,0,0,.14),
    0 8px 13px rgba(0,0,0,.14),
    inset 0 1px 0 rgba(255,255,255,.36)!important;
}

.site-footer-slim .site-footer-links-row{
  grid-template-columns:1fr 1fr 1.45fr 1.2fr!important;
  gap:8px!important;
  padding:0 0 8px!important;
}

.site-footer-slim .site-footer-column{
  padding:9px 10px!important;
  border-radius:12px!important;
}

.site-footer-slim .site-footer-column h3{
  margin:0 0 6px!important;
  font-size:.95rem!important;
}

.site-footer-slim .footer-link-list{
  gap:5px 9px!important;
}

.site-footer-slim .site-footer-column a{
  font-size:11.5px!important;
  line-height:1.15!important;
}

.site-footer-slim .site-footer-contact p{
  gap:4px 7px!important;
  font-size:11.5px!important;
  line-height:1.18!important;
}

.site-footer-slim .site-footer-socials{
  gap:6px!important;
  margin-top:6px!important;
}

.site-footer-slim .site-footer-socials a{
  width:27px!important;
  height:27px!important;
  border-radius:8px!important;
  box-shadow:0 4px 8px rgba(0,0,0,.09)!important;
}

.site-footer-slim .site-footer-socials img{
  width:16px!important;
  height:16px!important;
}

.site-footer-slim .site-footer-hours p{
  gap:4px 8px!important;
  font-size:11.25px!important;
  line-height:1.16!important;
}

.site-footer-slim .site-footer-bottom{
  gap:8px!important;
  padding:7px 0 9px!important;
}

.site-footer-slim .site-footer-bottom p{
  font-size:10.5px!important;
  line-height:1.18!important;
}

.site-footer-slim .site-footer-bottom a{
  min-height:27px!important;
  padding:6px 10px!important;
  font-size:9.5px!important;
  box-shadow:0 4px 8px rgba(0,0,0,.12)!important;
}

@media(max-width:980px){
  .site-footer-slim .site-footer-topline{
    gap:7px!important;
    padding-top:11px!important;
  }

  .site-footer-slim .site-footer-links-row{
    gap:7px!important;
    padding-bottom:7px!important;
  }
}

@media(max-width:620px){
  main > .site-footer.site-footer-slim,
  .site-footer.site-footer-slim{
    margin-top:22px!important;
  }

  .site-footer-slim .site-footer-topline{
    width:calc(100% - 20px)!important;
  }

  .site-footer-slim .site-footer-logo{
    width:82px!important;
    min-height:58px!important;
  }

  .site-footer-slim .site-footer-logo img{
    width:80px!important;
    max-height:58px!important;
  }

  .site-footer-slim .site-footer-brand-copy h2{
    font-size:1.9rem!important;
  }

  .site-footer-slim .site-footer-links-row{
    grid-template-columns:1fr!important;
  }

  .site-footer-slim .site-footer-column{
    padding:8px!important;
  }
}



/* === v80 clean centered footer ===
   Footer cleanup:
   - Removed Book Now / Waiver / Shop from footer markup.
   - Removed Back to Top from footer markup.
   - Recentered remaining footer content.
   - Fully disables decorative hover splats on all footer elements, regardless of active theme. */

html.suppress-hover-splat .link-hover-splat,
.site-footer .link-hover-splat,
.site-footer *,
.site-footer *::before,
.site-footer *::after{
  --hover-splat-opacity:0!important;
}

.site-footer .link-hover-splat,
.site-footer .eas-hover-splat,
.site-footer [class*="splat"],
.site-footer *::before,
.site-footer *::after{
  pointer-events:none;
}

.site-footer a::before,
.site-footer a::after,
.site-footer button::before,
.site-footer button::after,
.site-footer .rounded-blue::before,
.site-footer .rounded-blue::after,
.site-footer-socials a::before,
.site-footer-socials a::after{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  content:none!important;
  background:none!important;
  box-shadow:none!important;
}

/* Footer should not contain CTAs/back-to-top anymore, but hide cached markup if a browser has it. */
.site-footer-slim .site-footer-cta-row,
.site-footer-slim .site-footer-bottom a[href="#top"]{
  display:none!important;
}

/* Top footer becomes a centered logo + title block. */
.site-footer-slim .site-footer-topline{
  grid-template-columns:86px minmax(260px, 620px)!important;
  justify-content:center!important;
  justify-items:center!important;
  align-items:center!important;
  gap:14px!important;
  padding:11px 0 7px!important;
  text-align:center!important;
}

.site-footer-slim .site-footer-logo{
  width:82px!important;
  min-height:58px!important;
  justify-self:center!important;
}

.site-footer-slim .site-footer-logo img{
  width:80px!important;
  max-width:80px!important;
  max-height:58px!important;
}

.site-footer-slim .site-footer-brand-copy{
  max-width:620px!important;
  width:100%!important;
  text-align:center!important;
  justify-self:center!important;
}

.site-footer-slim .site-footer-brand-copy h2,
.site-footer-slim .site-footer-brand-copy .section-kicker{
  text-align:center!important;
}

/* Link rows are centered and compact. */
.site-footer-slim .site-footer-links-row{
  grid-template-columns:minmax(170px,.85fr) minmax(190px,.95fr) minmax(260px,1.35fr) minmax(230px,1.15fr)!important;
  justify-content:center!important;
  justify-items:stretch!important;
  align-items:stretch!important;
  gap:8px!important;
  padding:0 0 7px!important;
}

.site-footer-slim .site-footer-column{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:8px 10px!important;
}

.site-footer-slim .footer-link-list,
.site-footer-slim .site-footer-contact p,
.site-footer-slim .site-footer-socials,
.site-footer-slim .site-footer-hours p{
  justify-content:center!important;
  align-items:center!important;
  text-align:center!important;
}

/* Bottom row now only has the two notes, centered. */
.site-footer-slim .site-footer-bottom{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:6px 18px!important;
  padding:6px 0 8px!important;
  text-align:center!important;
}

.site-footer-slim .site-footer-bottom p,
.site-footer-slim .site-footer-bottom p:first-child,
.site-footer-slim .site-footer-bottom p:nth-child(2){
  order:initial!important;
  text-align:center!important;
  flex:0 1 auto!important;
}

/* Footer links can still have simple color/position hovers, but no splatter. */
.site-footer-slim .site-footer-column a:hover,
.site-footer-slim .site-footer-column a:focus-visible,
.site-footer-slim .site-footer-socials a:hover,
.site-footer-slim .site-footer-socials a:focus-visible{
  color:var(--theme-button-end,#0b5ed7)!important;
  transform:translateY(-1px)!important;
}

@media(max-width:980px){
  .site-footer-slim .site-footer-topline{
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding-top:10px!important;
  }

  .site-footer-slim .site-footer-links-row{
    grid-template-columns:1fr 1fr!important;
    max-width:720px!important;
  }
}

@media(max-width:620px){
  .site-footer-slim .site-footer-topline{
    width:calc(100% - 22px)!important;
  }

  .site-footer-slim .site-footer-logo{
    width:78px!important;
    min-height:54px!important;
  }

  .site-footer-slim .site-footer-logo img{
    width:76px!important;
    max-height:54px!important;
  }

  .site-footer-slim .site-footer-links-row{
    grid-template-columns:1fr!important;
  }

  .site-footer-slim .site-footer-bottom{
    padding-bottom:10px!important;
  }
}



/* === EagleActionSportz_Web_1.0 final cleanup ===
   Airsoft package card cleanup:
   - Remove the decorative paint splatter layer from the Airsoft pricing card.
   - Keep the normal themed top accent and themed price chip.
   - Prevent hover splats on the Airsoft price chip. */

body[data-page="prices"] #airsoft .airsoft-card::before,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card::before,
html[data-eas-theme] body[data-page="prices"] .airsoft-glow-section .airsoft-card.price-card-readable::before{
  content:none!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  background:none!important;
}

body[data-page="prices"] #airsoft .airsoft-card .price-chip.book-price-chip,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .price-chip.book-price-chip{
  overflow:hidden!important;
  isolation:isolate!important;
}

body[data-page="prices"] #airsoft .airsoft-card .price-chip.book-price-chip::before,
body[data-page="prices"] #airsoft .airsoft-card .price-chip.book-price-chip::after,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .price-chip.book-price-chip::before,
html[data-eas-theme] body[data-page="prices"] #airsoft .airsoft-card .price-chip.book-price-chip::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  background:none!important;
}



/* === EagleActionSportz_Web_1.1 simple directional page navigation ===
   Purpose:
   - Keep the nav/header/background steady.
   - Lightly fade and slide the page content based on nav order.
   - Home -> Prices enters from the right.
   - Prices -> Home enters from the left.
   - No color wipe, no overlay, no flashy effect. */

html,
body{
  overflow-x:clip;
}

.eas-page-transition-overlay,
.eas-page-transition-overlay::before,
.eas-page-transition-overlay::after{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  animation:none!important;
  transform:none!important;
  pointer-events:none!important;
  background:none!important;
}

main,
.brand-head,
.site-footer{
  backface-visibility:hidden;
  transform-style:preserve-3d;
}

body.eas-page-enter-from-right main,
body.eas-page-enter-from-right .brand-head,
body.eas-page-enter-from-right .site-footer{
  animation:easDirectionalEnterRightV11 .26s cubic-bezier(.22,.72,.2,1) both!important;
}

body.eas-page-enter-from-left main,
body.eas-page-enter-from-left .brand-head,
body.eas-page-enter-from-left .site-footer{
  animation:easDirectionalEnterLeftV11 .26s cubic-bezier(.22,.72,.2,1) both!important;
}

body.eas-page-leaving-to-right main,
body.eas-page-leaving-to-right .brand-head,
body.eas-page-leaving-to-right .site-footer{
  opacity:0!important;
  transform:translate3d(-18px,0,0)!important;
  transition:opacity .17s ease-out, transform .17s ease-out!important;
}

body.eas-page-leaving-to-left main,
body.eas-page-leaving-to-left .brand-head,
body.eas-page-leaving-to-left .site-footer{
  opacity:0!important;
  transform:translate3d(18px,0,0)!important;
  transition:opacity .17s ease-out, transform .17s ease-out!important;
}

body.eas-page-leaving main,
body.eas-page-leaving .brand-head,
body.eas-page-leaving .site-footer{
  pointer-events:none;
}

@keyframes easDirectionalEnterRightV11{
  from{
    opacity:0;
    transform:translate3d(18px,0,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

@keyframes easDirectionalEnterLeftV11{
  from{
    opacity:0;
    transform:translate3d(-18px,0,0);
  }
  to{
    opacity:1;
    transform:translate3d(0,0,0);
  }
}

/* While the page is sliding, keep reveal animations from fighting the page transition. */
body.eas-page-enter-from-right .reveal-on-scroll,
body.eas-page-enter-from-left .reveal-on-scroll,
body.eas-page-leaving .reveal-on-scroll{
  transition:none!important;
}

/* Keep the nav drop behavior unchanged: it still only runs on the first site load of the tab/session. */
body:not(.eas-nav-load-animate) .top-nav-ribbon{
  animation:none;
}

@media(prefers-reduced-motion:reduce){
  body.eas-page-enter-from-right main,
  body.eas-page-enter-from-right .brand-head,
  body.eas-page-enter-from-right .site-footer,
  body.eas-page-enter-from-left main,
  body.eas-page-enter-from-left .brand-head,
  body.eas-page-enter-from-left .site-footer{
    animation:none!important;
    transform:none!important;
  }

  body.eas-page-leaving-to-right main,
  body.eas-page-leaving-to-right .brand-head,
  body.eas-page-leaving-to-right .site-footer,
  body.eas-page-leaving-to-left main,
  body.eas-page-leaving-to-left .brand-head,
  body.eas-page-leaving-to-left .site-footer{
    opacity:1!important;
    transition:none!important;
    transform:none!important;
  }
}



/* === EagleActionSportz_Web_1.2 mobile QA + no-flash transition pass ===
   Focus areas:
   - consistent mobile font behavior
   - store grid/product cards fit cleanly on mobile
   - location page stacks and fits cleanly on mobile
   - reveal-on-scroll starts earlier on mobile
   - directional page transitions hide the content flash on live deploys */

/* Early no-flash state from the tiny head script. */
html.eas-transition-prep main,
html.eas-transition-prep .brand-head,
html.eas-transition-prep .site-footer{
  opacity:0!important;
  pointer-events:none!important;
}

html.eas-transition-prep.eas-prep-right main,
html.eas-transition-prep.eas-prep-right .brand-head,
html.eas-transition-prep.eas-prep-right .site-footer{
  transform:translate3d(18px,0,0)!important;
}

html.eas-transition-prep.eas-prep-left main,
html.eas-transition-prep.eas-prep-left .brand-head,
html.eas-transition-prep.eas-prep-left .site-footer{
  transform:translate3d(-18px,0,0)!important;
}

/* Stronger final directional animation. Background and sticky nav stay steady. */
body.eas-page-enter-from-right main,
body.eas-page-enter-from-right .brand-head,
body.eas-page-enter-from-right .site-footer{
  animation:easV12EnterRight .28s cubic-bezier(.22,.72,.2,1) both!important;
}

body.eas-page-enter-from-left main,
body.eas-page-enter-from-left .brand-head,
body.eas-page-enter-from-left .site-footer{
  animation:easV12EnterLeft .28s cubic-bezier(.22,.72,.2,1) both!important;
}

body.eas-page-leaving-to-right main,
body.eas-page-leaving-to-right .brand-head,
body.eas-page-leaving-to-right .site-footer{
  opacity:0!important;
  transform:translate3d(-20px,0,0)!important;
  transition:opacity .165s ease-out, transform .165s ease-out!important;
}

body.eas-page-leaving-to-left main,
body.eas-page-leaving-to-left .brand-head,
body.eas-page-leaving-to-left .site-footer{
  opacity:0!important;
  transform:translate3d(20px,0,0)!important;
  transition:opacity .165s ease-out, transform .165s ease-out!important;
}

@keyframes easV12EnterRight{
  from{opacity:0;transform:translate3d(20px,0,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

@keyframes easV12EnterLeft{
  from{opacity:0;transform:translate3d(-20px,0,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

/* Consistent mobile type: avoid browser fantasy fallbacks looking different from desktop. */
@media(max-width:760px){
  html,
  body,
  button,
  input,
  select,
  textarea,
  .brand-detail,
  .ribbon-menu a,
  .shop-card,
  .package-card,
  .offer-card,
  .yellow-note,
  .location-address-card,
  .site-footer,
  .store-product-detail-v74{
    font-family:Arial, Helvetica, sans-serif!important;
  }

  .page-title-wrap h1,
  .welcome-block h1,
  .welcome-copy h1,
  .loyalty-hero h1,
  .price-hero-copy h1,
  .blue-heading,
  .hero-splash-heading > span,
  .package-card h3,
  .price-card-readable h3,
  .offer-card h3,
  .product-info-panel h1,
  .product-detail-info-grid h2,
  .related-products-v74 h2,
  .site-footer-brand-copy h2,
  .site-footer-column h3,
  .location-address-card h2{
    font-family:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif!important;
    letter-spacing:.025em!important;
  }

  body{
    font-size:15px!important;
    line-height:1.42!important;
  }

  /* Let mobile content appear as soon as it is visible. Avoid blank voids before reveal animations fire. */
  .reveal-on-scroll{
    transition:opacity .22s ease, transform .22s ease!important;
  }

  .reveal-on-scroll:not(.is-visible){
    opacity:1!important;
    transform:none!important;
  }

  /* Shared mobile layout cleanup. */
  .brand-head{
    padding:10px 8px 10px!important;
  }

  .brand-cluster{
    width:calc(100% - 12px)!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:12px!important;
    text-align:center!important;
    border-radius:14px!important;
  }

  .brand-logo img{
    width:118px!important;
    max-height:112px!important;
    margin:0 auto!important;
  }

  .brand-detail{
    text-align:center!important;
    font-size:12.5px!important;
    line-height:1.25!important;
  }

  .brand-actions{
    justify-content:center!important;
    align-items:center!important;
    gap:9px!important;
  }

  .social-row{
    justify-content:center!important;
  }

  .top-nav-ribbon{
    min-height:40px!important;
  }

  .mobile-menu-button{
    display:flex!important;
    width:100%!important;
    align-items:center!important;
    justify-content:center!important;
  }

  .ribbon-menu{
    grid-template-columns:1fr!important;
  }

  .top-nav-ribbon:not(.open) .ribbon-menu{
    display:none!important;
  }

  .top-nav-ribbon.open .ribbon-menu{
    display:grid!important;
  }

  .ribbon-menu a{
    white-space:normal!important;
    min-height:38px!important;
    text-align:center!important;
  }

  .page-frame,
  .wide-frame,
  .shop-frame,
  .store-product-detail-v74{
    width:calc(100% - 16px)!important;
    max-width:calc(100% - 16px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding:16px 10px 20px!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }

  .page-title-wrap{
    padding-left:2px!important;
    padding-right:2px!important;
  }

  .page-title-wrap h1{
    font-size:clamp(2.05rem,11vw,3rem)!important;
    line-height:.93!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }

  .page-title-wrap p{
    font-size:14px!important;
    line-height:1.42!important;
  }
}

/* Store page mobile quality pass. */
@media(max-width:760px){
  body[data-page="shop"] .shop-frame{
    padding:15px 9px 20px!important;
  }

  body[data-page="shop"] .store-connection-actions,
  body[data-page="shop"] .shop-actions-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    width:100%!important;
  }

  body[data-page="shop"] .store-connection-actions a,
  body[data-page="shop"] .shop-actions-row a,
  body[data-page="shop"] .shop-actions-row button{
    width:100%!important;
    max-width:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body[data-page="shop"] .store-connection-note{
    margin:14px auto 16px!important;
    padding:12px!important;
    border-radius:14px!important;
    font-size:13px!important;
  }

  body[data-page="shop"] .shop-filter{
    display:flex!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    gap:8px!important;
    padding:4px 2px 10px!important;
    margin:10px auto 14px!important;
    scroll-snap-type:x proximity!important;
    -webkit-overflow-scrolling:touch!important;
  }

  body[data-page="shop"] .shop-filter button{
    flex:0 0 auto!important;
    min-height:34px!important;
    padding:8px 11px!important;
    font-size:10.5px!important;
    scroll-snap-align:start!important;
  }

  body[data-page="shop"] .custom-store-grid,
  body[data-page="shop"] .connected-shop-grid,
  body[data-page="shop"] .shop-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
    width:100%!important;
    max-width:430px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body[data-page="shop"] .custom-store-grid .shop-card,
  body[data-page="shop"] .connected-shop-grid .shop-card{
    width:100%!important;
    max-width:420px!important;
    min-width:0!important;
    margin:0 auto!important;
    border-radius:18px!important;
  }

  body[data-page="shop"] .shop-card-link{
    padding:12px!important;
    min-width:0!important;
  }

  body[data-page="shop"] .custom-store-grid .shop-thumb,
  body[data-page="shop"] .connected-shop-grid .shop-thumb,
  body[data-page="shop"] .product-preview-full{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    border-radius:14px!important;
  }

  body[data-page="shop"] .custom-store-grid .shop-thumb img,
  body[data-page="shop"] .connected-shop-grid .shop-thumb img,
  body[data-page="shop"] .product-preview-full img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center!important;
    padding:9px!important;
  }

  body[data-page="shop"] .shop-category-pill,
  body[data-page="shop"] .shop-badge{
    font-size:9.5px!important;
    line-height:1.1!important;
  }

  body[data-page="shop"] .connected-shop-grid .shop-card h3,
  body[data-page="shop"] .custom-store-grid .shop-card h3{
    min-height:0!important;
    font-size:1.02rem!important;
    line-height:1.12!important;
    margin:7px 0 5px!important;
    overflow-wrap:anywhere!important;
  }

  body[data-page="shop"] .shop-card-copy{
    min-height:0!important;
    font-size:12.5px!important;
    line-height:1.32!important;
  }

  body[data-page="shop"] .quick-view,
  body[data-page="shop"] .store-mini-buy{
    width:calc(100% - 24px)!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    min-height:36px!important;
    font-size:10.5px!important;
    text-align:center!important;
  }

  body[data-page="shop"] .store-result-status{
    margin-top:12px!important;
    font-size:11px!important;
    line-height:1.2!important;
  }
}

/* Product detail mobile quality pass. */
@media(max-width:760px){
  body:has(.store-product-detail-v74) .store-product-detail-v74{
    width:calc(100% - 14px)!important;
    max-width:calc(100% - 14px)!important;
    padding:13px 9px 18px!important;
    margin-top:14px!important;
  }

  .store-product-breadcrumb{
    justify-content:center!important;
    text-align:center!important;
    font-size:11px!important;
    gap:5px!important;
    margin-bottom:12px!important;
  }

  .product-detail-layout,
  .product-detail-info-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }

  .product-gallery-panel,
  .product-info-panel,
  .product-detail-info-grid > article,
  .related-products-v74{
    padding:12px!important;
    border-radius:16px!important;
  }

  .product-main-image{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    border-radius:14px!important;
  }

  .product-main-image img,
  .product-detail-img{
    object-fit:contain!important;
    padding:10px!important;
  }

  .product-info-panel{
    text-align:center!important;
  }

  .product-info-panel h1{
    font-size:clamp(2rem,10vw,2.85rem)!important;
    line-height:.94!important;
    overflow-wrap:anywhere!important;
    text-align:center!important;
  }

  .product-detail-price{
    font-size:1.65rem!important;
  }

  .quantity-preview-row{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .product-buy-now,
  .product-live-link{
    display:flex!important;
    justify-content:center!important;
  }

  .related-products-grid{
    grid-template-columns:1fr!important;
  }
}

/* Location page mobile quality pass. */
@media(max-width:760px){
  body[data-page="location"] .location-page{
    width:calc(100% - 16px)!important;
    max-width:calc(100% - 16px)!important;
    padding:15px 9px 18px!important;
  }

  body[data-page="location"] .map-card{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:12px!important;
    border-radius:18px!important;
    width:100%!important;
    overflow:hidden!important;
  }

  body[data-page="location"] .location-address-card{
    min-height:0!important;
    width:100%!important;
    padding:18px 12px!important;
    text-align:center!important;
    align-items:center!important;
    border-radius:16px!important;
  }

  body[data-page="location"] .location-address-card h2{
    font-size:clamp(2rem,10vw,2.85rem)!important;
    margin-bottom:8px!important;
    text-align:center!important;
  }

  body[data-page="location"] .location-address-lines{
    display:grid!important;
    gap:2px!important;
    justify-items:center!important;
    text-align:center!important;
    margin:0 0 10px!important;
  }

  body[data-page="location"] .location-address-lines .street-line{
    font-size:clamp(1.5rem,8vw,2.35rem)!important;
    line-height:.95!important;
    text-align:center!important;
  }

  body[data-page="location"] .location-address-lines .city-line{
    font-size:clamp(1.05rem,5.5vw,1.45rem)!important;
    text-align:center!important;
  }

  body[data-page="location"] .location-directions{
    max-width:36rem!important;
    margin-left:auto!important;
    margin-right:auto!important;
    font-size:14px!important;
    line-height:1.42!important;
    text-align:center!important;
  }

  body[data-page="location"] .location-address-card .rounded-blue{
    width:100%!important;
    max-width:290px!important;
    justify-content:center!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body[data-page="location"] .map-embed{
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4 / 3!important;
    width:100%!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }

  body[data-page="location"] .map-embed iframe{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    border-radius:16px!important;
  }
}

/* Small-phone polish. */
@media(max-width:430px){
  .page-frame,
  .wide-frame,
  .shop-frame,
  .store-product-detail-v74{
    width:calc(100% - 10px)!important;
    max-width:calc(100% - 10px)!important;
    padding-left:8px!important;
    padding-right:8px!important;
  }

  .brand-cluster{
    width:calc(100% - 8px)!important;
    padding:10px!important;
  }

  .page-title-wrap h1{
    font-size:clamp(1.9rem,12vw,2.6rem)!important;
  }

  body[data-page="shop"] .custom-store-grid,
  body[data-page="shop"] .connected-shop-grid,
  body[data-page="shop"] .shop-grid{
    max-width:100%!important;
  }

  body[data-page="location"] .location-address-card{
    padding-left:9px!important;
    padding-right:9px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.eas-transition-prep main,
  html.eas-transition-prep .brand-head,
  html.eas-transition-prep .site-footer{
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }
}



/* === EagleActionSportz_Web_1.3 production mobile polish ===
   This is the final override layer for mobile:
   - restores the same font roles used on desktop
   - fixes mobile-only font mismatches on Contact, Location, and product detail pages
   - centers button text and mobile CTAs
   - strengthens Netlify-friendly page transitions */

/* Transition polish: leave the nav/header stable and animate the actual page content. */
html.eas-transition-prep main,
html.eas-transition-prep .site-footer{
  opacity:0!important;
  pointer-events:none!important;
}

html.eas-transition-prep .brand-head,
body.eas-page-enter-from-right .brand-head,
body.eas-page-enter-from-left .brand-head,
body.eas-page-leaving-to-right .brand-head,
body.eas-page-leaving-to-left .brand-head{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
}

html.eas-transition-prep.eas-prep-right main,
html.eas-transition-prep.eas-prep-right .site-footer{
  transform:translate3d(28px,0,0)!important;
}

html.eas-transition-prep.eas-prep-left main,
html.eas-transition-prep.eas-prep-left .site-footer{
  transform:translate3d(-28px,0,0)!important;
}

body.eas-page-enter-from-right main,
body.eas-page-enter-from-right .site-footer{
  animation:easV13EnterRight .34s cubic-bezier(.22,.72,.2,1) both!important;
}

body.eas-page-enter-from-left main,
body.eas-page-enter-from-left .site-footer{
  animation:easV13EnterLeft .34s cubic-bezier(.22,.72,.2,1) both!important;
}

body.eas-page-leaving-to-right main,
body.eas-page-leaving-to-right .site-footer{
  opacity:0!important;
  transform:translate3d(-30px,0,0)!important;
  transition:opacity .18s ease-out, transform .18s ease-out!important;
}

body.eas-page-leaving-to-left main,
body.eas-page-leaving-to-left .site-footer{
  opacity:0!important;
  transform:translate3d(30px,0,0)!important;
  transition:opacity .18s ease-out, transform .18s ease-out!important;
}

@keyframes easV13EnterRight{
  from{opacity:0;transform:translate3d(30px,0,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

@keyframes easV13EnterLeft{
  from{opacity:0;transform:translate3d(-30px,0,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

/* Mobile typography and alignment QA. */
@media(max-width:760px){
  :root{
    --eas-mobile-body-font:Arial, Helvetica, sans-serif;
    --eas-mobile-display-font:Impact, Haettenschweiler, "Arial Black", sans-serif;
    --eas-mobile-narrow-display-font:Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
    --eas-mobile-serif-font:Georgia, "Times New Roman", serif;
  }

  html,
  body,
  p,
  li,
  a,
  button,
  input,
  select,
  textarea,
  label,
  small,
  span,
  strong,
  .brand-detail,
  .ribbon-menu a,
  .shop-card,
  .package-card,
  .offer-card,
  .yellow-note,
  .site-footer,
  .store-product-detail-v74,
  .contact-info-panel,
  .contact-form-pro,
  .contact-method-grid,
  .product-info-panel,
  .product-detail-info-grid,
  .related-products-v74{
    font-family:var(--eas-mobile-body-font)!important;
  }

  .page-title-wrap h1,
  .welcome-block h1,
  .welcome-copy h1,
  .loyalty-hero h1,
  .price-hero-copy h1,
  .blue-heading,
  .hero-splash-heading > span,
  .package-card h3,
  .price-card-readable h3,
  .offer-card h3,
  .contact-info-panel h2,
  .field-gallery-section h2,
  .field-pass-teaser h2,
  .field-pass-intro h2,
  .pass-card-header h3,
  .glow-video-copy h3,
  .related-products-v74 h2,
  .product-detail-info-grid h2,
  .site-footer-brand-copy h2,
  .site-footer-column h3,
  .location-address-card h2{
    font-family:var(--eas-mobile-display-font)!important;
  }

  .product-info-panel h1{
    font-family:var(--eas-mobile-narrow-display-font)!important;
  }

  .address-block p,
  .location-address-card .location-address-lines,
  .location-address-card .location-address-lines span,
  .location-address-card .street-line,
  .location-address-card .city-line,
  .brand-logo-tile.gog,
  .brand-logo-tile.ninja,
  .brand-logo-tile.dlx{
    font-family:var(--eas-mobile-serif-font)!important;
  }

  .section-kicker,
  .shop-badge,
  .shop-category-pill,
  .store-product-breadcrumb,
  .price-chip,
  .field-pass-card table,
  .pass-prices b,
  .pass-card-header span,
  .product-detail-price,
  .contact-method-grid strong,
  .form-message{
    font-family:var(--eas-mobile-body-font)!important;
  }

  /* Mobile CTA/button centering everywhere. */
  a.rounded-blue,
  button.rounded-blue,
  .small-blue-btn,
  .price-chip,
  .book-price-chip,
  .send-button,
  .contact-form-pro .send-button,
  .product-buy-now,
  .product-live-link,
  .page-top-link,
  .quick-view,
  .store-mini-buy,
  .shop-filter button,
  .mobile-menu-button,
  .carousel-control{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1.15!important;
    white-space:normal!important;
  }

  a.rounded-blue,
  button.rounded-blue,
  .small-blue-btn,
  .send-button,
  .product-buy-now,
  .product-live-link,
  .page-top-link{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body[data-page="prices"] .price-chip.book-price-chip,
  body[data-page="prices"] .price-card-readable .price-chip.book-price-chip{
    width:min(100%,310px)!important;
    max-width:310px!important;
    min-height:40px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:14px!important;
    padding-right:14px!important;
    justify-content:center!important;
    text-align:center!important;
  }

  body[data-page="prices"] .price-jump-row,
  body[data-page="prices"] .reservation-cta-row,
  body[data-page="prices"] .glow-video-copy,
  body[data-page="prices"] .glow-video-card,
  body[data-page="prices"] .field-pass-teaser,
  body[data-page="prices"] .section-heading-line{
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
  }

  body[data-page="prices"] .package-card,
  body[data-page="prices"] .price-card-readable{
    text-align:center!important;
  }

  body[data-page="prices"] .price-card-readable ul,
  body[data-page="prices"] .package-card ul,
  body[data-page="prices"] .field-pass-card table{
    text-align:left!important;
  }

  body[data-page="prices"] .price-card-readable p,
  body[data-page="prices"] .package-card p{
    text-align:center!important;
  }

  /* Contact page mobile polish. */
  body[data-page="contact"] .contact-page,
  body[data-page="contact"] .contact-info-panel,
  body[data-page="contact"] .contact-form-pro,
  body[data-page="contact"] .page-title-wrap{
    text-align:center!important;
  }

  body[data-page="contact"] .contact-layout-pro{
    grid-template-columns:1fr!important;
    justify-items:center!important;
  }

  body[data-page="contact"] .contact-quick-strip{
    grid-template-columns:1fr!important;
    justify-items:center!important;
  }

  body[data-page="contact"] .contact-quick-strip a,
  body[data-page="contact"] .contact-info-panel,
  body[data-page="contact"] .contact-form-pro{
    width:100%!important;
    max-width:520px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body[data-page="contact"] .contact-method-grid a{
    grid-template-columns:34px minmax(0,1fr)!important;
    text-align:left!important;
    justify-items:start!important;
  }

  body[data-page="contact"] .contact-form-pro label{
    text-align:left!important;
  }

  body[data-page="contact"] .form-grid-two{
    grid-template-columns:1fr!important;
  }

  body[data-page="contact"] .contact-form-pro .send-button{
    width:100%!important;
    max-width:340px!important;
    float:none!important;
  }

  /* Location page mobile polish. */
  body[data-page="location"] .location-page,
  body[data-page="location"] .map-card,
  body[data-page="location"] .location-address-card,
  body[data-page="location"] .location-address-lines,
  body[data-page="location"] .location-directions{
    text-align:center!important;
    justify-items:center!important;
    align-items:center!important;
  }

  body[data-page="location"] .location-address-card{
    display:flex!important;
    flex-direction:column!important;
  }

  body[data-page="location"] .location-address-card .rounded-blue{
    width:100%!important;
    max-width:300px!important;
  }

  body[data-page="location"] .map-embed{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Store and product mobile polish. */
  body[data-page="shop"] .shop-frame,
  body[data-page="shop"] .page-title-wrap,
  body[data-page="shop"] .store-connection-note,
  body[data-page="shop"] .shop-card,
  body[data-page="shop"] .product-info-panel{
    text-align:center!important;
  }

  body[data-page="shop"] .shop-card-link{
    text-align:center!important;
  }

  body[data-page="shop"] .custom-store-grid .shop-card h3,
  body[data-page="shop"] .connected-shop-grid .shop-card h3,
  body[data-page="shop"] .shop-card-copy{
    text-align:center!important;
  }

  body[data-page="shop"] .store-product-detail-v74,
  body[data-page="shop"] .product-info-panel,
  body[data-page="shop"] .product-detail-info-grid > article,
  body[data-page="shop"] .related-products-v74{
    text-align:center!important;
  }

  body[data-page="shop"] .store-product-breadcrumb{
    justify-content:center!important;
    text-align:center!important;
  }

  body[data-page="shop"] .product-purchase-box{
    display:grid!important;
    justify-items:center!important;
    text-align:center!important;
  }

  body[data-page="shop"] .product-buy-now,
  body[data-page="shop"] .product-live-link{
    width:100%!important;
    max-width:340px!important;
  }

  body[data-page="shop"] .product-detail-info-grid ul{
    text-align:left!important;
    display:inline-block!important;
    max-width:100%!important;
  }

  body[data-page="shop"] .related-product-card{
    text-align:center!important;
    justify-items:center!important;
  }
}

@media(max-width:430px){
  body[data-page="prices"] .price-chip.book-price-chip,
  body[data-page="prices"] .price-card-readable .price-chip.book-price-chip{
    max-width:100%!important;
  }

  body[data-page="contact"] .contact-method-grid a{
    grid-template-columns:1fr!important;
    justify-items:center!important;
    text-align:center!important;
  }

  body[data-page="contact"] .contact-method-grid span{
    grid-row:auto!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.eas-transition-prep main,
  html.eas-transition-prep .site-footer{
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }
}



/* === EagleActionSportz_Web_1.4 final mobile font + no-jitter transition polish ===
   Requested fixes:
   - problematic mobile fonts now use the same stencil/display font style as the home-page
     "Eagle Action Sportz" heading area.
   - Prices page field-pass and private-event headings fixed.
   - Location page address font fixed.
   - Contact page and product detail mobile display fonts fixed.
   - Mobile buttons and button text are centered.
   - Route transition no longer slides the full page, which removes the page jitter. */

:root{
  --eas-brand-display-font:Impact, Haettenschweiler, "Arial Black", "Arial Narrow Bold", sans-serif;
}

/* No-jitter page transition: keep layout locked; fade the content only. */
html,
body{
  overflow-x:clip!important;
}

html.eas-transition-prep main,
html.eas-transition-prep .site-footer{
  opacity:0!important;
  transform:none!important;
  pointer-events:none!important;
}

html.eas-transition-prep .brand-head,
html.eas-transition-prep .top-nav-ribbon{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
}

body.eas-route-leaving main,
body.eas-page-leaving main,
body.eas-route-leaving .site-footer,
body.eas-page-leaving .site-footer,
body.eas-page-leaving-to-right main,
body.eas-page-leaving-to-left main,
body.eas-page-leaving-to-right .site-footer,
body.eas-page-leaving-to-left .site-footer{
  opacity:0!important;
  transform:none!important;
  transition:opacity .155s ease-out!important;
  animation:none!important;
  will-change:opacity!important;
}

body.eas-route-entering main,
body.eas-route-entering .site-footer,
body.eas-page-enter-from-right main,
body.eas-page-enter-from-left main,
body.eas-page-enter-from-right .site-footer,
body.eas-page-enter-from-left .site-footer{
  animation:easV14FadeIn .24s ease-out both!important;
  transform:none!important;
  will-change:opacity!important;
}

body.eas-route-leaving .brand-head,
body.eas-page-leaving .brand-head,
body.eas-page-leaving-to-right .brand-head,
body.eas-page-leaving-to-left .brand-head,
body.eas-page-enter-from-right .brand-head,
body.eas-page-enter-from-left .brand-head,
body.eas-route-entering .brand-head{
  opacity:1!important;
  transform:none!important;
  animation:none!important;
  transition:none!important;
}

@keyframes easV14FadeIn{
  from{opacity:0}
  to{opacity:1}
}

/* Kill any older directional transform animations that may still exist lower in older cached CSS. */
body[class*="eas-page-enter"] main,
body[class*="eas-page-enter"] .site-footer,
body[class*="eas-page-leaving"] main,
body[class*="eas-page-leaving"] .site-footer{
  backface-visibility:hidden!important;
}

/* Mobile final font pass. */
@media(max-width:760px){
  /* Display/problem areas: use the same stencil-style font role as the home-page Eagle Action Sportz heading. */
  .welcome-copy h1,
  .page-title-wrap h1,
  .price-hero-copy h1,
  .blue-heading,
  .hero-splash-heading > span,
  body[data-page="prices"] .price-pass-cta h2,
  body[data-page="prices"] .final-cta-panel h2,
  body[data-page="prices"] .field-pass-teaser h2,
  body[data-page="prices"] .field-pass-intro h2,
  body[data-page="prices"] .pass-card-header h3,
  body[data-page="contact"] .contact-info-panel h2,
  body[data-page="location"] .location-address-card h2,
  body[data-page="location"] .location-address-lines,
  body[data-page="location"] .location-address-lines span,
  body[data-page="location"] .location-address-lines .street-line,
  body[data-page="location"] .location-address-lines .city-line,
  body[data-page="shop"] .product-info-panel h1,
  body[data-page="shop"] .product-detail-info-grid h2,
  body[data-page="shop"] .related-products-v74 h2,
  .site-footer-brand-copy h2,
  .site-footer-column h3{
    font-family:var(--eas-brand-display-font)!important;
    font-weight:900!important;
    letter-spacing:.055em!important;
    text-transform:uppercase!important;
  }

  /* Product/store card titles should stay readable while matching the desktop display role. */
  body[data-page="shop"] .custom-store-grid .shop-card h3,
  body[data-page="shop"] .connected-shop-grid .shop-card h3{
    font-family:Impact, Haettenschweiler, "Arial Black", sans-serif!important;
    text-align:center!important;
  }

  /* Location address specifically requested: same stencil/display feel, centered and sized for mobile. */
  body[data-page="location"] .location-address-lines{
    display:grid!important;
    gap:2px!important;
    justify-items:center!important;
    text-align:center!important;
    line-height:.95!important;
  }

  body[data-page="location"] .location-address-lines .street-line{
    font-size:clamp(1.75rem,9.4vw,2.75rem)!important;
    line-height:.92!important;
  }

  body[data-page="location"] .location-address-lines .city-line{
    font-size:clamp(1.1rem,5.8vw,1.65rem)!important;
    line-height:1!important;
  }

  /* Prices page requested headings. */
  body[data-page="prices"] .price-pass-cta h2,
  body[data-page="prices"] .final-cta-panel h2{
    font-size:clamp(1.85rem,8.8vw,2.95rem)!important;
    line-height:.92!important;
    text-align:center!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
  }

  body[data-page="prices"] .final-cta-panel,
  body[data-page="prices"] .price-pass-cta{
    text-align:center!important;
    justify-items:center!important;
  }

  /* Button/CTA polish: centered text inside every mobile button. */
  a.rounded-blue,
  button.rounded-blue,
  .rounded-blue,
  .small-blue-btn,
  .price-chip,
  .book-price-chip,
  .send-button,
  .contact-form-pro .send-button,
  .product-buy-now,
  .product-live-link,
  .page-top-link,
  .quick-view,
  .store-mini-buy,
  .shop-filter button,
  .mobile-menu-button,
  .carousel-control{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    vertical-align:middle!important;
    line-height:1.12!important;
    white-space:normal!important;
  }

  a.rounded-blue,
  button.rounded-blue,
  .rounded-blue,
  .small-blue-btn,
  .send-button,
  .product-buy-now,
  .product-live-link,
  .page-top-link{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body[data-page="prices"] .price-chip.book-price-chip,
  body[data-page="prices"] .price-card-readable .price-chip.book-price-chip,
  body[data-page="prices"] .green-panel .rounded-blue,
  body[data-page="prices"] .final-cta-panel .rounded-blue,
  body[data-page="prices"] .price-pass-cta .rounded-blue{
    width:min(100%,320px)!important;
    max-width:320px!important;
    min-height:42px!important;
    padding-left:14px!important;
    padding-right:14px!important;
    justify-content:center!important;
    text-align:center!important;
  }

  /* Contact/location/product detail final centering. */
  body[data-page="contact"] .page-title-wrap,
  body[data-page="contact"] .contact-info-panel,
  body[data-page="contact"] .contact-form-pro,
  body[data-page="location"] .page-title-wrap,
  body[data-page="location"] .location-address-card,
  body[data-page="location"] .location-directions,
  body[data-page="shop"] .product-info-panel,
  body[data-page="shop"] .store-product-detail-v74,
  body[data-page="shop"] .product-purchase-box{
    text-align:center!important;
    justify-items:center!important;
  }

  body[data-page="contact"] .contact-form-pro label{
    text-align:left!important;
  }

  body[data-page="shop"] .product-buy-now,
  body[data-page="shop"] .product-live-link,
  body[data-page="contact"] .send-button,
  body[data-page="location"] .location-address-card .rounded-blue{
    width:100%!important;
    max-width:340px!important;
  }

  .page-end-nav{
    text-align:center!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
  }
}

@media(max-width:430px){
  body[data-page="prices"] .price-pass-cta h2,
  body[data-page="prices"] .final-cta-panel h2{
    font-size:clamp(1.6rem,10vw,2.45rem)!important;
  }

  body[data-page="location"] .location-address-lines .street-line{
    font-size:clamp(1.55rem,10vw,2.3rem)!important;
  }

  body[data-page="location"] .location-address-lines .city-line{
    font-size:clamp(1rem,6vw,1.35rem)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  html.eas-transition-prep main,
  html.eas-transition-prep .site-footer,
  body.eas-route-leaving main,
  body.eas-route-entering main,
  body.eas-page-leaving main,
  body.eas-page-enter-from-right main,
  body.eas-page-enter-from-left main{
    opacity:1!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
    pointer-events:auto!important;
  }
}



/* === EagleActionSportz_Web_1.5 mobile font correction ===
   The previous mobile override used a browser fantasy/stencil fallback.
   On mobile Safari/Chrome that rendered as a cursive decorative font.
   This final override removes that behavior and forces the same heavy Impact-style
   font used by the desktop site heading areas. */

/* Never allow mobile page headings/CTA headings/address text to fall back to fantasy/cursive. */
@media(max-width:760px){
  :root{
    --eas-brand-display-font:Impact, Haettenschweiler, "Arial Black", "Arial Narrow Bold", sans-serif!important;
    --eas-mobile-display-font:Impact, Haettenschweiler, "Arial Black", "Arial Narrow Bold", sans-serif!important;
    --eas-mobile-narrow-display-font:Impact, Haettenschweiler, "Arial Black", "Arial Narrow Bold", sans-serif!important;
  }

  /* Exact problem areas from screenshot/user notes. */
  .hero-splash-heading,
  .hero-splash-heading span,
  .welcome-copy h1,
  .welcome-block h1,
  .page-title-wrap h1,
  .price-hero-copy h1,
  .blue-heading,
  body[data-page="prices"] .price-pass-cta h2,
  body[data-page="prices"] .final-cta-panel h2,
  body[data-page="prices"] .field-pass-teaser h2,
  body[data-page="prices"] .field-pass-intro h2,
  body[data-page="prices"] .pass-card-header h3,
  body[data-page="contact"] .contact-info-panel h2,
  body[data-page="contact"] .page-title-wrap h1,
  body[data-page="location"] .location-address-card h2,
  body[data-page="location"] .location-address-lines,
  body[data-page="location"] .location-address-lines span,
  body[data-page="location"] .location-address-lines .street-line,
  body[data-page="location"] .location-address-lines .city-line,
  body[data-page="shop"] .product-info-panel h1,
  body[data-page="shop"] .product-detail-info-grid h2,
  body[data-page="shop"] .related-products-v74 h2,
  .product-info-panel h1,
  .product-detail-info-grid h2,
  .related-products-v74 h2,
  .site-footer-brand-copy h2,
  .site-footer-column h3{
    font-family:Impact, Haettenschweiler, "Arial Black", "Arial Narrow Bold", sans-serif!important;
    font-style:normal!important;
    font-weight:900!important;
    letter-spacing:.025em!important;
    text-transform:uppercase!important;
    font-synthesis-weight:none!important;
    font-synthesis-style:none!important;
  }

  /* Keep the tiny kicker text as the clean desktop-style sans, not display/fantasy. */
  .section-kicker,
  .brand-kicker,
  .site-footer-brand-copy .section-kicker,
  .price-eyebrow,
  .shop-badge,
  .shop-category-pill,
  .store-product-breadcrumb{
    font-family:Arial, Helvetica, sans-serif!important;
    font-style:normal!important;
    font-weight:900!important;
    letter-spacing:.16em!important;
    text-transform:uppercase!important;
  }

  /* Location address should match the bold blocky desktop heading style on mobile,
     not the thin/cursive fallback shown in the screenshot. */
  body[data-page="location"] .location-address-lines{
    display:grid!important;
    justify-items:center!important;
    text-align:center!important;
    line-height:.96!important;
    gap:4px!important;
    max-width:100%!important;
  }

  body[data-page="location"] .location-address-lines .street-line{
    font-size:clamp(1.9rem,9.5vw,2.9rem)!important;
    line-height:.9!important;
    letter-spacing:.02em!important;
  }

  body[data-page="location"] .location-address-lines .city-line{
    font-size:clamp(1.18rem,5.9vw,1.75rem)!important;
    line-height:.98!important;
    letter-spacing:.02em!important;
  }

  /* Price page CTA headings: readable, centered, and not over-stretched. */
  body[data-page="prices"] .price-pass-cta h2,
  body[data-page="prices"] .final-cta-panel h2,
  body[data-page="prices"] .field-pass-teaser h2{
    font-size:clamp(2rem,8.6vw,3rem)!important;
    line-height:.92!important;
    text-align:center!important;
    max-width:100%!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* Product detail title: same desktop heavy condensed title style, but sized for mobile. */
  body[data-page="shop"] .product-info-panel h1,
  .product-info-panel h1{
    font-size:clamp(2.1rem,9.6vw,3rem)!important;
    line-height:.92!important;
    text-align:center!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }

  /* Contact page title/display text polish. */
  body[data-page="contact"] .contact-info-panel h2{
    font-size:clamp(1.8rem,8vw,2.6rem)!important;
    line-height:.94!important;
    text-align:center!important;
  }

  /* Button text polish stays centered. */
  a.rounded-blue,
  button.rounded-blue,
  .rounded-blue,
  .small-blue-btn,
  .price-chip,
  .book-price-chip,
  .send-button,
  .contact-form-pro .send-button,
  .product-buy-now,
  .product-live-link,
  .page-top-link,
  .quick-view,
  .store-mini-buy,
  .shop-filter button,
  .mobile-menu-button{
    font-family:Arial, Helvetica, sans-serif!important;
    font-style:normal!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1.12!important;
  }
}

/* Extra safety: if any page accidentally keeps the old fantasy variable in later CSS,
   override it again at the very end of the cascade. */
@media(max-width:760px){
  *{
    font-synthesis-style:none;
  }
}

