/* ============================================================
   APTORIE — FEUILLE DE STYLE (styles.css)
   ------------------------------------------------------------
   Ce fichier contient TOUTE la mise en forme visuelle du site :
   couleurs, typographies, espacements, animations, responsive.

   Organisation du fichier (dans l'ordre, tel quel) :
     1. Reset global (* {...}) et variables CSS (:root)
     2. Arrière-plan animé (orbs, canvas particules)
     3. Modales génériques (#alert-modal, #mode-bar)
     4. En-tête du site (header, logo, boutons)
     5. Section "Hero" (bandeau d'accueil + 3 cartes Parcours)
     6. Application / parcours (étapes, formulaires, progress)
     7. Écran résultat & PDF (rw, prévisualisation)
     8. Sections "Pourquoi nous" et FAQ
     9. Bannière "reprendre devis" et responsive mobile
    10. Divers utilitaires (focus clavier, scrollbars, etc.)

   Conseils pour débutant :
   - Les variables commencent par "--" (ex : --gold, --bg).
     On les utilise avec var(--gold). Pratique pour changer une
     couleur partout d'un coup en modifiant une seule ligne.
   - Les classes qui commencent par "." visent les éléments
     ayant cet attribut class="...". Les "#" visent un id unique.
   - ⚠️ Ne renomme pas les classes/ids sans aussi les modifier
     dans index.html et script.js, sinon le site casse.

   Note sur les variables --gold et --accent :
   Elles ont la MÊME valeur et le JavaScript les met à jour
   ensemble (script.js ligne ~2345). C'est un alias historique :
   --gold = couleur de marque fixe / --accent = couleur qui peut
   changer selon le "mode visuel" (rapide / pro / premium).
   On les a laissées telles quelles pour éviter tout risque.
   ============================================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;tap-highlight-color:transparent;}
button,a,input,select,textarea,[onclick],[role="button"]{
  -webkit-tap-highlight-color:transparent!important;
  tap-highlight-color:transparent!important;
  -webkit-touch-callout:none;
  -webkit-user-select:none;
  user-select:none;
}
/* Supprimer l'outline visuel par défaut MAIS garder un focus visible au clavier (a11y / RGAA) */
button,a,input,select,textarea,[onclick],[role="button"]{outline:none;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[onclick]:focus-visible,[role="button"]:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
  border-radius:4px;
}
:root{
  --bg:#080808;--s1:#0f0f0f;--s2:#161616;--b1:#242424;--b2:#303030;
  --gold:#c9a84c;--gold2:#e8c97a;--gold-dim:rgba(201,168,76,0.07);--gold-glow:rgba(201,168,76,0.18);
  --text:#f5f2ec;--t2:#8a8580;--t3:#444;--green:#3ecf8e;--r:14px;
  --accent:#c9a84c;--accent2:#e8c97a;
  --accent-dim:rgba(201,168,76,0.07);--accent-glow:rgba(201,168,76,0.18);
  --accent-rgb:201,168,76;
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;}

.orb-bg{position:fixed;border-radius:50%;filter:blur(60px);pointer-events:none;z-index:0;}
.orb-bg-1{width:900px;height:900px;background:radial-gradient(circle,rgba(201,168,76,0.22) 0%,rgba(201,168,76,0.08) 40%,transparent 70%);top:-300px;left:-200px;animation:orbMove1 18s ease-in-out infinite;}
.orb-bg-2{width:750px;height:750px;background:radial-gradient(circle,rgba(201,168,76,0.18) 0%,rgba(201,168,76,0.06) 40%,transparent 70%);bottom:-200px;right:-150px;animation:orbMove2 24s ease-in-out infinite;}
.orb-bg-3{width:600px;height:600px;background:radial-gradient(circle,rgba(62,207,142,0.12) 0%,rgba(62,207,142,0.04) 40%,transparent 70%);top:30%;left:40%;animation:orbMove3 28s ease-in-out infinite;}
@keyframes orbMove1{
  0%,100%{transform:translate(0px,0px);}
  25%{transform:translate(60px,40px);}
  50%{transform:translate(30px,80px);}
  75%{transform:translate(-40px,30px);}
}
@keyframes orbMove2{
  0%,100%{transform:translate(0px,0px);}
  25%{transform:translate(-50px,-30px);}
  50%{transform:translate(-80px,20px);}
  75%{transform:translate(30px,-50px);}
}
@keyframes orbMove3{
  0%,100%{transform:translate(0px,0px);}
  33%{transform:translate(40px,-60px);}
  66%{transform:translate(-50px,40px);}
}
body::after{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");pointer-events:none;z-index:9;}

/* ── SECTION POURQUOI NOUS ── */
.why{padding:80px 48px;position:relative;z-index:1;}
.why-inner{max-width:820px;margin:0 auto;}
.why-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-top:48px;}
.why-card{background:var(--s1);border:1px solid var(--b1);border-radius:16px;padding:28px 24px;transition:border-color 0.2s,box-shadow 0.2s;}
.why-card:hover{border-color:rgba(201,168,76,0.3);box-shadow:0 0 24px var(--gold-glow);}
.why-ico{font-size:2rem;margin-bottom:14px;}
.why-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:800;margin-bottom:8px;letter-spacing:-0.02em;}
.why-desc{font-size:0.78rem;color:var(--t2);line-height:1.7;font-weight:300;}
/* ── SECTION FAQ ── */
.faq{padding:80px 48px;position:relative;z-index:1;}
.faq-inner{max-width:680px;margin:0 auto;}
.faq-list{margin-top:48px;display:flex;flex-direction:column;gap:10px;}
.faq-item{background:var(--s1);border:1px solid var(--b1);border-radius:12px;overflow:hidden;transition:border-color 0.2s;}
.faq-item.open{border-color:rgba(201,168,76,0.3);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;cursor:pointer;font-size:0.88rem;font-weight:600;gap:14px;}
.faq-chevron{color:var(--gold);font-size:0.7rem;transition:transform 0.25s ease;flex-shrink:0;}
.faq-item.open .faq-chevron{transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height 0.3s ease;padding:0 22px;}
.faq-item.open .faq-a{max-height:600px;padding:0 22px 18px;}
.faq-a p{font-size:0.82rem;color:var(--t2);line-height:1.7;font-weight:300;}
/* ── BANNER REPRENDRE DEVIS ── */
#resume-banner{position:fixed;bottom:24px;right:24px;z-index:300;background:var(--s1);border:1px solid var(--b2);border-radius:14px;padding:16px 18px;max-width:290px;box-shadow:0 8px 32px rgba(0,0,0,0.5);display:none;animation:fadeUp 0.4s ease both;}
.resume-title{font-size:0.78rem;font-weight:600;margin-bottom:4px;}
.resume-meta{font-size:0.68rem;color:var(--t2);margin-bottom:12px;}
.resume-btns{display:flex;gap:8px;}
.resume-btns button{flex:1;font-size:0.72rem;padding:7px 10px;border-radius:8px;cursor:pointer;font-family:'DM Sans',sans-serif;font-weight:600;}
.resume-ok{background:var(--gold);color:#000;border:none;}
.resume-ok:hover{background:var(--gold2);}
.resume-no{background:none;border:1px solid var(--b2);color:var(--t2);}
.resume-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--t3);cursor:pointer;font-size:0.8rem;}
@media(max-width:640px){.why{padding:60px 18px;}.why-grid{grid-template-columns:1fr;gap:14px;}.faq{padding:60px 18px;}#resume-banner{bottom:16px;right:16px;left:16px;max-width:none;}}

/* ── ALERT MODAL ── */
#alert-modal{
  position:fixed;inset:0;z-index:9998;
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;pointer-events:none;transition:opacity 0.2s ease;
}
#alert-modal.show{opacity:1;pointer-events:auto;}
#alert-backdrop{
  position:absolute;inset:0;
  background:rgba(0,0,0,0.7);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
#alert-box{
  position:relative;z-index:1;
  background:var(--s1);border:1px solid var(--b2);border-radius:18px;
  padding:36px 40px;max-width:420px;width:100%;
  box-shadow:0 24px 60px rgba(0,0,0,0.6);
  
  transition:transform 0.25s cubic-bezier(0.16,1,0.3,1);
  text-align:center;
}

#alert-ico{font-size:2.4rem;margin-bottom:16px;}
#alert-title{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:800;color:var(--text);margin-bottom:8px;letter-spacing:-0.02em;}
#alert-msg{font-size:0.88rem;color:var(--t2);line-height:1.6;margin-bottom:28px;font-weight:300;}
#alert-close-x{position:absolute;top:14px;right:14px;width:28px;height:28px;border-radius:50%;background:var(--s2);border:1px solid var(--b2);color:var(--t2);font-size:0.8rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all 0.18s;}
#alert-close-x:hover{color:var(--text);border-color:var(--b2);}
#alert-btn{background:var(--gold);color:#000;border:none;border-radius:10px;padding:13px 40px;font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:700;cursor:pointer;transition:all 0.2s;width:100%;}
#alert-btn:hover{background:var(--gold2);box-shadow:0 6px 20px rgba(201,168,76,0.35);}

/* Bordure top colorée */
#mode-bar{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:200;
  background:var(--accent);
  box-shadow:0 0 12px rgba(var(--accent-rgb),0.6);
  opacity:0;
  transition:opacity 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
}

/* Badge mode dans le header */
#mode-badge{
  display:none;align-items:center;gap:7px;
  border-radius:20px;padding:5px 13px;
  font-size:0.72rem;font-weight:700;letter-spacing:0.05em;
  border:1px solid var(--accent);color:var(--accent);
  background:rgba(var(--accent-rgb),0.08);
  transition:all 0.4s ease;
  animation:badgePop 0.4s cubic-bezier(0.16,1,0.3,1) both;
}
@keyframes badgePop{from{opacity:0;}to{opacity:1;}}

