/* ==========================================================================
   FleakStack — Responsive
   ========================================================================== */

/* ---------- 1280px and below ---------- */
@media (max-width: 1280px) {
  .fs-container { padding: 0 24px; }
  .fs-docs { grid-template-columns: 240px 1fr 190px; gap: 28px; }
}

/* ---------- 1024px and below (tablet) ---------- */
@media (max-width: 1024px) {
  .fs-nav-links { display: none; }
  .fs-nav-toggle { display: flex; }

  .fs-hero__inner { grid-template-columns: 1fr; }
  .fs-hero__visual { order: -1; }

  .fs-footer__top { grid-template-columns: 1fr 1fr; row-gap: 36px; }
  .fs-footer__brand { grid-column: 1 / -1; }

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

  .fs-dash__stats { grid-template-columns: repeat(2, 1fr); }
  .fs-product-preview__grid { grid-template-columns: 1fr; }
  .fs-code-columns { grid-template-columns: 1fr; }

  .fs-docs { grid-template-columns: 220px 1fr; }
  .fs-docs__onthispage { display: none; }

  .fs-contact-grid { grid-template-columns: 1fr; gap: 40px; }
}

/* ---------- 768px and below (mobile) ---------- */
@media (max-width: 768px) {
  .fs-section { padding: 64px 0; }
  .fs-section--tight { padding: 48px 0; }
  .fs-section-head { margin-bottom: 36px; }

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

  .fs-hero { padding: 44px 0 56px; }
  .fs-hero__actions { flex-direction: column; align-items: stretch; }
  .fs-hero__meta { gap: 20px; }

  .fs-value-strip__inner { flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px 0; }

  .fs-footer__top { grid-template-columns: 1fr; }
  .fs-footer__bottom { flex-direction: column; align-items: flex-start; gap: 10px; }

  .fs-dash__stats { grid-template-columns: 1fr 1fr; gap: 12px; }
  .fs-dash__row { grid-template-columns: 1.4fr 1fr; }
  .fs-dash__row span:nth-child(3), .fs-dash__row span:nth-child(4) { display: none; }

  .fs-price-card { padding: 26px 22px; }

  .fs-final-cta { margin: 0 16px; padding: 48px 24px; }

  .fs-docs { grid-template-columns: 1fr; padding-top: 24px; }
  .fs-docs__sidebar {
    position: fixed;
    inset: var(--fs-nav-height) 0 0 0;
    background: var(--fs-bg);
    z-index: 480;
    padding: 20px 24px 40px;
    transform: translateX(-100%);
    transition: transform 0.25s ease;
    max-height: none;
  }
  .fs-docs__sidebar.is-open { transform: translateX(0); }
  .fs-docs__mobile-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid var(--fs-border-strong);
    border-radius: var(--fs-radius-sm);
    padding: 10px 14px;
    font-size: 0.86rem;
    font-weight: 600;
    margin-bottom: 20px;
    background: var(--fs-surface);
  }

  .fs-form-row { grid-template-columns: 1fr; }
  .fs-auth__card { padding: 32px 24px; }

  .fs-toast-region { left: 16px; right: 16px; bottom: 16px; }
  .fs-toast { width: 100%; }
}

/* ---------- 480px and below ---------- */
@media (max-width: 480px) {
  .fs-container { padding: 0 18px; }
  .fs-flow { padding: 20px; }
  .fs-flow__label strong { font-size: 0.88rem; }
  .fs-checkout { max-width: 100%; }
  .fs-code-panel__body { padding: 16px; }
  .fs-code-panel pre { font-size: 0.78rem; }
  .fs-final-cta__actions { flex-direction: column; align-items: stretch; }
}
