/*
 * Pages publiques « proposition 01 » — composition du CONTENU (chantier pages6, docs/technique.md §34.3).
 * Chargée par layouts/public.php (pages intérieures en mode p01) et layouts/auth.php (connexion, inscription…),
 * après les feuilles de la page. L'en-tête et le pied restent dans p01-chrome.css ; les cartes de formation
 * (partials/course_card.php, .course-card) et les composants globaux (boutons, menus, champs) ne sont pas
 * redessinés ici : seules leurs enveloppes de page le sont.
 *
 * Portée : .p01-page (contenu des pages publiques) et .p01-auth (gabarit d'authentification). Couleurs par les
 * jetons --fs-p01-* (tokens.css), relayées par des variables locales --p6-* redéfinies pour le thème sombre.
 */

/* ------------------------------------------------------------------ variables locales (deux thèmes) */
.p01-page,.p01-auth{
  --p6-bg:#fff; --p6-soft:var(--fs-p01-c-f7f9fd); --p6-soft2:var(--fs-p01-c-f7f9fe); --p6-card:#fff;
  --p6-ink:var(--fs-p01-ink); --p6-title:var(--fs-p01-c-16203a); --p6-muted:var(--fs-p01-muted); --p6-line:var(--fs-p01-c-e0e7f2);
  --p6-kicker:var(--fs-p01-c-5269cc); --p6-link:var(--fs-p01-c-4d59cf); --p6-chip:var(--fs-p01-c-5a6985); --p6-chip-line:var(--fs-p01-c-dce4f0);
  --p6-icon-bg:var(--fs-p01-c-eaf4ff); --p6-shadow:0 13px 42px rgba(24,46,88,.065); --p6-cut:#fff;
}
[data-theme="dark"] .p01-page,[data-theme="dark"] .p01-auth{
  --p6-bg:var(--fs-p01-navy-900); --p6-soft:var(--fs-p01-navy-850); --p6-soft2:var(--fs-p01-navy-850); --p6-card:var(--fs-p01-navy-800);
  --p6-ink:var(--fs-p01-c-dce9ff); --p6-title:#fff; --p6-muted:var(--fs-p01-c-aebedc); --p6-line:rgba(137,169,228,.18);
  --p6-kicker:var(--fs-p01-c-68eafa); --p6-link:var(--fs-p01-c-7cecff); --p6-chip:var(--fs-p01-c-c7d3eb); --p6-chip-line:rgba(137,169,228,.24);
  --p6-icon-bg:rgba(23,137,255,.14); --p6-shadow:0 13px 42px rgba(0,0,0,.25); --p6-cut:var(--fs-p01-navy-900);
}
.p01-page{background:var(--p6-bg);color:var(--p6-ink)}

