/* =======================================================
   HN – Taxonomy Grid
   ======================================================= */
/* Grid base */
.hn-tax-grid{ display:grid; gap: var(--hn-tax-gap, 16px); }
.hn-tax-grid.cols-1{ grid-template-columns:1fr; }
.hn-tax-grid.cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.hn-tax-grid.cols-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.hn-tax-grid.cols-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.hn-tax-grid.cols-5{ grid-template-columns:repeat(5,minmax(0,1fr)); }
.hn-tax-grid.cols-6{ grid-template-columns:repeat(6,minmax(0,1fr)); }

/* Tablet (≤1024px): usa clases t-cols-* elegidas en el widget */
@media (max-width:1024px){
  .hn-tax-grid.t-cols-1{ grid-template-columns:1fr; }
  .hn-tax-grid.t-cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hn-tax-grid.t-cols-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hn-tax-grid.t-cols-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .hn-tax-grid.t-cols-5{ grid-template-columns:repeat(5,minmax(0,1fr)); }
  .hn-tax-grid.t-cols-6{ grid-template-columns:repeat(6,minmax(0,1fr)); }
}

/* Móvil (≤768px): usa clases m-cols-* elegidas en el widget */
@media (max-width:768px){
  .hn-tax-grid.m-cols-1{ grid-template-columns:1fr; }
  .hn-tax-grid.m-cols-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hn-tax-grid.m-cols-3{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .hn-tax-grid.m-cols-4{ grid-template-columns:repeat(4,minmax(0,1fr)); }
  .hn-tax-grid.m-cols-5{ grid-template-columns:repeat(5,minmax(0,1fr)); }
  .hn-tax-grid.m-cols-6{ grid-template-columns:repeat(6,minmax(0,1fr)); }
}


/* ===== Tarjeta base ===== */
.hn-tax-card{
  position:relative; display:block; overflow:hidden;
  background:var(--ui-surface); color:var(--ui-text); text-decoration:none;
  border-radius: var(--hn-tax-radius, var(--radius-from-kit));
  border:0; box-shadow:none;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.hn-tax-card__media{ position:relative; width:100%; overflow:hidden; }
.hn-tax-card__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.hn-tax-card__cap{
  position:absolute; left:12px; right:12px; bottom:12px;
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:10px 12px; border-radius:12px;
  background: var(--hn-tax-cap-bg, rgba(0,0,0,.45));
  color:#fff; backdrop-filter:blur(2px);
}
.hn-tax-card__title{ margin:0; font-weight:700; font-style:normal; }
.hn-tax-card__count{ font-size:12px; font-style:normal; opacity:.95; }

/* Focus accesible */
.hn-tax-card:focus-visible{
  outline:none; box-shadow:0 0 0 3px color-mix(in srgb, var(--ui-primary) 30%, transparent);
}

/* ===== Fallback sin imagen ===== */
.hn-tax-card__fallback{
  position:absolute; inset:0; display:grid; place-items:center;
  background:color-mix(in srgb, var(--ui-primary) 12%, #fff);
}
.hn-tax-card__initial{
  font-weight:800; font-size:clamp(28px,6vw,44px);
  color:color-mix(in srgb, var(--ui-text) 75%, #fff);
}

/* =======================================================
   VARIANTES (diferenciadas)
   ======================================================= */

/* MODERN */
.hn-tax-card--modern{
  box-shadow:var(--ui-shadow, 0 8px 24px rgba(17,24,39,.08));
}
.hn-tax-card--modern .hn-tax-card__media img{ transform:scale(1.02); transition:transform .35s ease; }
.hn-tax-card--modern:hover .hn-tax-card__media img{ transform:scale(1.07); }
.hn-tax-card--modern .hn-tax-card__cap{
  background: color-mix(in srgb, #000 35%, transparent);
  border: 1px solid rgba(255,255,255,.15);
}

/* NOVA */
.hn-tax-card--nova .hn-tax-card__cap{
  left:50%; right:auto; bottom:50%; transform:translate(-50%,50%);
  min-width:62%; justify-content:center; text-align:center;
  background: rgba(0,0,0,.58);
}
.hn-tax-card--nova .hn-tax-card__media::after{
  content:""; position:absolute; inset:auto 0 0 0; height:45%;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 100%);
}
.hn-tax-card--nova:hover{ transform:translateY(-2px); }

/* ELEGANT */
.hn-tax-card--elegant{
  box-shadow: 0 1px 0 rgba(17,24,39,.06), 0 10px 24px rgba(17,24,39,.04);
}
.hn-tax-card--elegant .hn-tax-card__media::before{
  content:""; position:absolute; inset:0; border:1px solid color-mix(in srgb, var(--ui-text) 12%, #fff);
  border-radius:inherit; pointer-events:none;
}
.hn-tax-card--elegant .hn-tax-card__cap{
  left:10px; right:auto; bottom:10px; max-width:80%;
  background: color-mix(in srgb, #000 30%, transparent);
}

/* CLASSIC */
.hn-tax-card--classic .hn-tax-card__cap{
  left:0; right:0; bottom:0; border-radius:0;
  background: rgba(0,0,0,.55); padding:12px 14px;
}
.hn-tax-card--classic:hover{ filter:brightness(.98); }

/* COMPACT */
.hn-tax-card--compact{ box-shadow:none; }
.hn-tax-card--compact .hn-tax-card__cap{
  left:auto; right:10px; bottom:10px; border-radius:999px;
  background: rgba(0,0,0,.45); padding:8px 12px;
}
.hn-tax-card--compact .hn-tax-card__title{ font-weight:700; font-size:14px; }
.hn-tax-card--compact .hn-tax-card__count{ display:none; }

/* Hover común */
.hn-tax-card:hover{ transform:translateY(-2px); }