/* ============================================================
   Modo de alto contraste (tema oscuro accesible)
   Se activa añadiendo la clase `contraste` al <body>.
   Respeta la paleta institucional: solo intensifica el contraste.
============================================================ */

/* ---------- Variables ---------- */
html[data-contraste="1"] body {
  --gris-suave: #1c1f22;
  --gris-borde: #4a4f55;
  --texto: #ffffff;
  --texto-suave: #e8ebee;

  /* Acentos más luminosos para leerse sobre fondo oscuro */
  --azul-900: #7cc9ff;
  --azul-700: #93d2ff;
  --azul-400: #b3e0ff;
  --naranja-400: #ffc266;
  --naranja-500: #ffd08a;
  --naranja-600: #ffdca6;

  /* Bootstrap */
  --bs-body-bg: #121517;
  --bs-body-color: #ffffff;
  --bs-heading-color: #ffffff;
  --bs-link-color: #93d2ff;
  --bs-link-hover-color: #ffffff;
  --bs-border-color: #4a4f55;

  background-color: #121517 !important;
  color: #ffffff;
}

/* ---------- Fondos base ---------- */
html[data-contraste="1"] body .bg-white,
html[data-contraste="1"] body .bg-light {
  background-color: #121517 !important;
}
html[data-contraste="1"] body .bg-suave {
  background-color: #17191c !important;
}

/* Barra de navegación (fondo claro original) */
html[data-contraste="1"] body .navbar,
html[data-contraste="1"] body .navbar-collapse {
  background: #0b0d0f !important;
  backdrop-filter: none;
}
html[data-contraste="1"] body .navbar.scrolled {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
}
html[data-contraste="1"] body .navbar .nav-link.active {
  background: rgba(124, 201, 255, 0.16);
}

/* Tarjetas y contenedores con fondo claro */
html[data-contraste="1"] body .about-badge,
html[data-contraste="1"] body .card-herramienta,
html[data-contraste="1"] body .pub-card,
html[data-contraste="1"] body .pub-chip,
html[data-contraste="1"] body .noticia-card {
  background-color: #1c1f22 !important;
  border-color: #4a4f55 !important;
  color: #ffffff;
  box-shadow: none;
}
html[data-contraste="1"] body .card-herramienta:hover,
html[data-contraste="1"] body .pub-card:hover,
html[data-contraste="1"] body .noticia-card:hover {
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.55);
}

/* Chips y botones con fondo de acento que antes llevaban texto blanco */
html[data-contraste="1"] body .pub-chip.activo,
html[data-contraste="1"] body .btn-ver-todas {
  color: #0b0d0f !important;
  background: #93d2ff;
  border-color: #93d2ff;
}
html[data-contraste="1"] body .btn-ver-todas:hover {
  background: #7cc9ff;
  border-color: #7cc9ff;
  color: #0b0d0f;
}

/* Botones "outline" de Bootstrap */
html[data-contraste="1"] body .btn-outline-primary {
  color: #93d2ff;
  border-color: #93d2ff;
}
html[data-contraste="1"] body .btn-outline-primary:hover,
html[data-contraste="1"] body .btn-outline-primary:focus {
  background-color: #93d2ff;
  border-color: #93d2ff;
  color: #0b0d0f;
}
html[data-contraste="1"] body .btn-outline-light {
  color: #ffffff;
  border-color: #ffffff;
}
html[data-contraste="1"] body .btn-outline-light:hover {
  background-color: #ffffff;
  color: #0b0d0f;
}

/* Botón flotante de alto contraste (siempre visible) */
html[data-contraste="1"] body .btn-contraste-flotante {
  color: #0b0d0f;
  background: #ffc266;
  border-color: #ffffff;
}
html[data-contraste="1"] body .btn-contraste-flotante:hover,
html[data-contraste="1"] body .btn-contraste-flotante:focus-visible {
  background: #ffd08a;
  color: #0b0d0f;
}

/* Enlace de accesibilidad */
html[data-contraste="1"] body .skip-link {
  background: #0b0d0f;
  color: #ffffff;
}

