/* =====================================================================
   VERSIÓN 2 — ZONA CARTAS TCG, MERCADILLO Y ÁLBUM (prefijo .zt-)
   Esquinas iguales (--v2-radio), rejillas minmax(0,1fr), tokens de v2.css.
   ===================================================================== */
.zt-pagina { --zt-panel: var(--v2-superficie); --zt-borde: var(--border-color); }
[data-theme="dark"] .zt-pagina { --zt-panel: #0f1b2d; --zt-borde: #1e2e45; }
.zt-pagina *, .zt-pagina *::before, .zt-pagina *::after { box-sizing: border-box; }
.zt-pagina img { max-width: 100%; }

/* ---------- Piezas comunes ---------- */
.zt-panel { background: var(--zt-panel); border: 1px solid var(--zt-borde); border-radius: var(--v2-radio); padding: 20px; }
.zt-h2 { margin: 0 0 14px; font: 800 20px/1.2 var(--font-display); letter-spacing: -.01em; display: flex; align-items: center; gap: 10px; }
.zt-h2 i { color: var(--nx-canal-txt); font-size: 17px; }
.zt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 42px; padding: 0 18px; border-radius: var(--v2-radio-s); border: 1px solid transparent; background: var(--v2-amarillo); color: #141005; font: 800 14px var(--font-display); text-decoration: none; cursor: pointer; transition: transform var(--transition-fast), filter var(--transition-fast); }
.zt-btn:hover { filter: brightness(1.06); transform: translateY(-1px); }
.zt-btn-sec { background: var(--v2-tarjeta); color: var(--text-main); border-color: var(--zt-borde); }
.zt-btn-sec:hover { background: var(--v2-tarjeta-hover); }
.zt-btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.zt-vacio { grid-column: 1 / -1; text-align: center; padding: 48px 20px; color: var(--v2-texto-2); }
.zt-vacio i { font-size: 44px; margin-bottom: 14px; color: var(--nx-canal-txt); }
.zt-vacio p { margin: 4px 0; }
.zt-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.zt-chips a, .zt-chips button { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--zt-borde); background: var(--zt-panel); color: var(--v2-texto-2); font: 700 13.5px var(--font-primary); text-decoration: none; cursor: pointer; }
.zt-chips a:hover, .zt-chips button:hover { color: var(--text-main); border-color: var(--nx-canal); }
.zt-chips .activo { background: var(--v2-amarillo); border-color: var(--v2-amarillo); color: #141005; }
.zt-campo { min-width: 0; }
.zt-campo-ancho { grid-column: 1 / -1; }
.zt-campo label, .zt-etq { display: block; margin-bottom: 5px; font: 800 11px var(--font-primary); letter-spacing: .06em; text-transform: uppercase; color: var(--v2-texto-3); }
.zt-campo input, .zt-campo select, .zt-campo textarea, .zt-input { width: 100%; min-height: 40px; padding: 8px 10px; border-radius: var(--v2-radio-s); border: 1px solid var(--zt-borde); background: var(--bg-input); color: var(--text-main); font: 500 14px var(--font-primary); }
.zt-campo input:focus, .zt-campo select:focus, .zt-campo textarea:focus, .zt-input:focus { outline: 2px solid var(--nx-canal); outline-offset: 1px; }
.zt-precio-chip { display: inline-block; padding: 2px 8px; border-radius: 6px; color: #146c3a; background: rgba(34, 160, 90, .13); font-weight: 800; }
[data-theme="dark"] .zt-precio-chip { color: #6ee7a0; }
.zt-miga-sec { color: var(--v2-texto-3); font-size: 13px; }

/* ---------- Entradas (cuatro accesos bajo la cabecera) ---------- */
.zt-entradas { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 22px; }
.zt-entrada { display: flex; align-items: flex-start; gap: 12px; padding: 14px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); text-decoration: none; color: var(--text-main); transition: border-color var(--transition-fast), transform var(--transition-fast); }
.zt-entrada:hover { border-color: var(--nx-canal); transform: translateY(-2px); }
.zt-entrada-ico { flex: 0 0 40px; height: 40px; display: grid; place-items: center; border-radius: var(--v2-radio-s); font-size: 17px; color: var(--nx-canal-txt); background: color-mix(in srgb, var(--nx-canal) 16%, transparent); }
.zt-entrada strong { display: block; font: 800 14.5px/1.25 var(--font-display); }
.zt-entrada small { display: block; margin-top: 3px; font-size: 12.5px; line-height: 1.4; color: var(--v2-texto-2); }
@media (max-width: 1100px) { .zt-entradas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .zt-entradas { gap: 8px; } .zt-entrada small { display: none; } .zt-entrada { align-items: center; padding: 10px; gap: 9px; } .zt-entrada-ico { flex-basis: 34px; height: 34px; font-size: 15px; } .zt-entrada strong { font-size: 13px; } }

/* ---------- Catálogo /tcg: filtros a un lado + rejilla ---------- */
.zt-catalogo { display: grid; grid-template-columns: 268px minmax(0, 1fr); gap: 22px; align-items: start; margin-bottom: 34px; }
.zt-filtros-caja { position: sticky; top: calc(var(--header-h, 72px) + 16px); }
.zt-filtros { background: var(--zt-panel); border: 1px solid var(--zt-borde); border-radius: var(--v2-radio); }
.zt-filtros summary { list-style: none; display: flex; align-items: center; gap: 9px; padding: 14px 16px; font: 800 15px var(--font-display); cursor: default; }
.zt-filtros summary::-webkit-details-marker { display: none; }
.zt-filtros summary i { color: var(--nx-canal-txt); }
.zt-filtros summary small { margin-left: auto; font: 600 12px var(--font-primary); color: var(--v2-texto-3); }
.zt-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; padding: 4px 16px 16px; }
.zt-rejilla { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; transition: opacity .2s; }
@media (max-width: 1280px) { .zt-rejilla { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 959px) {
    .zt-catalogo { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .zt-filtros-caja { position: static; }
    .zt-filtros summary { cursor: pointer; }
    .zt-filtros summary::after { content: "\25BE"; color: var(--v2-texto-3); }
    .zt-filtros[open] summary::after { content: "\25B4"; }
}
@media (max-width: 640px) { .zt-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }

/* Tarjeta de carta */
.zt-carta { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 10px 10px 12px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); min-width: 0; transition: border-color var(--transition-fast), transform var(--transition-fast); }
.zt-carta:hover { border-color: var(--nx-canal); transform: translateY(-2px); }
.zt-carta.collected { border-color: var(--v2-azul); box-shadow: 0 0 0 1px var(--v2-azul) inset; }
.zt-carta-enl { display: block; text-decoration: none; color: var(--text-main); }
.zt-carta-img { display: block; aspect-ratio: 5 / 7; border-radius: 8px; overflow: hidden; background: var(--v2-tarjeta); }
.zt-carta-img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.zt-carta h3 { margin: 8px 0 0; font: 800 15px/1.25 var(--font-display); overflow-wrap: anywhere; }
.zt-carta-set { font-size: 12.5px; line-height: 1.35; color: var(--v2-texto-2); }
.zt-carta-marcas { display: flex; flex-wrap: wrap; gap: 4px; }
.zt-marca { display: inline-block; padding: 2px 7px; margin: 0; border-radius: 6px; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.zt-marca:not(.type-badge) { color: var(--v2-texto-2); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.zt-marca.type-badge { margin: 0; padding: 2px 7px; font-size: 10px; border-color: transparent; }
.zt-carta-txt { margin: 0; font-size: 12px; line-height: 1.4; font-style: italic; color: var(--v2-texto-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.zt-precio { margin-top: auto; padding-top: 4px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; font-weight: 800; }
.zt-precio small { font-size: 11px; font-weight: 700; color: var(--v2-texto-3); text-transform: uppercase; letter-spacing: .05em; }
.zt-precio > span { padding: 2px 8px; border-radius: 6px; color: #146c3a; background: rgba(34, 160, 90, .13); }
[data-theme="dark"] .zt-precio > span { color: #6ee7a0; }
.zt-precio > span:nth-of-type(2) { padding: 0; background: none; font-size: 11px; font-weight: 600; color: var(--v2-texto-3); }
.zt-tengo { position: absolute; top: 14px; left: 14px; z-index: 2; padding: 3px 8px; border-radius: 6px; background: #1259c3; color: #fff; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.zt-tengo[hidden] { display: none; }
.zt-coleccion { display: flex; align-items: center; justify-content: center; gap: 12px; padding-top: 8px; border-top: 1px dashed var(--zt-borde); }
.zt-coleccion .btn-collection-adjust { width: 32px; height: 32px; border-radius: 8px; }
.zt-qty { min-width: 22px; text-align: center; font-weight: 800; }
.zt-paginas { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; gap: 14px; padding: 18px 0 4px; margin-top: 8px; border-top: 1px solid var(--zt-borde); font-size: 14px; color: var(--v2-texto-2); }
.zt-pag-btn { width: 42px; height: 42px; display: grid; place-items: center; border-radius: var(--v2-radio-s); border: 0; background: var(--v2-amarillo); color: #141005; cursor: pointer; }
.zt-pag-btn:disabled, .zt-pag-btn.disabled { background: var(--v2-tarjeta); color: var(--v2-texto-3); cursor: not-allowed; }

/* Bloque de tienda */
.zt-tienda { margin: 0 0 30px; padding: 20px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); }
.zt-tienda-cab { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.zt-tienda-cab h2 { margin: 0; font: 800 20px var(--font-display); }
.zt-tienda-cab a { font-size: 13px; font-weight: 700; color: var(--nx-canal-txt); text-decoration: none; }

/* ---------- Expansiones: muro de logos ---------- */
.zt-saltos { position: sticky; top: calc(var(--header-h, 72px) + 8px); z-index: 5; padding: 8px; border-radius: var(--v2-radio); background: color-mix(in srgb, var(--v2-superficie) 92%, transparent); backdrop-filter: blur(6px); border: 1px solid var(--zt-borde); }
.zt-saltos b { font-size: 11px; padding: 1px 7px; border-radius: 999px; background: var(--v2-tarjeta); color: var(--v2-texto-2); }
.zt-saltos a { scroll-margin-top: 90px; }
.zt-era { margin-bottom: 34px; scroll-margin-top: 130px; }
.zt-era-t { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; font: 800 22px/1.2 var(--font-display); }
.zt-era-t::before { content: ""; width: 6px; height: 24px; border-radius: 3px; background: var(--nx-canal); }
.zt-era-t span { font: 700 12px var(--font-primary); padding: 3px 10px; border-radius: 999px; color: var(--v2-texto-2); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.zt-logos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(200px, 100%), 1fr)); gap: 12px; }
.zt-logo-tile { display: flex; flex-direction: column; gap: 4px; padding: 12px; border-radius: var(--v2-radio); text-decoration: none; background: var(--zt-panel); border: 1px solid var(--zt-borde); transition: border-color var(--transition-fast), transform var(--transition-fast); }
.zt-logo-tile:hover { border-color: var(--nx-canal); transform: translateY(-2px); }
.zt-logo-caja { position: relative; display: grid; place-items: center; height: 78px; margin-bottom: 6px; border-radius: var(--v2-radio-s); background: var(--v2-tarjeta); overflow: hidden; }
.zt-logo-caja i { color: var(--v2-texto-3); opacity: .5; font-size: 24px; }
.zt-logo-img { position: absolute; inset: 8px; width: calc(100% - 16px); height: calc(100% - 16px); object-fit: contain; }
.zt-logo-img.logo-fallido { display: none; }
.zt-logo-nom { font: 800 14px/1.25 var(--font-display); color: var(--text-main); overflow-wrap: anywhere; }
.zt-logo-num { font-size: 12px; color: var(--v2-texto-2); font-variant-numeric: tabular-nums; }
@media (max-width: 560px) { .zt-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .zt-logo-caja { height: 64px; } .zt-saltos { position: static; } }

/* ---------- Expansión: cabecera con logo + álbum de cartas ---------- */
.zt-migas-set { margin-bottom: 14px; }
.zt-set-cab { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 24px; align-items: center; padding: 22px; margin-bottom: 24px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); border-top: 3px solid var(--nx-canal); }
.zt-set-logo { display: grid; place-items: center; min-height: 150px; padding: 18px; border-radius: var(--v2-radio-s); background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--nx-canal) 22%, transparent), var(--v2-tarjeta) 70%); }
.zt-set-logo > i { font-size: 44px; color: var(--v2-texto-3); }
.zt-set-logo-img { display: block; width: 100%; max-height: 130px; height: auto; object-fit: contain; }
.zt-set-logo-img.logo-fallido { display: none; }
.zt-set-txt h1 { margin: 0 0 8px; font: 800 clamp(26px, 3vw, 36px)/1.12 var(--font-display); letter-spacing: -.02em; text-wrap: balance; }
.zt-set-txt p { margin: 0 0 12px; max-width: 64ch; font-size: 15px; line-height: 1.6; color: var(--v2-texto-2); }
.zt-set-txt p strong { color: var(--text-main); }
.zt-datos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.zt-datos li { display: inline-flex; align-items: center; gap: 7px; padding: 5px 12px; border-radius: 999px; font-size: 13px; color: var(--v2-texto-2); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.zt-datos i { color: var(--nx-canal-txt); }
.zt-datos b { color: var(--text-main); }
.zt-album { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px 12px; }
.zt-celda { display: flex; flex-direction: column; gap: 6px; text-decoration: none; min-width: 0; }
.zt-celda-img { display: block; aspect-ratio: 245 / 342; border-radius: 10px; overflow: hidden; background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); transition: transform var(--transition-fast), border-color var(--transition-fast); }
.zt-celda:hover .zt-celda-img { transform: translateY(-4px); border-color: var(--nx-canal); }
.zt-celda-img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.zt-sin-img { display: grid; place-items: center; width: 100%; height: 100%; color: var(--v2-texto-3); font-size: 22px; }
.zt-celda-nom { font: 700 13px/1.3 var(--font-display); color: var(--text-main); overflow-wrap: anywhere; }
.zt-celda-pie { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-top: auto; font-size: 12px; color: var(--v2-texto-2); font-variant-numeric: tabular-nums; }
.zt-celda-eur { font-weight: 800; color: #146c3a; }
[data-theme="dark"] .zt-celda-eur { color: #6ee7a0; }
.zt-pager { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px; margin-top: 30px; }
.zt-pager-n, .zt-pager-b { min-width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 13px; border-radius: var(--v2-radio-s); border: 1px solid var(--zt-borde); background: var(--zt-panel); text-decoration: none; font-weight: 700; font-size: 14px; color: var(--v2-texto-2); }
.zt-pager-n:hover, .zt-pager-b:hover { color: var(--text-main); border-color: var(--nx-canal); }
.zt-pager-n.activo { background: var(--v2-amarillo); border-color: var(--v2-amarillo); color: #141005; }
.zt-pager-hueco { color: var(--v2-texto-3); padding: 0 3px; }
.zt-volver { margin: 26px 0 0; }
.zt-volver a { display: inline-flex; align-items: center; gap: 8px; color: var(--nx-canal-txt); text-decoration: none; font-weight: 700; font-size: 14.5px; }
.zt-volver a:hover { text-decoration: underline; }
@media (max-width: 1200px) { .zt-album { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 960px) { .zt-album { grid-template-columns: repeat(4, minmax(0, 1fr)); } .zt-set-cab { grid-template-columns: 200px minmax(0, 1fr); } }
@media (max-width: 640px) { .zt-album { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 8px; } .zt-set-cab { grid-template-columns: minmax(0, 1fr); padding: 16px; } .zt-set-logo { min-height: 110px; } .zt-celda-nom { font-size: 11.5px; } .zt-celda-pie { font-size: 11px; flex-wrap: wrap; } }

/* ---------- Ficha de carta ---------- */
.zt-fila-sup { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-bottom: 18px; }
.zt-volver-b { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border-radius: var(--v2-radio-s); border: 1px solid var(--zt-borde); background: var(--zt-panel); color: var(--text-main); font: 700 13.5px var(--font-primary); text-decoration: none; }
.zt-volver-b:hover { border-color: var(--nx-canal); }
.zt-ficha { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); gap: 28px; align-items: start; margin-bottom: 36px; }
.zt-ficha-izq { position: sticky; top: calc(var(--header-h, 72px) + 16px); display: grid; gap: 14px; }
.zt-ficha-der { display: grid; gap: 16px; min-width: 0; }
.zt-vitrina { position: relative; display: grid; place-items: center; padding: 28px; min-height: 420px; perspective: 700px; overflow: hidden; border-radius: var(--v2-radio); background: radial-gradient(circle at 50% 35%, color-mix(in srgb, var(--nx-canal) 24%, transparent), var(--v2-tarjeta) 72%); border: 1px solid var(--zt-borde); }
.zt-vitrina img { display: block; max-width: 100%; max-height: 460px; object-fit: contain; border-radius: 10px; transform: rotate(-2deg); filter: drop-shadow(0 22px 34px rgba(0, 0, 0, .45)); transition: transform .18s ease-out; will-change: transform; }
.zt-vitrina::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255, 255, 255, .16), transparent 55%); opacity: 0; transition: opacity .25s; pointer-events: none; }
.zt-vitrina.tilting::after { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .zt-vitrina img { transition: none; } }
.zt-album-ctl { text-align: center; display: grid; gap: 10px; justify-items: center; padding: 16px; }
.zt-album-ctl p { margin: 0; font-size: 14px; color: var(--v2-texto-2); }
.zt-album-ctl .zt-btn { width: 100%; }
.zt-coleccion-lg { border: 1px solid var(--zt-borde); border-radius: 999px; padding: 4px 14px; gap: 14px; background: var(--v2-tarjeta); }
.zt-coleccion-lg .btn-collection-adjust { width: 38px; height: 38px; font-size: 20px; border-radius: 50%; }
.zt-coleccion-lg .zt-qty { font-size: 20px; min-width: 32px; }
.zt-tengo-lg { padding: 4px 14px; border-radius: 999px; font-size: 13px; font-weight: 800; color: #fff; background: #1259c3; }

.zt-ficha-cab h1 { margin: 10px 0 6px; font: 800 clamp(28px, 3.2vw, 40px)/1.1 var(--font-display); letter-spacing: -.02em; }
.zt-ficha-marcas { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.zt-marca-lg { display: inline-block; padding: 3px 11px; border-radius: 999px; font-size: 12px; font-weight: 800; text-transform: uppercase; color: #141005; background: var(--v2-amarillo); }
.zt-marca-lg-b { color: var(--v2-texto-2); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.zt-marca-lg-t.type-badge { margin: 0; border-radius: 999px; padding: 3px 11px; }
.zt-ficha-set { margin: 0; font-size: 15px; color: var(--v2-texto-2); }
.zt-ficha-set a { color: var(--nx-canal-txt); font-weight: 700; text-decoration: none; }
.zt-ficha-set a:hover { text-decoration: underline; }

/* Mercado */
.zt-mercado { padding: 18px 20px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); border-left: 5px solid #22a05a; }
.zt-mercado-cab { display: grid; gap: 2px; margin-bottom: 8px; }
.zt-mercado-cab strong { font: 800 16px var(--font-display); }
.zt-mercado-cab strong i { color: #22a05a; margin-right: 6px; }
.zt-mercado-cab span { font-size: 12.5px; color: var(--v2-texto-2); }
.zt-mercado-fila { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px 18px; padding: 12px 0; border-top: 1px solid var(--zt-borde); }
.zt-mercado-marca { display: grid; gap: 6px; min-width: 0; }
.zt-chip-logo { display: inline-flex; align-items: center; gap: 7px; width: fit-content; padding: 5px 10px; border-radius: 8px; background: #fff; border: 1px solid rgba(0, 0, 0, .08); }
.zt-chip-logo span { font-size: 13px; font-weight: 800; color: #14335c; }
.zt-chip-logo img { display: block; }
.zt-mercado-region { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 12px; color: var(--v2-texto-2); }
.zt-viejo { display: inline-flex; align-items: center; gap: 4px; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; color: #92400e; background: #fef3c7; border: 1px solid #fcd34d; }
.zt-cifra { display: flex; flex-direction: column; align-items: flex-end; padding: 7px 16px 8px; border-radius: var(--v2-radio-s); font: 800 30px/1.05 var(--font-display); font-variant-numeric: tabular-nums; white-space: nowrap; color: #146c3a; background: rgba(34, 160, 90, .12); border: 1px solid rgba(34, 160, 90, .28); }
[data-theme="dark"] .zt-cifra { color: #6ee7a0; }
.zt-cifra small { font: 700 10px var(--font-primary); letter-spacing: .16em; text-transform: uppercase; color: var(--v2-texto-2); margin-bottom: 3px; }
.zt-cifra-usd { font-size: 17px; background: none; border: 0; color: var(--text-main); padding: 0 2px; }
[data-theme="dark"] .zt-cifra-usd { color: var(--text-main); }
.zt-btn-cm { white-space: nowrap; }
.zt-sin-precio { margin: 8px 0 0; padding: 8px 14px; text-align: center; border-radius: var(--v2-radio-s); font-size: 14px; font-weight: 700; color: var(--v2-texto-2); background: var(--v2-tarjeta); }
.zt-media-nota { margin: 6px 0 0; padding-top: 10px; border-top: 1px solid var(--zt-borde); font-size: 12.5px; line-height: 1.5; color: var(--v2-texto-2); }
.zt-media-nota i { margin-right: 5px; }

/* Datos */
.zt-datos-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.zt-datos-lista > div { padding: 10px 14px; border-radius: var(--v2-radio-s); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); display: grid; gap: 3px; }
.zt-datos-lista dt { font: 700 11.5px var(--font-primary); letter-spacing: .04em; text-transform: uppercase; color: var(--v2-texto-3); }
.zt-datos-lista dd { margin: 0; font-size: 15px; color: var(--text-main); }
.zt-tipo-mini.type-badge { margin: 0; font-size: 11px; padding: 2px 10px; }
.zt-regla { margin-top: 16px; }
.zt-regla h4 { margin: 0 0 6px; font: 800 14px var(--font-display); }
.zt-regla p { margin: 0; padding: 10px 14px; font-size: 14px; line-height: 1.55; font-style: italic; color: var(--v2-texto-2); border-left: 3px solid var(--nx-canal); background: var(--v2-tarjeta); border-radius: 0 var(--v2-radio-s) var(--v2-radio-s) 0; }
.zt-sobre { margin: 0; font-size: 15px; line-height: 1.7; color: var(--v2-texto-2); }

/* Relacionadas: tira horizontal */
.zt-relacionadas { margin: 0 0 40px; }
.zt-rel-sub { margin: -6px 0 16px; font-size: 14px; color: var(--v2-texto-2); }
.zt-rel-tira { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 170px); gap: 14px; overflow-x: auto; padding-bottom: 10px; scrollbar-width: thin; }
.zt-rel { display: flex; flex-direction: column; gap: 6px; padding: 10px; border-radius: var(--v2-radio); text-decoration: none; background: var(--zt-panel); border: 1px solid var(--zt-borde); transition: transform var(--transition-fast), border-color var(--transition-fast); }
.zt-rel:hover { transform: translateY(-4px); border-color: var(--nx-canal); }
.zt-rel-img { display: block; aspect-ratio: 245 / 342; }
.zt-rel-img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.zt-rel b { font: 700 13px/1.3 var(--font-display); color: var(--text-main); }
.zt-rel small { font-size: 11.5px; color: var(--v2-texto-2); }

@media (max-width: 960px) {
    .zt-ficha { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .zt-ficha-izq { position: static; }
    .zt-vitrina { min-height: 340px; }
}
@media (max-width: 560px) {
    .zt-mercado-fila { grid-template-columns: minmax(0, 1fr); }
    .zt-cifra { align-items: flex-start; }
    .zt-btn-cm { width: 100%; }
    .zt-datos-lista { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- ¿Cuánto vale mi carta? ---------- */
.zt-val { display: grid; grid-template-columns: 330px minmax(0, 1fr); gap: 22px; align-items: start; margin-bottom: 34px; }
.zt-val-lado { position: sticky; top: calc(var(--header-h, 72px) + 16px); display: grid; gap: 14px; }
.zt-val-form { display: grid; gap: 12px; }
.zt-val-form .zt-h2 { margin-bottom: 2px; }
.zt-val-form .zt-btn { width: 100%; }
.zt-pista { font-weight: 500; text-transform: none; letter-spacing: 0; font-size: 11.5px; }
.zt-val-scan { display: grid; gap: 10px; }
.zt-val-scan .zt-btn { width: 100%; }
.zt-nota { margin: 0; font-size: 12.5px; line-height: 1.55; color: var(--v2-texto-2); }
.zt-scan-estado { margin: 0; font-size: 14px; font-weight: 700; color: var(--nx-canal-txt); }
.zt-scan-estado[hidden] { display: none; }
.zt-val-cab { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.zt-val-cuenta { margin: 0; font-size: 15px; color: var(--v2-texto-2); }
.zt-val-estado { display: flex; align-items: center; gap: 8px; }
.zt-val-estado label { font-size: 13px; font-weight: 700; }
.zt-val-estado select { width: auto; }
.zt-val-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 14px; }
.zt-val-fila { position: relative; display: flex; gap: 14px; padding: 12px; border-radius: var(--v2-radio); text-decoration: none; color: var(--text-main); background: var(--zt-panel); border: 1px solid var(--zt-borde); transition: border-color var(--transition-fast), transform var(--transition-fast); }
.zt-val-fila:hover { border-color: var(--nx-canal); transform: translateY(-2px); }
.zt-val-mini { flex: 0 0 84px; height: 117px; border-radius: 8px; overflow: hidden; background: var(--v2-tarjeta); }
.zt-val-mini img { display: block; width: 100%; height: 100%; object-fit: contain; }
.zt-val-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.zt-val-info h2 { margin: 0; font: 800 16px/1.2 var(--font-display); }
.zt-val-meta { font-size: 12px; color: var(--v2-texto-2); }
.zt-val-eur { margin-top: 4px; font: 800 22px/1.1 var(--font-display); color: #146c3a; }
[data-theme="dark"] .zt-val-eur { color: #6ee7a0; }
.zt-val-sub { font-size: 11.5px; color: var(--v2-texto-3); }
.zt-val-ver { margin-top: auto; font-size: 12.5px; font-weight: 700; color: var(--nx-canal-txt); }
.zt-val-ver i { font-size: 10px; }
.zt-val-pos { position: absolute; top: 8px; left: 8px; z-index: 1; min-width: 24px; height: 24px; padding: 0 6px; display: grid; place-items: center; border-radius: 6px; font: 800 12px var(--font-display); color: #141005; background: var(--v2-amarillo); }
.zt-aviso { margin: 0; padding: 12px 14px; border-radius: var(--v2-radio-s); border: 1px dashed var(--zt-borde); font-size: 12.5px; line-height: 1.6; color: var(--v2-texto-2); }
.zt-val-nada { text-align: center; }
.zt-val-nada-t { margin: 0 0 12px; font: 800 19px var(--font-display); }
.zt-val-nada ul { text-align: left; max-width: 520px; margin: 0 auto 16px; padding-left: 20px; color: var(--v2-texto-2); line-height: 1.7; }
.zt-val-sub-top { margin: -6px 0 16px; font-size: 13.5px; color: var(--v2-texto-2); }
.zt-val-rank { margin: 6px 0 0; }
.zt-val-rank a { font-size: 14.5px; font-weight: 800; color: var(--nx-canal-txt); text-decoration: none; }
.zt-val-rank a:hover { text-decoration: underline; }

.zt-guia { margin-bottom: 34px; }
.zt-guia-intro { margin: -4px 0 18px; max-width: 70ch; color: var(--v2-texto-2); line-height: 1.6; }
.zt-pasos { list-style: none; counter-reset: paso; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.zt-pasos li { counter-increment: paso; position: relative; padding: 16px 16px 16px 60px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); }
.zt-pasos li::before { content: counter(paso); position: absolute; left: 14px; top: 14px; width: 34px; height: 34px; display: grid; place-items: center; border-radius: var(--v2-radio-s); font: 800 16px var(--font-display); color: #141005; background: var(--v2-amarillo); }
.zt-pasos h3 { margin: 0 0 6px; font: 800 16px var(--font-display); }
.zt-pasos p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--v2-texto-2); }
.zt-val-tienda { margin-bottom: 34px; }
.zt-val-tienda > p { margin: -4px 0 14px; color: var(--v2-texto-2); }
.zt-val-productos { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; }
.zt-val-prod { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 14px; text-align: center; text-decoration: none; border-radius: var(--v2-radio); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); color: var(--text-main); }
.zt-val-prod:hover { border-color: var(--nx-canal); }
.zt-val-prod img { width: 80px; height: 80px; object-fit: contain; }
.zt-val-prod span { font-size: 13px; font-weight: 600; line-height: 1.3; }
.zt-val-prod b { font-size: 12.5px; color: var(--nx-canal-txt); }
.zt-faq { margin-bottom: 26px; max-width: 820px; }
.zt-faq details { margin-bottom: 8px; padding: 12px 16px; border-radius: var(--v2-radio-s); background: var(--zt-panel); border: 1px solid var(--zt-borde); }
.zt-faq summary { cursor: pointer; font-weight: 700; }
.zt-faq details[open] summary { margin-bottom: 8px; }
.zt-faq p { margin: 0; line-height: 1.6; font-size: 14.5px; color: var(--v2-texto-2); }
.zt-copy { margin: 6px 0 30px; max-width: 820px; font-size: 12px; line-height: 1.6; color: var(--v2-texto-3); }
@media (max-width: 1100px) { .zt-val-lista { grid-template-columns: minmax(0, 1fr); } .zt-pasos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .zt-val { grid-template-columns: minmax(0, 1fr); } .zt-val-lado { position: static; } }
@media (max-width: 560px) { .zt-pasos { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Cartas más caras ---------- */
.zt-kicker { margin: 10px 0 0 !important; font: 800 12px var(--font-primary); letter-spacing: .1em; text-transform: uppercase; color: var(--nx-canal-txt) !important; }
.zt-top-stats { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.zt-top-stats > div { display: grid; padding: 10px 18px; border-radius: var(--v2-radio-s); background: var(--zt-panel); border: 1px solid var(--zt-borde); border-left: 3px solid var(--nx-canal); }
.zt-top-stats strong { font: 800 22px var(--font-display); color: var(--text-main); }
.zt-top-stats span { font-size: 12px; color: var(--v2-texto-2); }
.zt-podio { list-style: none; margin: 0 0 18px; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: end; }
.zt-podio-it { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 20px 16px 18px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); }
.zt-puesto-1 { order: 2; border-color: #d4a017; box-shadow: 0 0 0 1px #d4a017 inset, 0 12px 40px -18px #d4a017; padding-top: 28px; }
.zt-puesto-2 { order: 1; }
.zt-puesto-3 { order: 3; }
.zt-medalla { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; font: 800 18px var(--font-display); color: #141005; background: #cbd2dc; border: 3px solid var(--zt-panel); }
.zt-puesto-1 .zt-medalla { background: var(--v2-amarillo); }
.zt-puesto-3 .zt-medalla { background: #e0a070; }
.zt-podio-img { display: block; width: min(100%, 220px); aspect-ratio: 5 / 7; margin-top: 6px; }
.zt-puesto-1 .zt-podio-img { width: min(100%, 260px); }
.zt-podio-img img { display: block; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 14px 22px rgba(0, 0, 0, .4)); }
.zt-top-nombre { margin: 6px 0 0; font: 800 20px/1.2 var(--font-display); }
.zt-top-nombre a { color: var(--text-main); text-decoration: none; }
.zt-top-nombre a:hover { color: var(--nx-canal-txt); }
.zt-top-meta { margin: 0; font-size: 13px; color: var(--v2-texto-2); }
.zt-top-blurb { margin: 4px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--v2-texto-2); }
.zt-top-precio { display: grid; gap: 2px; margin-top: 6px; }
.zt-top-cifra { font: 800 32px/1.05 var(--font-display); color: #146c3a; }
[data-theme="dark"] .zt-top-cifra { color: #6ee7a0; }
.zt-top-sub { font-size: 12px; color: var(--v2-texto-2); }
.zt-top-fecha { font-size: 11.5px; color: var(--v2-texto-3); }
.zt-tabla { list-style: none; margin: 0 0 30px; padding: 0; display: grid; gap: 8px; }
.zt-tabla-fila { display: grid; grid-template-columns: 44px 72px minmax(0, 1fr) minmax(0, 250px); gap: 16px; align-items: center; padding: 10px 16px 10px 10px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); }
.zt-pos { display: grid; place-items: center; height: 40px; border-radius: var(--v2-radio-s); font: 800 17px var(--font-display); color: var(--v2-texto-2); background: var(--v2-tarjeta); }
.zt-tabla-img { display: block; aspect-ratio: 5 / 7; }
.zt-tabla-img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.zt-tabla-info .zt-top-nombre { margin: 0; font-size: 17px; }
.zt-top-precio-fila { text-align: right; margin: 0; }
.zt-top-precio-fila .zt-top-cifra { font-size: 26px; }
.zt-top-caja { margin-bottom: 18px; }
.zt-top-caja > p { margin: 0 0 12px; line-height: 1.65; color: var(--v2-texto-2); max-width: 80ch; }
.zt-top-caja a { color: var(--nx-canal-txt); }
.zt-top-nota { font-size: 13px; padding: 10px 14px; border-left: 3px solid var(--nx-canal); background: var(--v2-tarjeta); border-radius: 0 var(--v2-radio-s) var(--v2-radio-s) 0; }
.zt-top-cta { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; padding: 22px 24px; margin-bottom: 18px; border-radius: var(--v2-radio); background: linear-gradient(135deg, color-mix(in srgb, var(--nx-canal) 20%, var(--zt-panel)), var(--zt-panel)); border: 1px solid var(--zt-borde); }
.zt-top-cta h2 { margin: 0 0 4px; font: 800 20px var(--font-display); }
.zt-top-cta p { margin: 0; color: var(--v2-texto-2); max-width: 60ch; }
@media (max-width: 860px) {
    .zt-podio { grid-template-columns: minmax(0, 1fr); gap: 26px; }
    .zt-puesto-1, .zt-puesto-2, .zt-puesto-3 { order: 0; }
    .zt-tabla-fila { grid-template-columns: 36px 60px minmax(0, 1fr); }
    .zt-top-precio-fila { grid-column: 1 / -1; text-align: left; }
}

/* ---------- Simulador de sobres ---------- */
.zt-selector { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 22px; align-items: start; margin-bottom: 10px; }
.zt-selector-lado { position: sticky; top: calc(var(--header-h, 72px) + 16px); padding: 18px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); display: grid; gap: 12px; }
.zt-selector-lado .zt-h2 { margin: 0; }
.zt-selector-ayuda { margin: 0; font-size: 14px; line-height: 1.5; color: var(--v2-texto-2); }
.zt-reparto { display: flex; height: 12px; gap: 3px; }
.zt-reparto span { border-radius: 4px; }
.zt-reparto .zt-rep-c { flex: 6; } .zt-reparto .zt-rep-i { flex: 3; } .zt-reparto .zt-rep-r { flex: 1; }
.zt-rep-c { background: #6b7280; } .zt-rep-i { background: #4a9bd8; } .zt-rep-r { background: #f2b93b; }
.zt-reparto-leyenda { display: grid; gap: 4px; font-size: 12.5px; color: var(--v2-texto-2); }
.zt-reparto-leyenda span { display: flex; align-items: center; gap: 8px; }
.zt-pt { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.pack-search-bar { position: relative; }
.pack-search-bar > i { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: var(--v2-texto-3); font-size: 14px; }
.pack-search-bar input { width: 100%; min-height: 44px; padding: 10px 12px 10px 38px; border-radius: var(--v2-radio-s); border: 1px solid var(--zt-borde); background: var(--bg-input); color: var(--text-main); font: 500 14.5px var(--font-primary); }
.pack-search-bar input:focus { outline: 2px solid var(--nx-canal); outline-offset: 1px; }
.pack-search-bar { display: grid; }
.pack-search-bar > i { top: 22px; }
.pack-count { margin-top: 6px; text-align: right; font-size: 11.5px; font-weight: 700; color: var(--v2-texto-3); }

.zt-boost .packs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 14px; max-height: 720px; overflow-y: auto; padding: 4px 8px 8px 4px; scrollbar-width: thin; }
.pack-no-results { grid-column: 1 / -1; text-align: center; padding: 30px; font-weight: 600; color: var(--v2-texto-2); }
.pack-option { position: relative; padding: 10px; text-align: center; cursor: pointer; user-select: none; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); transition: transform var(--transition-fast), border-color var(--transition-fast); }
.pack-option:hover { transform: translateY(-4px); border-color: var(--nx-canal); }
.pack-option.active { border-color: var(--v2-amarillo); box-shadow: 0 0 0 2px var(--v2-amarillo); }
.pack-option.active::before { content: "\2713"; position: absolute; top: -9px; right: -9px; z-index: 5; width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: var(--v2-amarillo); color: #141005; font-size: 13px; font-weight: 800; }
.pack-option-img-wrapper { position: relative; height: 190px; margin-bottom: 10px; display: flex; align-items: center; justify-content: center; overflow: hidden; border-radius: var(--v2-radio-s); background: radial-gradient(circle at 50% 32%, #22304d 0%, #141b2e 70%, #0d1220 100%); border: 1px solid rgba(255, 255, 255, .08); box-shadow: inset 0 0 30px rgba(0, 0, 0, .55); }
.pack-random { background: radial-gradient(circle at 50% 32%, #7a1f1f 0%, #3f0f0f 75%); }
.pack-art-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; opacity: .4; filter: brightness(.72) saturate(1.1); }
.pack-option:hover .pack-art-bg { opacity: .52; }
.pack-option-img-wrapper::before, .pack-option-img-wrapper::after { content: ""; position: absolute; left: 0; right: 0; height: 9px; z-index: 4; opacity: .7; background: repeating-linear-gradient(90deg, #4a4a4a 0 2px, #7a7a7a 2px 4px); }
.pack-option-img-wrapper::before { top: 0; } .pack-option-img-wrapper::after { bottom: 0; }
.pack-foil-shine { position: absolute; top: 0; left: -160%; width: 55%; height: 100%; z-index: 3; pointer-events: none; background: linear-gradient(100deg, rgba(255, 255, 255, 0) 15%, rgba(255, 255, 255, .22) 50%, rgba(160, 215, 255, .16) 60%, rgba(255, 255, 255, 0) 85%); transform: skewX(-22deg); transition: left .7s cubic-bezier(.2, .6, .3, 1); }
.pack-option:hover .pack-foil-shine { left: 170%; }
.pack-symbol-icon { position: absolute; top: 14px; right: 8px; width: 26px; height: 26px; object-fit: contain; background: rgba(255, 255, 255, .95); border-radius: 50%; padding: 5px; box-shadow: 0 3px 6px rgba(0, 0, 0, .35); z-index: 3; }
.pack-logo-img { max-width: 82%; max-height: 62%; object-fit: contain; z-index: 2; filter: drop-shadow(0 5px 10px rgba(0, 0, 0, .6)); transition: transform var(--transition-normal); }
.pack-option:hover .pack-logo-img { transform: scale(1.08); }
.pack-text-fallback { display: none; color: #fff; font-weight: 800; text-shadow: 0 2px 4px rgba(0, 0, 0, .8); font-size: 15px; padding: 10px; z-index: 2; }
.pack-random-cover { font: 900 76px var(--font-display); color: rgba(255, 255, 255, .9); text-shadow: 0 4px 12px rgba(0, 0, 0, .5); z-index: 2; }
.pack-option-title { margin: 2px 0; font: 800 14px/1.3 var(--font-display); color: var(--text-main); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pack-option-subtitle { font-size: 12px; color: var(--v2-texto-2); }

.booster-back { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border: 0; background: none; color: var(--v2-texto-2); font: 700 14px var(--font-primary); cursor: pointer; }
.booster-back:hover { color: var(--nx-canal-txt); }
.zt-boost .zt-btn.booster-back { padding: 0 18px; border: 1px solid var(--zt-borde); background: var(--v2-tarjeta); color: var(--text-main); }

/* Sobre cerrado */
.booster-opening-screen { display: flex; flex-direction: column; align-items: center; gap: 20px; min-height: 480px; padding: 20px; border-radius: var(--v2-radio); background: radial-gradient(circle at 50% 55%, color-mix(in srgb, var(--nx-canal) 16%, transparent), var(--zt-panel) 70%); border: 1px solid var(--zt-borde); }
#btn-back-to-selector { align-self: flex-start; }
.booster-pack-wrapper { perspective: 1000px; position: relative; }
.booster-pack { width: 280px; height: 420px; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; padding: 20px; cursor: pointer; user-select: none; background: linear-gradient(150deg, #c03634 0%, #7d1c1c 100%); border: 3px solid #f2b93b; border-radius: 16px; box-shadow: 0 20px 40px rgba(0, 0, 0, .55), 0 0 40px rgba(192, 54, 52, .28); transform-style: preserve-3d; transition: transform .6s cubic-bezier(.175, .885, .32, 1.275); }
.booster-pack::after { content: ""; position: absolute; top: 0; left: -160%; width: 55%; height: 100%; z-index: 1; pointer-events: none; background: linear-gradient(100deg, rgba(255, 255, 255, 0) 20%, rgba(255, 255, 255, .28) 50%, rgba(255, 255, 255, 0) 80%); transform: skewX(-22deg); transition: left .7s cubic-bezier(.2, .6, .3, 1); }
.booster-pack:hover { transform: translateY(-10px) rotateY(9deg); box-shadow: 0 30px 50px rgba(0, 0, 0, .65), 0 0 50px rgba(192, 54, 52, .45); }
.booster-pack:hover::after { left: 170%; }
.booster-pack-header { display: flex; justify-content: space-between; align-items: center; padding-bottom: 10px; border-bottom: 2px dashed rgba(242, 185, 59, .5); }
.pack-logo { font: 900 24px var(--font-display); color: #f2b93b; letter-spacing: 2px; }
.pack-tag { padding: 3px 7px; border-radius: 6px; background: #f2b93b; color: #1a202c; font-size: 10px; font-weight: 800; }
.booster-pack-body { flex-grow: 1; display: flex; flex-direction: column; justify-content: center; text-align: center; }
.pokeball-art { position: relative; width: 96px; height: 96px; margin: 0 auto 20px; overflow: hidden; border-radius: 50%; border: 5px solid #1a202c; background: #fff; }
.pokeball-top { position: absolute; top: 0; left: 0; right: 0; height: 50%; background: #c03634; border-bottom: 5px solid #1a202c; }
.pokeball-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 28px; height: 28px; z-index: 5; border-radius: 50%; background: #fff; border: 5px solid #1a202c; }
.booster-pack-body h3 { margin: 0 0 5px; font: 800 22px var(--font-display); color: #fff; text-shadow: 0 2px 4px rgba(0, 0, 0, .5); }
.booster-pack-body p { margin: 0; font-size: 12px; font-weight: 700; color: #f2b93b; letter-spacing: 1.5px; }
.booster-pack-footer { padding-top: 10px; text-align: center; border-top: 2px dashed rgba(242, 185, 59, .5); }
.booster-pack-footer span { color: #fff; font-size: 13px; font-weight: 700; animation: ztFlash 1.5s infinite; }
@keyframes ztFlash { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
.booster-pack.tearing { animation: ztPackOpen .85s cubic-bezier(.5, 0, .5, 1) forwards; }
@keyframes ztPackOpen {
    0% { transform: scale(1) rotate(0); } 12% { transform: scale(1.03) rotate(-2.5deg); } 24% { transform: scale(1.05) rotate(2.5deg); }
    38% { transform: scale(1.06) rotate(-1.5deg); filter: brightness(1.4); } 52% { transform: scale(1.09) rotate(1deg); filter: brightness(2.2); }
    100% { transform: scale(1.35) translateY(-14px); filter: brightness(3.5); opacity: 0; }
}
.booster-burst { position: absolute; top: 50%; left: 50%; width: 340px; height: 340px; margin: -170px 0 0 -170px; border-radius: 50%; z-index: 0; opacity: 0; pointer-events: none; background: radial-gradient(circle, rgba(255, 255, 255, .95) 0%, rgba(242, 185, 59, .85) 30%, rgba(242, 185, 59, 0) 68%); }
.booster-burst.active { animation: ztBurst .85s ease-out forwards; }
@keyframes ztBurst { 0% { opacity: 0; transform: scale(.15); } 40% { opacity: 1; } 55% { opacity: .95; transform: scale(1); } 100% { opacity: 0; transform: scale(2.6); } }
.booster-error { margin: 0; font-weight: 700; font-size: 14px; color: #c62828; }
[data-theme="dark"] .booster-error { color: #ff8a8a; }
.booster-error[hidden] { display: none; }

/* Revelación */
.booster-action-bar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding: 12px 18px; margin-bottom: 22px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); border-left: 4px solid var(--nx-canal); }
.reveal-status { font: 700 15.5px var(--font-primary); }
.action-buttons { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.cards-table { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.card-scene { aspect-ratio: 2.5 / 3.5; perspective: 1000px; cursor: pointer; }
@keyframes ztRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.card-flip { width: 100%; height: 100%; position: relative; transform-style: preserve-3d; transition: transform .6s cubic-bezier(.4, .2, .2, 1); }
.card-scene:hover .card-flip:not(.flipped) { transform: translateY(-5px); }
.card-flip.flipped { transform: rotateY(180deg); }
.card-face { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; border-radius: 8px; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); overflow: hidden; }
.card-face-front { transform: rotateY(180deg); background: var(--zt-panel); display: flex; justify-content: center; align-items: center; }
.card-face-front img { width: 100%; height: 100%; object-fit: cover; }
.card-detail-link { display: block; width: 100%; height: 100%; position: relative; text-decoration: none; }
.card-hover-overlay { position: absolute; inset: 0; z-index: 10; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, .45); opacity: 0; transition: opacity var(--transition-fast); }
.card-hover-overlay span { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 20px; background: rgba(255, 255, 255, .95); color: #1a202c; font-size: 11px; font-weight: 700; }
.card-detail-link:hover .card-hover-overlay { opacity: 1; }
.card-flip.rare-holo { box-shadow: 0 0 18px rgba(242, 185, 59, .5); }
.card-flip.rare-holo .card-face-front::after { content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; background: linear-gradient(135deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .16) 50%, rgba(255, 255, 255, 0) 100%); }
.card-flip.ultra-rare { box-shadow: 0 0 28px rgba(192, 54, 52, .65); }
.card-item { display: flex; flex-direction: column; animation: ztRise .5s cubic-bezier(.16, 1, .3, 1) both; }
.card-caption { margin-top: 10px; text-align: center; opacity: 0; transform: translateY(8px); pointer-events: none; transition: opacity .35s ease, transform .35s cubic-bezier(.16, 1, .3, 1); }
.card-item.revealed .card-caption { opacity: 1; transform: none; pointer-events: auto; }
.card-caption-name { display: block; font: 800 13px/1.25 var(--font-display); color: var(--text-main); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-caption-price { display: inline-flex; align-items: center; gap: 5px; margin: 5px 0 8px; font-size: 12.5px; font-weight: 700; color: var(--v2-texto-2); }
.card-caption-price.has-price { color: var(--text-main); }
.card-item.is-rare .card-caption-price.has-price { color: #8a6500; }
[data-theme="dark"] .card-item.is-rare .card-caption-price.has-price { color: #f2b93b; }
.card-caption-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; width: 100%; padding: 7px 10px; border-radius: var(--v2-radio-s); border: 1px solid var(--zt-borde); background: var(--zt-panel); color: var(--text-main); font-size: 12px; font-weight: 700; text-decoration: none; }
.card-caption-btn:hover { border-color: var(--nx-canal); }
.card-item.is-rare .card-caption-btn { border-color: rgba(242, 185, 59, .6); }

/* Contenido SEO */
.zt-seo { margin-top: 44px; }
.zt-seo .zt-h2 { margin-top: 34px; }
.zt-seo .zt-h2:first-child { margin-top: 0; }
.booster-panel p { margin: 0 0 14px; line-height: 1.7; color: var(--v2-texto-2); }
.booster-panel p:last-child { margin-bottom: 0; }
.booster-panel a, .zt-seo .zt-faq a { color: var(--nx-canal-txt); font-weight: 700; }
.booster-odds { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 10px; }
.booster-odds li { display: flex; align-items: center; gap: 12px; line-height: 1.5; color: var(--v2-texto-2); }
.booster-odds strong { color: var(--text-main); }
.odds-badge { flex: 0 0 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; font: 800 15px var(--font-display); color: #fff; }
.odds-badge.common { background: #5b6472; } .odds-badge.uncommon { background: #1f6fb0; } .odds-badge.rare { background: #f2b93b; color: #1a202c; }

@media (max-width: 1100px) { .cards-table { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) { .zt-selector { grid-template-columns: minmax(0, 1fr); } .zt-selector-lado { position: static; } .zt-boost .packs-grid { max-height: 560px; } }
@media (max-width: 576px) {
    .cards-table { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .booster-action-bar { flex-direction: column; text-align: center; }
    .zt-boost .packs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .pack-option-img-wrapper { height: 150px; }
    .booster-pack { width: 240px; height: 360px; }
}
@media (prefers-reduced-motion: reduce) { .card-item, .pack-foil-shine, .booster-pack::after { animation: none; transition: none; } .booster-pack-footer span { animation: none; opacity: 1; } }

/* ---------- Mercadillo ---------- */
.zt-oculto { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.zt-mk svg { width: 16px; height: 16px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mk-sinfoto { display: grid; place-items: center; width: 100%; height: 100%; min-height: 80px; font-size: 12px; font-weight: 700; color: var(--v2-texto-3); background: var(--v2-tarjeta); text-align: center; padding: 8px; }
.zt-mk-tabs { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; margin-bottom: 18px; width: fit-content; max-width: 100%; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); }
.zt-mk-tab { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 14px; border-radius: var(--v2-radio-s); text-decoration: none; color: var(--v2-texto-2); font: 700 13.5px var(--font-primary); }
.zt-mk-tab:hover { background: var(--v2-tarjeta-hover); color: var(--text-main); }
.zt-mk-tab[aria-current] { background: var(--v2-tarjeta-hover); color: var(--text-main); box-shadow: inset 0 -3px 0 var(--nx-canal); }
.zt-mk-tab--cta { color: var(--nx-canal-txt); }
.zt-mk-tab--fin { color: var(--v2-texto-3); }
.zt-mk-migas { margin: 0 0 14px; font-size: 13px; color: var(--v2-texto-3); }
.zt-mk-migas a { color: var(--nx-canal-txt); text-decoration: none; font-weight: 700; }

.zt-mk-cab { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 24px; align-items: center; padding: 26px 28px; margin-bottom: 22px; border-radius: var(--v2-radio); background: linear-gradient(135deg, color-mix(in srgb, var(--nx-canal) 14%, var(--zt-panel)), var(--zt-panel) 70%); border: 1px solid var(--zt-borde); border-top: 3px solid var(--nx-canal); }
.zt-mk-eyebrow { display: inline-flex; align-items: center; gap: 7px; font: 800 12px var(--font-primary); letter-spacing: .08em; text-transform: uppercase; color: var(--nx-canal-txt); }
.zt-mk-cab h1 { margin: 8px 0 10px; font: 800 clamp(28px, 3.2vw, 40px)/1.1 var(--font-display); letter-spacing: -.02em; text-wrap: balance; }
.zt-mk-cab h1 span { color: var(--nx-canal-txt); }
.zt-mk-cab-txt > p { margin: 0 0 18px; max-width: 62ch; font-size: 15.5px; line-height: 1.6; color: var(--v2-texto-2); }
.zt-mk-cab-txt > p strong { color: var(--text-main); }
.zt-mk-acciones { display: flex; flex-wrap: wrap; gap: 10px; }
.zt-mk-top { padding: 16px; border-radius: var(--v2-radio); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.zt-mk-top-t { margin: 0 0 10px; font: 800 12px var(--font-primary); letter-spacing: .08em; text-transform: uppercase; color: var(--v2-texto-3); }
.zt-mk-top-l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.zt-mk-top-l li { display: grid; gap: 6px; justify-items: center; text-align: center; }
.zt-mk-top-l li[hidden] { display: none; }
.zt-mk-top-l img { display: block; width: 100%; aspect-ratio: 5 / 7; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(0, 0, 0, .35)); }
.zt-mk-top-l b { font: 800 13px var(--font-display); color: #146c3a; }
[data-theme="dark"] .zt-mk-top-l b { color: #6ee7a0; }
.zt-mk-top-pie { margin: 12px 0 0; font-size: 12.5px; color: var(--v2-texto-2); }
.zt-mk-top-pie a { color: var(--nx-canal-txt); font-weight: 700; }
.zt-mk-pasos h2 { margin: 0 0 6px; font: 800 16px var(--font-display); }
.zt-mk-pasos { margin-bottom: 22px; }

.zt-mk-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; margin-bottom: 16px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); }
.zt-mk-filtros input[type="search"], .zt-mk-filtros select { min-height: 42px; padding: 8px 12px; border-radius: var(--v2-radio-s); border: 1px solid var(--zt-borde); background: var(--bg-input); color: var(--text-main); font: 500 14px var(--font-primary); }
.zt-mk-filtros input[type="search"] { flex: 1 1 220px; min-width: 0; }
.zt-mk-filtros select { flex: 0 1 190px; min-width: 0; }
.zt-mk-chip { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--zt-borde); background: var(--v2-tarjeta); color: var(--v2-texto-2); font: 700 13.5px var(--font-primary); text-decoration: none; }
.zt-mk-chip:hover { border-color: var(--nx-canal); color: var(--text-main); }
.zt-mk-chip.activo { background: var(--v2-amarillo); border-color: var(--v2-amarillo); color: #141005; }
.zt-mk-cuenta { margin: 0 0 0 auto; font-size: 13.5px; font-weight: 700; color: var(--v2-texto-2); }

.zt-mk-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.zt-mk-anuncio { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; padding: 12px; border-radius: var(--v2-radio); text-decoration: none; color: var(--text-main); background: var(--zt-panel); border: 1px solid var(--zt-borde); transition: border-color var(--transition-fast), transform var(--transition-fast); }
.zt-mk-anuncio:hover { border-color: var(--nx-canal); transform: translateY(-2px); }
.zt-mk-foto { position: relative; display: block; aspect-ratio: 63 / 88; border-radius: 8px; overflow: hidden; background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.zt-mk-foto img { display: block; width: 100%; height: 100%; object-fit: cover; }
.zt-mk-foto--cat img { object-fit: contain; }
.zt-mk-slab { position: absolute; left: 4px; bottom: 4px; display: inline-flex; align-items: baseline; gap: 4px; padding: 2px 7px; border-radius: 5px; background: #141005; color: #ffd52a; font-size: 10px; font-weight: 800; }
.zt-mk-slab b { font-size: 13px; }
.zt-mk-slab--fila { position: static; padding: 3px 9px; }
.zt-mk-datos { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.zt-mk-titulo { font: 800 15px/1.25 var(--font-display); overflow-wrap: anywhere; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.zt-mk-precio { font: 800 22px/1.1 var(--font-display); color: var(--text-main); font-variant-numeric: tabular-nums; }
.zt-mk-precio small { margin-left: 6px; font: 700 11px var(--font-primary); color: var(--v2-texto-2); }
.zt-mk-mercado { font-size: 12.5px; color: var(--v2-texto-2); display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.zt-mk-mercado b { color: var(--text-main); }
.zt-mk-dif { padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.zt-mk-dif--baja { background: rgba(34, 160, 90, .16); color: #146c3a; }
.zt-mk-dif--par { background: var(--v2-tarjeta); color: var(--v2-texto-2); border: 1px solid var(--zt-borde); }
.zt-mk-dif--alta { background: rgba(230, 120, 30, .18); color: #9a4a06; }
[data-theme="dark"] .zt-mk-dif--baja { color: #6ee7a0; }
[data-theme="dark"] .zt-mk-dif--alta { color: #ffb066; }
.zt-mk-etis { margin-top: auto; display: flex; flex-wrap: wrap; gap: 5px; }
.zt-mk-eti { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 6px; font-size: 11.5px; font-weight: 700; color: var(--v2-texto-2); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.zt-mk-eti svg { width: 12px; height: 12px; }
.zt-mk-vacio { text-align: center; margin-bottom: 20px; }
.zt-mk-vacio h2 { margin: 0 0 8px; font: 800 20px var(--font-display); }
.zt-mk-vacio p { margin: 0 auto 16px; max-width: 52ch; color: var(--v2-texto-2); line-height: 1.6; }
.zt-mk-ciudades { margin: 28px 0 0; }
.zt-mk-aviso { margin: 28px 0 8px; padding: 14px 16px; border-radius: var(--v2-radio-s); border: 1px dashed var(--zt-borde); font-size: 13px; line-height: 1.6; color: var(--v2-texto-2); }
.zt-mk-aviso strong { color: var(--text-main); }

/* Ficha de anuncio */
.zt-mk-mio { margin: 0 0 16px; padding: 12px 16px; border-radius: var(--v2-radio-s); font-size: 14px; font-weight: 600; background: color-mix(in srgb, var(--v2-amarillo) 18%, var(--zt-panel)); border: 1px solid color-mix(in srgb, var(--v2-amarillo) 50%, var(--zt-borde)); }
.zt-mk-mio a { color: var(--nx-canal-txt); font-weight: 800; }
.zt-mkf { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 26px; align-items: start; }
.zt-mkf-galeria { position: sticky; top: calc(var(--header-h, 72px) + 16px); }
.zt-mkf-grande { position: relative; display: grid; place-items: center; aspect-ratio: 63 / 88; overflow: hidden; border-radius: var(--v2-radio); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.zt-mkf-grande img { display: block; width: 100%; height: 100%; object-fit: contain; }
.zt-mkf-catalogo { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 8px 12px; text-align: center; font-size: 11.5px; font-weight: 700; color: var(--v2-texto-2); background: color-mix(in srgb, var(--zt-panel) 90%, transparent); border-top: 1px solid var(--zt-borde); }
.zt-mkf-tiras { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.fa-tira { width: 62px; aspect-ratio: 63 / 88; padding: 0; overflow: hidden; cursor: pointer; border-radius: 8px; background: var(--v2-tarjeta); border: 2px solid var(--zt-borde); }
.fa-tira img { display: block; width: 100%; height: 100%; object-fit: cover; }
.fa-tira[aria-current="true"] { border-color: var(--v2-amarillo); }
.zt-mkf-der { display: grid; gap: 16px; min-width: 0; }
.zt-mkf-cab h1 { margin: 0 0 10px; font: 800 clamp(26px, 3.4vw, 36px)/1.12 var(--font-display); letter-spacing: -.02em; text-wrap: balance; }
.zt-mkf-dinero { display: grid; gap: 12px; padding: 18px 20px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); border-left: 5px solid var(--v2-amarillo); }
.zt-mkf-pide { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; }
.zt-mkf-pide .zt-etq { flex: 0 0 100%; margin: 0; }
.zt-mkf-pide b { font: 800 40px/1 var(--font-display); font-variant-numeric: tabular-nums; }
.zt-mkf-pide span:not(.zt-etq) { font-size: 13px; font-weight: 700; color: var(--v2-texto-2); }
.zt-mkf-ref { padding-top: 12px; border-top: 1px dashed var(--zt-borde); }
.zt-mkf-ref p { margin: 0; font-size: 13.5px; line-height: 1.6; color: var(--v2-texto-2); }
.zt-mkf-ref b { color: var(--text-main); }
.zt-mkf-alerta { display: flex; gap: 10px; align-items: flex-start; margin-top: 12px !important; padding: 12px 14px; border-radius: var(--v2-radio-s); font-weight: 600; color: var(--text-main) !important; background: color-mix(in srgb, #ef4444 14%, var(--zt-panel)); border: 1px solid color-mix(in srgb, #ef4444 45%, var(--zt-borde)); }
.zt-mkf-alerta svg { margin-top: 2px; width: 18px; height: 18px; }
.zt-mkf-datos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.zt-mkf-desc { margin: 0; padding: 16px 18px; border-radius: var(--v2-radio); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); font-size: 15px; line-height: 1.65; white-space: pre-line; }
.zt-mkf-contacto { padding: 18px 20px; border-radius: var(--v2-radio); background: color-mix(in srgb, var(--nx-canal) 10%, var(--zt-panel)); border: 1.5px solid color-mix(in srgb, var(--nx-canal) 45%, var(--zt-borde)); }
.zt-mkf-contacto h2 { margin: 0 0 6px; font: 800 18px var(--font-display); }
.zt-mkf-contacto p { margin: 0 0 14px; font-size: 13.5px; line-height: 1.55; color: var(--v2-texto-2); }
.zt-mkf-redes { display: grid; gap: 9px; }
.zt-mkf-redes[hidden], .zt-mkf-err[hidden] { display: none; }
.zt-mkf-red { display: flex; align-items: center; gap: 10px; padding: 11px 15px; border-radius: var(--v2-radio-s); text-decoration: none; background: var(--zt-panel); border: 1px solid var(--zt-borde); color: var(--text-main); font-weight: 700; font-size: 14.5px; }
a.zt-mkf-red:hover { border-color: var(--nx-canal); }
.zt-mkf-red small { margin-left: auto; font-size: 12px; font-weight: 600; color: var(--v2-texto-2); }
.zt-mkf-err { margin: 10px 0 0 !important; }
.zt-mkf-vendedor .zt-h2 { font-size: 18px; }
.zt-mkf-nota { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 0 0 4px; }
.zt-mkf-nota b { font: 800 30px/1 var(--font-display); }
.zt-mkf-nota--bien b { color: #146c3a; } .zt-mkf-nota--regular b { color: #8a6500; } .zt-mkf-nota--mal b { color: #c62828; }
[data-theme="dark"] .zt-mkf-nota--bien b { color: #6ee7a0; } [data-theme="dark"] .zt-mkf-nota--regular b { color: #ffd52a; } [data-theme="dark"] .zt-mkf-nota--mal b { color: #ff8a8a; }
.zt-mkf-nota span, .zt-mkf-nuevo { font-size: 13.5px; line-height: 1.55; font-weight: 600; color: var(--v2-texto-2); margin: 0; }
.zt-mkf-opiniones { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 9px; }
.zt-mkf-opiniones li { padding: 10px 13px; border-radius: var(--v2-radio-s); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); font-size: 13.5px; line-height: 1.55; }
.zt-mkf-opiniones header { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; font-size: 12.5px; font-weight: 700; color: var(--v2-texto-2); }
.zt-mkf-past { padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; text-transform: uppercase; color: var(--text-main); }
.zt-mkf-past--bien { background: rgba(34, 160, 90, .22); } .zt-mkf-past--regular { background: rgba(255, 213, 42, .3); } .zt-mkf-past--mal { background: rgba(239, 68, 68, .25); }
.zt-mkf-valorar { margin-top: 14px; padding-top: 14px; border-top: 1px dashed var(--zt-borde); display: grid; gap: 10px; }
.zt-mkf-valorar p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--v2-texto-2); }
.zt-mkf-valorar .zt-chips { margin: 0; }
.fa-cara { min-height: 38px; padding: 0 16px; border-radius: 999px; border: 1px solid var(--zt-borde); background: var(--v2-tarjeta); color: var(--text-main); font: 700 13.5px var(--font-primary); cursor: pointer; }
.fa-cara[aria-pressed="true"] { background: var(--v2-amarillo); border-color: var(--v2-amarillo); color: #141005; }
.zt-mkf-valorar .zt-btn { justify-self: start; }
.zt-mkf-pie { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; font-size: 12.5px; font-weight: 600; color: var(--v2-texto-2); }
.zt-mkf-pie span { display: inline-flex; align-items: center; gap: 5px; }
.zt-mkf-pie form { display: inline; }
.zt-mkf-pie button { display: inline-flex; align-items: center; gap: 5px; padding: 0; border: 0; background: none; color: var(--v2-texto-2); font: 700 12.5px var(--font-primary); text-decoration: underline; cursor: pointer; }

/* Mis anuncios */
.zt-mm-lista { display: grid; gap: 10px; margin-bottom: 18px; }
.zt-mm-fila { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 12px 16px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); }
.zt-mm-fila--cad { border-color: #ef4444; box-shadow: inset 4px 0 0 #ef4444; }
.zt-mm-mini { width: 64px; aspect-ratio: 63 / 88; display: block; object-fit: cover; border-radius: 8px; background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.zt-mm-sin { display: grid; place-items: center; font-size: 10px; color: var(--v2-texto-3); text-align: center; }
.zt-mm-datos { min-width: 0; }
.zt-mm-datos b { display: block; font: 800 16px/1.3 var(--font-display); }
.zt-mm-datos b a { color: var(--text-main); text-decoration: none; }
.zt-mm-datos b a:hover { text-decoration: underline; }
.zt-mm-sub { margin: 6px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 12.5px; font-weight: 600; color: var(--v2-texto-2); }
.zt-mm-sub span { display: inline-flex; align-items: center; gap: 4px; }
.zt-mm-eur { color: var(--text-main); font-weight: 800; }
.zt-mm-estado { padding: 2px 9px; border-radius: 999px; font-size: 11px !important; font-weight: 800; text-transform: uppercase; }
.zt-mm-estado--ok { background: rgba(34, 160, 90, .22); color: var(--text-main); }
.zt-mm-estado--off { background: var(--v2-tarjeta); color: var(--v2-texto-2); border: 1px solid var(--zt-borde); }
.zt-mm-estado--mal { background: rgba(239, 68, 68, .25); color: var(--text-main); }
.zt-mm-caduca { font-weight: 800; color: #c62828; }
[data-theme="dark"] .zt-mm-caduca { color: #ff8a8a; }
.zt-mm-botones { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.zt-mm-botones form { display: inline; }
.zt-mm-b { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border-radius: var(--v2-radio-s); border: 1px solid var(--zt-borde); background: var(--v2-tarjeta); color: var(--text-main); font: 700 13px var(--font-primary); text-decoration: none; cursor: pointer; }
.zt-mm-b:hover { border-color: var(--nx-canal); }
.zt-mm-b--fuerte { background: var(--v2-amarillo); border-color: var(--v2-amarillo); color: #141005; }
.zt-mm-b--malo { color: #c62828; }
[data-theme="dark"] .zt-mm-b--malo { color: #ff8a8a; }

/* Publicar */
.zt-fp { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 22px; align-items: start; }
.zt-fp-form { display: grid; gap: 16px; }
.fp-paso { padding: 20px 22px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); }
.fp-paso > h2 { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; font: 800 19px var(--font-display); }
.fp-num { flex: 0 0 32px; height: 32px; display: grid; place-items: center; border-radius: var(--v2-radio-s); font: 800 15px var(--font-display); color: #141005; background: var(--v2-amarillo); }
.fp-pista { margin: 0 0 16px; font-size: 13px; line-height: 1.55; color: var(--v2-texto-2); }
.fp-pista a { color: var(--nx-canal-txt); font-weight: 700; }
.fp-campo { display: block; margin-bottom: 14px; }
.fp-campo > span { display: block; margin-bottom: 5px; font: 800 11.5px var(--font-primary); letter-spacing: .05em; text-transform: uppercase; color: var(--v2-texto-3); }
.fp-campo > span.zt-oculto { position: absolute; }
.fp-campo input[type="text"], .fp-campo input[type="number"], .fp-campo input[type="search"], .fp-campo select, .fp-campo textarea { width: 100%; min-height: 44px; padding: 9px 12px; border-radius: var(--v2-radio-s); border: 1px solid var(--zt-borde); background: var(--bg-input); color: var(--text-main); font: 500 15px var(--font-primary); }
.fp-campo input[type="file"] { width: 100%; font-size: 14px; color: var(--v2-texto-2); }
.fp-campo textarea { min-height: 110px; resize: vertical; line-height: 1.55; }
.fp-campo input:focus, .fp-campo select:focus, .fp-campo textarea:focus { outline: 2px solid var(--nx-canal); outline-offset: 1px; }
.fp-fila { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.fp-fila[hidden] { display: none; }
.fp-check { display: flex; align-items: center; gap: 10px; margin-bottom: 11px; font-size: 14.5px; font-weight: 600; cursor: pointer; }
.fp-check input { width: 18px; height: 18px; accent-color: #f4be19; }
.fp-buscar { position: relative; }
.fp-result { position: absolute; z-index: 30; left: 0; right: 0; top: 100%; margin: 5px 0 0; padding: 5px; list-style: none; max-height: 330px; overflow-y: auto; background: var(--zt-panel); border: 1.5px solid var(--nx-canal); border-radius: var(--v2-radio); box-shadow: 0 16px 36px rgba(0, 0, 0, .3); }
.fp-result li { display: flex; align-items: center; gap: 11px; padding: 8px 10px; border-radius: var(--v2-radio-s); cursor: pointer; }
.fp-result li:hover { background: var(--v2-tarjeta-hover); }
.fp-result img { width: 38px; height: 53px; object-fit: contain; flex: none; border-radius: 5px; background: var(--v2-tarjeta); }
.fp-result b { display: block; font-size: 14.5px; font-weight: 700; color: var(--text-main); }
.fp-result small { font-size: 12px; color: var(--v2-texto-2); }
.fp-result em { margin-left: auto; font-style: normal; font-size: 13px; font-weight: 800; color: #146c3a; white-space: nowrap; }
[data-theme="dark"] .fp-result em { color: #6ee7a0; }
.fp-elegida { display: flex; align-items: center; gap: 14px; padding: 12px; margin-bottom: 14px; border-radius: var(--v2-radio-s); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.fp-elegida[hidden] { display: none; }
.fp-elegida img { width: 54px; height: 75px; object-fit: contain; flex: none; }
.fp-elegida img[hidden], .fp-sinimg[hidden] { display: none; }
.fp-elegida div { flex: 1; min-width: 0; }
.fp-elegida b { display: block; font-size: 15px; }
.fp-elegida small { font-size: 12.5px; color: var(--v2-texto-2); }
.fp-sinimg { display: grid; place-items: center; width: 54px; height: 75px; flex: none; border-radius: 6px; border: 1px dashed var(--zt-borde); background: var(--zt-panel); font-size: 10px; font-weight: 700; line-height: 1.25; text-align: center; color: var(--v2-texto-2); }
.fp-quitar { padding: 0; border: 0; background: none; color: var(--v2-texto-2); font: 700 13px var(--font-primary); text-decoration: underline; cursor: pointer; }
.fp-contacto { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 10px; }
.fp-contacto .fp-campo { margin-bottom: 10px; }
.fp-fotos { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 12px; }
.fp-foto img { display: block; width: 88px; aspect-ratio: 63 / 88; object-fit: cover; border-radius: 8px; border: 1px solid var(--zt-borde); }
.fp-enviar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.fp-nota { margin: 0; font-size: 12.5px; line-height: 1.6; color: var(--v2-texto-3); }
.zt-fp-lado { position: sticky; top: calc(var(--header-h, 72px) + 16px); display: grid; gap: 14px; }
.zt-fp-cupo { display: flex; align-items: center; gap: 12px; padding: 14px 18px; }
.zt-fp-cupo svg { width: 22px; height: 22px; color: var(--nx-canal-txt); }
.zt-fp-cupo p { margin: 0; font-size: 14px; }
.zt-fp-cupo b { font: 800 20px var(--font-display); }
.zt-fp-consejos ul { margin: 0; padding-left: 18px; display: grid; gap: 8px; font-size: 13.5px; line-height: 1.5; color: var(--v2-texto-2); }

@media (max-width: 1280px) { .zt-mk-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .zt-mk-cab { grid-template-columns: minmax(0, 1fr); } .zt-mk-top { max-width: 420px; } }
@media (max-width: 960px) { .zt-fp { grid-template-columns: minmax(0, 1fr); } .zt-fp-lado { position: static; order: -1; } .zt-mkf { grid-template-columns: minmax(0, 1fr); } .zt-mkf-galeria { position: static; max-width: 380px; } }
@media (max-width: 700px) { .zt-mk-lista { grid-template-columns: minmax(0, 1fr); } .zt-mk-cab { padding: 18px; } .zt-mk-cuenta { margin-left: 0; flex: 1 0 100%; } }
@media (max-width: 620px) {
    .zt-mm-fila { grid-template-columns: 52px minmax(0, 1fr); }
    .zt-mm-mini { width: 52px; }
    .zt-mm-botones { grid-column: 1 / -1; justify-content: flex-start; }
    .fp-fila, .zt-mkf-datos { grid-template-columns: minmax(0, 1fr); }
    .fp-contacto { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Álbum público ---------- */
.zt-alb-carnet { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px 22px; align-items: center; padding: 22px 26px; margin-bottom: 22px; border-radius: var(--v2-radio); background: linear-gradient(135deg, color-mix(in srgb, var(--nx-canal) 16%, var(--zt-panel)), var(--zt-panel) 65%); border: 1px solid var(--zt-borde); border-top: 3px solid var(--nx-canal); }
.zt-alb-av { grid-row: 1 / span 2; display: block; width: 96px; height: 96px; border-radius: 50%; padding: 3px; background: var(--nx-canal); }
.zt-alb-av img { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; background: var(--zt-panel); }
.zt-alb-kicker { font: 800 12px var(--font-primary); letter-spacing: .08em; text-transform: uppercase; color: var(--nx-canal-txt); }
.zt-alb-kicker i { margin-right: 6px; }
.zt-alb-id h1 { margin: 4px 0 4px; font: 800 clamp(26px, 3.4vw, 38px)/1.1 var(--font-display); letter-spacing: -.02em; }
.zt-alb-perfil { margin: 0; font-size: 13px; font-weight: 700; }
.zt-alb-perfil a { display: inline-flex; align-items: center; gap: 6px; color: var(--nx-canal-txt); text-decoration: none; }
.zt-alb-sub { grid-column: 2 / span 2; margin: 0; font-size: 15px; color: var(--v2-texto-2); }
.zt-alb-sub strong { color: var(--text-main); font: 800 20px var(--font-display); }
.zt-alb-vitrina { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 26px; }
.zt-alb-set { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 14px; align-items: center; padding: 14px; border-radius: var(--v2-radio); text-decoration: none; color: inherit; background: var(--zt-panel); border: 1px solid var(--zt-borde); transition: border-color var(--transition-fast), transform var(--transition-fast); }
.zt-alb-set:hover { border-color: var(--nx-canal); transform: translateY(-2px); }
.zt-alb-set:focus-visible { outline: 2px solid var(--nx-canal); outline-offset: 2px; }
.zt-alb-anillo { width: 76px; height: 76px; display: grid; place-items: center; border-radius: 50%; background: conic-gradient(var(--v2-amarillo) calc(var(--p) * 1%), var(--v2-tarjeta) 0); }
.zt-alb-anillo b { width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: var(--zt-panel); font: 800 15px var(--font-display); font-variant-numeric: tabular-nums; }
.zt-alb-set.completa .zt-alb-anillo { background: conic-gradient(#22a05a 100%, #22a05a 0); }
.zt-alb-set.completa .zt-alb-anillo b { color: #146c3a; font-size: 24px; }
[data-theme="dark"] .zt-alb-set.completa .zt-alb-anillo b { color: #6ee7a0; }
.zt-alb-info { display: grid; gap: 3px; min-width: 0; }
.zt-alb-logo { display: flex; align-items: center; height: 38px; }
.zt-alb-logo-img { max-height: 38px; max-width: 100%; width: auto; height: auto; object-fit: contain; }
.zt-alb-logo-img.logo-fallido { display: none; }
.zt-alb-logo:has(.logo-fallido) { display: none; }
[data-theme="dark"] .zt-alb-logo-img { filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .5)); }
.zt-alb-nombre { font: 800 15px/1.25 var(--font-display); overflow-wrap: anywhere; }
.zt-alb-datos { font-size: 12.5px; color: var(--v2-texto-2); font-variant-numeric: tabular-nums; }
.zt-alb-datos strong { color: var(--text-main); }
.zt-alb-ver { font-size: 12px; font-weight: 700; color: var(--nx-canal-txt); }
.zt-alb-vacio { margin-bottom: 24px; border-style: dashed; }
.zt-alb-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px; padding: 22px 26px; margin-bottom: 20px; border-radius: var(--v2-radio); background: linear-gradient(135deg, color-mix(in srgb, var(--nx-canal) 20%, var(--zt-panel)), var(--zt-panel)); border: 1px solid var(--zt-borde); }
.zt-alb-cta h2 { margin: 0 0 6px; font: 800 21px var(--font-display); }
.zt-alb-cta p { margin: 0; max-width: 58ch; font-size: 14px; line-height: 1.6; color: var(--v2-texto-2); }
.zt-alb-cta-b { display: grid; gap: 10px; justify-items: start; }
.zt-alb-cta-sec { font-size: 13.5px; font-weight: 700; color: var(--nx-canal-txt); text-decoration: none; }
.zt-alb-volver { margin-bottom: 14px; }
.zt-alb-volver a { display: inline-flex; align-items: center; gap: 7px; font-size: 13.5px; font-weight: 700; color: var(--v2-texto-2); text-decoration: none; }
.zt-alb-volver a:hover { color: var(--nx-canal-txt); }

/* Expansión del álbum */
.zt-albs-cab { display: grid; grid-template-columns: 220px minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 20px 24px; margin-bottom: 18px; border-radius: var(--v2-radio); background: var(--zt-panel); border: 1px solid var(--zt-borde); border-top: 3px solid var(--nx-canal); }
.zt-albs-logo { display: grid; place-items: center; min-height: 110px; padding: 14px; border-radius: var(--v2-radio-s); background: radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--nx-canal) 22%, transparent), var(--v2-tarjeta) 70%); }
.zt-albs-logo > i { font-size: 36px; color: var(--v2-texto-3); }
.zt-albs-logo-img { display: block; max-width: 100%; max-height: 90px; width: auto; height: auto; object-fit: contain; }
.zt-albs-logo-img.logo-fallido { display: none; }
.zt-albs-tx h1 { margin: 0 0 6px; font: 800 clamp(24px, 3vw, 34px)/1.12 var(--font-display); letter-spacing: -.02em; }
.zt-albs-quien { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 14px; color: var(--v2-texto-2); }
.zt-albs-quien img { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; }
.zt-albs-quien strong { color: var(--text-main); }
.zt-albs-prog { max-width: 380px; }
.zt-albs-barra { height: 10px; border-radius: 99px; overflow: hidden; background: var(--v2-tarjeta); }
.zt-albs-barra i { display: block; height: 100%; border-radius: 99px; background: var(--v2-amarillo); }
.zt-albs-barra.completa i { background: #22a05a; }
.zt-albs-prog span { display: block; margin-top: 6px; font-size: 12.5px; color: var(--v2-texto-2); font-variant-numeric: tabular-nums; }
.zt-albs-stats { display: grid; grid-template-columns: repeat(2, minmax(86px, 1fr)); gap: 8px; }
.zt-albs-stats > div { padding: 8px 14px; border-radius: var(--v2-radio-s); background: var(--v2-tarjeta); border: 1px solid var(--zt-borde); }
.zt-albs-stats span { display: block; font: 700 11px var(--font-primary); letter-spacing: .05em; text-transform: uppercase; color: var(--v2-texto-3); }
.zt-albs-stats strong { font: 800 22px var(--font-display); font-variant-numeric: tabular-nums; }
.zt-albs-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 14px 12px; margin-bottom: 26px; }
.zt-cromo { position: relative; text-align: center; }
.zt-cromo.oculto { display: none; }
.zt-cromo-foto { display: block; border-radius: 9px; overflow: hidden; border: 1px solid var(--zt-borde); transition: transform var(--transition-fast), border-color var(--transition-fast); }
.zt-cromo-foto:hover { transform: translateY(-3px); border-color: var(--nx-canal); }
.zt-cromo-foto img { display: block; width: 100%; height: auto; }
.zt-cromo-hueco { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; aspect-ratio: 150 / 209; padding: 6px; border-radius: 9px; text-decoration: none; color: var(--v2-texto-2); border: 2px dashed color-mix(in srgb, var(--v2-texto-3) 50%, transparent); background: var(--v2-tarjeta); }
.zt-cromo-hueco:hover { border-color: var(--nx-canal); color: var(--text-main); }
.zt-cromo-hueco strong { font-size: 13px; }
.zt-cromo-hueco span { font-size: 10.5px; line-height: 1.2; }
.zt-cromo-hueco small { font-size: 9.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.zt-cromo-x { position: absolute; top: 6px; right: 6px; padding: 2px 7px; border-radius: 99px; background: #1259c3; color: #fff; font-size: 11px; font-weight: 800; }
.zt-cromo-num { display: block; margin-top: 5px; font-size: 11px; font-weight: 700; color: var(--v2-texto-2); font-variant-numeric: tabular-nums; }
@media (max-width: 1100px) { .zt-alb-vitrina { grid-template-columns: repeat(2, minmax(0, 1fr)); } .zt-albs-cab { grid-template-columns: 180px minmax(0, 1fr); } .zt-albs-stats { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 700px) {
    .zt-alb-vitrina { grid-template-columns: minmax(0, 1fr); }
    .zt-alb-carnet { grid-template-columns: 72px minmax(0, 1fr); padding: 16px; }
    .zt-alb-av { width: 72px; height: 72px; }
    .zt-alb-sub { grid-column: 1 / -1; }
    .zt-albs-cab { grid-template-columns: minmax(0, 1fr); padding: 16px; }
    .zt-albs-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Productos recomendados bajo el catálogo (propios de la versión 2) */
.zt-prods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.zt-prod { display: flex; gap: 14px; align-items: center; padding: 12px; border-radius: 14px; text-decoration: none; color: var(--text-main); background: var(--v2-superficie); border: 1px solid var(--border-color); transition: border-color var(--transition-fast); }
[data-theme="dark"] .zt-prod { background: #0f1b2d; border-color: #1e2e45; }
.zt-prod:hover { border-color: var(--v2-amarillo); }
.zt-prod-dest { box-shadow: inset 3px 0 0 var(--v2-amarillo); }
.zt-prod-img { flex: 0 0 92px; height: 92px; display: grid; place-items: center; border-radius: 10px; background: #fff; overflow: hidden; color: #8a6500; font-size: 26px; }
.zt-prod-img img { width: 100%; height: 100%; object-fit: contain; }
.zt-prod-txt { display: grid; gap: 4px; min-width: 0; }
.zt-prod-txt b { font: 700 15px/1.3 var(--font-display); }
.zt-prod-txt > span { font-size: 13px; line-height: 1.45; color: var(--v2-texto-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.zt-prod-txt em { font-style: normal; font-size: 13px; font-weight: 700; color: var(--v2-activo); }
.zt-prod-badge { justify-self: start; padding: 2px 8px; border-radius: 5px; background: var(--v2-amarillo); color: #141005; font-size: 10.5px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
@media (max-width: 760px) { .zt-prods { grid-template-columns: minmax(0, 1fr); } }
