/*
Theme Name: Crazy Prospects
Theme URI: https://crazyprospects.com
Author: Crazy Prospects
Description: Thème bloc sur mesure de Crazy Prospects. Palette du logo : marine, bleu royal, cyan (surlignages, espace étudiant), orange (boutons principaux) ; typographie Archivo. Site public en créole haïtien. Toutes les pages restent éditables dans Gutenberg ; les fonctionnalités (catalogue, formations, CRM, emails, automatisations) sont fournies par l’extension « Crazy Prospects — Plateforme ».
Version: 1.8.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: crazy-prospects
Tags: block-theme, full-site-editing, business, one-column, custom-colors
*/

/* ==========================================================================
   1. Jetons
   ========================================================================== */
:root{
  /* Palette tirée du logo : bleu royal, cyan, orange ; marine pour les fonds sombres et le texte. */
  --nuit:#0B1E45; --charbon:#12295A; --fumee:#1C3670;
  --craie:#F3F7FC; --papier:#FFFFFF;
  --signal:#E2610E; --signal-survol:#F07A2E; /* orange : boutons principaux (texte marine, contraste 4,6) */
  --accent:#5BDEE6; --accent-clair:#C9F3F6; /* cyan : surlignages, puces, espace étudiant */
  --bleu:#034EB1; --bleu-clair:#E6F0FB;
  --encre:#0B1E45; --gris:#53607A; --gris-clair:#A9B6CF; --gris-moyen:#7D8AA3;
  --trait:#D9E2F0; --trait-nuit:rgba(255,255,255,.14);
  /* Familles de la marque (Réglages CP → Couleurs peut les redéfinir ; valeurs par défaut = palette officielle).
     Les gris, les blancs et les couleurs d'état (succès, erreur, notes, WhatsApp) ne changent jamais. */
  --nuit-rgb:11,30,69; --nuit-survol:#2a2a25; --nuit-fonce:#0A1838; --nuit-trait:#2A4277; --nuit-carte:#0F2453; --nuit-profond:#0A1A3D;
  --bleu-rgb:3,78,177; --bleu-survol:#0A5FD0; --bleu-texte:#D6E4FA;
  --accent-rgb:91,222,230; --accent-survol:#7FE7EC; --accent-fonce:#2BB4BF;
  --signal-rgb:226,97,14;
  --rayon:18px; --rayon-s:10px;
  --police:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif;
  --enveloppe:1240px; --gouttiere:clamp(20px,4vw,40px);
  /* Marge latérale d'une section « bord à bord » dont le contenu reste centré. */
  --cote:max(var(--gouttiere), calc((100% - var(--enveloppe)) / 2 + var(--gouttiere)));
}

/* ==========================================================================
   2. Base
   ========================================================================== */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;position:relative;font-family:var(--police);font-size:17px;line-height:1.6;color:var(--encre);
  background:var(--craie);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;font-weight:800;font-stretch:118%;letter-spacing:-.025em;line-height:1.02;text-wrap:balance;hyphens:none}
p{margin:0}
ul,ol{margin:0;padding:0}
figure{margin:0}
.site-main{overflow-x:clip}

/* L'espacement automatique de Gutenberg est coupé dans theme.json (blockGap 0) ;
   filet de sécurité à spécificité nulle pour ne jamais écraser les marges des composants. */
:where(.wp-block-group)>:where(*),:where(.wp-block-buttons){margin-block:0}
figure.wp-block-image{margin:0}
:where(.wp-block-list){list-style:none;padding:0}
.wp-site-blocks>*{margin-block-start:0}

.enveloppe{max-width:var(--enveloppe);margin-inline:auto;padding-inline:var(--gouttiere);width:100%}

:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--bleu);outline-offset:3px;border-radius:6px}
:where(.sur-nuit,.heros,.bande-titre,.fiche-haut,.entete,.pied,.final,.methode,.section--nuit) :focus-visible{outline-color:var(--accent)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}

/* Le surligneur : <em> nu, stylé par son contexte. */
h1 em,h2 em,.surligne em{font-style:normal;color:inherit;
  background:linear-gradient(104deg,transparent 0 .6%,var(--accent) 1.4% 97.5%,transparent 99%) no-repeat;
  background-size:100% 46%;background-position:0 88%;padding-inline:.06em;margin-inline:-.06em;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}
.sur-nuit h1 em,.sur-nuit h2 em,.bande-titre h1 em,.final h2 em{color:var(--nuit);background-size:100% 100%;background-position:0 0;padding-inline:.12em;margin-inline:-.04em;border-radius:.08em}

.etiquette,.cp-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-stretch:110%}
.etiquette::before,.cp-eyebrow::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.sur-clair .etiquette::before{background:var(--encre)}
.cp-eyebrow a{text-decoration:none}
.cp-eyebrow a:hover{text-decoration:underline}

/* ==========================================================================
   3. Boutons (blocs Boutons + boutons des composants)
   ========================================================================== */
.wp-block-button .wp-block-button__link,.cp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;
  padding:0 26px;border-radius:999px;font:inherit;font-size:16px;font-weight:700;text-decoration:none;cursor:pointer;border:0;
  background:var(--signal);color:var(--nuit);transition:transform .15s ease,background-color .15s ease;white-space:nowrap}
.wp-block-button .wp-block-button__link:active,.cp-btn:active{transform:translateY(1px)}
/* Styles au choix dans l'éditeur (bloc Bouton → Styles, 1.8) : mêmes règles que les classes b-* déjà utilisées. */
.wp-block-button.is-style-cp-orange .wp-block-button__link{background:var(--signal);color:var(--nuit)}
.wp-block-button.b-signal .wp-block-button__link::after,.wp-block-button.is-style-cp-orange .wp-block-button__link::after,.cp-btn::after{content:"→";font-weight:500}
.wp-block-button.b-signal .wp-block-button__link:hover,.wp-block-button.is-style-cp-orange .wp-block-button__link:hover,.cp-btn:hover{background:var(--signal-survol)}
.wp-block-button.b-nuit .wp-block-button__link,.wp-block-button.is-style-cp-marine .wp-block-button__link{background:var(--nuit);color:var(--papier)}
.wp-block-button.b-nuit .wp-block-button__link:hover,.wp-block-button.is-style-cp-marine .wp-block-button__link:hover{background:var(--nuit-survol)}
.wp-block-button.b-contour .wp-block-button__link,.wp-block-button.is-style-cp-contour .wp-block-button__link{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.wp-block-button.b-lien .wp-block-button__link,.wp-block-button.is-style-cp-lien .wp-block-button__link{background:none;color:inherit;padding:0 0 2px;min-height:0;border-radius:0;border-bottom:2px solid currentColor}
.wp-block-button.b-lien .wp-block-button__link::after,.wp-block-button.is-style-cp-lien .wp-block-button__link::after{content:" →"}
.cp-btn:disabled{opacity:.6;cursor:wait}
.lien-fleche a,.cp-link-arrow{font-weight:700;text-decoration:none;border-bottom:2px solid currentColor;padding-bottom:2px}
.lien-fleche a::after,.cp-link-arrow::after{content:" →"}
.cp-link-btn{background:none;border:0;padding:0;font:inherit;color:var(--gris);text-decoration:underline;cursor:pointer}

/* ==========================================================================
   4. En-tête et navigation
   ========================================================================== */
header.wp-block-template-part{position:absolute;inset:0 0 auto 0;z-index:30}
.entete{color:var(--papier)}
.entete-rangee{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:88px}
/* Marque : logo officiel (carré, jamais déformé) + nom du site. */
.marque-groupe{display:flex;align-items:center;gap:12px}
.wp-block-site-logo.marque-logo{margin:0;line-height:0;flex:none}
.wp-block-site-logo.marque-logo img{width:48px;height:48px;object-fit:contain;border-radius:12px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.pied .wp-block-site-logo.marque-logo img{width:64px;height:64px;border-radius:14px}
.wp-block-site-title.marque{margin:0;font-size:16px;font-weight:900;font-stretch:125%;letter-spacing:-.01em;line-height:1;text-transform:uppercase}
.wp-block-site-title.marque a{display:inline-block;max-width:8.2em;text-decoration:none;color:inherit}

.wp-block-navigation.menu{font-size:15px;font-weight:500;gap:30px}
.wp-block-navigation.menu .wp-block-navigation__container{gap:30px}
.wp-block-navigation.menu .wp-block-navigation-item__content{text-decoration:none;opacity:.86}
.wp-block-navigation.menu .wp-block-navigation-item__content:hover,
.wp-block-navigation.menu .current-menu-item>.wp-block-navigation-item__content{opacity:1;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;text-decoration-color:var(--accent)}
.wp-block-navigation.menu .menu-etudiant{display:none}
.wp-block-navigation.menu .wp-block-navigation__responsive-container-open,
.wp-block-navigation.menu .wp-block-navigation__responsive-container-close{color:var(--papier)}
/* Le panneau mobile s'ouvre blanc sur blanc sans ceci : le CSS du bloc est imprimé après cette feuille. */
.wp-block-navigation.menu .wp-block-navigation__responsive-container.is-menu-open{background-color:var(--nuit)!important;color:var(--papier)!important;padding:28px var(--gouttiere)}
.wp-block-navigation.menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content{padding-top:64px;align-items:flex-start}
.wp-block-navigation.menu .is-menu-open .wp-block-navigation__container{gap:8px!important;align-items:flex-start}
.wp-block-navigation.menu .is-menu-open .wp-block-navigation-item__content{font-size:30px;font-weight:800;font-stretch:118%;opacity:1;padding:4px 0}
.wp-block-navigation.menu .is-menu-open .menu-etudiant{display:block;margin-top:18px}
.wp-block-navigation.menu .is-menu-open .menu-etudiant .wp-block-navigation-item__content{font-size:18px;font-weight:700;color:var(--nuit);background:var(--accent);border-radius:999px;padding:10px 20px}
.entete-actions{display:flex;align-items:center;gap:20px}
.entete-actions .lien-discret a{font-size:14px;text-decoration:none;opacity:.8}
.entete-actions .lien-discret a:hover{opacity:1;text-decoration:underline}
.entete-cta .wp-block-button__link{min-height:44px;padding:0 20px;font-size:15px}
/* Espace étudiant : bouton de couleur distincte (cyan), repérable d'un coup d'œil. */
.wp-block-button.b-etudiant .wp-block-button__link,.wp-block-button.is-style-cp-etudiant .wp-block-button__link{background:var(--accent);color:var(--nuit);min-height:44px;padding:0 20px;font-size:15px}
.wp-block-button.b-etudiant .wp-block-button__link:hover,.wp-block-button.is-style-cp-etudiant .wp-block-button__link:hover{background:var(--accent-survol)}
.wp-block-button.b-etudiant .wp-block-button__link::before,.wp-block-button.is-style-cp-etudiant .wp-block-button__link::before{content:"";width:16px;height:16px;flex:none;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5 10-5Z'/%3E%3Cpath d='M6 12v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5 10-5Z'/%3E%3Cpath d='M6 12v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E") center/contain no-repeat}
.wp-block-button.b-bleu .wp-block-button__link,.wp-block-button.is-style-cp-bleu .wp-block-button__link{background:var(--bleu);color:var(--papier)}
.wp-block-button.b-bleu .wp-block-button__link:hover,.wp-block-button.is-style-cp-bleu .wp-block-button__link:hover{background:var(--bleu-survol)}

/* ==========================================================================
   5. Accueil — héros
   ========================================================================== */
.heros{position:relative;z-index:2;background:var(--nuit);color:var(--papier);padding:168px 0 0}
.heros::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 1px,transparent 1px 96px)}
.heros>.enveloppe{position:relative}
.heros .etiquette{color:var(--gris-clair);margin-bottom:30px}
.heros h1{font-size:clamp(44px,5.45vw,84px);font-weight:850;font-stretch:122%;letter-spacing:-.035em;line-height:.98}
.heros-grille{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;margin-top:64px;align-items:start}
.heros-texte{padding:6px 0 120px}
.heros-chapeau{max-width:520px;font-size:19px;line-height:1.6;color:#D3DDEE}
.heros-chapeau strong{color:var(--papier);font-weight:700}
.heros-actions{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:40px}
.heros-actions .b-lien .wp-block-button__link{color:var(--papier);border-bottom-color:rgba(255,255,255,.3)}
.plateformes{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:64px;padding-top:24px;border-top:1px solid var(--trait-nuit);font-size:14px;color:var(--gris-clair);font-weight:500}
.plateformes li+li::before{content:"/";margin-right:18px;color:#4A5F8C}

.scene{position:relative;z-index:3;margin-bottom:-110px;padding-left:96px}
.scene .scene-photo{position:relative;aspect-ratio:16/11;border-radius:22px;overflow:hidden;background:var(--charbon)}
.scene .scene-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}
.scene .scene-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(var(--nuit-rgb),0) 55%,rgba(var(--nuit-rgb),.45))}
.pub{position:absolute;left:0;top:96px;width:262px;background:var(--papier);color:var(--encre);border-radius:20px;padding:12px;
  box-shadow:0 40px 80px -20px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.04);z-index:2}
