/* Piloto de accesibilidad: conservar el diseño de Canvas. */
button#primary-menu-trigger {
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 50px;
}
button#primary-menu-trigger:focus-visible {
  outline: 3px solid #202020;
  outline-offset: 2px;
}
@media (min-width: 992px) {
  button#primary-menu-trigger { display: none; }
}
@media (max-width: 767px) {
  #content p { text-align: left !important; }
}

/* Reservar la proporción natural de imágenes de contenido. */
#content img[data-activa-responsive] { height: auto; }
/* Estos fondos decorativos no existen en la copia de la plantilla. */
.swiper_wrapper .swiper-container,
.fbox-border.fbox-effect .fbox-icon i:after,
.i-alt,
.dark .widget_links li a,
.dark .widget_meta li a,
.dark .widget_nav_menu li a { background-image: none; }

/* Semántica corregida conservando los tamaños de Canvas. */
.heading-block .ac-heading-service { font-size: 20px; font-weight: 700; line-height: 30px; letter-spacing: 1px; text-transform: uppercase; margin-top: 0px; margin-bottom: 0px; }
#footer .ac-heading-site-map { font-size: 15px; font-weight: 600; line-height: 22.5px; letter-spacing: 2px; text-transform: uppercase; margin-top: 0px; margin-bottom: 25px; }
#content .ac-heading-contact { font-size: 18px; font-weight: 600; line-height: 27px; letter-spacing: normal; text-transform: none; margin-top: 0px; margin-bottom: 0px; }
#content .counter + .ac-counter-label { font-size: 14px; font-weight: 400; line-height: 21px; letter-spacing: 1px; text-transform: uppercase; margin-top: 10px; margin-bottom: 20px; }
#footer .counter + .ac-widget-counter-label { font-size: 13px; font-weight: 400; line-height: 19.5px; letter-spacing: 1px; text-transform: uppercase; margin-top: 10px; margin-bottom: 0px; }
.heading-block .ac-news-heading { font-size: 26px; font-weight: 700; line-height: 39px; letter-spacing: 1px; text-transform: uppercase; margin-top: 0px; margin-bottom: 0px; }
.slider-caption p.ac-slider-title { font-size: 64px; font-weight: 700; line-height: 64px; letter-spacing: 2px; text-transform: uppercase; margin-top: 0px; margin-bottom: 0px; color: rgb(238, 238, 238); font-family: 'Raleway', sans-serif; }
@media (max-width: 767.98px) {
  .heading-block .ac-heading-service { font-size: 19px; font-weight: 700; line-height: 28.5px; letter-spacing: 1px; text-transform: uppercase; margin-top: 0px; margin-bottom: 0px; }
  #footer .ac-heading-site-map { font-size: 15px; font-weight: 600; line-height: 22.5px; letter-spacing: 2px; text-transform: uppercase; margin-top: 0px; margin-bottom: 25px; }
  #content .ac-heading-contact { font-size: 16px; font-weight: 600; line-height: 24px; letter-spacing: normal; text-transform: none; margin-top: 0px; margin-bottom: 0px; }
  #content .counter + .ac-counter-label { font-size: 14px; font-weight: 400; line-height: 21px; letter-spacing: 1px; text-transform: uppercase; margin-top: 10px; margin-bottom: 20px; }
  #footer .counter + .ac-widget-counter-label { font-size: 13px; font-weight: 400; line-height: 19.5px; letter-spacing: 1px; text-transform: uppercase; margin-top: 10px; margin-bottom: 0px; }
  .heading-block .ac-news-heading { font-size: 22px; font-weight: 700; line-height: 33px; letter-spacing: 1px; text-transform: uppercase; margin-top: 0px; margin-bottom: 0px; }
  .slider-caption p.ac-slider-title { font-size: 28px; font-weight: 700; line-height: 28px; letter-spacing: 2px; text-transform: uppercase; margin-top: 0px; margin-bottom: 0px; color: rgb(238, 238, 238); font-family: 'Raleway', sans-serif; }
}
@media (min-width: 576px) and (max-width: 767.98px) {
  .slider-caption p.ac-slider-title { font-size: 36px; line-height: 36px; }
}

/* Contraste: conservar fondos y oscurecer solo texto sobre blanco. */
#content .heading-block > span:not(.before-heading),
#content .feature-box p,
#content .entry-meta li,
#content .entry-meta li a { color: #666; }
#content .entry-content a,
#content a[href^="tel:"],
#content a[href^="mailto:"],
#content .feature-box .i-alt { color: #087f69; }
#footer.dark #copyrights,
#copyrights .copyright-links,
#copyrights .copyright-links a { color: #bbb; text-shadow: none; }
#copyrights .copyright-links a:hover { color: #fff; }
/* Mismas cifras y animaciones; texto claro u oscuro según el fondo. */
#content .ac-counter-tile-dark .counter,
#content .ac-counter-tile-dark .ac-counter-label { color: #fff; text-shadow: none; }
#content .ac-counter-tile-light .counter,
#content .ac-counter-tile-light .ac-counter-label { color: #17202a; text-shadow: none; }
#content .counter + .ac-counter-label { text-align: center !important; }
/* Canvas elimina el outline con !important; restablecer foco visible. */
#primary-menu-trigger:focus-visible,
#wrapper a:focus-visible { outline: 3px solid #087f69 !important; outline-offset: 3px; }

/* Reconocer enlaces de texto también sin distinguir colores. */
#content p a[href^="mailto:"],
#content p a[href^="tel:"],
#content .entry-content a { text-decoration: underline !important; text-underline-offset: 2px; }

/* Landings nuevas: contraste y espacio táctil de las zonas atendidas. */
.ac-landing #content p a,
.ac-landing #content .iconlist a { color: #087f69; text-decoration: underline !important; text-underline-offset: 2px; }
.ac-landing #content .iconlist a { display: inline-block; min-height: 24px; padding: 3px 0; }
