/* =========================================================
   ARCHIVAS & DOCUMENTAS — 80 POLÍTICA V98
   SOLO CONTENIDO, SEPARADOR INTERNO Y LATERALES
   ---------------------------------------------------------
   - El header y el fondo general pertenecen a Header-Footer V52.
   - No contiene selectores ni medidas exclusivas para el header.
   - El degradado es background real y continuo entre ambos bloques.
   - No utiliza pseudo-elementos ni capas sobre el contenido.
   - La transición comienza al final de Términos y continúa en Privacidad.
   - El título de Privacidad conserva una separación visual equilibrada.
   - Las dos mitades del fondo se solapan 1px para eliminar la línea fina.
   - Títulos principales: estándar 38px–46px.
   - Texto legal: 16px.
   - Laterales e iconos: estándar compartido.
   - No controla header, fondo general, DONA AQUÍ ni footer.
   ========================================================= */


/* =========================================================
   0. VARIABLES
   ========================================================= */

:root{
  --ay-policy-roman:
    "Bitstream Vera Sans",
    Arial,
    Helvetica,
    sans-serif;

  --ay-policy-dark: #22061d;
  --ay-policy-pink: #A51D75;
  --ay-policy-bg: #f4dce7;

  --ay-policy-article-width:
    min(920px, calc(100vw - 150px));

  --ay-policy-title-size:
    clamp(38px, 3.6vw, 46px);

  --ay-policy-section-gradient-height:
    clamp(220px, 18vw, 290px);

  --ay-policy-section-gradient-half:
    calc(var(--ay-policy-section-gradient-height) / 2);
}

/* =========================================================
   1. LIMPIEZA DE OMEKA
   ========================================================= */

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  :is(.ay-pol-page, .ay-policy-page){
  display: none !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page)) #content *,
body:is(:has(.ay-pol-page), :has(.ay-policy-page)) #content *::before,
body:is(:has(.ay-pol-page), :has(.ay-policy-page)) #content *::after{
  box-sizing: border-box !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  #content > h1:first-child,