/* Canvas particules */
#particles-canvas{
  position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0;
  transition:opacity 0.2s ease;
}

/* Sweep supprimé */#mode-sweep{display:none;}

/* Surcharge accent sur l'UI selon le mode */
body.mode-rapide .bg,body.mode-pro .bg,body.mode-premium .bg{background:var(--accent);}
body.mode-rapide .bg:hover,body.mode-pro .bg:hover,body.mode-premium .bg:hover{background:var(--accent2);}
body.mode-rapide .tc.sel,body.mode-pro .tc.sel,body.mode-premium .tc.sel{border-color:var(--accent);}
body.mode-rapide .ps.active .ps-n,body.mode-rapide .ps.done .ps-n,
body.mode-pro .ps.active .ps-n,body.mode-pro .ps.done .ps-n,
body.mode-premium .ps.active .ps-n,body.mode-premium .ps.done .ps-n{background:var(--accent);border-color:var(--accent);}
body.mode-rapide .pl.done,body.mode-pro .pl.done,body.mode-premium .pl.done{background:var(--accent);}
body.mode-rapide .parcours-indicator{color:var(--accent);}

header{padding:22px 52px;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;background:rgba(8,8,8,0.88);backdrop-filter:blur(24px);border-bottom:1px solid var(--b1);z-index:100;padding-top:max(22px, env(safe-area-inset-top));}
.logo{font-family:'Cormorant Garamond',serif;font-weight:900;font-size:1.4rem;letter-spacing:-0.02em;cursor:pointer;}
.logo em{font-style:normal;color:var(--gold);}
.hdr-center{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:28px;font-size:0.76rem;color:var(--t2);white-space:nowrap;}
.hdr-center span{display:flex;align-items:center;gap:6px;}
.dot-live{width:5px;height:5px;background:var(--green);border-radius:50%;animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}
.btn-hdr{background:var(--gold);color:#000;border:none;border-radius:8px;padding:10px 22px;font-family:'DM Sans',sans-serif;font-weight:600;font-size:0.8rem;cursor:pointer;transition:all 0.2s;}
.btn-hdr:hover{background:var(--gold2);box-shadow:0 0 28px var(--gold-glow);}
.hdr-right{display:flex;align-items:center;gap:12px;}
.btn-hist{background:none;border:1px solid var(--b2);color:var(--t2);border-radius:8px;padding:9px 16px;font-family:'DM Sans',sans-serif;font-size:0.78rem;cursor:pointer;transition:all 0.2s;}
.btn-hist:hover{color:var(--text);border-color:var(--gold);}
/* Icône PNG bouton Mes devis — couleur adaptative par mode */
.btn-hist-ico{
  filter:brightness(0) saturate(100%) invert(72%) sepia(40%) saturate(500%) hue-rotate(5deg) brightness(95%);
  transition:filter 0.2s ease;
}
/* Les tintes par mode (vert / orange / bleu) sont définies plus bas
   dans la section "PNG ICONS IN TC-ICO" et s'appliquent aussi à .btn-hist-ico
   (même valeur de filter partagée). */

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:120px 48px 80px;position:relative;overflow:hidden;z-index:1;}
.orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;}
.o1{width:700px;height:500px;background:radial-gradient(circle,rgba(201,168,76,0.055) 0%,transparent 70%);top:-80px;left:50%;}
.o2{width:350px;height:350px;background:radial-gradient(circle,rgba(201,168,76,0.035) 0%,transparent 70%);bottom:0;right:-80px;}
.hero-pill-stack{display:flex;flex-direction:column;align-items:center;gap:18px;margin-bottom:12px;animation:fadeUp 0.8s ease both;}
.hero-econ-badge{display:inline-block;background:rgba(201,168,76,0.08);border:1px solid rgba(201,168,76,0.2);border-radius:6px;padding:4px 12px;box-shadow:0 0 16px rgba(201,168,76,0.12);}
.hero-econ-badge span{font-family:'DM Sans',sans-serif;font-size:0.72rem;font-weight:600;color:var(--gold);letter-spacing:0.04em;text-shadow:0 0 8px rgba(201,168,76,0.2);}
.hero-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--b2);background:var(--s1);padding:8px 18px;border-radius:40px;font-size:0.72rem;color:var(--t2);letter-spacing:0.07em;word-spacing:0.06em;box-shadow:0 0 14px rgba(201,168,76,0.08);}
.pill-dot{width:5px;height:5px;background:var(--gold);border-radius:50%;}
h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,6.5vw,5.2rem);font-weight:900;line-height:0.97;letter-spacing:-0.04em;margin-bottom:30px;animation:fadeUp 0.8s 0.1s ease both;}
h1 .acc{color:var(--gold);}
h1 .ghost{-webkit-text-stroke:1px rgba(245,242,236,0.2);color:transparent;display:block;font-size:0.82em;}
.hero-p{font-size:1rem;color:var(--t2);line-height:1.8;max-width:440px;margin:0 auto 44px;font-weight:300;animation:fadeUp 0.8s 0.2s ease both;}
.hero-btns{display:flex;align-items:center;gap:14px;animation:fadeUp 0.8s 0.3s ease both;}
.btn-cta{background:var(--gold);color:#000;border:none;border-radius:10px;padding:15px 34px;font-family:'DM Sans',sans-serif;font-weight:600;font-size:0.92rem;cursor:pointer;transition:all 0.22s;display:flex;align-items:center;gap:9px;}
.btn-cta:hover{background:var(--gold2);box-shadow:0 12px 40px var(--gold-glow);}
.btn-out{background:none;border:1px solid var(--b2);color:var(--t2);border-radius:10px;padding:15px 26px;font-family:'DM Sans',sans-serif;font-size:0.88rem;cursor:pointer;transition:all 0.2s;}
.btn-out:hover{color:var(--text);border-color:var(--b2);background:var(--s1);}
.metrics{display:flex;border:1px solid var(--b1);border-radius:12px;overflow:hidden;margin-top:60px;background:var(--s1);animation:fadeUp 0.8s 0.4s ease both;}
.met{padding:20px 34px;border-right:1px solid var(--b1);text-align:center;}
.met:last-child{border-right:none;}
.met-n{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:700;color:var(--gold);letter-spacing:-0.03em;}
.met-l{font-size:0.7rem;color:var(--t3);margin-top:2px;letter-spacing:0.04em;}
@keyframes fadeUp{from{opacity:0;}to{opacity:1;}}

/* HERO PARCOURS CARDS */
.hero-parcours{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;width:100%;max-width:1000px;margin:0 auto 44px;animation:fadeUp 0.8s 0.3s ease both;}

/* ── BASE CARD ── */
.hero-card{
  border-radius:16px;padding:24px;cursor:pointer;
  transition:transform 0.2s ease, border-color 0.2s, box-shadow 0.2s;
  display:flex;flex-direction:column;align-items:center;text-align:center;
  position:relative;overflow:visible;
  will-change:transform;
}

/* ── CARTE RAPIDE — neutre, secondaire ── */
.hero-card-rapide{
  border:1px solid rgba(255,255,255,0.07);
  background:rgba(12,12,12,0.8);
}
.hero-card-rapide::before{
  content:'';position:absolute;inset:0;border-radius:16px;
  background:linear-gradient(135deg,rgba(255,255,255,0.02) 0%,transparent 60%);
  pointer-events:none;
}
.hero-card-rapide:hover{
  transform:scale(1.03);
  border-color:rgba(34,197,94,0.15);
  box-shadow:0 6px 20px rgba(0,0,0,0.5),0 0 16px rgba(34,197,94,0.05);
}

/* ── CARTE PRO — premium, dominante ── */
.hero-card-pro{
  border:1px solid rgba(201,168,76,0.35);
  background:rgba(18,15,8,0.95);
  padding-top:28px;
}
.hero-card-pro::before{
  content:'';position:absolute;inset:0;border-radius:16px;
  background:linear-gradient(135deg,rgba(201,168,76,0.08) 0%,rgba(201,168,76,0.02) 40%,transparent 70%);
  pointer-events:none;
}
.hero-card-pro::after{
  content:'';position:absolute;
  top:0;left:0;right:0;height:1px;border-radius:16px 16px 0 0;
  background:linear-gradient(90deg,transparent,rgba(201,168,76,0.6),transparent);
  pointer-events:none;
}
.hero-card-pro:hover{
  transform:scale(1.03);
  border-color:rgba(201,168,76,0.55);
  box-shadow:0 12px 40px rgba(0,0,0,0.6),0 0 32px rgba(201,168,76,0.14);
}

.hc-left{width:100%;display:flex;flex-direction:column;align-items:center;gap:7px;flex:1;margin-bottom:18px;position:relative;z-index:1;}
.hc-ico{font-size:1.8rem;color:var(--gold2);display:flex;align-items:center;justify-content:center;}
.hc-cta{width:100%;text-align:center;box-sizing:border-box;position:relative;z-index:1;}

/* ── BADGE RAPIDE — vert très atténué ── */
.hc-badge{
  display:inline-block;font-size:0.48rem;font-weight:700;
  letter-spacing:0.03em;text-transform:uppercase;
  padding:3px 10px;border-radius:20px;
  background:rgba(34,197,94,0.06);
  color:rgba(34,197,94,0.6);
  border:1px solid rgba(34,197,94,0.12);
  align-self:center;
}

/* ── BADGE PRO — doré, affirmé ── */
.hc-badge-pro{
  background:rgba(201,168,76,0.18);
  color:var(--gold2);
  border-color:rgba(201,168,76,0.45);
}
.hc-micro{font-size:0.68rem;color:var(--t2);font-weight:300;margin-top:2px;}
.hc-social{font-size:0.65rem;color:var(--t3);margin-top:2px;letter-spacing:0.02em;}
.hc-price-block{display:flex;align-items:baseline;justify-content:center;gap:10px;margin-bottom:12px;position:relative;z-index:1;}
.hc-price-old{font-size:0.85rem;color:var(--t3);text-decoration:line-through;font-family:'DM Sans',sans-serif;}
.hc-price-new{font-size:2rem;font-weight:700;color:#fff;font-family:'DM Sans',sans-serif;letter-spacing:-0.03em;line-height:1;}
.hc-recommended{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:#000;font-size:0.6rem;font-weight:800;padding:4px 14px;border-radius:20px;letter-spacing:0.07em;white-space:nowrap;z-index:2;pointer-events:none;}
.hero-reassurance{text-align:center;font-size:0.7rem;color:var(--t3);margin-top:14px;letter-spacing:0.02em;}
.hero-psych{text-align:center;font-size:0.82rem;color:var(--gold);opacity:0.8;margin-top:16px;font-weight:500;letter-spacing:0.01em;}

.hc-title{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:800;letter-spacing:-0.02em;color:var(--text);}

/* Titre rapide légèrement moins lumineux */
.hero-card-rapide .hc-title{color:rgba(245,242,236,0.8);}

.hc-desc{font-size:0.74rem;line-height:1.5;font-weight:300;}
.hero-card-rapide .hc-desc{color:rgba(138,133,128,0.8);}
.hero-card-pro .hc-desc{color:var(--t2);}

/* ── BOUTON RAPIDE — discret ── */
.hc-cta{
  background:transparent;
  color:rgba(34,197,94,0.55);
  border:1px solid rgba(34,197,94,0.15);
  border-radius:8px;padding:10px 14px;
  font-size:0.76rem;font-weight:600;
  transition:all 0.3s cubic-bezier(0.25,0.46,0.45,0.94);
}
.hero-card-rapide:hover .hc-cta{
  background:rgba(34,197,94,0.07);
  border-color:rgba(34,197,94,0.25);
  color:rgba(34,197,94,0.8);
}

/* ── BOUTON PRO — doré, solide, premium ── */
.hc-cta-pro{
  background:var(--gold);
  color:#000;
  border:1px solid var(--gold);
  padding:11px 18px;
  font-size:0.8rem;
  font-weight:800;
  box-shadow:0 4px 18px rgba(201,168,76,0.22), 0 0 0 0 rgba(201,168,76,0);
  transition:transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, filter 0.2s ease;
  display:flex;align-items:center;justify-content:center;gap:0;
}
.hc-cta-pro .hc-arrow{
  display:inline-block;
  transition:transform 0.2s ease;
  margin-left:5px;
}
.hc-cta-pro:hover{
  background:var(--gold2);
  border-color:var(--gold2);
  filter:brightness(1.08);
  
  box-shadow:0 8px 28px rgba(201,168,76,0.42), 0 0 18px rgba(201,168,76,0.18);
}

.hc-cta-pro:active{
  
  box-shadow:0 2px 8px rgba(201,168,76,0.2);
  filter:brightness(0.97);
}
/* Override carte hover pour ne pas interférer */
.hero-card-pro:hover .hc-cta-pro{
  background:var(--gold);
  border-color:var(--gold);
  box-shadow:0 4px 18px rgba(201,168,76,0.22);
  
}

/* ── CARTE PREMIUM — diamant bleu ── */
.hero-card-premium{
  border:1px solid rgba(56,139,253,0.55);
  background:rgba(4,20,50,0.98);
  padding-top:28px;
  box-shadow:0 0 32px rgba(56,139,253,0.1);
}
.hero-card-premium::before{
  content:'';position:absolute;inset:0;border-radius:16px;
  background:linear-gradient(135deg,rgba(56,139,253,0.12) 0%,rgba(56,139,253,0.03) 50%,transparent 75%);
  pointer-events:none;
}
.hero-card-premium::after{
  content:'';position:absolute;
  top:0;left:0;right:0;height:2px;border-radius:16px 16px 0 0;
  background:linear-gradient(90deg,transparent,rgba(86,180,247,0.9),transparent);
  pointer-events:none;
}
.hero-card-premium:hover{
  transform:scale(1.03);
  border-color:rgba(56,139,253,0.75);
  box-shadow:0 16px 48px rgba(0,0,0,0.7),0 0 40px rgba(56,139,253,0.18);
}
.hc-badge-premium{
  background:rgba(56,139,253,0.12);
  color:#56b4f7;
  border-color:rgba(56,139,253,0.3);
}
.hero-card-premium .hc-desc{color:var(--t2);}
.hc-cta-premium{
  background:linear-gradient(135deg,#1d6feb,#56b4f7);
  color:#fff;
  border:none;
  border-radius:8px;
  padding:11px 18px;
  font-size:0.8rem;
  font-weight:800;
  width:100%;
  cursor:pointer;
  font-family:'DM Sans',sans-serif;
  box-shadow:0 6px 24px rgba(29,111,235,0.4);
  transition:transform 0.2s ease,box-shadow 0.2s ease,filter 0.2s ease;
  display:flex;align-items:center;justify-content:center;gap:0;
}
.hc-cta-premium:hover{
  filter:brightness(1.1);
  
  box-shadow:0 10px 32px rgba(29,111,235,0.55);
}
.hc-cta-premium:active{
  
  box-shadow:0 2px 8px rgba(29,111,235,0.25);
}

/* BANDEAU MODE — grand et visible dans les étapes */
#mode-banner{
  display:none;
  border-radius:14px;
  padding:18px 22px;
  margin-bottom:28px;
  border:2px solid;
  position:relative;
  overflow:hidden;
}
#mode-banner.show{display:flex;align-items:center;gap:16px;animation:fadeUp 0.4s ease both;}
#mode-banner-ico{font-size:1.8rem;flex-shrink:0;}
#mode-banner-body{flex:1;}
#mode-banner-label{font-size:0.65rem;font-weight:700;letter-spacing:0.1em;text-opacity:0.7;margin-bottom:3px;}
#mode-banner-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:800;letter-spacing:-0.02em;}
#mode-banner-desc{font-size:0.78rem;opacity:0.7;margin-top:2px;}
#mode-banner-change{font-size:0.72rem;font-weight:600;opacity:0.6;cursor:pointer;text-decoration:underline;flex-shrink:0;transition:opacity 0.2s;}
#mode-banner-change:hover{opacity:1;}

/* ÉCRAN RÉSULTAT — blocs conditionnels */

.app{max-width:820px;margin:0 auto;padding:100px 48px 80px;position:relative;z-index:1;scroll-margin-top:80px;}

/* PROGRESS — barre verticale fixe, collée à gauche du bloc central */
.prog{
  position:fixed;
  left:calc(50% - 410px - 12px - 160px);
  top:50%;
  
  z-index:150;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  background:var(--s1);
  border:1px solid var(--b1);
  border-radius:14px;
  padding:18px 16px;
  width:160px;
  margin-bottom:0;
}
@media(max-width:1200px){.prog{display:none!important;}}
.sec-head{text-align:center;margin-bottom:48px;}
.sec-tag{font-size:0.68rem;letter-spacing:0.12em;color:var(--gold);display:block;margin-bottom:12px;}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:800;letter-spacing:-0.03em;}

/* PROGRESS STEPS */
.ps{display:flex;align-items:center;gap:8px;cursor:pointer;width:100%;}
.ps-n{
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:0.75rem;font-weight:700;
  border:1px solid var(--b2);color:var(--t3);
  background:var(--s2);
  transition:all 0.35s cubic-bezier(0.25,0.46,0.45,0.94);
  flex-shrink:0;
}
.ps.done .ps-n{background:var(--gold);border-color:var(--gold);color:#000;box-shadow:0 0 10px rgba(201,168,76,0.25);}
.ps.active .ps-n{
  background:var(--gold);border-color:var(--gold);color:#000;
  animation:progGlow 3s ease-in-out infinite;
}
@keyframes progGlow{
  0%,100%{box-shadow:0 0 0 3px rgba(201,168,76,0.07),0 0 10px rgba(201,168,76,0.18);}
  50%{box-shadow:0 0 0 5px rgba(201,168,76,0.1),0 0 18px rgba(201,168,76,0.28);}
}
.ps-l{font-size:0.72rem;color:var(--t3);transition:color 0.3s;white-space:nowrap;}
.ps.active .ps-l{color:var(--text);font-weight:600;}
.ps.done .ps-l{color:var(--t2);}
.ps.done:hover .ps-n{box-shadow:0 0 0 3px rgba(201,168,76,0.2);}
.ps.done:hover .ps-l{color:var(--text);}
/* Ligne verticale entre les étapes */
.pl{width:1px;height:48px;background:var(--b1);margin:8px 0 8px 15px;transition:background 0.3s;}
.pl.done{background:var(--gold);}

/* Ajuster le body mode pour la prog bar */

/* STEP */
.step{display:none;}
.step.active{display:block;animation:si 0.35s ease both;}
@keyframes si{from{opacity:0;}to{opacity:1;}}
.st-title{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:800;letter-spacing:-0.03em;margin-bottom:5px;}
.st-sub{font-size:0.83rem;color:var(--t2);margin-bottom:30px;font-weight:300;}

/* MULTI-SELECT TYPE — tag style */
.tg{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;}
.tc{border:1px solid var(--b1);border-radius:12px;padding:14px 16px;cursor:pointer;transition:all 0.18s ease,transform 0.2s ease;background:var(--s1);text-align:left;position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;will-change:transform;}
.tc::after{content:'';position:absolute;inset:0;background:var(--gold-dim);opacity:0;transition:opacity 0.2s;}
.tc:hover{border-color:var(--gold);box-shadow:0 0 18px var(--gold-glow);transform:scale(1.02);}
.tc:hover::after,.tc.sel::after{opacity:1;}
.tc.sel{border-color:var(--gold);transform:scale(1);}
.tc-chk{position:absolute;top:5px;right:5px;width:14px;height:14px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:7px;color:#000;font-weight:700;opacity:0;transition:opacity 0.2s;}
.tc.sel .tc-chk{opacity:1;}
.tc-text{flex:1;min-width:0;}
.tc-s{font-size:0.72rem;color:var(--t3);}
.tc-ico{display:flex;align-items:center;justify-content:center;width:46px;height:46px;min-width:46px;background:rgba(201,168,76,0.08);border:1px solid rgba(201,168,76,0.15);border-radius:12px;margin:0;color:var(--gold2);box-shadow:inset 0 1px 0 rgba(255,255,255,0.03);transition:all 0.2s ease;}
.tc:hover .tc-ico,.tc.sel .tc-ico{border-color:rgba(201,168,76,0.3);background:rgba(201,168,76,0.12);color:#f2d796;box-shadow:0 0 18px rgba(201,168,76,0.10);}
.tc svg{flex-shrink:0;stroke:currentColor;}
.tc-n{font-size:0.85rem;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tc-emoji{display:none;}

/* ── PNG ICONS IN TC-ICO ── */
.tc-ico .tc-png-ico {
  width: 24px;
  height: 24px;
  object-fit: contain;
  display: block;
  /* Default mode: gold tint */
  filter: brightness(0) saturate(100%) invert(72%) sepia(40%) saturate(500%) hue-rotate(5deg) brightness(95%);
  transition: filter 0.2s ease;
}

/* Mode Rapide (vert #22c55e) — applique la même tinte aux 2 icônes PNG */
body.mode-rapide .tc-ico .tc-png-ico,
body.mode-rapide .btn-hist-ico {
  filter: brightness(0) saturate(100%) invert(62%) sepia(80%) saturate(400%) hue-rotate(95deg) brightness(100%);
}

/* Mode Pro (orange #fb923c) */
body.mode-pro .tc-ico .tc-png-ico,
body.mode-pro .btn-hist-ico {
  filter: brightness(0) saturate(100%) invert(70%) sepia(60%) saturate(600%) hue-rotate(340deg) brightness(105%);
}

/* Mode Premium (bleu #3b82f6) */
body.mode-premium .tc-ico .tc-png-ico,
body.mode-premium .btn-hist-ico {
  filter: brightness(0) saturate(100%) invert(35%) sepia(100%) saturate(700%) hue-rotate(200deg) brightness(115%);
}

/* Hover / selected state: brighter */
.tc:hover .tc-ico .tc-png-ico,
.tc.sel .tc-ico .tc-png-ico {
  filter: brightness(0) saturate(100%) invert(92%) sepia(20%) saturate(400%) hue-rotate(5deg) brightness(110%);
}
body.mode-rapide .tc:hover .tc-ico .tc-png-ico,
body.mode-rapide .tc.sel .tc-ico .tc-png-ico {
  filter: brightness(0) saturate(100%) invert(90%) sepia(30%) saturate(300%) hue-rotate(95deg) brightness(115%);
}
body.mode-pro .tc:hover .tc-ico .tc-png-ico,
body.mode-pro .tc.sel .tc-ico .tc-png-ico {
  filter: brightness(0) saturate(100%) invert(85%) sepia(40%) saturate(500%) hue-rotate(340deg) brightness(115%);
}
body.mode-premium .tc:hover .tc-ico .tc-png-ico,
body.mode-premium .tc.sel .tc-ico .tc-png-ico {
  filter: brightness(0) saturate(100%) invert(55%) sepia(100%) saturate(600%) hue-rotate(200deg) brightness(130%);
}

.icon-stroke{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
.icon-fill-soft{fill:rgba(201,168,76,0.16);stroke:none;}
.sel-info{font-size:0.78rem;color:var(--t2);margin-bottom:20px;min-height:20px;}
.sel-info span{color:var(--gold);font-weight:600;}

/* FORM BLOCS */
.form-bloc{background:var(--s1);border:1px solid var(--b1);border-radius:var(--r);padding:24px;margin-bottom:16px;}
.form-bloc-header{display:flex;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--b1);}
.form-bloc-ico{font-size:0;width:44px;height:44px;background:var(--accent-dim);border:1px solid rgba(var(--accent-rgb),0.22);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:transparent;}
.form-bloc-ico .fb-ico{display:block;width:22px;height:22px;background-color:var(--accent);-webkit-mask-image:var(--fb-ico);mask-image:var(--fb-ico);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-source-type:alpha;mask-mode:alpha;transition:background-color 0.2s ease;}
.form-bloc-title{font-weight:700;font-size:0.95rem;margin-bottom:2px;}
.form-bloc-sub{font-size:0.72rem;color:var(--t3);}

/* PARCOURS CHOICE */
.parcours-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:8px;}
.parcours-card{background:var(--s1);border:1px solid var(--b1);border-radius:20px;padding:40px 36px;cursor:pointer;transition:all 0.2s;position:relative;overflow:hidden;}
.parcours-card:hover{border-color:var(--gold);box-shadow:0 0 32px var(--gold-glow);}
.parcours-card-pro{border-color:rgba(201,168,76,0.3);}
.parcours-card-pro::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(201,168,76,0.05) 0%,transparent 60%);pointer-events:none;}
.parcours-ico{font-size:2.6rem;margin-bottom:16px;}
.parcours-badge{display:inline-block;background:var(--s2);border:1px solid var(--b2);color:var(--t2);font-size:0.72rem;font-weight:600;padding:4px 12px;border-radius:20px;letter-spacing:0.06em;margin-bottom:18px;}
.parcours-badge-pro{background:var(--gold-dim);border-color:rgba(201,168,76,0.3);color:var(--gold);}
.parcours-title{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:800;letter-spacing:-0.02em;margin-bottom:14px;}
.parcours-desc{font-size:0.9rem;color:var(--t2);line-height:1.7;font-weight:300;margin-bottom:20px;}
.parcours-list{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px;}
.parcours-list li{font-size:0.85rem;color:var(--t2);}
.parcours-cta{background:var(--s2);border:1px solid var(--b2);color:var(--t2);border-radius:10px;padding:14px 20px;font-size:0.92rem;font-weight:600;text-align:center;transition:all 0.2s;}
.parcours-card:hover .parcours-cta{background:var(--gold);border-color:var(--gold);color:#000;}
.parcours-cta-pro{background:var(--gold);border-color:var(--gold);color:#000;}
.parcours-card:hover .parcours-cta-pro{background:var(--gold2);}
@media(max-width:640px){.parcours-grid{grid-template-columns:1fr;}}
/* Step0 supprimé - choix des parcours directement dans le hero */

/* FIELDS */
.fg{margin-bottom:20px;}
.fl{display:block;font-size:0.73rem;color:var(--t2);margin-bottom:7px;font-weight:500;letter-spacing:0.03em;}
.fi,.fs{width:100%;background:var(--s1);border:1px solid var(--b1);border-radius:10px;padding:13px 16px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.9rem;outline:none;transition:border-color 0.2s,box-shadow 0.2s;appearance:none;}
.fi:focus,.fs:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,0.07);}
.fs{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23555' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer;}
.fs option{background:#111;}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* CALENDAR PICKER */
.cal-picker{border:1px solid var(--b1);border-radius:12px;overflow:hidden;background:var(--s1);}
.cal-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--b1);}
.cal-head-title{font-size:0.82rem;font-weight:600;color:var(--text);}
.cal-nav{width:26px;height:26px;border:1px solid var(--b2);border-radius:8px;background:var(--s2);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--t2);transition:all 0.15s;font-family:'DM Sans',sans-serif;}
.cal-nav:hover{color:var(--text);border-color:var(--gold);}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);padding:8px 8px 10px;gap:2px;}
.cal-dow{text-align:center;font-size:0.63rem;color:var(--t3);padding:3px 0 5px;font-weight:600;letter-spacing:0.05em;}
.cal-day{text-align:center;font-size:0.78rem;padding:5px 2px;cursor:pointer;border-radius:7px;color:var(--text);transition:background 0.12s;}
.cal-day:hover:not(.cal-empty):not(.cal-past){background:var(--s2);}
.cal-day.cal-past{color:var(--t3);cursor:default;opacity:0.4;}
.cal-day.cal-empty{cursor:default;}
.cal-day.cal-today{font-weight:700;color:var(--gold);}
.cal-day.cal-sel{background:var(--gold);color:#000;font-weight:600;}
.cal-selected{margin-top:8px;padding:8px 12px;background:rgba(201,168,76,0.08);border:1px solid rgba(201,168,76,0.25);border-radius:8px;font-size:0.76rem;color:var(--gold);font-weight:500;}

/* AUTOCOMPLETE */
.autocomplete-wrap{position:relative;}
.autocomplete-list{position:absolute;top:100%;left:0;right:0;z-index:500;background:var(--s1);border:1px solid rgba(201,168,76,0.3);border-top:none;border-radius:0 0 10px 10px;box-shadow:0 8px 24px rgba(0,0,0,0.4);max-height:220px;overflow-y:auto;display:none;}
.autocomplete-list.open{display:block;}
.autocomplete-item{padding:10px 16px;font-size:0.84rem;color:var(--text);cursor:pointer;border-bottom:1px solid var(--b1);transition:background 0.15s;}
.autocomplete-item:last-child{border-bottom:none;}
.autocomplete-item:hover,.autocomplete-item.active{background:var(--s2);}
.autocomplete-item strong{color:var(--gold);}
.autocomplete-item small{color:var(--t2);font-size:0.72rem;margin-left:6px;}

/* REGION BADGE */
.region-badge{display:none;align-items:center;gap:6px;margin-top:7px;padding:5px 11px;background:rgba(201,168,76,0.08);border:1px solid rgba(201,168,76,0.25);border-radius:20px;font-size:0.72rem;font-weight:600;color:var(--gold);width:fit-content;animation:fadeUp 0.25s ease both;}
.region-badge.show{display:inline-flex;}
.region-badge-ico{font-size:0.8rem;}

/* SURFACE TILES */
.surf-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:8px;}
.surf-tile{border:1px solid var(--b1);border-radius:10px;padding:11px 8px;cursor:pointer;background:var(--s1);transition:border-color 0.2s ease,color 0.2s ease,transform 0.2s ease;text-align:center;font-size:0.82rem;font-weight:600;color:var(--t2);will-change:transform;}
.surf-tile:hover{border-color:var(--b2);color:var(--text);transform:scale(1.025);}
.surf-tile.sel{border-color:var(--gold);color:var(--gold);background:var(--gold-dim);transform:scale(1);}
.surf-tile-sub{font-size:0.62rem;font-weight:400;color:var(--t3);margin-top:2px;}
.surf-custom{display:flex;align-items:center;gap:9px;margin-top:2px;}
.surf-custom input{flex:1;background:var(--s1);border:1px solid var(--b1);border-radius:10px;padding:11px 14px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.9rem;outline:none;transition:border-color 0.2s;width:100%;}
.surf-custom input:focus{border-color:var(--gold);}
.surf-custom-label{font-size:0.78rem;color:var(--t2);white-space:nowrap;flex-shrink:0;}