.pub-tete{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center;padding:2px 2px 12px}
.pub-tete::before{content:"VE";grid-row:span 2;width:34px;height:34px;border-radius:50%;background:var(--nuit);color:var(--accent);font-size:11px;font-weight:800;display:grid;place-items:center}
.pub-nom{font-size:14px;font-weight:700;line-height:1.2}
.pub-sponso{font-size:12px;color:var(--gris);line-height:1.2}
.pub .pub-visuel{border-radius:12px;overflow:hidden;aspect-ratio:1/1}
.pub .pub-visuel img{width:100%;height:100%;object-fit:cover}
/* Sans photo : des aplats rayés discrets plutôt qu'un cadre blanc. */
.pub .pub-visuel:empty{background:repeating-linear-gradient(135deg,#E9EFF8 0 14px,#E0E8F4 14px 28px)}
.scene .scene-photo:empty{background:var(--charbon) repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 16px,transparent 16px 32px)}
.pub-texte{font-size:14px;line-height:1.45;padding:12px 2px}
.pub-cta{display:flex;justify-content:space-between;align-items:center;gap:8px;background:var(--craie);border-radius:10px;padding:9px 10px 9px 14px;font-size:13px;font-weight:700}
.pub-cta p:last-child{background:var(--nuit);color:var(--papier);padding:7px 12px;border-radius:8px;white-space:nowrap}
.notif{position:absolute;right:-22px;top:-28px;z-index:3;display:flex;gap:12px;align-items:flex-start;background:var(--accent);color:var(--nuit);
  border-radius:16px;padding:14px 18px 14px 14px;width:min(290px,80%);box-shadow:0 30px 60px -20px rgba(0,0,0,.55);font-size:13px;line-height:1.35}
.notif::before{content:"";flex:none;width:34px;height:34px;border-radius:10px;background:var(--nuit) center/18px no-repeat
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235BDEE6' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M19 8v6M22 11h-6'/%3E%3C/svg%3E")}
.notif strong{font-size:14px}

/* ==========================================================================
   6. Accueil — sections
   ========================================================================== */
.valeur{padding:190px 0 110px;background:var(--craie);position:relative;z-index:1}
.valeur .etiquette{margin-bottom:28px}
.valeur-titre{font-size:clamp(30px,3.9vw,56px);max-width:1080px;font-stretch:112%;font-weight:750;letter-spacing:-.03em;line-height:1.08}
.valeur-suite{font-size:clamp(30px,3.9vw,56px);max-width:1080px;font-stretch:112%;font-weight:750;letter-spacing:-.03em;line-height:1.08;color:#9A9A92;text-wrap:balance}
.piliers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:80px;border-top:1.5px solid var(--encre);counter-reset:pilier}
.pilier{padding:28px 32px 0 0}
.pilier+.pilier{padding-left:32px;border-left:1px solid var(--trait)}
.pilier h3{font-size:22px;font-stretch:115%;margin-bottom:12px;display:flex;gap:12px;align-items:baseline;counter-increment:pilier}
.pilier h3::before{content:"0" counter(pilier);font-size:13px;font-weight:600;color:var(--gris);font-stretch:100%}
.pilier p{color:var(--gris);font-size:16px}

.bascule{background:var(--papier);padding:120px 0;border-radius:36px 36px 0 0}
.bascule-tete{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:end;margin-bottom:64px}
.bascule-tete h2{font-size:clamp(34px,4.4vw,62px)}
.bascule-tete p{color:var(--gris);max-width:460px;justify-self:end}
.tableau-bascule{border-top:1.5px solid var(--encre);counter-reset:ligne}
.tableau-bascule .ligne{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,1.15fr);gap:32px;padding:30px 0;border-bottom:1px solid var(--trait);align-items:start}
.tableau-bascule .ligne::before{counter-increment:ligne;content:"0" counter(ligne);font-size:13px;font-weight:600;color:var(--gris);padding-top:5px}
.tableau-bascule .entetes{padding:14px 0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.tableau-bascule .entetes::before{content:"";counter-increment:none}
.ligne .avant{font-size:19px;color:var(--gris-moyen);text-decoration:line-through;text-decoration-color:rgba(var(--nuit-rgb),.35);text-decoration-thickness:1.5px}
.ligne .apres{font-size:19px;font-weight:600;line-height:1.5}
.ligne .apres em{font-style:normal;background:linear-gradient(transparent 58%,var(--accent-clair) 58% 92%,transparent 92%)}
.entetes p{font-size:13px}

.services{background:var(--nuit);color:var(--papier);padding:130px 0 120px}
.section-tete{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:56px}
.section-tete h2{font-size:clamp(36px,4.6vw,66px)}
.section-tete p{max-width:420px;color:var(--gris)}
.sur-nuit .section-tete p{color:var(--gris-clair)}
.services .section-tete .lien-fleche a{color:var(--accent)}

.methode{background:var(--bleu);color:var(--papier);padding:130px 0 120px}
.methode-grille{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px}
.methode h2{font-size:clamp(40px,5.4vw,80px);font-stretch:125%;position:sticky;top:40px}
.methode .intro{margin-top:26px;font-size:18px;max-width:420px}
.etapes{counter-reset:etape;list-style:none;padding:0}
.etapes li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 20px;padding:34px 0;border-top:1.5px solid rgba(255,255,255,.4);font-size:16.5px}
.etapes li:last-child{border-bottom:1.5px solid rgba(255,255,255,.4)}
.etapes li::before{counter-increment:etape;content:"0" counter(etape);grid-row:span 2;font-size:54px;font-weight:900;font-stretch:125%;line-height:.9;letter-spacing:-.04em}
.etapes li strong{display:block;font-size:26px;font-weight:800;font-stretch:115%;letter-spacing:-.025em;line-height:1.1;margin-bottom:10px}

.catalogue-bande{background:var(--papier);padding:96px 0}
.catalogue-boite{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center}
.catalogue-bande h2{font-size:clamp(28px,3.2vw,44px);font-stretch:112%}
.catalogue-bande p{color:var(--gris);margin-top:12px;max-width:560px}
.puces{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px;list-style:none;padding:0}
.puces a{display:inline-block;text-decoration:none;font-size:14px;font-weight:600;padding:9px 16px;border-radius:999px;border:1.5px solid var(--trait);transition:border-color .15s}
.puces a:hover{border-color:var(--encre)}

.formations-bloc{background:var(--craie);padding:130px 0;border-top:1px solid var(--trait)}
.formations-grille{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.formations-intro .etiquette{margin-bottom:24px}
.formations-intro h2{font-size:clamp(34px,4.2vw,58px)}
.formations-intro>p:not(.etiquette){margin-top:22px;color:var(--gris);font-size:18px}
.formations-intro .wp-block-buttons{margin-top:34px}
.formations-intro .formations-photo{margin-top:48px;border-radius:var(--rayon);overflow:hidden;aspect-ratio:4/3}
.formations-intro .formations-photo img{width:100%;height:100%;object-fit:cover}
/* Aucune formation mise en avant : l'introduction occupe seule la largeur. */
.formations-grille:not(:has(.cp-courses,.cp-staff-note)){grid-template-columns:minmax(0,1fr)}
.formations-grille:not(:has(.cp-courses,.cp-staff-note)) .formations-intro{max-width:760px}

.final{background:var(--nuit);color:var(--papier);padding:130px 0;border-radius:36px 36px 0 0;margin-top:-36px;position:relative;z-index:2}
.final-grille{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:72px}
.final h2{font-size:clamp(40px,5.6vw,84px);font-stretch:125%}
.apres-envoi{margin-top:44px;display:grid;gap:18px;counter-reset:suite;list-style:none;padding:0}
.apres-envoi li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;color:#C9D4E8;font-size:16px}
.apres-envoi li::before{counter-increment:suite;content:counter(suite);width:28px;height:28px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);font-size:13px;font-weight:700;display:grid;place-items:center}

/* ==========================================================================
   7. Pages intérieures
   ========================================================================== */
.bande-titre{background:var(--nuit);color:var(--papier);padding:170px 0 90px;position:relative}
.bande-titre::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 1px,transparent 1px 96px)}
.bande-titre .enveloppe{position:relative}
.bande-titre .etiquette{color:var(--gris-clair);margin-bottom:24px}
.bande-titre-h1,.bande-titre h1{font-size:clamp(40px,5vw,76px);font-weight:850;font-stretch:122%;letter-spacing:-.035em;line-height:1;max-width:16ch}
.bande-titre-chapeau{margin-top:26px;max-width:620px;font-size:19px;color:#D3DDEE}
.bande-actions{display:flex;flex-wrap:wrap;gap:16px;margin-top:36px}
/* Image de bannière facultative (Réglages CP → Bannières, 1.8) : texte à gauche, image entière à droite ; sous le texte
   sur mobile. Sans image, aucune de ces règles ne s'applique : le bandeau reste tel quel. */
.bande-titre .enveloppe:has(>.bande-image){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.78fr);column-gap:56px;align-items:center}
.bande-titre .enveloppe:has(>.bande-image)>:not(.bande-image){grid-column:1}
.bande-titre .enveloppe>.bande-image{grid-column:2;grid-row:1/span 4;margin:0;align-self:center;justify-self:end}
.bande-titre .bande-image img{display:block;width:auto;max-width:100%;height:auto;max-height:420px;object-fit:contain;border-radius:20px;box-shadow:0 26px 50px -26px rgba(0,0,0,.75)}
.wp-block-query-title+.titre-blog{display:none}
.page-corps{padding:90px 0 120px}
.section{padding:110px 0}
.section--blanc{background:var(--papier)}
.section--nuit{background:var(--nuit);color:var(--papier)}
.section--signal{background:var(--bleu);color:var(--papier)}
.section h2.titre-section{font-size:clamp(32px,4vw,56px);margin-bottom:28px}
.deux-colonnes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.chapeau{font-size:19px;color:var(--gris);max-width:640px}
.sur-nuit .chapeau{color:#C9D4E8}
.carte-formulaire{background:var(--papier);border:1px solid var(--trait);border-radius:24px;padding:36px}
.carte-formulaire h2{font-size:clamp(24px,2.6vw,32px);margin-bottom:22px}
.colonne-contact .titre-section+.cp-numbered{margin-bottom:44px}
.colonne-contact h3{font-size:20px;margin-bottom:16px}
.a-completer{display:inline-block;font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:600;color:#7A5D00;background:#FFF4C2;border:1px dashed #D9B300;border-radius:6px;padding:4px 10px;line-height:1.5}

/* Texte long (articles, confidentialité, contenus d'éditeur) */
.prose{font-size:18px;line-height:1.7}
/* Contenu rédigé dans l'éditeur (pages légales, services, catalogues) : jamais collé au bord de l'écran. */
.wp-block-post-content.prose{padding-inline:var(--gouttiere)}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(26px,3vw,36px);margin-top:1.8em}
.prose h3{font-size:22px;margin-top:1.5em;font-stretch:110%}
.prose a{color:var(--bleu);text-decoration-thickness:1.5px;text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.2em}
.prose ul{list-style:disc}
.prose ol{list-style:decimal}
.prose li+li{margin-top:.4em}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 24px;border-left:4px solid var(--accent);font-size:21px;font-weight:600}
.prose figure img{border-radius:var(--rayon-s)}
.article-image{max-width:var(--enveloppe);margin:0 auto 48px;padding-inline:var(--gouttiere)}
.article-image img{border-radius:var(--rayon)}
.grille-articles{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:40px 28px;list-style:none;padding:0}
.grille-articles .wp-block-post-featured-image{border-radius:var(--rayon-s);overflow:hidden;margin-bottom:16px}
.grille-articles .wp-block-post-title{font-size:23px;margin:8px 0}
.grille-articles .wp-block-post-title a{text-decoration:none}

/* Fiches (service, formation, projet, lead magnet, landing) */
.fiche-haut{background:var(--nuit);color:var(--papier);padding:150px 0 90px;position:relative}
.fiche-haut::before{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,rgba(255,255,255,.022) 0 1px,transparent 1px 96px)}
.fiche-haut .enveloppe{position:relative}
.fiche-corps{padding:80px 0 0}
.fiche-corps>.prose{margin-bottom:72px}
.fiche-corps>.prose:not(:has(*)){display:none;margin:0}
.fiche-suite{padding-bottom:110px}

/* ==========================================================================
   8. Composants de la plateforme (blocs dynamiques)
   ========================================================================== */
.cp-staff-note{margin:16px 0}
/* Note d'équipe posée directement dans la page (bloc pleine largeur vide) : alignée sur la grille. */
.site-main>.cp-staff-note,.wp-block-post-content>.cp-staff-note{max-width:var(--enveloppe);margin:24px auto;padding-inline:var(--gouttiere)}
.cp-cases-grid.is-placeholder .cp-case-visual{aspect-ratio:auto;min-height:220px}
.cp-a-completer{display:inline-block;font-family:ui-monospace,Consolas,monospace;font-size:12.5px;font-weight:600;color:#7A5D00;background:#FFF4C2;border:1px dashed #D9B300;border-radius:6px;padding:3px 8px;line-height:1.5}
.cp-muted{color:var(--gris)}
.sur-nuit .cp-muted,.fiche-haut .cp-muted{color:var(--gris-clair)}
.cp-checklist{list-style:none;padding:0;display:grid;gap:12px}
.cp-checklist li{position:relative;padding-left:34px}
.cp-checklist li::before{content:"";position:absolute;left:0;top:.2em;width:22px;height:22px;border-radius:50%;background:var(--accent) center/12px no-repeat
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D0D0B' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E")}
.cp-numbered{list-style:none;padding:0;counter-reset:inclus;display:grid;gap:0}
.cp-numbered li{counter-increment:inclus;display:grid;grid-template-columns:40px 1fr;padding:12px 0;border-top:1px solid var(--trait)}
.cp-numbered li::before{content:"0" counter(inclus);font-size:13px;font-weight:700;color:var(--gris);padding-top:3px}
.cp-plain-list{list-style:none;padding:0;display:grid;gap:8px;margin-bottom:22px}
.cp-plain-list li{padding-left:18px;position:relative}
.cp-plain-list li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:2px;background:currentColor}
.cp-chip{display:inline-block;padding:6px 12px;border-radius:999px;border:1.5px solid var(--trait);text-decoration:none;font-size:14px;font-weight:600;margin:4px 4px 0 0}
.cp-price{font-weight:700;font-size:17px}
.cp-price small{display:block;font-weight:500;font-size:13px;color:var(--gris)}
.fiche-haut .cp-price small,.sur-nuit .cp-price small{color:var(--gris-clair)}

/* Services : liste éditoriale (sur fond sombre) ou clair */
.cp-services{border-top:1px solid var(--trait)}
.sur-nuit .cp-services{border-top-color:var(--trait-nuit)}
.cp-service-row{display:grid;grid-template-columns:70px minmax(0,1.1fr) minmax(0,1fr) 150px;gap:32px;align-items:center;padding:30px 0;border-bottom:1px solid var(--trait);text-decoration:none}
.sur-nuit .cp-service-row{border-bottom-color:var(--trait-nuit)}
.cp-service-num{font-size:13px;color:var(--gris);font-weight:600}
.cp-service-title{font-size:clamp(24px,2.6vw,36px);font-stretch:120%;transition:color .15s}
.cp-service-excerpt{color:var(--gris);font-size:16px}
.sur-nuit .cp-service-num,.sur-nuit .cp-service-excerpt{color:var(--gris-clair)}
.cp-service-price{display:block;margin-top:6px;font-weight:700;color:var(--encre)}
.sur-nuit .cp-service-price{color:var(--accent)}
.cp-service-thumb{width:150px;aspect-ratio:3/2;border-radius:var(--rayon-s);overflow:hidden;background:var(--fumee);opacity:.85;transition:opacity .2s}
.cp-service-thumb img{width:100%;height:100%;object-fit:cover}
.cp-service-row:hover .cp-service-title{color:var(--accent)}
.cp-services:not(.sur-nuit *) .cp-service-row:hover .cp-service-title{color:inherit;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:4px;text-underline-offset:6px}
.cp-service-row:hover .cp-service-thumb{opacity:1}
.cp-services--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;border:0}
.cp-services--grid .cp-service-row{grid-template-columns:1fr;gap:10px;padding:24px;border:1px solid var(--trait);border-radius:var(--rayon);background:var(--papier)}
.cp-services--grid .cp-service-thumb{width:100%;order:-1}

/* Filtres (catalogue, portfolio) */
.cp-filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.cp-filter{font:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:999px;border:1.5px solid var(--trait);background:var(--papier);cursor:pointer;color:var(--encre)}
.cp-filter.is-active{background:var(--nuit);border-color:var(--nuit);color:var(--papier)}

