/* Retailer storefront. Kept separate from counter and administration styles. */
.retailer-store { --saffron:#2f3d8f; --saffron-dark:#263275; --saffron-soft:#eeeffa; --radius:16px; background:#fafbfe; font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
.retailer-store .topbar { background:#fff; color:#102337; border-bottom:1px solid #e6e9f2; box-shadow:0 3px 18px #21315e08; }
.retailer-store .logo { color:#2f3d8f; font-weight:850; }
.retailer-store .searchbar { background:#f3f5fa; border:1px solid #e1e5ef; border-radius:30px; color:#18283d; }
.retailer-store .searchbar input { color:#18283d; min-height:44px; }
.retailer-store .top-actions a { color:#2f3d8f; }
.retailer-store .cart-pill { background:#eeeffa; }
.retailer-store .btn,.retailer-store .add-btn { border-radius:12px; min-height:44px; }
.retailer-store .pcard { border-radius:18px; overflow:hidden; box-shadow:0 3px 14px #20325805; }
.retailer-store .pcard .img { background:#fff; padding:12px; }
.retailer-store .pcard .nm { font-size:15px; line-height:1.4; }
.retailer-store .margin-tag { background:#e8f7ee; color:#148044; border-radius:6px; }
.retailer-store .stepper { height:44px; border-radius:12px; }
.retailer-store .stepper button { min-width:40px; }
.retailer-store .card { box-shadow:0 4px 20px #24385804; }
.retailer-store .sec-h { margin-top:32px; }
.retailer-store .sec-h a { color:#2f3d8f; font-weight:700; }
.wholesale-hero { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:44px; margin:8px 0 24px; border-radius:28px; background:linear-gradient(110deg,#222f79,#4f5dc1); color:white; overflow:hidden; }
.wholesale-hero h1 { font-size:clamp(28px,4vw,48px); line-height:1.12; letter-spacing:-1.5px; margin:14px 0; color:white; }
.wholesale-hero p { color:#e0e4ff; max-width:490px; line-height:1.6; }
.wholesale-hero .btn { background:#fff; color:#293785; margin-top:12px; }
.eyebrow { font-size:11px; letter-spacing:2px; font-weight:750; }
.hero-proof { flex-shrink:0; display:flex; flex-direction:column; gap:16px; padding:32px; border:1px solid #ffffff40; border-radius:24px; background:#ffffff12; transform:rotate(3deg); max-width:260px; }
.hero-proof strong { font-size:38px; line-height:1.1; }.hero-proof span { font-size:13px; color:#e5e8ff; }
.store-gateways { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:28px; }
.store-gateways a { padding:22px; border-radius:18px; border:1px solid #e5e7f4; background:#f0f1fc; display:flex; flex-direction:column; gap:8px; transition:transform .15s; }
.store-gateways a:hover { transform:translateY(-3px); }.store-gateways a>span { font-size:32px; color:#3c4aa4; }.store-gateways small { color:#64718b; }
.brand-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:16px; }
.brand-tile { min-height:160px; padding:20px 12px; background:white; border:1px solid #edf0f5; border-radius:18px; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; text-align:center; }
.brand-tile img { width:84px; height:72px; object-fit:contain; }.brand-initial { display:grid; place-items:center; width:72px; height:72px; background:#f0f1fc; color:#4552a2; font-size:24px; font-weight:800; border-radius:18px; }
.category-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(130px,1fr)); gap:16px; }.category-tile { background:#f0f2fa; padding:18px; display:flex; flex-direction:column; align-items:center; gap:14px; border-radius:16px; text-align:center; }.category-tile img { width:100px; height:100px; object-fit:contain; }.category-tile>span { font-size:42px; }
.pricing-option { display:flex; width:100%; justify-content:space-between; align-items:center; gap:12px; padding:16px; margin:10px 0; background:white; border:1px solid #dfe3ef; border-radius:14px; text-align:left; cursor:pointer; }.pricing-option span { display:flex; flex-direction:column; gap:4px; }.pricing-option small { color:#69768a; }.pricing-option.selected { border:2px solid #3e4b9f; background:#f3f4fd; }.pricing-option:disabled { opacity:.5; cursor:default; }
.regional-group { padding-bottom:20px; }.mobile-shop-nav { display:none; }.retailer-store .cartbar a { background:#2f3d8f; border-radius:14px; }
.product-detail-grid { grid-template-columns:minmax(0,420px) minmax(0,1fr); }
.mobile-shop-nav a { align-items:center; gap:3px; min-width:54px; }
.store-gateways svg { width:34px; height:34px; }
@media(max-width:900px) { .product-detail-grid { grid-template-columns:minmax(0,1fr); } }
.retailer-store button:focus-visible,.retailer-store a:focus-visible { outline:3px solid #a7b2ff; outline-offset:3px; }
@media(max-width:760px) {
 .wholesale-hero { padding:26px; border-radius:20px; }.hero-proof { display:none; }.wholesale-hero h1 { letter-spacing:-.8px; }
 .store-gateways { grid-template-columns:repeat(2,1fr); gap:10px; }.store-gateways a { padding:16px; }.store-gateways small { font-size:11px; }
 .brand-grid { grid-template-columns:repeat(3,1fr); gap:10px; }.brand-tile { min-height:140px; padding:12px 6px; font-size:13px; }
 .retailer-store { padding-bottom:76px; }.mobile-shop-nav { position:fixed; bottom:0; left:0; right:0; z-index:90; background:white; border-top:1px solid #e6e9f2; display:flex; justify-content:space-around; padding:8px 4px max(8px,env(safe-area-inset-bottom)); }.mobile-shop-nav a { display:flex; flex-direction:column; text-align:center; color:#344494; font-size:23px; }.mobile-shop-nav span { font-size:11px; font-weight:650; }
 .retailer-store .cartbar { bottom:78px; }.retailer-store .top-actions { gap:10px; }.retailer-store .grid { gap:10px; }
 .retailer-store .checkout-action { position:fixed; left:16px; bottom:88px; width:calc(100% - 32px); z-index:60; box-shadow:0 0 0 10px #fafbfe,0 8px 24px #25367b30; }
}
@media(prefers-reduced-motion:reduce) { .store-gateways a { transition:none; } }
