.products-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin: 30px 0 12px;
}
.products-toolbar .product-filters { margin: 0; }
.products-all { flex-shrink: 0; min-height: 44px; font-size: 12px; padding: 12px 18px; }
.products-all .icon { width: 16px; height: 16px; }

.products-section .product-grid {
  --products-in-view: 5;
  --product-gap: 16px;
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--products-in-view) - 1) * var(--product-gap)) / var(--products-in-view));
  gap: var(--product-gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 3px;
  scrollbar-width: none;
  padding: 16px 3px 26px;
}
.product-grid::-webkit-scrollbar { display: none; }
.product-grid > .product-card { scroll-snap-align: start; min-width: 0; }
.product-grid:focus-visible { outline-offset: 3px; border-radius: 18px; }
.product-carousel-controls { display: flex; justify-content: flex-end; gap: 9px; }
.product-carousel-controls .round-button { width: 44px; height: 44px; background: #fafbfc; border: 1px solid #d9d5e5; color: var(--deep-purple); }
.product-carousel-controls [data-products=prev] .icon { transform: rotate(180deg); }
.product-carousel-controls button:disabled { opacity: .35; }

/* The narrower carousel cards keep names legible above their price and action. */
.product-grid .product-card-redesign { border-radius: 28px; padding: 8px; }
.product-grid .product-card-redesign .product-photo { border-radius: 20px; }
.product-grid .product-caption { border-radius: 0 0 20px 20px; padding-inline: 5px; font-size: 10px; }
.product-grid .product-card-redesign .product-info { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 13px 5px 5px; }
.product-grid .product-card-redesign .product-info h3 { font-size: 19px; min-height: 2.24em; margin-bottom: 8px; }
.product-grid .product-category { font-size: 9px; padding: 4px 6px; }
.product-grid .product-purchase { flex-direction: row; align-items: center; padding: 6px 0 0; border-left: 0; border-top: 1px solid #d9d5e5; gap: 6px; }
.product-grid .product-card-redesign .product-price { font-size: 22px; gap: 2px; }
.product-grid .product-card-redesign .product-action { font-size: 10px; gap: 4px; }
.product-grid .product-card-redesign .product-action .icon { width: 13px; height: 13px; }

.product-catalog-card { display: flex; flex-direction: column; transition: box-shadow .4s; }
.product-catalog-card .catalog-visual { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; background: #e9e6fb; padding: 20px 10px; text-align: center; color: var(--deep-purple); }
.catalog-visual > .icon { width: 52px; height: 52px; color: var(--purple); }
.catalog-visual > strong { font: 800 26px/1.08 var(--font-display); letter-spacing: -.035em; }
.catalog-info { flex: 1; display: flex; flex-direction: column; justify-content: space-between; padding: 15px 5px 5px; gap: 12px; }
.catalog-info > p { font-size: 12px; line-height: 1.5; color: var(--muted); }
.catalog-button { display: flex; align-items: center; justify-content: space-between; gap: 6px; min-height: 44px; border-top: 1px solid #d9d5e5; padding-top: 6px; color: var(--deep-purple); font-size: 11px; font-weight: 700; }
.catalog-button .icon { width: 15px; height: 15px; flex-shrink: 0; }
.product-catalog-card:focus-visible { outline-offset: -3px; }
@media (hover: hover) { .product-catalog-card:hover { box-shadow: 0 12px 26px rgba(90, 90, 229, .18); } }

@media (max-width: 1100px) {
  .products-section .product-grid { --products-in-view: 3; }
  .products-toolbar { gap: 15px; }
  .product-filters { gap: 6px; }
  .product-filters button { padding-inline: 12px; }
}
@media (max-width: 800px) {
  .products-section .product-grid { --products-in-view: 2; --product-gap: 14px; }
  .products-toolbar { align-items: flex-start; }
  .products-all { min-height: 40px; padding: 10px 14px; font-size: 11px; }
  .product-carousel-controls { display: none; }
  .product-carousel > .products-all { display: flex; width: max-content; max-width: 100%; margin: 8px 0 0 auto; }
}
@media (max-width: 540px) {
  .products-toolbar { flex-wrap: wrap; margin-top: 23px; gap: 14px; }
  .products-toolbar .product-filters { flex: 1 1 100%; }
  .products-all { margin-left: auto; font-size: 10px; }
  .products-section .product-grid { --product-gap: 12px; }
  .product-grid .product-card-redesign { border-radius: 26px; }
  .product-grid .product-card-redesign .product-photo { border-radius: 17px; }
  .product-grid .product-caption { border-radius: 0 0 17px 17px; }
  .product-grid .product-card-redesign .product-info { padding-inline: 4px; }
  .product-grid .product-card-redesign .product-price { font-size: 21px; }
  .catalog-visual > .icon { width: 36px; height: 36px; }
  .catalog-visual > strong { font-size: 20px; }
  .product-catalog-card .catalog-visual { gap: 10px; padding: 14px 6px; }
  .catalog-info > p { font-size: 11px; }
  .catalog-button { font-size: 10px; }
}
@media (max-width: 360px) {
  .product-grid .product-card-redesign .product-info h3 { font-size: 17px; }
  .product-grid .product-card-redesign .product-price { font-size: 20px; }
  .product-grid .product-card-redesign .product-action { width: 30px; justify-content: center; }
  .catalog-visual > strong { font-size: 17px; }
  .catalog-visual > .icon { width: 28px; height: 28px; }
  .product-catalog-card .catalog-visual { padding: 10px 4px; gap: 8px; }
  .catalog-button { font-size: 9px; }
}
