/* Native single-row product browsing; department tiles retain their grid. */
.odai-warm-store .oh-products,
.odai-warm-store .os-main ul.products:not(:has(> .product-category)) {
 display: grid;
 grid-template-columns: none;
 grid-auto-flow: column;
 grid-auto-columns: clamp(220px, calc((100% - 60px) / 3.65), 320px);
 grid-template-rows: auto;
 gap: 20px;
 max-width: 100%;
 min-width: 0;
 overflow-x: auto;
 overflow-y: hidden;
 scroll-snap-type: x proximity;
 scroll-padding-inline: 4px;
 padding-block: 4px 16px;
 scrollbar-width: none;
 overscroll-behavior-x: contain;
}
.odai-warm-store .warm-product-scroll > .oh-product,
.odai-warm-store .warm-product-scroll > li.product { scroll-snap-align: start; animation: none; }
.odai-warm-store .warm-product-scroll > li.product > .oh-shop-card { height: 100%; animation: none; }
.odai-warm-store .warm-product-scroll:focus-visible { outline: 2px solid var(--warm-accent); outline-offset: 4px; }
.odai-warm-store .warm-product-scroll.warm-product-dragging { cursor: grabbing; scroll-snap-type: none; user-select: none; }
.odai-warm-store .warm-product-scroll::-webkit-scrollbar { display: none; }
@media (hover: hover) { .odai-warm-store .warm-product-scroll { cursor: grab; } }
@media (max-width: 1199px) and (min-width: 768px) {
 .odai-warm-store .oh-products,
 .odai-warm-store .os-main ul.products:not(:has(> .product-category)) { grid-auto-columns: clamp(220px, calc((100% - 40px) / 2.65), 320px); }
}
@media (max-width: 767px) {
 .odai-warm-store .oh-products,
 .odai-warm-store .os-main ul.products:not(:has(> .product-category)) { grid-auto-columns: clamp(168px, calc((100% - 12px) / 1.65), 240px); gap: 12px; }
}