/* ---------- Tipografía ---------- */
html[data-contraste="1"] body h1,
html[data-contraste="1"] body h2,
html[data-contraste="1"] body h3,
html[data-contraste="1"] body h4,
html[data-contraste="1"] body h5,
html[data-contraste="1"] body h6 {
  color: #ffffff;
}
html[data-contraste="1"] body p,
html[data-contraste="1"] body li,
html[data-contraste="1"] body label,
html[data-contraste="1"] body small,
html[data-contraste="1"] body .section-text,
html[data-contraste="1"] body .text-muted,
html[data-contraste="1"] body .hero-lead {
  color: #e8ebee;
}
html[data-contraste="1"] body a {
  color: #93d2ff;
}
html[data-contraste="1"] body a:hover {
  color: #ffffff;
}

/* ---------- Formularios ---------- */
html[data-contraste="1"] body .form-control,
html[data-contraste="1"] body .form-select,
html[data-contraste="1"] body .form-floating > .form-control,
html[data-contraste="1"] body .form-floating > .form-select {
  background-color: #1c1f22 !important;
  color: #ffffff !important;
  border-color: #5a6168 !important;
}
html[data-contraste="1"] body .form-control::placeholder {
  color: #b9c0c6 !important;
}
html[data-contraste="1"] body .form-floating > label {
  color: #b9c0c6;
}
html[data-contraste="1"] body .form-check-input {
  background-color: #1c1f22;
  border-color: #5a6168;
}
html[data-contraste="1"] body .form-check-input:checked {
  background-color: #93d2ff;
  border-color: #93d2ff;
}

/* ---------- Modales (detalle de noticia) ---------- */
html[data-contraste="1"] body .modal-content {
  background-color: #1c1f22;
  color: #ffffff;
  border-color: #4a4f55;
}
html[data-contraste="1"] body .modal-header,
html[data-contraste="1"] body .modal-footer {
  border-color: #4a4f55;
}
html[data-contraste="1"] body .btn-close {
  filter: invert(1) grayscale(1) brightness(2);
}

