/* ==========================================================================
   SEÇÃO CURSOS - GERAL E DESKTOP
   ========================================================================== */
.secao-cursos {
    background-color: #FF6600 !important;
    padding: 80px 0;
    text-align: center;
    position: relative;
    overflow: hidden; /* Evita que o slider vaze para fora da página */
}

.secao-cursos h2 {
    font-size: 3.5rem;
    color: #fff;
    font-weight: 900;
    text-transform: uppercase;
    margin-bottom: 60px;
    font-family: 'Montserrat', sans-serif;
}

/* 1. MOLDURA (Container que limita a visão) */
.cursos-overflow {
    width: 100%;
    overflow: hidden; 
    margin: 0 auto;
    position: relative;
}

/* 2. CONTAINER DO SLIDER (Agrupa setas e conteúdo) */
.cursos-slider-wrapper {
    position: relative;
    max-width: 1100px; /* Largura total dos 3 cards + gaps */
    margin: 0 auto;
    display: flex;
    align-items: center;
}

/* 3. A "FITA" DE CARDS */
.cursos-slider {
    display: flex;
    flex-wrap: nowrap;
    gap: 30px;
    width: 100%;
    overflow-x: auto;            /* Permite a rolagem */
    scroll-snap-type: x mandatory; /* O "ímã" que trava no card */
    scrollbar-width: none;       /* Esconde barra de rolagem (Firefox) */
    align-items: stretch;
}

.cursos-slider::-webkit-scrollbar {
    display: none;
}

/* 4. CARDS INDIVIDUAIS */
.card-curso {
    scroll-snap-align: start; /* <--- ADICIONE ESTA LINHA */
    flex: 0 0 calc(33.333% - 20px) !important;
    box-sizing: border-box;
    background: #ffffff !important; /* Fundo branco do card */
    border-radius: 40px !important; /* Arredondamento perfeito das bordas */
    overflow: hidden !important;    /* Força a imagem a respeitar o arredondamento */
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;        /* Deixa o tamanho livre para não sufocar a imagem */
    padding: 0 !important;          /* Zera qualquer preenchimento interno */
    margin: 0 !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15); /* Sombra suave para destacar o card */
}

.card-curso .img-wrapper {
    width: 100% !important; 
    height: auto !important; 
    margin: 0 !important; 
    padding: 0 !important;
    border: none !important;
    display: block !important;
}

.card-curso img {
    width: 100% !important;
    height: auto !important;       /* Deixa a imagem definir a própria altura real */
    display: block !important;
    object-fit: contain !important; /* Garante que NENHUM pedaço da arte seja cortado */
    border-radius: 0px !important;  /* Respeita o overflow do card pai */
    margin: 0 !important;
    padding: 0 !important;
}

/* 5. SETAS LATERAIS */
.slider-prev, .slider-next {
    background: none;
    border: none;
    color: #fff;
    font-size: 50px;
    cursor: pointer;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    padding: 10px;
    transition: opacity 0.3s;
}

.slider-prev:hover, .slider-next:hover {
    opacity: 0.7;
}

.slider-prev { left: -60px; }
.slider-next { right: -60px; }

/* 6. BOTÃO "TODOS OS CURSOS" */
.btn-cursos-wrapper {
    margin-top: 60px;
}

.btn-cursos-wrapper a {
    background: #000 !important;
    color: #fff !important;
    padding: 15px 50px;
    text-decoration: none;
    font-weight: 900;
    font-size: 1.1rem;
    display: inline-block;
    text-transform: uppercase;
    transition: transform 0.3s;
}

.btn-cursos-wrapper a:hover {
    transform: scale(1.05);
}


/* ==========================================================================
   SEÇÃO CURSOS - TABLETS / TELAS MENORES (1024px) - REVISADO
   ========================================================================== */
@media screen and (max-width: 1024px) {
    .secao-cursos h2.cursos_home {
        font-size: 3rem !important; /* Ajuste o valor (ex: 1.8rem ou 2rem) conforme preferir */
        margin-bottom: 15px !important; /* Reduzi a margem também para melhorar o espaço */
        margin-top: -15px !important;
    }

    /* 3. A configuração definitiva para 2 cards */
    .cursos-slider {
        display: flex !important;
        flex-wrap: nowrap !important; /* Mantém na linha */
        gap: 30px !important;
        justify-content: flex-start !important; /* Alinha no início para garantir o snap */
        width: 100% !important;
    }

    /* 1. O wrapper controla a largura total para caber apenas 2 cards */
    .cursos-slider-wrapper {
        max-width: 900px !important; /* Ajuste fino: 2 cards de 340px + gap de 20px */
        margin: 0 auto !important;
        padding: 0 40px !important; /* Espaço para as setas */
        position: relative !important;
    }

    /* 2. Esconde tudo o que vazar dos 2 cards */
    .cursos-overflow {
        width: 100% !important;
        overflow: hidden !important;
    }

    .card-curso {
        flex: 0 0 calc(50% - 15px) !important; /* Garante exatamente metade da largura menos o gap */
        transform: none !important;
    }

    /* 4. Setas nas extremidades do wrapper */
    .slider-prev, .slider-next {
        position: absolute !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        background: none !important;
        color: #fff !important;
        font-size: 50px !important;
        z-index: 10 !important;
    }

    .slider-prev { left: -10px !important; }
    .slider-next { right: -10px !important; }
}

/* ==========================================================================
   SEÇÃO CURSOS - RESPONSIVIDADE (MOBILE CORRIGIDO)
   ========================================================================== */
@media screen and (max-width: 768px) {
    .secao-cursos h2.cursos_home {
        font-size: 2rem !important; /* Ajuste o valor (ex: 1.8rem ou 2rem) conforme preferir */
        margin-bottom: 15px !important; /* Reduzi a margem também para melhorar o espaço */
        margin-top: -15px !important;
    }
    .cursos-slider-wrapper {
        padding: 0 40px !important; /* Espaço para as setas */
    }
    .cursos-slider {
        justify-content: center; /* Garante o alinhamento central */
        gap: 0 !important;
    }
    .card-curso {
        flex: 0 0 100% !important; /* Ocupa 100% da largura visível */
    }
    .slider-prev, .slider-next {
        display: flex !important; /* Força a exibição */
        font-size: 30px !important;
        background: rgba(255, 255, 255, 0.2) !important;
        border-radius: 50%;
        width: 40px;
        height: 40px;
        align-items: center;
        justify-content: center;
    }
}
