/* Halloween 2026 campaign layer (scoped to body.pp-season-halloween). See docs/halloween-2026/SPEC.md. */
/* =====================================================================
   SHOP / CATEGORY / PRODUCT surfaces (inc/woocommerce.php, inc/pdp.php):
     1. product cards: pumpkin sale sticker (the one campaign badge; same pumpkin -X% on the PDP flash)
     2. archive hero: Halloween Sale page (night art, offer, sticker, cartoon deco) + pumpkin kicker elsewhere
     3. single product: Halloween flash, deal box, night brand band
   Loaded on Woo pages (campaign.php) and the front page (cards in carousels; woocommerce.php).
   Shared pieces come from halloween.css (code chip, countdown) and halloween-motion.css (bats, fog,
   ghost, pumpkin flicker/bob/hop/wobble); this file only sizes + places them.
   Tokens use var(--hw-*, fallback) so load order never matters. Motion: transform / opacity / filter.
   ===================================================================== */

/* ---------- 1. Product cards ---------- */
/* owner (2026-10-11): the badge is the card's loudest campaign mark again — pumpkin-orange pill, navy %,
   pumpkin in a navy disc. To keep ONE warm block per card (the brand audit's point), the campaign card price
   drops the evergreen red for bold ink; the struck RRP + orange badge already say "deal". */