/* ------------------------------------------------------------------ mots en dégradé, surtitres, liens */
.p01p-grad{color:transparent;background:var(--fs-p01-gradient);-webkit-background-clip:text;background-clip:text}
.p01p-kicker{display:inline-block;margin:0 0 11px;color:var(--p6-kicker);font-size:.78rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.p01p-kicker--light,.p01p-head--light .p01p-kicker,.p01p-navy .p01p-kicker{color:var(--fs-p01-c-68eafa)}
.p01p-text-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:var(--p6-link);font-size:.9rem;font-weight:800;white-space:nowrap}
.p01p-text-link .p01-ic{width:1.1rem;height:1.1rem;transition:transform .2s ease}
.p01p-text-link:hover .p01-ic{transform:translateX(3px)}
[dir="rtl"] .p01p-text-link:hover .p01-ic{transform:scaleX(-1) translateX(3px)}
[dir="rtl"] .p01-page .p01-flip,[dir="rtl"] .p01-auth .p01-flip{transform:scaleX(-1)}
.p01-page .p01-button{text-decoration:none}
.p01-page .p01-button--primary,.p01-page .p01-button--primary:hover{color:#fff}
.p01-page .p01-button--white,.p01-page .p01-button--white:hover{color:var(--fs-p01-c-35236d)}
.p01-page .p01-button--ghost,.p01-page .p01-button--ghost:hover{color:var(--fs-p01-c-eef4ff)}

/* ------------------------------------------------------------------ bandeau de page (hero) */
.p01p-hero{position:relative;overflow:hidden;color:#fff;background:var(--fs-p01-navy-950) url(../img/p01/hero-background.svg) center top / cover no-repeat;padding:clamp(56px, 6vw, 88px) 0 clamp(96px, 9vw, 132px)}
.p01p-hero::before{content:"";position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);background-size:52px 52px;-webkit-mask-image:linear-gradient(to bottom, transparent 3%, #000 30%, transparent 92%);mask-image:linear-gradient(to bottom, transparent 3%, #000 30%, transparent 92%);pointer-events:none}
.p01p-hero::after{content:"";position:absolute;bottom:-1px;inset-inline:0;height:clamp(40px, 6vw, 90px);background:linear-gradient(177deg, transparent 49%, var(--p6-cut) 50%);pointer-events:none}
.p01p-hero--sm{padding-bottom:clamp(80px, 7vw, 108px)}
.p01p-hero--lg{padding-top:clamp(64px, 7vw, 104px);padding-bottom:clamp(110px, 10vw, 150px)}
.p01p-hero__glow{position:absolute;border-radius:50%;filter:blur(85px);pointer-events:none;opacity:.3}
.p01p-hero__glow--cyan{width:380px;height:380px;top:30%;inset-inline-start:-240px;background:var(--fs-p01-c-02e8ff)}
.p01p-hero__glow--violet{width:480px;height:480px;top:-10%;inset-inline-end:-240px;background:var(--fs-p01-c-8e29ff)}
.p01p-hero__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr);gap:48px;align-items:center}
.p01p-hero--split .p01p-hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}
.p01p-hero__content{min-width:0;max-width:880px}
.p01p-eyebrow{width:fit-content;display:inline-flex;align-items:center;gap:9px;margin:0 0 20px;padding:7px 13px 7px 8px;border:1px solid rgba(128,202,255,.18);border-radius:var(--fs-radius-full);color:var(--fs-p01-c-b9d7ff);background:rgba(63,114,210,.09);font-size:.76rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.p01p-eyebrow__icon{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg, var(--fs-p01-cyan), var(--fs-p01-violet), var(--fs-p01-pink));box-shadow:0 0 18px rgba(62,124,255,.55)}
.p01p-eyebrow__icon .ic{width:.85rem;height:.85rem}
.p01-page .p01p-hero__title{margin:0 0 18px;max-width:820px;color:#fff;font-size:clamp(2.1rem, 3.6vw, 3.4rem);font-weight:800;line-height:1.06;letter-spacing:-.045em}
.p01p-hero__lead{max-width:640px;margin:0 0 26px;color:var(--fs-p01-c-b9c7e4);font-size:1rem;line-height:1.75}
.p01p-hero__note{max-width:640px;margin:-12px 0 24px;color:var(--fs-p01-c-a9b9d5);font-size:.85rem}
.p01p-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px;margin-bottom:8px}
.p01p-hero__aside{position:relative;min-width:0}
.p01p-hero .breadcrumb{margin-bottom:18px;color:var(--fs-p01-c-a9b9d5);font-size:.82rem}
.p01p-hero .breadcrumb a{color:var(--fs-p01-c-c7d3eb)}
.p01p-hero .breadcrumb a:hover{color:#fff}
.p01p-hero .breadcrumb [aria-current]{color:#fff}
[dir="rtl"] .p01p-hero .breadcrumb .ic{transform:scaleX(-1)}
[data-theme="dark"] .p01p-hero{background-image:none;background:linear-gradient(128deg, var(--fs-p01-c-050a1d) 0%, var(--fs-p01-c-07142f) 48%, var(--fs-p01-c-101947) 100%)}

/* Recherche du catalogue dans le bandeau */
.p01p-search{display:flex;gap:10px;max-width:720px;margin-top:6px;padding:8px;border:1px solid rgba(152,182,255,.26);border-radius:1.125rem;background:rgba(255,255,255,.07);-webkit-backdrop-filter:var(--fs-blur-glass);backdrop-filter:var(--fs-blur-glass)}
.p01p-search .input-group{flex:1;min-width:0}
.p01p-search .input{min-height:48px;border-color:transparent;background:#fff;color:var(--fs-p01-ink)}
.p01p-search .input-group .ic{color:var(--fs-p01-c-5269cc)}
.p01p-search .p01-button{flex:0 0 auto}

/* Compteurs dans un bandeau (à propos, devenir formateur) */
.p01p-hero .counters{margin-top:34px;padding-top:0;border:0;gap:14px}
.p01p-hero .counters-2{margin-top:0}
.p01p-hero .counter{padding:20px 14px;border:1px solid rgba(137,169,228,.18);border-radius:1.1875rem;background:rgba(255,255,255,.05);-webkit-backdrop-filter:var(--fs-blur-glass);backdrop-filter:var(--fs-blur-glass)}
.p01p-hero .counter-ic{color:var(--fs-p01-c-7ceefa);background:rgba(9,216,245,.12)}
.p01p-hero .counter b{background:linear-gradient(118deg, var(--fs-p01-c-7cecff), var(--fs-p01-c-b298ff) 60%, var(--fs-p01-c-ff8bf4));-webkit-background-clip:text;background-clip:text;color:transparent}
.p01p-hero .counter span{color:var(--fs-p01-c-cbd7ec)}

/* ------------------------------------------------------------------ sections claires / bleu nuit */
.p01p-section,.p01-page .section{padding:clamp(56px, 6vw, 84px) 0}
.p01-page .section-sm{padding:clamp(40px, 4vw, 56px) 0}
.p01-page .section-alt,.p01p-soft{background:var(--p6-soft)}
.p01p-hero + .section,.p01p-hero + .section-sm,.p01p-hero + .p01p-section{padding-top:clamp(24px, 3vw, 44px)}
.p01p-navy,.p01-page .p01p-navy{position:relative;overflow:hidden;color:#fff;background:var(--fs-p01-c-07132d) url(../img/p01/journey-background.svg) center / cover no-repeat}
.p01p-navy > .container,.p01p-navy > .p01-container{position:relative}
.p01-page .p01p-navy h2,.p01-page .p01p-navy h3{color:#fff}
.p01-page .p01p-navy p,.p01-page .p01p-navy .muted{color:var(--fs-p01-c-aebedc)}
.p01-page .container{max-width:var(--fs-p01-container);width:calc(100% - clamp(32px, 6vw, 112px));padding-inline:0}
.p01-page .container.narrow-800,.p01-page .narrow-800{max-width:880px}
.p01-page .page-simple{max-width:920px;padding:0}

/* En-têtes de section */
.p01p-head{margin-bottom:34px}
.p01p-head--center{max-width:780px;margin-inline:auto;margin-bottom:44px;text-align:center}
.p01p-head--split{display:flex;justify-content:space-between;align-items:end;gap:28px}
.p01-page .p01p-head__title,.p01-auth .p01p-head__title{max-width:760px;margin:0;color:var(--p6-title);font-size:clamp(1.7rem, 2.6vw, 2.5rem);font-weight:800;line-height:1.12;letter-spacing:-.035em}
.p01p-head--center .p01p-head__title{margin-inline:auto}
.p01p-head__lead{max-width:640px;margin:14px 0 0;color:var(--p6-muted);font-size:1rem;line-height:1.7}
.p01p-head--center .p01p-head__lead{margin-inline:auto}
.p01-page .p01p-head--light .p01p-head__title,.p01-page .p01p-navy .p01p-head__title{color:#fff}
.p01p-head--light .p01p-head__lead,.p01p-navy .p01p-head__lead{color:var(--fs-p01-c-aebedc)}
/* Anciens en-têtes conservés (pages à contenu) : même typographie que la maquette */
.p01-page .section-head h2{color:var(--p6-title);font-size:clamp(1.7rem, 2.6vw, 2.5rem);font-weight:800;line-height:1.12;letter-spacing:-.035em}
.p01-page .section-head p{color:var(--p6-muted)}

/* ------------------------------------------------------------------ cartes, fonctionnalités, étapes */
.p01-page .card:not(.course-card):not(.path-card):not(.book-card){border:1px solid var(--p6-line);border-radius:1.375rem;box-shadow:var(--p6-shadow)}
.p01-page .card-hover:not(.course-card):not(.path-card):not(.book-card){transition:transform .24s ease, box-shadow .24s ease}
.p01-page .card-hover:not(.course-card):not(.path-card):not(.book-card):hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(26,42,82,.13)}
.p01-page .feature-grid{gap:20px}
.p01-page .feature{position:relative;overflow:hidden;padding:30px;border:1px solid var(--p6-line);border-radius:1.5625rem;background:linear-gradient(145deg, var(--p6-card), var(--p6-soft2));box-shadow:var(--p6-shadow)}
.p01-page .feature .pill-icon{width:47px;height:47px;margin-bottom:16px;border-radius:.875rem;color:var(--fs-p01-c-157feb);background:var(--p6-icon-bg);box-shadow:inset 0 0 0 1px rgba(56,134,220,.08)}
.p01-page .feature:nth-child(4n+2) .pill-icon{color:var(--fs-p01-c-7546df);background:var(--fs-p01-c-f0ebff)}
.p01-page .feature:nth-child(4n+3) .pill-icon{color:var(--fs-p01-c-df31b4);background:var(--fs-p01-c-fff0fb)}
.p01-page .feature:nth-child(4n+4) .pill-icon{color:var(--fs-p01-c-059ebd);background:var(--fs-p01-c-e6fbff)}
.p01-page .feature h3{margin:0 0 9px;color:var(--p6-title);font-size:1.2rem;line-height:1.25;letter-spacing:-.025em}
.p01-page .feature p{color:var(--p6-muted);font-size:.9rem;line-height:1.67}
.p01-page .p01p-navy .feature{border-color:rgba(137,169,228,.16);background:rgba(255,255,255,.045);box-shadow:none}
.p01-page .p01p-navy .feature .pill-icon{color:var(--fs-p01-c-7ceefa);background:rgba(9,216,245,.12)}
/* Étapes numérotées façon « parcours » de la maquette */
.p01-page .steps{gap:16px}
.p01-page .step-card{padding:26px 24px;border:1px solid rgba(137,169,228,.16);border-radius:1.1875rem;background:rgba(255,255,255,.045);box-shadow:none;-webkit-backdrop-filter:var(--fs-blur-glass);backdrop-filter:var(--fs-blur-glass);transition:transform .2s ease, background .2s ease}
.p01-page .step-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.075)}
.p01-page .step-card::before{width:48px;height:48px;display:grid;place-items:center;margin-bottom:16px;border:1px solid rgba(115,233,255,.35);border-radius:1rem;color:var(--fs-p01-c-7ceefa);background:var(--fs-p01-c-0e2346);-webkit-text-fill-color:currentColor;font-size:.8rem;font-weight:900;letter-spacing:0}
.p01-page .step-card:nth-child(2)::before{color:var(--fs-p01-c-b298ff);border-color:rgba(171,146,255,.34)}
.p01-page .step-card:nth-child(3)::before{color:var(--fs-p01-c-f28ae9);border-color:rgba(242,138,233,.34)}
.p01-page .section:not(.p01p-navy) .step-card{border-color:var(--p6-line);background:var(--p6-card)}
.p01-page .section:not(.p01p-navy) .step-card h3{color:var(--p6-title)}

/* ------------------------------------------------------------------ panneau formateur (dégradé) */
.p01p-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.82fr);align-items:center;gap:56px;padding:54px 60px;overflow:hidden;border-radius:2rem;color:#fff;background:var(--fs-p01-c-0a1a42) url(../img/p01/trainer-background.svg) center / cover no-repeat;box-shadow:0 28px 70px rgba(32,31,105,.25)}
.p01p-panel--single{grid-template-columns:minmax(0,1fr)}
.p01p-panel > *{position:relative;z-index:1}
.p01-page .p01p-panel h2,.p01-page .p01p-panel h3{margin:0 0 14px;color:#fff;font-size:clamp(1.8rem, 2.7vw, 2.6rem);font-weight:800;line-height:1.12;letter-spacing:-.035em}
.p01-page .p01p-panel p,.p01-page .p01p-panel .muted{max-width:630px;margin:0 0 24px;color:var(--fs-p01-c-cad6ef);line-height:1.75}
.p01p-panel__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.p01p-panel__link{display:inline-flex;align-items:center;min-height:44px;color:#fff;font-size:.88rem;font-weight:800;text-decoration:underline;text-decoration-color:rgba(255,255,255,.38);text-underline-offset:5px}
.p01-page .p01p-panel__link:hover{color:#fff}
.p01p-panel .check-list{display:grid;gap:12px;margin:0 0 28px;padding:0;list-style:none}
.p01p-panel .check-list li{display:flex;align-items:flex-start;gap:10px;color:var(--fs-p01-c-dce9ff)}
.p01p-panel .check-list .ic{flex:none;color:var(--fs-p01-c-7cecff)}
.p01p-panel__card{padding:22px;border:1px solid rgba(255,255,255,.28);border-radius:1.25rem;color:var(--fs-p01-c-1b2742);background:rgba(255,255,255,.94);box-shadow:0 28px 70px rgba(8,5,54,.35);transform:rotate(2deg)}
[dir="rtl"] .p01p-panel__card{transform:rotate(-2deg)}
.p01p-panel__card .counters{margin:0;padding:0;border:0;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.p01p-panel__card .counter{padding:14px 10px;border-radius:.6875rem;background:var(--fs-p01-c-f3f6fb)}
.p01p-panel__card .counter span{color:var(--fs-p01-c-55647e)}

/* ------------------------------------------------------------------ appel final */
.p01p-cta{color:#fff;background:var(--fs-p01-c-5542d8) url(../img/p01/cta-gradient.svg) center / cover no-repeat}
.p01p-cta__inner{min-height:218px;display:flex;align-items:center;justify-content:space-between;gap:35px;padding-block:36px}
.p01-page .p01p-cta h2{margin:0;color:#fff;font-size:clamp(1.7rem, 2.5vw, 2.45rem);font-weight:800;line-height:1.1;letter-spacing:-.035em}
.p01p-cta .p01p-kicker{margin-bottom:7px}
.p01p-cta__lead{max-width:620px;margin:10px 0 0;color:rgba(255,255,255,.86)}
.p01p-cta__actions{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.p01p-cta__link{display:inline-flex;align-items:center;min-height:44px;color:#fff;font-size:.88rem;font-weight:800;text-decoration:underline;text-decoration-color:rgba(255,255,255,.38);text-underline-offset:5px}
.p01-page .p01p-cta__link:hover{color:#fff}

/* ------------------------------------------------------------------ FAQ (accordéon de la maquette) */
.p01p-faq{background:var(--p6-soft)}
.p01p-faq__grid{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(40px, 6vw, 90px);align-items:start}
.p01p-accordion{display:grid;gap:10px}
.p01p-accordion details{overflow:hidden;border:1px solid var(--fs-p01-c-dfe6f1);border-radius:.9375rem;background:var(--p6-card)}
.p01p-accordion summary{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 20px;color:var(--p6-title);cursor:pointer;font-size:.92rem;font-weight:800;list-style:none}
.p01p-accordion summary::-webkit-details-marker{display:none}
.p01p-accordion summary:focus-visible{outline:3px solid rgba(82,100,202,.6);outline-offset:-3px}
.p01p-accordion summary span{position:relative;width:27px;height:27px;flex:0 0 auto;border-radius:.5rem;background:var(--fs-p01-c-f0f3f9)}
.p01p-accordion summary span::before,.p01p-accordion summary span::after{content:"";position:absolute;top:13px;inset-inline-start:8px;width:11px;height:1.5px;background:var(--fs-p01-c-5264ca);transition:transform .2s ease}
.p01p-accordion summary span::after{transform:rotate(90deg)}
.p01p-accordion details[open] summary span::after{transform:rotate(0)}
.p01p-accordion details[open]{border-color:var(--fs-p01-c-cbd3f0);box-shadow:0 12px 30px rgba(28,48,90,.065)}
.p01p-accordion details p{margin:-4px 20px 19px;padding-top:14px;border-top:1px solid var(--fs-p01-c-edf0f5);color:var(--p6-muted);font-size:.88rem}
[data-theme="dark"] .p01p-accordion details{border-color:var(--p6-line)}

/* ------------------------------------------------------------------ catalogue : pastilles, filtres, tri, pages */
.p01-page .chip-row{gap:8px;padding-block:4px 12px;margin-bottom:18px;scrollbar-width:none}
.p01-page .chip-row::-webkit-scrollbar{display:none}
.p01-page .chip-row .chip,.p01-page .tab-links a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--p6-chip-line);border-radius:var(--fs-radius-full);color:var(--p6-chip);background:var(--p6-card);font-size:.82rem;font-weight:750;transition:.2s ease}
.p01-page .chip-row .chip:hover,.p01-page .tab-links a:hover{color:var(--fs-p01-c-4d47c8);border-color:var(--fs-p01-c-aaa6ff)}
.p01-page .chip-row .chip.on,.p01-page .tab-links a.on{color:#fff;border-color:transparent;background:linear-gradient(118deg, var(--fs-p01-c-1aa4f7), var(--fs-p01-c-6346ec) 72%, var(--fs-p01-c-bd2dcc));box-shadow:0 8px 20px rgba(75,73,218,.24)}
.p01-page .tab-links{justify-content:flex-start;flex-wrap:wrap;gap:8px;margin-bottom:24px}
.p01-page .filter-bar{margin-bottom:16px}
.p01-page .filter-bar .select,.p01-page .table-toolbar .select{min-height:44px;border-radius:.875rem}
.p01-page .count-pill{padding:8px 16px;color:var(--fs-p01-c-4d59cf);background:var(--fs-p01-c-eef5ff);font-weight:800}
[data-theme="dark"] .p01-page .count-pill{color:var(--fs-p01-c-7cecff);background:rgba(23,137,255,.14)}
.p01-page .filters.card{padding:22px;border-radius:1.375rem;background:linear-gradient(145deg, var(--p6-card), var(--p6-soft2))}
.p01-page .filters h4{color:var(--p6-kicker);font-size:.75rem;font-weight:850;letter-spacing:.11em}
.p01-page .more-filters > summary{min-height:44px}
.p01-page .more-filters > summary strong{color:var(--p6-title)}
.p01-page .table-toolbar{margin-bottom:18px}
.p01-page .pagination{gap:6px;margin-top:40px}
.p01-page .pagination .page{min-width:44px;height:44px;border:1px solid var(--p6-chip-line);border-radius:var(--fs-radius-full);color:var(--p6-chip);background:var(--p6-card);font-weight:750}
.p01-page .pagination .page.active{color:#fff;border-color:transparent;background:linear-gradient(118deg, var(--fs-p01-c-1aa4f7), var(--fs-p01-c-6346ec) 72%, var(--fs-p01-c-bd2dcc));box-shadow:0 8px 20px rgba(75,73,218,.24)}
.p01-page .pagination .gap{border-color:transparent;background:transparent}
.p01-page .course-grid{gap:21px}

/* ------------------------------------------------------------------ abonnements */
.p01-page .pricing-toggle{padding:6px;border:1px solid var(--p6-line);border-radius:var(--fs-radius-full);background:var(--p6-card);box-shadow:var(--p6-shadow)}
.p01-page .pricing-toggle button{min-height:44px;padding:0 20px;color:var(--p6-chip);font-weight:750}
.p01-page .pricing-toggle button.active{color:#fff;background:linear-gradient(118deg, var(--fs-p01-c-1aa4f7), var(--fs-p01-c-6346ec) 72%, var(--fs-p01-c-bd2dcc));box-shadow:0 8px 20px rgba(75,73,218,.24)}
.p01-page .pricing-grid{max-width:1240px;gap:22px}
.p01-page .plan{padding:32px 28px;border-radius:1.5625rem;background:linear-gradient(145deg, var(--p6-card), var(--p6-soft2))}
.p01-page .plan h3{color:var(--p6-title);font-size:1.28rem;letter-spacing:-.025em}
.p01-page .plan .plan-price{color:var(--p6-title)}
.p01-page .plan li .ic{color:var(--fs-p01-c-157feb)}
.p01-page .plan.recommended{color:#fff;border:1px solid rgba(152,182,255,.26);background:linear-gradient(125deg, var(--fs-p01-c-0a1a42) 0%, var(--fs-p01-c-30309a) 55%, var(--fs-p01-c-8a27ba) 100%);box-shadow:0 28px 70px rgba(32,31,105,.3);transform:translateY(-8px)}
.p01-page .plan.recommended h3,.p01-page .plan.recommended .plan-price{color:#fff}
.p01-page .plan.recommended .plan-price small,.p01-page .plan.recommended .muted,.p01-page .plan.recommended .plan-desc{color:var(--fs-p01-c-cad6ef)}
.p01-page .plan.recommended li{color:var(--fs-p01-c-dce9ff)}
.p01-page .plan.recommended li .ic{color:var(--fs-p01-c-7cecff)}
.p01-page .plan.recommended li a{color:var(--fs-p01-c-cad6ef)}
.p01-page .plan .ribbon{background:var(--fs-p01-gradient);box-shadow:0 8px 20px rgba(75,73,218,.3);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.p01-page .trust-row{color:var(--p6-muted)}
.p01-page .calc-box{border-radius:1.5625rem}
.p01-page .calc-item.accent{background:var(--fs-p01-gradient);color:#fff}
.p01-page .calc-item.accent span,.p01-page .calc-item.accent b{color:#fff;-webkit-text-fill-color:currentColor}
.p01-page .table-wrap{border:1px solid var(--p6-line);border-radius:1.375rem;background:var(--p6-card);box-shadow:var(--p6-shadow)}
.p01-page .compare-table thead th{color:var(--p6-title)}
.p01-page .testi{border-radius:1.375rem}

/* ------------------------------------------------------------------ formateurs */
.p01-page .instr-card{padding:30px 20px 24px;background:linear-gradient(145deg, var(--p6-card), var(--p6-soft2))}
.p01-page .instr-card .avatar{box-shadow:0 0 0 4px var(--p6-card), 0 0 0 6px var(--fs-p01-c-cbd3f0)}
.p01-page .instr-card strong{color:var(--p6-title)}
.p01p-profile{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.p01p-profile .avatar{width:120px;height:120px;font-size:2.5rem;border:4px solid rgba(255,255,255,.2);box-shadow:0 0 0 8px rgba(255,255,255,.05)}
.p01p-profile__meta{display:flex;flex-wrap:wrap;gap:10px 22px;color:var(--fs-p01-c-cbd7ec);font-size:.9rem;font-weight:650}
.p01p-profile__meta span,.p01p-profile__meta a{display:inline-flex;align-items:center;gap:7px;color:var(--fs-p01-c-cbd7ec)}
.p01p-profile__meta a:hover{color:#fff}
.p01p-profile__meta .ic{color:var(--fs-p01-c-7ceefa)}

/* ------------------------------------------------------------------ fiche de parcours */
.p01-page .path-list{gap:14px}
.p01-page .path-step{border:1px solid var(--p6-line);border-radius:1.1875rem;background:var(--p6-card);box-shadow:var(--p6-shadow)}
.p01-page .path-step .step-num{width:48px;height:48px;min-width:48px;display:grid;place-items:center;border:1px solid rgba(115,233,255,.35);border-radius:1rem;color:var(--fs-p01-c-7ceefa);-webkit-text-fill-color:currentColor;background:var(--fs-p01-c-0e2346);-webkit-background-clip:border-box;background-clip:border-box;font-size:.85rem;opacity:1}
.p01p-hero .meta-line > span{display:inline-flex;align-items:center;gap:6px}
.p01-page .path-step .step-title{color:var(--p6-title)}
.p01p-hero .meta,.p01p-hero .meta .muted{color:var(--fs-p01-c-cbd7ec)}
.p01p-hero .path-buy{color:var(--fs-p01-ink)}

/* ------------------------------------------------------------------ pages à contenu (légal, statut, contact…) */
.p01p-paper{padding:clamp(24px, 4vw, 48px);border:1px solid var(--p6-line);border-radius:1.5625rem;background:var(--p6-card);box-shadow:var(--p6-shadow)}
.p01-page .p01p-paper h2{color:var(--p6-title);letter-spacing:-.02em}
.p01-page .p01p-paper > .prose,.p01-page .p01p-paper .prose{max-width:none}
.p01p-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.p01p-channel{display:flex;align-items:center;gap:14px;padding:20px;border:1px solid var(--p6-line);border-radius:1.1875rem;background:var(--p6-card);box-shadow:var(--p6-shadow);color:var(--p6-title);font-weight:700;overflow-wrap:anywhere}
.p01p-channel > .ic{flex:none;width:47px;height:47px;padding:12px;border-radius:.875rem;color:var(--fs-p01-c-157feb);background:var(--p6-icon-bg)}
.p01p-channel:nth-child(2) > .ic{color:var(--fs-p01-c-7546df);background:var(--fs-p01-c-f0ebff)}
.p01p-channel:nth-child(3) > .ic{color:var(--fs-p01-c-df31b4);background:var(--fs-p01-c-fff0fb)}
.p01-page .verify-result{border-radius:1.375rem}
.p01-page .alert{border-radius:1.1875rem}
.p01p-hero .verify-form{max-width:760px;padding:18px;border:1px solid rgba(152,182,255,.26);border-radius:1.25rem;background:rgba(255,255,255,.07);-webkit-backdrop-filter:var(--fs-blur-glass);backdrop-filter:var(--fs-blur-glass)}
.p01p-hero .verify-form label,.p01p-hero .verify-form .label{color:#fff}
.p01p-hero .verify-form .hint,.p01p-hero .verify-form .muted{color:var(--fs-p01-c-cbd7ec)}
.p01p-hero .verify-form .input{background:#fff;color:var(--fs-p01-ink)}
.p01p-hero__links{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.p01p-hero__links .btn{color:#fff;border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.055)}

/* ------------------------------------------------------------------ panier et paiement (habillage) */
.p01-page .commerce .order-summary{border-radius:1.5625rem;background:linear-gradient(145deg, var(--p6-card), var(--p6-soft2))}
.p01-page .commerce .order-summary h3{color:var(--p6-title)}
.p01-page .commerce .totals .grand{color:var(--p6-title)}
.p01-page .cart-line{border-color:var(--p6-line)}
.p01-page .cart-thumb{border-radius:.875rem;color:var(--fs-p01-c-157feb);background:var(--p6-icon-bg)}
.p01p-hero .checkout-steps,.p01p-hero .steps-bar{margin-top:10px}

/* ------------------------------------------------------------------ pages d'erreur */
.p01p-error{text-align:center}
.p01-page:has(> .p01p-error){display:flex;flex-direction:column;background:var(--fs-p01-navy-950)}
.p01-page > .p01p-error{flex:1;display:flex;align-items:center}
.p01p-error::after{display:none}
.p01p-error .p01p-hero__content{margin-inline:auto;max-width:760px}
.p01p-error .p01p-hero__title,.p01p-error .p01p-hero__lead{margin-inline:auto}
.p01p-error .p01p-hero__actions{justify-content:center}
.p01p-error__code{margin:0 0 6px;font-size:clamp(4.5rem, 12vw, 8rem);font-weight:900;line-height:1;letter-spacing:-.06em;color:transparent;background:var(--fs-p01-gradient);-webkit-background-clip:text;background-clip:text}
.p01p-error .illus-lg{max-width:260px;margin:0 auto 8px;opacity:.95}
.p01p-error pre{text-align:start}

/* ------------------------------------------------------------------ gabarit d'authentification */
.p01-auth{min-height:100vh;color:var(--fs-p01-ink);background:linear-gradient(128deg, var(--fs-p01-c-050a1d) 0%, var(--fs-p01-c-07142f) 48%, var(--fs-p01-c-101947) 100%) fixed}
.p01-auth .auth-wrap{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden}
.p01-auth .auth-wrap::before{content:"";position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px);background-size:52px 52px;-webkit-mask-image:linear-gradient(to bottom, transparent 3%, #000 30%, transparent 92%);mask-image:linear-gradient(to bottom, transparent 3%, #000 30%, transparent 92%);pointer-events:none}
.p01-auth .auth-side{background:transparent;padding:48px clamp(24px, 4vw, 64px)}
.p01-auth .auth-side .p01p-eyebrow{margin-bottom:20px;font-size:.76rem}
.p01-auth .auth-side .auth-logo img{width:230px;height:auto}
.p01-auth .auth-side h2{max-width:540px;margin:0 0 16px;color:#fff;font-size:clamp(2rem, 3.2vw, 3rem);font-weight:800;line-height:1.06;letter-spacing:-.045em}
.p01-auth .auth-side p{max-width:520px;color:var(--fs-p01-c-b9c7e4);font-size:1rem;line-height:1.75}
.p01-auth .auth-perks{gap:14px;margin-top:26px}
.p01-auth .auth-perks li{color:var(--fs-p01-c-cbd7ec);font-size:.92rem;font-weight:650}
.p01-auth .auth-perks .ic{box-sizing:content-box;width:.85rem;height:.85rem;padding:4px;border-radius:.4375rem;color:var(--fs-p01-c-6ff5ff);background:rgba(9,216,245,.12)}
.p01-auth .auth-perks li:nth-child(2) .ic{color:var(--fs-p01-c-bca1ff);background:rgba(124,60,255,.14)}
.p01-auth .auth-perks li:nth-child(3) .ic{color:var(--fs-p01-c-ff8bf4);background:rgba(238,32,220,.12)}
.p01-auth .auth-orb{opacity:.3;filter:blur(85px)}
.p01-auth .auth-orb.o1{background:var(--fs-p01-c-8e29ff)}
.p01-auth .auth-orb.o2{background:var(--fs-p01-c-02e8ff)}
.p01-auth .auth-orb.o3{display:none}
.p01-auth .auth-main{padding:48px 20px}
.p01-auth .auth-card{border:1px solid rgba(152,182,255,.26);border-radius:1.5625rem;background:var(--p6-card);color:var(--p6-ink);box-shadow:0 55px 110px rgba(0,0,0,.43), 0 0 0 8px rgba(255,255,255,.025)}
.p01-auth .auth-card h1{color:var(--p6-title);font-size:clamp(1.6rem, 2.4vw, 2rem);font-weight:800;letter-spacing:-.035em}
.p01-auth .auth-card .btn-primary{min-height:48px;border:0;border-radius:.8125rem;color:#fff;background:var(--fs-p01-gradient);box-shadow:0 11px 28px rgba(61,85,255,.32), inset 0 1px rgba(255,255,255,.3);font-weight:800}
.p01-auth .auth-card .btn-primary:hover{box-shadow:0 15px 36px rgba(68,77,255,.42), inset 0 1px rgba(255,255,255,.3);transform:translateY(-2px)}
.p01-auth .auth-card .btn-outline{border-radius:.8125rem}
.p01-auth .auth-card a:not(.btn){color:var(--p6-link)}
.p01-auth .auth-top .lang-switch,.p01-auth .auth-top a,.p01-auth .auth-top button{color:var(--fs-p01-c-dce9ff)}
.p01-auth .auth-foot{color:var(--fs-p01-c-a9b9d5)}
.p01-auth .auth-foot a{color:#fff}
.p01-auth .auth-mobile-logo{display:none}

/* Bandeau posé sur une section existante (fiche de parcours, profil formateur) : même habillage, contenu d'origine */
.p01-page .p01p-hero.section{padding:clamp(48px, 5vw, 72px) 0 clamp(96px, 9vw, 132px)}
.p01p-hero > .container{position:relative;z-index:2}
.p01-page .p01p-hero h1{color:#fff}
.p01-page .p01p-hero .lead{color:var(--fs-p01-c-b9c7e4)}
.p01p-hero .kicker.p01p-eyebrow{gap:9px;padding:7px 13px}
.p01p-hero .kicker.p01p-eyebrow .ic{color:var(--fs-p01-c-7ceefa)}
.p01p-hero .stars b{color:#fff}
.p01-page .hero-band{background:var(--p6-bg)}
/* Grille des cartes de fonctionnalités : quatre colonnes, trois dès cinq cartes (jamais de carte orpheline sur 5 + 1) */
.p01-page .feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.p01-page .feature-grid:has(> :nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}
.p01-page .section-alt.hero-band{background:var(--p6-soft)}

/* ------------------------------------------------------------------ mouvement réduit */
@media (prefers-reduced-motion:reduce){
  .p01-page .card-hover:hover,.p01-page .step-card:hover,.p01p-text-link:hover .p01-ic,.p01-auth .auth-card .btn-primary:hover{transform:none}
  .p01-page .plan.recommended{transform:none}
}

/* ------------------------------------------------------------------ points de rupture (échelle 1100 / 900 / 640) */
@media (max-width:1100px){
  .p01p-hero--split .p01p-hero__grid{grid-template-columns:minmax(0,1fr)}
  .p01p-panel{gap:40px;padding:48px}
}
@media (max-width:900px){
  /* Bandeau étroit : le fond SVG (1440 × 795, découpe incluse) serait mis à l’échelle sur la hauteur ; dégradé CSS seul. */
  .p01p-hero{background:linear-gradient(128deg, var(--fs-p01-c-050a1d) 0%, var(--fs-p01-c-07142f) 48%, var(--fs-p01-c-101947) 100%)}
  .p01p-panel{grid-template-columns:minmax(0,1fr)}
  .p01p-panel__card{transform:none}
  [dir="rtl"] .p01p-panel__card{transform:none}
  .p01p-faq__grid{grid-template-columns:minmax(0,1fr)}
  .p01p-channels{grid-template-columns:minmax(0,1fr)}
  .p01-auth .auth-wrap{grid-template-columns:minmax(0,1fr)}
  .p01-auth .auth-mobile-logo{display:block;margin:0 auto 22px;width:190px}
  .p01-auth .auth-mobile-logo img{width:100%;height:auto}
  .p01-page .plan.recommended{transform:none}
  .p01-page .feature-grid,.p01-page .feature-grid:has(> :nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .p01p-head--split{flex-direction:column;align-items:flex-start}
  .p01-page .p01p-hero__title{font-size:clamp(1.9rem, 8.5vw, 2.5rem)}
  .p01p-hero__actions{flex-direction:column;align-items:stretch}
  .p01p-hero__actions .p01-button{width:100%}
  .p01p-search{flex-direction:column}
  .p01p-search .p01-button{width:100%}
  .p01p-panel{padding:40px 24px;border-radius:1.5625rem}
  .p01p-panel__actions{flex-direction:column;align-items:stretch}
  .p01p-cta__inner{flex-direction:column;align-items:flex-start;justify-content:center;padding-block:42px}
  .p01p-cta__actions{width:100%;flex-direction:column;align-items:stretch}
  .p01p-cta .p01-button{width:100%}
  .p01p-cta__link{justify-content:center}
  .p01-page .chip-row{flex-wrap:nowrap;overflow-x:auto;margin-inline:-14px;padding-inline:14px}
  .p01-page .chip-row .chip{flex:0 0 auto}
  .p01p-accordion summary{min-height:72px;padding:0 15px;font-size:.88rem}
  .p01-auth .auth-main{padding:32px 14px}
  .p01-page .feature-grid,.p01-page .feature-grid:has(> :nth-child(5)){grid-template-columns:minmax(0,1fr)}
}

/* ================================================================== pages restantes (chantier pages11, §34.5) */
/* Titres de cartes de contenu (P01Pages::cardHead) : surtitre + titre à mots en dégradé. */
.p01p-card-head{margin-bottom:18px}
.p01p-card-head .p01p-kicker{margin-bottom:6px;font-size:.75rem}
.p01-page .p01p-card-title{margin:0;color:var(--p6-title);font-size:clamp(1.3rem, 1.8vw, 1.6rem);font-weight:800;line-height:1.2;letter-spacing:-.03em}
.p01-page h3.p01p-card-title{font-size:1.15rem;letter-spacing:-.02em}

/* ------------------------------------------------------------------ fiche formation : bandeau */
.p01-page .p01p-hero--course{padding:clamp(40px, 4.5vw, 64px) 0 clamp(96px, 9vw, 132px)}
.p01p-course-head{position:relative;max-width:780px}
.p01-page .p01p-hero--course .p01p-hero__title{margin-top:14px}
.p01-page .p01p-hero--course .p01p-hero__lead{margin-bottom:22px;font-size:1.05rem}
.p01p-course-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:0}
.p01-page .p01p-course-meta > span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 13px;border:1px solid rgba(137,169,228,.2);border-radius:var(--fs-radius-full);color:var(--fs-p01-c-cbd7ec);background:rgba(255,255,255,.055);font-size:.82rem;font-weight:650}
.p01p-course-meta > span > .ic{width:1rem;height:1rem;color:var(--fs-p01-c-7ceefa)}
.p01p-course-meta .stars .ic{color:var(--fs-p01-c-ffc95f)}
.p01p-course-meta .course-version-link{color:#fff;text-decoration:underline;text-underline-offset:3px}
.p01p-course-by{display:flex;align-items:center;gap:12px;margin-top:22px}
.p01p-course-by .avatar{width:46px;height:46px;border:2px solid rgba(255,255,255,.22);box-shadow:0 0 0 4px rgba(255,255,255,.05)}
.p01p-course-by small{display:block;color:var(--fs-p01-c-a9b9d5);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.p01-page .p01p-course-by a{color:#fff;font-weight:800}
.p01-page .p01p-course-by a:hover{color:var(--fs-p01-c-7cecff)}

/* ------------------------------------------------------------------ fiche formation : contenu */
.p01-page .course-layout{gap:clamp(28px, 3vw, 44px)}
.p01-page .course-layout > div > .card > .card-body,.p01-page .course-layout > div > .card.card-body{padding:clamp(22px, 2.4vw, 32px)}
.p01-page .objectives{gap:12px 26px}
.p01-page .objectives li{color:var(--p6-ink);line-height:1.55}
.p01-page .objectives .ic{box-sizing:content-box;width:.8rem;height:.8rem;margin-top:1px;padding:5px;border-radius:50%;color:#fff;background:var(--fs-p01-gradient);box-shadow:0 6px 14px rgba(75,73,218,.22)}
.p01-page .course-layout .prose li::marker{color:var(--p6-kicker)}
/* Programme : accordéon de la maquette, numéro de section en carré bleu nuit, chevron en fin de ligne. */
.p01-page .curriculum details{margin-bottom:10px;border:1px solid var(--p6-line);border-radius:.9375rem;background:var(--p6-card)}
.p01-page .curriculum details[open]{border-color:var(--fs-p01-c-cbd3f0);box-shadow:0 12px 30px rgba(28,48,90,.065)}
.p01-page .curriculum summary{min-height:62px;padding:10px 18px;gap:12px;color:var(--p6-title);background:transparent;font-weight:800}
.p01-page .curriculum summary:focus-visible{outline:3px solid rgba(82,100,202,.6);outline-offset:-3px}
.p01-page .curriculum summary .chev{order:9;flex:none;width:27px;height:27px;padding:6px;border-radius:.5rem;color:var(--fs-p01-c-5264ca);background:var(--fs-p01-c-f0f3f9)}
.p01-page .curriculum summary small{color:var(--p6-muted);font-size:.78rem;font-weight:650}
.p01p-num{flex:none;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(115,233,255,.35);border-radius:.625rem;color:var(--fs-p01-c-7ceefa);background:var(--fs-p01-c-0e2346);font-size:.75rem;font-weight:900;font-variant-numeric:tabular-nums}
.p01-page .curriculum .lesson{min-height:48px;padding:10px 18px;border-color:var(--p6-line);color:var(--p6-ink);font-size:.9rem}
.p01-page .curriculum .lesson .ic{color:var(--p6-kicker)}
.p01-page .curriculum a.lesson:hover{background:var(--p6-soft)}
.p01-page .curriculum .lesson.preview{color:var(--p6-link);font-weight:700}
/* Formateur et avis */
.p01-page .course-layout .avatar-xl{box-shadow:0 0 0 4px var(--p6-card), 0 0 0 6px var(--fs-p01-c-cbd3f0)}
.p01-page .course-layout .stars .ic:not(.off){color:var(--fs-p01-c-ffc95f)}
.p01-page #reviews .big-rating{font-size:4rem}
.p01-page #reviews .rating-bars .progress{height:9px;background:var(--p6-soft)}
.p01-page #reviews .rating-bars .progress > span{background:var(--fs-p01-gradient)}
.p01-page .review-item{margin-top:12px;padding:18px;border:1px solid var(--p6-line);border-radius:1.1875rem;background:var(--p6-soft2)}
.p01-page .review-item:last-child{border-bottom:1px solid var(--p6-line)}
.p01-page .review-item .card-sunken{border-radius:.875rem}
/* FAQ de la formation et formations associées */
.p01p-course-faq .p01p-accordion details{background:var(--p6-soft2)}
.p01p-course-related{margin-top:clamp(40px, 4vw, 56px)}
.p01p-course-related .p01p-head{margin-bottom:26px}
.p01-page .p01p-course-related .p01p-head__title{font-size:clamp(1.5rem, 2.2vw, 2rem)}

/* ------------------------------------------------------------------ encart d'achat (fiche formation, pack) */
.p01-page .course-side .card{border-radius:1.5625rem}
.p01-page .p01-buy{box-shadow:0 28px 70px rgba(24,46,88,.16)}
.p01-page .course-side .card-body{padding:24px}
.p01-page .course-side .price{font-size:2.15rem;line-height:1.1}
.p01-page .course-side .btn-lg{min-height:52px;border-radius:.875rem;font-weight:800}
.p01-page .course-side .btn-outline{min-height:48px;border-radius:.875rem;border-color:var(--p6-chip-line);color:var(--p6-title);font-weight:750}
.p01-page .course-side .btn-outline:hover{border-color:var(--fs-p01-c-aaa6ff);color:var(--fs-p01-c-4d47c8)}
.p01-page .course-side .btn-ghost{min-height:44px;border-radius:.75rem}
.p01-page .course-side .alert{border-radius:.9375rem}
.p01-page .course-side h4{color:var(--p6-kicker);font-size:.75rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.p01-page .course-side .includes{gap:10px;color:var(--p6-ink)}
.p01-page .course-side .includes .ic{box-sizing:content-box;padding:6px;border-radius:.5625rem;color:var(--fs-p01-c-157feb);background:var(--p6-icon-bg)}
.p01-page .course-side .includes li:nth-child(4n+2) .ic{color:var(--fs-p01-c-7546df);background:var(--fs-p01-c-f0ebff)}
.p01-page .course-side .includes li:nth-child(4n+3) .ic{color:var(--fs-p01-c-df31b4);background:var(--fs-p01-c-fff0fb)}
.p01-page .course-side .includes li:nth-child(4n+4) .ic{color:var(--fs-p01-c-059ebd);background:var(--fs-p01-c-e6fbff)}
[data-theme="dark"] .p01-page .course-side .includes li:nth-child(n) .ic{color:var(--fs-p01-c-7ceefa);background:rgba(9,216,245,.12)}
[data-theme="dark"] .p01-page .curriculum summary .chev{color:var(--fs-p01-c-7cecff);background:rgba(23,137,255,.14)}
[data-theme="dark"] .p01-page .curriculum details[open]{border-color:var(--p6-line)}
.p01-page #reviews .rating-bars > div > .nowrap{display:inline-flex;align-items:center;gap:4px;min-width:44px;color:var(--p6-title);font-weight:750}

/* ------------------------------------------------------------------ bibliothèque : cartes de livres */
.p01-page .book-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.p01-page .book-card{position:relative;border:1px solid var(--p6-line);border-radius:1.375rem;background:var(--p6-card);box-shadow:var(--p6-shadow);transition:transform .24s ease, box-shadow .24s ease}
.p01-page .book-card:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(26,42,82,.13)}
.p01-page .book-card .book-cover{margin:10px 10px 0;border-radius:1rem}
.p01-page .book-ph{background:linear-gradient(145deg, var(--fs-p01-c-0a1a42) 0%, var(--fs-p01-c-30309a) 55%, var(--fs-p01-c-8a27ba) 100%);color:var(--fs-p01-c-7cecff)}
.p01-page .book-card .body{padding:16px 18px 18px;gap:8px}
.p01-page .book-card h3{font-size:1.02rem;font-weight:800;letter-spacing:-.02em}
.p01-page .book-card h3 a{color:var(--p6-title)}
.p01-page .book-card h3 a:hover{color:var(--p6-link)}
.p01-page .book-card .instr,.p01-page .book-card .meta-line > span:not(.sep),.p01-page .book-card .card-sub-note{display:inline-flex;align-items:center;gap:5px;color:var(--p6-muted);font-size:.8rem}
.p01-page .book-card .meta-line{gap:4px 8px}
.p01-page .book-card .meta-line .sep{display:none}
.p01-page .book-card .foot{flex-wrap:wrap;padding-top:12px;border-top:1px solid var(--p6-line)}
.p01-page .book-card .foot .btn{min-height:40px;border-radius:.75rem}
.p01-page .book-card .price{color:var(--p6-title);font-size:1.1rem;font-weight:850}
.p01-page .book-card .price.free{color:var(--fs-success-text)}
.p01-page .book-flag{top:12px;inset-inline-start:12px;border-radius:var(--fs-radius-full)}
@media (prefers-reduced-motion:reduce){.p01-page .book-card:hover{transform:none}}

/* ------------------------------------------------------------------ fiche d'un livre : achat dans le bandeau, couverture à droite */
.p01p-book-cover{max-width:320px;margin-inline:auto;transform:rotate(-2deg)}
[dir="rtl"] .p01p-book-cover{transform:rotate(2deg)}
.p01p-book-cover img,.p01p-book-cover .book-ph{width:100%;border:1px solid rgba(255,255,255,.2);border-radius:1.25rem;box-shadow:0 38px 80px rgba(2,6,24,.55), 0 0 0 8px rgba(255,255,255,.04)}
.p01p-book-buy .meta-line{gap:8px;margin:0 0 20px}
.p01p-book-cover img{display:block}
.p01-page .p01p-book-buy .meta-line .sep{display:none}
.p01-page .p01p-book-buy .meta-line > span:not(.sep){display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:5px 12px;border:1px solid rgba(137,169,228,.2);border-radius:var(--fs-radius-full);color:var(--fs-p01-c-cbd7ec);background:rgba(255,255,255,.055);font-size:.82rem;font-weight:650}
.p01p-book-buy .meta-line .ic{color:var(--fs-p01-c-7ceefa)}
.p01p-book-buy .book-actions{margin:0;padding:16px;border:1px solid rgba(152,182,255,.26);border-radius:1.25rem;background:rgba(255,255,255,.07);-webkit-backdrop-filter:var(--fs-blur-glass);backdrop-filter:var(--fs-blur-glass)}
.p01-page .p01p-book-buy .price{color:#fff;font-size:2rem;font-weight:850;letter-spacing:-.02em}
.p01-page .p01p-book-buy .price-block .old,.p01-page .p01p-book-buy .muted{color:var(--fs-p01-c-a9b9d5)}
.p01-page .p01p-book-buy .btn-lg{min-height:52px;border-radius:.875rem;font-weight:800}
.p01-page .p01p-book-buy .btn-outline,.p01-page .p01p-book-buy .btn-ghost{min-height:48px;border-radius:.875rem;border-color:rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.06)}
.p01-page .p01p-book-buy .btn-outline:hover,.p01-page .p01p-book-buy .btn-ghost:hover{border-color:rgba(255,255,255,.45);color:#fff;background:rgba(255,255,255,.12)}
.p01-page .preview-page img{border-radius:1rem;box-shadow:var(--p6-shadow);border-color:var(--p6-line)}
.p01-page .preview-page figcaption{color:var(--p6-muted);font-weight:700}

/* ------------------------------------------------------------------ blog : liste et article */
.p01-page .p01p-blog-cats{display:flex;flex-wrap:wrap}
.p01-page .blog-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:22px}
.p01-page .p01p-post-card{display:flex;flex-direction:column;overflow:hidden;color:var(--p6-ink)}
.p01-page .p01p-post-card .cover{position:relative;margin:10px 10px 0;border-radius:1rem;background:linear-gradient(145deg, var(--fs-p01-c-0a1a42) 0%, var(--fs-p01-c-30309a) 55%, var(--fs-p01-c-8a27ba) 100%)}
.p01-page .p01p-post-card .cover img{transition:transform .5s ease}
.p01-page .p01p-post-card:hover .cover img{transform:scale(1.04)}
.p01p-post-ph{position:absolute;inset:0;display:grid;place-items:center;color:var(--fs-p01-c-7cecff)}
.p01p-post-pill{position:absolute;top:12px;inset-inline-start:12px;padding:4px 11px;border:1px solid rgba(255,255,255,.3);border-radius:var(--fs-radius-full);color:#fff;background:rgba(7,18,42,.45);-webkit-backdrop-filter:var(--fs-blur-chip);backdrop-filter:var(--fs-blur-chip);font-size:.75rem;font-weight:800}
.p01-page .p01p-post-card .card-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px}
.p01-page .p01p-post-card small{display:inline-flex;align-items:center;gap:6px}
.p01-page .p01p-post-card h3{color:var(--p6-title);font-weight:800;letter-spacing:-.02em}
.p01p-post-more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:8px;color:var(--p6-link);font-size:.88rem;font-weight:800}
.p01p-post-more .p01-ic{width:1.05rem;height:1.05rem;transition:transform .2s ease}
.p01p-post-card:hover .p01p-post-more .p01-ic{transform:translateX(3px)}
[dir="rtl"] .p01p-post-card:hover .p01p-post-more .p01-ic{transform:scaleX(-1) translateX(3px)}
.p01p-post-meta{display:flex;flex-wrap:wrap;gap:8px}
.p01-page .p01p-post-meta > span{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 13px;border:1px solid rgba(137,169,228,.2);border-radius:var(--fs-radius-full);color:var(--fs-p01-c-cbd7ec);background:rgba(255,255,255,.055);font-size:.82rem;font-weight:650}
.p01p-post-meta .ic{color:var(--fs-p01-c-7ceefa)}
.p01-page .p01p-post-meta .p01p-post-author{padding-inline-start:4px}
.p01p-post-author .avatar{width:26px;height:26px;font-size:.75rem}
.p01p-post-cover{display:block;width:100%;height:auto;margin-bottom:28px;border-radius:1.125rem}
.p01-page .p01p-post .prose{font-size:1.02rem;line-height:1.8}
@media (prefers-reduced-motion:reduce){.p01-page .p01p-post-card:hover .cover img,.p01p-post-card:hover .p01p-post-more .p01-ic{transform:none}}

/* ------------------------------------------------------------------ prestations, comparateur */
.p01-page .p01p-svc{border-radius:1.375rem;background:linear-gradient(145deg, var(--p6-card), var(--p6-soft2))}
.p01-page .p01p-svc .avatar{box-shadow:0 0 0 3px var(--p6-card), 0 0 0 5px var(--fs-p01-c-cbd3f0)}
.p01-page .p01p-svc h2{color:var(--p6-title);font-weight:800;letter-spacing:-.02em}
.p01-page .p01p-svc .badge{border-radius:var(--fs-radius-full)}
.p01-page .table-wrap .table th[scope],.p01-page .table-wrap tbody th{color:var(--p6-title)}
.p01-page .table-wrap thead a{color:var(--p6-title);font-weight:800}

/* ------------------------------------------------------------------ tunnel de paiement : pages intermédiaires (sobres) */
.p01-page .commerce .done-card{padding:clamp(28px, 4vw, 48px) clamp(20px, 4vw, 40px);border-radius:1.5625rem}
.p01-page .commerce .done-icon{box-shadow:0 0 0 8px var(--p6-soft)}
.p01-page .commerce .done-icon.ok{color:#fff;background:var(--fs-p01-gradient)}
.p01-page .commerce .offline-pay,.p01-page .commerce #proof{border-radius:1.5625rem}
.p01-page .commerce .offline-pay h2,.p01-page .commerce #proof h2{color:var(--p6-title);font-weight:800;letter-spacing:-.02em}
.p01-page .commerce .offline-pay h2 .ic,.p01-page .commerce #proof h2 .ic{box-sizing:content-box;padding:9px;border-radius:.875rem;color:var(--fs-p01-c-157feb);background:var(--p6-icon-bg)}
.p01-page .commerce .kv-grid > div{border:1px solid var(--p6-line);border-radius:1rem;background:var(--p6-soft2)}
.p01-page .commerce .kv-grid small{color:var(--p6-kicker);font-weight:800;letter-spacing:.09em}
.p01-page .commerce .kv-grid .price-tag{color:var(--p6-title);font-weight:850}
.p01-page .commerce .bank-card{border-color:var(--p6-line);border-radius:1.1875rem;background:var(--p6-card)}
.p01-page .commerce .card-flat{border-radius:1rem}
.p01-page .commerce .upload-zone{border-radius:1.1875rem}
.p01-page .commerce .smart{border-radius:.9375rem}
.p01-page .commerce .summary-line .cart-thumb{border-radius:.75rem}
.p01-page .commerce #proof h2{display:flex;align-items:center;gap:10px;margin-top:0;font-size:var(--fs-text-xl)}
@media (max-width:1100px){.p01p-book-cover{max-width:220px}}
.p01-page .course-side .text-center.muted{display:flex;align-items:center;justify-content:center;gap:6px}
