.elementor-kit-7{--e-global-color-primary:#FFFBF0;--e-global-color-secondary:#323638;--e-global-color-text:#FFFBF0;--e-global-color-accent:#FFFBF0;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Montserrat";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-weight:800;background-color:#FFFBF0;font-family:"Montserrat", Sans-serif;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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);}@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 *//* MENÚ DEL HEADER – colores consistentes en front */

/* Normal + visited */
header .elementor-nav-menu--main .elementor-item,
header .elementor-nav-menu--main .elementor-item:link,
header .elementor-nav-menu--main .elementor-item:visited {
  color: var(--e-global-color-primary) !important; /* reemplazá por tu color si no usás Global Colors */
}

/* Hover / focus */
header .elementor-nav-menu--main .elementor-item:hover,
header .elementor-nav-menu--main .elementor-item:focus {
  color: var(--e-global-color-secondary) !important;
}

/* Item activo (página actual) */
header .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: var(--e-global-color-primary) !important;
}

/* Si usás “Pointer: Background” en el Nav Menu, fijá también el fondo del activo/hover */
header .e--pointer-background .elementor-item:before {background-color: rgba(255,255,255,.12) !important; /* ajustá a tu diseño */
}


/* Contenedor con ratio editorial y recorte elegante */
.media-figure {
  --ratio: 56.25%; /* 16:9 clásico de medios */
  position: relative;
  margin: 0 0 12px 0;
}

.media-figure picture {
  position: relative;
  display: block;
  overflow: hidden;
}

.media-figure picture::before {
  content: "";
  display: block;
  padding-top: var(--ratio);
}

.media-figure img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
  display: block;
}

/* Figcaption sobrio, como prensa */
.media-figure figcaption {
  font-size: .95rem; line-height: 1.4;
  color: #5b6470;
  margin-top: 6px;
}
@media (max-width: 767px) {
  .media-figure { --ratio: 66.66%; } /* 3:2 en mobile para más altura */
}
/* === STYLE GLOBAL DES LIENS - FINAL VERSION === */

/* Liens généraux (hors boutons et menus) */
a:not(.elementor-button):not(.wp-block-button__link):not(.elementor-item),
a:link:not(.elementor-button):not(.wp-block-button__link):not(.elementor-item),
a:visited:not(.elementor-button):not(.wp-block-button__link):not(.elementor-item) {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  color: #1E1E1E;
  transition: color 0.2s ease-in-out;
}

/* Survol / focus (hors boutons et menus) */
a:hover:not(.elementor-button):not(.wp-block-button__link):not(.elementor-item),
a:focus:not(.elementor-button):not(.wp-block-button__link):not(.elementor-item),
a:active:not(.elementor-button):not(.wp-block-button__link):not(.elementor-item) {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  color: #323638 !important; /* Noir doux au survol */
  outline: none !important;
}

