/* =========================================================
   ARCHIVAS & DOCUMENTAS — 70 PARTICIPA / CONTRIBUYE V40
   ARCHIVO COMPLETO
   ---------------------------------------------------------
   - Conserva el ajuste compacto de APOYOS.
   - APOYO A LA GESTIÓN queda centrado verticalmente respecto
     al cuerpo textual de CONTRIBUYE.
   - Posición horizontal normalizada con Metodología,
     Descripción y Somos.
   - Tipografía lateral estándar: 10px / 1.1.
   - Mantiene el correo con el estilo de Somos.
   - No modifica header, DONA AQUÍ ni footer compartidos.
   ========================================================= */

/* =========================================================
   BASE DE PÁGINA
   ========================================================= */

html:has(.ay-par-page),
body:has(.ay-par-page) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: clip !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-family: var(--ay-cm-font, "Bitstream Vera Sans Mono", "DejaVu Sans Mono", "Courier New", monospace) !important;
  background: var(--ay-cm-bg, #f4dce7) !important;
}

body:has(.ay-par-page) *,
body:has(.ay-par-page) #content * {
  box-sizing: border-box !important;
  font-family: var(--ay-cm-font, "Bitstream Vera Sans Mono", "DejaVu Sans Mono", "Courier New", monospace) !important;
}

body:has(.ay-par-page) .ay-par-page,
body:has(.ay-par-page) #content > h1:first-child,
body:has(.ay-par-page) header,
body:has(.ay-par-page) .site-header,
body:has(.ay-par-page) .site-title,
body:has(.ay-par-page) .site-title-wrapper,
body:has(.ay-par-page) .site-search,
body:has(.ay-par-page) .search-form,
body:has(.ay-par-page) .search,
body:has(.ay-par-page) .sub-menu,
body:has(.ay-par-page) .child-navigation,
body:has(.ay-par-page) .page-navigation,
body:has(.ay-par-page) .page-nav,
body:has(.ay-par-page) nav.breadcrumbs,
body:has(.ay-par-page) .pagination,
body:has(.ay-par-page) .previous,
body:has(.ay-par-page) .next,
body:has(.ay-par-page) .site-footer,
body:has(.ay-par-page) footer.site-footer {
  display: none !important;
}

body:has(.ay-par-page) main,
body:has(.ay-par-page) .site,
body:has(.ay-par-page) .site-main,
body:has(.ay-par-page) .site-content,
body:has(.ay-par-page) .wrapper,
body:has(.ay-par-page) .container,
body:has(.ay-par-page) .region,
body:has(.ay-par-page) #wrap,
body:has(.ay-par-page) #main,
body:has(.ay-par-page) #content,
body:has(.ay-par-page) #content .blocks,
body:has(.ay-par-page) #content .blocks-inner,
body:has(.ay-par-page) #content .block,
body:has(.ay-par-page) .blocks,
body:has(.ay-par-page) .blocks-inner,
body:has(.ay-par-page) .block,
body:has(.ay-par-page) .block-html {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow-y: visible !important;
}

