:root{
  --bg:#0b0f17;
  --text:#eaf0ff;
  --muted:#a7b3cc;
  --border:rgba(255,255,255,0.08);
  --accent:#6ea8fe;
  --accent2:#7ee787;
  --radius:14px;
  --shadow: 0 12px 40px rgba(0,0,0,.45);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1000px 600px at 20% 0%, rgba(110,168,254,.18), transparent 60%),
              radial-gradient(900px 600px at 90% 10%, rgba(126,231,135,.12), transparent 55%),
              var(--bg);
  color:var(--text);
  line-height:1.6;
}
a{color:var(--text);text-decoration:none}
a:hover{opacity:.9}
.container{width:min(1100px, 92%); margin:0 auto}
.container.small{width:min(560px, 92%)}
.center{text-align:center}
.muted{color:var(--muted)}
.inline{display:inline}
.grad{background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent}

.site-header{
  position:sticky;top:0;z-index:20;
  backdrop-filter: blur(12px);
  background: rgba(11,15,23,.70);
  border-bottom:1px solid var(--border);
}
.header-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.brand{display:flex;align-items:center;gap:10px}
.brand-dot{width:10px;height:10px;border-radius:99px;background:linear-gradient(90deg,var(--accent),var(--accent2));display:inline-block}
.brand-name{font-weight:700;letter-spacing:.2px}
.nav{display:flex;align-items:center;gap:12px}
.nav a{color:var(--muted);font-weight:500}
.nav a.btn{color:var(--text)}

.site-main{padding:26px 0 60px}
.site-footer{border-top:1px solid var(--border); padding:18px 0; color:var(--muted)}
.footer-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}

.badge{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 10px;border:1px solid var(--border);
  background:rgba(255,255,255,.03);
  border-radius:999px;
  color:var(--muted);
  font-size:13px;
}
h1{font-size:44px;line-height:1.1;margin:14px 0 10px}
h2{font-size:28px;margin:0 0 12px}
h3{font-size:18px;margin:0 0 10px}
.lead{font-size:18px;color:var(--muted);max-width:60ch}

.hero{padding:34px 0 10px}
.hero-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:22px;align-items:start}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.note{
  margin-top:14px;
  padding:12px 14px;
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:var(--radius);
  color:var(--muted);
}

.section{padding:34px 0}
.card{
  background:rgba(255,255,255,.03);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:18px;
}
.card-elevated{box-shadow: var(--shadow)}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:14px}

@media (max-width: 900px){
  h1{font-size:34px}
  .hero-grid{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
}

.btn{
  display:inline-flex;align-items:center;justify-content:center;
  gap:8px;
  background:linear-gradient(90deg,var(--accent), #8ab7ff);
  color:#081022;
  border:0;
  border-radius:12px;
  padding:10px 14px;
  font-weight:700;
  cursor:pointer;
}
.btn:hover{filter:brightness(1.03)}
.btn-ghost{background:rgba(255,255,255,.04);color:var(--text);border:1px solid var(--border)}
.btn-lg{padding:12px 16px;font-size:16px}
.btn-block{width:100%}

.price{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.price-amount{font-size:28px;font-weight:800;letter-spacing:.2px}

.checklist{list-style:none;padding:0;margin:10px 0 0}
.checklist li{padding-left:26px;position:relative;margin:10px 0;color:var(--muted)}
.checklist li:before{
  content:"✓";position:absolute;left:0;top:0;
  width:18px;height:18px;border-radius:6px;
  background:rgba(126,231,135,.15);color:var(--accent2);
  display:flex;align-items:center;justify-content:center;font-weight:800;
}

.form label{display:block;margin:8px 0 6px;color:var(--muted);font-weight:600}
.form input{
  width:100%;padding:12px 12px;border-radius:12px;border:1px solid var(--border);
  background:rgba(255,255,255,.03);color:var(--text);outline:none;
}
.form input:focus{border-color:rgba(110,168,254,.5); box-shadow:0 0 0 4px rgba(110,168,254,.12)}
.form button{margin-top:12px}

.alert{margin:12px auto 0;width:min(1100px, 92%);padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.03)}
.alert-error{border-color:rgba(255,107,107,.35); color:#ffd1d1}
.alert-success{border-color:rgba(126,231,135,.35); color:#d7ffe0}

.accordion{margin-top:14px}
.accordion-item{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:12px;margin:10px 0}
.accordion-item summary{cursor:pointer;padding:14px 14px;font-weight:700}
.accordion-body{padding:0 14px 14px;color:var(--muted)}

.downloads{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.download-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--border);background:rgba(255,255,255,.02);border-radius:12px;padding:12px 14px}
.download-title{font-weight:700}
.stars{color:#ffd166}
.quote{color:var(--text)}

.hero-visual .hero-illu{position:relative; overflow:hidden}
.illu-wrap{padding:10px}
.illu{width:100%; height:auto; display:block; animation: floaty 6s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

.trust-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:14px}
.trust-item{padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.03)}
.trust-title{font-weight:800}

.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}
.pill{display:inline-flex;padding:6px 10px;border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.03);font-weight:800;font-size:12px}
.pillar-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.meter{height:10px;border:1px solid var(--border);border-radius:99px;background:rgba(255,255,255,.02);overflow:hidden;margin-top:10px}
.meter span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:99px}

