/* ==========================================================================
   CBC Halloween Theme — seasonal skin for cheeseboard-chic-luxe-v16
   Everything is scoped to body.cbc-halloween so deactivating the plugin
   restores the normal look with zero residue.
   ========================================================================== */

body.cbc-halloween {
	/* Halloween palette */
	--hw-night: #120b16;
	--hw-night-2: #1a1020;
	--hw-plum: #2a1630;
	--hw-card: #22142a;
	--hw-card-2: #2d1a35;
	--hw-orange: #d9782a;
	--hw-ember: #f39a3e;
	--hw-gold: #d3a64b;
	--hw-bone: #f3e9d6;
	--hw-bone-dim: #d9ccb8;
	--hw-mist: #b6a595;
	--hw-line: rgba(243, 233, 214, 0.14);
	--hw-glow: rgba(243, 154, 62, 0.35);

	/* Re-map the theme's own tokens so var()-based rules follow along */
	--ivory: var(--hw-night);
	--paper: var(--hw-night-2);
	--ink: var(--hw-bone);
	--muted: var(--hw-mist);
	--line: var(--hw-line);
	--wine: var(--hw-orange);
	--wine-deep: #8a4416;
	--olive: #3a2444;
	--olive-deep: #241430;
	--champagne: #e8c98a;
	--gold: var(--hw-gold);

	background: var(--hw-night) !important;
	color: var(--hw-bone) !important;
}

body.cbc-halloween main,
body.cbc-halloween .section,
body.cbc-halloween .hero,
body.cbc-halloween .intro,
body.cbc-halloween .offerings,
body.cbc-halloween .editorialSplit,
body.cbc-halloween .occasions,
body.cbc-halloween .process,
body.cbc-halloween .gallery,
body.cbc-halloween .finalCta,
body.cbc-halloween footer {
	background-color: var(--hw-night) !important;
	background-image: none !important;
	color: var(--hw-bone) !important;
}