/* GAMME */
.gg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;}
.gc{border:1px solid var(--b1);border-radius:10px;padding:14px 12px;cursor:pointer;background:var(--s1);transition:transform 0.2s ease,border-color 0.2s,box-shadow 0.2s;text-align:center;position:relative;will-change:transform;}
.gc:hover{transform:scale(1.02);border-color:rgba(201,168,76,0.45);box-shadow:0 8px 28px rgba(0,0,0,0.5),0 0 24px rgba(201,168,76,0.15);}
.gc.sel{border-color:var(--gold);transform:scale(1);}
.gc-badge{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--gold);color:#000;font-size:0.44rem;font-weight:700;padding:1px 5px;border-radius:0 0 4px 4px;letter-spacing:0.06em;white-space:nowrap;}
.gc-ico{font-size:1.1rem;margin-bottom:5px;margin-top:10px;}
.gc-n{font-weight:600;font-size:0.8rem;margin-bottom:2px;}
.gc-d{font-size:0.68rem;color:var(--t3);}

/* EXTRAS */
.el{display:flex;flex-direction:column;gap:7px;}
.er{display:flex;align-items:center;gap:12px;border:1px solid var(--b1);border-radius:10px;padding:11px 14px;cursor:pointer;background:var(--s1);transition:transform 0.2s ease,border-color 0.2s,box-shadow 0.2s;will-change:transform;}
.er:hover{transform:scale(1.02);border-color:rgba(201,168,76,0.45);box-shadow:0 6px 22px rgba(0,0,0,0.45),0 0 18px rgba(201,168,76,0.12);}
.er.sel{border-color:var(--gold);background:var(--gold-dim);transform:scale(1);}
.er .ei{font-size:1rem;flex-shrink:0;}
/* Icônes PNG options supplémentaires — couleur = mode (--accent) ; masque alpha (sinon PNG noir = invisible) */
.er .ei.er-ico{display:inline-block;width:24px;height:24px;flex-shrink:0;background-color:var(--accent);-webkit-mask-image:var(--er-ico);mask-image:var(--er-ico);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-source-type:alpha;mask-mode:alpha;transition:background-color 0.2s ease;}
.er.sel .ei.er-ico{background-color:var(--accent2);}
.er .eb{flex:1;}
.er .en{font-size:0.8rem;font-weight:500;}
.er .ep{font-size:0.7rem;color:var(--t3);margin-top:1px;}
.et{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--b2);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;transition:all 0.2s;flex-shrink:0;}
.er.sel .et{background:var(--gold);border-color:var(--gold);color:#000;}

/* BTN */
.bg{width:100%;background:var(--gold);color:#000;border:none;border-radius:10px;padding:15px 22px;font-family:'DM Sans',sans-serif;font-weight:600;font-size:0.9rem;cursor:pointer;transition:all 0.22s;display:flex;align-items:center;justify-content:center;gap:9px;}
.bg:hover{background:var(--gold2);box-shadow:0 10px 32px var(--gold-glow);}
.bg:disabled{opacity:0.5;cursor:not-allowed;box-shadow:none;}
.bgh{background:var(--s1);border:1px solid var(--b2);color:var(--t2);border-radius:10px;padding:14px 18px;font-family:'DM Sans',sans-serif;font-size:0.86rem;cursor:pointer;transition:all 0.18s;width:100%;}
.bgh:hover{color:var(--text);border-color:var(--b2);}
.br2{display:grid;grid-template-columns:auto 1fr;gap:10px;}

/* LOADING */
.lw{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;padding:60px 20px;}
.gr{width:72px;height:72px;border:3px solid var(--b2);border-top-color:var(--gold);border-radius:50%;animation:spin 0.9s linear infinite;margin-bottom:32px;}
@keyframes spin{to{transform:rotate(360deg);}}
.lt{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:700;margin-bottom:28px;letter-spacing:-0.02em;}
.ls{list-style:none;width:100%;max-width:360px;}
.ls li{font-size:0.92rem;color:var(--t3);padding:10px 0;display:flex;align-items:center;gap:12px;transition:color 0.3s;}
.ls li::before{content:'○';font-size:0.7rem;flex-shrink:0;}
.ls li.la{color:var(--text);}
.ls li.la::before{content:'◉';color:var(--gold);}
.ls li.ld{color:var(--t2);}
.ls li.ld::before{content:'●';color:var(--green);}

/* RESULT */
.rb{background:var(--s1);border:1px solid var(--b1);border-radius:var(--r);padding:32px;margin-bottom:14px;position:relative;overflow:hidden;}
.rb::before{content:'';position:absolute;top:-60px;right:-60px;width:220px;height:220px;background:radial-gradient(circle,rgba(201,168,76,0.06) 0%,transparent 70%);pointer-events:none;}
.res-tag{display:inline-flex;align-items:center;gap:6px;background:rgba(62,207,142,0.1);color:var(--green);border-radius:20px;padding:4px 12px;font-size:0.7rem;font-weight:500;margin-bottom:18px;}
.res-proj{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:700;letter-spacing:-0.02em;margin-bottom:4px;}
.res-meta{font-size:0.78rem;color:var(--t2);margin-bottom:24px;font-weight:300;}
.rab{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;}
.ra{font-family:'DM Sans',sans-serif;font-size:3.4rem;font-weight:700;color:var(--gold);letter-spacing:-0.02em;line-height:1;}
.rrb{padding-bottom:6px;}
.rrl{font-size:0.66rem;color:var(--t3);letter-spacing:0.06em;margin-bottom:5px;}
.rrv{display:flex;align-items:center;gap:9px;font-size:0.78rem;color:var(--t2);}
.rt{width:65px;height:3px;background:var(--b2);border-radius:3px;position:relative;overflow:hidden;}
.rf{position:absolute;inset:0;background:linear-gradient(90deg,var(--b2),var(--gold),var(--b2));}

/* TABLE */
.tc2{background:var(--s1);border:1px solid var(--b1);border-radius:var(--r);overflow:hidden;margin-bottom:14px;}
.th{display:flex;justify-content:space-between;align-items:center;padding:16px 26px;border-bottom:1px solid var(--b1);}
.th-t{font-size:0.7rem;letter-spacing:0.1em;color:var(--t2);font-weight:600;}
.th-c{font-size:0.7rem;color:var(--t3);}
.rl-group-header{font-size:0.6rem;letter-spacing:0.12em;color:var(--gold);font-weight:700;padding:10px 26px 4px;background:var(--gold-dim);border-bottom:1px solid var(--b1);}
.tc2-rapide .th{border-bottom:1px solid var(--b1);}
.tc2-rapide .rl{opacity:0.85;}
.rl{display:grid;grid-template-columns:1fr auto;gap:18px;padding:14px 26px;border-bottom:1px solid var(--b1);align-items:center;transition:background 0.15s;}
.rl:last-child{border-bottom:none;}
.rl:hover{background:var(--s2);}
.rl-cat{font-size:0.63rem;letter-spacing:0.08em;color:var(--t3);margin-bottom:2px;}
.rl-n{font-size:0.84rem;font-weight:500;}
.rl-d{font-size:0.72rem;color:var(--t2);margin-top:1px;font-weight:300;}
.rl-p{font-family:'DM Sans',sans-serif;font-weight:600;font-size:0.96rem;white-space:nowrap;}
.lz{position:relative;cursor:pointer;min-height:64px;}
.lz:empty{display:none;}
.lz .rl{filter:blur(6px);pointer-events:none;user-select:none;}
.tc2-rapide .lz .rl{filter:blur(9px);}
.lg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(15,15,15,0) 0%,rgba(15,15,15,0.88) 55%);}
.tc2-rapide .lg{background:linear-gradient(180deg,rgba(15,15,15,0.1) 0%,rgba(15,15,15,0.97) 40%);}
.lp{background:var(--s2);border:1px solid var(--b2);border-radius:40px;padding:9px 20px;font-size:0.78rem;color:var(--t2);display:flex;align-items:center;gap:7px;backdrop-filter:blur(4px);transition:all 0.2s;}
.lp:hover{border-color:var(--gold);color:var(--gold);}
.rl-tva{background:rgba(201,168,76,0.04);border-top:1px solid rgba(201,168,76,0.15)!important;}

