
/* =========================================================
   PRISM 8.15 — Correctif mobile zone membre
   ========================================================= */

@media (max-width: 720px){
  html, body{
    overflow-x:hidden !important;
  }

  body.p8{
    background:
      radial-gradient(circle at 20% -8%, rgba(212,175,55,.14), transparent 30%),
      linear-gradient(155deg,#070709 0%,#111017 54%,#09090d 100%) !important;
  }

  /* Header mobile premium : logo + menu sur la même ligne */
  body.p8 .p8-header{
    width:100% !important;
    min-height:70px !important;
    margin:0 !important;
    padding:10px 16px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    gap:12px !important;
    border-radius:0 !important;
  }

  body.p8 .p8-brand{
    min-width:0 !important;
    gap:12px !important;
  }

  body.p8 .p8-brand img{
    width:32px !important;
    height:32px !important;
  }

  body.p8 .p8-brand span{
    font-size:1.42rem !important;
    letter-spacing:.18em !important;
    line-height:1 !important;
  }

  body.p8 .p8-menu-button{
    display:inline-flex !important;
    width:auto !important;
    min-width:86px !important;
    min-height:40px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    font-size:.72rem !important;
    letter-spacing:.12em !important;
  }

  body.p8 .p8-nav{
    grid-column:1 / -1 !important;
    display:none !important;
    width:100% !important;
    margin:4px 0 0 !important;
    padding:10px !important;
    border:1px solid rgba(255,255,255,.09) !important;
    border-radius:16px !important;
    background:rgba(10,10,15,.88) !important;
    box-shadow:0 18px 45px rgba(0,0,0,.28) !important;
  }

  body.p8.nav-open .p8-nav{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
  }

  body.p8 .p8-nav a,
  body.p8 .p8-nav .p8-nav-cta{
    width:100% !important;
    min-height:44px !important;
    margin:0 !important;
    padding:0 14px !important;
    border-radius:12px !important;
    justify-content:center !important;
    font-size:.78rem !important;
    letter-spacing:.07em !important;
  }

  /* Layout général mobile */
  body.p8 .p8-page{
    width:100% !important;
    margin:16px 0 42px !important;
    padding:0 14px !important;
    gap:16px !important;
  }

  body.p8 .p8-glass,
  body.p8 .p8-card,
  body.p8 .p8-news-card{
    border-radius:18px !important;
  }

  /* Hero mobile : plus d'effet “un mot par ligne” */
  body.p8 .p8-hero{
    min-height:auto !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:28px 20px !important;
    overflow:hidden !important;
  }

  body.p8 .p8-hero-home{
    padding-top:30px !important;
  }

  body.p8 .p8-hero-copy{
    min-width:0 !important;
  }

  body.p8 .p8-kicker,
  body.p8 .prism-eyebrow{
    display:block !important;
    max-width:100% !important;
    margin:0 0 12px !important;
    font-size:.72rem !important;
    line-height:1.55 !important;
    letter-spacing:.12em !important;
    word-spacing:.08em !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
    text-wrap:balance !important;
  }

  body.p8 .p8-hero h1{
    max-width:100% !important;
    margin:0 0 16px !important;
    font-size:clamp(2.35rem, 12vw, 3.25rem) !important;
    line-height:1.02 !important;
    letter-spacing:-.055em !important;
    text-wrap:balance !important;
    overflow-wrap:normal !important;
    word-break:normal !important;
  }

  body.p8 .p8-neon-gradient{
    display:inline !important;
    white-space:normal !important;
  }

  body.p8 .p8-lead,
  body.p8 .prism-lead,
  body.p8 .prism-muted{
    max-width:100% !important;
    font-size:1rem !important;
    line-height:1.72 !important;
    text-wrap:pretty !important;
  }

  body.p8 .p8-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:20px !important;
  }

  body.p8 .p8-btn,
  body.p8 .prism-btn,
  body.p8 button,
  body.p8 input[type=submit]{
    width:100% !important;
    min-height:50px !important;
  }

  body.p8 .p8-chip-row{
    gap:8px !important;
    margin-top:16px !important;
  }

  body.p8 .p8-chip-row span{
    width:auto !important;
    max-width:100% !important;
    padding:8px 10px !important;
    font-size:.82rem !important;
  }

  /* Image Spectrum : plus compacte sur mobile */
  body.p8 .p8-hero-visual{
    min-height:0 !important;
    padding:16px !important;
  }

  body.p8 .p8-hero-visual img{
    max-height:210px !important;
  }

  body.p8 .p8-hero-note{
    margin-top:12px !important;
  }

  /* Cartes mobile */
  body.p8 .p8-cards,
  body.p8 .p8-news-grid,
  body.p8 .p8-connexion-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  body.p8 .p8-card{
    min-height:0 !important;
    padding:22px !important;
  }

  body.p8 .p8-card span{
    margin-bottom:14px !important;
  }

  body.p8 .p8-card h2{
    font-size:1.35rem !important;
    line-height:1.15 !important;
  }

  body.p8 .p8-welcome{
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:24px 20px !important;
  }

  body.p8 .p8-welcome h2{
    font-size:clamp(2rem, 9vw, 2.65rem) !important;
    line-height:1.04 !important;
    letter-spacing:-.055em !important;
    text-wrap:balance !important;
  }

  body.p8 .p8-bullets{
    gap:10px !important;
  }

  body.p8 .p8-bullets > div,
  body.p8 .p8-spot-card{
    border-radius:14px !important;
    padding:14px !important;
  }

  body.p8 .p8-news-head{
    padding:6px 2px 0 !important;
  }

  body.p8 .p8-news-head h2{
    font-size:clamp(1.75rem, 8vw, 2.35rem) !important;
    line-height:1.08 !important;
  }

  body.p8 .p8-news-card{
    padding:20px !important;
  }

  body.p8 .p8-news-footer{
    align-items:flex-start !important;
  }
}

