.ms-on-sale { position: relative; padding: 4rem 0; color: #172033; background: #f3f5f4; }
.ms-on-sale__inner { width: min(100% - 3rem, 1360px); margin: 0 auto; }
.ms-on-sale-width-full .ms-on-sale__inner { width: 100%; }
.ms-on-sale-heading { display: flex; align-items: center; gap: 1.5rem; margin-bottom: 1.8rem; }
.ms-on-sale-heading h2 { flex: 0 1 auto; margin: 0; font-size: clamp(1.8rem, 3vw, 2.65rem); letter-spacing: -.045em; }
.ms-on-sale-filters { display: flex; gap: .55rem; align-items: center; justify-content: flex-end; flex-wrap: wrap; margin-left: auto; }
.ms-on-sale-filters button { padding: .65rem 1.2rem; color: inherit; background: #fff; border: 0; border-radius: 999px; font-weight: 700; cursor: pointer; }
.ms-on-sale-filters button.is-active { color: #fff; background: #579e22; }
.ms-on-sale-arrows { display: flex; gap: .65rem; margin-left: auto; }
.ms-on-sale-arrows button { display: grid; width: 48px; height: 48px; place-items: center; color: #fff; background: #579e22; border: 0; border-radius: 50%; box-shadow: 0 5px 14px rgba(32, 77, 22, .2); cursor: pointer; font-size: 1.35rem; transition: transform .2s ease, filter .2s ease; }
.ms-on-sale-arrows button:hover { filter: brightness(1.08); transform: scale(1.06); }
.ms-on-sale-grid,.ms-on-sale-track { display: grid; gap: 1rem; }
.ms-on-sale-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ms-on-sale-track { display: flex; overflow-x: auto; padding: .15rem .1rem .8rem; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.ms-on-sale-track .ms-on-sale-card { flex: 0 0 clamp(280px, calc((100% - (var(--ms-on-sale-cards-visible) - 1) * 1rem) / var(--ms-on-sale-cards-visible)), 320px); scroll-snap-align: start; }
.ms-on-sale-card { position: relative; display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #fff; border: 1px solid #dfe5dd; border-radius: 10px; box-shadow: 0 2px 0 rgba(23, 32, 51, .02); transition: transform .2s ease, box-shadow .2s ease; }
.ms-on-sale-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(23, 32, 51, .11); }
.ms-on-sale-image-link { position: relative; display: block; padding: .75rem; }
.ms-on-sale-product-image,.ms-on-sale-product-fallback { display: grid; width: 100%; height: 220px; place-items: center; object-fit: contain; background: #fff; border: 1px solid #e5e9e5; border-radius: 6px; }
.ms-on-sale-product-fallback { color: #fff; background: linear-gradient(135deg, #7aa465, #244d2c); font-size: 3rem; font-weight: 800; }
.ms-on-sale-label,.ms-on-sale-discount { position: absolute; z-index: 2; top: .75rem; padding: .45rem .7rem; color: #fff; background: #579e22; font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ms-on-sale-label { left: .75rem; }
.ms-on-sale-discount { right: .75rem; color: #172033; background: #efbd52; text-transform: none; }
.ms-on-sale-card-copy { display: flex; flex: 1; flex-direction: column; padding: .25rem .9rem 1rem; }
.ms-on-sale-card-copy h3 { display: -webkit-box; min-height: 2.8em; margin: 0; overflow: hidden; font-size: .98rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.ms-on-sale-card-copy h3 a { color: inherit; text-decoration: none; }
.ms-on-sale-detail { display: -webkit-box; min-height: 3.9em; margin: .55rem 0; overflow: hidden; color: #718096; font-size: .8rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.ms-on-sale-rating { min-height: 1.3em; margin: 0 0 .35rem; }
.ms-on-sale-rating .star-rating { margin: 0; color: #f39b12; }
.ms-on-sale-price { min-height: 1.7em; margin-top: .65rem; font-size: 1.18rem; font-weight: 800; }
.ms-on-sale-price-current { color: #df302b; }
.ms-on-sale-price-regular { margin-left: .4rem; color: #707880; font-size: .8rem; font-weight: 400; }
.ms-on-sale-action { margin-top: auto; padding-top: .85rem; }
.ms-on-sale-add-to-cart { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 38px; padding: 0 .8rem; color: #fff; background: var(--ms-header-accent, #579e22); border-radius: 5px; font-size: .8rem; font-weight: 800; text-decoration: none; }
.ms-on-sale-product-link { color: var(--ms-header-accent, #579e22); font-size: .82rem; font-weight: 800; }
.ms-on-sale-arrows button:disabled { opacity: .42; cursor: not-allowed; filter: none; transform: none; }
.ms-on-sale--weekly_sale_grid { background: #eef0f2; }
.ms-on-sale--weekly_sale_grid .ms-on-sale-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.2rem; }
.ms-on-sale--weekly_sale_grid .ms-on-sale-card-copy { padding: .35rem .8rem 1rem; }
.ms-on-sale--weekly_sale_grid .ms-on-sale-product-image,.ms-on-sale--weekly_sale_grid .ms-on-sale-product-fallback { height: 235px; }
.ms-on-sale--deals_of_the_day { background: #fff; }
.ms-on-sale--deals_of_the_day .ms-on-sale-heading h2::before { display: inline-block; width: 22px; height: 22px; margin-right: .8rem; vertical-align: .06em; background: #efbd52; border-radius: 50%; content: ''; }
.ms-on-sale--deals_of_the_day .ms-on-sale-card { border-radius: 7px; }
.ms-on-sale--deals_of_the_day .ms-on-sale-product-image,.ms-on-sale--deals_of_the_day .ms-on-sale-product-fallback { height: 240px; }
.ms-on-sale-empty { width: min(100% - 3rem, 1360px); margin: 0 auto; padding: 1rem; background: #fff; border-left: 3px solid #579e22; }
.ms-on-sale-empty p { margin: 0 0 .5rem; }
.ms-on-sale-empty a { color: #579e22; font-weight: 800; }
.ms-on-sale-design-panel { position: relative; z-index: 10; width: min(100% - 3rem, 1360px); margin: 0 auto 1rem; padding: .8rem 1rem; background: rgba(255,255,255,.98); border: 1px solid #c3c4c7; border-radius: 7px; box-shadow: 0 5px 18px rgba(0,0,0,.12); }
.ms-on-sale-design-panel[hidden] { display: none; }
.ms-on-sale-design-controls { display: flex; align-items: end; gap: 1rem; flex-wrap: wrap; }
.ms-on-sale-design-controls label { display: flex; flex-direction: column; gap: .25rem; font-size: .78rem; font-weight: 700; }
.ms-on-sale-design-controls input,.ms-on-sale-design-controls select { min-height: 32px; }
.ms-on-sale-design-controls button { min-height: 32px; padding: 0 .8rem; color: #fff; background: #2271b1; border: 1px solid #2271b1; cursor: pointer; }
.ms-on-sale-design-controls a { align-self: center; color: #2271b1; font-weight: 700; }

@media (max-width: 1100px) {
    .ms-on-sale-grid,.ms-on-sale--weekly_sale_grid .ms-on-sale-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .ms-on-sale-track .ms-on-sale-card { flex-basis: clamp(260px, calc((100% - 2rem) / 3), 300px); }
}
@media (max-width: 760px) {
    .ms-on-sale { padding: 3rem 0; }
    .ms-on-sale__inner { width: min(100% - 2rem, 1360px); }
    .ms-on-sale-heading { align-items: flex-start; flex-wrap: wrap; gap: .8rem; }
    .ms-on-sale-filters { justify-content: flex-start; width: 100%; margin-left: 0; }
    .ms-on-sale-filters button { padding: .55rem .8rem; font-size: .78rem; }
    .ms-on-sale-grid,.ms-on-sale--weekly_sale_grid .ms-on-sale-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
    .ms-on-sale-track .ms-on-sale-card { flex-basis: 78%; }
    .ms-on-sale-product-image,.ms-on-sale-product-fallback,.ms-on-sale--weekly_sale_grid .ms-on-sale-product-image,.ms-on-sale--weekly_sale_grid .ms-on-sale-product-fallback { height: 170px; }
    .ms-on-sale-card-copy { padding-left: .65rem; padding-right: .65rem; }
    .ms-on-sale-card-copy h3 { font-size: .84rem; }
    .ms-on-sale-detail { font-size: .72rem; }
    .ms-on-sale-price { font-size: 1rem; }
    .ms-on-sale-design-panel,.ms-on-sale-empty { width: min(100% - 2rem, 1360px); }
}
@media (prefers-reduced-motion: reduce) {
    .ms-on-sale-card,.ms-on-sale-arrows button { transition: none; }
    .ms-on-sale-track { scroll-behavior: auto; }
}