/* Catalogue */
.cp-catalogue-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px}
.cp-catalogue-item{background:var(--papier);border-radius:var(--rayon);overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--trait)}
.cp-catalogue-item[hidden]{display:none}
.cp-catalogue-visual{display:block;aspect-ratio:16/10;background:var(--bleu-clair);overflow:hidden}
.cp-catalogue-visual img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cp-catalogue-item:hover .cp-catalogue-visual img{transform:scale(1.03)}
.cp-catalogue-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:10px;flex:1}
.cp-catalogue-cat{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.cp-catalogue-body h3{font-size:24px;font-stretch:112%;line-height:1.1}
.cp-catalogue-body h3 a{text-decoration:none}
.cp-catalogue-body p{color:var(--gris);font-size:15.5px}
.cp-catalogue-body .cp-price{color:var(--encre);margin-top:auto;padding-top:10px;border-top:1px solid var(--trait)}
.cp-catalogue-body .cp-link-arrow{align-self:flex-start;font-size:15px}

/* Fiche : en-tête */
.cp-page-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:64px;align-items:center}
.cp-page-hero:not(:has(.cp-page-hero-visual)){grid-template-columns:minmax(0,1fr)}
.cp-page-hero .cp-eyebrow{color:var(--gris-clair);margin-bottom:24px;gap:8px}
.cp-page-hero h1{font-size:clamp(40px,5vw,76px);font-weight:850;font-stretch:122%;letter-spacing:-.035em;line-height:1}
.cp-page-hero-lead{margin-top:24px;font-size:19px;color:#D3DDEE;max-width:600px}
.cp-page-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:36px}
.cp-page-hero-visual{border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:var(--charbon)}
.cp-page-hero-visual img{width:100%;height:100%;object-fit:cover}
.cp-facts{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:28px;padding-top:22px;border-top:1px solid var(--trait-nuit)}
.cp-facts li{display:flex;flex-direction:column;font-weight:600}
.cp-facts span{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-clair)}

/* Fiche : détails */
.cp-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;margin-bottom:80px}
.cp-split h2{font-size:clamp(26px,2.8vw,36px);margin-bottom:24px}
.cp-split h3{font-size:20px;margin:6px 0 14px}
.cp-split-col--box{background:var(--papier);border-radius:var(--rayon);padding:32px;border:1px solid var(--trait)}
.cp-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:80px}
.cp-gallery-grid figure{border-radius:var(--rayon-s);overflow:hidden;aspect-ratio:4/3}
.cp-gallery-grid img{width:100%;height:100%;object-fit:cover}
.cp-faq{max-width:860px;margin-bottom:80px}
.cp-faq h2{font-size:clamp(26px,2.8vw,36px);margin-bottom:20px}
.cp-faq details{border-top:1px solid var(--trait);padding:18px 0}
.cp-faq details:last-child{border-bottom:1px solid var(--trait)}
.cp-faq summary{cursor:pointer;font-weight:700;font-size:18px;list-style:none;display:flex;justify-content:space-between;gap:20px}
.cp-faq summary::after{content:"+";font-size:22px;line-height:1}
.cp-faq details[open] summary::after{content:"–"}
.cp-faq details p{margin-top:12px;color:var(--gris)}
.cp-request,.cp-enroll{background:var(--nuit);color:var(--papier);border-radius:28px;padding:56px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;margin-bottom:110px;scroll-margin-top:40px}
.cp-enroll:not(:has(form)){display:block;text-align:left}
.cp-request h2,.cp-enroll h2{font-size:clamp(28px,3.4vw,46px);font-stretch:118%}
.cp-request-intro p{color:#C9D4E8;margin-top:16px}
.cp-steps-small{list-style:none;padding:0;margin-top:28px;display:grid;gap:14px;counter-reset:pas}
.cp-steps-small li{display:grid;grid-template-columns:34px 1fr;gap:10px;color:#C9D4E8;font-size:15.5px}
.cp-steps-small li::before{counter-increment:pas;content:counter(pas);width:26px;height:26px;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);font-size:12px;font-weight:700;display:grid;place-items:center}
.cp-enroll .cp-btn{margin-top:20px}

/* Projet */
.cp-case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0 0 72px;padding:0}
.cp-case-grid>div{background:var(--papier);border:1px solid var(--trait);border-radius:var(--rayon);padding:28px}
.cp-case-grid .is-result{background:var(--accent-clair);border-color:var(--accent)}
.cp-case-grid dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gris);margin-bottom:10px}
.cp-case-grid .is-result dt{color:var(--nuit)}
.cp-case-grid dd{margin:0}
.cp-quote{margin:0 0 72px;max-width:900px}
.cp-quote blockquote{margin:0;font-size:clamp(22px,2.4vw,30px);font-weight:600;line-height:1.35}
.cp-quote blockquote::before{content:"“";display:block;font-size:110px;line-height:.6;font-weight:900;color:var(--accent);height:44px}
.cp-quote figcaption{margin-top:16px;color:var(--gris)}
.cp-related{margin-bottom:40px}

/* Réalisations (accueil) */
.cp-cases{background:var(--craie);padding:130px var(--cote)}
.cp-section-head{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:56px}
.cp-section-head h2{font-size:clamp(36px,4.6vw,66px)}
.cp-section-head p{max-width:420px;color:var(--gris)}
.cp-cases-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:28px;align-items:start}
.cp-cases-grid:not(:has(.cp-cases-stack)){grid-template-columns:minmax(0,1fr)}
.cp-case{background:var(--papier);border-radius:var(--rayon);overflow:hidden;display:flex;flex-direction:column}
.cp-case-visual{display:block;aspect-ratio:16/10;background:var(--bleu-clair);position:relative}
.cp-case-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cp-case-visual.is-empty{display:grid;place-items:center;background:repeating-linear-gradient(135deg,#E9EFF8 0 14px,#E0E8F4 14px 28px)}
.cp-case-body{padding:28px 30px 32px;display:grid;gap:14px}
.cp-case-tag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.cp-case-body h3{font-size:26px;font-stretch:112%;line-height:1.15}
.cp-case-body h3 a{text-decoration:none}
.cp-case-detail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:8px 0 0;padding-top:18px;border-top:1px solid var(--trait)}
.cp-case-detail dt{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);margin-bottom:6px}
.cp-case-detail dd{margin:0;font-size:15px;line-height:1.45}
.cp-cases-stack{display:grid;gap:28px}
.cp-cases-stack .cp-case{flex-direction:row}
.cp-cases-stack .cp-case-visual{aspect-ratio:auto;width:42%;flex:none;min-height:190px}
.cp-cases-stack .cp-case-body{padding:24px}
.cp-cases-stack h3{font-size:21px}

/* Portfolio */
.cp-portfolio-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:40px 28px}
.cp-portfolio-item[hidden]{display:none}
.cp-portfolio-item a{text-decoration:none;display:block}
.cp-portfolio-visual{border-radius:var(--rayon);overflow:hidden;aspect-ratio:4/3;background:var(--bleu-clair);margin-bottom:16px}
.cp-portfolio-visual img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cp-portfolio-item a:hover img{transform:scale(1.03)}
.cp-portfolio-cat{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gris)}
.cp-portfolio-item h3{font-size:24px;font-stretch:112%;margin-top:6px}
.cp-portfolio-result{margin-top:8px;font-weight:600}
.cp-empty-state{background:var(--papier);border:1px solid var(--trait);border-radius:var(--rayon);padding:48px;max-width:760px}
.cp-empty-state h2{font-size:clamp(26px,3vw,38px);margin-bottom:14px}
.cp-empty-state p{color:var(--gris);margin-bottom:24px}

/* Témoignages */
.cp-testimonials{background:var(--papier);padding:120px var(--cote)}
.cp-testimonials .cp-eyebrow{margin-bottom:40px}
.cp-testimonials-list{display:grid;gap:56px}
.cp-testimonial{display:grid;grid-template-columns:120px minmax(0,1fr);gap:40px;max-width:1000px;margin:0}
.cp-testimonial::before{content:"“";font-size:180px;line-height:.75;font-weight:900;color:var(--accent);font-stretch:125%}
.cp-testimonial blockquote{margin:0;font-size:clamp(24px,2.6vw,34px);font-weight:600;font-stretch:108%;line-height:1.3;letter-spacing:-.015em}
.cp-testimonial figcaption{grid-column:2;margin-top:-16px;font-size:15px;color:var(--gris);display:flex;align-items:center;gap:12px}
.cp-testimonial-photo{width:44px;height:44px;border-radius:50%;object-fit:cover}

/* Formations */
.cp-courses{display:grid;gap:20px}
.cp-course{display:grid;grid-template-columns:200px minmax(0,1fr);background:var(--papier);border-radius:var(--rayon);overflow:hidden;text-decoration:none;transition:box-shadow .2s}
.cp-course:hover{box-shadow:0 0 0 2px var(--encre)}
.cp-course-visual{background:var(--bleu-clair);min-height:100%}
.cp-course-visual img{width:100%;height:100%;object-fit:cover}
.cp-course-body{padding:26px 28px;display:flex;flex-direction:column;gap:10px}
.cp-course-meta{display:flex;gap:8px;flex-wrap:wrap}
.cp-course-meta span{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--craie)}
.cp-course-meta span:first-child{background:var(--nuit);color:var(--accent)}
.cp-course-title{font-size:23px;font-weight:800;font-stretch:112%;line-height:1.15;letter-spacing:-.02em}
.cp-course-excerpt{color:var(--gris);font-size:15.5px}
.cp-course .cp-link-arrow{align-self:flex-start;font-size:15px;margin-top:4px}
.cp-courses--grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.cp-courses--grid .cp-course{grid-template-columns:1fr}
.cp-courses--grid .cp-course-visual{aspect-ratio:16/9}

/* Programme (page formation et espace étudiant) */
.cp-curriculum{margin-bottom:80px}
.cp-curriculum>h2{font-size:clamp(28px,3.2vw,42px);margin-bottom:24px}
.cp-modules{list-style:none;padding:0;display:grid;gap:12px}
.cp-module{background:var(--papier);border:1px solid var(--trait);border-radius:var(--rayon);overflow:hidden}
.cp-module>details>summary,.cp-module-head{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:16px;align-items:center;padding:20px 24px;list-style:none;cursor:pointer}
.cp-module>details>summary::-webkit-details-marker{display:none}
.cp-module-head h2{font-size:20px;font-stretch:110%}
.cp-module-head .cp-muted,.cp-module summary .cp-muted{display:block;font-size:14px;font-weight:400;margin-top:4px}
.cp-module-num{font-size:30px;font-weight:900;font-stretch:125%;letter-spacing:-.04em;line-height:1}
.cp-module-count{font-size:13px;font-weight:600;color:var(--gris)}
.cp-module.is-done .cp-module-num{color:var(--gris-clair)}
.cp-items{list-style:none;padding:0 24px 16px 96px;display:grid;gap:0}
.cp-item{border-top:1px solid #E7EDF6;padding:12px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center}
.cp-item>a{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;text-decoration:none;grid-column:1/-1}
.cp-item>a:hover .cp-item-title{text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:3px}
.cp-item-state{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--trait);display:grid;place-items:center;font-size:12px;font-weight:900}
.cp-item.is-done .cp-item-state{background:var(--accent);border-color:var(--accent)}
.cp-item-type{font-size:13px;color:var(--gris)}
.cp-item.is-exercise .cp-item-type{font-weight:700;color:var(--encre)}
.cp-preview{grid-column:1/-1}
.cp-preview summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--encre);display:inline-block;background:var(--accent);padding:3px 10px;border-radius:999px}
.cp-preview .cp-video{margin-top:14px}

