/**
 * GHA Single Course - Styles custom
 * Page détail d'une formation (/courses/[slug]/)
 *
 * Scope : body.gha-single-course
 * Aligned with: GHA UI Design System v2 (gha-courses-archive.css, gha-dashboard.css)
 *
 * @package GHA Theme
 * @since 1.2.0
 * @date 2026-01-30
 */

/* ==========================================================================
   1. VARIABLES & RESET
   ========================================================================== */

.gha-single-course {
    /* Primary - Blue */
    --gha-primary: #1e40af;
    --gha-primary-light: #eff6ff;
    --gha-primary-hover: #1e3a8a;
    --gha-primary-rgb: 30, 64, 175;

    /* Accent - Amber */
    --gha-accent: #f59e0b;
    --gha-accent-light: #fffbeb;

    /* Feedback */
    --gha-success: #059669;
    --gha-success-light: #ecfdf5;
    --gha-danger: #dc2626;

    /* Backgrounds */
    --gha-bg: #f8fafc;
    --gha-bg-card: #ffffff;

    /* Text - Slate */
    --gha-text: #1e293b;
    --gha-text-secondary: #64748b;
    --gha-text-muted: #94a3b8;

    /* Borders */
    --gha-border: #e2e8f0;
    --gha-border-light: #f1f5f9;

    /* Shadows */
    --gha-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --gha-shadow-md: 0 4px 6px -1px rgba(0,0,0,0.07), 0 2px 4px -2px rgba(0,0,0,0.05);
    --gha-shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.08), 0 4px 6px -4px rgba(0,0,0,0.05);

    /* Radius */
    --gha-radius-xs: 6px;
    --gha-radius-sm: 8px;
    --gha-radius-md: 12px;
    --gha-radius-lg: 16px;

    /* Focus */
    --gha-focus-ring: 0 0 0 3px rgba(30, 64, 175, 0.1);

    /* Page */
    background: var(--gha-bg);
}

/* Reset minimal — neutraliser les couleurs/fonts Tutor sans tout casser */
.gha-single-course .tutor-color-black {
    color: var(--gha-text) !important;
}

.gha-single-course .tutor-color-secondary {
    color: var(--gha-text-secondary) !important;
}

.gha-single-course .tutor-color-muted {
    color: var(--gha-text-muted) !important;
}

.gha-single-course .tutor-color-success {
    color: var(--gha-success) !important;
}


/* ==========================================================================
   1b. BOUTON RETOUR
   ========================================================================== */

.gha-single-course .gha-back-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--gha-text-secondary);
    text-decoration: none;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px 6px 10px;
    margin: 0 0 12px;
    background: var(--gha-bg);
    border: 1px solid var(--gha-border);
    border-radius: 999px;
    transition: all 0.15s ease;
}

.gha-single-course .gha-back-btn:hover {
    color: var(--gha-primary);
    background: var(--gha-primary-light);
    border-color: var(--gha-primary);
}

.gha-single-course .gha-back-btn svg {
    flex-shrink: 0;
}

/* Masquer le bouton Partager partout (feature retirée) */
.gha-single-course .tutor-course-details-actions,
.gha-single-course .tutor-course-share-btn,
.gha-single-course [data-tutor-modal-target="tutor-course-share-opener"] {
    display: none !important;
}

/* ==========================================================================
   2. LAYOUT GLOBAL
   ========================================================================== */

.gha-single-course .tutor-course-details-page {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 24px 64px;
}

/* Grille 2 colonnes : main (8) + sidebar (4) */
.gha-single-course .tutor-course-details-page > .tutor-row {
    display: flex;
    gap: 32px;
}

.gha-single-course .tutor-course-details-page > .tutor-row > main {
    flex: 1;
    min-width: 0;
}

.gha-single-course .tutor-course-details-page > .tutor-row > aside {
    flex: 0 0 380px;
    max-width: 380px;
}


/* ==========================================================================
   3. HEADER — Lead info
   ========================================================================== */

.gha-single-course .tutor-course-details-header {
    margin-bottom: 20px;
}

/* --- Badge type de cours (styles de base) --- */
.gha-single-course .gha-badge-type {
    display: inline-block;
    padding: 4px 10px;
    border-radius: var(--gha-radius-xs);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 1.3;
}

