.halloween-hero { padding: 20px 0 0; }
.halloween-hero-card { position: relative; min-height: 520px; overflow: hidden; isolation: isolate; border-radius: 32px; background: #17111e; color: #fff; }
.halloween-hero-image,.halloween-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.halloween-hero-image { object-fit: cover; object-position: center; }
.halloween-hero-shade { background: linear-gradient(90deg, rgba(12,9,18,.55) 0%, rgba(12,9,18,.28) 49%, transparent 80%); }
.halloween-hero-content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 520px; max-width: 620px; padding: clamp(32px,5vw,72px); }
.halloween-kicker { display: inline-flex; align-items: center; gap: 11px; margin-bottom: 22px; color: #ffbc82; font-size: 12px; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.halloween-kicker span { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #ff913d; box-shadow: 0 0 16px #ff913d; }
.halloween-hero h1 { max-width: 590px; color: #fff; font-size: clamp(38px,4.5vw,66px); line-height: 1.06; font-weight: 700; letter-spacing: -.045em; }
.halloween-hero h1 em { color: #ffad68; font-style: normal; }
.halloween-hero p { max-width: 460px; margin-top: 20px; color: #f5e8df; font-size: 15px; line-height: 1.75; }
.halloween-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.halloween-button { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 48px; padding: 11px 23px; border: 1px solid transparent; border-radius: 999px; font-size: 14px; font-weight: 700; transition: transform .2s, background .2s; }
.halloween-button:hover { transform: translateY(-2px); }
.halloween-button:focus-visible,.halloween-tile:focus-visible { outline: 3px solid #ffb778; outline-offset: 3px; }
.halloween-button-primary { background: #ff9a48; color: #27130b; }
.halloween-button-primary:hover { background: #ffb270; }
.halloween-button-outline { border-color: rgba(255,255,255,.55); color: #fff; background: rgba(255,255,255,.06); }
.halloween-button-outline:hover { background: rgba(255,255,255,.15); }
.halloween-hero-corner { position: absolute; right: 30px; bottom: 25px; z-index: 1; color: rgba(255,255,255,.68); font-size: 12px; font-weight: 700; letter-spacing: .2em; }
.halloween-discover { padding: 42px 0 12px; }
.halloween-discover-heading { display: flex; align-items: baseline; gap: 16px; margin-bottom: 18px; }
.halloween-overline { color: #bd6529; font-size: 11px; letter-spacing: .14em; font-weight: 700; }
.halloween-discover h2 { font-size: clamp(22px,2.5vw,29px); font-weight: 650; }
.halloween-tile-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; }
.halloween-tile { display: flex; align-items: center; gap: 14px; min-height: 112px; padding: 16px; border: 1px solid var(--border); border-radius: 20px; background: var(--card); transition: transform .2s,border-color .2s,box-shadow .2s; }
.halloween-tile:hover { transform: translateY(-3px); border-color: #e98a4a; box-shadow: 0 10px 26px rgba(83,44,28,.12); }
.halloween-tile-image { display: grid; place-items: center; flex: 0 0 78px; height: 78px; overflow: hidden; border-radius: 14px; background: #f2e9e2; }
.halloween-tile-image img { width: 100%; height: 100%; object-fit: contain; }
.halloween-tile-copy { min-width: 0; display: grid; gap: 4px; }
.halloween-tile-copy strong { color: var(--text); font-size: 14px; line-height: 1.3; }
.halloween-tile-copy small { color: var(--text-muted); font-size: 11px; line-height: 1.5; }
.halloween-tile-arrow { align-self: flex-start; margin-left: auto; color: #c86e35; font-size: 19px; }
.halloween-collection { scroll-margin-top: 24px; }
.halloween-collection .product-section { padding-top: 35px; }
.halloween-collection .eyebrow { color: #b95d27; }
html[data-theme="dark"] .halloween-overline,html[data-theme="dark"] .halloween-collection .eyebrow { color: #ffab6f; }
html[data-theme="dark"] .halloween-tile-image { background: #eee7e0; }
@media (max-width: 1000px) { .halloween-tile-copy small { display: none; } .halloween-tile-image { flex-basis: 64px; height: 64px; } }
@media (max-width: 700px) {
  .halloween-hero { padding-top: 12px; }
  .halloween-hero-card { min-height: 620px; border-radius: 25px; }
  .halloween-hero-image { object-position: 72% center; }
  .halloween-hero-shade { background: linear-gradient(180deg, rgba(16,10,23,.78), rgba(16,10,23,.68) 54%, rgba(16,10,23,.15) 100%); }
  .halloween-hero-content { justify-content: flex-start; min-height: 620px; padding: 40px 25px; }
  .halloween-hero h1 { font-size: clamp(36px,10vw,49px); }
  .halloween-hero p { font-size: 14px; }
  .halloween-hero-actions { width: 100%; flex-direction: column; margin-top: 25px; }
  .halloween-button { width: 100%; }
  .halloween-hero-corner { bottom: 19px; right: 22px; }
  .halloween-discover { padding-top: 32px; }
  .halloween-discover-heading { display: block; }
  .halloween-discover h2 { margin-top: 5px; }
  .halloween-tile-grid { grid-template-columns: 1fr; gap: 10px; }
  .halloween-tile { min-height: 88px; padding: 10px 14px; }
  .halloween-tile-copy small { display: block; }
}

/* The campaign styles the complete homepage, while product, cart and account pages retain the shop theme. */
body.halloween-campaign {
  --bg: #24162b; --bg-alt: #2e1d34; --card: #32223a; --card-alt: #3a2840;
  --border: rgba(255,173,101,.20); --border-strong: rgba(255,173,101,.42);
  --text: #fff5ed; --text-muted: #e0c9d0; --text-faint: #bca4ae;
  --brand: #ffac69; --brand-2: #ffc184; --brand-deep: #29132b;
  --tint: #493043; --tint-soft: #3c293d; --glow: #ffd1a0; --ink: #1a101f;
  --grad-1: #d76b22; --grad-2: #ff9d49; --grad-3: #d76b22;
  --gradient: linear-gradient(110deg,#c65a19,#f2933c);
  background-color: var(--bg);
  background-image: radial-gradient(ellipse 45% 18% at 100% 11%,rgba(245,148,58,.14),transparent),radial-gradient(ellipse 45% 23% at 0% 60%,rgba(146,65,130,.16),transparent);
}
html[data-theme="dark"] body.halloween-campaign {
  --bg: #100b16; --bg-alt: #191221; --card: #211829; --card-alt: #2e2236;
  --border: rgba(246,168,103,.17); --border-strong: rgba(255,177,109,.38);
  --text: #fff5eb; --text-muted: #d1bac3; --text-faint: #ad94a3;
  --brand: #ffa35c; --brand-2: #ffc080; --brand-deep: #30203b;
  --tint: #493042; --tint-soft: #302139; --glow: #ffca96; --ink: #110c18;
  --grad-1: #ff9a4b; --grad-2: #ffc078; --grad-3: #ff9a4b;
  --gradient: linear-gradient(110deg,#d76520,#f49c49);
  background-image: radial-gradient(ellipse 55% 20% at 100% 11%,rgba(204,94,31,.16),transparent),radial-gradient(ellipse 45% 30% at 0% 70%,rgba(100,47,116,.19),transparent);
}
body.halloween-campaign .topbar { background: #110c18; }
body.halloween-campaign .main-header { color: #fff4ea; background: linear-gradient(100deg,#1a1021,#2d192b 75%,#442227); border-bottom-color: rgba(255,158,80,.22); }
body.halloween-campaign .main-nav { background: #211428; border-bottom-color: rgba(255,158,80,.22); }
body.halloween-campaign .site-logo-text { color: #fff6ef; }
body.halloween-campaign .site-logo-text .dot { color: #ff9d52; }
body.halloween-campaign .main-nav-list a { color: #e9d8df; }
body.halloween-campaign .main-nav-list a:hover,body.halloween-campaign .main-nav-list a.nav-highlight,body.halloween-campaign .main-nav-list li:last-child a { color: #ffac68; }
body.halloween-campaign .header-action,body.halloween-campaign .mobile-menu-toggle { color: #f4e4e8; }
body.halloween-campaign .header-action:hover,body.halloween-campaign .imprezole-theme-toggle:hover { background: rgba(255,164,94,.17); }
body.halloween-campaign .site-search-input { color: #fff6ef; background: rgba(255,255,255,.10); border: 1px solid rgba(255,179,111,.24); }
body.halloween-campaign .site-search-input::placeholder { color: #cdb9c2; }
body.halloween-campaign .site-search-input:focus { color: #fff6ef; background: #362538; border-color: #ffac68; }
body.halloween-campaign .site-search-btn { background-image: linear-gradient(110deg,#b94b20,#f4943d); }
body.halloween-campaign .imprezole-theme-toggle { color: #ffd3ad; background: rgba(255,255,255,.08); border-color: rgba(255,181,117,.27); }
body.halloween-campaign .halloween-hero-card { box-shadow: 0 24px 66px rgba(48,19,37,.22); }
body.halloween-campaign .halloween-discover-heading h2,body.halloween-campaign .section-heading h2 { color: var(--text); }
body.halloween-campaign .halloween-overline,body.halloween-campaign .product-section .eyebrow { color: #ffb36f; }
html[data-theme="dark"] body.halloween-campaign .halloween-overline,html[data-theme="dark"] body.halloween-campaign .product-section .eyebrow { color: #ffb36f; }
body.halloween-campaign .view-all { color: #ffb36f; font-weight: 700; }
html[data-theme="dark"] body.halloween-campaign .view-all { color: #ffb36f; }
body.halloween-campaign .halloween-tile,body.halloween-campaign .product-card { border-color: var(--border); box-shadow: 0 6px 24px rgba(68,28,32,.05); }
body.halloween-campaign .halloween-tile:hover,body.halloween-campaign .product-card:hover { border-color: #dd7633; box-shadow: 0 12px 36px rgba(171,69,27,.19),0 0 0 1px rgba(255,161,79,.22); transform: translateY(-5px); }
body.halloween-campaign .product-card { transition: transform .25s,border-color .25s,box-shadow .25s; }
body.halloween-campaign .product-card-media { background: #f9f0e6; }
body.halloween-campaign .product-card-media img { transition: transform .45s ease; }
body.halloween-campaign .product-card:hover .product-card-media img { transform: scale(1.065); }
body.halloween-campaign .product-card-media .product-add-btn a { background-image: linear-gradient(110deg,#c75a1d,#f59a43) !important; border-color: var(--bg); }
body.halloween-campaign .product-wishlist { background: #fff8f0; color: #503042; }
body.halloween-campaign .product-price { color: #ffbd89; }
body.halloween-campaign .halloween-tile-arrow { color: #ffb36f; }
html[data-theme="dark"] body.halloween-campaign .product-price { color: #ffc08a; }
body.halloween-campaign .site-footer { background: radial-gradient(ellipse 50% 100% at 100% 0%,rgba(158,67,29,.2),transparent),#160e1b; border-top: 1px solid rgba(255,157,81,.35); }
body.halloween-campaign .site-footer .site-logo-text .dot,body.halloween-campaign .site-footer .footer-link-strong { color: #ffaf75; }

.halloween-atmosphere { position: absolute; inset: 0; z-index: 1; overflow: hidden; pointer-events: none; }
.halloween-bat { position: absolute; width: 45px; color: rgba(17,10,19,.78); filter: drop-shadow(0 2px 3px rgba(255,185,117,.25)); animation: halloween-bat-flight 8s ease-in-out infinite alternate; }
.halloween-bat-1 { top: 13%; left: 55%; width: 46px; animation-delay: -2s; }
.halloween-bat-2 { top: 23%; left: 69%; width: 30px; animation-delay: -5s; animation-duration: 6.5s; }
.halloween-bat-3 { top: 8%; left: 77%; width: 24px; animation-delay: -3.5s; animation-duration: 9s; }
.halloween-ember { position: absolute; width: 4px; height: 4px; border-radius: 50%; background: #ffae58; box-shadow: 0 0 11px 4px rgba(255,127,39,.34); opacity: .65; animation: halloween-ember-drift 7s ease-in-out infinite; }
.halloween-ember-1 { left: 13%; top: 84%; animation-delay: -1s; }.halloween-ember-2 { left: 18%; top: 70%; animation-delay: -4s; }.halloween-ember-3 { left: 35%; top: 89%; animation-delay: -2s; }.halloween-ember-4 { left: 51%; top: 58%; animation-delay: -5s; }.halloween-ember-5 { left: 60%; top: 76%; animation-delay: -2.8s; }.halloween-ember-6 { left: 70%; top: 29%; animation-delay: -6s; }.halloween-ember-7 { left: 80%; top: 69%; animation-delay: -3.6s; }.halloween-ember-8 { left: 89%; top: 43%; animation-delay: -1.9s; }.halloween-ember-9 { left: 44%; top: 72%; animation-delay: -4.8s; }
.halloween-hero-card::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:radial-gradient(280px circle at var(--spot-x,70%) var(--spot-y,50%),rgba(255,171,83,.14),transparent 75%); mix-blend-mode:screen; }
.halloween-hero-content,.halloween-hero-corner { z-index:2; }
@keyframes halloween-bat-flight { from { transform:translate3d(-12px,7px,0) rotate(-12deg) scale(.92); } to { transform:translate3d(22px,-13px,0) rotate(9deg) scale(1.08); } }
@keyframes halloween-ember-drift { 0%,100% { transform:translate3d(0,10px,0); opacity:0; } 35% { opacity:.8; } 70% { transform:translate3d(9px,-29px,0); opacity:.55; } }

.halloween-story { padding: 52px 0 4px; }
.halloween-story-card { position:relative; display:grid; grid-template-columns:1fr 1fr; min-height:370px; overflow:hidden; border:1px solid rgba(255,165,101,.3); border-radius:32px; background:radial-gradient(circle at 80% 30%,rgba(194,91,36,.36),transparent 36%),linear-gradient(110deg,#241229,#3c1e3a 60%,#51272b); color:#fff; }
.halloween-story-card::before { content:""; position:absolute; inset:0; pointer-events:none; background:radial-gradient(400px circle at var(--spot-x,70%) var(--spot-y,50%),rgba(255,161,91,.11),transparent 75%); }
.halloween-story-copy { position:relative; z-index:2; padding:clamp(34px,5vw,70px); align-self:center; }
.halloween-story .halloween-overline { color:#ffc18e; }
.halloween-story h2 { max-width:530px; margin:14px 0 16px; color:#fff; font-size:clamp(29px,3vw,42px); line-height:1.15; letter-spacing:-.03em; }
.halloween-story h2 em { color:#ffb16e; font-style:normal; }
.halloween-story p { max-width:420px; color:#e8d5dc; line-height:1.75; font-size:14px; }
.halloween-story-tags { display:flex; flex-wrap:wrap; gap:8px; margin:23px 0; }
.halloween-story-tags a { padding:8px 13px; border:1px solid rgba(255,190,139,.37); border-radius:999px; color:#ffe0c9; background:rgba(255,255,255,.05); font-size:12px; transition:background .2s,transform .2s; }
.halloween-story-tags a:hover { background:rgba(255,153,70,.22); transform:translateY(-2px); }
.halloween-story-link { display:inline-flex; gap:12px; align-items:center; color:#ffbc84; font-size:14px; font-weight:700; }
.halloween-story-link:hover { color:#ffe0bf; }
.halloween-story-scene { position:relative; min-height:350px; }
.halloween-story-photo { position:absolute; width:35%; aspect-ratio:4/5; padding:8px; border-radius:18px; background:#fff9f2; box-shadow:0 18px 36px rgba(0,0,0,.3); transition:transform .35s; }
.halloween-story-photo img { width:100%; height:100%; object-fit:contain; border-radius:11px; background:#f7f0e9; }
.halloween-story-photo-1 { top:14%; left:8%; transform:rotate(-13deg); }
.halloween-story-photo-2 { top:8%; left:39%; transform:rotate(9deg); }
.halloween-story-photo-3 { top:36%; left:30%; transform:rotate(-3deg); }
.halloween-story-card:hover .halloween-story-photo-1 { transform:translate(-6px,-7px) rotate(-17deg); }
.halloween-story-card:hover .halloween-story-photo-2 { transform:translate(7px,-8px) rotate(13deg); }
.halloween-story-card:hover .halloween-story-photo-3 { transform:translate(0,6px) rotate(1deg); }
.halloween-story-orbit { position:absolute; inset:11% 18%; border:1px dashed rgba(255,172,97,.2); border-radius:50%; transform:rotate(-18deg); pointer-events:none; }
.halloween-night-products .product-section { padding-top:50px; }
.halloween-finale { padding:56px 0 8px; }
.halloween-finale-card { position:relative; display:flex; align-items:center; gap:25px; padding:32px 40px; overflow:hidden; border-radius:26px; border:1px solid rgba(255,161,89,.35); background:radial-gradient(circle at 10% 10%,rgba(255,151,65,.24),transparent 28%),linear-gradient(100deg,#271428,#3c2239); color:#fff; }
.halloween-finale-card::after { content:"✦  ✦  ✦"; position:absolute; right:27%; top:15px; color:rgba(255,194,132,.24); font-size:24px; letter-spacing:1em; pointer-events:none; }
.halloween-finale-mark { flex:0 0 55px; display:grid; place-items:center; width:55px; height:55px; border:1px solid rgba(255,175,100,.35); border-radius:50%; color:#ffad69; font-size:27px; animation:halloween-mark-pulse 4s ease-in-out infinite; }
.halloween-finale-card div { flex:1; position:relative; z-index:1; }
.halloween-finale .halloween-overline { color:#ffbd88; }
.halloween-finale h2 { color:#fff; margin:5px 0; font-size:clamp(22px,2.4vw,31px); }
.halloween-finale p { color:#e7d2da; font-size:13px; }
.halloween-finale .halloween-button { position:relative; z-index:1; flex:none; }
@keyframes halloween-mark-pulse { 0%,100% { box-shadow:0 0 0 0 rgba(255,144,65,.14); } 50% { box-shadow:0 0 0 12px rgba(255,144,65,0); } }

body.halloween-campaign.halloween-motion .halloween-reveal { opacity:.72; transform:translateY(18px); transition:opacity .6s ease,transform .6s ease; }
body.halloween-campaign.halloween-motion .halloween-reveal.is-visible { opacity:1; transform:none; }
@media (max-width:800px) { .halloween-story-card { grid-template-columns:1fr; }.halloween-story-copy { padding:32px; }.halloween-story-scene { min-height:250px; }.halloween-story-photo { width:25%; aspect-ratio:1; }.halloween-story-photo-1 { top:8%; left:14%; }.halloween-story-photo-2 { top:1%; left:40%; }.halloween-story-photo-3 { top:20%; left:65%; }.halloween-finale-card { flex-wrap:wrap; }.halloween-finale .halloween-button { width:100%; } }
@media (max-width:600px) { .halloween-story { padding-top:35px; }.halloween-story-card { border-radius:24px; }.halloween-story-copy { padding:28px 24px 0; }.halloween-story-scene { min-height:210px; }.halloween-story-photo { width:31%; }.halloween-story-photo-1 { left:7%; }.halloween-story-photo-2 { left:35%; }.halloween-story-photo-3 { left:63%; }.halloween-finale { padding-top:38px; }.halloween-finale-card { padding:27px 23px; gap:16px; }.halloween-finale-mark { flex-basis:44px; width:44px; height:44px; }.halloween-hero-card::after { display:none; }.halloween-bat-1 { left:73%; top:10%; }.halloween-bat-2 { left:56%; top:26%; }.halloween-bat-3 { display:none; } }
@media (prefers-reduced-motion:reduce) { .halloween-bat,.halloween-ember,.halloween-finale-mark { animation:none !important; }.halloween-hero-image,.halloween-tile,.product-card,.halloween-story-photo { transition:none !important; }body.halloween-campaign.halloween-motion .halloween-reveal { opacity:1; transform:none; transition:none; } }

/* Layered mist travels behind the content, including the product collections. */
body.home.halloween-campaign .site-main { position:relative; isolation:isolate; overflow:hidden; }
body.home.halloween-campaign .site-main > :not(.halloween-fog) { position:relative; z-index:1; }
.halloween-fog { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.halloween-fog span { position:absolute; left:-18%; width:95%; height:430px; border-radius:50%; opacity:.24; filter:blur(36px); background:radial-gradient(ellipse,rgba(165,102,181,.65) 0%,rgba(92,65,130,.34) 45%,transparent 74%); animation:halloween-fog-sway 18s ease-in-out infinite alternate; }
.halloween-fog span:nth-child(1) { top:19%; }
.halloween-fog span:nth-child(2) { left:35%; top:48%; width:80%; background:radial-gradient(ellipse,rgba(218,106,69,.38),rgba(118,55,101,.26) 48%,transparent 73%); animation-delay:-8s; animation-duration:24s; }
.halloween-fog span:nth-child(3) { left:-30%; top:77%; width:100%; animation-delay:-12s; animation-duration:22s; }
@keyframes halloween-fog-sway { from { transform:translate3d(-4%,0,0) scale(1); } to { transform:translate3d(13%,22px,0) scale(1.13); } }

.halloween-ghost { position:absolute; top:3%; right:8%; z-index:1; width:88px; filter:drop-shadow(0 14px 18px rgba(0,0,0,.22)); animation:halloween-ghost-float 4.2s ease-in-out infinite; }
@keyframes halloween-ghost-float { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(-16px) rotate(6deg); } }
@media (max-width:800px) { .halloween-ghost { top:0; right:7%; width:66px; } }

.halloween-button { position:relative; overflow:hidden; }
.halloween-button::after { content:""; position:absolute; inset:-40% auto -40% -70%; width:42%; transform:skewX(-25deg); pointer-events:none; background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent); }
.halloween-button:hover::after { animation:halloween-button-glint .7s ease-out forwards; }
@keyframes halloween-button-glint { to { left:140%; } }
.halloween-spark { position:fixed; left:0; top:0; z-index:9999; width:6px; height:6px; border-radius:50%; background:#ffbf75; box-shadow:0 0 9px 3px rgba(255,130,50,.38); pointer-events:none; animation:halloween-spark-fade .7s ease-out forwards; }
.halloween-spark.is-burst { width:8px; height:8px; background:#ffd8a2; }
@keyframes halloween-spark-fade { from { opacity:.95; transform:translate(-50%,-50%) scale(1); } to { opacity:0; transform:translate(calc(-50% + var(--spark-x,8px)),calc(-50% + var(--spark-y,-26px))) scale(.1); } }
@media (prefers-reduced-motion:reduce) { .halloween-fog span,.halloween-ghost { animation:none !important; }.halloween-button:hover::after { animation:none !important; }.halloween-spark { display:none !important; } }

/* Seasonal treatment for every shop page. */
.halloween-site-ribbon { border-bottom:1px solid rgba(255,174,105,.28); background:linear-gradient(100deg,#3b1d36,#612d32); color:#ffe9d6; }
.halloween-site-ribbon .container { display:flex; align-items:center; justify-content:center; gap:14px; min-height:42px; font-size:12px; }
.halloween-site-ribbon strong { color:#fff; font-weight:700; }
.halloween-site-ribbon .container > span:first-child { color:#ffc087; font-size:18px; }
.halloween-site-ribbon a { color:#ffbd85; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.halloween-site-ribbon a:hover { color:#fff; }
body.halloween-campaign .imprezuj-shop-main,body.halloween-campaign .site-main { color:var(--text); }
body.halloween-campaign .shop-archive-header h1,body.halloween-campaign .product_title,body.halloween-campaign .cart_totals h2,body.halloween-campaign .woocommerce-tabs .panel h2 { color:var(--text); }
body.halloween-campaign .woocommerce-breadcrumb a:hover,body.halloween-campaign .product_meta a { color:#ffb878; }
body.halloween-campaign .woocommerce-product-gallery { background:#fff9f2; border:1px solid rgba(255,178,106,.24); box-shadow:0 14px 38px rgba(0,0,0,.16); }
body.halloween-campaign .woocommerce-product-gallery img { background:#fff9f2; }
body.halloween-campaign div.type-product[id^="product-"] { position:relative; }
body.halloween-campaign div.type-product[id^="product-"] > .onsale { position:absolute; top:14px; left:14px; z-index:3; display:inline-flex; align-items:center; min-height:32px; padding:5px 12px; border-radius:999px; background:#ec8a3b; color:#28151d; font-size:12px; font-weight:750; }
body.halloween-campaign .woocommerce-tabs .tabs li.active a { border-bottom-color:#ffaf6e; }
body.halloween-campaign .woocommerce-ordering select,body.halloween-campaign form.cart .qty,body.halloween-campaign input.qty,body.halloween-campaign input[type="number"],body.halloween-campaign .woocommerce-checkout input,body.halloween-campaign .woocommerce-checkout textarea,body.halloween-campaign .woocommerce-checkout select { background:var(--card); color:var(--text); border-color:var(--border-strong); }
body.halloween-campaign .woocommerce-checkout input::placeholder,body.halloween-campaign .woocommerce-checkout textarea::placeholder { color:var(--text-faint); }
body.halloween-campaign td.actions #coupon_code { background:var(--card); color:var(--text); border-color:var(--border-strong); }
body.halloween-campaign .woocommerce-message { background:#1d4b3c; color:#e3fff2; border-color:#2a795d; }
body.halloween-campaign .woocommerce-error { background:#542636; color:#ffe3e5; border-color:#a75461; }
body.halloween-campaign .woocommerce-info { background:var(--card); color:var(--text); border-color:var(--border-strong); }
body.halloween-campaign p.stock.in-stock { color:#94e8b5; }
body.halloween-campaign p.stock.out-of-stock { color:#ff9a9d; }
body.halloween-campaign .woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background-image:linear-gradient(110deg,#b44b1b,#d5752c); }
body.halloween-campaign .imprezole-app-awnex { background:#b44b1b; border-color:#b44b1b; }
body.halloween-campaign .imprezole-app-login-eyebrow { color:#ffb779; }
body.halloween-campaign .imprezole-app-login-error { background:#542636; color:#ffe3e5 !important; border-color:#a75461; }
body.halloween-campaign .select2-container--default .select2-selection--single,body.halloween-campaign .select2-dropdown { background:var(--card) !important; border-color:var(--border-strong) !important; }
body.halloween-campaign .select2-results__option--highlighted[aria-selected] { background:#ad481f !important; }
@media (max-width:700px) { .halloween-site-ribbon .container { justify-content:space-between; gap:8px; padding-top:7px; padding-bottom:7px; }.halloween-site-ribbon .container > span:nth-child(3) { display:none; } }
