/* ===================================================================
   ARQUIVO DE ESTILO PARA AS PÁGINAS DE CURSO E CATÁLOGO
   ===================================================================
   ÍNDICE:
   1. Estilos da Página de Curso (Layout Vertical)
   2. Componentes da Página de Curso (Carrossel, Modal, Toast)
   3. Sidebar Aprimorada
   4. Seção de Carreira (Tabela de Salários, etc.)
   =================================================================== */

/* =============================================
   1. ESTILOS DA PÁGINA DE CURSO (Layout Vertical)
   ============================================= */

/* --- Cabeçalho da Página (Fixo/Sticky) --- */
.course-page-header {
    background: var(--light-color);
    padding: 5px 0; /* Menos padding para ficar mais compacto */
    border-bottom: 1px solid #dee2e6;
    position: sticky;
    top: 28px; /* Altura da sua navbar principal */
    z-index: 1000;
    box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

.course-page-header .breadcrumb-path a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: 500;
}
.course-page-header .breadcrumb-path .chevron-bread {
    margin: 0 8px;
    color: #6c757d;
}

/* --- Barra de Diferenciais (Key Features) --- */
.key-features-bar {
    display: flex;
    justify-content: space-around;
    background-color: white;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.07);
    margin-bottom: 30px;
}
.key-features-bar .feature-item {
    text-align: center;
    color: var(--text-color);
}
.key-features-bar .feature-icon {
    font-size: 2rem;
    color: var(--primary-color);
    margin-bottom: 8px;
}
.key-features-bar .feature-text {
    font-weight: 500;
    font-size: 0.9rem;
}

/* --- Cards de Conteúdo (Sobre, Mercado, etc.) --- */
.content-section-card {
    background: white;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.07);
    margin-bottom: 30px;
}
.content-section-card h3 {
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 20px;
}

/* --- Sidebar Fixa (Sticky) --- */
.sticky-sidebar {
    position: sticky;
    top: 180px; /* Ajustado para a altura da navbar + header sticky */
}

.sticky-sidebar .details-card {
    border: 1px solid #dee2e6;
}

/* --- Ajustes para Mobile --- */
@media (max-width: 991.98px) {
    .sticky-sidebar {
        position: static;
        top: auto;
    }
}

/* =============================================
   2. COMPONENTES DA PÁGINA DE CURSO
   ============================================= */

/* --- Carrossel de Depoimentos --- */
.testimonial-carousel-card {
    background-color: #f8f9fa;
    border: 1px solid #e9ecef;
    padding: 30px;
    border-radius: 12px;
    text-align: center;
}
.testimonial-carousel-card img {
    width: 80px; height: 80px;
    border-radius: 50%; object-fit: cover;
    margin-bottom: 15px; border: 3px solid white;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}
.testimonial-carousel-card blockquote {
    font-style: italic;
    color: #6c757d;
}
.testimonial-carousel-card .author {
    font-weight: 600;
    color: var(--primary-color);
}
#testimonialCarousel .carousel-indicators [data-bs-target] {
    background-color: var(--primary-color);
}

/* --- Modal da Grade Curricular --- */
#gradeCurricularModal .list-group-item {
    background-color: transparent;
    border-color: #e9ecef;
    font-weight: 500;
}
#gradeCurricularModal .list-group-item i {
    color: var(--primary-color);
}

/* --- Toast de Ajuda Personalizada --- */
.toast {
    background-color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(0,0,0,0.1);
}
.toast-header {
    background-color: rgba(0,0,0,0.03);
}

/* =============================================
   3. ASIDE (SIDEBAR) APRIMORADA
   ============================================= */
#course-page-sidebar .details-card {
    background-color: white;
    border-radius: 12px;
    border: 1px solid #e9ecef;
    box-shadow: 0 5px 25px rgba(0,0,0,0.07);
    padding: 25px;
}
#course-page-sidebar .info-item {
    display: flex;
    align-items: center;
    padding: 15px 0;
    border-bottom: 1px solid #f0f0f0;
}
#course-page-sidebar .info-item:last-of-type {
    border-bottom: none;
}
#course-page-sidebar .info-icon {
    flex-shrink: 0;
    width: 40px; height: 40px;
    background-color: rgba(0, 80, 158, 0.1); /* Azul claro */
    color: var(--primary-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    margin-right: 15px;
}
#course-page-sidebar .info-label {
    display: block;
    font-size: 0.9rem;
    color: #6c757d;
}
#course-page-sidebar .info-value {
    font-weight: 600;
    color: var(--dark-color);
}
#course-page-sidebar .offer-box {
    background-color: var(--light-color);
    border-radius: 10px;
    padding: 20px;
    text-align: center;
    margin-top: 25px;
}

/* =============================================
   4. SEÇÃO DE CARREIRA (TABELA DE SALÁRIOS, ETC.)
   ============================================= */
.career-section-card {
    background: linear-gradient(135deg, #f8f9fa, #ffffff);
}
.career-section-card h3 {
    font-size: 1.5rem; position: relative;
    padding-bottom: 10px; margin-bottom: 20px;
}
.career-section-card h3::after {
    content: ''; position: absolute;
    bottom: 0; left: 0;
    width: 50px; height: 3px;
    background-color: var(--secondary-color, #FFC72C);
}

.salary-table-wrapper {
    background-color: #f8f9fa;
    border-radius: 12px;
    padding: 20px;
    border: 1px solid #e9ecef;
}
.salary-table {
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #dee2e6;
    margin-bottom: 0;
}
.salary-table thead th {
    background-color: var(--primary-color, #00509E);
    color: white;
    border: none;
    text-align: center;
}
.salary-table tbody tr {
    transition: all 0.2s ease-in-out;
}
.salary-table tbody tr:hover {
    transform: scale(1.02);
    box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}
.salary-level-junior { background-color: rgba(0, 230, 118, 0.1) !important; }
.salary-level-pleno { background-color: rgba(0, 80, 158, 0.1) !important; }
.salary-level-senior { background-color: rgba(255, 199, 44, 0.15) !important; }

.salary-table .level-icon {
    width: 60px; text-align: center;
    font-size: 1.5rem; vertical-align: middle;
}
.salary-level-junior .level-icon { color: #00b359; }
.salary-level-pleno .level-icon { color: #00509E; }
.salary-level-senior .level-icon { color: #cca023; }

.salary-table .salary-value {
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--dark-color);
}
.salary-disclaimer {
    font-size: 0.8rem;
    color: #6c757d;
    text-align: center;
    margin-top: 10px;
}

.position-item, .skill-item {
    display: flex; align-items: center;
    padding: 10px; background-color: #f8f9fa;
    border-radius: 8px; margin-bottom: 10px;
}
.position-item .position-icon {
    font-size: 1.5rem;
    color: var(--primary-color);
    margin-right: 15px;
}
.skill-item i {
    color: var(--secondary-color, #FFC72C);
    font-size: 1.2rem;
    margin-right: 10px;
}