/* Halloween Mode — a separate, opt-in decorative layer; inactive = zero site changes. */
/* SVGs are CSS background images, never intercept clicks and never change page copy. */
.npt-halloween-mode .nb-hero{isolation:isolate}
.npt-halloween-mode .nb-hero::before{
 content:"";position:absolute;right:3%;bottom:25px;width:95px;height:95px;
 background:url('halloween/pumpkin.svg') center/contain no-repeat;
 z-index:4;pointer-events:none;transform:rotate(-9deg);filter:drop-shadow(0 7px 10px #0006)
}
.npt-halloween-mode .nb-hero__art::before{
 content:"";position:absolute;right:3%;top:0;width:156px;height:156px;
 background:url('halloween/web.svg') center/contain no-repeat;
 pointer-events:none;z-index:2;opacity:.62
}
.npt-halloween-mode .nb-hero__art::after{
 content:"";position:absolute;right:13%;top:40px;width:53px;height:71px;
 background:url('halloween/spider.svg') center/contain no-repeat;
 pointer-events:none;z-index:3;transform:rotate(7deg);filter:drop-shadow(0 3px 6px #0005)
}
.npt-halloween-mode .nb-featured .nb-section-heading{position:relative}
.npt-halloween-mode .nb-featured .nb-section-heading::before{
 content:"";position:absolute;right:6px;top:-1px;width:72px;height:44px;
 background:url('halloween/bats.svg') center/contain no-repeat;
 pointer-events:none;opacity:.88
}
.npt-halloween-mode .nb-stories{position:relative}
.npt-halloween-mode .nb-stories::before{
 content:"";position:absolute;right:6px;top:12px;width:76px;height:76px;
 background:url('halloween/web.svg') center/contain no-repeat;
 pointer-events:none;opacity:.35
}
/* Small themed cue on menu and constructor without modifying their layouts. */
.npt-halloween-mode .nb-menu-intro,.npt-halloween-mode .nb-builder{position:relative}
.npt-halloween-mode .nb-menu-intro::before,.npt-halloween-mode .nb-builder::before{
 content:"";position:absolute;right:5px;top:19px;width:58px;height:58px;
 background:url('halloween/pumpkin.svg') center/contain no-repeat;
 pointer-events:none;z-index:1;opacity:.92
}
/* Never overlay UI controls or printable order forms. */
@media(max-width:900px){
 .npt-halloween-mode .nb-hero::before{width:68px;height:68px;right:1%;bottom:23px}
 .npt-halloween-mode .nb-hero__art::before{width:112px;height:112px;right:2%;top:5%}
 .npt-halloween-mode .nb-hero__art::after{width:40px;height:53px;right:17%;top:10%}
 .npt-halloween-mode .nb-featured .nb-section-heading::before{right:0;width:52px;height:33px}
 .npt-halloween-mode .nb-menu-intro::before,.npt-halloween-mode .nb-builder::before{width:42px;height:42px;top:38px}
}
@media(max-width:700px){
 .npt-halloween-mode .nb-hero::before{width:53px;height:53px;right:1%;top:65%;bottom:auto;opacity:.94}
 .npt-halloween-mode .nb-hero__art::before{width:80px;height:80px;right:9%;top:14%}
 .npt-halloween-mode .nb-hero__art::after{width:30px;height:40px;right:18%;top:22%}
 .npt-halloween-mode .nb-featured .nb-section-heading::before{right:8px;top:0;width:45px;height:30px}
 .npt-halloween-mode .nb-stories::before{width:53px;height:53px;top:6px}
 .npt-halloween-mode .nb-menu-intro::before,.npt-halloween-mode .nb-builder::before{width:32px;height:32px;right:3px;top:22px;opacity:.7}
}
@media(max-width:380px){
 .npt-halloween-mode .nb-hero::before{right:2%;top:65%;bottom:auto;width:48px;height:48px}
 .npt-halloween-mode .nb-hero__art::before{right:3%;top:20%;width:64px;height:64px}
 .npt-halloween-mode .nb-hero__art::after{right:13%;top:28%;width:27px;height:36px}
}
@media print{
 .npt-halloween-mode .nb-hero::before,.npt-halloween-mode .nb-hero__art::before,
 .npt-halloween-mode .nb-hero__art::after,.npt-halloween-mode .nb-featured .nb-section-heading::before,
 .npt-halloween-mode .nb-stories::before,.npt-halloween-mode .nb-menu-intro::before,
 .npt-halloween-mode .nb-builder::before{display:none!important}
}

/* 2.0.12 — a little more Halloween charm, without altering the page layout. */
/* One second, smaller pumpkin group in the empty margin beside the hero. */
.npt-halloween-mode .nb-hero::after{
 content:"";position:absolute;left:44%;bottom:35px;width:104px;height:78px;
 background:url('halloween/pumpkin-duo.svg') center/contain no-repeat;
 z-index:3;pointer-events:none;filter:drop-shadow(0 5px 6px #0006);
 transform:rotate(-8deg)
}
/* A small flock of bats, tucked into free space above the hero illustration. */
.npt-halloween-mode .nb-hero__copy{position:relative}
.npt-halloween-mode .nb-hero__copy::before{
 content:"";position:absolute;top:18%;right:-19%;width:99px;height:51px;
 background:url('halloween/bats.svg') center/contain no-repeat;
 opacity:.85;pointer-events:none;z-index:1;transform:rotate(-11deg)
}
.npt-halloween-mode .nb-hero__copy::after{
 content:"";position:absolute;left:2%;top:2%;width:76px;height:50px;
 background:url('halloween/twinkles.svg') center/contain no-repeat;
 opacity:.65;pointer-events:none
}
/* Seasonal cues continue gently below the fold: same cards, same sizes. */
.npt-halloween-mode .nb-cafe__photo::after{
 content:"";position:absolute;right:15px;bottom:12px;width:71px;height:59px;
 background:url('halloween/pumpkin-duo.svg') center/contain no-repeat;
 pointer-events:none;filter:drop-shadow(0 3px 5px #0006);opacity:.94;z-index:2
}
.npt-halloween-mode .nb-stories h2{position:relative}
.npt-halloween-mode .nb-stories h2::after{
 content:"";position:absolute;top:-12px;right:6px;width:74px;height:43px;
 background:url('halloween/bats.svg') center/contain no-repeat;
 pointer-events:none;opacity:.76
}
@media(max-width:1150px){
 .npt-halloween-mode .nb-hero::after{left:43%;bottom:25px;width:85px;height:68px}
 .npt-halloween-mode .nb-hero__copy::before{right:0;width:72px;height:40px}
}
@media(max-width:700px){
 /* The second pumpkin sits BELOW the description, ABOVE the order buttons. */
 .npt-halloween-mode .nb-hero::after{left:5%;bottom:166px;width:72px;height:51px;transform:rotate(-9deg)}
 .npt-halloween-mode .nb-hero__copy::before{top:145px;right:5px;width:62px;height:38px;opacity:.85;z-index:2}
 .npt-halloween-mode .nb-hero__copy::after{display:none}
 .npt-halloween-mode .nb-cafe__photo::after{width:57px;height:45px;bottom:9px;right:10px}
 .npt-halloween-mode .nb-stories h2::after{width:46px;height:31px;top:-18px;right:5px}
}
@media(max-width:380px){
 .npt-halloween-mode .nb-hero::after{left:4%;bottom:162px;width:63px;height:49px}
 .npt-halloween-mode .nb-hero__copy::before{top:143px;right:0;width:52px;height:34px}
}
@media print{
 .npt-halloween-mode .nb-hero::after,
 .npt-halloween-mode .nb-hero__copy::before,.npt-halloween-mode .nb-hero__copy::after,
 .npt-halloween-mode .nb-cafe__photo::after,.npt-halloween-mode .nb-stories h2::after{display:none!important}
}

/* 2.0.13 — seasonal atmosphere, only while the admin switch is On.
   All effects remain paint-only: no new layout box, no content or clickable overlay. */
.npt-halloween-mode .nb-header{
  border-bottom-color:#e18c3b77;
  box-shadow:0 3px 22px #e47c3223;
}
.npt-halloween-mode .nb-hero{
  background-image:
    url('halloween/garland.svg'),
    radial-gradient(ellipse 57% 65% at 92% 52%,#ee833121,transparent 72%),
    radial-gradient(ellipse 44% 50% at 10% 85%,#bd643117,transparent 76%);
  background-size: min(75%,850px) 72px,auto,auto;
  background-position: center top,center,center;
  background-repeat:no-repeat;
}
.npt-halloween-mode .nb-hero__art{
  background-image:url('halloween/moon-magic.svg');
  background-size:210px 170px;
  background-position:right -15px top 10px;
  background-repeat:no-repeat;
}
.npt-halloween-mode .nb-hero__copy::before{
  top:24%;right:-22%;width:130px;height:124px;
  background-image:url('halloween/sweet-ghost.svg');
  opacity:.95;transform:rotate(9deg);
  filter:drop-shadow(0 6px 8px #0005);
}
.npt-halloween-mode .nb-hero__copy::after{
  top:20%;left:89%;width:93px;height:57px;opacity:.83;
}
.npt-halloween-mode .nb-hero::after{
  left:44%;bottom:17px;width:142px;height:109px;
  filter:drop-shadow(0 6px 9px #0009) drop-shadow(0 0 12px #ec8a3155);
}
.npt-halloween-mode .nb-hero::before{
  width:112px;height:112px;right:3%;bottom:21px;
  filter:drop-shadow(0 7px 9px #0009) drop-shadow(0 0 13px #f49a4f5a);
}
.npt-halloween-mode .nb-blob{
  box-shadow:inset 0 -20px 45px #f4aa4f3b,0 0 66px #ec6d301e;
}
.npt-halloween-mode .nb-ribbon{
  border-top-color:#ea8a3b;
  border-bottom-color:#ed9441;
  box-shadow:0 7px 22px #ed7e2517;
}
.npt-halloween-mode .nb-featured .nb-number{color:#f2a15c}
.npt-halloween-mode .nb-featured .nb-section-heading::before{
  width:92px;height:58px;opacity:.92;
}
.npt-halloween-mode .nb-stories h2::after{width:95px;height:55px;opacity:.85}
@media(max-width:1150px){
 .npt-halloween-mode .nb-hero{background-size:80% 65px,auto,auto}
 .npt-halloween-mode .nb-hero__art{background-size:170px 140px;background-position:right -12px top 30px}
 .npt-halloween-mode .nb-hero__copy::before{right:-7%;top:21%;width:100px;height:102px}
 .npt-halloween-mode .nb-hero::after{left:43%;bottom:20px;width:116px;height:87px}
}
@media(max-width:700px){
 .npt-halloween-mode .nb-header{box-shadow:0 2px 11px #e47c3224}
 .npt-halloween-mode .nb-hero{
   background-size:100% 42px,auto,auto;
   background-position: center top, center, center;
 }
 .npt-halloween-mode .nb-hero__art{
   background-size:91px 74px;
   background-position:right 2px top 0;
 }
 .npt-halloween-mode .nb-hero__copy::before{
   top:21%;right:1%;width:69px;height:71px;
   opacity:.94;transform:rotate(7deg);
 }
 .npt-halloween-mode .nb-hero__copy::after{display:none}
 .npt-halloween-mode .nb-hero::after{
   left:5%;bottom:162px;width:82px;height:64px;
 }
 .npt-halloween-mode .nb-hero::before{
   width:64px;height:64px;right:1%;top:65%;bottom:auto;
 }
 .npt-halloween-mode .nb-hero__art::before{
   width:95px;height:95px;right:4%;top:15%;opacity:.65;
 }
 .npt-halloween-mode .nb-featured .nb-section-heading::before{width:54px;height:34px}
 .npt-halloween-mode .nb-stories h2::after{width:52px;height:35px}
}
@media(max-width:380px){
 .npt-halloween-mode .nb-hero__copy::before{top:21%;right:0;width:61px;height:65px}
 .npt-halloween-mode .nb-hero::after{left:3%;bottom:159px;width:74px;height:59px}
 .npt-halloween-mode .nb-hero__art{background-size:76px 65px;background-position:right 2px top 4px}
}
@media print{
 .npt-halloween-mode .nb-hero{background-image:none!important}
 .npt-halloween-mode .nb-hero__art{background-image:none!important}
}

/* Bright 2.0.14: mobile Halloween atmosphere, clear brand and CTA zones. */
@media (max-width:700px) {
  /* The header/sign remains unadorned. Festive garland belongs to the cake art. */
  .npt-halloween-mode .nb-hero{
    background-image:
      radial-gradient(ellipse 55% 45% at 80% 61%,#ef8f3e2e,transparent 83%),
      radial-gradient(ellipse 44% 40% at 24% 70%,#e9802b18,transparent 78%);
    background-repeat:no-repeat;
    background-size:auto;
    background-position:center;
  }
  .npt-halloween-mode .nb-hero__art{
    background-image:
      url('halloween/mobile-garland.svg'),
      url('halloween/moon-magic.svg');
    background-repeat:no-repeat;
    background-size:123% 80px,125px 104px;
    background-position:center top 13px,right -12px top 71px;
  }
  /* Keep all decorations inside the illustration, away from the brand copy. */
  .npt-halloween-mode .nb-hero__copy::before{top:24%;right:0%;width:79px;height:78px;opacity:.96}
  .npt-halloween-mode .nb-hero__art::after{
    right:8%;top:19%;width:34px;height:44px;
    filter:drop-shadow(0 0 8px #f0a657);
  }
  .npt-halloween-mode .nb-hero::after{left:3%;bottom:159px;width:89px;height:70px}
  .npt-halloween-mode .nb-hero::before{width:72px;height:72px;right:1%;top:65%}
  .npt-halloween-mode .nb-blob{
    box-shadow:inset 0 -22px 48px #f3a24b56,0 0 38px #ee873e36;
  }
  .npt-halloween-mode .nb-ribbon{box-shadow:0 -5px 19px #ef8b3340,0 6px 16px #ef8b3329}
}
@media (max-width:380px){
  .npt-halloween-mode .nb-hero__art{background-size:120% 69px,108px 90px;background-position:center top 17px,right -8px top 73px}
  .npt-halloween-mode .nb-hero__copy::before{top:24%;right:0;width:69px;height:68px}
  .npt-halloween-mode .nb-hero::after{left:2%;bottom:158px;width:78px;height:62px}
  .npt-halloween-mode .nb-hero::before{width:63px;height:63px}
}
