/* 
 * DOCUMENTATION JP — CSS RÉORGANISÉ
 * ----------------------------------------------------------
 * Fichier : assets/css/jp-responsive-mobile.css
 * Rôle : Adaptations transversales pour téléphone.
 *
 * Lecture conseillée :
 * 1. fondations et structure du composant ;
 * 2. éléments internes et états ;
 * 3. adaptations responsive et compatibilité.
 *
 * IMPORTANT : l'ordre de cascade est volontairement préservé lorsqu'un déplacement
 * pourrait modifier le rendu. Les doublons retirés sont uniquement ceux dont une
 * déclaration strictement identique existe plus loin dans le même contexte CSS.
  */

/* * FICHIER CSS RÉORGANISÉ
 * Fichier : assets/css/jp-responsive-mobile.css
 * Rôle : Correctifs responsives destinés aux téléphones.
 *
 * Organisation :
 * 1. Styles de base du module
 * 2. États et interactions
 * 3. Adaptations responsives, dans l’ordre du fichier d’origine
 *
 * Maintenance : l’ordre des règles est conservé afin de respecter la cascade CSS.
 * Les doublons strictement identiques dans un même bloc ont été supprimés. */

/* *
 * jp-responsive-mobile.css
 * Rôle : Adaptations pour téléphones.
 *
 * Organisation du fichier :
 * 1. Variables et fondations éventuelles
 * 2. Structure principale du composant
 * 3. États, variantes et interactions
 * 4. Adaptations responsives
 *
 * Les doublons strictement identiques ont été supprimés. Les surcharges
 * volontaires et les fallbacks compatibles ont été conservés pour ne pas
 * modifier le rendu ou le comportement existant. */

/* ==========================================================================
   Adaptation responsive : (max-width:900px)
   ========================================================================== */

