/* ==========================================================================
   RESPONSIVE OVERRIDES
   ========================================================================== */

/* ---------- Tablet ≤ 1024px ---------- */
@media (max-width: 1024px){
  .hero-grid{ grid-template-columns: 1.1fr 0.9fr; gap: 28px; }
  .hero-woman-img{ height: 440px; }
  .emotion-grid{ grid-template-columns: 1fr; gap:50px; }
  .emotion-visual{ order:2; }
  .emotion-content{ order:1; }
  .footer-grid{ grid-template-columns: 1fr 1fr; }
  .footer-newsletter{ grid-column: 1 / -1; }
}

/* ---------- Nav collapse ≤ 900px ---------- */
@media (max-width: 900px){
  .hero-grid{ grid-template-columns: 1fr; gap: 36px; }
  .hero-visual{ order: 2; }
  .hero-content{ order: 1; text-align: center; }
  .hero-sub{ margin-left: auto; margin-right: auto; }
  .hero-cta{ justify-content: center; }
  .hero-woman-img{ height: 380px; max-width: 100%; }

  .main-nav{
    position:fixed; top:0; right:0; height:100vh; width:min(320px, 82vw);
    background: var(--cream); flex-direction:column; align-items:flex-start;
    padding: 100px 32px 40px; gap:26px; transform: translateX(100%);
    transition: transform .4s var(--ease); box-shadow: -10px 0 40px rgba(0,0,0,0.15); z-index:550;
  }
  .main-nav.open{ transform: translateX(0); }
  .nav-link{ color: var(--ink) !important; font-size:17px; }
  .nav-link::after{ background: var(--gold-dark); }
  .header-phone{ display:none !important; }
  .nav-toggle{ display:flex; }
  .nav-toggle.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
  .nav-toggle.open span:nth-child(2){ opacity:0; }
  .nav-toggle.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
  .header-actions .btn-sm{ display:none; }
}

/* ---------- Mobile ≤ 640px ---------- */
@media (max-width: 640px){
  .container{ padding: 0 18px; }

  .hero-inner{ padding-top:100px; padding-bottom:60px; }
  .hero-title{ font-size: clamp(30px, 8.5vw, 42px); }
  .hero-woman-img{ height: 320px; }
  .hero-badge{ padding: 10px 14px; bottom: 12px; left: 12px; right: 12px; }
  .badge-text strong{ font-size: 14px; }
  .badge-text small{ font-size: 12px; }
  .hero-cta{ flex-direction:column; align-items:stretch; }
  .hero-cta .btn{ width:100%; text-align:center; }

  .emotion, .products, .why-choose, .testimonials, .faq{ padding: 80px 0; }

  .products-grid{ grid-template-columns: 1fr; }
  .pillars-grid{ grid-template-columns: 1fr 1fr; gap:24px; }
  .pillar-icon{ width:60px; height:60px; font-size:26px; }

  .testimonials-track{ grid-auto-columns: 88%; }

  .contact-cta{ padding: 80px 0 70px; }
  .contact-cta-buttons{ flex-direction:column; align-items:stretch; }
  .contact-cta-buttons .btn{ width:100%; text-align:center; }
  .contact-details{ grid-template-columns: 1fr; gap:36px; padding: 56px 18px; }

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

  .floating-chat{ width:48px; height:48px; font-size:22px; bottom:20px; left:20px; }
  .back-to-top{ width:42px; height:42px; bottom:20px; right:20px; }

  .modal-content{ padding: 28px 22px; }
}

/* ---------- Small mobile ≤ 400px ---------- */
@media (max-width: 400px){
  .pillars-grid{ grid-template-columns: 1fr; }
  .logo{ font-size:22px; }
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  *{ animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  html{ scroll-behavior:auto; }
}
