/* ============================================================
   RESPONSIVE — all @media breakpoints in one place
============================================================ */

/* ── 960px: tablet/mobile breakpoint ── */
@media (max-width: 960px) {
  .hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .hero-right { display: none; }
  .hero-left { padding: 8rem 6vw 4rem; }
  .free-taste { grid-template-columns: 1fr; gap: 2.5rem; }
  .about { grid-template-columns: 1fr; gap: 2.5rem; }
  .about-visual { display: none; }
  .steps-grid { grid-template-columns: 1fr; gap: 2rem; }
  .steps-grid::before { display: none; }
  .footer-top { grid-template-columns: 1fr; gap: 2.5rem; }
  .nav-links { display: none; }
  .trust-bar { gap: 1.5rem; }
}

/* ── 768px: mobile polish ── */
@media (max-width: 768px) {

  section,
  .shop,
  .library,
  .about,
  .faq,
  .how-it-works,
  .testimonials,
  .free-taste {
    padding-left: 1.4rem !important;
    padding-right: 1.4rem !important;
  }

  .hero-left {
    padding: 7rem 1.4rem 3rem !important;
  }

  .hero-headline {
    font-size: 2.5rem !important;
    line-height: 1.15;
  }

  .hero-sub {
    font-size: 0.98rem;
    line-height: 1.8;
    max-width: 100%;
  }

  .hero-actions {
    flex-direction: column;
    align-items: stretch;
  }

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

  .hero-trust { gap: 1rem; }
  .trust-num  { font-size: 1.4rem; }

  .section-headline {
    font-size: 2rem !important;
    line-height: 1.25;
  }
  .section-body {
    font-size: 0.95rem;
    line-height: 1.9;
  }

  /* Product cards */
  .product-card  { border-radius: 8px; }
  .product-info  { padding: 1.2rem; }
  .product-title { font-size: 1.15rem; }
  .product-desc  { font-size: 0.84rem; line-height: 1.75; }
  .product-footer { flex-direction: column; align-items: stretch; }
  .btn-buy { width: 100%; }

  /* Testimonials */
  .testimonial-card { padding: 1.3rem; }
  .testimonial-text { font-size: 0.98rem; line-height: 1.8; }

  /* Library */
  .lib-card       { padding: 1.3rem; }
  .lib-card-title { font-size: 1.05rem; }
  .lib-card-body  { font-size: 0.84rem; line-height: 1.8; }

  /* FAQ */
  .faq-question { font-size: 1rem; line-height: 1.5; }
  .faq-answer   { font-size: 0.88rem; line-height: 1.8; }

  /* Footer */
  .footer-top    { gap: 2rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  /* Modal */
  .modal         { border-radius: 12px; }
  .modal-product-name { font-size: 1.15rem; }
  .modal-price   { font-size: 1.7rem; }
  .modal-body    { padding: 1.2rem 1.4rem; }
  .modal-header  { padding: 1.4rem 1.4rem 1rem; }
}

/* ── 600px: narrow mobile ── */
@media (max-width: 600px) {
  .shop { padding: 5rem 5vw; }
  .products-grid { grid-template-columns: 1fr; }
  .testimonials-header { flex-direction: column; align-items: flex-start; }
}