.gha-single-course .gha-badge-type-elearning {
    background: #dbeafe;
    color: #1e40af;
}

.gha-single-course .gha-badge-type-visio {
    background: #fee2e2;
    color: #991b1b;
}

.gha-single-course .gha-badge-type-peerreview {
    background: #ede9fe;
    color: #5b21b6;
}

/* --- Titre H1 --- */
.gha-single-course .tutor-course-details-title {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--gha-text) !important;
    line-height: 1.3 !important;
    margin-top: 0 !important;
    margin-bottom: 0;
}

.gha-single-course .tutor-page-wrap {
    padding-top: 0 !important;
}

/* --- Date événement sous le titre --- */
.gha-single-course .gha-single-course-date {
    margin-top: 8px;
    letter-spacing: 0.01em;
}

.gha-single-course .gha-single-course-date--event {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #ddd6fe;
    border-radius: var(--gha-radius-sm);
    background: #ffffff;
    padding: 7px 10px;
    max-width: 100%;
    line-height: 1.15;
}

.gha-single-course .gha-single-course-date-top {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #6b7280;
    white-space: nowrap;
}

.gha-single-course .gha-single-course-date-bullet {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #6d28d9;
    box-shadow: 0 0 0 3px #f5f3ff;
    flex: 0 0 auto;
}

.gha-single-course .gha-single-course-date-value {
    font-size: 13px;
    font-weight: 700;
    color: #312e81;
    white-space: nowrap;
    min-width: 0;
}

@media (max-width: 767px) {
    .gha-single-course .gha-single-course-date--event {
        gap: 6px;
        padding: 6px 9px;
    }

    .gha-single-course .gha-single-course-date-value {
        font-size: 12px;
    }
}

.gha-single-course .gha-single-course-date:not(.gha-single-course-date--event) {
    font-size: 14px;
    font-weight: 500;
    color: var(--gha-text-secondary);
    letter-spacing: 0.01em;
}

/* --- Ratings sous le titre --- */
.gha-single-course .tutor-course-details-ratings {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    margin-bottom: 0;
}

.gha-single-course .tutor-ratings .tutor-ratings-stars {
    color: var(--gha-accent);
}

.gha-single-course .tutor-ratings .tutor-ratings-stars .tutor-icon-star-bold,
.gha-single-course .tutor-ratings .tutor-ratings-stars .tutor-icon-star-line {
    color: var(--gha-accent);
}

/* --- Auteur + catégories --- */
.gha-single-course .tutor-course-details-info {
    font-size: 14px;
    color: var(--gha-text-secondary);
}

.gha-single-course .tutor-course-details-info a {
    color: var(--gha-text-secondary);
    text-decoration: none;
    transition: color 0.15s ease;
}

.gha-single-course .tutor-course-details-info a:hover {
    color: var(--gha-primary);
}

/* Avatar auteur dans le header */
.gha-single-course .tutor-course-details-info .tutor-avatar {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50%;
    overflow: hidden;
}

/* ==========================================================================
   4. VIDEO / THUMBNAIL
   ========================================================================== */

/* Conteneur média avec badge overlay */
.gha-single-course .gha-single-course-media {
    position: relative;
    border-radius: var(--gha-radius-md);
    overflow: hidden;
    box-shadow: var(--gha-shadow-sm);
}

.gha-single-course .gha-single-course-media .gha-badge-type {
    position: absolute;
    top: 14px;
    left: 14px;
    z-index: 2;
    margin-bottom: 0;
    font-size: 13px;
    padding: 6px 14px;
    border-radius: var(--gha-radius-sm);
    box-shadow: 0 2px 4px rgba(0,0,0,0.12);
}

.gha-single-course .tutor-course-details-page .tutor-video-player,
.gha-single-course .tutor-course-details-page .tutor-course-thumbnail {
    border-radius: 0;
    overflow: hidden;
}

/* Fallback si pas de .gha-single-course-media wrapper */
.gha-single-course .tutor-course-details-page > .tutor-video-player,
.gha-single-course .tutor-course-details-page > .tutor-course-thumbnail {
    border-radius: var(--gha-radius-md);
    box-shadow: var(--gha-shadow-sm);
}

.gha-single-course .tutor-course-details-page .tutor-course-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.gha-single-course .tutor-course-details-page .tutor-video-player iframe,
.gha-single-course .tutor-course-details-page .tutor-video-player video {
    border-radius: 0;
}