body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  :is(.pagination, .previous, .next){
  display: none !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  :is(
    main,
    .site,
    .site-main,
    .site-content,
    .wrapper,
    .container,
    .region,
    #wrap,
    #main,
    #content,
    #content .blocks,
    #content .blocks-inner,
    #content .block,
    #content .block-html,
    .blocks,
    .blocks-inner,
    .block,
    .block-html
  ){
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;

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

  box-shadow: none !important;
  overflow-y: visible !important;
}


/* =========================================================
   2. BLOQUES DE CONTENIDO
   ========================================================= */

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  section.ay-policy-content{
  position: relative !important;
  isolation: isolate !important;

  display: block !important;

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

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  color: var(--ay-policy-dark) !important;
  font-family: var(--ay-policy-roman) !important;

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

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-content-terms{
  margin-top: 110px !important;

  /* Espacio inferior real entre el último párrafo
     y el inicio visual de la siguiente sección. */
  padding:
    0
    0
    34px !important;

  /* Primera mitad del degradado, como fondo real.
     Empieza en rosa y termina en lavanda en el límite del bloque. */
  background-color: var(--ay-policy-bg) !important;
  background-image:
    linear-gradient(
      180deg,
      var(--ay-policy-bg) 0%,
      #eadbea 34%,
      #d9ccef 68%,
      #bdb3f6 100%
    ) !important;
  background-size:
    100%
    var(--ay-policy-section-gradient-half) !important;
  background-position:
    center
    bottom !important;
  background-repeat:
    no-repeat !important;
}

/* El último párrafo no añade un margen artificial entre bloques. */
body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-content-terms
  .ay-policy-article
  > :last-child{
  margin-bottom: 0 !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-content-privacy{
  position: relative !important;
  isolation: auto !important;

  /* Solape técnico de 1px para impedir que aparezca
     una línea del fondo general entre ambos backgrounds. */
  margin-top: -1px !important;

  /* Separación equilibrada: no queda pegado,
     pero tampoco vuelve el vacío excesivo de V90. */
  padding:
    46px
    0
    150px !important;

  /* Segunda mitad del degradado.
     Comienza exactamente en el mismo lavanda donde termina Términos,
     alcanza el violeta y vuelve gradualmente al rosa. */
  background-color: var(--ay-policy-bg) !important;
  background-image:
    linear-gradient(
      180deg,
      #bdb3f6 0%,
      #9f9dff 28%,
      #bdb3f6 58%,
      #ddd0ee 82%,
      var(--ay-policy-bg) 100%
    ) !important;
  background-size:
    100%
    var(--ay-policy-section-gradient-half) !important;
  background-position:
    center
    top !important;
  background-repeat:
    no-repeat !important;
}

/* El degradado se dibuja directamente en los backgrounds
   de .ay-policy-content-terms y .ay-policy-content-privacy. */

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article{
  position: relative !important;
  z-index: 2 !important;

  width: var(--ay-policy-article-width) !important;
  max-width: var(--ay-policy-article-width) !important;
  min-width: 0 !important;

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

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

  font-family: var(--ay-policy-roman) !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article
  + .ay-policy-article{
  margin-top: 0 !important;
}


/* =========================================================
   3. TIPOGRAFÍA ESTÁNDAR
   ========================================================= */

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article h1{
  max-width: 860px !important;

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

  color: var(--ay-policy-dark) !important;
  font-family: var(--ay-policy-roman) !important;
  font-size: var(--ay-policy-title-size) !important;
  line-height: 1.08 !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-reference{
  margin: 0 0 34px !important;

  color: var(--ay-policy-dark) !important;
  font-size: 16px !important;
  line-height: 1.42 !important;
  font-weight: 400 !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article h2{
  margin: 38px 0 17px !important;

  color: var(--ay-policy-dark) !important;
  font-family: var(--ay-policy-roman) !important;
  font-size: 17px !important;
  line-height: 1.34 !important;
  font-weight: 700 !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article h3{
  margin: 28px 0 13px !important;

  color: var(--ay-policy-dark) !important;
  font-family: var(--ay-policy-roman) !important;
  font-size: 16px !important;
  line-height: 1.34 !important;
  font-weight: 700 !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article p,
body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article li{
  color: var(--ay-policy-dark) !important;
  font-family: var(--ay-policy-roman) !important;
  font-size: 16px !important;
  line-height: 1.55 !important;
  font-weight: 400 !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article p{
  margin: 0 0 20px !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article ul{
  margin: 0 0 26px !important;
  padding-left: 24px !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article li{
  margin: 0 0 10px !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article a{
  color: var(--ay-policy-pink) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-thickness: 1px !important;
}

body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article a:hover,
body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  .ay-policy-article a:focus-visible{
  color: var(--ay-policy-dark) !important;
}


/* =========================================================
   4. LATERALES FIJOS — ESTÁNDAR COMPARTIDO
   ========================================================= */

@media (min-width: 761px){

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-pol-fixed-side-label{
    position: fixed !important;

    left: clamp(24px, 3.7vw, 58px) !important;
    right: auto !important;
    top: auto !important;
    bottom: clamp(54px, 8.2vh, 92px) !important;

    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;

    width: 52px !important;
    min-width: 52px !important;
    max-width: 52px !important;

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

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

    z-index: 800 !important;
    pointer-events: none !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-pol-fixed-side-label span{
    display: block !important;

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

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

    color: inherit !important;
    background: transparent !important;

    font-family: var(--ay-policy-roman) !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    text-align: left !important;

    writing-mode: vertical-rl !important;
    transform: rotate(180deg) !important;
    transform-origin: center center !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-pol-fixed-socials{
    position: fixed !important;

    right: clamp(24px, 3.7vw, 58px) !important;
    left: auto !important;
    top: auto !important;
    bottom: clamp(54px, 8.2vh, 92px) !important;

    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;

    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;

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

    background: transparent !important;

    z-index: 805 !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-pol-fixed-socials a{
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 34px !important;
    height: 34px !important;

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

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

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-pol-fixed-socials img{
    display: block !important;

    width: 34px !important;
    height: 34px !important;

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

    object-fit: contain !important;

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

    filter:
      brightness(0)
      saturate(100%)
      invert(13%)
      sepia(24%)
      saturate(3576%)
      hue-rotate(278deg)
      brightness(85%)
      contrast(98%) !important;
  }
}


/* Oculta laterales internos antiguos. */
body:is(:has(.ay-pol-page), :has(.ay-policy-page))
  :is(
    .ay-pol-side-label,
    .ay-policy-side-label,
    .ay-pol-socials,
    .ay-policy-socials
  ){
  display: none !important;
}


/* =========================================================
   5. MÓVIL — POLÍTICA V98
   ---------------------------------------------------------
   - Solo modifica resoluciones de hasta 760px.
   - El header, el buscador, el menú desplegable, la navegación
     interna, CONTACTO y footer se toman del CSS compartido.
   - Mantiene intactos escritorio y tableta.
   - Ordena el texto legal con el mismo ritmo visual utilizado
     en las demás páginas de CONOCE MÁS.
   ========================================================= */

@media (max-width: 760px){

  :root{
    --ay-policy-article-width: 100%;
    --ay-policy-title-size: 25px;
    --ay-policy-section-gradient-height: 250px;
    --ay-policy-section-gradient-half:
      calc(var(--ay-policy-section-gradient-height) / 2);
  }

  html:is(:has(.ay-pol-page), :has(.ay-policy-page)),
  body:is(:has(.ay-pol-page), :has(.ay-policy-page)){
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    section.ay-policy-content{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: visible !important;
    color: var(--ay-policy-dark) !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-content-terms{
    margin-top: 0 !important;
    padding: 0 0 54px !important;
    background-color: var(--ay-policy-bg) !important;
    background-image:
      linear-gradient(
        180deg,
        var(--ay-policy-bg) 0%,
        var(--ay-policy-bg) 58%,
        #eadbea 74%,
        #d9ccef 88%,
        #bdb3f6 100%
      ) !important;
    background-size:
      100%
      var(--ay-policy-section-gradient-height) !important;
    background-position:
      center
      bottom !important;
    background-repeat:
      no-repeat !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-content-privacy{
    margin-top: -1px !important;
    padding: 44px 0 108px !important;
    background-color: var(--ay-policy-bg) !important;
    background-image:
      linear-gradient(
        180deg,
        #bdb3f6 0%,
        #9f9dff 22%,
        #bdb3f6 48%,
        #ddd0ee 72%,
        var(--ay-policy-bg) 100%
      ) !important;
    background-size:
      100%
      var(--ay-policy-section-gradient-height) !important;
    background-position:
      center
      top !important;
    background-repeat:
      no-repeat !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 18px !important;
    color: var(--ay-policy-dark) !important;
    background: transparent !important;
    font-family: var(--ay-policy-roman) !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article h1{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 !important;
    color: var(--ay-policy-dark) !important;
    font-family: var(--ay-policy-roman) !important;
    font-size: 25px !important;
    line-height: 1.02 !important;
    font-weight: 700 !important;
    letter-spacing: -0.025em !important;
    text-align: left !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-reference{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 22px !important;
    color: var(--ay-policy-dark) !important;
    font-size: 12.2px !important;
    line-height: 1.42 !important;
    font-weight: 400 !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article h2{
    margin: 24px 0 10px !important;
    padding: 0 !important;
    color: var(--ay-policy-dark) !important;
    font-family: var(--ay-policy-roman) !important;
    font-size: 12.2px !important;
    line-height: 1.34 !important;
    font-weight: 700 !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article h3{
    display: list-item !important;
    list-style-position: outside !important;
    list-style-type: disc !important;
    margin: 22px 0 9px 18px !important;
    padding: 0 !important;
    color: var(--ay-policy-dark) !important;
    font-family: var(--ay-policy-roman) !important;
    font-size: 12px !important;
    line-height: 1.36 !important;
    font-weight: 400 !important;
    font-style: italic !important;
    letter-spacing: -0.02em !important;
    text-align: left !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article p,
  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article li{
    color: var(--ay-policy-dark) !important;
    font-family: var(--ay-policy-roman) !important;
    font-size: 12px !important;
    line-height: 1.48 !important;
    font-weight: 400 !important;
    letter-spacing: -0.025em !important;
    text-align: left !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    hyphens: none !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article p{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article ul{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    padding: 0 0 0 19px !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article li{
    margin: 0 0 7px !important;
    padding-left: 1px !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article a,
  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article a:visited{
    color: var(--ay-policy-pink) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
    text-decoration-thickness: 1px !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-content-terms
    .ay-policy-article
    > :first-child{
    margin-top: 0 !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-content-terms
    .ay-policy-article
    > :last-child{
    margin-bottom: 0 !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-pol-fixed-side-label,
  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-pol-fixed-socials{
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
}

@media (max-width: 360px){

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article{
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article h1{
    font-size: 23px !important;
  }

  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-reference,
  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article h2,
  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article h3,
  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article p,
  body:is(:has(.ay-pol-page), :has(.ay-policy-page))
    .ay-policy-article li{
    font-size: 11.7px !important;
  }
}
