/* ═══════════════════════════════════════════════════════════════════
   VORTEX · TIENDA (sistema visual compartido)
   Reutiliza la paleta y tipografía globales del sitio (--c/--p/--o/--gold,
   P1984 + Exo 2). No redefine el header — solo estilos propios de la
   tienda: grillas de producto, badges, precios, carrito, checkout.
   Usado por: tienda/*, producto/*, carrito, checkout, vitrinas insertadas
   en las páginas de división existentes.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --vx-c:#00f5ff; --vx-p:#7b2fff; --vx-o:#ff6b00; --vx-gold:#ffd700;
  --vx-bg:#0a0a0f; --vx-card:rgba(255,255,255,.04); --vx-border:rgba(255,255,255,.1);
  --vx-text:#f0f0f8; --vx-text-dim:rgba(240,240,248,.68);
}
.vx-store{color:var(--vx-text);font-family:'Exo 2',sans-serif}
.vx-store h1,.vx-store h2,.vx-store h3,.vx-store .vx-h{font-family:'P1984',sans-serif;font-weight:900;letter-spacing:.02em}
.vx-store-section{max-width:1240px;margin:0 auto;padding:3.5rem 1.5rem}
.vx-store-eyebrow{font-family:'P1984',sans-serif;font-weight:100;font-size:.62rem;letter-spacing:.28em;color:var(--vx-c);text-transform:uppercase;margin-bottom:.6rem;display:block}
.vx-store-title{font-size:clamp(1.6rem,3.6vw,2.6rem);margin:0 0 .5rem;line-height:1.1}
.vx-store-sub{color:var(--vx-text-dim);max-width:640px;line-height:1.6;font-size:.95rem;margin-bottom:2rem}

/* ---- Identidad secundaria de colección (logo pequeño junto al título) ---- */
.vx-collection-identity{display:flex;align-items:center;flex-wrap:wrap;gap:.9rem;margin-bottom:.5rem}
.vx-collection-badge{width:64px;height:64px;max-width:100%;object-fit:contain;flex-shrink:0}
@media(max-width:480px){.vx-collection-badge{width:48px;height:48px}}

/* ---- Grilla de producto ---- */
.vx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem}
.vx-card{position:relative;background:var(--vx-card);border:1px solid var(--vx-border);display:flex;flex-direction:column;overflow:hidden;transition:border-color .2s,transform .2s}
.vx-card:hover{border-color:rgba(0,245,255,.4);transform:translateY(-2px)}
.vx-card-img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;background:#0a0a0f;display:block}
/* Selectivo, vía catalog.source.json → "imageFit":"contain" (ver vortex-store.js
   cardHtml()). Para portadas cuadradas/verticales reales que object-fit:cover
   recortaría (texto, logos o bordes cortados) — mantiene el mismo aspect-ratio
   4/3 del contenedor de la tarjeta, pero encuadra sin recortar y centra sobre
   un fondo VORTEX oscuro. Las tarjetas que no declaran este campo siguen
   exactamente igual que antes (object-fit:cover, sin padding). */