@media (max-width: 380px){
  body.p8 .p8-page{
    padding:0 10px !important;
  }

  body.p8 .p8-hero{
    padding:24px 16px !important;
  }

  body.p8 .p8-hero h1{
    font-size:2.25rem !important;
  }

  body.p8 .p8-brand span{
    font-size:1.25rem !important;
    letter-spacing:.15em !important;
  }

  body.p8 .p8-menu-button{
    min-width:74px !important;
    padding:0 10px !important;
  }
}

/* Code PRISM public mobile */
@media (max-width: 720px){
  body .topbar.wrap{
    min-height:70px !important;
    padding:10px 16px !important;
  }

  body .brand span strong{
    font-size:1.35rem !important;
    letter-spacing:.14em !important;
  }

  body .main-nav{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    margin-top:8px !important;
  }

  body .main-nav a{
    width:100% !important;
    justify-content:center !important;
    min-height:42px !important;
  }

  body .hero.wrap,
  body .code-levels-wrap,
  body .footer.wrap{
    width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body .official-card,
  body .hero-card,
  body .footer-card{
    padding:22px !important;
  }

  body h1{
    font-size:clamp(2.1rem, 11vw, 3rem) !important;
    line-height:1.02 !important;
    text-wrap:balance !important;
  }
}


/* =========================================================
   PRISM 8.17 — Correctif haut de page soutien mobile
   ========================================================= */
@media (max-width: 720px){
  body.p8.p8-support .support-public-wrap,
  body.p8.p8-support .prism-page.support-public-wrap{
    width:100% !important;
    max-width:100% !important;
    margin:0 !important;
    padding:14px 12px 42px !important;
    overflow-x:hidden !important;
  }

  body.p8.p8-support .support-public-hero,
  body.p8.p8-support .prism-hero.support-public-hero{
    width:100% !important;
    max-width:100% !important;
    min-height:auto !important;
    margin:0 0 14px !important;
    padding:24px 20px !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    align-items:start !important;
    overflow:hidden !important;
    border-radius:18px !important;
  }

  body.p8.p8-support .support-public-hero > div,
  body.p8.p8-support .prism-hero.support-public-hero > div{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }

  body.p8.p8-support .support-public-hero .prism-eyebrow{
    display:block !important;
    margin:0 0 12px !important;
    font-size:.72rem !important;
    line-height:1.35 !important;
    letter-spacing:.12em !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  body.p8.p8-support .support-public-hero h1{
    max-width:100% !important;
    margin:0 0 14px !important;
    font-size:clamp(2.05rem, 10vw, 2.75rem) !important;
    line-height:1.05 !important;
    letter-spacing:-.055em !important;
    text-wrap:balance !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  body.p8.p8-support .support-public-hero .prism-lead{
    max-width:100% !important;
    width:100% !important;
    margin:0 !important;
    font-size:1rem !important;
    line-height:1.68 !important;
    text-wrap:pretty !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
  }

  body.p8.p8-support .support-public-hero .prism-hero-logo{
    display:block !important;
    justify-self:center !important;
    width:min(240px, 78vw) !important;
    max-width:100% !important;
    max-height:170px !important;
    margin:2px auto 0 !important;
    object-fit:contain !important;
    float:none !important;
  }

  body.p8.p8-support #root.support-public-card{
    margin:0 !important;
    padding:14px !important;
    border-radius:18px !important;
  }
}

@media (max-width: 380px){
  body.p8.p8-support .support-public-wrap,
  body.p8.p8-support .prism-page.support-public-wrap{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  body.p8.p8-support .support-public-hero,
  body.p8.p8-support .prism-hero.support-public-hero{
    padding:22px 16px !important;
  }

  body.p8.p8-support .support-public-hero h1{
    font-size:2.05rem !important;
  }

  body.p8.p8-support .support-public-hero .prism-hero-logo{
    width:min(210px, 74vw) !important;
  }
}