@media (max-width:900px) {
        /* Sécurité anti-débordement horizontal */
        html, body, body.single-formation {
            width: 100% !important;
            max-width: 100% !important;
            overflow-x: hidden !important;
    }
        /*  CIBLE — Formations : .jp-formation, .jp-section, .jp-cta, .jp-bottom-grid, .jp-numbers, .jp-testimonials-area, .jp-testimon…  */
        .jp-formation, .jp-section, .jp-cta, .jp-bottom-grid, .jp-numbers, .jp-testimonials-area, .jp-testimonials-scroll, .jp-testimonials-track, .jp-testimonial-column, .jp-testimonial {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            margin-left: 0 !important;
            margin-right: 0 !important;
            box-sizing: border-box !important;
            overflow-x: hidden !important;
    }
        /*  CIBLE — Composant : .jp-section  */
        .jp-section {
            padding-left: 18px !important;
            padding-right: 18px !important;
    }
        /* =========================================================
   HERO MOBILE
   ========================================================= */
        .jp-hero {
            display: flex !important;
            flex-direction: column !important;
            height: auto !important;
            min-height: 0 !important;
            padding: 28px 18px 34px !important;
            overflow: visible !important;
    }
        /*  CIBLE — Bandeau Hero : .jp-hero-bg-img  */
        .jp-hero-bg-img {
            height: 100% !important;
            min-height: 100% !important;
    }
        /* Cartouche des informations (diplôme, durée, stage) */
        /* Cartouche des informations : 3 colonnes sur mobile */
        .jp-hero-side {
            order: 1 !important;
            position: relative !important;
            top: auto !important;
            right: auto !important;
            left: auto !important;
            width: 100% !important;
            max-width: 100% !important;
            display: grid !important;
            grid-template-columns: repeat(3, 1fr) !important;
            gap: 8px !important;
            margin: 72px 0 18px 0 !important;
            /* environ 3 mm plus bas */
            padding: 8px 6px !important;
            transform: translateY(12px) !important;
            box-sizing: border-box !important;
            z-index: 3 !important;
    }
        /* Chaque information devient une petite colonne */
        .jp-hero-side .jp-info {
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: flex-start !important;
            gap: 5px !important;
            text-align: center !important;
            min-width: 0 !important;
    }
        /* Icônes légèrement réduites pour tenir sur 3 colonnes */
        .jp-hero-side .jp-info-icon, .jp-hero-side .jp-info-icon svg {
            width: 24px !important;
            height: 24px !important;
    }
        /* Texte sous les icônes */
        .jp-hero-side .jp-info-text {
            font-size: 10px !important;
            line-height: 1.15 !important;
            text-align: center !important;
            overflow-wrap: normal !important;
            word-break: normal !important;
    }
        /* Phrase manuscrite */
        .jp-script {
            order: 2 !important;
            position: relative !important;
            display: block !important;
            top: auto !important;
            left: auto !important;
            right: auto !important;
            transform: none !important;
            width: 100% !important;
            max-width: 100% !important;
            margin: 10px 0 16px !important;
            padding: 0 !important;
            font-family: "Caveat", cursive !important;
            font-size: var(--jp-script-size-mobile, 36px) !important;
            font-weight: 500 !important;
            line-height: var(--jp-script-line-height, 0.95) !important;
            letter-spacing: 0 !important;
            text-align: center !important;
            color: #fff !important;
            text-shadow: var(--jp-script-shadow, 0 2px 5px rgba(0,0,0,.18)) !important;
            white-space: normal !important;
            overflow: visible !important;
            overflow-wrap: normal !important;
            word-break: normal !important;
            z-index: 3 !important;
    }
        /* Partie principale du Hero */
        .jp-hero-main {
            order: 3 !important;
            position: relative !important;
            width: 100% !important;
            max-width: 100% !important;
            top: auto !important;
            z-index: 3 !important;
    }
        /* Badge BTS + surtitre */
        .jp-hero-badges {
            display: flex !important;
            flex-wrap: wrap !important;
            flex-direction: row !important;
            align-items: center !important;
            gap: 8px !important;
            position: relative !important;
            left: auto !important;
            top: auto !important;
            width: 100% !important;
            max-width: 100% !important;
            margin: 0 0 14px 0 !important;
    }
        /* Nom de la formation */
        .jp-hero h1 {
            display: block !important;
            opacity: 1 !important;
            transform: none !important;
            animation: none !important;
            font-family: "Poppins", "Montserrat", sans-serif !important;
            font-size: 31px !important;
            font-weight: 500 !important;
            letter-spacing: -0.01em !important;
            line-height: 1.06 !important;
            margin: 0 0 10px 0 !important;
    }
        /* Accroche */
        .jp-subtitle {
            display: block !important;
            opacity: 1 !important;
            transform: none !important;
            animation: none !important;
            font-size: 17px !important;
            line-height: 1.25 !important;
            max-width: 100% !important;
            margin: 0 0 14px 0 !important;
    }
        /* Statuts */
        .jp-statuses {
            display: flex !important;
            flex-wrap: nowrap !important;
            width: 100% !important;
            gap: 8px !important;
            margin: 12px 0 0 0 !important;
    }
        /*  CIBLE — Chiffres clés : .jp-status-badge  */
        .jp-status-badge {
            opacity: 1 !important;
            transform: none !important;
            animation: none !important;
    }
        /*  CIBLE — Chiffres clés : .jp-status-large  */
        .jp-status-large {
            width: 180px !important;
            flex: 0 0 180px !important;
    }
        /*  CIBLE — Chiffres clés : .jp-status-large .jp-status-text  */
        .jp-status-large .jp-status-text {
            min-width: 0 !important;
            max-width: 100% !important;
    }
        /*  CIBLE — Chiffres clés : .jp-status-large .jp-status-subtitle  */
        .jp-status-large .jp-status-subtitle {
            white-space: normal !important;
            overflow-wrap: normal !important;
            word-break: normal !important;
            font-size: 8px !important;
            line-height: 1.15 !important;
    }
        /* Boutons */
        .jp-buttons {
            display: flex !important;
            flex-wrap: wrap !important;
            gap: 12px !important;
            margin-top: 6px !important;
    }
        /*  CIBLE — Composant : .jp-script span  */
        .jp-script span {
            display: inline !important;
            white-space: normal !important;
    }
        /*  CIBLE — Composant : .jp-type  */
        .jp-type {
            font-size: 22px !important;
            padding: 6px 18px !important;
    }
        /*  CIBLE — Bandeau Hero : .jp-type, .jp-hero-surtitre  */
        .jp-type, .jp-hero-surtitre {
            max-width: 100% !important;
            white-space: normal !important;
            overflow-wrap: anywhere !important;
            box-sizing: border-box !important;
    }
        /*  CIBLE — Bandeau Hero : .jp-hero-surtitre  */
        .jp-hero-surtitre {
            top: auto !important;
            font-size: 15px !important;
            line-height: 1.25 !important;
            padding: 10px 16px !important;
    }
        /*  CIBLE — Chiffres clés : .jp-statuses.nb-3 .jp-status-badge:last-child  */
        .jp-statuses.nb-3 .jp-status-badge:last-child {
            grid-column: auto !important;
            width: auto !important;
    }
        /* Grilles mobiles générales */
        .jp-atouts, .jp-steps, .jp-3cols, .jp-tools, .jp-bottom-grid, .jp-numbers {
            display: grid !important;
            grid-template-columns: 1fr !important;
            width: 100% !important;
            max-width: 100% !important;
            gap: 24px !important;
    }
        /*  CIBLE — Composant : .jp-bottom-grid  */
        .jp-bottom-grid {
            display: block !important;
    }
        /*  CIBLE — Cartes : .jp-bottom-grid > div, .jp-3cols > div, .jp-card, .jp-quality, .jp-quality-content, .jp-number  */
        .jp-bottom-grid > div, .jp-3cols > div, .jp-card, .jp-quality, .jp-quality-content, .jp-number {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
    }
        /*  CIBLE — Qualités : .jp-quality  */
        .jp-quality {
            grid-template-columns: 36px minmax(0,1fr) !important;
            gap: 12px !important;
    }
        /*  CIBLE — Qualités : .jp-quality-top  */
        .jp-quality-top {
            gap: 8px !important;
            overflow-wrap: anywhere !important;
    }
        /*  CIBLE — Composant : .jp-number  */
        .jp-number {
            margin-bottom: 18px !important;
            transform: none !important;
    }
        /* Témoignages mobile */
        .jp-testimonials-shell {
            padding: 0 28px !important;
            overflow: hidden !important;
    }
        /*  CIBLE — Composant : .jp-testimonials-scroll  */
        .jp-testimonials-scroll {
            overflow: hidden !important;
            width: 100% !important;
    }
        /*  CIBLE — Composant : .jp-testimonials-track  */
        .jp-testimonials-track {
            display: flex !important;
            width: auto !important;
            max-width: none !important;
            min-width: 0 !important;
            overflow: visible !important;
            gap: 0 !important;
            transition: transform 1.2s ease !important;
            will-change: transform !important;
            transform: translateX(0);
    }
        /*  CIBLE — Composant : .jp-testimonial-column  */
        .jp-testimonial-column {
            flex: 0 0 100% !important;
            width: 100% !important;
            max-width: 100% !important;
            min-width: 100% !important;
            display: flex !important;
            flex-direction: column !important;
            align-items: stretch !important;
            justify-content: flex-start !important;
            gap: 6px !important;
            overflow: visible !important;
    }
        /*  CIBLE — Composant : .jp-testimonial  */
        .jp-testimonial {
            display: block !important;
            width: 100% !important;
            max-width: 100% !important;
            min-height: 0 !important;
            margin-bottom: 0 !important;
            padding: 12px !important;
            box-sizing: border-box !important;
    }
        /*  CIBLE — Composant : .jp-testimonial-photo  */
        .jp-testimonial-photo {
            width: 110px !important;
            height: 110px !important;
            margin: 0 auto 10px auto !important;
    }
        /*  CIBLE — Composant : .jp-testimonial-content  */
        .jp-testimonial-content {
            padding-left: 0 !important;
    }
        /*  CIBLE — Composant : .jp-testimonial-quote  */
        .jp-testimonial-quote {
            font-size: 42px !important;
            line-height: .6 !important;
            margin-bottom: 4px !important;
    }
        /*  CIBLE — Composant : .jp-testimonial-text, .jp-testimonial p  */
        .jp-testimonial-text, .jp-testimonial p {
            font-size: 13px !important;
            line-height: 1.35 !important;
            margin: 0 !important;
    }
        /*  CIBLE — Composant : .jp-author-line  */
        .jp-author-line {
            margin-top: 3px !important;
            font-size: 11px !important;
            line-height: 1.15 !important;
    }
        /*  CIBLE — Composant : .jp-testimonial-arrow-left  */
        .jp-testimonial-arrow-left {
            left: 0 !important;
    }
        /*  CIBLE — Composant : .jp-testimonial-arrow-right  */
        .jp-testimonial-arrow-right {
            right: 0 !important;
    }
        /* Icônes mobile : protection contre les règles anti-débordement */
        .jp-info-icon, .jp-info-icon svg, .jp-status-icon, .jp-status-icon svg, .jp-quality-icon, .jp-number-icon, .jp-step-icon, .jp-step-icon-mask, .jp-profile-icon-wrap, .jp-profile-icon-mask, .jp-faq-icon, .jp-cta-icon, .jp-btn-icon {
            max-width: none !important;
            overflow: visible !important;
            flex-shrink: 0 !important;
    }
        /*  CIBLE — Icônes : .jp-info-icon, .jp-info-icon svg  */
        .jp-info-icon, .jp-info-icon svg {
            width: 28px !important;
            height: 28px !important;
            display: block !important;
    }
        /*  CIBLE — Icônes : .jp-quality-icon  */
        .jp-quality-icon {
            width: 40px !important;
            height: 40px !important;
            display: block !important;
    }
        /*  CIBLE — Icônes : .jp-number-icon  */
        .jp-number-icon {
            width: 44px !important;
            height: 44px !important;
            display: block !important;
    }
        /*  CIBLE — Chiffres clés : .jp-status-icon  */
        .jp-status-icon {
            width: 40px !important;
            height: 40px !important;
            display: flex !important;
    }
        /*  CIBLE — Chiffres clés : .jp-status-icon svg  */
        .jp-status-icon svg {
            width: 21px !important;
            height: 21px !important;
    }
        /* CTA mobile */
        .jp-cta {
            flex-direction: column !important;
            align-items: flex-start !important;
    }
        /*  CIBLE — Appel à l’action : .jp-cta-left  */
        .jp-cta-left {
            width: 100% !important;
    }
        /*  CIBLE — Appel à l’action : .jp-cta h2  */
        .jp-cta h2 {
            font-size: 20px;
    }
        /*  CIBLE — Appel à l’action : .jp-cta p  */
        .jp-cta p {
            font-size: 10px;
    }
        /*  CIBLE — Boutons : .jp-cta .jp-buttons  */
        .jp-cta .jp-buttons {
            justify-content: flex-start !important;
            margin-bottom: 36px !important;
    }
        /*  CIBLE — Appel à l’action : .jp-cta-icon  */
        .jp-cta-icon {
            width: 114px !important;
            height: 114px !important;
            flex-basis: 114px !important;
    }
        /* Slogan du site dans l’en-tête WordPress */
        .site-description {
            white-space: nowrap !important;
            word-break: normal !important;
            overflow-wrap: normal !important;
            font-size: 13px !important;
    }
}

