/* hero-slider.css - CSS personalizado para o hero slider responsivo */

:root {
    /* CORES PRINCIPAIS - Adaptadas para o tema do site */
    --slider-primary-color: #0043A8;       /* Cor principal/destaque */
    --slider-secondary-color: #43A9FF;     /* Cor secundária/acentos */
    --slider-text-color: #ffffff;          /* Cor do texto sobre slides */
    --slider-text-bg: rgba(0, 67, 168, 0.3);  /* Fundo azul semi-transparente para o texto */
    --slider-text-gradient: linear-gradient(135deg, rgba(0, 67, 168, 0.7), rgba(67, 169, 255, 0.4)); /* Gradiente azul para opção alternativa */
    --slider-btn-bg: #0043A8;              /* Cor de fundo do botão */
    --slider-btn-hover: #43A9FF;           /* Cor de hover do botão */
    
    /* TIPOGRAFIA */
    --slider-font-family: 'Segoe UI', Roboto, Arial, sans-serif;
    --slider-heading-size: 2.5rem;         /* Tamanho do título */
    --slider-text-size: 1.1rem;            /* Tamanho do texto */
    --slider-btn-size: 1rem;               /* Tamanho do texto do botão */
    
    /* ESPAÇAMENTOS */
    --slider-padding: 2rem;                /* Espaçamento interno geral */
    --slider-content-width: 1200px;        /* Largura máxima do conteúdo */
    --slider-height: 500px;                /* Altura do slider em desktop - AJUSTADA PARA PADRÃO BRSUPORTE */
    --slider-height-mobile: 300px;         /* Altura do slider em mobile - AJUSTADA */
    --slider-bottom-margin: 20px;          /* Margem inferior do slider */
    
    /* NAVEGAÇÃO */
    --slider-nav-color: #ffffff;           /* Cor dos controles de navegação */
    --slider-nav-size: 1.8rem;             /* Tamanho dos botões de navegação */
    --slider-bullet-size: 10px;            /* Tamanho dos bullets de navegação */
    --slider-bullet-active: #43A9FF;       /* Cor do bullet ativo */
    
    /* ANIMAÇÕES */
    --slider-transition-speed: 0.3s;       /* Velocidade das transições */
}

/* Container principal do slider */
#hero-slider-section {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    position: relative;
    margin: 0 0 var(--slider-bottom-margin) 0; /* Margem inferior moderada */
    padding: 0;
    box-sizing: border-box; /* Garante que padding não afete largura total */
}

.hero-slider-container {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
    position: relative;
    margin: 0;
    padding: 0;
}

/* Slider principal */
.hero-slider {
    width: 100%;
    height: var(--slider-height);
    position: relative;
    margin: 0;
    padding: 0;
}

/* Slides individuais */
.swiper-slide {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

/* Imagem de fundo do slide - SEM overlay global */
.slide-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: 1;
}

/* Removido o overlay global para mostrar a imagem original */
/* .slide-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(...);
    z-index: 2;
} */

/* Container do conteúdo do slide */
.slide-content {
    position: relative;
    z-index: 3;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0 var(--slider-padding);
    box-sizing: border-box;
}

/* Área de texto do slide - SEM FUNDO, APENAS SOMBRA NO TEXTO */
.slide-text {
    max-width: 600px;
    color: var(--slider-text-color);
    font-family: var(--slider-font-family);
    padding: 2rem;
    animation: fadeInLeft 1s ease-out;
    text-align: left;
    background: transparent; /* Sem fundo */
    border-radius: 0; /* Sem bordas */
    box-shadow: none; /* Sem sombra no container */
}

/* Título do slide */
.slide-text h2 {
    font-size: var(--slider-heading-size);
    font-weight: 700;
    margin-bottom: 1rem;
    line-height: 1.2;
    color: var(--slider-text-color);
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8), 0 0 10px rgba(0, 0, 0, 0.5); /* Sombra forte para legibilidade */
}

/* Descrição do slide */
.slide-text p {
    font-size: var(--slider-text-size);
    margin-bottom: 1.5rem;
    line-height: 1.6;
    opacity: 0.9;
    color: var(--slider-text-color);
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8), 0 0 8px rgba(0, 0, 0, 0.5); /* Sombra para legibilidade */
}