/* Lead magnet */
.cp-magnet{background:var(--nuit);color:var(--papier);padding:96px var(--cote);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.cp-magnet--page{padding:0;background:none;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:start}
.cp-magnet-cover{display:flex;justify-content:center}
.cp-magnet-cover img{border-radius:12px;max-height:440px;width:auto;box-shadow:0 40px 80px -24px rgba(0,0,0,.8)}
.cp-book{width:min(300px,70%);aspect-ratio:3/4;background:var(--accent);color:var(--nuit);border-radius:6px 16px 16px 6px;padding:30px 26px;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:-14px 0 0 -6px var(--accent-fonce),0 40px 80px -24px rgba(0,0,0,.8);transform:rotate(-4deg)}
.cp-book b{font-size:13px;letter-spacing:.1em;text-transform:uppercase}
.cp-book strong{font-size:28px;font-weight:900;font-stretch:122%;line-height:1;letter-spacing:-.03em}
.cp-book span{font-size:13px;font-weight:600}
.cp-magnet .cp-eyebrow{color:var(--gris-clair);margin-bottom:20px}
.cp-magnet h2{font-size:clamp(30px,3.6vw,50px)}
.cp-magnet h1{font-size:clamp(38px,4.6vw,68px);font-weight:850;font-stretch:122%;letter-spacing:-.035em;line-height:1}
.cp-magnet-body>p:not(.cp-eyebrow){color:#C9D4E8;margin-top:16px;font-size:17.5px}
.cp-magnet-body .cp-checklist{margin-top:28px;color:#E4EBF6}
.cp-magnet .cp-form{margin-top:30px}
.cp-magnet-side{display:grid;gap:36px}
.cp-magnet-form .cp-form{margin-top:0;background:var(--charbon);border:1px solid var(--trait-nuit);border-radius:24px;padding:28px}

/* Landing page */
.cp-landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:start}
.cp-landing-hero .cp-eyebrow{color:var(--gris-clair);margin-bottom:22px}
.cp-landing-hero h1{font-size:clamp(38px,4.6vw,68px);font-weight:850;font-stretch:122%;letter-spacing:-.035em;line-height:1}
.cp-landing-hero .cp-checklist{margin-top:28px;color:#E4EBF6}
.cp-landing-visual{margin-top:36px;border-radius:var(--rayon);overflow:hidden;aspect-ratio:16/10}
.cp-landing-visual img{width:100%;height:100%;object-fit:cover}
.cp-landing-form{position:sticky;top:24px;scroll-margin-top:24px}
.cp-landing-form .cp-form{background:var(--papier);color:var(--encre);border-radius:24px;padding:32px;box-shadow:0 40px 80px -30px rgba(0,0,0,.6)}
.cp-landing-focus .entete .menu,.cp-landing-focus .entete-actions{display:none!important}
.cp-landing-focus .pied-haut{display:none}

/* Coordonnées */
.cp-contact-info dl{margin:0;display:grid;gap:14px}
.cp-contact-info dt{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-clair)}
.cp-contact-info dd{margin:2px 0 0}
.cp-contact-info a{text-decoration:none}
.cp-contact-info a:hover{text-decoration:underline;text-decoration-color:var(--accent)}
.cp-contact-info--cards dl{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.cp-contact-info--cards dl>div{background:var(--papier);border:1px solid var(--trait);border-radius:var(--rayon);padding:22px}
.cp-contact-info--cards dt{color:var(--gris)}
.cp-contact-info--cards dd{font-weight:700;font-size:18px}
.cp-social{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:18px;font-weight:600}
.cp-social a{text-decoration:none}

/* ==========================================================================
   9. Formulaires
   ========================================================================== */
.cp-form{display:grid;gap:16px}
.cp-form .cp-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.cp-form-title{font-size:22px;font-weight:800;font-stretch:112%;letter-spacing:-.02em;line-height:1.15}
.cp-form-intro{color:var(--gris)}
.cp-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cp-form--stacked .cp-form-fields{grid-template-columns:1fr}
.cp-form--inline .cp-form-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;gap:10px;align-items:end}
.cp-form--inline label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
.cp-field{margin:0;display:grid;gap:8px}
.cp-field--wide{grid-column:1/-1}
.cp-field label,.cp-field>span{font-size:14px;font-weight:600}
.cp-optional{font-weight:500;color:var(--gris)}
.cp-input{width:100%;min-height:54px;padding:0 18px;border-radius:12px;border:1.5px solid var(--trait);background:var(--papier);color:var(--encre);font:inherit;font-size:16px;transition:border-color .15s}
textarea.cp-input{min-height:130px;padding-top:14px;resize:vertical}
select.cp-input{appearance:none;background:var(--papier) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235C5C55' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center/18px;padding-right:44px}
.cp-input:focus{outline:none;border-color:var(--encre)}
.cp-input[aria-invalid="true"]{border-color:#C62828}
.cp-consent{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--gris)}
.cp-consent input{margin-top:3px;accent-color:var(--nuit);width:16px;height:16px;flex:none}
.cp-consent a{color:inherit}
.cp-form-actions{margin:0}
.cp-form-message{padding:14px 16px;border-radius:12px;font-weight:600}
.cp-form-message.is-ok{background:#E8F5E9;color:#1B5E20}
.cp-form-message.is-error{background:#FDECEA;color:#B71C1C}
.cp-download{display:inline-block;margin-left:6px;font-weight:800;color:inherit}
.cp-form.is-sent .cp-form-fields,.cp-form.is-sent .cp-consent,.cp-form.is-sent .cp-form-actions{opacity:.5}
/* Variante sombre */
.cp-form--dark .cp-field label{color:#DCE5F3}
.cp-form--dark .cp-input{background:var(--nuit-fonce);border-color:var(--nuit-trait);color:var(--papier)}
.cp-form--dark select.cp-input{background-color:var(--nuit-fonce);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A3A39A' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:18px}
.cp-form--dark .cp-input::placeholder{color:#8A98B5}
.cp-form--dark .cp-input:focus{border-color:var(--accent)}
.cp-form--dark .cp-consent,.cp-form--dark .cp-optional,.cp-form--dark .cp-form-intro{color:var(--gris-clair)}
.cp-form--dark .cp-consent input{accent-color:var(--accent)}
.final .cp-form,.cp-request .cp-form,.cp-enroll .cp-form{background:var(--charbon);border:1px solid var(--trait-nuit);border-radius:24px;padding:36px}
.cp-magnet .cp-form--inline .cp-input{background:var(--nuit-fonce);border-color:var(--nuit-trait)}

/* ==========================================================================
   10. Espace étudiant
   ========================================================================== */
.cp-student{max-width:var(--enveloppe);margin-inline:auto;padding-inline:var(--gouttiere)}
.cp-student-nav{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:40px;padding:6px;background:var(--papier);border:1px solid var(--trait);border-radius:999px;width:max-content;max-width:100%}
.cp-student-nav a{text-decoration:none;font-weight:600;font-size:15px;padding:9px 18px;border-radius:999px}
.cp-student-nav a[aria-current]{background:var(--nuit);color:var(--papier)}
.cp-student-head{margin-bottom:36px}
.cp-student-head .cp-eyebrow{margin-bottom:14px}
.cp-student-head h1{font-size:clamp(34px,4vw,56px);font-stretch:118%}
.cp-student-head .cp-progress-block{margin-top:22px}
.cp-student-head .cp-btn{margin-top:24px}
.cp-alert{padding:14px 18px;border-radius:12px;margin-bottom:24px;font-weight:600}
.cp-alert p+p{margin-top:6px}
.cp-alert--ok{background:#E8F5E9;color:#1B5E20}
.cp-alert--error{background:#FDECEA;color:#B71C1C}
.cp-auth{max-width:520px;margin:0 auto;background:var(--papier);border:1px solid var(--trait);border-radius:24px;padding:44px}
.cp-auth-title{font-size:clamp(30px,3.4vw,42px);font-stretch:118%;margin-bottom:12px}
.cp-auth-intro{color:var(--gris);margin-bottom:28px}
.cp-auth-form{display:grid;gap:16px}
.cp-auth-form--grid{grid-template-columns:1fr 1fr}
.cp-auth-form .cp-btn{width:100%}
.cp-auth-links{margin-top:22px;font-size:15px;color:var(--gris)}
.cp-auth-links a{color:var(--encre);font-weight:600}
.cp-check{display:flex;gap:8px;align-items:center;font-size:14.5px}
.cp-fieldset{border:1px solid var(--trait);border-radius:var(--rayon);padding:20px 22px 22px;display:grid;gap:14px;margin:0}
.cp-fieldset legend{font-weight:700;padding:0 6px}
.cp-profile-form{max-width:760px}
.cp-empty{background:var(--papier);border:1px solid var(--trait);border-radius:24px;padding:48px;max-width:760px}
.cp-empty h1,.cp-empty h2{font-size:clamp(26px,3vw,40px);margin-bottom:14px;font-stretch:115%}
.cp-empty p{color:var(--gris);margin-bottom:22px}
.cp-empty .cp-eyebrow{margin-bottom:14px}
.cp-progress{display:inline-block;width:160px;height:8px;border-radius:99px;background:var(--trait);vertical-align:middle;overflow:hidden}
.cp-progress i{display:block;height:100%;background:var(--nuit);border-radius:99px}
.cp-progress-block{display:flex;align-items:center;gap:12px}
.cp-progress-block .cp-progress{flex:1;max-width:280px}
.cp-progress-block--lg .cp-progress{height:10px;max-width:420px}
.cp-course-cards{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}
.cp-course-card{background:var(--papier);border:1px solid var(--trait);border-radius:var(--rayon);overflow:hidden;display:flex;flex-direction:column}
.cp-course-card-visual{display:block;aspect-ratio:16/9;background:var(--nuit) linear-gradient(135deg,var(--charbon),var(--nuit))}
.cp-course-card-visual img{width:100%;height:100%;object-fit:cover}
.cp-course-card-body{padding:24px 26px 28px;display:flex;flex-direction:column;gap:12px;flex:1}
.cp-course-card-meta{font-size:13px;color:var(--gris);font-weight:600}
.cp-course-card h2{font-size:24px;font-stretch:112%;line-height:1.12}
.cp-course-card h2 a{text-decoration:none}
.cp-course-card .cp-btn{align-self:flex-start;margin-top:auto}
.cp-next-label{font-size:13.5px;color:var(--gris)}
.cp-done-badge{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;background:var(--accent);color:var(--nuit);border-radius:999px;padding:5px 14px;width:max-content}
.cp-done-badge::before{content:"✓"}

/* Lecteur de leçon */
.cp-player{display:grid;grid-template-columns:300px minmax(0,1fr);gap:48px;align-items:start}
.cp-player-outline{position:sticky;top:24px;background:var(--papier);border:1px solid var(--trait);border-radius:var(--rayon);padding:22px;max-height:calc(100vh - 48px);overflow:auto}
.cp-player-outline .cp-eyebrow{margin-bottom:12px;font-size:12px}
.cp-player-outline .cp-progress-block{margin-bottom:16px}
.cp-outline-toggle summary{cursor:pointer;font-weight:700;margin-bottom:10px}
.cp-outline{list-style:none;padding:0;display:grid;gap:14px;font-size:14.5px}
.cp-outline-module{display:block;font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--gris);margin-bottom:6px}
.cp-outline ul{list-style:none;padding:0;display:grid;gap:2px}
.cp-outline a{display:flex;gap:8px;text-decoration:none;padding:6px 8px;border-radius:8px}
.cp-outline a:hover{background:var(--craie)}
.cp-outline .is-current a{background:var(--nuit);color:var(--papier)}
.cp-outline .is-done a span{color:var(--bleu)}
.cp-outline .is-current.is-done a span{color:var(--accent)}
.cp-player-main .cp-eyebrow{margin-bottom:14px}
.cp-player-main h1{font-size:clamp(30px,3.6vw,48px);font-stretch:115%;margin-bottom:28px}
.cp-video{position:relative;aspect-ratio:16/9;border-radius:var(--rayon);overflow:hidden;background:var(--nuit);margin-bottom:32px}
.cp-video iframe,.cp-video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.cp-video>p{padding:24px;color:var(--papier)}
.cp-lesson-content{font-size:18px;line-height:1.7;max-width:760px}
.cp-lesson-content>*+*{margin-top:1em}
.cp-lesson-content ul{list-style:disc;padding-left:1.2em}
.cp-lesson-content ol{list-style:decimal;padding-left:1.2em}
.cp-resources,.cp-exercise{margin-top:40px;background:var(--papier);border:1px solid var(--trait);border-radius:var(--rayon);padding:24px 28px;max-width:760px}
.cp-resources h2,.cp-exercise h2{font-size:20px;margin-bottom:14px}
.cp-resources ul{list-style:none;padding:0;display:grid;gap:8px}
.cp-resources a{font-weight:600}
.cp-resources a::before{content:"↓ ";color:var(--gris)}
.cp-exercise form{display:grid;gap:14px}
.cp-feedback{background:var(--accent-clair);border-radius:12px;padding:14px 18px;margin-bottom:18px}
.cp-player-foot{margin-top:44px;padding-top:28px;border-top:1px solid var(--trait);display:flex;flex-wrap:wrap;justify-content:space-between;gap:20px;align-items:center;max-width:760px}
.cp-complete-form{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.cp-player-nav{display:flex;gap:24px;flex-wrap:wrap;font-weight:600}
.cp-player-nav a{text-decoration:none}
.cp-player-nav a:hover{text-decoration:underline}
/* La page de l'espace étudiant : bande sombre réduite (lisibilité de l'en-tête), contenu sur fond craie */
.bande-titre.bande-espace{padding:128px 0 40px}
.page-corps.page-espace{padding-top:56px}

/* ==========================================================================
   10 bis. Catégories de services, catalogues de publicité, demande de pub
   ========================================================================== */
/* Section qui suit le héros : la carte « publicité » du héros déborde de 110 px, on lui laisse la place. */
.section.valeur-cat{padding-top:200px}

/* Deux grandes cartes : Piblisite / Kreyasyon vizyèl */
.cartes-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.carte-categorie{position:relative;display:flex;flex-direction:column;gap:14px;padding:36px;border-radius:24px;background:var(--papier);border:1px solid var(--trait);min-height:280px}
.carte-categorie h2,.carte-categorie h3{font-size:clamp(28px,3vw,40px);font-stretch:118%}
.carte-categorie p{color:var(--gris);font-size:17px;max-width:46ch}
.carte-categorie .wp-block-buttons{margin-top:auto;padding-top:12px}
.carte-categorie.carte--bleu{background:var(--bleu);border-color:var(--bleu);color:var(--papier)}
.carte-categorie.carte--bleu p{color:var(--bleu-texte)}
.carte-categorie .etiquette{color:inherit;opacity:.85}
.carte-categorie.carte--bleu .etiquette::before{background:var(--accent)}
.sur-nuit .carte-categorie:not(.carte--bleu){background:var(--charbon);border-color:var(--trait-nuit)}
.sur-nuit .carte-categorie:not(.carte--bleu) p{color:var(--gris-clair)}

/* Trois étapes simples (accueil) */
.trois-etapes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;counter-reset:pas3;margin-top:40px}
.trois-etapes>*{counter-increment:pas3;background:var(--papier);border:1px solid var(--trait);border-radius:var(--rayon);padding:26px}
.trois-etapes>*::before{content:counter(pas3);display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--bleu);color:var(--papier);font-weight:800;margin-bottom:16px}
.trois-etapes h3{font-size:21px;margin-bottom:8px}
.trois-etapes p{color:var(--gris);font-size:16px}

/* Bande « Espace étudiant » : couleur distincte */
.bande-etudiant{background:var(--accent);color:var(--nuit);padding:56px 0}
.bande-etudiant .enveloppe{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 40px}
.bande-etudiant h2{font-size:clamp(26px,3vw,38px);font-stretch:115%}
.bande-etudiant p{margin-top:8px;max-width:56ch}
.bande-etudiant .wp-block-button .wp-block-button__link{background:var(--nuit);color:var(--papier)}

/* Choix du catalogue */
.cp-catalog-choice{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
.cp-catalog-card{display:flex;flex-direction:column;background:var(--papier);border:1px solid var(--trait);border-radius:24px;overflow:hidden;text-decoration:none;transition:box-shadow .2s,transform .2s}
.cp-catalog-card:hover{box-shadow:0 0 0 2px var(--bleu);transform:translateY(-2px)}
.cp-catalog-card-visual{display:block;aspect-ratio:16/9;background:var(--bleu-clair)}
.cp-catalog-card-visual img{width:100%;height:100%;object-fit:cover}
.cp-catalog-card-body{display:flex;flex-direction:column;gap:10px;padding:28px}
.cp-catalog-card-platform{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bleu)}
.cp-catalog-card-title{font-size:clamp(24px,2.6vw,32px);font-weight:800;font-stretch:115%;line-height:1.1;letter-spacing:-.02em}
.cp-catalog-card-text{color:var(--gris)}
.cp-catalog-card .cp-link-arrow{align-self:flex-start;margin-top:6px}
.cp-catalog-card--tiktok .cp-catalog-card-platform{color:var(--nuit)}

/* Galerie d'affiches */
.cp-ad-gallery{padding:24px 0 8px}
.cp-ad-gallery h2{font-size:clamp(26px,3vw,38px);margin-bottom:24px}
.cp-ad-gallery-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
.cp-ad-gallery-grid a{display:block;border-radius:var(--rayon-s);overflow:hidden;background:var(--bleu-clair);box-shadow:0 0 0 1px var(--trait)}
.cp-ad-gallery-grid img{width:100%;height:auto;transition:transform .3s}
.cp-ad-gallery-grid a:hover img{transform:scale(1.02)}
.cp-ad-gallery-caption{font-size:14px;color:var(--gris);margin-top:8px}
.cp-ad-gallery-cta{margin-top:28px}

/* Section du formulaire de demande */
.section-demande{background:var(--bleu-clair);padding:90px 0 110px;scroll-margin-top:20px}
.section-demande .enveloppe{max-width:880px}
.section-demande .titre-section{text-align:left}

/* Formulaire de demande de publicité */
.cp-form--ad{background:var(--papier);border:1px solid var(--trait);border-radius:24px;padding:36px;gap:24px}
.cp-form--ad .cp-form-title{font-size:clamp(24px,2.6vw,32px)}
.cp-ad-step{border:0;padding:0;margin:0;display:grid;gap:16px}
.cp-ad-step legend{display:flex;align-items:center;gap:10px;font-weight:800;font-size:19px;margin-bottom:14px;padding:0}
.cp-ad-num{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--bleu);color:var(--papier);font-size:15px;flex:none}
.cp-ad-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cp-ad-objectives{gap:10px}
.cp-choice{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1.5px solid var(--trait);border-radius:12px;cursor:pointer;font-weight:600;transition:border-color .15s,background-color .15s}
.cp-choice input{width:20px;height:20px;accent-color:var(--bleu);flex:none;margin:0}
.cp-choice:hover{border-color:var(--bleu)}
.cp-choice:has(input:checked){border-color:var(--bleu);background:var(--bleu-clair)}
.cp-ad-calc{background:var(--nuit);color:var(--papier);border-radius:18px;padding:24px 26px;display:grid;gap:14px}
.cp-ad-calc-title{font-weight:800;font-size:17px}
.cp-ad-figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0}
.cp-ad-figures>div{background:rgba(255,255,255,.07);border-radius:12px;padding:12px 14px}
.cp-ad-figures dt{font-size:12.5px;color:var(--gris-clair);margin-bottom:4px}
.cp-ad-figures dd{margin:0;font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
.cp-ad-figures .is-total{background:var(--accent);color:var(--nuit)}
.cp-ad-figures .is-total dt{color:var(--nuit)}
.cp-ad-estimates{border-top:1px solid var(--trait-nuit);padding-top:14px;display:grid;gap:10px}
.cp-ad-results{list-style:none;padding:0;display:grid;gap:8px}
.cp-ad-results li{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:10px 14px;border-radius:10px;background:rgba(255,255,255,.07)}
.cp-ad-results strong{color:var(--accent);font-variant-numeric:tabular-nums}
.cp-ad-calc .cp-muted{color:var(--gris-clair)}
.cp-note{font-size:13.5px;line-height:1.5;color:var(--gris)}
.cp-ad-calc .cp-note{color:var(--gris-clair)}
/* Fond sur une boîte intérieure : le titre (legend) d'un fieldset se poserait sinon sur sa bordure. */
.cp-ad-access-box{background:var(--bleu-clair);border-radius:18px;padding:24px 26px;display:grid;gap:14px}
.cp-ad-access-box>p{color:var(--encre)}
.cp-ad-howto{padding-left:1.3em;display:grid;gap:8px;margin:4px 0}
.cp-ad-id{font-family:ui-monospace,Consolas,monospace;background:var(--papier);padding:2px 8px;border-radius:6px}
.cp-ad-buttons{display:flex;flex-wrap:wrap;gap:12px}
.cp-btn.cp-btn--secondary{background:var(--papier);color:var(--bleu);box-shadow:inset 0 0 0 1.5px var(--bleu)}
.cp-btn.cp-btn--secondary:hover{background:var(--bleu);color:var(--papier)}
.cp-btn.cp-btn--secondary::after{content:"↗"}
.cp-consent--strong{color:var(--encre);font-size:15px;font-weight:600}
.cp-ad-after{display:grid;gap:10px;justify-items:start;background:#E8FBEF;border-radius:16px;padding:20px 22px}
.cp-ad-after[hidden]{display:none} /* Bloc « après l'envoi » : invisible tant que la demande n'est pas partie. */
.cp-btn.cp-btn--whatsapp{background:#25D366;color:var(--nuit)}
.cp-btn.cp-btn--whatsapp:hover{background:#4BE083}
.cp-btn.cp-btn--whatsapp::after{content:"↗"}

/* Bandeau de consentement (option) */
.cp-consent-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:560px;margin:0 auto;background:var(--nuit);color:var(--papier);border-radius:18px;padding:18px 20px;box-shadow:0 20px 50px -10px rgba(var(--nuit-rgb),.5);display:grid;gap:12px}
.cp-consent-banner[hidden]{display:none}
.cp-consent-actions{display:flex;gap:16px;align-items:center}
.cp-consent-banner .cp-link-btn{color:var(--gris-clair)}

/* ==========================================================================
   11. Pied de page
   ========================================================================== */
.pied{background:var(--nuit);color:var(--papier);padding:30px 0 40px;border-top:1px solid var(--trait-nuit);position:relative;overflow:hidden}
.pied::after{content:"Crazy Prospects";display:block;max-width:var(--enveloppe);margin:44px auto 0;padding:0 var(--gouttiere);font-size:min(8.1vw,118px);font-weight:900;font-stretch:125%;
  letter-spacing:-.05em;line-height:.85;color:transparent;-webkit-text-stroke:1px var(--nuit-trait);white-space:nowrap;overflow:hidden;pointer-events:none}
.pied-haut{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px;padding:60px 0 70px}
.pied-titre{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-clair);font-stretch:100%;margin-bottom:18px}
.pied-accroche{margin-top:18px;color:var(--gris-clair);max-width:340px;font-size:15.5px}
.wp-block-navigation.pied-menu{gap:10px;font-size:16px}
.wp-block-navigation.pied-menu .wp-block-navigation__container{gap:10px}
.wp-block-navigation.pied-menu .wp-block-navigation-item__content{text-decoration:none;opacity:.9}
.wp-block-navigation.pied-menu .wp-block-navigation-item__content:hover{color:var(--accent);opacity:1}
.pied-bas{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--trait-nuit);font-size:13.5px;color:var(--gris-clair)}
.pied-bas a{text-decoration:none}
.pied-bas a:hover{text-decoration:underline}
.pied .cp-contact-info a{color:var(--papier)}
.pied--minimal::after{display:none}

/* ==========================================================================
   12. Adaptatif
   ========================================================================== */
@media (max-width:1100px){
  .wp-block-navigation.menu,.wp-block-navigation.menu .wp-block-navigation__container{gap:20px}
  .entete-actions .lien-discret{display:none}
}
@media (max-width:980px){
  /* Bannière avec image : une colonne, l'image sous le texte. */
  .bande-titre .enveloppe:has(>.bande-image){grid-template-columns:minmax(0,1fr)}
  .bande-titre .enveloppe>.bande-image{grid-column:1;grid-row:auto;justify-self:start;margin-top:36px}
  .bande-titre .bande-image img{max-height:340px}
  /* Menu en panneau plein écran sous 980 px (le bloc Navigation bascule nativement à 600 px). */
  .wp-block-navigation.menu .wp-block-navigation__responsive-container-open{display:flex!important}
  .wp-block-navigation.menu .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
  /* Double classe : la feuille du bloc Boutons (chargée après le thème) remet display:flex sur .wp-block-buttons. */
  .entete-actions .entete-cta,.entete-actions .entete-etudiant{display:none}
  .cartes-categories,.trois-etapes{grid-template-columns:1fr}
  .section.valeur-cat{padding-top:220px}
  .cp-ad-figures{grid-template-columns:repeat(2,minmax(0,1fr))}
  .entete-rangee{gap:12px}
  /* Enfant direct seulement : le bloc Navigation recopie sa classe sur la liste intérieure. */
  .entete-rangee>.wp-block-navigation.menu{margin-left:auto}
  .heros-grille,.bascule-tete,.methode-grille,.formations-grille,.final-grille,.catalogue-boite,.cp-cases-grid,.cp-magnet,.cp-page-hero,.cp-landing-hero,.cp-split,.cp-request,.cp-enroll,.deux-colonnes,.cp-player{grid-template-columns:1fr}
  .heros-grille{margin-top:36px;gap:40px}
  .heros-texte{padding-bottom:0}
  .scene{padding-left:0;margin-bottom:-90px}
  .pub{left:-6px;top:auto;bottom:-70px;width:220px}
  .notif{right:-6px}
  .valeur{padding-top:210px}
  .bascule-tete p{justify-self:start}
  .methode h2{position:static}
  .cp-service-row{grid-template-columns:44px minmax(0,1fr);gap:8px 16px}
  .cp-service-excerpt{grid-column:2}
  .cp-service-thumb{display:none}
  .cp-services--grid .cp-service-row{grid-template-columns:1fr}
  .cp-services--grid .cp-service-thumb{display:block}
  .cp-case-grid{grid-template-columns:1fr}
  .cp-landing-form,.cp-player-outline{position:static;max-height:none}
  .pied-haut{grid-template-columns:1fr 1fr}
  .pied-marque{grid-column:1/-1}
  .cp-request,.cp-enroll{padding:36px}
}
@media (max-width:720px){
  body{font-size:16px}
  .heros{padding-top:120px}
  .heros-chapeau{font-size:17px}
  .scene .scene-photo{aspect-ratio:4/5}
  .pub{width:190px;padding:10px;border-radius:16px}
  .pub-texte{font-size:12.5px;padding:8px 2px}
  .pub-cta{font-size:11px;padding:8px 10px}
  .notif{width:min(250px,76%);top:-22px}
  .valeur{padding:190px 0 80px}
  .piliers{grid-template-columns:1fr;margin-top:48px}
  .pilier,.pilier+.pilier{padding:24px 0;border-left:0;border-bottom:1px solid var(--trait)}
  .bascule,.services,.methode,.formations-bloc,.final,.section{padding:88px 0}
  .cp-cases,.cp-testimonials{padding-block:88px}
  .tableau-bascule .entetes{display:none}
  .tableau-bascule .ligne{grid-template-columns:32px minmax(0,1fr);gap:8px 12px}
  .ligne .apres{grid-column:2}
  .ligne .avant,.ligne .apres{font-size:17px}
  .section-tete,.cp-section-head{flex-direction:column;align-items:flex-start}
  .cp-case-detail{grid-template-columns:1fr}
  .cp-cases-stack .cp-case{flex-direction:column}
  .cp-cases-stack .cp-case-visual{width:100%;aspect-ratio:16/10}
  .etapes li{grid-template-columns:64px minmax(0,1fr)}
  .etapes li::before{font-size:38px}
  .cp-course{grid-template-columns:1fr}
  .cp-course-visual{aspect-ratio:16/9}
  .cp-form-fields,.cp-form--inline .cp-form-fields,.cp-auth-form--grid{grid-template-columns:1fr}
  .final .cp-form,.cp-request .cp-form,.cp-enroll .cp-form,.cp-landing-form .cp-form,.cp-magnet-form .cp-form{padding:22px}
  .cp-request,.cp-enroll{padding:26px;border-radius:22px}
  .carte-formulaire{padding:22px}
  .cp-ad-pair{grid-template-columns:1fr}
  .cp-form--ad{padding:22px 18px}
  .cp-ad-calc,.cp-ad-access-box{padding:18px}
  .carte-categorie{padding:26px;min-height:0}
  .section-demande{padding:64px 0 80px}
  .cp-testimonial{grid-template-columns:1fr;gap:0}
  .cp-testimonial::before{font-size:120px;height:70px}
  .cp-testimonial figcaption{grid-column:1;margin-top:16px}
  .pied-haut{grid-template-columns:1fr}
  .wp-block-button .wp-block-button__link,.cp-btn{white-space:normal;text-align:center}
  .cp-auth{padding:28px 22px}
  .cp-items{padding:0 16px 12px}
  .cp-module>details>summary,.cp-module-head{grid-template-columns:40px minmax(0,1fr);padding:16px}
  .cp-module-count{grid-column:2}
  .cp-module-num{font-size:24px}
  .bande-titre{padding:140px 0 70px}
  .fiche-haut{padding:130px 0 70px}
  .cp-empty,.cp-empty-state{padding:28px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* v1.3 — bouton WhatsApp d'assistance, groupes WhatsApp, contact après l'envoi d'un formulaire */
.cp-wa-cta{display:grid;gap:8px;justify-items:start;margin-top:22px}
.sur-nuit .cp-wa-cta .cp-note{color:var(--gris-clair)}
.cp-wa-groups{margin-top:18px}
.cp-wa-groups-title{margin:0;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-clair)}
.cp-wa-groups .cp-social{margin-top:8px}
.cp-form-after{margin-top:14px;color:var(--nuit)}
.cp-form-after .cp-note{color:var(--gris)}

/* v1.4 — Sant Èd : tutoriels vidéo (cartes du catalogue, recherche, lecture dans la carte) */
.cp-tuto-tools{display:grid;gap:18px;margin-bottom:36px}
.cp-tuto-tools .cp-filter-bar{margin-bottom:0}
.cp-tuto-search{max-width:520px}
.cp-tuto-search .cp-input{padding-left:50px;background:var(--papier) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2353607A' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 18px center/20px}
.cp-tuto-grid{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}
.cp-tuto-media{position:relative;aspect-ratio:16/9;background:var(--nuit);overflow:hidden}
.cp-tuto-play{display:block;width:100%;height:100%}
.cp-tuto-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cp-tuto:hover .cp-tuto-media img{transform:scale(1.03)}
.cp-tuto-play-icon{position:absolute;left:50%;top:50%;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:var(--signal);box-shadow:0 10px 30px -8px rgba(var(--nuit-rgb),.6);transition:transform .15s,background-color .15s}
.cp-tuto-play-icon::before{content:"";position:absolute;left:27px;top:22px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent var(--nuit)}
.cp-tuto-play:hover .cp-tuto-play-icon{transform:scale(1.08);background:var(--signal-survol)}
.cp-tuto-media iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cp-catalogue-body .cp-tuto-link{margin-top:auto}
.cp-tuto-empty{margin-top:24px;color:var(--gris)}
.cp-tuto-empty[hidden]{display:none}
.cp-form-after-title{margin:0;font-weight:700}
.cp-form-after-email{margin:0}
.cp-form-after-email a{color:var(--nuit);font-weight:600}

/* v1.5 — Formations : programme en carrousels (modules, leçons), images facultatives, aperçu gratuit.
   Défilement natif (doigt, pavé tactile, clavier) ; flèches ajoutées par front.js sur ordinateur. */
.cp-programme-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 24px;margin-bottom:32px}
.cp-programme-head h2{font-size:clamp(28px,3.2vw,42px)}
.cp-programme-head .cp-muted{font-weight:600}
.cp-carousel{margin-bottom:48px;scroll-margin-top:110px}
.cp-carousel:last-of-type{margin-bottom:0}
.cp-carousel-bar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}
.cp-carousel-title{font-size:clamp(20px,2vw,26px);font-stretch:112%}
.cp-carousel-heading{display:flex;gap:16px;align-items:center;min-width:0}
.cp-carousel-heading .cp-muted{font-size:15px;margin-top:6px;line-height:1.45}
.cp-carousel-num{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--nuit);color:var(--accent);font-size:18px;font-weight:900;font-stretch:125%;letter-spacing:-.02em}
.cp-carousel-nav{display:flex;gap:8px;flex:none}
.cp-carousel-nav[hidden]{display:none}
.cp-carousel-btn{display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;border:1.5px solid var(--trait);background:var(--papier);color:var(--nuit);cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.cp-carousel-btn svg{width:20px;height:20px}
.cp-carousel-btn:hover:not(:disabled){background:var(--nuit);border-color:var(--nuit);color:var(--papier)}
.cp-carousel-btn:disabled{opacity:.35;cursor:default}
.cp-carousel-track{display:flex;gap:20px;margin:0;padding:4px 2px 16px;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:2px;scrollbar-width:thin;scrollbar-color:var(--gris-clair) transparent}
.cp-carousel-slide{flex:0 0 clamp(250px,31%,360px);min-width:0;display:flex;scroll-snap-align:start}
.cp-carousel--lessons .cp-carousel-slide{flex-basis:clamp(230px,23.6%,290px)}
.cp-carousel-empty{padding-bottom:8px}

.cp-mcard,.cp-lcard{display:flex;flex-direction:column;width:100%;background:var(--papier);border:1px solid var(--trait);border-radius:var(--rayon);overflow:hidden;text-decoration:none;color:var(--encre);transition:transform .2s,box-shadow .2s,border-color .2s}
.cp-mcard:hover{transform:translateY(-3px);border-color:var(--gris-clair);box-shadow:0 18px 40px -24px rgba(var(--nuit-rgb),.45)}
.cp-card-media{position:relative;display:block;aspect-ratio:16/10;background:var(--nuit);overflow:hidden}
.cp-lcard .cp-card-media{aspect-ratio:16/9}
.cp-card-media img{width:100%;height:100%;object-fit:cover}
/* Carte sans image : numéro sur fond marine, filets du site, touche orange. */
.cp-card-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:2px;padding:18px 20px;color:var(--papier);
  background:radial-gradient(120% 90% at 100% 0%,rgba(var(--bleu-rgb),.8) 0%,transparent 62%),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 48px),linear-gradient(150deg,var(--charbon) 0%,var(--nuit) 72%)}
.cp-card-fallback::before{content:"";position:absolute;left:20px;top:20px;width:36px;height:4px;border-radius:4px;background:var(--signal)}
.cp-card-fallback-label{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.cp-card-fallback-num{font-size:clamp(44px,4.6vw,62px);font-weight:900;font-stretch:125%;letter-spacing:-.04em;line-height:.95}
.cp-lcard.is-exercise .cp-card-fallback{background:radial-gradient(120% 90% at 100% 0%,rgba(var(--accent-rgb),.38) 0%,transparent 62%),repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 1px,transparent 1px 48px),linear-gradient(150deg,var(--fumee) 0%,var(--nuit) 75%)}
.cp-card-body{display:flex;flex-direction:column;gap:6px;flex:1;padding:18px 20px 20px}
.cp-card-eyebrow{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--bleu)}
.cp-card-title{font-size:18px;font-weight:800;font-stretch:110%;letter-spacing:-.015em;line-height:1.2}
.cp-lcard .cp-card-title{font-size:16.5px}
.cp-card-text{font-size:14.5px;line-height:1.5;color:var(--gris)}
.cp-card-meta{display:flex;flex-wrap:wrap;gap:2px 8px;margin:0;font-size:13px;font-weight:600;color:var(--gris)}
.cp-card-meta span+span::before{content:"•";margin-right:8px;color:var(--gris-clair)}
.cp-mcard .cp-card-meta{margin-top:auto;padding-top:8px}

.cp-lcard-badge{position:absolute;top:12px;right:12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.2}
.cp-lcard-badge--free{background:var(--accent);color:var(--nuit)}
.cp-lcard-badge--lock{width:32px;height:32px;padding:0;background:rgba(var(--nuit-rgb),.75);color:var(--papier)}
.cp-lcard-badge svg,.cp-lcard-lock svg{width:15px;height:15px}
.cp-lcard-action{margin-top:auto;padding-top:10px;font-size:14px;font-weight:700}
.cp-lcard-lock{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--gris)}
.cp-lcard-play{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--signal);color:var(--nuit);text-decoration:none;transition:background-color .15s}
.cp-lcard-play:hover{background:var(--signal-survol)}
.cp-lcard-play svg{width:16px;height:16px}

.cp-dialog{width:min(920px,calc(100% - 32px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);padding:0;border:0;border-radius:22px;background:var(--papier);color:var(--encre);box-shadow:0 30px 80px -20px rgba(var(--nuit-rgb),.6);overflow:hidden}
.cp-dialog::backdrop{background:rgba(var(--nuit-rgb),.72)}
.cp-dialog-box{display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px)}
.cp-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--trait)}
.cp-dialog-head h3{font-size:20px;line-height:1.2}
.cp-dialog-close{flex:none;width:40px;height:40px;padding:0;border-radius:50%;border:1.5px solid var(--trait);background:var(--papier);color:var(--nuit);font-size:24px;line-height:1;cursor:pointer}
.cp-dialog-close:hover{background:var(--nuit);border-color:var(--nuit);color:var(--papier)}
.cp-dialog-body{padding:22px;overflow:auto}
.cp-dialog-body .cp-video{margin-bottom:20px}

