.elementor-kit-7{--e-global-color-primary:#005598;--e-global-color-secondary:#35AEE2;--e-global-color-text:#1D2B3A;--e-global-color-accent:#FFEF00;--e-global-color-cadark:#002B4D;--e-global-color-cadark2:#003D6E;--e-global-color-casoft:#E8F4FB;--e-global-color-calight:#E9EEF8;--e-global-color-camuted:#63707E;--e-global-color-caborder:#DFE6EE;--e-global-color-cawhite:#FFFFFF;--e-global-typography-primary-font-family:"Barlow";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:1.16em;--e-global-typography-primary-letter-spacing:-0.3px;--e-global-typography-secondary-font-family:"Barlow";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-line-height:1.3em;--e-global-typography-text-font-family:"Fira Sans";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.75em;--e-global-typography-accent-font-family:"Fira Sans";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-letter-spacing:0.6px;background-color:#FFFFFF;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#005598;font-family:"Fira Sans", Sans-serif;font-size:15px;font-weight:600;letter-spacing:0.3px;color:#FFFFFF;border-radius:6px 6px 6px 6px;padding:16px 32px 16px 32px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:#00437A;color:#FFFFFF;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 h1{color:#1D2B3A;font-family:"Barlow", Sans-serif;font-size:44px;font-weight:700;}.elementor-kit-7 h2{color:#1D2B3A;font-family:"Barlow", Sans-serif;font-size:36px;font-weight:700;}.elementor-kit-7 h3{color:#1D2B3A;font-family:"Barlow", Sans-serif;font-size:22px;font-weight:600;}.elementor-kit-7 h4{color:#1D2B3A;font-family:"Barlow", Sans-serif;font-size:18px;font-weight:600;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ===========================================================
   CIALI · Design System — CSS global
   Tokens y componentes definidos en design/DESIGN-SYSTEM.md
   Nomenclatura semántica ca-*; no depende de IDs de Elementor.
   =========================================================== */

:root{
  --ca-primary:#005598;        --ca-primary-hover:#00437A;
  --ca-secondary:#35AEE2;      --ca-secondary-soft:#E8F4FB;
  --ca-accent:#FFEF00;
  --ca-dark:#002B4D;           --ca-dark-2:#003D6E;
  --ca-text:#1D2B3A;           --ca-muted:#63707E;
  --ca-border:#DFE6EE;         --ca-dot:#C9D2E0;
  --ca-light:#E9EEF8;          --ca-background:#FFFFFF;

  --ca-container:1200px;
  --ca-radius-sm:6px;          --ca-radius-md:12px;   --ca-radius-lg:24px;
  --ca-shadow-sm:0 0 18px 0 rgba(27,31,45,.08);
  --ca-shadow:0 0 50px 0 rgba(27,31,45,.10);
  --ca-shadow-card:0 0 62px 0 rgba(27,31,45,.09);
  --ca-shadow-hover:0 0 50px 0 rgba(27,31,45,.20);
  --ca-transition:300ms ease;  --ca-transition-slow:500ms ease;
}

/* ---------- Base ---------- */
html{ scroll-behavior:smooth; }
html, body{ overflow-x:hidden; max-width:100%; }
img{ max-width:100%; height:auto; }
.e-con, .e-con-inner, .elementor-widget-container{ min-width:0; max-width:100%; }

/* ---------- Pantalla de precarga ---------- */
#ciali-preloader{
  position:fixed; inset:0; z-index:99999;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:26px; background:var(--ca-background);
  transition:opacity .55s ease, visibility .55s ease;
}
#ciali-preloader.ciali-oculto{ opacity:0; visibility:hidden; }
#ciali-preloader .ciali-pre-logo{ width:170px; max-width:60vw; height:auto; animation:caFade 1.6s ease-in-out infinite; }
#ciali-preloader .ciali-pre-barra{ width:180px; height:3px; border-radius:3px; background:#E3ECF3; overflow:hidden; }
#ciali-preloader .ciali-pre-barra span{
  display:block; width:40%; height:100%; border-radius:3px;
  background:linear-gradient(90deg,var(--ca-primary),var(--ca-secondary));
  animation:caBarra 1.25s ease-in-out infinite;
}
@keyframes caFade{ 0%,100%{opacity:1} 50%{opacity:.55} }
@keyframes caBarra{ 0%{transform:translateX(-100%)} 100%{transform:translateX(350%)} }

