/* ============================================================================
   PREMIUM DARK THEME — Sua Rifa
   Aplica tema dark premium em todas as páginas via .premium-dark no body
   ============================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700;800&family=JetBrains+Mono:wght@500;600;700&display=swap');

:root {
    --pd-bg-base: #050814;
    --pd-bg-header: #000310;
    --pd-bg-surface: #0a0f1e;
    --pd-bg-card: #131a2e;
    --pd-bg-elevated: #1e2842;
    --pd-primary: #8b5cf6;
    --pd-primary-deep: #633abf;
    --pd-primary-light: #c4b5fd;
    --pd-primary-bg: rgba(139, 92, 246, 0.06);
    --pd-primary-bg-strong: rgba(139, 92, 246, 0.12);
    --pd-primary-bg-active: rgba(139, 92, 246, 0.18);
    --pd-primary-border: rgba(139, 92, 246, 0.18);
    --pd-primary-border-strong: rgba(139, 92, 246, 0.35);
    --pd-gold-light: #e8c06f;
    --pd-gold: #d4a857;
    --pd-gold-dark: #b88a3d;
    --pd-gold-text-on: #3d2e10;
    --pd-gold-border: rgba(212, 168, 87, 0.4);
    --pd-gold-bg: rgba(212, 168, 87, 0.15);
    --pd-gradient-gold: linear-gradient(135deg, #e8c06f 0%, #d4a857 50%, #b88a3d 100%);
    --pd-success: #10b981;
    --pd-success-light: #34d399;
    --pd-success-text-on: #052e1e;
    --pd-text-primary: #f1f5f9;
    --pd-text-secondary: #cbd5e1;
    --pd-text-tertiary: #94a3b8;
    --pd-text-muted: #475569;
    --pd-border-subtle: rgba(255, 255, 255, 0.06);
    --pd-border-default: rgba(255, 255, 255, 0.15);
    --pd-font-sans: 'Manrope', 'Inter', system-ui, -apple-system, sans-serif;
    --pd-font-display: 'Space Grotesk', sans-serif;
    --pd-font-mono: 'JetBrains Mono', monospace;
}

body.premium-dark {
    background: var(--pd-bg-base) !important;
    color: var(--pd-text-primary) !important;
    font-family: var(--pd-font-sans) !important;
    font-size: 14px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    min-height: 100vh;
}

body.premium-dark * { -webkit-tap-highlight-color: transparent; }

body.premium-dark .bg-cor-primaria,
body.premium-dark .bg-white,
body.premium-dark .bg-light {
    background: var(--pd-bg-base) !important;
    color: var(--pd-text-primary) !important;
}

body.premium-dark a { color: var(--pd-gold); }
body.premium-dark a:hover { color: var(--pd-gold-light); text-decoration: none; }

body.premium-dark h1, body.premium-dark h2, body.premium-dark h3,
body.premium-dark h4, body.premium-dark h5, body.premium-dark h6 {
    color: var(--pd-text-primary);
    font-family: var(--pd-font-sans);
    letter-spacing: -0.2px;
}

body.premium-dark strong, body.premium-dark b {
    color: var(--pd-text-primary);
    font-weight: 700;
}

/* ============================ ANIMAÇÕES ============================ */

@keyframes pdGoldenPulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(232, 192, 111, 0.55),
                    0 0 0 0 rgba(232, 192, 111, 0.35);
    }
    50% {
        box-shadow: 0 0 0 8px rgba(232, 192, 111, 0),
                    0 0 22px 2px rgba(232, 192, 111, 0.45);
    }
}

@keyframes pdBadgePulse {
    0%, 100% { transform: translateX(-50%) scale(1); }
    50% { transform: translateX(-50%) scale(1.06); }
}

@keyframes pdCountdownTick {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}

.pd-pulse { animation: pdGoldenPulse 2.2s ease-in-out infinite; }
.pd-pulse-badge { animation: pdBadgePulse 2.2s ease-in-out infinite; }
.pd-tick { animation: pdCountdownTick 1s ease-in-out infinite; }

/* ============================ HEADER / NAVBAR ============================ */

.pd-navbar {
    background: var(--pd-bg-header) !important;
    padding: 14px 20px !important;
    border-bottom: 1px solid var(--pd-gold-border);
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.pd-navbar .pd-navbar-container {
    max-width: 1140px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 8px;
}

.pd-navbar .pd-logo-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pd-navbar .pd-logo-img {
    height: 40px;
    width: auto;
    display: block;
}

.pd-navbar .pd-logo-fallback {
    width: 30px; height: 30px;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.6) 0%, rgba(99, 58, 191, 0.7) 100%);
    border: 1px solid var(--pd-gold-border);
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #fff;
    font-size: 14px;
    letter-spacing: -0.5px;
}

.pd-navbar .pd-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.pd-navbar .pd-my-numbers {
    width: 40px; height: 40px;
    background: var(--pd-primary-bg);
    border: 1px solid var(--pd-primary-border);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--pd-gold) !important;
    font-size: 18px;
    text-decoration: none !important;
    transition: background 0.15s ease;
}

.pd-navbar .pd-my-numbers:hover {
    background: var(--pd-primary-bg-strong);
    color: var(--pd-gold-light) !important;
}

