/* BLOCO 02 - DESKTOP */
.cursos {
    padding: 60px 20px;
    background-color: var(--color-white); /* Geralmente o background da section é um pouco diferente */
    text-align: center;
}

.bloco-title {
    font-size: 2rem;
    color: var(--color-accent);
    margin-bottom: 40px;
    transition: var(--transition);
}

.curso-grid {
    display: flex;
    gap: 30px;
    justify-content: center;
    flex-wrap: wrap;
}

.curso-item {
    background: var(--color-white); /* Cor de fundo do card, conforme a imagem */
    border-radius: var(--radius);
    padding: 0; /* Remove padding inicial para a imagem ocupar a borda */
    width: 320px;
    box-shadow: var(--shadow);
    transition: var(--transition);
    overflow: hidden; /* Garante que a imagem siga o border-radius e que o efeito de dobra seja contido */
    display: flex; /* Adiciona flexbox para alinhar o conteúdo */
    flex-direction: column; /* Organiza os itens em coluna */
}

.curso-item:hover {
    transform: translateY(-5px);
}

/* Wrapper da imagem dentro do card */
.curso-image-wrapper {
    width: 100%; /* Isso será 100% da largura do .curso-item, que é 320px */
    height: 180px; /* Altura fixa! */
    overflow: hidden;
}

.curso-image-wrapper img {
    width: 100%;
    height: 100%; /* A imagem preenche o wrapper */
    object-fit: contain; /* ALTERADO: de 'cover' para 'contain' */
    display: block; /* Remove espaço extra abaixo da imagem */
}

/* Conteúdo textual dentro do card */
.curso-item h3,
.curso-item p,
.curso-item .curso-btn {
    padding: 0 25px; /* Adiciona padding lateral para o conteúdo textual e o botão */
    text-align: left; /* Alinha o texto à esquerda */
}

.curso-item h3 {
    color: var(--color-dark);
    font-size: 1.25rem; /* Ajustado para parecer com a imagem */
    font-weight: var(--font-bold);
    margin-bottom: 10px;
    line-height: 1.3;
}

.curso-item p {
    font-size: 0.95rem; /* Ajustado para parecer com a imagem */
    color: var(--color-text-light); /* Cor do texto do parágrafo */
    margin-bottom: 20px;
    flex-grow: 1; /* Permite que o parágrafo ocupe o espaço disponível, empurrando o botão para baixo */
}

.curso-btn {
    background: none; /* Fundo transparente */
    padding: 8px 20px; /* Ajuste de padding */
    border-radius: 25px; /* Mais arredondado */
    border: 1px solid; /* Adiciona a borda */
    display: inline-block;
    font-weight: var(--font-bold);
    transition: var(--transition);
    text-transform: uppercase; /* Texto em maiúsculas */
    font-size: 0.85rem; /* Fonte ligeiramente menor */
    margin-bottom: 25px; /* Espaço abaixo do botão */
    text-align: center; /* Centraliza o texto do botão */
    align-self: flex-start; /* Alinha o botão à esquerda dentro do flex container do card */
    margin-left: 25px; /* Ajusta o padding esquerdo */
}

/* Cores específicas para cada botão */
.curso-btn-club {
    border-color: #f7931e;
    color: #f7931e;
}

.curso-btn-club:hover {
    background: #f7931e;
    color: var(--color-white);
}

.curso-btn-training {
    border-color: #72dde6;
    color: #72dde6;
}

.curso-btn-training:hover {
    background: #72dde6;
    color: var(--color-white);
}

.curso-btn-resources {
    border-color: #d67bff;
    color: #d67bff;
}

.curso-btn-resources:hover {
    background: #d67bff;
    color: var(--color-white);
}

/* Efeito de "dobra" no canto superior direito do terceiro card */
.curso-item:nth-child(3) .curso-image-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 45px 45px 0; /* Cria um triângulo (top right) */
    border-color: transparent var(--color-white) var(--color-white) transparent; /* Transparente, Branco (base), Branco (altura), Transparente */
    box-shadow: -3px 3px 6px rgba(0, 0, 0, 0.15); /* Sombra para dar profundidade */
    z-index: 10; /* Garante que a dobra fique acima da imagem */
}

/* BLOCO 02 - MOBILE */
@media (max-width: 52em) {
    .curso-grid {
        flex-direction: column;
        align-items: center;
    }

    .curso-item {
        width: 90%; /* Ajuste para preencher melhor em telas menores */
        max-width: 320px; /* Mantém a largura máxima */
    }

    /* Ajuste de padding no mobile para o conteúdo textual e o botão */
    .curso-item h3,
    .curso-item p,
    .curso-item .curso-btn {
        padding: 0 20px;
    }

    .curso-btn {
        margin-left: 20px;
    }
}