.archive-missing-media,
.archive-static-map,
.archive-missing-background::after {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 5rem;
  padding: 1.25rem;
  border: 1px dashed #9aa39a;
  background: #f3f5f1;
  color: #465046;
  font: 500 0.9rem/1.5 system-ui, sans-serif;
  text-align: center;
}
.archive-missing-background {
  position: relative;
  background-image: none !important;
}
.archive-missing-background::after {
  content: attr(data-archive-note);
}
.archive-disabled-link,
a[aria-disabled="true"] {
  cursor: not-allowed;
  opacity: 0.72;
  text-decoration: none;
}
.archive-static-map {
  min-height: auto;
}

/* Elementor dependía de su runtime para retirar estas clases y construir el
   slideshow. En la copia estática se muestra todo sin animación. */
.elementor-invisible,
.animated {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.elementor-background-slideshow {
  display: none !important;
}

.elementor-element-77ccb31 {
  position: relative !important;
  min-height: 360px !important;
  background: linear-gradient(135deg, #24442d 0%, #5f7d43 55%, #9bac73 100%) !important;
}

.elementor-element-77ccb31::before {
  content: "Historische Titelbilder nicht im Webarchiv erhalten";
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 2rem;
  background: transparent;
  color: #fff;
  font-size: clamp(1rem, 2vw, 1.35rem);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-shadow: 0 2px 4px rgba(0, 0, 0, .65);
}

.archive-missing-background {
  position: relative;
  min-height: 8rem;
}

.archive-weather-disabled {
  display: inline-block;
  max-width: 18rem;
  padding: .65rem .8rem;
  border-left: 3px solid #77b63b;
  background: rgba(255, 255, 255, .1);
  color: #fff;
  line-height: 1.4;
}

.site-primary-footer-wrap,
.site-primary-footer-wrap p,
.site-primary-footer-wrap li,
.site-primary-footer-wrap .elementor-icon-list-text {
  color: #fff !important;
}

.site-primary-footer-wrap a {
  color: #d8f0c2 !important;
}

/* Los iconos del menú histórico dependían de Font Awesome. Las etiquetas
   conservan nombre accesible y se muestran en el fallback móvil. */
.archive-mobile-menu-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Las CTA de proyectos utilizaban una foto a pantalla completa y texto blanco.
   Sin la foto archivada, se conserva la tarjeta y se hace legible su contenido. */
.elementor-widget-call-to-action .elementor-cta__bg.archive-missing-background {
  position: absolute !important;
  inset: 0 !important;
  min-height: 100% !important;
  background: #f3f5f1 !important;
}

.elementor-widget-call-to-action .elementor-cta__bg.archive-missing-background::after {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  min-height: 100%;
  padding-top: 1.5rem;
}

.elementor-widget-call-to-action .elementor-cta__content {
  z-index: 4 !important;
  background: linear-gradient(to bottom, transparent 25%, rgba(255, 255, 255, .96) 58%);
}

.elementor-widget-call-to-action .elementor-cta__content-item,
.elementor-widget-call-to-action .elementor-cta__title,
.elementor-widget-call-to-action .elementor-cta__button {
  color: #21472a !important;
  border-color: #21472a !important;
}

@media (max-width: 921px) {
  .elementor-element-77ccb31 {
    min-height: 240px !important;
  }

  .elementor-element-77ccb31::before {
    padding: 1.25rem;
    font-size: 1rem;
  }

  /* Astra ocultaba este menú hasta que su JavaScript abría el hamburger.
     En la copia estática se muestran siempre los enlaces reales. */
  .ast-mobile-header-wrap .menu-toggle,
  .ast-mobile-header-wrap .mobile-menu-toggle-icon {
    display: none !important;
  }

  .ast-mobile-header-content,
  .ast-mobile-header-content .ast-main-header-bar-navigation,
  .ast-mobile-header-content .main-navigation {
    display: block !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .ast-mobile-header-content .main-header-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .25rem;
    box-sizing: border-box;
    width: 100% !important;
    margin: 0 !important;
    padding: .5rem 1rem .75rem !important;
  }

  .ast-mobile-header-content .main-header-menu > .menu-item {
    display: block !important;
    width: auto !important;
  }

  .ast-mobile-header-content .main-header-menu a {
    display: block !important;
    padding: .55rem .4rem !important;
    border: 1px solid #d9e2d5;
    color: #21472a !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center;
  }

  .ast-mobile-header-content .archive-mobile-menu-label {
    position: static;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    clip: auto;
    white-space: normal;
  }

  .ast-mobile-header-content .menu-item-1112 i,
  .ast-mobile-header-content .menu-item-1273 i {
    display: none !important;
  }

  .elementor-section,
  .elementor-container,
  .elementor-column,
  .elementor-widget-wrap {
    max-width: 100% !important;
  }

  img {
    max-width: 100% !important;
    height: auto !important;
  }
}