/* ---------- Esqueletos de carga ---------- */
html[data-contraste="1"] body .pub-skel,
html[data-contraste="1"] body .pub-skel-line,
html[data-contraste="1"] body .noticia-skel-img,
html[data-contraste="1"] body .noticia-skel-line {
  background: linear-gradient(90deg, #23272b 25%, #2f343a 37%, #23272b 63%);
  background-size: 400% 100%;
}

/* ---------- Imágenes ligeramente atenuadas ---------- */
html[data-contraste="1"] body img {
  filter: brightness(0.95);
}

/* ---------- Foco visible reforzado ---------- */
html[data-contraste="1"] body a:focus-visible,
html[data-contraste="1"] body button:focus-visible,
html[data-contraste="1"] body .form-control:focus-visible,
html[data-contraste="1"] body .form-select:focus-visible {
  outline: 3px solid #ffc266;
  outline-offset: 2px;
}

/* ============================================================
   VISOR CIUDADANO (dashboard)
   Sus componentes usan `var(--blanco)` y colores claros fijos;
   aquí se pasan a oscuro para que el texto heredado (blanco)
   siga siendo legible en modo contraste.
============================================================ */

/* ---------- Paneles y tarjetas con fondo fijo claro ---------- */
html[data-contraste="1"] body .dash-stat,
html[data-contraste="1"] body .dash-filtro,
html[data-contraste="1"] body .card-documento,
html[data-contraste="1"] body .card-footer-custom,
html[data-contraste="1"] body .dash-vacio {
  background-color: #1c1f22 !important;
}
html[data-contraste="1"] body .card-footer-custom {
  border-top-color: #4a4f55;
}
html[data-contraste="1"] body .dash-vacio i {
  color: #b3e0ff;
}

/* ---------- Tablas Bootstrap (tablas de detalle de reportes) ---------- */
html[data-contraste="1"] body .table {
  --bs-table-color: #ffffff;
  --bs-table-striped-bg: rgba(255, 255, 255, 0.05);
  --bs-table-hover-bg: rgba(255, 255, 255, 0.08);
}
html[data-contraste="1"] body .table > :not(caption) > * > * {
  color: #ffffff !important;
  background-color: transparent !important;
}
html[data-contraste="1"] body .table-hover > :not(caption) > tbody > tr:hover > * {
  background-color: rgba(255, 255, 255, 0.08) !important;
}
/* Encabezados y fila TOTAL (.table-light): fondo oscuro, texto celeste */
html[data-contraste="1"] body .table .table-light th,
html[data-contraste="1"] body .table .table-light td,
html[data-contraste="1"] body .table-light th,
html[data-contraste="1"] body .table-light td {
  background-color: #1f2327 !important;
  color: #7cc9ff !important;
}

/* Barra de progreso del detalle: track oscuro en vez de gris claro */
html[data-contraste="1"] body .progress {
  background-color: #2b3036 !important;
}

/* ---------- Tablas DataTables del visor ---------- */
html[data-contraste="1"] body table.dataTable thead th {
  background: #1f2327 !important;
  color: #7cc9ff !important;
  border-bottom-color: #93d2ff !important;
}
html[data-contraste="1"] body table.dataTable th.sorting_asc,
html[data-contraste="1"] body table.dataTable th.sorting_desc {
  background-color: #2b3036 !important;
}
html[data-contraste="1"] body table.dataTable tbody tr,
html[data-contraste="1"] body table.dataTable tbody tr:nth-child(odd) {
  background-color: #17191c !important;
}
html[data-contraste="1"] body table.dataTable tbody tr:hover,
html[data-contraste="1"] body table.dataTable tbody tr:nth-child(odd):hover {
  background-color: #23272b !important;
}
html[data-contraste="1"] body table.dataTable tbody td {
  color: #ffffff !important;
  border-color: #4a4f55 !important;
}

/* ---------- DataTables: buscador, registros por página y paginación ---------- */
html[data-contraste="1"] body div.dataTables_wrapper div.dataTables_filter input {
  color: #ffffff !important;
  background-color: #1c1f22 !important;
  border-color: #5a6168 !important;
}
html[data-contraste="1"] body div.dataTables_wrapper div.dataTables_length select {
  color: #ffffff !important;
  background-color: #1c1f22 !important;
  border-color: #5a6168 !important;
}
html[data-contraste="1"] body div.dataTables_wrapper div.dataTables_paginate .paginate_button {
  color: #93d2ff !important;
}
html[data-contraste="1"] body div.dataTables_wrapper div.dataTables_paginate .paginate_button:hover {
  color: #ffffff !important;
  background: rgba(147, 210, 255, 0.14) !important;
  border-color: rgba(147, 210, 255, 0.3) !important;
}
html[data-contraste="1"] body div.dataTables_wrapper div.dataTables_paginate .paginate_button.current,
html[data-contraste="1"] body div.dataTables_wrapper div.dataTables_paginate .paginate_button.current:hover {
  color: #0b0d0f !important;
  background: #93d2ff !important;
  border-color: #93d2ff !important;
}
html[data-contraste="1"] body div.dataTables_wrapper div.dataTables_paginate .paginate_button.disabled,
html[data-contraste="1"] body div.dataTables_wrapper div.dataTables_paginate .paginate_button.disabled:hover {
  color: #6c757d !important;
  background: transparent !important;
}

/* ---------- KPIs, métricas y listas de "Mi comuna" / Tendencias ---------- */
html[data-contraste="1"] body .dash-kpi,
html[data-contraste="1"] body .dash-metrica,
html[data-contraste="1"] body .dash-lista-item {
  background-color: #1c1f22 !important;
  border-color: #4a4f55 !important;
  box-shadow: none;
}
html[data-contraste="1"] body .dash-kpi-num,
html[data-contraste="1"] body .dash-metrica-num {
  color: #7cc9ff;
}
html[data-contraste="1"] body .dash-kpi-name {
  color: #ffc266;
}
html[data-contraste="1"] body .dash-kpi-txt,
html[data-contraste="1"] body .dash-kpi-comp,
html[data-contraste="1"] body .dash-metrica-txt,
html[data-contraste="1"] body .dash-contador,
html[data-contraste="1"] body .dash-orden-label,
html[data-contraste="1"] body .dash-lista-meta {
  color: #e8ebee;
}
html[data-contraste="1"] body .dash-kpi-diff.is-up { color: #93d2ff; }
html[data-contraste="1"] body .dash-kpi-diff.is-down { color: #ffc266; }

html[data-contraste="1"] body .dash-lista-titulo {
  color: #ffffff;
}

html[data-contraste="1"] body .dash-chip {
  background-color: #1c1f22;
  color: #e8ebee;
  border-color: #5a6168;
}
html[data-contraste="1"] body .dash-chip.is-active {
  background-color: #93d2ff;
  border-color: #93d2ff;
  color: #0b0d0f;
}
html[data-contraste="1"] body .dash-chip.is-active span { opacity: 0.9; }

html[data-contraste="1"] body .dash-heat-table th {
  color: #e8ebee;
}
html[data-contraste="1"] body .dash-heat-table tbody th {
  color: #93d2ff;
}

html[data-contraste="1"] body .dash-vista .btn {
  background-color: #1c1f22;
  color: #e8ebee;
  border-color: #5a6168;
}
html[data-contraste="1"] body .dash-vista .btn i { color: #93d2ff; }
html[data-contraste="1"] body .dash-vista .btn.is-active {
  background-color: #93d2ff;
  border-color: #93d2ff;
  color: #0b0d0f;
}
html[data-contraste="1"] body .dash-vista .btn.is-active i { color: #0b0d0f; }

html[data-contraste="1"] body .dash-pagina-btn {
  background-color: #1c1f22;
  border-color: #5a6168;
  color: #93d2ff;
}
html[data-contraste="1"] body .dash-pagina-btn:hover:not(:disabled) {
  background-color: rgba(147, 210, 255, 0.14);
  border-color: #93d2ff;
}
html[data-contraste="1"] body .dash-pagina-btn.is-active {
  background-color: #93d2ff;
  border-color: #93d2ff;
  color: #0b0d0f;
}

/* ============================================================
   PANEL ADMIN — TEMA OSCURO
   ============================================================ */
html[data-contraste="1"] body.admin-body {
  --tinta: #ffffff;
  --gris: #b9c0c6;
  --gris-claro: #1c1f22;
  --borde: #3f464d;
  --blanco: #1c1f22;

  background: #121517 !important;
  color: #e8ebee;
  color-scheme: dark;
}

html[data-contraste="1"] body .admin-topbar { background: #0b0d0f; }
html[data-contraste="1"] body .admin-sidebar {
  background: #17191c;
  border-right-color: #3f464d;
  border-bottom-color: #3f464d;
}
html[data-contraste="1"] body .admin-nav { color: #e8ebee; }
html[data-contraste="1"] body .admin-nav i { color: #93d2ff; }
html[data-contraste="1"] body .admin-nav:hover { background: rgba(147, 210, 255, 0.10); color: #ffffff; }
html[data-contraste="1"] body .admin-nav.active { background: #93d2ff; color: #0b0d0f; }
html[data-contraste="1"] body .admin-nav.active i { color: #0b0d0f; }
html[data-contraste="1"] body .admin-nav--externo { color: #b9c0c6; }
html[data-contraste="1"] body .admin-nav-titulo { color: #b9c0c6; }

html[data-contraste="1"] body .admin-titulo,
html[data-contraste="1"] body .admin-panel-titulo,
html[data-contraste="1"] body .admin-panel-cabecera h2,
html[data-contraste="1"] body .admin-tabla-titulo { color: #ffffff; }
html[data-contraste="1"] body .admin-sub { color: #b9c0c6; }

html[data-contraste="1"] body .admin-tarjeta,
html[data-contraste="1"] body .admin-panel,
html[data-contraste="1"] body .admin-filtros,
html[data-contraste="1"] body .admin-casilla,
html[data-contraste="1"] body .admin-periodos,
html[data-contraste="1"] body .admin-detalle-json,
html[data-contraste="1"] body .admin-miniatura,
html[data-contraste="1"] body .admin-main .card {
  background: #1c1f22 !important;
  border-color: #3f464d !important;
  color: #e8ebee;
  box-shadow: none;
}
html[data-contraste="1"] body .admin-main .card-header {
  background: #1f2327 !important;
  border-color: #3f464d !important;
  color: #ffffff;
}
html[data-contraste="1"] body .admin-tarjeta-num { color: #7cc9ff; }
html[data-contraste="1"] body .admin-tarjeta-txt { color: #b9c0c6; }

html[data-contraste="1"] body .admin-btn:not(.admin-btn--primario):not(.admin-btn--ok):not(.admin-btn--aviso):not(.admin-btn--peligro) {
  background: #1c1f22;
  border-color: #3f464d;
  color: #e8ebee;
}
html[data-contraste="1"] body .admin-btn:not(.admin-btn--primario):not(.admin-btn--ok):not(.admin-btn--aviso):not(.admin-btn--peligro):hover {
  background: #252a2f;
}
html[data-contraste="1"] body .admin-btn--primario { background: #257a9c; border-color: #257a9c; color: #ffffff; }
html[data-contraste="1"] body .admin-btn--primario:hover { background: #39add3; border-color: #39add3; color: #0b0d0f; }
html[data-contraste="1"] body .admin-btn--ok { background: #12301f; border-color: #1f6b42; color: #b7f7d0; }
html[data-contraste="1"] body .admin-btn--aviso { background: #3a2a12; border-color: #7a5a1f; color: #ffdca6; }
html[data-contraste="1"] body .admin-btn--peligro { background: #341618; border-color: #7a2a2a; color: #ffd1d1; }

html[data-contraste="1"] body .admin-main .btn-outline-danger {
  background-color: #341618;
  border-color: #7a2a2a;
  color: #ffd1d1;
}
html[data-contraste="1"] body .admin-main .btn-outline-danger:hover {
  background-color: #4a1e20;
  border-color: #a33a3a;
  color: #ffffff;
}
html[data-contraste="1"] body .admin-main .btn-primary {
  color: #ffffff !important;
}
html[data-contraste="1"] body .admin-main .btn-primary:hover {
  color: #ffffff !important;
}

html[data-contraste="1"] body .admin-tabla th {
  background: #1f2327;
  color: #93d2ff;
  box-shadow: inset 0 -1px 0 #3f464d;
}
html[data-contraste="1"] body .admin-tabla td {
  color: #e8ebee;
  border-bottom-color: #3f464d;
}
html[data-contraste="1"] body .admin-tabla tr:last-child td { border-bottom: 0; }

html[data-contraste="1"] body .admin-input,
html[data-contraste="1"] body .admin-select,
html[data-contraste="1"] body .admin-textarea {
  background: #121517;
  color: #ffffff;
  border-color: #5a6168;
}
html[data-contraste="1"] body .admin-input:disabled { background: #1c1f22; color: #b9c0c6; }
html[data-contraste="1"] body .admin-input:focus,
html[data-contraste="1"] body .admin-select:focus,
html[data-contraste="1"] body .admin-textarea:focus {
  border-color: #93d2ff;
  box-shadow: 0 0 0 3px rgba(147, 210, 255, 0.18);
}
html[data-contraste="1"] body .admin-label { color: #e8ebee; }
html[data-contraste="1"] body .admin-ayuda,
html[data-contraste="1"] body .admin-vacio,
html[data-contraste="1"] body .admin-paginacion-info { color: #b9c0c6; }

html[data-contraste="1"] body .admin-pagina { background: #1c1f22; border-color: #3f464d; color: #e8ebee; }
html[data-contraste="1"] body .admin-pagina:hover { background: #252a2f; }
html[data-contraste="1"] body .admin-pagina.active { background: #93d2ff; border-color: #93d2ff; color: #0b0d0f; }

html[data-contraste="1"] body .admin-alerta--exito { background: #12301f; color: #b7f7d0; border-color: #1f6b42; }
html[data-contraste="1"] body .admin-alerta--error { background: #341618; color: #ffd1d1; border-color: #7a2a2a; }

html[data-contraste="1"] body .admin-filtro-chip { background: #1c1f22; border-color: #3f464d; color: #93d2ff; }
html[data-contraste="1"] body .admin-filtro-chip:hover { background: #252a2f; border-color: #93d2ff; }
html[data-contraste="1"] body .admin-filtro-chip-k { color: #7cc9ff; }
html[data-contraste="1"] body .admin-filtro-chip-v { color: #ffffff; }
html[data-contraste="1"] body .admin-filtro-limpiar { color: #ffc266; }

html[data-contraste="1"] body .admin-periodo { color: #b9c0c6; }
html[data-contraste="1"] body .admin-periodo:hover { color: #ffffff; }
html[data-contraste="1"] body .admin-periodo.is-active,
html[data-contraste="1"] body .admin-periodo[aria-selected="true"] {
  background: #93d2ff;
  color: #0b0d0f;
}

html[data-contraste="1"] body .admin-grafica-tecla:hover { background: #1c1f22; }
html[data-contraste="1"] body .admin-grafica-tecla:focus-visible { outline-color: #ffc266; }
html[data-contraste="1"] body .admin-grafica-tecla strong { color: #7cc9ff; }

html[data-contraste="1"] body .admin-nav-badge { background: #ffc266; color: #0b0d0f; }
html[data-contraste="1"] body .admin-salir { background: rgba(255, 255, 255, 0.12); color: #ffffff; }
html[data-contraste="1"] body .admin-salir:hover { background: rgba(255, 255, 255, 0.22); }
html[data-contraste="1"] body .admin-tema { background: rgba(255, 255, 255, 0.12); border-color: rgba(255, 255, 255, 0.22); color: #ffffff; }
html[data-contraste="1"] body .admin-tema:hover { background: rgba(255, 255, 255, 0.22); }
html[data-contraste="1"] body .admin-tema[aria-pressed="true"] { background: #ffc266; border-color: #ffc266; color: #0b0d0f; }

/* Login del panel en modo oscuro */
html[data-contraste="1"] body.admin-login-body { background: #0b0d0f !important; }
html[data-contraste="1"] body .admin-login-card {
  background: #1c1f22;
  color: #e8ebee;
  box-shadow: none;
}
html[data-contraste="1"] body .admin-login-titulo { color: #ffffff; }
html[data-contraste="1"] body .admin-login-sub { color: #b9c0c6; }
html[data-contraste="1"] body .admin-login-pie a { color: #93d2ff; }
html[data-contraste="1"] body .admin-tema--login {
  background: #1c1f22;
  border-color: #3f464d;
  color: #e8ebee;
}
html[data-contraste="1"] body .admin-tema--login:hover { background: #252a2f; }

/* ============================================================
   CORRECCIONES DEL MODO ALTO CONTRASTE
   Evitan que los componentes que usan --azul-900 como fondo
   queden con texto claro sobre fondo claro.
   ============================================================ */

html[data-contraste="1"] body .site-footer {
  background: #0b0d0f !important;
}
html[data-contraste="1"] body .site-footer p,
html[data-contraste="1"] body .site-footer p a,
html[data-contraste="1"] body .footer-links a,
html[data-contraste="1"] body .footer-brand small {
  color: #e8ebee;
}
html[data-contraste="1"] body .site-footer p a:hover,
html[data-contraste="1"] body .footer-links a:hover {
  color: #ffc266;
}
html[data-contraste="1"] body .footer-frase {
  color: #ffc266 !important;
}

html[data-contraste="1"] body .btn-herramienta {
  background: #93d2ff;
  border-color: #93d2ff;
  color: #0b0d0f;
}
html[data-contraste="1"] body .btn-herramienta:hover {
  background: #b3e0ff;
  border-color: #b3e0ff;
  color: #0b0d0f;
}
html[data-contraste="1"] body .btn-arriba {
  background: #ffc266;
  color: #0b0d0f;
}
html[data-contraste="1"] body .btn-arriba:hover {
  background: #ffd08a;
  color: #0b0d0f;
}
html[data-contraste="1"] body .ci-icono {
  background: #93d2ff;
  color: #0b0d0f;
}
html[data-contraste="1"] body .btn-primary {
  background: #93d2ff;
  border-color: #93d2ff;
  color: #0b0d0f;
}
html[data-contraste="1"] body .btn-primary:hover,
html[data-contraste="1"] body .btn-primary:focus {
  background: #b3e0ff;
  border-color: #b3e0ff;
  color: #0b0d0f;
}
html[data-contraste="1"] body .btn-outline-secondary {
  color: #e8ebee;
  border-color: #5a6168;
}
html[data-contraste="1"] body .btn-outline-secondary:hover {
  background: #252a2f;
  color: #ffffff;
}
html[data-contraste="1"] body .noticia-link:hover {
  background: #93d2ff;
  border-color: #93d2ff;
  color: #0b0d0f;
}
html[data-contraste="1"] body .form-check-input:checked {
  background-color: #004b6f;
  border-color: #93d2ff;
}
html[data-contraste="1"] body .form-floating > .form-control::placeholder,
html[data-contraste="1"] body .form-floating > .form-select::placeholder {
  color: transparent !important;
}
html[data-contraste="1"] body .pub-area {
  background: #e8f5fa !important;
  border-color: #93d2ff;
  color: #004b6f !important;
}
html[data-contraste="1"] body .noticia-tag--actividad {
  background: #ffc266;
  color: #0b0d0f;
}
html[data-contraste="1"] body .invalid-feedback {
  color: #ffb3b3;
}
html[data-contraste="1"] body .btn-contraste-nav {
  color: #93d2ff;
  border-color: #5a6168;
}
html[data-contraste="1"] body .btn-contraste-nav:hover,
html[data-contraste="1"] body .btn-contraste-nav:focus-visible {
  background: #93d2ff;
  border-color: #93d2ff;
  color: #0b0d0f;
}
html[data-contraste="1"] body .btn-contraste-nav[aria-pressed="true"] {
  background: #ffc266;
  border-color: #ffc266;
  color: #0b0d0f;
}
html[data-contraste="1"] body .hero-card-nota {
  color: rgba(255, 255, 255, 0.9);
}
html[data-contraste="1"] body .about-badge {
  background: #1c1f22 !important;
  color: #ffffff;
}

/* Fondos oscuros de las cabeceras: no deben heredar los azules claros. */
html[data-contraste="1"] body .hero,
html[data-contraste="1"] body .indicadores,
html[data-contraste="1"] body .dash-hero {
  background: #0b1a24 !important;
}
html[data-contraste="1"] body .hero-card {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.35);
}

html[data-contraste="1"] body .text-muted,
html[data-contraste="1"] body .form-text {
  color: #e8ebee !important;
}

html[data-contraste="1"] body .admin-tema--login[aria-pressed="true"],
html[data-contraste="1"] body .admin-tema--login[aria-pressed="true"]:hover {
  background: #ffc266;
  border-color: #ffc266;
  color: #0b0d0f;
}
html[data-contraste="1"] body .admin-tema--login[aria-pressed="true"]:hover {
  background: #ffd08a;
}

html[data-contraste="1"] body .dash-stat-icono {
  color: #0b0d0f !important;
}

html[data-contraste="1"] body .dash-poblacion {
  background: #0b1a24 !important;
  border: 1px solid #4a4f55;
}
html[data-contraste="1"] body .dash-lista-icono,
html[data-contraste="1"] body .pub-portada {
  color: #0b0d0f !important;
}

html[data-contraste="1"] body .legal-header {
  background: #0b0d0f !important;
  border-bottom-color: #4a4f55;
}
html[data-contraste="1"] body .legal-header .brand-text {
  color: #ffffff;
}
html[data-contraste="1"] body .legal-header .brand-sub {
  color: #93d2ff;
}

html[data-contraste="1"] body .brand-sub {
  color: #93d2ff;
}
html[data-contraste="1"] body .pub-meta {
  color: #93d2ff !important;
}
html[data-contraste="1"] body .pub-modal-area {
  color: #b3e0ff;
}
html[data-contraste="1"] body .contact-info a:hover {
  color: #b3e0ff;
}

html[data-contraste="1"] body .about-badge strong {
  color: #ffc266;
}

html[data-contraste="1"] body .admin-main .text-primary {
  color: #93d2ff !important;
}
html[data-contraste="1"] body .admin-main .text-success {
  color: #b7f7d0 !important;
}
html[data-contraste="1"] body .admin-main .text-danger {
  color: #ffd1d1 !important;
}
html[data-contraste="1"] body .admin-main .text-warning {
  color: #ffdca6 !important;
}

html[data-contraste="1"] body .admin-tabla tbody tr:hover,
html[data-contraste="1"] body .admin-main .table-hover tbody tr:hover {
  background: #23272b !important;
}

html[data-contraste="1"] body .admin-enlace {
  color: #93d2ff;
}

html[data-contraste="1"] body .chart-wrapper::-webkit-scrollbar-thumb {
  background: #5a6168;
}
