/* =========================================================
   ARCHIVAS & DOCUMENTAS — CSS BASE LIMPIO V52
   ---------------------------------------------------------
   Incluye:
   - Variables globales existentes.
   - Normalización compartida de Inicio y Mapeo.
   - Página de Inicio consolidada, sin reglas repetidas.
   - Corrección de márgenes laterales simétricos en PC.
   - Logotipo Q60 mediante máscara CSS.
   - Política utiliza el header compartido de CONOCE MÁS.
   - Sin estructura ni medidas exclusivas para su encabezado.
   - Variables responsivas usadas por las demás páginas.
   ---------------------------------------------------------
   Sustituye el contenido completo del CSS base actual.
   ========================================================= */


/* =========================================================
   1. VARIABLES GLOBALES
   ========================================================= */

:root{
  --ay-new-dark: #050507;
  --ay-new-footer: #9f70be;

  --ay-dark: #2a0629;
  --ay-pink: #A51D75;
  --ay-bg: #f4dce7;
  --ay-lavender-top: #b996ef;
  --ay-lavender-soft: #d8b8ee;
  --ay-line: #A51D75;
  --ay-purple-soft: #caa2e9;

  --ay-page-pad-x: clamp(54px, 8vw, 150px);
  --ay-content-gap: clamp(34px, 5vw, 76px);
  --ay-hero-gap: clamp(44px, 6vw, 96px);

  --ay-desc-dark: #2a0629;
  --ay-desc-pink: #A51D75;
  --ay-desc-bg: #f4dce7;
  --ay-desc-lavender-top: #b996ef;
  --ay-desc-lavender-mid: #e3c4ee;
  --ay-desc-line: #A51D75;
  --ay-desc-content: 990px;
  --ay-desc-left: 570px;
  --ay-desc-right: 320px;
  --ay-desc-gap: 55px;

  --ay-met-dark: #2a0629;
  --ay-met-pink: #A51D75;
  --ay-met-bg: #f4dce7;
  --ay-met-lavender-top: #b996ef;
  --ay-met-lavender-mid: #e3c4ee;
  --ay-met-line: #A51D75;
  --ay-met-content: 990px;
  --ay-met-left: 540px;
  --ay-met-right: 330px;
  --ay-met-gap: 62px;

  --ay-hist-dark: #2a0629;
  --ay-hist-pink: #A51D75;
  --ay-hist-bg: #f4dce7;
  --ay-hist-lavender-top: #b996ef;
  --ay-hist-lavender-mid: #e3c4ee;
  --ay-hist-line: #A51D75;
  --ay-hist-content: 990px;
  --ay-hist-left: 570px;
  --ay-hist-right: 260px;
  --ay-hist-gap: 70px;

  --ay-som-dark: #2a0629;
  --ay-som-pink: #A51D75;
  --ay-som-bg: #f4dce7;
  --ay-som-lavender-top: #b996ef;
  --ay-som-lavender-mid: #e3c4ee;
  --ay-som-line: #A51D75;
  --ay-som-content: 990px;
  --ay-som-left-label: 115px;
  --ay-som-main: 650px;
  --ay-som-social: 90px;
  --ay-som-gap: 35px;

  --ay-par-dark: #2a0629;
  --ay-par-pink: #A51D75;
  --ay-par-bg: #f4dce7;
  --ay-par-lavender-top: #b996ef;
  --ay-par-lavender-mid: #e3c4ee;
  --ay-par-line: #A51D75;
  --ay-par-content: 990px;
  --ay-par-label: 92px;
  --ay-par-left: 560px;
  --ay-par-right: 315px;
  --ay-par-gap: 52px;

  --ay-font: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
  --ay-mono: var(--ay-font) !important;
  --ay-home-mono: var(--ay-font) !important;
  --ay-desc-mono: var(--ay-font) !important;
  --ay-met-mono: var(--ay-font) !important;
  --ay-hist-mono: var(--ay-font) !important;
  --ay-som-mono: var(--ay-font) !important;
  --ay-par-mono: var(--ay-font) !important;

  --ay-final-dark: #2a0629;
  --ay-final-pink: #A51D75;
  --ay-final-bg: #f4dce7;
  --ay-final-lavender: #b996ef;
  --ay-final-lavender-soft: #d8b8ee;
  --ay-final-purple-soft: #caa2e9;

  --ay-shell: min(1320px, calc(100vw - 70px)) !important;
  --ay-content-shell: min(1160px, calc(100vw - 96px)) !important;
  --ay-header-shell: min(1180px, calc(100vw - 96px)) !important;
  --ay-search-total: 500px !important;
  --ay-search-label: 88px !important;
  --ay-search-input: 270px !important;
  --ay-search-button: 142px !important;
  --ay-nav-side-space: clamp(54px, 5vw, 82px) !important;

  --ay-map-desktop-width-soft: min(1320px, calc(100vw - 180px));
  --ay-map-desktop-width: min(1380px, calc(100vw - 180px)) !important;
  --ay-map-doc-card-w: 300px !important;
  --ay-map-doc-card-h: 376px !important;
  --ay-map-doc-gap: 36px !important;

  --ay-new-bg: #571447 !important;
  --ay-new-active: #A51D75 !important;
  --ay-new-footer-color: #571447 !important;
  --ay-new-wine: #571447 !important;
  --ay-new-wine-deep: #571447 !important;
  --ay-new-lavender: #BD9BF9 !important;
  --ay-new-lavender-soft: #BD9BF9 !important;
  --ay-new-text: #BD9BF9 !important;
  --ay-new-line: rgba(189, 155, 249, 0.88) !important;
  --ay-new-pink: #A51D75 !important;
  --ay-new-font: var(--ay-font) !important;

  --ay-new-logo-filter:
    brightness(0) saturate(100%) invert(73%) sepia(41%)
    saturate(870%) hue-rotate(205deg) brightness(101%)
    contrast(96%) !important;

  --ay-new-logo-filter-pink:
    brightness(0) saturate(100%) invert(21%) sepia(66%)
    saturate(2276%) hue-rotate(294deg) brightness(86%)
    contrast(93%) !important;

  --ay-map-bg-v21: #571447;
  --ay-map-text-v21: #BD9BF9;
  --ay-map-active-v21: #A51D75;
  --ay-map-footer-v21: #571447;


  --ay-menu-dark: #22061D;
  --ay-menu-lavender: #9F9DFF;
  --ay-menu-wine: #571447;
  --ay-menu-magenta: #721451;
  --ay-menu-pale: #F4DCE7;

  --ay-cm-lavender-2: #d8c4f3;
  --ay-cm-line: #A51D75;
  --ay-cm-shell-tabs: min(1100px, calc(100vw - 140px));
  --ay-cm-dark: #22061d;
  --ay-cm-pink: #A51D75;
  --ay-cm-bg: #f4dce7;
  --ay-cm-top: #9f9dff;
  --ay-cm-mid: #d9c2ef;
  --ay-cm-lavender: #d5b6ff;
  --ay-cm-font: var(--ay-font) !important;

  --ay-cm-filter-dark:
    brightness(0) saturate(100%) invert(8%) sepia(40%)
    saturate(1500%) hue-rotate(282deg) brightness(82%)
    contrast(105%);

  --ay-cm-filter-pink:
    brightness(0) saturate(100%) invert(31%) sepia(77%)
    saturate(1538%) hue-rotate(283deg) brightness(88%)
    contrast(91%);

  --ay-cm-shell: min(1120px, calc(100vw - 140px)) !important;
  --ay-cm-tabs: min(1100px, calc(100vw - 140px)) !important;
  --ay-cm-nav-wide-v6: min(1160px, calc(100vw - 120px));
  --ay-cm-nav-cap-v6: clamp(92px, 8.2vw, 138px);
  --ay-cm-nav-h-v6: 24px;
  --ay-cm-nav-dark-v6:
    var(--ay-cm-dark-v5, var(--ay-cm-dark, var(--ay-dark, #2a0629)));
  --ay-cm-nav-pink-v6:
    var(--ay-cm-pink-v5, var(--ay-cm-pink, var(--ay-pink, #A51D75)));
  --ay-cm-nav-light-v6:
    var(--ay-cm-lavender-v5, var(--ay-cm-lavender, #d9c3f4));
  --ay-cm-nav-bg-v6:
    var(--ay-cm-bg-v5, var(--ay-bg, #f4dce7));

  --ay-hover-access: #A51D75 !important;
  --ay-hover-access-final: #A51D75 !important;
  --ay-nav-hover-pink-v12: #A51D75 !important;

  --ay-hover-access-filter:
    brightness(0) saturate(100%) invert(20%) sepia(79%)
    saturate(2463%) hue-rotate(302deg) brightness(87%)
    contrast(91%) !important;

  --ay-hover-access-filter-final:
    brightness(0) saturate(100%) invert(19%) sepia(71%)
    saturate(2435%) hue-rotate(301deg) brightness(91%)
    contrast(92%) !important;

  --ay-nav-hover-filter-v12:
    brightness(0) saturate(100%) invert(19%) sepia(71%)
    saturate(2435%) hue-rotate(301deg) brightness(91%)
    contrast(92%) !important;

  --ay-desc-v19-dark: #22061d;
  --ay-desc-v19-pink: #A51D75;
  --ay-desc-v19-bg: #f4dce7;
  --ay-desc-v19-lavender: #9f9dff;
  --ay-desc-v19-lavender-soft: #d9c2ef;
  --ay-desc-v19-shell: min(1100px, calc(100vw - 140px));
  --ay-desc-v19-gap: clamp(34px, 5vw, 76px);
  --ay-desc-v19-font:
    var(--ay-new-font, "Bitstream Vera Sans", Arial, Helvetica, sans-serif);

  --ay-desc-v20-pad-x:
    var(--ay-page-pad-x, clamp(54px, 8vw, 150px));
  --ay-desc-v20-gap:
    var(--ay-content-gap, clamp(34px, 5vw, 76px));
  --ay-desc-v20-dark:
    var(--ay-desc-v19-dark, #22061d);
  --ay-desc-v20-pink:
    var(--ay-desc-v19-pink, #A51D75);
  --ay-desc-v20-font:
    var(
      --ay-desc-v19-font,
      var(--ay-new-font, "Bitstream Vera Sans", Arial, Helvetica, sans-serif)
    );

  --ay-desc-v21-pad-x:
    var(--ay-page-pad-x, clamp(54px, 8vw, 150px));
  --ay-desc-v21-gap:
    var(--ay-content-gap, clamp(34px, 5vw, 76px));
  --ay-desc-v21-side-col: clamp(58px, 5vw, 96px);
  --ay-desc-v21-dark: var(--ay-desc-dark, #2a0629);
  --ay-desc-v21-pink: var(--ay-desc-pink, #A51D75);
  --ay-desc-v21-font:
    var(
      --ay-mono,
      var(--ay-new-font, "Bitstream Vera Sans", Arial, Helvetica, sans-serif)
    );
  --ay-desc-v21-logo-hover-filter:
    var(
      --ay-hover-access-filter,
      brightness(0) saturate(100%) invert(20%) sepia(79%)
      saturate(2463%) hue-rotate(302deg) brightness(87%)
      contrast(91%)
    );

  /* Inicio: ancho del grupo medido en la referencia de Figma. */
  --ay-home-desktop-shell: 1221px;
  --ay-home-desktop-side-space: 150px;
}


/* =========================================================
   2. TIPOGRAFÍA GLOBAL
   ========================================================= */

html,
body,
body *,
#content,
#content *,
input,
button,
select,
textarea{
  font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
}

code,
pre,
kbd,
samp{
  font-family:
    "Bitstream Vera Sans Mono",
    "DejaVu Sans Mono",
    "Courier New",
    Courier,
    monospace !important;
}


/* =========================================================
   3. NORMALIZACIÓN COMPARTIDA — INICIO Y MAPEO
   ========================================================= */

html:has(.ay-new-home-page),
body:has(.ay-new-home-page),
html:has(.ay-map-new-page),
body:has(.ay-map-new-page){
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ay-new-text) !important;
  background: var(--ay-new-wine) !important;
  font-family: var(--ay-new-font) !important;
  overflow-x: hidden !important;
}

body:has(.ay-new-home-page),
body:has(.ay-map-new-page){
  position: static !important;
  overflow-y: visible !important;
}

body:has(.ay-map-new-page) #content{
  background-color: #571447 !important;
}

body:has(.ay-new-home-page) *,
body:has(.ay-map-new-page) *{
  box-sizing: border-box !important;
  font-family: var(--ay-new-font) !important;
}

/* Marcadores internos de las páginas. */
body:has(.ay-new-home-page) .ay-new-home-page,
body:has(.ay-map-new-page) .ay-map-new-page{
  display: none !important;
}

/* Elementos heredados de Omeka que no deben aparecer. */
body:has(.ay-new-home-page) #content > h1:first-child,
body:has(.ay-map-new-page) #content > h1:first-child,
body:has(.ay-new-home-page) header,
body:has(.ay-new-home-page) .site-header,
body:has(.ay-new-home-page) .site-title,
body:has(.ay-new-home-page) .site-title-wrapper,
body:has(.ay-new-home-page) .site-search,
body:has(.ay-new-home-page) .search-form,
body:has(.ay-new-home-page) .search,
body:has(.ay-new-home-page) .sub-menu,
body:has(.ay-new-home-page) .child-navigation,
body:has(.ay-new-home-page) .page-navigation,
body:has(.ay-new-home-page) .page-nav,
body:has(.ay-new-home-page) nav.breadcrumbs,
body:has(.ay-new-home-page) footer,
body:has(.ay-new-home-page) .site-footer,
body:has(.ay-new-home-page) #footer,
body:has(.ay-new-home-page) .footer,
body:has(.ay-new-home-page) .site-info,
body:has(.ay-new-home-page) .powered-by,
body:has(.ay-map-new-page) header,
body:has(.ay-map-new-page) .site-header,
body:has(.ay-map-new-page) .site-title,
body:has(.ay-map-new-page) .site-title-wrapper,
body:has(.ay-map-new-page) .site-search,
body:has(.ay-map-new-page) .search-form,
body:has(.ay-map-new-page) .search,
body:has(.ay-map-new-page) .sub-menu,
body:has(.ay-map-new-page) .child-navigation,
body:has(.ay-map-new-page) .page-navigation,
body:has(.ay-map-new-page) .page-nav,
body:has(.ay-map-new-page) nav.breadcrumbs,
body:has(.ay-map-new-page) footer,
body:has(.ay-map-new-page) .site-footer,
body:has(.ay-map-new-page) #footer,
body:has(.ay-map-new-page) .footer,
body:has(.ay-map-new-page) .site-info,
body:has(.ay-map-new-page) .powered-by{
  display: none !important;
}

/* Contenedores de Omeka a ancho completo. */
body:has(.ay-new-home-page) #wrap,
body:has(.ay-new-home-page) #main,
body:has(.ay-new-home-page) main,
body:has(.ay-new-home-page) .site,
body:has(.ay-new-home-page) .site-main,
body:has(.ay-new-home-page) .site-content,
body:has(.ay-new-home-page) .wrapper,
body:has(.ay-new-home-page) .container,
body:has(.ay-new-home-page) .region,
body:has(.ay-new-home-page) #content,
body:has(.ay-new-home-page) #content .blocks,
body:has(.ay-new-home-page) #content .blocks-inner,
body:has(.ay-new-home-page) #content .block,
body:has(.ay-new-home-page) .blocks,
body:has(.ay-new-home-page) .blocks-inner,
body:has(.ay-new-home-page) .block,
body:has(.ay-new-home-page) .block-html,
body:has(.ay-map-new-page) #wrap,
body:has(.ay-map-new-page) #main,
body:has(.ay-map-new-page) main,
body:has(.ay-map-new-page) .site,
body:has(.ay-map-new-page) .site-main,
body:has(.ay-map-new-page) .site-content,
body:has(.ay-map-new-page) .wrapper,
body:has(.ay-map-new-page) .container,
body:has(.ay-map-new-page) .region,
body:has(.ay-map-new-page) #content,
body:has(.ay-map-new-page) #content .blocks,
body:has(.ay-map-new-page) #content .blocks-inner,
body:has(.ay-map-new-page) #content .block,
body:has(.ay-map-new-page) .blocks,
body:has(.ay-map-new-page) .blocks-inner,
body:has(.ay-map-new-page) .block,
body:has(.ay-map-new-page) .block-html{
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow-y: visible !important;
}

/* Barra de administración. */
body:has(.ay-new-home-page) #user-bar,
body:has(.ay-new-home-page) .user-bar,
body:has(.ay-new-home-page) .admin-bar,
body:has(.ay-new-home-page) .site-admin-bar,
body:has(.ay-map-new-page) #user-bar,
body:has(.ay-map-new-page) .user-bar,
body:has(.ay-map-new-page) .admin-bar,
body:has(.ay-map-new-page) .site-admin-bar{
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Paginación y enlaces automáticos. */
body:has(.ay-new-home-page) #content > a[href*="/page/"],
body:has(.ay-map-new-page) #content > a[href*="/page/"],
body:has(.ay-new-home-page) #content > .blocks + a[href*="/page/"],
body:has(.ay-map-new-page) #content > .blocks + a[href*="/page/"],
body:has(.ay-new-home-page) #content > .blocks ~ a[href*="/page/"],
body:has(.ay-map-new-page) #content > .blocks ~ a[href*="/page/"],
body:has(.ay-new-home-page) #content > a[rel="prev"],
body:has(.ay-new-home-page) #content > a[rel="next"],
body:has(.ay-map-new-page) #content > a[rel="prev"],
body:has(.ay-map-new-page) #content > a[rel="next"],
body:has(.ay-new-home-page) #content > a.previous,
body:has(.ay-new-home-page) #content > a.next,
body:has(.ay-map-new-page) #content > a.previous,
body:has(.ay-map-new-page) #content > a.next,
body:has(.ay-new-home-page) .site-page-pagination,
body:has(.ay-map-new-page) .site-page-pagination,
body:has(.ay-new-home-page) .page-pagination,
body:has(.ay-map-new-page) .page-pagination,
body:has(.ay-new-home-page) .previous-next,
body:has(.ay-map-new-page) .previous-next,
body:has(.ay-new-home-page) .pagination,
body:has(.ay-map-new-page) .pagination,
body:has(.ay-new-home-page) .previous,
body:has(.ay-map-new-page) .previous,
body:has(.ay-new-home-page) .next,
body:has(.ay-map-new-page) .next,
body:has(.ay-new-home-page) .navigation,
body:has(.ay-map-new-page) .navigation,
body:has(.ay-new-home-page) .nav-links,
body:has(.ay-map-new-page) .nav-links,
body:has(.ay-new-home-page) nav[aria-label*="pagination" i],
body:has(.ay-map-new-page) nav[aria-label*="pagination" i],
body:has(.ay-new-home-page) nav[aria-label*="paginación" i],
body:has(.ay-map-new-page) nav[aria-label*="paginación" i],
body:has(.ay-new-home-page) #content > nav,
body:has(.ay-map-new-page) #content > nav{
  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;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

@supports (overflow: clip){
  html:has(.ay-new-home-page),
body:has(.ay-new-home-page),
html:has(.ay-map-new-page),
body:has(.ay-map-new-page){
    overflow-x: clip !important;
  }
}


/* =========================================================
   4. PÁGINA DE INICIO — V49
   ========================================================= */

body:has(.ay-new-home-page) .ay-new-home-hero{
  position: relative !important;
  isolation: isolate !important;
  width: 100vw !important;
  min-height: 100svh !important;
  margin-left: calc(50% - 50vw) !important;
  color: #9F9DFF !important;
  background-color: var(--ay-new-dark) !important;
  background-image: var(--ay-new-home-poster, none) !important;
  background-position: center center !important;
  background-size: cover !important;
  overflow: hidden !important;
}

body:has(.ay-new-home-page) .ay-new-home-video{
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  background: transparent !important;
  filter: none !important;
  opacity: 1 !important;
}

/* El video ya tiene el oscurecimiento final integrado. */
body:has(.ay-new-home-page) .ay-new-home-shade{
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: transparent !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Navegación anterior desactivada en todas las resoluciones. */
body:has(.ay-new-home-page) .ay-new-home-menu,
body:has(.ay-new-home-page) .ay-new-home-menu-panel,
body:has(.ay-new-home-page) .ay-new-home-nav{
  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;
  opacity: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

/* Contenedor principal. */
body:has(.ay-new-home-page) .ay-new-home-content{
  position: relative !important;
  z-index: 4 !important;
  min-height: 100svh !important;
  margin: 0 auto !important;
}

/* Logo y enlace. */
body:has(.ay-new-home-page) .ay-new-home-logo-area{
  margin: 0 !important;
}

body:has(.ay-new-home-page) .ay-new-home-logo-link{
  position: relative !important;
  display: inline-block !important;
  line-height: 0 !important;
  text-decoration: none !important;
  background: transparent !important;
}

body:has(.ay-new-home-page) .ay-new-home-logo{
  display: block !important;
  width: clamp(250px, 21vw, 330px) !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  object-fit: contain !important;

  /* Respaldo para navegadores sin CSS mask. */
  filter:
    brightness(0) saturate(100%) invert(70%) sepia(19%)
    saturate(1262%) hue-rotate(202deg) brightness(103%)
    contrast(102%) !important;

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

/* Máscara para obtener exactamente el color #9F9DFF. */
@supports (
  (-webkit-mask-image:
    url("/files/asset/a92ebf98071f798cf2431ba887405d798398038b.png"))
  or
  (mask-image:
    url("/files/asset/a92ebf98071f798cf2431ba887405d798398038b.png"))
){
  body:has(.ay-new-home-page) .ay-new-home-logo{
    opacity: 0 !important;
    filter: none !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-logo-link::after{
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background-color: #9F9DFF !important;

    -webkit-mask-image:
      url("/files/asset/a92ebf98071f798cf2431ba887405d798398038b.png") !important;
    mask-image:
      url("/files/asset/a92ebf98071f798cf2431ba887405d798398038b.png") !important;

    -webkit-mask-repeat: no-repeat !important;
    mask-repeat: no-repeat !important;
    -webkit-mask-position: center center !important;
    mask-position: center center !important;
    -webkit-mask-size: contain !important;
    mask-size: contain !important;

    pointer-events: none !important;
    transition: background-color 160ms ease !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-logo-link:hover::after,
body:has(.ay-new-home-page) .ay-new-home-logo-link:focus-visible::after{
    background-color: #A51D75 !important;
  }
}

/* Hover de respaldo sin máscara. */
body:has(.ay-new-home-page)
  .ay-new-home-logo-link:hover
  .ay-new-home-logo,
body:has(.ay-new-home-page)
  .ay-new-home-logo-link:focus-visible
  .ay-new-home-logo{
  filter:
    var(
      --ay-nav-hover-filter-v12,
      var(
        --ay-hover-access-filter-final,
        brightness(0) saturate(100%) invert(19%) sepia(71%)
        saturate(2435%) hue-rotate(301deg) brightness(91%)
        contrast(92%)
      )
    ) !important;
}

/* Texto principal. */
body:has(.ay-new-home-page) .ay-new-home-title{
  color: #9F9DFF !important;
  font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-synthesis: none !important;
}

body:has(.ay-new-home-page) .ay-new-home-title h1{
  margin: 0 !important;
  color: #9F9DFF !important;
  font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
  font-size: clamp(15px, 1.05vw, 21px) !important;
  line-height: 1.34 !important;
  letter-spacing: 0.20em !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-synthesis: none !important;
  text-align: left !important;
}

body:has(.ay-new-home-page) .ay-new-home-title-link{
  display: block !important;
  width: max-content !important;
  max-width: 100% !important;
  color: #9F9DFF !important;
  font-family: "Bitstream Vera Sans", Arial, Helvetica, sans-serif !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-synthesis: none !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: color 160ms ease !important;
}

body:has(.ay-new-home-page) .ay-new-home-title-link:hover,
body:has(.ay-new-home-page) .ay-new-home-title-link:focus-visible,
body:has(.ay-new-home-page) .ay-new-home-title-link:hover h1,
body:has(.ay-new-home-page) .ay-new-home-title-link:focus-visible h1{
  color: #A51D75 !important;
  text-decoration: none !important;
  outline: none !important;
}


/* ---------------------------------------------------------
   INICIO — ESCRITORIO GRANDE
   El logo comienza en el extremo izquierdo del contenedor
   y el texto termina en su extremo derecho. Como el contenedor
   está centrado, los dos márgenes exteriores son iguales.
   --------------------------------------------------------- */

@media (min-width: 1101px){
  body:has(.ay-new-home-page) .ay-new-home-content{
    left: auto !important;
    right: auto !important;
    width:
      min(
        var(--ay-home-desktop-shell),
        calc(100vw - var(--ay-home-desktop-side-space))
      ) !important;
    max-width: var(--ay-home-desktop-shell) !important;
    padding: 0 !important;
    transform: none !important;

    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    grid-template-rows: 1fr auto 1fr !important;
    column-gap: clamp(100px, 10vw, 210px) !important;
    align-items: center !important;
    justify-content: stretch !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-logo-area{
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: center !important;
    justify-self: start !important;
    transform: none !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-logo{
    width: clamp(250px, 21vw, 330px) !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-title{
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
    justify-self: end !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: translateY(-3px) !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-title-link,
body:has(.ay-new-home-page) .ay-new-home-title h1,
body:has(.ay-new-home-page) .ay-new-home-title-link h1{
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    text-align: left !important;
  }
}


/* ---------------------------------------------------------
   INICIO — ESCRITORIO INTERMEDIO
   --------------------------------------------------------- */

@media (min-width: 901px) and (max-width: 1100px){
  body:has(.ay-new-home-page) .ay-new-home-content{
    left: auto !important;
    right: auto !important;
    width: min(920px, calc(100vw - 88px)) !important;
    max-width: 920px !important;
    padding: 0 !important;
    transform: none !important;

    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    grid-template-rows: 1fr auto 1fr !important;
    column-gap: clamp(52px, 6vw, 72px) !important;
    align-items: center !important;
    justify-content: stretch !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-logo-area{
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: center !important;
    justify-self: start !important;
    transform: none !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-logo{
    width: clamp(210px, 25vw, 280px) !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-title{
    grid-column: 2 !important;
    grid-row: 2 !important;
    align-self: center !important;
    justify-self: end !important;
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: translateY(-3px) !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-title-link,
body:has(.ay-new-home-page) .ay-new-home-title h1,
body:has(.ay-new-home-page) .ay-new-home-title-link h1{
    width: max-content !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(15px, 1.65vw, 18px) !important;
    line-height: 1.30 !important;
    letter-spacing: 0.16em !important;
    text-align: left !important;
  }
}


/* ---------------------------------------------------------
   INICIO — MÓVIL
   Se conserva el diseño centrado que ya estaba funcionando.
   --------------------------------------------------------- */

@media (max-width: 900px){
  body:has(.ay-new-home-page) .ay-new-home-video{
    object-position: center center !important;
    filter: none !important;
    opacity: 1 !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-content{
    left: auto !important;
    right: auto !important;
    display: block !important;
    width: 100% !important;
    min-height: 100svh !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-logo-area{
    position: absolute !important;
    z-index: 5 !important;
    top: 88px !important;
    left: 50% !important;
    margin: 0 !important;
    text-align: center !important;
    transform: translateX(-50%) !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-logo{
    width: 136px !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-title{
    position: absolute !important;
    z-index: 5 !important;
    top: 45.5% !important;
    left: 50% !important;
    width: min(334px, calc(100vw - 58px)) !important;
    max-width: calc(100vw - 58px) !important;
    margin: 0 !important;
    text-align: center !important;
    transform: translateX(-50%) !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-title-link,
body:has(.ay-new-home-page) .ay-new-home-title h1,
body:has(.ay-new-home-page) .ay-new-home-title-link h1{
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    color: #9F9DFF !important;
    font-size: clamp(14px, 4.15vw, 17px) !important;
    line-height: 1.20 !important;
    letter-spacing: 0.078em !important;
    font-style: normal !important;
    font-weight: 400 !important;
    text-align: center !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-title h1 br,
body:has(.ay-new-home-page) .ay-new-home-title-link h1 br{
    display: none !important;
  }

  :root{
    --ay-shell: calc(100vw - 28px) !important;
    --ay-content-shell: calc(100vw - 28px) !important;
    --ay-header-shell: calc(100vw - 28px) !important;
  }
}

@media (max-width: 480px){
  body:has(.ay-new-home-page) .ay-new-home-title{
    width: min(318px, calc(100vw - 56px)) !important;
    max-width: calc(100vw - 56px) !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-title-link,
body:has(.ay-new-home-page) .ay-new-home-title h1,
body:has(.ay-new-home-page) .ay-new-home-title-link h1{
    font-size: clamp(14px, 4.05vw, 16.5px) !important;
    line-height: 1.20 !important;
    letter-spacing: 0.072em !important;
  }
}

@media (max-width: 390px){
  body:has(.ay-new-home-page) .ay-new-home-logo{
    width: 126px !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-title{
    top: 46% !important;
    width: min(302px, calc(100vw - 50px)) !important;
    max-width: calc(100vw - 50px) !important;
  }

  body:has(.ay-new-home-page) .ay-new-home-title-link,
body:has(.ay-new-home-page) .ay-new-home-title h1,
body:has(.ay-new-home-page) .ay-new-home-title-link h1{
    font-size: 15px !important;
    line-height: 1.20 !important;
    letter-spacing: 0.065em !important;
  }
}


/* =========================================================
   5. PÁGINA DE POLÍTICA — BASE
   ========================================================= */




















































/* =========================================================
   6. PÁGINA DE POLÍTICA — ESCRITORIO
   ========================================================= */

@media (min-width: 761px){
  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  :root{
    --ay-map-header-w-v15: min(1340px, calc(100vw - 170px));
    --ay-map-body-w-v15: min(1100px, calc(100vw - 140px));
    --ay-map-header-w-v22: min(1340px, calc(100vw - 170px));
    --ay-map-body-w-v22: min(1100px, calc(100vw - 140px));
    --ay-map-art-header-w-v26: min(1340px, calc(100vw - 170px));
    --ay-map-art-body-w-v26: min(1100px, calc(100vw - 140px));

    --ay-cm-shell-v5:
      min(1340px, calc(100vw - 170px)) !important;
    --ay-cm-tabs-v5:
      min(1100px, calc(100vw - 140px)) !important;
    --ay-cm-dark-v5: #2a0629 !important;
    --ay-cm-pink-v5: #A51D75 !important;
    --ay-cm-lavender-v5: #b996ef !important;
    --ay-cm-bg-v5: #f4dce7 !important;
  }
}


/* =========================================================
   7. PÁGINA DE POLÍTICA — MÓVIL
   ========================================================= */

@media (max-width: 760px){
  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  

  :root{
    --ay-menu-dark-final: #22061D !important;
    --ay-menu-lavender-final: #9F9DFF !important;
    --ay-menu-wine-final: #571447 !important;
    --ay-menu-magenta-final: #721451 !important;
    --ay-menu-pale-final: #F4DCE7 !important;
    --ay-menu-upper-h: clamp(405px, 52dvh, 441px) !important;

    --ay-menu-v4-dark: #22061D !important;
    --ay-menu-v4-lavender: #9F9DFF !important;
    --ay-menu-v4-wine: #571447 !important;
    --ay-menu-v4-magenta: #721451 !important;
    --ay-menu-v4-pale: #F4DCE7 !important;
    --ay-menu-v4-upper: 406px !important;

    --ay-menu-v5-dark: #22061D !important;
    --ay-menu-v5-lavender: #9F9DFF !important;
    --ay-menu-v5-wine: #571447 !important;
    --ay-menu-v5-magenta: #721451 !important;
    --ay-menu-v5-pale: #F4DCE7 !important;
    --ay-menu-v5-upper: 441px !important;

    --ay-cm-shell: calc(100vw - 40px) !important;
    --ay-cm-tabs: calc(100vw - 40px) !important;
    --ay-cm-mobile-dark: #2a0629;
    --ay-cm-mobile-pink: #A51D75;
    --ay-cm-mobile-bg: #f4dce7;
    --ay-cm-mobile-lavender: #9f9dff;
    --ay-cm-mobile-lavender-soft: #d7c1f2;
    --ay-cm-mobile-contact: #c8a2ff;
    --ay-cm-mobile-font: var(--ay-font) !important;
  }
}


/* =========================================================
   8. VARIABLES RESPONSIVAS COMPARTIDAS
   ========================================================= */

@media (min-width: 1600px){
  :root{
    --ay-page-pad-x: clamp(120px, 9vw, 210px);
  }
}

@media (max-width: 1180px){
  :root{
    --ay-shell: calc(100vw - 52px) !important;
    --ay-content-shell: calc(100vw - 90px) !important;
    --ay-header-shell: calc(100vw - 90px) !important;
    --ay-search-total: min(500px, calc(100vw - 420px)) !important;
    --ay-search-label: 86px !important;
    --ay-search-input: minmax(180px, 1fr) !important;
    --ay-search-button: 126px !important;
    --ay-nav-side-space: clamp(42px, 4.5vw, 68px) !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px){
  :root{
    --ay-search-total: 480px !important;
    --ay-search-label: 86px !important;
    --ay-search-input: 260px !important;
    --ay-search-button: 134px !important;
    --ay-nav-side-space: clamp(48px, 5vw, 78px) !important;
    --ay-header-shell: calc(100vw - 90px) !important;
  }
}

@media (max-width: 1050px){
  :root{
    --ay-page-pad-x: clamp(38px, 6vw, 70px);
    --ay-content-gap: clamp(28px, 4vw, 42px);
    --ay-hero-gap: clamp(28px, 4vw, 50px);

    --ay-desc-content: 900px;
    --ay-desc-left: 510px;
    --ay-desc-right: 300px;
    --ay-desc-gap: 38px;

    --ay-met-content: 900px;
    --ay-met-left: 500px;
    --ay-met-right: 300px;
    --ay-met-gap: 38px;

    --ay-hist-content: 900px;
    --ay-hist-left: 510px;
    --ay-hist-right: 240px;
    --ay-hist-gap: 45px;

    --ay-som-content: 900px;
    --ay-som-left-label: 90px;
    --ay-som-main: 610px;
    --ay-som-social: 70px;
    --ay-som-gap: 25px;

    --ay-par-content: 900px;
    --ay-par-label: 70px;
    --ay-par-left: 500px;
    --ay-par-right: 290px;
    --ay-par-gap: 34px;
  }
}

@media (max-width: 1040px){
  :root{
    --ay-cm-shell: min(920px, calc(100vw - 80px)) !important;
    --ay-cm-tabs: min(920px, calc(100vw - 80px)) !important;
    --ay-cm-nav-wide-v6: min(960px, calc(100vw - 80px));
    --ay-cm-nav-cap-v6: clamp(46px, 7vw, 82px);
    --ay-desc-v19-shell: min(920px, calc(100vw - 80px));
    --ay-desc-v19-gap: 42px;
  }
}

@media (max-width: 860px){
  :root{
    --ay-page-pad-x: clamp(17px, 4vw, 34px);
  }
}

@media (max-width: 560px){
  :root{
    --ay-shell: calc(100vw - 28px);
    --ay-content-shell: calc(100vw - 28px);
    --ay-header-shell: calc(100vw - 28px);
  }
}

@media (min-width: 761px) and (max-width: 1280px){
  :root{
    --ay-map-desktop-width: min(1120px, calc(100vw - 90px));
    --ay-map-desktop-width-soft: min(1080px, calc(100vw - 90px));
    --ay-map-doc-card-w: 270px;
    --ay-map-doc-card-h: 338px;
    --ay-map-doc-gap: 28px;
  }
}

@media (min-width: 761px) and (max-width: 1180px){
  :root{
    --ay-map-header-w-v22: min(1040px, calc(100vw - 80px));
    --ay-map-body-w-v22: min(920px, calc(100vw - 80px));
    --ay-map-art-header-w-v26: min(1040px, calc(100vw - 80px));
    --ay-map-art-body-w-v26: min(920px, calc(100vw - 80px));
  }

  

  

  

  

  

  

  
}

@media (max-width: 760px) and (max-height: 820px){
  :root{
    --ay-menu-upper-h: 405px !important;
    --ay-menu-v4-upper: 382px !important;
    --ay-menu-v5-upper: 405px !important;
  }
}

@media (max-width: 360px){
  :root{
    --ay-menu-upper-h: 418px !important;
    --ay-menu-v4-upper: 366px !important;
    --ay-menu-v5-upper: 418px !important;
  }
}
