/* =============================================================
   FILING CLOUD — responsive.css
   Breakpoints: 1440 / 1200 / 992 / 768 / 576 / 375 / 320
   Desktop-first; each block narrows the layout.
   ============================================================= */

/* ---------- ≤ 1440px : ease the container ---------- */
@media (max-width: 1440px) {
  :root { --fc-container: 1200px; }
}

/* ---------- ≤ 1200px : tighten hero + grids ---------- */
@media (max-width: 1200px) {
  :root { --fc-fs-h1: 3rem; --fc-fs-h2: 2.4rem; --fc-section-y: 100px; }
  .fc-hero__grid { grid-template-columns: 1fr 1.15fr; gap: 40px; }
  .fc-dash { grid-template-columns: 180px 1fr; }
  .fc-float--team { left: -12px; }
  .fc-float--storage { right: -12px; }
  .fc-footer__top { grid-template-columns: 1.4fr 1fr 1fr; row-gap: 40px; }
  .fc-footer__news { grid-column: span 3; max-width: 460px; }
}

/* ---------- ≤ 992px : stack hero, 2-col feature grids ---------- */
@media (max-width: 992px) {
  :root { --fc-section-y: 88px; }

  .fc-nav__menu { display: none; }
  .fc-nav__login { display: none; }
  .fc-nav__actions .fc-btn--primary { display: none; }
  .fc-nav__toggle { display: inline-flex; }

  .fc-hero { padding-top: 132px; padding-bottom: 90px; }
  .fc-hero__grid { grid-template-columns: 1fr; gap: 72px; }
  .fc-hero__content { max-width: 620px; }
  .fc-hero__copy { max-width: 40rem; }
  .fc-stage { max-width: 620px; }
  .fc-float--upload { right: 2%; }
  .fc-float--team { left: 0; }

  .fc-features__grid { grid-template-columns: repeat(2, 1fr); }
  .fc-steps { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
  .fc-steps::before { display: none; }

  .fc-benefits__grid { grid-template-columns: 1fr; gap: 44px; }
  .fc-faq__grid { grid-template-columns: 1fr; gap: 40px; }

  .fc-pricing__grid { grid-template-columns: 1fr; max-width: 460px; margin-inline: auto; }
  .fc-price--featured { transform: none; }
  .fc-price--featured:hover { transform: translateY(-4px); }

  .fc-cta__card { padding: 56px 40px; }
}

/* ---------- ≤ 768px : single-column, condensed ---------- */
@media (max-width: 768px) {
  :root { --fc-fs-h1: 2.6rem; --fc-fs-h2: 2.1rem; --fc-section-y: 72px; }

  .fc-hero__stats { gap: 22px; }
  .fc-stat__num { font-size: 1.55rem; }

  .fc-features__grid { grid-template-columns: 1fr; }
  .fc-benefits__list { grid-template-columns: 1fr; }

  .fc-footer__top { grid-template-columns: 1fr 1fr; }
  .fc-footer__brand { grid-column: span 2; }
  .fc-footer__news { grid-column: span 2; }
  .fc-footer__bottom { flex-direction: column; text-align: center; gap: 12px; }

  /* Dashboard: hide sidebar labels gracefully on small screens */
  .fc-dash { grid-template-columns: 64px 1fr; }
  .fc-dash__brand { font-size: 0; gap: 0; padding: 6px; justify-content: center; }
  .fc-dash__navitem { font-size: 0; justify-content: center; padding: 10px; }
  .fc-dash__navitem i { font-size: 1.1rem; }
  .fc-dash__side-foot { display: none; }
}

/* ---------- ≤ 576px : phone ---------- */
@media (max-width: 576px) {
  :root { --fc-fs-h1: 2.25rem; --fc-fs-h2: 1.85rem; --fc-fs-lead: 1.05rem; }

  .fc-hero { padding-top: 116px; }
  .fc-hero__cta { flex-direction: column; align-items: stretch; }
  .fc-hero__cta .fc-btn { width: 100%; }
  .fc-hero__stats { flex-wrap: wrap; gap: 20px 28px; }

  .fc-float--upload { top: -14px; right: 0; width: 200px; }
  .fc-float--team { bottom: -14px; width: 190px; }
  .fc-float--storage { display: none; }

  .fc-folders { grid-template-columns: 1fr 1fr; }
  .fc-folders .fc-folder:last-child { display: none; }
  .fc-filerow { grid-template-columns: 1.6fr auto; }
  .fc-filerow span:nth-child(2), .fc-filerow span:nth-child(3) { display: none; }

  .fc-cta__card { padding: 44px 24px; }
  .fc-cta__actions { flex-direction: column; }
  .fc-cta__actions .fc-btn { width: 100%; }

  .fc-footer__top { grid-template-columns: 1fr; }
  .fc-footer__brand, .fc-footer__news { grid-column: span 1; }
}

/* ---------- ≤ 375px ---------- */
@media (max-width: 375px) {
  :root { --fc-fs-h1: 2.05rem; }
  .fc-feature, .fc-price { padding: 24px; }
  .fc-float--upload, .fc-float--team { width: 172px; }
}

/* ---------- ≤ 320px ---------- */
@media (max-width: 320px) {
  :root { --fc-fs-h1: 1.9rem; --fc-fs-h2: 1.7rem; }
  .fc-newsletter { flex-direction: column; }
  .fc-newsletter .fc-btn { width: 100%; }
}
