/* Texto base en todo el sitio */
html body {
  font-family: "Lora", serif !important;
}

/* Encabezados y navegación */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-nav-menu a {
  font-family: "Signika", sans-serif !important;
}
/* Párrafo lead centrado y con ancho cómodo */
.lead-activites {
  max-width: 860px;
  margin: 16px auto 40px;
  font-size: clamp(18px, 2.1vw, 20px);
  line-height: 1.55;
  font-weight: 500;
  text-align: center;
}

@media (max-width: 768px){
  .lead-activites{ margin:12px auto 28px; }
	
	.section-gutters{padding-left:24px;padding-right:24px}
@media (min-width:768px){.section-gutters{padding-left:32px;padding-right:32px}}
@media (min-width:1025px){.section-gutters{padding-left:40px;padding-right:40px}}
@media (max-width: 767px){
  h1{font-size:30px;line-height:1.15;margin:0 0 14px;}
  h2{font-size:24px;line-height:1.2;margin:0 0 12px;}
  h3{font-size:20px;line-height:1.25;margin:0 0 10px;}
  p, li{font-size:16px;line-height:1.6;margin:0 0 12px;}
  .elementor-image img{border-radius:12px;}
}
	
	/* Smooth scroll */
html{ scroll-behavior: smooth; }

/* Offsets diferenciados (ajusta estos dos números) */
:root{
  --sticky-offset-desktop: 120px; /* prueba 112–136, pasos de 8px */
  --sticky-offset-mobile: 128px;  /* si tu header es más alto en móvil */
}

/* Aplica el offset según el breakpoint */
@media (min-width: 768px){
  :root{ --sticky-offset: var(--sticky-offset-desktop); }
}
@media (max-width: 767px){
  :root{ --sticky-offset: var(--sticky-offset-mobile); }
}

/* Compensa la admin bar cuando estás logueada */
body.admin-bar{
  --sticky-offset: calc(var(--sticky-offset) + 32px);
}
/* En móvil, la admin bar suele ser ~46px */
@media (max-width: 782px){
  body.admin-bar{
    --sticky-offset: calc(var(--sticky-offset) + 46px);
  }
}

/* Que todas las anclas respeten el margen de scroll */
.elementor-element[id],
.elementor-menu-anchor{
  scroll-margin-top: var(--sticky-offset);
}

/* Accesibilidad: si el usuario prefiere menos animación */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior: auto; }
}

	/* Variables de color para enlaces */
:root{
  --link: #F36C49;         /* Coral */
  --link-hover: #D53F46;   /* Coral más oscuro */
  --link-visited: #AF3C40; /* opcional; usa el mismo coral si prefieres */
  --link-underline-thickness: 2px;
}

/* Enlaces del contenido (párrafos, listas, etc.) */
.elementor-widget-text-editor a,
.elementor-heading-title a,
.elementor-widget-icon-box a,
.elementor-widget-image a{
  color: var(--link);
  text-decoration: none;
}
.elementor-widget-text-editor a:hover,
.elementor-heading-title a:hover,
.elementor-widget-icon-box a:hover,
.elementor-widget-image a:hover{
  color: var(--link-hover);
  text-decoration: underline;
  text-decoration-thickness: var(--link-underline-thickness);
  text-underline-offset: 2px;
}

/* Estado visitado (si lo usas) */
.elementor-widget-text-editor a:visited{
  color: var(--link-visited);
}

/* Accesibilidad: navegación con teclado */
a:focus-visible{
  outline: 2px solid currentColor;
  outline-offset: 2px;
  text-decoration: underline;
}

/* --- EXCLUSIONES: estos NO deben subrayarse --- */
/* Nav del header */
.elementor-nav-menu a{
  text-decoration: none !important;
  color: var(--link);
}
.elementor-nav-menu a:hover,
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item:focus{
  color: var(--link-hover);
}

/* Submenú interno (Listado de iconos) */
.elementor-icon-list-items a{
  text-decoration: none !important;
  color: var(--link);
}
.elementor-icon-list-items a:hover{
  color: var(--link-hover);
}

/* Botones */
a.elementor-button,
.elementor-button{
  text-decoration: none !important;
}

/* Página actual en el menú (mejor feedback) */
.elementor-nav-menu .current-menu-item > a,
.elementor-nav-menu .current_page_item > a{
  color: var(--link-hover);
}
/* —— Ritmo tipográfico y ancho legible para toda la página —— */
.elementor-1067 .elementor-widget-text-editor {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
}

/* Si el lead ("Ce qui nous unit") es un widget de texto, opcionalmente dale clase 'lead' */
.elementor-1067 .lead {
  max-width: 700px;
  margin: 0 auto 20px auto;
  line-height: 1.6;
}

/* Títulos H2 (Mission, Objectifs, Valeurs, Histoire…) */
.elementor-1067 h2.elementor-heading-title {
  margin-top: 0;
  margin-bottom: 12px;
}

/* Separación entre secciones ancladas (no toca el hero) */
.elementor-1067 #mission,
.elementor-1067 #objectifs,
.elementor-1067 #valeurs,
.elementor-1067 #histoire {
  margin-bottom: 40px;
}