/* FORCER LES ÉTAPES SUR UNE SEULE LIGNE */

/* ==========================================================================
   Adaptation responsive : (min-width:901px)
   ========================================================================== */

@media (min-width:901px) {
        /*  CIBLE — Composant : .jp-steps  */
        .jp-steps {
            display: flex !important;
            flex-wrap: nowrap !important;
            justify-content: space-between !important;
            align-items: flex-start !important;
            gap: 16px !important;
    }
        /*  CIBLE — Composant : .jp-step  */
        .jp-step {
            flex: 1 1 0 !important;
            min-width: 0 !important;
            max-width: none !important;
            padding: 12px 6px 0 !important;
    }
        /*  CIBLE — Composant : .jp-step-top  */
        .jp-step-top {
            width: 105px !important;
            height: 105px !important;
            margin: 0 auto 12px !important;
    }
        /*  CIBLE — Icônes : .jp-step-icon  */
        .jp-step-icon {
            width: 100px !important;
            height: 100px !important;
    }
        /*  CIBLE — Icônes : .jp-step-icon-mask  */
        .jp-step-icon-mask {
            width: 70px !important;
            height: 70px !important;
    }
        /*  CIBLE — Composant : .jp-step-number  */
        .jp-step-number {
            width: 28px !important;
            height: 28px !important;
            font-size: 13px !important;
            top: -4px !important;
            left: -4px !important;
    }
        /*  CIBLE — Composant : .jp-steps:before  */
        .jp-steps:before {
            top: 62px !important;
            left: 12.5% !important;
            right: 12.5% !important;
    }
}

