/* Shared storefront improvements, scoped away from staff tools. */
body.jdstore-public [hidden] { display: none !important; }
.store-variant-filters, .store-price-range { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:12px 0; }
.store-variant-filters label, .store-price-range label { display:flex; flex-direction:column; gap:6px; color:#222; font-size:13px; }
.store-variant-filters select, .store-price-range input, .store-sort-row select { min-height:44px; border:1px solid #c8c8c8; border-radius:8px; padding:8px; background:#fff; color:#111; font:inherit; width:100%; }
.store-filter-hint { font-size:13px; color:#555; }
.store-apply-filters { display:block; width:100%; position:sticky; bottom:0; margin-top:16px; min-height:44px; background:#111; color:#fff; border:0; border-radius:10px; font:inherit; font-weight:700; cursor:pointer; }
.store-sort-row { display:flex; align-items:center; justify-content:flex-end; gap:10px; margin:10px 16px; font-size:13px; color:#333; }
.store-sort-row select { width:auto; max-width:220px; }
body.mobile-reels .store-sort-row, body.mobile-categories .store-sort-row, body.jdstore-cart-view .store-sort-row, body.jdstore-product-detail .store-sort-row { display:none; }
.store-details-dialog { border:0; border-radius:16px; padding:20px; width:min(600px,calc(100vw - 24px)); max-height:85dvh; overflow:auto; background:#fff; color:#111; box-sizing:border-box; }
.store-details-dialog::backdrop { background:#0008; }
.store-details-dialog__head { display:flex; gap:12px; align-items:flex-start; justify-content:space-between; }
.store-details-dialog__head h2 { margin:0; font-size:20px; line-height:1.35; }
.store-details-dialog__head button { min-width:44px; min-height:44px; font-size:28px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#111; cursor:pointer; }
.store-details-dialog .product-detail-accordion__summary { color:#111; padding:16px 0; cursor:pointer; }
.store-details-dialog .product-detail-accordion__body { color:#333; font-size:15px; line-height:1.6; }
.store-details-dialog a, .product-detail-accordion__body a { color:#253b13; text-decoration:underline; }
.reels-details-link { border:0; padding:4px 0; min-height:28px; font-size:12px; text-decoration:underline; background:transparent; color:#333; cursor:pointer; text-align:left; }
.store-action-notice { position:fixed; bottom:90px; left:50%; transform:translateX(-50%); max-width:90vw; background:#111; color:#fff; padding:14px 20px; border-radius:10px; z-index:1000; box-shadow:0 4px 20px #0003; }
.cart-bag-line__title a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
body.jdstore-public .store-help-link { display:block; text-align:right; padding:6px 16px; color:#333; font-size:12px; text-decoration:underline; }
body.jdstore-public .card-badge--new { font-size:9px; opacity:.85; }
@media(min-width:900px) { body.jdstore-public .store-help-link { position:absolute; top:52px; left:16px; padding:0; z-index:5; } }
@media(max-width:899px) {
  body.jdstore-public .store-sort-row { justify-content:space-between; margin:8px 16px; }
  body.jdstore-public .filters-panel.sheet-open { padding-bottom:90px; max-height:calc(100dvh - 20px); }
  body.jdstore-public .store-price-range input, body.jdstore-public .store-variant-filters select { font-size:16px; }
  body.jdstore-public .store-help-link { padding:3px 14px; font-size:11px; }
  body.jdstore-public .reels-title { line-height:1.25; }
  body.jdstore-public .mobile-category-rail-wrap { margin-top:0; }
  body.jdstore-public .reels-details-link { line-height:1.2; }
}