.stats .stat{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:110px}
.stat-num{font-size:38px;font-weight:900;letter-spacing:.2px}

.before-after{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ba-title{font-weight:900;margin-bottom:8px}
.ba-col{padding:12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.02)}
@media (max-width:900px){.before-after{grid-template-columns:1fr}}

.pillar.highlight{border-color:rgba(110,168,254,.35); box-shadow: 0 12px 40px rgba(110,168,254,.10)}

/* ===== Dashboard Premium Add-ons ===== */
.dash-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.dash-badges{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

.badge-anim{
  position:relative;
  overflow:hidden;
  animation: badgePop .9s ease both;
}
.badge-anim::after{
  content:"";
  position:absolute; inset:-40%;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.12), transparent);
  transform:translateX(-60%) rotate(12deg);
  animation: shine 3.2s ease-in-out infinite;
}
.badge-anim.b1{border-color:rgba(110,168,254,.35)}
.badge-anim.b2{border-color:rgba(126,231,135,.35)}
.badge-anim.b3{border-color:rgba(255,255,255,.16)}
@keyframes shine{0%,70%{transform:translateX(-65%) rotate(12deg)}100%{transform:translateX(75%) rotate(12deg)}}
@keyframes badgePop{0%{transform:translateY(6px);opacity:0}100%{transform:translateY(0);opacity:1}}

.hero-row{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:start}
.buybox{position:sticky;top:86px}
@media (max-width:900px){.hero-row{grid-template-columns:1fr}.buybox{position:relative;top:auto}}

.icon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.icon-card{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.02)}
.ico{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.03)}
.ico svg{opacity:.95}