/* ---------- Etiquetas con filete de acento ---------- */
.ca-label .elementor-heading-title{ position:relative; display:inline-block; padding-left:46px; }
.ca-label .elementor-heading-title::before{
  content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:34px; height:3px; border-radius:2px; background:var(--ca-accent);
}
.ca-label--center .elementor-heading-title{ padding-left:0; padding-top:16px; }
.ca-label--center .elementor-heading-title::before{
  left:50%; top:0; transform:translateX(-50%);
}

/* ---------- Cabecera ----------
   El desplegable del menú quedaba por debajo del banner: el hero crea su
   propio contexto de apilamiento y ganaba a la cabecera. Se eleva la
   cabecera por encima de cualquier sección y se fuerza el submenú. */
.ca-header{ position:relative; z-index:999; }
.ca-header__main{ box-shadow:0 1px 0 0 rgba(27,31,45,.07); }
.ca-header--sticky{ position:sticky; top:0; z-index:999; }
.elementor-location-header{ position:relative; z-index:999; }

/* El menú y su desplegable, por encima de todo lo demás */
.ca-nav, .ca-nav .elementor-widget-nav-menu{ position:relative; z-index:1000; }
.elementor-nav-menu--dropdown,
.elementor-nav-menu--main .sub-menu,
.elementor-nav-menu .sub-menu{ z-index:1001 !important; }
/* El contenedor del menú no debe recortar el desplegable */
.ca-header, .ca-header__main, .ca-nav,
.ca-header .e-con-inner, .ca-header__main .e-con-inner{ overflow:visible !important; }

/* Las secciones del contenido quedan por debajo de la cabecera */
.ca-hero, .ca-section, .ca-pagehead{ z-index:1; }

