/* =========================================================
   PAGES DE VENTE — FORMATIONS KEMRYS DIGITAL
   Bleu Kemrys · blanc · marine profond · touches or
   Variante sombre : <body class="theme-ia">
   ========================================================= */

:root{
  --bleu:#1652f0;
  --bleu-vif:#3d84ff;
  --marine:#061434;
  --marine-2:#0b1f4d;
  --blanc:#ffffff;
  --neige:#eef4ff;
  --bord:#d6e4ff;
  --texte:#3b4a66;
  --or:#ffb020;
  --vert:#17a44a;
  --pad:clamp(18px,5.5vw,34px);
  --r:26px;

  --fond:var(--blanc);
  --fond-2:var(--neige);
  --titre:var(--marine);
  --corps:var(--texte);
  --carte:#ffffff;
  --carte-bord:var(--bord);
  --ombre:0 24px 50px -30px rgba(6,20,52,.5);
}

body.theme-ia{
  --fond:#05091a;
  --fond-2:#0a1330;
  --titre:#ffffff;
  --corps:#c3cde6;
  --carte:#0e1836;
  --carte-bord:#1e2d5c;
  --ombre:0 26px 54px -30px rgba(61,132,255,.55);
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;background:var(--fond);color:var(--corps);
  font-family:"Inter","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
  font-size:clamp(17px,1rem + .2vw,18.5px);line-height:1.75;
  overflow-x:hidden;
}
html,body{max-width:100%;}
img{display:block;max-width:100%;height:auto;}

h1,h2,h3,.prix,.prix-gros,.chiffre{
  font-family:"Sora","Inter",system-ui,sans-serif;
  color:var(--titre);line-height:1.12;letter-spacing:-.025em;margin:0 0 .55em;
  overflow-wrap:break-word;font-weight:800;
}
h1{font-size:clamp(30px,7.4vw,58px);}
h2{font-size:clamp(25px,5.6vw,40px);}
h3{font-size:clamp(19px,3.6vw,23px);font-weight:700;}
p{margin:0 0 1.1em;}
b{color:var(--bleu);font-weight:700;}
body.theme-ia b{color:var(--bleu-vif);}

:focus-visible{outline:3px solid var(--bleu-vif);outline-offset:3px;border-radius:8px;}

.wrap{width:100%;max-width:1100px;margin-inline:auto;padding-inline:var(--pad);}
.etroit{max-width:760px;}
.centre{text-align:center;}

.surtitre{
  font-family:"Sora",sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;
  text-transform:uppercase;color:var(--bleu-vif);margin:0 0 14px;
}

/* ---------- héros ---------- */
.heros{
  background:linear-gradient(180deg,var(--fond-2),var(--fond));
  padding-bottom:clamp(34px,7vw,62px);
}
body.theme-ia .heros{background:radial-gradient(ellipse at 50% 0%,rgba(61,132,255,.28),transparent 62%),var(--fond);}
.heros-image img{width:100%;max-height:min(50vh,400px);object-fit:cover;object-position:center;}
.heros-texte{padding-top:clamp(24px,5vw,40px);text-align:center;}
.accroche{
  font-size:clamp(16.5px,3.6vw,21px);max-width:44ch;margin:0 auto 24px;
  color:var(--corps);
}