.pd-navbar .pd-hamburger {
    width: 40px; height: 40px;
    background: transparent;
    border: 1px solid var(--pd-border-subtle);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    padding: 0;
    transition: border-color 0.15s ease;
}

.pd-navbar .pd-hamburger:hover { border-color: var(--pd-gold-border); }

.pd-navbar .pd-hamburger span {
    width: 20px;
    height: 1.5px;
    background: var(--pd-gold);
    border-radius: 2px;
    display: block;
}

/* ============================ MENU LATERAL ============================ */

.pd-mobile-menu .modal-dialog {
    max-width: 100% !important;
    margin: 0 !important;
    height: 100vh;
}

.pd-mobile-menu .modal-content {
    background: var(--pd-bg-base) !important;
    border: none !important;
    border-radius: 0 !important;
    min-height: 100vh;
    color: var(--pd-text-primary);
    font-family: var(--pd-font-sans);
}

.pd-mobile-menu .pd-menu-header {
    padding: 18px 20px 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(212, 168, 87, 0.12);
}

.pd-mobile-menu .pd-menu-close {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--pd-primary-bg);
    border: 1px solid var(--pd-primary-border);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--pd-text-secondary);
    font-size: 16px;
    padding: 0;
}

.pd-mobile-menu .pd-menu-body {
    padding: 16px;
    max-width: 500px;
    margin: 0 auto;
    width: 100%;
}

.pd-mobile-menu .pd-menu-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0 0 16px 0;
}

.pd-mobile-menu .pd-menu-item {
    background: var(--pd-bg-surface);
    border: 1px solid var(--pd-border-subtle);
    border-radius: 10px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    text-decoration: none !important;
    color: var(--pd-text-primary) !important;
    transition: background 0.15s ease, border-color 0.15s ease;
    position: relative;
}

.pd-mobile-menu .pd-menu-item:hover {
    background: rgba(139, 92, 246, 0.05);
    border-color: rgba(139, 92, 246, 0.15);
}

.pd-mobile-menu .pd-menu-item i,
.pd-mobile-menu .pd-menu-item .pd-menu-icon {
    color: var(--pd-gold) !important;
    font-size: 18px;
    width: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pd-mobile-menu .pd-menu-item span {
    font-weight: 600;
    font-size: 14px;
    color: var(--pd-text-primary) !important;
    letter-spacing: -0.1px;
    flex: 1;
}

.pd-mobile-menu .pd-menu-item.active {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.18) 0%, rgba(99, 58, 191, 0.12) 100%) !important;
    border-color: var(--pd-gold-border) !important;
}

.pd-mobile-menu .pd-menu-item.active::before {
    content: '';
    position: absolute;
    left: 0; top: 10px; bottom: 10px;
    width: 3px;
    background: linear-gradient(180deg, #e8c06f 0%, #d4a857 100%);
    border-radius: 0 3px 3px 0;
}

.pd-mobile-menu .pd-menu-item.active i,
.pd-mobile-menu .pd-menu-item.active .pd-menu-icon {
    color: var(--pd-gold-light) !important;
}

.pd-mobile-menu .pd-menu-item.active span {
    font-weight: 700;
    color: var(--pd-gold-light) !important;
}

.pd-mobile-menu .pd-btn-entrar {
    background: var(--pd-gradient-gold) !important;
    border: 1px solid rgba(212, 168, 87, 0.5) !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    cursor: pointer;
    color: var(--pd-gold-text-on) !important;
    text-decoration: none !important;
    font-weight: 800 !important;
    font-size: 14px !important;
    letter-spacing: -0.1px !important;
    width: 100%;
    transition: filter 0.15s ease;
}

.pd-mobile-menu .pd-btn-entrar:hover {
    filter: brightness(1.08);
    color: var(--pd-gold-text-on) !important;
}

.pd-mobile-menu .pd-btn-entrar i {
    color: var(--pd-gold-text-on) !important;
    font-size: 16px;
}

.pd-mobile-menu .pd-app-banner {
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.18) 0%, rgba(99, 58, 191, 0.12) 100%);
    border: 1px solid var(--pd-gold-border);
    border-radius: 12px;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    text-decoration: none !important;
    color: var(--pd-text-primary) !important;
    margin-top: 16px;
    transition: filter 0.15s ease;
}

.pd-mobile-menu .pd-app-banner:hover { filter: brightness(1.1); }

.pd-mobile-menu .pd-app-banner-content {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 1;
}

