/* Tarjetas del catálogo que la plataforma inserta en las landings madre.
   Toman la tipografía y el color de texto de la página: no imponen una línea gráfica.
   Para personalizarlas sin plantilla, sobrescribe estas clases desde la propia landing. */
.tbc-lista{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(16px,2.4vw,28px)}
.tbc{display:flex;flex-direction:column;min-width:0;border-radius:22px;overflow:hidden;border:1px solid color-mix(in srgb,currentColor 16%,transparent);background:color-mix(in srgb,currentColor 4%,transparent);transition:border-color .3s,box-shadow .3s}
.tbc:hover,.tbc:focus-within{border-color:var(--tb-acento);box-shadow:0 0 0 1px var(--tb-acento),0 24px 60px -28px var(--tb-acento)}
.tbc-vista{display:block;text-decoration:none;color:inherit}
.tbc-info{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:20px 22px 24px}
.tbc-info h3{margin:0;font-size:clamp(20px,2vw,26px);line-height:1.1}
.tbc-info p{margin:0;opacity:.78}
.tbc-tags{display:flex;flex-wrap:wrap;gap:6px}
.tbc-tags span{font-size:12px;text-transform:uppercase;letter-spacing:.06em;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:999px;padding:.25em .8em}
.tbc-tags .tbc-cuenta{background:var(--tb-acento);color:var(--tb-acento-texto);border-color:transparent}
.tbc-btn{margin-top:6px;display:inline-flex;align-items:center;gap:.5em;padding:.7em 1.2em;border-radius:999px;background:var(--tb-acento);color:var(--tb-acento-texto);font-weight:700;font-size:14px;text-decoration:none}
.tbc-btn:hover{filter:brightness(1.08)}
.tbc-vacio{opacity:.7;padding:40px 0;margin:0}
.tbc-filtros{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px}
.tbc-filtros button{font:inherit;font-size:14px;font-weight:600;color:inherit;background:transparent;border:1px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:999px;padding:.45em 1em;cursor:pointer}
.tbc-filtros button[aria-pressed="true"]{color:inherit;background:color-mix(in srgb,currentColor 18%,transparent);border-color:currentColor}
.tbc-propia{display:contents}
.tb-catalogo-final{padding:clamp(40px,6vw,80px) max(16px,4vw)}

/* Miniatura en vivo: la página real a 1280×800, escalada al ancho del bloque. */
.tb-vista{position:relative;display:block;width:100%;aspect-ratio:16/10;overflow:hidden;background:color-mix(in srgb,var(--tb-acento,#888) 22%,#111)}
.tb-vista iframe{position:absolute;top:0;left:0;width:1280px;height:800px;border:0;transform-origin:0 0;transform:scale(var(--tb-s,.3));pointer-events:none;opacity:0;transition:opacity .6s}
.tb-vista iframe.tb-listo{opacity:1}
.tb-vista-nombre{position:absolute;inset:auto 16px 16px;color:#fff;font-weight:700;font-size:18px;opacity:.85}
.tb-vista.tb-con-vista .tb-vista-nombre{display:none}
.tb-vista-vivo{position:absolute;z-index:2;left:12px;top:12px;display:inline-flex;align-items:center;gap:7px;padding:.4em .8em;border-radius:999px;background:rgba(0,0,0,.62);color:#fff;font:600 11px/1 ui-monospace,Menlo,monospace;letter-spacing:.1em;text-transform:uppercase}
.tb-vista-vivo i{width:7px;height:7px;border-radius:50%;background:#00d776;animation:tb-late 1.4s ease-in-out infinite}
.tb-vista-prog{position:absolute;z-index:2;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.14)}
.tb-vista-prog i{display:block;height:100%;width:0;background:var(--tb-acento,#fff)}
@keyframes tb-late{50%{opacity:.25}}
.tb-preview .tb-vista-vivo{display:none}
[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){.tb-vista-vivo i{animation:none}}
