/* Tablillas de Occidente — estilos del catálogo (líneas y grid) */
.tc-lineas-grid, .tc-linea, .tc-linea * {
  box-sizing: border-box;
}
.tc-lineas-grid {
  --tc-amarillo:#F5B914; --tc-terracota:#C6371F; --tc-carbon:#3A3A3A;
  --tc-crudo:#FAF8F5; --tc-linea:#e6ded2; --tc-ink-soft:#7a7169;
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin:20px 0;
  font-family:"Nunito Sans", ui-sans-serif, system-ui, sans-serif;
}
@media (max-width:900px){ .tc-lineas-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .tc-lineas-grid{ grid-template-columns:1fr; } }
.tc-linea-card{
  background:#fff; border:1px solid var(--tc-linea); border-radius:14px; overflow:hidden;
  text-decoration:none; color:var(--tc-carbon); display:flex; flex-direction:column;
}
.tc-card-ph{ aspect-ratio:5/4; overflow:hidden; position:relative; background:#eee; }
.tc-card-ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-badge-mas-vendido{
  position:absolute; top:10px; left:10px; background:var(--tc-terracota); color:#fff;
  font-weight:800; font-size:.72rem; padding:5px 10px; border-radius:999px;
}
.tc-card-body{ padding:16px 18px 18px; }
.tc-card-nombre{ font-family:"Baloo 2", ui-rounded, sans-serif; font-weight:700; font-size:1.1rem; }
.tc-card-desc{ color:var(--tc-ink-soft); font-size:.88rem; margin-top:4px; }
.tc-card-precio{ margin-top:8px; font-weight:800; color:var(--tc-terracota); font-size:.92rem; }

.tc-linea{
  --tc-amarillo:#F5B914; --tc-terracota:#C6371F; --tc-carbon:#3A3A3A;
  --tc-crudo:#FAF8F5; --tc-linea:#e6ded2; --tc-ink-soft:#7a7169;
  font-family:"Nunito Sans", ui-sans-serif, system-ui, sans-serif; color:var(--tc-carbon);
  border:1px solid var(--tc-linea); border-radius:20px; padding:28px; background:var(--tc-crudo);
  display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; margin:26px 0;
}
@media (max-width:820px){ .tc-linea{ grid-template-columns:1fr; gap:22px; } }
.tc-linea-foto{ border-radius:14px; overflow:hidden; aspect-ratio:4/3; position:relative; background:#eee; }
.tc-linea-foto img{ width:100%; height:100%; object-fit:cover; display:block; }
.tc-tag{
  position:absolute; top:12px; left:12px; background:rgba(38,34,32,.72); color:#fff;
  font-size:.72rem; font-weight:800; padding:5px 10px; border-radius:999px;
}
.tc-linea-nombre{ font-family:"Baloo 2", ui-rounded, sans-serif; font-size:1.55rem; font-weight:700; }
.tc-linea-uso{ color:var(--tc-ink-soft); font-size:.9rem; margin-top:4px; }
.tc-swatches{ display:flex; gap:10px; margin:18px 0; flex-wrap:wrap; }
.tc-swatch{
  width:44px; height:44px; border-radius:50%; border:3px solid transparent; cursor:pointer;
  padding:0; box-shadow:inset 0 0 0 1px rgba(58,52,46,.18); background-size:cover; background-position:center;
}
.tc-swatch[aria-pressed="true"]{ border-color:var(--tc-terracota); }
.tc-swatch:focus-visible{ outline:3px solid var(--tc-amarillo); outline-offset:2px; }
.tc-precio-row{ display:flex; align-items:center; gap:12px; margin:18px 0 6px; flex-wrap:wrap; }
.tc-antes{ background:var(--tc-amarillo); color:var(--tc-carbon); border-radius:999px; padding:6px 14px; font-weight:800; font-size:.85rem; }
.tc-antes s{ opacity:.75; }
.tc-ahora{ border:2px solid var(--tc-amarillo); border-radius:12px; padding:8px 16px; font-family:"Baloo 2", ui-rounded, sans-serif; font-weight:700; font-size:1.4rem; color:var(--tc-carbon); }
.tc-ahora .tc-u{ font-family:"Nunito Sans", sans-serif; font-weight:700; font-size:.85rem; color:var(--tc-ink-soft); }
.tc-specs{ display:flex; gap:18px; flex-wrap:wrap; margin:14px 0 22px; font-size:.85rem; color:var(--tc-ink-soft); }
.tc-specs b{ color:var(--tc-carbon); font-weight:800; }
.tc-btn-wa{
  display:inline-flex; align-items:center; gap:8px; background:var(--tc-terracota); color:#fff !important;
  font-weight:800; font-size:.95rem; padding:12px 20px; border-radius:999px; text-decoration:none !important;
}
.tc-btn-wa:hover{ background:#a12c17; }