/* Botão do slide */
.slide-btn {
    display: inline-block;
    background-color: var(--slider-btn-bg);
    color: var(--slider-text-color);
    font-size: var(--slider-btn-size);
    font-weight: 600;
    text-decoration: none;
    padding: 0.8rem 1.8rem;
    border-radius: 4px;
    transition: background-color var(--slider-transition-speed);
}

.slide-btn:hover {
    background-color: var(--slider-btn-hover);
    color: var(--slider-text-color);
    text-decoration: none;
}

/* Navegação: Bullets */
.swiper-pagination {
    position: absolute;
    bottom: 20px !important;
    z-index: 10;
    width: 100%;
    text-align: center;
}

.swiper-pagination-bullet {
    width: var(--slider-bullet-size);
    height: var(--slider-bullet-size);
    background-color: var(--slider-nav-color);
    opacity: 0.7;
    transition: all var(--slider-transition-speed);
    margin: 0 5px;
}

.swiper-pagination-bullet-active {
    background-color: var(--slider-bullet-active);
    opacity: 1;
    transform: scale(1.2);
}

/* Navegação: Setas */
.swiper-button-prev,
.swiper-button-next {
    color: var(--slider-nav-color);
    font-size: var(--slider-nav-size);
    opacity: 0.7;
    transition: opacity var(--slider-transition-speed);
    background-color: rgba(0,0,0,0.3); /* Fundo semi-transparente para as setas */
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-button-prev:hover,
.swiper-button-next:hover {
    opacity: 1;
    background-color: rgba(0,0,0,0.5);
}

.swiper-button-prev::after,
.swiper-button-next::after {
    font-size: calc(var(--slider-nav-size) * 0.7);
}

/* Animações */
@keyframes fadeInLeft {
    from {
        opacity: 0;
        transform: translateX(-30px);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* Responsividade - Ajustada para melhor enquadramento em mobile */
@media (max-width: 992px) {
    :root {
        --slider-heading-size: 2rem;
        --slider-text-size: 1rem;
    }
    
    .slide-text {
        max-width: 500px;
        padding: 1.5rem;
    }
}

@media (max-width: 768px) {
    .hero-slider {
        height: var(--slider-height-mobile);
    }
    
    :root {
        --slider-heading-size: 1.8rem;
        --slider-text-size: 0.95rem;
        --slider-btn-size: 0.9rem;
        --slider-nav-size: 1.5rem;
    }
    
    #hero-slider-section {
        margin-bottom: 15px; /* Margem inferior reduzida em telas menores */
    }
    
    .slide-content {
        justify-content: center;
        text-align: center;
        padding: 0 1rem;
    }
    
    .slide-text {
        max-width: 90%;
        padding: 1rem;
        text-align: center;
    }
    
    .slide-text h2 {
        text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9), 0 0 12px rgba(0, 0, 0, 0.7); /* Sombra mais intensa para legibilidade em mobile */
    }
    
    .slide-text p {
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9), 0 0 10px rgba(0, 0, 0, 0.7); /* Sombra mais intensa para legibilidade em mobile */
    }
    
    .slide-btn {
        padding: 0.7rem 1.5rem;
    }
    
    .swiper-button-prev,
    .swiper-button-next {
        display: none;
    }
}

@media (max-width: 480px) {
    :root {
        --slider-heading-size: 1.5rem;
        --slider-text-size: 0.9rem;
        --slider-btn-size: 0.85rem;
    }
    
    .slide-text {
        padding: 0.8rem;
        max-width: 95%;
    }
    
    .slide-btn {
        padding: 0.6rem 1.2rem;
    }
}

/* Tema escuro - compatibilidade com o tema do site */
@media (prefers-color-scheme: dark) {
    /* Garantir que o texto permaneça branco no modo escuro */
    .slide-text h2 {
        color: #ffffff !important;
        text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9), 0 0 12px rgba(0, 0, 0, 0.7); /* Sombra mais intensa no tema escuro */
    }
    
    .slide-text p {
        color: #ffffff !important;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.9), 0 0 10px rgba(0, 0, 0, 0.7); /* Sombra mais intensa no tema escuro */
    }
    
    /* Garantir que o botão tenha contraste adequado */
    .slide-btn {
        background-color: var(--slider-btn-bg) !important;
        color: #ffffff !important;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3); /* Sombra no botão para destacá-lo */
    }
    
    .slide-btn:hover {
        background-color: var(--slider-btn-hover) !important;
    }
}