/* Imágenes sueltas: aire y ancho prudente */
.elementor-1067 .elementor-widget-image {
  margin: 20px auto;
  max-width: 780px;
}

/* Responsive: compactar en móvil */
@media (max-width: 767px){
  .elementor-1067 #mission,
  .elementor-1067 #objectifs,
  .elementor-1067 #valeurs,
  .elementor-1067 #histoire { margin-bottom: 20px; }

  .elementor-1067 .elementor-widget-text-editor,
  .elementor-1067 .lead { padding: 0 16px; }
}

/* ===== Le Collectif — ID página 1067 ===== */

/* 1) Separación homogénea entre secciones (evita el “pavé”) */
.elementor-1067 .elementor-section:not(:first-of-type){
  margin-bottom: 40px !important;   /* aire entre cada ancla/bloque */
}

/* 2) Ancho legible + ritmo para títulos y párrafos */
.elementor-1067 .elementor-widget-heading,
.elementor-1067 .elementor-widget-text-editor{
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Títulos h2 (Mission, Objectifs, Valeurs, Histoire…) */
.elementor-1067 h2.elementor-heading-title{
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

/* Párrafos: aire y lectura */
.elementor-1067 .elementor-widget-text-editor .elementor-text-editor{
  line-height: 1.6 !important;
}

/* Si tu lead (“Ce qui nous unit”) es un widget de texto, dale clase 'lead' y aplicará esto */
.elementor-1067 .lead{
  max-width: 700px !important;
  margin: 0 auto 20px auto !important;
  line-height: 1.6 !important;
}

/* Imágenes sueltas: centradas y con aire */
.elementor-1067 .elementor-widget-image{
  margin: 20px auto !important;
  max-width: 780px !important;
}

/* Responsive: compactar en móvil */
@media (max-width: 767px){
  .elementor-1067 .elementor-section:not(:first-of-type){
    margin-bottom: 20px !important;
  }
  .elementor-1067 .elementor-widget-heading,
  .elementor-1067 .elementor-widget-text-editor,
  .elementor-1067 .lead{
    padding: 0 16px !important;
  }
}
	/* Contenedor de fila equipo */
.team-row {
  display: grid;
  grid-template-columns: 240px 1fr; /* ancho fijo foto + texto fluido */
  gap: 24px;                        /* espacio justo entre foto y texto */
  align-items: start;
  margin-bottom: 40px;              /* separación entre miembros */
}

/* Imagen consistente */
.team-row img {
  width: 100%;
  height: auto;
  aspect-ratio: 3/4;
  object-fit: cover;
  border-radius: 12px;
  margin: 0;                        /* elimina espacio fantasma */
}

/* Texto limpio */
.team-row h3, 
.team-row p {
  margin: 0 0 12px 0;               /* un poco abajo, nada más */
}

/* En móvil: apilar */
@media (max-width: 767px) {
  .team-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
/* ===== Equipo (secciones/columnas clásicas de Elementor) =====
   Usa en cada bloque de persona una SECCIÓN con clase: team-row
   Estructura: Sección.team-row → Columna 1 (Image) + Columna 2 (Heading + Text)
*/

/* Espacio y reset básicos de la sección */
.elementor-section.team-row{
  margin:40px 0;
  padding:0 !important;
}

/* Desktop: 2 columnas (foto fija 220–260px + texto fluido) */
.elementor-section.team-row > .elementor-container{
  display:grid !important;
  grid-template-columns: minmax(220px,260px) 1fr;
  gap:24px !important;
  align-items:start;
}

/* Limpiar acolchados de columnas que inflan el layout */
.elementor-section.team-row .elementor-column{ padding:0 !important; }

/* Imagen consistente (retrato) */
.elementor-section.team-row .elementor-widget-image img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio: 3 / 4;    /* si prefieres cuadradas, cambia a 1 / 1 */
  object-fit:cover;
  border-radius:12px;
  margin:0 !important;
}

/* Márgenes de texto controlados */
.elementor-section.team-row h1,
.elementor-section.team-row h2,
.elementor-section.team-row h3,
.elementor-section.team-row h4{ margin:0 0 10px 0; }
.elementor-section.team-row p{ margin:0 0 12px 0; line-height:1.65; }

/* ===== Tablet (≤1025px): apilar, foto centrada y con tope de ancho ===== */
@media (max-width:1025px){
  .elementor-section.team-row{ margin:32px 0; }
  .elementor-section.team-row > .elementor-container{
    grid-template-columns: 1fr !important;
    gap:18px !important;
  }
  .elementor-section.team-row .elementor-widget-image img{
    max-width:540px;
    margin:0 auto !important; /* centrada */
  }
}

/* ===== Móvil (≤767px): aire y gap más pequeño ===== */
@media (max-width:767px){
  .elementor-section.team-row{ margin:28px 0; }
  .elementor-section.team-row > .elementor-container{ gap:16px !important; }
  .elementor-section.team-row .elementor-widget-image img{ max-width:100% !important; }
}
}

body .elementor-section.team-row { outline: 3px dashed fuchsia !important; }