body:has(.ay-par-page) #content {
  min-height: 100vh !important;
  background: linear-gradient(
    180deg,
    var(--ay-cm-top, #9f9dff) 0px,
    var(--ay-cm-mid, #d8b8ee) 92px,
    var(--ay-cm-bg, #f4dce7) 255px,
    var(--ay-cm-bg, #f4dce7) calc(100% - 360px),
    var(--ay-cm-mid, #d8b8ee) 93%,
    var(--ay-cm-top, #9f9dff) 100%
  ) !important;
  color: var(--ay-cm-dark, #22061d) !important;
}

/* =========================================================
   LAYOUT GENERAL — MISMO ANCHO QUE CONOCE MÁS / DESCRIPCIÓN
   ========================================================= */

body:has(.ay-par-page) .ay-par-layout {
  width: var(--ay-cm-shell-tabs, min(1100px, calc(100vw - 140px))) !important;
  max-width: var(--ay-cm-shell-tabs, min(1100px, calc(100vw - 140px))) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.62fr) minmax(280px, 0.88fr) !important;
  column-gap: clamp(34px, 5vw, 76px) !important;
  align-items: start !important;
  position: relative !important;
  color: var(--ay-cm-dark, #22061d) !important;
  background: transparent !important;
}

body:has(.ay-par-page) .ay-par-apoyos-section {
  position: relative !important;
  padding-top: 88px !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}

body:has(.ay-par-page) .ay-par-contribuye-section {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 118px !important;
  overflow: visible !important;
}


/* =========================================================
   LATERALES FIJOS — MISMA POSICIÓN QUE MAPEO / CONOCE MÁS
   ========================================================= */

body:has(.ay-par-page) .ay-par-side-label-main,
body:has(.ay-par-page) .ay-par-socials {
  display: none !important;
}

@media (min-width: 761px) {
  html body:has(.ay-par-page) #content .ay-par-fixed-side-label,
  html body:has(.ay-par-page) .ay-par-fixed-side-label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !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;
    min-width: 52px !important;
    max-width: 52px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 800 !important;
    pointer-events: none !important;
    color: var(--ay-final-dark, var(--ay-cm-dark, #3d0733)) !important;
    background: transparent !important;
    transform: none !important;
    translate: none !important;
    overflow: visible !important;
  }

  html body:has(.ay-par-page) #content .ay-par-fixed-side-label span,
  html body:has(.ay-par-page) .ay-par-fixed-side-label span {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: inherit !important;
    font-family: var(--ay-cm-font, var(--ay-new-font, var(--ay-mono, "Bitstream Vera Sans Mono", "Courier New", monospace))) !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;
    white-space: normal !important;
    overflow: visible !important;
  }

  html body:has(.ay-par-page) #content .ay-par-fixed-socials,
  html body:has(.ay-par-page) .ay-par-fixed-socials {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    right: clamp(24px, 3.7vw, 58px) !important;
    left: auto !important;
    top: auto !important;
    bottom: clamp(54px, 8.2vh, 92px) !important;
    z-index: 805 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 10px !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    transform: none !important;
    translate: none !important;
  }

  html body:has(.ay-par-page) #content .ay-par-fixed-socials a,
  html body:has(.ay-par-page) .ay-par-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;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 0 !important;
  }

  html body:has(.ay-par-page) #content .ay-par-fixed-socials img,
  html body:has(.ay-par-page) .ay-par-fixed-socials img {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    max-width: 34px !important;
    max-height: 34px !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;
  }
}



/* =========================================================
   ETIQUETAS LATERALES
   ========================================================= */

body:has(.ay-par-page) .ay-par-side-label {
  position: absolute !important;
  left: -74px !important;
  width: 92px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* Mujeres / Arte y / Feminismos / en Ecuador */
body:has(.ay-par-page) .ay-par-side-label-main {
  top: 162px !important;
  display: none !important;
}

body:has(.ay-par-page) .ay-par-side-label-main span {
  position: static !important;
  display: block !important;
  width: 90px !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-size: 14px !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  text-align: left !important;
  text-transform: none !important;
  writing-mode: vertical-rl !important;
  transform: rotate(180deg) !important;
  transform-origin: center !important;
  letter-spacing: 0 !important;
}

/* Apoyo a la gestión */
body:has(.ay-par-page) .ay-par-side-label-apoyo {
  position: absolute !important;

  left: -119px !important;
  top: 50% !important;

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

  width: 105px !important;
  min-width: 105px !important;
  max-width: 105px !important;
  height: auto !important;

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

  transform: translateY(-50%) !important;
  translate: none !important;

  color: var(--ay-cm-pink, #A51D75) !important;
  background: transparent !important;

  pointer-events: none !important;
  z-index: 4 !important;
  overflow: visible !important;
}

body:has(.ay-par-page) .ay-par-side-label-apoyo span {
  position: static !important;

  display: block !important;

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

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

  color: var(--ay-cm-pink, #A51D75) !important;
  background: transparent !important;

  font-family:
    "Bitstream Vera Sans",
    Arial,
    Helvetica,
    sans-serif !important;
  font-size: 10px !important;
  line-height: 1.1 !important;
  font-weight: 700 !important;
  font-style: normal !important;
  letter-spacing: -0.02em !important;

  text-align: right !important;
  text-transform: uppercase !important;

  writing-mode: horizontal-tb !important;
  transform: none !important;

  white-space: normal !important;
  overflow: visible !important;
}

/* =========================================================
   APOYOS
   ========================================================= */

body:has(.ay-par-page) .ay-par-main {
  grid-column: 1 !important;
  min-width: 0 !important;
  color: var(--ay-cm-dark, #22061d) !important;
}

body:has(.ay-par-page) .ay-par-main h1,
body:has(.ay-par-page) .ay-par-contribuye-main h2 {
  margin: 0 0 42px !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-size: clamp(42px, 4.1vw, 56px) !important;
  line-height: 0.96 !important;
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  text-transform: uppercase !important;
}

body:has(.ay-par-page) .ay-par-main p,
body:has(.ay-par-page) .ay-par-contribuye-main p {
  max-width: 680px !important;
  margin: 0 0 30px !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-size: 17px !important;
  line-height: 1.36 !important;
  font-weight: 400 !important;
  letter-spacing: -0.045em !important;
}

body:has(.ay-par-page) .ay-par-main a,
body:has(.ay-par-page) .ay-par-contribuye-main a {
  color: var(--ay-cm-dark, #22061d) !important;
  text-decoration: none !important;
}

body:has(.ay-par-page) .ay-par-main a:hover,
body:has(.ay-par-page) .ay-par-contribuye-main a:hover {
  color: var(--ay-cm-pink, #A51D75) !important;
}

/* =========================================================
   SIDEBAR: LOGOS + SOCIALES
   ========================================================= */

body:has(.ay-par-page) .ay-par-sidebar {
  grid-column: 2 !important;
  min-width: 0 !important;
  position: relative !important;
  padding-top: 122px !important;
}

body:has(.ay-par-page) .ay-par-socials {
  position: absolute !important;
  right: -52px !important;
  top: 140px !important;
  display: none !important;
  flex-direction: column !important;
  gap: 11px !important;
  align-items: center !important;
  z-index: 3 !important;
}

body:has(.ay-par-page) .ay-par-socials a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  font-size: 0 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
}

body:has(.ay-par-page) .ay-par-socials img,
body:has(.ay-par-page) .ay-par-social-icon {
  display: block !important;
  width: 32px !important;
  height: 32px !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;
}

body:has(.ay-par-page) .ay-par-logos {
  width: min(300px, 100%) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 54px !important;
}

/* Todos los logos de apoyos van en columna.
   Aunque el HTML tenga "rows", cada fila se apila verticalmente para no formar una fila horizontal. */
body:has(.ay-par-page) .ay-par-logo-row,
body:has(.ay-par-page) .ay-par-logo-row-top {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 38px !important;
}

body:has(.ay-par-page) .ay-par-logo-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  color: var(--ay-cm-dark, #22061d) !important;
  text-align: center !important;
}

body:has(.ay-par-page) .ay-par-logo-item img {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  max-height: 76px !important;
  height: auto !important;
  object-fit: contain !important;
  filter: none !important;
  mix-blend-mode: multiply !important;
  border: 0 !important;
  box-shadow: none !important;
}

body:has(.ay-par-page) .ay-par-logo-row-top .ay-par-logo-item {
  width: 100% !important;
}

body:has(.ay-par-page) .ay-par-logo-row-top .ay-par-logo-item img {
  max-height: 54px !important;
}

body:has(.ay-par-page) .ay-par-logo-cfonds img {
  max-height: 90px !important;
}

body:has(.ay-par-page) .ay-par-logo-ifci img {
  max-height: 58px !important;
}

body:has(.ay-par-page) .ay-par-logo-mcyp img {
  max-height: 76px !important;
}

/* Texto de emergencia si aún no se reemplazan los logos */
body:has(.ay-par-page) .ay-par-logo-fallback {
  display: block !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-size: 13px !important;
  line-height: 1.05 !important;
  font-weight: 700 !important;
  letter-spacing: -0.055em !important;
  text-align: center !important;
}

/* =========================================================
   CONTRIBUYE
   ========================================================= */

body:has(.ay-par-page) .ay-par-divider {
  width: 100% !important;
  height: 0 !important;
  margin: 34px 0 64px !important;
  border-top: 1.5px solid var(--ay-cm-pink, #A51D75) !important;
}

body:has(.ay-par-page) .ay-par-contribuye-main {
  grid-column: 1 !important;
}

body:has(.ay-par-page) .ay-par-contribuye-copy {
  position: relative !important;

  width: 100% !important;
  max-width: 680px !important;

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

  overflow: visible !important;
}

body:has(.ay-par-page) .ay-par-contribuye-main h2 {
  margin-bottom: 42px !important;
}

body:has(.ay-par-page) .ay-par-contact-mail {
  margin: 14px 0 0 !important;
}

body:has(.ay-par-page) .ay-par-contact-mail a {
  color: var(--ay-cm-pink, #A51D75) !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  text-decoration-thickness: 1px !important;
  word-break: break-word !important;
}

body:has(.ay-par-page) .ay-par-contact-mail a:hover,
body:has(.ay-par-page) .ay-par-contact-mail a:focus-visible {
  color: var(--ay-cm-dark, #22061d) !important;
  text-decoration: underline !important;
}

body:has(.ay-par-page) .ay-par-sidebar-empty {
  grid-column: 2 !important;
}

/* =========================================================
   CONTACTO MÓVIL + FOOTER
   ========================================================= */

body:has(.ay-par-page) .ay-par-mobile-contact {
  display: none !important;
}

body:has(.ay-par-page) .ay-conoce-footer {
  font-family: var(--ay-cm-font, "Bitstream Vera Sans Mono", "Courier New", monospace) !important;
  width: min(780px, calc(100vw - 220px)) !important;
  margin: 0 auto !important;
  padding: 0 0 34px !important;
  text-align: center !important;
  color: var(--ay-cm-dark, #22061d) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  background: transparent !important;
}

body:has(.ay-par-page) .ay-conoce-footer p {
  margin: 0 !important;
  padding-bottom: 10px !important;
  border-bottom: 1.5px solid var(--ay-cm-dark, #22061d) !important;
}

body:has(.ay-par-page) .ay-conoce-footer a {
  color: var(--ay-cm-dark, #22061d) !important;
  text-decoration: none !important;
}

/* =========================================================
   PARTICIPA V37 — APOYOS COMPACTO
   ---------------------------------------------------------
   La columna de logos ya no define la altura del bloque.
   Así CONTRIBUYE comienza después del texto de APOYOS con
   el mismo ritmo vertical usado en CONOCE MÁS.

   Los logos continúan visibles en la columna derecha y
   pueden prolongarse junto al inicio de CONTRIBUYE, cuyo
   segundo carril está vacío en el HTML.
   ========================================================= */

@media (min-width: 901px) {

  html body:has(.ay-par-page)
    .ay-par-apoyos-section
    > .ay-par-sidebar {
    position: absolute !important;

    right: 0 !important;
    left: auto !important;
    top: 0 !important;

    display: block !important;

    width: min(340px, 32%) !important;
    max-width: 340px !important;
    min-width: 280px !important;

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

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

    overflow: visible !important;
    z-index: 3 !important;
  }

  html body:has(.ay-par-page)
    .ay-par-apoyos-section
    > .ay-par-main {
    position: relative !important;
    z-index: 2 !important;
  }

  html body:has(.ay-par-page)
    .ay-par-contribuye-section
    .ay-par-sidebar-empty {
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {

  html body:has(.ay-par-page)
    .ay-par-apoyos-section
    > .ay-par-sidebar {
    width: min(310px, 31%) !important;
    max-width: 310px !important;
    min-width: 260px !important;
    padding-top: 112px !important;
  }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

@media (max-width: 1180px) {
  body:has(.ay-par-page) .ay-par-layout {
    width: min(1000px, calc(100vw - 96px)) !important;
    max-width: min(1000px, calc(100vw - 96px)) !important;
    column-gap: clamp(28px, 4vw, 56px) !important;
  }

  body:has(.ay-par-page) .ay-par-side-label {
    left: -58px !important;
  }

  body:has(.ay-par-page) .ay-par-side-label-apoyo {
    left: -113px !important;
  }

  body:has(.ay-par-page) .ay-par-socials {
    right: -34px !important;
  }
}

@media (max-width: 900px) {
  body:has(.ay-par-page) .ay-par-layout {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
    grid-template-columns: 1fr !important;
    display: block !important;
  }

  body:has(.ay-par-page) .ay-par-side-label,
  body:has(.ay-par-page) .ay-par-socials {
    display: none !important;
  }

  body:has(.ay-par-page) .ay-par-sidebar {
    padding-top: 36px !important;
  }

  body:has(.ay-par-page) .ay-par-logos {
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* =========================================================
   ARCHIVAS & DOCUMENTAS — PARTICIPA / CONTRIBUYE V36
   NORMALIZADA CON CONOCE MÁS
   ========================================================= */

body:has(.ay-par-page) {
  --ay-normal-line-desktop: 2.4px;
  --ay-normal-line-mobile: 2px;
  --ay-normal-before-line: 48px;
  --ay-normal-after-line: 40px;
  --ay-normal-mobile-space: 34px;
}

@media (min-width: 761px) {
  html body:has(.ay-par-page) .ay-par-divider {
    width: 100% !important;
    height: 0 !important;
    margin:
      var(--ay-normal-before-line)
      0
      var(--ay-normal-after-line) !important;
    border-top:
      var(--ay-normal-line-desktop)
      solid
      var(--ay-cm-pink, #A51D75) !important;
  }
}



/* =========================================================
   NORMALIZACIÓN VISUAL SEGÚN CONOCE MÁS
   ---------------------------------------------------------
   Referencia exacta:
   - Texto lateral: 15px / 1.12 / letter-spacing 0.02em.
   - Caja lateral: 52px.
   - Posición izquierda/derecha:
     clamp(24px, 3.7vw, 58px).
   - Posición inferior:
     clamp(54px, 8.2vh, 92px).
   - Íconos sociales: 34 × 34px.
   - Separación entre íconos: 10px.
   - Los laterales se ocultan únicamente hasta 760px.
   ========================================================= */

@media (min-width: 761px) {
  html body:has(.ay-par-page) #content .ay-par-fixed-side-label,
  html body:has(.ay-par-page) .ay-par-fixed-side-label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !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;
    min-width: 52px !important;
    max-width: 52px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

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

    color: var(--ay-final-dark, var(--ay-cm-dark, #3d0733)) !important;
    background: transparent !important;

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

    transform: none !important;
    translate: none !important;
    overflow: visible !important;
  }

  html body:has(.ay-par-page) #content .ay-par-fixed-side-label span,
  html body:has(.ay-par-page) .ay-par-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:
      "Bitstream Vera Sans",
      Arial,
      Helvetica,
      sans-serif !important;
    font-size: 15px !important;
    line-height: 1.12 !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 0.02em !important;
    text-align: left !important;
    text-transform: none !important;

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

    white-space: normal !important;
    overflow: visible !important;
  }

  html body:has(.ay-par-page) #content .ay-par-fixed-socials,
  html body:has(.ay-par-page) .ay-par-fixed-socials {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;

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

    z-index: 805 !important;

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

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

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

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

    transform: none !important;
    translate: none !important;
  }

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

    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;

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

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

    font-size: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;
  }

  html body:has(.ay-par-page) #content .ay-par-fixed-socials img,
  html body:has(.ay-par-page) .ay-par-fixed-socials img {
    display: block !important;

    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;

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

    object-fit: contain !important;

    background: transparent !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;
  }
}

/* =========================================================
   MÓVIL — CONTRIBUYE V40
   ---------------------------------------------------------
   - Escritorio y tableta permanecen intactos.
   - El header, buscador, menú, navegación interna, contacto
     y footer se controlan desde 10-header-footer.css.
   - APOYOS conserva el orden visual del diseño: los dos
     primeros logos comparten fila y los restantes se centran.
   - CONTRIBUYE genera la transición rosa → lavanda antes
     del bloque institucional de CONTACTO.
   ========================================================= */
@media (max-width: 767px) {
  html:has(.ay-par-page),
  body:has(.ay-par-page) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
  }

  body:has(.ay-par-page) #content {
    min-height: 100vh !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    background:
      linear-gradient(
        180deg,
        #9f9dff 0,
        #d9c2ef 76px,
        #f4dce7 220px,
        #f4dce7 100%
      ) !important;
  }

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

  body:has(.ay-par-page) .ay-par-layout {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    background: transparent !important;
  }

  body:has(.ay-par-page) .ay-par-apoyos-section {
    position: relative !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    overflow: visible !important;
  }

  body:has(.ay-par-page) .ay-par-main,
  body:has(.ay-par-page) .ay-par-contribuye-main,
  body:has(.ay-par-page) .ay-par-apoyos-text,
  body:has(.ay-par-page) .ay-par-contribuye-copy {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    background: transparent !important;
  }

  body:has(.ay-par-page) .ay-par-main h1,
  body:has(.ay-par-page) .ay-par-contribuye-main h2 {
    margin: 0 0 20px !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    font-size: 25px !important;
    line-height: 1 !important;
    font-weight: 700 !important;
    letter-spacing: -0.035em !important;
    text-transform: uppercase !important;
  }

  body:has(.ay-par-page) .ay-par-main p,
  body:has(.ay-par-page) .ay-par-contribuye-main p {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 20px !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    font-size: 12.4px !important;
    line-height: 1.42 !important;
    font-weight: 400 !important;
    letter-spacing: -0.035em !important;
    text-align: left !important;
  }

  body:has(.ay-par-page) .ay-par-sidebar {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 38px 0 0 !important;
    overflow: visible !important;
  }

  body:has(.ay-par-page) .ay-par-logos {
    display: block !important;
    width: min(228px, 100%) !important;
    max-width: 228px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  body:has(.ay-par-page) .ay-par-logo-row,
  body:has(.ay-par-page) .ay-par-logo-row-top {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  body:has(.ay-par-page) .ay-par-logo-row-top {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: 20px !important;
    row-gap: 42px !important;
    align-items: center !important;
    justify-items: center !important;
  }

  body:has(.ay-par-page) .ay-par-logo-row-top
  > .ay-par-logo-item:nth-child(n + 3) {
    grid-column: 1 / -1 !important;
  }

  body:has(.ay-par-page) .ay-par-logo-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  body:has(.ay-par-page) .ay-par-logo-item img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    filter: none !important;
    mix-blend-mode: multiply !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body:has(.ay-par-page) .ay-par-logo-inpc img {
    max-width: 98px !important;
    max-height: 44px !important;
  }

  body:has(.ay-par-page) .ay-par-logo-cfonds img {
    max-width: 92px !important;
    max-height: 54px !important;
  }

  body:has(.ay-par-page) .ay-par-logo-ifci img {
    max-width: 150px !important;
    max-height: 68px !important;
  }

  body:has(.ay-par-page) .ay-par-logo-mcyp img {
    max-width: 142px !important;
    max-height: 72px !important;
  }

  body:has(.ay-par-page) .ay-par-divider {
    display: block !important;
    width: 72% !important;
    max-width: 190px !important;
    height: 0 !important;
    margin: 54px auto 54px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1.25px solid
      var(--ay-cm-mobile-pink, #a51d75) !important;
  }

  body:has(.ay-par-page) .ay-par-contribuye-section {
    display: block !important;
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 0 0 calc(50% - 50vw) !important;
    padding: 0 18px 104px !important;
    overflow: visible !important;
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    background:
      linear-gradient(
        180deg,
        #f4dce7 0%,
        #f4dce7 34%,
        #d8c7ee 72%,
        #9f9dff 100%
      ) !important;
  }

  body:has(.ay-par-page) .ay-par-contribuye-main h2 {
    margin-bottom: 18px !important;
  }

  body:has(.ay-par-page) .ay-par-contact-mail {
    margin: 6px 0 0 !important;
  }

  body:has(.ay-par-page) .ay-par-contact-mail a,
  body:has(.ay-par-page) .ay-par-contact-mail a:visited {
    color: var(--ay-cm-mobile-dark, #22061d) !important;
    font-size: 12.4px !important;
    line-height: 1.35 !important;
    font-weight: 400 !important;
    text-decoration: none !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  body:has(.ay-par-page) .ay-par-contact-mail a:hover,
  body:has(.ay-par-page) .ay-par-contact-mail a:focus-visible {
    color: var(--ay-cm-mobile-pink, #a51d75) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px !important;
  }
}

@media (max-width: 360px) {
  body:has(.ay-par-page) .ay-par-layout,
  body:has(.ay-par-page) .ay-par-contribuye-section {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  body:has(.ay-par-page) .ay-par-main h1,
  body:has(.ay-par-page) .ay-par-contribuye-main h2 {
    font-size: 24px !important;
  }

  body:has(.ay-par-page) .ay-par-main p,
  body:has(.ay-par-page) .ay-par-contribuye-main p,
  body:has(.ay-par-page) .ay-par-contact-mail a {
    font-size: 12px !important;
  }

  body:has(.ay-par-page) .ay-par-logo-row-top {
    column-gap: 14px !important;
  }
}