@media (max-width:720px){
  /* Bord à bord sur mobile : la carte suivante dépasse, invitation à faire glisser. */
  .cp-carousel-track{gap:14px;margin-inline:calc(var(--gouttiere) * -1);padding-inline:var(--gouttiere);scroll-padding-inline:var(--gouttiere)}
  .cp-carousel-slide{flex-basis:78%}
  .cp-carousel--lessons .cp-carousel-slide{flex-basis:72%}
  .cp-carousel-num{width:40px;height:40px;border-radius:12px;font-size:15px}
  .cp-dialog-body{padding:16px}
}
/* Écrans tactiles : glissement au doigt, sans flèches. */
@media (hover:none) and (pointer:coarse){.cp-carousel-nav{display:none}}

/* v1.6 — Page de vente d'une formation : fond bleu nuit uniforme, contenu à gauche, carte de l'offre à droite
   (reste visible pendant la lecture), sections séparées par des filets, programme en liste, prix et inscription. */
.cp-vente{--v-texte:#C6D2E6;--v-doux:#93A3C2;--v-carte:var(--nuit-carte);--v-trait:rgba(255,255,255,.09);--v-trait-fort:rgba(255,255,255,.15);
  position:relative;background:var(--nuit);color:var(--v-texte);padding:136px 0 0}