/* ==========================================================================
   5. NAVIGATION TABS
   ========================================================================== */

.gha-single-course .tutor-course-details-tab {
    margin-top: 32px;
}

/* Barre sticky — compacte et élégante */
.gha-single-course .tutor-is-sticky {
    position: sticky;
    top: 0;
    z-index: 50;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding-top: 8px;
}

.gha-single-course nav.tutor-nav {
    display: inline-flex;
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--gha-bg-card);
    border: 1px solid var(--gha-border);
    border-radius: var(--gha-radius-sm);
    gap: 0;
    box-shadow: var(--gha-shadow-sm);
}

.gha-single-course .tutor-nav .tutor-nav-item {
    list-style: none;
}

.gha-single-course .tutor-nav .tutor-nav-link {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    color: var(--gha-text-secondary);
    text-decoration: none;
    border-bottom: none;
    border-radius: var(--gha-radius-sm);
    transition: color 0.15s ease, background-color 0.15s ease;
    white-space: nowrap;
}

.gha-single-course .tutor-nav .tutor-nav-link:hover {
    color: var(--gha-text);
    background: var(--gha-border-light);
}

.gha-single-course .tutor-nav .tutor-nav-link.is-active {
    color: var(--gha-primary);
    font-weight: 600;
    background: var(--gha-primary-light);
    border-bottom: none;
}


/* Contenu des tabs */
.gha-single-course .tutor-tab .tutor-tab-item {
    display: none;
}

.gha-single-course .tutor-tab .tutor-tab-item.is-active {
    display: block;
}


/* ==========================================================================
   6. CONTENU ONGLET INFO — About Course
   ========================================================================== */

.gha-single-course .tutor-course-details-content {
    font-size: 15px;
    line-height: 1.7;
    color: var(--gha-text);
}

.gha-single-course .tutor-course-details-content h2 {
    font-size: 20px;
    font-weight: 700;
    color: var(--gha-text);
    margin-bottom: 16px;
}

.gha-single-course .tutor-course-details-content p {
    margin-bottom: 16px;
}

/* Bouton "Show More / Show Less" */
.gha-single-course .tutor-course-details-content .tutor-show-more-btn,
.gha-single-course .tutor-show-more-btn {
    background: none;
    border: 1px solid var(--gha-border);
    border-radius: var(--gha-radius-sm);
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    color: var(--gha-primary);
    cursor: pointer;
    transition: all 0.15s ease;
}

.gha-single-course .tutor-show-more-btn:hover {
    background: var(--gha-primary-light);
    border-color: var(--gha-primary);
}

/* Show More — fade-out gradient sur le contenu tronqué */
.gha-single-course .tutor-toggle-more-content.tutor-toggle-more-collapsed {
    position: relative;
    overflow: hidden !important;
}

.gha-single-course .tutor-toggle-more-content.tutor-toggle-more-collapsed::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60px;
    background: linear-gradient(to bottom, rgba(255,255,255,0), var(--gha-bg-card));
    pointer-events: none;
    z-index: 1;
}

/* Bouton Show More / Show Less */
.gha-single-course .tutor-btn-show-more,
.gha-single-course [data-tutor-toggle-more] {
    background: none !important;
    border: 1px solid var(--gha-border) !important;
    border-radius: var(--gha-radius-sm) !important;
    padding: 8px 16px !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    color: var(--gha-primary) !important;
    cursor: pointer;
    transition: all 0.15s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 16px;
}

.gha-single-course .tutor-btn-show-more:hover,
.gha-single-course [data-tutor-toggle-more]:hover {
    background: var(--gha-primary-light) !important;
    border-color: var(--gha-primary) !important;
}

/* --- Cards de contenu (se distinguent du fond off-white) --- */
.gha-single-course .tutor-course-details-content,
.gha-single-course .tutor-course-details-widget {
    background: var(--gha-bg-card);
    border: 1px solid var(--gha-border);
    border-radius: var(--gha-radius-md);
    padding: 24px;
    box-shadow: var(--gha-shadow-sm);
}

/* --- Benefits (What Will You Learn?) --- */
.gha-single-course .tutor-course-details-widget {
    margin-top: 32px;
}

.gha-single-course .tutor-course-details-widget-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--gha-text) !important;
}

