{
  "version": 3,
  "sources": ["src/app/features/catalog/catalog-page.component.css"],
  "sourcesContent": ["/* ── Page container ─────────────────────────────────────────────────────── */\n.catalog-page {\n  max-width: var(--grid-max-width);\n  margin: 0 auto;\n  padding: 0 var(--grid-gutter);\n}\n\n/* ── Category header (compacto) ────────────────────────────────────────── */\n.catalog-page__header {\n  padding: var(--space-2) 0 var(--space-4);\n}\n\n.catalog-page__title {\n  font-family: var(--font-family-heading);\n  font-size: var(--text-size-3xl);\n  font-weight: var(--font-weight-heading-bold);\n  color: var(--color-text-primary);\n  margin: 0 0 var(--space-2);\n  line-height: var(--leading-tight);\n}\n\n.catalog-page__description {\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-base);\n  color: var(--color-text-secondary);\n  margin: 0;\n  /* max-width: 40rem; */\n  line-height: var(--leading-relaxed);\n}\n\n/* ── Toolbar ───────────────────────────────────────────────────────────── */\n.catalog-page__toolbar {\n  display: flex;\n  align-items: center;\n  flex-wrap: wrap;\n  padding: var(--space-3) 0;\n  border-bottom: 1px solid var(--color-border-primary);\n  gap: var(--space-3);\n}\n\n.catalog-page__toolbar-search {\n  flex: 1;\n  min-width: 12.5rem;\n}\n\n.catalog-page__result-count {\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  color: var(--color-text-secondary);\n  font-weight: var(--font-weight-body-medium);\n  white-space: nowrap;\n}\n\n.catalog-page__toolbar-actions {\n  display: flex;\n  align-items: center;\n  gap: var(--space-3);\n}\n\n/* ── Filter toggle (mobile only) ───────────────────────────────────────── */\n.catalog-page__filter-toggle {\n  display: none;\n  align-items: center;\n  gap: var(--space-1);\n  padding: var(--space-2) var(--space-3);\n  border: 1px solid var(--color-border-primary);\n  border-radius: var(--radius-button);\n  background: var(--color-surface-primary);\n  color: var(--color-text-primary);\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-sm);\n  font-weight: var(--font-weight-body-medium);\n  cursor: pointer;\n  transition: border-color var(--transition-fast), background var(--transition-fast);\n}\n\n.catalog-page__filter-toggle:hover {\n  border-color: var(--color-brand-secondary);\n  background: var(--color-surface-secondary);\n}\n\n/* ── View toggle ───────────────────────────────────────────────────────── */\n.catalog-page__view-toggle {\n  display: flex;\n  border: 1px solid var(--color-border-primary);\n  border-radius: var(--radius-button);\n  overflow: hidden;\n}\n\n.catalog-page__view-btn {\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  width: 2.25rem;\n  height: 2.25rem;\n  padding: 0;\n  border: none;\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}\n\n.catalog-page__view-btn:hover {\n  background: var(--color-surface-secondary);\n}\n\n.catalog-page__view-btn--active {\n  background: var(--color-brand-secondary);\n  color: var(--color-text-inverse);\n}\n\n.catalog-page__view-btn--active:hover {\n  background: var(--color-brand-secondary);\n}\n\n.catalog-page__view-btn + .catalog-page__view-btn {\n  border-left: 1px solid var(--color-border-primary);\n}\n\n/* ── Main layout: sidebar + content ────────────────────────────────────── */\n.catalog-page__main {\n  display: grid;\n  grid-template-columns: 260px 1fr;\n  gap: var(--space-8);\n  padding: var(--space-6) 0 var(--space-section);\n}\n\n.catalog-page__main--no-sidebar {\n  grid-template-columns: 1fr;\n}\n\n/* ── Sticky sidebar ───────────────────────────────────────────────────── */\n.catalog-page__main > app-filter-sidebar {\n  position: sticky;\n  top: var(--space-4);\n  align-self: start;\n  max-height: calc(100vh - var(--space-8));\n  overflow-y: auto;\n  overflow-x: hidden;\n  padding-left: var(--space-2);\n  padding-bottom: var(--space-6);\n  scrollbar-width: thin;\n  scrollbar-color: transparent transparent;\n  transition: scrollbar-color var(--transition-fast);\n}\n\n.catalog-page__main > app-filter-sidebar:hover,\n.catalog-page__main > app-filter-sidebar:focus-within {\n  scrollbar-color: var(--color-border-primary) transparent;\n}\n\n.catalog-page__main > app-filter-sidebar::-webkit-scrollbar {\n  width: 4px;\n}\n\n.catalog-page__main > app-filter-sidebar::-webkit-scrollbar-track {\n  background: transparent;\n}\n\n.catalog-page__main > app-filter-sidebar::-webkit-scrollbar-thumb {\n  background: transparent;\n  border-radius: 999px;\n  transition: background var(--transition-fast);\n}\n\n.catalog-page__main > app-filter-sidebar:hover::-webkit-scrollbar-thumb,\n.catalog-page__main > app-filter-sidebar:focus-within::-webkit-scrollbar-thumb {\n  background: var(--color-border-primary);\n}\n\n/* ── Product grid ──────────────────────────────────────────────────────── */\n.catalog-page__grid {\n  display: grid;\n  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));\n  gap: var(--space-6);\n}\n\n.catalog-page__grid--list {\n  grid-template-columns: 1fr;\n  gap: var(--space-3);\n}\n\n/* ── Pagination ────────────────────────────────────────────────────────── */\n.catalog-page__pagination {\n  display: flex;\n  justify-content: center;\n  padding: var(--space-8) 0 var(--space-4);\n}\n\n/* ── Empty state ───────────────────────────────────────────────────────── */\n.catalog-page__empty {\n  display: flex;\n  flex-direction: column;\n  align-items: center;\n  justify-content: center;\n  text-align: center;\n  padding: var(--space-section) var(--space-6);\n  min-height: 20rem;\n}\n\n.catalog-page__empty-mascot {\n  display: block;\n  max-width: 140px;\n  height: auto;\n  margin: 0 auto var(--space-4);\n  opacity: 0.95;\n}\n\n.catalog-page__empty-title {\n  font-family: var(--font-family-heading);\n  font-size: var(--text-size-xl);\n  font-weight: var(--font-weight-heading);\n  color: var(--color-text-primary);\n  margin: 0 0 var(--space-2);\n}\n\n.catalog-page__empty-text {\n  font-family: var(--font-family-body);\n  font-size: var(--text-size-base);\n  color: var(--color-text-secondary);\n  margin: 0 0 var(--space-6);\n  max-width: 25rem;\n  line-height: var(--leading-relaxed);\n}\n\n.catalog-page__empty-link {\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-brand-primary);\n  text-decoration: underline;\n  text-underline-offset: 2px;\n}\n\n.catalog-page__empty-link:hover {\n  color: var(--color-brand-primary-hover);\n}\n\n/* ── Responsive ────────────────────────────────────────────────────────── */\n@media (max-width: 1023px) {\n  .catalog-page__main {\n    grid-template-columns: 220px 1fr;\n    gap: var(--space-6);\n  }\n\n  .catalog-page__grid {\n    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));\n  }\n}\n\n@media (max-width: 767px) {\n  .catalog-page {\n    padding: 0 var(--grid-margin);\n  }\n\n  .catalog-page__title {\n    font-size: var(--text-size-2xl);\n  }\n\n  .catalog-page__main {\n    grid-template-columns: 1fr;\n    gap: var(--space-4);\n  }\n\n  /* Hide static sidebar column on mobile — use drawer instead.\n     `display: contents` quita la caja del host (sale del grid y anula las\n     reglas sticky de escritorio), pero deja renderizar a sus hijos: el drawer\n     y el backdrop, ambos position: fixed, que entran al viewport. Con\n     `display: none` se ocultaba también el drawer y nunca abría. */\n  .catalog-page__main > app-filter-sidebar {\n    display: contents;\n  }\n\n  .catalog-page__filter-toggle {\n    display: flex;\n  }\n\n  .catalog-page__grid {\n    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));\n    gap: var(--space-4);\n  }\n\n  .catalog-page__grid--list {\n    grid-template-columns: 1fr;\n  }\n\n  /* Row 1: product count (full width) */\n  .catalog-page__result-count {\n    order: -2;\n    flex-basis: 100%;\n  }\n\n  /* Row 2: search + view toggle */\n  .catalog-page__toolbar-search {\n    flex: 1;\n    min-width: 0;\n    max-width: none;\n    order: -1;\n  }\n\n  .catalog-page__view-toggle {\n    order: -1;\n  }\n\n  /* Row 3: filter + page-size + sort (full width, truncate sort) */\n  .catalog-page__toolbar-actions {\n    flex-basis: 100%;\n    min-width: 0;\n  }\n\n  .catalog-page__toolbar-actions app-sort-dropdown {\n    min-width: 0;\n    flex: 1 1 0;\n  }\n}\n"],
  "mappings": "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",
  "names": []
}
