/* =====================================================================
   ProjetoMS — Tema "Halloween"
   Camada por cima do site.css (só carrega com o tema ligado no painel:
   Admin — Doações > Aparência). SÓ aparência: cores, fundo do topo,
   fonte dos títulos e enfeites. Nenhum bloco é acrescentado, tirado ou
   muda de lugar (pedido do dono): o HTML é o mesmo do tema normal.
   Paleta da arte do dono: noite roxa, laranja de abóbora, dourado.
   ===================================================================== */

body.theme-halloween {
    --navy-950: #0b0616;
    --navy-900: #120a22;
    --navy-850: #170d2b;
    --navy-800: #1b1032;
    --navy-750: #22133d;
    --navy-700: #2a1849;
    --navy-600: #3a2263;
    --blue: #8a5cf0;
    --blue-light: #c9a6ff;
    --orange: #ff8a1c;
    --orange-deep: #e2550b;
    --gold: #ffc24a;
    --gold-soft: #ffe2a3;
    --purple: #b893ff;
    --white: #fff8ee;
    --text: #f4ecff;
    --text-dim: #cdbfe6;
    --text-mute: #b9aed6;
    --surface: rgba(34, 19, 58, .82);
    --surface-solid: #1d1133;
    --surface-2: rgba(42, 24, 70, .78);
    --surface-hover: rgba(62, 36, 100, .85);
    --line: rgba(222, 150, 78, .24);
    --line-strong: rgba(240, 168, 86, .5);
    --ring: 0 0 0 3px rgba(255, 138, 28, .45);
    --hw-panel: linear-gradient(180deg, rgba(40, 22, 66, .92), rgba(20, 11, 37, .95));
    --hw-border: rgba(214, 140, 64, .5);
    --hw-glow: 0 0 0 1px rgba(255, 170, 80, .08), 0 10px 28px rgba(5, 0, 14, .55), inset 0 1px 0 rgba(255, 220, 160, .07);
    --hw-font: 'Texturina', 'Fraunces', Georgia, serif;   /* títulos com serifa pontuda, como na arte */
    background-color: var(--navy-900);
    background-image: none;
}
/* fundo fixo da página inteira: as árvores, abóboras e lanternas da arte nas laterais, noite no meio */
body.theme-halloween::before {
    content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background: #120a22 url("/assets/img/halloween/page-bg.webp") center top / cover no-repeat;
}
@media (max-width: 900px) and (orientation: portrait) {
    body.theme-halloween::before { background-image: url("/assets/img/halloween/page-bg-m.webp"); }
}

