/* ─── Responsive ─── */

/* ─── 1200px – Large ─── */
@media (max-width: 1200px) {
  .cfq-footer__main {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .cfq-footer__brand {
    grid-column: 1 / -1;
    padding-right: 0;
    display: flex;
    align-items: flex-start;
    gap: 2rem;
    flex-wrap: wrap;
  }
  .cfq-footer__tagline { max-width: 360px; margin-bottom: 0; }
}

/* ─── 1024px – Medium-large ─── */
@media (max-width: 1024px) {
  .cfq-hero__inner {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .cfq-hero__visual {
    order: -1;
    max-width: 600px;
    margin-inline: auto;
  }
  .cfq-hero__subhead { max-width: 100%; }
  .cfq-hero__inner .cfq-btn-group { justify-content: flex-start; }

  .cfq-subhero--split .cfq-subhero__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .cfq-auth-side { width: 340px; }

  .cfq-cards-3col { grid-template-columns: repeat(2, 1fr); }
  .cfq-feature-grid-6up { grid-template-columns: repeat(2, 1fr); }
  .cfq-team-grid { grid-template-columns: repeat(2, 1fr); }
  .cfq-case-cards { grid-template-columns: repeat(2, 1fr); }
  .cfq-testimonials-2up { grid-template-columns: 1fr; }

  .cfq-feature-split {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .cfq-feature-split--reversed { direction: ltr; }
}

/* ─── 768px – Tablet ─── */
@media (max-width: 768px) {
  .cfq-nav__links { display: none; }
  .cfq-nav__actions { display: none; }
  .cfq-nav__hamburger { display: flex; }

  .cfq-problem-bar__inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .cfq-problem-bar__stat { border-right: none !important; border-bottom: 1px solid rgba(245,158,11,0.2); padding: 1.5rem 0; }
  .cfq-problem-bar__stat:last-child { border-bottom: none; }

  .cfq-steps { grid-template-columns: 1fr; }
  .cfq-solution-cards { grid-template-columns: 1fr; }
  .cfq-pricing-table { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
  .cfq-values-grid { grid-template-columns: repeat(2, 1fr); }
  .cfq-blog-grid { grid-template-columns: repeat(2, 1fr); }
  .cfq-contact-layout { grid-template-columns: 1fr; }
  .cfq-auth-layout { flex-direction: column; }
  .cfq-auth-side { width: 100%; order: -1; min-height: 200px; padding: 2rem; }
  .cfq-auth-side__stat { display: none; }
  .cfq-footer__main {
    grid-template-columns: repeat(2, 1fr);
  }
  .cfq-footer__brand {
    grid-column: 1 / -1;
    flex-direction: column;
    gap: 0.75rem;
  }
  .cfq-footer__tagline { max-width: 100%; margin-bottom: 0; }
  .cfq-footer__bottom { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
}

/* ─── 600px – Mobile ─── */
@media (max-width: 600px) {
  .cfq-cards-3col { grid-template-columns: 1fr; }
  .cfq-feature-grid-6up { grid-template-columns: 1fr; }
  .cfq-team-grid { grid-template-columns: repeat(2, 1fr); }
  .cfq-case-cards { grid-template-columns: 1fr; }
  .cfq-blog-grid { grid-template-columns: 1fr; }
  .cfq-values-grid { grid-template-columns: 1fr; }
  .cfq-footer__main { grid-template-columns: 1fr 1fr; }
  .cfq-footer__brand { grid-column: 1 / -1; }
  .cfq-hero__inner .cfq-btn-group { flex-direction: column; align-items: flex-start; }
  .cfq-tabs { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .cfq-contact-info-card { padding: 1.25rem; }
  .cfq-auth-form-wrap { max-width: 100%; }
  .cfq-team-grid { grid-template-columns: 1fr 1fr; }
}

/* ─── 420px – Small mobile ─── */
@media (max-width: 420px) {
  .cfq-team-grid { grid-template-columns: 1fr; }
  .cfq-footer__main { grid-template-columns: 1fr; }
}

/* ─── Auth layout responsive ─── */
@media (max-width: 900px) {
  .cfq-auth-layout {
    grid-template-columns: 1fr;
  }
  .cfq-auth-aside {
    display: none;
  }
  .cfq-auth-panel {
    min-height: 100vh;
    padding: 2rem 1.5rem 3rem;
  }
  .cfq-auth-form__row {
    grid-template-columns: 1fr;
  }
  .cfq-auth-panel__content {
    max-width: 100%;
  }
  .cfq-auth-form__input, .cfq-auth-form__submit, .cfq-auth-form__notice {
    max-width: 100%;
  }
}

/* ─── Legal pages responsive ─── */
@media (max-width: 768px) {
  .legal-table { font-size: 0.8rem; overflow-x: auto; display: block; }
  .legal-table th, .legal-table td { padding: 0.5rem 0.625rem; }
}

/* ─── Print ─── */
@media print {
  .cfq-nav, .cfq-footer, .cookie-banner, .cfq-cta-band { display: none !important; }
  body { color: #000 !important; background: #fff !important; }
}
