/* =========================================================================
   CarFaultIQ — responsive.css
   Mobile-first adjustments. main.css carries the desktop defaults;
   this file collapses grids and converts the nav to a drawer.
   ========================================================================= */

/* ---------- ≤ 1024px ---------- */
@media (max-width: 1024px) {
  .cfiq-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .cfiq-footer__cols {
    grid-template-columns: 1fr 1fr;
  }

  .cfiq-find-car__form {
    grid-template-columns: 1fr 1fr;
  }

  .cfiq-find-car__submit {
    width: 100%;
  }

  .cfiq-coverage-dashboard__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cfiq-coverage-dashboard__panel:first-child,
  .cfiq-coverage-dashboard__panel--wide {
    grid-column: 1 / -1;
    grid-row: auto;
  }

  .cfiq-footer__col--brand {
    grid-column: 1 / -1;
  }
}

/* ---------- ≤ 960px: drawer navigation ---------- */
@media (max-width: 960px) {
  .cfiq-header__inner {
    align-items: center;
  }

  .cfiq-header__brand {
    flex: 1 1 auto;
  }

  .cfiq-header__toggle {
    display: inline-flex;
    order: 2;
  }

  /* Search stays visible on every page, full width row */
  .cfiq-header__search {
    order: 3;
    flex: 1 1 100%;
    padding-bottom: 0.4rem;
  }

  /* Nav becomes a collapsible drawer */
  .cfiq-nav {
    order: 4;
    flex: 1 1 100%;
    display: none;
    padding: 0.3rem 0 0.7rem;
    border-top: 1px solid var(--cfiq-line);
  }

  .cfiq-nav.is-open {
    display: block;
  }

  .cfiq-nav__list {
    flex-direction: column;
    gap: 0.1rem;
  }

  .cfiq-nav__list a {
    display: block;
    padding: 0.7rem 0.6rem;
    font-size: 1rem;
  }

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

  .cfiq-duo {
    grid-template-columns: 1fr;
  }

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

/* ---------- ≤ 680px ---------- */
@media (max-width: 680px) {
  .cfiq-container {
    width: min(var(--cfiq-shell), 100% - 1.5rem);
  }

  .cfiq-grid--2,
  .cfiq-grid--3,
  .cfiq-grid--4 {
    grid-template-columns: 1fr;
  }

  .cfiq-years {
    grid-template-columns: 1fr;
  }

  .cfiq-footer__cols {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }

  .cfiq-find-car {
    padding: 1.05rem;
  }

  .cfiq-find-car__head {
    gap: 0.75rem;
  }

  .cfiq-find-car__icon {
    width: 2.7rem;
    height: 2.7rem;
  }

  .cfiq-find-car__form {
    grid-template-columns: 1fr;
  }

  .cfiq-coverage-dashboard__stats {
    grid-template-columns: 1fr;
  }

  .cfiq-coverage-dashboard__grid {
    grid-template-columns: 1fr;
  }

  .cfiq-coverage-dashboard__panel:first-child,
  .cfiq-coverage-dashboard__panel--wide {
    grid-column: auto;
  }

  .cfiq-coverage-dashboard__range-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }

  .cfiq-risk {
    flex-direction: column;
    gap: 0.8rem;
  }

  .cfiq-checklist__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .cfiq-search__submit-label {
    font-size: 0.82rem;
  }

  .cfiq-table th,
  .cfiq-table td {
    padding: 0.6rem 0.7rem;
  }

  .cfiq-hero__stats {
    grid-template-columns: 1fr 1fr;
    gap: 0.5rem;
  }

  .cfiq-code-chip {
    font-size: 1.1rem;
  }
}

/* ---------- ≤ 400px ---------- */
@media (max-width: 400px) {
  .cfiq-hero__stats {
    grid-template-columns: 1fr;
  }

  .cfiq-btn {
    width: 100%;
    justify-content: center;
  }

  .cfiq-checklist__actions .cfiq-btn {
    width: auto;
  }
}
