/* =============================================
   WIVSY — Responsive Breakpoints
   Mobile-first overrides
   ============================================= */

/* ---- Tablet: ≤ 1024px ---- */
@media (max-width: 1024px) {
  :root {
    --font-size-hero: 3.2rem;
  }

  .hero .container {
    gap: 40px;
  }

  .products-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  .featured-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 300px 300px;
  }

  .featured-card-large {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}

/* ---- Mobile: ≤ 768px ---- */
@media (max-width: 768px) {
  :root {
    --section-padding: 80px;
  }

  /* Navbar */
  .nav-links,
  .nav-right {
    display: none;
  }

  .hamburger {
    display: flex;
  }

  .nav-logo-img {
    height: 44px;
  }

  /* Hero */
  .hero .container {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero-content {
    max-width: 100%;
  }

  .hero h1 {
    font-size: 2.8rem;
  }

  .hero-sub {
    margin: 0 auto var(--space-5xl);
  }

  .hero-buttons {
    justify-content: center;
  }

  .hero-visual {
    min-height: 380px;
  }

  .hero-blob {
    width: 280px;
    height: 280px;
  }

  .hero-img-stack {
    width: 300px;
    height: 380px;
  }

  .hero-stack-img {
    width: 220px;
    height: 290px;
  }

  /* Steps */
  .steps-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  /* Products */
  .products-grid {
    grid-template-columns: 1fr;
  }

  /* Featured */
  .featured-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  .featured-card {
    min-height: 280px;
  }

  /* Typography */
  .section-title {
    font-size: var(--font-size-4xl);
  }

  /* Footer */
  .footer-main {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .footer-brand-section {
    align-items: center;
    text-align: center;
  }

  .footer-description {
    max-width: 100%;
  }

  .footer-logo-img {
    height: 52px;
  }

  .footer-nav-section {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }

  .footer-newsletter-column {
    grid-column: 1 / -1;
    max-width: 100%;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
    gap: 15px;
  }
}

/* ---- Small Mobile: ≤ 480px ---- */
@media (max-width: 480px) {
  .hero h1 {
    font-size: 2.2rem;
  }

  .hero-buttons {
    flex-direction: column;
    align-items: center;
  }

  .btn {
    width: 100%;
    text-align: center;
  }

  .hero-img-stack {
    width: 260px;
    height: 340px;
  }

  .hero-stack-img {
    width: 190px;
    height: 250px;
  }

  .footer-nav-section {
    grid-template-columns: 1fr;
    text-align: center;
    gap: 30px;
  }

  .footer-column-links a {
    align-self: center;
  }
}
