/* Narrow storefront fixes. The Bootstrap 5 grid supplies the responsive columns. */
.category-catalog-layout.container,
.product-detail.container { display:block; }
.category-catalog-layout > .row,
.product-detail > .row { width:100%; margin-inline:0; }
.category-catalog-layout > .row > *,
.product-detail > .row > * { min-width:0; }
.category-catalog-layout .category-products { min-width:0; }

/* Keep cart controls above the sticky header, including on touch screens. */
.cart-drawer { z-index:1500; }

.productCardPrice { display:flex; flex-direction:column; align-items:flex-end; gap:2px; min-width:0; padding-top:2px; line-height:1.35; text-align:right; }
.productCardPrice del { color:var(--muted); font-size:.72rem; font-weight:500; white-space:nowrap; text-decoration-thickness:1px; }
.productCardPrice strong { color:var(--ink); font-size:.84rem; white-space:nowrap; }
.product-price { display:flex; align-items:baseline; flex-wrap:wrap; gap:4px 14px; }
.product-price del { color:var(--muted); font-size:clamp(.9rem,1.25vw,1.15rem); font-weight:500; text-decoration-thickness:1px; }
.product-price strong { color:var(--ink); font-size:clamp(1.35rem,2vw,1.85rem); }

@media (max-width:991.98px) {
  .product-gallery { position:static; }
}
@media (max-width:767.98px) {
  .category-catalog-layout .category-sidebar { position:static; }
  .category-catalog-layout .category-sidebar nav { display:flex; gap:8px; overflow-x:auto; padding-bottom:8px; scrollbar-width:none; }
  .category-catalog-layout .category-sidebar nav a { flex:0 0 auto; min-height:42px; padding:10px 13px; border:1px solid var(--line); border-radius:8px; }
  .category-catalog-layout .category-sidebar nav a.active { color:var(--paper); border-color:var(--moss-dark); background:var(--moss-dark); }
  .category-catalog-layout > .row,
  .product-detail > .row { --bs-gutter-x:0; }
  .category-catalog-layout > .row > *,
  .product-detail > .row > * { padding-inline:0; }
  .product-detail.container { width:calc(100% - 32px); margin-inline:auto; }
  .product-detail .product-copy { width:100%; padding:clamp(18px,5vw,26px); }
  .productCopy { flex-direction:column; align-items:flex-start; }
  .productCardPrice { align-items:flex-start; text-align:left; }
}
@media (max-width:380px) {
  .product-detail.container { width:calc(100% - 24px); }
}
