/* ==========================================================================
   LUNARÉ — Responsive breakpoints
   ========================================================================== */

/* ---------- Tablet ≤ 1080px ---------- */
@media (max-width: 1080px) {
  .container { padding: 0 20px; }
  section { padding: 64px 0; }

  .main-nav { gap: 22px; }

  .category-strip-grid { grid-template-columns: repeat(3, 1fr); gap: 18px 10px; }

  .promo-grid { grid-template-columns: 1fr; }

  .feature-grid { grid-template-columns: repeat(3, 1fr); gap: 30px 20px; }

  .products-grid,
  .news-grid,
  .collections-grid { grid-template-columns: repeat(2, 1fr); }

  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 32px; }

  .lookbook-layout { grid-template-columns: 1fr; padding: 34px; }
  .lookbook-panel { text-align: center; }
  .lookbook-panel p { margin-left: auto; margin-right: auto; }

  .shop-layout { grid-template-columns: 1fr; }
  .filter-toggle { display: inline-flex; }
  .filter-sidebar { display: none; }
  .filter-sidebar.is-open { display: block; margin-bottom: 24px; }

  .product-detail { grid-template-columns: 1fr; gap: 36px; }

  .cart-layout { grid-template-columns: 1fr; }

  .news-featured { grid-template-columns: 1fr; padding: 16px; }
  .news-featured-body { padding: 10px; }

  .article-layout { grid-template-columns: 1fr; }

  .about-story { grid-template-columns: 1fr; }
  .about-story-media { margin-bottom: 40px; }

  .contact-layout { grid-template-columns: 1fr; }
}

/* ---------- Small tablet ≤ 900px ---------- */
@media (max-width: 900px) {
  .main-nav {
    position: fixed;
    inset: 0 0 0 auto;
    width: min(320px, 84vw);
    height: 100vh;
    background: var(--color-white);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 6px;
    padding: 100px 30px 30px;
    transform: translateX(100%);
    transition: transform var(--transition-base);
    z-index: 99;
    box-shadow: -20px 0 50px -30px rgba(28, 27, 51, 0.4);
  }

  .main-nav.is-open {
    transform: translateX(0);
  }

  .main-nav a {
    width: 100%;
    padding: 12px 0;
    font-size: 0.9rem;
  }

  .nav-toggle {
    display: flex;
  }

  .header-search { display: none; }

  .hero-slide { grid-template-columns: 1fr; text-align: center; gap: 30px; }
  .hero-copy { padding-left: 0; }
  .hero-desc { margin-left: auto; margin-right: auto; }
  .hero-actions { justify-content: center; }
  .hero-index { display: none; }
  .hero-visual { order: -1; }
  .hero-nav { position: static; justify-content: center; margin-top: 14px; }

  .promo-card { flex-direction: column; text-align: center; padding: 32px; }
  .promo-card-media { width: 100%; }
  .promo-card p { margin-left: auto; margin-right: auto; }

  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }

  .newsletter-card { flex-direction: column; text-align: center; padding: 40px 30px; }
  .newsletter-form { margin: 0 auto; }
  .newsletter-media { display: none; }
}

/* ---------- Mobile ≤ 640px ---------- */
@media (max-width: 640px) {
  section { padding: 52px 0; }

  h1 { font-size: 2rem; }
  h2 { font-size: 1.4rem; }

  .topbar .container { gap: 16px; }
  .topbar-item span { display: none; }

  .brand { font-size: 1.25rem; }
  .header-actions { gap: 8px; }

  .category-strip-grid { grid-template-columns: 1fr; }

  .feature-grid { grid-template-columns: 1fr; }

  .products-grid,
  .news-grid,
  .collections-grid,
  .team-grid { grid-template-columns: 1fr; }

  .stats-grid { grid-template-columns: 1fr; gap: 22px; }

  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-bottom .container { flex-direction: column; text-align: center; }

  .carousel-prev { left: 4px; }
  .carousel-next { right: 4px; }

  .pd-thumbs { grid-template-columns: repeat(4, 1fr); }
  .pd-actions { flex-wrap: wrap; }

  .cart-head { display: none; }
  .cart-row { grid-template-columns: 54px 1fr; grid-template-areas: "img name" "img qty" "img price" "img remove"; row-gap: 8px; }
  .cart-row img { grid-area: img; }
  .cart-row .cart-item-name-wrap { grid-area: name; }

  .field-row { grid-template-columns: 1fr; }

  .auth-wrap { padding: 34px 24px; }
}

/* ---------- Small mobile ≤ 480px ---------- */
@media (max-width: 480px) {
  .category-strip-grid { padding: 22px 14px; }
  .category-card h3 { font-size: 0.78rem; }
  .category-card span { display: none; }

  .btn { padding: 13px 22px; font-size: 0.72rem; }

  .hero-title .script { font-size: 1.3em; }

  .newsletter-form { flex-direction: column; width: 100%; }
}
