/* ============================================
   REMINISCENCE WITH LOVE — Responsive Styles
   ============================================ */

/* ─── Tablet (≤ 1024px) ─────────────────────── */
@media (max-width: 1024px) {
  :root { --section-pad: 80px 0; }

  .container { padding: 0 28px; }

  /* Hero */
  .hero-content { grid-template-columns: 1fr; gap: 60px; }
  .hero-visual { display: none; }
  .hero-title { font-size: clamp(2.5rem, 5vw, 3.8rem); }
  .hero-stats { gap: 30px; }

  /* About snippet */
  .about-snippet-content { grid-template-columns: 1fr; gap: 60px; }
  .about-visual-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .av-card:nth-child(1) { grid-column: 1; grid-row: 1; }

  /* Features */
  .features-grid { grid-template-columns: 1fr 1fr; gap: 24px; }
  .features-grid .feature-card:last-child { grid-column: span 2; max-width: 480px; margin: 0 auto; }

  /* Products */
  .products-grid { grid-template-columns: 1fr 1fr; }
  .shop-grid-content { grid-template-columns: 1fr 1fr; }
  .fp-header { flex-direction: column; align-items: flex-start; gap: 16px; }

  /* Testimonials */
  .testi-grid { grid-template-columns: 1fr 1fr; }
  .testi-grid .testi-card:last-child { grid-column: span 2; }

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

  /* About page */
  .about-hero-content { grid-template-columns: 1fr; }
  .about-hero-img { aspect-ratio: 16/9; max-height: 340px; margin-top: 40px; }
  .mission-content { grid-template-columns: 1fr; gap: 50px; }
  .team-grid { grid-template-columns: 1fr 1fr; }
  .team-grid .team-card:last-child { grid-column: span 2; max-width: 380px; margin: 0 auto; }

  /* Contact */
  .contact-content { grid-template-columns: 1fr; gap: 50px; }

  /* Process */
  .process-steps { grid-template-columns: 1fr 1fr; gap: 40px 30px; }
  .process-steps::before { display: none; }

  /* Gallery */
  .gallery-masonry-content { columns: 2; }

  /* Navigation */
  .main-nav { gap: 24px; }

  /* Process steps */
  .process-steps { grid-template-columns: repeat(2, 1fr); }
}

/* ─── Mobile (≤ 768px) ──────────────────────── */
@media (max-width: 768px) {
  :root { --section-pad: 60px 0; }

  .container { padding: 0 20px; }

  /* Header */
  .main-nav {
    display: none;
    position: fixed;
    top: 76px; left: 0; right: 0;
    background: rgba(249,244,238,0.98);
    backdrop-filter: blur(16px);
    flex-direction: column;
    padding: 30px 24px;
    gap: 8px;
    border-top: 1px solid rgba(61,35,20,0.10);
    box-shadow: 0 20px 40px rgba(61,35,20,0.12);
  }
  .main-nav.open { display: flex; }
  .nav-link {
    font-size: 0.88rem;
    padding: 12px 0;
    border-bottom: 1px solid rgba(61,35,20,0.06);
    width: 100%;
  }
  .nav-link::after { display: none; }
  .nav-cta { text-align: center; margin-top: 10px; padding: 14px; }
  .menu-toggle { display: flex; }

  .site-header { background: rgba(249,244,238,0.96); backdrop-filter: blur(12px); }

  /* Hero */
  .hero { min-height: auto; padding: 110px 0 60px; }
  .hero-title { font-size: clamp(2.2rem, 7vw, 3rem); }
  .hero-desc { font-size: 0.95rem; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 14px; }
  .hero-stats { flex-wrap: wrap; gap: 20px; }
  .stat-number { font-size: 2rem; }

  /* Features */
  .features-grid { grid-template-columns: 1fr; }
  .features-grid .feature-card:last-child { grid-column: span 1; max-width: 100%; }

  /* Products */
  .products-grid { grid-template-columns: 1fr; }
  .shop-grid-content { grid-template-columns: 1fr 1fr; gap: 16px; }

  /* Testimonials */
  .testi-grid { grid-template-columns: 1fr; }
  .testi-grid .testi-card:last-child { grid-column: span 1; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-tagline { max-width: 100%; }
  .footer-bottom { flex-direction: column; gap: 10px; text-align: center; }

  /* About visual */
  .about-visual-grid { grid-template-columns: 1fr; }
  .av-card { display: none; }
  .av-card:first-child { display: block; aspect-ratio: 16/9; }

  /* Team */
  .team-grid { grid-template-columns: 1fr; }
  .team-grid .team-card:last-child { grid-column: span 1; max-width: 100%; margin: 0; }

  /* Contact form */
  .form-row { grid-template-columns: 1fr; }

  /* Process steps */
  .process-steps { grid-template-columns: 1fr; }

  /* Gallery */
  .gallery-masonry-content { columns: 1; }

  /* Lightbox nav */
  .lightbox-prev { left: 10px; }
  .lightbox-next { right: 10px; }

  /* Section titles */
  .section-title { font-size: clamp(1.8rem, 6vw, 2.5rem); }

  /* Shop filters */
  .shop-filters-content { gap: 8px; }
  .filter-btn { padding: 7px 16px; font-size: 0.72rem; }

  /* FP header */
  .fp-header { flex-direction: column; align-items: flex-start; gap: 16px; }

  /* CTA actions */
  .cta-actions { flex-direction: column; align-items: center; }

  /* Hero eyebrow */
  .hero-eyebrow { font-size: 0.65rem; }

  /* Buttons */
  .btn { padding: 12px 26px; font-size: 0.75rem; }

  /* Section label */
  .section-label { font-size: 0.65rem; }
  .section-label::before, .section-label::after { width: 18px; }
}

/* ─── Small Mobile (≤ 480px) ────────────────── */
@media (max-width: 480px) {
  .shop-grid-content { grid-template-columns: 1fr; }
  .product-card { max-width: 400px; margin: 0 auto; }
  .hero-title { font-size: 2rem; }
  .section-title { font-size: 1.8rem; }
  .footer-socials { justify-content: center; }

  .lightbox-inner { width: 95%; }
  .lightbox-media { min-height: 300px; font-size: 5rem; }

  .about-hero-title { font-size: 2.2rem; }

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

  .process-step-num { width: 60px; height: 60px; font-size: 1.5rem; }

  .hero-stats { flex-direction: column; gap: 12px; padding-top: 28px; margin-top: 40px; }
  .stat-number { font-size: 1.8rem; }
}

/* ─── Print ─────────────────────────────────── */
@media print {
  .site-header, .site-footer, .hero-visual { display: none; }
  .container { max-width: 100%; padding: 0; }
  body { background: white; color: black; }
}