.vx-card-img--contain{object-fit:contain;background:#050508;padding:0}
.vx-card-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.vx-card-division{font-size:.58rem;letter-spacing:.16em;text-transform:uppercase;color:var(--vx-c);opacity:.85}
.vx-card-title{font-family:'P1984',sans-serif;font-weight:900;font-size:.92rem;line-height:1.3;color:#fff;margin:0}
.vx-card-desc{font-size:.78rem;color:var(--vx-text-dim);line-height:1.5;flex:1}
.vx-card-price{display:flex;align-items:baseline;gap:.5rem;margin-top:.25rem}
.vx-card-price .now{font-family:'P1984',sans-serif;font-weight:900;font-size:1.05rem;color:var(--vx-gold)}
.vx-card-price .was{font-size:.72rem;color:var(--vx-text-dim);text-decoration:line-through;opacity:.6}
.vx-card-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}

/* ---- Badges de estado / tipo ---- */
.vx-badge{display:inline-block;font-family:'P1984',sans-serif;font-weight:900;font-size:.52rem;letter-spacing:.12em;text-transform:uppercase;padding:.3rem .55rem;border:1px solid currentColor}
.vx-badge-activo{color:var(--vx-c);background:rgba(0,245,255,.08)}
.vx-badge-proximamente{color:var(--vx-gold);background:rgba(255,215,0,.08)}
.vx-badge-agotado{color:#ff4d6d;background:rgba(255,77,109,.08)}
.vx-badge-borrador{color:rgba(255,255,255,.55);background:rgba(255,255,255,.05)}
.vx-badge-destacado{color:var(--vx-o);background:rgba(255,107,0,.1)}
.vx-card-badges{position:absolute;top:.6rem;left:.6rem;display:flex;gap:.35rem;flex-wrap:wrap;z-index:1}

/* ---- Botones (mismo lenguaje visual que .btn-p/.btn-s del sitio) ---- */
.vx-btn{font-family:'P1984',sans-serif;font-weight:900;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;padding:.7rem 1.2rem;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border:none;cursor:pointer;clip-path:polygon(7px 0%,100% 0%,calc(100% - 7px) 100%,0% 100%);transition:all .2s}
.vx-btn-primary{background:var(--vx-c);color:#000}
.vx-btn-primary:hover{background:#fff}
.vx-btn-secondary{background:transparent;color:var(--vx-c);border:1px solid rgba(0,245,255,.4);clip-path:none;padding:.68rem 1.15rem}
.vx-btn-secondary:hover{background:rgba(0,245,255,.08)}
.vx-btn-whatsapp{background:#25D366;color:#04140b}
.vx-btn[disabled],.vx-btn.is-disabled{opacity:.4;cursor:not-allowed;pointer-events:none}
.vx-btn-block{width:100%}

/* ---- Filtros de división en /tienda ---- */
.vx-chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.vx-chip{font-family:'P1984',sans-serif;font-weight:100;font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;padding:.5rem .9rem;border:1px solid var(--vx-border);color:var(--vx-text-dim);text-decoration:none;background:rgba(255,255,255,.02)}
.vx-chip:hover,.vx-chip.is-active{color:#000;background:var(--vx-c);border-color:var(--vx-c)}

/* ---- Carrito (header) ---- */
.vx-cart-link{position:relative;display:inline-flex;align-items:center;gap:.35rem}
.vx-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:1.05rem;height:1.05rem;padding:0 .25rem;border-radius:50%;background:var(--vx-gold);color:#0a0a0f;font-family:'P1984',sans-serif;font-weight:900;font-size:.55rem;line-height:1}
.vx-cart-count[data-count="0"]{display:none}

/* ---- Página de producto ---- */
.vx-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:2.5rem;align-items:start}
@media (max-width:860px){.vx-product{grid-template-columns:1fr}}
.vx-product-gallery img{width:100%;border:1px solid var(--vx-border);display:block;margin-bottom:.6rem}
.vx-product-panel{position:sticky;top:1.5rem;border:1px solid var(--vx-border);background:var(--vx-card);padding:1.5rem}
.vx-product-panel .price-now{font-family:'P1984',sans-serif;font-weight:900;font-size:1.8rem;color:var(--vx-gold);display:block}
.vx-product-panel .price-was{font-size:.8rem;color:var(--vx-text-dim);text-decoration:line-through}
.vx-product-meta{display:flex;flex-direction:column;gap:.6rem;margin:1.2rem 0;font-size:.82rem}
.vx-product-meta .row{display:flex;justify-content:space-between;border-bottom:1px solid var(--vx-border);padding-bottom:.5rem}
.vx-product-meta .row span:first-child{color:var(--vx-text-dim)}
.vx-qa{margin-top:1rem;font-size:.85rem;line-height:1.65;color:var(--vx-text-dim)}
.vx-qa h3{font-size:.95rem;color:#fff;margin:1.4rem 0 .5rem}
.vx-faq-item{border-bottom:1px solid var(--vx-border);padding:.8rem 0}
.vx-faq-item p{font-size:.82rem;color:var(--vx-text-dim);line-height:1.55;margin-top:.4rem}
.vx-ip-notice{margin-top:1rem;padding:.9rem 1rem;border:1px solid rgba(255,215,0,.35);background:rgba(255,215,0,.06);font-size:.75rem;line-height:1.55;color:rgba(255,255,255,.85)}
.vx-empty-state{text-align:center;padding:3rem 1rem;color:var(--vx-text-dim)}

/* ---- Carrito / checkout tablas ---- */
.vx-cart-table{width:100%;border-collapse:collapse}
.vx-cart-table td{padding:.9rem .5rem;border-bottom:1px solid var(--vx-border);font-size:.85rem;vertical-align:middle}
.vx-cart-table img{width:56px;height:56px;object-fit:cover;border:1px solid var(--vx-border)}
.vx-cart-summary{border:1px solid var(--vx-border);background:var(--vx-card);padding:1.5rem;max-width:380px;margin-left:auto}
.vx-cart-summary .total{font-family:'P1984',sans-serif;font-weight:900;font-size:1.4rem;color:var(--vx-gold)}
.vx-qty{display:inline-flex;align-items:center;border:1px solid var(--vx-border)}
.vx-qty button{background:none;border:none;color:#fff;width:1.8rem;height:1.8rem;cursor:pointer;font-size:.9rem}
.vx-qty input{width:2rem;text-align:center;background:none;border:none;color:#fff;font-family:'Exo 2',sans-serif}
.vx-remove{background:none;border:none;color:#ff4d6d;font-size:.72rem;cursor:pointer;text-decoration:underline}

/* ═══════════════════════════════════════════════════════════════════════
   TIENDA · PRELANZAMIENTO — STORE_LAUNCHED = false
   ---------------------------------------------------------------------
   Interruptor único. Mientras la tienda no esté abierta, ninguna página
   debe ofrecer afordancias de compra: ni icono de carrito, ni contador,
   ni enlaces al carrito o al checkout. Están en 40 páginas, así que se
   apagan aquí —la hoja que todas cargan— en vez de editarlas una a una.

   Se oculta la presentación, NO se borra nada: el marcado, vortex-cart.js
   y el flujo transaccional quedan intactos. Las rutas además responden 302
   hacia /tienda/ (ver _redirects), así que aunque alguien llegue por una
   URL guardada, aterriza en la página de prelanzamiento.

   PARA ABRIR LA TIENDA: borrar este bloque y quitar el gate de _redirects.
   ═══════════════════════════════════════════════════════════════════════ */
.vx-cart-link,
.vx-cart-count,
a[href="/carrito/"],
a[href="/checkout/"]{display:none !important}
