/* CTA Banner - Arquivo CSS Dedicado */
/* Responsável por todos os estilos do banner CTA */

/* Banner CTA Principal */
.cta-banner {
    position: fixed !important;
    top: 90px !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(135deg, #007bff, #00c6ff) !important;
    color: white !important;
    z-index: 9999 !important;
    transform: translateY(-100%) !important;
    transition: all 0.5s ease !important;
    box-shadow: 0 4px 20px rgba(0, 123, 255, 0.3) !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    font-family: 'Inter', sans-serif !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Estado visível do banner */
.cta-banner.show {
    transform: translateY(0) !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
}

/* Estado escondido do banner */
.cta-banner.hidden {
    transform: translateY(-100%) !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

       /* Container do conteúdo do banner */
       .cta-content {
           display: flex !important;
           align-items: center !important;
           justify-content: center !important;
           padding: 12px 20px !important;
           gap: 20px !important;
           max-width: 250px !important;
           margin: 0 auto !important;
           flex-wrap: wrap !important;
           position: relative !important;
       }

/* Texto do banner */
.cta-text {
    font-size: 1.1rem !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    color: white !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Botão principal do banner */
.cta-button {
    background: white !important;
    color: #007bff !important;
    border: none !important;
    padding: 10px 20px !important;
    border-radius: 25px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    text-transform: uppercase !important;
    font-size: 0.9rem !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    display: inline-block !important;
    line-height: 1 !important;
}

.cta-button:hover {
    background: #f0f0f0 !important;
    transform: scale(1.05) !important;
    color: #007bff !important;
    text-decoration: none !important;
}

.cta-button:active {
    transform: scale(1.02) !important;
}

/* Botão de fechar */
.cta-close {
    background: none !important;
    border: none !important;
    color: white !important;
    font-size: 1.5rem !important;
    cursor: pointer !important;
    padding: 0 !important;
    width: 30px !important;
    height: 30px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    transition: background 0.3s ease !important;
    flex-shrink: 0 !important;
    position: relative !important;
    z-index: 10000 !important;
    line-height: 1 !important;
    margin: 0 !important;
}

.cta-close:hover {
    background: rgba(255, 255, 255, 0.2) !important;
    color: white !important;
}

.cta-close:active {
    background: rgba(255, 255, 255, 0.3) !important;
}

/* Responsividade para tablets */
@media (max-width: 768px) {
    .cta-banner {
        top: 80px !important;
    }
    
    .cta-content {
        padding: 10px 15px !important;
        gap: 15px !important;
    }
    
    .cta-text {
        font-size: 1rem !important;
    }
    
    .cta-button {
        padding: 8px 16px !important;
        font-size: 0.8rem !important;
    }
    
    .cta-close {
        width: 28px !important;
        height: 28px !important;
        font-size: 1.3rem !important;
    }
}

/* Responsividade para celulares */
@media (max-width: 480px) {
    .cta-banner {
        top: 70px !important;
    }
    
    .cta-content {
        padding: 8px 15px !important;
        gap: 10px !important;
        flex-direction: column !important;
        position: relative !important;
    }
    
    .cta-text {
        font-size: 0.9rem !important;
        text-align: center !important;
        white-space: normal !important;
    }
    
    .cta-button {
        padding: 8px 16px !important;
        font-size: 0.8rem !important;
    }
    
    .cta-close {
        position: absolute !important;
        top: 5px !important;
        right: 10px !important;
        width: 25px !important;
        height: 25px !important;
        font-size: 1.2rem !important;
    }
}

/* Responsividade para telas muito pequenas */
@media (max-width: 360px) {
    .cta-content {
        padding: 6px 10px !important;
    }
    
    .cta-text {
        font-size: 0.8rem !important;
    }
    
    .cta-button {
        padding: 6px 12px !important;
        font-size: 0.7rem !important;
    }
    
    .cta-close {
        width: 22px !important;
        height: 22px !important;
        font-size: 1rem !important;
    }
}

/* Garantir que o banner sempre apareça acima de outros elementos */
.cta-banner {
    z-index: 99999 !important;
}

/* Forçar estilos em caso de conflito */
.cta-banner * {
    box-sizing: border-box !important;
}

/* Animações suaves */
@keyframes ctaSlideIn {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes ctaSlideOut {
    from {
        transform: translateY(0);
        opacity: 1;
    }
    to {
        transform: translateY(-100%);
        opacity: 0;
    }
}

.cta-banner.show {
    animation: ctaSlideIn 0.5s ease forwards !important;
}

.cta-banner.hidden {
    animation: ctaSlideOut 0.5s ease forwards !important;
}