/* =========================================================
   ATOUTS ORDINATEUR : compatibilité avec l’ancien affichage
   =========================================================

   Ces règles ne concernent que les anciens blocs d’atouts dont les
   cartes sont des enfants directs de .jp-atouts. Le bloc formation
   moderne utilise .jp-atouts--balanced et ses propres lignes CSS Grid. */

/* ==========================================================================
   Adaptation responsive : (min-width:901px)
   ========================================================================== */

@media (min-width:901px) {
        /*  CIBLE — Atouts : .jp-atouts:not(.jp-atouts--balanced)  */
        .jp-atouts:not(.jp-atouts--balanced) {
            --jp-atout-gap: 24px;
            --jp-atout-card-width: calc((100% - (4 * var(--jp-atout-gap))) / 5);
            display: flex !important;
            flex-wrap: wrap !important;
            align-items: stretch !important;
            justify-content: space-between !important;
            gap: 34px var(--jp-atout-gap) !important;
            width: 100% !important;
    }
        /*  CIBLE — Atouts : .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-1  */
        .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-1 {
            justify-content: center !important;
    }
        /*  CIBLE — Atouts : .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-2, .jp-atouts:not(.jp-atouts--balanced).jp-atouts…  */
        .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-2, .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-3 {
            justify-content: space-evenly !important;
    }
        /*  CIBLE — Atouts : .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-4, .jp-atouts:not(.jp-atouts--balanced).jp-atouts…  */
        .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-4, .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-5, .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-6, .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-7, .jp-atouts:not(.jp-atouts--balanced).jp-atouts-count-8 {
            justify-content: space-between !important;
    }
        /*  CIBLE — Cartes : .jp-atouts:not(.jp-atouts--balanced) > .jp-card  */
        .jp-atouts:not(.jp-atouts--balanced) > .jp-card {
            flex: 0 0 var(--jp-atout-card-width) !important;
            width: var(--jp-atout-card-width) !important;
            max-width: var(--jp-atout-card-width) !important;
            min-width: 0 !important;
    }
}

