
/* Performance Paintball unified visual authority — 2026-09-12 */
html,body{max-width:100%;overflow-x:hidden}
.ppUnifiedPageWidth{width:min(1180px,calc(100% - 32px));margin-left:auto;margin-right:auto;box-sizing:border-box}

/* Coordinated HOME / FIELD / STORE logos: same visual box on desktop and mobile. */
img[src*="performance-paintball-logo-home.png"],
img[src*="performance-paintball-logo-field.png"],
img[src*="performance-paintball-logo-store.png"]{
  display:block!important;width:520px!important;max-width:min(92vw,520px)!important;height:auto!important;
  margin-left:auto!important;margin-right:auto!important;object-fit:contain!important
}
@media(max-width:900px){
  img[src*="performance-paintball-logo-home"],
  img[src*="performance-paintball-logo-field"],
  img[src*="performance-paintball-logo-store"]{
    display:block!important;width:360px!important;max-width:94vw!important;height:auto!important;
    margin-left:auto!important;margin-right:auto!important;object-fit:contain!important
  }
}

/* Seasonal business driver — compact enough to preserve the approved layouts. */
.ppZombie2026{
  width:min(1120px,calc(100% - 28px));margin:14px auto 18px;padding:15px 18px;
  box-sizing:border-box;border:1px solid rgba(255,255,255,.20);border-left:6px solid #d71920;
  border-radius:14px;background:#0b0b0b;color:#fff;font-family:Arial,Helvetica,sans-serif;
  box-shadow:0 8px 22px rgba(0,0,0,.25)
}
.ppZombie2026Inner{display:flex;align-items:center;justify-content:space-between;gap:18px}
.ppZombie2026 strong{display:block;font-size:20px;line-height:1.15;color:#fff}
.ppZombie2026 span{display:block;margin-top:4px;font-size:14px;line-height:1.35;color:#e9e9e9}
.ppZombie2026 a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:46px;
 padding:10px 17px;border-radius:10px;background:#d71920;color:#fff!important;text-decoration:none!important;
 font-weight:900;white-space:nowrap}
@media(max-width:700px){
 .ppZombie2026{margin:10px auto 14px;padding:13px 14px;border-left-width:5px}
 .ppZombie2026Inner{display:block;text-align:center}
 .ppZombie2026 strong{font-size:18px}
 .ppZombie2026 span{font-size:13px}
 .ppZombie2026 a{display:flex;width:100%;margin-top:11px;box-sizing:border-box}
}

/* Zombie Hunt visual promotion — uses the approved Zombie Hunt page artwork */
.ppZombie2026{width:min(1120px,calc(100% - 28px));margin:14px auto 20px;padding:0!important;
 background:transparent!important;border:0!important;box-shadow:none!important;text-align:center}
.ppZombie2026Inner{display:block!important}
.ppZombie2026 .ppZombieLogoLink{display:block!important;background:transparent!important;padding:0!important;
 min-height:0!important;border-radius:0!important;white-space:normal!important}
.ppZombie2026 .ppZombieLogo{display:block;width:min(760px,96%);height:auto;margin:0 auto;
 filter:drop-shadow(0 8px 14px rgba(0,0,0,.45))}
.ppZombie2026 .ppZombieCopy{margin:8px auto 0;font-family:Arial,Helvetica,sans-serif;color:#fff}
.ppZombie2026 .ppZombieCopy strong{font-size:19px;color:#fff}
.ppZombie2026 .ppZombieCopy span{font-size:14px;color:#eee}
.ppZombie2026 .ppZombieCTA{display:inline-flex!important;width:auto!important;margin:10px auto 0!important;
 min-height:44px!important;padding:9px 18px!important;background:#d71920!important;color:#fff!important;
 border-radius:10px!important;text-decoration:none!important;font-weight:900!important}
@media(max-width:700px){
 .ppZombie2026{margin:9px auto 14px}
 .ppZombie2026 .ppZombieLogo{width:min(520px,98%)}
 .ppZombie2026 .ppZombieCopy strong{font-size:17px}
 .ppZombie2026 .ppZombieCopy span{font-size:13px}
 .ppZombie2026 .ppZombieCTA{display:flex!important;width:min(330px,94%)!important}
}

/* Desktop width alignment fix — 2026-09-12
   Match main content to the established 1400px hero/header shell.
   Mobile rules remain untouched. */
@media (min-width:901px){
  main.wrap{
    width:min(calc(100% - 24px),1400px)!important;
    max-width:1400px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
    box-sizing:border-box!important;
  }
  main.wrap > .ppZombie2026,
  main.wrap > .ppPremiumFrontDoor,
  main.wrap > .serviceStrip,
  main.wrap > .lowImpactPromise,
  main.wrap > .section,
  main.wrap > .moneySection,
  main.wrap > .featuredSection,
  main.wrap > .featuredTriple,
  main.wrap > .infoSection,
  main.wrap > .locationsSection,
  main.wrap > .hoursSection,
  main.wrap > .faqSection,
  main.wrap > .contactSection,
  main.wrap > .contentSection,
  main.wrap > .partySection{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    box-sizing:border-box!important;
  }
  main.wrap > .ppPremiumFrontDoor{padding-left:18px!important;padding-right:18px!important}
  main.wrap > .ppZombie2026 .ppZombieLogo{width:min(900px,96%)!important}
}

/* Breathing room between Zombie Hunt promotion and following content */
.ppZombie2026{margin-bottom:42px!important}
@media(max-width:700px){.ppZombie2026{margin-bottom:28px!important}}

/* Desktop readability / scale-up — desktop only */
@media (min-width:901px){
  main.wrap{font-size:18px!important;line-height:1.55!important}
  main.wrap h1{font-size:clamp(40px,3vw,54px)!important;line-height:1.08!important}
  main.wrap h2{font-size:clamp(30px,2.25vw,40px)!important;line-height:1.12!important}
  main.wrap h3{font-size:24px!important;line-height:1.2!important}
  main.wrap p, main.wrap li{font-size:18px!important;line-height:1.55!important}
  main.wrap .eyebrow, main.wrap .kicker, main.wrap .micro,
  main.wrap .section-label{font-size:14px!important;letter-spacing:.13em!important}

  main.wrap .grid, main.wrap .cards, main.wrap .serviceGrid,
  main.wrap .service-grid, main.wrap .featuredTriple{
    gap:22px!important
  }
  main.wrap .card, main.wrap .serviceCard, main.wrap .service-card,
  main.wrap .moneyCard, main.wrap .featuredCard{
    padding:26px!important
  }
  main.wrap a.btn, main.wrap .btn, main.wrap button{
    font-size:16px!important;min-height:48px!important;padding:12px 20px!important
  }

  main.wrap > .ppZombie2026{margin-bottom:52px!important}
  main.wrap .ppZombie2026 .ppZombieLogo{width:min(1020px,96%)!important}
  main.wrap .ppZombie2026 .ppZombieCopy strong{font-size:24px!important}
  main.wrap .ppZombie2026 .ppZombieCopy span{font-size:17px!important}
  main.wrap .ppZombie2026 .ppZombieCTA{font-size:17px!important;min-height:50px!important;padding:12px 22px!important}

  /* Homepage front-door cards */
  main.wrap .ppPremiumFrontDoor h2{font-size:clamp(36px,2.6vw,48px)!important}
  main.wrap .ppPremiumFrontDoor p{font-size:18px!important}
  main.wrap .ppPremiumFrontDoor .serviceCard h3,
  main.wrap .ppPremiumFrontDoor .card h3{font-size:25px!important}
}

/* News & Events — current Zombie Hunt 2026 sales block */
.zhNews2026{margin-top:18px;text-align:center}
.zhNewsLogo{display:block;background:transparent!important;text-decoration:none!important}
.zhNewsLogo img{display:block;width:min(920px,96%);height:auto;margin:0 auto;
 filter:drop-shadow(0 10px 18px rgba(0,0,0,.45))}
.zhNewsSchedule{margin:18px auto;max-width:1000px;padding:16px 20px;border-radius:12px;
 background:#0c130f;border:1px solid rgba(83,255,71,.32)}
.zhNewsSchedule strong,.zhNewsSchedule span{display:block}
.zhNewsSchedule strong{font-size:22px;color:#fff}
.zhNewsSchedule span{margin-top:5px;font-size:17px;color:#e9e9e9}
.zhNewsPackages{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px auto;max-width:1120px}
.zhNewsPackage{position:relative;padding:22px 16px;border-radius:14px;background:#0c1110;
 border:1px solid rgba(255,255,255,.18)}
.zhNewsPackage strong,.zhNewsPackage b,.zhNewsPackage span{display:block}
.zhNewsPackage strong{font-size:22px;color:#fff}
.zhNewsPackage b{margin:7px 0;font-size:38px;color:#76ff36}
.zhNewsPackage span{font-size:16px;color:#eee}
.zhNewsPackage em{display:inline-block;margin-bottom:8px;padding:4px 9px;border-radius:999px;
 font-size:12px;font-style:normal;font-weight:900;text-transform:uppercase;background:#76ff36;color:#081006}
.zhNewsPackage.zhValue em{background:#d71920;color:#fff}
.zhNewsNote{max-width:900px;margin:12px auto!important}
.zhNewsButton{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;
 border-radius:10px;background:#d71920;color:#fff!important;text-decoration:none!important;font-weight:900;font-size:17px}
@media(max-width:700px){
 .zhNewsLogo img{width:98%}
 .zhNewsSchedule{padding:13px 12px}
 .zhNewsSchedule strong{font-size:17px}
 .zhNewsSchedule span{font-size:14px}
 .zhNewsPackages{grid-template-columns:1fr;gap:12px}
 .zhNewsPackage{padding:17px 12px}
 .zhNewsPackage strong{font-size:19px}
 .zhNewsPackage b{font-size:32px}
 .zhNewsButton{display:flex;width:94%;margin-left:auto;margin-right:auto;box-sizing:border-box}
}