/* Grille 2 colonnes pour les bénéfices */
.gha-single-course .tutor-course-details-widget-col-2 .tutor-course-details-widget-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 8px 24px;
    padding: 0;
    list-style: none;
}

.gha-single-course .tutor-course-details-widget-list li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--gha-text);
}

/* Icône bullet point -> check vert */
.gha-single-course .tutor-course-details-widget-list .tutor-icon-bullet-point {
    color: var(--gha-success) !important;
}


/* ==========================================================================
   7. CURRICULUM / COURSE TOPICS (Accordion)
   ========================================================================== */

/* Card pour la section curriculum complète */
.gha-single-course .tutor-course-details-tab .tutor-mt-40:has(.tutor-accordion) {
    background: var(--gha-bg-card);
    border: 1px solid var(--gha-border);
    border-radius: var(--gha-radius-md);
    padding: 24px;
    box-shadow: var(--gha-shadow-sm);
}

.gha-single-course .tutor-course-content-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--gha-text) !important;
}

.gha-single-course .tutor-accordion {
    border: none;
    border-radius: var(--gha-radius-sm);
    overflow: hidden;
}

/* Retirer le shadow de l'accordion quand dans une card curriculum */
.gha-single-course .tutor-course-details-tab .tutor-mt-40:has(.tutor-accordion) .tutor-accordion {
    box-shadow: none;
}

.gha-single-course .tutor-accordion-item {
    border-bottom: 1px solid var(--gha-border);
}

.gha-single-course .tutor-accordion-item:last-child {
    border-bottom: none;
}

/* Header d'accordion */
.gha-single-course .tutor-accordion-item-header {
    padding: 14px 20px;
    background: var(--gha-border-light);
    font-size: 15px;
    font-weight: 600;
    color: var(--gha-text);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: background-color 0.15s ease;
    margin: 0;
}

.gha-single-course .tutor-accordion-item-header:hover {
    background: var(--gha-border);
}

.gha-single-course .tutor-accordion-item-header.is-active {
    background: var(--gha-primary-light);
    color: var(--gha-primary);
}

/* Corps accordion */
.gha-single-course .tutor-accordion-item-body-content {
    padding: 0;
}

/* Items de leçon */
.gha-single-course .tutor-course-content-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gha-single-course .tutor-course-content-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 20px;
    border-bottom: 1px solid var(--gha-border-light);
    transition: background-color 0.15s ease;
}

.gha-single-course .tutor-course-content-list-item:last-child {
    border-bottom: none;
}

.gha-single-course .tutor-course-content-list-item:hover {
    background: var(--gha-border-light);
}

/* Icône de leçon à gauche */
.gha-single-course .tutor-course-content-list-item-icon {
    color: var(--gha-text-muted);
    font-size: 16px;
    flex-shrink: 0;
}

/* Icône Zoom — badge spécial */
.gha-single-course .tutor-course-content-list-item-icon.tutor-icon-brand-zoom {
    color: #2d8cff;
}

/* Titre de leçon */
.gha-single-course .tutor-course-content-list-item-title {
    font-size: 14px;
    font-weight: 400;
    color: var(--gha-text);
    margin: 0;
}

.gha-single-course .tutor-course-content-list-item-title a {
    color: var(--gha-text);
    text-decoration: none;
    transition: color 0.15s ease;
}

.gha-single-course .tutor-course-content-list-item-title a:hover {
    color: var(--gha-primary);
}

/* Durée à droite */
.gha-single-course .tutor-course-content-list-item-duration {
    font-size: 13px;
    color: var(--gha-text-muted);
    white-space: nowrap;
}

/* Icônes lock/eye */
.gha-single-course .tutor-course-content-list-item-status {
    color: var(--gha-text-muted);
    font-size: 14px;
}


/* ==========================================================================
   8. REVIEWS
   ========================================================================== */

/* Titre section */
.gha-single-course .tutor-pagination-wrapper-replaceable > h3 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--gha-text) !important;
}

/* Card review summary */
.gha-single-course .tutor-review-card {
    border: 1px solid var(--gha-border);
    border-radius: var(--gha-radius-md);
    overflow: hidden;
    box-shadow: var(--gha-shadow-sm);
}

/* Note moyenne grande */
.gha-single-course .tutor-review-summary-average-rating {
    font-size: 48px;
    font-weight: 700;
    color: var(--gha-text);
    line-height: 1;
}

