#comparador-app { max-width: 1100px; margin: 2rem auto; padding: 1rem; }
.comp-busqueda { display:flex; gap:1rem; align-items:center; margin-bottom:1rem; }
.comp-busqueda input { flex:1; padding:.6rem .8rem; border:1px solid #ddd; border-radius:.5rem; }
.comp-acciones { display:flex; gap:.5rem; }
.comp-acciones button { padding:.6rem 1rem; border:0; border-radius:.5rem; cursor:pointer; }
.comp-acciones button[disabled] { opacity:.5; cursor:not-allowed; }

.comp-lista { display:grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap:1rem; }
.comp-card { border:1px solid #eee; border-radius:.8rem; padding:.8rem; display:flex; flex-direction:column; gap:.6rem; background:#fff; }
.comp-card img { width:100%; height:140px; object-fit:contain; }
.comp-card .comp-top { display:flex; align-items:center; justify-content:space-between; gap:.5rem; }
.comp-card label { font-size:.9rem; display:flex; align-items:center; gap:.4rem; }

.comp-tabla { overflow:auto; margin-top:1.5rem; }
.comp-tabla table { width:100%; border-collapse:collapse; background:#fff; }
.comp-tabla th, .comp-tabla td { border:1px solid #eee; padding:.6rem .8rem; text-align:left; vertical-align:top; }
.comp-tabla thead th { position:sticky; top:0; background:#fafafa; }
.comp-prod { display:flex; align-items:center; gap:.6rem; }
.comp-prod img { width:42px; height:42px; object-fit:contain; }
.comp-spec { white-space:nowrap; font-weight:600; }
.comp-empty { color:#999; font-style:italic; }