/* UNLOCK */
.uc{background:var(--s1);border:1px solid var(--b1);border-radius:var(--r);padding:30px;margin-bottom:14px;position:relative;overflow:hidden;transition:transform 0.3s cubic-bezier(0.25,0.46,0.45,0.94),border-color 0.3s,box-shadow 0.3s;will-change:transform;cursor:pointer;}
.uc:hover{transform:scale(1.03);box-shadow:0 12px 40px rgba(0,0,0,0.5);border-color:rgba(var(--accent-rgb),0.3);}
.uc::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--accent-dim) 0%,transparent 55%);pointer-events:none;border-radius:var(--r);overflow:hidden;}
.ut{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;position:relative;}
.ul{font-size:0.67rem;letter-spacing:0.1em;color:var(--accent);margin-bottom:7px;}
.un{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:700;letter-spacing:-0.02em;max-width:270px;}
.up{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right;flex-shrink:0;}
.uo{text-decoration:line-through;color:var(--t3);font-size:0.86rem;}
.unw{font-family:'DM Sans',sans-serif;font-size:2.6rem;font-weight:700;color:var(--gold);letter-spacing:-0.02em;line-height:1;margin-bottom:6px;}
.uttc{font-size:0.68rem;color:var(--t3);margin-top:2px;}
.ufs{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:22px;position:relative;}
.uf{display:flex;align-items:center;gap:7px;font-size:0.78rem;color:var(--t2);font-weight:300;}
.uf::before{content:'✦';color:var(--accent);font-size:0.58rem;flex-shrink:0;}

