/* ========= TIENDA V2 — COMPACT LAYOUT ========= */
/* Header: carrito a la derecha */
.hdr__act{margin-left:auto!important}

/* Hero mínimo: solo título + breadcrumb */
.store-top{background:#fff;border-bottom:1px solid var(--plum-line);padding:clamp(14px,2.5vw,22px) 0}
.store-top__in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem}
.store-top h1{font-size:clamp(1.2rem,2.4vw,1.65rem);margin:0}
.store-top__head{display:flex;flex-direction:column;gap:.25rem}
.breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--ink-soft)}
.breadcrumb a{color:var(--plum);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.breadcrumb span{color:var(--ink-soft)}

/* Mini banner */
.mini-banner{background:var(--plum-deep)}
.mini-banner__in{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;
  padding:clamp(22px,3.5vw,36px) clamp(18px,5vw,32px)}
.mini-banner__copy{max-width:42ch}
.mini-banner__copy h2{color:var(--ivory);font-size:clamp(1.1rem,2.2vw,1.5rem);line-height:1.15;margin:0}
.ef-banner { margin-bottom: .35rem; }
.ef-banner__name { margin: 0; }
.ef-banner__id { margin: .35rem 0 0; font-size: .82rem; font-weight: 500; color: rgba(255,255,255,.72); letter-spacing: .02em; }

/* Toolbar: búsqueda + sort */
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;padding:clamp(14px,2.5vw,20px) 0;
  border-bottom:1px solid var(--plum-line);margin-bottom:clamp(16px,2.5vw,24px)}
.toolbar__search{display:flex;align-items:center;gap:.5rem;flex:1;min-width:180px;max-width:280px;
  border:1.5px solid var(--plum-line);border-radius:100px;padding:.45rem .8rem;transition:border-color .16s}
.toolbar__search:focus-within{border-color:var(--plum)}
.toolbar__search svg{flex:0 0 auto;color:var(--ink-soft)}
.toolbar__search input{border:0;outline:0;background:transparent;font:inherit;font-size:.85rem;color:var(--ink);width:100%}
.toolbar__search input::placeholder{color:var(--ink-soft)}
.toolbar__sort{display:flex;align-items:center;gap:.45rem;margin-left:auto}
.toolbar__sort select{font:inherit;font-size:.82rem;padding:.42rem .6rem;border-radius:8px;border:1.5px solid var(--plum-line);
  background:#fff;color:var(--ink);font-family:var(--display);outline:none}
.toolbar__sort select:focus{border-color:var(--plum)}

/* Grid de productos — prioridad visual */
.pgrid{display:grid;gap:clamp(12px,2vw,18px);grid-template-columns:repeat(2,1fr)}
@media(min-width:940px){.pgrid{grid-template-columns:repeat(3,1fr)}}

/* Product Card */
.pcard{background:#fff;border:1px solid var(--plum-line);border-radius:var(--r);overflow:hidden;
  display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.pcard:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.pcard--out:hover{box-shadow:none;transform:none}
.pcard--out .pcard__slides img.active{opacity:.72}
.pcard--out .pcard__price b{color:var(--ink-soft)}
.pcard--hidden{display:none!important}
.pcard__foot .fx-stock-pill--compact{flex:0 0 auto;white-space:nowrap}
.pcard__link{display:block;text-decoration:none;color:inherit}
.pcard__link-text{text-decoration:none;color:inherit}
.pcard__link-price{text-decoration:none;color:inherit}

/* Gallery */
.pcard__gallery{position:relative;aspect-ratio:1/1;background:#fff;overflow:hidden;display:grid;place-items:center}
.pcard__slides{position:relative;width:100%;height:100%;display:grid;place-items:center}
.pcard__slides img{position:absolute;width:100%;height:100%;object-fit:contain;padding:.8rem;opacity:0;transition:opacity .3s}
.pcard__slides img.active{opacity:1}
.pcard__arrow{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.9);border:1px solid var(--plum-line);display:grid;place-items:center;
  cursor:pointer;transition:all .16s;z-index:2;opacity:0}
.pcard:hover .pcard__arrow{opacity:1}
.pcard__arrow:hover{background:var(--plum);border-color:var(--plum);color:#fff}
.pcard__arrow--prev{left:6px}
.pcard__arrow--next{right:6px}
.pcard__dots{position:absolute;bottom:6px;left:50%;transform:translateX(-50%);display:flex;gap:4px;z-index:2}
.pcard__dots span{width:6px;height:6px;border-radius:50%;background:var(--plum-line);transition:background .2s}
.pcard__dots span.active{background:var(--plum)}

.pcard__body{padding:1rem 1.05rem 1.15rem;display:flex;flex-direction:column;flex:1;gap:.3rem}
.pcard__name{font-family:var(--display);font-weight:700;font-size:1rem;line-height:1.2;letter-spacing:-.01em;color:var(--ink)}
.pcard__desc{font-size:.82rem;color:var(--ink-soft);line-height:1.45;margin:0;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pcard__foot{display:flex;align-items:flex-end;justify-content:space-between;margin-top:auto;padding-top:.7rem;
  border-top:1px solid var(--plum-line);gap:.5rem}
.pcard__price{display:flex;flex-direction:column}
.pcard__price b{font-family:var(--display);font-weight:700;font-size:1.15rem;color:var(--plum);line-height:1.1}
.pcard__price small{font-size:.76rem;color:var(--ink-soft)}
.pcard__add{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--plum);color:#fff;
  display:grid;place-items:center;border:0;cursor:pointer;transition:background .16s,transform .16s;
  box-shadow:0 6px 16px -6px rgba(0,147,221,.5)}
.pcard__add:hover{background:var(--plum-mid);transform:scale(1.08)}
.pcard__add svg{width:18px;height:18px}

/* Paginación */
.pagin{display:flex;justify-content:center;align-items:center;gap:.35rem;padding:clamp(20px,3vw,32px) 0}
.pagin__btn{width:38px;height:38px;border-radius:10px;border:1.5px solid var(--plum-line);background:#fff;
  font-family:var(--display);font-weight:600;font-size:.85rem;display:grid;place-items:center;cursor:pointer;transition:all .16s}
.pagin__btn:hover{border-color:var(--plum);color:var(--plum)}
.pagin__btn.active{background:var(--plum);color:#fff;border-color:var(--plum)}
.pagin__btn--arrow{font-size:1rem}

/* Toast */
.toast{position:fixed;bottom:72px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;
  font-family:var(--display);font-weight:600;font-size:.85rem;padding:.65rem 1.2rem;border-radius:100px;z-index:100;
  opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
.toast.on{opacity:1;transform:translateX(-50%) translateY(0)}
