{
  "version": 3,
  "sources": ["src/app/features/home/blocks/product-carousel/product-carousel.component.css"],
  "sourcesContent": [".carousel {\n  display: flex;\n  flex-direction: column;\n  gap: var(--space-6);\n}\n\n.carousel__header {\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n}\n\n.carousel__title {\n  font-family: var(--font-family-heading);\n  font-size: var(--text-size-4xl);\n  font-weight: var(--font-weight-heading-bold);\n  color: var(--color-text-primary);\n  line-height: var(--leading-tight);\n  margin: 0;\n}\n\n.carousel__view-all {\n  display: inline-flex;\n  align-items: center;\n  gap: var(--space-2);\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  font-weight: var(--font-weight-body-medium);\n  color: var(--color-action-primary);\n  text-decoration: none;\n  border: 1.5px solid var(--color-action-primary);\n  padding: var(--space-2) var(--space-4);\n  border-radius: var(--radius-button);\n  transition: background var(--transition-fast), color var(--transition-fast);\n  white-space: nowrap;\n}\n\n.carousel__view-all:hover {\n  background: var(--color-action-primary);\n  color: var(--color-text-inverse);\n}\n\n.carousel__wrapper {\n  position: relative;\n  display: flex;\n  align-items: center;\n  gap: var(--space-3);\n}\n\n.carousel__track {\n  --carousel-columns: 5;\n  display: flex;\n  gap: var(--space-4);\n  overflow-x: auto;\n  scroll-snap-type: x mandatory;\n  -webkit-overflow-scrolling: touch;\n  scrollbar-width: none;        /* Firefox */\n  -ms-overflow-style: none;     /* IE/Edge */\n  flex: 1;\n  min-width: 0;\n  padding-block: var(--space-2); /* breathing room for card shadows */\n}\n\n.carousel__track::-webkit-scrollbar {\n  display: none;\n}\n\n.carousel__slot {\n  flex: 0 0 calc(\n    (100% - (var(--carousel-columns) - 1) * var(--space-4))\n    / var(--carousel-columns)\n  );\n  /* Respect the flex-basis even if a card's content is intrinsically wider,\n     so the column count is always honoured (2-up on phones). */\n  min-width: 0;\n  scroll-snap-align: start;\n}\n\n/* Slot final opcional: CTA \"Ver más de {categoría}\" — ocupa exactamente el\n   ancho de una card y se estira a la altura del row gracias al\n   `align-items: stretch` por defecto del flex track. Sin border-radius\n   (regla de diseño) y con borde punteado para diferenciarlo de una card. */\n\n.carousel__slot--cta {\n  display: flex;\n}\n\n.carousel__cta {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  gap: var(--space-3);\n  width: 100%;\n  min-height: 18rem;\n  padding: var(--space-6);\n  background: var(--color-surface-secondary);\n  border: 1px dashed var(--color-border-primary);\n  color: var(--color-text-primary);\n  text-align: center;\n  text-decoration: none;\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-base);\n  font-weight: var(--font-weight-body-medium);\n  line-height: var(--leading-snug);\n  transition: background var(--transition-fast), color var(--transition-fast),\n    border-color var(--transition-fast);\n}\n\n.carousel__cta:hover,\n.carousel__cta:focus-visible {\n  background: var(--color-action-primary);\n  border-color: var(--color-action-primary);\n  color: var(--color-text-inverse);\n}\n\n.carousel__cta-label {\n  display: block;\n}\n\n.carousel__arrow {\n  flex-shrink: 0;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 2.25rem;\n  height: 2.25rem;\n  border-radius: var(--radius-button);\n  border: 1px solid var(--color-border-primary);\n  background: var(--color-surface-primary);\n  color: var(--color-text-secondary);\n  cursor: pointer;\n  transition: background var(--transition-fast), color var(--transition-fast);\n  z-index: 1;\n}\n\n.carousel__arrow:hover {\n  background: var(--color-surface-secondary);\n  color: var(--color-text-primary);\n}\n\n/* Hover-only arrows — absolutely positioned so they don't consume flex space */\n\n.carousel__wrapper--hover-arrows .carousel__arrow {\n  position: absolute;\n  top: 50%;\n  transform: translateY(-50%);\n  z-index: 3;\n  opacity: 0;\n  pointer-events: none;\n  transition: opacity var(--transition-fast), background var(--transition-fast), color var(--transition-fast);\n}\n\n.carousel__wrapper--hover-arrows .carousel__arrow--prev {\n  left: var(--space-4);\n}\n\n.carousel__wrapper--hover-arrows .carousel__arrow--next {\n  right: var(--space-4);\n}\n\n.carousel__wrapper--hover-arrows:hover .carousel__arrow {\n  opacity: 1;\n  pointer-events: auto;\n}\n\n.carousel__wrapper--hover-arrows .carousel__arrow:focus-visible {\n  opacity: 1;\n  pointer-events: auto;\n}\n\n/* Pagination bars */\n\n.carousel__pagination {\n  display: flex;\n  gap: 3px;\n  justify-content: center;\n  padding-block-start: var(--space-4);\n}\n\n.carousel__pagination-bar {\n  flex: 1;\n  max-width: 3rem;\n  height: 3px;\n  padding: 0;\n  border: none;\n  border-radius: 1.5px;\n  background: var(--color-border-primary);\n  cursor: pointer;\n  transition: background var(--transition-fast), transform var(--transition-fast);\n}\n\n.carousel__pagination-bar:hover {\n  background: var(--color-text-secondary);\n  transform: scaleY(1.6);\n}\n\n.carousel__pagination-bar--visible {\n  background: var(--color-text-secondary);\n}\n\n.carousel__pagination-bar--active {\n  background: var(--color-action-primary);\n}\n\n/* Responsive — column count drives slot width */\n\n@media (min-width: 1536px) {\n  .carousel__track { --carousel-columns: 6; }\n}\n\n@media (max-width: 1024px) {\n  .carousel__track { --carousel-columns: 4; }\n}\n\n@media (max-width: 768px) {\n  /* 2-up on phones, consistent across every product carousel (offers, best\n     sellers, …) */\n  .carousel__track { --carousel-columns: 2; }\n}\n\n@media (max-width: 640px) {\n  .carousel__title {\n    font-size: var(--text-size-2xl);\n  }\n\n  .carousel__arrow {\n    display: none;\n  }\n\n  .carousel__track { --carousel-columns: 2; }\n\n  .carousel__pagination-bar {\n    max-width: 2rem;\n  }\n}\n"],
  "mappings": "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",
  "names": []
}
