/* WC Mega Category Infinite (MU) v1.3.4 */

:root {
  --wc-mcat-chip-bg: #f1f5f9;
  --wc-mcat-chip-bg-hover: #e2e8f0;
  --wc-mcat-chip-bg-active: #dbeafe;
  --wc-mcat-chip-border: #cbd5e1;
  --wc-mcat-chip-border-hover: #94a3b8;
  --wc-mcat-chip-text: #0f172a;
  --wc-mcat-chip-text-muted: #334155;
}

/* Accordion */
.wc-mcat-accordion {
  margin: .65rem 0 1rem 0;
  border: 1px solid var(--wc-mcat-chip-border);
  background: #fff;
  border-radius: 0;
}
.wc-mcat-accordion__summary {
  list-style: none;
  cursor: pointer;
  padding: .7rem .85rem;
  font-weight: 900;
  color: var(--wc-mcat-chip-text);
  user-select: none;
}
.wc-mcat-accordion__summary::-webkit-details-marker { display: none; }
.wc-mcat-accordion__summary::after {
  content: "▾";
  float: right;
  color: var(--wc-mcat-chip-text-muted);
}
.wc-mcat-accordion[open] .wc-mcat-accordion__summary::after { content: "▴"; }

.wc-mcat-tree { padding: .35rem .85rem .8rem .85rem; }

/* =========================================================
   Columns: balanced multi-columns (better natural distribution)
   - We override grid with multi-column flow.
   - Works even if HTML includes .wc-mcat-col wrappers.
   ========================================================= */
.wc-mcat-tree .wc-mcat-cols {
  display: block !important;          /* override previous grid */
  column-fill: balance !important;
  column-count: 1 !important;         /* mobile default */
  column-gap: 1rem !important;
}

/* Make wrappers transparent so groups can flow into columns */
.wc-mcat-tree .wc-mcat-col {
  display: contents !important;
}

/* Keep each group together (no splitting between columns) */
.wc-mcat-tree .wc-mcat-group {
  break-inside: avoid !important;
  -webkit-column-break-inside: avoid !important;
  display: inline-block !important;
  width: 100% !important;
  margin: 0 0 .55rem 0;
}

/* Tablet: 2 columns */
@media (min-width: 600px) {
  .wc-mcat-tree .wc-mcat-cols { column-count: 2 !important; }
}

/* Desktop: 3 columns */
@media (min-width: 900px) {
  .wc-mcat-tree .wc-mcat-cols { column-count: 3 !important; }
}

/* Rows */
.wc-mcat-tree__row {
  display: flex;
  align-items: center;
  gap: .45rem;
  margin: .22rem 0;
  padding-left: calc(var(--depth, 0) * 14px);
}
.wc-mcat-children {
  margin: .12rem 0 .35rem 0;
  padding-left: .15rem;
}

/* Toggle (+) */
.wc-mcat-toggle {
  width: 22px;
  height: 22px;
  padding: 0;
  border-radius: 0;
  border: 1px solid var(--wc-mcat-chip-border);
  background: #fff;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
}
.wc-mcat-toggle:hover {
  border-color: var(--wc-mcat-chip-border-hover);
  background: var(--wc-mcat-chip-bg-hover);
}
.wc-mcat-toggle--spacer { opacity: 0; pointer-events: none; }
.wc-mcat-toggle::before {
  content: "+";
  font-weight: 900;
  font-size: 14px;
  line-height: 1;
  color: var(--wc-mcat-chip-text-muted);
}
.wc-mcat-toggle[aria-expanded="true"]::before { content: "–"; }

/* Chip */
.wc-mcat-chip {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  border: 1px solid var(--wc-mcat-chip-border);
  background: var(--wc-mcat-chip-bg);
  color: var(--wc-mcat-chip-text);
  padding: .40rem .60rem;
  border-radius: 0;
  text-decoration: none;
  font-size: .90rem;
  line-height: 1.15;
  transition: transform .05s ease, background .15s ease, border-color .15s ease;
  min-width: 0;
  width: 100%;                 /* nicer alignment within columns */
  box-sizing: border-box;
  white-space: normal;         /* allow wrapping on long labels */
}
.wc-mcat-chip:hover {
  border-color: var(--wc-mcat-chip-border-hover);
  background: var(--wc-mcat-chip-bg-hover);
  transform: translateY(-1px);
  color: var(--wc-mcat-chip-text);
}
.wc-mcat-chip.is-active {
  border-color: var(--wc-mcat-chip-border-hover);
  background: var(--wc-mcat-chip-bg-active);
  font-weight: 900;
}

/* Slightly smaller for deeper levels */
.wc-mcat-tree__row[style*="--depth:3"] .wc-mcat-chip,
.wc-mcat-tree__row[style*="--depth:4"] .wc-mcat-chip,
.wc-mcat-tree__row[style*="--depth:5"] .wc-mcat-chip { font-size: .88rem; }

/* Mobile tweaks: when accordion is closed by default, keep it compact */
@media (max-width: 767px) {
  .wc-mcat-accordion { margin: .5rem 0 .75rem 0; }
  .wc-mcat-accordion__summary { padding: .65rem .75rem; }
  .wc-mcat-tree { padding: .25rem .75rem .6rem .75rem; }
  .wc-mcat-tree .wc-mcat-cols { column-count: 1 !important; column-gap: .75rem !important; }
}

/* Load more / status */
.wc-mcat-infinite { margin: 1rem 0 2.5rem 0; text-align: center; }
.wc-mcat-infinite__sentinel { width: 1px; height: 1px; margin: 0 auto; }
.wc-mcat-loadmore.is-loading { opacity: .75; cursor: progress; }
.wc-mcat-status { margin-top: .75rem; min-height: 1.25rem; opacity: .85; font-size: .95rem; color: var(--wc-mcat-chip-text-muted); }
.wc-mcat-products { min-height: 4rem; }