/* Caveat sur les très petits écrans */

/* ==========================================================================
   Adaptation responsive : (max-width: 420px)
   ========================================================================== */

@media (max-width: 420px) {
        /*  CIBLE — Bandeau Hero : .jp-script, .jp-service-hero .jp-script  */
        .jp-script, .jp-service-hero .jp-script {
            font-size: var(--jp-script-size-small, 32px) !important;
    }
}

/* =========================================================
   CORRECTIONS MOBILE HERO — 19/07/2026
   ========================================================= */

/* ==========================================================================
   Adaptation responsive : (max-width: 900px)
   ========================================================================== */

@media (max-width: 900px) {
        /* Le hero reste un seul bloc arrondi : aucune couleur de fond ne peut
       apparaître sous l'image à cause d'un débordement des calques. */
        .jp-hero {
            overflow: hidden !important;
            background-color: transparent !important;
            background-image: none !important;
    }
        /*  CIBLE — Bandeau Hero : .jp-hero-bg-img  */
        .jp-hero-bg-img {
            inset: 0 !important;
            top: 0 !important;
            bottom: 0 !important;
            width: 100% !important;
            height: 100% !important;
            min-height: 100% !important;
            object-fit: cover !important;
    }
        /* Les pages de contenu n'ont généralement pas le cartouche latéral des
       formations. On réserve donc explicitement la place occupée par le logo,
       le slogan et le bouton de menu du header mobile. */
        body.single-contenu .jp-hero {
            padding-top: 108px !important;
    }
        /*  CIBLE — Bandeau Hero : body.single-contenu .jp-hero .jp-script  */
        body.single-contenu .jp-hero .jp-script {
            margin-top: 0 !important;
            margin-bottom: 22px !important;
    }
        /*  CIBLE — Bandeau Hero : body.single-contenu .jp-hero .jp-hero-badges  */
        body.single-contenu .jp-hero .jp-hero-badges {
            margin-top: 0 !important;
    }
}

/* ==========================================================================
   Adaptation responsive : (max-width: 600px)
   ========================================================================== */