/* Étoiles — cohérence avec l'archive */
.gha-single-course .tutor-ratings-stars .tutor-icon-star-bold {
    color: var(--gha-accent) !important;
}

.gha-single-course .tutor-ratings-stars .tutor-icon-star-line {
    color: #d1d5db !important;
}

/* Barres de progression ratings */
.gha-single-course .tutor-ratings-progress-bar {
    background: var(--gha-border-light);
    border-radius: 4px;
    height: 8px;
    overflow: hidden;
}

.gha-single-course .tutor-ratings-progress-bar .tutor-progress-value {
    background: var(--gha-accent) !important;
    border-radius: 4px;
}

/* Séparateur reviews */
.gha-single-course .tutor-review-card .tutor-hr {
    border-color: var(--gha-border);
}

/* Items de review individuels */
.gha-single-course .tutor-reviews .tutor-review-list-item {
    padding: 20px 24px;
    border-bottom: 1px solid var(--gha-border-light);
}

.gha-single-course .tutor-reviews .tutor-review-list-item:last-child {
    border-bottom: none;
}

/* Avatar reviewer */
.gha-single-course .tutor-reviews .tutor-avatar {
    border-radius: 50%;
    overflow: hidden;
}

/* Bouton "Write a review" */
.gha-single-course .write-course-review-link-btn {
    background: var(--gha-primary) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: var(--gha-radius-sm);
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.gha-single-course .write-course-review-link-btn:hover {
    background: var(--gha-primary-hover) !important;
}

/* Formulaire review */
.gha-single-course .tutor-write-review-form textarea {
    width: 100%;
    border: 1px solid var(--gha-border);
    border-radius: var(--gha-radius-sm);
    padding: 12px;
    font-size: 14px;
    color: var(--gha-text);
    resize: vertical;
    min-height: 100px;
    transition: border-color 0.15s ease;
    outline: none;
}

.gha-single-course .tutor-write-review-form textarea:focus {
    border-color: var(--gha-primary);
    box-shadow: var(--gha-focus-ring);
}

/* Bouton "Submit Review" */
.gha-single-course .tutor_submit_review_btn {
    background: var(--gha-primary) !important;
    border: none !important;
    border-radius: var(--gha-radius-sm);
}

.gha-single-course .tutor_submit_review_btn:hover {
    background: var(--gha-primary-hover) !important;
}

/* Load more reviews */
.gha-single-course .tutor-pagination-wrapper-replaceable .tutor-btn-outline-primary {
    color: var(--gha-primary);
    border-color: var(--gha-primary);
    border-radius: var(--gha-radius-sm);
}


/* ==========================================================================
   8b. CERTIFICAT SHOWCASE
   ========================================================================== */

/* Conteneur principal — card blanche avec border cohérente */
.gha-single-course #tutor-certificate-showcase {
    background: var(--gha-bg-card);
    border: 1px solid var(--gha-border);
    border-radius: var(--gha-radius-md);
    padding: 28px 32px;
    box-shadow: var(--gha-shadow-sm);
    margin-top: 32px;
    margin-bottom: 0;
    gap: 32px;
    align-items: center;
}

/* Bloc texte — retirer le gradient gris Tutor natif */
.gha-single-course #tutor-certificate-showcase .tutor-cs-text {
    background: none !important;
    padding: 0 !important;
    width: auto;
    flex: 1;
}

/* Inner div du texte — pas de padding supplémentaire */
.gha-single-course #tutor-certificate-showcase .tutor-cs-text > div {
    padding: 0;
}

/* Titre — réduire la taille, cohérent avec les autres sections */
.gha-single-course #tutor-certificate-showcase .tutor-cs-text h3 {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: var(--gha-text) !important;
    margin-bottom: 8px !important;
    line-height: 1.3;
}

/* Description */
.gha-single-course #tutor-certificate-showcase .tutor-cs-text p {
    font-size: 14px;
    color: var(--gha-text-secondary);
    line-height: 1.6;
    margin: 0;
}

/* Image certificat — garder la taille mais affiner le style */
.gha-single-course #tutor-certificate-showcase .tutor-cs-wrapper {
    flex-shrink: 0;
    width: auto;
    position: relative;
    overflow: hidden;
}