.cp-vente::before{content:"";position:absolute;inset:0 0 auto 0;height:860px;pointer-events:none;
  background:radial-gradient(60% 70% at 88% 0%,rgba(var(--bleu-rgb),.42) 0%,transparent 70%),radial-gradient(40% 50% at 0% 0%,rgba(var(--accent-rgb),.06) 0%,transparent 70%)}
.cp-vente :focus-visible{outline-color:var(--accent)}
.cp-vente-grille{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 370px;grid-template-areas:"hero offre" "corps offre";column-gap:clamp(40px,5vw,72px);align-items:start}
.cp-vente-hero{grid-area:hero;min-width:0;padding-bottom:48px;border-bottom:1px solid var(--v-trait)}
.cp-vente-offre{grid-area:offre;align-self:start;min-width:0}
/* La carte reste visible pendant la lecture seulement si elle tient entièrement à l'écran. */
@media (min-width:1025px) and (min-height:940px){.cp-vente-offre{position:sticky;top:24px}}
/* Espacement par padding : WordPress annule la marge haute du premier bloc d'un groupe. */
.cp-vente-corps{grid-area:corps;min-width:0;padding:40px 0 16px}
.cp-ico{width:18px;height:18px;flex:none}

/* Premier écran */
.cp-vente-surtitre{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 10px;margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);text-align:center}
.cp-vente-surtitre a{color:inherit;text-decoration:none}
.cp-vente-surtitre span::before{content:"·";margin-right:10px;color:var(--v-doux)}
.cp-vente-titre{max-width:700px;margin:0 auto;text-align:center;color:var(--papier);font-size:clamp(34px,4.1vw,54px);font-weight:850;font-stretch:118%;line-height:1.05;letter-spacing:-.03em}
.cp-vente-lead{margin-top:28px;font-size:18px;line-height:1.7}
.cp-vente-lead--suite{margin-top:14px;font-size:16.5px}
.cp-vente-reperes{list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px;margin:26px 0 0;padding:0;font-size:14px;color:var(--v-doux)}
.cp-vente-reperes li{display:inline-flex;align-items:center;gap:8px}
.cp-vente-reperes .cp-ico{color:var(--accent)}

/* Carte de l'offre */
.cp-offre{display:grid;gap:14px}
.cp-offre-couverture{position:relative;margin:0;aspect-ratio:16/10;border-radius:18px;overflow:hidden;background:linear-gradient(150deg,var(--charbon),var(--nuit-profond));border:1px solid var(--v-trait)}
.cp-offre-couverture img{width:100%;height:100%;object-fit:cover}
/* Image presque carrée (logo) : montrée entière, centrée, jamais rognée. */
.cp-offre-couverture.is-contain img{position:absolute;inset:18px;width:calc(100% - 36px);height:calc(100% - 36px);object-fit:contain}
.cp-offre-couverture-texte{display:grid;place-items:center;height:100%;font-size:22px;font-weight:800;color:var(--papier)}
.cp-offre-carte{padding:22px;background:var(--v-carte);border:1px solid var(--v-trait-fort);border-radius:18px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.cp-offre-note{margin-top:8px;font-size:13.5px;color:var(--v-doux)}
.cp-offre .cp-offre-cta{width:100%;margin-top:18px}
.cp-offre-mention{margin-top:10px;font-size:12.5px;text-align:center;color:var(--v-doux)}
.cp-offre-liste{list-style:none;display:grid;gap:11px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--v-trait);font-size:14px}
.cp-offre-liste li{display:flex;align-items:center;gap:10px}
.cp-offre-liste .cp-ico,.cp-offre-acces .cp-ico{color:var(--accent)}
.cp-offre-acces{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--papier)}
.cp-offre-apercus{margin-top:18px;padding-top:16px;border-top:1px solid var(--v-trait)}
.cp-offre-apercus-titre{display:flex;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:700;color:var(--papier)}
.cp-offre-apercus-titre .cp-ico{width:14px;height:14px;color:var(--signal)}
.cp-offre-apercus ul{list-style:none;display:grid;gap:8px;margin:0;padding:0}
.cp-offre-apercu{display:flex;align-items:center;gap:12px;padding:8px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--v-trait);color:var(--papier);text-decoration:none;transition:background-color .15s}
.cp-offre-apercu:hover{background:rgba(255,255,255,.08)}
.cp-offre-apercu-titre{font-size:13.5px;font-weight:600;line-height:1.3}

/* Miniature (programme, aperçus) : l'image de la leçon, sinon une vignette sobre aux couleurs du site. */
.cp-mini{position:relative;flex:none;display:grid;place-items:center;width:84px;aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:linear-gradient(150deg,var(--fumee),var(--charbon));color:var(--gris-clair)}
.cp-mini img{width:100%;height:100%;object-fit:cover}
.cp-mini>.cp-ico{width:22px;height:22px}
.cp-mini-play{position:absolute;left:6px;bottom:6px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--signal);color:var(--nuit)}
.cp-mini-play .cp-ico{width:11px;height:11px}
.cp-offre-apercu .cp-mini{width:72px}

/* Prix (promotion : ancien prix barré, réduction) — même composant partout */
.cp-prix{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;line-height:1.1}
.cp-prix-actuel{font-weight:850;font-stretch:112%;letter-spacing:-.02em;color:var(--papier)}
.cp-prix-promo{display:inline-flex;align-items:baseline;gap:10px;white-space:nowrap}
.cp-prix-ancien{font-weight:600;color:var(--v-doux,var(--gris));text-decoration:line-through;text-decoration-thickness:2px}
.cp-prix-remise{align-self:center;padding:4px 9px;border-radius:999px;background:var(--signal);color:var(--nuit);font-size:12.5px;font-weight:800;letter-spacing:.02em}
.cp-prix--sm .cp-prix-actuel{font-size:20px}
.cp-prix--sm .cp-prix-ancien{font-size:14px}
.cp-prix--md .cp-prix-actuel{font-size:28px}
.cp-prix--md .cp-prix-ancien{font-size:16px}
.cp-prix--lg .cp-prix-actuel{font-size:28px}
.cp-prix--lg .cp-prix-ancien{font-size:16px}
.cp-prix--xl .cp-prix-actuel{font-size:clamp(38px,4vw,50px)}
.cp-prix--xl .cp-prix-ancien{font-size:20px}
.cp-prix .cp-prix-demande{font-size:18px;font-weight:700;font-stretch:100%;letter-spacing:0}
.cp-course-price{margin-top:2px}
.cp-course .cp-prix-actuel{color:var(--encre)}
.cp-course .cp-prix-ancien{color:var(--gris)}

/* Encadré d'information */
.cp-vente-info{display:flex;gap:16px;padding:20px 22px;background:var(--v-carte);border:1px solid var(--v-trait);border-radius:16px}
.cp-vente-info-icone{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:rgba(var(--accent-rgb),.12);color:var(--accent)}
.cp-vente-info-corps{min-width:0}
.cp-vente-info-titre{font-weight:700;color:var(--papier)}
.cp-vente-info-texte{margin-top:6px;font-size:15px;line-height:1.6}
.cp-vente-info-pied{list-style:none;display:flex;flex-wrap:wrap;gap:8px 20px;margin:14px 0 0;padding:12px 0 0;border-top:1px solid var(--v-trait);font-size:13px;color:var(--v-doux)}
.cp-vente-info-pied li{display:inline-flex;align-items:center;gap:7px}
.cp-vente-info-pied .cp-ico{width:15px;height:15px;color:var(--accent)}

/* Texte de vente (éditeur) : chaque titre ouvre une section, listes à coches, encadrés */
.cp-vente-prose.wp-block-post-content{padding-inline:0}
.cp-vente-prose{margin-top:40px;font-size:16.5px;line-height:1.75}
.cp-vente-prose:not(:has(*)){display:none}
.cp-vente-prose>*+*{margin-top:1em}
.cp-vente-prose strong{color:var(--papier)}
.cp-vente-prose a{color:var(--accent)}
.cp-vente-prose h2,.cp-vente-section>h2,.cp-vente .cp-curriculum>h2{margin:0;text-align:center;color:var(--papier);font-size:clamp(24px,2.5vw,32px);font-stretch:112%;line-height:1.15;letter-spacing:-.02em}
.cp-vente-prose>h2{margin-top:56px;padding-top:56px;border-top:1px solid var(--v-trait)}
.cp-vente-prose>h2:first-child{margin-top:0;padding-top:0;border-top:0}
.cp-vente-prose>h2+*{margin-top:22px}
.cp-vente-prose h3{margin-top:1.6em;color:var(--papier);font-size:20px}
.cp-vente-prose ul{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;padding:0}
.cp-vente-prose ul li{position:relative;margin:0;padding:12px 0 12px 30px;border-bottom:1px solid var(--v-trait);line-height:1.5}
.cp-vente-prose ul li::before{content:"";position:absolute;left:3px;top:17px;width:13px;height:7px;border-left:2px solid var(--signal);border-bottom:2px solid var(--signal);transform:rotate(-45deg)}
.cp-vente-prose ol{padding-left:1.3em}
.cp-vente-prose li+li{margin-top:0}
.cp-vente-prose .is-style-cp-encadre,.cp-vente-prose blockquote{margin-top:40px;padding:32px clamp(22px,3vw,36px);background:var(--v-carte);border:1px solid var(--v-trait-fort);border-radius:18px;font-size:inherit;font-weight:inherit}
.cp-vente-prose>.is-style-cp-encadre:first-child{margin-top:0}
.cp-vente-prose blockquote{border-left:4px solid var(--accent)}
.cp-vente-prose .is-style-cp-encadre>*+*{margin-top:1em}
.cp-vente-prose .is-style-cp-encadre>h2{margin-top:0;padding-top:0;border-top:0}
.cp-vente-prose .is-style-cp-encadre>h2+*{margin-top:20px}

