/* Sección "Tienda" (sec-tienda.js), pantalla 14 del diseño. Tokens de panel.css. */

.tt-titulo { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.tt { display: flex; flex-direction: column; gap: 18px; }

/* Link */
.tt-link { display: flex; align-items: center; gap: 14px; padding: 14px 18px; }
.tt-link-icono { width: 40px; height: 40px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: var(--r-medio); border: 1px solid var(--border-hi); background: var(--accent-soft); color: var(--cyan); }
.tt-link-textos { flex: 1; min-width: 0; }
.tt-url { display: block; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-url:hover { color: var(--cyan); }

.tt-grilla { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); gap: 18px; align-items: start; }
.tt-cabeza { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.tt-cabeza .t-subtitulo { margin: 0; }

/* Productos */
.tt-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.tt-producto { display: flex; flex-direction: column; background: var(--bg-card); border: 1px solid var(--border); border-radius: var(--r-enorme); overflow: hidden; }
.tt-producto.pausado .tt-foto { opacity: .55; }
.tt-producto-boton { font: inherit; color: inherit; text-align: left; background: none; border: 0; padding: 0; cursor: pointer; display: flex; flex-direction: column; }
.tt-producto-boton:hover .tt-producto-nombre { color: var(--cyan); }
.tt-foto { aspect-ratio: 16 / 10; max-width: 100%; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.tt-foto img { width: 100%; height: 100%; object-fit: cover; }
.tt-foto-vacia { opacity: .7; display: flex; }
.tt-producto-textos { padding: 12px 14px 4px; min-width: 0; }
.tt-producto-nombre { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tt-precios { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-top: 8px; }
.tt-precio { font-weight: 700; font-size: 18px; line-height: 22px; font-variant-numeric: tabular-nums; }
.tt-precio.sin { font-size: 14px; font-weight: 600; color: var(--warn); }
.tt-producto-pie { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; padding: 8px 14px 12px; margin-top: auto; }
.tt-producto-pie .boton { margin-left: auto; }

/* Lateral */
.tt-lateral { display: flex; flex-direction: column; gap: 14px; }
.tt-ventas, .tt-panel { display: flex; flex-direction: column; gap: 8px; }
.tt-ventas .t-subtitulo, .tt-panel .t-subtitulo { margin: 0 0 4px; }
.tt-panel p { margin: 0 0 6px; }
.tt-numeros { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tt-separador { height: 1px; background: var(--border); margin: 8px 0; }
.tt-fila { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tt-plata { font-weight: 700; font-size: 20px; line-height: 24px; color: var(--ok); font-variant-numeric: tabular-nums; white-space: nowrap; }
.tt-plata.debe { color: var(--err); }
.tt-plata.cero { color: var(--text-dim); }
.tt-nivel { display: inline-flex; align-items: center; gap: 8px; }
.tt-nivel b { font-size: 18px; }
.tt-aviso { color: var(--warn); background: var(--warn-bg); border: 1px solid var(--warn-border); border-radius: var(--r-medio); padding: 8px 10px; }

/* Modales */
.tt-opcion { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 14px; border: 1px solid var(--border); border-radius: var(--r-grande); }
.tt-opcion p { margin: 0 0 4px; }
.tt-fijo { padding: 11px 13px; background: var(--bg-input); border: 1px solid var(--border-fuerte); border-radius: var(--r-medio); font-weight: 600; color: var(--text-dim); font-variant-numeric: tabular-nums; }
.tt-desglose { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--r-grande); background: var(--bg-input); }

@media (max-width: 1100px) {
  .tt-grilla { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .tt-link { flex-wrap: wrap; }
  .tt-link-textos { flex-basis: calc(100% - 54px); }
  .tt-link .boton { width: 100%; justify-content: center; }
  .tt-lista { grid-template-columns: 1fr; }
}
