/* Campanha pública controlada por ATIVO em js/seasonal-theme.js. */
.halloween-opening { display: none; }
html[data-tema="halloween"] body { background: #100c17; }
html[data-tema="halloween"] body .halloween-opening { display: block; padding: 28px 0 34px; background: radial-gradient(ellipse at 10% 35%, #371a48, transparent 60%), #100c17; }
html[data-tema="halloween"] body [data-block="hero"],
html[data-tema="halloween"] body [data-block="carrossel"] { display: none; }
html[data-tema="halloween"] body .halloween-opening__art { width: 100%; height: auto; border-radius: 20px; border: 1px solid #6d3b49; box-shadow: 0 22px 70px #0008; }
html[data-tema="halloween"] body .halloween-opening__copy { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding-top: 26px; color: #fff5ed; }
html[data-tema="halloween"] body .halloween-kicker { color: #ffad65; text-transform: uppercase; letter-spacing: .14em; font-size: .7rem; font-weight: 700; }
html[data-tema="halloween"] body .halloween-opening h1 { font-family: var(--font-body); font-size: clamp(1.6rem, 3vw, 2.5rem); font-weight: 700; letter-spacing: -.045em; margin: 10px 0; }
html[data-tema="halloween"] body .halloween-opening em { font-style: normal; color: #ff963e; }
html[data-tema="halloween"] body .halloween-opening p { color: #cfc1dc; font-size: .9rem; }
html[data-tema="halloween"] body .halloween-button,
html[data-tema="halloween"] body main > .section .btn--primary { background: #ff963e; color: #231127; border-color: #ff963e; box-shadow: 0 5px 24px #ff780026; }
html[data-tema="halloween"] body .halloween-button { flex-shrink: 0; }
html[data-tema="halloween"] body .halloween-button:hover { background: #ffb575; transform: translateY(-2px); }
html[data-tema="halloween"] body .topbar { background: #321446; }
html[data-tema="halloween"] body .site-header__nav-row { border-bottom: 2px solid #b95820; }
html[data-tema="halloween"] body .site-nav__link--highlight { background: #492259; }
html[data-tema="halloween"] body main > .section { color: #f8efff; background: #100c17; padding-top: 44px; padding-bottom: 44px; border-top: 1px solid #ffffff0c; }
html[data-tema="halloween"] body main > .section--soft { background: #1a1225; }
html[data-tema="halloween"] body .section__eyebrow { color: #ffab65; }
html[data-tema="halloween"] body .section__subtitle,
html[data-tema="halloween"] body .about-text p,
html[data-tema="halloween"] body .step__text { color: #cabed4; }
html[data-tema="halloween"] body .stat { background: #24172e; border-color: #704359; }
html[data-tema="halloween"] body .stat__num { color: #ffab65; }
html[data-tema="halloween"] body .stat__label { color: #ddd0e6; }
html[data-tema="halloween"] body .section__title { font-family: var(--font-body); font-weight: 700; letter-spacing: -.035em; }
html[data-tema="halloween"] body .product-card,
html[data-tema="halloween"] body .category-card,
html[data-tema="halloween"] body .facts-card,
html[data-tema="halloween"] body .location-info,
html[data-tema="halloween"] body .wholesale-card,
html[data-tema="halloween"] body .faq-item { color: #1a1f2e; }
html[data-tema="halloween"] body .category-card[href*="cat=halloween"] { outline: 3px solid #ff963e; outline-offset: -3px; box-shadow: 0 0 28px #ff780030; }
html[data-tema="halloween"] body .product-card { border-color: #704359; }
html[data-tema="halloween"] body .product-card:hover { border-color: #ff963e; box-shadow: 0 10px 32px #a352d52b; }
html[data-tema="halloween"] body .cta-card { background: linear-gradient(120deg, #30133e, #1e122a 60%, #542615); border: 1px solid #794256; color: #fff5ed; }
html[data-tema="halloween"] body .cta-card__desc,
html[data-tema="halloween"] body .cta-card__checklist { color: #e1d1e9; }
html[data-tema="halloween"] body .site-footer { background: #09060e; border-top: 1px solid #703d33; }
html[data-tema="halloween"] body :focus-visible { outline-color: #ff963e; }
@media (max-width: 760px) {
  html[data-tema="halloween"] body .halloween-opening { padding-top: 16px; }
  html[data-tema="halloween"] body .halloween-opening__art { border-radius: 12px; }
  html[data-tema="halloween"] body .halloween-opening__copy { flex-direction: column; align-items: stretch; gap: 20px; }
  html[data-tema="halloween"] body .halloween-button { text-align: center; justify-content: center; white-space: normal; }
  html[data-tema="halloween"] body main > .section { padding-top: 30px; padding-bottom: 30px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-tema="halloween"] body .halloween-button { transition: none; transform: none; }
}
/* Paleta compartilhada por toda a campanha; fotos mantêm as cores originais. */
html[data-tema="halloween"] body {
  color-scheme: dark;
  --color-bg: #100c17; --color-bg-soft: #271b33; --color-bg-cream: #1c1227;
  --color-text: #faf3ff; --color-text-muted: #cfbfdc; --color-border: #674979;
  --color-primary: #ffad65; --color-primary-dark: #ffbd84; --color-primary-light: #dbb5fa;
  --color-secondary: #ffb16e; --color-secondary-dark: #f6c390;
  --color-danger: #ffb2b9; --color-success: #9cebc0;
  color: var(--color-text);
}
html[data-tema="halloween"] body :is(.site-header,.site-header--scrolled,.site-header__nav-row,.site-nav,.quick-header,.legal-header) { background: #170f21; color: #faf3ff; border-color: #674979; }
html[data-tema="halloween"] body .logo-mark { background: #fff; border-radius: 12px; padding: 4px; }
html[data-tema="halloween"] body :is(.site-nav a,.header-social__label,.header-social--wa .header-social__label) { color: #f8eaff; }
html[data-tema="halloween"] body :is(.site-nav a:hover,.site-nav__link--highlight) { background: #54316c; color: #fff; }
html[data-tema="halloween"] body :is(.header-search,.cart-btn-header,.icon-btn-round,.search-box,.sort-select,.category-carousel__arrow) { background: #2c1e38; color: #fff3e9; border-color: #725485; }
html[data-tema="halloween"] body :is(.header-search input,.search-box input) { color: #fff3e9; }
html[data-tema="halloween"] body .coupon-strip { background: #2c1736; color: #f4defd; border-color: #674979; }
html[data-tema="halloween"] body .coupon-strip a { color: #ffbd84; }
html[data-tema="halloween"] body :is(.catalog-hero__decor,.rep-section__decor,.brand-decor) { display: none; }
html[data-tema="halloween"] body .catalog-hero { background: radial-gradient(ellipse at 50% 0%, #49225d, transparent 70%), #100c17; }
html[data-tema="halloween"] body :is(.product-card,.category-card,.facts-card,.location-info,.wholesale-card,.faq-item,.rep-form-card,.importadora-card,.legal-contact,.quick-product-card,.quick-card) { background: #211629; color: #faf3ff; border-color: #674979; }
html[data-tema="halloween"] body :is(.facts-card__text strong,.facts-card__text span,.facts-card__text small) { color: #f0e0fa; }
html[data-tema="halloween"] body .facts-card__text strong { color: #ffbc82; }
html[data-tema="halloween"] body :is(.category-card__count,.category-card__icon--all) { background: #392446; color: #f3d9ff; }
html[data-tema="halloween"] body :is(.product-card__hint,.product-card__more,.buy-option__head,.price-now,.price-now--promo,.price-per-unit,.cart-total,.importadora-card__name) { color: #ffbc82; }
html[data-tema="halloween"] body :is(.product-card__note,.product-modal__nota) { color: #e4d9ec; }
/* As observações do CMS podem conter cores inline pensadas para fundo branco. */
html[data-tema="halloween"] body :is(.product-card__note,.product-modal__nota) * { color: inherit !important; background-color: transparent !important; }
html[data-tema="halloween"] body :is(.buy-option,.qty-stepper,.variacao-select,.field input,.field textarea,.field select,.sort-select,.filter-chip,.cart-item,.product-modal__info,.product-modal__dialog,.cart-sidebar,.cart__panel,.checkout-form,.quick-table,.quick-table td,.quick-table th) { background: #2a1d36; color: #faf3ff; border-color: #765488; }
html[data-tema="halloween"] body :is(input,textarea,select)::placeholder { color: #cdbbdc; opacity: 1; }
html[data-tema="halloween"] body :is(.filter-chip:hover,.filter-chip--active) { background: #ffad65; color: #26112e; border-color: #ffad65; }
html[data-tema="halloween"] body :is(.btn--primary,.buy-option .btn,.popup-promo .btn--primary.popup-promo__btn,.quick-add-btn) { background: #ffad65; border-color: #ffad65; color: #26112e; }
html[data-tema="halloween"] body .btn--secondary { background: #392446; color: #ffe7d0; border-color: #b38bc9; }
html[data-tema="halloween"] body :is(.product-card__media--photo,.product-modal__main,.product-modal__thumb) { background: #fff; }
html[data-tema="halloween"] body :is(.popup-promo__dialog,.popup-promo__corpo,.popup-promo__conteudo) { background: #211629; color: #f8eaff; }
html[data-tema="halloween"] body :is(.popup-promo__titulo,.popup-promo__texto,.popup-promo__fechar) { color: #fff0df; }
html[data-tema="halloween"] body .popup-promo { --popup-cor-fundo: #211629; --popup-cor-texto: #f8eaff; --popup-cor-titulo: #ffbc82; }
html[data-tema="halloween"] body .reviews-widget { color-scheme: light; background: #fff; color: #1a1f2e; border-radius: 18px; padding: 20px; }
/* Decoração não captura cliques nem entra na árvore de acessibilidade. */
.halloween-decor,.halloween-fog { position: fixed; inset: 0; pointer-events: none; overflow: hidden; z-index: 102; }
.halloween-web { position: absolute; top: 0; width: clamp(100px,15vw,220px); color: #e0c9ef; opacity: .28; }
.halloween-web svg { width: 100%; height: auto; }
.halloween-web--left { left: 0; }
.halloween-web--right { right: 0; transform: scaleX(-1); }
.halloween-spider { position: absolute; width: 52px; transform-origin: top center; animation: halloween-sway 7s ease-in-out infinite alternate; }
.halloween-spider svg,.halloween-section-spider svg { width: 100%; height: 100%; }
.halloween-spider--one { left: 10px; top: 25%; }
.halloween-spider--two { right: 12px; top: 65%; width: 40px; animation-delay: -3s; }
html[data-tema="halloween"] body .halloween-haunted { position: relative; }
.halloween-section-spider { position: absolute; top: 14px; right: 10px; width: 48px; height: 90px; pointer-events: none; opacity: .75; }
.halloween-fog { z-index: 103; animation: halloween-fade 4s ease-out both; }
.halloween-fog i { position: absolute; inset: -20%; background: radial-gradient(ellipse at 15% 85%, #d8b8ed88, transparent 48%), radial-gradient(ellipse at 80% 70%, #ab82c67a, transparent 42%); filter: blur(26px); animation: halloween-mist 4s ease-out both; }
.halloween-fog i:nth-child(2) { transform: scaleX(-1); animation-direction: reverse; opacity: .6; }
.halloween-fog i:nth-child(3) { background: radial-gradient(ellipse at 50% 100%, #f2d0f7aa, transparent 60%); animation-delay: .2s; }
@keyframes halloween-mist { from { translate: -8% 15%; scale: 1; } to { translate: 12% -12%; scale: 1.25; } }
@keyframes halloween-fade { 0% { opacity: 0; } 15% { opacity: .85; } 65% { opacity: .4; } 100% { opacity: 0; } }
@keyframes halloween-sway { from { transform: rotate(-7deg) translateY(-4px); } to { transform: rotate(7deg) translateY(14px); } }
@media (max-width: 760px) {
 .halloween-web { width: 95px; opacity: .2; }
 .halloween-spider--one { width: 28px; left: 1px; top: 32%; }
 .halloween-spider--two { width: 26px; right: 0; }
 .halloween-section-spider { width: 25px; right: 1px; }
 .halloween-fog i { filter: blur(15px); }
}
@media (prefers-reduced-motion: reduce) { .halloween-fog { display: none; } .halloween-spider { animation: none; } }
@media print { .halloween-decor,.halloween-fog,.halloween-section-spider { display: none !important; } }
/* Superfícies auxiliares e estados de interação. */
html[data-tema="halloween"] body :is(.footer-grid,.product-modal__panel,.cart-header,.cart-footer,.cart-coupon,.product-note-editor,.legal-header,.legal-footer) { background: #211629; color: #faf3ff; border-color: #674979; }
html[data-tema="halloween"] body :is(.footer-col p,.footer-col a,.footer-bottom,.footer-company-details) { color: #d9cbe4; }
html[data-tema="halloween"] body .footer-col h4 { color: #ffbc82; }
html[data-tema="halloween"] body :is(.sort-control select,.cart-coupon__row input,.cart-item__note-editor textarea,.product-note-input,.cart-item .qty-btn) { background: #2a1d36; color: #faf3ff; border-color: #765488; }
html[data-tema="halloween"] body :is(.cart-fab svg,.back-to-top,.cart-count) { color: #26112e; }
html[data-tema="halloween"] body :is(.cart-totals--discount,.cart-coupon__status--success) { color: #9cebc0; }
html[data-tema="halloween"] body .variacao-field--erro .variacao-select { background: #441e32; }
html[data-tema="halloween"] body :is(.cart-item__remove,.badge--promo) { background: #52283e; color: #ffd1d7; }
html[data-tema="halloween"] body [data-elfsight-app-lazy] { color-scheme: light; background: #fff; color: #1a1f2e; border-radius: 18px; padding: 20px; }
html[data-tema="halloween"] body .avaliacoes-google-badge { background: #392446; color: #ffe7ce; }
html[data-tema="halloween"] body :is(.legal-content h1,.legal-content section h2,.legal-eyebrow) { color: #ffbc82; }
html[data-tema="halloween"] body :is(.legal-lead,.legal-content section p,.legal-contact p) { color: #dfd1e9; }
@media screen {
 html[data-tema="halloween"] body :is(.quick-intro,.quick-toolbar,.quick-product,.quick-price,.quick-search,.quick-chip,.quick-count) { background: #211629; color: #faf3ff; border-color: #674979; }
 html[data-tema="halloween"] body :is(.quick-intro h1,.quick-intro > span,.quick-product__main h2,.quick-price > strong) { color: #ffbc82; }
 html[data-tema="halloween"] body :is(.quick-intro p,.quick-product__package,.quick-product__note,.quick-price > span,.quick-price > small,.quick-price > del,.quick-price__type,.quick-price__unit) { color: #dfd1e9; }
 html[data-tema="halloween"] body .quick-chip--active { background: #ffad65; color: #26112e; }
}

html[data-tema="halloween"] body :is(.product-related .product-related__card,.quick-loading,.quick-empty) { background: #2a1d36; color: #faf3ff; border-color: #765488; }
html[data-tema="halloween"] body :is(.product-related h3,.product-related__name,.quick-empty strong) { color: #faf3ff; }
html[data-tema="halloween"] body .product-related__category { color: #cfbfdc; }
html[data-tema="halloween"] body .product-related__price { color: #ffbc82; }
/* Laranja vivo, com texto escuro para preservar o contraste. */
html[data-tema="halloween"] body { --color-primary: #ff7900; --color-primary-dark: #ff922e; --color-secondary: #ff8a24; }
html[data-tema="halloween"] body :is(.halloween-button,.btn--primary,.btn--add,.buy-option .btn,.filter-chip--active,.quick-chip--active,.popup-promo .btn--primary.popup-promo__btn) {
 background: #ff7900; border-color: #ff922e; color: #1c0b24; font-weight: 800;
 box-shadow: 0 4px 20px #ff65002b;
}
html[data-tema="halloween"] body main > .section .btn--primary { background: #ff7900; color: #1c0b24; }
html[data-tema="halloween"] body :is(.halloween-button,.btn--primary,.btn--add):hover { background: #ff922e; color: #1c0b24; box-shadow: 0 5px 25px #ff650055; }
html[data-tema="halloween"] body :is(.price-now,.price-now--promo,.product-related__price,.halloween-opening em,.section__eyebrow) { color: #ff922e; }
html[data-tema="halloween"] body .product-card { border-color: #97502e; }
/* Botão mantém uma área fixa; apenas o desenho reage ao visitante. */
.halloween-pet { position: fixed; z-index: 104; padding: 0; width: 62px; height: 110px; background: none; border: 0; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.halloween-pet--one { left: 2px; top: 29%; }
.halloween-pet--two { right: 2px; top: 62%; }
.halloween-pet__body { display: block; width: 100%; height: 100%; transform-origin: 50% 0; transform: rotate(var(--pet-turn, 0deg)); transition: transform .3s ease, filter .3s ease; filter: drop-shadow(0 3px 5px #000) drop-shadow(0 0 3px #ff650044); }
.halloween-pet__body svg { width: 100%; height: 100%; overflow: visible; }
.halloween-pet__silk { position: absolute; bottom: 75%; left: 50%; height: 36vh; width: 1px; background: linear-gradient(transparent,#e2c4f780); pointer-events: none; }
.halloween-pet:hover .halloween-pet__body,.halloween-pet:focus-visible .halloween-pet__body { filter: drop-shadow(0 0 7px #ff7900aa); }
.halloween-pet:hover svg g:first-of-type { animation: halloween-legs .2s ease-in-out 4 alternate; transform-origin: center; }
.halloween-pet.is-scared .halloween-pet__body { animation: halloween-retreat 1.3s ease-in-out both; }
@keyframes halloween-retreat { 0% { transform: translateY(0) rotate(-8deg); } 25%,50% { transform: translateY(-85px) scale(.8) rotate(12deg); } 80% { transform: translateY(7px) rotate(-6deg); } 100% { transform: translateY(0); } }
@keyframes halloween-legs { to { transform: scaleX(1.13); } }
/* A entrada se dissipa para uma névoa contínua restrita à base da tela. */
.halloween-fog { display: block; z-index: 103; opacity: .8; animation: none; transition: opacity 3s ease; mask-image: linear-gradient(transparent 45%,#000 90%); }
.halloween-fog i { inset: 25% -25% -25%; background: radial-gradient(ellipse at 20% 85%,#d9c4ecb3,transparent 40%),radial-gradient(ellipse at 65% 90%,#aa84c7a6,transparent 43%),radial-gradient(ellipse at 90% 70%,#eee1f780,transparent 30%); filter: blur(22px); animation: halloween-rolling-fog 16s ease-in-out infinite alternate; }
.halloween-fog i:nth-child(2) { opacity: .65; animation-delay: -7s; animation-duration: 21s; }
.halloween-fog i:nth-child(3) { opacity: .5; animation-delay: -12s; background: radial-gradient(ellipse at 40% 95%,#f3e4ffcc,transparent 45%); }
.halloween-fog--settled { opacity: .5; mask-image: linear-gradient(transparent 70%,#000 100%); }
@keyframes halloween-rolling-fog { from { transform: translate(-9%,8%) scale(1); } to { transform: translate(9%,-8%) scale(1.2); } }
@media (max-width: 760px) {
 .halloween-pet { width: 44px; height: 76px; }
 .halloween-pet--one { left: 0; top: 30%; }
 .halloween-pet--two { right: 0; top: 62%; }
 .halloween-fog { opacity: .65; }
 .halloween-fog--settled { opacity: .4; }
}
@media (prefers-reduced-motion: reduce) {
 .halloween-fog { display: block; opacity: .4; mask-image: linear-gradient(transparent 75%,#000); transition: none; }
 .halloween-fog i { animation: none; }
 .halloween-pet__body { transition: none; transform: none; }
 .halloween-pet:hover svg g:first-of-type,.halloween-pet.is-scared .halloween-pet__body { animation: none; }
 .halloween-pet.is-scared .halloween-pet__body { filter: drop-shadow(0 0 12px #ff7900); }
}
@media print { .halloween-pet { display: none !important; } }
/* Volutas transparentes em SVG: textura de fumaça sem vídeo pesado. */
.halloween-fog i { background: url('../img/halloween-mist.svg') center bottom / 100% 80% no-repeat; filter: none; }
.halloween-fog i:nth-child(2) { background-size: 130% 90%; }
.halloween-fog i:nth-child(3) { background: url('../img/halloween-mist.svg') 70% bottom / 150% 75% no-repeat; }
