.barra-accesibilidad {
  display: flex;
  align-items: center;
  gap: 6px;
}

.barra-accesibilidad button {
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 3px;
  cursor: pointer;
  font-size: 0.85rem;
  padding: 3px 8px;
  line-height: 1;
}

.barra-accesibilidad button:hover,
.barra-accesibilidad button.activo {
  background: var(--color-primary, #005f8e);
  color: #fff;
  border-color: var(--color-primary, #005f8e);
}

/* ══════════════════════════════════════════════
   ALTO CONTRASTE
   Regla: blanco→negro, negro→blanco
   Scope: .site-header_top + .site-main
   nav.navigation queda intacto (fuera del scope)
   ══════════════════════════════════════════════ */

body.alto-contraste {
  background-color: #000 !important;
  color: #fff !important;
}

/* ── Comodín scopeado ── */
body.alto-contraste .site-header_top *:not(img):not(video):not(svg):not(canvas):not(iframe),
body.alto-contraste .site-main *:not(img):not(video):not(svg):not(canvas):not(iframe) {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

/* ── Links ── */
body.alto-contraste .site-header_top a,
body.alto-contraste .site-header_top a:visited,
body.alto-contraste .site-header_top a:hover,
body.alto-contraste .site-header_top a:focus,
body.alto-contraste .site-main a,
body.alto-contraste .site-main a:visited,
body.alto-contraste .site-main a:hover,
body.alto-contraste .site-main a:focus {
  color: #fff !important;
}

/* ══════════════════════════════════════════════
   NAV — Forzar que NO herede del body
   ══════════════════════════════════════════════ */

body.alto-contraste nav.navigation {
  color: inherit;
}

/* ══════════════════════════════════════════════
   HEADER TOP (.site-header_top)
   ══════════════════════════════════════════════ */

body.alto-contraste .site-header,
body.alto-contraste .site-header-sticky,
body.alto-contraste .site-header_top {
  background-color: #000 !important;
}

/* Iconos sociales */
body.alto-contraste .site-header_top .navigation-social_link {
  color: #fff !important;
}

/* ── Iconos sociales del footer ── */
body.alto-contraste .socials-container .icon-social-network-footer a svg path {
  fill: #fff !important;
}

/* ── Breadcrumbs ── */
body.alto-contraste .breadcrumbs_item,
body.alto-contraste .breadcrumbs_link,
body.alto-contraste .breadcrumbs_link:visited,
body.alto-contraste .breadcrumbs_link:hover,
body.alto-contraste .breadcrumbs_text {
  color: #fff !important;
}

/* ── Cards de resultados / "También te puede interesar" ── */
body.alto-contraste .background-color-white {
  background-color: #000 !important;
}

body.alto-contraste .card,
body.alto-contraste .results-card,
body.alto-contraste .card_content,
body.alto-contraste .results-card_content {
  background-color: #000 !important;
  color: #fff !important;
}

body.alto-contraste .card_title a,
body.alto-contraste .results-card_title a,
body.alto-contraste .link-clean {
  color: #fff !important;
}

body.alto-contraste .card_description,
body.alto-contraste .results-card_description {
  color: #fff !important;
}

/* Hover en cards — borde blanco para marcar el foco */
body.alto-contraste .card.can-hover:hover {
  outline: 2px solid #fff;
}

/* ── Cards de noticias (Bootstrap .card-body con estilos inline) ── */
body.alto-contraste #BannerNoticias .card,
body.alto-contraste #BannerNoticias .card-body {
  background-color: #000 !important;
  color: #fff !important;
}

body.alto-contraste #BannerNoticias .card-body a,
body.alto-contraste #BannerNoticias .card-body a strong,
body.alto-contraste #BannerNoticias .card-link {
  color: #fff !important;
}

/* Fecha con opacity — forzar color visible */
body.alto-contraste #BannerNoticias .card-body span[style*="opacity"] {
  color: #aaa !important;
  opacity: 1 !important;
}

