/* =========================================================
   Responsive — logique mobile / tablet / desktop
   ---------------------------------------------------------
   Breakpoints :
     - mobile   : ≤ 640px   (1 colonne, header compact)
     - tablette : 641–960px (2 colonnes max, menu burger encore)
     - desktop  : ≥ 961px   (grille pleine, nav horizontale)
   ========================================================= */

/* ---------- TABLETTE ---------- */
@media (max-width: 960px) {

  .dm-header__bar {
    grid-template-columns: 1fr auto 1fr;
  }
  .dm-header__nav--left,
  .dm-header__nav--right > a { display: none; }
  .dm-header__nav--right { justify-content: flex-end; }
  .dm-burger { display: inline-flex; }

  .dm-section__grid {
    grid-template-columns: 1fr;
    gap: var(--dm-sp-m);
  }
  .dm-section__title-row {
    grid-template-columns: 1fr;
    gap: var(--dm-sp-l);
    align-items: start;
  }

  .dm-editorial-row,
  .dm-editorial-row--reversed {
    grid-template-columns: 1fr;
    gap: var(--dm-sp-s);
  }
  .dm-editorial-row__media { aspect-ratio: 4 / 3; }

  .dm-step { grid-template-columns: 1fr; }
  .dm-step__body { padding: var(--dm-sp-xl) var(--dm-gutter); }
  .dm-step__media { min-height: 320px; }

  .dm-matieres-grid { grid-template-columns: repeat(2, 1fr); }

  .dm-real-grid { grid-template-columns: 1fr 1fr; }

  .dm-contact-split { grid-template-columns: 1fr; }
  .dm-contact-split__grid { grid-template-columns: 1fr; gap: var(--dm-sp-s); }

  .dm-pillars { grid-template-columns: 1fr; }

  .dm-footer__top { grid-template-columns: 1fr; gap: var(--dm-sp-l); }
  .dm-footer__nav { grid-template-columns: 1fr 1fr; gap: var(--dm-sp-m); }
  .dm-footer__bottom { grid-template-columns: 1fr; text-align: left; gap: 12px; }
  .dm-footer__bottom > div:nth-child(2),
  .dm-footer__bottom > div:nth-child(3) { text-align: left; }
}

/* ---------- MOBILE ---------- */
@media (max-width: 640px) {

  .dm-header__meta { font-size: 8.5px; letter-spacing: 0.2em; padding: 8px var(--dm-gutter); }
  .dm-header__meta .accent { display: none; }     /* le téléphone passe dans le menu mobile */
  .dm-header__bar { padding: 12px var(--dm-gutter); }

  .dm-hero {
    min-height: 92svh;
    padding-top: calc(var(--dm-header-h) + var(--dm-header-meta-h) + var(--dm-sp-l));
  }
  .dm-hero__bottom {
    grid-template-columns: 1fr;
    gap: var(--dm-sp-m);
    text-align: left;
  }
  .dm-hero__bottom > div:last-child {
    text-align: left;
    align-items: flex-start;
  }
  .dm-hero__scroll { display: none; }
  .dm-hero__intro { font-size: 20px; }

  .dm-matieres-grid { grid-template-columns: 1fr 1fr; }
  .dm-real-grid { grid-template-columns: 1fr; }
  .dm-real-grid > figure .dm-card-real { min-height: 380px; }

  .dm-footer__nav { grid-template-columns: 1fr; }

  .dm-btn { padding: 14px 20px; font-size: 10.5px; letter-spacing: 0.22em; }
}

/* ---------- Print (réservé à futures pages PDF) ---------- */
@media print {
  .dm-header, .dm-burger, .dm-mobilemenu, .dm-footer { display: none !important; }
  .dm-hero { min-height: auto; }
  body { background: #fff; color: #000; }
}
