/**
 * Hero Buttons Yellow - Botões da hero com amarelo Pantone harmônico
 */

/* === BOTÕES PRIMÁRIOS - AMARELO PANTONE === */
.btn-primary {
    background: inherit !important;
    border: 2px solid #9fefae !important;
    color: #9fefae !important;
    padding: 1rem 2rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    min-width: 180px !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(159, 239, 174, 0.3) !important;
}

.btn-primary:hover {
    background: #9fefae !important;      /* Verde neon */
    border-color: #9fefae !important;
    color: var(--black-solid) !important;
    transform: translateY(-3px) !important;
    box-shadow: 
        0 0 25px rgba(159, 239, 174, 0.6), 
        0 0 50px rgba(159, 239, 174, 0.4),
        0 8px 25px rgba(159, 239, 174, 0.3) !important;
}

.btn-primary:active {
    background: #7dd87f !important;      /* Verde mais escuro */
    border-color: #7dd87f !important;
    color: var(--black-solid) !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 2px 10px rgba(159, 239, 174, 0.4) !important;
}

/* === BOTÃO OUTLINE - HARMONIZAR COM AMARELO === */
.btn-outline {
    background: inherit !important;
    border: 2px solid #FFCD00 !important;    /* Borda amarela */
    color: #FFCD00 !important;               /* Texto amarelo */
    padding: 1rem 2rem !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    border-radius: 8px !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    min-width: 180px !important;
    text-align: center !important;
    box-shadow: 0 4px 15px rgba(255, 205, 0, 0.2) !important;
}

.btn-outline:hover {
    background: #FFCD00 !important;          /* Fundo amarelo no hover */
    border-color: #FFCD00 !important;
    color: var(--black-solid) !important;    /* Texto preto no hover */
    transform: translateY(-3px) !important;
    box-shadow: 
        0 0 20px rgba(255, 205, 0, 0.5),
        0 8px 20px rgba(255, 205, 0, 0.3) !important;
}

.btn-outline:active {
    background: #E6B800 !important;
    transform: translateY(-1px) !important;
}

/* === FOCUS STATES PARA ACESSIBILIDADE === */
.btn-primary:focus,
.btn-outline:focus {
    outline: 3px solid #9fefae !important;
    outline-offset: 2px !important;
    box-shadow: 
        0 0 0 3px rgba(159, 239, 174, 0.4),
        0 4px 15px rgba(159, 239, 174, 0.3) !important;
}

/* === RESPONSIVIDADE === */

/* Desktop Grande (2048px+) */
@media (min-width: 2048px) {
    .btn-primary,
    .btn-outline {
        padding: 1.2rem 2.5rem !important;
        font-size: 1.1rem !important;
        min-width: 200px !important;
        box-shadow: 0 6px 20px rgba(255, 205, 0, 0.3) !important;
    }
    
    .btn-primary:hover,
    .btn-outline:hover {
        box-shadow: 
            0 0 30px rgba(255, 205, 0, 0.7),
            0 0 60px rgba(255, 205, 0, 0.4),
            0 10px 30px rgba(255, 205, 0, 0.3) !important;
    }
}

/* Tablet (769px - 2047px) */
@media (min-width: 769px) and (max-width: 2047px) {
    .btn-primary,
    .btn-outline {
        padding: 0.9rem 1.8rem !important;
        font-size: 0.95rem !important;
        min-width: 160px !important;
        box-shadow: 0 3px 12px rgba(255, 205, 0, 0.25) !important;
    }
    
    .btn-primary:hover,
    .btn-outline:hover {
        box-shadow: 
            0 0 20px rgba(255, 205, 0, 0.5),
            0 6px 20px rgba(255, 205, 0, 0.25) !important;
    }
}

/* Mobile (≤768px) */
@media (max-width: 768px) {
    .btn-primary,
    .btn-outline {
        padding: 0.8rem 1.2rem !important;
        font-size: 0.85rem !important;
        min-width: 140px !important;
        flex: 1 1 auto !important;
        max-width: 180px !important;
        box-shadow: 0 2px 8px rgba(255, 205, 0, 0.2) !important;
    }
    
    .btn-primary:hover,
    .btn-outline:hover {
        box-shadow: 
            0 0 15px rgba(255, 205, 0, 0.4),
            0 4px 15px rgba(255, 205, 0, 0.2) !important;
    }
}

/* Mobile Pequeno (≤480px) */
@media (max-width: 480px) {
    .btn-primary,
    .btn-outline {
        padding: 0.7rem 1rem !important;
        font-size: 0.8rem !important;
        min-width: 120px !important;
        flex: 1 1 auto !important;
        max-width: 150px !important;
    }
}

/* === ANIMAÇÕES HARMÔNICAS === */
@keyframes greenGlow {
    0%, 100% {
        box-shadow: 0 0 20px rgba(159, 239, 174, 0.3);
    }
    50% {
        box-shadow: 0 0 30px rgba(159, 239, 174, 0.5);
    }
}

.btn-primary:hover {
    animation: greenGlow 2s ease-in-out infinite !important;
}

/* === HARMONIA COM OUTRAS CORES === */
.hero-buttons .btn-primary + .btn-outline {
    margin-left: 0 !important;
}

.hero-buttons .btn-outline + .btn-primary {
    margin-left: 0 !important;
}

/* === CONTRASTE COM FUNDO ESCURO === */
.btn-primary {
    /* Sombra para destacar sobre vídeo */
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)) !important;
}

.btn-outline {
    /* Sombra para destacar sobre vídeo */
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3)) !important;
}
