/* ==========================================================================
   responsive.css — breakpoint overrides for Editorial Design
   ========================================================================== */

/* ----- Laptop / Small desktop (<=1199px) ----- */
@media (max-width: 1199.98px) {
  .hero-visual { height: 520px; min-height: 480px; }
  .hero-slide-title { font-size: clamp(1.6rem, 3vw, 2.4rem); }
  .hero-slide-overlay { max-width: 420px; }

  .nav-pill { padding: 7px 14px; font-size: 0.84rem; }

  .cart-summary-card { position: static; }
}

/* ----- Tablet (<=991px) ----- */
@media (max-width: 991.98px) {
  .section-pad { padding: 56px 0; }

  .header-topbar { display: none; }
  .main-nav { display: none !important; }

  .hero-visual { height: 420px; min-height: 380px; }
  .hero-slide-overlay { bottom: 36px; left: 30px; max-width: 360px; }
  .hero-slide-title { font-size: 1.6rem; }
  .hero-slide-sub { font-size: 0.85rem; }
  .hero-counter { bottom: 36px; right: 30px; }
  .hero-counter .current { font-size: 1.5rem; }
  .hero-slider-control { width: 42px; height: 38px; }

  .about-left .about-vertical-line { display: none; }
  .about-section .section-watermark { font-size: 10rem; }

  .section-heading-editorial { font-size: clamp(1.7rem, 3vw, 2.4rem); }

  .auth-illustration { display: none; }
  .auth-card { margin: 0 auto; }
  .filter-sidebar { margin-bottom: 24px; }
  .pd-thumbs { justify-content: flex-start; }
  .newsletter-section { padding: 40px 24px; }
}

/* ----- Mobile (<=767px) ----- */
@media (max-width: 767.98px) {
  .section-pad { padding: 44px 0; }
  .section-heading-editorial { font-size: 1.5rem; }

  .hero-visual { height: 340px; min-height: 300px; }
  .hero-slide-overlay { bottom: 24px; left: 20px; right: 20px; max-width: none; }
  .hero-slide-title { font-size: 1.35rem; }
  .hero-slide-sub { display: none; }
  .hero-slide-cta { padding: 10px 22px; font-size: 0.82rem; }
  .hero-counter { bottom: 24px; right: 20px; }
  .hero-counter .current { font-size: 1.2rem; }
  .hero-slider-control { width: 36px; height: 34px; }
  .hero-slider-control.prev { left: 12px; }
  .hero-slider-control.next { right: 12px; }

  .about-section .section-watermark { display: none; }
  .about-content-block { flex-wrap: wrap; }
  .about-block-img { width: 60px; height: 60px; }

  .product-section-header { flex-direction: column; align-items: flex-start; }

  .achiever-card-v2 { max-width: 130px; }

  .news-quote-mark { font-size: 4rem; }
  .news-quote-text { font-size: 1.1rem; }
  .news-nav-text { gap: 24px; }

  .offer-banner { padding: 30px 24px; text-align: center; }
  .offer-banner::before { display: none; }
  .newsletter-form { flex-direction: column; }
  .auth-card { padding: 30px 22px; }
  .cart-item-row { flex-wrap: wrap; }
  .cart-item-row .cart-item-actions { width: 100%; display: flex; justify-content: space-between; margin-top: 10px; }
  .listing-toolbar { flex-direction: column; align-items: stretch; }
  .checkout-card { padding: 20px; }
  .footer-bottom { text-align: center; flex-direction: column; gap: 10px; }
}

/* ----- Small mobile (<=575px) ----- */
@media (max-width: 575.98px) {
  .container-xl-custom { padding-left: 16px; padding-right: 16px; }

  .hero-visual { height: 280px; min-height: 260px; }
  .hero-slide-title { font-size: 1.15rem; }
  .hero-slide-cta { padding: 8px 18px; font-size: 0.78rem; }
  .hero-counter { display: none; }

  .about-content-block { gap: 12px; padding: 20px 0; }
  .about-block-num { width: 30px; height: 30px; font-size: 0.7rem; }
  .about-block-img { width: 50px; height: 50px; border-radius: 8px; }

  .pd-price-row { flex-wrap: wrap; }
  .product-info { padding: 14px; }
  .btn { padding: 10px 22px; }

  .achiever-card-v2 { max-width: 100px; }
  .achiever-name-v2 { font-size: 0.78rem; }

  .cv-side-item { margin-bottom: 20px; }
  .cv-side-content { padding: 12px 14px; }
}