.pd-mobile-menu .pd-app-icon {
    width: 36px; height: 36px;
    background: linear-gradient(135deg, #e8c06f 0%, #b88a3d 100%);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--pd-gold-text-on);
    font-size: 18px;
}

.pd-mobile-menu .pd-app-title {
    font-weight: 700;
    font-size: 13px;
    color: var(--pd-text-primary);
    letter-spacing: -0.2px;
}

.pd-mobile-menu .pd-app-subtitle {
    font-size: 11px;
    color: var(--pd-text-secondary);
    font-weight: 500;
    margin-top: 1px;
}

.pd-mobile-menu .pd-app-arrow {
    color: var(--pd-gold);
    font-size: 14px;
    flex-shrink: 0;
}

.pd-mobile-menu .pd-version {
    text-align: center;
    padding: 12px 0 4px;
}

.pd-mobile-menu .pd-version span {
    font-family: var(--pd-font-display);
    font-size: 10px;
    color: var(--pd-text-muted);
    font-weight: 500;
    letter-spacing: 0.5px;
    font-variant-numeric: tabular-nums;
}

/* ============================ APP MAIN ============================ */

.pd-app-main {
    padding-top: 80px;
    min-height: 100vh;
}

@media (max-width: 768px) {
    .pd-app-main { padding-top: 72px; }
    .pd-navbar { padding: 10px 14px !important; }
    .pd-navbar .pd-logo-img { height: 34px; }
}

/* ============================ CARDS ============================ */

body.premium-dark .card {
    background: var(--pd-bg-card) !important;
    border: 1px solid var(--pd-border-subtle) !important;
    border-radius: 12px !important;
    color: var(--pd-text-primary);
}

body.premium-dark .card-header {
    background: var(--pd-bg-surface) !important;
    border-bottom: 1px solid var(--pd-border-subtle) !important;
    color: var(--pd-text-primary);
}

body.premium-dark .card-body {
    background: var(--pd-bg-card) !important;
    color: var(--pd-text-primary);
}

body.premium-dark .card-title {
    color: var(--pd-text-primary) !important;
    font-weight: 700;
}

body.premium-dark .card-footer {
    background: var(--pd-bg-surface) !important;
    border-top: 1px solid var(--pd-border-subtle) !important;
    color: var(--pd-text-secondary);
}

/* ============================ MODAIS ============================ */

body.premium-dark .modal-content {
    background: var(--pd-bg-card) !important;
    border: 1px solid var(--pd-primary-border-strong) !important;
    border-radius: 14px !important;
    color: var(--pd-text-primary);
    font-family: var(--pd-font-sans);
}

body.premium-dark .modal-header {
    background: var(--pd-bg-header) !important;
    border-bottom: 1px solid var(--pd-gold-border) !important;
    padding: 14px 18px !important;
    border-radius: 14px 14px 0 0 !important;
    color: var(--pd-text-primary) !important;
}

body.premium-dark .modal-title {
    font-weight: 700 !important;
    font-size: 15px !important;
    color: var(--pd-text-primary) !important;
    letter-spacing: -0.2px;
}

body.premium-dark .modal-header .close,
body.premium-dark .modal-header .btn-close {
    color: var(--pd-text-secondary) !important;
    opacity: 0.8;
    text-shadow: none;
}

body.premium-dark .modal-body {
    background: var(--pd-bg-card) !important;
    color: var(--pd-text-primary) !important;
    padding: 18px !important;
}

body.premium-dark .modal-footer {
    background: var(--pd-bg-surface) !important;
    border-top: 1px solid var(--pd-border-subtle) !important;
}

.pd-mobile-menu .modal-content {
    background: var(--pd-bg-base) !important;
    border: none !important;
}

/* ============================ BOTÕES ============================ */

body.premium-dark .btn-primary,
body.premium-dark .btn-warning,
body.premium-dark .btn-success {
    background: var(--pd-gradient-gold) !important;
    border: 1px solid rgba(212, 168, 87, 0.5) !important;
    color: var(--pd-gold-text-on) !important;
    font-weight: 700 !important;
    letter-spacing: -0.1px;
    transition: filter 0.15s ease;
}

body.premium-dark .btn-primary:hover,
body.premium-dark .btn-warning:hover,
body.premium-dark .btn-success:hover {
    filter: brightness(1.08);
    color: var(--pd-gold-text-on) !important;
}

body.premium-dark .btn-secondary,
body.premium-dark .btn-outline-primary,
body.premium-dark .btn-outline-secondary {
    background: var(--pd-bg-surface) !important;
    border: 1px solid var(--pd-border-default) !important;
    color: var(--pd-text-primary) !important;
}

body.premium-dark .btn-secondary:hover,
body.premium-dark .btn-outline-primary:hover,
body.premium-dark .btn-outline-secondary:hover {
    background: var(--pd-primary-bg-strong) !important;
    border-color: var(--pd-gold-border) !important;
    color: var(--pd-text-primary) !important;
}

body.premium-dark .btn-danger {
    background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%) !important;
    border: 1px solid rgba(220, 38, 38, 0.5) !important;
    color: #fff !important;
}

body.premium-dark .btn-link { color: var(--pd-gold) !important; }
body.premium-dark .btn-link:hover {
    color: var(--pd-gold-light) !important;
    text-decoration: none;
}

body.premium-dark .btn-green {
    background: var(--pd-gradient-gold) !important;
    border: 1px solid rgba(212, 168, 87, 0.5) !important;
    color: var(--pd-gold-text-on) !important;
    font-weight: 800 !important;
    border-radius: 8px !important;
    padding: 10px 16px !important;
}

body.premium-dark .btn-green:hover {
    filter: brightness(1.08);
    color: var(--pd-gold-text-on) !important;
}

/* ============================ INPUTS / FORMS ============================ */