/* Subtle alternating depth between sections */
body.cbc-halloween .intro,
body.cbc-halloween .occasions,
body.cbc-halloween .gallery {
	background-image:
		radial-gradient(ellipse at 20% 0%, rgba(217, 120, 42, 0.10), transparent 55%),
		linear-gradient(180deg, var(--hw-night-2), var(--hw-night)) !important;
}
body.cbc-halloween .editorialSplit {
	background-image: linear-gradient(180deg, var(--hw-plum), var(--hw-night-2)) !important;
}
body.cbc-halloween .hero {
	position: relative;
	background-image:
		radial-gradient(circle at 18% 22%, rgba(243, 154, 62, 0.16), transparent 42%),
		radial-gradient(circle at 85% 80%, rgba(120, 60, 150, 0.22), transparent 45%),
		linear-gradient(180deg, #170d1c, var(--hw-night)) !important;
	overflow: hidden;
}

/* ---- Text ------------------------------------------------------------- */
body.cbc-halloween h1,
body.cbc-halloween h2,
body.cbc-halloween h3,
body.cbc-halloween h4,
body.cbc-halloween .entryContent h1,
body.cbc-halloween .entryContent h2,
body.cbc-halloween .entryContent h3 {
	color: var(--hw-bone) !important;
	-webkit-text-fill-color: var(--hw-bone) !important;
}
body.cbc-halloween h1 em,
body.cbc-halloween h2 em,
body.cbc-halloween h3 em,
body.cbc-halloween .hero h1 em {
	color: var(--hw-ember) !important;
	-webkit-text-fill-color: var(--hw-ember) !important;
	text-shadow: 0 0 22px rgba(243, 154, 62, 0.45);
}
body.cbc-halloween .hero h1 em::after {
	background: var(--hw-orange) !important;
	opacity: 0.8;
}
body.cbc-halloween p,
body.cbc-halloween li,
body.cbc-halloween .heroLead,
body.cbc-halloween .heroProof,
body.cbc-halloween .heroWelcomeLink,
body.cbc-halloween .introCopy,
body.cbc-halloween .contactMini,
body.cbc-halloween .offerTerms,
body.cbc-halloween .entryContent,
body.cbc-halloween .footerContact,
body.cbc-halloween .footerMeta,
body.cbc-halloween footer,
body.cbc-halloween footer a,
body.cbc-halloween .footerLinks a {
	color: var(--hw-bone-dim) !important;
}
body.cbc-halloween .eyebrow,
body.cbc-halloween .eyebrowLight {
	color: var(--hw-ember) !important;
}
body.cbc-halloween .eyebrow::before {
	background: var(--hw-ember) !important;
}
body.cbc-halloween a.textLink,
body.cbc-halloween .entryContent a:not(.wp-block-button__link) {
	color: var(--hw-ember) !important;
	text-decoration-color: var(--hw-orange);
}
body.cbc-halloween ::selection {
	background: var(--hw-orange);
	color: #fff;
}

/* ---- Top ribbon + header --------------------------------------------- */
body.cbc-halloween .ribbon {
	background: linear-gradient(90deg, #3a1a0c, #6b3312, #3a1a0c) !important;
	color: var(--hw-bone) !important;
	border-bottom-color: rgba(243, 154, 62, 0.45) !important;
}
body.cbc-halloween .ribbonTrack,
body.cbc-halloween .ribbonTrack span { color: var(--hw-bone) !important; }
body.cbc-halloween .ribbonTrack b { color: var(--hw-ember) !important; }

body.cbc-halloween .siteHeader {
	background: linear-gradient(90deg, rgba(18, 11, 22, 0.97), rgba(26, 16, 32, 0.94)) !important;
	border-bottom: 1px solid var(--hw-line) !important;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45) !important;
	color: var(--hw-bone) !important;
}
body.cbc-halloween .siteHeader nav a,
body.cbc-halloween .navQuoteLink,
body.cbc-halloween .siteHeader a { color: var(--hw-bone) !important; }
body.cbc-halloween nav a::after { background: var(--hw-ember) !important; }
body.cbc-halloween .siteHeader nav,
body.cbc-halloween .siteHeader nav > * {
	background: transparent !important;
}
body.cbc-halloween .menuToggle {
	background: rgba(42, 22, 48, 0.9) !important;
	color: var(--hw-bone) !important;
	border-color: var(--hw-line) !important;
}
/* The logo is a dark-on-cream PNG: give it a soft candle halo so it reads on dark */
body.cbc-halloween .logoMark img {
	filter: drop-shadow(0 0 10px rgba(243, 233, 214, 0.55)) drop-shadow(0 0 2px rgba(243, 233, 214, 0.9));
}

/* Mobile nav panel (whatever it is, keep it dark) */
@media (max-width: 900px) {
	body.cbc-halloween .siteHeader nav {
		background: var(--hw-night-2) !important;
	}
}

/* ---- Announcement bar (injected by JS) -------------------------------- */
body.cbc-halloween .cbcHwBar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem 1rem;
	padding: 0.65rem 1rem;
	background: linear-gradient(90deg, #7a3a12, #d9782a 45%, #7a3a12);
	color: #fff8ee;
	font: 500 0.9rem/1.4 Montserrat, Arial, sans-serif;
	letter-spacing: 0.02em;
	text-align: center;
	position: relative;
	z-index: 5;
	box-shadow: 0 6px 24px rgba(217, 120, 42, 0.35);
}
body.cbc-halloween .cbcHwBar .cbcHwBarText { max-width: 60ch; }
body.cbc-halloween .cbcHwBar a.cbcHwBarCta {
	color: #2a1408 !important;
	background: var(--hw-bone);
	padding: 0.4rem 0.95rem;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 700;
	white-space: nowrap;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
body.cbc-halloween .cbcHwBar a.cbcHwBarCta:hover {
	transform: translateY(-1px);
	box-shadow: 0 0 0 4px rgba(243, 233, 214, 0.25);
}

/* ---- Buttons ----------------------------------------------------------- */
body.cbc-halloween .button,
body.cbc-halloween .buttonGold,
body.cbc-halloween .buttonBoard,
body.cbc-halloween .headerCta,
body.cbc-halloween .wp-block-button__link {
	background: linear-gradient(110deg, #b85d1c 0%, #e58836 55%, #f39a3e 100%) !important;
	color: #1a0d05 !important;
	border-color: transparent !important;
	box-shadow: 0 0 0 1px rgba(243, 154, 62, 0.4), 0 10px 26px rgba(217, 120, 42, 0.35) !important;
	text-shadow: none !important;
}
body.cbc-halloween .buttonDark,
body.cbc-halloween .button.buttonDark {
	background: linear-gradient(110deg, #2a1630 0%, #3d2148 100%) !important;
	color: var(--hw-bone) !important;
	box-shadow: 0 0 0 1px var(--hw-line), 0 10px 26px rgba(0, 0, 0, 0.5) !important;
}
body.cbc-halloween .buttonBoard::before,
body.cbc-halloween .buttonBoard.buttonDark::before {
	background: #1a0d05 !important;
	opacity: 0.9;
}
body.cbc-halloween .buttonBoard.buttonDark::before { background: var(--hw-ember) !important; }
body.cbc-halloween .button:hover,
body.cbc-halloween .wp-block-button__link:hover {
	filter: brightness(1.08);
	box-shadow: 0 0 0 1px rgba(243, 154, 62, 0.7), 0 0 28px var(--hw-glow), 0 12px 30px rgba(0, 0, 0, 0.5) !important;
}
body.cbc-halloween .knifeCta { color: var(--hw-ember) !important; }
body.cbc-halloween .knifeCta::before,
body.cbc-halloween .knifeCta::after { background: var(--hw-ember) !important; }

/* Candle flicker on primary CTAs */
@keyframes cbcHwFlicker {
	0%, 100% { box-shadow: 0 0 0 1px rgba(243,154,62,.45), 0 0 18px rgba(243,154,62,.28), 0 10px 26px rgba(217,120,42,.30); }
	45%      { box-shadow: 0 0 0 1px rgba(243,154,62,.55), 0 0 30px rgba(243,154,62,.42), 0 10px 26px rgba(217,120,42,.38); }
	60%      { box-shadow: 0 0 0 1px rgba(243,154,62,.40), 0 0 14px rgba(243,154,62,.22), 0 10px 26px rgba(217,120,42,.28); }
	80%      { box-shadow: 0 0 0 1px rgba(243,154,62,.60), 0 0 34px rgba(243,154,62,.48), 0 10px 26px rgba(217,120,42,.40); }
}
body.cbc-halloween:not(.cbc-halloween-still) .heroActions .buttonGold,
body.cbc-halloween:not(.cbc-halloween-still) .headerCta {
	animation: cbcHwFlicker 3.6s ease-in-out infinite;
}

/* ---- Hero ------------------------------------------------------------- */
body.cbc-halloween .heroCopy::before,
body.cbc-halloween .heroCopy::after {
	border-color: rgba(243, 154, 62, 0.35) !important;
	background: transparent !important;
	opacity: 0.8;
}
body.cbc-halloween .heroVisual {
	background: var(--hw-plum) !important;
	box-shadow: 0 30px 80px rgba(0, 0, 0, 0.65), 0 0 0 1px var(--hw-line) !important;
}
body.cbc-halloween .heroVisual > img,
body.cbc-halloween .imageFrame img {
	filter: saturate(0.92) contrast(1.06) brightness(0.9);
}
body.cbc-halloween .imageFrame { border-color: rgba(243, 154, 62, 0.45) !important; }
body.cbc-halloween .heroNote,
body.cbc-halloween .heroSeal {
	background: rgba(26, 16, 32, 0.92) !important;
	color: var(--hw-bone) !important;
	border: 1px solid rgba(243, 154, 62, 0.45) !important;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.55), 0 0 24px rgba(243, 154, 62, 0.18) !important;
}
body.cbc-halloween .heroSeal span,
body.cbc-halloween .heroSeal small { color: var(--hw-bone) !important; }
body.cbc-halloween .heroProof span::before { background: var(--hw-ember) !important; }

/* Fog layer over the hero */
body.cbc-halloween .cbcHwFog {
	position: absolute;
	inset: auto 0 -10% 0;
	height: 55%;
	pointer-events: none;
	z-index: 1;
	background:
		radial-gradient(60% 70% at 20% 100%, rgba(243, 233, 214, 0.16), transparent 70%),
		radial-gradient(50% 60% at 65% 100%, rgba(243, 233, 214, 0.12), transparent 70%),
		radial-gradient(40% 50% at 90% 100%, rgba(243, 233, 214, 0.10), transparent 70%);
	filter: blur(14px);
	opacity: 0.9;
	animation: cbcHwFog 18s ease-in-out infinite alternate;
}
@keyframes cbcHwFog {
	from { transform: translateX(-3%) scaleX(1.02); }
	to   { transform: translateX(3%)  scaleX(1.08); }
}
body.cbc-halloween .hero > .heroCopy,
body.cbc-halloween .hero > .heroVisual { position: relative; z-index: 2; }

/* ---- Cards ------------------------------------------------------------ */
body.cbc-halloween .offeringCard,
body.cbc-halloween .occasionCard,
body.cbc-halloween .steps > *,
body.cbc-halloween .quotePanel,
body.cbc-halloween .signupPanel,
body.cbc-halloween .editorialCopy,
body.cbc-halloween .boardCta,
body.cbc-halloween .introCopy > .imageFrame {
	background: linear-gradient(160deg, var(--hw-card-2), var(--hw-card)) !important;
	background-image: linear-gradient(160deg, var(--hw-card-2), var(--hw-card)) !important;
	color: var(--hw-bone) !important;
	border: 1px solid var(--hw-line) !important;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
	position: relative;
	overflow: hidden;
}
body.cbc-halloween .offeringCard *,
body.cbc-halloween .occasionCard *,
body.cbc-halloween .steps > * *,
body.cbc-halloween .quotePanel *,
body.cbc-halloween .signupPanel *,
body.cbc-halloween .editorialCopy * {
	color: var(--hw-bone-dim);
}
body.cbc-halloween .offeringCard h3,
body.cbc-halloween .occasionCard h3,
body.cbc-halloween .steps h3,
body.cbc-halloween .quotePanel h2,
body.cbc-halloween .signupPanel h2,
body.cbc-halloween .editorialCopy h2 {
	color: var(--hw-bone) !important;
}
body.cbc-halloween .offeringCard:hover,
body.cbc-halloween .occasionCard:hover {
	border-color: rgba(243, 154, 62, 0.55) !important;
	box-shadow: 0 22px 50px rgba(0, 0, 0, 0.6), 0 0 32px var(--hw-glow) !important;
}
body.cbc-halloween .offeringCard img,
body.cbc-halloween .occasionCard img,
body.cbc-halloween .editorialImage img,
body.cbc-halloween .galleryGrid img {
	filter: saturate(0.9) contrast(1.05) brightness(0.88);
	transition: filter 0.4s ease;
}
body.cbc-halloween .offeringCard:hover img,
body.cbc-halloween .occasionCard:hover img,
body.cbc-halloween .galleryGrid figure:hover img {
	filter: saturate(1) contrast(1.05) brightness(1);
}

/* Gold cobweb in the top-right corner of offering + occasion cards (element added by JS,
   so the theme's own ::before/::after overlays stay untouched) */
body.cbc-halloween .cbcHwWeb {
	position: absolute;
	top: 0;
	right: 0;
	width: 104px;
	height: 104px;
	pointer-events: none;
	opacity: 0.8;
	z-index: 4;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23e2b45c' stroke-width='1.5' stroke-linecap='round'><path d='M100 0 L0 0 M100 0 L100 100 M100 0 L20 20 M100 0 L40 6 M100 0 L6 40 M100 0 L60 60 M100 0 L80 12 M100 0 L12 80'/><path d='M85 0 Q86 8 92 15 M70 0 Q73 18 84 30 M55 0 Q60 28 76 45 M40 0 Q47 38 68 60 M25 0 Q34 48 60 74 M100 15 Q92 16 85 8 M100 30 Q82 27 70 16 M100 45 Q72 40 55 24 M100 60 Q62 53 40 32 M100 74 Q52 66 26 40'/></svg>");
}
body.cbc-halloween .occasionCard h3,
body.cbc-halloween .occasionCard p,
body.cbc-halloween .offeringCard h3,
body.cbc-halloween .offeringCard p {
	text-shadow: 0 2px 10px rgba(0, 0, 0, 0.75), 0 0 2px rgba(0, 0, 0, 0.9);
}

/* Process steps numbers / accents */
body.cbc-halloween .steps article > span,
body.cbc-halloween .steps strong { color: var(--hw-ember) !important; -webkit-text-fill-color: var(--hw-ember) !important; }

/* ---- Editorial split + board CTA -------------------------------------- */
body.cbc-halloween .boardCta { color: var(--hw-bone) !important; }
body.cbc-halloween .boardBites,
body.cbc-halloween .boardLabel { color: var(--hw-bone) !important; }
body.cbc-halloween .cheeseSpreader { filter: sepia(1) hue-rotate(-20deg) saturate(2); }

/* ---- Gallery ---------------------------------------------------------- */
body.cbc-halloween .galleryGrid figure {
	background: var(--hw-card) !important;
	border: 1px solid var(--hw-line) !important;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55) !important;
}
body.cbc-halloween .galleryGrid figcaption {
	background: rgba(18, 11, 22, 0.85) !important;
	color: var(--hw-bone) !important;
}

/* ---- Final CTA + signup ----------------------------------------------- */
body.cbc-halloween .quotePanel {
	background: linear-gradient(150deg, #3a1a0c, #2a1630 60%, #1a1020) !important;
	background-image: linear-gradient(150deg, #3a1a0c, #2a1630 60%, #1a1020) !important;
	border-color: rgba(243, 154, 62, 0.4) !important;
}
body.cbc-halloween .signupPanel input,
body.cbc-halloween .signupPanel input[type="email"],
body.cbc-halloween .signupPanel input[type="text"],
body.cbc-halloween .entryContent input,
body.cbc-halloween .entryContent textarea,
body.cbc-halloween .entryContent select,
body.cbc-halloween .wpcf7 input:not([type="submit"]),
body.cbc-halloween .wpcf7 textarea,
body.cbc-halloween .wpcf7 select,
body.cbc-halloween .wpforms-container input:not([type="submit"]),
body.cbc-halloween .wpforms-container textarea,
body.cbc-halloween .wpforms-container select,
body.cbc-halloween .gform_wrapper input:not([type="submit"]),
body.cbc-halloween .gform_wrapper textarea,
body.cbc-halloween .gform_wrapper select {
	background: #1a1020 !important;
	color: var(--hw-bone) !important;
	border: 1px solid rgba(243, 233, 214, 0.28) !important;
	caret-color: var(--hw-ember);
}
body.cbc-halloween input::placeholder,
body.cbc-halloween textarea::placeholder { color: rgba(243, 233, 214, 0.5) !important; }
body.cbc-halloween input:focus,
body.cbc-halloween textarea:focus,
body.cbc-halloween select:focus {
	outline: 2px solid var(--hw-ember) !important;
	outline-offset: 2px;
}
body.cbc-halloween label,
body.cbc-halloween .wpforms-field-label,
body.cbc-halloween .gfield_label { color: var(--hw-bone) !important; }
body.cbc-halloween input[type="submit"],
body.cbc-halloween button[type="submit"],
body.cbc-halloween .wpforms-submit,
body.cbc-halloween .gform_button {
	background: linear-gradient(110deg, #b85d1c 0%, #e58836 55%, #f39a3e 100%) !important;
	color: #1a0d05 !important;
	border: 0 !important;
	box-shadow: 0 10px 26px rgba(217, 120, 42, 0.35) !important;
}

/* ---- Inner pages (Menu, Occasions, Gallery, About, Quote) ------------- */
body.cbc-halloween .cbcPageInner,
body.cbc-halloween .entryContent,
body.cbc-halloween article.page { background: transparent !important; }
body.cbc-halloween .entryContent .wp-block-group:not(.has-background),
body.cbc-halloween .entryContent .wp-block-columns { background: transparent !important; }
body.cbc-halloween .entryContent .has-background,
body.cbc-halloween .entryContent .wp-block-group.has-background,
body.cbc-halloween .entryContent .wp-block-cover:not(.has-background-dim) {
	background: linear-gradient(160deg, var(--hw-card-2), var(--hw-card)) !important;
	color: var(--hw-bone) !important;
	border: 1px solid var(--hw-line);
}
body.cbc-halloween .entryContent hr,
body.cbc-halloween .wp-block-separator {
	border-color: rgba(243, 154, 62, 0.4) !important;
	background: rgba(243, 154, 62, 0.4) !important;
}
body.cbc-halloween .entryContent table,
body.cbc-halloween .entryContent td,
body.cbc-halloween .entryContent th {
	border-color: var(--hw-line) !important;
	color: var(--hw-bone-dim) !important;
}
body.cbc-halloween .entryContent strong { color: var(--hw-bone); }
body.cbc-halloween .entryContent img { filter: saturate(0.92) brightness(0.92); border-radius: inherit; }

/* ---- Footer ----------------------------------------------------------- */
body.cbc-halloween footer {
	background-image: linear-gradient(180deg, var(--hw-night), #0c070f) !important;
	border-top: 1px solid var(--hw-line) !important;
}
body.cbc-halloween footer strong,
body.cbc-halloween footer h3,
body.cbc-halloween footer h4 { color: var(--hw-bone) !important; -webkit-text-fill-color: var(--hw-bone) !important; }
body.cbc-halloween footer span,
body.cbc-halloween footer p { color: var(--hw-bone-dim) !important; }
body.cbc-halloween .footerBrand img { filter: drop-shadow(0 0 8px rgba(243, 233, 214, 0.5)); }
body.cbc-halloween .footerLinks a:hover { color: var(--hw-ember) !important; }

/* ---- Bats ------------------------------------------------------------- */
body.cbc-halloween .cbcHwBats {
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 4;
	overflow: hidden;
}
body.cbc-halloween .cbcHwBat {
	position: absolute;
	top: -60px;
	left: -80px;
	width: 46px;
	height: 26px;
	opacity: 0;
	color: #0a0509;
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.6));
	animation: cbcHwFly var(--dur, 22s) linear var(--delay, 0s) infinite;
}
body.cbc-halloween .cbcHwBat svg { width: 100%; height: 100%; display: block; }
body.cbc-halloween .cbcHwBat svg path { animation: cbcHwFlap 0.42s ease-in-out infinite alternate; transform-origin: 50% 50%; }
@keyframes cbcHwFly {
	0%   { transform: translate(-10vw, 18vh) rotate(6deg) scale(var(--s, 1)); opacity: 0; }
	6%   { opacity: 0.9; }
	30%  { transform: translate(28vw, 6vh) rotate(-8deg) scale(var(--s, 1)); }
	55%  { transform: translate(60vw, 20vh) rotate(5deg) scale(var(--s, 1)); }
	80%  { transform: translate(90vw, 8vh) rotate(-6deg) scale(var(--s, 1)); opacity: 0.9; }
	100% { transform: translate(112vw, 16vh) rotate(0deg) scale(var(--s, 1)); opacity: 0; }
}
@keyframes cbcHwFlap {
	from { transform: scaleY(1); }
	to   { transform: scaleY(0.55); }
}

/* ---- Spider near the gallery ----------------------------------------- */
body.cbc-halloween .gallery { position: relative; }
body.cbc-halloween .cbcHwSpider {
	position: absolute;
	top: 0;
	right: 8%;
	width: 42px;
	height: 0;
	pointer-events: none;
	z-index: 3;
	transition: height 2.4s cubic-bezier(0.22, 0.9, 0.3, 1.05);
}
body.cbc-halloween .cbcHwSpider::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: 100%;
	background: linear-gradient(180deg, rgba(243, 233, 214, 0.0), rgba(243, 233, 214, 0.5));
}
body.cbc-halloween .cbcHwSpider svg {
	position: absolute;
	bottom: -22px;
	left: 0;
	width: 42px;
	height: 30px;
	color: #0a0509;
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.6));
	animation: cbcHwSway 3.2s ease-in-out infinite alternate;
	transform-origin: 50% -100px;
}
body.cbc-halloween .cbcHwSpider.is-down { height: 180px; }
@keyframes cbcHwSway {
	from { transform: rotate(-4deg); }
	to   { transform: rotate(4deg); }
}

/* ---- Small pumpkin accent before the nav quote link ------------------- */
body.cbc-halloween .headerCta::before { content: none; }
body.cbc-halloween .cbcHwPumpkin {
	display: inline-block;
	width: 1.05em;
	height: 1.05em;
	vertical-align: -0.15em;
	margin-right: 0.35em;
}

/* ---- Motion safety ---------------------------------------------------- */
body.cbc-halloween.cbc-halloween-still .cbcHwBats,
body.cbc-halloween.cbc-halloween-still .cbcHwSpider,
body.cbc-halloween.cbc-halloween-still .cbcHwFog { display: none !important; }
@media (prefers-reduced-motion: reduce) {
	body.cbc-halloween .cbcHwBats,
	body.cbc-halloween .cbcHwSpider { display: none !important; }
	body.cbc-halloween .cbcHwFog { animation: none !important; }
	body.cbc-halloween .heroActions .buttonGold,
	body.cbc-halloween .headerCta { animation: none !important; }
}

/* ---- Mobile polish ---------------------------------------------------- */
@media (max-width: 640px) {
	body.cbc-halloween .cbcHwBar { font-size: 0.82rem; padding: 0.55rem 0.9rem; }
	body.cbc-halloween .cbcHwBat { width: 32px; height: 18px; }
	body.cbc-halloween .cbcHwWeb { width: 68px; height: 68px; }
}

/* ======================================================================
   v1.1 additions
   ====================================================================== */

/* ---- Quote page / DesignSetGo form fixes ------------------------------ */
body.cbc-halloween .dsgo-form-builder,
body.cbc-halloween .dsgo-form {
	background: linear-gradient(160deg, var(--hw-card-2), var(--hw-card)) !important;
	border: 1px solid rgba(243, 154, 62, 0.3) !important;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.5) !important;
	color: var(--hw-bone) !important;
}
body.cbc-halloween .dsgo-form-field__input,
body.cbc-halloween .dsgo-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
body.cbc-halloween .dsgo-form textarea,
body.cbc-halloween .dsgo-form select {
	background: #1a1020 !important;
	color: var(--hw-bone) !important;
	border: 1px solid rgba(243, 233, 214, 0.28) !important;
}
body.cbc-halloween .dsgo-form select option { background: #1a1020; color: var(--hw-bone); }
body.cbc-halloween .dsgo-form label,
body.cbc-halloween .dsgo-form-field__label { color: var(--hw-bone) !important; }
body.cbc-halloween .dsgo-form__submit {
	background: linear-gradient(110deg, #b85d1c 0%, #e58836 55%, #f39a3e 100%) !important;
	color: #1a0d05 !important;
	border: 0 !important;
}
body.cbc-halloween .dsgo-icon-button {
	background: linear-gradient(110deg, #2a1630 0%, #3d2148 100%) !important;
	color: var(--hw-bone) !important;
	border: 1px solid rgba(243, 154, 62, 0.4) !important;
}
body.cbc-halloween .dsgo-icon-button * { color: var(--hw-bone) !important; fill: currentColor; }
body.cbc-halloween .entryContent .has-text-color:not(.wp-block-button__link):not(.dsgo-icon-button) {
	color: var(--hw-bone) !important;
}
body.cbc-halloween [class*="quoteBoard"] figure,
body.cbc-halloween figure[class*="quoteBoard"] {
	background: var(--hw-card) !important;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55) !important;
}

/* ---- Big corner cobwebs ---------------------------------------------- */
body.cbc-halloween .hero,
body.cbc-halloween footer { position: relative; }
body.cbc-halloween .cbcHwCornerWeb {
	position: absolute;
	top: 0;
	width: clamp(120px, 16vw, 230px);
	height: clamp(120px, 16vw, 230px);
	color: rgba(243, 233, 214, 0.32);
	pointer-events: none;
	z-index: 3;
	filter: drop-shadow(0 0 4px rgba(243, 233, 214, 0.15));
}
body.cbc-halloween .cbcHwCornerWeb svg { width: 100%; height: 100%; display: block; }
body.cbc-halloween .cbcHwCornerWeb--tl { left: 0; }
body.cbc-halloween .cbcHwCornerWeb--tr { right: 0; transform: scaleX(-1); }
body.cbc-halloween footer .cbcHwCornerWeb { width: clamp(90px, 10vw, 150px); height: clamp(90px, 10vw, 150px); color: rgba(211, 166, 75, 0.35); }

/* ---- Spider bobbing from the hero web -------------------------------- */
body.cbc-halloween .cbcHwBobSpider {
	position: absolute;
	top: 0;
	right: clamp(60px, 9vw, 150px);
	width: 38px;
	height: 150px;
	pointer-events: none;
	z-index: 4;
	transform-origin: 50% 0;
	animation: cbcHwBob 6.5s ease-in-out infinite;
}
body.cbc-halloween .cbcHwBobSpider::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 1px;
	height: calc(100% - 18px);
	background: linear-gradient(180deg, rgba(243, 233, 214, 0.15), rgba(243, 233, 214, 0.55));
}
body.cbc-halloween .cbcHwBobSpider svg {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 38px;
	height: 28px;
	color: #0a0509;
	filter: drop-shadow(0 0 6px rgba(243, 154, 62, 0.35));
	animation: cbcHwWiggle 1.8s ease-in-out infinite alternate;
}
@keyframes cbcHwBob {
	0%, 100% { height: 120px; transform: rotate(2deg); }
	40%      { height: 190px; transform: rotate(-3deg); }
	55%      { height: 175px; }
	75%      { height: 140px; transform: rotate(3deg); }
}
@keyframes cbcHwWiggle {
	from { transform: rotate(-6deg); }
	to   { transform: rotate(6deg); }
}

/* ---- Knife + slash on the quote panel -------------------------------- */
body.cbc-halloween .finalCta .quotePanel { overflow: visible !important; }
body.cbc-halloween .cbcHwKnife {
	position: absolute;
	top: 10px;
	right: 5%;
	width: 190px;
	height: 48px;
	pointer-events: none;
	z-index: 6;
	opacity: 0;
	transform: translate(420px, -260px) rotate(-150deg);
	filter: drop-shadow(0 10px 14px rgba(0, 0, 0, 0.6));
}
body.cbc-halloween .cbcHwKnife svg { width: 100%; height: 100%; display: block; }
body.cbc-halloween .cbcHwKnife.is-thrown {
	animation: cbcHwThrow 0.55s cubic-bezier(0.55, 0, 0.8, 0.4) forwards, cbcHwQuiver 0.5s 0.55s ease-out;
}
@keyframes cbcHwThrow {
	0%   { opacity: 0; transform: translate(420px, -260px) rotate(-225deg) scaleY(-1); }
	15%  { opacity: 1; }
	100% { opacity: 1; transform: translate(0, 0) rotate(135deg) scaleY(-1); }
}
@keyframes cbcHwQuiver {
	0%   { transform: rotate(135deg) scaleY(-1); }
	20%  { transform: rotate(139deg) scaleY(-1); }
	40%  { transform: rotate(132deg) scaleY(-1); }
	60%  { transform: rotate(137deg) scaleY(-1); }
	80%  { transform: rotate(134deg) scaleY(-1); }
	100% { transform: rotate(135deg) scaleY(-1); }
}
body.cbc-halloween .cbcHwKnife.is-thrown { transform: rotate(135deg) scaleY(-1); opacity: 1; }
body.cbc-halloween .cbcHwKnife .cbcHwGleam { animation: cbcHwGleam 4s 1.2s ease-in-out infinite; }
@keyframes cbcHwGleam {
	0%, 80%, 100% { opacity: 0.2; }
	88%           { opacity: 1; }
}
body.cbc-halloween .cbcHwSlash {
	position: absolute;
	top: 26%;
	left: 8%;
	width: 0;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, transparent, #f39a3e 20%, #ffd3a0 50%, #f39a3e 80%, transparent);
	box-shadow: 0 0 14px rgba(243, 154, 62, 0.8);
	transform: rotate(-8deg);
	transform-origin: 0 50%;
	pointer-events: none;
	z-index: 1;
	opacity: 0.85;
}
body.cbc-halloween .cbcHwSlash.is-cut { animation: cbcHwCut 0.45s 0.1s ease-out forwards; }
@keyframes cbcHwCut {
	from { width: 0; }
	to   { width: 84%; }
}
body.cbc-halloween .cbcHwShake { animation: cbcHwShake 0.35s ease-in-out; }
@keyframes cbcHwShake {
	0%, 100% { transform: translate(0, 0); }
	25%      { transform: translate(-3px, 2px); }
	50%      { transform: translate(3px, -2px); }
	75%      { transform: translate(-2px, 1px); }
}

/* ---- Music button ----------------------------------------------------- */
body.cbc-halloween .cbcHwMusicBtn {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 50;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.6rem 1rem 0.6rem 0.8rem;
	border-radius: 999px;
	border: 1px solid rgba(243, 154, 62, 0.55);
	background: rgba(18, 11, 22, 0.92);
	color: var(--hw-bone);
	font: 600 0.8rem/1 Montserrat, Arial, sans-serif;
	letter-spacing: 0.04em;
	cursor: pointer;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55), 0 0 18px rgba(243, 154, 62, 0.25);
	backdrop-filter: blur(6px);
}
body.cbc-halloween .cbcHwMusicBtn .cbcHwPumpkin { width: 1.4em; height: 1.4em; margin: 0; }
body.cbc-halloween .cbcHwMusicBtn:hover { border-color: #f39a3e; }
body.cbc-halloween .cbcHwMusicBtn:focus-visible { outline: 2px solid #f39a3e; outline-offset: 3px; }
body.cbc-halloween .cbcHwMusicBtn.is-playing .cbcHwPumpkin { animation: cbcHwPulse 1.6s ease-in-out infinite; }
body.cbc-halloween .cbcHwMusicBtn.is-inviting:not(.is-playing) { animation: cbcHwInvite 2.4s ease-in-out infinite; }
@keyframes cbcHwPulse {
	0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(243, 154, 62, 0)); }
	50%      { transform: scale(1.15); filter: drop-shadow(0 0 8px rgba(243, 154, 62, 0.9)); }
}
@keyframes cbcHwInvite {
	0%, 100% { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55), 0 0 12px rgba(243, 154, 62, 0.2); }
	50%      { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.55), 0 0 28px rgba(243, 154, 62, 0.6); }
}
@media (max-width: 640px) {
	body.cbc-halloween .cbcHwMusicBtn .cbcHwMusicLabel { display: none; }
	body.cbc-halloween .cbcHwMusicBtn { padding: 0.7rem; }
	body.cbc-halloween .cbcHwKnife { width: 120px; height: 32px; }
	body.cbc-halloween .cbcHwBobSpider { right: 24px; }
}