body.pp-season-halloween .pp-card__badge--hw{display:inline-flex;align-items:center;gap:.32rem;padding:.2rem .62rem .2rem .2rem;border-radius:999px;
	background:var(--hw-pumpkin,#FF7A1A);color:var(--hw-night,#032139);font-size:.84rem;font-weight:800;letter-spacing:.01em;line-height:1.2;
	box-shadow:0 6px 16px -6px rgba(229,96,10,.8),0 0 0 2px rgba(255,255,255,.9)}
body.pp-season-halloween .pp-card__badge-ic{display:grid;place-items:center;flex:0 0 auto;width:1.4rem;height:1.4rem;border-radius:50%;background:var(--hw-night,#032139)}
body.pp-season-halloween .pp-card__price{color:var(--pp-ink,#15161A)}
body.pp-season-halloween .pp-card__badge-ic .pp-pumpkin{display:block;width:.95rem;height:.95rem}

/* ---------- 2. Archive hero ---------- */
body.pp-season-halloween .pp-cat-hero--hw{isolation:isolate}
body.pp-season-halloween .pp-cat-hero__deco{position:absolute;inset:0;z-index:1;pointer-events:none}
body.pp-season-halloween .pp-cat-hero--hw .pp-cat-hero__product{z-index:2}
/* pumpkin kicker (every archive); on non-sale archives it links to the Halloween Sale */
body.pp-season-halloween .pp-cat-hero__kicker--hw{color:var(--hw-pumpkin,#FF7A1A)}
body.pp-season-halloween .pp-cat-hero__pk{width:20px;height:20px;flex:0 0 auto}
body.pp-season-halloween .pp-cat-hero__kicker--hw a{display:inline-flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none;
	padding:.32rem .75rem .32rem .45rem;margin-left:-.45rem;border-radius:999px;background:rgba(3,33,57,.55);box-shadow:inset 0 0 0 1px rgba(255,122,26,.45);
	transition:background-color var(--pp-dur,.32s) var(--pp-ease,ease),box-shadow var(--pp-dur,.32s) var(--pp-ease,ease)}
body.pp-season-halloween .pp-cat-hero__kicker--hw a:hover{background:rgba(255,122,26,.16);box-shadow:inset 0 0 0 1px var(--hw-pumpkin,#FF7A1A)}
body.pp-season-halloween .pp-cat-hero__kicker--hw a:focus-visible{outline:2px solid var(--hw-pumpkin,#FF7A1A);outline-offset:3px}
body.pp-season-halloween .pp-cat-hero__arrow{display:inline-block;transition:transform var(--pp-dur,.32s) var(--pp-ease,ease)}
body.pp-season-halloween .pp-cat-hero__kicker--hw a:hover .pp-cat-hero__arrow{transform:translateX(3px)}
/* night tint + pumpkin glow where the cartoon pumpkins sit (non-sale archives keep their own art) */
body.pp-season-halloween .pp-cat-hero--hw:not(.pp-cat-hero--sale) .pp-cat-hero__scrim{background:
	radial-gradient(42% 70% at 80% 100%,rgba(255,122,26,.2),rgba(255,122,26,0)),
	linear-gradient(90deg,rgba(3,33,57,.92) 0%,rgba(3,33,57,.66) 48%,rgba(3,33,57,.4) 100%)}
/* pumpkin-lit product disc */
body.pp-season-halloween .pp-cat-hero--hw .pp-cat-hero__disc{box-shadow:inset 0 2px 1px rgba(255,255,255,.95),inset 0 -20px 36px rgba(20,22,26,.07),inset 0 0 0 6px rgba(255,255,255,.55),0 18px 44px rgba(0,0,0,.5),0 0 0 2px rgba(255,122,26,.55),0 0 70px -14px rgba(255,122,26,.75)}
body.pp-season-halloween .pp-cat-hero--hw .pp-cat-hero__product:hover .pp-cat-hero__disc{box-shadow:inset 0 2px 1px rgba(255,255,255,.95),inset 0 -20px 36px rgba(20,22,26,.07),inset 0 0 0 6px rgba(255,255,255,.55),0 26px 56px rgba(0,0,0,.55),0 0 0 2px var(--hw-pumpkin,#FF7A1A),0 0 80px -8px rgba(255,122,26,.85)}

/* decorative layer: fog, cartoon pumpkins, ghost, spider (bats fill the hero; flight paths in halloween-motion.css) */
body.pp-season-halloween .pp-cat-hero__fog{--pp-fog-h:52%;--pp-fog-o:.24}
body.pp-season-halloween .pp-hwpks{position:absolute;bottom:12px;right:calc(clamp(1.2rem,4.5vw,3.8rem) + clamp(176px,21vw,250px) - 2.4rem);z-index:2;display:flex;align-items:flex-end;gap:.15rem}
body.pp-season-halloween .pp-cat-hero--hw:not(.has-product) .pp-hwpks{right:clamp(1.2rem,4vw,3rem)}
body.pp-season-halloween .pp-hwpk{position:relative;display:block;width:var(--pk,40px)}
body.pp-season-halloween .pp-hwpk::after{content:"";position:absolute;left:12%;right:12%;bottom:-3px;height:7px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);z-index:-1}
body.pp-season-halloween .pp-hwpk .pp-pumpkin{display:block;width:100%;height:auto;filter:drop-shadow(0 0 12px rgba(255,122,26,.45))}
body.pp-season-halloween .pp-hwpk--a{--pk:46px}
body.pp-season-halloween .pp-hwpk--b{--pk:32px;--pp-pumpkin-delay:1.1s;--pp-flicker-delay:.8s}
body.pp-season-halloween .pp-hwpk--c{--pk:38px;--pp-pumpkin-delay:.5s;--pp-flicker-delay:1.7s}
body.pp-season-halloween .pp-cat-hero__deco .pp-ghost{position:absolute;left:58%;top:18%;--pp-ghost:32px;--pp-ghost-delay:.6s;opacity:.86}
body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__deco .pp-ghost{left:57%;top:14%;--pp-ghost:40px;opacity:.92}
body.pp-season-halloween .pp-hwspider{position:absolute;top:0;left:64%;width:26px;height:44%}
body.pp-season-halloween .pp-hwspider__bob{position:absolute;left:0;bottom:0;width:26px;animation:pp-shophw-spider 7s ease-in-out infinite}
body.pp-season-halloween .pp-hwspider__bob::before{content:"";position:absolute;left:50%;bottom:calc(100% - 9px);width:1px;height:600px;background:linear-gradient(to top,rgba(255,243,220,.42),rgba(255,243,220,.08))}
body.pp-season-halloween .pp-hwspider__svg{display:block;width:26px;height:auto;transform-origin:50% 0;animation:pp-shophw-sway 3.5s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(203,255,0,.25))}
@keyframes pp-shophw-spider{0%,100%{transform:translateY(-62%)}38%,58%{transform:translateY(0)}46%{transform:translateY(-7%)}}
@keyframes pp-shophw-sway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}

/* Halloween Sale page: night art + offer */
body.pp-season-halloween .pp-cat-hero--sale{background-color:var(--hw-night,#032139);background-position:64% 34%;min-height:clamp(380px,34vw,470px)}
body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__scrim{background:
	linear-gradient(90deg,rgba(3,33,57,.95) 0%,rgba(3,33,57,.84) 38%,rgba(3,33,57,.3) 64%,rgba(3,33,57,0) 84%),
	linear-gradient(0deg,rgba(3,33,57,.5) 0%,rgba(3,33,57,0) 38%)}
body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__in{max-width:min(60ch,54%);padding-block:clamp(2rem,3.4vw,3rem)}
body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__title{color:var(--hw-moon,#FFF3DC);font-size:clamp(2.6rem,1.5rem + 3.6vw,4.5rem);font-weight:700;text-transform:uppercase;line-height:.92;letter-spacing:-.025em;text-shadow:0 0 34px rgba(255,122,26,.28)}
body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__desc{color:rgba(255,243,220,.86);font-size:1.02rem;max-width:46ch;margin-top:.85rem}
body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__desc strong{color:var(--hw-pumpkin,#FF7A1A);letter-spacing:.04em}
body.pp-season-halloween .pp-cat-hero__offer{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.1rem;margin:1.25rem 0 0}
body.pp-season-halloween .pp-cat-hero__ends{display:inline-flex;align-items:baseline;gap:.5rem;margin:0;color:rgba(255,243,220,.76);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
body.pp-season-halloween .pp-cat-hero__cd{color:var(--hw-pumpkin,#FF7A1A);font-family:var(--pp-font-display);font-size:1.2rem;font-weight:700;letter-spacing:.01em;text-transform:none;font-variant-numeric:tabular-nums;white-space:nowrap}
/* terms = the offer's significant conditions: legible on the art at every width */
body.pp-season-halloween .pp-cat-hero__terms{margin:.95rem 0 0;max-width:58ch;color:rgba(255,243,220,.82);font-size:.78rem;line-height:1.45}
body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__deco .pp-cat-hero__fog{--pp-fog-h:58%;--pp-fog-o:.3}
body.pp-season-halloween .pp-cat-hero--sale .pp-hwpks{right:calc(clamp(1.2rem,4.5vw,3.8rem) + clamp(176px,21vw,250px) + .4rem);bottom:14px}
body.pp-season-halloween .pp-cat-hero--sale .pp-hwpk--a{--pk:58px}
body.pp-season-halloween .pp-cat-hero--sale .pp-hwpk--b{--pk:40px}
body.pp-season-halloween .pp-cat-hero--sale .pp-hwpk--c{--pk:30px}
/* "UP TO 70% OFF" sticker (decorative echo of the kicker), pinned to the product disc */
body.pp-season-halloween .pp-cat-hero__sticker{--st:clamp(98px,9vw,124px);position:absolute;z-index:3;top:clamp(.9rem,2.6vw,2rem);
	right:calc(clamp(1.2rem,4.5vw,3.8rem) + clamp(176px,21vw,250px) - var(--st) * .62);width:var(--st);height:var(--st);border-radius:50%;
	display:grid;place-items:center;font-size:calc(var(--st) / 6.2);color:var(--hw-night,#032139);
	background:radial-gradient(circle at 34% 28%,#FFAA5C 0%,var(--hw-pumpkin,#FF7A1A) 52%,var(--hw-pumpkin-deep,#E5600A) 100%);
	box-shadow:0 0 0 4px var(--hw-night,#032139),0 16px 30px -12px rgba(0,0,0,.7),0 0 38px rgba(255,122,26,.5);
	transform:rotate(-12deg);animation:pp-shophw-sticker 4.2s ease-in-out infinite}
body.pp-season-halloween .pp-cat-hero__sticker::before{content:"";position:absolute;inset:7%;border-radius:50%;border:1.5px dashed rgba(3,33,57,.42)}
body.pp-season-halloween .pp-cat-hero__sticker-in{display:flex;flex-direction:column;align-items:center;font-family:var(--pp-font-display);font-weight:800;text-transform:uppercase;line-height:.9}
body.pp-season-halloween .pp-cat-hero__sticker-up,body.pp-season-halloween .pp-cat-hero__sticker-off{font-size:1em;letter-spacing:.1em}
body.pp-season-halloween .pp-cat-hero__sticker-pct{font-size:2.35em;letter-spacing:-.05em;margin:.06em 0 .02em}
body.pp-season-halloween .pp-cat-hero--sale:not(.has-product) .pp-cat-hero__sticker{right:clamp(1.5rem,7vw,6rem);top:50%;margin-top:calc(var(--st) / -2)}
@keyframes pp-shophw-sticker{0%,100%{transform:rotate(-12deg) scale(1)}45%{transform:rotate(-5deg) scale(1.04)}55%{transform:rotate(-7deg) scale(1.03)}}

@media (max-width:760px){
	body.pp-season-halloween .pp-cat-hero--hw .pp-cat-hero__in{padding-bottom:4.2rem}
	body.pp-season-halloween .pp-cat-hero__kicker--hw{font-size:.68rem;letter-spacing:.07em}
	body.pp-season-halloween .pp-cat-hero__kicker--hw a{gap:.4rem;padding-right:.65rem}
	body.pp-season-halloween .pp-hwpks,body.pp-season-halloween .pp-cat-hero--hw:not(.has-product) .pp-hwpks{right:1rem;bottom:.7rem}
	body.pp-season-halloween .pp-hwpk--a{--pk:38px}
	body.pp-season-halloween .pp-hwpk--b{--pk:28px}
	body.pp-season-halloween .pp-hwpk--c{--pk:32px}
	/* sale page: art slides to the pumpkin-lined glass, sticker bottom-right. The scrim is anchored to the hero's
	   bottom edge: >=.9 everywhere above the deco strip (= the copy, which ends 5.7rem up), so the lit lantern
	   row only shows under the pumpkins + sticker, never under the copy / terms. */
	body.pp-season-halloween .pp-cat-hero--sale{background-position:76% 50%;align-items:flex-start}
	body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__scrim{background:linear-gradient(0deg,rgba(3,33,57,.15) 0,rgba(3,33,57,.45) 3rem,rgba(3,33,57,.8) 6.5rem,rgba(3,33,57,.84) 100%)}
	body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__in{max-width:none;padding:1.4rem 1.25rem 5.7rem}
	/* offer on one row from 375px: slightly smaller chip, "Ends in" stacked over the digits (wraps below 375) */
	body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__offer{gap:.6rem .85rem;margin-top:1rem}
	body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__offer .pp-codechip{font-size:.94rem}
	body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__ends{flex-direction:column;align-items:flex-start;gap:.2rem;font-size:.64rem;line-height:1}
	body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__cd{font-size:1.1rem;line-height:1.05}
	body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__terms{margin-top:.8rem}
	body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__title{font-size:clamp(2.3rem,1.4rem + 5vw,3rem)}
	body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__desc{font-size:.95rem}
	body.pp-season-halloween .pp-cat-hero--sale .pp-hwpks{left:1rem;right:auto;bottom:.8rem}
	body.pp-season-halloween .pp-cat-hero--sale .pp-hwpk--a{--pk:46px}
	body.pp-season-halloween .pp-cat-hero--sale .pp-hwpk--b{--pk:32px}
	body.pp-season-halloween .pp-cat-hero--sale .pp-hwpk--c{--pk:26px}
	body.pp-season-halloween .pp-cat-hero__sticker,body.pp-season-halloween .pp-cat-hero--sale:not(.has-product) .pp-cat-hero__sticker{--st:72px;top:auto;bottom:.7rem;right:1rem;margin:0}
	body.pp-season-halloween .pp-cat-hero__deco .pp-ghost{left:auto;right:8.6rem;top:auto;bottom:1.2rem;--pp-ghost:24px}
	body.pp-season-halloween .pp-cat-hero--sale .pp-cat-hero__deco .pp-ghost{left:auto;top:auto;right:7.4rem;bottom:1.6rem;--pp-ghost:30px}
	body.pp-season-halloween .pp-hwspider{left:auto;right:.9rem;height:17%}
}

/* ---------- 3. Single product ---------- */
/* gallery flash: "Sale!" -> the cards' pumpkin "-X%" badge */
body.pp-season-halloween.single-product div.product span.onsale.pp-onsale--hw{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .8rem .3rem .3rem;
	background:var(--hw-pumpkin,#FF7A1A)!important;color:var(--hw-night,#032139)!important;font-weight:800;box-shadow:0 8px 20px -6px rgba(229,96,10,.65)}
body.pp-season-halloween .pp-onsale__pk{width:22px;height:22px;padding:2px;border-radius:50%;background:var(--hw-night,#032139)}

/* deal box: Halloween price + code + real deadline */
body.pp-season-halloween .pp-deal--hw{position:relative;overflow:hidden;isolation:isolate;
	background:radial-gradient(130% 150% at 0% 0%,var(--hw-night-2,#08304F) 0%,var(--hw-night,#032139) 62%);
	border-color:rgba(255,122,26,.38);box-shadow:0 12px 30px -18px rgba(3,33,57,.8),0 0 0 1px rgba(255,122,26,.06)}
/* cobweb: bottom-right corner, sized to stay clear of the code chip in the top row */
body.pp-season-halloween .pp-deal__web{position:absolute;right:-1px;bottom:-1px;z-index:-1;width:56px;height:56px;color:rgba(255,243,220,.17);transform:scaleY(-1);pointer-events:none}
/* owner (2026-10-11): same footprint as the evergreen deal box — one compact top row (static pumpkin · price ·
   code chip, never wraps) + a slim "Ends in" row. The chip carries the code, so the box hides "with CODE". */
body.pp-season-halloween .pp-deal--hw .pp-deal__row--top{flex-wrap:nowrap;gap:10px;padding:9px 14px;border-bottom-color:rgba(255,243,220,.08)}
body.pp-season-halloween .pp-deal__hwpk{flex:0 0 auto;display:block;line-height:0}
body.pp-season-halloween .pp-deal__hwpk .pp-pumpkin{display:block;width:26px;height:26px;filter:drop-shadow(0 0 6px rgba(255,122,26,.45))}
body.pp-season-halloween .pp-deal__hwtxt{flex:1 1 auto;min-width:0;line-height:1}
body.pp-season-halloween .pp-deal__hwtitle{margin:0 0 3px;color:var(--hw-pumpkin,#FF7A1A);font-family:var(--pp-font-display);font-size:10px;font-weight:700;letter-spacing:.16em;line-height:1.2;text-transform:uppercase;white-space:nowrap}
body.pp-season-halloween .pp-deal--hw .pp-deal__hwprice{margin:0;font-size:0;line-height:1;white-space:nowrap}
body.pp-season-halloween .pp-deal--hw .pp-deal__hwprice .pp-deal__hwcode{display:none}
body.pp-season-halloween .pp-deal__hwamt{color:var(--hw-moon,#FFF3DC);font-family:var(--pp-font-display);font-size:22px;font-weight:800;letter-spacing:-.01em;line-height:1}
body.pp-season-halloween .pp-deal__hwcode{color:var(--hw-moon,#FFF3DC);font-weight:700;letter-spacing:.04em}
body.pp-season-halloween .pp-deal--hw .pp-deal__coupon{flex:0 0 auto;padding:0;margin-left:auto}
body.pp-season-halloween .pp-deal--hw .pp-codechip{font-size:13px}
body.pp-season-halloween .pp-deal--hw .pp-deal__expires{margin:0;padding:7px 14px;gap:6px;align-items:center}
body.pp-season-halloween .pp-deal--hw .pp-deal__expires-icon{color:var(--hw-pumpkin,#FF7A1A)}
body.pp-season-halloween .pp-deal--hw .pp-deal__expires-text{color:rgba(255,243,220,.66)}
body.pp-season-halloween .pp-deal__cd{color:var(--hw-pumpkin,#FF7A1A);font-family:var(--pp-font-display);font-size:12px;font-weight:700;letter-spacing:.06em;font-variant-numeric:tabular-nums;white-space:nowrap}
body.pp-season-halloween .pp-deal__web{width:40px;height:40px}
@media (max-width:380px){
	body.pp-season-halloween .pp-deal--hw .pp-deal__row--top{gap:8px;padding-inline:12px}
	body.pp-season-halloween .pp-deal__hwamt{font-size:20px}
	body.pp-season-halloween .pp-deal--hw .pp-codechip{font-size:12px}
}

/* sticky add-to-cart bar: "£X with HALLOWEEN15" under the price (light surface: ink + pumpkin-ink, small) */
body.pp-season-halloween .pp-stickybar__hw{display:block;margin:1px 0 0;color:var(--pp-muted,#5C5E66);font-size:.74rem;font-weight:600;line-height:1.25}
body.pp-season-halloween .pp-stickybar__hw .pp-deal__hwamt{font-family:inherit;font-size:1.06em;font-weight:800;letter-spacing:0;line-height:inherit;color:var(--hw-pumpkin-ink,#B54700)}
body.pp-season-halloween .pp-stickybar__hw .pp-deal__hwcode{color:var(--pp-ink,#15161A);font-weight:800;letter-spacing:.03em}

/* night brand band: pdp-band.webp keeps its pumpkins + racket on the right, so the copy moves left */
body.pp-season-halloween.single-product .pp-band{background-color:var(--hw-night,#032139);background-position:right center}
body.pp-season-halloween.single-product .pp-band__scrim{background:linear-gradient(90deg,rgba(3,33,57,.95) 0%,rgba(3,33,57,.86) 34%,rgba(3,33,57,.36) 62%,rgba(3,33,57,0) 86%)}
body.pp-season-halloween.single-product .pp-band__in{margin-left:0;margin-right:auto}
body.pp-season-halloween.single-product .pp-band__kicker{color:var(--hw-pumpkin,#FF7A1A)}
body.pp-season-halloween.single-product .pp-band__h{color:var(--hw-moon,#FFF3DC)}
body.pp-season-halloween.single-product .pp-band__sub{color:rgba(255,243,220,.84)}
body.pp-season-halloween.single-product .pp-band__stat::before{background:var(--hw-pumpkin,#FF7A1A)}
body.pp-season-halloween.single-product .pp-band__stat:first-child .pp-band__num{color:var(--hw-pumpkin,#FF7A1A)}
body.pp-season-halloween.single-product .pp-band__lbl{margin-left:0;color:rgba(255,243,220,.74)}
/* buy CTA = lime with navy text in every state (beats woocommerce.css '.pp-shop a.pp-btn--primary{color:#fff}') */
body.pp-season-halloween.single-product .pp-band a.pp-band__cta,
body.pp-season-halloween.single-product .pp-band a.pp-band__cta:visited,
body.pp-season-halloween.single-product .pp-band a.pp-band__cta:hover,
body.pp-season-halloween.single-product .pp-band a.pp-band__cta:focus,
body.pp-season-halloween.single-product .pp-band a.pp-band__cta:focus-visible{color:var(--pp-on-accent,#032139)}
@media (max-width:680px){
	/* phone: the pumpkins + racket strip sits above the copy (art scaled to the band's top 300px) */
	body.pp-season-halloween.single-product .pp-band{background-size:auto 300px;background-position:90% 0;background-repeat:no-repeat}
	body.pp-season-halloween.single-product .pp-band__scrim{background:linear-gradient(180deg,rgba(3,33,57,0) 0%,rgba(3,33,57,.12) 24%,rgba(3,33,57,.86) 42%,var(--hw-night,#032139) 50%)}
}

/* ---------- 4. Reduced motion: everything this file animates holds still (shared motion handles its own) ---------- */
@media (prefers-reduced-motion:reduce){
	body.pp-season-halloween .pp-cat-hero__sticker,
	body.pp-season-halloween .pp-hwspider__bob,
	body.pp-season-halloween .pp-hwspider__svg{animation:none}
	body.pp-season-halloween .pp-hwspider__bob{transform:none}
	body.pp-season-halloween .pp-cat-hero__arrow,body.pp-season-halloween .pp-cat-hero__kicker--hw a{transition:none}
}

/* ---------- PDP: the peeking ghost (footer newsletter's twin) over the Add to basket button ---------- */
body.pp-season-halloween.single-product div.product form.cart:not(.variations_form),
body.pp-season-halloween.single-product div.product .woocommerce-variation-add-to-cart{position:relative}
body.pp-season-halloween .pp-hwpeek--atc{right:1.4rem;z-index:1}
