@media (min-width: 1024px) {
  :root { --gap: 52px; }
  .section-head h2, .brands-band h2 { font-size: 24px; }
  .product-media { height: 210px; }
  .cat-slide { width: 108px; }
  .cat-slide img { width: 92px; height: 92px; }
  .brand-swiper .swiper-slide { width: 218px; }
  .product-swiper .swiper-slide { width: 210px; }
  .brands-band { padding: 48px 0 50px; }
  .hero-swiper { aspect-ratio: 1920 / 500; }
  .bleed img { aspect-ratio: 1920 / 500; }
  .offers { grid-template-columns: repeat(4, 1fr); }
  .footer-grid { grid-template-columns: 1.3fr 1.3fr 1fr 0.9fr; align-items: start; }
  .footer-cats { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 40px 16px; margin-top: 0; padding: 32px 0; }
  .footer-cats h2, .footer-cats .acc-btn { font-size: 13px; font-weight: 600; color: #424242; margin-bottom: 8px; }
  .footer-cats .foot-links { gap: 16px; }
  .footer-cats .foot-links a { font-size: 11px; line-height: 13px; color: #424242; }
  .footer-cats .foot-acc, .footer-grid .foot-acc { border-bottom: 0; }
  .footer-grid { padding-bottom: 24px; border-bottom: 1px solid #f4f4f4; }
  .footer-grid h2 { font-size: 15px; font-weight: 600; }
  .foot-acc .acc-panel { display: grid; gap: 8px; background: transparent; padding: 0; }
  .foot-acc .acc-btn .chev, .foot-mobile-only { display: none; }
  .demo-hero { grid-template-columns: 320px 1fr; align-items: center; }
  .cookie { left: 50%; right: auto; width: min(720px, calc(100% - 32px)); transform: translateX(-50%); }
  .ask { bottom: 24px; }
}

@media (max-width: 1023px) {
  [id] { scroll-margin-top: calc(var(--header-mobile) + 12px); }
  .has-back-header [id] { scroll-margin-top: 72px; }
  /* Toasts sit above the floating bars instead of covering their buttons. */
  .is-pdp .toast, .cart-has-items .toast, .is-plp .toast { bottom: calc(var(--bottom-nav) + 82px); }
  .foot-acc:not(.is-open) .acc-panel { display: none; }
  .foot-acc { border-bottom: 1px solid #eee; }
  .footer-band .legal-row { display: none; }
  .cat-slide img { width: 72px; height: 72px; }
  .foot-acc .acc-btn { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; font-size: 15px; font-weight: 700; }
  .foot-acc .acc-btn .chev svg { display: none; }
  .foot-acc .acc-btn .chev::before { content: "+"; font-size: 24px; font-weight: 300; line-height: 1; }
  .foot-acc.is-open .acc-btn .chev::before { content: "\2212"; }
  .footer-band-in { flex-direction: column; align-items: flex-start; }
  .desktop-only { display: none !important; }
  .mobile-header { display: block; }
  .site-header { background: var(--blue); }
  .bottom-nav { display: flex; }
  body { padding-bottom: var(--bottom-nav); }
  .cookie { bottom: calc(var(--bottom-nav) + 8px); }
  .toast { bottom: calc(var(--bottom-nav) + 16px); }
  .overlay { display: none; }
  .footer-cats { margin-top: 8px; }
  .slider-btn { display: none; }
}

@media (min-width: 1024px) {
  .mobile-only { display: none !important; }
}

/* Single product: mobile */
@media (max-width: 1023px) {
  .has-back-header .mobile-header { background: #fff; min-height: 0; }
  .has-back-header .mobile-header .m-ship, .has-back-header .mobile-header .m-row { display: none; }
  .has-back-header .m-pdp-row { display: flex; align-items: center; gap: 12px; padding: 8px 12px; }
  .m-back { width: 24px; height: 24px; color: var(--primary-ink); flex: none; display: grid; place-items: center; }
  .m-back svg { width: 24px; height: 24px; }
  .has-back-header .m-pdp-row .search-form input { height: 40px; border-radius: 8px; }
  .has-back-header .site-header { box-shadow: 0 1px 0 #eee; }

  .pdp { padding-top: 0; }
  .pdp .wrap { width: 100%; }
  .crumbs { display: none; }
  .pdp-layout, .pdp-main, .pdp-info, .pdp-side { display: contents; }
  .pdp-brand, .pdp-title, .pdp-price, .pdp-meta, .pdp-buy, .pdp-details, .pdp-features, .pdp-help, .pdp-about, .pdp-reviews { margin-inline: 12px; }
  .pdp .wrap { display: flex; flex-direction: column; }
  .pdp-gallery { order: 1; margin: 0 !important; background: #fff; padding: 16px 12px; }
  .pdp-brand { order: 2; align-self: flex-start; margin-top: 16px; }
  .pdp-title { order: 3; font-size: 15px; line-height: 22px; margin-bottom: 8px; }
  .pdp-price { order: 4; }
  .pdp-meta { order: 5; }
  .pdp-buy { order: 6; padding: 12px; }
  .pdp-buy .pdp-ship { margin: 0; }
  .pdp-buy .pdp-add { display: none; }
  .pdp-details { order: 7; margin-top: 16px; background: #fff; }
  .pdp-features { order: 8; margin-top: 16px; display: grid; grid-template-columns: repeat(3, 1fr); padding: 16px 0; }
  .pdp-features li { height: auto; flex-direction: column; text-align: center; border: 0; padding: 0 8px; }
  .pdp-help { order: 9; margin-top: 16px; }
  .pdp-help .chev { transform: rotate(-90deg); }
  .pdp-about { order: 10; }
  .pdp-reviews { order: 11; }
  .pdp-about, .pdp-reviews { margin-top: 32px; }
  .pdp-about h2, .pdp-reviews > h2 { font-size: 20px; }

  .pdp-actions { top: auto; bottom: 40px; inset-inline-end: 12px; }
  .pdp-swiper img { height: 260px; }
  .pdp-swiper .swiper-pagination { display: block; position: static; margin-top: 8px; text-align: start; }
  .pdp-swiper .swiper-pagination-bullet { width: 12px; height: 3px; border-radius: 2px; background: #bdbdbd; opacity: 1; margin: 0 2px !important; }
  .pdp-swiper .swiper-pagination-bullet-active { background: var(--blue); }
  .pdp-thumbs { display: none; }

  .rev-summary { flex-direction: column; align-items: stretch; gap: 16px; padding: 16px; }
  .rev-score, .rev-bars { display: none; }
  .rev-mobile { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #757575; }
  .rev-mobile span:nth-child(2) { color: var(--primary-ink); font-weight: 700; }
  .rev-mobile .sep { width: 1px; height: 16px; background: #bdbdbd; }
  .rev-write { margin: 0; width: 100%; height: 42px; }
  .rev-all { display: none; }
  .rev-item { margin-top: 12px; border-radius: 10px; padding: 16px; display: flex; flex-direction: column; }
  .rev-item .rev-by { display: contents; }
  .rev-item .stars { order: 1; margin-bottom: 8px; }
  .rev-item h4 { order: 2; }
  .rev-item p { order: 3; }
  .rev-item .rev-author { order: 4; margin-top: 12px; padding-top: 12px; border-top: 1px solid #eee; font-size: 11px; }
  .rev-card { background: none; overflow: visible; }
  .rev-summary { background: #fff; border-radius: 10px; }
  .rev-item { background: #fff; }

  .pdp-sticky { display: block; position: fixed; inset-inline: 0; bottom: var(--bottom-nav); z-index: var(--z-sticky-bar); padding: 8px 12px; background: #fff; box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06); }
  .is-pdp { padding-bottom: calc(var(--bottom-nav) + 66px); }
}

/* Product listing: tablet and mobile */
@media (max-width: 1199px) {
  .plp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .chips-arrow { inset-inline-end: 0; }
}
@media (max-width: 1023px) {
  .plp { padding: 12px 0 96px; }
  .plp .crumbs, .plp-titlebar h1, .plp-sort > .sort-btn, .chips-arrow { display: none; }
  .plp-top { order: 2; margin-bottom: 12px; }
  .plp .wrap { display: flex; flex-direction: column; }
  .plp-chips-wrap { order: 1; margin-bottom: 12px; }
  .plp-layout { order: 3; display: block; }
  .plp-count { border: 0; padding: 0; }
  .plp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .plp-grid.is-list .product-card { grid-template-columns: 120px 1fr; column-gap: 12px; }
  .plp-filters { display: none; }
  .plp-filters.is-open { display: flex; flex-direction: column; position: fixed; inset: 0; z-index: var(--z-sheet); border-radius: 0; overflow: auto; }
  .plp-filters .pf-clear-row { display: none; }
  .sheet-head { display: flex; align-items: center; justify-content: space-between; padding: 16px; border-bottom: 1px solid #f0f0f0; font-size: 16px; position: sticky; top: 0; background: #fff; z-index: 1; }
  .sheet-head button { background: none; border: 0; font-size: 18px; color: #424242; }
  .sheet-foot { margin-top: auto; position: sticky; bottom: 0; display: grid; grid-template-columns: 1fr 2fr; gap: 12px; padding: 12px 16px; background: #fff; box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06); }
  .sheet-foot button { height: 46px; border-radius: 6px; font-size: 14px; font-weight: 700; }
  .sheet-foot .ghost { background: #fff; border: 1px solid var(--blue); color: var(--primary-ink); }
  .sheet-foot .primary { background: var(--blue); border: 0; color: #fff; }
  .sort-menu:not([hidden]) { position: fixed; inset: auto 0 0; top: auto; z-index: var(--z-sheet-top); min-width: 0; border-radius: 16px 16px 0 0; padding: 0 0 16px; }
  .sort-menu [data-sort] { padding: 14px 16px; font-size: 14px; border-bottom: 1px solid #f5f5f5; }
  .plp-fab { display: flex; align-items: center; gap: 8px; position: fixed; bottom: calc(var(--bottom-nav) + 16px); inset-inline: 12px; z-index: var(--z-fab); pointer-events: none; }
  .plp-fab > * { pointer-events: auto; }
  .plp-fab-pill { margin-inline: auto; display: flex; align-items: center; height: 36px; padding: 0 6px; border-radius: 20px; background: var(--blue); color: #fff; box-shadow: 0 4px 12px rgba(106, 168, 79, 0.35); }
  .plp-fab-pill button { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; color: #fff; font-size: 12px; font-weight: 600; padding: 0 10px; }
  .plp-fab-pill svg { width: 16px; height: 16px; }
  .plp-fab-pill .sep { width: 1px; height: 18px; background: rgba(255, 255, 255, 0.4); }
  .plp-fab-count { position: absolute; inset-inline-start: 0; width: 40px; height: 40px; border-radius: 50%; background: var(--blue); color: #fff; font-size: 10px; display: grid; place-content: center; text-align: center; line-height: 1.2; }
  .plp-fab-count b { display: block; border-bottom: 1px solid rgba(255, 255, 255, 0.5); font-weight: 700; }
  .sheet-open { overflow: hidden; }
  .pager { margin-top: 24px; }
}

/* Cart: mobile */
@media (max-width: 1023px) {
  .m-title-row { justify-content: space-between; }
  .m-title { flex: 1; text-align: center; font-size: 16px; font-weight: 400; color: #000; }
  .m-help img { width: 20px; height: 24px; object-fit: contain; }
  .is-cart .crumbs, .cart-head { display: none; }
  .cart-page { padding-top: 12px; }
  .cart-layout { grid-template-columns: 1fr; }
  .cart-line { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; padding: 12px; }
  .cart-line-img img { width: 80px; height: 80px; }
  .cart-line-side { grid-column: 2; display: flex; align-items: center; justify-content: space-between; }
  .cart-summary { position: static; }
  .cart-summary .cart-checkout { display: none; }
  .cart-has-items .cart-bar { display: flex; align-items: center; gap: 16px; position: fixed; inset-inline: 0; bottom: var(--bottom-nav); z-index: var(--z-sticky-bar); padding: 10px 12px; background: #fff; box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06); }
  .cart-bar div { display: grid; }
  .cart-bar small { font-size: 11px; color: #757575; }
  .cart-bar strong { font-size: 16px; white-space: nowrap; }
  .cart-bar button { flex: 1; height: 46px; }
  .cart-has-items { padding-bottom: calc(var(--bottom-nav) + 70px); }
  .ask { bottom: calc(var(--bottom-nav) + 76px); }
}

/* Login: mobile */
@media (max-width: 1023px) {
  .is-login::before { display: none; }
  .auth-header { height: auto; padding: 24px 24px 0; grid-template-columns: 1fr auto; align-items: start; color: #242424; }
  .auth-close { grid-column: 2; grid-row: 1; justify-self: end; width: 32px; height: 32px; color: #424242; display: grid; place-items: center; }
  .auth-close svg { width: 28px; height: 28px; }
  .auth-mark { width: 140px; height: 130px; object-fit: contain; grid-column: 1; grid-row: 1; justify-self: start; }
  .auth-main { padding: 140px 0 40px; justify-items: stretch; }
  .auth-card { width: 100%; background: none; padding: 24px; }
}

/* Wishlist: tablet and mobile */
@media (max-width: 1199px) { .wish-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1023px) {
  .is-wish .crumbs, .wish-head h1, .wish-head > div span { display: none; }
  .wish-page { padding-top: 12px; }
  .wish-head { justify-content: flex-start; }
  .wish-tools { width: 100%; }
  .wish-tools button { flex: 1; }
  .wish-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .wish-note { flex-direction: column; align-items: flex-start; }
}

/* Checkout and account: mobile */
@media (max-width: 1023px) {
  .co-header-in { height: 56px; }
  .co-back span { display: none; }
  .co-logo img { width: 84px; height: 40px; }
  .co-page { padding: 12px 0 calc(var(--bottom-nav) + 20px); }
  .co-layout { grid-template-columns: 1fr; }
  .co-summary { position: static; }
  .co-summary .cart-checkout { display: none; }
  .co-bar { display: flex; align-items: center; gap: 16px; position: fixed; inset-inline: 0; bottom: 0; z-index: var(--z-sticky-bar); padding: 10px 12px; background: #fff; box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06); }
  .co-days, .co-slots { grid-template-columns: repeat(2, 1fr); }
  .f-grid, .ac-grid { grid-template-columns: 1fr; }
  .co-step, .ac-box { padding: 16px; }

  .is-account .crumbs { display: none; }
  .ac-page { padding-top: 12px; }
  .ac-layout { grid-template-columns: 1fr; }
  .ac-side { position: static; }
  .ac-show-panel .ac-side { display: none; }
  body:not(.ac-show-panel) .ac-panel { display: none; }
  .ac-panel h1 { font-size: 20px; }
  .timeline li { font-size: 10px; }
  .reorder-row { grid-template-columns: 56px 1fr; }
  .reorder-row .wish-add { grid-column: 1 / -1; }
}

/* Narrow desktops: slider arrows stay inside the 16px page gutter. */
@media (min-width: 1024px) and (max-width: 1279px) {
  .nav-host > .swiper-button-prev { right: -12px; }
  .nav-host > .swiper-button-next { left: -12px; }
}