/* SVGs de calendario y flecha */
body.alto-contraste #BannerNoticias .card-body svg path {
  fill: #fff !important;
}

/* ── Buscador de filtros (lupa + línea inferior) ── */
body.alto-contraste .form-field-search {
  border-color: #fff !important;
}

body.alto-contraste .form-field-search_input {
  border-color: #fff !important;
  color: #fff !important;
}

body.alto-contraste .form-field-search_button {
  color: #fff !important;
}

body.alto-contraste .form-field-search_button svg path {
  fill: #fff !important;
}

/* ── Iconos con fill hardcodeado en negro ── */
body.alto-contraste svg path[fill="#1C1C1E"],
body.alto-contraste svg path[fill="#1c1c1e"],
body.alto-contraste svg [fill="#1C1C1E"],
body.alto-contraste svg [fill="#1c1c1e"] {
  fill: #fff !important;
}

/* ── Contador de resultados ── */
body.alto-contraste .results-box {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

body.alto-contraste .results-number,
body.alto-contraste .results-label {
  color: #fff !important;
}

/* ── Tabla Educación ── */
body.alto-contraste .tableEducacion,
body.alto-contraste .tableEducacion th,
body.alto-contraste .tableEducacion td {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

body.alto-contraste .tableEducacion .bordersEducacion {
  border-color: #fff !important;
}

body.alto-contraste .tableEducacion .dottedEducacion {
  border-color: #fff !important;
}

/* Links verdes — se mantienen */
body.alto-contraste .tableEducacion td a[style*="#20A96D"],
body.alto-contraste .tableEducacion td a[style*="#20a96d"] {
  color: #20A96D !important;
}

/* ── Botones de modo vista (lista/grilla) y ordenar ── */
body.alto-contraste .button-mode {
  color: #fff !important;
}

body.alto-contraste .button-mode svg path {
  fill: #fff !important;
}

/* Select de ordenar */
body.alto-contraste .background-color-gray {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

body.alto-contraste .color-black {
  color: #fff !important;
}

body.alto-contraste .site-header_top .navigation-social_link svg path {
  fill: #fff !important;
}

/* Auth links */
body.alto-contraste .navigation-auth_link {
  color: #fff !important;
}

body.alto-contraste .navigation-auth_user-icon svg path {
  fill: #fff !important;
}

/* Hamburguesa */
body.alto-contraste .menu-trigger span {
  background-color: #fff !important;
}

/* ══════════════════════════════════════════════
   SUBMENÚ EDUCACIÓN (y submenús similares)
   ══════════════════════════════════════════════ */

body.alto-contraste #submenuEducacion a {
  color: #fff !important;
}

body.alto-contraste #submenuEducacion .border-dark {
  border-color: #fff !important;
}

/* ══════════════════════════════════════════════
   Bootstrap .border-dark override global
   (cualquier .border-dark dentro de .site-main)
   ══════════════════════════════════════════════ */

body.alto-contraste .site-main .border-dark {
  border-color: #fff !important;
}

/* ══════════════════════════════════════════════
   EXCLUSIÓN: Swipers / Sliders
   ══════════════════════════════════════════════ */

body.alto-contraste .swiper,
body.alto-contraste .swiper-wrapper,
body.alto-contraste .swiper-slide,
body.alto-contraste .swiper-slide .image-container,
body.alto-contraste .swiper-slide .overlay,
body.alto-contraste .swiper-slide figure,
body.alto-contraste .heritage-card_image,
body.alto-contraste .imgClocalAjust,
body.alto-contraste .iconPatVirtualSmall,
body.alto-contraste .bgIconPatVirtual {
  background-color: transparent !important;
}

/* Flechas slider */
body.alto-contraste .slider-button,
body.alto-contraste .swiper-button-prev,
body.alto-contraste .swiper-button-next {
  background-color: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}

/* Pagination bullets */
body.alto-contraste .swiper-pagination-bullet {
  background: rgba(255, 255, 255, .5) !important;
}

body.alto-contraste .swiper-pagination-bullet-active {
  background: #fff !important;
}

/* Títulos heritage cards */
body.alto-contraste .highlight-title.heritage-card_title {
  background-color: rgba(0, 0, 0, .9) !important;
}

body.alto-contraste .highlight-title .text-dark {
  color: #fff !important;
}

/* Captions */
body.alto-contraste .descripcionImagen,
body.alto-contraste .swiper-slide .figcaption {
  background-color: rgba(0, 0, 0, .7) !important;
  color: #fff !important;
}

/* Botones dentro de slides */
body.alto-contraste .btn-outline-light,
body.alto-contraste .btn-outline-dark {
  background-color: transparent !important;
  color: #fff !important;
  border-color: #fff !important;
}

body.alto-contraste .heritage-card_body {
  background-color: #000 !important;
}

/* ══════════════════════════════════════════════
   SECCIONES CON FONDO DE COLOR
   ══════════════════════════════════════════════ */

body.alto-contraste .background-color-red,
body.alto-contraste .background-color-green,
body.alto-contraste .contenidosLocales,
body.alto-contraste .contenido-local,
body.alto-contraste .discover {
  background-color: #000 !important;
  background-image: none !important;
}

/* ══════════════════════════════════════════════
   FORMULARIOS
   ══════════════════════════════════════════════ */

body.alto-contraste .site-main input,
body.alto-contraste .site-main textarea,
body.alto-contraste .site-main select,
body.alto-contraste .site-main option,
body.alto-contraste .site-main button,
body.alto-contraste .site-main fieldset,
body.alto-contraste .site-main legend {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

body.alto-contraste .site-main input::placeholder,
body.alto-contraste .site-main textarea::placeholder {
  color: #aaa !important;
}

body.alto-contraste .site-main input[type="radio"],
body.alto-contraste .site-main input[type="checkbox"] {
  accent-color: #fff !important;
  outline: 1px solid #fff !important;
  outline-offset: 1px;
}

body.alto-contraste .site-main label,
body.alto-contraste .site-main .form-check-label {
  color: #fff !important;
}

/* ── Select2 ── */
body.alto-contraste .select2-container--default .select2-selection,
body.alto-contraste .select2-container--default .select2-selection--single,
body.alto-contraste .select2-container--default .select2-selection--multiple,
body.alto-contraste .select2-container--default .select2-selection__rendered,
body.alto-contraste .select2-container--default .select2-selection__arrow,
body.alto-contraste .select2-container--default .select2-selection__choice {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

body.alto-contraste .select2-container--default .select2-selection__choice__remove {
  color: #fff !important;
}

body.alto-contraste .select2-dropdown,
body.alto-contraste .select2-results,
body.alto-contraste .select2-results__option {
  background-color: #000 !important;
  color: #fff !important;
}

body.alto-contraste .select2-results__option--highlighted {
  background-color: #333 !important;
  color: #fff !important;
}

body.alto-contraste .select2-search__field {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

/* ── Multiselect ── */
body.alto-contraste .multiselect-container,
body.alto-contraste .multiselect-container li,
body.alto-contraste .multiselect-container li a,
body.alto-contraste .multiselect-container li label {
  background-color: #000 !important;
  color: #fff !important;
}

body.alto-contraste .multiselect-container li.active a,
body.alto-contraste .multiselect-container li.active label {
  background-color: #333 !important;
}

/* ══════════════════════════════════════════════
   TABLAS
   ══════════════════════════════════════════════ */

body.alto-contraste .site-main table,
body.alto-contraste .site-main th,
body.alto-contraste .site-main td {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

/* ══════════════════════════════════════════════
   MODALS
   ══════════════════════════════════════════════ */

body.alto-contraste .modal-content {
  background-color: #000 !important;
  color: #fff !important;
  border-color: #fff !important;
}

/* ══════════════════════════════════════════════
   BOTÓN CONTRASTE ACTIVO
   ══════════════════════════════════════════════ */

body.alto-contraste #btn-contraste[aria-pressed="true"] {
  background: #ff0 !important;
  color: #000 !important;
  border-color: #ff0 !important;
}