/* Ajustes de accesibilidad de ACORP (WCAG 2.1 AA). Se enlaza en todas las páginas con _herramientas/accesibilidad.py.
   El verde original del tema (#1B9C85) da 3,4:1 con texto blanco y 2,4:1 con el gris del menú; WCAG AA pide 4,5:1.
   Verde oscuro #0F6E5C con blanco: 6,2:1. */

/* Menú principal (escritorio y móvil): blanco sobre verde oscuro */
.ast-builder-menu-1 .main-header-menu,
.ast-builder-menu-1 .main-header-menu .sub-menu,
.ast-builder-menu-1 .menu-link,
.ast-theme-transparent-header .main-header-menu .menu-link,
.main-header-menu-toggle.ast-mobile-menu-trigger-fill {
  background-color: #0F6E5C !important;
}
.ast-builder-menu-1 .menu-item > .menu-link,
.ast-builder-menu-1 .menu-item > .ast-menu-toggle,
.ast-builder-menu-1 .main-header-menu .menu-item > .menu-link,
.main-header-menu-toggle.ast-mobile-menu-trigger-fill {
  color: #FFFFFF !important;
}
/* Pasar el mouse y página actual: subrayado en lugar de un cambio de color que se perdía sobre el verde */
.ast-builder-menu-1 .menu-link:hover,
.ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link,
.ast-builder-menu-1 .current-menu-item > .menu-link,
.ast-builder-menu-1 .current-menu-ancestor > .menu-link {
  color: #FFFFFF !important;
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
}

/* Botones de Elementor: el verde (3,4:1) y el celeste de «Participe» (2,1:1) no alcanzaban; todos a verde oscuro */
a.elementor-button,
a.elementor-button:hover,
a.elementor-button:focus {
  background-color: #0F6E5C !important;
  color: #FFFFFF !important;
}
a.elementor-button:hover {
  text-decoration: underline;
}

/* Foco del teclado: visible y grueso (antes era un borde punteado tenue) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #0B3D33 !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 5px #FFFFFF !important;
}
.ast-builder-menu-1 .menu-link:focus-visible {
  outline: 3px solid #FFFFFF !important;
  outline-offset: -5px !important;
  box-shadow: none !important;
}

/* Contenido solo para lector de pantalla (descripciones largas de imágenes) */
.solo-lector {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: normal !important;
  border: 0 !important;
}

/* Preguntas frecuentes (generada con _herramientas/preguntas_frecuentes.py): lectura cómoda */
.faq {
  max-width: 820px;
  margin: 0 auto 3rem;
  padding-top: 150px; /* el encabezado del tema es transparente y va encima del contenido (120 px) */
  padding-left: 16px;
  padding-right: 16px;
  font-size: 1.125rem;
  line-height: 1.65;
  color: #222222;
}
.faq h1 { color: #0B3D33; font-size: 2.2rem; margin-bottom: 1rem; }
.faq h2 {
  color: #FFFFFF;
  background: #0F6E5C;
  font-size: 1.5rem;
  padding: .4rem .8rem;
  margin: 2.5rem 0 1rem;
  border-radius: 4px;
}
.faq h3 {
  color: #0B3D33;
  font-size: 1.25rem;
  margin: 1.8rem 0 .5rem;
  padding-top: .6rem;
  border-top: 1px solid #C9D8D4;
}
.faq h2 + h3 { border-top: 0; padding-top: 0; }
.faq p, .faq ul, .faq ol { margin: 0 0 .8rem; }
.faq ul, .faq ol { padding-left: 1.6rem; }
.faq li { margin-bottom: .3rem; }
.faq a { color: #0B5E4F; text-decoration: underline; }
.faq-indice {
  background: #EEF6F4;
  border-left: 4px solid #0F6E5C;
  padding: .8rem 1.2rem;
  margin-bottom: 1.5rem;
}
.faq-indice p { margin: 0 0 .3rem; font-weight: 700; }
.faq-indice ul { margin: 0; }
@media (max-width: 921px) {
  .faq { padding-top: 1.5rem; } /* en pantallas angostas el encabezado no va encima del contenido */
}

/* Carrusel (galería): flechas grandes y con contraste; antes 25 px, gris claro sobre las fotos */
.elementor-swiper-button {
  width: 56px !important;
  height: 56px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #0F6E5C !important;
  color: #FFFFFF !important;
  border: 3px solid #FFFFFF;
  border-radius: 50%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .45);
  font-size: 30px !important;
  opacity: 1 !important;
  z-index: 10;
}
.elementor-swiper-button:hover { background: #0B3D33 !important; }
.elementor-swiper-button i { color: #FFFFFF !important; }
.elementor-swiper-button svg { fill: #FFFFFF !important; width: 30px; height: 30px; }
.elementor-swiper-button-prev { left: 12px !important; }
.elementor-swiper-button-next { right: 12px !important; }
.swiper-pagination-bullet {
  width: 16px !important;
  height: 16px !important;
  background: #0F6E5C !important;
  opacity: .45 !important;
  border: 2px solid #FFFFFF;
}
.swiper-pagination-bullet-active { opacity: 1 !important; }

/* Formularios de BiAi-Nexus (generados con nexus.html_formulario): campos grandes, bordes visibles, mensajes claros */
.nexus-form { max-width: 640px; font-size: 1.125rem; line-height: 1.5; color: #1A1A1A; }
.nexus-form h2 { color: #0B3D33; font-size: 1.5rem; margin: 0 0 .5rem; }
.nexus-nota { margin: 0 0 1rem; }
.nexus-campo { margin: 0 0 1.1rem; }
.nexus-campo label { display: block; font-weight: 700; margin-bottom: .3rem; }
.nexus-obligatorio { color: #A4161A; }
.nexus-form input[type="text"], .nexus-form input[type="email"], .nexus-form input[type="tel"], .nexus-form textarea {
  display: block; width: 100%; box-sizing: border-box;
  font: inherit; color: #1A1A1A; background: #FFFFFF;
  border: 2px solid #4A5568; border-radius: 4px; padding: .6rem .7rem;
}
.nexus-form input:focus-visible, .nexus-form textarea:focus-visible { border-color: #0B3D33; }
.nexus-casilla { display: flex; gap: .6rem; align-items: flex-start; }
.nexus-casilla label { display: inline; font-weight: 400; }
.nexus-casilla input[type="checkbox"] { width: 1.5rem; height: 1.5rem; margin-top: .15rem; flex: none; accent-color: #0F6E5C; }
.nexus-enviar {
  font: inherit; font-weight: 700; color: #FFFFFF; background: #0F6E5C;
  border: 0; border-radius: 4px; padding: .7rem 2rem; cursor: pointer; min-height: 48px;
}
.nexus-enviar:hover { background: #0B3D33; }
.nexus-enviar[disabled] { opacity: .7; cursor: progress; }
.nexus-trampa { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.nexus-resultado { border-left: 6px solid; padding: .8rem 1rem; margin: 0 0 1.2rem; background: #FFFFFF; }
.nexus-resultado:focus { outline: 3px solid #0B3D33; outline-offset: 2px; }
.nexus-ok { border-color: #0F6E5C; }
.nexus-error { border-color: #A4161A; }
.nexus-titulo { font-weight: 700; margin: 0 0 .3rem; }
.nexus-resultado ul { margin: 0; padding-left: 1.4rem; }
