/* ===================== colección ===================== */
.section{padding-block:var(--sec-y);position:relative}
.section--alt{background:var(--surface-alt)}
.sechead{
  display:grid;grid-template-columns:minmax(24rem,1fr) minmax(0,26rem);
  align-items:end;gap:1.6rem 2.6rem;margin-bottom:2.4rem;
}
.sechead__txt{max-width:52rem}
/* el título comparte fila con los filtros: escala algo menor que el h2 suelto */
.sechead h2{font-size:clamp(1.7rem,1.1rem + 1.5vw,2.6rem)}
.sechead__lede,.sechead__note{margin:1rem 0 0;color:var(--ink-soft);max-width:44rem}
.sechead .filters{margin:0 0 .45rem;justify-content:flex-end}
/* filtros compactos: caben junto al texto sin empujarlo abajo */
.sechead .pill,.sechead .selectwrap select{text-transform:none;letter-spacing:.015em;font-size:.76rem}
.sechead .pill{padding:.4rem .8rem}
.sechead .selectwrap select{padding:.4rem 2.05rem .4rem 1.95rem}
.sechead .selectwrap .icon{width:.82rem;height:.82rem;right:.75rem}
.sechead .selectwrap .icon--pin{right:auto;left:.75rem}
.catpills{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1.1rem}
.filters__sep{width:1px;height:1.6rem;background:var(--line);margin-inline:.5rem}
.selectwrap{position:relative;display:inline-flex;align-items:center}
.selectwrap select{
  appearance:none;padding:.5rem 2.4rem .5rem 2.4rem;border-radius:999px;
  border:1px solid var(--line);background:var(--surface);color:var(--ink);
  font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
}
.selectwrap .icon{position:absolute;right:.85rem;width:.9rem;height:.9rem;pointer-events:none;color:var(--ink-mute)}
.selectwrap .icon--pin{right:auto;left:.9rem;color:var(--accent)}
.resultbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;font-size:.82rem;color:var(--ink-mute)}
.linkbtn{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid currentColor;padding-bottom:1px}
.linkbtn[hidden]{display:none}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem}

.card{
  position:relative;display:flex;flex-direction:column;
  background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);
  overflow:hidden;transition:border-color .3s ease,transform .3s ease;
}
.card:hover{border-color:color-mix(in oklab,var(--gold) 55%,transparent);transform:translateY(-3px)}
.card__media{position:relative;aspect-ratio:1;background:var(--bg-200);overflow:hidden}
.card__media svg,.card__media img{width:100%;height:100%;object-fit:cover}
.card__badge{
  position:absolute;top:.8rem;left:.8rem;z-index:2;
  padding:.3rem .7rem;border-radius:999px;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;
  background:var(--primary);color:var(--on-primary);
}
.card__badge--gold{background:var(--accent-bright);color:var(--on-accent)}
.card__rate{
  position:absolute;bottom:.8rem;right:.8rem;z-index:2;display:inline-flex;align-items:center;gap:.3rem;
  padding:.28rem .6rem;border-radius:999px;font-size:.7rem;
  background:color-mix(in oklab,var(--bg-50) 88%,transparent);color:var(--pri-900);
}
.card__rate svg{width:.75rem;height:.75rem;fill:var(--gold)}
.card__body{padding:1.1rem 1.15rem 1.25rem;display:flex;flex-direction:column;gap:.35rem;flex:1}
.card__name{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.32rem;line-height:1.15}
.card__meta{font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}
.card__desc{font-size:.88rem;color:var(--ink-soft);margin:.15rem 0 .35rem}
.card__foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:auto;padding-top:.6rem}
.price{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.6rem;letter-spacing:.01em}
.price span{font-size:.78rem;font-family:'Jost',sans-serif;color:var(--ink-mute);letter-spacing:.08em}
.addbtn{
  display:inline-flex;align-items:center;gap:.45rem;padding:.6rem 1rem;border-radius:var(--r-md);
  background:var(--primary);color:var(--on-primary);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  transition:background-color .25s ease;
}
.addbtn:hover{background:var(--accent-bright);color:var(--on-accent)}
.addbtn .icon{width:1rem;height:1rem}
.empty{
  grid-column:1/-1;text-align:center;padding:4rem 1.5rem;
  border:1px dashed var(--line);border-radius:var(--r-lg);
}
.empty h3{margin-bottom:.5rem}
.empty p{color:var(--ink-soft);max-width:36ch;margin-inline:auto}
/* ===================== zoom de producto (reemplaza la calificación) ===================== */
.zoombtn{
  position:absolute;bottom:.8rem;right:.8rem;z-index:2;
  display:inline-flex;align-items:center;justify-content:center;
  width:2.1rem;height:2.1rem;border-radius:999px;border:none;cursor:zoom-in;
  background:color-mix(in oklab,var(--bg-50) 88%,transparent);color:var(--primary);
  transition:background-color .2s ease,color .2s ease;
}
.zoombtn:hover,.zoombtn:focus-visible{background:var(--accent-bright);color:var(--on-accent)}
.zoombtn .icon{width:1.05rem;height:1.05rem}

.zoom-overlay{
  position:fixed;inset:0;z-index:90;display:none;align-items:center;justify-content:center;
  background:color-mix(in oklab,var(--pri-950) 55%,transparent);backdrop-filter:blur(2px);
  padding:2rem;
}
.zoom-overlay.show{display:flex}
.zoom-overlay img{
  max-width:min(90vw,640px);max-height:88vh;border-radius:var(--r-lg);
  box-shadow:0 20px 60px rgba(0,0,0,.35);object-fit:contain;background:var(--surface);
}
.zoom-overlay__close{
  position:absolute;top:1rem;right:1rem;width:2.4rem;height:2.4rem;border-radius:999px;
  background:var(--bg-50);color:var(--pri-900);display:none;align-items:center;justify-content:center;border:none;
}
.zoom-overlay__close{display:inline-flex}

}

}