/* ---- Motion safety for v1.1 pieces ------------------------------------ */
body.cbc-halloween.cbc-halloween-still .cbcHwBobSpider,
body.cbc-halloween.cbc-halloween-still .cbcHwKnife,
body.cbc-halloween.cbc-halloween-still .cbcHwSlash { display: none !important; }
@media (prefers-reduced-motion: reduce) {
	body.cbc-halloween .cbcHwBobSpider,
	body.cbc-halloween .cbcHwKnife,
	body.cbc-halloween .cbcHwSlash { display: none !important; }
	body.cbc-halloween .cbcHwMusicBtn,
	body.cbc-halloween .cbcHwMusicBtn .cbcHwPumpkin { animation: none !important; }
}

/* ---- Inner-page template (Occasions, Gallery, About) ------------------ */
body.cbc-halloween main section,
body.cbc-halloween .pageHero,
body.cbc-halloween .pageProcess,
body.cbc-halloween .pageContactCta,
body.cbc-halloween .approachEditorial {
	background-color: var(--hw-night) !important;
	background-image:
		radial-gradient(ellipse at 18% 10%, rgba(243, 154, 62, 0.12), transparent 50%),
		linear-gradient(180deg, var(--hw-night-2), var(--hw-night)) !important;
	color: var(--hw-bone) !important;
}
body.cbc-halloween .pageContactCta {
	background-image: linear-gradient(150deg, #3a1a0c, #2a1630 55%, #1a1020) !important;
	border-top: 1px solid rgba(243, 154, 62, 0.3);
}
body.cbc-halloween .pageHeroMedia,
body.cbc-halloween .pageGalleryItem {
	background: var(--hw-card) !important;
	border: 1px solid var(--hw-line) !important;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.55) !important;
}
body.cbc-halloween .pageHeroMedia figcaption,
body.cbc-halloween main figcaption,
body.cbc-halloween .pageFeatureTag {
	background: rgba(18, 11, 22, 0.9) !important;
	color: var(--hw-bone) !important;
	-webkit-text-fill-color: var(--hw-bone) !important;
	border: 1px solid rgba(243, 154, 62, 0.35) !important;
}
body.cbc-halloween main figcaption * { color: var(--hw-bone) !important; -webkit-text-fill-color: var(--hw-bone) !important; }
body.cbc-halloween .pageSteps article,
body.cbc-halloween main article:not(.page) {
	background: linear-gradient(160deg, var(--hw-card-2), var(--hw-card)) !important;
	border: 1px solid var(--hw-line) !important;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.5) !important;
}
/* Readable text everywhere on dark, except inside buttons */
body.cbc-halloween main :is(p, li, span, small, figcaption, blockquote, cite, dd, dt, strong, b, a):not(.button):not(.wp-block-button__link):not(.dsgo-icon-button):not(.dsgo-form__submit):not(.cbcHwMusicBtn):not(:is(.button, .wp-block-button__link, .dsgo-icon-button, .dsgo-form__submit, .buttonBoard, .cbcHwMusicBtn, .cbcHwBar) *) {
	color: var(--hw-bone-dim) !important;
	-webkit-text-fill-color: var(--hw-bone-dim) !important;
}
body.cbc-halloween main :is(h1, h2, h3, h4, h5, h6) { color: var(--hw-bone) !important; -webkit-text-fill-color: var(--hw-bone) !important; }
body.cbc-halloween main :is(h1, h2, h3, h4) em { color: var(--hw-ember) !important; -webkit-text-fill-color: var(--hw-ember) !important; }
body.cbc-halloween main :is(.eyebrow, .eyebrowLight, .pageTextLink, a.textLink, .pageEyebrow),
body.cbc-halloween main .pageTextLink * {
	color: var(--hw-ember) !important;
	-webkit-text-fill-color: var(--hw-ember) !important;
}
body.cbc-halloween .pageHeroMeta span::before { background: var(--hw-ember) !important; }
body.cbc-halloween .pageSteps article > span:first-child,
body.cbc-halloween .steps article > span { color: var(--hw-ember) !important; -webkit-text-fill-color: var(--hw-ember) !important; }

