/* Harvest – Bloc Catégories Produits (WooCommerce) */

.hw-product-categories__grid{
  list-style:none;
  padding:0;
  margin:0;
}

.hw-product-categories--grid .hw-product-categories__grid{
  display:grid;
  grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));
  gap:16px;
}

.hw-product-categories--list .hw-product-categories__grid{
  display:block;
}

.hw-product-categories__item{
  position:relative;
}

.hw-product-categories--list .hw-product-categories__item{
  border-bottom:1px solid rgba(0,0,0,.08);
}

/* Card wrapper */
.hw-product-categories__card{
  position:relative;
}

/* Parent link */
.hw-product-categories__link{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:.75rem;
  text-decoration:none;
  height:100%;
  padding:14px 14px;
}

/* Make grid items feel consistent */
.hw-product-categories--grid .hw-product-categories__item{
  min-height:180px;
}

.hw-product-categories--list .hw-product-categories__link{
  flex-direction:row;
  justify-content:flex-start;
  align-items:center;
  text-align:left;
  padding:14px 0;
}

/* Media */
.hw-product-categories__media{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:80px;
}

.hw-product-categories--list .hw-product-categories__media{
  min-height:auto;
}

.hw-product-categories__image{
  display:block;
  max-width:100%;
  height:auto;
  max-height:110px;
}

.hw-product-categories--list .hw-product-categories__image{
  width:80px;
  height:80px;
  object-fit:contain;
}

.hw-product-categories__name{
  display:block;
  font-weight:600;
}

.hw-product-categories__count{
  display:block;
  opacity:.7;
  font-size:.9em;
  margin-top:.15rem;
}

.hw-product-categories__chevron{
  display:inline-block;
  opacity:.55;
  font-size:14px;
  margin-top:.25rem;
}

.hw-product-categories--list .hw-product-categories__chevron{
  margin-left:auto;
  margin-top:0;
}

/* ✅ Children popover (outside parent link => clean HTML) */
.hw-product-categories__children{
  position:absolute;
  left:0;
  right:0;
  top:100%;
  margin-top:10px;
  opacity:0;
  visibility:hidden;
  transform:translateY(6px);
  pointer-events:none;
  z-index:50;
}

.hw-product-categories__children-inner{
  background:#fff;
  border-radius:12px;
  box-shadow:0 12px 30px rgba(0,0,0,.12);
  padding:12px 14px;
}

.hw-product-categories__child-link{
  display:block;
  padding:6px 4px;
  text-decoration:none;
  line-height:1.2;
}

.hw-product-categories__child-link:hover{
  text-decoration:underline;
}

/* Hover + keyboard */
.hw-product-categories__item:hover .hw-product-categories__children,
.hw-product-categories__item:focus-within .hw-product-categories__children{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}

/* List: popover aligned to the right and not full width */
.hw-product-categories--list .hw-product-categories__children{
  left:auto;
  right:0;
  width:min(340px, 92vw);
}