.mini-trust{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.mini-trust-item{display:flex;gap:10px;align-items:center;color:var(--muted);font-weight:600}
.mini-trust-item svg{opacity:.9}

.pillar-row{display:flex;gap:12px;align-items:flex-start}
.pillar-row .ico-lg{width:42px;height:42px;border-radius:14px;border:1px solid var(--border);background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center}
.pillar-row.highlight{border-color:rgba(110,168,254,.35); box-shadow: 0 12px 40px rgba(110,168,254,.10)}

.member-head{display:flex;gap:12px;align-items:flex-start}
.member-ico{width:44px;height:44px;border-radius:14px;border:1px solid var(--border);background:rgba(126,231,135,.08);display:flex;align-items:center;justify-content:center}
.download-left{display:flex;gap:12px;align-items:flex-start}
.download-ico{width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center}

/* ===== Sticky buy bar (mobile only) ===== */
.sticky-buybar{
  display:none;
  position:fixed;
  left:10px; right:10px; bottom:10px;
  z-index:50;
  padding:12px 12px;
  border-radius:16px;
  border:1px solid var(--border);
  background:rgba(11,15,23,.88);
  backdrop-filter: blur(10px);
  box-shadow: 0 12px 40px rgba(0,0,0,.45);
  align-items:center; justify-content:space-between;
  gap:12px;
}
.sticky-title{font-weight:900}
.sticky-sub{color:var(--muted);font-size:13px}
.sticky-form{margin:0}
@media (max-width:900px){
  .sticky-buybar{display:flex}
  body{padding-bottom:86px;} /* évite que le contenu soit caché sous la barre */
}

/* ======================================================
   RESPONSIVE GLOBAL (MOBILE FIRST FIX)
   Colle à la FIN du fichier style.css
   ====================================================== */

/* 1) Container & spacing */
.container{
  width: min(1100px, 100%);
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
.section{ padding: 26px 0; }
.card{ border-radius: 16px; }
.lead{ line-height: 1.55; }
.muted{ line-height: 1.55; }

/* 2) Typography scaling */
h1{ line-height: 1.1; letter-spacing: -0.02em; }
h2{ line-height: 1.15; letter-spacing: -0.02em; }
h3{ line-height: 1.2; }

@media (max-width: 900px){
  .section{ padding: 18px 0; }
  h1{ font-size: clamp(28px, 7vw, 40px); }
  h2{ font-size: clamp(22px, 5.2vw, 30px); }
  h3{ font-size: 18px; }
  .lead{ font-size: 15px; }
  .container{ padding-left: 16px; padding-right: 16px; }
}

/* 3) Grids -> 1 colonne sur mobile */
.grid-2, .grid-3, .grid-4{
  display: grid;
  gap: 12px;
}
.grid-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 900px){
  .grid-2, .grid-3, .grid-4{ grid-template-columns: 1fr !important; }
}

/* 4) Buttons full width mobile */
.btn{ border-radius: 14px; }
.btn-block{ width: 100%; }
@media (max-width: 900px){
  .btn-lg{ padding: 14px 16px; font-size: 15px; }
  .btn, .btn-lg{ width: 100%; }
}

/* 5) Badges wrapping & spacing */
.badge, .dash-badges, .hero-tags{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.badge{ white-space: nowrap; }

/* 6) Tables: scroll horizontal sur mobile */
table{ width: 100%; }
@media (max-width: 900px){
  .table-wrap, .table-responsive{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  table{ min-width: 620px; }
}

/* 7) Downloads list mobile */
.downloads{ display: grid; gap: 10px; }
.download-row{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
@media (max-width: 900px){
  .download-row{
    flex-direction: column;
    align-items: stretch;
  }
  .download-row .btn{ width: 100%; }
}

/* 8) Header/nav mobile-friendly (générique) */
header .container, .nav .container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.nav-links, header nav ul{
  display:flex;
  align-items:center;
  gap: 12px;
  flex-wrap: wrap;
}
@media (max-width: 900px){
  header .container, .nav .container{ align-items:flex-start; }
  .nav-links, header nav ul{
    width: 100%;
    justify-content:flex-start;
    gap: 10px;
  }
}

/* 9) Cards content spacing */
.card{ padding: 14px; }
.card-elevated{ padding: 16px; }
@media (max-width: 900px){
  .card{ padding: 14px; }
  .card-elevated{ padding: 16px; }
}

/* ======================================================
   DASHBOARD RESPONSIVE FIX
   ====================================================== */

.hero-row{
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 14px;
  align-items: start;
}
.buybox{ position: sticky; top: 86px; }

.icon-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}

@media (max-width: 900px){
  .hero-row{ grid-template-columns: 1fr; }
  .buybox{ position: relative; top: auto; }
  .icon-grid{ grid-template-columns: 1fr; }
  .dash-top{ flex-direction: column; align-items: flex-start; }
  .dash-badges{ justify-content: flex-start; }
}

/* Sticky buybar: plus compact & safe sur petits écrans */
.sticky-buybar{
  display:none;
  position: fixed;
  left: 10px; right: 10px; bottom: 10px;
  z-index: 50;
  padding: 10px 10px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(11,15,23,.92);
  backdrop-filter: blur(10px);
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}
.sticky-left{ min-width: 0; }
.sticky-title{ font-weight: 900; }
.sticky-sub{
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 160px;
}
@media (max-width: 900px){
  .sticky-buybar{ display:flex; }
  body{ padding-bottom: 92px; }
}

/* ==========================
   MENU PREMIUM — FIX MOBILE
   ========================== */

.site-header{
  position: sticky;
  top: 0;
  z-index: 999;               /* plus haut pour passer au-dessus */
  border-bottom: 1px solid var(--border);
  background: rgba(11,15,23,.86);
  backdrop-filter: blur(12px);
}

.nav-wrap{
  position: relative;         /* IMPORTANT pour le panneau mobile */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 12px 0;
}

/* Brand */
.brand{
  display:flex;
  align-items:center;
  gap: 10px;
  text-decoration:none;
  min-width: 0;               /* permet au texte de s’adapter */
}
.brand-dot{
  width: 10px; height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), var(--accent2));
  box-shadow: 0 0 0 6px rgba(110,168,254,.08);
  flex: 0 0 auto;
}
.brand-name{
  font-weight: 900;
  letter-spacing: -.02em;
  color: var(--text);
  white-space: nowrap;        /* ne casse pas sur 2 lignes */
  overflow: hidden;           /* évite débordement */
  text-overflow: ellipsis;
  max-width: 60vw;            /* protège sur mobile */
}
.brand-accent{ color: rgba(255,255,255,.72); }

/* Desktop nav */
.nav-panel{
  display:flex;
  align-items:center;
  gap: 10px;
}
.nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 12px;
  border-radius: 14px;
  text-decoration:none;
  color: rgba(255,255,255,.82);
  border: 1px solid transparent;
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
  font-weight: 750;
}
.nav-link:hover{
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.10);
  transform: translateY(-1px);
}