body.premium-dark .form-control,
body.premium-dark input[type="text"],
body.premium-dark input[type="email"],
body.premium-dark input[type="password"],
body.premium-dark input[type="tel"],
body.premium-dark input[type="number"],
body.premium-dark select,
body.premium-dark textarea {
    background: var(--pd-bg-surface) !important;
    border: 1px solid var(--pd-border-subtle) !important;
    border-radius: 8px !important;
    color: var(--pd-text-primary) !important;
    font-family: var(--pd-font-sans);
    font-size: 14px;
    padding: 10px 12px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

body.premium-dark .form-control:focus,
body.premium-dark input:focus,
body.premium-dark select:focus,
body.premium-dark textarea:focus {
    background: var(--pd-bg-surface) !important;
    border-color: var(--pd-gold-border) !important;
    box-shadow: 0 0 0 3px rgba(212, 168, 87, 0.12) !important;
    outline: none;
    color: var(--pd-text-primary) !important;
}

body.premium-dark .form-control::placeholder,
body.premium-dark input::placeholder,
body.premium-dark textarea::placeholder {
    color: var(--pd-text-tertiary) !important;
}

body.premium-dark label,
body.premium-dark .form-label {
    color: var(--pd-text-secondary);
    font-weight: 500;
    font-size: 13px;
    margin-bottom: 6px;
}

body.premium-dark .form-check-label {
    color: var(--pd-text-secondary);
}

body.premium-dark .form-text,
body.premium-dark .text-muted {
    color: var(--pd-text-tertiary) !important;
}

/* ============================ BADGES / ALERTAS ============================ */

body.premium-dark .badge {
    font-weight: 700;
    letter-spacing: 0.3px;
    font-family: var(--pd-font-sans);
    padding: 4px 8px;
    border-radius: 5px;
}

body.premium-dark .badge-success,
body.premium-dark .bg-success,
body.premium-dark .text-bg-success {
    background: rgba(16, 185, 129, 0.15) !important;
    color: var(--pd-success-light) !important;
    border: 1px solid rgba(16, 185, 129, 0.35);
}

body.premium-dark .badge-warning,
body.premium-dark .bg-warning,
body.premium-dark .text-bg-warning {
    background: var(--pd-gold-bg) !important;
    color: var(--pd-gold-light) !important;
    border: 1px solid var(--pd-gold-border);
}

body.premium-dark .badge-info,
body.premium-dark .bg-info,
body.premium-dark .text-bg-info {
    background: var(--pd-primary-bg-strong) !important;
    color: var(--pd-primary-light) !important;
    border: 1px solid var(--pd-primary-border-strong);
}

body.premium-dark .badge-danger,
body.premium-dark .bg-danger,
body.premium-dark .text-bg-danger {
    background: rgba(220, 38, 38, 0.15) !important;
    color: #fca5a5 !important;
    border: 1px solid rgba(220, 38, 38, 0.4);
}

body.premium-dark .alert {
    border-radius: 10px;
    border-width: 1px;
    padding: 12px 14px;
    font-size: 13px;
    line-height: 1.5;
}

body.premium-dark .alert-success {
    background: rgba(16, 185, 129, 0.1) !important;
    border-color: rgba(16, 185, 129, 0.3) !important;
    color: var(--pd-success-light) !important;
}

body.premium-dark .alert-warning {
    background: var(--pd-gold-bg) !important;
    border-color: var(--pd-gold-border) !important;
    color: var(--pd-gold-light) !important;
}

body.premium-dark .alert-danger {
    background: rgba(220, 38, 38, 0.1) !important;
    border-color: rgba(220, 38, 38, 0.4) !important;
    color: #fca5a5 !important;
}

body.premium-dark .alert-info {
    background: var(--pd-primary-bg-strong) !important;
    border-color: var(--pd-primary-border-strong) !important;
    color: var(--pd-primary-light) !important;
}

/* ============================ TABLES ============================ */

body.premium-dark .table {
    color: var(--pd-text-primary) !important;
    border-color: var(--pd-border-subtle) !important;
}

body.premium-dark .table th {
    background: var(--pd-bg-surface) !important;
    color: var(--pd-text-secondary) !important;
    border-color: var(--pd-border-subtle) !important;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    padding: 10px 12px;
}

body.premium-dark .table td {
    background: transparent !important;
    color: var(--pd-text-primary) !important;
    border-color: var(--pd-border-subtle) !important;
    padding: 12px;
    vertical-align: middle;
}

body.premium-dark .table-striped tbody tr:nth-of-type(odd) td {
    background: rgba(255, 255, 255, 0.02) !important;
}

body.premium-dark .table-hover tbody tr:hover td {
    background: var(--pd-primary-bg) !important;
}

/* ============================ PIX (CHECKOUT) ============================ */

body.premium-dark input[id^="brcodepix"] {
    background: rgba(0, 0, 0, 0.3) !important;
    border: 1px solid var(--pd-gold-border) !important;
    border-radius: 8px !important;
    color: var(--pd-gold-light) !important;
    font-family: var(--pd-font-mono) !important;
    font-size: 11px !important;
    font-weight: 600;
    padding: 12px !important;
    letter-spacing: -0.2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.premium-dark .btn.blob,
body.premium-dark button[id^="clip_btn"] {
    background: var(--pd-gradient-gold) !important;
    border: 1px solid rgba(212, 168, 87, 0.5) !important;
    color: var(--pd-gold-text-on) !important;
    font-weight: 800 !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    letter-spacing: 0.3px;
    animation: pdGoldenPulse 2.2s ease-in-out infinite;
}

body.premium-dark .btn.blob:hover,
body.premium-dark button[id^="clip_btn"]:hover {
    filter: brightness(1.08);
    color: var(--pd-gold-text-on) !important;
}

/* ============================ RIFAS / PRODUTOS ============================ */

body.premium-dark .product-price,
body.premium-dark .valor-rifa,
body.premium-dark .price-value {
    font-family: var(--pd-font-display);
    font-weight: 800;
    background: var(--pd-gradient-gold);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 22px;
    letter-spacing: -0.5px;
}

body.premium-dark .product-title,
body.premium-dark .rifa-title {
    font-family: var(--pd-font-display);
    font-weight: 700;
    color: var(--pd-text-primary);
    font-size: 18px;
    letter-spacing: -0.3px;
    line-height: 1.2;
}

/* ============================ BOTÕES FLUTUANTES ============================ */

body.premium-dark .botao-flutuante,
body.premium-dark .botao-flutuante-insta,
body.premium-dark .botao-flutuante-suporte-tel {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
}

/* ============================ SWEETALERT ============================ */

.swal2-popup.swal2-modal {
    background: var(--pd-bg-card) !important;
    color: var(--pd-text-primary) !important;
    border: 1px solid var(--pd-primary-border-strong) !important;
    border-radius: 14px !important;
}

.swal2-popup .swal2-title {
    color: var(--pd-text-primary) !important;
    font-family: var(--pd-font-sans) !important;
    font-weight: 700 !important;
}

.swal2-popup .swal2-html-container {
    color: var(--pd-text-secondary) !important;
}

.swal2-popup .swal2-confirm {
    background: var(--pd-gradient-gold) !important;
    color: var(--pd-gold-text-on) !important;
    border: none !important;
    border-radius: 8px !important;
    font-weight: 800 !important;
    padding: 10px 20px !important;
}

.swal2-popup .swal2-cancel {
    background: var(--pd-bg-surface) !important;
    color: var(--pd-text-primary) !important;
    border: 1px solid var(--pd-border-default) !important;
    border-radius: 8px !important;
}

/* ============================ SCROLLBAR ============================ */

body.premium-dark::-webkit-scrollbar { width: 10px; }
body.premium-dark::-webkit-scrollbar-track { background: var(--pd-bg-base); }
body.premium-dark::-webkit-scrollbar-thumb {
    background: var(--pd-bg-elevated);
    border-radius: 5px;
}
body.premium-dark::-webkit-scrollbar-thumb:hover {
    background: var(--pd-primary-deep);
}

/* ============================ UTILITÁRIOS ============================ */

.pd-gold-text {
    background: var(--pd-gradient-gold);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

.pd-display-font { font-family: var(--pd-font-display); }
.pd-mono-font { font-family: var(--pd-font-mono); }

.pd-text-primary-color { color: var(--pd-text-primary) !important; }
.pd-text-secondary-color { color: var(--pd-text-secondary) !important; }
.pd-text-tertiary { color: var(--pd-text-tertiary) !important; }
.pd-text-gold { color: var(--pd-gold) !important; }
.pd-text-gold-light { color: var(--pd-gold-light) !important; }
.pd-bg-card { background: var(--pd-bg-card) !important; }
.pd-bg-surface { background: var(--pd-bg-surface) !important; }

/* ============================ HACKS AGRESSIVOS (overrides inline) ============================ */

/* Seleção de texto — fica dourada em vez de azul default */
body.premium-dark ::selection {
    background: rgba(212, 168, 87, 0.35) !important;
    color: var(--pd-text-primary) !important;
}

body.premium-dark ::-moz-selection {
    background: rgba(212, 168, 87, 0.35) !important;
    color: var(--pd-text-primary) !important;
}

/* ============================ BOTÕES FLUTUANTES — DESATIVADOS ============================ */
/* Agora as redes sociais ficam só no rodapé */

body.premium-dark .botao-flutuante,
body.premium-dark .botao-flutuante-insta,
body.premium-dark .botao-flutuante-suporte-tel,
body.premium-dark .botao-flutuante-suporte,
body.premium-dark .pd-float-stack {
    display: none !important;
}

/* ============================ LETREIRO DA GALERIA (TÍTULO + SUBTÍTULO PREMIUM) ============================ */
/* Forçar tipografia aprovada no mockup, mesmo que algum CSS legado tente sobrescrever */

body.premium-dark .pd-product-gallery-name {
    font-family: var(--pd-font-display) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: -0.8px !important;
    color: #f8fafc !important;
    line-height: 1.1 !important;
    margin: 0 0 4px 0 !important;
    text-transform: none !important;
}

body.premium-dark .pd-product-gallery-subname {
    font-family: var(--pd-font-display) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    letter-spacing: -0.6px !important;
    line-height: 1.15 !important;
    margin: 0 0 8px 0 !important;
    display: inline-block !important;
    background: linear-gradient(135deg, #e8c06f 0%, #d4a857 40%, #b88a3d 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    text-transform: none !important;
}

@media (max-width: 480px) {
    body.premium-dark .pd-product-gallery-name {
        font-size: 20px !important;
        letter-spacing: -0.6px !important;
    }
    body.premium-dark .pd-product-gallery-subname {
        font-size: 18px !important;
        letter-spacing: -0.5px !important;
    }
}

/* ============================ DESCRIÇÃO DO PRODUTO ============================ */
/* O texto vem do admin com HTML próprio que pode ter background branco/claro */

body.premium-dark .pd-desc-wrap,
body.premium-dark .pd-desc-wrap * {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--pd-text-secondary) !important;
    font-family: var(--pd-font-sans) !important;
}

body.premium-dark .pd-desc-wrap {
    background: var(--pd-bg-surface) !important;
    border: 1px solid var(--pd-border-subtle) !important;
    border-radius: 12px !important;
    padding: 14px !important;
}

body.premium-dark .pd-desc-wrap strong,
body.premium-dark .pd-desc-wrap b {
    color: var(--pd-text-primary) !important;
    font-weight: 700 !important;
}

body.premium-dark .pd-desc-wrap a {
    color: var(--pd-gold) !important;
}

body.premium-dark .pd-desc-wrap h1,
body.premium-dark .pd-desc-wrap h2,
body.premium-dark .pd-desc-wrap h3,
body.premium-dark .pd-desc-wrap h4,
body.premium-dark .pd-desc-wrap h5,
body.premium-dark .pd-desc-wrap h6 {
    color: var(--pd-text-primary) !important;
}

/* Override de estilos inline do editor WYSIWYG (spans com bg branco/azul) */
body.premium-dark .pd-desc-wrap span[style],
body.premium-dark .pd-desc-wrap p[style],
body.premium-dark .pd-desc-wrap div[style],
body.premium-dark .pd-desc-wrap font[style],
body.premium-dark .pd-desc-wrap font {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--pd-text-secondary) !important;
    font-family: var(--pd-font-sans) !important;
}

/* Card antigo `.desc` com tema dark forçado */
body.premium-dark .desc,
body.premium-dark .desc * {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--pd-text-secondary) !important;
}

body.premium-dark .desc {
    background: var(--pd-bg-surface) !important;
    border: 1px solid var(--pd-border-subtle) !important;
    border-radius: 12px !important;
    padding: 14px !important;
}

/* ============================ FOOTER ============================ */
/* Remove cores legadas e deixa footer discreto */

body.premium-dark .footer,
body.premium-dark footer,
body.premium-dark .footer-bottom,
body.premium-dark .app-footer {
    background: transparent !important;
    color: var(--pd-text-tertiary) !important;
    border: none !important;
    padding: 20px 14px !important;
    text-align: center !important;
    margin-top: 24px;
}

body.premium-dark .footer *,
body.premium-dark footer *,
body.premium-dark .footer-bottom *,
body.premium-dark .app-footer * {
    background-color: transparent !important;
    background-image: none !important;
    border-color: transparent !important;
}

body.premium-dark .footer h3,
body.premium-dark .footer h4,
body.premium-dark footer h3,
body.premium-dark footer h4,
body.premium-dark .footer strong,
body.premium-dark footer strong {
    color: var(--pd-gold-light) !important;
    font-family: var(--pd-font-display) !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
}

body.premium-dark .footer p,
body.premium-dark footer p,
body.premium-dark .footer span,
body.premium-dark footer span {
    color: var(--pd-text-tertiary) !important;
    font-size: 11px !important;
    line-height: 1.6 !important;
}

body.premium-dark .footer a,
body.premium-dark footer a {
    color: var(--pd-gold) !important;
    text-decoration: none !important;
    border: 1px solid var(--pd-gold-border) !important;
    padding: 3px 8px !important;
    border-radius: 5px !important;
    font-size: 11px !important;
    background: transparent !important;
    display: inline-block;
}

body.premium-dark .footer a:hover,
body.premium-dark footer a:hover {
    background: var(--pd-gold-bg) !important;
    color: var(--pd-gold-light) !important;
}

/* Barra gradient verde/vermelha do "Desenvolvido com" */
body.premium-dark .footer .progress,
body.premium-dark footer .progress,
body.premium-dark .footer hr,
body.premium-dark footer hr {
    display: none !important;
}

/* Se vier como div com gradient inline */
body.premium-dark footer div[style*="gradient"],
body.premium-dark .footer div[style*="gradient"] {
    background: transparent !important;
    background-image: none !important;
    height: 1px !important;
    border-top: 1px solid var(--pd-border-subtle) !important;
}

/* ============================ TÍTULOS DE SEÇÃO NA PÁGINA DA CAMPANHA ============================ */
/* Título "Descrição" e "Compartilhar" */
body.premium-dark .pd-section-title-inner h5 {
    color: var(--pd-text-primary) !important;
    font-family: var(--pd-font-sans) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    letter-spacing: -0.2px !important;
    margin: 0 !important;
}

body.premium-dark .pd-section-title-inner small {
    color: var(--pd-text-tertiary) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
}

/* Textos pretos hard-coded viram claros */
body.premium-dark [style*="color: #000"]:not(.btn-green):not(.btn-primary):not(.btn-warning),
body.premium-dark [style*="color:#000"]:not(.btn-green):not(.btn-primary):not(.btn-warning),
body.premium-dark [style*="color: black"],
body.premium-dark [style*="color:black"] {
    color: var(--pd-text-primary) !important;
}

/* Backgrounds brancos hard-coded viram dark */
body.premium-dark div[style*="background: #fff"],
body.premium-dark div[style*="background-color: #fff"],
body.premium-dark div[style*="background:#fff"],
body.premium-dark div[style*="background-color:#fff"],
body.premium-dark div[style*="background: white"],
body.premium-dark div[style*="background-color: white"],
body.premium-dark div[style*="background:white"],
body.premium-dark div[style*="background-color:white"],
body.premium-dark div[style*="background: #ffffff"],
body.premium-dark div[style*="background-color: #ffffff"] {
    background: var(--pd-bg-card) !important;
}

/* Backgrounds de tons azul-escuro do sistema antigo ficam harmonizados */
body.premium-dark [style*="background-color: #132439"],
body.premium-dark [style*="background:#132439"],
body.premium-dark [style*="background: #132439"] {
    background: var(--pd-bg-card) !important;
}

body.premium-dark [style*="background-color: #020f1e"],
body.premium-dark [style*="background:#020f1e"],
body.premium-dark [style*="background: #020f1e"] {
    background: var(--pd-bg-surface) !important;
}

body.premium-dark [style*="background-color: #2d2b2b"],
body.premium-dark [style*="background: #2d2b2b"] {
    background: var(--pd-bg-base) !important;
}

/* Navbar antiga (fallback se alguma página tiver navbar inline) */
body.premium-dark nav.navbar:not(.pd-navbar) {
    background: var(--pd-bg-header) !important;
    border-bottom: 1px solid var(--pd-gold-border);
}

/* ============================ PRODUCT DETAIL — OVERRIDES ============================ */

/* Botões flutuantes (GRUPO/INSTAGRAM/SUPORTE) — reposicionar pra não sobrepor conteúdo */
body.premium-dark .botao-flutuante,
body.premium-dark .botao-flutuante-insta,
body.premium-dark .botao-flutuante-suporte-tel {
    width: auto !important;
    height: auto !important;
    padding: 6px 10px !important;
    border-radius: 6px !important;
    font-size: 10px !important;
    opacity: 0.85;
    z-index: 50 !important;
}

body.premium-dark .botao-flutuante:hover,
body.premium-dark .botao-flutuante-insta:hover,
body.premium-dark .botao-flutuante-suporte-tel:hover {
    opacity: 1;
}

@media (max-width: 768px) {
    body.premium-dark .botao-flutuante,
    body.premium-dark .botao-flutuante-insta,
    body.premium-dark .botao-flutuante-suporte-tel {
        width: 42px !important;
        height: 42px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    body.premium-dark .botao-flutuante span,
    body.premium-dark .botao-flutuante-insta span,
    body.premium-dark .botao-flutuante-suporte-tel span {
        display: none;
    }

    body.premium-dark .botao-flutuante i,
    body.premium-dark .botao-flutuante-insta i,
    body.premium-dark .botao-flutuante-suporte-tel i {
        font-size: 18px !important;
        margin: 0 !important;
    }
}

/* Hack anti-classes-antigas: tira fundos verdes chapados, caixas brancas com cotas, etc */
body.premium-dark .premiada-card {
    background: transparent !important;
    padding: 0 !important;
}

body.premium-dark .body-compra-auto {
    background: transparent !important;
}

body.premium-dark .body-promo {
    background: transparent !important;
}

body.premium-dark .title-promo,
body.premium-dark .title-rifa-destaque {
    background: transparent !important;
    color: var(--pd-text-primary) !important;
}

body.premium-dark .title-promo.dark,
body.premium-dark .title-rifa-destaque.dark {
    background: transparent !important;
    color: var(--pd-text-primary) !important;
}

body.premium-dark .title-rifa-destaque h1 {
    color: var(--pd-text-primary) !important;
    font-family: var(--pd-font-display) !important;
}

body.premium-dark .title-rifa-destaque p {
    color: var(--pd-text-secondary) !important;
}

body.premium-dark .app-title.dark h1,
body.premium-dark .app-title h1 {
    color: var(--pd-text-primary) !important;
}

body.premium-dark .valor,
body.premium-dark .valor.dark {
    color: var(--pd-text-primary) !important;
}

body.premium-dark .data-sorteio,
body.premium-dark .data-sorteio.dark {
    color: var(--pd-gold-light) !important;
}

/* Buttons de raspadinha e auxiliares antigos com backgrounds gritantes */
body.premium-dark .bg-gradient-dark {
    background: var(--pd-bg-card) !important;
}

body.premium-dark .overlay-slide {
    background: linear-gradient(to top, rgba(5, 8, 20, 0.92) 0%, rgba(5, 8, 20, 0.5) 60%, transparent 100%) !important;
    color: var(--pd-text-primary) !important;
}

/* Progress bar Bootstrap original ganha tema dourado */
body.premium-dark .progress {
    background: rgba(255, 255, 255, 0.05) !important;
    border-radius: 5px !important;
    height: 12px;
}

body.premium-dark .progress-bar {
    background: var(--pd-gradient-gold) !important;
    color: var(--pd-gold-text-on) !important;
    font-weight: 800;
    font-size: 10px;
}

body.premium-dark .progress-bar.bg-secondary {
    background: var(--pd-gradient-gold) !important;
}

/* Accordion / FAQ antigos com fundo branco */
body.premium-dark .accordion .card,
body.premium-dark .accordion .card-header,
body.premium-dark .accordion .card-body {
    background: var(--pd-bg-surface) !important;
    border: 1px solid var(--pd-border-subtle) !important;
    color: var(--pd-text-secondary) !important;
}

body.premium-dark .accordion .btn-link {
    color: var(--pd-text-primary) !important;
    text-decoration: none !important;
    font-weight: 600;
}

/* Card antigo de .desc (descrição) */
body.premium-dark .desc {
    background: var(--pd-bg-surface) !important;
    border: 1px solid var(--pd-border-subtle) !important;
    border-radius: 12px !important;
    color: var(--pd-text-secondary) !important;
}

body.premium-dark .desc.dark {
    background: var(--pd-bg-surface) !important;
    color: var(--pd-text-secondary) !important;
}

body.premium-dark .desc p {
    color: var(--pd-text-secondary) !important;
}

/* Card com content específico (rifa-content) */
body.premium-dark .rifa-content,
body.premium-dark .rifa-content.dark {
    background: transparent !important;
}

body.premium-dark .rifas,
body.premium-dark .rifas.dark {
    background: transparent !important;
    position: static !important;
    min-height: auto !important;
}

/* Carousel indicators (bolinhas navegação) em dourado */
body.premium-dark .carousel-indicators li,
body.premium-dark .carousel-indicators button {
    background-color: var(--pd-gold) !important;
    opacity: 0.4;
}

body.premium-dark .carousel-indicators .active {
    opacity: 1 !important;
}

/* Footer */
body.premium-dark .footer,
body.premium-dark footer {
    background: var(--pd-bg-header) !important;
    color: var(--pd-text-secondary) !important;
    border-top: 1px solid var(--pd-gold-border);
}

body.premium-dark .footer a,
body.premium-dark footer a {
    color: var(--pd-gold) !important;
}

/* Modal body com fundo verde/branco do Bootstrap */
body.premium-dark .modal-body.alert-success {
    background: rgba(16, 185, 129, 0.1) !important;
    color: var(--pd-success-light) !important;
}

/* Ribbon "Destaque" antigo */
body.premium-dark .ribbon {
    background: var(--pd-gradient-gold) !important;
    color: var(--pd-gold-text-on) !important;
}

body.premium-dark .ribbon .text-color {
    color: var(--pd-gold-text-on) !important;
}

/* Footer — tirar borda verde do "Agency Rauen" e deixar no tema */
body.premium-dark .footer-cliente,
body.premium-dark footer .agency-rauen,
body.premium-dark footer a[href*="agencyrauen"] {
    border: 1px solid var(--pd-gold-border) !important;
    background: var(--pd-bg-surface) !important;
    color: var(--pd-gold) !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
}

body.premium-dark footer,
body.premium-dark .footer {
    color: var(--pd-text-secondary) !important;
}

/* Remove qualquer botão com background verde chapado residual */
body.premium-dark button[style*="background: #198754"],
body.premium-dark button[style*="background-color: #198754"],
body.premium-dark button[style*="background: #28a745"],
body.premium-dark button[style*="background-color: #28a745"],
body.premium-dark button[style*="background: #34a772"],
body.premium-dark button[style*="background-color: #34a772"],
body.premium-dark a[style*="background-color: #198754"],
body.premium-dark a[style*="background-color: #28a745"],
body.premium-dark a[style*="background-color: #34a772"] {
    background: var(--pd-gradient-gold) !important;
    color: var(--pd-gold-text-on) !important;
    border: 1px solid rgba(212, 168, 87, 0.5) !important;
}

/* Override específico do body compra auto */
body.premium-dark .body-compra-auto,
body.premium-dark .body-compra-auto.dark {
    background: transparent !important;
    border: none !important;
}

/* Override .card alert-success antigo do modal PIX */
body.premium-dark .card.alert {
    background: transparent !important;
    border: none !important;
}

/* Esconder definitivamente o status() antigo que vaza como botão verde */
body.premium-dark .pd-gallery-status > div > .badge,
body.premium-dark .pd-gallery-status > .badge:not(.pd-status-badge-gold),
body.premium-dark .pd-gallery-status > button,
body.premium-dark .pd-gallery-status > a.btn {
    display: none !important;
}

/* Card antigo do checkout com border-radius excessivo */
body.premium-dark .model-reserva,
body.premium-dark .modal-v2,
body.premium-dark .model-v2-border {
    background: var(--pd-bg-card) !important;
    color: var(--pd-text-primary) !important;
    border-color: var(--pd-border-subtle) !important;
}
