/* ================================================================
   PERTICOM Academy — Layout feedback fix 1.0.38
   - Supprime les écarts entre topbar et contenu sur toutes les pages
   - Bloc devoir aligné dans le cadre leçon
   - Sidebar leçon : afficher tous les modules, scroll si trop long
   - Titres de leçons : tooltip natif au survol
   ================================================================ */

/* ---------- 1) COLLE TOPBAR ↔ CONTENU SUR TOUTES LES PAGES ACADEMY ---------- */
body .pac-academy.pac-page-dashboard,
body .pac-academy.pac-page-catalog,
body .pac-academy.pac-page-course,
body .pac-academy.pac-page-lesson,
body .pac-academy.pac-page-login,
body .pac-academy.pac-page-certificates,
body .pac-academy.pac-page-home,
body .pac-academy.pac-favorites {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Reset du premier enfant pour ne laisser AUCUN espace */
body .pac-academy.pac-page-dashboard > :first-child,
body .pac-academy.pac-page-catalog > :first-child,
body .pac-academy.pac-page-course > :first-child,
body .pac-academy.pac-page-lesson > :first-child,
body .pac-academy.pac-page-login > :first-child,
body .pac-academy.pac-page-home > :first-child,
body .pac-academy.pac-favorites > :first-child {
    margin-top: 0 !important;
}

/* Wrappers du thème qui ajoutent du padding */
body .pat-page,
body .pat-shell,
body .entry-content,
body main.pat-site-main,
body main#pat-main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* L'élément qui contient le shortcode doit aussi être collé */
body .entry-content > .pac-academy:first-child,
body main > .pac-academy:first-child,
body .site-main > .pac-academy:first-child,
body .pat-page > .pac-academy:first-child,
body .pat-page > div > .pac-academy:first-child,
body .elementor-widget-container > .pac-academy:first-child,
body .elementor-shortcode > .pac-academy:first-child,
body .wp-block-shortcode > .pac-academy:first-child {
    margin-top: 0 !important;
}

/* La page leçon a un layout grid spécifique : on retire le padding du wrapper */
body .pac-academy.pac-page-lesson .pac-lesson__topbar {
    top: 0 !important; /* Plus de gap avec le topbar global */
}

/* Hero du dashboard / catalog : démarre à 0 */
body .pac-academy .pac-dash-welcome,
body .pac-academy .pac-catalog-hero,
body .pac-academy .pac-course-hero,
body .pac-academy .pac-home__hero {
    margin-top: 0 !important;
}

/* ---------- 2) BLOC DEVOIR INTÉGRÉ AU CADRE LEÇON ---------- */
/* Plus de débordement, marges propres pour s'aligner avec .pac-lesson__body */
.pac-academy .pac-lesson__body > .pac-assignment {
    margin: 28px 0 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
}

/* Si le devoir est ajouté après le content (filter the_content), il est
   dans .pac-lesson__body et doit s'adapter au padding parent. */
.pac-academy .pac-lesson__body .pac-assignment {
    box-sizing: border-box;
}

/* ---------- 3) SIDEBAR LEÇON : SCROLL POUR VOIR TOUS LES MODULES ---------- */
@media (min-width: 1024px) {
    .pac-academy .pac-lesson__sidebar {
        max-height: calc(100vh - 168px) !important;
        overflow-y: auto !important;
        scrollbar-width: thin;
        scrollbar-color: rgba(15,23,42,.18) transparent;
    }

    .pac-academy .pac-lesson__sidebar::-webkit-scrollbar {
        width: 8px;
    }

    .pac-academy .pac-lesson__sidebar::-webkit-scrollbar-thumb {
        background: rgba(15,23,42,.18);
        border-radius: 4px;
    }

    .pac-academy .pac-lesson__sidebar::-webkit-scrollbar-track {
        background: transparent;
    }
}

/* Mobile : sidebar pleine hauteur scrollable */
@media (max-width: 1023px) {
    .pac-academy .pac-lesson__sidebar.is-open {
        max-height: 100vh !important;
        overflow-y: auto !important;
    }
}

/* ---------- 4) TITRES LEÇONS TRONQUÉS — TOOLTIP NATIF ---------- */
/* Le titre devient ellipsis mais le HTML title attribute affichera
   le texte complet au survol. */
.pac-academy .pac-lesson__sidebar-lesson-title,
.pac-academy .pac-module__lesson-title,
.pac-academy .pac-player__lesson-title {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    cursor: default;
}

/* Au hover sur la ligne entière (lien), on déploie le titre en 2 lignes max */
.pac-academy .pac-lesson__sidebar-lesson:hover .pac-lesson__sidebar-lesson-title {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}

/* ---------- 5) DASHBOARD SPACING ---------- */
body .pac-academy.pac-page-dashboard > .pac-shell {
    padding-top: 28px !important;
}

body .pac-academy .pac-dash-kpis {
    margin-top: 10px !important;
    margin-bottom: 36px !important;
}

body .pac-academy .pac-dash-welcome {
    padding-bottom: 46px !important;
}

/* ---------- 6) FAVORITES PAGE ---------- */
body .pac-academy.pac-favorites {
    padding-bottom: 56px;
}

body .pac-academy .pac-favorites-header {
    padding: 26px 0 18px;
}

body .pac-academy .pac-favorites-title {
    margin: 10px 0 8px;
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.04em;
}

body .pac-academy .pac-favorites-subtitle {
    max-width: 720px;
    margin: 0;
    color: var(--pac-text-soft);
    line-height: 1.7;
}

body .pac-academy .pac-favorites-empty {
    margin-top: 12px;
    padding: 34px 34px !important;
    border: 1px solid rgba(226,232,240,.9);
    border-radius: 22px;
    background:
        radial-gradient(circle at 80% 20%, rgba(237,27,47,.05), transparent 18%),
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(250,252,255,.96));
    box-shadow: 0 18px 42px rgba(15,23,42,.06);
}