@media (max-width: 600px) {
        /*  CIBLE — Bandeau Hero : body.single-contenu .jp-hero  */
        body.single-contenu .jp-hero {
            padding-top: 100px !important;
    }
        /*  CIBLE — Bandeau Hero : body.single-contenu .jp-hero .jp-script  */
        body.single-contenu .jp-hero .jp-script {
            font-size: var(--jp-script-size-small, 32px) !important;
            line-height: 1 !important;
    }
}

/* =========================================================
   PAGE D’ACCUEIL /LTSJP/ — IDENTITÉ MOBILE UNIQUEMENT

   Le panneau vitré, le titre « Prochains événements »,
   les dates et les textes sont gérés exclusivement dans :

   inc/events/home-events.php

   Ce fichier responsive ne doit donc pas modifier :
   - .elementor-element-f8f6054
   - .elementor-element-f8f6054::before
   - .elementor-element-d04395f
   - .elementor-element-cf52d96
   - .lg-liste-evenements
   ========================================================= */

/* ==========================================================================
   Adaptation responsive : (max-width: 600px)
   ========================================================================== */

@media (max-width: 600px) {
        /* =====================================================
       CONTENEUR GÉNÉRAL DU BANDEAU ELEMENTOR
       ===================================================== */
        body.page-id-14864 .elementor-14864 .elementor-element.elementor-element-33b696e {
            position: relative !important;
            overflow: hidden !important;
    }
        /* =====================================================
       LOGO DU HEADER MODERNE
       ===================================================== */
        body.page-id-14864 .jp-modern-header .jp-site-branding-logo {
            position: relative !important;
            display: block !important;
            gap: 0 !important;
    }
        /*  CIBLE — En-tête : body.page-id-14864 .jp-modern-header .jp-site-branding-logo img.custom-logo  */
        body.page-id-14864 .jp-modern-header .jp-site-branding-logo img.custom-logo {
            width: 100px !important;
            max-width: 100px !important;
            height: auto !important;
    }
        /* =====================================================
       SLOGAN PLACÉ SOUS LE LOGO
       ===================================================== */
        body.page-id-14864 .jp-modern-header .jp-site-branding-logo > .jp-site-slogan {
            position: absolute !important;
            top: 49px !important;
            left: 0 !important;
            right: auto !important;
            bottom: auto !important;
            display: block !important;
            width: max-content !important;
            margin: 0 !important;
            padding: 0 !important;
            transform: none !important;
            font-size: 13px !important;
            line-height: 1 !important;
            font-weight: 600 !important;
            white-space: nowrap !important;
    }
        /* =====================================================
       MASQUAGE DU DEUXIÈME SLOGAN DU HEADER ASTRA
       ===================================================== */
        body.page-id-14864 #masthead .jp-site-slogan, body.page-id-14864 #masthead .site-description {
            display: none !important;
    }
}

/* ==========================================================
   CARTES SUR MOBILE — ANIMATION AU CENTRE DE L'ÉCRAN
   ========================================================== */

/* * Sur les appareils tactiles, les effets :hover peuvent rester bloqués après
 * un toucher. Ils sont donc neutralisés. L'animation est déclenchée par
 * JavaScript uniquement lorsque la carte est la plus proche du centre
 * vertical de l'écran. */