/* Sections de la fiche (objectifs, public, programme, prix) */
.cp-vente-section{margin-top:56px;padding-top:56px;border-top:1px solid var(--v-trait)}
.cp-vente-section>.cp-vente-surtitre{margin-bottom:12px}
.cp-vente-coches{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;margin:26px 0 0;padding:0}
.cp-vente-coches li{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--v-trait);line-height:1.5}
.cp-vente-coches .cp-ico,.cp-vente-modalites .cp-ico{margin-top:1px;color:var(--signal)}
.cp-vente-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cp-vente-carte{padding:24px;background:var(--v-carte);border:1px solid var(--v-trait);border-radius:16px}
.cp-vente-carte h3{margin-bottom:12px;color:var(--papier);font-size:19px}
.cp-vente-puces{list-style:none;display:grid;gap:8px;margin:0;padding:0;font-size:15.5px}
.cp-vente-puces li{position:relative;padding-left:18px}
.cp-vente-puces li::before{content:"";position:absolute;left:0;top:.65em;width:7px;height:7px;border-radius:50%;background:var(--accent)}

/* Programme en liste verticale */
.cp-vente .cp-curriculum{margin-bottom:0}
.cp-vente-programme-total{margin:10px 0 24px;text-align:center;font-size:14px;color:var(--v-doux)}
.cp-liste{background:var(--v-carte);border:1px solid var(--v-trait-fort);border-radius:18px;overflow:hidden}
.cp-liste-tete{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 20px;border-bottom:1px solid var(--v-trait)}
.cp-liste-tete-titre{font-weight:700;color:var(--papier)}
.cp-liste-tete-total{font-size:13px;color:var(--v-doux)}
.cp-liste-module{display:flex;align-items:center;gap:12px;padding:12px 20px;background:rgba(255,255,255,.035);border-bottom:1px solid var(--v-trait);font-size:13px;scroll-margin-top:24px}
.cp-liste-module-num{font-weight:800;letter-spacing:.06em;color:var(--accent)}
.cp-liste-module-titre{flex:1;min-width:0;font-size:14.5px;font-weight:700;color:var(--papier)}
.cp-liste-module-total{white-space:nowrap;color:var(--v-doux)}
.cp-liste-items{list-style:none;margin:0;padding:0}
.cp-liste-item{display:grid;grid-template-columns:24px 96px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--v-trait)}
.cp-liste-items:last-child>.cp-liste-item:last-child{border-bottom:0}
.cp-liste-item.is-preview{background:rgba(var(--signal-rgb),.07)}
.cp-liste-num{font-size:13px;font-weight:700;text-align:center;color:var(--v-doux)}
.cp-liste .cp-mini{width:96px}
.cp-liste-texte{display:grid;gap:3px;min-width:0}
.cp-liste-titre{font-size:15px;font-weight:650;line-height:1.35;color:var(--papier)}
.cp-liste-meta{display:flex;flex-wrap:wrap;gap:0 8px;font-size:12.5px;color:var(--v-doux)}
.cp-liste-meta span+span::before{content:"•";margin-right:8px}
.cp-liste-cadenas{display:grid;place-items:center;width:34px;height:34px;color:var(--v-doux)}
.cp-liste-cadenas .cp-ico{width:17px;height:17px}
.cp-liste-apercu{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;background:var(--signal);color:var(--nuit);font-size:12.5px;font-weight:800;white-space:nowrap;text-decoration:none}
.cp-liste-apercu:hover{background:var(--signal-survol)}
.cp-liste-apercu .cp-ico{width:12px;height:12px}
.cp-liste-ouvrir{font-size:13px;font-weight:700;color:var(--accent);text-decoration:none}
.cp-liste-ouvrir::after{content:" →"}
.cp-liste-vide{padding:12px 20px;font-size:14px;color:var(--v-doux);border-bottom:1px solid var(--v-trait)}
/* Carrousels (présentation au choix) sur fond sombre */
.cp-vente .cp-carousel-title{color:var(--papier)}
.cp-vente .cp-carousel-heading .cp-muted,.cp-vente .cp-carousel-empty{color:var(--v-doux)}

/* Carte de prix */
.cp-vente-prix-section{border-top:0;padding-top:0}
.cp-vente-prix{padding:36px clamp(22px,4vw,48px);text-align:center;background:var(--v-carte);border:1px solid var(--v-trait-fort);border-radius:20px}
.cp-vente-prix h2{margin-top:4px;color:var(--papier);font-size:clamp(22px,2.4vw,30px);line-height:1.2}
.cp-vente-prix-montant{margin-top:22px;padding:20px 0;border-top:1px solid var(--v-trait);border-bottom:1px solid var(--v-trait)}
.cp-vente-prix-montant .cp-prix,.cp-vente-cta-prix .cp-prix{justify-content:center}
.cp-vente-modalites{list-style:none;display:grid;gap:10px;max-width:460px;margin:20px auto 0;padding:0;text-align:left;font-weight:650;color:var(--papier)}
.cp-vente-modalites li{display:flex;gap:10px;align-items:flex-start}
.cp-vente-prix-action{margin-top:26px}

/* Inscription finale : carte d'appel, puis contact et paiement à droite */
.cp-vente-final{position:relative;padding:72px 0 96px}
.cp-vente-final-grille{display:grid;grid-template-columns:minmax(0,1fr) 370px;column-gap:clamp(40px,5vw,72px);row-gap:20px;align-items:start}
.cp-vente-final.is-nested{padding:56px 0 0}
.cp-vente-final.is-nested .cp-vente-final-grille{grid-template-columns:minmax(0,1fr)}
.cp-vente-cta{min-width:0;padding:40px clamp(22px,4vw,48px);border-radius:22px;border:1px solid var(--v-trait-fort);
  background:radial-gradient(70% 90% at 0% 0%,rgba(var(--signal-rgb),.2),transparent 60%),radial-gradient(60% 80% at 100% 100%,rgba(var(--bleu-rgb),.45),transparent 65%),var(--v-carte)}
.cp-vente-cta h2{text-align:center;color:var(--papier);font-size:clamp(26px,3vw,38px);line-height:1.1}
.cp-vente-cta-texte{max-width:560px;margin:14px auto 0;text-align:center}
.cp-vente-cta-prix{display:flex;flex-direction:column;align-items:center;gap:6px;margin:22px 0 0}
.cp-vente-cta-note{font-size:13px;color:var(--v-doux)}
.cp-vente-cta .cp-form{margin-top:24px}
.cp-vente-form-ouvrir{margin-top:24px;text-align:center}
.cp-vente-form-ouvrir .cp-btn{min-width:min(100%,320px)}
.cp-vente-form-ouvrir[hidden],.cp-vente-form-corps[hidden]{display:none}
.cp-vente-cta>p:last-child{margin-top:20px;text-align:center}
.cp-vente-final-cote{display:grid;gap:16px;min-width:0}
.cp-vente-mini{padding:20px;font-size:14.5px;background:var(--v-carte);border:1px solid var(--v-trait);border-radius:16px}
.cp-vente-mini-titre{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:700;color:var(--papier)}
.cp-vente-mini-titre .cp-ico{color:var(--accent)}
.cp-vente-mini .cp-btn{width:100%;margin-top:12px}
.cp-vente-mini-lien{display:flex;align-items:center;gap:8px;margin-top:12px;overflow-wrap:anywhere}
.cp-vente-mini-lien a{color:var(--accent)}
.cp-vente-mini .cp-vente-modalites{margin:4px 0 0;font-size:14px;font-weight:600}

@media (max-width:1024px){
  .cp-vente-grille{grid-template-columns:minmax(0,1fr);grid-template-areas:"hero" "offre" "corps"}
  .cp-vente-offre{position:static;width:100%;max-width:560px;margin:36px auto 0}
  .cp-vente-final-grille{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .cp-vente{padding-top:112px}
  .cp-vente-titre{font-size:clamp(30px,8.4vw,40px)}
  .cp-vente-lead{margin-top:22px;font-size:16.5px}
  .cp-vente-prose ul,.cp-vente-coches,.cp-vente-duo{grid-template-columns:minmax(0,1fr)}
  .cp-vente-prose>h2,.cp-vente-section{margin-top:44px;padding-top:44px}
  .cp-vente-prix-section{padding-top:0}
  .cp-liste-tete,.cp-liste-module,.cp-liste-vide{padding-inline:14px}
  .cp-liste-item{grid-template-columns:18px 64px minmax(0,1fr) auto;gap:10px;padding:10px 14px}
  .cp-liste .cp-mini{width:64px}
  .cp-liste-titre{font-size:14px}
  /* Aperçu : pastille ronde sur mobile (le texte reste lu par les lecteurs d'écran). */
  .cp-liste-apercu{justify-content:center;width:34px;height:34px;padding:0}
  .cp-liste-apercu .cp-ico{width:13px;height:13px}
  .cp-liste-apercu-texte{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
  .cp-vente-final{padding:56px 0 72px}
  .cp-vente-cta{padding:28px 18px}
}

/* ==========================================================================
   v1.7 — Accueil (classes ak-*, en-tête « header-akey ») : ouverture, travaux réels, pourquoi nous,
   Fòmasyon (inchangée), contact. Orange réservé à l'action principale : écrire sur WhatsApp.
   Trois familles de fonds : bleu nuit, clair (bleu très pâle #F1F6FC / craie), bande cyan de l'espace étudiant.
   ========================================================================== */
:root{
  --ak-ardoise:#445B85;
  --ak-wa:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.47 14.38c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.16-.17.2-.35.22-.64.07-.3-.15-1.26-.46-2.39-1.47-.88-.79-1.48-1.76-1.65-2.06-.17-.3-.02-.46.13-.6.13-.14.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.2-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.07-.79.37-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.21 3.07.15.2 2.1 3.2 5.08 4.49.71.31 1.26.49 1.7.63.71.22 1.36.19 1.87.12.57-.09 1.76-.72 2-1.41.25-.7.25-1.29.18-1.41-.08-.13-.28-.2-.57-.35m-5.42 7.4h-.01a9.87 9.87 0 0 1-5.03-1.38l-.36-.21-3.74.98 1-3.65-.24-.37a9.86 9.86 0 0 1-1.51-5.26c0-5.45 4.44-9.88 9.89-9.88 2.64 0 5.12 1.03 6.99 2.9a9.83 9.83 0 0 1 2.89 6.99c0 5.45-4.44 9.88-9.88 9.88m8.41-18.3A11.82 11.82 0 0 0 12.05 0C5.5 0 .16 5.34.16 11.89c0 2.1.55 4.14 1.59 5.95L.06 24l6.3-1.65a11.88 11.88 0 0 0 5.69 1.45h.01c6.55 0 11.89-5.34 11.89-11.89a11.82 11.82 0 0 0-3.48-8.41Z'/%3E%3C/svg%3E");
}

/* Boutons WhatsApp de l'accueil : action principale (orange, icône WhatsApp reconnaissable). */
:is(.ak-entete,.ak-ouverture,.ak-travay,.ak-poukisa,.ak-final) .cp-btn--whatsapp,.cp-wa-flottant{background:var(--signal);color:var(--nuit)}
:is(.ak-entete,.ak-ouverture,.ak-travay,.ak-poukisa,.ak-final) .cp-btn--whatsapp:hover,.cp-wa-flottant:hover{background:var(--signal-survol)}
:is(.ak-entete,.ak-ouverture,.ak-travay,.ak-poukisa,.ak-final) .cp-btn--whatsapp::before{content:"";flex:none;width:19px;height:19px;background:currentColor;-webkit-mask:var(--ak-wa) center/contain no-repeat;mask:var(--ak-wa) center/contain no-repeat}
:is(.ak-entete,.ak-ouverture,.ak-travay,.ak-poukisa,.ak-final) .cp-btn--whatsapp::after{content:none}

/* En-tête de l'accueil : « Ekri nou » en action principale, espace étudiant en lien discret (et dans le menu mobile). */
.ak-entete .entete-actions{gap:24px}
.ak-entete .cp-wa-cta{margin:0}
.ak-entete .cp-btn--whatsapp{min-height:44px;padding:0 20px;font-size:15px}
.ak-lien-etudiant a{font-size:14px;font-weight:600;text-decoration:none;opacity:.86}
.ak-lien-etudiant a:hover{opacity:1;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px;text-decoration-thickness:2px}

/* 1. Ouverture : en haut, la promesse (titre et WhatsApp à gauche, explication à droite) ; en dessous, les trois
   étapes Afich → Piblisite → Videyo, puis les deux accès aux services. */
:root{--ak-pale:#F1F6FC;--ak-cyan-pale:#E5F8FA}
.ak-ouverture,.ak-travay,.ak-final{background:var(--nuit);color:var(--papier)}
.ak-ouverture{position:relative;z-index:2;padding:150px 0 132px;overflow:hidden}
.ak-ouverture::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(52% 62% at 86% 30%,rgba(var(--bleu-rgb),.5),transparent 72%),radial-gradient(38% 48% at 0% 100%,rgba(var(--accent-rgb),.09),transparent 70%)}
.ak-ouverture-grille{position:relative}
.ak-ouverture-texte{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);grid-template-areas:"eti eti" "titre chapo" "wa chapo";column-gap:72px;align-items:start}
.ak-ouverture-texte>.etiquette{grid-area:eti}
.ak-ouverture-texte>.ak-titre{grid-area:titre}
.ak-ouverture-texte>.ak-chapo{grid-area:chapo;align-self:center}
.ak-ouverture-texte>.cp-wa-cta{grid-area:wa}
.ak-ouverture .etiquette{color:var(--gris-clair);margin-bottom:26px}
.ak-titre{font-size:clamp(42px,5.2vw,78px);font-weight:850;font-stretch:122%;letter-spacing:-.035em;line-height:.98}
.ak-chapo{max-width:560px;margin-top:4px;font-size:19px;line-height:1.6;color:#D3DDEE}
.ak-chapo strong{color:var(--papier);font-weight:700}

/* Les deux accès aux services : toute la carte est cliquable (lien du titre étiré). */
.ak-portes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:640px;margin-top:30px}
/* Sous les trois étapes : centrées comme elles. */
.ak-ouverture-grille>.ak-portes{max-width:760px;margin:60px auto 0}
.ak-porte{position:relative;display:flex;flex-direction:column;gap:6px;min-height:156px;padding:22px 22px 20px;border-radius:20px;color:var(--papier);transition:transform .18s ease,box-shadow .18s ease}
.ak-porte--piblisite{background:var(--bleu)}
.ak-porte--kreyasyon{background:var(--ak-ardoise)}
.ak-porte:hover{transform:translateY(-3px);box-shadow:0 22px 44px -22px rgba(0,0,0,.65)}
.ak-porte:focus-within{outline:3px solid var(--accent);outline-offset:3px}
.ak-porte-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.ak-porte-titre{margin-top:auto;padding-right:48px;font-size:clamp(24px,2.3vw,30px);font-stretch:115%}
.ak-porte-titre a{color:inherit;text-decoration:none}
.ak-porte-titre a:focus-visible{outline:none}
.ak-porte-titre a::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.ak-porte-texte{padding-right:48px;font-size:14.5px;line-height:1.45;color:rgba(255,255,255,.84)}
.ak-porte::after{content:"→";position:absolute;right:18px;bottom:18px;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:var(--accent);color:var(--nuit);font-weight:700;pointer-events:none;transition:transform .18s ease}
.ak-porte:hover::after{transform:translateX(3px)}
.ak-ouverture .cp-wa-cta{margin-top:36px}
.ak-ouverture .cp-btn--whatsapp{min-height:56px;padding:0 28px;font-size:17px}

/* Les trois étapes (bloc cp/home-demo, médias choisis dans Réglages CP → Accueil) : les trois cadres ont la même
   hauteur et une largeur selon les proportions de leur média (--r = largeur / hauteur, posé par le bloc) ; rien
   n'est rogné ni déformé. Petites flèches dans les intervalles. Emplacement vide : titre et cadre sobre, sans image. */
.cp-etapes{--cpe-h:330px;--cpe-ecart:46px;position:relative;margin-top:76px}
.cpe-rangee{display:flex;align-items:flex-start;justify-content:center;gap:var(--cpe-ecart);max-width:calc(var(--cpe-h) * var(--cpe-somme) + 2 * var(--cpe-ecart));margin-inline:auto}
.cpe-etape{flex:var(--r) 1 0%;min-width:0;display:flex;flex-direction:column;gap:12px;margin:0}
.cpe-titre{display:flex;align-items:center;gap:9px;font-size:14.5px;font-weight:700;line-height:1.2;color:var(--papier);white-space:nowrap}
.cpe-titre b{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--nuit);font-size:12px;font-weight:800}
.cpe-cadre{position:relative;aspect-ratio:var(--r)}
.cpe-media{display:block;width:100%;height:100%;object-fit:contain;border-radius:16px;background:var(--charbon);box-shadow:0 26px 50px -26px rgba(0,0,0,.75)}
.cpe-etape+.cpe-etape .cpe-cadre::before{content:"→";position:absolute;top:50%;left:calc(var(--cpe-ecart) / -2);z-index:1;display:grid;place-items:center;width:30px;height:30px;transform:translate(-50%,-50%);
  border:1px solid rgba(var(--accent-rgb),.42);border-radius:50%;background:var(--nuit);color:var(--accent);font-size:15px;font-weight:700;line-height:1}
