/**
 * GHA Course Paper — papier prélevé partagé (Task 4, §6, §6.1, §6.2).
 *
 * Règles structurelles portées à l'identique de
 * `prototypes/archive-cours/course-images.css` (commit de référence
 * 67373848) : isolation, masquage de l'`<img>` native, positionnement de la
 * surface animée, voile de lecture du catalogue (transparent 45 % ; noir
 * 5 % à 56 %, 40 % à 73 %, 88 % à 100 %). Non bornées par un `@media` : les
 * cartes mobiles éligibles (§6.2) réutilisent la même classe
 * `.paper-course-card` et donc les mêmes règles structurelles — seul le
 * zoom au survol reste strictement desktop (aucun zoom mobile ajouté).
 *
 * Chargé uniquement sur les pages catalogue et sur la home
 * (`gha_enqueue_course_paper_assets()`, functions.php) : jamais sur le
 * profil, jamais sur la fiche cours (hors recommandations, Task 5).
 *
 * @package GHA\Theme
 * @since 2.4.0
 */

.paper-course-card .gha-course-card-thumbnail {
    isolation: isolate;
}

.paper-course-card .gha-course-card-thumbnail > a {
    position: absolute;
    inset: 0;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden;
    mask: none !important;
    -webkit-mask: none !important;
}

.paper-course-card .gha-course-card-thumbnail > a > img {
    display: none !important;
}

.course-paper-motion {
    position: absolute;
    inset: 0;
    transform: scale(1);
    transform-origin: 50% 50%;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.course-paper-surface {
    display: block;
    width: 100%;
    height: 100%;
}

.paper-course-card .gha-card-overlay-content {
    transform: none !important;
    transition: none !important;
}

/* Voile de lecture du catalogue (§6), conservé à l'identique : ne déplace
   jamais le texte, s'applique uniquement à la carte papier active (jamais à
   toute la grille, y compris sur mobile — §6.2). */
.paper-course-card .gha-course-card-thumbnail::after {
    background: linear-gradient(
        180deg,
        transparent 45%,
        rgba(0, 0, 0, 0.05) 56%,
        rgba(0, 0, 0, 0.40) 73%,
        rgba(0, 0, 0, 0.88) 100%
    ) !important;
}

@media (prefers-reduced-motion: reduce) {
    .course-paper-motion {
        transition: none;
    }
}

/* ==========================================================================
   Zoom solidaire au survol (§6) — strictement desktop, jamais mobile.
   ========================================================================== */

/* Catalogue : seuil propre 992.02px, bordé à body.gha-courses-archive
   (extrait imposé, Task 4 Step 3). */
@media (min-width: 992.02px) {
    body.gha-courses-archive .paper-course-card:is(:hover, :focus-within) .course-paper-motion {
        transform: scale(1.06);
    }
}

/* Cartes de la home (§6.1) : seuil propre 992px, distinct de celui du
   catalogue, sans changer taille/masque latéral/débordement du carrousel. */
@media (min-width: 992px) {
    .gha-hp-courses-carousel .paper-course-card:is(:hover, :focus-within) .course-paper-motion {
        transform: scale(1.06);
    }
}
