/* =========================================================
   ARCHIVAS & DOCUMENTAS — 21 FILTROS DE MAPEO V12
   ARCHIVO COMPLETO Y NORMALIZADO
   ---------------------------------------------------------
   - Header y geometría de filtros conservados.
   - Hover de MAPEO y CONOCE MÁS en #A51D75 sin movimiento.
   - Iconos en #A51D75 exacto mediante máscara fija.
   - Ningún logo cambia de tamaño ni de posición en hover.
   - Logo principal cambia a #A51D75 en hover.
   - Donación igual a MAPEO y CONOCE MÁS.
   - Footer sólido #905E98.
   - Texto y línea del footer #571447.
   - Línea estándar de 2px.
   - Contacto y footer móvil unificados.
   ========================================================= */

/* =========================================================
   0. FUENTES Y VARIABLES
   ========================================================= */

@font-face {
  font-family: "Bitstream Vera Sans";
  src: url("../fonts/Vera.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Bitstream Vera Sans";
  src: url("../fonts/VeraBd.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Bitstream Vera Sans";
  src: url("../fonts/VeraIt.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Bitstream Vera Sans";
  src: url("../fonts/VeraBI.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

:root {
  --ay-filter-dark: #2a0629;
  --ay-filter-wine: #571447;
  --ay-filter-purple: #7c175b;
  --ay-filter-magenta: #A51D75;
  --ay-filter-magenta-hover: #A51D75;

  --ay-filter-lavender-exact: #BD9BF9;
  --ay-filter-footer-bg: #905E98;
  --ay-filter-footer-text: #571447;
  --ay-filter-pink: #f4dce7;
  --ay-filter-pink-soft: #f8e4ec;
  --ay-filter-lavender: #9f9dff;
  --ay-filter-lavender-soft: #c7b4ed;
  --ay-filter-line: #2a0629;
  --ay-filter-width: min(1100px, calc(100vw - 140px));
  --ay-filter-header-width: min(1340px, calc(100vw - 170px));

  --ay-filter-dark-filter:
    brightness(0) saturate(100%) invert(8%) sepia(37%)
    saturate(1120%) hue-rotate(282deg) brightness(82%) contrast(108%);
  --ay-filter-magenta-filter:
    brightness(0) saturate(100%) invert(21%) sepia(66%)
    saturate(2276%) hue-rotate(294deg) brightness(86%) contrast(93%);
  --ay-filter-lavender-filter:
    brightness(0) saturate(100%) invert(73%) sepia(34%)
    saturate(1964%) hue-rotate(203deg) brightness(103%) contrast(105%);
}

/* =========================================================
   1. AISLAMIENTO DEL TEMA
   ========================================================= */

html:has(.ay-map-filter-page),
body:has(.ay-map-filter-page) {
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
  color: var(--ay-filter-dark) !important;
  background: var(--ay-filter-lavender) !important;
  font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  font-synthesis: none !important;
}

body:has(.ay-map-filter-page) *,
body:has(.ay-map-filter-page) #content * {
  box-sizing: border-box !important;
  font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  font-synthesis: none !important;
}

body:has(.ay-map-filter-page) #user-bar,
body:has(.ay-map-filter-page) .user-bar,
body:has(.ay-map-filter-page) .admin-bar,
body:has(.ay-map-filter-page) .omeka-admin-bar,
body:has(.ay-map-filter-page) > header,
body:has(.ay-map-filter-page) > nav,
body:has(.ay-map-filter-page) > footer,
body:has(.ay-map-filter-page) .site-header,
body:has(.ay-map-filter-page) .site-navigation,
body:has(.ay-map-filter-page) .site-footer,
body:has(.ay-map-filter-page) .breadcrumbs,
body:has(.ay-map-filter-page) .pagination:not(.ay-map-filter-pagination),
body:has(.ay-map-filter-page) .previous,
body:has(.ay-map-filter-page) .next,
body:has(.ay-map-filter-page) .previous-next,
body:has(.ay-map-filter-page) .page-pagination,
body:has(.ay-map-filter-page) .nav-links {
  display: none !important;
}

body:has(.ay-map-filter-page) main:not(.ay-map-filter-main),
body:has(.ay-map-filter-page) .site-main,
body:has(.ay-map-filter-page) .site-content,
body:has(.ay-map-filter-page) .wrapper,
body:has(.ay-map-filter-page) .container,
body:has(.ay-map-filter-page) .region,
body:has(.ay-map-filter-page) #main,
body:has(.ay-map-filter-page) #content,
body:has(.ay-map-filter-page) #content .blocks,
body:has(.ay-map-filter-page) #content .blocks-inner,
body:has(.ay-map-filter-page) #content .block,
body:has(.ay-map-filter-page) #content .block-html,
body:has(.ay-map-filter-page) #page,
body:has(.ay-map-filter-page) #wrap,
body:has(.ay-map-filter-page) .site,
body:has(.ay-map-filter-page) .site-container,
body:has(.ay-map-filter-page) .site-page {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  color: var(--ay-filter-dark) !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body:has(.ay-map-filter-page) #content {
  min-height: 100vh !important;
  background:
    linear-gradient(
      180deg,
      var(--ay-filter-lavender) 0%,
      #d3c3ef 8%,
      var(--ay-filter-pink) 21%,
      var(--ay-filter-pink) 70%,
      #d4c3ef 79%,
      var(--ay-filter-lavender) 88%,
      var(--ay-filter-lavender) 100%
    ) !important;
}

body:has(.ay-map-filter-page) a {
  color: inherit;
  text-decoration: none;
}

/* Título automático y navegación propia de Omeka S. */
body:has(.ay-map-filter-page) #content > h1:first-child,
body:has(.ay-map-filter-page) #content > h1.page-title,
body:has(.ay-map-filter-page) #content > .page-title,
body:has(.ay-map-filter-page) #content > .resource-title,
body:has(.ay-map-filter-page) #content > header:not(.ay-map-filter-header),
body:has(.ay-map-filter-page) #content > a[rel="prev"],
body:has(.ay-map-filter-page) #content > a[rel="next"],
body:has(.ay-map-filter-page) #content > a.previous,
body:has(.ay-map-filter-page) #content > a.next,
body:has(.ay-map-filter-page) #content > a.prev,
body:has(.ay-map-filter-page) #content > .blocks ~ a[rel="prev"],
body:has(.ay-map-filter-page) #content > .blocks ~ a[rel="next"],
body:has(.ay-map-filter-page) #content > .blocks ~ a.previous,
body:has(.ay-map-filter-page) #content > .blocks ~ a.next,
body:has(.ay-map-filter-page) #content > nav.pagination,
body:has(.ay-map-filter-page) #content > nav.site-page-pagination,
body:has(.ay-map-filter-page) #content > nav.page-pagination,
body:has(.ay-map-filter-page) #content > nav.previous-next,
body:has(.ay-map-filter-page) #content > nav.nav-links,
body:has(.ay-map-filter-page) #content .pagination:not(.ay-map-filter-pagination),
body:has(.ay-map-filter-page) #content .site-page-pagination,
body:has(.ay-map-filter-page) #content .page-pagination,
body:has(.ay-map-filter-page) #content .previous-next,
body:has(.ay-map-filter-page) #content .nav-links {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* =========================================================
   2. HEADER — MISMA ARQUITECTURA ANCHA DE MAPEO / CONOCE MÁS
   ========================================================= */

/* Base compartida. La colocación de escritorio está dentro del
   media query para no alterar la vista móvil. */
.ay-map-filter-header,
.ay-map-filter-header-top {
  position: relative !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  color: var(--ay-filter-dark) !important;
  background: transparent !important;
}

.ay-map-filter-header {
  width: var(--ay-filter-header-width) !important;
  max-width: var(--ay-filter-header-width) !important;
  margin: 0 auto !important;
}

.ay-map-filter-logo-link {
  display: inline-block !important;
  position: relative !important;
  line-height: 0 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.ay-map-filter-logo {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;

  object-fit: contain !important;

  filter: var(--ay-filter-dark-filter) !important;
  opacity: 1 !important;

  transition: filter 180ms ease !important;
}

/* Fallback sin máscaras: cambia únicamente el filtro del mismo <img>. */
.ay-map-filter-logo-link:hover .ay-map-filter-logo,
.ay-map-filter-logo-link:focus-visible .ay-map-filter-logo {
  filter: var(--ay-filter-magenta-filter) !important;
}

@supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
  .ay-map-filter-logo-link::after {
    content: "" !important;

    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;

    display: block !important;

    width: 100% !important;
    height: 100% !important;

    background-color: var(--ay-filter-dark) !important;

    -webkit-mask-image:
      url("/themes/default/asset/img/ay-header-logo.webp") !important;
    mask-image:
      url("/themes/default/asset/img/ay-header-logo.webp") !important;

    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;

    -webkit-mask-position: left top !important;
    mask-position: left top !important;

    -webkit-mask-size: 100% 100% !important;
    mask-size: 100% 100% !important;

    opacity: 1 !important;
    pointer-events: none !important;

    transition: background-color 180ms ease !important;
  }

  /* El <img> invisible conserva exactamente su ancho y su alto.
     La máscara ocupa esa misma caja, por lo que no puede moverse. */
  .ay-map-filter-logo-link .ay-map-filter-logo {
    opacity: 0 !important;
  }

  .ay-map-filter-logo-link:hover::after,
  .ay-map-filter-logo-link:focus-visible::after {
    background-color: #A51D75 !important;
  }
}

.ay-map-filter-search-area > label,
.ay-map-filter-search-area > input,
.ay-map-filter-search-area > button {
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.ay-map-filter-menu {
  display: none !important;
}

@media (min-width: 761px) {
  .ay-map-filter-header {
    width: min(1340px, calc(100vw - 170px)) !important;
    max-width: min(1340px, calc(100vw - 170px)) !important;
    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;
  }

  .ay-map-filter-header-top {
    width: 100% !important;
    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;
  }

  /* Logo y texto bajo el logo. */
  .ay-map-filter-logo-area {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 76px !important;
    width: 360px !important;
    max-width: 360px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .ay-map-filter-logo-link,
  .ay-map-filter-logo {
    width: 315px !important;
    max-width: 315px !important;
    margin: 0 !important;
  }

  .ay-map-filter-hero-caption {
    display: block !important;
    position: absolute !important;
    left: 0 !important;
    top: 144px !important;
    width: 455px !important;
    max-width: 455px !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ay-filter-dark) !important;
    background: transparent !important;
    font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.36 !important;
    font-style: normal !important;
    font-weight: 400 !important;
    font-synthesis: none !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    z-index: 80 !important;
    pointer-events: none !important;
  }

  /* Barra de búsqueda, alineada al borde derecho del shell. */
  .ay-map-filter-search-area {
    display: block !important;
    position: static !important;
    width: auto !important;
    max-width: none !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    transform: none !important;
  }

  .ay-map-filter-search-area > label {
    display: flex !important;
    position: absolute !important;
    top: 84px !important;
    right: 520px !important;
    width: 90px !important;
    height: 25px !important;
    min-height: 25px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 0 0 8px !important;
    border: 2px solid var(--ay-filter-dark) !important;
    border-right: 0 !important;
    color: var(--ay-filter-dark) !important;
    background: transparent !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
  }

  .ay-map-filter-search-area > input {
    display: block !important;
    position: absolute !important;
    top: 84px !important;
    right: 150px !important;
    width: 370px !important;
    height: 25px !important;
    min-height: 25px !important;
    margin: 0 !important;
    padding: 0 8px !important;
    border-top: 2px solid var(--ay-filter-dark) !important;
    border-bottom: 2px solid var(--ay-filter-dark) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    color: var(--ay-filter-dark) !important;
    background: transparent !important;
    outline: 0 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
  }

  .ay-map-filter-search-area > button {
    display: flex !important;
    position: absolute !important;
    top: 84px !important;
    right: 0 !important;
    width: 150px !important;
    height: 25px !important;
    min-height: 25px !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--ay-filter-pink) !important;
    background: var(--ay-filter-dark) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    cursor: pointer !important;
  }

  .ay-map-filter-search-area > button:hover,
  .ay-map-filter-search-area > button:focus-visible {
    background: var(--ay-filter-magenta) !important;
  }

  /* Accesos en las mismas posiciones del encabezado de MAPEO. */
  .ay-map-filter-main-access {
    display: grid !important;
    position: absolute !important;
    top: 178px !important;
    right: 205px !important;
    width: 430px !important;
    max-width: 430px !important;
    margin: 0 !important;
    padding: 0 !important;
    grid-template-columns: repeat(2, 1fr) !important;
    column-gap: 118px !important;
    align-items: end !important;
    justify-items: center !important;
    text-align: center !important;
  }

  .ay-map-filter-access {
    display: grid !important;
    position: relative !important;

    grid-template-columns: 1fr !important;
    grid-template-rows: 72px auto !important;

    align-items: end !important;
    justify-items: center !important;

    min-width: 92px !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--ay-filter-dark) !important;

    text-align: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
  }

  .ay-map-filter-access-icon {
    display: block !important;

    grid-column: 1 !important;
    grid-row: 1 !important;

    align-self: end !important;
    justify-self: center !important;

    width: auto !important;
    height: auto !important;

    margin: 0 auto !important;

    object-fit: contain !important;

    filter: var(--ay-filter-dark-filter) !important;
    opacity: 1 !important;

    transition:
      filter 180ms ease,
      opacity 180ms ease !important;
  }

  .ay-map-filter-access[href="mapeo"] {
    --ay-filter-access-icon-width: 79.4px;
    --ay-filter-access-icon-height: 66px;
    --ay-filter-access-icon-mask:
      url("/themes/default/asset/img/ay-access-mapeo.webp");
  }

  .ay-map-filter-access[href="conoce-mas"] {
    --ay-filter-access-icon-width: 74px;
    --ay-filter-access-icon-height: 61.5px;
    --ay-filter-access-icon-mask:
      url("/themes/default/asset/img/ay-access-conoce.webp");
  }

  .ay-map-filter-access-icon-mapeo,
  .ay-map-filter-access-icon-conoce {
    width: var(--ay-filter-access-icon-width) !important;
    min-width: var(--ay-filter-access-icon-width) !important;
    max-width: var(--ay-filter-access-icon-width) !important;

    height: var(--ay-filter-access-icon-height) !important;
    min-height: var(--ay-filter-access-icon-height) !important;
    max-height: var(--ay-filter-access-icon-height) !important;
  }

  .ay-map-filter-access strong {
    display: block !important;

    grid-column: 1 !important;
    grid-row: 2 !important;

    margin-top: 10px !important;

    color: var(--ay-filter-dark) !important;

    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;

    transition: color 180ms ease !important;
  }

  .ay-map-filter-access-active,
  .ay-map-filter-access-active strong,
  .ay-map-filter-access:hover,
  .ay-map-filter-access:focus-visible,
  .ay-map-filter-access:hover strong,
  .ay-map-filter-access:focus-visible strong {
    color: #A51D75 !important;
  }

  .ay-map-filter-access-active .ay-map-filter-access-icon,
  .ay-map-filter-access:hover .ay-map-filter-access-icon,
  .ay-map-filter-access:focus-visible .ay-map-filter-access-icon {
    filter: var(--ay-filter-magenta-filter) !important;
  }

  @supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
    .ay-map-filter-access::before {
      content: "" !important;

      display: block !important;

      grid-column: 1 !important;
      grid-row: 1 !important;

      align-self: end !important;
      justify-self: center !important;

      width: var(--ay-filter-access-icon-width) !important;
      min-width: var(--ay-filter-access-icon-width) !important;
      max-width: var(--ay-filter-access-icon-width) !important;

      height: var(--ay-filter-access-icon-height) !important;
      min-height: var(--ay-filter-access-icon-height) !important;
      max-height: var(--ay-filter-access-icon-height) !important;

      margin: 0 !important;
      padding: 0 !important;

      background-color: var(--ay-filter-dark) !important;

      -webkit-mask-image: var(--ay-filter-access-icon-mask) !important;
      mask-image: var(--ay-filter-access-icon-mask) !important;

      -webkit-mask-repeat: no-repeat !important;
      mask-repeat: no-repeat !important;

      -webkit-mask-position: center !important;
      mask-position: center !important;

      -webkit-mask-size: 100% 100% !important;
      mask-size: 100% 100% !important;

      opacity: 1 !important;
      pointer-events: none !important;

      transition: background-color 180ms ease !important;
    }

    /* La imagen original sigue ocupando su misma celda.
       Solo queda invisible; por eso el icono no cambia de posición. */
    .ay-map-filter-access .ay-map-filter-access-icon {
      opacity: 0 !important;
    }

    .ay-map-filter-access-active::before,
    .ay-map-filter-access:hover::before,
    .ay-map-filter-access:focus-visible::before {
      background-color: #A51D75 !important;
    }
  }
}


/* =========================================================
   3. LATERALES FIJOS — ESQUINAS INFERIORES
   ========================================================= */

@media (min-width: 761px) {
  .ay-map-filter-side-label {
    display: block !important;
    position: fixed !important;
    left: clamp(24px, 3.7vw, 58px) !important;
    right: auto !important;
    top: auto !important;
    bottom: clamp(54px, 8.2vh, 92px) !important;
    width: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 800 !important;
    pointer-events: none !important;
    color: var(--ay-filter-dark) !important;
    background: transparent !important;
  }

  .ay-map-filter-side-label span {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ay-filter-dark) !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    writing-mode: vertical-rl !important;
    transform: rotate(180deg) !important;
    transform-origin: center !important;
  }

  .ay-map-filter-socials {
    display: flex !important;
    position: fixed !important;
    right: clamp(24px, 3.7vw, 58px) !important;
    left: auto !important;
    top: auto !important;
    bottom: clamp(54px, 8.2vh, 92px) !important;
    width: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 10px !important;
    z-index: 805 !important;
    background: transparent !important;
  }

  .ay-map-filter-socials a {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ay-map-filter-socials img {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
    filter: var(--ay-filter-dark-filter) !important;
  }
}


/* =========================================================
   4. PESTAÑAS
   ========================================================= */

.ay-map-filter-tabs-section {
  display: block !important;
  width: var(--ay-filter-width) !important;
  max-width: var(--ay-filter-width) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.ay-map-filter-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  width: 100% !important;
  gap: 0 !important;
}

.ay-map-filter-tab {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 36px !important;
  min-height: 36px !important;
  max-height: 36px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid var(--ay-filter-dark) !important;
  border-right: 0 !important;
  color: var(--ay-filter-dark) !important;
  background: transparent !important;
  font-size: 14px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.ay-map-filter-tab:last-child {
  border-right: 2px solid var(--ay-filter-dark) !important;
}

.ay-map-filter-tab.active,
.ay-map-filter-tab:hover,
.ay-map-filter-tab:focus-visible {
  color: var(--ay-filter-magenta) !important;
}

.ay-map-filter-divider {
  width: 100% !important;
  height: 1px !important;
  margin: 36px 0 0 !important;
  background: var(--ay-filter-dark) !important;
}


/* =========================================================
   5. CONTENEDOR DE FILTROS Y RESULTADOS
   ========================================================= */

body:has(.ay-map-filter-page) main.ay-map-filter-main,
body:has(.ay-map-filter-page) .ay-map-filter-main {
  display: block !important;
  width: var(--ay-filter-width) !important;
  max-width: var(--ay-filter-width) !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 38px auto 0 !important;
  padding: 0 0 92px !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:has(.ay-map-filter-page) .ay-map-filter-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 295px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 790px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.6px solid var(--ay-filter-dark) !important;
  background: rgba(244, 220, 231, 0.30) !important;
  overflow: visible !important;
}

.ay-map-filter-left {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  padding: 20px 27px 40px !important;
}

.ay-map-filter-left h1 {
  order: 1 !important;
  margin: 0 0 24px !important;
  padding: 0 0 22px !important;
  border-bottom: 1.5px solid var(--ay-filter-dark) !important;
  color: var(--ay-filter-magenta) !important;
  font-size: 22px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
}

.ay-map-filter-alphabet {
  order: 2 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 52px !important;
  margin: 0 0 24px !important;
  padding: 0 0 18px !important;
  border-bottom: 1.5px solid var(--ay-filter-dark) !important;
}

.ay-map-filter-letter {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  position: relative !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 25px !important;
  height: 28px !important;
  padding: 0 4px !important;
  border: 0 !important;
  color: var(--ay-filter-dark) !important;
  background: transparent !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  opacity: 1 !important;
  text-decoration: none !important;
}

/* Solo las letras con contenido cambian de color al pasar el mouse. */
.ay-map-filter-letter:not(:disabled):hover,
.ay-map-filter-letter:not(:disabled):focus-visible {
  color: #A51D75 !important;
  font-weight: 700 !important;
}

/* Letra seleccionada: magenta y con subrayado inferior. */
.ay-map-filter-letter.active,
.ay-map-filter-letter[aria-pressed="true"] {
  color: #A51D75 !important;
  font-weight: 700 !important;
}

.ay-map-filter-letter.active::after,
.ay-map-filter-letter[aria-pressed="true"]::after {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  right: 4px !important;
  bottom: 1px !important;
  height: 1.5px !important;
  background: #A51D75 !important;
  pointer-events: none !important;
}

/* Las letras sin contenido permanecen oscuras y no reaccionan al hover. */
.ay-map-filter-letter:disabled,
.ay-map-filter-letter:disabled:hover,
.ay-map-filter-letter:disabled:focus-visible {
  color: var(--ay-filter-dark) !important;
  font-weight: 400 !important;
  opacity: 1 !important;
  cursor: default !important;
  text-decoration: none !important;
}

.ay-map-filter-letter:disabled::after {
  content: none !important;
  display: none !important;
}

.ay-map-filter-values {
  order: 3 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 0 20px !important;
  border-bottom: 1.5px solid rgba(42, 6, 41, 0.56) !important;
}

.ay-map-filter-values[hidden] {
  display: none !important;
}

.ay-map-filter-value {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 31px !important;
  padding: 6px 10px !important;
  border: 1.3px solid var(--ay-filter-dark) !important;
  color: var(--ay-filter-dark) !important;
  background: transparent !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  cursor: pointer !important;
}

.ay-map-filter-value:hover,
.ay-map-filter-value:focus-visible,
.ay-map-filter-value.active {
  color: var(--ay-filter-pink) !important;
  background: var(--ay-filter-magenta) !important;
  border-color: var(--ay-filter-magenta) !important;
}

.ay-map-filter-title-search {
  order: 3 !important;
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 0 20px !important;
  border-bottom: 1.5px solid rgba(42, 6, 41, 0.56) !important;
}

.ay-map-filter-title-search[hidden] {
  display: none !important;
}

.ay-map-filter-title-search label {
  display: flex !important;
  align-items: center !important;
  min-height: 34px !important;
  padding: 0 10px !important;
  color: var(--ay-filter-pink) !important;
  background: var(--ay-filter-magenta) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
}

.ay-map-filter-title-search input {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  padding: 0 10px !important;
  border: 1.5px solid var(--ay-filter-dark) !important;
  border-left: 0 !important;
  color: var(--ay-filter-dark) !important;
  background: transparent !important;
  outline: 0 !important;
  font-size: 12px !important;
}

.ay-map-filter-status {
  order: 4 !important;
  display: none !important;
  margin: 0 0 18px !important;
  color: var(--ay-filter-dark) !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
}

.ay-map-filter-status.is-visible {
  display: block !important;
}

.ay-map-filter-results {
  order: 5 !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  column-gap: 74px !important;
  row-gap: 0 !important;
  align-content: start !important;
  width: 100% !important;
}

.ay-map-filter-result {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ay-filter-dark) !important;
  font-size: 15px !important;
  line-height: 2.02 !important;
  font-weight: 400 !important;
  overflow-wrap: anywhere !important;
}

a.ay-map-filter-result:hover,
a.ay-map-filter-result:focus-visible {
  color: var(--ay-filter-magenta) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.ay-map-filter-empty {
  grid-column: 1 / -1 !important;
  padding: 24px 0 !important;
  color: var(--ay-filter-dark) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.ay-map-filter-sidebar {
  padding: 36px 20px !important;
  border-left: 1.6px solid var(--ay-filter-dark) !important;
  text-align: center !important;
}

.ay-map-filter-sidebar h2 {
  margin: 0 0 26px !important;
  color: var(--ay-filter-dark) !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.ay-map-filter-choice {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 0 22px !important;
  border: 1.4px solid var(--ay-filter-dark) !important;
  color: var(--ay-filter-dark) !important;
  background: transparent !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

.ay-map-filter-choice:hover,
.ay-map-filter-choice:focus-visible,
.ay-map-filter-choice.active {
  color: var(--ay-filter-pink) !important;
  background: var(--ay-filter-magenta) !important;
  border-color: var(--ay-filter-magenta) !important;
}

.ay-map-filter-reset {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--ay-filter-dark) !important;
  background: transparent !important;
  font-size: 24px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  cursor: pointer !important;
}

.ay-map-filter-reset:hover,
.ay-map-filter-reset:focus-visible {
  color: var(--ay-filter-magenta) !important;
}

.ay-map-filter-pagination {
  display: grid !important;
  grid-template-columns: 42px minmax(230px, 350px) 42px !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 46px auto 0 !important;
}

.ay-map-filter-pagination button,
.ay-map-filter-pagination span {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 34px !important;
  margin: 0 !important;
  border: 1.5px solid var(--ay-filter-dark) !important;
  color: var(--ay-filter-dark) !important;
  background: transparent !important;
  font-size: 11px !important;
  line-height: 1 !important;
}

.ay-map-filter-pagination button {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  font-size: 21px !important;
}

.ay-map-filter-pagination button:disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}

/* =========================================================
   6. DONACIÓN, CONTACTO Y FOOTER NORMALIZADOS
   ---------------------------------------------------------
   Usa los mismos colores, medidas y grosores aplicados en:
   - MAPEO;
   - CONOCE MÁS;
   - DESCRIPCIÓN;
   - METODOLOGÍA;
   - SOMOS;
   - CONTRIBUYE;
   - POLÍTICA.
   ========================================================= */


/* Wrappers de Omeka en flujo normal. */
body:has(.ay-map-filter-page)
  #content
  .block:has(.ay-map-filter-donate),
body:has(.ay-map-filter-page)
  #content
  .block:has(.ay-map-filter-footer),
body:has(.ay-map-filter-page)
  #content
  .block:has(.ay-map-filter-mobile-contact),
body:has(.ay-map-filter-page)
  #content
  .block-html:has(.ay-map-filter-donate),
body:has(.ay-map-filter-page)
  #content
  .block-html:has(.ay-map-filter-footer),
body:has(.ay-map-filter-page)
  #content
  .block-html:has(.ay-map-filter-mobile-contact) {
  display: block !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: visible !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}


/* ---------------------------------------------------------
   ESCRITORIO
   --------------------------------------------------------- */

@media (min-width: 761px) {

  .ay-map-filter-mobile-contact,
  .ay-map-filter-mobile-footer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;

    width: 0 !important;
    height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: hidden !important;
    pointer-events: none !important;
  }

  .ay-map-filter-donate {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: relative !important;

    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 0 0 calc(50% - 50vw) !important;
    padding: 150px 20px 102px !important;

    overflow-x: clip !important;
    overflow-y: visible !important;

    color: var(--ay-filter-lavender-exact) !important;

    background:
      radial-gradient(
        ellipse at 50% 47%,
        #2E0A28 0%,
        #440D35 13%,
        #571040 28%,
        #75396E 46%,
        #834C83 54%,
        #905E98 65%,
        #905E98 100%
      ) !important;
    background-color: var(--ay-filter-footer-bg) !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    text-align: center !important;
  }

  .ay-map-filter-donate > p {
    display: block !important;

    width: min(760px, calc(100% - 80px)) !important;
    max-width: 100% !important;

    margin: 0 auto 42px !important;
    padding: 0 !important;

    color: var(--ay-filter-lavender-exact) !important;
    background: transparent !important;

    font-size: 16px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
    text-align: center !important;
  }

  .ay-map-filter-donate-button {
    display: inline-flex !important;

    min-width: 250px !important;
    min-height: 54px !important;

    margin: 0 !important;
    padding: 0 24px !important;

    align-items: center !important;
    justify-content: center !important;

    color: var(--ay-filter-lavender-exact) !important;
    background: #2E0A28 !important;

    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    font-size: 16px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;

    transition:
      color 160ms ease,
      background-color 160ms ease !important;
  }

  .ay-map-filter-donate-button:hover,
  .ay-map-filter-donate-button:focus-visible {
    color: var(--ay-filter-lavender-exact) !important;
    background: #A51D75 !important;
    text-decoration: none !important;
  }

  .ay-map-filter-donate-button:focus-visible {
    outline: 2px solid var(--ay-filter-lavender-exact) !important;
    outline-offset: 4px !important;
  }

  .ay-map-filter-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    position: relative !important;

    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;

    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    margin: 0 0 0 calc(50% - 50vw) !important;
    padding: 0 20px 30px !important;

    color: var(--ay-filter-footer-text) !important;

    background: var(--ay-filter-footer-bg) !important;
    background-color: var(--ay-filter-footer-bg) !important;
    background-image: none !important;

    border: 0 !important;
    box-shadow: none !important;

    text-align: center !important;
    z-index: 20 !important;
  }

  .ay-map-filter-footer::before {
    content: "" !important;

    display: block !important;

    width: min(720px, calc(100% - 160px)) !important;
    max-width: 100% !important;
    height: 2px !important;

    margin: 0 auto 15px !important;
    padding: 0 !important;

    background: var(--ay-filter-footer-text) !important;
    border: 0 !important;
  }

  .ay-map-filter-footer-row {
    display: block !important;

    width: min(900px, calc(100% - 80px)) !important;
    max-width: 100% !important;

    margin: 0 auto !important;
    padding: 0 !important;

    color: var(--ay-filter-footer-text) !important;
    background: transparent !important;

    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    text-align: center !important;
  }

  .ay-map-filter-footer-row > span,
  .ay-map-filter-footer-row > a,
  .ay-map-filter-footer-link,
  .ay-map-filter-footer-sep {
    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    color: var(--ay-filter-footer-text) !important;
    background: transparent !important;

    font-size: 16px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
  }

  .ay-map-filter-footer-sep {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }

  .ay-map-filter-footer-link:hover,
  .ay-map-filter-footer-link:focus-visible {
    color: var(--ay-filter-footer-text) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
  }
}


/* ---------------------------------------------------------
   MÓVIL
   --------------------------------------------------------- */





/* =========================================================
   7. PANEL DE BÚSQUEDA EN TIEMPO REAL
   ========================================================= */

html body
  .ay-live-search-panel.ay-live-search-portal.ay-live-search-panel--filter {
  position: fixed !important;
  z-index: 2147483000 !important;
  display: block !important;
  max-height: min(430px, 62vh) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  color: var(--ay-filter-dark) !important;
  background: rgba(244, 220, 231, 0.992) !important;
  border: 2px solid var(--ay-filter-dark) !important;
  border-radius: 0 !important;
  box-shadow: 0 14px 34px rgba(42, 6, 41, 0.24) !important;
  font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
}

html body
  .ay-live-search-panel.ay-live-search-portal.ay-live-search-panel--filter[hidden] {
  display: none !important;
}

html body .ay-live-search-panel--filter .ay-live-search-status {
  display: none !important;
  padding: 13px 14px !important;
  color: var(--ay-filter-dark) !important;
  font-size: 10px !important;
}

html body
  .ay-live-search-panel--filter.is-loading
  .ay-live-search-status,
html body
  .ay-live-search-panel--filter.has-message
  .ay-live-search-status {
  display: block !important;
}

html body .ay-live-search-panel--filter .ay-live-search-results {
  display: block !important;
  width: 100% !important;
}

html body .ay-live-search-panel--filter .ay-live-search-result {
  display: grid !important;
  grid-template-columns: 56px minmax(0, 1fr) !important;
  column-gap: 12px !important;
  align-items: center !important;
  min-height: 72px !important;
  padding: 8px 12px !important;
  color: var(--ay-filter-dark) !important;
  border-top: 1px solid rgba(181, 29, 125, 0.30) !important;
  background: transparent !important;
  text-decoration: none !important;
}

html body
  .ay-live-search-panel--filter
  .ay-live-search-result:first-child {
  border-top: 0 !important;
}

html body
  .ay-live-search-panel--filter
  a.ay-live-search-result.is-clickable:hover,
html body
  .ay-live-search-panel--filter
  a.ay-live-search-result.is-clickable:focus-visible,
html body
  .ay-live-search-panel--filter
  a.ay-live-search-result.is-clickable.is-active {
  background: rgba(159, 157, 255, 0.28) !important;
}

html body .ay-live-search-panel--filter .ay-live-search-thumb {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 56px !important;
  height: 56px !important;
  overflow: hidden !important;
  color: var(--ay-filter-magenta) !important;
  background: rgba(159, 157, 255, 0.23) !important;
  border: 1px solid rgba(181, 29, 125, 0.40) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

html body .ay-live-search-panel--filter .ay-live-search-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
}

html body .ay-live-search-panel--filter .ay-live-search-title {
  display: block !important;
  overflow: hidden !important;
  color: var(--ay-filter-dark) !important;
  font-size: 12px !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .ay-live-search-panel--filter .ay-live-search-type {
  display: block !important;
  margin-top: 5px !important;
  color: var(--ay-filter-magenta) !important;
  font-size: 9px !important;
  text-transform: uppercase !important;
}

/* =========================================================
   8. TABLETA
   ========================================================= */

@media (min-width: 901px) and (max-width: 1180px) {
  :root {
    --ay-filter-width: min(920px, calc(100vw - 80px));
    --ay-filter-header-width: min(1040px, calc(100vw - 90px));
  }

  .ay-map-filter-header {
    width: var(--ay-filter-header-width) !important;
    max-width: var(--ay-filter-header-width) !important;
    height: 370px !important;
    min-height: 370px !important;
    max-height: 370px !important;
  }

  .ay-map-filter-header-top {
    height: 370px !important;
    min-height: 370px !important;
    max-height: 370px !important;
  }

  .ay-map-filter-logo-area {
    top: 70px !important;
    width: 360px !important;
    max-width: 360px !important;
  }

  .ay-map-filter-logo-link,
  .ay-map-filter-logo {
    width: 250px !important;
    max-width: 250px !important;
  }

  .ay-map-filter-hero-caption {
    position: absolute !important;
    left: 0 !important;
    top: 128px !important;
    width: 360px !important;
    max-width: 360px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.38 !important;
  }

  .ay-map-filter-search-area > label {
    right: 450px !important;
    width: 82px !important;
  }

  .ay-map-filter-search-area > input {
    right: 135px !important;
    width: 315px !important;
  }

  .ay-map-filter-search-area > button {
    width: 135px !important;
  }

  .ay-map-filter-main-access {
    top: 182px !important;
    right: 110px !important;
    width: 380px !important;
    max-width: 380px !important;
    column-gap: 88px !important;
  }

  .ay-map-filter-shell {
    grid-template-columns: minmax(0, 1fr) 260px !important;
  }

  .ay-map-filter-results {
    column-gap: 42px !important;
  }
}

@media (min-width: 761px) and (max-width: 900px) {
  :root {
    --ay-filter-width: calc(100vw - 60px);
    --ay-filter-header-width: calc(100vw - 50px);
  }

  .ay-map-filter-header {
    width: var(--ay-filter-header-width) !important;
    max-width: var(--ay-filter-header-width) !important;
    height: 380px !important;
    min-height: 380px !important;
    max-height: 380px !important;
  }

  .ay-map-filter-header-top {
    height: 380px !important;
    min-height: 380px !important;
    max-height: 380px !important;
  }

  .ay-map-filter-logo-area {
    top: 70px !important;
    width: 275px !important;
    max-width: 275px !important;
  }

  .ay-map-filter-logo-link,
  .ay-map-filter-logo {
    width: 210px !important;
    max-width: 210px !important;
  }

  .ay-map-filter-hero-caption {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 270px !important;
    max-width: 270px !important;
    margin: 24px 0 0 !important;
    font-size: 11px !important;
    pointer-events: auto !important;
  }

  .ay-map-filter-search-area > label {
    top: 76px !important;
    right: 380px !important;
    width: 75px !important;
  }

  .ay-map-filter-search-area > input {
    top: 76px !important;
    right: 120px !important;
    width: 260px !important;
  }

  .ay-map-filter-search-area > button {
    top: 76px !important;
    width: 120px !important;
  }

  .ay-map-filter-main-access {
    top: 205px !important;
    right: 20px !important;
    width: 360px !important;
    max-width: 360px !important;
    column-gap: 76px !important;
  }

  .ay-map-filter-shell {
    grid-template-columns: minmax(0, 1fr) 230px !important;
  }

  .ay-map-filter-results {
    column-gap: 30px !important;
  }
}


/* =========================================================
   9. MÓVIL
   ========================================================= */



/* Fallback para navegadores sin :has(). */
.ay-map-filter-page {
  display: none !important;
}

/* =========================================================
   V10 — HEADER DE FILTROS IGUALADO A MAPEO
   ---------------------------------------------------------
   El bloque HTML de FILTROS utiliza clases propias para no
   interferir con MAPEO, pero adopta su misma geometría:
   - shell de 1340 px;
   - altura de 390 px;
   - logo de 315 px;
   - caption de 455 px y 14 px;
   - accesos a la misma altura;
   - pestañas de 36 px.
   ========================================================= */

body:has(.ay-map-filter-page)
  .ay-map-filter-hero-caption {
  font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-synthesis: none !important;
  font-variant: normal !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* Saltos de línea equivalentes al caption generado de MAPEO. */
@media (min-width: 1181px) {
  body:has(.ay-map-filter-page)
    .ay-map-filter-caption-break {
    display: inline !important;
  }

  body:has(.ay-map-filter-page)
    .ay-map-filter-logo-area {
    width: 360px !important;
    max-width: 360px !important;
  }

  body:has(.ay-map-filter-page)
    .ay-map-filter-hero-caption {
    position: absolute !important;
    left: 0 !important;
    top: 144px !important;
    width: 455px !important;
    max-width: 455px !important;
    margin: 0 !important;
    font-size: 14px !important;
    line-height: 1.36 !important;
  }
}

@media (max-width: 1180px) {
  body:has(.ay-map-filter-page)
    .ay-map-filter-caption-break {
    display: none !important;
  }
}

/* =========================================================
   9. MÓVIL — FILTROS DE MAPEO
   ---------------------------------------------------------
   - Única sección móvil del archivo.
   - Menú, contacto y footer iguales al sistema aprobado
     para MAPEO, fichas de artista y documentos.
   - Buscador, pestañas, filtros, resultados y paginación
     adaptados al diseño móvil de referencia.
   - No modifica escritorio ni tableta.
   ========================================================= */

@media (max-width: 760px) {
  :root {
    --ay-filter-width: 100%;
    --ay-filter-header-width: 100%;

    --ay-filter-mobile-dark: #22061d;
    --ay-filter-mobile-purple: #571447;
    --ay-filter-mobile-magenta: #a51d75;
    --ay-filter-mobile-lavender: #9f9dff;
    --ay-filter-mobile-lavender-exact: #bd9bf9;
    --ay-filter-mobile-pink: #f3dde7;
    --ay-filter-mobile-panel-height: 439px;

    --ay-filter-mobile-dark-filter:
      brightness(0) saturate(100%) invert(8%) sepia(37%)
      saturate(1120%) hue-rotate(282deg) brightness(82%)
      contrast(108%);

    --ay-filter-mobile-lavender-filter:
      brightness(0) saturate(100%) invert(73%) sepia(34%)
      saturate(1964%) hue-rotate(203deg) brightness(103%)
      contrast(105%);
  }

  html:has(.ay-map-filter-page),
  body:has(.ay-map-filter-page) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: var(--ay-filter-mobile-lavender) !important;
  }

  body:has(.ay-map-filter-page),
  body:has(.ay-map-filter-page) #content {
    min-height: 100% !important;
  }

  body:has(.ay-map-filter-page) #content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    background:
      linear-gradient(
        180deg,
        var(--ay-filter-mobile-lavender) 0%,
        #d2c1ef 7%,
        var(--ay-filter-mobile-pink) 15%,
        var(--ay-filter-mobile-pink) 72%,
        #d2c1ef 85%,
        var(--ay-filter-mobile-lavender) 100%
      ) !important;
  }

  body:has(.ay-map-filter-page) *,
  body:has(.ay-map-filter-page) #content * {
    box-sizing: border-box !important;
    font-family:
      "Bitstream Vera Sans",
      Arial,
      Helvetica,
      sans-serif !important;
  }

  /* -------------------------------------------------------
     HEADER CERRADO
     ------------------------------------------------------- */

  body:has(.ay-map-filter-page) .ay-map-filter-header {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 30px 18px 0 !important;
    overflow: visible !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    border: 0 !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-header-top {
    display: flex !important;
    position: relative !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-logo-area {
    display: contents !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-logo-link {
    order: 1 !important;
    display: block !important;
    position: relative !important;
    width: 164px !important;
    max-width: 164px !important;
    margin: 52px auto 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    text-align: center !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-logo {
    display: block !important;
    width: 164px !important;
    max-width: 164px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    filter: var(--ay-filter-mobile-dark-filter) !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-search-area {
    order: 2 !important;
    display: grid !important;
    position: relative !important;
    grid-template-columns: 74px minmax(0, 1fr) 32px !important;
    grid-template-rows: 22px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 22px !important;
    min-height: 22px !important;
    margin: 25px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    transform: none !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-search-area > label,
  body:has(.ay-map-filter-page)
  .ay-map-filter-search-area > input,
  body:has(.ay-map-filter-page)
  .ay-map-filter-search-area > button {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 22px !important;
    min-height: 22px !important;
    max-height: 22px !important;
    margin: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-search-area > label {
    align-items: center !important;
    justify-content: flex-start !important;
    padding: 0 0 0 6px !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    border: 1.5px solid var(--ay-filter-mobile-dark) !important;
    border-right: 0 !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-search-area > input {
    padding: 0 5px !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    border-top: 1.5px solid var(--ay-filter-mobile-dark) !important;
    border-bottom: 1.5px solid var(--ay-filter-mobile-dark) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    outline: 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-search-area > button {
    appearance: none !important;
    -webkit-appearance: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    color: transparent !important;
    background: transparent !important;
    border: 1.5px solid var(--ay-filter-mobile-dark) !important;
    border-left: 0 !important;
    cursor: pointer !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-search-area > button::before {
    content: "" !important;
    position: absolute !important;
    left: 9px !important;
    top: 5px !important;
    width: 8px !important;
    height: 8px !important;
    border: 1.8px solid var(--ay-filter-mobile-dark) !important;
    border-radius: 50% !important;
    background: transparent !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-search-area > button::after {
    content: "" !important;
    position: absolute !important;
    left: 17px !important;
    top: 13px !important;
    width: 7px !important;
    height: 0 !important;
    border-top: 1.8px solid var(--ay-filter-mobile-dark) !important;
    transform: rotate(45deg) !important;
    transform-origin: left center !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-hero-caption {
    order: 3 !important;
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 294px !important;
    margin: 7px 0 0 !important;
    padding: 0 !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    font-size: 10.5px !important;
    line-height: 1.34 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    pointer-events: auto !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-caption-break {
    display: none !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-search-area + .ay-map-filter-hero-caption,
  body:has(.ay-map-filter-page)
  .ay-map-filter-hero-caption {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-main-access,
  body:has(.ay-map-filter-page)
  .ay-map-filter-side-label,
  body:has(.ay-map-filter-page)
  .ay-map-filter-socials {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* -------------------------------------------------------
     HAMBURGUESA CERRADA
     ------------------------------------------------------- */

  body:has(.ay-map-filter-page)
  .ay-map-filter-menu {
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 29px !important;
    z-index: 100 !important;
    width: 28px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-menu:not([open]) > summary {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    position: relative !important;
    width: 28px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    color: transparent !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 2px solid var(--ay-filter-mobile-dark) !important;
    border-bottom: 2px solid var(--ay-filter-mobile-dark) !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-menu > summary::-webkit-details-marker {
    display: none !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-menu > summary::marker {
    content: "" !important;
    display: none !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-menu:not([open]) > summary::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 6px !important;
    width: 28px !important;
    height: 0 !important;
    border-top: 2px solid var(--ay-filter-mobile-dark) !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-menu:not([open])
  .ay-map-filter-menu-panel {
    display: none !important;
  }

  /* -------------------------------------------------------
     PESTAÑAS DE MAPEO
     ------------------------------------------------------- */

  body:has(.ay-map-filter-page)
  .ay-map-filter-tabs-section {
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 55px 0 0 !important;
    padding: 0 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-tabs {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-tab {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: 62px !important;
    min-height: 62px !important;
    max-height: 62px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    border: 2px solid var(--ay-filter-mobile-dark) !important;
    font-size: 20px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0.06em !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-tab-artists {
    order: 1 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-tab-type {
    order: 2 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-tab-resources {
    order: 3 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-tab.active,
  body:has(.ay-map-filter-page)
  .ay-map-filter-tab:hover,
  body:has(.ay-map-filter-page)
  .ay-map-filter-tab:focus-visible {
    color: var(--ay-filter-mobile-magenta) !important;
    background: transparent !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-divider {
    display: none !important;
  }

  /* -------------------------------------------------------
     CONTENIDO DE FILTROS
     ------------------------------------------------------- */

  body:has(.ay-map-filter-page)
  main.ay-map-filter-main,
  body:has(.ay-map-filter-page)
  .ay-map-filter-main {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 60px 0 0 !important;
    padding: 0 18px 86px !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-shell {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    overflow: visible !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-left {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-alphabet {
    order: 1 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 58px !important;
    margin: 0 0 22px !important;
    padding: 12px 0 10px !important;
    gap: 0 !important;
    border-top: 1.5px solid var(--ay-filter-mobile-magenta) !important;
    border-bottom: 1.5px solid var(--ay-filter-mobile-magenta) !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-letter {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    position: relative !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 27px !important;
    height: 23px !important;
    margin: 0 !important;
    padding: 0 3px !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 11px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    cursor: pointer !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-letter:not(:disabled):hover,
  body:has(.ay-map-filter-page)
  .ay-map-filter-letter:not(:disabled):focus-visible,
  body:has(.ay-map-filter-page)
  .ay-map-filter-letter.active,
  body:has(.ay-map-filter-page)
  .ay-map-filter-letter[aria-pressed="true"] {
    color: var(--ay-filter-mobile-magenta) !important;
    font-weight: 700 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-letter.active::after,
  body:has(.ay-map-filter-page)
  .ay-map-filter-letter[aria-pressed="true"]::after {
    content: "" !important;
    position: absolute !important;
    left: 3px !important;
    right: 3px !important;
    bottom: 0 !important;
    height: 1.5px !important;
    background: var(--ay-filter-mobile-magenta) !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-letter:disabled,
  body:has(.ay-map-filter-page)
  .ay-map-filter-letter:disabled:hover,
  body:has(.ay-map-filter-page)
  .ay-map-filter-letter:disabled:focus-visible {
    color: var(--ay-filter-mobile-dark) !important;
    opacity: 1 !important;
    cursor: default !important;
    font-weight: 400 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-left h1 {
    order: 2 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 21px !important;
    padding: 0 0 12px !important;
    color: var(--ay-filter-mobile-magenta) !important;
    background: transparent !important;
    border: 0 !important;
    border-bottom: 1.2px solid var(--ay-filter-mobile-dark) !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
    font-weight: 700 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-values,
  body:has(.ay-map-filter-page)
  .ay-map-filter-title-search {
    order: 3 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-values {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 0 18px !important;
    border-bottom: 1.5px solid rgba(42, 6, 41, 0.56) !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-values[hidden] {
    display: none !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-value {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 32px !important;
    margin: 0 !important;
    padding: 6px 10px !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    border: 1.3px solid var(--ay-filter-mobile-dark) !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    cursor: pointer !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-value:hover,
  body:has(.ay-map-filter-page)
  .ay-map-filter-value:focus-visible,
  body:has(.ay-map-filter-page)
  .ay-map-filter-value.active {
    color: var(--ay-filter-mobile-pink) !important;
    background: var(--ay-filter-mobile-magenta) !important;
    border-color: var(--ay-filter-mobile-magenta) !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-title-search {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 0 18px !important;
    border-bottom: 1.5px solid rgba(42, 6, 41, 0.56) !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-title-search[hidden] {
    display: none !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-title-search label {
    display: flex !important;
    align-items: center !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    color: var(--ay-filter-mobile-pink) !important;
    background: var(--ay-filter-mobile-magenta) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-title-search input {
    width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 10px !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    border: 1.5px solid var(--ay-filter-mobile-dark) !important;
    border-top: 0 !important;
    outline: 0 !important;
    font-size: 12px !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-status {
    order: 4 !important;
    display: none !important;
    margin: 0 0 18px !important;
    color: var(--ay-filter-mobile-dark) !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-status.is-visible {
    display: block !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-results {
    order: 5 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    column-gap: 0 !important;
    row-gap: 0 !important;
    align-content: start !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-result {
    display: block !important;
    min-width: 0 !important;
    margin: 0 0 5px !important;
    padding: 0 !important;
    color: var(--ay-filter-mobile-dark) !important;
    font-size: 17px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    overflow-wrap: anywhere !important;
  }

  body:has(.ay-map-filter-page)
  a.ay-map-filter-result:hover,
  body:has(.ay-map-filter-page)
  a.ay-map-filter-result:focus-visible {
    color: var(--ay-filter-mobile-magenta) !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-empty {
    padding: 20px 0 !important;
    color: var(--ay-filter-mobile-dark) !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-sidebar {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-pagination {
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) 44px !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
    margin: 58px auto 0 !important;
    padding: 18px 10px 0 !important;
    border-top: 1px solid var(--ay-filter-mobile-dark) !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-pagination button,
  body:has(.ay-map-filter-page)
  .ay-map-filter-pagination span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 34px !important;
    margin: 0 !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    border: 1.5px solid var(--ay-filter-mobile-dark) !important;
    font-size: 10px !important;
    line-height: 1 !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-pagination button {
    appearance: none !important;
    -webkit-appearance: none !important;
    padding: 0 !important;
    cursor: pointer !important;
    font-size: 21px !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-pagination button:disabled {
    opacity: 0.35 !important;
    cursor: default !important;
  }

  /* -------------------------------------------------------
     CONTACTO Y FOOTER EN LA PÁGINA
     ------------------------------------------------------- */

  body:has(.ay-map-filter-page) .ay-map-filter-donate,
  body:has(.ay-map-filter-page) .ay-map-filter-footer {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  body:has(.ay-map-filter-page) #content .block:has(.ay-map-filter-donate),
  body:has(.ay-map-filter-page) #content .block-html:has(.ay-map-filter-donate),
  body:has(.ay-map-filter-page) #content .block:has(.ay-map-filter-footer):not(:has(.ay-map-filter-mobile-contact)),
  body:has(.ay-map-filter-page) #content .block-html:has(.ay-map-filter-footer):not(:has(.ay-map-filter-mobile-contact)) {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  html body:has(.ay-map-filter-page) #content section.ay-map-filter-mobile-contact {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 92px 0 0 !important;
    padding: 54px 18px 0 !important;
    overflow: hidden !important;
    color: var(--ay-filter-mobile-lavender-exact) !important;
    background:
      linear-gradient(
        180deg,
        #721451 0%,
        #84205f 22%,
        #8f4f9f 60%,
        var(--ay-filter-mobile-lavender) 100%
      ) !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-mobile-contact > h2 {
    margin: 0 0 30px !important;
    padding: 0 !important;
    color: var(--ay-filter-mobile-lavender-exact) !important;
    font-size: 22px !important;
    line-height: 1 !important;
    letter-spacing: 0.025em !important;
    font-weight: 700 !important;
    text-align: center !important;
    text-transform: uppercase !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-contact-item {
    margin: 0 0 17px !important;
    padding: 0 !important;
    color: var(--ay-filter-mobile-lavender-exact) !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 400 !important;
    text-align: center !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-contact-item > span,
  body:has(.ay-map-filter-page) .ay-map-filter-contact-item > a {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ay-filter-mobile-lavender-exact) !important;
    background: transparent !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: inherit !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-contact-item > a {
    font-size: 10.5px !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    overflow-wrap: anywhere !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-mobile-socials {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 44px !important;
    margin: 42px 0 66px !important;
    padding: 0 !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-mobile-socials > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-mobile-socials img {
    display: block !important;
    width: 38px !important;
    height: 38px !important;
    max-width: 38px !important;
    max-height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: var(--ay-filter-mobile-lavender-filter) !important;
  }

  html body:has(.ay-map-filter-page):not(:has(.ay-map-filter-menu[open])) #content section.ay-map-filter-mobile-contact footer.ay-map-filter-mobile-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 28px !important;
    color: var(--ay-filter-mobile-purple) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-mobile-footer::before {
    content: "" !important;
    display: block !important;
    width: min(342px, 100%) !important;
    height: 1px !important;
    margin: 0 auto 12px !important;
    padding: 0 !important;
    background: var(--ay-filter-mobile-purple) !important;
    border: 0 !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-mobile-footer-row {
    display: block !important;
    width: min(342px, 100%) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: var(--ay-filter-mobile-purple) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: 11.5px !important;
    line-height: 1.28 !important;
    font-weight: 400 !important;
    text-align: center !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-mobile-footer-row > span,
  body:has(.ay-map-filter-page) .ay-map-filter-mobile-footer-row > a,
  body:has(.ay-map-filter-page) .ay-map-filter-mobile-footer-link,
  body:has(.ay-map-filter-page) .ay-map-filter-mobile-footer-sep {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ay-filter-mobile-purple) !important;
    background: transparent !important;
    border: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
    font-weight: 400 !important;
    text-decoration: none !important;
  }


  /* -------------------------------------------------------
     MENÚ ABIERTO — MISMA ESTRUCTURA DE CONOCE MÁS
     ------------------------------------------------------- */

  html:has(.ay-map-filter-menu[open]),
  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) {
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) #content {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147482998 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    background: var(--ay-filter-mobile-pink) !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) #content .block,
  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) #content .block-html {
    display: none !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) #content .block:has(.ay-map-filter-header),
  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) #content .block-html:has(.ay-map-filter-header),
  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) #content .block:has(.ay-map-filter-mobile-contact),
  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) #content .block-html:has(.ay-map-filter-mobile-contact) {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) .ay-map-filter-header-top,
  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) .ay-map-filter-main-access,
  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) .ay-map-filter-tabs-section {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) .ay-map-filter-header {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    height: var(--ay-filter-mobile-panel-height) !important;
    min-height: var(--ay-filter-mobile-panel-height) !important;
    max-height: var(--ay-filter-mobile-panel-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background:
      linear-gradient(
        180deg,
        var(--ay-filter-mobile-lavender) 0%,
        #d8c7ee 12%,
        var(--ay-filter-mobile-pink) 28%,
        var(--ay-filter-mobile-pink) 100%
      ) !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] {
    display: block !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    inset: auto !important;
    z-index: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: var(--ay-filter-mobile-panel-height) !important;
    min-height: var(--ay-filter-mobile-panel-height) !important;
    max-height: var(--ay-filter-mobile-panel-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] > summary {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: block !important;
    position: absolute !important;
    left: 50% !important;
    top: 18px !important;
    z-index: 20 !important;
    width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    cursor: pointer !important;
    touch-action: manipulation !important;
    pointer-events: auto !important;
    color: transparent !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] > summary::before,
  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] > summary::after {
    content: "" !important;
    position: absolute !important;
    left: 12px !important;
    top: 25px !important;
    width: 31px !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 7px solid var(--ay-filter-mobile-dark) !important;
    transform-origin: center !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] > summary::before {
    transform: rotate(45deg) !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] > summary::after {
    transform: rotate(-45deg) !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] .ay-map-filter-menu-panel {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    z-index: 1 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: var(--ay-filter-mobile-panel-height) !important;
    min-height: var(--ay-filter-mobile-panel-height) !important;
    max-height: var(--ay-filter-mobile-panel-height) !important;
    margin: 0 !important;
    padding: 102px 0 0 !important;
    overflow: hidden !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] .ay-map-filter-menu-logo-link {
    display: block !important;
    flex: 0 0 auto !important;
    width: 200px !important;
    max-width: 200px !important;
    margin: 0 auto 38px !important;
    padding: 0 !important;
    line-height: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] .ay-map-filter-menu-logo {
    display: block !important;
    width: 200px !important;
    max-width: 200px !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    opacity: 1 !important;
    filter: var(--ay-filter-mobile-dark-filter) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  @supports ((-webkit-mask-image: url("")) or (mask-image: url(""))) {
    body:has(.ay-map-filter-page) .ay-map-filter-menu[open] .ay-map-filter-menu-logo-link::after {
      content: none !important;
      display: none !important;
    }

    body:has(.ay-map-filter-page) .ay-map-filter-menu[open] .ay-map-filter-menu-logo-link .ay-map-filter-menu-logo {
      opacity: 1 !important;
    }
  }

  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] .ay-map-filter-menu-panel > a:not(.ay-map-filter-menu-logo-link) {
    display: flex !important;
    flex: 0 0 89px !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(100% - 48px) !important;
    max-width: 342px !important;
    min-width: 0 !important;
    height: 89px !important;
    min-height: 89px !important;
    max-height: 89px !important;
    margin: 0 auto !important;
    padding: 0 12px !important;
    color: var(--ay-filter-mobile-dark) !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid var(--ay-filter-mobile-dark) !important;
    box-shadow: none !important;
    font-size: 19px !important;
    line-height: 1 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
  }

  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] .ay-map-filter-menu-panel > a:not(.ay-map-filter-menu-logo-link):hover,
  body:has(.ay-map-filter-page) .ay-map-filter-menu[open] .ay-map-filter-menu-panel > a:not(.ay-map-filter-menu-logo-link):focus-visible {
    color: var(--ay-filter-mobile-magenta) !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) #content section.ay-map-filter-mobile-contact {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: clamp(470px, 135vw, 527px) !important;
    min-height: clamp(470px, 135vw, 527px) !important;
    max-height: clamp(470px, 135vw, 527px) !important;
    margin: 0 !important;
    padding: 35px 24px 92px !important;
    overflow: hidden !important;
    color: var(--ay-filter-mobile-lavender-exact) !important;
    background:
      linear-gradient(
        180deg,
        #84165f 0%,
        #7b1a62 12%,
        #88418f 44%,
        #9570c6 72%,
        var(--ay-filter-mobile-lavender) 100%
      ) !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) .ay-map-filter-mobile-contact > h2 {
    margin: 0 0 27px !important;
    font-size: 20px !important;
    line-height: 1 !important;
    letter-spacing: 0.01em !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) .ay-map-filter-contact-item {
    margin: 0 0 15px !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) .ay-map-filter-contact-item > a {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) .ay-map-filter-mobile-socials {
    gap: 48px !important;
    margin: 54px 0 0 !important;
  }

  html body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) #content section.ay-map-filter-mobile-contact footer.ay-map-filter-mobile-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: 24px !important;
    width: min(320px, calc(100% - 48px)) !important;
    max-width: 320px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    color: var(--ay-filter-mobile-purple) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) .ay-map-filter-mobile-footer::before {
    content: "" !important;
    display: block !important;
    width: 100% !important;
    height: 1px !important;
    margin: 0 auto 10px !important;
    padding: 0 !important;
    background: rgba(87, 20, 71, 0.72) !important;
    border: 0 !important;
  }

  body:has(.ay-map-filter-page):has(.ay-map-filter-menu[open]) .ay-map-filter-mobile-footer-row {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 0 !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
  }

  /* -------------------------------------------------------
     PANEL DE BÚSQUEDA EN TIEMPO REAL
     ------------------------------------------------------- */

  html body
  .ay-live-search-panel.ay-live-search-portal.ay-live-search-panel--filter {
    max-height: min(360px, 58vh) !important;
    border-width: 1.5px !important;
  }

  html body
  .ay-live-search-panel--filter .ay-live-search-result {
    grid-template-columns: 48px minmax(0, 1fr) !important;
    min-height: 64px !important;
    padding: 7px 9px !important;
  }

  html body
  .ay-live-search-panel--filter .ay-live-search-thumb {
    width: 48px !important;
    height: 48px !important;
  }

  html body
  .ay-live-search-panel--filter .ay-live-search-title {
    font-size: 11px !important;
  }
}

@media (max-width: 390px) {
  body:has(.ay-map-filter-page)
  .ay-map-filter-header {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-main {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  body:has(.ay-map-filter-page)
  .ay-map-filter-mobile-footer-row,
  body:has(.ay-map-filter-page)
  .ay-map-filter-mobile-footer-row > span,
  body:has(.ay-map-filter-page)
  .ay-map-filter-mobile-footer-row > a,
  body:has(.ay-map-filter-page)
  .ay-map-filter-mobile-footer-link,
  body:has(.ay-map-filter-page)
  .ay-map-filter-mobile-footer-sep {
    font-size: 11.5px !important;
    line-height: 1.26 !important;
  }
}