/* ---------- Botões ---------- */
.theme-halloween .btn { position: relative; font-family: var(--hw-font); font-weight: 700; letter-spacing: .01em; }
.theme-halloween .btn-upper { text-transform: none; letter-spacing: .01em; }
.theme-halloween .btn-primary, .theme-halloween .btn-secondary { border-radius: 10px; }
.theme-halloween .btn-primary::before, .theme-halloween .btn-secondary::before {
    content: ""; position: absolute; inset: 3px; border-radius: 7px; pointer-events: none;
    border: 1px solid rgba(255, 214, 140, .38);
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg transform='rotate(0 8 8)'%3E%3Cpath d='M1.5 13V7.5C1.5 4 4 1.5 7.5 1.5H13' fill='none' stroke='%23ffd27a' stroke-width='1.3'/%3E%3Cpath d='M4.5 9.5c0-2.8 2.2-5 5-5' fill='none' stroke='%23ffd27a' stroke-width='1'/%3E%3Ccircle cx='9.5' cy='4.5' r='1.2' fill='%23ffd27a'/%3E%3Ccircle cx='4.5' cy='9.5' r='1.2' fill='%23ffd27a'/%3E%3C/g%3E%3C/svg%3E") left 1px top 1px / 13px 13px no-repeat,
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg transform='rotate(90 8 8)'%3E%3Cpath d='M1.5 13V7.5C1.5 4 4 1.5 7.5 1.5H13' fill='none' stroke='%23ffd27a' stroke-width='1.3'/%3E%3Cpath d='M4.5 9.5c0-2.8 2.2-5 5-5' fill='none' stroke='%23ffd27a' stroke-width='1'/%3E%3Ccircle cx='9.5' cy='4.5' r='1.2' fill='%23ffd27a'/%3E%3Ccircle cx='4.5' cy='9.5' r='1.2' fill='%23ffd27a'/%3E%3C/g%3E%3C/svg%3E") right 1px top 1px / 13px 13px no-repeat,
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg transform='rotate(180 8 8)'%3E%3Cpath d='M1.5 13V7.5C1.5 4 4 1.5 7.5 1.5H13' fill='none' stroke='%23ffd27a' stroke-width='1.3'/%3E%3Cpath d='M4.5 9.5c0-2.8 2.2-5 5-5' fill='none' stroke='%23ffd27a' stroke-width='1'/%3E%3Ccircle cx='9.5' cy='4.5' r='1.2' fill='%23ffd27a'/%3E%3Ccircle cx='4.5' cy='9.5' r='1.2' fill='%23ffd27a'/%3E%3C/g%3E%3C/svg%3E") right 1px bottom 1px / 13px 13px no-repeat,
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg transform='rotate(270 8 8)'%3E%3Cpath d='M1.5 13V7.5C1.5 4 4 1.5 7.5 1.5H13' fill='none' stroke='%23ffd27a' stroke-width='1.3'/%3E%3Cpath d='M4.5 9.5c0-2.8 2.2-5 5-5' fill='none' stroke='%23ffd27a' stroke-width='1'/%3E%3Ccircle cx='9.5' cy='4.5' r='1.2' fill='%23ffd27a'/%3E%3Ccircle cx='4.5' cy='9.5' r='1.2' fill='%23ffd27a'/%3E%3C/g%3E%3C/svg%3E") left 1px bottom 1px / 13px 13px no-repeat;
}
.theme-halloween .btn-sm::before { inset: 2px; background-size: 9px 9px; }
.theme-halloween .btn-primary {
    --btn-fg: #fff6e8; --btn-bd: #ffc062;
    background: linear-gradient(180deg, #d8621a 0%, #b8400c 42%, #a2300a 76%, #86200a 100%);
    box-shadow: 0 6px 22px rgba(240, 89, 15, .42), 0 0 0 1px rgba(90, 24, 0, .6), inset 0 1px 0 rgba(255, 230, 170, .55), inset 0 0 16px rgba(255, 200, 90, .25);
    text-shadow: 0 1px 2px rgba(80, 20, 0, .7);
}
.theme-halloween .btn-primary:hover { filter: none; box-shadow: 0 10px 28px rgba(240, 89, 15, .5), inset 0 1px 0 rgba(255, 230, 170, .55); }
.theme-halloween .btn-secondary { --btn-bg: linear-gradient(180deg, rgba(26, 16, 44, .95), rgba(12, 7, 24, .95)); --btn-bd: rgba(236, 170, 90, .8); background: var(--btn-bg); color: #fff3dc; }
.theme-halloween .btn-secondary .icon { color: #c9a6ff; }
.theme-halloween .btn-secondary:hover { --btn-bg: linear-gradient(180deg, rgba(48, 26, 82, .95), rgba(20, 10, 38, .95)); --btn-bd: #ffc062; }
/* folha de outono no canto do botão principal do topo (como na arte) */
.theme-halloween .hero-ctas .btn-primary::after {
    content: ""; position: absolute; right: -10px; bottom: -12px; width: 34px; height: 34px; pointer-events: none; transform: rotate(18deg);
    background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23e2380c' d='M12 1.5l1.6 3.6 3.1-1.2-.6 3.7 3.8-.4-1.9 3 2.8 1.3-3.5 1.5 1 2.9-3.5-.9L12 18l-2.8-2.9-3.5.9 1-2.9-3.5-1.5 2.8-1.3-1.9-3 3.8.4-.6-3.7 3.1 1.2L12 1.5Z'/%3E%3Cpath stroke='%238a1d00' stroke-width='1' d='M12 18v4.5'/%3E%3C/svg%3E");
    filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .6));
}
.theme-halloween .btn-ghost:hover { --btn-bg: rgba(201, 166, 255, .1); }
.theme-halloween .hero-ctas .btn-primary { animation: hwGlow 3.4s ease-in-out infinite; }
@keyframes hwGlow { 0%, 100% { box-shadow: 0 6px 20px rgba(240, 89, 15, .38), inset 0 1px 0 rgba(255, 230, 170, .55); } 50% { box-shadow: 0 8px 34px rgba(255, 110, 20, .6), inset 0 1px 0 rgba(255, 230, 170, .55); } }

/* ---------- Cabeçalho ---------- */
.theme-halloween .site-header {
    background: linear-gradient(180deg, rgba(20, 10, 36, .97), rgba(14, 7, 27, .95));
    border-bottom: 1px solid transparent;
    border-image: linear-gradient(90deg, rgba(214, 140, 64, 0), rgba(240, 170, 90, .85) 20%, rgba(255, 200, 110, 1) 50%, rgba(240, 170, 90, .85) 80%, rgba(214, 140, 64, 0)) 1;
}
.theme-halloween .brand { background: linear-gradient(180deg, #24123e, #160b29); border-color: var(--hw-border); }
/* o logo do Halloween (View::logoImages) já traz o fantasma, as abóboras e a folha, como na arte */
/* a arte é mais comprida que o logo normal: amplia só o desenho (transform não mexe na caixa nem nas posições; cabe na margem da aba) */
.theme-halloween .brand img { transform: scale(1.14); filter: drop-shadow(0 4px 10px rgba(0, 0, 0, .5)) drop-shadow(0 0 10px rgba(255, 150, 40, .22)); }
.theme-halloween .footer-brand img { transform: scale(1.14); transform-origin: left center; }
.theme-halloween .brand::after { background: #160b29; border-color: var(--hw-border); }
.theme-halloween .nav-link:hover .icon { color: var(--gold); }
.theme-halloween .nav-link.is-active { color: #ffd28a; }
.theme-halloween .nav-link.is-active .icon { color: var(--orange); }
.theme-halloween .nav-link { color: #fff1dc; }
@media (min-width: 1101px) { .theme-halloween .nav-link { font-family: var(--hw-font); font-weight: 700; } }
.theme-halloween .nav-link.is-active::after {
    left: 0; right: 0; top: 16px; bottom: 16px; height: auto; z-index: -1;
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0l5 5-5 5-5-5Z' fill='%23ffd27a'/%3E%3C/svg%3E") center top -4px / 8px 8px no-repeat,
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M5 0l5 5-5 5-5-5Z' fill='%23ffd27a'/%3E%3C/svg%3E") center bottom -4px / 8px 8px no-repeat,
        linear-gradient(180deg, rgba(110, 30, 14, .75), rgba(60, 14, 8, .85));
    border: 1.5px solid rgba(240, 170, 80, .9); border-radius: 10px;
    box-shadow: 0 0 14px rgba(255, 138, 28, .4), inset 0 0 0 2px rgba(60, 14, 8, .6), inset 0 0 0 3px rgba(255, 210, 130, .3);
}
.theme-halloween .nav-link.is-highlight:not(.is-active) .icon { color: var(--gold); }
.theme-halloween .nav-toggle { background: rgba(36, 18, 62, .9); border-color: var(--hw-border); }
.theme-halloween .dropdown { background: #1d1133; border-color: var(--hw-border); }
@keyframes hwFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-5px); } }
/* folhas de outono nos cantos do cabeçalho (como na arte) */
.theme-halloween .site-header::before, .theme-halloween .site-header::after {
    content: ""; position: absolute; top: 0; width: 92px; height: var(--header-h); pointer-events: none; z-index: 0;
    background: no-repeat top/contain;
    filter: drop-shadow(0 3px 5px rgba(0, 0, 0, .55));
}
.theme-halloween .header-inner { position: relative; z-index: 1; }   /* menu e botões por cima das folhas */
.theme-halloween .site-header::before { left: 0; background-image: url("/assets/img/halloween/corner-tl.webp"); background-position: left top; }
.theme-halloween .site-header::after { right: 0; background-image: url("/assets/img/halloween/corner-tl.webp"); background-position: left top; transform: scaleX(-1); }

/* ---------- Topo (hero) ---------- */
.theme-halloween .hero-bg img { object-position: right 18%; }
.theme-halloween .hero::before {
    background:
        linear-gradient(90deg, rgba(18, 10, 34, .97) 0%, rgba(18, 10, 34, .9) 28%, rgba(18, 10, 34, .55) 46%, rgba(18, 10, 34, .08) 64%, rgba(18, 10, 34, 0) 100%),
        linear-gradient(180deg, rgba(18, 10, 34, .55) 0%, rgba(18, 10, 34, 0) 18%, rgba(18, 10, 34, 0) 64%, rgba(18, 10, 34, .45) 88%, rgba(18, 10, 34, 0) 100%);
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 74%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 74%, transparent 100%);
}
/* o fim do topo "dissolve" no fundo da página (sem corte seco entre a imagem do topo e o fundo com árvores) */
.theme-halloween .hero-bg, .theme-halloween .page-hero .hero-bg {
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
}
.theme-halloween .page-hero { border-bottom: 0; }
.theme-halloween .leaf { opacity: .75; }
.theme-halloween .status-pill { background: rgba(18, 10, 34, .82); border-color: var(--hw-border); }
.theme-halloween .status-pill .sep { background: var(--hw-border); }
.theme-halloween .hero h1 {
    font-family: var(--hw-font); font-weight: 900; letter-spacing: 0; color: #fff3dc;
    -webkit-text-stroke: 1.2px #3a1406;
    text-shadow: 0 3px 0 #2b0e04, 0 0 18px rgba(255, 200, 120, .28);
}
.theme-halloween .hero h1 .line-2 {
    background: linear-gradient(180deg, #fffbd0 0%, #ffe066 24%, #ffb52e 52%, #ff7a12 78%, #e8520a 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
    -webkit-text-stroke: 1.4px #5a2206; text-shadow: none;
    filter: drop-shadow(0 3px 0 #3a1204) drop-shadow(0 0 24px rgba(255, 150, 40, .55));
}
/* fantasminha flutuando ao lado do título (só enfeite) */
.theme-halloween .hero-content::before {
    content: ""; position: absolute; right: 8%; top: -6px; width: 58px; height: 56px; pointer-events: none;
    background: no-repeat center/contain url("/assets/img/halloween/ghost-art.webp");
    filter: drop-shadow(0 0 12px rgba(210, 220, 255, .55));
    animation: hwFloat 4.4s ease-in-out infinite;
}
.theme-halloween.page-home .hero-content:has(> .invite-banner)::before { content: none; }
/* letreiro "Halloween ProjetoMS": fora do fluxo, no espaço livre ACIMA do selo de status (não empurra nada).
   A altura acompanha a do topo (min-height do .hero): 36px + metade da sobra; em telas baixas ou no celular
   não há espaço livre, e fica o fantasminha. */
@media (min-width: 721px) and (min-height: 727px) {
    .theme-halloween.page-home .hero-content::before {
        --hw-mark-h: calc(36px + (clamp(600px, calc(100vh - var(--header-h) + 20px), 780px) - 643px) / 2);
        left: -12px; right: auto; top: auto; bottom: calc(100% + 6px);
        width: min(380px, calc(var(--hw-mark-h) * 2.897)); height: auto; aspect-ratio: 1240 / 428;
        background: no-repeat left bottom/contain url("/assets/img/halloween/wordmark.webp");
        filter: drop-shadow(0 0 22px rgba(255, 140, 30, .35)); animation: none;
    }
}
.theme-halloween .hero-lead { color: #eadcff; }
.theme-halloween .hero-features .icon { color: var(--orange); }
.theme-halloween .invite-banner { background: linear-gradient(90deg, rgba(255, 138, 28, .22), rgba(138, 92, 240, .12)); border-color: rgba(255, 138, 28, .5); }

/* morcegos voando (poucos; somem com prefers-reduced-motion) */
.hw-bats { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.hw-bat {
    position: absolute; left: -60px; width: 44px; height: 22px; opacity: .9;
    background: no-repeat center/contain url("/assets/img/halloween/bat.svg");
    animation: hwBatFly linear infinite; will-change: transform;
}
@keyframes hwBatFly {
    0% { transform: translate3d(0, 0, 0) scale(1); opacity: 0; }
    6% { opacity: .9; }
    25% { transform: translate3d(28vw, -26px, 0) scaleY(.7); }
    50% { transform: translate3d(56vw, 10px, 0) scaleY(1); }
    75% { transform: translate3d(84vw, -18px, 0) scaleY(.7); }
    94% { opacity: .85; }
    100% { transform: translate3d(112vw, 4px, 0) scale(1); opacity: 0; }
}

/* ---------- Faixa de status / rates ---------- */
.theme-halloween .stat { background: var(--hw-panel); border-color: var(--line); box-shadow: var(--hw-glow); }
.theme-halloween .stat-icon { background: rgba(255, 138, 28, .1); border-color: var(--line); }

/* ---------- Seções e cards ---------- */
.theme-halloween .section-title { color: #fff1dc; font-family: var(--hw-font); font-weight: 700; }
.theme-halloween .section-title .icon { color: var(--orange); fill: rgba(255, 138, 28, .25); }
.theme-halloween .section-link { color: #c9a6ff; }
.theme-halloween .section-link:hover { color: #e3d0ff; }
/* links: a cor base já vem de --blue-light (lilás); só o hover, com a MESMA força da regra base (não pinta o menu) */
:where(.theme-halloween) a:hover { color: #e3d0ff; }
.theme-halloween .card {
    background: var(--hw-panel); border-color: var(--hw-border); box-shadow: var(--hw-glow);
}
.theme-halloween .card-title { color: #fff1dc; font-family: var(--hw-font); font-weight: 700; letter-spacing: .01em; }
.theme-halloween .card-title .icon { color: var(--gold); }
.theme-halloween .card.is-accent { border-color: rgba(255, 138, 28, .6); background: linear-gradient(180deg, rgba(70, 32, 12, .55), rgba(20, 11, 37, .95)); }
.theme-halloween .card-leaf::before { opacity: .22; }
.theme-halloween .feature { background: var(--hw-panel); border-color: var(--hw-border); box-shadow: var(--hw-glow); }
.theme-halloween .feature-media img { filter: brightness(.56) saturate(1.25) hue-rotate(-26deg) contrast(1.1); }
.theme-halloween .feature-media::after { background: linear-gradient(180deg, rgba(70, 30, 130, .32) 0%, rgba(30, 14, 52, .18) 40%, rgba(24, 12, 42, .96) 100%); }
.theme-halloween .feature-icon { background: linear-gradient(180deg, #3a1f60, #22123d); border-color: var(--hw-border); }
.theme-halloween .feature h3 { color: #fff1dc; font-family: var(--hw-font); font-weight: 700; }

/* ranking compacto (home): coroa para o 1º, fileiras com divisória dourada */
.theme-halloween .rank-item { border-bottom-color: rgba(222, 150, 78, .16); }
.theme-halloween .rank-pos { background: rgba(201, 166, 255, .12); color: #e6d8ff; }
.theme-halloween .rank-pos.p1 { background: linear-gradient(180deg, #ffe58a, #e09a12); color: #3b2200; box-shadow: 0 0 12px rgba(255, 190, 60, .45); }
.theme-halloween .rank-level { color: var(--gold); }

/* tabelas, formulários, abas, alertas */
.theme-halloween .table-wrap { border-color: var(--line); }
.theme-halloween .table th { background: #241338; color: var(--text-dim); }
.theme-halloween .table tbody tr:hover { background: rgba(201, 166, 255, .05); }
.theme-halloween .input, .theme-halloween .field input[type=text], .theme-halloween .field input[type=email], .theme-halloween .field input[type=password],
.theme-halloween .field input[type=number], .theme-halloween .field input[type=month], .theme-halloween .field input[type=date],
.theme-halloween .field select, .theme-halloween .field textarea, .theme-halloween .select {
    background: rgba(12, 5, 24, .62); border-color: rgba(201, 166, 255, .32);
}
.theme-halloween .input:focus, .theme-halloween .field input:focus, .theme-halloween .field select:focus, .theme-halloween .field textarea:focus, .theme-halloween .select:focus {
    border-color: var(--orange); background: rgba(12, 5, 24, .85);
}
.theme-halloween .input::placeholder, .theme-halloween .field input::placeholder, .theme-halloween .field textarea::placeholder { color: #8f80ad; }
.theme-halloween .field select option, .theme-halloween .select option { background: #1d1133; }
.theme-halloween .tabs { background: rgba(12, 5, 24, .5); border-color: var(--line); }
.theme-halloween .tab:hover { background: rgba(201, 166, 255, .08); }
.theme-halloween .tab.active { color: #2a1500; background: linear-gradient(180deg, #ffb24a, #f07a1a); border-color: #ffc062; }
.theme-halloween .alert-info { background: rgba(138, 92, 240, .1); border-color: rgba(184, 147, 255, .45); color: #e3d4ff; }
.theme-halloween .alert-info .icon { color: var(--purple); }
.theme-halloween .wallet, .theme-halloween .kpi, .theme-halloween .reward-card, .theme-halloween .nx-result-box, .theme-halloween .terms-box { background: rgba(12, 5, 24, .5); }
.theme-halloween .pack-card { background: var(--hw-panel); }
.theme-halloween .modal-card, .theme-halloween .toast { background: #1d1133; }
.theme-halloween .progress { background: rgba(12, 5, 24, .7); }

/* páginas internas e login/cadastro */
.theme-halloween .page-hero .hero-bg img { object-position: 70% 12%; }
.theme-halloween .page-hero::before {
    background: linear-gradient(90deg, rgba(18, 10, 34, .96), rgba(18, 10, 34, .8) 52%, rgba(18, 10, 34, .42)), linear-gradient(180deg, rgba(18, 10, 34, .15), rgba(18, 10, 34, .2) 70%, rgba(18, 10, 34, 0));
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
    mask-image: linear-gradient(180deg, #000 0%, #000 70%, transparent 100%);
}
.theme-halloween .page-hero h1 { color: #fff1dc; font-family: var(--hw-font); font-weight: 700; text-shadow: 0 0 22px rgba(255, 140, 30, .25); }
.theme-halloween .auth-card h1 { font-family: var(--hw-font); font-weight: 700; }
.theme-halloween .auth-wrap::before { background: radial-gradient(800px 500px at 50% 40%, rgba(18, 10, 34, .5), rgba(18, 10, 34, .92)), linear-gradient(180deg, rgba(18, 10, 34, .3), var(--navy-900)); }
.theme-halloween .auth-card { background: linear-gradient(180deg, rgba(40, 22, 66, .95), rgba(18, 10, 34, .97)); border-color: var(--hw-border); }

/* ranking (estilos da própria página) e checkout (shop.css): o azul-marinho fixo vira o roxo do tema */
.theme-halloween .rk-tile, .theme-halloween .rk-tier, .theme-halloween .rk-pager a:not([aria-current]), .theme-halloween .rk-pager span:not([aria-current]):not(.gap) { background: rgba(26, 14, 46, .78); }
.theme-halloween .rk-tile[aria-current], .theme-halloween .rk-tier[aria-current] { background: rgba(70, 32, 12, .6); }
.theme-halloween .rk-pod { background: linear-gradient(180deg, rgba(58, 32, 96, .85), rgba(20, 11, 37, .95)); }
.theme-halloween .rk-row { background: linear-gradient(180deg, rgba(40, 22, 66, .78), rgba(20, 11, 37, .88)); }
.theme-halloween .vip-card { background: linear-gradient(180deg, rgba(48, 26, 82, .9), rgba(20, 11, 37, .95)); }
.theme-halloween .vip-card.is-featured { background: linear-gradient(180deg, rgba(70, 40, 20, .9), rgba(20, 11, 37, .95)); }
.theme-halloween .stepper-btn { background: rgba(70, 40, 118, .55); }
.theme-halloween .stepper-btn:hover { background: rgba(90, 52, 150, .7); }
.theme-halloween .sum-card { background: linear-gradient(180deg, rgba(40, 22, 66, .95), rgba(18, 10, 34, .97)); }
.theme-halloween .chip { background: rgba(12, 5, 24, .5); }
.theme-halloween .chip:hover, .theme-halloween .chip.is-active { background: rgba(70, 40, 118, .7); }
@media (max-width: 1080px) { .theme-halloween .sum-bar { background: rgba(18, 10, 34, .97); } }

/* ---------- Rodapé: abóboras nos cantos ---------- */
.theme-halloween .site-footer { position: relative; background: linear-gradient(180deg, rgba(18, 10, 34, .6), var(--navy-950)); border-top-color: var(--hw-border); }
@media (min-width: 1500px) {
    .theme-halloween .site-footer::before, .theme-halloween .site-footer::after {
        content: ""; position: absolute; top: -1px; bottom: 14px; width: 118px; pointer-events: none;
        filter: drop-shadow(0 0 14px rgba(255, 140, 30, .35));
    }
    .theme-halloween .site-footer::before {
        left: 12px;
        background:
            url("/assets/img/halloween/lantern.webp") no-repeat left 26px top / 34px auto,
            url("/assets/img/halloween/pumpkin-big.webp") no-repeat left bottom / 118px auto;
    }
    .theme-halloween .site-footer::after {
        right: 12px;
        background:
            url("/assets/img/halloween/lantern.webp") no-repeat right 26px top / 34px auto,
            url("/assets/img/halloween/ghost-art.webp") no-repeat right 14px bottom / 80px auto;
    }
}
.theme-halloween .footer-col h2 { color: #ffd28a; }
.theme-halloween .social a { background: rgba(42, 24, 70, .8); }

/* ---------- Responsivo ---------- */
@media (min-width: 1800px) {   /* só aqui as folhas maiores ficam na margem livre, fora da faixa de status e do conteúdo */
    .theme-halloween .site-header::before, .theme-halloween .site-header::after { width: 176px; height: 146px; }
}
@media (max-width: 1100px) {
    .theme-halloween .site-header { background: rgba(16, 8, 30, .985); }
    .theme-halloween .site-nav { background: rgba(16, 8, 30, .985); }
    .theme-halloween .nav-link.is-active::after { left: 0; right: auto; top: 10px; bottom: 10px; width: 3px; border: 0; border-radius: 0 3px 3px 0; background: linear-gradient(180deg, var(--orange), var(--gold)); box-shadow: none; }
    .theme-halloween .nav-link.is-active { background: rgba(255, 138, 28, .1); }
}
@media (max-width: 900px) {
    .theme-halloween .hero::before { background: linear-gradient(180deg, rgba(18, 10, 34, .5) 0%, rgba(18, 10, 34, .74) 40%, rgba(18, 10, 34, .82) 75%, rgba(18, 10, 34, .4) 100%); }
    .theme-halloween .hero-bg img { object-position: center 30%; }
    .theme-halloween .hero-content::before { right: 4px; top: -18px; width: 40px; height: 46px; }
}
@media (max-width: 400px) {
    .theme-halloween .hero-content::before { top: -36px; width: 30px; height: 34px; }
}

/* Movimento reduzido: nada voa nem flutua */
@media (prefers-reduced-motion: reduce) {
    .hw-bats { display: none; }
    .theme-halloween .hero-content::before { animation: none; }
}