/* MODAL */
.bd{position:fixed;inset:0;background:rgba(0,0,0,0.9);backdrop-filter:blur(16px);z-index:500;display:none;align-items:center;justify-content:center;padding:20px;}
.bd.open{display:flex;}
.modal{background:var(--s1);border:1px solid var(--b2);border-radius:20px;padding:38px;max-width:480px;width:100%;position:relative;animation:mi 0.35s cubic-bezier(0.16,1,0.3,1) both;max-height:90vh;overflow-y:auto;}
@keyframes mi{from{opacity:0;}to{opacity:1;}}
.mx{position:absolute;top:18px;right:18px;width:30px;height:30px;border-radius:50%;background:var(--s2);border:1px solid var(--b2);color:var(--t2);font-size:0.9rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;}
.mx:hover{color:var(--text);}
.mtag{font-size:0.67rem;letter-spacing:0.1em;color:var(--gold);margin-bottom:7px;}
.mtitle{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:800;letter-spacing:-0.03em;margin-bottom:5px;}
.msub{font-size:0.8rem;color:var(--t2);margin-bottom:24px;line-height:1.6;font-weight:300;}
.ps2{background:var(--s2);border:1px solid var(--b1);border-radius:10px;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;}
.pw{font-size:0.8rem;color:var(--t2);}
.pa{font-family:'DM Sans',sans-serif;font-size:1.45rem;font-weight:700;color:var(--gold);letter-spacing:-0.01em;white-space:nowrap;}
.pr{display:grid;grid-template-columns:2fr 1fr 1fr;gap:9px;}
.sec{display:flex;align-items:center;justify-content:center;gap:6px;font-size:0.68rem;color:var(--t3);margin-top:10px;}

