/* --- ALERTAS E BOTÕES --- */
.alert { padding: 1rem; border-radius: 0.375rem; margin-bottom: 1.5rem; border-width: 1px; border-style: solid; }
.alert-success { background-color: #D1FAE5; color: #065F46; border-color: #6EE7B7; }
.alert-danger { background-color: #FEE2E2; color: #991B1B; border-color: #FCA5A5; }
.alert-info { background-color: #DBEAFE; color: #1E40AF; border-color: #93C5FD; }
.alert-warning { background-color: #FFFBEB; color: #92400E; border-color: #FDE68A;}

.btn { padding: 0.625rem 1.25rem; border-radius: 0.5rem; text-decoration: none; font-weight: 600; text-align: center; display: inline-block; transition: background-color 0.3s ease, transform 0.2s ease; }
.btn-primary-action { background-color: #4b5263; color: white; }
.btn-primary-action:hover { background-color: #3d4350; transform: translateY(-2px); }
.btn-secondary-action { background-color: #6b7280; color: white; }
.btn-secondary-action:hover { background-color: #4b5263; transform: translateY(-2px); }
.btn-danger-action { background-color: #E74C3C; color: white; }
.btn-danger-action:hover { background-color: #C0392B; transform: translateY(-2px); }
.btn-disabled-action { background-color: #BDC3C7; color: #7F8C8D; cursor: not-allowed; }
.btn-pending-action { background-color: #F59E0B; color: white; cursor: not-allowed; }
.btn-pending-action:hover { background-color: #D97706; transform: translateY(-2px); }
        
/* --- ESTILOS GERAIS --- */
body { font-family: 'Inter', sans-serif; background-color: #f9fafb; }

/* --- CARROSSEL DE SISTEMAS (Estilo imagem_7ed4ba.png) --- */
#destaque-sistemas .carousel-indicators {
    position: relative;
    margin-top: 3rem;
    margin-bottom: 0;
    display: flex;
    justify-content: center;
}

#destaque-sistemas .carousel-indicators [data-bs-target] {
    background-color: #4b5263;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    margin: 0 6px;
    opacity: 0.4;
    transition: all 0.3s ease;
}

#destaque-sistemas .carousel-indicators .active {
    opacity: 1;
    transform: scale(1.2);
}

/* Lista com checks verdes */
.list-checkpoints li {
    margin-bottom: 0.75rem;
    display: flex;
    align-items: flex-start;
    color: #4b5563; /* Cinza texto */
}

/* --- CARDS DE CURSOS (Estilo image_73ebd5.png) --- */
.card-curso-custom {
    border: none;
    background: #fff;
    transition: transform 0.2s;
    height: 100%;
    /* Sombra suave igual a da imagem */
    box-shadow: 0 1px 3px rgba(0,0,0,0.05); 
}

.card-curso-custom:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.curso-thumb-placeholder {
    height: 220px;
    background-color: #e2e8f0; /* Cinza do placeholder da imagem */
    color: #64748b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    font-weight: 700;
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
    overflow: hidden;
}

.curso-thumb-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Botão arredondado "Detalhes" */
.btn-detalhes {
    background-color: #0d6efd; /* Azul vibrante */
    color: white;
    border-radius: 50px; /* Pill shape */
    padding: 0.375rem 1.5rem;
    font-weight: 500;
    text-decoration: none;
}
.btn-detalhes:hover {
    background-color: #0b5ed7;
    color: white;
}

@media (min-width: 640px) { /* sm */
            .sm\:aspect-w-3 { position: relative; padding-bottom: 66.666667%; /* 3:2 aspect ratio */ }
            .sm\:aspect-h-2 { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
        }

        /* Estilos do Carrossel de Propaganda */
        #carouselPropaganda .carousel-item {
            height: 400px;
            background-color: #212529; /* Fundo escuro padrão */
            border-radius: 15px;
            overflow: hidden;
        }
        .carousel-caption-custom {
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            height: 100%;
            text-align: center;
            padding: 20px;
        }
        .overlay-gradient {
            background: linear-gradient(45deg, rgba(0,0,0,0.9), rgba(0,40,80,0.8));
            position: absolute;
            top: 0; left: 0; width: 100%; height: 100%;
        }
        
        /* Estilos dos Cards de Cursos */
        .card-curso {
            border: 1px solid #e2e8f0;
            transition: all 0.3s ease;
        }
        .card-curso:hover {
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
        }
        .card-curso-img-wrapper {
            height: 200px;
            background-color: #e9ecef;
            overflow: hidden;
        }
        .card-curso-img-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .carousel-indicators-below {
            position: relative !important; /* Remove a posição absoluta padrão do Bootstrap */
            right: auto !important;
            bottom: auto !important;
            left: auto !important;
            margin-top: 30px;
            margin-bottom: 0;
            display: flex;
            justify-content: center;
        }

        .carousel-indicators-below [data-bs-target] {
            background-color: #0d6efd !important; /* Cor Azul (Primary) */
            width: 12px !important;
            height: 12px !important;
            border-radius: 50% !important; /* Bolinhas redondas */
            border: none;
            margin: 0 6px;
            opacity: 0.3;
            transition: opacity 0.3s;
        }

        .carousel-indicators-below .active {
            opacity: 1 !important;
            transform: scale(1.2); /* Aumenta ligeiramente a bolinha ativa */
        }