
/* =========================================================
   PRISM 8.14 — Navbar membre premium
   Remplace le rendu enfantin par une barre plus sobre, glass, éditoriale.
   ========================================================= */

body.p8 .p8-header{
  position:sticky !important;
  top:0 !important;
  z-index:300 !important;
  width:100% !important;
  min-height:86px !important;
  margin:0 !important;
  padding:0 34px !important;
  border-radius:0 !important;
  border:0 !important;
  border-bottom:1px solid rgba(255,255,255,.075) !important;
  background:
    linear-gradient(180deg,rgba(10,10,14,.92),rgba(7,7,10,.84)),
    radial-gradient(circle at 16% 0%,rgba(212,175,55,.10),transparent 42%) !important;
  backdrop-filter:blur(22px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(135%) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.28) !important;
}

body.p8 .p8-header::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(244,217,126,.32),transparent);
  pointer-events:none;
}

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

body.p8 .p8-brand img{
  width:38px !important;
  height:38px !important;
  filter:drop-shadow(0 0 16px rgba(244,217,126,.18)) !important;
}

body.p8 .p8-brand span{
  font-family:"Avenir Next","Avenir","Manrope","Montserrat","Helvetica Neue","Segoe UI",sans-serif !important;
  font-size:2.15rem !important;
  line-height:1 !important;
  font-weight:460 !important;
  letter-spacing:.24em !important;
  color:#f8f2e9 !important;
  text-shadow:none !important;
}

body.p8 .p8-nav{
  gap:6px !important;
  align-items:center !important;
}

body.p8 .p8-nav a{
  position:relative !important;
  min-height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 15px !important;
  border-radius:999px !important;
  border:1px solid transparent !important;
  background:transparent !important;
  color:#c9bfad !important;
  font-size:.82rem !important;
  font-weight:850 !important;
  letter-spacing:.075em !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  box-shadow:none !important;
  transition:color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease !important;
}

body.p8 .p8-nav a::after{
  content:"";
  position:absolute;
  left:16px;
  right:16px;
  bottom:8px;
  height:1px;
  transform:scaleX(0);
  transform-origin:center;
  background:linear-gradient(90deg,transparent,#f4d97e,transparent);
  transition:transform .18s ease;
  opacity:.9;
}

body.p8 .p8-nav a:hover{
  color:#f8f2e9 !important;
  border-color:rgba(244,217,126,.18) !important;
  background:rgba(255,255,255,.035) !important;
  transform:translateY(-1px);
}

body.p8 .p8-nav a:hover::after{
  transform:scaleX(1);
}

body.p8 .p8-nav .p8-nav-cta{
  min-height:48px !important;
  margin-left:8px !important;
  padding:0 22px !important;
  color:#14110a !important;
  border-color:rgba(244,217,126,.62) !important;
  background:
    linear-gradient(135deg,#c99d2e 0%,#f4d97e 54%,#fff2b8 100%) !important;
  box-shadow:
    0 16px 34px rgba(212,175,55,.20),
    inset 0 1px 0 rgba(255,255,255,.75) !important;
}

body.p8 .p8-nav .p8-nav-cta::after{
  display:none !important;
}

body.p8 .p8-nav .p8-nav-cta:hover{
  color:#111 !important;
  border-color:rgba(255,242,184,.78) !important;
  background:
    linear-gradient(135deg,#d4af37 0%,#ffe18b 58%,#fff6c9 100%) !important;
  transform:translateY(-1px);
}

body.p8 .p8-menu-button{
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.045) !important;
  color:#f8f2e9 !important;
  text-transform:uppercase !important;
  letter-spacing:.08em !important;
  font-size:.8rem !important;
  font-weight:850 !important;
}

@media(max-width:860px){
  body.p8 .p8-header{
    padding:12px 16px !important;
    min-height:76px !important;
  }

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

  body.p8 .p8-nav{
    width:100% !important;
    gap:8px !important;
    padding-top:8px !important;
  }

  body.p8 .p8-nav a,
  body.p8 .p8-nav .p8-nav-cta{
    width:100% !important;
    margin-left:0 !important;
  }
}

/* Code PRISM public : même direction premium, sans emojis */
body .topbar.wrap{
  border-radius:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  background:
    linear-gradient(180deg,rgba(10,10,14,.92),rgba(7,7,10,.84)) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.28) !important;
}

body .main-nav a{
  border-radius:999px !important;
  font-size:.8rem !important;
  font-weight:850 !important;
  letter-spacing:.07em !important;
  text-transform:uppercase !important;
}

body .main-nav .site-return{
  background:rgba(212,175,55,.10) !important;
  border-color:rgba(244,217,126,.28) !important;
}


/* =========================================================
   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;
  }
}