/* SUCCESS */
.pok{text-align:center;padding:10px 0;}
.sok{width:64px;height:64px;border-radius:50%;background:rgba(62,207,142,0.1);border:1px solid rgba(62,207,142,0.3);display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin:0 auto 18px;}
.pok h3{font-family:'Cormorant Garamond',serif;font-size:1.25rem;font-weight:700;margin-bottom:7px;}
.pok p{font-size:0.82rem;color:var(--t2);line-height:1.6;margin-bottom:22px;font-weight:300;}

/* HISTORIQUE MODAL */
.hist-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto;}
.hist-item{background:var(--s2);border:1px solid var(--b1);border-radius:10px;padding:14px 16px;cursor:pointer;transition:all 0.18s;display:flex;justify-content:space-between;align-items:center;}
.hist-item:hover{border-color:var(--gold);}
.hist-item-premium{border-left:3px solid rgba(56,139,253,0.85);}
.hist-badge{display:inline-block;font-size:0.62rem;font-weight:600;letter-spacing:0.06em;padding:2px 7px;border-radius:4px;margin-left:6px;vertical-align:middle;}
.hist-badge-standard{background:rgba(251,146,60,0.12);color:#ea8c3c;border:1px solid rgba(251,146,60,0.35);}
.hist-badge-premium{background:rgba(29,111,235,0.12);color:#388bfd;border:1px solid rgba(56,139,253,0.45);}
.hist-info .hist-label{font-size:0.84rem;font-weight:600;margin-bottom:2px;}
.hist-info .hist-meta{font-size:0.72rem;color:var(--t2);}
.hist-right{text-align:right;}
.hist-price{font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:600;color:var(--gold);}
.hist-date{font-size:0.68rem;color:var(--t3);margin-top:2px;}
.hist-del{background:none;border:none;color:var(--t3);cursor:pointer;font-size:0.9rem;padding:4px;transition:color 0.2s;}
.hist-del:hover{color:#e05555;}
.hist-empty{text-align:center;padding:40px 20px;color:var(--t2);font-size:0.84rem;}

/* TÉMOIGNAGES */
.testi{padding:80px 0;position:relative;z-index:1;overflow-x:clip;}
.testi-inner{max-width:100%;margin:0 auto;}
.testi-head-wrap{max-width:820px;margin:0 auto;padding:0 48px;text-align:center;}
.testi-scene{position:relative;height:320px;margin-top:56px;perspective:1400px;overflow:visible;}
.tcard{
  position:absolute;top:50%;left:50%;
  width:300px;
  background:var(--s1);border:1px solid var(--b1);border-radius:16px;padding:26px;
    transition:transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94),opacity 0.5s ease,border-color 0.3s,box-shadow 0.3s;
  will-change:transform,opacity;
  user-select:none;
}
.tcard-stars{color:var(--gold);font-size:0.75rem;letter-spacing:2px;margin-bottom:12px;}
.tcard-text{font-size:0.8rem;color:var(--t2);line-height:1.7;font-weight:300;margin-bottom:16px;}
.tcard-author{display:flex;align-items:center;gap:10px;}
.tcard-avatar{width:34px;height:34px;border-radius:50%;background:var(--gold-dim);border:1px solid rgba(201,168,76,0.2);display:flex;align-items:center;justify-content:center;font-size:0.82rem;font-weight:700;color:var(--gold);flex-shrink:0;}
.tcard-name{font-size:0.8rem;font-weight:600;}
.tcard-city{font-size:0.7rem;color:var(--t3);}
.tcard-quote{position:absolute;top:16px;right:16px;font-size:1.4rem;color:rgba(201,168,76,0.12);font-family:'Cormorant Garamond',serif;line-height:1;}
.testi-nav{display:none;}
.testi-dots{display:flex;gap:7px;align-items:center;justify-content:center;}
.testi-dot{width:6px;height:6px;border-radius:50%;background:var(--b2);transition:all 0.3s;cursor:pointer;}
.testi-dot.active{background:var(--gold);width:20px;border-radius:3px;}

/* APERÇU PDF */
.pdf-preview-wrap{margin:0 0 18px;position:relative;}
.pdf-preview-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;position:relative;z-index:2;}
.pdf-preview-tag{font-size:0.67rem;letter-spacing:0.12em;color:var(--gold);margin-bottom:6px;}
.pdf-preview-title{font-family:'Cormorant Garamond',serif;font-size:1.38rem;font-weight:800;letter-spacing:-0.025em;line-height:1.05;}
.pdf-preview-sub{font-size:0.82rem;color:var(--t2);line-height:1.65;font-weight:300;max-width:560px;}
.pdf-preview-badge{font-size:0.68rem;color:var(--gold2);border:1px solid rgba(201,168,76,0.25);border-radius:999px;padding:8px 13px;white-space:nowrap;background:rgba(201,168,76,0.08);box-shadow:0 0 0 1px rgba(201,168,76,0.06) inset;}
.pdf-sheet{position:relative;background:transparent;border:none;padding:0;box-shadow:none;overflow:hidden;z-index:1;}
.pdf-blur-frame{
  position:relative;
  overflow:hidden;
  min-height:660px;
  background:#fff;
  border-radius:18px;
  transition:box-shadow 0.28s ease;
  box-shadow:0 22px 55px rgba(0,0,0,0.32);
  isolation:isolate;
}
.pdf-blur-frame:hover{
  box-shadow:0 28px 70px rgba(0,0,0,0.4);
}
#pdf-preview-frame{
  width:100%;
  height:660px;
  border:none;
  display:block;
  border-radius:18px;
  transform-origin:top center;
  transition:transform 0.28s ease;
  filter:blur(5px);
  pointer-events:none;
  user-select:none;
  background:#fff;
  backface-visibility:hidden;
}

