/* ============================================
   BEYENI — assets/css/responsive.css
   Media queries — Mobile First
   ============================================ */

/* ── TABLETTE LARGE ≤ 1280px ────────────────── */
@media (max-width: 1280px) {
  .byn-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
  .byn-footer__brand { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
  .byn-footer__tagline { max-width: 100%; }
  .byn-tools-grid { grid-template-columns: 1fr 1fr; }
  .byn-tools-grid .byn-tool-card:first-child { grid-column: 1 / -1; }
  .byn-stats-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── TABLETTE ≤ 1024px ──────────────────────── */
@media (max-width: 1024px) {
  .byn-header__nav { display: none; }
  .byn-burger { display: flex; }
  .byn-mobile-menu { display: block; }
  .byn-mobile-menu.open { display: block; }

  .byn-hero { padding: 120px 5% 80px; }
  .byn-float-card { display: none; }
  .byn-hero__stats { flex-wrap: wrap; }
  .byn-hstat { min-width: 50%; }

  .byn-prop-grid--3 { grid-template-columns: repeat(2, 1fr); }
  .byn-actors-grid  { grid-template-columns: repeat(2, 1fr); }
  .byn-cities-grid  { grid-template-columns: repeat(3, 1fr); }

  .byn-listing-layout { grid-template-columns: 1fr; }
  .byn-filters-panel  { position: static; }

  .byn-dash-layout { grid-template-columns: 220px 1fr; }
  .byn-stats-grid  { grid-template-columns: repeat(2, 1fr); }

  .byn-promo-band { flex-direction: column; gap: 28px; }
  .byn-promo-band__right { width: 100%; flex-wrap: wrap; }

  .byn-footer__grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── MOBILE LARGE ≤ 768px ───────────────────── */
@media (max-width: 768px) {
  :root { --byn-space-3xl: 64px; }

  .byn-container { padding: 0 4%; }

  /* Header */
  .byn-header { padding: 10px 4%; }
  .byn-header__inner { padding: 8px 16px; border-radius: 12px; }
  .byn-lang-switch { display: none; }
  .byn-header__actions .byn-btn-ghost { display: none; }

  /* Hero */
  .byn-hero { padding: 110px 4% 70px; text-align: center; }
  .byn-hero__title { letter-spacing: -2px; }
  .byn-hero__ctas { flex-wrap: wrap; justify-content: center; }
  .byn-hero__stats { display: grid; grid-template-columns: repeat(2, 1fr); }
  .byn-hstat { padding: 18px; }

  /* Search */
  .byn-search-wrap { padding: 0 4%; margin-top: -24px; }
  .byn-search-row { flex-direction: column; gap: 0; background: transparent; }
  .byn-search-divider { display: none; }
  .byn-search-field {
    width: 100%; padding: 0;
    background: #fff;
    border: 1.5px solid var(--byn-gray-light);
    border-radius: var(--byn-radius-sm);
    margin-bottom: 8px;
    padding: 10px 14px;
  }
  .byn-search-btn { width: 100%; justify-content: center; border-radius: var(--byn-radius-sm); }

  /* Trust */
  .byn-trust__inner { gap: 16px; }
  .byn-trust__sep   { display: none; }
  .byn-trust__item  { flex: 1; min-width: 120px; justify-content: center; }

  /* Grilles */
  .byn-prop-grid--3,
  .byn-prop-grid--2  { grid-template-columns: 1fr; }
  .byn-actors-grid   { grid-template-columns: 1fr 1fr; gap: 14px; }
  .byn-cities-grid   { grid-template-columns: repeat(2, 1fr); }
  .byn-tools-grid    { grid-template-columns: 1fr; }

  /* Dashboard */
  .byn-dash-layout { grid-template-columns: 1fr; }
  .byn-dash-sidebar {
    position: fixed; left: -260px; top: 0; bottom: 0;
    width: 260px; z-index: var(--byn-z-fixed);
    box-shadow: var(--byn-shadow-xl);
    transition: var(--byn-transition);
  }
  .byn-dash-sidebar.open { left: 0; }
  .byn-dash-content { padding: 20px; }
  .byn-stats-grid   { grid-template-columns: repeat(2, 1fr); }

  /* Forms */
  .byn-form-grid,
  .byn-form-grid-3 { grid-template-columns: 1fr; }

  /* Footer */
  .byn-footer__grid  { grid-template-columns: 1fr 1fr; gap: 28px; }
  .byn-footer__brand { grid-column: 1 / -1; flex-direction: column; }
  .byn-footer__bottom-inner { flex-direction: column; gap: 12px; text-align: center; }
  .byn-footer__legal { justify-content: center; }

  /* Sections */
  .byn-section__head--split { flex-direction: column; align-items: flex-start; }
  .byn-promo-band { padding: 36px 24px; border-radius: var(--byn-radius-lg); }
  .byn-cta-band   { padding: 60px 4%; }
  .byn-cta-band__btns { flex-direction: column; align-items: center; }
}

/* ── MOBILE ≤ 480px ─────────────────────────── */
@media (max-width: 480px) {
  .byn-actors-grid { grid-template-columns: 1fr; }
  .byn-cities-grid { grid-template-columns: 1fr 1fr; }
  .byn-stats-grid  { grid-template-columns: 1fr; }
  .byn-footer__grid { grid-template-columns: 1fr; }

  .byn-hero__title { letter-spacing: -1.5px; }
  .byn-pcard__feats { grid-template-columns: repeat(2, 1fr); }
  .byn-pcard__feats .byn-pfeat:nth-child(2) { border-right: none; }
  .byn-pcard__feats .byn-pfeat:nth-child(3) { border-top: 1.5px solid var(--byn-gray-light); }
  .byn-pcard__feats .byn-pfeat:nth-child(4) { border-top: 1.5px solid var(--byn-gray-light); }

  .byn-btn-lg { padding: 12px 22px; font-size: 14px; }
  .byn-dash-content { padding: 16px; }
  .byn-table-wrap { overflow-x: auto; }
}

/* ── PRINT ──────────────────────────────────── */
@media print {
  .byn-header, .byn-footer, .byn-dash-sidebar,
  .byn-filters-panel, .byn-btn, .byn-pagination { display: none !important; }
  .byn-dash-layout { grid-template-columns: 1fr; }
  .byn-dash-content { padding: 0; }
  body { font-size: 12px; color: #000; }
  a { color: #000; text-decoration: underline; }
}

/* ── DARK MODE (préparation future) ─────────── */
@media (prefers-color-scheme: dark) {
  /* Activé uniquement si .byn-dark-mode est présent sur <html> */
  html.byn-dark-mode {
    --byn-dark: #f9fafb;
    --byn-white: #0D1321;
    --byn-soft: #111827;
    --byn-gray-light: #1F2937;
    --byn-gray: #9CA3AF;
  }
}

/* ── RÉDUCTION DE MOUVEMENT ─────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}