/* Carmen Leida · estilo institucional inspirado en camaradediputados.gob.do
   (mismas familias: Poppins en títulos y Hind en el texto; azul y rojo patrios). */
/* Fuentes alojadas en el propio sitio (sin pedirle nada a Google al cargar la página). */
@font-face { font-family: "Hind"; font-style: normal; font-weight: 400; font-display: swap; src: url(/fuentes/hind-400.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Hind"; font-style: normal; font-weight: 500; font-display: swap; src: url(/fuentes/hind-500.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Hind"; font-style: normal; font-weight: 600; font-display: swap; src: url(/fuentes/hind-600.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url(/fuentes/poppins-500.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 600; font-display: swap; src: url(/fuentes/poppins-600.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 700; font-display: swap; src: url(/fuentes/poppins-700.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  --primario: #1E367B;   /* azul de la barra de la Cámara */
  --primario-2: #154FA1; /* azul de apoyo */
  --acento: #C20E0E;     /* rojo de los botones */
  --fondo: #F1F1F1;
  --fondo-2: #FFFFFF;
  --texto: #1C2233;
  --gris: #5C5A57;
  --borde: #D9DCE3;
  --sobre-oscuro: #D6DEF2;
  --radio: 4px;
  --sombra: 0 18px 40px -22px rgba(30, 54, 123, .45);
  --titulos: "Poppins", system-ui, sans-serif;
  --cuerpo: "Hind", system-ui, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-padding-top: 64px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { margin: 0; background: var(--fondo-2); color: var(--texto); font: 400 18px/1.6 var(--cuerpo); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--primario-2); }
h1, h2, h3 { font-family: var(--titulos); color: var(--primario); line-height: 1.2; margin: 0 0 .5em; }
h2 { font-size: clamp(1.7rem, 3vw, 2.2rem); font-weight: 500; }
h3 { font-size: 1.08rem; font-weight: 600; }
p { margin: 0 0 1em; }
.contenedor { width: min(1140px, 100% - 32px); margin-inline: auto; }
.saltar { position: absolute; left: -999px; }
.saltar:focus { left: 16px; top: 8px; z-index: 99; background: #fff; padding: 8px 12px; }

/* ---------- cabecera (franja blanca + barra azul + tricolor) ---------- */
.cabecera { background: #FAFAFA; }
.cabecera-fila { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 0; }
.marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--primario); }
.marca-sello { width: 54px; height: 54px; flex: none; display: grid; place-items: center; border-radius: 50%;
  background: var(--primario); color: #fff; font: 600 1.2rem/1 var(--titulos); letter-spacing: .02em;
  box-shadow: inset 0 0 0 3px #fff, 0 0 0 2px var(--acento); }
.marca-texto { display: flex; flex-direction: column; }
.marca-texto strong { font: 600 1.05rem/1.2 var(--titulos); text-transform: uppercase; letter-spacing: .02em; }
.marca-texto span { font-size: .95rem; color: var(--gris); }
.cabecera-der { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.pais { font: italic 500 1.05rem var(--titulos); color: var(--primario); }
.cabecera-enlaces { display: flex; align-items: center; gap: 14px; font: 500 .85rem var(--titulos); text-transform: uppercase; }
.cabecera-enlaces a { color: var(--primario); text-decoration: none; }
.red svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; display: block; }
.red svg .lleno { fill: currentColor; stroke: none; }

.menu { background: var(--primario); position: sticky; top: 0; z-index: 20; }
.menu ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; }
.menu a { display: block; color: #fff; text-decoration: none; font: 500 .9rem/1 var(--titulos); padding: 17px 14px; }
.menu a:hover, .menu a:focus-visible { background: var(--primario-2); }
.menu-boton { display: none; }
.cabecera { position: relative; }
.tricolor { display: grid; grid-template-columns: 6fr 1fr 4fr; height: 6px; }
.tricolor span:nth-child(1) { background: var(--primario-2); }
.tricolor span:nth-child(2) { background: #fff; }
.tricolor span:nth-child(3) { background: var(--acento); }

/* ---------- portada ---------- */
.portada { background: var(--primario); color: #fff; position: relative; overflow: hidden; }
.portada::before { content: ""; position: absolute; inset: 0; background:
  linear-gradient(115deg, transparent 58%, rgba(255,255,255,.07) 58%, rgba(255,255,255,.07) 70%, transparent 70%),
  linear-gradient(115deg, transparent 74%, rgba(21,79,161,.55) 74%); }
.portada-fila { position: relative; display: grid; grid-template-columns: 1.25fr .75fr; gap: 48px; align-items: center; padding: 64px 0 72px; }
.antetitulo { font: 600 .8rem/1.3 var(--titulos); text-transform: uppercase; letter-spacing: .08em; color: var(--acento); margin-bottom: .7em; }
.antetitulo.claro { color: #FFD5D5; }
.portada h1 { color: #fff; font-weight: 600; font-size: clamp(2.3rem, 5.4vw, 3.9rem); letter-spacing: -.01em; }
.bajada { font-size: 1.15rem; color: var(--sobre-oscuro); max-width: 36em; }
.botones { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.boton { display: inline-block; text-decoration: none; font: 500 .95rem/1 var(--titulos); padding: 15px 24px; border-radius: var(--radio); border: 2px solid transparent; }
.boton-lleno { background: var(--acento); color: #fff; }
.boton-lleno:hover { background: #A30B0B; }
.boton-borde { border-color: rgba(255,255,255,.7); color: #fff; }
.boton-borde:hover { background: rgba(255,255,255,.1); }
.boton-azul { background: var(--primario); color: #fff; }
.boton-azul:hover { background: var(--primario-2); }
.portada-foto { margin: 0; background: #fff; padding: 10px 10px 0; border-radius: var(--radio); box-shadow: 0 30px 60px -30px rgba(0,0,0,.6); max-width: 380px; justify-self: end; }
.portada-foto img { aspect-ratio: 4 / 5; object-fit: cover; object-position: top; width: 100%; }
.portada-foto figcaption { margin: 0 -10px; padding: 12px 16px; background: var(--acento); color: #fff; font-size: .95rem; line-height: 1.3; }
.portada-foto figcaption strong { display: block; font: 600 .92rem var(--titulos); }

/* ---------- cifras ---------- */
.cifras { background: var(--fondo); padding: 0 0 28px; }
.cifras-lista { list-style: none; margin: -30px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--borde); position: relative; box-shadow: var(--sombra); border-top: 4px solid var(--primario); }
.cifras-lista li { background: #fff; padding: 22px 20px; }
.cifras-lista strong { display: block; font: 600 2.4rem/1 var(--titulos); color: var(--primario); }
.cifras-lista span { font-size: .98rem; color: var(--gris); line-height: 1.35; display: block; margin-top: 6px; }
.cifras-fuente { font-size: .88rem; color: var(--gris); margin: 12px 0 0; }

/* ---------- secciones ---------- */
.seccion { padding: 80px 0; }
.seccion-gris { background: var(--fondo); }
.seccion-azul { background: var(--primario); color: var(--sobre-oscuro); }
.seccion-azul h2 { color: #fff; }
.encabezado { max-width: 44em; margin-bottom: 32px; }
.encabezado h2 { position: relative; padding-bottom: 14px; }
.encabezado h2::after { content: ""; position: absolute; left: 0; bottom: 0; width: 64px; height: 4px; background: linear-gradient(90deg, var(--primario) 0 45%, #fff 45% 55%, var(--acento) 55%); }
.encabezado > p:last-child { color: var(--gris); }

/* pestañas tipo Cámara */
.pestanas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; margin-bottom: 18px; }
.pestanas button { font: 500 .88rem var(--titulos); text-transform: uppercase; letter-spacing: .03em; padding: 14px 10px; border: 0; cursor: pointer; background: #C9CDD3; color: #3A3F4A; border-radius: 0; }
.pestanas button[aria-pressed="true"] { background: var(--primario); color: #fff; }
.pestanas button:focus-visible { outline: 3px solid var(--acento); outline-offset: 2px; }

.iniciativas { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px; }
.ini { display: grid; grid-template-columns: 52px 1fr auto; gap: 18px; align-items: start; background: #fff; border: 1px solid var(--borde); padding: 18px 20px; }
.ini-doc { width: 52px; height: 52px; background: var(--acento); border-radius: var(--radio); position: relative; }
.ini-doc::before { content: ""; position: absolute; inset: 12px 15px; border: 2px solid #fff; border-radius: 2px; }
.ini-doc::after { content: ""; position: absolute; left: 20px; right: 20px; top: 22px; height: 8px; border-top: 2px solid #fff; border-bottom: 2px solid #fff; }
.ini h3 { margin: 2px 0 6px; }
.ini p { margin: 0; color: var(--gris); font-size: 1rem; line-height: 1.5; }
.ini .ini-meta { font-size: .88rem; text-transform: uppercase; letter-spacing: .02em; color: var(--gris); }
.ini-num { color: var(--primario); font-weight: 600; }
.ini-estado { font: 600 .78rem/1 var(--titulos); text-transform: uppercase; letter-spacing: .03em; padding: 8px 12px; border-radius: 999px; white-space: nowrap; background: #ECEEF2; color: #4A4F5A; }
.ini[data-estado^="Aprobad"] .ini-estado { background: #E2F1E6; color: #1C6B35; }
.ini[data-estado^="En comisi"] .ini-estado, .ini[data-estado^="Deposit"] .ini-estado { background: #E3EBFA; color: var(--primario); }
.ini[hidden] { display: none; }
.vacio { color: var(--gris); }
.labor-pie { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; margin-top: 26px; }
.enlace-flecha { font: 500 .95rem var(--titulos); color: var(--primario); }

/* prioridades */
.prioridades { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.prio { background: #fff; padding: 26px 24px; border-top: 4px solid var(--primario); box-shadow: var(--sombra); }
.prio p { color: var(--gris); margin: 0; font-size: 1.02rem; }
.prio-ico { display: block; width: 48px; height: 48px; border-radius: 50%; background: var(--primario) center / 26px no-repeat; margin-bottom: 16px; }
.ico-agua { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11z'/%3E%3C/svg%3E"); }
.ico-casa { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M10 20v-6h4v6'/%3E%3C/svg%3E"); }
.ico-energia { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2L4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E"); }
.ico-puente { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 16h20'/%3E%3Cpath d='M4 16c2-5 5-7 8-7s6 2 8 7'/%3E%3Cpath d='M8 16v-5M12 16V9M16 16v-5'/%3E%3C/svg%3E"); }
.ico-mujer { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='5'/%3E%3Cpath d='M12 13v8M9 18h6'/%3E%3C/svg%3E"); }
.ico-escuela { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 9l10-5 10 5-10 5z'/%3E%3Cpath d='M6 11v5c3 2 9 2 12 0v-5'/%3E%3C/svg%3E"); }
.ico-campo { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21V10'/%3E%3Cpath d='M12 10C12 6 9 3 5 3c0 4 3 7 7 7zM12 13c0-4 3-7 7-7 0 4-3 7-7 7z'/%3E%3C/svg%3E"); }
.ico-salud { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6v6h6v6h-6v6H9v-6H3V9h6z'/%3E%3C/svg%3E"); }

/* noticias */
.notas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.nota { background: #fff; border: 1px solid var(--borde); display: flex; flex-direction: column; }
.nota img { aspect-ratio: 16 / 9; object-fit: cover; width: 100%; }
.nota-cuerpo { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1; border-top: 4px solid var(--acento); }
.nota-meta { display: flex; justify-content: space-between; gap: 10px; font: 500 .78rem/1.3 var(--titulos); text-transform: uppercase; letter-spacing: .03em; color: var(--gris); margin-bottom: 10px; }
.nota-meta span { color: var(--primario); }
.nota p { color: var(--gris); font-size: 1rem; }
.nota-leer { margin-top: auto; font: 500 .9rem var(--titulos); color: var(--acento); }

/* comisiones */
.comisiones-fila { display: grid; grid-template-columns: .9fr 1.1fr; gap: 48px; align-items: start; }
.comisiones { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.comisiones li { background: rgba(255,255,255,.08); border-left: 4px solid var(--acento); padding: 14px 18px; display: flex; flex-direction: column; }
.com-tipo { font: 500 .76rem var(--titulos); text-transform: uppercase; letter-spacing: .06em; color: #FFD5D5; }
.com-nombre { color: #fff; font: 500 1.05rem/1.35 var(--titulos); }

/* biografía */
.bio-fila { display: grid; grid-template-columns: 340px 1fr; gap: 48px; align-items: start; }
.bio-foto { aspect-ratio: 4 / 5; object-fit: cover; object-position: top; border-bottom: 6px solid var(--acento); box-shadow: var(--sombra); }
.bio-texto p:not(.antetitulo) { max-width: 40em; }

/* contacto */
.contacto-rejilla { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.contacto-tarjeta { background: #fff; padding: 24px 20px; text-decoration: none; color: var(--texto); border: 1px solid var(--borde); display: flex; flex-direction: column; gap: 6px; min-width: 0; }
a.contacto-tarjeta:hover { border-color: var(--primario); }
.c-ico { width: 44px; height: 44px; border-radius: 50%; background: var(--primario); display: grid; place-items: center; margin-bottom: 6px; }
.c-ico svg { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.c-titulo { font: 600 .82rem var(--titulos); text-transform: uppercase; letter-spacing: .05em; color: var(--primario); }
.c-dato { font-size: 1rem; overflow-wrap: anywhere; line-height: 1.4; }

/* pie */
.pie { background: #14244F; color: #C9D2EA; font-size: .98rem; }
.pie-fila { display: flex; justify-content: space-between; gap: 32px; padding: 40px 0 18px; flex-wrap: wrap; }
.pie strong { color: #fff; font: 600 1.05rem var(--titulos); }
.pie a { color: #fff; }
.pie-nota { font-size: .88rem; max-width: 38em; }
.pie-enlaces { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pie-firma { font-size: .85rem; padding: 14px 0 26px; border-top: 1px solid rgba(255,255,255,.12); margin-top: 8px; }

/* página de texto (privacidad, 404) */
.pagina-texto { padding: 64px 0; }
.pagina-texto .contenedor { max-width: 760px; }

/* ---------- móvil ---------- */
@media (max-width: 900px) {
  .portada-fila, .comisiones-fila, .bio-fila { grid-template-columns: 1fr; gap: 32px; }
  .portada-foto { justify-self: start; max-width: 300px; }
  .prioridades, .notas { grid-template-columns: 1fr 1fr; }
  .contacto-rejilla, .cifras-lista { grid-template-columns: 1fr 1fr; }
  .bio-foto { max-width: 300px; }
}
@media (max-width: 640px) {
  body { font-size: 17px; }
  .seccion { padding: 56px 0; }
  .cabecera-der .pais { display: none; }
  .marca-sello { width: 46px; height: 46px; font-size: 1rem; }
  .marca-texto strong { font-size: .9rem; }
  .marca-texto span { font-size: .85rem; }
  .menu-boton { display: flex; align-items: center; gap: 4px; flex-direction: column; background: none; border: 0; color: #fff; padding: 12px 4px; cursor: pointer; }
  .menu-boton span { width: 22px; height: 2px; background: #fff; display: block; }
  .menu-boton b { font: 500 .7rem var(--titulos); text-transform: uppercase; margin-top: 2px; }
  .menu-fila { display: flex; flex-direction: column; }
  .menu ul { display: none; flex-direction: column; padding-bottom: 8px; }
  .menu.abierto ul { display: flex; }
  .menu a { padding: 13px 4px; border-top: 1px solid rgba(255,255,255,.12); }
  .portada-fila { padding: 40px 0 64px; }
  .portada-foto { max-width: 250px; }
  .botones .boton { width: 100%; text-align: center; }
  .pestanas { grid-template-columns: 1fr 1fr; }
  .ini { grid-template-columns: 1fr; gap: 10px; padding: 16px; }
  .ini-doc { display: none; }
  .ini-estado { justify-self: start; order: -1; }
  .prioridades, .notas, .contacto-rejilla { grid-template-columns: 1fr; }
  .cifras-lista strong { font-size: 2rem; }
}
.nota[hidden] { display: none; }
.mas-notas { text-align: center; margin: 28px 0 0; }
.mas-notas .boton { border: 0; cursor: pointer; }

/* ---------- accesibilidad ---------- */
.solo-lector { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
a:focus-visible, button:focus-visible, .contacto-tarjeta:focus-visible { outline: 3px solid var(--acento); outline-offset: 2px; }
.menu a:focus-visible, .portada a:focus-visible, .seccion-azul a:focus-visible { outline-color: #fff; }
.bio-fila > picture { display: contents; }
@media print {
  .menu, .tricolor, .botones, .pestanas, .mas-notas, .saltar { display: none !important; }
  .nota[hidden] { display: block !important; }
  .portada, .seccion-azul { background: #fff !important; color: #000 !important; }
  .portada h1, .portada .bajada, .seccion-azul h2, .seccion-azul p { color: #000 !important; }
}
