/* ==========================================================================
   Debt Factoring — Responsive overrides (mobile-first, min-width queries)
   ========================================================================== */

@media (max-width: 639px) {
  .btn { white-space: normal; text-align: center; }
  .hero__actions .btn, .form__actions .btn, .cta-band .btn, .page-header__actions .btn { width: 100%; }
  .site-nav__cta .btn { width: 100%; }
}

@media (min-width: 480px) {
  :root { --gutter: 1.25rem; }
  .form__row--2 { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 640px) {
  :root { --fs-3xl: 2.9rem; --fs-2xl: 2.2rem; }
  .grid--2 { grid-template-columns: repeat(2, 1fr); }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .pros-cons { grid-template-columns: 1fr 1fr; }
  .compare { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .trust-strip { grid-template-columns: 1fr 1fr; }
  .cta-inline { grid-template-columns: 1fr auto; align-items: center; }
  .icon-list--2 { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 900px) {
  :root { --gutter: 2rem; --fs-3xl: 3.3rem; --fs-4xl: 3.8rem; --header-h: 80px; }
  .section { padding-block: var(--sp-9); }
  .section--tight { padding-block: var(--sp-8); }
  .grid--3 { grid-template-columns: repeat(3, 1fr); }
  .grid--4 { grid-template-columns: repeat(4, 1fr); }
  .steps { grid-template-columns: repeat(4, 1fr); }
  .steps--2 { grid-template-columns: repeat(2, 1fr); }
  .hero { padding-block: var(--sp-9); }
  .hero__grid { grid-template-columns: 1.15fr 1fr; gap: var(--sp-8); }
  .hero h1 { font-size: var(--fs-4xl); }
  .article-layout { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; }
  .sidebar { position: sticky; top: calc(var(--header-h) + 1.5rem); }
  .calc { grid-template-columns: 1.1fr 1fr; align-items: start; }
  .footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1fr 1fr; }
  .footer-legal { grid-template-columns: 1fr auto; align-items: center; }
  .trust-strip { grid-template-columns: repeat(3, 1fr); }
  .cta-band { padding: var(--sp-8) var(--sp-7); }
  .page-header { padding-block: var(--sp-5) var(--sp-8); }
  .form__row--3 { grid-template-columns: 1fr 1fr 1fr; }
  .split { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); align-items: center; }
  .split--wide { grid-template-columns: 1.2fr 1fr; }
  .split--start { align-items: start; }

  /* Desktop navigation */
  .nav-toggle { display: none; }
  .header-cta { display: inline-flex; }
  .site-nav { display: block; position: static; inset: auto; padding: 0; overflow: visible; background: transparent; order: 2; margin-left: auto; }
  .header-actions { order: 3; }
  .site-nav__list { flex-direction: row; align-items: center; gap: 0.25rem; }
  .site-nav__item { border: 0; position: relative; }
  .site-nav__item > a, .site-nav__item > button { padding: 0.6rem 0.85rem; font-size: 0.95rem; border-radius: var(--r-sm); width: auto; }
  .site-nav__item > a:hover, .site-nav__item > button:hover, .site-nav__item > button[aria-expanded="true"] { background: var(--c-bg); color: var(--c-blue-dark); }
  .site-nav__item > button svg { width: 14px; height: 14px; }
  .site-nav__cta { display: none; }
  .dropdown {
    position: absolute; top: calc(100% + 8px); left: 0; min-width: 300px; background: #fff; border: 1px solid var(--c-line);
    border-radius: var(--r-lg); box-shadow: var(--sh-lg); padding: 0.6rem; z-index: 600;
  }
  .dropdown--wide { min-width: 640px; grid-template-columns: 1fr 1fr; gap: 0 0.75rem; }
  .dropdown--right { left: auto; right: 0; }
  .dropdown__all { grid-column: 1 / -1; border-top: 1px solid var(--c-line); margin-top: 0.4rem; padding-top: 0.4rem; }
  .site-nav__item > button[aria-expanded="true"] + .dropdown { display: grid; }
  /* Hover/focus fallback (works without JS) */
  .site-nav__item:hover > .dropdown, .site-nav__item:focus-within > .dropdown { display: grid; }
  .no-js .site-nav__item > button { pointer-events: auto; }
  .no-js .site-nav__item > button svg { display: block; }
  .no-js .dropdown { display: none; }
  .no-js .site-nav__item:hover > .dropdown, .no-js .site-nav__item:focus-within > .dropdown { display: grid; }
}

@media (min-width: 1200px) {
  :root { --gutter: 2.5rem; }
  .hero__grid { gap: var(--sp-9); }
}
