/* =====================================================
   Comparador (/comparar) — DEV 12-oct-2026, Fase 1
   Reutiliza las clases base de styles.css (.crumbs, .btn, .muted).
   Escritorio: 3 columnas de modelo. Móvil: 2 (la tercera columna del
   selector se oculta; si llega ?c= la tabla hace scroll horizontal
   con la primera columna fija).
   ===================================================== */

.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

.cmp-head{margin:8px 0 18px}
.cmp-h1{margin:0;font-size:28px;line-height:1.2}
.cmp-vs{color:var(--muted);font-weight:500;font-size:.8em;padding:0 4px}
.cmp-lead{margin:10px 0 0;font-size:15px;max-width:820px;color:var(--text)}
.cmp-fecha{margin:8px 0 0;font-size:13px;color:var(--muted)}
.cmp-vacio{padding:18px;background:var(--card);border:1px solid var(--line);border-radius:12px}

/* ── Portada: tarjetas de categoría ───────────────────────── */
.cmp-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:6px 0 28px}
.cmp-cat{display:flex;flex-direction:column;gap:6px;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--text);transition:border-color .15s,transform .15s}
.cmp-cat:hover{border-color:var(--accent);transform:translateY(-1px)}
.cmp-cat-nombre{font-size:18px;font-weight:800}
.cmp-cat-desc{font-size:13px;color:var(--muted);line-height:1.4}
.cmp-cat-n{margin-top:auto;font-size:12px;font-weight:700;color:var(--accent)}
.cmp-como{max-width:820px}
.cmp-como h2{font-size:20px;margin:0 0 8px}
.cmp-como ol{margin:0 0 10px;padding-left:20px;line-height:1.6}

/* ── Selector marca → modelo ──────────────────────────────── */
.cmp-sel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:end;padding:16px;background:var(--card);border:1px solid var(--line);border-radius:14px;margin:0 0 22px}
.cmp-sel-col{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:8px}
.cmp-sel-legend{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);padding:0;margin-bottom:2px}
.cmp-sel-label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}
.cmp-sel select{width:100%;min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--text);font-size:14px}
.cmp-sel select:disabled{background:var(--soft);color:var(--muted)}
.cmp-sel-actions{display:flex;flex-direction:column;gap:6px;align-items:stretch;min-width:140px}
.cmp-sel-btn{min-height:42px;font-weight:700}
.cmp-sel-btn:disabled{opacity:.5;cursor:not-allowed}
.cmp-sel-hint{margin:0;font-size:12px;color:var(--muted);min-height:1.2em}
.cmp-cambiar{margin:0 0 18px}
.cmp-cambiar>summary{cursor:pointer;font-weight:700;color:var(--accent);padding:8px 0;list-style:none}
.cmp-cambiar>summary::-webkit-details-marker{display:none}
.cmp-cambiar>summary::before{content:"▸ ";font-size:.9em}
.cmp-cambiar[open]>summary::before{content:"▾ "}
.cmp-cambiar .cmp-sel{margin-top:6px}

