/* ============================================================
   FURNOVA — Responsive v2
   ============================================================ */

/* ── Large Desktop ── */
@media (min-width: 1400px) {
  .products-grid { grid-template-columns: repeat(4, 1fr); }
}

/* ── Tablet Landscape ── */
@media (max-width: 1024px) {
  :root { --nav-h: 72px; }
  .nav { padding: 0 1.8rem; }
  .nav-links { display: none; }
  .hamburger { display: flex; }
  .hero-content { max-width: 92%; }
  .hero-title { font-size: clamp(3.2rem, 7vw, 5.5rem); }
  .collections-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 300px 280px 220px; }
  .coll-card:first-child { grid-column: 1 / 3; grid-row: 1; }
  .stats-row { grid-template-columns: repeat(2, 1fr); gap: 2rem; }
  .testimonials-grid { grid-template-columns: repeat(2, 1fr); }
  .journal-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  .footer-brand { grid-column: 1 / 3; }
  .shop-layout { grid-template-columns: 240px 1fr; }
  .product-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .craft-section { grid-template-columns: 1fr; }
  .craft-sticky { position: relative; height: 55vh; }
  .craft-content { padding: 4rem 2.5rem; }
  .studio-layout { grid-template-columns: 1fr 300px; }
  .visualizer-layout { grid-template-columns: 1fr 280px; }
  .cart-layout { grid-template-columns: 1fr 320px; }
  .mega-menu-inner { grid-template-columns: repeat(3, 1fr); }
}

/* ── Tablet Portrait ── */
@media (max-width: 768px) {
  .section { padding: 4rem 0; }
  .section-xl { padding: 5.5rem 0; }
  .container, .container-wide { padding: 0 1.5rem; }
  .nav { padding: 0 1.25rem; }
  .nav-logo { font-size: 1.5rem; }
  .hero { min-height: 100svh; }
  .hero-content { padding: calc(var(--nav-h) + 40px) 1.5rem 1rem; }
  .hero-title { font-size: clamp(3rem, 10vw, 5rem); }
  .hero-subtitle { font-size: 0.95rem; }
  .hero-hint { display: none; }
  .collections-grid { grid-template-columns: 1fr; grid-template-rows: repeat(5, 260px); }
  .coll-card:first-child { grid-column: 1; grid-row: 1; }
  .stats-row { grid-template-columns: 1fr 1fr; }
  .testimonials-grid { grid-template-columns: 1fr; }
  .journal-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / 3; }
  .shop-layout { grid-template-columns: 1fr; }
  .filter-sidebar {
    position: fixed; inset: 0; max-width: 340px; right: auto; left: -100%;
    z-index: 400; overflow-y: auto; border-radius: 0;
    box-shadow: var(--shadow-xl); transition: left 0.4s var(--ease-out);
  }
  .filter-sidebar.open { left: 0; }
  .products-grid { grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
  .modal-box { grid-template-columns: 1fr; max-height: 95vh; }
  .modal-img { aspect-ratio: 4/3; }
  .form-row { grid-template-columns: 1fr; }
  .cart-layout { grid-template-columns: 1fr; }
  .cart-item { grid-template-columns: 90px 1fr; }
  .studio-layout { grid-template-columns: 1fr; grid-template-rows: 55vh 1fr; height: auto; min-height: 100svh; }
  .studio-panel { border-left: none; border-top: 1px solid var(--grey-light); }
  .visualizer-layout { grid-template-columns: 1fr; grid-template-rows: 50vh 1fr; height: auto; }
  .viz-panel { border-left: none; border-top: 1px solid var(--grey-light); }
  .newsletter-form { flex-direction: column; border-radius: var(--radius-lg); overflow: hidden; }
  .newsletter-form input {
    border-right: 1.5px solid rgba(201,168,76,0.25);
    border-bottom: none;
    border-radius: var(--radius-lg) var(--radius-lg) 0 0;
  }
  .newsletter-form .btn { border-radius: 0 0 var(--radius-lg) var(--radius-lg); justify-content: center; }
  .page-header { padding: 6rem 0 3rem; }
  .checkout-steps { gap: 1.5rem; }
  .checkout-step::after { display: none; }
}

/* ── Mobile ── */
@media (max-width: 576px) {
  :root { --nav-h: 64px; }
  .section { padding: 3.5rem 0; }
  .container { padding: 0 1.2rem; }
  .hero-title { font-size: clamp(2.6rem, 12vw, 4rem); }
  .hero-actions { flex-direction: column; align-items: flex-start; }
  .products-grid { grid-template-columns: 1fr; }
  .gallery-thumbs { grid-template-columns: repeat(4, 1fr); }
  .collections-grid { grid-template-rows: repeat(5, 220px); }
  .stats-row { gap: 1.2rem; padding: 2.5rem 0; }
  .stat-num { font-size: 2.5rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: 1; }
  .footer-bottom { flex-direction: column; gap: 0.6rem; text-align: center; }
  .toast-container { bottom: 1rem; right: 1rem; left: 1rem; }
  .toast { max-width: 100%; }
  .section-title { font-size: clamp(2rem, 8vw, 2.8rem); }
  .hero-scroll { display: none; }
  .model-selector { grid-template-columns: repeat(2, 1fr); }
  .page-header-title { font-size: clamp(2.5rem, 9vw, 4rem); }
  .announcement-bar { font-size: 0.62rem; padding: 9px 1rem; }
  .craft-content { padding: 3rem 1.2rem; }
  .btn-lg { padding: 1rem 2.2rem; }
  .btn-xl { padding: 1.1rem 2.5rem; }
  .hero-tag { font-size: 0.6rem; padding: 0.38rem 1rem; }
}

/* ── Very small ── */
@media (max-width: 380px) {
  .hero-title { font-size: 2.4rem; }
  .btn { padding: 0.78rem 1.5rem; font-size: 0.68rem; }
  .nav-logo { font-size: 1.3rem; }
}

/* ── Touch ── */
@media (hover: none) {
  .product-card-actions { opacity: 1; transform: none; }
  .product-card:hover .product-card-img img { transform: none; }
  .btn::before { display: none; }
}

/* ── Print ── */
@media print {
  .nav-wrap, .announcement-bar, .footer, .toast-container,
  .mobile-drawer, #scroll-progress { display: none !important; }
  body { background: white; }
}
