/* AGAFORT Global Category Listing V2 — scoped to /categories/{id} listing shell only.
   Geometry is content-driven. Do not hardcode results-panel pixel widths. */

.ag-category-listing-v2 {
  --ag-catv2-sidebar: 250px;
  --ag-catv2-gap: 16px;
  --ag-catv2-chrome: #f1f1f2;
  --ag-catv2-surface: #fff;
  background: var(--ag-catv2-chrome);
  padding-block: 16px 24px;
}

.ag-category-listing-v2 .ag-catalog-section {
  position: relative;
}

.ag-category-listing-v2 .ag-catalog-layout {
  display: flex;
  align-items: flex-start;
  gap: var(--ag-catv2-gap);
  grid-template-columns: none;
}

.ag-category-listing-v2 .ag-catalog-sidebar {
  flex: 0 0 var(--ag-catv2-sidebar);
  width: var(--ag-catv2-sidebar);
  max-width: var(--ag-catv2-sidebar);
  box-sizing: border-box;
  background: var(--ag-catv2-surface);
  border: 0;
  border-radius: 4px;
  padding: 10px 16px 14px;
  position: sticky;
  top: 1rem;
}

.ag-category-listing-v2 .ag-catalog-main {
  flex: 1 1 auto;
  min-width: 0;
  background: var(--ag-catv2-surface);
  border-radius: 4px;
  container-type: inline-size;
  container-name: ag-catv2-results;
}

.ag-catv2-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 48px;
  padding: 8px 16px;
  box-sizing: border-box;
}

.ag-catv2-heading-copy {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  flex: 1 1 auto;
}

.ag-catv2-title {
  margin: 0;
  font-family: var(--ag-heading-font, Sora, "DM Sans", sans-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--ag-dh-text, #111);
}

.ag-catv2-count {
  margin: 0;
  font-size: 15px;
  font-weight: 500;
  color: var(--ag-dh-muted, #6b7280);
  white-space: nowrap;
}

.ag-catv2-heading-sort {
  flex: 0 0 auto;
}

.ag-category-listing-v2 .ag-catalog-sort-form {
  gap: 6px;
}

.ag-category-listing-v2 .ag-catalog-sort-label {
  font-size: 14px;
}

.ag-category-listing-v2 .ag-catalog-sort {
  min-height: 36px;
  min-width: 140px;
  font-size: 14px;
  padding: .3rem .6rem;
}

.ag-catv2-related {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 16px;
  overflow-x: auto;
  scrollbar-width: thin;
}

.ag-catv2-related-link {
  flex: 0 0 auto;
  font-size: 13px;
  color: var(--ag-dh-text, #111);
  text-decoration: none;
  white-space: nowrap;
}

.ag-catv2-related-link:hover,
.ag-catv2-related-link:focus-visible {
  color: var(--ag-dh-primary);
  outline: none;
}

.ag-catv2-desc {
  font-size: 14px;
  line-height: 1.4;
  padding: 8px 16px;
  color: var(--ag-dh-muted, #4b5563);
}

.ag-catv2-desc p {
  margin: 0;
}

.ag-category-listing-v2 .ag-catalog-quick-chips {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 52px;
  padding: 8px;
  border-block: 1px solid var(--ag-dh-border, #e5e7eb);
  overflow-x: auto;
}

.ag-category-listing-v2 .ag-catalog-quick-chip {
  height: 36px;
  min-height: 36px;
  padding: 0 16px;
  border-radius: 18px;
  font-size: 14px;
}

.ag-category-listing-v2 .ag-catalog-chips {
  padding: 8px 16px;
}

.ag-category-listing-v2 .ag-catalog-filter-title {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  min-height: 34px;
}

.ag-category-listing-v2 .ag-catalog-filter-block {
  padding-block: 10px;
  border-bottom: 1px solid var(--ag-dh-border, #e5e7eb);
}

.ag-category-listing-v2 .ag-catalog-check {
  min-height: 34px;
  align-items: center;
}

.ag-category-listing-v2 .ag-catalog-check input {
  width: 20px;
  height: 20px;
  margin-top: 0;
}

.ag-category-listing-v2 .ag-catalog-filters-form input[type="search"],
.ag-category-listing-v2 .ag-catalog-filters-form input[type="number"] {
  min-height: 38px;
}

.ag-catalog-cat-current {
  min-height: 34px;
  display: flex;
  align-items: center;
  font-size: .875rem;
  font-weight: 700;
  color: var(--ag-dh-text, #111);
}

html[dir="rtl"] .ag-category-listing-v2 .ag-catalog-cat-node {
  padding-inline-start: 0;
  padding-inline-end: calc(var(--ag-cat-depth, 0) * .85rem);
}

.ag-category-listing-v2 .ag-catalog-grid.ag-pc-density[data-ag-pc-presentation="grid"] {
  --ag-pc-columns: 2;
  grid-template-rows: none;
  grid-auto-rows: auto;
  overflow: visible;
}

.ag-category-listing-v2 .ag-catalog-grid.ag-pc-density[data-ag-pc-presentation="grid"] > [hidden],
.ag-category-listing-v2 .ag-catalog-grid.ag-pc-density[data-ag-pc-presentation="grid"] > [data-ag-pc-hidden-item="1"] {
  display: block !important;
}

.ag-category-listing-v2 .ag-catalog-grid.ag-pc-density[data-ag-pc-presentation="grid"][data-ag-pc-short="1"] {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
}

.ag-category-listing-v2 .ag-dh-product-card {
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--ag-dh-border, #e5e7eb) 80%, transparent);
  box-shadow: none;
  border-radius: 4px;
}

.ag-category-listing-v2 .ag-dh-product-title {
  font-size: 13px;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@container ag-catv2-results (min-width: 520px) {
  .ag-catalog-grid.ag-pc-density[data-ag-pc-presentation="grid"] {
    --ag-pc-columns: 3 !important;
  }
}

@container ag-catv2-results (min-width: 780px) {
  .ag-catalog-grid.ag-pc-density[data-ag-pc-presentation="grid"] {
    --ag-pc-columns: 4 !important;
  }
}

@media (max-width: 991.98px) {
  .ag-category-listing-v2 .ag-catalog-layout {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
  }

  .ag-category-listing-v2 .ag-catalog-main {
    width: 100%;
    max-width: 100%;
  }

  .ag-category-listing-v2 .ag-catalog-sidebar {
    display: none;
  }

  .ag-catv2-heading-sort {
    display: none;
  }

  .ag-catv2-heading {
    flex-wrap: wrap;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  .ag-category-listing-v2 .ag-catalog-sidebar {
    flex-basis: var(--ag-catv2-sidebar);
  }
}
