/* TU STORE · Ficha de producto — solo componentes del plugin. Colores = globales del Kit 6. */
.ts-precio,.ts-compra,.ts-barra,.ts-resenas{--ts-rojo:var(--e-global-color-primary,#ec3013);--ts-rojo-h:var(--e-global-color-tshover,#c92408);--ts-rojo-t:var(--e-global-color-accent,#a82010);--ts-tinta:var(--e-global-color-secondary,#201e1d);--ts-muted:var(--e-global-color-tsmuted,#4a4644);--ts-muted2:var(--e-global-color-tsmuted2,#6b6664);--ts-linea:var(--e-global-color-tsline,#cfcdcc);--ts-fondo:var(--e-global-color-tsbg,#f3f2f2);--ts-surf:var(--e-global-color-tssurf,#eae9e9);font-family:Archivo,sans-serif;color:var(--ts-tinta)}

/* Precio */
.ts-precio{display:flex;flex-direction:column;gap:6px}
.ts-precio__linea{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.ts-precio__actual{font-size:38px;font-weight:800;letter-spacing:-.02em;line-height:1}
.ts-precio__anterior{font-size:17px;color:var(--ts-muted2)}
.ts-precio__ahorro{font-size:14px;font-weight:600;color:var(--ts-rojo-t)}
.ts-precio__medios{display:flex;flex-direction:column;gap:2px;font-size:14px;padding-top:4px}
.ts-precio__agotado{font-size:18px;font-weight:800}

/* Packs */
.ts-compra{display:flex;flex-direction:column;gap:10px;margin:0;scroll-margin-top:80px}
.ts-packs{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;min-width:0}
.ts-packs__titulo{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:0;margin:0 0 2px}
.ts-pack{position:relative;display:grid;grid-template-columns:20px 1fr auto;gap:12px;align-items:center;padding:14px 12px;border:2px solid var(--ts-tinta);background:transparent;cursor:pointer;margin:0;transition:background .15s,border-color .15s}
.ts-pack input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.ts-pack__radio{width:20px;height:20px;border:2px solid var(--ts-tinta);border-radius:50%;display:flex;align-items:center;justify-content:center}
.ts-pack__radio::after{content:"";width:10px;height:10px;border-radius:50%;background:transparent}
.ts-pack:has(input:checked){border-color:var(--ts-rojo);background:#fff}
.ts-pack:has(input:checked) .ts-pack__radio::after{background:var(--ts-rojo)}
.ts-pack:has(input:focus-visible){outline:2px solid var(--ts-tinta);outline-offset:2px}
.ts-pack.is-agotado{opacity:.45;cursor:not-allowed}
.ts-pack__info{display:flex;flex-direction:column;gap:2px;min-width:0}
.ts-pack__nombre{font-weight:800;font-size:16px;line-height:1.2}
.ts-pack__sub{font-size:12px;color:var(--ts-muted);line-height:1.3}
.ts-pack__precios{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.ts-pack__precio{font-weight:800;font-size:17px;line-height:1.1}
.ts-pack__anterior{font-size:12px;color:var(--ts-muted2)}
.ts-pack__tag{position:absolute;top:-10px;right:10px;background:var(--ts-rojo);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;padding:3px 6px;line-height:1.2}

/* Botones */
.ts-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:0;border-radius:0;background:var(--ts-rojo);color:#fff;font-family:inherit;font-weight:800;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;transition:background .15s}
.ts-btn:hover,.ts-btn:focus{background:var(--ts-rojo-h);color:#fff}
.ts-btn:active{background:var(--ts-rojo-t)}
.ts-btn:disabled{background:var(--ts-muted2);cursor:not-allowed}
.ts-btn--comprar{height:60px;padding:0 18px;font-size:18px;margin-top:6px}
.ts-btn--barra{height:52px;padding:0 14px;font-size:15px}
.ts-compra__pago{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ts-muted)}
.ts-compra__pago svg{fill:none;stroke:currentColor;stroke-width:2;flex:none}

/* Barra fija */
.ts-barra{position:fixed;left:0;right:0;bottom:0;z-index:999;background:var(--ts-fondo);border-top:2px solid var(--ts-tinta);padding:10px 12px;display:grid;grid-template-columns:1fr 1.3fr;gap:10px;align-items:center;transform:translateY(0);transition:transform .2s}
.ts-barra[hidden]{display:grid;transform:translateY(110%);visibility:hidden}
.ts-barra__info{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.ts-barra__nombre{font-size:11px;color:var(--ts-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-barra__precio{font-size:20px;font-weight:800}
@media (min-width:1025px){.ts-barra{grid-template-columns:1fr 320px;padding:10px max(16px,calc((100vw - 1200px)/2))}}

/* Badge de la galería */
.woocommerce span.onsale.ts-onsale,.ts-onsale{position:absolute;top:12px;left:12px;right:auto;min-width:0;min-height:0;margin:0;border-radius:0;background:var(--e-global-color-primary,#ec3013);color:#fff;font-family:Archivo,sans-serif;font-weight:800;font-size:14px;line-height:1;padding:6px 8px;z-index:2}

/* Reseñas */
.ts-resenas{display:flex;flex-direction:column;gap:12px}
.ts-resenas__titulo{margin:0;font-size:26px;font-weight:800;letter-spacing:-.02em;line-height:1.05}
.ts-resenas__resumen{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:2px solid var(--ts-tinta);padding-bottom:10px}
.ts-resenas__promedio{display:flex;flex-direction:column;gap:2px}
.ts-resenas__nota{font-size:44px;font-weight:800;line-height:1}
.ts-resenas__cant{font-size:12px;color:var(--ts-muted)}
.ts-resenas__dist{display:flex;flex-direction:column;gap:4px;width:170px}
.ts-resenas__fila{display:grid;grid-template-columns:12px 1fr 32px;gap:6px;align-items:center;font-size:11px}
.ts-resenas__fila span:last-child{text-align:right;color:var(--ts-muted)}
.ts-resenas__barra{height:6px;background:var(--e-global-color-tsline,#dcdbdb);position:relative}
.ts-resenas__barra span{position:absolute;inset:0 auto 0 0;background:var(--ts-tinta)}
.ts-estrellas{color:var(--ts-rojo);letter-spacing:2px;font-size:15px}
.ts-estrellas__vacia{color:var(--ts-linea)}
.ts-resena{border-top:1px solid var(--ts-linea);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.ts-resena__cab{display:flex;justify-content:space-between;gap:8px;font-size:13px}
.ts-resena__verif{font-size:11px;font-weight:600;color:var(--ts-rojo-t);text-transform:uppercase;letter-spacing:.06em}
.ts-resena__texto{font-size:14px;line-height:1.45}
.ts-resena__texto p{margin:0}
.ts-resenas__form{border-top:2px solid var(--ts-tinta);padding-top:12px}
.ts-resenas__form textarea,.ts-resenas__form select{width:100%;border:2px solid var(--ts-tinta);border-radius:0;padding:10px;font-family:inherit;background:#fff}
.ts-resenas__form input[type=submit]{background:var(--ts-rojo);color:#fff;border:0;border-radius:0;height:52px;padding:0 18px;font-weight:800;text-transform:uppercase;cursor:pointer}
