/* ── Cámara Buscador Diputados ── */
.cb-wrap { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif; max-width:1100px; }

/* Filtros */
.cb-filtros { display:flex; gap:12px; align-items:flex-end; flex-wrap:wrap; background:#f5f8ff; border:1px solid #d0daea; border-radius:8px; padding:20px; margin-bottom:24px; }
.cb-campo { display:flex; flex-direction:column; gap:6px; flex:1; min-width:180px; }
.cb-campo label { font-size:13px; font-weight:600; color:#1a3a6b; }
.cb-campo input, .cb-campo select { padding:9px 12px; border:1px solid #ccc; border-radius:6px; font-size:14px; background:#fff; width:100%; }
.cb-campo input:focus, .cb-campo select:focus { border-color:#1a3a6b; outline:none; box-shadow:0 0 0 2px rgba(26,58,107,.15); }
.cb-campo select:disabled { background:#f0f0f0; color:#999; cursor:not-allowed; }

/* Botones */
.cb-btn { padding:9px 20px; border:none; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; background:#1a3a6b; color:#fff; transition:background .15s; align-self:flex-end; }
.cb-btn:hover { background:#0d2247; }
.cb-btn-sec { background:#e8eef8; color:#1a3a6b; }
.cb-btn-sec:hover { background:#d0daea; }

/* Resultados */
.cb-hint, .cb-vacio { color:#888; font-style:italic; padding:10px 0; }
.cb-total { font-size:13px; color:#555; margin-bottom:14px; }
.cb-loading { color:#1a3a6b; padding:10px 0; }

/* Grid de tarjetas */
.cb-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:16px; }
.cb-card { display:flex; flex-direction:column; text-decoration:none; color:inherit; background:#fff; border:1px solid #e0e8f0; border-radius:8px; overflow:hidden; transition:all .15s; }
.cb-card:hover { border-color:#1a3a6b; box-shadow:0 4px 14px rgba(26,58,107,.12); transform:translateY(-2px); }
.cb-foto { width:100%; height:160px; object-fit:cover; object-position:top; background:#f5f8ff; }
.cb-card-info { padding:12px; display:flex; flex-direction:column; gap:4px; }
.cb-card-nombre { font-weight:700; font-size:14px; color:#1a3a6b; line-height:1.3; }
.cb-card-partido { font-size:12px; color:#555; }
.cb-card-distrito { font-size:12px; color:#1a3a6b; font-weight:600; }
.cb-card-comunas { font-size:11px; color:#888; margin-top:2px; }

@media (max-width:600px) {
    .cb-filtros { flex-direction:column; }
    .cb-campo { min-width:100%; }
    .cb-btn { width:100%; }
    .cb-grid { grid-template-columns:repeat(2,1fr); }
}
