/**
 * Mega-Sena — visual futurista (camada sobre app-public.css)
 * Aurora · partículas · glass/glow · stagger · spotlight/tilt
 */
:root {
    --fx-teal: #0d9488;
    --fx-cyan: var(--pub-soft-on-dark, #f0d58a);
    --fx-violet: var(--pub-green-dark, #d4a84b);
    --fx-glass: rgba(255, 255, 255, 0.08);
    --fx-glass-border: rgba(240, 213, 138, 0.16);
    --fx-glow: rgba(var(--pub-green-rgb), 0.45);
    --fx-spot-x: 50%;
    --fx-spot-y: 40%;
}

/* ─── Camadas FX (injetadas via JS) ─── */
.pub-fx {
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}

.pub-fx-aurora {
    position: absolute;
    inset: -20%;
    background: var(--pub-aurora,
        radial-gradient(ellipse 55% 45% at 20% 30%, rgba(var(--pub-green-rgb), 0.35), transparent 55%),
        radial-gradient(ellipse 50% 40% at 80% 20%, rgba(212, 168, 75, 0.2), transparent 50%),
        radial-gradient(ellipse 45% 50% at 60% 85%, rgba(var(--pub-green-rgb), 0.22), transparent 55%),
        linear-gradient(165deg, var(--pub-deep, #0b0114) 0%, var(--pub-deep-2, #140225) 45%, var(--pub-deep-3, #1f0339) 100%));
    animation: pubFxAurora 18s ease-in-out infinite alternate;
}

.pub-fx-aurora::before,
.pub-fx-aurora::after {
    content: '';
    position: absolute;
    border-radius: 50%;
    filter: blur(60px);
    opacity: 0.55;
    animation: pubFxBlob 22s ease-in-out infinite alternate;
}

.pub-fx-aurora::before {
    width: 55vmin;
    height: 55vmin;
    top: 10%;
    left: -5%;
    background: rgba(var(--pub-green-rgb), 0.35);
}

.pub-fx-aurora::after {
    width: 45vmin;
    height: 45vmin;
    bottom: 5%;
    right: -8%;
    background: rgba(212, 168, 75, 0.26);
    animation-delay: -8s;
}

.pub-fx-particles {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    opacity: 0.7;
}

.pub-fx-spotlight {
    position: absolute;
    inset: 0;
    background: radial-gradient(
        520px circle at var(--fx-spot-x) var(--fx-spot-y),
        rgba(var(--pub-green-rgb), 0.14),
        transparent 42%
    );
    opacity: 0;
    transition: opacity 0.35s ease;
}

body.pub-futur.pub-fx-spot-on .pub-fx-spotlight {
    opacity: 1;
}

@keyframes pubFxAurora {
    0% { filter: hue-rotate(0deg) brightness(1); }
    100% { filter: hue-rotate(12deg) brightness(1.06); }
}

@keyframes pubFxBlob {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(4vw, -3vh) scale(1.08); }
}

@keyframes pubFxStaggerIn {
    from {
        opacity: 0;
        transform: translateY(14px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes pubFxGlowPulse {
    0%, 100% { box-shadow: 0 0 0 1px rgba(var(--pub-green-rgb), 0.25), 0 8px 32px rgba(0, 0, 0, 0.35), 0 0 24px rgba(var(--pub-green-rgb), 0.12); }
    50% { box-shadow: 0 0 0 1px rgba(212, 168, 75, 0.35), 0 12px 40px rgba(0, 0, 0, 0.4), 0 0 36px rgba(var(--pub-green-rgb), 0.2); }
}

/* ─── Base lilás clara (como landpage) + header roxo ─── */
body.app-public.pub-futur {
    background: var(--pub-bg, #f4f0f8);
    background-image: var(--pub-bg-accent,
        radial-gradient(ellipse 140% 90% at 50% -30%, rgba(var(--pub-green-rgb), 0.12), transparent 52%),
        linear-gradient(180deg, var(--pub-bg, #f4f0f8) 0%, var(--pub-lilac-2, #ebe4f0) 100%));
    color: var(--pub-text, #1a0a2e);
}

body.app-public.pub-futur .pub-app {
    position: relative;
    z-index: 1;
    background: transparent;
    background-image: none;
}

/* Aurora só no header — não escurece a área de apostas */
body.app-public.pub-futur .pub-fx {
    display: none;
}

@media (min-width: 768px) {
    body.app-public.pub-futur .pub-app {
        border-color: rgba(var(--pub-green-rgb), 0.12);
        box-shadow:
            0 0 0 1px rgba(var(--pub-green-rgb), 0.08),
            0 20px 48px rgba(46, 0, 79, 0.12);
        background: var(--pub-surface, #fff);
        overflow: hidden;
    }
}

/* ─── Header / capa no estilo landpage (roxo profundo + ouro) ─── */
body.app-public.pub-futur .app-header {
    background: linear-gradient(
        180deg,
        rgba(var(--pub-deep-rgb, 20, 2, 37), 0.96) 0%,
        rgba(var(--pub-green-rgb), 0.92) 100%
    );
    backdrop-filter: blur(16px) saturate(1.2);
    -webkit-backdrop-filter: blur(16px) saturate(1.2);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow:
        0 4px 24px rgba(0, 0, 0, 0.35),
        0 0 40px rgba(var(--pub-green-rgb), 0.22);
}

body.app-public.pub-futur .pub-capa-hero {
    background:
        radial-gradient(ellipse 55% 50% at 80% 20%, rgba(var(--pub-gold-rgb, 255, 193, 7), 0.1), transparent 55%),
        radial-gradient(ellipse 40% 45% at 10% 80%, rgba(var(--pub-green-rgb), 0.35), transparent 55%),
        linear-gradient(145deg, var(--pub-deep, #1a0035), var(--pub-green-dark, #2e004f));
}
body.app-public.pub-futur .pub-hero {
    background: rgba(var(--pub-deep-rgb, 20, 2, 37), 0.55);
    border-color: rgba(255, 255, 255, 0.16);
    backdrop-filter: blur(14px) saturate(1.25);
    -webkit-backdrop-filter: blur(14px) saturate(1.25);
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.1),
        0 10px 28px rgba(0, 0, 0, 0.32);
}

body.app-public.pub-futur .pub-hero-stat {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

body.app-public.pub-futur .pub-hero-stat--bet {
    background: rgba(var(--pub-green-rgb), 0.28);
    border-color: rgba(var(--pub-gold-rgb, 255, 193, 7), 0.28);
}

body.app-public.pub-futur .pub-hero-valor-preco--premio {
    color: var(--pub-gold, #ffc107) !important;
    text-shadow: 0 0 18px rgba(var(--pub-gold-rgb, 255, 193, 7), 0.35);
}

body.app-public.pub-futur .pub-header-link {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.88);
    border-radius: 999px;
}

body.app-public.pub-futur .pub-header-link:hover {
    background: rgba(255, 255, 255, 0.14);
    border-color: rgba(var(--pub-gold-rgb, 255, 193, 7), 0.45);
}

/* ─── Tabs na faixa roxa do header ─── */
body.app-public.pub-futur .pub-tabs {
    background: linear-gradient(180deg, var(--pub-green, #2e004f), var(--pub-green-dark, #23003d));
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 0.45rem 0.65rem 0.55rem;
}
body.app-public.pub-futur .pub-tabs-list {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: none;
}

body.app-public.pub-futur .pub-tabs-list .nav-link {
    color: rgba(255, 255, 255, 0.78);
}

body.app-public.pub-futur .pub-tabs-list .nav-link:not(.active):hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

body.app-public.pub-futur .pub-tabs-list .nav-link.active {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    box-shadow: inset 0 -3px 0 var(--pub-gold, #ffc107);
}

/* ─── Cards claros lilás (área de apostas) ─── */
body.app-public.pub-futur .app-bet-card,
body.app-public.pub-futur .mobile-card,
body.app-public.pub-futur .pub-consult-card,
body.app-public.pub-futur .bet-panel {
    background: var(--pub-surface, #fff);
    color: var(--pub-text, #1a0a2e);
    border: 1px solid rgba(var(--pub-green-rgb), 0.12);
    box-shadow: 0 8px 28px rgba(46, 0, 79, 0.08);
    animation: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

body.app-public.pub-futur .pick-summary {
    background: transparent;
    border-bottom-color: transparent;
}

body.app-public.pub-futur .pick-summary.is-complete {
    background: transparent;
}

body.app-public.pub-futur .pick-progress-text,
body.app-public.pub-futur .pick-grid-label {
    color: var(--pub-green, #2e004f);
    letter-spacing: 0.04em;
    font-weight: 700;
}

body.app-public.pub-futur .pick-remaining {
    color: var(--pub-muted, #6b6280);
}

body.app-public.pub-futur .pick-progress-track {
    background: rgba(var(--pub-green-rgb), 0.12);
}

body.app-public.pub-futur .pick-progress-fill {
    background: linear-gradient(90deg, var(--pub-green), var(--pub-gold, #ffc107));
    box-shadow: 0 0 10px rgba(var(--pub-gold-rgb, 255, 193, 7), 0.35);
}

/* ─── Volante claro ─── */
body.app-public.pub-futur .dezenas-container {
    background: var(--pub-lilac, #f0eaf6);
    border-color: rgba(var(--pub-green-rgb), 0.12);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
}

body.app-public.pub-futur .dezena-btn:not(.selected),
body.app-public.pub-futur .bet-panel--grid .dezena-btn:not(.selected) {
    background: #fff !important;
    border-color: rgba(var(--pub-green-rgb), 0.28) !important;
    color: var(--pub-green, #2e004f) !important;
    box-shadow: 0 1px 2px rgba(46, 0, 79, 0.06) !important;
}

@media (hover: hover) {
    body.app-public.pub-futur .dezena-btn:not(.selected):hover {
        background: rgba(var(--pub-green-rgb), 0.1) !important;
        border-color: var(--pub-green, #2e004f) !important;
        color: var(--pub-green, #2e004f) !important;
    }
}

body.app-public.pub-futur .dezena-btn.selected {
    background: linear-gradient(145deg, var(--pub-green-mid, var(--pub-green)) 0%, var(--pub-green) 48%, var(--pub-green-dark) 100%) !important;
    border-color: var(--pub-gold, #ffc107) !important;
    color: #fff !important;
    font-weight: 800;
    transform: scale(1.06) !important;
    animation: none !important;
    opacity: 1 !important;
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.9),
        0 0 0 4px rgba(var(--pub-gold-rgb, 255, 193, 7), 0.55),
        0 6px 14px rgba(var(--pub-green-rgb), 0.35);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

body.app-public.pub-futur .pick-ball.is-filled {
    background: linear-gradient(145deg, var(--pub-green-mid, var(--pub-green)), var(--pub-green));
    border-color: var(--pub-gold, #ffc107);
    color: #fff;
    box-shadow: 0 2px 8px rgba(var(--pub-green-rgb), 0.35);
}

body.app-public.pub-futur .pick-ball.is-empty {
    background: var(--pub-lilac, #f0eaf6);
    border-color: rgba(var(--pub-green-rgb), 0.2);
    color: rgba(var(--pub-green-rgb), 0.35);
}

body.app-public.pub-futur .pick-grid-surpresa {
    background: rgba(var(--pub-green-rgb), 0.08);
    border-color: rgba(var(--pub-green-rgb), 0.28);
    color: var(--pub-green, #2e004f);
    border-radius: 999px;
}

body.app-public.pub-futur .pick-grid-surpresa:hover {
    background: rgba(var(--pub-gold-rgb, 255, 193, 7), 0.18);
    border-color: var(--pub-gold, #ffc107);
    color: var(--pub-green, #2e004f);
}

/* ─── Dock + footer ─── */
body.app-public.pub-futur .pub-dock {
    background: rgba(255, 255, 255, 0.96);
    border-top: 1px solid rgba(var(--pub-green-rgb), 0.14);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 -8px 28px rgba(46, 0, 79, 0.1);
    overflow: visible;
}

body.app-public.pub-futur .pub-dock .btn-apostar--finalizar.is-ready,
body.app-public.pub-futur .pub-dock:not(.has-finalizar) .btn-apostar.is-ready {
    background: linear-gradient(145deg, var(--pub-gold-soft, #ffe082), var(--pub-cta, var(--pub-gold, #ffc107)) 48%, var(--pub-cta-dark, #e0a800)) !important;
    border-color: var(--pub-cta, var(--pub-gold, #ffc107)) !important;
    color: var(--pub-on-cta, #2a0840) !important;
    box-shadow: 0 8px 22px rgba(var(--pub-gold-rgb, 255, 193, 7), 0.4) !important;
}

body.app-public.pub-futur .btn-apostar:disabled {
    background: rgba(var(--pub-green-rgb), 0.08) !important;
    border: 1px solid rgba(var(--pub-green-rgb), 0.18) !important;
    color: rgba(42, 8, 64, 0.45) !important;
    box-shadow: none;
}

body.app-public.pub-futur .btn-ghost,
body.app-public.pub-futur .btn-ghost--dock {
    background: rgba(var(--pub-green-rgb), 0.06);
    border-color: rgba(var(--pub-green-rgb), 0.28);
    color: var(--pub-green, #2e004f);
}

body.app-public.pub-futur .btn-ghost:hover,
body.app-public.pub-futur .btn-ghost--dock:hover {
    background: rgba(var(--pub-green-rgb), 0.12);
    border-color: var(--pub-green, #2e004f);
    color: var(--pub-green, #2e004f);
}

body.app-public.pub-futur .pub-dock.has-finalizar .pub-dock-row .btn-apostar:not(.is-ready) {
    background: #fff !important;
    color: var(--pub-green, #2e004f) !important;
    border: 1.5px solid rgba(var(--pub-green-rgb), 0.35) !important;
    box-shadow: none !important;
    animation: none !important;
}
body.app-public.pub-futur .pub-dock.has-finalizar .pub-dock-row .btn-apostar.is-ready:not(:disabled) {
    background: linear-gradient(145deg, var(--pub-gold-soft, #ffe082), var(--pub-cta, var(--pub-gold, #ffc107)) 48%, var(--pub-cta-dark, #e0a800)) !important;
    border-color: var(--pub-cta, var(--pub-gold, #ffc107)) !important;
    color: var(--pub-on-cta, #2a0840) !important;
    box-shadow: 0 8px 22px rgba(var(--pub-gold-rgb, 255, 193, 7), 0.4) !important;
}

body.app-public.pub-futur .app-footer {
    color: var(--pub-muted, #6b6280);
}

/* Faixas de info (PIX / suporte) */
body.app-public.pub-futur .app-hint,
body.app-public.pub-futur .pub-trust {
    background: rgba(var(--pub-green-rgb), 0.06);
    border: 1px solid rgba(var(--pub-green-rgb), 0.14);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    color: var(--pub-text, #1a0a2e);
    box-shadow: none;
}

body.app-public.pub-futur .app-hint i {
    color: var(--pub-green, #2e004f);
}

body.app-public.pub-futur .app-hint strong {
    color: #f1f5f9;
    font-weight: 600;
}

body.app-public.pub-futur #contatoSuporte {
    margin-top: 0.5rem;
}

body.app-public.pub-futur .pub-consult-title {
    color: var(--pub-green, #2e004f);
}

body.app-public.pub-futur .pub-consult-hint {
    color: var(--pub-muted, #6b6280);
}

body.app-public.pub-futur .pub-input-id {
    background: #fff;
    border-color: rgba(var(--pub-green-rgb), 0.22);
    color: var(--pub-text, #1a0a2e);
}

body.app-public.pub-futur .pub-input-id::placeholder {
    color: var(--pub-muted, #8a7a9e);
}

/* ─── Modais (Dados + PIX) — claros com header roxo ─── */
body.app-public.pub-futur .modal-backdrop.show {
    background: rgba(26, 10, 46, 0.55);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

body.app-public.pub-futur .pub-modal {
    background: #fff;
    border: 1px solid rgba(var(--pub-green-rgb), 0.12);
    border-radius: 18px;
    box-shadow:
        0 0 0 1px rgba(var(--pub-green-rgb), 0.06),
        0 24px 64px rgba(46, 0, 79, 0.22);
    overflow: hidden;
    color: var(--pub-text, #1a0a2e);
}

body.app-public.pub-futur .pub-modal-header {
    background: linear-gradient(135deg, rgba(var(--pub-green-rgb), 0.95), rgba(var(--pub-green-rgb), 0.88));
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding: 0.85rem 1rem;
}

body.app-public.pub-futur .pub-modal-header .modal-title {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
}

body.app-public.pub-futur .pub-modal-body {
    padding: 1rem 1rem 1.1rem;
    background: transparent;
}

body.app-public.pub-futur .pub-modal-resumo {
    padding: 0.85rem 0.75rem;
    background: rgba(var(--pub-green-rgb), 0.06);
    border: 1px solid rgba(var(--pub-green-rgb), 0.14);
    border-radius: 14px;
    box-shadow: none;
}

body.app-public.pub-futur .pub-modal-resumo-title {
    margin: 0 0 0.65rem;
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--pub-green, #2e004f);
    letter-spacing: 0.02em;
}

body.app-public.pub-futur .pub-modal-dezenas {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.35rem;
    margin-bottom: 0.55rem;
}

body.app-public.pub-futur .pub-modal-dezena-ball {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    height: 2.1rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    font-size: 0.8125rem;
    font-weight: 800;
    color: #fff;
    background: linear-gradient(145deg, var(--pub-green), var(--pub-green-dark));
    border: 1px solid rgba(34, 211, 238, 0.45);
    box-shadow: 0 0 14px rgba(var(--pub-green-rgb), 0.35);
}

body.app-public.pub-futur .pub-modal-valor {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--pub-text, #1a0a2e);
}

body.app-public.pub-futur .pub-modal-label {
    margin-bottom: 0.35rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--pub-green, #2e004f);
    letter-spacing: 0.02em;
}

body.app-public.pub-futur .pub-modal-input,
body.app-public.pub-futur .pub-modal .form-control {
    background: #fff;
    border: 1px solid rgba(var(--pub-green-rgb), 0.22);
    color: var(--pub-text, #1a0a2e);
    border-radius: 12px;
    min-height: 42px;
    font-size: 0.9375rem;
}

body.app-public.pub-futur .pub-modal .input-group .form-control {
    margin-bottom: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

body.app-public.pub-futur .pub-modal .input-group .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    min-height: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

body.app-public.pub-futur .pub-modal-input:focus,
body.app-public.pub-futur .pub-modal .form-control:focus {
    background: #fff;
    border-color: var(--pub-green, #2e004f);
    color: var(--pub-text, #1a0a2e);
    box-shadow: 0 0 0 3px rgba(var(--pub-green-rgb), 0.18);
}

body.app-public.pub-futur .pub-modal-input::placeholder,
body.app-public.pub-futur .pub-modal .form-control::placeholder {
    color: var(--pub-muted, #8a7a9e);
}

body.app-public.pub-futur .pub-modal-hint,
body.app-public.pub-futur .pub-modal-footnote,
body.app-public.pub-futur .pub-modal .text-muted,
body.app-public.pub-futur .pub-modal small.text-muted {
    display: block;
    margin-top: 0.4rem;
    font-size: 0.6875rem;
    line-height: 1.45;
    color: var(--pub-muted, #6b6280) !important;
}

body.app-public.pub-futur .pub-modal-footnote {
    margin-top: 0.75rem;
}

body.app-public.pub-futur .pub-modal-submit,
body.app-public.pub-futur .pub-modal .btn-success {
    min-height: 50px;
    border: none;
    border-radius: 12px;
    font-weight: 800;
    letter-spacing: 0.01em;
    color: #2a0840;
    background: linear-gradient(145deg, var(--pub-gold-soft, #ffe082), var(--pub-cta, #ffc107) 48%, var(--pub-cta-dark, #e0a800));
    box-shadow: 0 8px 24px rgba(var(--pub-gold-rgb, 255, 193, 7), 0.35);
}

body.app-public.pub-futur .pub-modal-submit:hover,
body.app-public.pub-futur .pub-modal .btn-success:hover {
    color: #2a0840;
    background: linear-gradient(145deg, #fff3b0, var(--pub-cta, #ffc107) 48%, var(--pub-cta-dark, #e0a800));
}

body.app-public.pub-futur .pub-modal-submit:disabled {
    background: rgba(var(--pub-green-rgb), 0.12);
    color: rgba(42, 8, 64, 0.45);
    box-shadow: none;
}

body.app-public.pub-futur .pub-modal-honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    opacity: 0;
}

body.app-public.pub-futur .pub-modal .alert-success {
    background: rgba(var(--pub-green-rgb), 0.12);
    border: 1px solid rgba(34, 211, 238, 0.25);
    color: #e2e8f0;
    border-radius: 12px;
    text-align: left;
}

body.app-public.pub-futur .pub-modal .alert-warning {
    background: rgba(245, 158, 11, 0.12);
    border: 1px solid rgba(251, 191, 36, 0.28);
    color: #fde68a;
    border-radius: 12px;
}

body.app-public.pub-futur .pub-modal .alert-danger {
    background: rgba(239, 68, 68, 0.12);
    border: 1px solid rgba(248, 113, 113, 0.28);
    color: #fecaca;
    border-radius: 12px;
}

body.app-public.pub-futur .pub-modal .text-success {
    color: var(--fx-cyan) !important;
}

body.app-public.pub-futur .pub-modal .badge.bg-success,
body.app-public.pub-futur .pub-modal .badge.bg-primary {
    background: linear-gradient(145deg, var(--pub-green), var(--pub-green-dark)) !important;
    border: 1px solid rgba(34, 211, 238, 0.35);
    font-weight: 700;
}

body.app-public.pub-futur .pub-modal code {
    color: var(--fx-cyan);
    background: rgba(255, 255, 255, 0.06);
    padding: 0.1rem 0.35rem;
    border-radius: 6px;
}

body.app-public.pub-futur .pub-modal-qr {
    display: inline-block;
    padding: 10px;
    background: #fff;
    border-radius: 16px;
    border: 2px solid rgba(var(--pub-green-rgb), 0.45);
    box-shadow: 0 0 24px rgba(var(--pub-green-rgb), 0.2);
}

body.app-public.pub-futur .pub-modal-pix-dialog {
    max-width: 400px;
}
body.app-public.pub-futur .pub-modal-pix-dialog .modal-content {
    max-height: min(92vh, 640px);
}
body.app-public.pub-futur .pub-modal-body--pix {
    padding: 0.75rem 0.85rem 0.9rem;
    text-align: left;
}
body.app-public.pub-futur .pub-modal-qr--sm {
    padding: 6px;
    border-radius: 12px;
}
body.app-public.pub-futur .pub-pix-actions .btn-success,
body.app-public.pub-futur .pub-pix-actions .btn-whatsapp {
    min-height: 42px;
}

body.app-public.pub-futur .pub-modal .btn-outline-success,
body.app-public.pub-futur .pub-modal .btn-outline-info {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.18);
    color: #e2e8f0;
}

body.app-public.pub-futur .pub-modal .btn-outline-success:hover,
body.app-public.pub-futur .pub-modal .btn-outline-info:hover {
    background: rgba(var(--pub-green-rgb), 0.18);
    border-color: rgba(34, 211, 238, 0.45);
    color: #fff;
}

body.app-public.pub-futur .pub-modal .btn-whatsapp,
body.app-public.pub-futur .pub-modal .btn[style*="#25D366"] {
    background: #25D366 !important;
    border: none !important;
    color: #fff !important;
    border-radius: 12px;
    min-height: 46px;
    font-weight: 700;
}

/* ─── Tilt (desktop, pointer fino) ─── */
body.app-public.pub-futur .pub-fx-tilt {
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform 0.12s ease-out;
}

/* ─── Stagger reveal ─── */
body.app-public.pub-futur .pub-fx-stagger > * {
    opacity: 0;
}

body.app-public.pub-futur.pub-fx-ready .pub-fx-stagger > * {
    animation: pubFxStaggerIn 0.55s var(--pub-ease, cubic-bezier(0.22, 1, 0.36, 1)) forwards;
    animation-delay: calc(var(--fx-i, 0) * 70ms);
}

body.app-public.pub-futur:not(.pub-fx-ready) .dezena-grid .dezena-btn {
    opacity: 0;
}

body.app-public.pub-futur.pub-fx-ready .dezena-grid .dezena-btn {
    animation: pubFxStaggerIn 0.35s ease forwards;
    animation-delay: calc(var(--fx-i, 0) * 18ms);
}

/* ─── Toast flutuante ─── */
body.app-public.pub-futur .pub-toast {
    background: rgba(var(--pub-deep-rgb, 20, 2, 37), 0.92);
    border: 1px solid rgba(255, 255, 255, 0.14);
    color: #f8fafc;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45), 0 0 0 1px rgba(var(--pub-green-rgb), 0.15);
}

body.app-public.pub-futur .pub-toast--success {
    border-color: rgba(52, 211, 153, 0.45);
    color: #6ee7b7;
}

body.app-public.pub-futur .pub-toast--info {
    border-color: rgba(96, 165, 250, 0.45);
    color: #93c5fd;
}

body.app-public.pub-futur .pub-toast--warning {
    border-color: rgba(251, 191, 36, 0.45);
    color: #fcd34d;
}

body.app-public.pub-futur .pub-toast--danger {
    border-color: rgba(248, 113, 113, 0.45);
    color: #fca5a5;
}

/* ─── prefers-reduced-motion ─── */
@media (prefers-reduced-motion: reduce) {
    .pub-fx-aurora,
    .pub-fx-aurora::before,
    .pub-fx-aurora::after {
        animation: none !important;
    }

    body.app-public.pub-futur .app-bet-card,
    body.app-public.pub-futur .mobile-card,
    body.app-public.pub-futur .pub-consult-card {
        animation: none !important;
    }

    body.app-public.pub-futur .pub-fx-stagger > *,
    body.app-public.pub-futur .dezena-grid .dezena-btn {
        opacity: 1 !important;
        animation: none !important;
        transform: none !important;
    }

    body.app-public.pub-futur .pub-fx-tilt {
        transform: none !important;
        transition: none !important;
    }

    .pub-fx-particles {
        display: none;
    }
}