/* Cacher la feuille de laurier qui dépasse */
.gha-single-course #tutor-certificate-showcase .tutor-cs-wrapper::before {
    display: none !important;
}

.gha-single-course #tutor-certificate-showcase .tutor-cs-image-wrapper img {
    max-width: 200px;
    border-radius: var(--gha-radius-sm);
    box-shadow: var(--gha-shadow-sm);
    border: 1px solid var(--gha-border);
}

/* Responsive mobile */
@media (max-width: 600px) {
    .gha-single-course #tutor-certificate-showcase {
        flex-direction: column;
        padding: 20px;
        gap: 20px;
        text-align: center;
    }

    .gha-single-course #tutor-certificate-showcase .tutor-cs-text {
        width: 100% !important;
    }

    .gha-single-course #tutor-certificate-showcase .tutor-cs-wrapper {
        width: auto;
    }

    .gha-single-course #tutor-certificate-showcase .tutor-cs-wrapper::before {
        display: none !important;
    }

    .gha-single-course #tutor-certificate-showcase .tutor-cs-image-wrapper img {
        max-width: 180px;
    }
}


/* ==========================================================================
   9. SIDEBAR — Course Entry Box
   ========================================================================== */

.gha-single-course .tutor-sidebar-card {
    background: var(--gha-bg-card);
    border: 1px solid var(--gha-border);
    border-radius: var(--gha-radius-md) !important;
    box-shadow: var(--gha-shadow-md);
    overflow: hidden;
}

.gha-single-course .tutor-sidebar-card .tutor-card-body {
    padding: 24px;
}

/* Meta infos sidebar — plus compact et cohérent */
.gha-single-course .tutor-sidebar-card .tutor-card-footer {
    padding: 16px 24px;
    border-top: 1px solid var(--gha-border);
    background: var(--gha-bg-card);
}

.gha-single-course .tutor-sidebar-card .tutor-card-footer .tutor-ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gha-single-course .tutor-sidebar-card .tutor-card-footer li {
    display: flex;
    align-items: flex-start;
    font-size: 13px;
    color: var(--gha-text-secondary);
    padding: 6px 0;
}

/* Réduire la taille des icônes meta */
.gha-single-course .tutor-sidebar-card .tutor-card-footer li span[class^="tutor-icon-"] {
    color: var(--gha-text-muted);
    font-size: 14px;
    margin-top: 1px;
}

/* Texte meta plus compact */
.gha-single-course .tutor-sidebar-card .tutor-card-footer li .tutor-fs-6 {
    font-size: 13px !important;
    line-height: 1.4;
}

/* --- Prix --- */
.gha-single-course .tutor-course-sidebar-card-pricing .tutor-fs-4 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--gha-text) !important;
}

/* Prix barré */
.gha-single-course .tutor-course-sidebar-card-pricing del {
    color: var(--gha-text-muted) !important;
    font-size: 14px !important;
}

/* "Free" label */
.gha-single-course .tutor-course-single-pricing .tutor-fs-4 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--gha-text) !important;
}

/* --- Bouton principal (Add to Cart / Enroll / Start Learning) --- */
.gha-single-course .tutor-sidebar-card .tutor-btn-primary {
    background: var(--gha-primary) !important;
    color: #ffffff !important;
    border: 2px solid var(--gha-primary) !important;
    border-radius: var(--gha-radius-sm);
    font-size: 15px;
    font-weight: 600;
    padding: 12px 24px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* CTA principal — hover inversé (filled → outline) */
.gha-single-course .tutor-sidebar-card .tutor-btn-primary:hover {
    background: transparent !important;
    color: var(--gha-primary) !important;
    border: 2px solid var(--gha-primary) !important;
    box-shadow: none;
}

/* --- Bouton outline (View Cart / Complete Course / Retake) --- */
.gha-single-course .tutor-sidebar-card .tutor-btn-outline-primary {
    background: transparent !important;
    color: var(--gha-primary) !important;
    border: 1px solid var(--gha-primary) !important;
    border-radius: var(--gha-radius-sm);
    font-size: 15px;
    font-weight: 500;
    padding: 12px 24px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.15s ease;
}

.gha-single-course .tutor-sidebar-card .tutor-btn-outline-primary:hover {
    background: var(--gha-primary) !important;
    color: #ffffff !important;
}

/* --- Progress bar (cours inscrit) --- */
.gha-single-course .tutor-course-progress-wrapper {
    margin-bottom: 24px;
}

.gha-single-course .tutor-progress-bar {
    background: var(--gha-border-light);
    border-radius: 6px;
    height: 8px;
    overflow: hidden;
}

.gha-single-course .tutor-progress-bar .tutor-progress-value {
    background: var(--gha-primary) !important;
    border-radius: 6px;
    height: 100%;
    transition: width 0.3s ease;
}

/* --- Enrolled date badge --- */
.gha-single-course .tutor-enrolled-info-text {
    font-size: 13px;
    color: var(--gha-text-muted);
}

.gha-single-course .tutor-enrolled-info-date {
    color: var(--gha-success) !important;
    font-weight: 600 !important;
}


/* ==========================================================================
   10. SIDEBAR — Instructors
   ========================================================================== */

.gha-single-course .tutor-course-details-instructors {
    margin-top: 24px;
    padding: 20px;
    background: var(--gha-bg-card);
    border: 1px solid var(--gha-border);
    border-radius: var(--gha-radius-md);
}

.gha-single-course .tutor-course-details-instructors h3 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--gha-text) !important;
    margin-bottom: 16px;
}

