/* ── Cámara Diputados – Perfil Frontend CSS ── */
.cv-dip-wrap { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; max-width: 1100px; }

/* Cabecera */
.cv-dip-header { display: flex; gap: 24px; align-items: flex-start; background: #f5f8ff; border: 1px solid #d0daea; border-radius: 8px; padding: 20px; margin-bottom: 24px; }
.cv-dip-foto { width: 120px; height: 150px; object-fit: cover; border-radius: 6px; border: 2px solid #d0daea; flex-shrink: 0; }
.cv-dip-info h2 { margin: 0 0 6px; font-size: 20px; color: #1a3a6b; }
.cv-dip-cargo { margin: 0 0 4px; color: #555; font-size: 14px; }
.cv-dip-partido { margin: 0 0 10px; color: #1a3a6b; font-weight: 600; font-size: 14px; }
.cv-dip-link-oficial { font-size: 13px; color: #1a3a6b; text-decoration: none; border-bottom: 1px dotted #1a3a6b; }
.cv-dip-link-oficial:hover { color: #0d2247; }

/* Pestañas */
.cv-dip-tabs { display: flex; gap: 4px; border-bottom: 2px solid #d0daea; margin-bottom: 20px; flex-wrap: wrap; }
.cv-dip-tab { padding: 10px 18px; border: none; background: none; cursor: pointer; font-size: 14px; color: #555; border-bottom: 3px solid transparent; margin-bottom: -2px; font-weight: 500; transition: all .15s; }
.cv-dip-tab:hover { color: #1a3a6b; background: #f0f4ff; border-radius: 4px 4px 0 0; }
.cv-dip-tab.active { color: #1a3a6b; border-bottom-color: #1a3a6b; font-weight: 700; }

/* Paneles */
.cv-dip-panel { display: none; }
.cv-dip-panel.active { display: block; }

/* Resumen votos */
.cv-dip-resumen-votos { display: flex; gap: 10px; margin-bottom: 20px; flex-wrap: wrap; }
.cv-vr-box { flex: 1; min-width: 80px; text-align: center; border-radius: 8px; padding: 14px 8px; }
.cv-vr-box .num { display: block; font-size: 28px; font-weight: 800; line-height: 1; }
.cv-vr-box .lbl { display: block; font-size: 11px; margin-top: 4px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; }
.cv-vr-box.si    { background: #d4edda; color: #155724; }
.cv-vr-box.no    { background: #f8d7da; color: #721c24; }
.cv-vr-box.abs   { background: #fff3cd; color: #856404; }
.cv-vr-box.otro  { background: #e2e3e5; color: #383d41; }
.cv-vr-box.total { background: #e8eef8; color: #1a3a6b; }

/* Tabla diputado */
.cv-tabla-dip { width: 100%; border-collapse: collapse; font-size: 14px; }
.cv-tabla-dip thead th { background: #1a3a6b; color: #fff; padding: 10px 12px; text-align: left; }
.cv-tabla-dip tbody tr { border-bottom: 1px solid #e5e5e5; }
.cv-tabla-dip tbody tr:hover { background: #f5f8ff; }
.cv-tabla-dip td { padding: 9px 12px; vertical-align: middle; }

/* Badges voto */
.cv-voto-badge { display: inline-block; padding: 3px 10px; border-radius: 12px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.cv-voto-si   { background: #d4edda; color: #155724; }
.cv-voto-no   { background: #f8d7da; color: #721c24; }
.cv-voto-abs  { background: #fff3cd; color: #856404; }
.cv-voto-otro { background: #e2e3e5; color: #383d41; }

/* Fondo suave en toda la fila según el tipo de voto, para que se note de un vistazo. */
tr.cv-vot-fila[data-tipo="a-favor"]    { background: #eaf7ee !important; }
tr.cv-vot-fila[data-tipo="en-contra"]  { background: #fbebec !important; }
tr.cv-vot-fila[data-tipo="abstencion"] { background: #fff8e8 !important; }
tr.cv-vot-fila[data-tipo="no-vota"]    { background: #f1f2f3 !important; }
/* Al pasar el mouse, oscurecer un poco el mismo tono en vez de perder el color. */
tr.cv-vot-fila[data-tipo="a-favor"]:hover    { background: #d9f0e0 !important; }
tr.cv-vot-fila[data-tipo="en-contra"]:hover  { background: #f6dcdf !important; }
tr.cv-vot-fila[data-tipo="abstencion"]:hover { background: #ffefc7 !important; }
tr.cv-vot-fila[data-tipo="no-vota"]:hover    { background: #e4e5e7 !important; }

/* Paneles de links */
.cv-dip-iframe-wrap { padding: 20px; background: #f9f9f9; border-radius: 6px; text-align: center; }
.cv-dip-btn { display: inline-block; margin-top: 12px; padding: 12px 24px; background: #1a3a6b; color: #fff; border-radius: 6px; text-decoration: none; font-weight: 600; font-size: 15px; }
.cv-dip-btn:hover { background: #0d2247; color: #fff; }

@media (max-width: 600px) {
    .cv-dip-header { flex-direction: column; align-items: center; text-align: center; }
    .cv-dip-tab { padding: 8px 12px; font-size: 13px; }
    .cv-tabla-dip thead th:nth-child(2), .cv-tabla-dip td:nth-child(2) { display: none; }
}

/* Asistencia badges */
.cv-asist-badge { display:inline-block; padding:3px 10px; border-radius:12px; font-size:12px; font-weight:700; }
.cv-asist-badge.asiste    { background:#d4edda; color:#155724; }
.cv-asist-badge.no-asiste { background:#f8d7da; color:#721c24; }
.cv-asistencia-loading { padding:20px; color:#888; }

/* Transparencia grid */
.cv-trans-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; padding:4px 0; }
.cv-trans-card { display:flex; flex-direction:column; gap:6px; padding:20px; background:#f5f8ff; border:1px solid #d0daea; border-radius:8px; text-decoration:none; color:inherit; transition:all .15s; }
.cv-trans-card:hover { background:#e8eef8; border-color:#1a3a6b; transform:translateY(-2px); box-shadow:0 4px 12px rgba(26,58,107,.1); }
.cv-trans-icon { font-size:28px; }
.cv-trans-titulo { font-size:15px; font-weight:700; color:#1a3a6b; }
.cv-trans-desc { font-size:13px; color:#555; line-height:1.4; flex:1; }
.cv-trans-link { font-size:12px; color:#1a3a6b; font-weight:600; margin-top:4px; }

/* Biografía */
.cv-bio-contenido { padding:4px 0; line-height:1.7; color:#333; font-size:14px; }
.cv-bio-p { margin:0 0 10px; }
.cv-dip-comunas, .cv-dip-region, .cv-dip-periodo, .cv-dip-bancada { margin:2px 0; font-size:13px; color:#444; }

/* PDF viewer */
.cv-pdf-wrap { border:1px solid #d0daea; border-radius:6px; overflow:hidden; }
.cv-pdf-toolbar { display:flex; justify-content:space-between; align-items:center; background:#1a3a6b; color:#fff; padding:10px 16px; font-size:14px; font-weight:600; }
.cv-pdf-download { color:#fff; text-decoration:none; background:rgba(255,255,255,.15); padding:5px 12px; border-radius:4px; font-size:13px; }
.cv-pdf-download:hover { background:rgba(255,255,255,.25); }
.cv-pdf-frame { width:100%; height:700px; border:none; display:block; }
@media (max-width:600px) { .cv-pdf-frame { height:500px; } }
.cv-dip-volver { display:inline-block; margin-bottom:12px; color:#1a3a6b; text-decoration:none; font-size:14px; font-weight:600; }
.cv-dip-volver:hover { text-decoration:underline; }
