
:root {
  --store-bg: #f5f6f8;
  --store-panel: #ffffff;
  --store-panel-strong: #ffffff;
  --store-text: #1f2933;
  --store-text-strong: #1f2933;
  --store-text-inverse: #ffffff;
  --store-muted: #5f6b79;
  --store-line: #d7dfe7;
  --store-accent: #d66b1f;
  --store-accent-hover: #c25e1a;
  --store-accent-2: #0c5a6b;
  --store-accent-soft: #fff3ea;
  --store-nav-bg: #ffffff;
  --store-nav-text: #1f2933;
  --store-nav-text-muted: #5f6b79;
  --store-page-bg: #f5f6f8;
  --store-header-bg: #f5f6f8;
  --store-search-bg: #ffffff;
  --store-tile-bg: #ffffff;
  --store-border: rgba(31,41,51,0.12);
  --store-border-strong: #d7dfe7;
  --store-card-bg: #ffffff;
  --store-section-alt: #f8fafc;
  --store-surface-alt: #ffffff;
  --store-surface-subtle: #f8fafc;
  --store-input-bg: #ffffff;
  --store-success: #2a9e62;
  --store-danger: #c0392b;
  --store-shadow: 0 12px 28px rgba(26,29,35,0.08);
  --store-shadow-soft: 0 8px 20px rgba(15, 23, 42, 0.05);
  --store-card-radius: 20px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Source Sans 3",sans-serif;color:var(--store-text);background:var(--store-page-bg)}
a{color:inherit;text-decoration:none}
::selection{background:rgba(214,107,31,0.26);color:#1a1d23;-webkit-text-fill-color:#1a1d23}
.store-promo-strip ::selection,
.store-utility-nav ::selection,
.store-nav ::selection,
.store-footer ::selection{background:rgba(255,255,255,0.22);color:#fff;-webkit-text-fill-color:#fff}
.store-app-shell{min-height:100vh}
.store-header{position:relative;z-index:30;background:var(--store-header-bg);border-bottom:1px solid var(--store-border-strong);overflow:visible}
.store-promo-strip{position:relative;z-index:200;background:var(--store-promo-bg);color:var(--store-promo-text);text-align:center;padding:0.5rem;font-size:0.82rem;border-bottom:1px solid var(--store-border-strong)}
.store-topbar-inner,.store-brandbar-inner,.store-nav,.storefront-wrap{width:min(1380px,calc(100vw - 32px));margin:0 auto;position:relative;z-index:1}
.store-topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:0.5rem 0}
.store-utility-nav{display:flex;align-items:center;gap:1.2rem}
.store-utility-item{font-size:0.84rem;font-weight:700;color:var(--store-accent)}
.store-utility-link{color:var(--store-accent)}
.store-utility-link:hover{color:#b85b18}
.store-utility-deal{color:var(--store-accent)}
.store-utility-cart{color:var(--store-accent)}
.store-brandbar{padding:0.9rem 0}
.store-brandbar-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.store-brand-lockup{display:flex;align-items:center;gap:1rem}
.store-brandmark{display:flex;align-items:center}
.store-brand-logo{max-height:52px;width:auto}
.store-header-search{display:flex;align-items:center;gap:0.5rem;flex:1;max-width:420px}
.store-header-search input{flex:1;padding:0.55rem 0.85rem;border-radius:999px;border:1px solid var(--store-border-strong);background:var(--store-search-bg);color:var(--store-text);font-size:0.9rem;outline:none}
.store-header-search input::placeholder{color:var(--store-muted)}
.store-header-search button{padding:0.55rem 1rem;border-radius:999px;border:none;background:var(--store-accent);color:var(--store-text-inverse);font-weight:700;font-size:0.85rem;cursor:pointer}
.store-nav{border-top:0}
.store-nav-bar{display:flex;flex-direction:row;align-items:stretch;justify-content:center;gap:0;flex-wrap:wrap}
.store-nav-item,.store-nav-item-group{position:relative;flex:0 0 auto;display:flex;align-items:center}
a.store-nav-item,.store-nav-item>.store-nav-link,.store-nav-item-group>a{display:flex;align-items:center;padding:0.9rem 0.85rem;color:var(--store-nav-text);text-decoration:none;text-transform:uppercase;font-weight:700;font-size:0.78rem;letter-spacing:0.06em;white-space:nowrap}
.store-nav-item.active,.store-nav-item-group.active{color:var(--store-text-inverse);background:var(--store-accent)}
.store-nav-item:hover,.store-nav-item-group:hover,.store-nav-item-group:focus-within,.store-nav-item-group.open{color:var(--store-nav-text);background:var(--store-accent-soft)}
.store-nav-item.active>a,.store-nav-item.active>.store-nav-link,a.store-nav-item.active{color:var(--store-text-inverse)!important}
.store-nav-item.active .store-nav-toggle{color:var(--store-text-inverse)!important}
.store-nav-toggle{border:0;background:transparent;color:var(--store-nav-text-muted);padding:0.15rem 0.45rem 0.15rem 0.1rem;cursor:pointer;font-size:0.7rem}
.store-nav-toggle:hover{color:var(--store-accent)}
.store-nav-submenu{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--store-card-bg);border:1px solid var(--store-border-strong);border-radius:0 0 12px 12px;z-index:100;padding:0.5rem 0;box-shadow:0 18px 30px rgba(17,24,39,0.16)}
.store-nav-item-group:hover .store-nav-submenu,.store-nav-item-group:focus-within .store-nav-submenu,.store-nav-item-group.open .store-nav-submenu{display:block}
.store-nav-submenu-link{display:block;padding:0.6rem 1rem;color:var(--store-text);font-size:0.82rem;font-weight:700}
.store-nav-submenu-link:hover{color:var(--store-accent);background:var(--store-surface-subtle)}
.store-mobile-utility-nav{display:none}
.store-mobile-toggle{display:none;background:none;border:none;color:var(--store-text);font-size:1.4rem;cursor:pointer;padding:0.5rem}
.storefront-wrap{padding:1.5rem 0}
.store-kicker{display:inline-block;text-transform:uppercase;letter-spacing:0.16em;font-size:0.74rem;font-weight:700;color:var(--store-accent)}
.section-heading{margin-bottom:1rem}
.section-heading h2{margin:0.2rem 0 0;font-size:clamp(2rem,5vw,3.15rem);font-family:"Teko",sans-serif;line-height:0.95;letter-spacing:0.02em;color:var(--store-text);padding-bottom:0.4rem;border-bottom:3px solid var(--store-accent);display:inline-block}
.store-section-title{color:var(--store-text)}
.section-heading p{margin:0.55rem 0 0;max-width:60rem;color:var(--store-muted);font-size:1rem;line-height:1.55}
.section-heading.compact h2{font-size:clamp(1.8rem,4vw,2.6rem)}
.store-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 1.35rem;border-radius:999px;background:var(--store-accent);color:var(--store-text-inverse) !important;font-weight:800;font-size:0.9rem;letter-spacing:0.04em;text-decoration:none;border:none;cursor:pointer;transition:background 0.15s}
.store-cta:hover{background:var(--store-accent-hover);color:var(--store-text-inverse) !important}
.store-cta.ghost{background:transparent;border:1.5px solid var(--store-border);color:var(--store-text) !important}
.store-cta.ghost:hover{background:var(--store-accent-soft);border-color:var(--store-accent)}
.product-card{display:flex;flex-direction:column;height:100%;overflow:hidden;border-radius:var(--store-card-radius);border:1px solid var(--store-border);background:var(--store-card-bg);box-shadow:var(--store-shadow);transition:transform 0.18s,box-shadow 0.18s,border-color 0.18s}
.product-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(18,22,24,0.16),0 0 0 1px rgba(214,107,31,0.2)}
.product-card-media{display:flex;align-items:center;justify-content:center;height:clamp(160px,14vw,220px);padding:0.8rem;overflow:hidden;background:var(--store-surface-subtle);border-radius:var(--store-card-radius) var(--store-card-radius) 0 0}
.product-card-media img{width:100%;height:100%;object-fit:contain;display:block}
.product-card-body{display:flex;flex-direction:column;gap:0.5rem;padding:0.85rem 1rem;flex:1}
.product-card-title{text-decoration:none;font-size:0.97rem;line-height:1.3;font-weight:700;color:var(--store-text)}
.product-card-title:hover{color:var(--store-accent)}
.product-card-variant{margin:0;color:var(--store-muted);font-size:0.82rem;font-weight:700;line-height:1.25}
.product-card-meta{display:flex;gap:0.65rem;flex-wrap:wrap;margin:0;color:var(--store-muted);font-size:0.82rem}
.product-card-meta span::after{content:"•";margin-left:0.65rem;color:var(--store-border)}
.product-card-meta span:last-child::after{content:"";margin:0}
.product-card-deal{margin:-0.1rem 0 0;color:var(--store-accent);font-size:0.96rem;font-weight:600}
.product-card-badges{display:flex;gap:0.45rem;flex-wrap:wrap}
.product-badge,.stock-pill{display:inline-flex;align-items:center;min-height:32px;padding:0 0.7rem;border-radius:999px;font-size:0.82rem;font-weight:700}
.product-badge{background:var(--store-surface-subtle);color:var(--store-muted);border:1px solid var(--store-border-strong)}
.product-badge.deal{background:rgba(214,107,31,0.12);color:#d66b1f}
.product-badge.sale{background:rgba(31,122,67,0.12);color:#1f7a43;border-color:rgba(31,122,67,0.18)}
.stock-pill{background:var(--store-section-alt);color:var(--store-muted)}
.stock-pill.in-stock{background:rgba(22,163,74,0.12);color:#15803d}
.stock-pill.out-of-stock{background:rgba(220,38,38,0.1);color:#dc2626}
.product-card-footer{display:flex;flex-direction:column;align-items:flex-start;gap:0.35rem;margin-top:auto}
.product-card-footer .store-cta{width:100%;margin-top:0.35rem}
.product-card-price-label{text-transform:uppercase;letter-spacing:0.04em;font-size:0.74rem;font-weight:800;color:var(--store-muted)}
.product-card-price-label{display:block}
.product-card-summary strong{display:block;color:var(--store-text);font-size:0.9rem;line-height:1.2}
.product-card-price-value{display:block;font-size:1.2rem;font-weight:800;color:var(--store-accent)}
.product-card-price-row{display:flex;align-items:baseline;gap:0.45rem;flex-wrap:wrap}
.product-card-price-value.is-sale{color:var(--store-accent)}
.product-card-sale-percent{font-size:0.82rem;font-weight:800;color:#1f7a43;text-transform:uppercase;letter-spacing:0.04em}
.product-card-regular-price{display:block;font-size:0.78rem;color:var(--store-muted)}
.product-card-availability strong{display:block;font-weight:800;font-size:1.5rem;font-family:"Teko",sans-serif}
.product-card-placeholder{height:100%;display:grid;place-items:center;text-align:center;padding:1rem;color:rgba(30,36,40,0.4);font-family:"Teko",sans-serif;font-size:2rem;letter-spacing:0.04em}
.category-card-grid,.product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.home-product-grid{grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1.1rem}
.deal-filter-bar{display:flex;gap:0.65rem;flex-wrap:wrap;margin:0 0 1rem}
.deal-filter-chip{display:inline-flex;align-items:center;min-height:40px;padding:0 1rem;border-radius:999px;border:1px solid var(--store-border);background:var(--store-card-bg);color:var(--store-text);text-decoration:none;font-weight:700;font-size:0.88rem;transition:border-color 0.15s,background 0.15s,color 0.15s}
.deal-filter-chip:hover{border-color:rgba(214,107,31,0.4);color:var(--store-accent);background:rgba(214,107,31,0.07)}
.deal-filter-chip.active{background:rgba(214,107,31,0.15);color:#d66b1f;border:1px solid #d66b1f}
.merch-section{padding:1.5rem;border-radius:30px;border:1px solid var(--store-border);box-shadow:var(--store-shadow)}
.merch-section-primary,.merch-section-slate,.merch-section-dark{background:var(--store-card-bg);border-color:var(--store-border)}
.merch-section-slate .section-heading p,.merch-section-slate .store-kicker,
.merch-section-dark .section-heading p,.merch-section-dark .store-kicker,
.merch-section-primary .section-heading p,.merch-section-primary .store-kicker{color:var(--store-muted)}
.merch-heading{display:flex;justify-content:space-between;gap:1rem;align-items:end}
.merch-heading h2{padding-bottom:0.4rem;border-bottom:3px solid var(--store-accent);display:inline-block}
.section-action-link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 1.25rem;border-radius:999px;border:1px solid var(--store-border);color:var(--store-text);text-decoration:none;font-weight:700;font-size:0.9rem;letter-spacing:0.03em;white-space:nowrap;transition:border-color 0.18s,background 0.18s}
.section-action-link:hover{border-color:var(--store-accent);color:var(--store-accent);background:rgba(214,107,31,0.08)}
.daily-specials-shell{display:grid;gap:1rem}
.daily-specials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.daily-special-card{display:grid;grid-template-rows:1fr auto;border:1px solid var(--store-border);border-radius:28px;overflow:hidden;background:var(--store-card-bg);color:var(--store-text);text-decoration:none;box-shadow:var(--store-shadow);transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;height:100%}
.daily-special-card:hover{transform:translateY(-3px);border-color:rgba(214,107,31,0.2);box-shadow:0 24px 48px rgba(14,18,22,0.14)}
.daily-special-media{display:grid;align-items:center;justify-items:center;padding:1.5rem;min-height:clamp(240px,22vw,320px);aspect-ratio:4/3;overflow:hidden;background:#f4f5f6}
.daily-special-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.daily-special-body{display:grid;align-content:start;gap:0.45rem;padding:1.2rem 1.25rem 1.3rem}
.daily-special-type{font-size:0.72rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--store-accent);line-height:1}
.daily-special-card strong{line-height:1.1;font-size:clamp(1.4rem,2vw,1.9rem);font-weight:800;color:var(--store-text)}
.daily-special-meta{display:flex;flex-wrap:wrap;gap:0.35rem 0.6rem;margin:0.1rem 0}
.daily-special-meta span{font-size:0.82rem;color:var(--store-muted);background:var(--store-section-alt);padding:0.15rem 0.5rem;border-radius:4px;font-weight:500}
.daily-special-deal-note{color:var(--store-muted);font-size:0.9rem;line-height:1.4}
.daily-special-card small{color:var(--store-muted);font-size:0.98rem;line-height:1.5}
.daily-special-footer{display:flex;justify-content:space-between;align-items:center;gap:0.85rem;margin-top:0.5rem;padding-top:0.75rem;border-top:1px solid var(--store-border)}
.daily-special-price-block{display:flex;flex-direction:column;gap:0.2rem}
.daily-special-price{color:var(--store-accent);font-size:2rem;font-weight:800;line-height:1;font-family:"Teko",sans-serif;letter-spacing:0.02em}
.daily-special-footer em{color:var(--store-muted);font-style:normal;font-size:0.82rem;line-height:1.3}
.daily-special-cta{display:inline-flex;align-items:center;padding:0.55rem 1.1rem;border-radius:999px;background:var(--store-accent);color:#fff!important;font-size:0.88rem;font-weight:700;letter-spacing:0.04em;white-space:nowrap;transition:background 0.15s,transform 0.15s}
.daily-special-card:hover .daily-special-cta{background:#c45e18;transform:translateX(2px)}
.deal-hero-banner{position:relative;width:100%;height:clamp(220px,28vw,380px);border-radius:20px;overflow:hidden;margin-bottom:1.25rem}
.deal-hero-banner-img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.deal-hero-banner-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,0.72) 0%,rgba(0,0,0,0.45) 50%,rgba(0,0,0,0.1) 100%);display:flex;flex-direction:column;justify-content:center;padding:2rem 2.5rem;gap:0.5rem}
.deal-hero-banner-overlay .store-kicker{font-size:0.8rem;letter-spacing:0.18em;color:var(--store-accent)}
.deal-hero-banner-overlay h2{margin:0;font-size:clamp(1.8rem,3.5vw,3rem);font-family:"Teko",sans-serif;font-weight:700;color:#fff;line-height:1;letter-spacing:0.02em}
.deal-hero-banner-overlay p{margin:0;color:rgba(255,255,255,0.75);font-size:0.95rem;max-width:40ch}
.home-why-section{padding:2rem 0 0.5rem}
.home-why-header{text-align:center;margin-bottom:2rem}
.home-why-header h2{margin:0.4rem 0 0.6rem;font-family:"Teko",sans-serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:700;color:var(--store-text);line-height:1}
.home-why-header p{margin:0;color:var(--store-muted);font-size:1.05rem}
.home-why-grid{display:grid;grid-template-columns:repeat(3,minmax(240px,320px));justify-content:center;gap:1rem}
.home-why-card{background:var(--store-card-bg);border:1px solid var(--store-border);border-radius:16px;padding:1.5rem;display:flex;flex-direction:column;gap:0.6rem;transition:border-color 0.18s,transform 0.18s}
.home-why-card:hover{border-color:rgba(214,107,31,0.3);transform:translateY(-2px)}
.home-why-icon{font-size:1.75rem;line-height:1}
.home-why-card h3{margin:0;font-size:1.1rem;font-weight:700;color:var(--store-text)}
.home-why-card p{margin:0;font-size:0.9rem;color:var(--store-muted);line-height:1.6}
.deals-day-wrap{display:grid;gap:1.25rem}
.deals-day-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,0.8fr);gap:1rem;align-items:stretch}
.deals-day-hero-copy,.deals-day-hero-note{background:var(--store-card-bg);border:1px solid var(--store-border);border-radius:24px;box-shadow:var(--store-shadow)}
.deals-day-hero-copy{padding:2rem}
.deals-day-hero-copy h1{margin:0.4rem 0 0.75rem;font-family:"Teko",sans-serif;font-size:clamp(2.5rem,5vw,4rem);line-height:0.95}
.deals-day-hero-copy p{margin:0;color:var(--store-muted);font-size:1.03rem;line-height:1.7;max-width:60ch}
.deals-day-hero-note{display:flex;flex-direction:column;justify-content:center;gap:0.65rem;padding:1.5rem;background:linear-gradient(180deg,#151a21 0%,#202833 100%);color:#f7f7f8}
.deals-day-hero-note strong{font-size:1.15rem;letter-spacing:0.04em;text-transform:uppercase;color:#fff}
.deals-day-hero-note span{color:rgba(255,255,255,0.82);line-height:1.6}
.deals-day-headliner-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem}
.deals-day-feature-card{display:grid;grid-template-rows:auto 1fr;background:var(--store-card-bg);border:1px solid var(--store-border);border-radius:28px;overflow:hidden;box-shadow:var(--store-shadow)}
.deals-day-feature-media{position:relative;display:grid;align-items:center;justify-items:center;min-height:340px;background:#f4f5f6;text-decoration:none}
.deals-day-feature-media img{width:100%;height:100%;object-fit:cover;display:block}
.deals-day-feature-flag{position:absolute;left:1rem;bottom:1rem;display:inline-flex;align-items:center;padding:0.45rem 0.85rem;border-radius:999px;background:rgba(14,18,22,0.84);color:#fff;font-size:0.78rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase}
.deals-day-feature-body{display:grid;gap:0.9rem;padding:1.35rem 1.4rem 1.5rem}
.deals-day-feature-body h3{margin:0;font-size:clamp(1.5rem,2vw,2rem);line-height:1.08}
.deals-day-feature-body h3 a{color:var(--store-text);text-decoration:none}
.deals-day-feature-body h3 a:hover{color:var(--store-accent)}
.deals-day-feature-meta{display:flex;flex-wrap:wrap;gap:0.4rem 0.7rem;margin:0;color:var(--store-muted)}
.deals-day-feature-meta span{background:var(--store-section-alt);border-radius:999px;padding:0.22rem 0.65rem;font-size:0.85rem}
.deals-day-feature-summary{margin:0;color:var(--store-muted);font-size:0.98rem;line-height:1.7}
.deals-day-feature-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0.8rem}
.deals-day-feature-stats div{display:grid;gap:0.25rem;padding:0.9rem 1rem;border-radius:16px;background:var(--store-section-alt)}
.deals-day-feature-stats span{font-size:0.76rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--store-muted)}
.deals-day-feature-stats strong{font-size:1.08rem;color:var(--store-text);line-height:1.35}
.deals-day-feature-actions{display:flex;flex-wrap:wrap;gap:0.75rem}
.deals-day-supporting{margin-top:0.25rem}
.storefront-detail-wrap{padding-top:1.75rem}
.product-detail-hero{display:grid;grid-template-columns:minmax(280px,0.9fr) minmax(0,1.1fr);gap:2rem;align-items:start}
.product-detail-gallery{display:flex;flex-direction:column;gap:0.75rem;position:sticky;top:5.5rem}
.product-gallery-stage{width:100%;aspect-ratio:4/3;display:grid;align-items:center;justify-items:center;background:#f4f5f6;border-radius:16px;overflow:hidden;padding:1rem}
.product-gallery-stage img{width:auto;height:auto;max-width:100%;max-height:min(70vh,560px);object-fit:contain;display:block}
.product-detail-summary{display:grid;gap:1.2rem}
.product-detail-summary h1{margin:0;font-size:clamp(1.8rem,3vw,2.8rem);font-family:"Teko",sans-serif;line-height:0.95;letter-spacing:0.02em;color:var(--store-text)}
.product-primary-actions{display:flex;flex-direction:column;gap:0.65rem}
.storefront-detail-wrap .product-primary-actions .store-cta.ghost,
.storefront-detail-wrap .product-watch-actions .store-cta.ghost,
.storefront-detail-wrap .product-watch-actions button.store-cta.ghost{background:transparent;border-color:var(--store-border);color:var(--store-text)}
.storefront-detail-wrap .product-primary-actions .store-cta.ghost:hover{background:var(--store-section-alt);border-color:var(--store-border)}
.product-specs-panel{margin-top:2.25rem;border-radius:12px;border:1px solid var(--store-border);background:var(--store-card-bg)}
.product-detail-two-col{display:grid;grid-template-columns:1fr;gap:0}
.product-detail-desc-col{padding:1.5rem 1.75rem;border-right:none;border-bottom:1px solid var(--store-border)}
.product-detail-specs-col{padding:1.5rem 1.75rem}
.product-detail-col-heading{margin:0 0 1rem;font-size:0.78rem;font-weight:800;text-transform:uppercase;letter-spacing:0.1em;color:var(--store-muted)}
.product-detail-desc-body{color:var(--store-text);font-size:0.95rem;line-height:1.7;max-height:180px;overflow:hidden;position:relative}
.product-detail-desc-body.expanded{max-height:none}
.product-detail-desc-body:not(.expanded)::after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,var(--store-tile-bg))}
.product-detail-no-desc{color:#8a9199;font-style:italic;font-size:0.9rem}
.product-detail-show-more{display:inline-flex;align-items:center;margin-top:0.75rem;padding:0;background:none;border:none;color:var(--store-accent);font-size:0.85rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer}
.product-specs-table{width:100%;border-collapse:collapse;font-size:0.9rem}
.product-specs-table th,.product-specs-table td{padding:0.5rem 0.85rem;border-bottom:1px solid var(--store-border);text-align:left;vertical-align:middle}
.product-specs-table th{width:200px;color:var(--store-muted);font-weight:600}
.product-specs-table td{color:var(--store-text)}
.product-all-specs-toggle{margin-top:1.25rem;border-top:1px solid var(--store-border);padding-top:0.75rem}
.product-all-specs-toggle summary{font-size:0.82rem;font-weight:700;color:var(--store-accent);cursor:pointer;letter-spacing:0.04em;list-style:none}
.product-all-specs-toggle summary::before{content:"+ "}
.product-all-specs-toggle[open] summary::before{content:"− "}
.empty-state{padding:2rem;border-radius:24px;border:1px dashed var(--store-border);background:var(--store-section-alt)}
.breadcrumbs{display:flex;gap:0.4rem;align-items:center;font-size:0.82rem;color:var(--store-muted);margin-bottom:1rem;flex-wrap:wrap}
.breadcrumbs a{color:var(--store-muted)}
.breadcrumbs a:hover{color:var(--store-text)}
.pagination-bar{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center;margin-top:1.25rem}
.pagination-bar .store-cta:last-child{justify-self:end}
.pagination-bar span,.pagination-bar .pagination-spacer{color:var(--store-text) !important;font-weight:700;}
.pagination-bar span{justify-self:center;}
.pagination-bar .store-cta.ghost{
  background:#fff !important;
  border:1px solid #cfd7df !important;
  color:#25303b !important;
  min-height:46px;
}
.pagination-bar .store-cta.ghost:hover{
  background:#fff7f1 !important;
  border-color:var(--store-accent) !important;
  color:var(--store-accent) !important;
}
.store-footer{background:var(--store-nav-bg);border-top:1px solid var(--store-accent);margin-top:3rem;padding:2.5rem 0 1.5rem}
.store-footer-inner{width:min(1380px,calc(100vw - 32px));margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem}
.storefront-rebates-page{display:grid;gap:1.5rem}
.rebates-hero{padding:1.5rem 0 0.5rem;text-align:center}
.rebates-hero .store-kicker{display:block;text-align:center;color:var(--store-accent)!important}
.rebates-hero h1{margin:0.4rem 0 0.75rem;font-family:"Teko",sans-serif;font-size:clamp(2.4rem,5vw,4rem);font-weight:700;color:var(--store-text)!important;line-height:0.95;text-align:center}
.rebates-hero p{color:var(--store-muted)!important;max-width:62ch;margin:0 auto;text-align:center;font-size:1rem;line-height:1.7}
.rebates-summary-bar{display:grid;grid-template-columns:minmax(170px,220px) minmax(0,1fr);gap:1rem;align-items:center;padding:1rem 1.2rem;border:1px solid var(--store-border);border-radius:22px;background:linear-gradient(135deg,#fffaf5 0%,#ffffff 48%,#f7fafc 100%);box-shadow:var(--store-shadow-soft)}
.rebates-summary-stat{display:grid;gap:0.1rem;padding-right:1rem;border-right:1px solid rgba(31,41,51,0.1)}
.rebates-summary-stat strong{font-family:"Teko",sans-serif;font-size:2.6rem;line-height:0.9;color:var(--store-text)}
.rebates-summary-stat span{text-transform:uppercase;letter-spacing:0.14em;font-size:0.72rem;font-weight:800;color:var(--store-accent)}
.rebates-summary-bar p{margin:0;color:var(--store-text);font-size:0.95rem;line-height:1.65}
.rebate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.25rem}
.rebate-card{display:flex;flex-direction:column;height:100%;padding:0;border-radius:24px;border:1px solid var(--store-border);background:var(--store-card-bg);box-shadow:var(--store-shadow);transition:transform 0.18s,box-shadow 0.18s,border-color 0.18s;overflow:hidden}
.rebate-card:hover{transform:translateY(-3px);border-color:rgba(214,107,31,0.3);box-shadow:0 18px 34px rgba(17,24,39,0.12)}
.rebate-card-body{display:flex;flex-direction:column;gap:1rem;flex:1;padding:1.25rem 1.35rem 1.35rem}
.rebate-card-bg{position:relative;height:180px;background-size:cover;background-position:center;overflow:hidden}
.rebate-card-bg-overlay{position:absolute;inset:0;background:linear-gradient(145deg,rgba(15,23,42,0.76) 0%,rgba(15,23,42,0.28) 52%,rgba(15,23,42,0.62) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1rem 1.2rem;gap:0.35rem}
.rebate-card-logo-band{display:flex;align-items:center;justify-content:space-between;gap:0.9rem;padding:1rem 1.2rem;border-bottom:1px solid var(--store-border);background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%)}
.rebate-card-logo-wrap{display:flex;align-items:center;justify-content:flex-start;min-height:54px;min-width:0;flex:1}
.rebate-card-logo-image{max-width:min(180px,100%);max-height:44px;width:auto;height:auto;object-fit:contain;display:block}
.rebate-card-logo-wrap.is-fallback{justify-content:flex-start}
.rebate-card-logo-fallback{display:none;padding:0.5rem 0.85rem;border-radius:14px;background:var(--store-accent-soft);color:var(--store-text);font-size:0.86rem;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;line-height:1.3}
.rebate-card-logo-wrap.is-fallback .rebate-card-logo-fallback{display:inline-flex;align-items:center}
.rebate-card-logo-amount{display:inline-flex;align-items:center;justify-content:center;padding:0.35rem 0.8rem;border-radius:999px;background:rgba(214,107,31,0.12);color:var(--store-accent);font-size:0.88rem;font-weight:800;text-transform:uppercase;letter-spacing:0.05em;max-width:100%;overflow-wrap:anywhere;text-align:center}
.rebate-bg-brand{font-size:0.72rem;font-weight:800;text-transform:uppercase;letter-spacing:0.12em;color:rgba(255,255,255,0.72)}
.rebate-bg-amount{font-family:"Teko",sans-serif;font-size:2.35rem;font-weight:700;color:#fff;line-height:0.95;letter-spacing:0.02em}
.rebate-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.rebate-card-heading{display:grid;gap:0.35rem;min-width:0}
.rebate-card-flags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0.45rem}
.rebate-brand{font-weight:800;font-size:0.76rem;text-transform:uppercase;letter-spacing:0.14em;color:var(--store-muted)}
.rebate-amount{display:inline-flex;align-items:center;padding:0.35rem 0.8rem;border-radius:999px;background:rgba(214,107,31,0.12);color:var(--store-accent);font-weight:800;font-size:0.82rem;letter-spacing:0.05em;text-transform:uppercase;max-width:100%;overflow-wrap:anywhere}
.rebate-badge-expiring{display:inline-flex;align-items:center;padding:0.35rem 0.8rem;border-radius:999px;background:rgba(192,57,43,0.12);color:#c0392b;font-weight:800;font-size:0.78rem;letter-spacing:0.04em;white-space:nowrap}
.rebate-title{margin:0;font-size:1.38rem;font-weight:700;color:var(--store-text);line-height:1.12}
.rebate-description{margin:0;color:var(--store-text);font-size:0.95rem;line-height:1.65}
.rebate-qualifying{display:flex;flex-wrap:wrap;align-items:center;gap:0.45rem;padding:0.9rem 0 0;border-top:1px solid rgba(31,41,51,0.08)}
.rebate-qualifying-label{color:var(--store-text);font-weight:800;white-space:nowrap;font-size:0.8rem;letter-spacing:0.05em;text-transform:uppercase}
.rebate-qualifying-tag{display:inline-flex;align-items:center;padding:0.28rem 0.62rem;border-radius:999px;background:#eef2f6;border:1px solid #d9e1e8;color:#25303b;font-size:0.78rem;font-weight:700}
.rebate-dates{display:grid;gap:0.6rem;padding:0.95rem 1rem;border-radius:18px;background:var(--store-section-alt);border:1px solid rgba(31,41,51,0.08)}
.rebate-date-row{display:grid;grid-template-columns:86px minmax(0,1fr);gap:0.75rem;align-items:flex-start}
.rebate-date-label{font-size:0.72rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--store-muted)}
.rebate-date-value{font-size:0.9rem;color:var(--store-text);line-height:1.45}
.rebate-deadline-urgent .rebate-date-label,.rebate-deadline-urgent .rebate-date-value{color:#b42318;font-weight:800}
.rebate-actions{display:flex;gap:0.75rem;flex-wrap:wrap;margin-top:auto;padding-top:0.1rem}
.rebate-actions .store-cta{flex:1;text-align:center;min-width:132px}
.rebate-apply-btn{background:var(--store-accent)!important;color:#fff!important;font-weight:800;letter-spacing:0.03em}
.rebate-apply-btn:hover{background:#c45e18!important}
.rebate-shop-btn{border-color:var(--store-border)!important;color:var(--store-text)!important;font-weight:700}
.rebate-shop-btn:hover{border-color:var(--store-accent)!important;color:var(--store-accent)!important}
.storefront-wrap{color:var(--store-text)}
.storefront-wrap p,.storefront-wrap li{color:var(--store-muted);line-height:1.7}
.storefront-wrap h1,.storefront-wrap h2,.storefront-wrap h3{color:var(--store-text)}
.storefront-wrap a{color:var(--store-accent)}
@media(max-width:860px){
.store-mobile-toggle{display:flex}
.store-nav-shell{display:none;flex-direction:column;width:100%;border-top:1px solid rgba(255,255,255,0.08)}
.store-nav-shell.nav-open{display:flex}
.store-nav{flex-direction:column;width:100%}
.store-nav-item,.store-nav-item-group{flex-direction:column;align-items:flex-start;width:100%}
.product-detail-two-col{grid-template-columns:1fr}
.product-detail-desc-col{border-right:none;border-bottom:1px solid var(--store-border);padding:1.25rem}
.product-detail-specs-col{padding:1.25rem}
.daily-specials-grid{grid-template-columns:1fr}
.deals-day-hero,.deals-day-headliner-grid,.deals-day-feature-stats{grid-template-columns:1fr}
.deals-day-feature-media{min-height:260px}
.rebates-summary-bar{grid-template-columns:1fr}
.rebates-summary-stat{padding-right:0;border-right:none;padding-bottom:0.85rem;border-bottom:1px solid rgba(31,41,51,0.1)}
}
@media(max-width:720px){
.home-why-grid{grid-template-columns:1fr}
.daily-special-card{border-radius:22px}
.daily-special-media{padding:1rem}
.rebate-card-header{flex-direction:column}
.rebate-card-flags{justify-content:flex-start}
.rebate-date-row{grid-template-columns:1fr;gap:0.2rem}
}
@media(max-width:1100px){
.merch-product-grid-double{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
.merch-product-grid-double{grid-template-columns:1fr}
.rebate-grid{grid-template-columns:1fr}
.rebate-card-body{padding:1.1rem}
.rebate-card-logo-band{align-items:flex-start;flex-direction:column}
.rebate-actions .store-cta{min-width:0}
}

/* Nav bar horizontal layout fix */
.store-nav-bar{display:flex;flex-direction:row;align-items:stretch;flex-wrap:wrap;gap:0}
.store-nav-shell{overflow:visible}
.store-brand-logo{max-height:52px;width:auto;display:block}
.store-brandmark img{max-height:52px;width:auto}
/* Services link in nav */
.store-header-pages{display:flex;align-items:center;gap:0}
.store-header-page-link{display:flex;align-items:center;padding:0.9rem 0.85rem;color:rgba(255,255,255,0.8);font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;text-decoration:none}
.store-header-page-link:hover{color:#fff;background:rgba(255,255,255,0.1)}

/* Logo fix */
.store-brand-logo { max-height: 52px; width: auto; display: block; object-fit: contain; }
.store-brandmark { display: flex; align-items: center; text-decoration: none; }
.store-brandmark-name { font-family: "Teko", sans-serif; font-size: 2rem; font-weight: 700; color: #f0f2f4; letter-spacing: 0.04em; }

/* Footer layout fix */
.store-footer { background: var(--store-nav-bg); border-top: 2px solid var(--store-accent); margin-top: 3rem; padding: 2.5rem 0 1.5rem; color: #c8cdd2; font-size: 0.9rem; }
.store-footer-inner { width: min(1380px, calc(100vw - 32px)); margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2rem; padding-bottom: 2rem; }
.store-footer-col h4 { font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: #f0f2f4; margin: 0 0 1rem; }
.store-footer-col p { margin: 0 0 0.5rem; color: #8a9199; line-height: 1.6; }
.store-footer-col a { display: block; color: #8a9199; text-decoration: none; margin-bottom: 0.4rem; font-size: 0.88rem; }
.store-footer-col a:hover { color: var(--store-accent); }
.store-footer-bottom { width: min(1380px, calc(100vw - 32px)); margin: 0 auto; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,0.08); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; font-size: 0.82rem; color: #6b7280; }
.store-footer-bottom a { color: #6b7280; text-decoration: none; }
.store-footer-bottom a:hover { color: var(--store-accent); }

/* Logo visibility fix */
.store-brandmark { display: flex; align-items: center; }
.store-brandmark img.store-brand-logo { display: block !important; visibility: visible !important; max-height: 52px; width: auto; opacity: 1 !important; }
img.store-brand-logo { display: block !important; max-height: 52px; width: auto; }

/* Header visibility fix */
.store-header { display: block !important; }
.store-brandbar { display: block !important; padding: 0.75rem 0; }
.store-brandbar-inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.store-brand-lockup { display: flex; align-items: center; }
.store-header-search { display: flex; align-items: center; gap: 0.5rem; flex: 1; max-width: 420px; }
.store-header-search input { flex: 1; padding: 0.55rem 0.85rem; border-radius: 999px; border: 1px solid #d0d8e0; background: #fff; color: #25303b; font-size: 0.9rem; outline: none; }
.store-header-search button { padding: 0.55rem 1rem; border-radius: 999px; border: none; background: var(--store-accent); color: #fff; font-weight: 700; cursor: pointer; }

/* Footer layout */
.store-footer { background: var(--store-nav-bg); border-top: 2px solid var(--store-accent); margin-top: 3rem; padding: 2.5rem 0 0; color: #c8cdd2; font-size: 0.9rem; }
.store-footer-top { width: min(1380px, calc(100vw - 32px)); margin: 0 auto; display: grid; grid-template-columns: 1.8fr 1fr 1fr 1fr; gap: 2.5rem; padding-bottom: 2rem; }
.store-footer-column { display: flex; flex-direction: column; gap: 0.5rem; }
.store-footer-heading { font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: #f0f2f4; margin-bottom: 0.5rem; display: block; }
.store-footer-column strong { color: #f0f2f4; font-weight: 700; }
.store-footer-column a { color: #8a9199; text-decoration: none; font-size: 0.88rem; line-height: 1.8; display: block; }
.store-footer-column a:hover { color: var(--store-accent); }
.store-footer-column span { color: #8a9199; font-size: 0.88rem; line-height: 1.8; display: block; }
.store-footer-contact-list { display: flex; flex-direction: column; gap: 0.2rem; }
.store-footer-address { color: #8a9199; font-size: 0.88rem; }
.store-footer-nav-links { display: flex; flex-direction: column; gap: 0.2rem; }
.store-footer-about { color: #8a9199; font-size: 0.88rem; line-height: 1.65; }
.store-footer-bottom { width: min(1380px, calc(100vw - 32px)); margin: 0 auto; padding: 1.25rem 0; border-top: 1px solid rgba(255,255,255,0.08); display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; font-size: 0.82rem; color: #6b7280; }
.store-footer-bottom a { color: #6b7280; text-decoration: none; margin-left: 1rem; }
.store-footer-bottom a:hover { color: var(--store-accent); }
.store-footer-legal-links { display: flex; gap: 0; }
@media (max-width: 860px) {
  .store-footer-top { grid-template-columns: 1fr 1fr; gap: 1.5rem; }
}
@media (max-width: 560px) {
  .store-footer-top { grid-template-columns: 1fr; }
}

/* Utility nav spacing fix */
.store-utility-nav { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.store-utility-item { font-size: 0.82rem; font-weight: 600; white-space: nowrap; }
.store-utility-link { color: rgba(255,255,255,0.75); text-decoration: none; }
.store-utility-link:hover { color: #fff; }
.store-utility-deal { color: var(--store-accent) !important; font-weight: 700; }
.store-utility-cart { display: flex; align-items: center; gap: 0.3rem; color: rgba(255,255,255,0.75); text-decoration: none; }
.store-utility-cart-icon { font-size: 1rem; }
.store-topbar-inner { display: flex; justify-content: space-between; align-items: center; padding: 0.45rem 0; gap: 1rem; }
.store-promo-items { display: flex; align-items: center; gap: 1rem; }
.store-promo-pill { font-size: 0.75rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }

/* Shop filter bar */
.store-filter-grid { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: flex-end; margin-bottom: 1rem; }
.store-field { display: flex; flex-direction: column; gap: 0.3rem; }
.store-field span, .store-check span { font-size: 0.78rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--store-muted); }
.store-field input, .store-field select { padding: 0.55rem 0.85rem; border-radius: 8px; border: 1px solid var(--store-border); background: var(--store-input-bg); color: var(--store-text); font-size: 0.9rem; outline: none; min-width: 160px; }
.store-field input:focus, .store-field select:focus { border-color: var(--store-accent); }
.store-field select option { background: var(--store-card-bg); color: var(--store-text); }
.store-check { display: flex; align-items: center; gap: 0.5rem; cursor: pointer; padding-bottom: 0.1rem; }
.store-check input[type=checkbox] { width: 18px; height: 18px; accent-color: var(--store-accent); cursor: pointer; }
.store-filter-actions { display: flex; gap: 0.65rem; align-items: center; padding-bottom: 0.1rem; }
.shop-results-section { padding-top: 0.5rem; }
.attribute-filter { display: flex; flex-direction: column; gap: 0.3rem; }
.attribute-filter-select { padding: 0.55rem 0.85rem; border-radius: 8px; border: 1px solid var(--store-border); background: var(--store-input-bg); color: var(--store-text); font-size: 0.88rem; outline: none; min-width: 140px; }
.attribute-filter-select option { background: var(--store-card-bg); color: var(--store-text); }

/* Shop filter inputs */
.store-filter-grid input[type=search],
.store-filter-grid input[type=text],
.store-filter-grid select {
  background: var(--store-input-bg) !important;
  color: var(--store-text) !important;
  border: 1px solid var(--store-border) !important;
  border-radius: 8px !important;
  padding: 0.5rem 0.85rem !important;
  font-size: 0.88rem !important;
  outline: none !important;
}
.store-filter-grid input[type=search]::placeholder { color: var(--store-muted); }
.store-filter-grid input[type=checkbox] { accent-color: var(--store-accent); width:16px; height:16px; }
.store-filter-grid label.store-field span,
.store-filter-grid label.store-check span { color: var(--store-text); font-size:0.78rem; font-weight:700; text-transform:uppercase; letter-spacing:0.05em; }

/* Top utility bar - fix spacing between links */
.store-utility-nav { display: flex; align-items: center; gap: 0; }
.store-utility-item { padding: 0 0.65rem; border-left: 1px solid rgba(255,255,255,0.12); font-size:0.8rem; font-weight:600; }
.store-utility-item:first-child { border-left: none; }
.store-utility-link { color: rgba(255,255,255,0.75) !important; text-decoration:none; white-space:nowrap; }
.store-utility-link:hover { color:#fff !important; }
.store-utility-deal { color: var(--store-accent) !important; font-weight:700; }

/* Account menu dropdown */
.store-account-menu { position: relative; }
.store-account-submenu {
  display: none;
  position: absolute;
  top: 100%;
  right: 0;
  min-width: 160px;
  background: #1a1d23;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 8px;
  padding: 0.4rem 0;
  z-index: 9999;
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
.store-account-menu:hover .store-account-submenu,
.store-account-menu.open .store-account-submenu { display: block; }
.store-account-submenu a {
  display: block;
  padding: 0.5rem 1rem;
  color: rgba(255,255,255,0.8);
  font-size: 0.85rem;
  font-weight: 600;
  text-decoration: none;
  white-space: nowrap;
}
.store-account-submenu a:hover { color: #fff; background: rgba(255,255,255,0.06); }

/* Utility topbar - correct layout */
.store-promo-strip { position: relative; z-index: 200; background: var(--store-promo-bg); color: var(--store-promo-text); text-align: center; padding: 0.5rem; font-size: 0.82rem; border-bottom: 1px solid #d4dce4; }
.store-topbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.4rem 0;
  gap: 1rem;
}
.store-promo-items { display: flex; align-items: center; gap: 1.25rem; }
.store-promo-pill { font-size: 0.72rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--store-promo-text); }
.store-utility-nav {
  display: flex;
  align-items: center;
  gap: 0;
}
.store-utility-item {
  display: flex;
  align-items: center;
  padding: 0 0.75rem;
  border-left: 1px solid rgba(255,255,255,0.1);
  font-size: 0.78rem;
  font-weight: 600;
  white-space: nowrap;
  line-height: 1;
}
.store-utility-item:first-child { border-left: none; }
.store-utility-link { color: rgba(255,255,255,0.72); text-decoration: none; }
.store-utility-link:hover { color: #fff; }
.store-utility-deal { color: var(--store-accent) !important; font-weight: 700; }
.store-utility-cart { display: flex; align-items: center; gap: 0.3rem; color: rgba(255,255,255,0.72); text-decoration: none; }
.store-utility-cart:hover { color: #fff; }
.store-utility-cart-icon { font-size: 0.9rem; }

/* Utility nav - slash separators between items */
.store-utility-item { border-left: none; padding: 0 0.6rem; }
.store-utility-item:first-child { padding-left: 0; }
.store-utility-item + .store-utility-item::before {
  content: '/';
  margin-right: 0.6rem;
  color: rgba(255,255,255,0.25);
  font-weight: 300;
}

/* Force account submenu hidden by default */
.store-account-submenu { display: none !important; }
.store-account-menu:hover .store-account-submenu { display: block !important; }
.store-account-menu.open .store-account-submenu { display: block !important; }

/* Product meta list - each item on its own line */
.product-meta-list { display: flex; flex-direction: column; gap: 0.2rem; font-size: 0.88rem; color: var(--store-muted); }
.product-meta-list span { display: block; }
.product-lead-time { margin: 0.25rem 0 0; font-size: 0.85rem; color: var(--store-muted); font-style: italic; }

/* Product detail - request button text visible */
.product-primary-actions .store-cta { min-height: 52px; font-size: 1rem; font-weight: 800; letter-spacing: 0.04em; justify-content: center; width: 100%; }

/* Product summary spacing */
.product-detail-summary { display: flex; flex-direction: column; gap: 1rem; }
.customer-price-panel { display: flex; gap: 1rem; flex-wrap: wrap; }
.customer-price-panel article { display: flex; flex-direction: column; gap: 0.15rem; }
.customer-price-panel article span { font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: var(--store-muted); }
.customer-price-panel article strong { font-size: 1.6rem; font-weight: 800; color: var(--store-text); font-family: Teko, sans-serif; }
.customer-price-panel article.is-primary strong { color: var(--store-accent); font-size: 2rem; }
.product-savings { font-size: 0.88rem; font-weight: 700; color: var(--store-success); }
.product-msrp { font-size: 0.82rem; color: var(--store-muted); }

/* Product detail gallery fix */
.product-detail-hero { display: grid; grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr); gap: 2rem; align-items: start; }
.product-gallery-stage { width: 100%; aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; background: #f4f5f6; border-radius: 16px; overflow: hidden; padding: 1rem; }
.product-gallery-stage img { width: auto; height: auto; max-width: 100%; max-height: min(70vh, 560px); object-fit: contain; display: block; }
.product-detail-gallery { display: flex; flex-direction: column; gap: 0.75rem; }
.product-gallery-thumbs { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.product-gallery-thumb { width: 64px; height: 64px; border-radius: 8px; overflow: hidden; cursor: pointer; border: 2px solid transparent; background: #f4f5f6; }
.product-gallery-thumb:hover, .product-gallery-thumb.active { border-color: var(--store-accent); }
.product-gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }

/* Product detail improvements */
.product-detail-desc-body { max-height: none !important; overflow: visible !important; }
.product-detail-desc-body::after { display: none !important; }
.product-key-specs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem 2rem; margin-top: 0.5rem; }
.product-key-spec { display: flex; flex-direction: column; gap: 0.15rem; border-bottom: 1px solid var(--store-border); padding-bottom: 1rem; }
.key-spec-label { font-size: 0.7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.1em; color: #6b7280; }
.key-spec-value { font-size: 1.1rem; font-weight: 700; color: var(--store-text); line-height: 1.2; }
.product-code-row { display: flex; gap: 0.5rem; align-items: center; font-size: 0.85rem; color: var(--store-muted); }
.product-code-row span { font-weight: 600; }
.product-code-row strong { color: var(--store-text); }
.product-detail-summary { gap: 0.85rem; }

/* Product action buttons */
.product-primary-actions { display: flex; flex-direction: column; gap: 0.65rem; }
.product-primary-actions .store-cta { 
  display: flex !important; 
  align-items: center; 
  justify-content: center; 
  width: 100%; 
  min-height: 52px; 
  font-size: 1rem !important; 
  font-weight: 800 !important;
  color: #fff !important;
  text-align: center;
}
.product-primary-actions .store-cta.ghost {
  color: var(--store-text) !important;
  border: 1.5px solid var(--store-border) !important;
  background: transparent !important;
}
.product-watch-actions { display: flex; flex-direction: column; gap: 0.5rem; }
.product-watch-actions .store-cta,
.product-watch-actions button.store-cta {
  width: 100%;
  justify-content: center;
  color: var(--store-text) !important;
  border: 1.5px solid var(--store-border) !important;
  background: transparent !important;
  font-size: 0.9rem !important;
}
.product-cart-form { display: flex; flex-direction: column; gap: 0.65rem; }
.product-cart-form .store-cta { width: 100%; justify-content: center; }
.product-cart-form .store-field { width: 100%; }
.product-cart-form .store-field input[type="number"] { width: 100%; min-width: 0; box-sizing: border-box; }

/* Product detail panel - prevent empty left column */
.product-detail-two-col {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  min-height: 0;
}
.product-detail-desc-col {
  padding: 1.5rem 1.75rem;
  border-right: none;
  border-bottom: 1px solid var(--store-border);
}
.product-detail-specs-col {
  padding: 1.5rem 1.75rem;
}
.specs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem 2rem;
}
.specs-grid-item {
  border-bottom: 1px solid var(--store-border);
  padding: 0.35rem 0;
}
.specs-grid-item-label {
  color: var(--store-muted);
  font-weight: 600;
  font-size: 0.8rem;
}
.specs-grid-item-value {
  color: var(--store-text);
  font-size: 0.92rem;
}
/* Specs panel overall */
.product-specs-panel {
  margin-top: 2rem;
  border-radius: 12px;
  border: 1px solid var(--store-border);
  background: var(--store-card-bg);
  overflow: hidden;
}

/* Product action buttons - full width stacked */
.product-cart-form input[type=number] { width: 100%; padding: 0.55rem 0.85rem; border-radius: 8px; border: 1px solid var(--store-border); background: var(--store-input-bg); color: var(--store-text); font-size: 0.95rem; box-sizing: border-box; }

/* Rebate actions / hero alignment */
.rebate-shop-btn { white-space: nowrap !important; text-align: center; }
.rebate-apply-btn { white-space: nowrap !important; }
.rebates-hero { text-align: center; }
.rebates-hero .store-kicker { display: block; text-align: center; }
.rebates-hero h1 { text-align: center; }
.rebates-hero p { text-align: center; max-width: 60ch; margin: 0 auto; }

/* ═══════════════════════════════════════════════════════════
   Shop — Two-Column Layout (Sidebar + Results)
   ═══════════════════════════════════════════════════════════ */

.shop-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 1.5rem;
  align-items: start;
}

/* ── Sidebar ── */
.shop-filter-sidebar {
  background: var(--store-section-alt);
  border-radius: 12px;
  border: 1px solid var(--store-border);
  overflow: hidden;
  position: sticky;
  top: 5.5rem;
  max-height: calc(100vh - 6rem);
  overflow-y: auto;
}

.filter-sidebar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.1rem 0.75rem;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--store-text);
  border-bottom: 1px solid var(--store-border);
}

.filter-clear-all {
  font-size: 0.75rem;
  font-weight: 700;
  color: #d66b1f;
  text-decoration: none;
}
.filter-clear-all:hover { text-decoration: underline; }

.filter-section {
  border-bottom: 1px solid var(--store-border);
}

.filter-section summary {
  padding: 0.8rem 1.1rem;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--store-text);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}
.filter-section summary::-webkit-details-marker { display: none; }
.filter-section summary::after { content: '∧'; font-size: 0.65rem; color: #6b7280; }
.filter-section:not([open]) summary::after { content: '∨'; }

.filter-options {
  padding: 0.25rem 0.75rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  max-height: 260px;
  overflow-y: auto;
}

.filter-check {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.84rem;
  color: var(--store-text);
  cursor: pointer;
  padding: 0.25rem 0;
  border-radius: 4px;
}
.filter-check:hover { color: var(--store-accent); }
.filter-check input[type="radio"],
.filter-check input[type="checkbox"] {
  cursor: pointer;
  accent-color: #d66b1f;
  flex-shrink: 0;
}
.filter-check span:first-of-type { flex: 1; }
.filter-check-active { color: #d66b1f !important; font-weight: 700; }

.filter-count {
  font-size: 0.75rem;
  color: #6b7280;
  margin-left: auto;
  flex-shrink: 0;
}
.filter-check-active .filter-count { color: #8a9199; }

.filter-search-input {
  width: 100%;
  padding: 0.35rem 0.5rem;
  margin-bottom: 0.35rem;
  border: 1px solid var(--store-border);
  border-radius: 6px;
  background: var(--store-input-bg);
  color: var(--store-text);
  font-size: 0.8rem;
  box-sizing: border-box;
}
.filter-search-input:focus {
  outline: none;
  border-color: #d66b1f;
}

/* Price inputs */
.filter-price-row {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 0.5rem;
}
.filter-price-input {
  flex: 1;
  padding: 0.35rem 0.4rem;
  border: 1px solid var(--store-border);
  border-radius: 6px;
  background: var(--store-input-bg);
  color: var(--store-text);
  font-size: 0.8rem;
  width: 0;
  min-width: 0;
}
.filter-price-input:focus {
  outline: none;
  border-color: #d66b1f;
}
.filter-price-apply {
  padding: 0.35rem 0.5rem;
  background: #d66b1f;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
}
.filter-price-apply:hover { background: #c05f18; }

.filter-price-preset {
  display: flex;
  align-items: center;
  font-size: 0.82rem;
  color: var(--store-text);
  text-decoration: none;
  padding: 0.2rem 0.15rem;
  border-radius: 4px;
}
.filter-price-preset:hover,
.filter-price-preset.filter-check-active {
  color: #d66b1f;
  font-weight: 700;
}

/* ── Results Area ── */
.shop-results-area { min-width: 0; }

.shop-results-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 1rem;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.shop-results-count {
  font-size: 0.85rem;
  color: #6b7280;
  margin: 0.15rem 0 0;
}

.shop-sort-bar {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.shop-sort-label {
  font-size: 0.82rem;
  color: var(--store-muted);
  white-space: nowrap;
}
.shop-sort-select {
  min-width: 184px;
  height: 40px;
  padding: 0 2.1rem 0 0.8rem;
  border: 1px solid #cfd7df;
  border-radius: 10px;
  background: #fff;
  color: #1f2933;
  font-size: 0.84rem;
  font-weight: 700;
  appearance: none;
  -webkit-appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%), linear-gradient(135deg, #6b7280 50%, transparent 50%);
  background-position: calc(100% - 18px) 16px, calc(100% - 13px) 16px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
  cursor: pointer;
}
.shop-sort-select:focus { outline: none; border-color: #d66b1f; }

/* Mobile filter toggle button (hidden on desktop) */
.shop-mobile-filter-toggle {
  display: none;
  padding: 0.4rem 0.8rem;
  background: var(--store-card-bg);
  color: var(--store-text);
  border: 1px solid var(--store-border);
  border-radius: 8px;
  font-size: 0.84rem;
  cursor: pointer;
}

/* ── Responsive ── */
@media (max-width: 860px) {
  .shop-layout {
    grid-template-columns: 1fr;
  }
  .shop-results-header {
    align-items: stretch;
  }
  .shop-sort-bar {
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .shop-sort-select {
    min-width: 0;
    flex: 1 1 220px;
  }
  .shop-filter-sidebar {
    position: static;
    max-height: none;
    display: none; /* hidden by default on mobile, toggled by button */
    scroll-margin-top: 5.5rem;
  }
  .shop-filter-sidebar.shop-sidebar-open {
    display: block;
  }
  .shop-mobile-filter-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.3rem;
  }
}

/* Multi-select attribute filter additions */
.filter-active-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #d66b1f;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 800;
  min-width: 1.2em;
  height: 1.2em;
  border-radius: 999px;
  padding: 0 0.25em;
  margin-left: 0.3em;
  line-height: 1;
}

.filter-clear-section {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  color: #d66b1f;
  background: none;
  border: none;
  padding: 0 0 0.35rem 0;
  cursor: pointer;
  text-align: left;
}
.filter-clear-section:hover { text-decoration: underline; }

/* Sidebar checkbox visibility */
.shop-filter-sidebar input[type=checkbox] {
  width: 16px;
  height: 16px;
  accent-color: #d66b1f;
  cursor: pointer;
  flex-shrink: 0;
  appearance: auto;
  -webkit-appearance: checkbox;
}
.shop-filter-sidebar input[type=radio] {
  width: 16px;
  height: 16px;
  accent-color: #d66b1f;
  cursor: pointer;
  flex-shrink: 0;
  appearance: auto;
  -webkit-appearance: radio;
}
.filter-check-active {
  color: #d66b1f !important;
  font-weight: 700;
}

/* Force checkbox visibility */
.shop-filter-sidebar .filter-check input[type=checkbox],
.shop-filter-sidebar .filter-check input[type=radio] {
  appearance: auto !important;
  -webkit-appearance: auto !important;
  width: 15px !important;
  height: 15px !important;
  margin: 0 !important;
  accent-color: #d66b1f !important;
  background: #fff !important;
  border: 1px solid #aaa !important;
  flex-shrink: 0 !important;
}

/* Active filter state - much more visible */
.filter-check-active {
  color: #d66b1f !important;
  font-weight: 800 !important;
  background: rgba(214, 107, 31, 0.08) !important;
  border-radius: 6px;
  padding: 0.3rem 0.5rem !important;
  margin: 0 -0.5rem;
}
.filter-check-active .filter-count { color: #d66b1f !important; }

/* Active filter pills above results */
.active-filters-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.active-filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.3rem 0.75rem;
  background: rgba(214,107,31,0.08);
  border: 1px solid rgba(214,107,31,0.4);
  border-radius: 999px;
  color: #d66b1f;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
}
.active-filter-pill:hover { background: rgba(214,107,31,0.12); }
.active-filter-pill-x { color: #d66b1f; font-size: 0.9rem; }

/* Rebate badge on product cards */
.product-badge-rebate {
  background: rgba(214, 107, 31, 0.2) !important;
  color: #d66b1f !important;
  font-weight: 800 !important;
  border: 1px solid rgba(214, 107, 31, 0.4) !important;
}

.product-card-media { position: relative; }
.product-media-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  max-width: calc(100% - 20px);
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.22);
}
.product-media-badge-rebate {
  background: rgba(214, 107, 31, 0.92);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
}
.product-media-badge-clearance {
  left: 10px;
  right: auto;
  background: rgba(190, 18, 60, 0.95);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.35);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.caliber-chip {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  background: #1a1d23;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  padding: 3px 8px;
  border-radius: 4px;
}

.price-per-round {
  display: block;
  color: var(--store-muted);
  font-size: 0.78rem;
}

.category-tile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
  margin: 1.1rem 0 1.3rem;
}
.category-tile {
  position: relative;
  display: flex;
  align-items: flex-end;
  height: 140px;
  padding: 1rem 1rem 0.9rem;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.08);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(15,17,20,0.3);
  transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s;
}
.category-tile::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(4,6,8,0.15), rgba(4,6,8,0.72));
}
.category-tile span {
  position: relative;
  z-index: 1;
  font-family: "Teko", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.category-tile:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 32px rgba(12,14,18,0.42);
  border-color: rgba(214,107,31,0.65);
}
.category-tile:hover span { color: #ff9b3b; }
.category-tile-handguns { background: linear-gradient(135deg, #1a2535 0%, #2d3f55 50%, #6b3a1f 100%); }
.category-tile-rifles { background: linear-gradient(135deg, #1a2a1a 0%, #2d4a2d 50%, #5c3a1a 100%); }
.category-tile-shotguns { background: linear-gradient(135deg, #1f1a2a 0%, #352d4a 50%, #6b3a20 100%); }
.category-tile-nfa { background: linear-gradient(135deg, #2a1a1a 0%, #4a2020 50%, #7a3a1a 100%); }
.category-tile-ammo { background: linear-gradient(135deg, #2a2010 0%, #4a3a1a 50%, #8a4a1a 100%); }
.category-tile-optics { background: linear-gradient(135deg, #0f1f2a 0%, #1a3545 50%, #6b4520 100%); }

.more-tile {
  background: #1a1d23;
  color: #fff;
  border-radius: var(--store-card-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  text-decoration: none;
  min-height: 200px;
  text-align: center;
  transition: color 0.15s, transform 0.15s;
}
.more-tile strong {
  font-family: "Teko", sans-serif;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.03em;
}
.more-tile span {
  color: rgba(255,255,255,0.72);
  font-size: 0.84rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.more-tile:hover {
  transform: translateY(-2px);
  color: #ff9b3b;
  border-color: #ff9b3b;
}

.footer-email-signup {
  width: min(1380px, calc(100vw - 32px));
  margin: 0 auto 1.5rem;
  padding: 1.05rem 1rem;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,0.12);
  background: linear-gradient(130deg, rgba(13,16,20,0.85), rgba(22,26,31,0.95));
  text-align: center;
}
.footer-email-signup p {
  margin: 0 0 0.7rem;
  color: #d6dae0;
  font-size: 0.95rem;
}
.footer-email-form {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
}
.footer-email-form input {
  width: min(360px, 92vw);
  min-height: 46px;
  padding: 0.65rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.2);
  background: #111418;
  background-image: none;
  color: #fff;
  font-size: 0.9rem;
  appearance: none;
  -webkit-appearance: none;
}
.footer-email-form input::placeholder { color: rgba(255,255,255,0.45); }

@media (max-width: 980px) {
  .category-tile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .category-tile-grid { grid-template-columns: 1fr; }
}

/* Monday launch cleanup - homepage and PDP consistency */
.merch-section {
  padding: 1.6rem;
}
.merch-heading {
  align-items: flex-start;
  margin-bottom: 1rem;
}
.merch-heading > div {
  display: grid;
  gap: 0.2rem;
}
.merch-heading .store-cta {
  align-self: flex-start;
  min-height: 44px;
}
.section-heading p {
  max-width: 68ch;
}
.merch-product-grid,
.home-product-grid {
  align-items: stretch;
  justify-content: start;
}
.merch-product-grid-double {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.daily-special-card {
  border-radius: var(--store-card-radius);
}
.daily-special-media {
  background: linear-gradient(180deg, #f7f8f9 0%, #eef1f3 100%);
}
.daily-special-media img {
  object-fit: contain;
  object-position: center;
}
.daily-special-type {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(214, 107, 31, 0.12);
}

.product-detail-hero {
  grid-template-columns: minmax(300px, 0.95fr) minmax(0, 1.05fr);
  gap: 1.5rem;
}
.product-buy-box {
  border: 1px solid var(--store-border);
  background: var(--store-card-bg);
  border-radius: 16px;
  padding: 1.2rem;
  display: grid;
  gap: 0.85rem;
}
.product-action-stack {
  border-top: 1px solid var(--store-border);
  padding-top: 0.8rem;
  display: grid;
  gap: 0.65rem;
}
.product-cart-form {
  display: grid;
  grid-template-columns: minmax(110px, 140px) minmax(0, 1fr);
  align-items: end;
  gap: 0.55rem;
}
.product-qty-field {
  min-width: 0;
}
.product-qty-field input[type="number"] {
  min-width: 0;
}
.product-watch-actions form,
.product-watch-actions a {
  width: 100%;
}

@media (max-width: 860px) {
  .merch-section {
    padding: 1.2rem;
  }
  .merch-heading {
    gap: 0.8rem;
  }
  .product-buy-box {
    padding: 1rem;
  }
  .product-cart-form {
    grid-template-columns: 1fr;
  }
}

/* ===== PSA-inspired global storefront overrides (non-home + shared) ===== */
:root {
  --store-accent: #d66b1f;
  --store-accent-hover: #c25e1a;
  --store-page-bg: #eef0f2;
  --store-bg: #eef0f2;
  --store-card-bg: #ffffff;
  --store-panel: #ffffff;
  --store-input-bg: #ffffff;
  --store-search-bg: #ffffff;
  --store-text: #1f2428;
  --store-muted: #5f6972;
  --store-border: #d4dbe2;
  --store-nav-bg: #2b2f34;
}
body {
  background: var(--store-page-bg);
  color: var(--store-text);
  font-family: "Source Sans 3", sans-serif;
}
.store-header {
  background: #eef2f5;
  backdrop-filter: none;
  border-bottom: 1px solid #d4dce4;
}
.store-promo-strip {
  background: var(--store-promo-bg);
  color: var(--store-promo-text);
  border-bottom: 1px solid #d4dbe2;
}
.store-promo-pill {
  color: var(--store-promo-text);
}
.store-utility-link,
.store-utility-item,
.store-utility-cart {
  color: var(--store-promo-text) !important;
}
.store-brandbar {
  padding: 0.9rem 0;
}
.store-header-search input {
  background: #fff;
  border: 1px solid #d0d8e0;
  color: #25303b;
}
.store-header-search button {
  background: var(--store-accent);
}
.store-nav-shell {
  background: #2e3237;
  border-top: 0;
}
.store-nav {
  border-top: 0;
}
a.store-nav-item,
.store-nav-item > a,
.store-nav-item > .store-nav-link,
.store-nav-item-group > a {
  color: #f4f6f8 !important;
  font-weight: 700;
  letter-spacing: 0.03em;
}
.store-nav-item.active,
.store-nav-item-group.active {
  background: var(--store-accent);
}
.store-nav-item:hover,
.store-nav-item-group:hover,
.store-nav-item-group:focus-within,
.store-nav-item-group.open {
  background: rgba(255,255,255,0.12);
}
.storefront-wrap {
  padding-top: 1.2rem;
}
.breadcrumbs {
  color: #4c5a66;
}
.breadcrumbs a {
  color: var(--store-accent);
}
.shop-layout {
  display: grid;
  grid-template-columns: minmax(230px, 260px) minmax(0, 1fr);
  gap: 1.15rem;
  align-items: start;
}
.shop-filter-sidebar {
  position: sticky;
  top: 6.8rem;
  max-height: calc(100vh - 7.4rem);
  max-height: calc(100dvh - 7.4rem);
  background: #fff;
  border: 1px solid #d4dbe2;
  border-radius: 10px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  box-shadow: 0 8px 18px rgba(15, 23, 42, 0.04);
}
.filter-sidebar-header {
  padding: 0.9rem 1rem;
  border-bottom: 1px solid #e1e7ee;
  background: #f7f9fb;
}
.filter-section {
  border-bottom: 1px solid #e7ebf0;
}
.filter-section summary {
  padding: 0.8rem 1rem;
  cursor: pointer;
  font-weight: 700;
  color: #2a3138;
}
.filter-options {
  padding: 0.25rem 1rem 0.85rem;
}
.filter-check {
  padding: 0.28rem 0;
  line-height: 1.35;
}
.shop-results-area {
  background: transparent;
}
.shop-results-header {
  border-bottom: 1px solid #d8dfe7;
  margin-bottom: 1rem;
  padding-bottom: 0.7rem;
}
.shop-results-header h2 {
  margin: 0.2rem 0 0;
  color: #1e252c;
  font-size: clamp(2rem, 4vw, 3rem);
  font-family: "Teko", sans-serif;
}
.shop-sort-select {
  border: 1px solid #cfd7df;
  background: #fff;
}
.product-grid.browse-product-grid {
  gap: 1rem;
}
.product-grid.browse-product-grid .product-card {
  border-radius: 0;
  border: 1px solid #d8dee6;
  background: #fff;
  box-shadow: 0 3px 9px rgba(16, 24, 34, 0.07);
}
.product-grid.browse-product-grid .product-card-media {
  background: #fff;
  border-radius: 0;
}
.product-grid.browse-product-grid .product-card-body {
  background: #fff;
  color: #25303a;
}
.product-grid.browse-product-grid .product-card:hover {
  transform: translateY(-2px);
  border-color: #b4c4d8;
  box-shadow: 0 10px 26px rgba(19, 33, 48, 0.12);
}
.product-grid.browse-product-grid .product-card-title {
  color: #202830;
  font-size: 1.02rem;
}
.product-grid.browse-product-grid .product-card-meta,
.product-grid.browse-product-grid .product-card-deal,
.product-grid.browse-product-grid .product-card-ammo-rate,
.product-grid.browse-product-grid .product-card-price-label,
.product-grid.browse-product-grid .price-per-round {
  color: #5f6972;
}
.product-grid.browse-product-grid .product-card-specs {
  display: grid;
  gap: 0.22rem;
  margin: 0;
}
.product-grid.home-product-grid .product-card-specs {
  display: grid;
  gap: 0.22rem;
  margin: 0;
}
.product-grid.browse-product-grid .product-card-spec-row {
  display: grid;
  grid-template-columns: 4.6rem minmax(0, 1fr);
  align-items: start;
  gap: 0.45rem;
  font-size: 0.84rem;
  line-height: 1.3;
  color: #5f6972;
}
.product-grid.home-product-grid .product-card-spec-row {
  display: grid;
  grid-template-columns: 4.6rem minmax(0, 1fr);
  align-items: start;
  gap: 0.45rem;
  font-size: 0.84rem;
  line-height: 1.3;
  color: #5f6972;
}
.product-grid.browse-product-grid .product-card-spec-label {
  font-weight: 700;
  color: #36414b;
}
.product-grid.home-product-grid .product-card-spec-label {
  font-weight: 700;
  color: #36414b;
}
.product-grid.browse-product-grid .product-card-spec-value {
  min-width: 0;
  color: #5f6972;
  overflow-wrap: anywhere;
}
.product-grid.home-product-grid .product-card-spec-value {
  min-width: 0;
  color: #5f6972;
  overflow-wrap: anywhere;
}
.product-grid.compact .compact-product-card-specs {
  display: grid;
  gap: 0.2rem;
  margin: 0;
}
.product-grid.compact .compact-product-card-spec-row {
  display: grid;
  grid-template-columns: 4.2rem minmax(0, 1fr);
  align-items: start;
  gap: 0.4rem;
  font-size: 0.8rem;
  line-height: 1.28;
  color: #5f6972;
}
.product-grid.compact .compact-product-card-spec-row .product-card-spec-label {
  font-weight: 700;
  color: #36414b;
}
.product-grid.compact .compact-product-card-spec-row .product-card-spec-value {
  min-width: 0;
  color: #5f6972;
  overflow-wrap: anywhere;
}
.product-grid.browse-product-grid .product-card-price-label {
  color: #5f6972;
}
.product-grid.browse-product-grid .product-card-price-value {
  color: var(--store-accent-2);
  font-family: "Source Sans 3", sans-serif;
  font-size: 2rem;
}
.product-grid.browse-product-grid .product-card-price-value.is-sale {
  color: var(--store-accent);
}
.product-grid.browse-product-grid .product-card-sale-percent {
  font-size: 0.8rem;
}
.product-grid.browse-product-grid .product-card-regular-price {
  color: #6b7480;
}
.product-grid.browse-product-grid .product-card-summary,
.product-grid.browse-product-grid .product-card-footer {
  color: #25303a;
}
.product-grid.browse-product-grid .store-cta,
.product-grid.browse-product-grid button.store-cta {
  background: #fff;
  border: 1px solid #d66b1f;
  color: #d66b1f !important;
  min-height: 44px;
}
.product-grid.browse-product-grid .store-cta:hover,
.product-grid.browse-product-grid button.store-cta:hover {
  background: #d66b1f;
  color: #fff !important;
}
@media (max-width: 640px) {
  .shop-sort-label {
    width: 100%;
  }
  .shop-sort-select,
  .shop-mobile-filter-toggle {
    width: 100%;
  }
  .product-grid.browse-product-grid .product-card-spec-row {
    grid-template-columns: 4.1rem minmax(0, 1fr);
  }
  .product-grid.home-product-grid .product-card-spec-row {
    grid-template-columns: 4.1rem minmax(0, 1fr);
  }
  .product-grid.compact .compact-product-card-spec-row {
    grid-template-columns: 3.9rem minmax(0, 1fr);
  }
}
.storefront-detail-wrap {
  background: transparent;
}
.product-detail-hero {
  background: #fff;
  border: 1px solid #d7dfe7;
  border-radius: 10px;
  padding: 1.3rem;
}
.product-detail-summary h1 {
  font-family: "Teko", sans-serif;
  letter-spacing: 0.01em;
  font-size: clamp(2rem, 4vw, 3.2rem);
}
.product-primary-actions .store-cta {
  background: var(--store-accent);
  border: 1px solid var(--store-accent);
  color: #fff !important;
}
.product-primary-actions .store-cta.ghost {
  background: #fff !important;
  border: 1px solid #cfd7df !important;
  color: #25303a !important;
}
.product-specs-panel {
  border: 1px solid #d7dfe7;
  border-radius: 10px;
  background: #fff;
}
.auth-page-wrap {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.auth-page-wrap .auth-panel,
.auth-page-wrap .account-watch-panel {
  background: #fff;
  border: 1px solid #d7dfe7;
  border-radius: 10px;
  padding: 1rem;
}
.auth-page-wrap .auth-panel {
  grid-column: 2;
}
.auth-page-wrap .account-watch-panel {
  grid-column: 2;
}
.auth-page-wrap::before {
  content: "My Account\AWishlists\ASaved for Later\ALog Out";
  white-space: pre;
  display: block;
  background: #f2f4f6;
  border: 1px solid #d7dfe7;
  border-radius: 10px;
  padding: 0.85rem 0.9rem;
  line-height: 2;
  color: #2d3843;
  font-weight: 600;
}
.account-watch-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.store-footer {
  background: var(--store-nav-bg);
  border-top: 2px solid var(--store-accent);
}
.footer-email-signup {
  background: rgba(255,255,255,0.07);
  padding: 1.2rem;
  border-radius: 10px;
  width: min(1380px, calc(100vw - 32px));
  margin: 0 auto 1.2rem;
}
.footer-email-signup p,
.store-footer-column a,
.store-footer-column span,
.store-footer-bottom {
  color: #d8dde3;
}
@media (max-width: 980px) {
  .shop-layout,
  .auth-page-wrap {
    grid-template-columns: 1fr;
  }
  .shop-filter-sidebar {
    position: static;
    max-height: none;
    overflow: hidden;
  }
  .auth-page-wrap .auth-panel,
  .auth-page-wrap .account-watch-panel {
    grid-column: auto;
  }
  .auth-page-wrap::before {
    white-space: normal;
  }
}

/* Final sidebar readability guardrails */
.shop-filter-sidebar .filter-sidebar-header,
.shop-filter-sidebar .filter-sidebar-header span {
  color: #25303b !important;
}
.shop-filter-sidebar .filter-clear-all {
  color: #d66b1f !important;
}
.shop-filter-sidebar .filter-section summary {
  color: #2a3138 !important;
}
.shop-filter-sidebar .filter-check,
.shop-filter-sidebar .filter-option-item {
  color: #25303b !important;
}
.shop-filter-sidebar .filter-check span,
.shop-filter-sidebar .filter-option-item span {
  color: #25303b !important;
}
.shop-filter-sidebar .filter-count {
  color: #667380 !important;
}

/* Mobile storefront guardrails */
@media (max-width: 860px) {
  .store-promo-strip {
    padding: 0.4rem 0;
  }
  .store-topbar-inner {
    flex-direction: column;
    align-items: stretch;
    gap: 0.6rem;
    padding: 0.55rem 0;
  }
  .store-promo-items {
    width: 100%;
  }
  .store-promo-pill {
    display: block;
    text-align: left;
    font-size: 0.74rem;
    line-height: 1.45;
  }
  .store-utility-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    width: 100%;
  }
  .store-utility-item {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.55rem 0.7rem;
    border: 1px solid #d4dce4;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.96);
    text-align: center;
    line-height: 1.2;
  }
  .store-brandbar {
    padding: 0.75rem 0;
  }
  .store-brandbar-inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: center;
  }
  .store-brand-lockup {
    min-width: 0;
  }
  .store-brandmark {
    padding: 0.45rem 0.6rem;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid #d4dce4;
    box-shadow: 0 10px 22px rgba(15, 23, 42, 0.08);
  }
  .store-brand-logo {
    display: block;
    max-width: min(230px, 58vw);
    max-height: 48px;
  }
  .store-mobile-toggle {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid #d0d8e0;
    border-radius: 12px;
    background: #fff;
    color: #25303b;
    font-size: 1.2rem;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
  }
  .store-header-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    grid-column: 1 / -1;
    max-width: none;
    width: 100%;
    margin-top: 0.1rem;
  }
  .store-header-search input {
    min-width: 0;
    min-height: 48px;
    font-size: 1rem;
  }
  .store-header-search input::placeholder {
    color: #667380;
    opacity: 1;
  }
  .store-header-search button {
    min-height: 48px;
    min-width: 108px;
    padding: 0 1rem;
    flex: 0 0 auto;
  }
  .store-nav-shell {
    padding-bottom: 0.55rem;
  }
  .store-nav {
    width: min(1380px, calc(100vw - 20px));
  }
  .store-nav-bar {
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }
  .store-nav-item {
    width: 100%;
  }
  .store-nav-item-group {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
    width: 100%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  }
  a.store-nav-item,
  .store-nav-item > .store-nav-link,
  .store-nav-item-group > a {
    width: 100%;
    padding: 1rem;
    font-size: 0.82rem;
  }
  .store-nav-toggle {
    padding: 0 1rem;
    font-size: 0.88rem;
    color: #f4f6f8;
  }
  .store-nav-submenu {
    position: static;
    min-width: 0;
    width: 100%;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 0;
    box-shadow: none;
    background: rgba(255, 255, 255, 0.06);
    grid-column: 1 / -1;
  }
  .store-footer-top,
  .store-footer-bottom {
    width: min(1380px, calc(100vw - 20px));
  }
  .footer-email-signup {
    width: min(1380px, calc(100vw - 20px));
    padding: 1rem;
  }
  .footer-email-form {
    display: grid;
    grid-template-columns: 1fr;
  }
  .footer-email-form input,
  .footer-email-form button {
    width: 100%;
  }
  .shop-results-header {
    align-items: stretch;
    gap: 0.9rem;
  }
  .shop-results-header h2 {
    font-size: clamp(2.2rem, 10vw, 3.2rem);
  }
  .shop-sort-bar {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: end;
  }
  .shop-sort-label {
    grid-column: 1 / -1;
    font-size: 0.78rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .shop-sort-select,
  .shop-mobile-filter-toggle {
    min-height: 48px;
  }
  .shop-sort-select {
    min-width: 0;
    width: 100%;
    font-size: 0.95rem;
  }
  .shop-mobile-filter-toggle {
    justify-content: center;
    padding: 0 1rem;
    font-weight: 800;
    border-radius: 12px;
  }
  .shop-filter-sidebar {
    margin-bottom: 1rem;
  }
  .shop-filter-sidebar.shop-sidebar-open {
    max-height: calc(100vh - 7rem);
    max-height: calc(100dvh - 7rem);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  .active-filters-bar {
    gap: 0.45rem;
  }
  .product-grid.browse-product-grid {
    grid-template-columns: 1fr;
  }
  .product-grid.browse-product-grid .product-card {
    border-radius: 18px;
    overflow: hidden;
  }
  .product-grid.browse-product-grid .product-card-media {
    min-height: 210px;
    height: auto;
    border-bottom: 1px solid #eef2f5;
  }
}

@media (max-width: 640px) {
  .store-topbar-inner,
  .store-brandbar-inner,
  .store-nav,
  .storefront-wrap {
    width: min(1380px, calc(100vw - 20px));
  }
  .store-utility-nav {
    grid-template-columns: 1fr;
  }
  .store-brandbar-inner {
    grid-template-columns: 1fr auto;
  }
  .store-brand-logo {
    max-width: min(210px, 56vw);
  }
  .store-header-search button {
    min-width: 96px;
  }
  .shop-sort-bar {
    grid-template-columns: 1fr;
  }
  .shop-mobile-filter-toggle {
    width: 100%;
  }
}
.shop-filter-sidebar .filter-check-active,
.shop-filter-sidebar .filter-check-active span {
  color: #d66b1f !important;
}
.shop-filter-sidebar .filter-search-input {
  background: #fff !important;
  color: #25303b !important;
  border: 1px solid #cfd7df !important;
}

@media (max-width: 860px) {
  .store-promo-strip .store-utility-nav {
    display: none !important;
  }
  .store-mobile-utility-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
    width: min(1380px, calc(100vw - 20px));
    margin: 0 auto;
    padding: 0.75rem 0 0.25rem;
  }
  .store-mobile-utility-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0.7rem 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.06);
    color: #f4f6f8;
    font-size: 0.84rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
  }
  .store-mobile-utility-cart {
    gap: 0.35rem;
  }
}

@media (max-width: 640px) {
  .store-mobile-utility-nav {
    grid-template-columns: 1fr;
  }
}
.shop-filter-sidebar .filter-price-input {
  background: #fff !important;
  color: #25303b !important;
  border: 1px solid #cfd7df !important;
}
.shop-filter-sidebar .filter-search-input::placeholder {
  color: #7a8591 !important;
}
.shop-filter-sidebar .filter-price-input::placeholder {
  color: #7a8591 !important;
}
.shop-filter-sidebar .filter-search-input:-webkit-autofill,
.shop-filter-sidebar .filter-search-input:-webkit-autofill:hover,
.shop-filter-sidebar .filter-search-input:-webkit-autofill:focus {
  -webkit-text-fill-color: #25303b !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
}
.shop-filter-sidebar .filter-price-input:-webkit-autofill,
.shop-filter-sidebar .filter-price-input:-webkit-autofill:hover,
.shop-filter-sidebar .filter-price-input:-webkit-autofill:focus {
  -webkit-text-fill-color: #25303b !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
}

/* Final utility link override */
.store-utility-link:hover,
.store-utility-link:focus-visible,
.store-utility-cart:hover,
.store-utility-cart:focus-visible,
.store-utility-deal:hover,
.store-utility-deal:focus-visible {
  color: #ffffff !important;
}
.store-utility-link:focus-visible,
.store-utility-cart:focus-visible,
.store-utility-deal:focus-visible {
  outline: 2px solid rgba(255,255,255,0.55);
  outline-offset: 2px;
  border-radius: 4px;
}

/* Final footer readability guardrails */
.store-footer {
  background: #f6f8fa !important;
  border-top: 2px solid var(--store-accent) !important;
  color: #4f5b67 !important;
}
.footer-email-signup {
  background: #ffffff !important;
  border: 1px solid #d9e1e8 !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
}
.footer-email-signup p {
  color: #5b6773 !important;
}
.footer-email-form input {
  background: #ffffff !important;
  background-image: none !important;
  color: #25303b !important;
  border: 1px solid #cfd7df !important;
  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.footer-email-form input::placeholder {
  color: #7b8794 !important;
}
.store-footer-heading,
.store-footer-column strong {
  color: #25303b !important;
}
.store-footer-column a,
.store-footer-column span,
.store-footer-address,
.store-footer-about,
.store-footer-bottom,
.store-footer-bottom a {
  color: #667380 !important;
}
.store-footer-column a:hover,
.store-footer-bottom a:hover {
  color: var(--store-accent) !important;
}

/* ===== Customer cart / request review ===== */
.storefront-cart-wrap { max-width: 960px; }
.storefront-cart-wrap .section-heading.compact { margin-bottom: 1.25rem; }

.store-cart-table-wrap {
  margin: 0.5rem 0 1.5rem;
  border: 1px solid var(--store-border);
  border-radius: 14px;
  background: var(--store-card-bg);
  overflow: hidden;
  box-shadow: var(--store-shadow-soft);
}
.store-cart-table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.store-cart-table thead th {
  text-align: left;
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  color: var(--store-muted);
  padding: 0.8rem 1.1rem;
  background: var(--store-surface-subtle);
  border-bottom: 1px solid var(--store-border);
}
.store-cart-table thead th:nth-child(2) { text-align: center; }
.store-cart-table thead th:nth-child(3),
.store-cart-table thead th:nth-child(4) { text-align: right; }
.store-cart-table tbody td {
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--store-border);
  vertical-align: middle;
}
.store-cart-table tbody tr:last-child td { border-bottom: none; }
.store-cart-table tbody td > a { color: var(--store-text); text-decoration: none; font-weight: 700; line-height: 1.35; }
.store-cart-table tbody td > a:hover { color: var(--store-accent); }
.store-cart-table td:nth-child(3),
.store-cart-table td:nth-child(4) { text-align: right; white-space: nowrap; }
.store-cart-table td:nth-child(4) { font-weight: 800; }
.store-cart-table td:last-child { text-align: right; }

.store-cart-meta { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-top: 0.45rem; }
.store-cart-meta span {
  font-size: 0.74rem;
  color: var(--store-muted);
  background: var(--store-surface-subtle);
  border: 1px solid var(--store-border);
  padding: 0.1rem 0.5rem;
  border-radius: 999px;
}

.store-cart-qty-form { display: inline-flex; align-items: center; gap: 0.5rem; justify-content: center; }
.store-cart-qty-form input[type=number] {
  width: 60px;
  padding: 0.5rem 0.4rem;
  text-align: center;
  font: inherit;
  border: 1px solid var(--store-border);
  border-radius: 8px;
  background: var(--store-input-bg);
}
.store-cart-table .store-cta.ghost { min-height: 38px; padding: 0 0.95rem; font-size: 0.76rem; }

.store-cart-totals {
  margin: 0 0 0 auto;
  max-width: 320px;
  border: 1px solid var(--store-border);
  border-radius: 14px;
  padding: 1.1rem 1.25rem;
  background: var(--store-card-bg);
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  box-shadow: var(--store-shadow-soft);
}
.store-cart-totals > div { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; }
.store-cart-totals > div span { color: var(--store-muted); font-size: 0.92rem; }
.store-cart-totals > div strong { font-weight: 700; }
.store-cart-shipping-tbd { font-size: 0.82rem; font-weight: 600; color: var(--store-text); }
.store-cart-total-row {
  border-top: 1px solid var(--store-border);
  padding-top: 0.7rem;
  margin-top: 0.15rem;
}
.store-cart-total-row span { color: var(--store-text) !important; font-weight: 800 !important; }
.store-cart-total-row strong { font-size: 1.2rem; font-weight: 800; color: var(--store-accent); }

.store-cart-shipping-note {
  font-size: 0.82rem;
  color: var(--store-muted);
  max-width: 640px;
  margin: 1rem 0 1.5rem;
  line-height: 1.5;
}

.store-cart-request-form {
  border-top: 1px solid var(--store-border);
  padding-top: 1.4rem;
}
.store-cart-request-form .store-filter-grid { gap: 1rem; align-items: flex-end; }
.store-cart-request-form .store-field { flex: 1 1 200px; }
.store-cart-request-form .store-field input {
  padding: 0.65rem 0.8rem;
  font: inherit;
  border: 1px solid var(--store-border);
  border-radius: 9px;
  background: var(--store-input-bg);
  color: var(--store-text);
}
.store-cart-request-form .store-field input:focus {
  outline: none;
  border-color: var(--store-accent);
  box-shadow: 0 0 0 3px var(--store-accent-soft);
}
.store-cart-request-form .store-filter-actions { margin-top: 1.1rem; flex-wrap: wrap; }

@media (max-width: 640px) {
  .store-cart-table thead { display: none; }
  .store-cart-table, .store-cart-table tbody, .store-cart-table tr, .store-cart-table td { display: block; width: 100%; }
  .store-cart-table tr { padding: 0.4rem 0; border-bottom: 2px solid var(--store-border); }
  .store-cart-table tbody td { border: none; padding: 0.3rem 1.1rem; text-align: left !important; }
  .store-cart-table .store-cart-qty-form { justify-content: flex-start; }
  .store-cart-totals { max-width: none; }
}