/* ── Tabla comparada ──────────────────────────────────────── */
.cmp-tabla-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.cmp-tabla{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:14px}
.cmp-tabla th,.cmp-tabla td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;word-wrap:break-word}
.cmp-tabla tbody tr:last-child th,.cmp-tabla tbody tr:last-child td{border-bottom:0}
.cmp-tabla th[scope=row]{font-weight:600;color:var(--muted);background:var(--soft);position:sticky;left:0;z-index:1;width:26%}
.cmp-th-attr{position:sticky;left:0;z-index:2;background:var(--card);width:26%}
.cmp-th-modelo{background:var(--card);border-bottom:2px solid var(--line)!important}
.cmp-tabla--3 .cmp-th-attr,.cmp-tabla--3 th[scope=row]{width:22%}
.cmp-fila--precio td{font-weight:800;font-size:15px}
.cmp-tabla td.is-mejor{font-weight:800;color:#0f7a3b;background:#eefaf2}
.cmp-tabla td.is-mejor::before{content:"● ";font-size:9px;vertical-align:middle}
.cmp-tabla td.is-vacia{color:var(--muted)}
.cmp-leyenda{margin:8px 0 22px;font-size:12px;color:var(--muted)}
.cmp-leyenda-mejor{color:#0f7a3b;font-size:9px;vertical-align:middle}

/* Cabecera de modelo dentro de la tabla */
.cmp-modelo{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-weight:400}
.cmp-modelo-img{width:120px;height:120px;object-fit:contain;background:#fff;border-radius:10px;border:1px solid var(--line);display:block}
.cmp-modelo-img--vacia{background:var(--soft)}
.cmp-modelo-nombre{font-size:16px;font-weight:800;line-height:1.25;color:var(--text)}
.cmp-modelo-precio{font-size:14px;color:var(--text)}
.cmp-modelo-precio strong{font-size:18px}
.cmp-modelo-tiendas{font-size:12px;color:var(--muted)}
.cmp-modelo-btn{margin-top:6px;min-height:40px;padding:8px 14px;font-weight:700;font-size:14px}
.cmp-modelo-go{font-size:12px;color:var(--accent);text-decoration:none;margin-top:2px}
.cmp-modelo-go:hover{text-decoration:underline}

/* ── Variantes ─────────────────────────────────────────────── */
.cmp-variantes{margin:0 0 24px}
.cmp-variantes h2,.cmp-texto-sec h2,.cmp-otras h2,.cmp-destacadas h2{font-size:20px;margin:0 0 10px}
.cmp-var-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.cmp-var-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cmp-var-col{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.cmp-var-modelo{margin:0 0 8px;font-size:14px}
.cmp-var-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:13px}
.cmp-var-list li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding-bottom:6px}
.cmp-var-list li:last-child{border-bottom:0}
.cmp-var-list a{color:var(--text);text-decoration:none}
.cmp-var-list a:hover{color:var(--accent)}
.cmp-var-precio{white-space:nowrap;font-weight:700}

/* ── Textos ────────────────────────────────────────────────── */
.cmp-texto-sec{max-width:820px;margin:0 0 22px;line-height:1.6}
.cmp-puntos{margin:0;padding-left:20px}
.cmp-puntos li{margin-bottom:6px}
.cmp-coinciden{margin:10px 0 0;color:var(--muted);font-size:14px}
.cmp-texto p{margin:0 0 10px}

/* ── Destacadas / otras ────────────────────────────────────── */
.cmp-destacadas,.cmp-otras{margin:0 0 22px}
.cmp-dest-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
.cmp-dest-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;background:var(--card);border:1px solid var(--line);border-radius:10px;font-size:14px}
.cmp-dest-item a{color:var(--text);text-decoration:none;font-weight:600}
.cmp-dest-item a:hover{color:var(--accent)}
.cmp-dest-precio{margin-left:auto;font-size:12px;color:var(--muted);white-space:nowrap}
.cmp-badge{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);background:#eaf3ff;padding:2px 7px;border-radius:999px}
.cmp-ver-todos{margin:6px 0 20px;font-size:14px}

/* ── Móvil ─────────────────────────────────────────────────── */
@media (max-width:900px){
  .cmp-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmp-sel{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cmp-sel-col--3{display:none}
  .cmp-sel-actions{grid-column:1 / -1;flex-direction:row;align-items:center}
  .cmp-sel-btn{flex:1}
  .cmp-dest-list{grid-template-columns:1fr}
}
@media (max-width:620px){
  .cmp-h1{font-size:22px}
  .cmp-cats{grid-template-columns:1fr}
  .cmp-tabla{font-size:13px;min-width:100%}
  .cmp-tabla--3{min-width:560px}
  .cmp-tabla th,.cmp-tabla td{padding:8px 8px}
  .cmp-tabla th[scope=row],.cmp-th-attr{width:32%;font-size:12px}
  .cmp-tabla--3 .cmp-th-attr,.cmp-tabla--3 th[scope=row]{width:120px}
  .cmp-modelo-img{width:84px;height:84px}
  .cmp-modelo-nombre{font-size:14px}
  .cmp-modelo-precio strong{font-size:16px}
  .cmp-modelo-btn{width:100%;min-height:44px}
  .cmp-var-grid,.cmp-var-grid--3{grid-template-columns:1fr}
}
