/* Modificadores para accesibilidad (MA) Escalar texto ── */
:root {
  --msi-font-scale: 1;
  --wp--preset--font-size--small: var(--msi-font-scale);
  --msi-ma-acciones: #ffff00;
}
body{font-size:calc(1rem * var(--msi-font-scale)) !important;}
/* ── (MA) Alto contraste ── */
body.msi-contraste-alto{background:#000;color:#fff;}
.msi-contraste-alto .wp-site-blocks .header,
.msi-contraste-alto .wp-site-blocks main{filter:contrast(150%);background:#000;color:#fff;}
.msi-contraste-alto img{filter:saturate(0);}
.msi-contraste-alto img.custom-logo{filter:drop-shadow(0px 100px 0 #fff);transform:translateY(-100px);}
/* (MA) Modificar elementos alto contraste, fondos en general */
.msi-contraste-alto [style*="background"],
.msi-contraste-alto [style*="background-color"],
.msi-contraste-alto [class*="-color"]{
  background-color: #000 !important;
  background: #000 !important;
  color: #fff !important;
}
/* (MA) Modificar elementos alto contraste, bordes en general */
.msi-contraste-alto [class*="has-border"]{
  border-color: var(--msi-ma-acciones) !important;
  overflow: hidden;
}
/* (MA) Modificar elementos alto contraste, enlaces y botones */
.msi-contraste-alto a,
.msi-contraste-alto .has-accent-1-color{
  color: var(--msi-ma-acciones) !important;
}
.msi-contraste-alto button,
.msi-contraste-alto a.wp-block-button__link,
.msi-contraste-alto .wp-block-button__link,
.msi-contraste-alto form .wpforms-submit,
.msi-contraste-alto .wp-block-media-text__content .wp-block-read-more{
  background: var(--msi-ma-acciones) !important;
  color: #000 !important;
}
/* (MA) Modificar elementos alto contraste, formularios */
.msi-contraste-alto form label{color:#fff !important;}
.msi-contraste-alto form button:after{color:#000 !important;}
/* (MA) descartar algunos elementos */
.msi-contraste-alto button mark.has-inline-color,
.msi-contraste-alto figure mark.has-inline-color{
  background: none !important;
  color: #000 !important;
}

/* Modificadores para bloques en wordpress */
html{scroll-behavior:smooth;}
:where(.wp-site-blocks) >:last-child{margin-block-start:0;}
:where(input, select, textarea){outline-color:#dfeff6;}
:where(.wp-block-search .wp-block-search__input){padding-left:1rem !important;padding-right:1rem !important;}
:where(.wp-element-button:focus,.wp-block-button__link:focus){outline-width:1px;outline-color:#dfeff6 !important;}
.medios-y-texto .wp-block-media-text__media{border-radius:28px;overflow:hidden;}
.medios-y-texto .wp-block-read-more{width: auto;}

/* Classnames auxiliares como mostrar, ordenar, padding. Estilos de apoyo para insertar en bloques*/
.d-none{display:none !important;}
.hide-md{display:none !important;}
.has-text-align-justify{text-align:justify;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto;hyphens:auto;}
.backdrop-filter,.has-custom-vidrio-background-color{backdrop-filter:blur(10px);}
.lead-text-shadow{text-shadow: 0 4px 12px rgba(0,0,0,.55);}
.text-shadow{text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.8);}
.text-shadow-sm{text-shadow: 0 4px 8px rgba(0, 0, 0, 0.18) !important;}
.box-shadow{box-shadow: 0 10px 25px rgba(0,0,0,0.05);}
.overflow-hidden{overflow:hidden;}

/* Sobreescribir sombras*/
[style*="box-shadow:var(--wp--preset--shadow--deep)"]{box-shadow:0 20px 40px rgba(0, 0, 0, 0.1) !important}

/* GLOBAL: Personalizacion, elementos */
a, link, button{text-decoration:none;}
.wp-block-button__link[style*="--wp--preset--shadow--natural"] {  box-shadow: 0 8px 18px rgba(0,152,219,0.18) !important;}
.wp-block-button__link[style*="--wp--preset--shadow--natural"]:hover { 
  box-shadow: 0 8px 18px rgba(7, 109, 152, 0.18) !important;
  filter: brightness(.5);
}
.wp-block-button__link.has-base-background-color.has-accent-2-border-color:hover {
  background: #f5fbff !important;
  border-color: rgba(0, 152, 219, 0.5) !important;
  filter: none;
}
/* efecto de brillo, agregar classname: add-fx */
.add-fx .wp-block-button__link{position:relative;overflow:hidden;box-shadow: 0 10px 24px rgba(16,185,129,.25) !important;}
.add-fx .wp-block-button__link[style*="--wp--preset--shadow--natural"]:hover{filter:brightness(1.1);}
.add-fx .wp-block-button__link::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);transition:left 0.5s;}
.add-fx .wp-block-button__link:hover::before{left:100%;}
.add-fx .wp-block-button__link:hover .wp-font-awesome-icon{font-size:17px;transition:all 0.25s ease;}



/* selector de categorias blog */
select.wp-query-filter__select{min-width:100%;height:54px;padding:0 52px 0 22px;border:1px solid rgba(0,160,210,0.25);border-radius:999px;background-color:#ffffff;color:#1f2d3d;font-size:1rem;font-weight:700;font-family:inherit;outline:none;cursor:pointer;box-shadow:0 14px 35px rgba(0,70,110,0.08);appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#00a6d6 50%),linear-gradient(135deg,#00a6d6 50%,transparent 50%);background-position:calc(100% - 28px) 23px,calc(100% - 20px) 23px;background-size:8px 8px,8px 8px;background-repeat:no-repeat;}
.msi-contraste-alto select.wp-query-filter__select{background-image:linear-gradient(45deg,transparent 50%,#000 50%),linear-gradient(135deg,#000 50%,transparent 50%);}

/* Animaciones */
.modulo-galeria-conjuntos figure.wp-block-image,
.wp-block-button__link.has-base-background-color,
.wp-block-button__link.has-custom-jade-gradient-background,
.wpforms-submit,
.wp-block-query li.wp-block-post{transition:all 0.25s ease;}
.modulo-galeria-conjuntos figure.wp-block-image:hover,
.wp-block-button__link.has-base-background-color:hover,
.wp-block-button__link.has-custom-jade-gradient-background:hover,
.wpforms-submit:hover,
.wp-block-query li.wp-block-post:hover{transform: translateY(-2px);}

 /* HEADER: Personalizacion, elementos */
.msi-header .wp-block-social-link{border-radius:5px;}
.msi-header .wp-block-search__button .search-icon{rotate:-90deg;}
.msi-header .wp-block-search__button{padding:12px;}
.msi-header {box-shadow: 0 14px 34px rgba(38, 55, 70, 0.16);background: #fff;}

 /* HEADER: Personalizacion, menu */
.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg{transition:all 0.3s ease;}
.wp-block-navigation .has-child:not(.open-on-click) > .wp-block-navigation__submenu-container{
  min-width:220px;
  transform: translateY(-10px);
  transition: all 0.3s ease;
}
@media (hover:hover){
  .wp-block-navigation .has-child:not(.open-on-click):hover > .wp-block-navigation__submenu-container{
    min-width:220px;
    transform: translateY(0px);
  }
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
  border-radius: 12px;
  padding: 15px 0px;
  box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container a {
  transition: all 0.3s ease;
  color: #283573;
}
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container a:hover {
  background: #F2FAFD;
  color: #009FDA;
  padding-left: 2rem !important;
}
.msi-contraste-alto .wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container a:hover {
  background: #F2FAFD4A;
}

@media screen and (min-width: 769px) {
  /* Superposición de menu solo en home */
  .home .wp-site-blocks>header.wp-block-template-part {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3000;
    /* background: rgba(255, 255, 255, 0.97); */
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 10px 30px rgba(38, 55, 70, 0.08);
    transition: box-shadow 0.25s ease, background 0.25s ease;
  }
  .wp-block-navigation a{
    text-decoration: none;
  }
  .wp-block-navigation a::after {
    content: '';
    width: 0%;
    height: 1pt;
    display: block;
    transition: all 0.3s ease;
    background: var(--wp--preset--color--accent-1);
  }
    .msi-contraste-alto .wp-block-navigation a::after {
      background: var(--msi-ma-acciones) !important;
    }
  .wp-block-navigation a:hover::after {
    width: 100%;
  }
  .wp-block-navigation-submenu li a::after{
    display: none;
  }
}


/* FOOTER: Personalizacion, elementos */
  footer .wp-block-navigation .wp-block-navigation-item:after{content:"•";opacity:0.6;position:relative;right:-8px;}
  footer .wp-block-navigation .wp-block-navigation-item:last-of-type:after{content:"";}

/* =========================
   COLORES DE FONDO VARIOS
   ========================= */
#impacto{position:relative;overflow: hidden;}
#impacto::before{content:"";background:radial-gradient(circle,rgba(59,130,246,0.18),transparent 70%);width:480px;height:480px;position:absolute;border-radius:999px;top:-140px;left:0px;}
#impacto::after{content:"";background:radial-gradient(circle,rgba(251,191,36,0.12),transparent 70%);width:420px;height:420px;position:absolute;border-radius:999px;top:0px;left:-80px;}

#alianzas{position:relative;overflow: hidden;}
#alianzas::before, #alianzas::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: radial-gradient(circle at center, rgba(0,159,227,0.18), rgba(0,159,227,0));
  pointer-events: none;
}
#alianzas::before{width:260px;height:260px;left:-80px;top:40px;}
#alianzas::after{width:260px;height:260px;right:-80px;bottom:-40px;}

#faqs{position:relative;overflow: hidden;}
#faqs::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(220px 220px at 10% 15%, rgba(0,166,224,0.08) 0, rgba(0,166,224,0) 60%), radial-gradient(260px 260px at 85% 80%, rgba(0,166,224,0.04) 0, rgba(0,166,224,0) 60%);
  pointer-events: none;
  z-index: 0;
}

#donar{position:relative;overflow: hidden;}
#donar::before {
  content: "";
  position: absolute;
  width: 700px;
  height: 700px;
  top: 50%;
  right: -150px;
  transform: translateY(-50%);
  background: radial-gradient(circle at center, rgba(9, 132, 255, 0.3), transparent 65%);
  filter: blur(6px);
  opacity: 0.85;
  z-index: 0;
}

#modulo-slidepop{background: radial-gradient(circle at 16% 25%, rgba(0, 153, 207, 0.18), transparent 34%), radial-gradient(circle at 84% 70%, rgba(0, 133, 124, 0.12), transparent 34%), linear-gradient(135deg, rgba(234, 248, 255, 0.96), rgba(255, 255, 255, 0.86)) !important;}
#modulo-slidepop[style*="box-shadow:var(--wp--preset--shadow--deep)"]{box-shadow: 0 22px 55px rgba(38, 55, 70, 0.08) !important;}
#testimonios-articulos[style*="--wp--preset--shadow--natural"]{box-shadow: 0 20px 60px rgba(0, 159, 218, 0.25), 0 0 0 1px rgba(0, 159, 218, 0.2), 0 0 0 4px rgba(0, 159, 218, 0.05) !important;transition:all 0.25s ease;}
#testimonios-articulos[style*="--wp--preset--shadow--natural"]:hover{box-shadow:0px 0px 40px rgba(0,159,218,1),0 0 0 1px rgba(0,159,218,0.5),0 0 0 4px rgba(0,159,218,0.05) !important;}

#articulo blockquote{position: relative;}
#articulo blockquote::before{
  content: '"';
  position: absolute;
  top: 10px;
  left: 15px;
  width: 40px;
  height: 40px;
  background: var(--wp--preset--color--accent-1);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  font-size: 1.2rem;
  box-shadow: 0 4px 12px rgba(0, 159, 218, 0.3);
  opacity: .2;
}

/* Efecto de brillo en la card activa */
#testimonios-articulos {
  background-color: #ffffff8e;
  animation: glowPulse 4s ease-in-out infinite !important;
}
@keyframes glowPulse{
  0%{background-color:#ffffff8e;}
  50%{background-color:#00a0da1d;}
  100%{background-color:#ffffff8e;}
}

/* Personalización de boton en formulario */
.wpforms-submit.add-icon-end {
  background: var(--wp--preset--gradient--custom-jade) !important;
  padding: 12px 24px !important;
  height: auto !important;
}
/* nota: se usa font awesome poe medio de un plugin, la versión más reciente. */
.wpforms-submit.add-icon-end::after {
  content: "\f061";
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  color: #ffffff;
  margin-left: 8px;
  font-size: 12px;
}

/* mix de degradados */
body.home { background: radial-gradient(900px 520px at 12% 14%, rgba(38,198,218,.20), rgba(255,255,255,0) 60%), radial-gradient(820px 520px at 88% 40%, rgba(126,87,194,.18), rgba(255,255,255,0) 60%), radial-gradient(760px 520px at 64% 92%, rgba(76,175,80,.16), rgba(255,255,255,0) 60%), linear-gradient(180deg, #f7fbff, #ffffff);}
.bg-mix-1{background: radial-gradient(900px 420px at 12% 18%, rgba(0, 152, 219, 0.10), transparent 60%), radial-gradient(700px 360px at 88% 22%, rgba(126, 87, 194, 0.10), transparent 58%), linear-gradient(180deg, #f8fbff 0%, #ffffff 100%);}
.bg-mix-2{background: radial-gradient(900px 520px at 12% 18%, rgba(38,198,218,.20), rgba(255,255,255,0) 60%), radial-gradient(820px 520px at 88% 30%, rgba(126,87,194,.18), rgba(255,255,255,0) 60%), radial-gradient(760px 520px at 64% 92%, rgba(76,175,80,.16), rgba(255,255,255,0) 60%), linear-gradient(180deg, #f7fbff, #ffffff);}
.msi-contraste-alto .bg-mix-1,
.msi-contraste-alto .bg-mix-2{
  background:#000;
}

/* Responsivo */
@media screen and (max-width: 768px) {

  /*GLOBAL: mostrar, ordenar, padding, gap*/
  .order-md-1{order:1;}
  .ml-sm-auto{margin-left:auto !important;}
  .mr-sm-auto{margin-right:auto !important;}
  .show-md{display:none !important;}
  .hide-md{display:block !important;}
  .flex-sm-column{flex-direction:column !important;align-content: start;align-items: start;}
  .w-sm-100{width:100%;}
  /* Modificadores para wordpress */
  [style*="--wp--preset--spacing--50"]{padding:0px !important;}

 /* HEADER: Personalizacion, elementos */
  .msi-header .has-global-padding{padding-right:12px;padding-left:12px;}
  .msi-header .is-content-justification-space-between{gap:8px;}
  .msi-header .wp-block-button .wp-block-button__link{padding-top:6px !important;padding-bottom:6px !important;}
  .msi-header .wp-block-search{max-width:80%;margin-left: -15px;margin-right: 15px;}
  .msi-header .wp-block-search__button[aria-expanded="true"]{background-color:#dfeff6 !important;}

  /* Forzar, ejecucion de navbar en 768px */
  .msi-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
    display: flex !important;
    background: #dfeff6;
    width: 34px;
    height: 34px;
    justify-content: center;
    align-items: center;
    border-radius: 12px;
  }

  .msi-header .wp-block-navigation__responsive-container:not(.is-menu-open.has-modal-open) {
    display: none !important;
  }

  /* Superposición de menu solo en home */
  .home .msi-header {
    position: fixed;
    top: 12px;
    left: 12px;
    right: 12px;
    width: auto;
    background: #fff;
    border-radius: 20px;
    z-index: 3000;
    overflow: hidden;
  }

  .msi-header .wp-block-navigation__responsive-container {
    top: 100px;
    left: 12px;
    right: 12px;
  }

  .msi-header .wp-block-navigation__responsive-container,
  .msi-header .wp-block-navigation__responsive-close,
  .msi-header .wp-block-navigation__responsive-dialog,
  .msi-header .wp-block-navigation__responsive-container-content,
  .msi-header .wp-block-navigation__overlay-container,
  .msi-header .wp-block-navigation__overlay-container>.wp-block-group {
    border-radius: 20px;
    height: auto !important;
    min-height: auto !important;
  }

  /* Configuración boton navegación movil efecto hamburguesa */
  .has-modal-open .wp-block-navigation__responsive-container-open svg{position:relative;left:-2px;}
  .has-modal-open .wp-block-navigation__responsive-container-open svg path{transition:transform 0.3s ease,opacity 0.3s ease;transform-origin:13px 9px;scale:1.4;}
  /* --- ESTADO ABIERTO (Menú en forma de X) --- */
  /* Línea 1:Se desplaza hacia el centro y rota 45 grados */
  .has-modal-open .wp-block-navigation__responsive-container-open svg path:nth-child(1){transform:translateY(6.3px) rotate(45deg);}
  /* Línea 2:Rota -45 grados en su posición central original */
  .has-modal-open .wp-block-navigation__responsive-container-open svg path:nth-child(2){transform:rotate(-45deg);}
  /* Línea 3:Se desvanece por completo */
  .has-modal-open .wp-block-navigation__responsive-container-open svg path:nth-child(3){opacity:0;}
  /* El botón se vuelve "invisible" para los clics, el clic pasa de largo, si da problemas agregar z-index -1000 */
  .has-modal-open .wp-block-navigation__responsive-container-open{pointer-events:none;opacity:.5;transition:opacity 0.3s ease;}


/* FOOTER */
  footer .has-global-padding{padding-left:16px;padding-right:16px;}
  footer > .wp-block-group{padding-bottom:80px !important;}

/* =========================
   ELEMENTOS INDIVIDUALES
   ========================= */

/* HERO HOME */
  [style*="-radius:28px"]{
    border-radius: 10px !important;
  }

  #inicio.wp-block-cover .wp-block-cover__inner-container{
    width: 82%;
    margin-left: 20px;
    margin-right: auto;
    margin-bottom: auto;
    margin-top: 6rem;
  }
  #inicio.wp-block-cover .wp-block-cover__inner-container > .wp-block-group{
    padding: 16px !important;
  }
  #inicio p{
    font-size: clamp(13px, 0.875rem + ((1vw - 3.2px) * 0.096), 13px);
  }

  /* =========================
   ELEMENTOS POR APARTADOS
   ========================= */

  /* centrar subtemas */
 .is-style-text-annotation{width:auto;text-align:center;}
 .sub-icono{width:26px;}
  #alianzas .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    width: auto;
  }
  #modulo-slidepop, #testimonios-articulos{
    padding: 16px !important;
  }
}


/* =========================
   Ajustes para los casos en los que ingresan por administrador.
   ========================= */

@media screen and (min-width: 769px) {
  body.logged-in.admin-bar .wp-site-blocks > header.wp-block-template-part{top:30px;}
}
@media screen and (max-width: 768px) {
  body.logged-in.admin-bar .msi-header{ top: 52px;}
}


/* =========================
   WIDGETS
   ========================= */

/* ====== 2. Galería con filtros filtro-all ====== */
.modulo-galeria-filtros .modulo-galeria-controles [class*="filtro-"]{opacity:.5;}
.modulo-galeria-filtros .modulo-galeria-controles [class*="filtro-"].active{opacity:1;}
.modulo-galeria-filtros .modulo-galeria-controles [class*="filtro-"].active button{background:var(--wp--preset--gradient--custom-adularia) !important;color:#24418f !important;}

/* Filtro activo: ocultar las que no corresponden, .filtro-all no oculta nada */
.modulo-galeria-filtros .filtro-conjunto-1-active .wp-block-image:not(.conjunto-1) { display: none !important; }
.modulo-galeria-filtros .filtro-conjunto-2-active .wp-block-image:not(.conjunto-2) { display: none !important; }
.modulo-galeria-filtros .filtro-conjunto-3-active .wp-block-image:not(.conjunto-3) { display: none !important; }
.modulo-galeria-filtros .filtro-conjunto-4-active .wp-block-image:not(.conjunto-4) { display: none !important; }
.modulo-galeria-filtros .filtro-conjunto-5-active .wp-block-image:not(.conjunto-5) { display: none !important; }

/* Ajustar diseño de cada item */
.modulo-galeria-filtros .modulo-galeria-conjuntos figure[class*="conjunto"]{border-radius:28px;background-color:#fff;box-shadow:0 10px 25px rgba(0,0,0,0.05);padding:24px;box-sizing:border-box !important;min-height:160px !important;border:1px solid rgba(0,153,207,0.12) !important;}
@media screen and (min-width: 769px) {
  .modulo-galeria-conjuntos.wp-block-gallery > .wp-block-image{
    max-width: calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75) !important;
  }
}

/* ====== 3. mapa ineractivo tabs ====== */
@media screen and (max-width: 768px) {
  .modulo-tabs-controles{flex-direction:column;}
  .modulo-tabs-controles.wp-block-buttons>.wp-block-button.wp-block-button__width-50{width:100% !important;}
}
.modulo-tabs-controles button.wp-block-button__link mark.has-inline-color:first-of-type{position:relative;float:left;align-content:center;text-align:center;width:44px;height:44px;border-radius:12px;margin-right:14px;}
.modulo-tabs-controles .wp-block-button.active button.wp-block-button__link mark.has-inline-color:first-of-type{background-color:#cce4ff82 !important;color:#0098db !important;border-color:var(--wp--preset--color--accent-1) !important;}
.modulo-tabs>[class*="tab-item-"]{display:none;}
.modulo-tabs>[class*="tab-item-"].active{display:block;}
.tabs-controles .wp-block-button mark.has-inline-color:first-of-type{position:relative;float:left;align-content:center;text-align:center;width:44px;height:44px;border-radius:12px;margin-right:14px;}
.tabs-controles .wp-block-button mark.has-inline-color:nth-child(4){font-weight:400 !important;}

.tabs-controles .wp-block-button button:hover,
.tabs-controles .wp-block-button.msi-btn-activo button{
  background-color:#cce4ff82 !important;
  border-color: #0098db !important;
}


/* ====== 4. Modulo testimonios ====== */
.modulo-slidepop .listado-items [class*="item-"]{display:none;}
.modulo-slidepop .listado-items [class*="item-"].active{display:block;}
/* Apariencia de control (botón) */
.modulo-slidepop .listado-controles button{position:relative;overflow:hidden;}
.modulo-slidepop .listado-controles button::before,.modulo-slidepop .listado-controles button::after{content:"";position:absolute;z-index:0;border-radius: 999px;}
.modulo-slidepop .listado-controles button::before{width:130px;height:130px;border-radius:999px;right:-54px;top:-54px;background:rgba(0,158,227,0.08);}
.modulo-slidepop .listado-controles button::after{width:95px;height:95px;left:-42px;bottom:-42px;background:rgba(0,158,227,0.06);}
.modulo-slidepop .listado-controles .active button::before{left:-2px;top:10px;bottom:10px;width:4px;}
.modulo-slidepop .listado-controles .active button::after{width:95px;height:95px;left:-42px;bottom:-42px;background:rgba(0,158,227,0.06);}
.active .wp-block-button__link[style*="box-shadow:var(--wp--preset--shadow--deep)"]{box-shadow:0 10px 28px rgba(0,130,202,0.18) !important;border-color:rgba(0,153,207,0.5) !important;}
/* Ejecución de modal: Overlay */
.msi-modal-overlay{display:none;position:fixed;inset:0;background:rgba(15, 23, 42, 0.58);backdrop-filter: blur(6px);z-index:9999;}
.msi-modal-overlay.active{display:flex;align-items:center;justify-content:center;}
/* Ejecución de modal: Scroll bloqueado al abrir */
body.msi-modal-abierto{overflow:hidden;}
/* Ejecución de modal: Modal */
.msi-modal{position:relative;background:#fff;max-width:80vw;max-height:80vh;overflow-y:auto;padding:1rem;border-radius: 24px;}
/* Ejecución de modal: Botón cerrar */
.msi-modal-cerrar{width:34px;height:34px;font-size:22px;border-radius:50px;border:none;color:#263746;background:rgba(255,255,255,0.8);box-shadow:0 8px 18px rgba(38,55,70,0.1);position:sticky;top:0px;margin-left:calc(100% - 2rem);z-index:1;padding-bottom:2px;  cursor: pointer;}
.msi-modal-cerrar:hover{
  filter:invert(1);
}
@media screen and (max-width: 780px) {
  .modulo-slidepop .listado-items [class*="item-"].active{display:none;}
}

/* ====== 5. Modulo con diapositivas ====== */
.modulo-diapositivas{position: relative;}
.modulo-diapositivas button{border:none;cursor:pointer;outline:none;}
.modulo-diapositivas .diapositivas-contenedor { position: relative; }
.modulo-diapositivas .diapositivas-contenedor:hover { position: relative; }
.modulo-diapositivas .diapositivas-contenedor article{display:none;opacity:0;transition:opacity 0.4s ease;cursor:pointer;}
.modulo-diapositivas .diapositivas-contenedor article.active{display:block;opacity:1;}
.modulo-diapositivas.controles-on .goto-prev,.modulo-diapositivas.controles-on .goto-next{position:absolute;bottom:45%;width:40px;height:40px;border-radius:50px;background:#fff;font-size:24px;opacity:.5;padding-bottom:2px;}
.modulo-diapositivas.controles-on .goto-prev:hover,.modulo-diapositivas.controles-on .goto-next:hover{opacity:1;}
.modulo-diapositivas.controles-on .goto-prev{left:1rem;}
.modulo-diapositivas.controles-on .goto-next{right:1rem;}
.modulo-diapositivas.indicadores-on .modulo-diapositivas-indicadores{display:flex;justify-content:center;align-items:center;gap:8px;}
.modulo-diapositivas.indicadores-on .modulo-diapositivas-indicadores * {transition: all 0.3s ease;}
.modulo-diapositivas.indicadores-on .modulo-diapositivas-indicadores button{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:rgba(0,153,207,0.25);opacity:0.4;}
.modulo-diapositivas.indicadores-on .modulo-diapositivas-indicadores button.active{width:24px;background:linear-gradient(90deg,#0099cf 0%,#00857c 100%);opacity:1;}
.modulo-diapositivas.autoplay-on::before{content:"+";display:block;opacity:.3;text-align: right;font-size:8px;}

/* ====== 6. Modulo preguntas frecuentes ====== */
.modulo-faqs .wp-block-accordion-heading__toggle-icon{
  border: 1px solid #c7d8ea;
  border-radius: 50px;
  width: 28px;
  height: 28px;
}

.modulo-faqs button[aria-expanded="true"] .wp-block-accordion-heading__toggle-icon{
  color: #fff;
  background: linear-gradient(135deg, #00a0e8, #00c6a4);
}
.msi-contraste-alto .modulo-faqs button[aria-expanded="true"] .wp-block-accordion-heading__toggle-icon{
  background: none;
}

.modulo-faqs [style*="box-shadow:var(--wp--preset--shadow--deep)"]{
  box-shadow: 0 12px 35px rgba(38, 55, 70, 0.06) !important;
}

/* ====== 7. Pagina parteras, tabs ====== */
#modulotabs [style*="box-shadow:var(--wp--preset--shadow--deep)"]{
  box-shadow: 0 16px 40px rgba(2, 6, 23, 0.05) !important;
}
#modulotabs 
.flex-sm-column .wp-block-button{width:100%;}

.modulo-tabs-controles .wp-block-button.active a{
  color: var(--wp--preset--color--base) !important;
  background-color: #012d57 !important;
}


/* ====== 8. Programa educativo, modulo acordeon ====== */
.modulo-acordeon-mixto button{
  margin-bottom: 0px !important;
}
.modulo-acordeon-mixto button .wp-block-accordion-heading__toggle-title{
  text-decoration: none !important;
  display: flex;
  align-items: center;
}
.modulo-acordeon-mixto button .wp-block-accordion-heading__toggle-title mark:first-child {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  text-align: center;
  align-content: center;
  font-size: 1rem;
  margin-right: 30px;
  background: linear-gradient(135deg, rgba(0,152,219,.12), rgba(126,87,194,.10));
}
.modulo-acordeon-mixto button .wp-block-accordion-heading__toggle-title mark:last-child{
  font-size: 1rem;
  margin-left: auto;
  align-self: end;
}
.modulo-acordeon-mixto .wp-block-accordion-heading__toggle-icon {
  align-self: end;
}
.modulo-acordeon-mixto .wp-block-accordion-heading__toggle-icon {
  color: #71839d4d;
  height: .7em;
  width: .7em;
}

.aliado-item,.aliado-item a{position:relative;overflow:hidden;transition:transform 0.25s ease;cursor:pointer;}
.aliado-item:hover,.aliado-item a:hover{transform:translateY(-4px);}
.aliado-item::before{content:"";position:absolute;width:120px;height:120px;border-radius:999px;top:-40px;right:-30px;background:rgba(255,255,255,0.28);}

.deco-tarjeta-cenefa{position:relative;overflow: hidden;}
.deco-tarjeta-cenefa::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: 7px !important;
  background: linear-gradient( 90deg, #0099cf 0%, #0099cf 45%, #00857c 45%, #00857c 72%, #263b73 72%, #263b73 100% ) !important;
  opacity: 1 !important;
}
.msi-contraste-alto .deco-tarjeta-cenefa::after{
  background: var(--msi-ma-acciones) !important;
}
/* ====== 8. Programa educativo, carrusel ====== */
#carruselprogramas.modulo-diapositivas.controles-on .goto-prev,.modulo-diapositivas.controles-on .goto-next{background:#021b39;color:#fff;}
#carruselprogramas.modulo-diapositivas.indicadores-on .modulo-diapositivas-indicadores{position:relative;top:-70px;}
#carruselprogramas.modulo-diapositivas.indicadores-on .modulo-diapositivas-indicadores button,#carruselprogramas.modulo-diapositivas.indicadores-on .modulo-diapositivas-indicadores button.active{background:#fff;}


/* ====== 9. Página de donación ====== */
.mascara-iframe,.mascara-iframe iframe{position:relative;width:100%;min-height:70vh;border:none;padding:0px;margin:0px;margin-bottom:-10px;}
.lista-bullets {
  padding-left: 30px;
}
.lista-bullets p mark{
  margin-left: -20px;
}

/* ====== 10. Modulo Accesibilidad visual ====== */
.msi-acc-panel{position:fixed;left:16px;bottom:92px;z-index:9999;width:max-content;max-width:min(340px,calc(100vw - 32px));backdrop-filter:blur(10px) !important;border:1px solid rgba(15,23,42,.10);box-shadow:0 16px 40px rgba(15,23,42,.18);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .18s ease,transform .18s ease;}
/* Accesibilidad visual: Cuando está abierto */
.msi-acc-panel.is-open{opacity:1;transform:translateY(0);pointer-events:auto;}
/* Accesibilidad visual: Botones del panel */
#msiAccPanel button{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease;}
#msiAccPanel button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(15,23,42,.12);}
/* Accesibilidad visual: Botón flotante ♿ */
.msi-acc-btn{position:fixed;left:16px;bottom:16px;z-index:1000;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease;}
.msi-acc-btn:hover{transform:translateY(-1px);box-shadow:0 20px 40px rgba(15,23,42,.24);}
.msi-acc-btn:active{transform:translateY(0);box-shadow:0 12px 26px rgba(15,23,42,.18);}
.msi-acc-btn:focus-visible{outline:3px solid rgba(56,189,248,.55);outline-offset:3px;}
/* Mobile: Accesibilidad visual: solo ícono (opcional, para que no estorbe) */
@media (max-width: 480px){
  .msi-acc-btn button{padding:12px 16px !important;}
  .msi-acc-btn mark{ display: none; }
  .msi-acc-panel{ bottom: 78px; }
}


/* Formas animadas */
.background-shapes{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;}
.shape{position:absolute;border-radius:50%;opacity:0.1;animation:float 6s ease-in-out infinite;}
.shape-1{width:100px;height:100px;top:10%;left:10%;animation-delay:0s;}
.shape-2{width:150px;height:150px;top:60%;right:10%;animation-delay:2s;}
.shape-3{width:80px;height:80px;bottom:20%;left:20%;animation-delay:4s;}
.shape-4{width:120px;height:120px;top:30%;right:30%;animation-delay:1s;}
.shape-5{width:60px;height:60px;bottom:60%;right:60%;animation-delay:3s;}
.shape-1,.shape-3,.shape-5{background:var(--wp--preset--color--accent-1);}
.shape-2,.shape-4{background:var(--wp--preset--color--accent-2);}

@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-20px) rotate(180deg); }
}
