/* ==========================================================================
   ANNAM FARM — Responsive
   Breakpoints: 1440 · 1200 · 992 · 768 · 576 · 375
   ========================================================================== */

/* ============================ ≤ 1366 (small laptop) ===================== */
@media (max-width: 1366px) {
  .hero { min-height: 580px; }
  .hero__inner { min-height: 480px; }
  .hero__title { font-size: clamp(2.4rem, 4.2vw, 3.6rem); }
  .shop-layout { grid-template-columns: 250px minmax(0, 1fr); gap: 24px; }
  .product-grid--shop { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .product-grid--shop .product-card__media,
  .product-card--shop .product-card__media { height: 280px; min-height: 280px; }
}

/* ============================ ≤ 1200 (laptop) =========================== */
@media (max-width: 1200px) {
  :root { --section-pad: 80px; }
  .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .product-grid--shop { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .shop-banner__grid { gap: 30px; }
  .glass-card--flour { right: 14px; }
  .shop-features__grid { grid-template-columns: repeat(3, 1fr); }
  .products-slider .product-grid { grid-auto-columns: 25%; }
  .promo-grid { grid-template-columns: repeat(2, 1fr); }
  .testi-grid { grid-template-columns: repeat(2, 1fr); }
  .cat-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
  .footer__top { grid-template-columns: 1.3fr 1fr 1fr; gap: 34px; }
  .footer__col:nth-child(4), .footer__col:nth-child(5) { grid-column: span 1; }
  .hero__inner { gap: 20px; }
  .mega-menu { min-width: 640px; }
  .cat-mega { max-width: 900px; }
  .cat-mega__grid { grid-template-columns: repeat(3, 1fr); }
  .dash-grid { grid-template-columns: 240px 1fr; }
}

/* ============================ ≤ 1024 (small tablet) ==================== */
@media (max-width: 1024px) {
  .hero { min-height: 540px; }
  .hero__title { font-size: clamp(2.2rem, 3.8vw, 3.2rem); }
  .hero__inner { padding: 50px var(--container-pad) 40px; min-height: 440px; }
  .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cat-grid { grid-template-columns: repeat(4, 1fr); gap: 14px; }
  .footer__top { grid-template-columns: 1.2fr 1fr 1fr; gap: 30px; }
}

/* ============================ ≤ 992 (tablet) ============================ */
@media (max-width: 992px) {
  :root { --section-pad: 64px; }

  .announce__items { display: none; }
  .announce__inner { justify-content: center; }

  .site-nav { display: none; }
  .header-nav { display: none; }
  .burger { display: flex; }
  .header-main { flex-wrap: wrap; gap: 14px; }
  .header-search { order: 3; flex-basis: 100%; max-width: 100%; }
  .logo { flex: 1; }
  .logo__img--header { width: 176px; max-height: 58px; }
  .act span, .act--login .who { display: none; }
  .act .count-badge { display: grid; }
  .act { flex-direction: row; padding: 10px; }
  .act--login { border: none; }

  .hero { min-height: auto; }
  .hero__inner { grid-template-columns: 1fr; padding-top: 42px; padding-bottom: 40px; min-height: auto; }
  .hero__copy { text-align: center; display: flex; flex-direction: column; align-items: center; }
  .hero__desc { margin-left: auto; margin-right: auto; max-width: 100%; }
  .hero__cta { justify-content: center; }
  .hero__trust { grid-template-columns: repeat(4, auto); justify-content: center; }
  .hero__visual { display: none; }
  .hero__inner { min-height: auto; }
  .hero-arrow { width: 44px; height: 44px; }
  .hero-arrow--prev { left: 12px; }
  .hero-arrow--next { right: 12px; }
  .hero-dots { bottom: 50px; }
  .hero-stats { display: none; }

  .why__inner { grid-template-columns: 1fr; gap: 48px; }
  .why__media .frame img { height: 440px; }
  .float-card--a { right: 8px; }
  .float-card--b { left: 8px; }

  .newsletter { grid-template-columns: 1fr; padding: 48px 34px; }
  .newsletter__bowl { display: none; }

  .shop-layout { grid-template-columns: minmax(0, 1fr); }
  .sidebar { position: static; }
  .sidebar-card { display: none; }
  .sidebar.is-open .sidebar-card { display: block; }
  .filter-toggle { display: inline-flex; }

  /* Shop page: sidebar becomes a slide-in drawer */
  .shop-sidebar {
    position: fixed; top: 0; left: 0; bottom: 0; z-index: 110;
    width: min(340px, 86vw); margin: 0; padding: 20px;
    background: var(--bg); overflow-y: auto;
    transform: translateX(-104%);
    transition: transform var(--t-slow);
    box-shadow: 24px 0 60px rgba(44,38,26,.2);
  }
  .shop-sidebar.is-open { transform: translateX(0); }
  .shop-sidebar .sidebar-card { display: block; }
  .shop-sidebar.is-open .sidebar-card { display: block; }
  .shop-banner__grid { grid-template-columns: 1fr; gap: 36px; padding-bottom: 52px; }
  .shop-banner__copy { text-align: center; display: flex; flex-direction: column; align-items: center; }
  .shop-banner__desc { margin-left: auto; margin-right: auto; }
  .shop-banner__meta { justify-content: center; }
  .shop-banner__img { max-width: 520px; margin: 0 auto; }
  .glass-card--flour {
    position: static;
    margin: 14px auto 0;
    transform: none;
  }
  .qv-modal__card { grid-template-columns: 1fr; max-height: 90vh; }
  .qv-modal__media { border-radius: 24px 24px 0 0; padding: 26px; }
  .qv-modal__media img { max-width: 220px; }

  .pd-layout { grid-template-columns: 1fr; gap: 34px; }
  .pd-gallery { position: static; }
  .pd-details { grid-template-columns: 1fr; gap: 30px; }
  .pd-facts { position: static; }

  .contact-grid { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .dash-grid { grid-template-columns: 1fr; }
  .dash-menu { display: flex; flex-wrap: wrap; }
  .dash-menu .user-chip { width: 100%; }
  .dash-menu a { flex: 1 1 auto; justify-content: center; border-right: 1px solid var(--border-soft); }
  .dash-menu a.is-danger { border-right: none; }

  .cart-table { display: block; }
  .cart-table thead { display: none; }
  .cart-table tbody, .cart-table tr, .cart-table td { display: block; width: 100%; }
  .cart-table tr { border-bottom: 1px solid var(--border); padding: 8px 0; }
  .cart-table td { border-bottom: none; }
  .cart-table .prod-cell { justify-content: flex-start; }

  .mobile-nav-cat {
    display: flex !important; align-items: center; gap: 8px;
    background: var(--green); color: #fff; font-weight: 600; font-size: .9rem;
    padding: 13px 20px; margin: 0; border-radius: var(--r-pill); border: none;
  }
}

/* ============================ ≤ 768 (mobile) ============================ */
@media (max-width: 768px) {
  .section { padding: 56px 0; }
  .product-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .product-grid--shop { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
  .shop-features__grid { grid-template-columns: repeat(2, 1fr); gap: 22px 12px; }
  .shop-topbar { flex-direction: column; align-items: flex-start; gap: 12px; }
  .shop-topbar__right { width: 100%; justify-content: space-between; }
  .sort-dropdown__btn { min-width: 0; flex: 1; justify-content: flex-start; }
  .sort-dropdown__btn span:not(.sort-dropdown__chev):not(.sort-dropdown__ico) { flex: 1; text-align: left; }
  .glass-card--flour { padding: 12px 14px; gap: 8px 14px; max-width: calc(100vw - 36px); }
  .glass-card__item svg { width: 17px; height: 17px; }
  .qv-modal__body { padding: 26px 22px 24px; }
  .qv-modal__name { font-size: 1.4rem; }
  .products-slider .product-grid { grid-auto-columns: 55%; }
  .promo-grid { grid-template-columns: 1fr; }
  .testi-grid { grid-template-columns: 1fr; }
  .cat-grid { grid-template-columns: repeat(3, 1fr); }
  .why__points { grid-template-columns: 1fr; }
  .stats__grid { grid-template-columns: repeat(2, 1fr); gap: 30px 0; }
  .stat + .stat::before { display: none; }
  .footer__top { grid-template-columns: 1fr 1fr; }
  .footer__col:first-child { grid-column: 1 / -1; }
  .order-steps { flex-wrap: wrap; gap: 8px; }
  .order-step .bar { display: none; }
  .form-row { grid-template-columns: 1fr; }
  .social-btns { grid-template-columns: 1fr; }
  .tabs-bar { overflow-x: auto; scrollbar-width: none; }
  .tabs-bar::-webkit-scrollbar { display: none; }
  .tabs-bar button { white-space: nowrap; }
  .nutrition-grid { grid-template-columns: repeat(2, 1fr); }
  .pd-gallery__inner { flex-direction: column-reverse; }
  .pd-rail { flex-direction: row; flex-basis: auto; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
  .pd-rail::-webkit-scrollbar { display: none; }
  .pd-thumb { flex: 0 0 74px; width: 74px; height: 74px; }
  .pd-variant-list { grid-template-columns: repeat(4, 1fr); }
  .pd-trust { grid-template-columns: 1fr; }
  .pd-steps { grid-template-columns: 1fr; }
  .pd-review { flex-direction: column; gap: 10px; }
  .stat-cards { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }
  .products-head { flex-direction: column; align-items: flex-start; }
  .products-head .slider-nav { align-self: flex-end; margin-top: -54px; }
  .hero__trust { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .trust-item { justify-content: flex-start; }
  .newsletter__form { flex-direction: column; border-radius: var(--r-lg); padding: 12px; }
  .newsletter__form input { padding: 14px; }
  .newsletter__form .btn { width: 100%; }
  .header-search { order: 3; }
  .act--login { display: none; }
  .back-top { right: 16px; bottom: 16px; width: 44px; height: 44px; }
}

/* ============================ ≤ 576 (mobile) ============================ */
@media (max-width: 576px) {
  :root { --container-pad: 18px; }
  .logo__img--header { width: 148px; max-height: 50px; }
  .header-main { gap: 8px; padding-top: 12px; padding-bottom: 12px; }
  .header-main .logo { flex: 0 1 auto; }
  .header-actions { gap: 4px; }
  .header-actions .act { width: 36px; height: 36px; padding: 0; }
  .header-actions .act--login { display: grid; }
  .header-actions .act svg { width: 19px; height: 19px; }
  .header-actions .act--login svg { width: 18px; height: 18px; }
  .header-actions .act .count-badge { top: -2px; right: -2px; min-width: 17px; height: 17px; font-size: .58rem; }
  .burger { padding: 8px; }
  .burger span { width: 22px; }
  .footer .logo__img--footer { width: 190px; max-height: 64px; }
  .logo__text small { display: none; }
  .shop-banner__meta { gap: 8px; }
  .shop-banner__meta span { padding: 7px 12px; font-size: .72rem; }
  .shop-features__grid { grid-template-columns: 1fr; padding: 26px 20px; }
  .shop-feature { display: flex; align-items: center; gap: 14px; text-align: left; }
  .shop-feature .ico { margin: 0; width: 48px; height: 48px; }
  .shop-feature .ico svg { width: 22px; height: 22px; }
  .filter-actions { grid-template-columns: 1fr; }
  .hero { min-height: 420px; }
  .hero__title { font-size: 2.2rem; }
  .hero-arrow { display: none; }
  .hero-dots { bottom: 30px; }
  .hero__scroll { display: none; }
  .hero-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; position: static; margin-top: 20px; max-width: 100%; }
  .hero-stat { padding: 8px 10px; }
  .hero-stat .num { font-size: .95rem; }
  .hero-stat .label { font-size: .6rem; }
  .hero__cta .btn { width: 100%; }
  .promo-card { min-height: 160px; }
  .cat-grid { grid-template-columns: repeat(2, 1fr); }
  .cat-mega__grid { grid-template-columns: repeat(2, 1fr); }
  .footer__top { grid-template-columns: 1fr; gap: 30px; }
  .footer__bottom-inner { flex-direction: column; text-align: center; }
  .form-card { padding: 28px 22px; }
  .auth-wrap { padding: 36px 14px; }
  .product-card__body { padding: 14px; }
  .products-slider .product-grid { grid-auto-columns: 72%; }
  .pd-variant-list { grid-template-columns: repeat(2, 1fr); }
  .pd-buy { flex-direction: column; align-items: stretch; }
  .pd-buy .qty { align-self: flex-start; }
  .pd-buy .btn { flex: 1 1 auto; }
  .pd-price-row .price { font-size: 1.8rem; }
  .pd-reviews__head { padding: 18px 16px; }
  .pd-review-form { padding: 18px 16px; }
  .pd-review-form__grid { grid-template-columns: 1fr; }
  .lightbox__nav { width: 44px; height: 44px; }
  .lightbox__nav--prev { left: 12px; }
  .lightbox__nav--next { right: 12px; }
  .lightbox__close { top: 14px; right: 14px; }
}

/* ============================ ≤ 480 (small mobile) ===================== */
@media (max-width: 480px) {
  .hero { min-height: 380px; }
  .hero__title { font-size: 2rem; }
  .hero__desc { font-size: .88rem; }
  .hero__trust { grid-template-columns: 1fr 1fr; gap: 8px; }
  .trust-item .ico { width: 36px; height: 36px; }
  .trust-item .ico svg { width: 17px; height: 17px; }
  .trust-item b { font-size: .72rem; }
  .trust-item small { font-size: .64rem; }
  .product-grid { gap: 10px; }
  .product-card__body { padding: 12px; }
  .btn { padding: 14px 24px; font-size: .88rem; }
  .drawer { width: 100vw; }
}

/* Final all-device responsive guards for shop cards and narrow screens. */
@media (max-width: 1366px) and (min-width: 993px) {
  .shop-main,
  .shop-topbar,
  .product-grid--shop { min-width: 0; }
  .sort-dropdown__btn { max-width: 100%; }
}

@media (max-width: 768px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .shop-main { min-width: 0; width: 100%; }
  .shop-topbar__right { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
  .filter-toggle,
  .sort-dropdown,
  .sort-dropdown__btn { width: 100%; min-width: 0; }
  .sort-dropdown__menu { right: 0; left: auto; max-width: calc(100vw - 36px); }
  .product-card--shop { height: 100%; }
  .product-card--shop .product-card__body { padding: 14px; gap: 7px; }
  .product-card--shop .price-block { margin-top: auto; }
  .product-card--shop .add-cart-btn--full { min-height: 44px; padding: 11px 10px; font-size: .82rem; }
}

@media (max-width: 576px) {
  .order-steps {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px !important;
    margin-bottom: 28px !important;
  }
  .order-step {
    justify-content: center;
    gap: 7px !important;
    font-size: .72rem !important;
    text-align: center;
  }
  .order-step .dot {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 auto;
  }
  .order-steps .bar { display: none !important; }
  .checkout-grid .form-card h3 { font-size: 1.08rem; }
  .checkout-grid .field input,
  .checkout-grid .field textarea {
    font-size: .86rem !important;
    padding: 13px 14px !important;
  }
  .checkout-grid .field > svg {
    width: 17px !important;
    height: 17px !important;
    margin-left: 13px !important;
  }
  .checkout-grid .btn--lg {
    min-height: 48px;
    padding: 12px 16px !important;
    font-size: .9rem !important;
  }
  .product-grid--shop {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .product-grid--shop .product-card__media,
  .product-card--shop .product-card__media {
    height: 300px !important;
    min-height: 300px !important;
  }
  .product-card--shop .product-card__body { padding: 15px 16px 16px !important; }
  .product-card--shop .product-card__name { font-size: .96rem !important; }
  .product-card--shop .add-cart-btn--full {
    display: inline-flex !important;
    width: 100% !important;
    min-height: 46px !important;
    font-size: .86rem !important;
  }
  .pagination { flex-wrap: wrap; gap: 7px; margin-top: 32px; }
  .pg-btn { min-width: 40px; height: 40px; padding: 0 13px; border-radius: 12px; }
}

@media (max-width: 390px) {
  .shop-topbar__right { grid-template-columns: 1fr; }
  .product-grid--shop .product-card__media,
  .product-card--shop .product-card__media {
    height: 270px !important;
    min-height: 270px !important;
  }
}

/* ============================ ≤ 430 (iPhone 14 Pro Max) ================= */
@media (max-width: 430px) {
  .logo__img--header { width: 126px; }
  .header-actions .act { width: 34px; height: 34px; }
  .header-actions { gap: 3px; }
  .hero__title { font-size: 1.9rem; }
  .hero__trust { gap: 6px; }
  .hero__badge { font-size: .7rem; padding: 6px 14px; }
}

/* ============================ ≤ 390 (iPhone 14 Pro) ===================== */
@media (max-width: 390px) {
  .hero__title { font-size: 1.7rem; }
  .hero__badge { font-size: .65rem; padding: 5px 12px; }
  .hero__desc { font-size: .82rem; }
  .cat-card .ring { width: 80px; height: 80px; }
  .cat-card .ring img { width: 66px; height: 66px; }
}

/* ============================ ≤ 375 (small) ============================= */
@media (max-width: 375px) {
  .hero { min-height: 380px; }
  .hero__title { font-size: 1.8rem; }
  .hero__badge { font-size: .68rem; padding: 6px 12px; }
  .hero__desc { font-size: .85rem; }
  .hero__trust { grid-template-columns: 1fr 1fr; gap: 8px; }
  .trust-item .ico { width: 36px; height: 36px; }
  .trust-item .ico svg { width: 18px; height: 18px; }
  .trust-item b { font-size: .7rem; }
  .trust-item small { font-size: .62rem; }
  .stats__grid { grid-template-columns: 1fr; }
  .products-slider .product-grid { grid-auto-columns: 84%; }
  .drawer { width: 100vw; }
  .toast { font-size: .8rem; padding: 11px 16px; }
}

/* ============================ ≤ 360 (extra small) ====================== */
@media (max-width: 360px) {
  :root { --container-pad: 14px; }
  .hero__title { font-size: 1.6rem; }
  .hero__trust { grid-template-columns: 1fr; }
  .product-grid { gap: 10px; }
  .product-card__body { padding: 10px; }
  .product-card__name { font-size: .82rem; }
  .cat-grid { gap: 8px; }
  .cat-card .ring { width: 80px; height: 80px; }
}

/* ============================ ≤ 320 (smallest) ========================= */
@media (max-width: 320px) {
  .hero__title { font-size: 1.4rem; }
  .hero__badge { font-size: .6rem; padding: 4px 10px; }
  .btn { font-size: .82rem; padding: 12px 20px; }
  .product-grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   ANNAM FARM — Responsive polish
   Fluid control & typography scaling so buttons, product cards and headings
   stay balanced on every screen size. Appended last so these win the cascade.
   ========================================================================== */

/* Fluid type: clamp() already on h1/h2 — give h3 and card text the same treatment */
@media (max-width: 1200px) {
  h3 { font-size: 1.24rem; }
  .blog-card h3 { font-size: 1.12rem; }
  .rc-card__body h3 { font-size: .98rem; }
}

@media (max-width: 992px) {
  .btn { padding: 14px 26px; font-size: .92rem; }
  .btn--lg { padding: 16px 34px; }
  .product-card__name { font-size: .92rem; }
  .product-card--shop .product-card__name { font-size: .94rem; }
  .product-grid--shop .product-card__media,
  .product-card--shop .product-card__media { height: 250px; min-height: 250px; }
  .price-block .price { font-size: 1.12rem; }
}

@media (max-width: 768px) {
  h3 { font-size: 1.18rem; }
  .btn { padding: 13px 22px; font-size: .9rem; }
  .btn--lg { padding: 15px 28px; font-size: .94rem; }
  .btn--sm { padding: 9px 18px; font-size: .82rem; }
  .product-card__name { font-size: .9rem; }
  .product-card--shop .product-card__name { font-size: .92rem; }
  .product-grid--shop .product-card__media,
  .product-card--shop .product-card__media { height: 230px; min-height: 230px; }
  .product-card__weight { font-size: .72rem; }
  .price-block .price { font-size: 1.08rem; }
  .price-block .old { font-size: .78rem; }
  .rating-line { font-size: .7rem; }
  .add-cart-btn { width: 44px; height: 44px; }
  .add-cart-btn svg { width: 19px; height: 19px; }
  .blog-card h3 { font-size: 1.08rem; }
  .rc-card__body h3 { font-size: .95rem; }
  .cat-card b { font-size: .92rem; }
}

@media (max-width: 576px) {
  h3 { font-size: 1.1rem; }
  .btn { padding: 12px 20px; font-size: .88rem; }
  .product-card__name { font-size: .87rem; }
  .product-card--shop .product-card__name { font-size: .9rem; }
  .product-card__weight { font-size: .7rem; }
  .price-block .price { font-size: 1.04rem; }
  .rating-line { font-size: .68rem; }
  .add-cart-btn--full { font-size: .8rem; height: 42px; }
  .blog-card h3 { font-size: 1.05rem; }
  .rc-card__body h3 { font-size: .92rem; }
  .rc-card__meta span { font-size: .72rem; }
  .rc-feature b { font-size: .84rem; }
  .rc-feature small { font-size: .68rem; }
}

@media (max-width: 480px) {
  .btn { padding: 12px 18px; font-size: .86rem; }
  .btn--lg { padding: 14px 24px; font-size: .9rem; }
  .product-card__name { font-size: .85rem; }
  .product-card--shop .product-card__name { font-size: .88rem; }
  .price-block .price { font-size: 1rem; }
  .add-cart-btn { width: 42px; height: 42px; }
  .add-cart-btn--full { font-size: .78rem; height: 40px; }
  .filter-toggle { padding: 10px 14px; font-size: .8rem; }
  .sort-dropdown__btn { padding: 10px 14px; font-size: .82rem; }
  .sort-dropdown__btn .sort-dropdown__ico { width: 16px; height: 16px; }
}

@media (max-width: 390px) {
  .filter-toggle, .sort-dropdown__btn { padding: 9px 12px; font-size: .78rem; }
}

@media (max-width: 430px) {
  .btn { font-size: .85rem; padding: 11px 16px; }
  .product-card__name { font-size: .83rem; }
  .product-card--shop .product-card__name { font-size: .86rem; }
  .price-block .price { font-size: .98rem; }
  .hero__cta .btn { padding: 13px 18px; }
}

@media (max-width: 390px) {
  .btn { font-size: .84rem; }
  .product-card__name { font-size: .81rem; }
  .product-card--shop .product-card__name { font-size: .84rem; }
  .price-block .price { font-size: .96rem; }
  .blog-card h3 { font-size: 1rem; }
  .rc-card__body h3 { font-size: .9rem; }
}

@media (max-width: 375px) {
  .btn { font-size: .83rem; padding: 10px 15px; }
  .product-card__name { font-size: .8rem; }
  .product-card--shop .product-card__name { font-size: .83rem; }
  .product-card__weight { font-size: .66rem; }
  .price-block .price { font-size: .94rem; }
  .rating-line { font-size: .64rem; }
  .add-cart-btn { width: 40px; height: 40px; }
  .add-cart-btn--full { font-size: .76rem; }
}

@media (max-width: 360px) {
  h3 { font-size: 1.05rem; }
  .btn { font-size: .82rem; padding: 10px 14px; }
  .product-card__name { font-size: .79rem; }
  .product-card--shop .product-card__name { font-size: .82rem; }
  .price-block .price { font-size: .92rem; }
  .rating-line { font-size: .62rem; }
}

@media (max-width: 320px) {
  .btn { font-size: .8rem; padding: 9px 13px; }
  .product-card__name { font-size: .77rem; }
  .product-card--shop .product-card__name { font-size: .8rem; }
  .price-block .price { font-size: .9rem; }
  .add-cart-btn { width: 38px; height: 38px; border-radius: 12px; }
}

/* Final mobile homepage overrides: keep product discovery compact. */
@media (max-width: 576px) {
  .products-slider .home-product-rail {
    grid-auto-columns: calc((100% - 10px) / 2) !important;
    gap: 10px !important;
  }
  .home-product-rail .product-card__media {
    height: 168px !important;
    min-height: 168px !important;
  }
  .home-product-rail .product-card__media img {
    object-fit: contain !important;
    object-position: center;
  }
  .home-category-grid {
    display: flex !important;
    grid-template-columns: none !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }
  .home-category-grid .cat-card {
    flex: 0 0 82px !important;
    width: 82px !important;
    min-width: 82px !important;
  }
}

@media (max-width: 360px) {
  .products-slider .home-product-rail {
    grid-auto-columns: calc((100% - 8px) / 2) !important;
    gap: 8px !important;
  }
  .home-product-rail .product-card__media {
    height: 150px !important;
    min-height: 150px !important;
  }
}

/* Final shop responsive overrides: keep product cards usable on every device. */
@media (max-width: 1366px) and (min-width: 993px) {
  .shop-layout {
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 24px !important;
  }
  .shop-main,
  .shop-topbar,
  .product-grid--shop { min-width: 0 !important; }
  .product-grid--shop { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .product-grid--shop .product-card__media,
  .product-card--shop .product-card__media {
    height: 280px !important;
    min-height: 280px !important;
  }
}

@media (max-width: 768px) {
  html, body { max-width: 100%; overflow-x: hidden; }
  .checkout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }
  .checkout-grid .summary-card {
    position: static !important;
    order: -1;
    padding: 20px !important;
  }
  .checkout-grid .form-card {
    min-width: 0 !important;
    padding: 22px 18px !important;
    border-radius: 20px !important;
  }
  .payment-option {
    align-items: flex-start !important;
    gap: 10px !important;
    padding: 13px 14px !important;
    line-height: 1.35;
  }
  .payment-option input { margin-top: 2px; flex: 0 0 auto; }
  .payment-option b { flex: 0 0 auto; }
  .payment-option span { min-width: 0; }
  .shop-layout { grid-template-columns: minmax(0, 1fr) !important; }
  .shop-main { min-width: 0 !important; width: 100% !important; }
  .shop-topbar__right {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .filter-toggle,
  .sort-dropdown,
  .sort-dropdown__btn {
    width: 100% !important;
    min-width: 0 !important;
  }
  .sort-dropdown__menu {
    right: 0 !important;
    left: auto !important;
    max-width: calc(100vw - 36px) !important;
  }
  .product-card--shop { height: 100%; }
  .product-card--shop .product-card__body {
    padding: 14px !important;
    gap: 7px !important;
  }
  .product-card--shop .price-block { margin-top: auto !important; }
  .product-card--shop .add-cart-btn--full {
    display: inline-flex !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 11px 10px !important;
    font-size: .82rem !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 576px) {
  .product-grid--shop {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  .product-grid--shop .product-card__media,
  .product-card--shop .product-card__media {
    height: 210px !important;
    min-height: 210px !important;
  }
  .product-card--shop .product-card__body { padding: 11px 12px 12px !important; gap: 6px !important; }
  .product-card--shop .product-card__cat { font-size: .58rem !important; gap: 5px !important; letter-spacing: .1em !important; }
  .product-card--shop .product-card__cat::before { width: 9px !important; }
  .product-card--shop .product-card__name { font-size: .82rem !important; line-height: 1.3 !important; min-height: 2.6em !important; }
  .product-card--shop .product-card__weight { font-size: .68rem !important; }
  .product-card--shop .rating-line { gap: 4px !important; font-size: .64rem !important; }
  .product-card--shop .stars svg { width: 11px !important; height: 11px !important; }
  .product-card--shop .product-card__foot { margin-top: 8px !important; gap: 6px !important; }
  .product-card--shop .price-block .price { font-size: .9rem !important; }
  .product-card--shop .price-block .old { display: inline !important; font-size: .68rem !important; margin-left: 4px !important; }
  .product-card--shop .add-cart-btn { width: 36px !important; height: 36px !important; border-radius: 11px !important; }
  .product-card--shop .add-cart-btn svg { width: 17px !important; height: 17px !important; }
  .product-card--shop .offer-badge {
    top: 7px !important;
    left: 7px !important;
    padding: 4px 7px !important;
    font-size: .58rem !important;
  }
  .product-card--shop .wishlist-btn {
    top: 7px !important;
    right: 7px !important;
    width: 32px !important;
    height: 32px !important;
  }
  .product-card--shop .wishlist-btn svg { width: 15px !important; height: 15px !important; }
  .pagination {
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin-top: 32px !important;
  }
  .pg-btn {
    min-width: 40px !important;
    height: 40px !important;
    padding: 0 13px !important;
    border-radius: 12px !important;
  }
}

@media (max-width: 390px) {
  .shop-topbar__right { grid-template-columns: 1fr !important; }
  .product-grid--shop .product-card__media,
  .product-card--shop .product-card__media {
    height: 185px !important;
    min-height: 185px !important;
  }
}

@media (max-width: 640px) {
  .glass-card--flour {
    position: static !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: min(340px, calc(100vw - 36px)) !important;
    max-width: calc(100vw - 36px) !important;
    margin: 12px auto 0 !important;
    transform: none !important;
  }
  .glass-card__item b {
    white-space: nowrap !important;
  }
}

@media (max-width: 360px) {
  .product-grid--shop {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  .product-grid--shop .product-card__media,
  .product-card--shop .product-card__media {
    height: 168px !important;
    min-height: 168px !important;
  }
  .product-card--shop .product-card__body { padding: 10px !important; }
  .product-card--shop .product-card__name { font-size: .78rem !important; }
  .product-card--shop .product-card__cat,
  .product-card--shop .rating-line,
  .product-card--shop .off-txt { font-size: .62rem !important; }
  .product-card--shop .price-block .price { font-size: .88rem !important; }
  .product-card--shop .add-cart-btn { width: 34px !important; height: 34px !important; border-radius: 10px !important; }
  .product-card--shop .add-cart-btn svg { width: 16px !important; height: 16px !important; }
}

/* Final single-product responsive layout pass */
@media (max-width: 1180px) {
  .pd-layout {
    grid-template-columns: minmax(0, 1fr) minmax(360px, .82fr) !important;
    gap: 34px !important;
  }
  .pd-stage { min-height: 460px !important; }
  .pd-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .pd-buy { grid-template-columns: 112px 1fr !important; }
  .pd-buy .btn--outline { grid-column: 2 !important; }
  .pd-trust { grid-template-columns: repeat(2, 1fr) !important; }
  .pd-recommended-section.products-slider .product-grid { grid-auto-columns: calc((100% - 32px) / 3) !important; }
}

@media (max-width: 900px) {
  .pd-layout {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  .pd-gallery { position: static !important; }
  .pd-gallery__inner { flex-direction: column !important; }
  .pd-stage {
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    padding: 18px !important;
  }
  .pd-info { padding-top: 0 !important; }
  .pd-benefits { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 10px !important; }
  .pd-benefit { min-height: 92px !important; font-size: .58rem !important; }
  .pd-benefit svg { width: 50px !important; height: 50px !important; padding: 10px !important; }
  .pd-faq-wrap { grid-template-columns: 1fr !important; gap: 22px !important; }
  .pd-review-section .pd-reviews__head {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
  .pd-rating-bars { width: 100% !important; min-width: 0 !important; }
}

@media (max-width: 640px) {
  .pd-layout { gap: 20px !important; }
  .pd-main {
    border-radius: 0 !important;
    margin-inline: calc(var(--container-pad) * -1) !important;
    width: calc(100% + (var(--container-pad) * 2)) !important;
  }
  .pd-stage { aspect-ratio: 1 / 1.06 !important; }
  .pd-thumb { flex-basis: 56px !important; width: 56px !important; height: 56px !important; }
  .pd-info h1 { font-size: 1.22rem !important; }
  .pd-rating-row { gap: 7px !important; font-size: .72rem !important; }
  .pd-desc { font-size: .8rem !important; line-height: 1.55 !important; }
  .pd-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .pd-variant-list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 8px !important; }
  .pd-variant { min-height: 70px !important; padding: 9px 6px !important; }
  .pd-variant b { font-size: .88rem !important; }
  .pd-buy { grid-template-columns: 1fr !important; }
  .pd-buy .btn--outline { grid-column: auto !important; }
  .pd-trust { grid-template-columns: repeat(2, 1fr) !important; }
  .pd-accordion summary { font-size: .74rem !important; padding: 16px 0 !important; }
  .pd-faq-section { padding: 44px 0 !important; }
  .pd-recommended-section.products-slider .product-grid { grid-auto-columns: calc((100% - 12px) / 2) !important; }
  .pd-reviews__head { align-items: flex-start !important; }
  .pd-review-search { justify-content: stretch !important; }
  .pd-rating-bars span {
    grid-template-columns: 42px minmax(80px, 1fr) 32px !important;
  }
  .pd-sticky {
    gap: 10px !important;
    padding: 9px 12px !important;
  }
  .pd-sticky img { width: 42px !important; height: 42px !important; }
  .pd-sticky .btn {
    flex: 0 0 auto !important;
    min-width: 138px !important;
    padding-inline: 14px !important;
    font-size: .72rem !important;
  }
}

/* Site-wide responsive hardening for small laptops, tablets, and narrow phones */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

img,
video,
canvas,
iframe {
  max-width: 100%;
}

.container,
.header-main,
.nav-inner,
.shop-layout,
.shop-main,
.shop-content,
.shop-topbar,
.product-grid,
.product-grid--shop,
.home-hero__inner,
.home-promo-banner,
.home-collection,
.home-recipe-grid,
.home-logo-strip,
.pd-layout,
.pd-main,
.pd-info,
.pd-review-section,
.pd-recommended-section,
.checkout-grid,
.footer__grid {
  min-width: 0;
}

.home-hero,
.home-hero__slide {
  height: clamp(360px, 32.3vw, 620px);
  min-height: 0;
}

.product-card,
.cat-card,
.rc-card,
.blog-card,
.testi-card,
.pd-panel,
.pd-stage,
.pd-accordion,
.shop-filter,
.shop-banner,
.glass-card--flour {
  max-width: 100%;
}

@media (max-width: 1280px) and (min-width: 993px) {
  :root { --container-pad: 18px; }

  .header-main {
    gap: 12px;
    padding-left: var(--container-pad);
    padding-right: var(--container-pad);
  }

  .logo__img--header {
    width: 150px;
    max-height: 54px;
  }

  .header-nav .nav-links {
    gap: 2px;
  }

  .header-nav .nav-links > li > a {
    padding: 9px 8px;
    font-size: .76rem;
    white-space: nowrap;
  }

  .header-actions {
    gap: 5px;
  }

  .header-actions .act {
    width: 38px;
    height: 38px;
  }

  .mega-menu {
    min-width: min(640px, calc(100vw - 36px)) !important;
    max-width: calc(100vw - 36px) !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .cat-mega {
    width: min(900px, calc(100vw - 36px)) !important;
    max-width: calc(100vw - 36px) !important;
  }

  .cat-mega__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .shop-layout {
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  .shop-filter {
    padding: 20px !important;
  }

  .product-grid--shop {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  .product-grid--shop .product-card__media,
  .product-card--shop .product-card__media {
    height: 250px !important;
    min-height: 250px !important;
  }

  .product-card--shop .product-card__body {
    padding: 12px 12px 14px !important;
  }

  .product-card--shop .product-card__name {
    font-size: .88rem !important;
  }

  .shop-banner__grid {
    gap: 24px !important;
  }

  .shop-banner__title {
    font-size: clamp(2rem, 4vw, 3.1rem) !important;
  }

  .glass-card--flour {
    max-width: min(390px, calc(100vw - 36px)) !important;
    gap: 8px 14px !important;
  }

  .glass-card__item b {
    white-space: normal !important;
  }

  .home-service-row__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .home-service-row__grid span {
    padding-left: 14px !important;
    padding-right: 14px !important;
    min-height: 86px !important;
  }

  .home-service-row__grid svg {
    width: 28px !important;
    height: 28px !important;
  }
}

@media (max-width: 1100px) {
  .header-nav,
  .header-search {
    display: none !important;
  }

  .burger {
    display: flex !important;
  }

  .header-main {
    justify-content: space-between;
  }

  .home-hero__inner {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  .home-hero__products {
    max-width: 640px;
  }

  .pd-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 920px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .pd-gallery {
    position: static !important;
  }

  .pd-stage {
    min-height: 0 !important;
    aspect-ratio: 1 / .9 !important;
  }
}

@media (max-width: 992px) {
  .container,
  .page-hero__inner,
  .shop-section,
  .pd-shell,
  .checkout-shell {
    width: 100%;
    max-width: 100%;
  }

  .home-service-row__grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
  }

  .home-service-row__grid span {
    min-width: 0 !important;
    border-right: 1px solid var(--border-soft) !important;
    border-bottom: 0 !important;
    min-height: 84px !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .home-service-row__grid span:last-child {
    grid-column: auto;
    border-right: 0 !important;
  }
}

@media (max-width: 768px) {
  .shop-topbar,
  .shop-topbar__right,
  .filter-actions,
  .footer__grid,
  .pd-buy {
    width: 100%;
    max-width: 100%;
  }

  .shop-topbar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .shop-topbar__right {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  .filter-toggle,
  .sort-dropdown,
  .sort-dropdown__btn {
    width: 100% !important;
    min-width: 0 !important;
  }

  .sort-dropdown__menu {
    left: 0 !important;
    right: auto !important;
    width: min(100%, 260px) !important;
    min-width: 0 !important;
  }
}

@media (max-width: 576px) {
  .container {
    width: 100%;
    max-width: 100%;
    padding-left: var(--container-pad);
    padding-right: var(--container-pad);
  }

  .home-logo-strip {
    grid-template-columns: repeat(2, minmax(0, 118px)) !important;
    gap: 14px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .home-logo-strip .home-trust-badge {
    height: 96px !important;
    overflow: visible !important;
  }

  .home-logo-strip .home-trust-badge img {
    width: 88px !important;
    height: 88px !important;
  }

  .home-promo-banner,
  .home-collection__copy {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (max-width: 380px) {
  :root { --container-pad: 12px; }

  .header-actions .act {
    width: 31px !important;
    height: 31px !important;
  }

  .logo__img--header {
    width: 132px !important;
  }

  .shop-topbar__right {
    grid-template-columns: 1fr !important;
  }

  .product-card--shop .add-cart-btn--full {
    font-size: .72rem !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  .home-service-row__grid {
    grid-template-columns: 1fr !important;
  }

  .home-service-row__grid span {
    border-right: 0 !important;
    border-bottom: 1px solid var(--border-soft) !important;
  }

  .home-service-row__grid span:last-child {
    grid-column: auto;
    border-bottom: 0 !important;
  }
}

/* Mobile hero banner visibility */
@media (max-width: 768px) {
  .home-hero,
  .home-hero__slide {
    height: min(128vw, 760px) !important;
    min-height: 480px !important;
    max-height: 760px !important;
  }

  .home-hero__slide {
    background-image: var(--hero-mobile-bg, var(--hero-bg)) !important;
    background-color: #F4F1EA !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  .home-hero__link {
    z-index: 2;
  }

  .home-hero__arrow {
    display: grid !important;
    z-index: 6;
    width: 34px !important;
    height: 34px !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 8px 22px rgba(44,38,26,.18) !important;
  }

  .home-hero__arrow--prev {
    left: 10px !important;
    right: auto !important;
  }

  .home-hero__arrow--next {
    right: 10px !important;
  }

  .recipe-hero__frame {
    height: min(128vw, 760px) !important;
    min-height: 480px !important;
    max-height: 760px !important;
  }

  .recipe-hero__slide {
    min-height: 100% !important;
    background-image: var(--recipe-mobile-bg, var(--recipe-bg)) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }
}

@media (max-width: 576px) {
  .home-hero,
  .home-hero__slide {
    height: calc(100vw * 1.6) !important;
    min-height: 520px !important;
    max-height: 720px !important;
  }

  .recipe-hero {
    padding-top: 16px !important;
    padding-bottom: 28px !important;
  }

  .recipe-hero__frame {
    height: calc(100vw * 1.6) !important;
    min-height: 520px !important;
    max-height: 720px !important;
    border-radius: 14px !important;
  }
}

@media (max-width: 380px) {
  .home-hero,
  .home-hero__slide {
    height: calc(100vw * 1.6) !important;
    min-height: 500px !important;
    max-height: 610px !important;
  }

  .home-hero__arrow {
    width: 30px !important;
    height: 30px !important;
  }

  .recipe-hero__frame {
    height: calc(100vw * 1.6) !important;
    min-height: 500px !important;
    max-height: 610px !important;
  }
}

@media (max-width: 576px) {
  body { padding-bottom: 82px; }
  .site-header { z-index: 120; }
  .header-main {
    min-height: 50px !important;
    padding: 8px 12px !important;
    display: grid !important;
    grid-template-columns: 36px minmax(82px, 1fr) auto !important;
    gap: 6px !important;
  }
  .burger {
    width: 36px !important;
    height: 36px !important;
    padding: 8px !important;
  }
  .header-main .logo {
    justify-self: center !important;
    min-width: 0 !important;
  }
  .logo__img--header {
    width: 104px !important;
    max-height: 34px !important;
  }
  .header-actions {
    justify-self: end !important;
    display: flex !important;
    gap: 3px !important;
  }
  .header-actions .act {
    width: 32px !important;
    height: 32px !important;
    display: grid !important;
    border: 1px solid var(--border-soft) !important;
    background: #fff !important;
  }
  .header-actions .act svg {
    width: 17px !important;
    height: 17px !important;
  }
  .mobile-app-nav {
    display: grid !important;
  }
}