@media (max-width: 900px) and (hover: none), (max-width: 900px) and (pointer: coarse) {
        /*  CIBLE — Cartes : body.jp-mobile-card-center-mode .jp-card:hover, body.jp-mobile-card-center-mode .jp-atouts .jp-card:ho…  */
        body.jp-mobile-card-center-mode .jp-card:hover,
    body.jp-mobile-card-center-mode .jp-atouts .jp-card:hover,
    body.jp-mobile-card-center-mode .jp-profile-card:hover,
    body.jp-mobile-card-center-mode .jp-tool:hover,
    body.jp-mobile-card-center-mode .jp-info-card:hover,
    body.jp-mobile-card-center-mode .jp-number:hover,
    body.jp-mobile-card-center-mode .jp-document-card:hover,
    body.jp-mobile-card-center-mode a.jp-partenaire-card:hover,
    body.jp-mobile-card-center-mode .jp-temoignage-page-card:hover,
    body.jp-mobile-card-center-mode .jp-testimonial-card:hover,
    body.jp-mobile-card-center-mode .jp-video-card:hover {
            transform: none !important;
            box-shadow: revert-layer !important;
    }
        /*  CIBLE — Cartes : body.jp-mobile-card-center-mode .jp-step:hover .jp-step-icon  */
        body.jp-mobile-card-center-mode .jp-step:hover .jp-step-icon {
            transform: none !important;
    }
        /* * Effet volontairement discret : la carte se soulève légèrement lorsqu'elle
     * traverse le centre de l'écran, sans nécessiter de clic. */
        body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-card,
    body.jp-mobile-card-center-mode .jp-atouts .jp-mobile-center-active.jp-card,
    body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-profile-card,
    body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-tool,
    body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-info-card,
    body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-document-card,
    body.jp-mobile-card-center-mode a.jp-mobile-center-active.jp-partenaire-card,
    body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-temoignage-page-card,
    body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-testimonial-card,
    body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-video-card {
            transform: translateY(-5px) scale(1.015) !important;
            box-shadow: 0 20px 42px rgba(16, 35, 63, 0.18) !important;
    }
        /*  CIBLE — Cartes : body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-info-card  */
        body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-info-card {
            border-color: color-mix(in srgb, var(--jp-main) 30%, transparent) !important;
    }
        /*  CIBLE — Cartes : body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-number  */
        body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-number {
            transform: perspective(900px) translateY(-5px) scale(1.015) !important;
            box-shadow: 0 22px 44px rgba(16, 35, 63, 0.20),
            inset 0 1px 0 rgba(255, 255, 255, 0.9) !important;
    }
        /*  CIBLE — Cartes : body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-step .jp-step-icon  */
        body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-step .jp-step-icon {
            transform: translateY(-6px) scale(1.04) !important;
            box-shadow: 0 20px 42px rgba(16, 35, 63, 0.22) !important;
    }
        /* * Le toucher ou le focus ne doit pas déclencher une seconde animation
     * concurrente. */
        body.jp-mobile-card-center-mode .jp-mobile-center-card {
            -webkit-tap-highlight-color: transparent;
    }
}

/*  RESPONSIVE — (max-width: 900px) and (prefers-reduced-motion: reduce)  */

@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
        /*  CIBLE — Cartes : body.jp-mobile-card-center-mode .jp-mobile-center-active, body.jp-mobile-card-center-mode .jp-mobile-c…  */
        body.jp-mobile-card-center-mode .jp-mobile-center-active,
    body.jp-mobile-card-center-mode .jp-mobile-center-active.jp-step .jp-step-icon {
            transform: none !important;
            transition: none !important;
    }
}

/* =========================================================
   HERO MOBILE SANS INFORMATIONS — Framework JP 12.2.18
   Lorsque le cartouche diplôme/durée/stage est absent, le hero conserve
   une réserve supérieure suffisante pour le header, le slogan et le menu.
   Le texte manuscrit et les badges ne remontent ainsi plus dans le slogan.
   ========================================================= */

@media (max-width: 900px) {
        /*  CIBLE — Bandeau Hero : .jp-hero.jp-hero--without-info  */
        .jp-hero.jp-hero--without-info {
            padding-top: 118px !important;
    }
        /*  CIBLE — Bandeau Hero : .jp-hero.jp-hero--without-info > .jp-script  */
        .jp-hero.jp-hero--without-info > .jp-script {
            margin-top: 8px !important;
            margin-bottom: 22px !important;
    }
        /*  CIBLE — Bandeau Hero : .jp-hero.jp-hero--without-info .jp-hero-main  */
        .jp-hero.jp-hero--without-info .jp-hero-main {
            margin-top: 0 !important;
    }
        /*  CIBLE — Bandeau Hero : .jp-hero.jp-hero--without-info .jp-hero-badges  */
        .jp-hero.jp-hero--without-info .jp-hero-badges {
            margin-top: 0 !important;
    }
        /*  CIBLE — Bandeau Hero : .jp-service-hero.jp-hero--without-info  */
        .jp-service-hero.jp-hero--without-info {
            padding-top: 118px !important;
    }
}

/*  RESPONSIVE — (max-width: 600px)  */

@media (max-width: 600px) {
        /*  CIBLE — Bandeau Hero : .jp-hero.jp-hero--without-info, .jp-service-hero.jp-hero--without-info  */
        .jp-hero.jp-hero--without-info,
    .jp-service-hero.jp-hero--without-info {
            padding-top: 110px !important;
    }
}