/* Neutralise les styles de thème et d'Elementor sur les liens texte */
.ast-single-entry-content a:not(.elementor-button),
.elementor a:not(.elementor-button):not(.elementor-item) {
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* Titres, widgets, loop grids, etc. */
.elementor-post__title a,
.elementor-widget-container a:not(.elementor-button):not(.elementor-item) {
  text-decoration: none !important;
  border: none !important;
  box-shadow: none !important;
  color: #1E1E1E !important;
}

/* Curseur interactif sur tous les liens */
a,
a:hover {
  cursor: pointer !important;
}

/* === CONTRASTE AUTOMATIQUE POUR LES FONDS SOMBRES === */

/* Liens sur header / footer ou blocs foncés */
[data-elementor-type="header"] a:not(.elementor-button),
[data-elementor-type="footer"] a:not(.elementor-button),
.elementor-widget-container[style*="background-color:#2E2E2E"] a:not(.elementor-button),
.elementor-widget-container[style*="background-color:#1E1E1E"] a:not(.elementor-button) {
  color: #FFFBF0 !important;
}

/* Survol sur fond foncé */
[data-elementor-type="header"] a:hover:not(.elementor-button),
[data-elementor-type="footer"] a:hover:not(.elementor-button),
.elementor-widget-container[style*="background-color:#2E2E2E"] a:hover:not(.elementor-button),
.elementor-widget-container[style*="background-color:#1E1E1E"] a:hover:not(.elementor-button) {
  color: #FFFBF0 !important;
  background-color: transparent !important;
  text-decoration: underline !important;
  transition: all 0.2s ease-in-out;
}

/* === FIX : Garde le menu clair dans le header sombre === */
[data-elementor-type="header"] .elementor-item,
[data-elementor-type="header"] .elementor-item a {
  color: #FFFBF0 !important; /* texte clair */
  text-decoration: none !important;
  font-weight: 700 !important;
}

[data-elementor-type="header"] .elementor-item:hover,
[data-elementor-type="header"] .elementor-item:focus {
  color: #FFFFFF !important; /* blanc pur au survol */
  background-color: transparent !important;
  text-decoration: underline !important;
}

/* === FIN DU STYLE === */
/* === FIX : Sous-menu clair sur fond foncé === */

[data-elementor-type="header"] .elementor-nav-menu--dropdown,
.elementor-nav-menu--dropdown {
  background-color: #2E2E2E !important; /* fond sombre cohérent */
  border-radius: 6px !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

[data-elementor-type="header"] .elementor-nav-menu--dropdown a,
.elementor-nav-menu--dropdown a {
  color: #FFFBF0 !important; /* texte clair */
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
  padding: 8px 14px !important;
  display: block;
}

[data-elementor-type="header"] .elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown a:hover {
  color: #FFFFFF !important; /* blanc pur au survol */
  background-color: rgba(255, 255, 255, 0.08) !important; /* léger effet de survol */
  text-decoration: underline !important;
}
/* === FIX GLOBAL HEADER COSSL === */

/* --- Menú principal (nivel 1) --- */
[data-elementor-type="header"] .elementor-nav-menu a {
  color: #FFFBF0 !important;        /* texto crema */
  font-weight: 600 !important;
  text-decoration: none !important; /* elimina subrayado */
  border: none !important;
  background: transparent !important;
  transition: color 0.2s ease;
}

/* Hover o focus (solo cambio de color, sin subrayado) */
[data-elementor-type="header"] .elementor-nav-menu a:hover,
[data-elementor-type="header"] .elementor-nav-menu a:focus {
  color: #FFFFFF !important;        /* blanco puro */
  text-decoration: none !important; /* sin subrayado */
  border: none !important;
  background: transparent !important;
}

/* Elimina el "pointer underline" de Elementor */

/* === SUBMENU TEXT VISIBILITY FIX === */

/* Forzamos color claro en todos los textos del submenú */
[data-elementor-type="header"] .elementor-nav-menu--dropdown a,
[data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-item,
.elementor-nav-menu--dropdown .elementor-item,
.elementor-nav-menu--dropdown a {
  color: #FFFBF0 !important;      /* crema legible */
  opacity: 1 !important;           /* por si Elementor aplica transparencia */
  text-shadow: none !important;
  background: transparent !important;
}

/* Hover del submenú (sin fondo negro adicional) */
[data-elementor-type="header"] .elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown .elementor-item:hover {
  color: #FFFFFF !important;        /* blanco puro */
  background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Asegura contraste de fondo (a veces el dropdown interno se hereda) */
[data-elementor-type="header"] .elementor-nav-menu--dropdown,
.elementor-nav-menu--dropdown {
  background-color: #2E2E2E !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
/* === COSSL : Corte de texto uniforme en loop-card y loop-card-publications === */

/* --- TITULOS (máximo 3 líneas, misma altura) --- */
.loop-card .elementor-post__title a,
.loop-card-publications .elementor-post__title a {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.4em !important;
  height: 4.2em !important; /* 3 líneas x 1.4em */
  color: #1E1E1E !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: normal !important;
}

/* --- EXTRACTOS (máximo 2 líneas) --- */
.loop-card .elementor-post__excerpt,
.loop-card-publications .elementor-post__excerpt {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  height: 3em !important; /* 2 líneas x 1.5em */
  line-height: 1.5em !important;
  color: #1E1E1E !important;
  opacity: 0.9 !important;
}

/* --- Alineación de estructura interna --- */
.loop-card .elementor-loop-item,
.loop-card-publications .elementor-loop-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

/* === FOOTER COSSL : estilo definitivo con clase (alta especificidad) === */

.cossl-footer .elementor-widget-container a:not(.elementor-button):not(.elementor-item),
.cossl-footer a:not(.elementor-button):not(.elementor-item),
.cossl-footer a,
.cossl-footer a:visited {
  color: #FFFBF0 !important;      /* texto crema */
  font-weight: 400 !important;    /* normal */
  text-decoration: none !important;
}

.cossl-footer .elementor-widget-container a:hover:not(.elementor-button):not(.elementor-item),
.cossl-footer a:hover:not(.elementor-button):not(.elementor-item),
.cossl-footer a:hover,
.cossl-footer a:focus {
  color: #FFFFFF !important;      /* blanco puro al hover */
  font-weight: 700 !important;    /* bold al pasar el mouse */
  text-decoration: none !important;
}
/* ===== PLAN DE QUARTIER – Versión simple por bloque ===== */
.pq-panel {
  display: none;
  opacity: 0;
  transition: opacity .25s ease-in-out;
  padding: 1.5rem 0;
  border-top: 1px solid #e6e6e6;
  background: #FFFBF0;
}
.pq-panel.pq-visible {
  display: block;
  opacity: 1;
}
.pq-toggle {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-weight: 600;
  background: #323638;
  color: #FFFBF0;
  padding: .65rem 1.4rem;
  border-radius: 999px;
  border: 0;
  font-size: 0.95rem;
}
.pq-close {
  margin-top: 1.5rem;
  background: #323638;
  color: #FFFBF0;
  padding: .65rem 1.4rem;
  border-radius: 999px;
  border: 0;
  cursor: pointer;
  font-weight: 600;
  font-size: 0.95rem;
}
.pq-close:hover,
.pq-toggle:hover {
  filter: brightness(1.12);
}
.pq-toggle:focus-visible,
.pq-close:focus-visible {
  outline: 3px solid #FFFBF0;
  outline-offset: 2px;
}/* End custom CSS */