
:root{
  --z-purple:#6c3cff;--z-blue:#5988ff;--z-cyan:#5cd8e6;--z-orange:#ff9c47;
  --z-bg:#f7f8ff;--z-glass:rgba(255,255,255,.82)
}
html{background:#f7f8ff}
body.z32{
  background:
    radial-gradient(circle at 8% 12%,rgba(108,60,255,.12),transparent 24rem),
    radial-gradient(circle at 91% 8%,rgba(92,216,230,.14),transparent 24rem),
    radial-gradient(circle at 85% 72%,rgba(255,156,71,.09),transparent 22rem),
    linear-gradient(180deg,#fbfcff 0%,#f5f6ff 56%,#fbfbff 100%);
  min-height:100vh;position:relative;
}
body.z32:before,body.z32:after{
  content:"";position:fixed;pointer-events:none;z-index:-1;opacity:.75
}
body.z32:before{
  width:320px;height:320px;left:-100px;top:38vh;border-radius:42% 58% 67% 33% / 47% 37% 63% 53%;
  background:linear-gradient(135deg,rgba(108,60,255,.13),rgba(92,216,230,.08));
  filter:blur(1px);transform:rotate(18deg)
}
body.z32:after{
  width:420px;height:210px;right:-110px;bottom:8vh;
  background:
    radial-gradient(circle,rgba(89,136,255,.23) 1.4px,transparent 1.8px);
  background-size:18px 18px;mask-image:linear-gradient(90deg,transparent,#000 25%,#000 80%,transparent);
}
body.z32 .panel,body.z32 .universe,body.z32 .card,body.z32 .help-card{
  background:rgba(255,255,255,.86)!important;
  backdrop-filter:blur(14px);
  box-shadow:0 14px 50px rgba(56,50,110,.055);
}
body.theme-entraide{
  background:
   radial-gradient(circle at 12% 15%,rgba(108,60,255,.15),transparent 26rem),
   radial-gradient(circle at 88% 18%,rgba(92,216,230,.18),transparent 25rem),
   linear-gradient(180deg,#fafbff,#f2f5ff 60%,#fbfcff)!important
}
body.theme-courses{
  background:radial-gradient(circle at 8% 12%,rgba(51,190,151,.14),transparent 26rem),radial-gradient(circle at 92% 25%,rgba(89,136,255,.14),transparent 24rem),#f8fbff!important
}
body.theme-compare{
  background:radial-gradient(circle at 10% 15%,rgba(108,60,255,.14),transparent 25rem),radial-gradient(circle at 90% 15%,rgba(89,136,255,.14),transparent 25rem),#f8f8ff!important
}
body.theme-money{
  background:radial-gradient(circle at 12% 15%,rgba(255,183,77,.14),transparent 26rem),radial-gradient(circle at 90% 25%,rgba(108,60,255,.10),transparent 22rem),#fffaf7!important
}
body.theme-community{
  background:radial-gradient(circle at 8% 18%,rgba(92,216,230,.15),transparent 24rem),radial-gradient(circle at 90% 12%,rgba(255,156,71,.12),transparent 23rem),#f8fcff!important
}
body.z32 .page-hero{position:relative;overflow:hidden;border-radius:30px;padding:42px clamp(18px,4vw,50px);margin-top:12px;background:rgba(255,255,255,.64);border:1px solid rgba(219,221,240,.8)}
body.z32 .page-hero:after{content:"";position:absolute;right:-45px;top:-55px;width:220px;height:220px;border-radius:50%;background:linear-gradient(135deg,rgba(108,60,255,.17),rgba(92,216,230,.12));filter:blur(1px)}
body.z32 .page-hero>*{position:relative;z-index:1}
@media(max-width:700px){body.z32 .page-hero{padding:30px 20px;border-radius:22px}}


/* V3.2.1 — renforcement visuel */
body.z32{
  background-color:#f6f7ff!important;
  background-image:
    radial-gradient(circle at 8% 12%,rgba(108,60,255,.22) 0,rgba(108,60,255,.10) 17rem,transparent 30rem),
    radial-gradient(circle at 91% 8%,rgba(80,207,232,.23) 0,rgba(80,207,232,.10) 18rem,transparent 31rem),
    radial-gradient(circle at 88% 78%,rgba(255,156,71,.18) 0,rgba(255,156,71,.07) 15rem,transparent 29rem),
    linear-gradient(145deg,#fbfcff 0%,#f1f3ff 48%,#faf7ff 100%)!important;
  background-attachment:fixed!important;
}
body.z32 main.wrap{position:relative}
body.z32 main.wrap:before{
  content:"";position:absolute;z-index:-1;left:-5vw;top:90px;width:240px;height:240px;
  border-radius:38% 62% 55% 45% / 51% 39% 61% 49%;
  background:linear-gradient(135deg,rgba(108,60,255,.22),rgba(92,216,230,.15));
  transform:rotate(18deg);
}
body.z32 main.wrap:after{
  content:"";position:absolute;z-index:-1;right:-3vw;top:360px;width:210px;height:210px;
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(89,136,255,.32) 1.5px,transparent 2px);
  background-size:15px 15px;
  opacity:.75;
}
body.z32 .hero,
body.z32 .page-hero{
  background:
    linear-gradient(120deg,rgba(255,255,255,.92),rgba(249,248,255,.78)),
    radial-gradient(circle at 80% 20%,rgba(108,60,255,.16),transparent 20rem)!important;
  border:1px solid rgba(207,209,233,.9)!important;
  box-shadow:0 24px 65px rgba(77,66,145,.09)!important;
  border-radius:30px!important;
}
body.z32 .panel,body.z32 .universe,body.z32 .help-card{
  border-color:rgba(216,218,239,.95)!important;
  box-shadow:0 18px 45px rgba(68,62,124,.075)!important;
}

/* V3.2.2 MOBILE — desktop inchangé */
@media(max-width:768px){
html,body{overflow-x:hidden!important}
body.z32{color:#171922!important;padding-bottom:78px!important;background-attachment:scroll!important}
body.z32 .header-inner{min-height:74px!important;padding:10px 16px!important;gap:10px!important}
body.z32 .logo{font-size:28px!important;white-space:nowrap}
body.z32 .account{font-size:14px!important;padding:11px 14px!important;border-radius:18px!important;white-space:nowrap}
body.z32 .nav{display:none!important}
body.z32 .hero,body.z32 .page-hero{min-height:0!important;height:auto!important;margin:16px 14px 20px!important;padding:30px 22px 26px!important;border-radius:26px!important;background:rgba(255,255,255,.96)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
body.z32 .hero h1,body.z32 .hero .hero-title,body.z32 .page-hero h1,body.z32 .page-title{color:#171922!important;text-shadow:none!important;font-size:clamp(42px,12vw,64px)!important;line-height:.98!important;letter-spacing:-2.4px!important;margin:12px 0 22px!important}
body.z32 .hero h1 span,body.z32 .hero-title span,body.z32 .page-title span{color:#7653f6!important}
body.z32 .hero p,body.z32 .hero .sub,body.z32 .page-hero p,body.z32 .page-hero .sub{color:#4d5260!important;opacity:1!important;font-size:17px!important;line-height:1.55!important}
body.z32 .hero .badge,body.z32 .page-hero .badge{color:#5637d7!important;background:#eee9ff!important;opacity:1!important}
body.z32 .hero form,body.z32 .hero-search,body.z32 .search-box,body.z32 .searchbar{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
body.z32 input,body.z32 select,body.z32 textarea{max-width:100%!important;box-sizing:border-box!important;font-size:16px!important}
body.z32 .hero input,body.z32 .hero-search input,body.z32 .search-box input{width:100%!important;min-width:0!important;color:#242630!important;background:#fff!important;padding:14px 15px!important;font-size:16px!important}
body.z32 input::placeholder{color:#777c88!important;opacity:1!important}
body.z32 .hero .btn,body.z32 .hero button{min-height:52px!important;font-size:16px!important}
body.z32 .wrap{width:100%!important;max-width:100%!important;padding-left:14px!important;padding-right:14px!important;box-sizing:border-box!important}
body.z32 .panel,body.z32 .universe,body.z32 .card,body.z32 .help-card{background:rgba(255,255,255,.97)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;color:#1c1e27!important}
body.z32 .panel p,body.z32 .card p,body.z32 .help-card p,body.z32 .sub{opacity:1!important}
.z32-mobile-nav{position:fixed;z-index:9998;left:10px;right:10px;bottom:8px;height:64px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:rgba(255,255,255,.98);border:1px solid #e2e3ec;border-radius:20px;box-shadow:0 12px 38px rgba(40,38,72,.18);overflow:hidden}
.z32-mobile-nav a{height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;text-decoration:none!important;color:#555b68!important;font-size:10px!important;font-weight:800!important;line-height:1.05!important}
.z32-mobile-nav a .ico{font-size:20px;line-height:1}.z32-mobile-nav a.active{color:#6842ed!important;background:#f4f0ff!important}
}
@media(min-width:769px){.z32-mobile-nav{display:none!important}}


/* V3.2.3 — Finitions mobile accueil */
@media(max-width:768px){

  /* Hero encore un peu plus compact */
  body.z32 .hero,
  body.z32 .page-hero{
    padding-top:24px!important;
    padding-bottom:22px!important;
    margin-top:12px!important;
    margin-bottom:16px!important;
  }

  body.z32 .hero h1,
  body.z32 .hero .hero-title,
  body.z32 .page-hero h1,
  body.z32 .page-title{
    margin-top:8px!important;
    margin-bottom:18px!important;
  }

  body.z32 .hero p,
  body.z32 .hero .sub,
  body.z32 .page-hero p,
  body.z32 .page-hero .sub{
    margin-bottom:16px!important;
  }

  /* Recherche mobile : plus aucun rognage */
  body.z32 .hero form,
  body.z32 .hero-search,
  body.z32 .search-box,
  body.z32 .searchbar,
  body.z32 .hero form > *,
  body.z32 .hero-search > *,
  body.z32 .search-box > *{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.z32 .hero form,
  body.z32 .hero-search,
  body.z32 .search-box{
    display:flex!important;
    flex-direction:column!important;
    gap:10px!important;
    overflow:visible!important;
  }

  body.z32 .hero input,
  body.z32 .hero-search input,
  body.z32 .search-box input{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:14px 14px!important;
    border-radius:14px!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }

  body.z32 .hero button,
  body.z32 .hero .btn,
  body.z32 .hero-search button,
  body.z32 .search-box button{
    width:100%!important;
    max-width:100%!important;
  }

  /* La barre fixe ne doit pas masquer le début de la section suivante */
  body.z32 main{
    padding-bottom:14px!important;
  }

  /* Réduit légèrement les grands espaces entre sections sur mobile */
  body.z32 .section{
    margin-top:18px!important;
    margin-bottom:18px!important;
  }
}


/* =========================================================
   V3.5 — FINITION PROFESSIONNELLE
   Cohérence visuelle, lisibilité, interactions et confiance
   ========================================================= */
:root{
  --z35-ink:#171922;
  --z35-muted:#626875;
  --z35-line:#e5e7ef;
  --z35-purple:#6c3cff;
  --z35-shadow:0 18px 50px rgba(48,45,88,.075);
}
body.z32{color:var(--z35-ink)}
body.z32 .site-header{box-shadow:0 3px 18px rgba(28,28,45,.035)}
body.z32 .header-inner{max-width:1440px}
body.z32 .nav a{transition:color .18s ease,background .18s ease;border-radius:9px;padding:8px 5px}
body.z32 .nav a:hover{background:#f5f2ff}
body.z32 .account{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
body.z32 .account:hover{transform:translateY(-1px);border-color:#d8d1ff;box-shadow:0 8px 20px rgba(91,66,180,.09)}
body.z32 .section>h2{font-size:clamp(25px,2.5vw,34px);letter-spacing:-.8px;margin-bottom:6px}
body.z32 .section>.sub{max-width:760px;color:var(--z35-muted)}
body.z32 .universe,body.z32 .panel,body.z32 .help-card,body.z32 .ag-card,body.z32 .money-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
body.z32 a.universe:hover,body.z32 .help-card:hover,body.z32 .ag-card:hover{
  transform:translateY(-3px);
  border-color:#dcd7f4!important;
  box-shadow:0 22px 58px rgba(56,51,103,.11)!important;
}
body.z32 .btn{transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}
body.z32 .btn:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(53,46,98,.12)}
body.z32 button:focus-visible,body.z32 a:focus-visible,body.z32 input:focus-visible,body.z32 select:focus-visible,body.z32 textarea:focus-visible{
  outline:3px solid rgba(108,60,255,.22)!important;outline-offset:2px!important;
}
.z35-trust{
  display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0 4px;
}
.z35-trust>div{
  display:flex;gap:12px;align-items:flex-start;padding:16px 17px;border-radius:17px;
  background:rgba(255,255,255,.86);border:1px solid var(--z35-line);box-shadow:0 9px 28px rgba(45,44,73,.04);
}
.z35-trust .z35-icon{font-size:22px;line-height:1}
.z35-trust b{display:block;font-size:14px;margin-bottom:3px}
.z35-trust small{display:block;color:#6f7480;line-height:1.45}
.z35-quick{
  display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:16px;
}
.z35-quick a{
  text-decoration:none;background:#fff;border:1px solid #e6e7ef;border-radius:18px;padding:16px;
  font-weight:900;display:flex;align-items:center;gap:10px;min-height:70px;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.z35-quick a:hover{transform:translateY(-2px);border-color:#d9d1ff;box-shadow:var(--z35-shadow)}
.z35-quick span{font-size:24px}
.z35-message-badge{
  display:none;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:#6c3cff;color:#fff;
  font-size:10px;font-weight:950;align-items:center;justify-content:center;vertical-align:middle;margin-left:4px
}
.z35-message-badge.show{display:inline-flex}
body.z32 footer{margin-top:56px}
body.z32 footer .bottom{opacity:.75}
@media(max-width:900px){.z35-quick{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){
  .z35-trust{grid-template-columns:1fr;gap:8px}
  .z35-trust>div{padding:13px 14px}
  .z35-quick{grid-template-columns:1fr 1fr;gap:9px}
  .z35-quick a{padding:13px;min-height:62px;font-size:13px}
  body.z32 footer{margin-top:34px}
}

/* V3.5.1 — FINITION DESKTOP */
@media(min-width:769px){
  body.z32 .wrap{
    max-width:1280px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.z32 .hero,
  body.z32 .page-hero{
    min-height:0!important;
    height:auto!important;
    padding:46px 56px 42px!important;
    margin-top:26px!important;
    margin-bottom:20px!important;
    border-radius:28px!important;
    background:linear-gradient(118deg,rgba(255,255,255,.97),rgba(247,246,255,.93))!important;
    box-shadow:0 20px 56px rgba(70,61,120,.08)!important;
  }

  body.z32 .hero h1,
  body.z32 .hero .hero-title,
  body.z32 .page-hero h1,
  body.z32 .page-title{
    color:#171922!important;
    text-shadow:none!important;
    font-size:clamp(54px,5.6vw,78px)!important;
    line-height:.98!important;
    letter-spacing:-3px!important;
    margin:14px 0 20px!important;
    max-width:900px!important;
  }

  body.z32 .hero h1 span,
  body.z32 .hero-title span,
  body.z32 .page-title span{
    color:#7653f6!important;
  }

  body.z32 .hero p,
  body.z32 .hero .sub,
  body.z32 .page-hero p,
  body.z32 .page-hero .sub{
    color:#4f5562!important;
    opacity:1!important;
    font-size:18px!important;
    line-height:1.55!important;
    max-width:850px!important;
    margin-bottom:22px!important;
  }

  body.z32 .hero .badge,
  body.z32 .page-hero .badge{
    color:#5c3bd6!important;
    background:#eee9ff!important;
    opacity:1!important;
  }

  body.z32 .hero form,
  body.z32 .hero-search,
  body.z32 .search-box,
  body.z32 .searchbar{
    max-width:820px!important;
    margin-top:20px!important;
  }

  body.z32 .hero input,
  body.z32 .hero-search input,
  body.z32 .search-box input{
    color:#262934!important;
    background:#fff!important;
  }

  body.z32 .z35-trust{
    margin-top:12px!important;
    margin-bottom:22px!important;
  }

  body.z32 .section{
    margin-top:26px!important;
    margin-bottom:26px!important;
  }

  body.z32 .section>h2{
    margin-bottom:8px!important;
  }

  body.z32 .universes{
    gap:16px!important;
  }

  body.z32 .universe{
    min-height:0!important;
    padding:22px!important;
  }

  body.z32 .panel{
    padding:24px!important;
  }

  body.z32 .z35-quick{
    gap:14px!important;
  }

  body.z32 .z35-quick a{
    min-height:74px!important;
    padding:18px!important;
  }
}

@media(min-width:1200px){
  body.z32 .hero,
  body.z32 .page-hero{
    padding-left:68px!important;
    padding-right:68px!important;
  }
}

/* V3.5.2 — ACCUEIL SIMPLIFIE */
.z352-quick-section{margin-top:22px!important}.z352-quick-panel{padding:24px!important}.z352-quick-panel h2{margin:9px 0 5px!important}.z352-universes-section{margin-top:30px!important}
.z352-universes{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:15px!important}
.z352-universes .universe{display:flex!important;flex-direction:column!important;min-height:220px!important;box-sizing:border-box!important;padding:22px!important;text-decoration:none!important}
.z352-universes .universe .icon{font-size:29px!important;margin-bottom:12px!important}.z352-universes .universe h3{margin:0 0 9px!important;font-size:21px!important}.z352-universes .universe p{margin:0 0 15px!important;line-height:1.5!important;flex:1!important}.z352-universes .universe span{color:#6c3cff!important;font-weight:900!important;font-size:13px!important}
@media(max-width:1050px) and (min-width:701px){.z352-universes{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:700px){.z352-quick-section{margin-top:14px!important}.z352-quick-panel{padding:18px!important}.z352-universes{grid-template-columns:1fr!important;gap:11px!important}.z352-universes .universe{min-height:0!important;padding:18px!important}}