.prix-ligne{
  display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:8px 16px;
  background:var(--carte);border:2px solid var(--carte-bord);
  padding:14px 26px;border-radius:20px;margin-bottom:22px;box-shadow:var(--ombre);
}
.prix{font-size:clamp(28px,7vw,44px);color:var(--bleu);margin:0;}
body.theme-ia .prix{color:var(--bleu-vif);}
.prix-barre{color:#8b97b3;text-decoration:line-through;font-size:clamp(15px,3.2vw,19px);}

.cta{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:linear-gradient(180deg,#1ec25a,var(--vert));color:#fff;text-decoration:none;
  font-family:"Sora",sans-serif;font-weight:700;font-size:clamp(16px,4vw,20px);
  padding:19px 32px;border-radius:999px;min-height:62px;max-width:100%;
  box-shadow:0 18px 40px -16px rgba(23,164,74,.9);
  transition:transform .22s ease,filter .22s ease;
  animation:battement 2.8s ease-in-out infinite;
}
@keyframes battement{
  0%,100%{box-shadow:0 18px 40px -16px rgba(23,164,74,.9),0 0 0 0 rgba(30,194,90,.45);}
  55%{box-shadow:0 18px 40px -16px rgba(23,164,74,.9),0 0 0 16px rgba(30,194,90,0);}
}
.cta:hover{transform:translateY(-3px);filter:brightness(1.05);}
.cta:active{transform:scale(.985);}
.cta-large{width:100%;max-width:520px;}
.rassurance{font-size:14.5px;color:#8b97b3;margin:14px auto 0;max-width:48ch;}

/* ---------- blocs ---------- */
.bloc{padding:clamp(46px,9vw,88px) 0;}
.bloc-alt{background:var(--fond-2);border-block:1px solid var(--carte-bord);}
.titre-2{text-align:center;}
.sous-2{text-align:center;font-size:clamp(17px,3.4vw,20px);max-width:56ch;margin:0 auto 2em;}
.intro-forte{font-size:clamp(19px,4.2vw,25px);font-weight:600;color:var(--titre);line-height:1.5;}
.phrase-cle{
  font-family:"Sora",sans-serif;font-weight:700;color:var(--titre);
  font-size:clamp(19px,4vw,26px);line-height:1.4;
}

/* ---------- cartes / listes ---------- */
.carte{
  background:var(--carte);border:1px solid var(--carte-bord);border-radius:var(--r);
  padding:clamp(22px,4.4vw,34px);box-shadow:var(--ombre);
}
.carte p:last-child,.carte ul:last-child{margin-bottom:0;}

.liste-check{list-style:none;margin:0 0 1.5em;padding:0;display:grid;gap:11px;}
.liste-check li{position:relative;padding-left:36px;line-height:1.55;}
.liste-check li::before{
  content:"✓";position:absolute;left:0;top:1px;width:25px;height:25px;border-radius:50%;
  background:var(--bleu);color:#fff;font-size:13px;display:grid;place-content:center;
}
.liste-emoji{list-style:none;margin:0 0 1.5em;padding:0;display:grid;gap:12px;}
.liste-emoji li{
  background:var(--carte);border:1px solid var(--carte-bord);border-radius:18px;
  padding:14px 18px;display:flex;gap:12px;align-items:flex-start;line-height:1.5;
}
.liste-emoji .em{font-size:20px;line-height:1.3;flex:0 0 auto;}

.grille-2{display:grid;gap:18px;}
.grille-3{display:grid;gap:18px;}

/* ---------- chemin ---------- */
.chemin{
  display:flex;flex-wrap:wrap;gap:8px;justify-content:center;align-items:center;
  margin:0 0 1.6em;padding:0;list-style:none;
}
.chemin li{
  background:var(--bleu);color:#fff;font-family:"Sora",sans-serif;font-weight:700;
  font-size:13px;letter-spacing:.06em;padding:9px 16px;border-radius:999px;
}
.chemin li:last-child{background:var(--or);color:#2a1a00;}

/* ---------- visuels ---------- */
.visuel{margin:0 0 1.6em;}
.visuel img{
  width:100%;border-radius:var(--r);border:1px solid var(--carte-bord);
  box-shadow:var(--ombre);
}
.visuel figcaption{margin-top:12px;font-size:14.5px;color:#8b97b3;text-align:center;}

/* ---------- vidéos ---------- */
.video{
  position:relative;width:100%;aspect-ratio:16/9;margin:0 0 1em;
  border-radius:var(--r);overflow:hidden;
  border:1px solid var(--carte-bord);box-shadow:var(--ombre);background:#000;
}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.video-legende{text-align:center;font-size:15px;color:#8b97b3;margin:0 0 1.8em;}

/* ---------- galerie ---------- */
.galerie{display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin:0 0 1.6em;}
.galerie img{
  width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:18px;
  border:1px solid var(--carte-bord);
}
.galerie .large{grid-column:1/-1;aspect-ratio:16/9;}

/* ---------- offre ---------- */
.bloc-offre{
  background:linear-gradient(160deg,var(--marine),var(--bleu) 130%);
  color:#dbe6ff;text-align:center;
}
body.theme-ia .bloc-offre{background:linear-gradient(160deg,#0a1330,#132a66);}
.bloc-offre h2,.bloc-offre .prix-gros{color:#fff;}
.bloc-offre .surtitre{color:#9dc0ff;}
.bloc-offre b{color:var(--or);}
.prix-bloc{
  border:2px dashed rgba(255,176,32,.6);border-radius:var(--r);
  padding:28px 22px;margin:0 auto 24px;max-width:520px;background:rgba(0,0,0,.22);
}
.prix-gros{display:block;font-size:clamp(40px,12vw,76px);color:var(--or)!important;line-height:1;margin:0;}
.prix-ancien{margin:12px 0 0;color:#c6d4f2;font-size:16px;}
.prix-ancien s{color:#93a4c9;}

/* ---------- pied ---------- */
.pied-produit{
  background:var(--marine);color:#a9bade;padding:34px 0 110px;text-align:center;font-size:15px;
}
body.theme-ia .pied-produit{background:#03060f;}
.pied-marque{font-family:"Sora",sans-serif;font-weight:800;font-size:22px;color:#fff;margin:0 0 6px;}
.pied-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px;}
.pied-nav a{
  color:#fff;text-decoration:none;font-weight:600;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);
  padding:10px 18px;border-radius:999px;
}
.pied-nav a:hover{background:rgba(255,255,255,.18);}

/* ---------- CTA collant ---------- */
.cta-collant{
  position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;align-items:center;gap:12px;
  padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));
  background:rgba(6,20,52,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-top:1px solid rgba(255,255,255,.14);
}
.cta-collant.visible{display:flex;}
.cta-collant-prix{font-family:"Sora",sans-serif;font-weight:800;font-size:19px;color:var(--or);white-space:nowrap;}
.cta-mini{flex:1;font-size:15.5px;padding:14px 16px;min-height:54px;animation:none;}

/* ---------- apparitions ---------- */
.js-a [data-a]{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease;}
.js-a [data-a].vu{opacity:1;transform:none;}

/* ---------- responsive ---------- */
@media (min-width:640px){
  .grille-2{grid-template-columns:repeat(2,1fr);}
  .grille-3{grid-template-columns:repeat(3,1fr);}
  .liste-emoji{grid-template-columns:repeat(2,1fr);}
  .galerie{grid-template-columns:repeat(3,1fr);}
}
@media (min-width:900px){
  .heros-image img{max-height:440px;}
  .galerie{grid-template-columns:repeat(4,1fr);}
}
@media (max-width:380px){
  .cta{padding:17px 20px;font-size:15.5px;}
  .cta-collant-prix{font-size:17px;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important;scroll-behavior:auto!important;
  }
  .js-a [data-a]{opacity:1!important;transform:none!important;}
}
