/*============================================================================================*/
/* CHECKOUT ROULETTE STYLES */
/*============================================================================================*/

.dark {
    
    * {
        box-sizing: border-box;
    }

    #checkout-roulette {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif !important;
        line-height: 1.6;
        color: white;
        min-height: 100vh;
    }

    /* Títulos seguindo padrão rifa-automate-roulette - ESPECÍFICO PARA CHECKOUT ROULETTE */
    #checkout-roulette .page-title {
        font-size: 1.875rem;
        font-weight: bold;
        margin-bottom: .3rem;
        color: #fff;
    }

    #checkout-roulette .section-title {
        font-size: 1.5rem;
        font-weight: 700;
        color: #fff;
        margin-bottom: 0.75rem;
    }

    #checkout-roulette .section-subtitle {
        font-size: 16px;
        font-weight: 400;
        color: #6b7280;
        text-transform: none;
    }

    #checkout-roulette .box-info {
        border: 1px solid #374151;
    }

    /* Cards seguindo padrão - ESPECÍFICO PARA CHECKOUT ROULETTE */
    #checkout-roulette .stat-card {
        background: #111827;
        padding: 0.75rem 1.5rem;
        text-align: center;
        transition: background-color 0.3s;
    }

    #checkout-roulette .text-description {
        color: #fff;
        font-weight: 700;
    }

    #checkout-roulette .text-title {
        color: #9ca3af;
        font-size: 14px;
    }

    #checkout-roulette .font-padrao {
        font-family: 'Montserrat', sans-serif;
    }

    #checkout-roulette .info-section-spins {
        background: #111827;
    }

    /* Utility classes */
    .text-white { color: white; }
    .text-black { color: black; }
    .text-gray-300 { color: #d1d5db; }
    .text-gray-400 { color: #9ca3af; }
    .text-yellow-400 { color: #ffc107; }
    .text-red-400 { color: #f87171; }
    .text-green-400 { color: #4ade80; }
    .text-blue-400 { color: rgb(39 136 255); }

    .bg-white { background-color: white; }
    .bg-green-500 { background-color: rgb(34, 197, 94); }
    .bg-red-600 { background-color: #dc2626; }
    .bg-green-600 { background-color: #16a34a; }
    .bg-gray-600 { background-color: #111827; }
    .bg-gray-800 { background-color: #1f2937; }
    .bg-success { background-color: #10b981; }

    .border-gray-700 { border-color: #374151; }
    .border-gray-600 { border-color: #374151; }
    .border-bottom { border-bottom: 1px solid; }

    .rounded-lg { border-radius: 0.5rem; }
    .rounded-t-lg { border-top-left-radius: 0.5rem; border-top-right-radius: 0.5rem; }
    .rounded-circle { border-radius: 50%; }

    .px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
    .p-6 { padding: 1.5rem; }
    .pb-3 { padding-bottom: 0.75rem; }
    .pt-3 { padding-top: 0.75rem; }
    .mb-2 { margin-bottom: 0.5rem; }
    .mb-6 { margin-bottom: 1.5rem; }
    .mb-12 { margin-bottom: 1.5rem; }
    .mt-4 { margin-top: 1rem; }
    .mt-8 { margin-top: 3rem; }

    .flex { display: flex; }
    .d-flex { display: flex; }
    .hidden { display: none; }

    .items-center { align-items: center; }
    .align-items-center { align-items: center; }
    .align-items-start { align-items: flex-start; }
    .justify-center { justify-content: center; }
    .justify-content-center { justify-content: center; }
    .justify-content-between { justify-content: space-between; }

    .flex-shrink-0 { flex-shrink: 0; }
    .gap-3 { gap: 0.75rem; }

    .w-8 { width: 2rem; }
    .h-8 { height: 2rem; }

    /* Ícone de sucesso - melhor alinhamento */
    .success-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        vertical-align: middle;
    }

    .success-icon i {
        font-size: 1.125rem;
        color: white;
    }

    /* Seção de sucesso - alinhamento perfeito */
    .success-section {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
    }

    .success-section p {
        margin: 0;
        line-height: 1.4;
    }

    /* Seção de informações - alinhamento perfeito */
    .info-section {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 1rem 1.5rem;
    }

    .info-section h2 {
        font-size: 1.2rem;
        margin: 0;
        font-weight: 600;
        color: #fff;
        line-height: 1.2;
    }

    .info-section i {
        font-size: 24px;
        width: 24px;
        height: 24px;
        color: #ffc107;
        box-sizing: border-box;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .text-lg { font-size: 20px; }
    .font-bold { font-weight: 700; }
    .font-semibold { font-weight: 600; }

    /* Cores padronizadas do Vercel */
    .border-gray-600 {
        --tw-border-opacity: 1;
        border-color: rgb(75 85 99 / var(--tw-border-opacity, 1)) !important;
    }

    /* Tamanho do ícone do botão 'Ver todos' (força 8x8) */
    #toggleSpins svg {
        width: 8px !important;
        height: 8px !important;
        margin-left: 3px !important;
        vertical-align: middle;
    }

    .text-blue-400 {
        --tw-text-opacity: 1;
        color: rgb(96 165 250 / var(--tw-text-opacity, 1)) !important;
    }

    .text-xs {
        font-size: 0.75rem !important;
        line-height: 1rem;
    }

    /* Padronização de fontes - 14px para todos os textos */
    .checkout-details .text-gray-400,
    .checkout-details .text-white,
    .checkout-details .text-danger,
    .checkout-details .text-red-400 {
        font-size: 14px !important;
        line-height: 1.4;
    }

    /* Botões da página de checkout - 14px */
    #checkout-roulette .btn {
        font-size: 0.875rem !important;
    }

    /* Exceção para números - 14px */
    .checkout-details #numbersDisplayRllt {
        font-size: 14px !important;
    }

    /* Seção de giros da roleta - alinhamento igual ao info-section */
    .roulette-section {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        padding: 1rem 1.5rem;
    }

    .roulette-section h2 {
        font-size: 1.2rem;
        margin: 0;
        font-weight: 600;
        color: #fff;
        line-height: 1.2;
    }

    .roulette-section i {
        font-size: 24px;
        width: 24px;
        height: 24px;
        color: #ffc107;
        box-sizing: border-box;
        flex-shrink: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .text-center { text-align: center; }
    .text-right { text-align: right; }

    .space-y-4 > * + * { margin-top: 1rem; }

    /* Custom styles */
    .underline-yellow {
        text-decoration: underline;
        text-decoration-color: #fad961;
        text-decoration-thickness: 2px;
    }

    /* Hover effects */
    .hover-text-gray-300:hover { color: #d1d5db; }
    .hover-text-blue-300:hover { color: #93c5fd; }
    .hover-text-yellow-400:hover { color: #fbbf24; }
    .hover-bg-red-700:hover { background-color: #b91c1c; }
    .hover-bg-green-700:hover { background-color: #15803d; }
    .hover-bg-gray-500:hover { background-color: #6b7280; }

    /* Animations */
    @keyframes pulse-scale {
        0% { transform: scale(1); }
        50% { transform: scale(1.05); }
        100% { transform: scale(1); }
    }

    @keyframes trophy-glow {
        0% { filter: drop-shadow(0 0 3px #ffd700); }
        50% { filter: drop-shadow(0 0 6px #ffd700); }
        100% { filter: drop-shadow(0 0 3px #ffd700); }
    }

    @keyframes spin-wheel-slow {
        0% { transform: rotate(0deg); }
        100% { transform: rotate(360deg); }
    }

    @keyframes pulse-button {
        0% { transform: scale(1); }
        50% { transform: scale(1.05); }
        100% { transform: scale(1); }
    }

    @keyframes border-glow {
        0% { background-position: 0% 50%; }
        50% { background-position: 100% 50%; }
        100% { background-position: 0% 50%; }
    }

    @keyframes rainbow-border {
        0% { 
            border-image: linear-gradient(0deg, 
                #fd7d96, #da9bf5, #74cf98, #a09df8, #fad961
            ) 1;
        }
        20% { 
            border-image: linear-gradient(72deg, 
                #da9bf5, #74cf98, #a09df8, #fad961, #fd7d96
            ) 1;
        }
        40% { 
            border-image: linear-gradient(144deg, 
                #74cf98, #a09df8, #fad961, #fd7d96, #da9bf5
            ) 1;
        }
        60% { 
            border-image: linear-gradient(216deg, 
                #a09df8, #fad961, #fd7d96, #da9bf5, #74cf98
            ) 1;
        }
        80% { 
            border-image: linear-gradient(288deg, 
                #fad961, #fd7d96, #da9bf5, #74cf98, #a09df8
            ) 1;
        }
        100% { 
            border-image: linear-gradient(360deg, 
                #fd7d96, #da9bf5, #74cf98, #a09df8, #fad961
            ) 1;
        }
    }

    .spin-button-glow {
        animation: pulse-scale 2s infinite ease-in-out;
    }

    .trophy-glow {
        animation: trophy-glow 2s infinite ease-in-out;
    }

    .roulette-spinning {
        animation: spin-wheel-slow 1s linear infinite;
    }

    /* Botão Girar todos */
    #skipAllSpins {
        background-color: rgb(75 85 99) !important;
        color: white !important;
        font-size: 12px !important;
        font-weight: 600;
        padding: 0.5rem 1rem;
        border: none;
        border-radius: 0.375rem;
        cursor: pointer;
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    #skipAllSpins:hover {
        background-color: rgb(55 65 81) !important;
    }

    /* Button styles seguindo padrão */
    .spin-available-button {
        background-color: #ffffff !important;
        color: #000000 !important;
        padding: 0.375rem 1rem;
        border-radius: 0.375rem;
        font-weight: 700 !important;
        font-size: 14px !important;
        border: 1px solid #d1d5db;
        cursor: pointer;
        transition: all 0.3s ease;
        animation: pulse-button 2s infinite ease-in-out;
    }

    .spin-available-button:hover {
        background-color: rgba(255, 255, 255, 0.2) !important;
        color: #ffffff !important;
    }

    .spin-disabled-button {
        background-color: #d1d5db !important;
        color: #000000 !important;
        cursor: not-allowed;
        border: 1px solid #9ca3af;
        padding: 0.375rem 1rem;
        border-radius: 0.375rem;
        font-weight: 700 !important;
        font-size: 13px !important;
    }

    .spin-won-button {
        background-color: rgb(24, 24, 24) !important;
        color: #ffffff !important;
        cursor: not-allowed;
        padding: 0.375rem 1rem;
        font-weight: 700 !important;
        font-size: 12.8px !important;
        border: 3px solid #fd7d96;
        border-radius: 0.5rem;
        animation: simple-border-cycle 5s linear infinite;
    }

    @keyframes simple-border-cycle {
        0% { border-color: #fd7d96; }
        16.6% { border-color: #da9bf5; }
        33.2% { border-color: #74cf98; }
        49.8% { border-color: #a09df8; }
        66.4% { border-color: #fad961; }
        83% { border-color: #fd7d96; }
        100% { border-color: #fd7d96; }
    }

    .spin-spinning-button {
        background-color: #fad961; /* amarelo original */
        color: #111827; /* texto preto */
        border: 2px solid #fef3c7; /* borda mais clara */
        padding: 0.375rem 1rem;
        border-radius: 0.5rem;
        font-weight: 700;
        font-size: 0.75rem;
    }

    /* Modal styles - ESPECÍFICO PARA CHECKOUT ROULETTE */
    #checkout-roulette .modal {
        display: none;
        position: fixed;
        z-index: 999;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.8);
        backdrop-filter: blur(4px);
    }

    #checkout-roulette .modal.open {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #checkout-roulette .modal-content {
        position: relative;
        padding: 0;
        border-radius: 0.5rem;
        background-color: rgb(24, 24, 24);
        border: 2px solid #16a34a;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        width: 90%;
        max-width: 600px;
        margin: 0 auto;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    #checkout-roulette .modal-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 1rem;
    }

    .close {
        color: #aaa;
        font-size: 28px;
        font-weight: bold;
        cursor: pointer;
        background: none;
        border: none;
    }

    .close:hover {
        color: white;
    }

    /* Nova Roleta - Estrutura da roleta para exibir o anel giratório atrás do canvas */
    .wheel {
        width: 500px;
        height: 500px;
        border-radius: 50%;
        position: relative;
        display: block;
        margin: 0 auto;
        filter: none;
        box-shadow: none;
        overflow: hidden;
        background: transparent;
    }

    /* Anel gradiente colorido ao redor do canvas, com transição suave e rotação */
    .wheel::before {
        content: '';
        position: absolute;
        top: 22px;
        left: 22px;
        right: 22px;
        bottom: 22px;
        border-radius: 50%;
        background: conic-gradient(
            from 0deg,
            #ff69b4 0deg,
            #ff4545 36deg,
            #ff9500 72deg,
            #ffd60a 108deg,
            #32d743 144deg,
            #228b22 180deg,
            #64d2ff 216deg,
            #007aff 252deg,
            #af52de 288deg,
            #bf5af2 324deg,
            #ff69b4 360deg
        );
        z-index: 0;
        animation: rotate-ring 20s linear infinite;
        will-change: transform;
    }

    @keyframes rotate-ring {
        from { transform: rotate(0deg); }
        to { transform: rotate(360deg); }
    }

    /* Canvas da roleta funcional */
    #roleta {
        width: 100%;
        height: 100%;
        border-radius: 50%;
        border: none;
        outline: none;
        filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.15));
        position: relative;
        z-index: 1;
    }

    /* Canvas para confetes cobrindo toda a tela */
    #confettiCanvas {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
        z-index: 9999;
    }

    .result-display {
        margin-top: 1.5rem;
        padding: 1.5rem;
        border-radius: 0.5rem;
        text-align: center;
        width: 100%;
    }

    .result-win {
        background-color: #16a34a;
    }

    .result-lose {
        background-color: #dc2626;
    }

    /* Spin item styles - ESPECÍFICO PARA CHECKOUT ROULETTE */
    #checkout-roulette .spin-item {
        border: 1px solid #16a34a;
        border-radius: 0.5rem;
        padding: 0.75rem;
        transition: all 0.3s ease;
    }

    #checkout-roulette .spin-item.available {
        /* Não girados: borda cinza 1px */
        border-color: #6b7280;
        border-width: 1px;
    }

    #checkout-roulette .spin-item.completed {
        /* Girados sem prêmio: borda vermelha com transparência */
        border-color: #f8717180;
    }

    #checkout-roulette .spin-item.spin-winner {
        /* Vencedores: borda verde 2px */
        border-color: #16a34a !important;
        border-width: 2px;
    }

    #checkout-roulette .spin-item.won {
        /* Compatibilidade para vencedores */
        border-color: #16a34a;
        border-width: 2px;
        padding-bottom: 1.5rem;
    }

    #checkout-roulette .button-ver-mais {
        color: #d1d5db;
    }

    .spin-item-content {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
    }

    .spin-item-left {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }

    .spin-item-icon {
        width: 1.5rem;
        height: 1.5rem;
        background-color: rgba(255, 255, 255, 0.2);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-shrink: 0;
        font-size: 0.875rem;
        margin-right: 0.5rem;
    }

    .spin-item-info {
        min-width: 0;
        flex: 1;
    }

    .spin-item-title {
        font-weight: 700;
        font-size: 0.875rem;
        color: white;
        display: block;
    }

    .spin-item-description {
        font-size: 0.7rem;
        color: rgba(255, 255, 255, 0.8);
        display: block;
    }

    .spin-prize-section {
        margin-top: 0.75rem;
        border-radius: 0.5rem;
        padding: 0.75rem 1rem;
        background-color: rgba(34, 197, 94, 0.1);
        border: 2px solid #16a34a;
        text-align: center;
    }

    .trophy-icon {
        width: 3rem;
        height: 3rem;
        color: #fbbf24;
        flex-shrink: 0;
        stroke-width: 1;
    }

    .prize-text {
        text-align: center;
        width: 100%;
    }

    .prize-title {
        color: white;
        font-weight: 700;
        font-size: 0.8rem;
        margin: 0 0 0.125rem 0;
        text-align: center;
    }

    .prize-subtitle {
        color: #4ade80;
        font-size: 0.7rem;
        margin: 0;
        font-weight: 600;
        text-align: center;
    }

    /* Alinhamento dos textos dos giros */
    .spin-item-content {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
    }

    .spin-item-left {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .spin-item-left i {
        font-size: 24px;
        width: 24px;
        height: 24px;
        color: rgb(250, 204, 21);
        box-sizing: border-box;
        flex-shrink: 0;
    }

    .spin-item-info h3 {
        margin: 0;
        font-size: 1rem;
        font-weight: 600;
        color: #fff;
        line-height: 1.2;
    }

    .spin-item-description {
        margin: 0;
        font-size: 0.8rem;
        color: rgba(255, 255, 255, 0.8);
    }

    /* Mobile Responsivo - Roleta */
    @media (max-width: 768px) {
        /* Modal da roleta - ajustar para mobile */
        #checkout-roulette .modal-content {
            width: 95%;
            max-width: none;
            margin: 1rem;
            padding: 1rem;
        }
        
        /* Roleta - tamanho responsivo para mobile */
        .wheel {
            width: min(95vw, 450px);
            height: min(95vw, 450px);
            max-width: 450px;
            max-height: 450px;
        }
        
        /* Canvas da roleta - responsivo */
        #roleta {
            width: 100%;
            height: 100%;
            max-width: 450px;
            max-height: 450px;
        }
        
        /* Anel gradiente - ajustar proporcionalmente */
        .wheel::before {
            top: 30px;
            left: 30px;
            right: 30px;
            bottom: 30px;
        }
        
        /* Display de resultado - ajustar espaçamento */
        .result-display {
            margin-top: 1rem;
            padding: 1rem;
        }
    }

    @media (max-width: 480px) {
        /* Para telas muito pequenas */
        .wheel {
            width: min(95vw, 400px);
            height: min(95vw, 400px);
            max-width: 400px;
            max-height: 400px;
        }
        
        #roleta {
            max-width: 400px;
            max-height: 400px;
        }
        
        .wheel::before {
            top: 25px;
            left: 25px;
            right: 25px;
            bottom: 25px;
        }
        
        #checkout-roulette .modal-content {
            margin: 0.5rem;
            padding: 0.75rem;
        }
    }

    /* Responsive */
    @media (min-width: 640px) {
        .d-block.d-sm-inline { display: inline; }
        
        .spin-prize-section {
            flex-direction: row;
            gap: 1rem;
        }
        
        .prize-text {
            text-align: left;
            max-width: none;
        }
        
        .trophy-icon {
            width: 4rem;
            height: 4rem;
        }
        
        .prize-title {
            font-size: 1rem;
        }
        
        .prize-subtitle {
            font-size: 0.8rem;
        }
        
        .spin-item-title {
            font-size: 1rem;
        }
        
        .spin-item-description {
            font-size: 0.8rem;
        }
        
        .spin-item-icon {
            width: 2rem;
            height: 2rem;
            font-size: 1.2rem;
        }
    }

    @media (min-width: 1024px) {
        .spin-item {
            padding: 1rem;
        }
        
        .spin-item.won {
            padding-bottom: 2rem;
        }
        
        .spin-prize-section {
            margin-top: 1rem;
            padding: 1rem;
        }
        
        .spin-item-title {
            font-size: 1.125rem;
        }
        
        .spin-item-description {
            font-size: 0.8rem;
        }
        
        .prize-title {
            font-size: 1rem;
        }
        
        .prize-subtitle {
            font-size: 0.8rem;
        }
    }

}
     
/* Global keyframes to ensure animation runs outside of .dark scope */
@keyframes simple-border-cycle {
    0% { border-color: #fd7d96; }
    16.6% { border-color: #da9bf5; }
    33.2% { border-color: #74cf98; }
    49.8% { border-color: #a09df8; }
    66.4% { border-color: #fad961; }
    83% { border-color: #fd7d96; }
    100% { border-color: #fd7d96; }
}