/* ---------- Hero ---------- */
.ca-hero{ position:relative; overflow:hidden; }
.ca-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(circle at 12% 18%, rgba(53,174,226,.28), transparent 55%),
    radial-gradient(circle at 88% 82%, rgba(0,85,152,.34), transparent 60%);
}
.ca-hero::after{
  content:''; position:absolute; right:-40px; top:-40px; width:340px; height:340px;
  pointer-events:none; opacity:.30;
  background-image:radial-gradient(circle, rgba(255,255,255,.9) 1px, transparent 1.6px);
  background-size:16px 16px;
  -webkit-mask-image:radial-gradient(circle at 70% 30%, #000 30%, transparent 72%);
          mask-image:radial-gradient(circle at 70% 30%, #000 30%, transparent 72%);
}
.ca-hero__contenido{ position:relative; z-index:2; }

/* Cabecera de página interna */
.ca-pagehead{ position:relative; overflow:hidden; }
.ca-pagehead::after{
  content:''; position:absolute; right:-60px; bottom:-60px; width:260px; height:260px;
  pointer-events:none; opacity:.22;
  background-image:radial-gradient(circle, rgba(255,255,255,.9) 1px, transparent 1.6px);
  background-size:16px 16px;
  -webkit-mask-image:radial-gradient(circle at 30% 70%, #000 30%, transparent 70%);
          mask-image:radial-gradient(circle at 30% 70%, #000 30%, transparent 70%);
}
.ca-pagehead__contenido{ position:relative; z-index:2; }

/* ---------- Tarjetas ---------- */
.ca-card{ position:relative; transition:transform var(--ca-transition), box-shadow var(--ca-transition); }
.ca-card::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:3px;
  border-radius:0 0 var(--ca-radius-sm) var(--ca-radius-sm);
  background:linear-gradient(90deg,var(--ca-secondary),var(--ca-primary));
  transform:scaleX(0); transform-origin:left; transition:transform 450ms ease;
}
.ca-card:hover{ transform:translateY(-8px); box-shadow:var(--ca-shadow-hover)!important; }
.ca-card:hover::after{ transform:scaleX(1); }

/* Tarjetas montadas sobre el hero */
.ca-pilares{ margin-top:-70px!important; position:relative; z-index:6; }

/* ---------- Cifras ---------- */
.ca-stat{ position:relative; padding-left:18px; }
.ca-stat::before{
  content:''; position:absolute; left:0; top:6px; bottom:6px; width:3px;
  border-radius:2px; background:var(--ca-secondary);
}

/* ---------- Listas de la comisión / directorio ---------- */
.ca-person{ border-bottom:3px solid var(--ca-secondary); }

/* ---------- CTA ---------- */
.ca-cta{ position:relative; overflow:hidden; }
.ca-cta::before{
  content:''; position:absolute; inset:0; pointer-events:none; opacity:.22;
  background-image:radial-gradient(circle, rgba(255,255,255,.85) 1px, transparent 1.6px);
  background-size:18px 18px;
  -webkit-mask-image:linear-gradient(105deg, transparent 52%, #000 100%);
          mask-image:linear-gradient(105deg, transparent 52%, #000 100%);
}
.ca-cta > .e-con-inner, .ca-cta__texto, .ca-cta__accion{ position:relative; z-index:2; }

/* ---------- Pie ---------- */
.ca-footer{ position:relative; }
.ca-footer::before{
  content:''; position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg,var(--ca-primary),var(--ca-secondary),var(--ca-accent));
}

/* ---------- Botones ---------- */
.ca-btn .elementor-button{ transition:var(--ca-transition); }
.ca-btn .elementor-button:hover{ transform:translateY(-2px); }
.ca-btn .elementor-button .elementor-button-icon{ transition:transform var(--ca-transition); }
.ca-btn .elementor-button:hover .elementor-button-icon{ transform:translateX(4px); }

/* ---------- Tarjeta de noticia: superposición del sistema ---------- */
.elementor-widget-posts .elementor-post__card{
  display:flex; flex-direction:column;
  background:transparent!important; border:0!important; box-shadow:none!important;
  padding:0!important; overflow:visible!important;
}
.elementor-widget-posts .elementor-post__card .elementor-post__avatar{ display:none!important; }
.elementor-widget-posts .elementor-post__card .elementor-post__thumbnail__link{
  order:1; margin:0; border-radius:var(--ca-radius-sm); overflow:hidden;
}
/* El zoom se aplica al CONTENEDOR de la miniatura, nunca a la propia imagen:
   Elementor centra la imagen con un transform propio (matrix con translate) y
   un `transform:scale()` sobre ella lo sustituye por completo, de modo que la
   foto perdía el centrado y se iba a una esquina dejando un hueco. */
.elementor-widget-posts .elementor-post__card .elementor-post__thumbnail{
  transition:transform .6s ease;
}
.elementor-widget-posts .elementor-post__card:hover .elementor-post__thumbnail{
  transform:scale(1.06);
}

.elementor-widget-posts .elementor-post__card .elementor-post__badge{
  order:2; position:relative; z-index:3; align-self:flex-start;
  margin:-62px 0 0 34px!important;
  top:auto; right:auto; left:auto; bottom:auto;
  padding:3px 21px; line-height:18px; height:24px;
  font-size:13px; font-weight:600; text-transform:uppercase; letter-spacing:.4px;
  color:#FFF; background:var(--ca-primary);
  border-radius:var(--ca-radius-md); width:max-content;
  box-shadow:0 6px 18px rgba(0,61,110,.28);
  transition:var(--ca-transition-slow);
}
.elementor-widget-posts .elementor-post__card:hover .elementor-post__badge{ background:var(--ca-secondary); }

.elementor-widget-posts .elementor-post__card .elementor-post__meta-data{
  order:3; position:relative; z-index:2;
  margin:-12px 11px 0!important; padding:18px 23px 0;
  background:#FFF; border-radius:var(--ca-radius-sm) var(--ca-radius-sm) 0 0;
  box-shadow:-30px 0 46px -30px rgba(27,31,45,.09), 30px 0 46px -30px rgba(27,31,45,.09), 0 -26px 46px -26px rgba(27,31,45,.09);
  font-size:14px; font-weight:500; color:#808080;
  transition:var(--ca-transition-slow);
}
.elementor-widget-posts .elementor-post__card .elementor-post__text{
  order:4; position:relative; z-index:2;
  margin:0 11px 0!important; padding:10px 23px 25px;
  background:#FFF; border-radius:0 0 var(--ca-radius-sm) var(--ca-radius-sm);
  box-shadow:var(--ca-shadow-card); overflow:hidden;
  transition:var(--ca-transition-slow);
}
.elementor-widget-posts .elementor-post__card .elementor-post__text::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background-image:linear-gradient(90deg, var(--ca-dark-2) 0%, var(--ca-primary) 75%);
  opacity:0; border-radius:0 0 var(--ca-radius-sm) var(--ca-radius-sm);
  transform:perspective(400px) rotateX(-90deg); transform-origin:top;
  transition:var(--ca-transition-slow);
}
.elementor-widget-posts .elementor-post__card:hover .elementor-post__text::before{
  transform:perspective(400px) rotateX(0deg); opacity:1;
}
.elementor-widget-posts .elementor-post__card:hover .elementor-post__meta-data{
  background:var(--ca-dark-2); color:#C9DCEA;
}
.elementor-widget-posts .elementor-post__card:hover .elementor-post__title a,
.elementor-widget-posts .elementor-post__card:hover .elementor-post__excerpt p,
.elementor-widget-posts .elementor-post__card:hover .elementor-post__read-more{ color:#FFF!important; }

/* Separador punteado bajo el titular */
.elementor-widget-posts .elementor-post__card .elementor-post__title{
  position:relative; padding-bottom:30px; margin-bottom:20px;
  font-size:22px; font-weight:600; line-height:1.3;
}
.elementor-widget-posts .elementor-post__card .elementor-post__title a{
  font-size:22px; font-weight:600; line-height:1.3;
}
.elementor-widget-posts .elementor-post__card .elementor-post__title::before{
  content:''; position:absolute; left:0; bottom:0; height:6px; width:100%;
  background-image:radial-gradient(circle, var(--ca-dot) 1px, transparent 1.5px);
  background-size:7px 6px; background-repeat:repeat-x; background-position:left bottom;
  transition:var(--ca-transition-slow);
}
.elementor-widget-posts .elementor-post__card:hover .elementor-post__title::before{
  background-image:radial-gradient(circle, rgba(255,255,255,.55) 1px, transparent 1.5px);
}

/* Enlace "Leer más" */
.elementor-widget-posts .elementor-post__card .elementor-post__read-more{
  position:relative; display:inline-block; padding-left:30px;
  font-size:15px; font-weight:700; color:var(--ca-primary); text-decoration:none;
  transition:var(--ca-transition-slow);
}
.elementor-widget-posts .elementor-post__card .elementor-post__read-more::before{
  content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
  height:1px; width:21px; background:currentColor; transition:var(--ca-transition-slow);
}
.elementor-widget-posts .elementor-post__card .elementor-post__read-more::after{
  content:'2192'; position:absolute; left:21px; top:50%; transform:translateY(-50%);
  opacity:0; font-size:14px; transition:var(--ca-transition-slow);
}
.elementor-widget-posts .elementor-post__card .elementor-post__read-more:hover{ padding-left:42px; }
.elementor-widget-posts .elementor-post__card .elementor-post__read-more:hover::before{ width:14px; }
.elementor-widget-posts .elementor-post__card .elementor-post__read-more:hover::after{ opacity:1; left:18px; }

/* Flyers verticales: se muestran completos, no recortados.
   Las tres propiedades de posición son imprescindibles: con `contain` a secas
   la imagen conserva su tamaño natural y desborda la tarjeta. */
.ca-news--contain .elementor-post__thumbnail{
  position:relative; overflow:hidden;
  background:var(--ca-light);
  background-image:radial-gradient(circle, var(--ca-dot) 1px, transparent 1.5px);
  background-size:14px 14px;
}
.ca-news--contain .elementor-post__thumbnail img{
  position:absolute; inset:0;
  width:100%!important; height:100%!important;
  max-width:100%; object-fit:contain!important;
}
/* Toda imagen dentro de una tarjeta queda contenida */
.elementor-widget-posts .elementor-post__thumbnail img{ max-width:100%; }

/* Textos largos sin espacios (nombres de empresa) no rompen la caja */
.elementor-icon-list-text, .elementor-icon-list-item{ overflow-wrap:anywhere; min-width:0; }
.elementor-icon-list-items{ min-width:0; }

/* ---------- Logotipos de empresas asociadas ---------- */
.ca-logos .gallery-item img,
.elementor-widget-image-gallery .gallery-item img{
  background:#FFF; padding:16px; object-fit:contain;
  transition:transform var(--ca-transition), filter var(--ca-transition);
}
.ca-logos .gallery-item:hover img,
.elementor-widget-image-gallery .gallery-item:hover img{ transform:translateY(-4px); }
.elementor-widget-media-carousel .swiper-slide img{ background:#FFF; object-fit:contain; }

/* Carrusel de logotipos: altura uniforme, nunca recortados */
.ca-logos-carousel .swiper-slide{ display:flex; align-items:center; justify-content:center; }
.ca-logos-carousel .swiper-slide figure,
.ca-logos-carousel .swiper-slide .swiper-slide-inner{ width:100%; }
.ca-logos-carousel .swiper-slide img{
  width:100%; height:92px; object-fit:contain!important;
  background:#FFF; padding:14px 18px;
  border:1px solid var(--ca-border); border-radius:var(--ca-radius-sm);
  transition:transform var(--ca-transition), border-color var(--ca-transition);
}
.ca-logos-carousel .swiper-slide img:hover{
  transform:translateY(-4px); border-color:var(--ca-secondary);
}

/* ---------- Entrada individual ---------- */
.ca-single__contenido p{ margin-bottom:1.4em; }
.ca-single__contenido img{ border-radius:var(--ca-radius-sm); height:auto; }
.ca-single__contenido h2, .ca-single__contenido h3{ margin-top:1.6em; margin-bottom:.6em; }

/* ---------- Accesibilidad ---------- */
a:focus-visible, button:focus-visible,
.elementor-button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible{
  outline:3px solid var(--ca-secondary); outline-offset:3px; border-radius:2px;
}
.ca-skip-link{
  position:absolute; left:-9999px; top:0; z-index:100000;
  background:var(--ca-primary); color:#FFF; padding:12px 20px; border-radius:0 0 6px 0;
}
.ca-skip-link:focus{ left:0; }

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .e-con, .e-con-inner{ max-width:100%!important; }
  .elementor-location-header .e-con-inner{ flex-wrap:wrap; }
  .ca-hero::after{ width:220px; height:220px; }
  .ca-pilares{ margin-top:-50px!important; }
}
@media (max-width:767px){
  .e-con.e-child, .e-con-inner > .e-con{
    width:100%!important; max-width:100%!important; flex-basis:auto!important;
  }
  .e-con > .e-con-inner{ width:100%!important; max-width:100%!important; }
  .elementor-widget{ max-width:100%!important; }
  .ca-topbar__dir{ display:none; }
  .ca-pilares{ margin-top:-40px!important; }
  .ca-hero::after{ display:none; }
  .ca-stat{ padding-left:14px; }
  .elementor-location-header .elementor-widget-theme-site-logo img,
  .elementor-location-header .elementor-widget-image img{ max-width:132px; }
  .elementor-widget-text-editor, .elementor-widget-heading{ overflow-wrap:anywhere; }
  .elementor-widget-posts .elementor-post__card .elementor-post__badge{ margin:-54px 0 0 26px!important; }
  .elementor-widget-posts .elementor-post__card .elementor-post__meta-data{ margin:-12px 8px 0!important; padding:16px 18px 0; }
  .elementor-widget-posts .elementor-post__card .elementor-post__text{ margin:0 8px 0!important; padding:10px 18px 22px; }
  .elementor-widget-posts .elementor-post__card .elementor-post__title,
  .elementor-widget-posts .elementor-post__card .elementor-post__title a{ font-size:20px; }
}
@media (max-width:480px){
  .elementor-location-header .elementor-widget-image img{ max-width:112px; }
}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .ca-card, .ca-card::after, .ca-btn .elementor-button,
  .ca-btn .elementor-button .elementor-button-icon,
  .elementor-widget-posts .elementor-post__card .elementor-post__text::before{ transition:none; }
  .ca-card:hover{ transform:none; }
  .elementor-widget-posts .elementor-post__card:hover .elementor-post__thumbnail{ transform:none; }
  #ciali-preloader .ciali-pre-logo, #ciali-preloader .ciali-pre-barra span{ animation:none; }
}/* End custom CSS */