.soi-product-section .section-heading { display: block; text-align: center; }
.soi-product-section .section-heading > div:first-child { min-width: 0; }
.soi-product-section .section-heading h2 { color: var(--brand-red-dark); text-transform: uppercase; }
.soi-product-section .section-heading p { margin-inline: auto; }
.soi-product-slider { position: relative; }
.soi-product-footer { margin-top: 24px; }
.soi-product-controls {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: -22px;
  right: -22px;
  height: 44px;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}
.soi-product-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid #e5d5d8;
  border-radius: 50%;
  background: #fff;
  color: var(--brand-red-dark);
  flex: 0 0 44px;
  pointer-events: auto;
  box-shadow: 0 2px 8px #0001;
}
.soi-product-arrow svg { display: block; width: 18px; height: 18px; }
.soi-product-arrow:hover:enabled { background: var(--brand-red-dark); border-color: var(--brand-red-dark); color: #fff; }
.soi-product-arrow:disabled { opacity: .4; cursor: default; }
.product-grid.soi-product-track {
  --slider-gap: 20px;
  --slider-columns: 4;
  display: flex;
  align-items: stretch;
  gap: var(--slider-gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-block: 4px;
}
.soi-product-track::-webkit-scrollbar { display: none; width: 0; height: 0; }
.soi-product-track > .product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 0 0 calc((100% - (var(--slider-columns) - 1) * var(--slider-gap)) / var(--slider-columns));
  min-width: 0;
  scroll-snap-align: start;
}
.soi-product-track .product-card-body { display: flex; flex-direction: column; flex: 1; }
.soi-product-track .product-price { min-height: 28px; margin-bottom: 13px; }
.soi-product-track .product-actions { margin-top: auto; }
.soi-product-track a:focus-visible { outline-offset: -3px; }
.soi-product-more { display: flex; justify-content: center; }
.soi-product-more .button { min-width: 170px; gap: 10px; }
@media(max-width:1000px) {
  .product-grid.soi-product-track { --slider-columns: 3; --slider-gap: 16px; }
  .soi-product-controls { left: -10px; right: -10px; }
}
@media(max-width:767px) {
  .product-grid.soi-product-track { --slider-columns: 2; --slider-gap: 12px; }
}
@media(max-width:540px) {
  .soi-product-track .product-price { min-height: 40px; margin-bottom: 10px; }
  .soi-product-section .section-heading h2 { font-size: 22px; line-height: 1.35; letter-spacing: 0; }
  .soi-product-footer { margin-top: 18px; }
  .soi-product-more .button { min-width: 150px; font-size: 12px; }
}