/* Avatar instructeur */
.gha-single-course .tutor-course-details-instructors .tutor-avatar {
    width: 48px !important;
    height: 48px !important;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
}

.gha-single-course .tutor-course-details-instructors .tutor-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Nom instructeur */
.gha-single-course .tutor-course-details-instructors a.tutor-fw-bold {
    color: var(--gha-text) !important;
    text-decoration: none;
    transition: color 0.15s ease;
}

.gha-single-course .tutor-course-details-instructors a.tutor-fw-bold:hover {
    color: var(--gha-primary) !important;
}

/* Job title */
.gha-single-course .tutor-instructor-designation {
    font-size: 13px;
    color: var(--gha-text-muted) !important;
    margin-top: 2px;
}


/* ==========================================================================
   11. SIDEBAR — Requirements, Tags, Audience
   ========================================================================== */

.gha-single-course .tutor-single-course-sidebar-more > div {
    margin-top: 24px;
    padding: 20px;
    background: var(--gha-bg-card);
    border: 1px solid var(--gha-border);
    border-radius: var(--gha-radius-md);
}

/* Titres widgets sidebar */
.gha-single-course .tutor-single-course-sidebar-more h3 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--gha-text) !important;
    margin-bottom: 12px;
}

/* Listes (requirements, audience) */
.gha-single-course .tutor-single-course-sidebar-more ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.gha-single-course .tutor-single-course-sidebar-more ul li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.5;
    color: var(--gha-text);
}

.gha-single-course .tutor-single-course-sidebar-more ul:not(.tutor-tag-list) li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 5px;
    height: 5px;
    background: var(--gha-text-muted);
    border-radius: 50%;
}