/* ---- Mobile menu (v1.1.4) --------------------------------------------- */
/* Menu button: bright ember circle with bold lines so it reads on the dark header */
body.cbc-halloween .menuToggle {
	width: 50px !important;
	height: 50px !important;
	border-radius: 50% !important;
	background: linear-gradient(135deg, #d9782a, #f39a3e) !important;
	color: #1a0d05 !important;
	border: 2px solid #ffd3a0 !important;
	box-shadow: 0 0 0 4px rgba(243, 154, 62, 0.22), 0 0 22px rgba(243, 154, 62, 0.55), 0 8px 18px rgba(0, 0, 0, 0.5) !important;
	position: relative;
	z-index: 6;
	cursor: pointer;
}
body.cbc-halloween .menuToggle span:not(.screen-reader-text),
body.cbc-halloween .menuToggle::before,
body.cbc-halloween .menuToggle::after {
	width: 22px !important;
	height: 2.5px !important;
	border-radius: 2px;
	background-color: #1a0d05 !important;
}
body.cbc-halloween .menuToggle[aria-expanded="true"] {
	background: linear-gradient(135deg, #2a1630, #3d2148) !important;
	color: #f39a3e !important;
	border-color: #f39a3e !important;
}
body.cbc-halloween .menuToggle[aria-expanded="true"]::before,
body.cbc-halloween .menuToggle[aria-expanded="true"]::after {
	background-color: #f39a3e !important;
}
body.cbc-halloween .menuToggle:focus-visible {
	outline: 3px solid #ffd3a0 !important;
	outline-offset: 3px;
}

/* Dropdown panel: framed in ember so it stands off the dark page */
@media (max-width: 1000px) {
	body.cbc-halloween .siteHeader nav {
		background: linear-gradient(180deg, #24142b, #150c1a) !important;
		border: 1px solid rgba(243, 154, 62, 0.5) !important;
		border-radius: 16px !important;
		box-shadow: 0 26px 60px rgba(0, 0, 0, 0.75), 0 0 34px rgba(243, 154, 62, 0.2) !important;
	}
	body.cbc-halloween .siteHeader nav > * { background: transparent !important; }
	body.cbc-halloween .siteHeader nav a {
		color: var(--hw-bone) !important;
		-webkit-text-fill-color: var(--hw-bone) !important;
		font-size: 1.05rem !important;
		border-color: rgba(243, 233, 214, 0.14) !important;
	}
	body.cbc-halloween .siteHeader nav a[aria-current="page"],
	body.cbc-halloween .siteHeader nav a:hover,
	body.cbc-halloween .siteHeader nav a:focus-visible,
	body.cbc-halloween .siteHeader nav .navQuoteLink {
		color: var(--hw-ember) !important;
		-webkit-text-fill-color: var(--hw-ember) !important;
	}
}

/* Phones: logo left, menu button right; nothing overlaps, nothing runs off-screen.
   The header quote button hides here only; the orange bar right below, the hero
   and the menu itself all keep "Request a quote". */
@media (max-width: 700px) {
	body.cbc-halloween .siteHeader {
		grid-template-columns: minmax(0, 1fr) auto !important;
		column-gap: 16px !important;
	}
	body.cbc-halloween .siteHeader .headerCta { display: none !important; }
	body.cbc-halloween .logoMark { min-width: 0; max-width: 100%; }
	body.cbc-halloween .logoMark img { max-width: 100%; height: auto; }
	body.cbc-halloween .menuToggle { justify-self: end; align-self: center; }
}

/* ---- v1.1.5: no faded/blurred cards on phones ------------------------- */
/* The theme fades + blurs cards and photos with a scroll animation that only
   finishes once the item is ~60% up the screen. On the dark skin that reads as
   broken, so: containers never fade, and items do a quick blur-free rise that
   completes as soon as ~40% of the item is on screen. */
@keyframes cbcHwArrive {
	from { opacity: 0.35; transform: translateY(24px); }
	to   { opacity: 1; transform: none; }
}
@supports (animation-timeline: view()) {
	body.cbc-halloween .introGrid,
	body.cbc-halloween .sectionHeading,
	body.cbc-halloween .offeringGrid,
	body.cbc-halloween .editorialCopy > *,
	body.cbc-halloween .occasionGrid,
	body.cbc-halloween .steps,
	body.cbc-halloween .galleryGrid,
	body.cbc-halloween .finalCta {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
	body.cbc-halloween .offeringCard,
	body.cbc-halloween .occasionCard,
	body.cbc-halloween .steps article,
	body.cbc-halloween .galleryGrid figure {
		animation-name: cbcHwArrive !important;
		animation-range-start: entry 0% !important;
		animation-range-end: entry 40% !important;
		animation-fill-mode: both !important;
	}
}
body.cbc-halloween .offeringCard,
body.cbc-halloween .occasionCard,
body.cbc-halloween .steps article,
body.cbc-halloween .galleryGrid figure { filter: none !important; }
@media (prefers-reduced-motion: reduce) {
	body.cbc-halloween .offeringCard,
	body.cbc-halloween .occasionCard,
	body.cbc-halloween .steps article,
	body.cbc-halloween .galleryGrid figure { animation: none !important; opacity: 1 !important; transform: none !important; }
}

/* ---- v1.1.5: clean photos, no frame lines ----------------------------- */
body.cbc-halloween .galleryGrid figure,
body.cbc-halloween .pageGalleryItem {
	border: 0 !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	background: transparent !important;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.55) !important;
}
body.cbc-halloween .galleryGrid figure img,
body.cbc-halloween .pageGalleryItem img { border-radius: 12px; }
body.cbc-halloween .pageHeroMedia,
body.cbc-halloween .heroVisual,
body.cbc-halloween .editorialImage {
	border: 0 !important;
	background: transparent !important;
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.55) !important;
}
/* The theme draws thin white/gold lines inside photos with ::before/::after */
body.cbc-halloween main figure::before,
body.cbc-halloween main figure::after,
body.cbc-halloween .editorialImage::before,
body.cbc-halloween .editorialImage::after,
body.cbc-halloween .heroVisual::after {
	border-color: transparent !important;
	border-width: 0 !important;
	box-shadow: none !important;
}
body.cbc-halloween .imageFrame {
	border: 0 !important;
	box-shadow: none !important;
	animation: none !important;
	background: transparent !important;
}

/* ---- v1.1.6: remove the remaining frame lines on photo cards + labels -- */
body.cbc-halloween .offeringCard,
body.cbc-halloween .occasionCard,
body.cbc-halloween .pageFeatureCard {
	border: 0 !important;
	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.5) !important;
}
body.cbc-halloween .offeringCard:hover,
body.cbc-halloween .occasionCard:hover,
body.cbc-halloween .pageFeatureCard:hover {
	box-shadow: 0 22px 50px rgba(0, 0, 0, 0.6), 0 0 32px rgba(243, 154, 62, 0.35) !important;
}
/* Theme's thin inner frames drawn with ::before/::after */
body.cbc-halloween .offeringCard::before,
body.cbc-halloween .offeringCard::after,
body.cbc-halloween .occasionCard::before,
body.cbc-halloween .occasionCard::after,
body.cbc-halloween .pageFeatureCard::before,
body.cbc-halloween .pageFeatureCard::after,
body.cbc-halloween .quoteBoardGallery::before,
body.cbc-halloween .quoteBoardGallery::after {
	border-color: transparent !important;
	border-width: 0 !important;
	outline: 0 !important;
}
/* Labels sitting on photos: keep the dark chip, drop the outline */
body.cbc-halloween main figcaption,
body.cbc-halloween .pageHeroMedia figcaption,
body.cbc-halloween .pageFeatureTag,
body.cbc-halloween .heroNote {
	border: 0 !important;
}

/* ---- v1.1.7: gallery photos, no hover shine / zoom (touch-safe) ------- */
/* On phones a tap acts as a hover and sticks, so the theme's white sheen band
   parks on the photo and the zoomed image can leak past the rounded corners on
   Safari. Both read as a light border. */
body.cbc-halloween .galleryGrid figure::before,
body.cbc-halloween .pageGalleryItem::before,
body.cbc-halloween .galleryGrid figure::after,
body.cbc-halloween .pageGalleryItem::after {
	display: none !important;
}
body.cbc-halloween .galleryGrid figure:hover img,
body.cbc-halloween .galleryGrid figure:focus-within img,
body.cbc-halloween .pageGalleryItem:hover img {
	transform: none !important;
}
body.cbc-halloween .galleryGrid img,
body.cbc-halloween .pageGalleryItem img {
	will-change: auto !important;
	transition: filter 0.4s ease !important;
	display: block;
}
/* Force Safari to clip children to the rounded corners */
body.cbc-halloween .galleryGrid figure,
body.cbc-halloween .pageGalleryItem {
	isolation: isolate;
	-webkit-mask-image: -webkit-radial-gradient(white, black);
	mask-image: radial-gradient(white, black);
}

/* ---- v1.1.8: "Curated for you" tag readable on dark ------------------- */
body.cbc-halloween .cardTag,
body.cbc-halloween .offeringCard .cardTag {
	background: rgba(18, 11, 22, 0.9) !important;
	color: var(--hw-ember) !important;
	-webkit-text-fill-color: var(--hw-ember) !important;
	border: 1px solid rgba(243, 154, 62, 0.45) !important;
}