body .pac-academy .pac-favorites-empty p {
    margin: 0 0 18px;
    color: var(--pac-text-soft);
    font-size: 15.5px;
    line-height: 1.7;
}

body .pac-academy .pac-favorites .pac-grid {
    margin-top: 18px;
}

body .pac-academy.pac-favorites--logged-out .pac-favorites-empty {
    margin-top: 22px;
}

/* ---------- 7) COURSE BENEFITS ---------- */
body .pac-academy .pac-course-benefits {
    gap: 16px !important;
    padding: 20px !important;
    margin-top: 6px;
}

body .pac-academy .pac-course-benefit {
    padding: 16px 18px !important;
    min-height: 86px;
    border-radius: 18px;
    border: 1px solid rgba(226,232,240,.88);
    background:
        linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.96));
    box-shadow: 0 10px 24px rgba(15,23,42,.04);
}

body .pac-academy .pac-course-benefit__body {
    padding-top: 1px;
}

body .pac-academy .pac-course-benefit__body strong {
    margin-bottom: 4px !important;
    line-height: 1.25;
}

body .pac-academy .pac-course-benefit__body span {
    line-height: 1.55 !important;
}

/* ---------- 8) COURSE CONTENT BLOCKS ---------- */
body .pac-academy .pac-course-description {
    padding: 28px 28px 30px !important;
}

body .pac-academy .pac-course-sidebar__card {
    padding: 24px 24px 26px !important;
}

body .pac-academy .pac-course-sidebar__body {
    padding: 0 !important;
}

/* ---------- 9) MOBILE ---------- */
@media (max-width: 640px) {
    body .pac-academy .pac-favorites-empty {
        padding: 24px 20px !important;
    }

    body .pac-academy .pac-course-benefits {
        padding: 14px !important;
    }

    body .pac-academy .pac-course-benefit {
        padding: 14px 14px !important;
        min-height: 0;
    }

    body .pac-academy .pac-course-description,
    body .pac-academy .pac-course-sidebar__card {
        padding: 20px !important;
    }

    /* Bloc devoir sur mobile : marges réduites */
    .pac-academy .pac-lesson__body > .pac-assignment {
        margin: 18px 0 4px !important;
        padding: 16px 14px !important;
    }
}