.pdf-preview-overlay-text{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:rgba(0,0,0,0.34);
  padding:24px;
  border-radius:18px;
  z-index:1;
}

.pdf-overlay-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  background:rgba(10,10,10,0.74);
  border:1px solid rgba(255,255,255,0.14);
  backdrop-filter:blur(8px);
  box-shadow:0 8px 24px rgba(0,0,0,0.28);
}
.pdf-preview-foot{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:16px;flex-wrap:wrap;position:relative;z-index:2;}
.pdf-preview-note{font-size:0.76rem;color:var(--t2);line-height:1.7;max-width:580px;}
.pdf-preview-note strong{color:var(--text);}
@media(max-width:640px){
  .pdf-preview-wrap{padding:18px;border-radius:18px;}
  .pdf-preview-head{flex-direction:column;}
  .pdf-preview-title{font-size:1.18rem;}
  .pdf-sheet{padding:0;border-radius:0;}
  .pdf-blur-frame{min-height:450px;border-radius:14px;}
  #pdf-preview-frame{height:500px;border-radius:14px;}
  .pdf-line{grid-template-columns:1fr;}
  .pdf-total{justify-content:stretch;}
  .pdf-total-card{width:100%;min-width:0;}
  .pdf-sheet::after{font-size:2.2rem;}
}

/* CONTACT */
.contact-sec{padding:60px 48px 80px;position:relative;z-index:1;}
.contact-inner{max-width:820px;margin:0 auto;}
.contact-box{background:var(--s1);border:1px solid var(--b1);border-radius:20px;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;position:relative;overflow:hidden;}
.contact-box::before{content:'';position:absolute;top:-80px;right:-80px;width:300px;height:300px;background:radial-gradient(circle,rgba(201,168,76,0.07) 0%,transparent 70%);pointer-events:none;}
.contact-left .contact-tag{font-size:0.68rem;letter-spacing:0.12em;color:var(--gold);display:block;margin-bottom:12px;}
.contact-left h3{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:800;letter-spacing:-0.03em;margin-bottom:14px;line-height:1.1;}
.contact-left p{font-size:0.84rem;color:var(--t2);line-height:1.7;font-weight:300;margin-bottom:28px;}
.contact-items{display:flex;flex-direction:column;gap:14px;}
.contact-item{display:flex;align-items:center;gap:14px;}
.contact-ico{width:40px;height:40px;border-radius:10px;background:var(--gold-dim);border:1px solid rgba(201,168,76,0.2);display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.contact-info-label{font-size:0.68rem;color:var(--t3);letter-spacing:0.06em;margin-bottom:2px;}
.contact-info-val{font-size:0.88rem;font-weight:500;}
.contact-info-val a{color:var(--text);text-decoration:none;transition:color 0.2s;}
.contact-info-val a:hover{color:var(--gold);}
.contact-right{display:flex;flex-direction:column;gap:12px;}
.contact-form-label{font-size:0.7rem;letter-spacing:0.06em;color:var(--t2);margin-bottom:5px;display:block;font-weight:500;}
.contact-form-input{width:100%;background:var(--s2);border:1px solid var(--b1);border-radius:8px;padding:11px 14px;color:var(--text);font-family:'DM Sans',sans-serif;font-size:0.88rem;outline:none;transition:border-color 0.2s;}
.contact-form-input:focus{border-color:var(--gold);}
.contact-form-input.ta{resize:vertical;min-height:90px;}
.contact-sent{display:none;text-align:center;padding:20px;color:var(--green);font-size:0.88rem;}

@media(max-width:640px){
  .testi-grid{grid-template-columns:1fr;}
  .contact-box{grid-template-columns:1fr;gap:32px;padding:28px 22px;}
  .testi{padding:60px 20px;}
  .contact-sec{padding:40px 20px 60px;}
}

.fl2{font-size:0.73rem;color:var(--t3);}
.fls{display:flex;gap:22px;}
.fls a{font-size:0.73rem;color:var(--t3);text-decoration:none;transition:color 0.2s;}
.fls a:hover{color:var(--t2);}
footer{border-top:1px solid var(--b1);padding:0 52px;position:relative;z-index:1;}
.footer-badges{display:flex;justify-content:center;gap:32px;padding:24px 0;border-bottom:1px solid var(--b1);flex-wrap:wrap;}
.fbadge{display:flex;align-items:center;gap:8px;font-size:0.78rem;color:var(--t2);}
.fbadge-ico{color:var(--gold);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:20px 0;}
.how{padding:80px 48px 10px;position:relative;z-index:1;}
.how-inner{max-width:820px;margin:0 auto;}
.how-title{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:800;letter-spacing:-0.03em;text-align:center;margin-bottom:56px;}
.how-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:0;}
.how-step{background:var(--s1);border:1px solid var(--b1);border-radius:16px;padding:28px 24px;text-align:center;position:relative;transition:border-color 0.3s,box-shadow 0.3s;display:flex;flex-direction:column;align-items:center;}
.how-step:hover{border-color:var(--gold);box-shadow:0 0 24px var(--gold-glow);}
.how-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(201,168,76,0.4);border-radius:50%;font-size:0.68rem;font-weight:700;color:var(--gold);letter-spacing:0.02em;margin:0 auto 14px;}
.how-ico{width:52px;height:52px;background:rgba(201,168,76,0.08);border:1px solid rgba(201,168,76,0.2);border-radius:14px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.how-h{font-weight:700;font-size:0.92rem;margin-bottom:10px;}
.how-p{font-size:0.78rem;color:var(--t2);line-height:1.7;font-weight:300;}
.how-arrow{display:flex;align-items:center;justify-content:center;padding:0 16px;color:var(--gold);font-size:1.4rem;opacity:0.4;padding-top:55px;}
.how-aos{opacity:0;transition:opacity 0.6s ease,transform 0.6s ease;}
.how-aos.visible{opacity:1;}

@media(max-width:640px){
  /* ── HEADER ── */
  header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    padding:16px 16px!important;
    padding-top:calc(16px + env(safe-area-inset-top, 0px))!important;
    backdrop-filter:blur(24px);
    -webkit-backdrop-filter:blur(24px);
  }
  .hero{padding:100px 18px 50px!important;}
  .hdr-center{display:none;}
  .btn-hist{display:none;}
  /* Bouton CTA caché sur mobile — remplacé par scroll au tap logo */
  .btn-hdr{display:none!important;}
  .hdr-mobile-badge{display:flex!important;align-items:center;}
  /* Logo réduit sur mobile */
  .logo svg{width:130px!important;height:34px!important;}
  /* Badge mode plus compact */
  #mode-badge{font-size:0.6rem!important;padding:3px 8px!important;gap:4px!important;}
  /* hdr-right aligné proprement */
  .hdr-right{gap:8px;}
  /* Logo vraiment centré sur mobile — position absolue */
  header{position:relative;display:flex;align-items:center;justify-content:space-between;}
  .logo{position:static;transform:none;}
  .hdr-right{margin-left:auto;}
  /* Badge "Gratuit" mobile caché */
  .hdr-mobile-badge{display:none!important;}
  /* Flèches navigation avis mobile */
  .testi-nav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:20px;}
  .testi-arrow{background:var(--s1);border:1px solid var(--b2);color:var(--gold);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;flex-shrink:0;}
  .testi-arrow:hover{border-color:var(--gold);background:var(--gold-dim);}
  /* Avis : carousel simple sur mobile, pas de 3D */
  .testi-head-wrap{text-align:center;margin-bottom:28px;position:relative;z-index:2;}
  .testi-scene{height:auto!important;perspective:none!important;overflow:hidden!important;min-height:0!important;}
  .tcard{
    position:relative!important;
    top:auto!important;left:auto!important;
    transform:none!important;
    opacity:0!important;
    width:100%!important;
    max-width:100%!important;
    pointer-events:none!important;
    display:none!important;
  }
  .tcard.mobile-active{
    opacity:1!important;
    display:block!important;
    pointer-events:auto!important;
  }
  /* Afficher les flèches sur mobile */
  .testi-nav{display:flex!important;}

  /* ── HERO ── */
  .hero{padding:20px 18px 50px;}
  h1{font-size:2.2rem;letter-spacing:-0.03em;}
  .hero-p{font-size:0.82rem;}
  .hero-pill{font-size:0.68rem;padding:5px 14px;}

  /* ── CARTES HERO ── */
  .hero-parcours{grid-template-columns:1fr;gap:20px;margin-bottom:28px;}
  .hero-card{padding:22px 20px;}
  .hero-card-pro{padding-top:30px;}
  .hc-price-new{font-size:1.7rem;}
  .hc-cta-pro{padding:13px 18px;font-size:0.82rem;}
  .hero-psych{font-size:0.76rem;padding:0 10px;}
  .hero-reassurance{font-size:0.65rem;padding:0 8px;}

  /* ── METRICS ── */
  .metrics{flex-wrap:wrap;}
  .met{flex:1;min-width:110px;padding:14px 16px;}

  /* ── APP / TUNNEL ── */
  .app{padding:40px 18px 60px;}
  #app{padding:40px 18px!important;}
  .st-title{font-size:1.4rem;}
  .tg{grid-template-columns:repeat(2,1fr);gap:8px;}
  .tc{padding:12px 10px;}
  .tc-n{font-size:0.78rem;}
  .tc-s{font-size:0.62rem;}
  .fr{grid-template-columns:1fr;}
  .gg{grid-template-columns:1fr;}
  .br2{flex-direction:column;gap:8px;}
  .br2 button{width:100%;}

  /* ── SURFACE TILES ── */
  .surf-tiles{grid-template-columns:repeat(4,1fr);gap:6px;}
  .surf-tile{padding:9px 4px;font-size:0.75rem;}
  .surf-tile-sub{font-size:0.55rem;}

  /* ── RÉSULTAT ── */
  .rb{padding:20px 18px;}
  .ra{font-size:2.4rem;}
  .rrv{font-size:0.72rem;}
  .rl{padding:12px 16px;}
  .rl-n{font-size:0.8rem;}
  .rl-group-header{padding:8px 16px 4px;}
  .rab{flex-direction:column;gap:10px;align-items:flex-start;}

  /* ── BLOCS UNLOCK ── */
  .uc{padding:22px 18px;}
  .ut{flex-direction:column;gap:14px;}
  .ufs{grid-template-columns:1fr;}
  .unw{font-size:2rem;}
  .up{align-items:flex-start;}

  /* ── MODAL PAIEMENT ── */
  .modal{padding:28px 22px;}
  .pr{grid-template-columns:1fr;}

  /* ── ALERT MODAL ── */
  #alert-box{padding:28px 22px;}
  #alert-title{font-size:1.2rem;}

  /* ── HOW ── */
  .how{padding:60px 18px 10px;}
  .how-steps{grid-template-columns:1fr;gap:12px;}
  .how-arrow{display:none;}
  .how-title{font-size:1.5rem;margin-bottom:32px;}

  /* ── TÉMOIGNAGES ── */
  .testi{padding:60px 18px;}
  .testi-scene{height:auto;perspective:none;}

  /* ── CONTACT ── */
  .contact-box{grid-template-columns:1fr;gap:28px;padding:24px 18px;}
  .contact-sec{padding:40px 18px 60px;}
  .contact-left h3{font-size:1.3rem;}

  /* ── FOOTER ── */
  footer{padding:0 18px;flex-direction:column;gap:14px;text-align:center;}
  .footer-bottom{flex-direction:column;gap:10px;text-align:center;}
  .footer-badges{gap:16px;padding:18px 0;}

  .app{padding:80px 18px 60px!important;}
  #app{padding:80px 18px 60px!important;}
  #prog-bar{padding:10px 14px!important;}
  #prog-bar .ps-l{font-size:0.6rem!important;white-space:nowrap;}
}
#mode-xoverlay{
  position:fixed;inset:0;z-index:500;pointer-events:none;opacity:0;
}
#mode-xoverlay.go{animation:xovAnim 0.45s ease forwards;}
@keyframes xovAnim{0%{opacity:0;}20%{opacity:0.14;}100%{opacity:0;}}
@keyframes counterPulse{
  0%{opacity:0.8;}
  50%{opacity:0;}
  100%{opacity:0;}
}
.color-swatch{width:36px;height:36px;border-radius:50%;cursor:pointer;outline:3px solid transparent;outline-offset:2px;transition:all 0.18s;flex-shrink:0;display:block;}
.color-swatch.sel{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 5px rgba(201,168,76,0.4);}

