/* ============================================================
   pages.css — panier, checkout, pages secondaires, reveal, responsive
   ============================================================ */

/* apparition au scroll (état masqué posé par JS via .reveal) */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
.js-off .reveal{opacity:1;transform:none}

/* ---------- Bandeau offre limitée (règle e-commerce) ---------- */
.offer-strip{background:var(--nv-ink);color:#fff;text-align:center;font-size:.82rem;font-weight:var(--fw-med);padding:.55rem 1rem}
.offer-strip strong{color:#ffd7a0}

/* ---------- Page produit / info héros secondaire ---------- */
.subhero{background:var(--nv-navy);color:#fff;padding:clamp(3rem,6vw,5rem) 0}
.subhero .two-col{align-items:center}
.subhero h1{color:#fff;font-size:var(--fs-hero);font-weight:var(--fw-bold)}
.subhero p{color:rgba(255,255,255,.8);font-size:1.1rem;margin-top:1rem}
.subhero__art img{border-radius:var(--r-lg)}

/* feature split rows */
.feature-row{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4rem);align-items:center;
  padding:clamp(2rem,4vw,3.5rem) 0}
.feature-row:nth-child(even) .feature-row__art{order:-1}
.feature-row__art img{border-radius:var(--r-lg);box-shadow:var(--sh-md)}
.feature-row h3{font-size:clamp(1.35rem,2.5vw,1.9rem);margin-bottom:.8rem}
.feature-icons{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.25rem}
.feature-icons .fi{display:flex;gap:.9rem;align-items:flex-start}
.feature-icons .fi img{width:40px;height:40px;flex:0 0 auto}
.feature-icons .fi h4{font-size:1.02rem;margin-bottom:.25rem}
.feature-icons .fi p{font-size:.88rem}

/* download platform grid */
.platforms{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}
.platform{display:flex;flex-direction:column;align-items:center;gap:.7rem;text-align:center;
  background:#fff;border:1px solid var(--nv-border);border-radius:var(--r-md);padding:1.5rem 1rem;transition:.18s}
.platform:hover{border-color:var(--nv-blue);box-shadow:var(--sh-md);transform:translateY(-2px)}
.platform img{width:56px;height:56px}
.platform span{font-weight:var(--fw-med);font-size:.95rem}

/* ---------- Panier ---------- */
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:2rem;align-items:start}
.cart-items{display:grid;gap:1rem}
.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:1rem;align-items:center;
  background:#fff;border:1px solid var(--nv-border);border-radius:var(--r-md);padding:1.1rem}
.cart-item__ic{width:64px;height:64px;border-radius:12px;background:var(--nv-bg-alt);display:grid;place-items:center}
.cart-item__ic img{width:38px;height:38px}
.cart-item h3{font-size:1.05rem}
.cart-item__meta{font-size:.82rem;color:var(--nv-ink-mute);margin-top:.2rem}
.cart-item__price{font-weight:var(--fw-bold);font-size:1.15rem;white-space:nowrap}
.cart-item__remove{font-size:.8rem;color:var(--nv-ink-mute);text-decoration:underline;margin-top:.3rem}
.cart-item__remove:hover{color:var(--nv-cta)}
.qty-fixed{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--nv-ink-mute);
  background:var(--nv-bg-alt);padding:.3rem .7rem;border-radius:var(--r-pill);margin-top:.4rem}
.summary{background:#fff;border:1px solid var(--nv-border);border-radius:var(--r-md);padding:1.5rem;position:sticky;top:calc(var(--header-h) + 1rem)}
.summary h2{font-size:1.2rem;margin-bottom:1rem}
.summary__row{display:flex;justify-content:space-between;padding:.5rem 0;font-size:.925rem;color:var(--nv-ink-soft)}
.summary__row--total{border-top:1px solid var(--nv-border);margin-top:.5rem;padding-top:1rem;
  font-size:1.25rem;font-weight:var(--fw-bold);color:var(--nv-ink)}
.summary__pay{display:flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.78rem;color:var(--nv-ink-mute)}
.summary__pay img{height:22px}
.cart-empty{text-align:center;padding:4rem 1rem;max-width:480px;margin:0 auto}
.cart-empty svg{width:72px;height:72px;color:var(--nv-border);margin:0 auto 1rem}
.trust-row{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;justify-content:center;margin-top:1.5rem;
  font-size:.82rem;color:var(--nv-ink-soft)}
.trust-row span{display:inline-flex;align-items:center;gap:.4rem}
.trust-row svg{width:16px;height:16px;color:var(--nv-green)}

/* ---------- Checkout ---------- */
.checkout-layout{display:grid;grid-template-columns:1fr 380px;gap:2.5rem;align-items:start}
.checkout-card{background:#fff;border:1px solid var(--nv-border);border-radius:var(--r-md);padding:1.75rem}
.checkout-card h2{font-size:1.15rem;margin-bottom:1.25rem;display:flex;align-items:center;gap:.6rem}
.checkout-card h2 .step{width:26px;height:26px;border-radius:50%;background:var(--nv-blue);color:#fff;
  display:grid;place-items:center;font-size:.85rem;font-weight:var(--fw-bold)}
.pay-methods{display:flex;align-items:center;gap:.7rem;margin:.5rem 0 1.25rem;flex-wrap:wrap}
.pay-methods img{height:26px}
.pay-methods .only{font-size:.78rem;color:var(--nv-ink-mute)}
.card-visual{background:linear-gradient(135deg,#1b2b57,#0b1220);border-radius:var(--r-md);padding:1.1rem;color:#fff;margin-bottom:1.25rem}
.secure-note{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--nv-ink-mute);margin-top:1rem}
.secure-note svg{width:16px;height:16px;color:var(--nv-green)}
.order-line{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;font-size:.9rem;color:var(--nv-ink-soft)}
.order-total{display:flex;justify-content:space-between;border-top:1px solid var(--nv-border);
  margin-top:.5rem;padding-top:.9rem;font-weight:var(--fw-bold);font-size:1.2rem;color:var(--nv-ink)}
.confirm{max-width:520px;margin:0 auto;text-align:center;padding:3rem 1rem}
.confirm__ic{width:80px;height:80px;border-radius:50%;background:var(--nv-green-soft);display:grid;place-items:center;margin:0 auto 1.25rem}
.confirm__ic svg{width:44px;height:44px;color:var(--nv-green)}

/* ---------- pages légales / texte ---------- */
.prose{max-width:760px;margin:0 auto}
.prose h2{font-size:1.4rem;margin:2rem 0 .8rem}
.prose h3{font-size:1.1rem;margin:1.5rem 0 .5rem}
.prose p,.prose li{color:var(--nv-ink-soft);margin-bottom:.8rem;line-height:1.7}
.prose ul{list-style:disc;padding-left:1.3rem;margin-bottom:1rem}
.prose a{color:var(--nv-blue);text-decoration:underline}

/* ---------- 404 ---------- */
.notfound{text-align:center;padding:5rem 1rem}
.notfound .code{font-size:clamp(4rem,12vw,7rem);font-weight:var(--fw-bold);color:var(--nv-blue);line-height:1}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:1200px){
  .nav{display:none}
  .burger{display:flex}
  .mega{display:none}
}
@media (max-width:900px){
  .two-col,.promo-band,.guarantee{grid-template-columns:1fr}
  .promo-band__art{order:-1}
  .tiles,.stats,.press-grid,.grid-3,.grid-4{grid-template-columns:1fr 1fr}
  .cart-layout,.checkout-layout{grid-template-columns:1fr}
  .summary{position:static}
  .feature-row{grid-template-columns:1fr}
  .feature-row__art{order:-1!important}
  .footer__top{grid-template-columns:1fr 1fr}
}
@media (max-width:620px){
  .grid-2,.grid-3,.grid-4,.tiles,.stats,.press-grid,.plans{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr}
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{width:100%}
  .header-actions .nav__link.hide-sm{display:none}
  /* le burger doit primer : on masque le CTA d'en-tête (présent dans le tiroir + le héros) */
  .header-actions .btn--cta{display:none}
}