.cpe-etape.is-vide .cpe-cadre{border:1px solid var(--trait-nuit);border-radius:16px;background:linear-gradient(165deg,rgba(255,255,255,.07),rgba(255,255,255,.02))}
.cpe-vide{position:absolute;inset:0;display:grid;place-items:center;color:var(--gris-clair);opacity:.5}
.cpe-vide svg{width:38px;height:38px}
.cpe-equipe{position:absolute;left:10px;right:10px;bottom:10px;padding:6px 8px;border-radius:8px;background:#FFF3BF;color:#4A3C00;font-size:11.5px;font-weight:700;line-height:1.3;text-align:center;text-decoration:none}
.cpe-mansyon{font-size:12.5px;line-height:1.3;color:var(--gris-clair)}
.cpe-legende{margin-top:20px;text-align:center;font-size:13px;line-height:1.45;color:var(--gris-clair)}

/* 2. Travay nou : invisible tant qu'aucun contenu réel n'est affiché (le bloc ne rend rien pour les visiteurs). */
.ak-travay{padding:112px 0;border-top:1px solid var(--trait-nuit)}
.ak-travay:not(:has(.cp-cases,.cp-testimonials)){display:none}
.ak-travay .cp-cases,.ak-travay .cp-testimonials{background:none;padding:0;color:inherit}
.ak-travay .cp-testimonials{margin-top:88px}
.ak-travay .cp-section-head p,.ak-travay .cp-testimonial figcaption{color:var(--gris-clair)}
.cp-cases--gallery .cp-section-head{margin-bottom:40px}
.cp-travay{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:0;padding:0}
.cp-travay-lien{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:20px;border:1px solid var(--trait-nuit);background:var(--charbon);color:var(--papier);text-decoration:none;transition:transform .18s ease}
.cp-travay-lien:hover{transform:translateY(-3px)}
.cp-travay-visuel{display:block;aspect-ratio:4/5;background:var(--fumee)}
.cp-travay-visuel img{width:100%;height:100%;object-fit:cover}
.cp-travay-texte{display:grid;gap:8px;padding:18px 20px 22px}
.cp-travay-type{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.cp-travay-titre{font-size:19px;font-weight:800;font-stretch:112%;line-height:1.2}
.cp-travay-defi{font-size:14.5px;line-height:1.45;color:var(--gris-clair)}
.cp-travay-defi strong{color:var(--papier)}
.cp-travay-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:40px}

/* 3. Poukisa nou : fond bleu très pâle, bord supérieur arrondi posé sur le bleu nuit (transition douce),
   cartes blanches, touches de cyan très pâle pour les repères. */
.wp-block-group.ak-poukisa{position:relative;z-index:3;margin-top:-40px;padding:136px 0 128px;border-radius:40px 40px 0 0;background:var(--ak-pale)}
.ak-poukisa-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px 72px;align-items:start}
.ak-poukisa-tete{grid-column:1/-1}
.ak-poukisa .etiquette{margin-bottom:20px;color:var(--gris)}
.ak-poukisa .etiquette::before{background:var(--bleu)}
.ak-h2{max-width:16ch;font-size:clamp(32px,4.2vw,58px);font-stretch:118%}
.ak-pwen{list-style:none;margin:0;padding:0;counter-reset:ak-pwen;border-top:1px solid var(--trait)}
.ak-pwen li{position:relative;display:grid;gap:6px;padding:28px 0 28px 68px;border-bottom:1px solid var(--trait);font-size:16.5px;line-height:1.55;color:var(--gris)}
.ak-pwen li::before{counter-increment:ak-pwen;content:"0" counter(ak-pwen);position:absolute;left:0;top:26px;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;
  background:var(--ak-cyan-pale);color:var(--bleu);font-size:15px;font-weight:800;font-stretch:110%;line-height:1}
.ak-pwen strong{display:block;font-size:21px;font-weight:800;font-stretch:112%;line-height:1.2;color:var(--encre)}
.ak-kesyon{display:grid;gap:12px}
.ak-kesyon .wp-block-details{margin:0;padding:0;border:1px solid var(--trait);border-radius:16px;background:var(--papier);box-shadow:0 1px 2px rgba(var(--nuit-rgb),.04),0 12px 26px -20px rgba(var(--nuit-rgb),.22)}
.ak-kesyon summary{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:58px;padding:16px 20px;font-size:17px;font-weight:700;cursor:pointer;list-style:none}
.ak-kesyon summary::-webkit-details-marker{display:none}
.ak-kesyon summary::after{content:"+";flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--ak-cyan-pale);color:var(--bleu);font-weight:700;transition:transform .2s ease}
.ak-kesyon details[open] summary::after{transform:rotate(45deg)}
.ak-kesyon details p{padding:0 20px 18px;font-size:16px;color:var(--gris)}
.ak-kesyon details a{color:var(--bleu);font-weight:600}
/* Question en cours de lecture : WhatsApp en action secondaire (contour), l'orange reste aux actions principales. */
.ak-poukisa .cp-wa-cta{margin-top:10px}
.ak-poukisa .cp-btn--whatsapp,.ak-poukisa .cp-btn--whatsapp:hover{background:transparent;color:var(--encre);box-shadow:inset 0 0 0 1.5px var(--encre)}
.ak-poukisa .cp-btn--whatsapp:hover{background:var(--papier)}

/* 5. Ann kòmanse : WhatsApp ou formulaire court, puis les trois étapes. */
.ak-final{position:relative;padding:120px 0 130px}
.ak-final .etiquette{color:var(--gris-clair);margin-bottom:20px}
.ak-final .ak-h2{max-width:14ch}
.ak-final .ak-chapo{margin-top:20px}
.ak-final-grille{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);grid-template-rows:auto 1fr;grid-template-areas:"wa fom" "etap fom";gap:24px 40px;align-items:start;margin-top:56px}
.ak-opsyon{padding:32px;border:1px solid var(--trait-nuit);border-radius:24px;background:var(--charbon)}
.ak-opsyon--wa{grid-area:wa}
.ak-opsyon--fom{grid-area:fom}
.ak-etap{grid-area:etap;padding:8px 4px 0}
.ak-opsyon h3{font-size:26px;font-stretch:115%}
.ak-opsyon--wa p{margin-top:10px;color:var(--gris-clair)}
.ak-opsyon--wa .cp-btn{width:100%;min-height:56px;font-size:17px}
.ak-opsyon--fom .cp-form{margin-top:22px}
.ak-final .cp-field--whatsapp{grid-column:1/-1}
.ak-final .cp-form-actions .cp-btn{background:var(--bleu);color:var(--papier)}
.ak-final .cp-form-actions .cp-btn:hover{background:var(--bleu-survol)}
.ak-etap-titre{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gris-clair)}
.ak-etap .apres-envoi{margin-top:18px}

/* Choix du service en boutons (formulaire de l'accueil) */
.cp-field--choix{min-width:0;margin:0;padding:0;border:0}
.cp-field--choix legend{margin-bottom:8px;padding:0;font-size:14px;font-weight:600}
.cp-form--dark .cp-field--choix legend{color:#DCE5F3}
.cp-choix{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.cp-choix-item{display:flex;align-items:center;gap:10px;min-height:54px;padding:0 16px;border:1.5px solid var(--trait);border-radius:12px;background:var(--papier);font-weight:700;cursor:pointer}
.cp-form--dark .cp-choix-item{border-color:var(--nuit-trait);background:var(--nuit-fonce);color:var(--papier)}
.cp-choix-item input{flex:none;width:18px;height:18px;margin:0;accent-color:var(--accent)}
.cp-choix-item:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.cp-choix-item:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.cp-choix-item:has(input[aria-invalid]){border-color:#F59E7A}

/* Bouton WhatsApp flottant : mobile et tablette seulement, après le premier écran (front.js). */
.cp-wa-flottant{display:none}
@keyframes ak-apparition{from{opacity:0;translate:0 12px}}

@media (max-width:980px){
  .ak-poukisa-grille,.ak-final-grille{grid-template-columns:minmax(0,1fr)}
  .ak-ouverture-texte{grid-template-columns:minmax(0,1fr);grid-template-areas:"eti" "titre" "chapo" "wa"}
  .ak-ouverture-texte>.ak-chapo{margin-top:24px}
  .ak-ouverture .cp-wa-cta{margin-top:26px}
  .cp-etapes{margin-top:56px}
  .ak-ouverture-grille>.ak-portes{max-width:640px;margin-top:48px}
  .ak-final-grille{grid-template-rows:none;grid-template-areas:"wa" "fom" "etap"}
  .cp-travay{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* Menu mobile : l'espace étudiant y figure déjà ; « Ekri nou » reste visible à côté du menu. */
  .ak-lien-etudiant{display:none}
  .ak-entete .entete-actions{order:2;margin-left:auto}
  .ak-entete .entete-rangee>.wp-block-navigation.menu{order:3;margin-left:0}
  .cp-wa-flottant{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;display:inline-flex;align-items:center;gap:8px;min-height:52px;padding:0 20px 0 16px;border-radius:999px;
    font-size:15px;font-weight:800;text-decoration:none;box-shadow:0 14px 30px -10px rgba(var(--nuit-rgb),.6);animation:ak-apparition .25s ease both}
  .cp-wa-flottant[hidden]{display:none}
  .cp-wa-flottant .cp-ico{width:21px;height:21px}
}
@media (max-width:720px){
  .ak-ouverture{padding:112px 0 84px}
  .ak-ouverture .etiquette{margin-bottom:16px;font-size:12px}
  .ak-titre{font-size:clamp(36px,10.4vw,48px)}
  .ak-ouverture-texte>.ak-chapo{margin-top:16px;font-size:16.5px}
  .ak-portes{gap:10px;margin-top:24px}
  .ak-ouverture-grille>.ak-portes{margin-top:32px}
  .ak-porte{min-height:116px;padding:14px 14px 14px;border-radius:16px}
  .ak-porte-label{padding-right:34px;font-size:10.5px;letter-spacing:.05em}
  .ak-porte-titre{padding-right:0;font-size:21px}
  .ak-porte-texte{display:none}
  .ak-porte::after{top:12px;right:12px;bottom:auto;width:28px;height:28px;font-size:14px}
  /* Trois étapes : une rangée de même hauteur à faire glisser au doigt (jamais de défilement automatique) ;
     l'étape suivante dépasse pour inviter au geste. */
  .cp-etapes{--cpe-h:270px;--cpe-ecart:34px;margin:44px calc(-1 * var(--gouttiere)) 0}
  .cpe-rangee{justify-content:flex-start;max-width:none;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gouttiere);padding:2px var(--gouttiere) 12px;scrollbar-width:none}
  .cpe-rangee::-webkit-scrollbar{display:none}
  .cpe-etape{flex:none;width:calc(var(--cpe-h) * var(--r));scroll-snap-align:start}
  .cpe-etape+.cpe-etape .cpe-cadre::before{width:26px;height:26px;font-size:13px}
  .cpe-legende{margin-top:12px;padding-inline:var(--gouttiere);text-align:left}
  .ak-ouverture .cp-wa-cta{margin-top:18px;justify-items:stretch}
  .ak-ouverture .cp-btn--whatsapp{width:100%}
  .ak-travay,.ak-final{padding:80px 0}
  .wp-block-group.ak-poukisa{margin-top:-28px;padding:92px 0 80px;border-radius:28px 28px 0 0}
  .cp-travay{gap:12px}
  .cp-travay-texte{padding:12px 12px 14px}
  .cp-travay-titre{font-size:16px}
  .cp-travay-defi{display:none}
  .ak-pwen li{padding-left:56px}
  .ak-pwen li::before{width:40px;height:40px;font-size:14px}
  .ak-opsyon{padding:22px 18px}
  .ak-final-grille{margin-top:36px}
  .cp-choix{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:480px){
  /* « Ekri nou » en pastille ronde (le texte reste lu par les lecteurs d'écran). */
  .ak-entete .cp-btn--whatsapp{width:44px;min-height:44px;padding:0;gap:0;font-size:0}
  .ak-entete .cp-btn--whatsapp::before{width:22px;height:22px}
}
