/* 
 * DOCUMENTATION JP — CSS RÉORGANISÉ
 * ----------------------------------------------------------
 * Fichier : assets/css/jp-base.css
 * Rôle : Fondations visuelles communes.
 *
 * 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-base.css
 * Rôle : Styles du composant ou du module indiqué par le nom du fichier.
 *
 * 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-base.css
 * Rôle : Règles de base.
 *
 * 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. */

/* Forçage pleine largeur pour Astra / Elementor sur les pages formation */

/* ==========================================================================
   Fondations et règles globales
   ========================================================================== */

body.single-formation .site-content, body.single-formation .site-main, body.single-formation .ast-container, body.single-formation .content-area, body.single-formation #primary {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
}

/* Conteneur général de la page formation */

/* ==========================================================================
   Formulaires et champs
   ========================================================================== */

.jp-formation {
        overflow-x: hidden;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        font-family: "Montserrat","Arial",sans-serif;
        color: var(--jp-text);
        background: #fff;
}

/* Sections standard de la page */

.jp-section {
        padding: 43px 7% 0;
}

/*  CIBLE — Composant : .jp-section + .jp-section  */

.jp-section + .jp-section {
        padding-top: 34px;
}

/* Titres principaux et titres de colonnes */

.jp-title, .jp-small-title {
        text-transform: uppercase;
        font-weight: 900;
        color: var(--jp-dark);
}

/*  CIBLE — Composant : .jp-title  */

.jp-title {
        text-align: center;
        font-size: 27px;
        margin: 0 0 27px;
}

/*  CIBLE — Composant : .jp-small-title  */

.jp-small-title {
        font-size: 22px;
        margin: 0 0 22px;
}

/*  CIBLE — Composant : .jp-title span, .jp-small-title span  */

.jp-title span, .jp-small-title span {
        color: var(--jp-main);
}

/* Bordure légère commune à certaines cartes importantes */

/* ==========================================================================
   Cartes et contenus structurés
   ========================================================================== */

.jp-number, .jp-profile-card, .jp-step-icon {
        border: 1px solid rgba(16,35,63,.08);
}

/* Pleine largeur pour les templates JP */

/* ==========================================================================
   Formulaires et champs
   ========================================================================== */

.single-formation .site-content, .single-contenu .site-content, .single-formation .ast-container, .single-contenu .ast-container, .single-formation .content-area, .single-contenu .content-area, .single-formation .site-main, .single-contenu .site-main {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0;
}

/* Pleine largeur stricte pour les pages JP */

/* ==========================================================================
   Bandeau principal
   ========================================================================== */

.single-formation .jp-formation, .single-contenu .jp-page, .single-contenu .jp-hero, .single-formation .jp-hero {
        width: 100%;
        max-width: 100%;
        margin-left: 0px;
        margin-right: 0px;
}

/* Évite les débordements horizontaux */

/* ==========================================================================
   Fondations et règles globales
   ========================================================================== */

body.single-formation, body.single-contenu {
        overflow-x: hidden;
}

/*  CIBLE — Fondations globales : html, body  */

html, body {
        overflow-x: hidden;
}

/* ==========================================================================
   Formulaires et champs
   ========================================================================== */

.jp-page, .jp-formation-page, .jp-contenu-page {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
        box-sizing: border-box;
}

/*  CIBLE — Formations : .jp-page *, .jp-formation-page *, .jp-contenu-page *  */

.jp-page *, .jp-formation-page *, .jp-contenu-page * {
        box-sizing: border-box;
}
