/* ============================================================================
   MOON CAPITAL — Adaptations responsives
   ========================================================================= */

@media (max-width: 1180px) {
  .footer__top { grid-template-columns: 1.2fr repeat(3, minmax(0, .9fr)); }
}

@media (max-width: 1080px) {
  .steps,
  .indicators,
  .blackbox,
  .credits,
  .faq { grid-template-columns: minmax(0, 1fr); }

  .proofs__main { grid-template-columns: minmax(0, 1fr); }
  .plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plan__flag { font-size: 9px; }

  .contract,
  .estimator,
  .faq__aside { position: static; }

  .steps__panel { min-height: 0; }
  .blackbox__quote { max-width: none; }
}

@media (max-width: 900px) {
  .nav__links { display: none; }
  .nav__burger { display: grid; }
  .nav__actions .btn--ghost { display: none; }

  .views { grid-template-columns: minmax(0, 1fr); }
  .lab { grid-template-columns: minmax(0, 1fr); }
  .grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .market { grid-template-columns: minmax(0, 1fr); }
  .footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer__brandcol { grid-column: 1 / -1; }

  .backdrop__grid { display: none; }
  .moon--hero { top: 1rem; right: -6rem; width: clamp(11rem, 34vw, 18rem); opacity: .7; }
  .moon--cta { bottom: -8rem; left: -8rem; opacity: .4; }
}

@media (max-width: 620px) {
  /* Le CTA principal vit dans le menu : on garde la barre respirable. */
  .nav__actions .btn--primary { display: none; }
  .nav__inner { height: 4.1rem; }
  .mobile-menu { inset-block-start: 4.1rem; }
  /* Sous la barre de navigation : la lune ne doit jamais gêner le menu. */
  .moon--hero { top: 5.5rem; right: -6.5rem; width: 12rem; opacity: .5; }
}

@media (max-width: 900px) {
  /* La télémétrie garde l'essentiel : moteur, débit, latence. */
  .telemetry .t-opt { display: none; }
}

@media (max-width: 560px) {
  /* Deux mesures suffisent : la ligne doit tenir sans passer à la ligne. */
  .telemetry .t-lat { display: none; }
  .telemetry__item { padding-inline: .6rem; }
}

@media (max-width: 720px) {
  .lab__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .variants { grid-template-columns: minmax(0, 1fr); }
  .guards { grid-template-columns: minmax(0, 1fr); }
  .contract__grid { grid-template-columns: minmax(0, 1fr); }
  .contract__cell:nth-child(odd) { border-right: 0; }
  .topups { flex-direction: column; align-items: flex-start; }
  .views__control { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 620px) {
  .plans { grid-template-columns: minmax(0, 1fr); }
  .grid--3, .grid--4, .grid--2 { grid-template-columns: minmax(0, 1fr); }
  .hero__actions { flex-direction: column; align-items: stretch; width: 100%; }
  .hero__actions .btn { width: 100%; }
  .cta__actions { flex-direction: column; align-items: stretch; width: 100%; max-width: 22rem; }
  .cta__actions .btn { width: 100%; }
  .footer__top { grid-template-columns: minmax(0, 1fr); }
  .footer__bottom { flex-direction: column; align-items: flex-start; }
  .steps__list { gap: .3rem; }
  .step { padding: .95rem .8rem; gap: .8rem; }
  .plan__for { min-height: 0; }
}

@media (max-width: 460px) {
  .lab__stats { grid-template-columns: minmax(0, 1fr); }
  .app__status { font-size: 8.5px; gap: .6rem; }
  .app__path { display: none; }
}

/* Écrans très larges : on laisse respirer. */
@media (min-width: 1600px) {
  :root { --maxw: 1320px; }
}

/* Impression : version sobre et lisible. */
@media print {
  .nav, .backdrop, .moon, .app__replay, .marquee, .mobile-menu { display: none !important; }
  body { background: #fff; color: #111; }
  .card, .panel, .plan, .table-wrap { border-color: #ddd; background: #fff; box-shadow: none; }
  .gold-text { color: #3a41b8; -webkit-text-fill-color: #3a41b8; }
  a { color: #111; }
}