.pdf-preview iframe,
.pdf-preview canvas,
.pdf-preview object,
.pdf-preview embed{
  display:block;
  width:100%;
  backface-visibility:hidden;
  
}

.pdf-preview:hover .pdf-overlay{
  background:rgba(0,0,0,0.48);
}

.pdf-preview:hover{
  box-shadow:0 0 40px rgba(201,168,76,0.25), 0 0 80px rgba(201,168,76,0.15);
  border:1px solid rgba(201,168,76,0.4);
}

.pdf-toggle-wrap{
  margin:18px 0 10px;
}
.pdf-toggle-btn{
  width:100%;
  background:var(--s1);
  border:1px solid var(--b2);
  color:var(--text);
  border-radius:12px;
  padding:14px 18px;
  font-family:'DM Sans',sans-serif;
  font-size:0.9rem;
  font-weight:600;
  cursor:pointer;
  transition:all 0.22s ease;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.pdf-toggle-btn:hover{
  border-color:rgba(201,168,76,0.4);
  box-shadow:0 0 22px rgba(201,168,76,0.12);
}
.pdf-preview-collapsible{
  max-height:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-6px);
  transition:max-height 0.35s ease, opacity 0.25s ease, transform 0.25s ease, margin-top 0.25s ease;
  margin-top:0;
}
.pdf-preview-collapsible.open{
  max-height:1400px;
  opacity:1;
  transform:translateY(0);
  margin-top:14px;
}

.pdf-preview{
  position:relative;
  margin-top:24px;
  overflow:hidden;
  border-radius:18px;
  transition:box-shadow 0.25s ease, border 0.25s ease;
}

.pdf-preview:hover{
  box-shadow:0 0 25px rgba(201,168,76,0.18), 0 0 50px rgba(201,168,76,0.08);
  border:1px solid rgba(201,168,76,0.25);
}

/* Masquer flèches inputs number — global */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
  appearance: textfield;
}


/* ── OFFRE UNIQUE 9,99 € ── */
.hero-parcours-single{
  grid-template-columns:minmax(0,680px);
  justify-content:center;
  max-width:700px;
}
.hero-card-single{
  padding:34px 38px 30px;
  min-height:0;
}
.hero-card-single .hc-left{margin-bottom:16px;}
.hero-card-single .hc-title{font-size:1.45rem;}
.hero-card-single .hc-desc{max-width:520px;line-height:1.65;}
.single-offer-badge{
  display:inline-block;
  font-size:0.5rem;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:5px 13px;
  border-radius:20px;
  background:rgba(201,168,76,0.14);
  color:var(--gold2);
  border:1px solid rgba(201,168,76,0.38);
}
.single-price-block{margin:2px 0 16px;}
.single-price-block .hc-price-new{font-size:2.15rem;}
.single-result-offer .uf{color:var(--t2);}
@media(max-width:640px){
  .hero-card-single{padding:30px 22px 24px;}
  .hero-card-single .hc-title{font-size:1.28rem;}
  .single-result-offer>div:first-child{grid-template-columns:1fr!important;}
  .single-result-offer>div:first-child>div:last-child{text-align:left!important;}
}

/* ── AVIS CLIENT APRÈS PAIEMENT ── */
.review-open-btn{
  width:100%;
  margin-bottom:10px;
  border-color:rgba(201,168,76,0.42)!important;
  color:var(--gold2)!important;
}
.review-open-btn:hover{background:rgba(201,168,76,0.08)!important;}
.review-modal-overlay{z-index:10020!important;background:rgba(0,0,0,0.74);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}
.review-modal-card{max-width:610px!important;width:calc(100% - 32px);padding:30px!important;text-align:left!important;}
.review-modal-kicker{text-align:center;color:var(--gold);font-size:0.7rem;font-weight:700;letter-spacing:0.11em;text-transform:uppercase;margin-bottom:7px;}
.review-modal-card h3{text-align:center;font-family:'Cormorant Garamond',serif;font-size:1.65rem;line-height:1.05;margin-bottom:8px;}
.review-modal-intro{text-align:center;color:var(--t2);font-size:0.78rem;line-height:1.55;max-width:480px;margin:0 auto 22px;}
.review-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.review-field{margin-bottom:16px;position:relative;}
.review-field>label,.review-grid-fields label{display:block;color:var(--text);font-size:0.76rem;font-weight:600;margin-bottom:7px;}
.review-grid-fields label span{color:var(--t2);font-weight:400;}
.review-field textarea,.review-field input{
  width:100%;background:var(--s2);border:1px solid var(--b2);border-radius:10px;color:var(--text);
  font-family:'DM Sans',sans-serif;font-size:0.82rem;padding:12px 13px;transition:border-color .18s,box-shadow .18s;
}
.review-field textarea{min-height:125px;resize:vertical;line-height:1.55;padding-bottom:28px;}
.review-field textarea:focus,.review-field input:focus{border-color:rgba(201,168,76,0.65);box-shadow:0 0 0 3px rgba(201,168,76,0.09);}
.review-grid-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.review-stars{display:flex;justify-content:center;gap:8px;padding:5px 0 2px;}
.review-stars button{
  appearance:none;background:none;border:none;color:#3d382d;font-size:2rem;line-height:1;cursor:pointer;padding:2px;
  transition:color .14s,transform .14s,text-shadow .14s;
}
.review-stars button.active{color:var(--gold2);text-shadow:0 0 12px rgba(201,168,76,0.28);}
.review-stars button:hover{transform:scale(1.12);}
.review-char-count{position:absolute;right:11px;bottom:8px;color:var(--t3);font-size:0.65rem;}
.review-consent{display:flex;align-items:flex-start;gap:10px;color:var(--t2);font-size:0.71rem;line-height:1.45;margin:4px 0 16px;cursor:pointer;}
.review-consent input{margin-top:2px;accent-color:var(--gold);flex-shrink:0;}
.review-submit-btn{width:100%;margin-top:0!important;}
.review-submit-btn:disabled{opacity:.55;cursor:wait;}
.review-form-status{font-size:0.74rem;line-height:1.5;text-align:center;margin-top:11px;min-height:1.1em;}
.review-form-status.success{color:var(--green);}
.review-form-status.error{color:#ff7b72;}
@media(max-width:640px){
  .review-modal-card{padding:24px 18px!important;max-height:92vh;overflow-y:auto;}
  .review-grid-fields{grid-template-columns:1fr;}
  .review-stars{gap:4px;}
  .review-stars button{font-size:1.8rem;}
}