.nav-pill{
  background: rgba(110,168,254,.12);
  border-color: rgba(110,168,254,.25);
  color: rgba(255,255,255,.95);
}
.nav-pill:hover{
  background: rgba(110,168,254,.18);
  border-color: rgba(110,168,254,.35);
}

.nav-ghost{
  background: rgba(255,255,255,.03);
  border-color: rgba(255,255,255,.08);
}

.nav-divider{
  width: 1px;
  height: 22px;
  background: rgba(255,255,255,.10);
  margin: 0 6px;
}
.nav-logout{ margin: 0; }

/* Burger button */
.nav-toggle{
  display:none;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  cursor: pointer;
}
.nav-toggle:hover{ background: rgba(255,255,255,.06); }

.nav-toggle-lines{
  display:block;
  width: 18px;
  height: 2px;
  background: rgba(255,255,255,.85);
  position: relative;
  margin: 0 auto;
  border-radius: 2px;
}
.nav-toggle-lines::before,
.nav-toggle-lines::after{
  content:"";
  position:absolute;
  left:0;
  width: 18px;
  height: 2px;
  background: rgba(255,255,255,.85);
  border-radius: 2px;
  transition: transform .14s ease, top .14s ease;
}
.nav-toggle-lines::before{ top: -6px; }
.nav-toggle-lines::after{ top: 6px; }

/* Mobile panel */
@media (max-width: 900px){
  .nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }

  /* on cache le menu par défaut */
  .nav-panel{
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    display:none;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(11,15,23,.96);
    backdrop-filter: blur(14px);
    box-shadow: 0 16px 50px rgba(0,0,0,.55);
    z-index: 1000;
  }

  .nav-panel.is-open{ display:flex; }

  .nav-divider{ width: 100%; height: 1px; margin: 4px 0; }
  .nav-link{ width: 100%; justify-content:flex-start; }

  /* quand menu ouvert, burger devient X */
  .nav-toggle.is-open .nav-toggle-lines{ background: transparent; }
  .nav-toggle.is-open .nav-toggle-lines::before{ top: 0; transform: rotate(45deg); }
  .nav-toggle.is-open .nav-toggle-lines::after{ top: 0; transform: rotate(-45deg); }
}

.brand-name-lg{
  font-size: 22px;
  font-weight: 900;
  letter-spacing: -0.02em;
}
@media (max-width: 900px){
  .brand-name-lg{ font-size: 20px; }
}