/* Tags — style pills/chips */
.gha-single-course .tutor-single-course-sidebar-more .tutor-course-details-tags a,
.gha-single-course .tutor-course-details-tags a {
    display: inline-block;
    padding: 4px 12px;
    margin: 0 6px 6px 0;
    background: var(--gha-border-light);
    color: var(--gha-text-secondary);
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.gha-single-course .tutor-course-details-tags a:hover {
    background: var(--gha-primary-light);
    color: var(--gha-primary);
}


/* ==========================================================================
   12. OVERRIDES TUTOR — Composants natifs
   ========================================================================== */

/* Boutons Tutor globaux — forcer nos variables + hover inversé */
.gha-single-course .tutor-btn-primary {
    background-color: var(--gha-primary) !important;
    border: 2px solid var(--gha-primary) !important;
    color: #ffffff !important;
    transition: all 0.2s ease;
}

.gha-single-course .tutor-btn-primary:hover {
    background-color: transparent !important;
    color: var(--gha-primary) !important;
}

.gha-single-course .tutor-btn-outline-primary {
    color: var(--gha-primary) !important;
    border-color: var(--gha-primary) !important;
}

.gha-single-course .tutor-btn-outline-primary:hover {
    background-color: var(--gha-primary) !important;
    color: #ffffff !important;
}

/* Alertes Tutor */
.gha-single-course .tutor-alert-warning {
    background: var(--gha-accent-light);
    border: 1px solid var(--gha-accent);
    border-radius: var(--gha-radius-sm);
    color: #92400e;
    padding: 12px 16px;
    font-size: 14px;
}

/* Empty state */
.gha-single-course .tutor-empty-state-title {
    color: var(--gha-text);
}

/* Séparateurs généraux */
.gha-single-course .tutor-hr {
    border-color: var(--gha-border) !important;
}

/* Links Tutor */
.gha-single-course a.tutor-color-primary {
    color: var(--gha-primary) !important;
}

/* Zoom labels */
.gha-single-course .tutor-zoom-label {
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 10px;
    background: var(--gha-border-light);
    color: var(--gha-text-secondary);
    margin-left: 8px;
}

.gha-single-course .tutor-zoom-live-label {
    background: #fee2e2;
    color: #dc2626;
}


/* CTA mobile — masqué sur desktop, visible sur tablette/mobile */
@media (min-width: 1025px) {
    .gha-single-course .gha-mobile-cta {
        display: none !important;
    }
}


/* ==========================================================================
   13. RESPONSIVE — Tablette (max-width: 1024px)
   ========================================================================== */

@media (max-width: 1024px) {
    /* Passer en 1 colonne */
    .gha-single-course .tutor-course-details-page > .tutor-row {
        display: flex;
        flex-direction: column;
        gap: 24px;
    }

    .gha-single-course .tutor-course-details-page > .tutor-row > aside {
        flex: 1;
        max-width: 100%;
    }

    .gha-single-course .tutor-single-course-sidebar {
        margin-top: 0 !important;
    }

    .gha-single-course .tutor-course-details-page {
        padding: 12px 20px 48px;
    }

    /* Afficher le CTA mobile (entre image et onglets) */
    .gha-single-course .gha-mobile-cta {
        display: block !important;
        margin: 20px 0;
    }

    .gha-single-course .gha-mobile-cta .tutor-sidebar-card {
        border-radius: var(--gha-radius-md) !important;
        box-shadow: var(--gha-shadow-sm);
    }

    /* Cacher le CTA dupliqué dans la sidebar */
    .gha-single-course .tutor-single-course-sidebar .tutor-sidebar-card {
        display: none;
    }
}


/* ==========================================================================
   14. RESPONSIVE — Mobile (max-width: 600px)
   ========================================================================== */

@media (max-width: 600px) {
    .gha-single-course .tutor-course-details-page {
        padding: 8px 16px 40px;
    }

    /* Titre mobile */
    .gha-single-course .tutor-course-details-title {
        font-size: 26px !important;
    }

    /* Tabs scrollables horizontalement */
    .gha-single-course nav.tutor-nav {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .gha-single-course nav.tutor-nav::-webkit-scrollbar {
        display: none;
    }

    .gha-single-course .tutor-nav .tutor-nav-link {
        padding: 12px 16px;
        font-size: 13px;
    }

    /* Benefits — 1 colonne */
    .gha-single-course .tutor-course-details-widget-col-2 .tutor-course-details-widget-list {
        grid-template-columns: 1fr;
    }

    /* Sidebar full width */
    .gha-single-course .tutor-sidebar-card .tutor-card-body,
    .gha-single-course .tutor-sidebar-card .tutor-card-footer {
        padding: 16px;
    }

    /* Accordion items */
    .gha-single-course .tutor-accordion-item-header {
        padding: 12px 16px;
        font-size: 14px;
    }

    .gha-single-course .tutor-course-content-list-item {
        padding: 10px 16px;
    }

    /* Review summary */
    .gha-single-course .tutor-review-summary-average-rating {
        font-size: 36px;
    }

    .gha-single-course .tutor-reviews .tutor-review-list-item {
        padding: 16px;
    }

    /* Espacement réduit */
    .gha-single-course .tutor-course-details-tab {
        margin-top: 24px;
    }

    /* About — hauteur collapsed sur mobile (plus haute que desktop pour compenser le reflow) */
    .gha-single-course .tutor-course-details-content.tutor-toggle-more-collapsed[data-tutor-toggle-more-content] {
        height: 220px !important;
        max-height: 220px !important;
    }

    /* Sidebar widgets */
    .gha-single-course .tutor-single-course-sidebar-more > div {
        padding: 16px;
    }
}
