/*
Theme Name:   Fit Your Mind — Elementor
Theme URI:    https://fityourmind.be
Description:  Thème enfant GeneratePress optimisé pour Elementor. Fournit la charte graphique, les variables CSS et les styles de base. La mise en page est gérée par Elementor.
Author:       Fit Your Mind
Template:     generatepress
Version:      1.0.0
Text Domain:  fityourmind-elementor
*/

/* ═══════════════════════════════════════
   VARIABLES CSS GLOBALES
   Disponibles dans tout Elementor via var(--e-global-color-*)
   et directement en CSS custom
═══════════════════════════════════════ */
:root {
  /* Couleurs principales */
  --fym-vert-profond:  #1C3D2E;
  --fym-vert-moyen:    #2D6A4F;
  --fym-vert-clair:    #52B788;
  --fym-vert-pale:     #D8F3DC;
  --fym-creme:         #F8F4EE;
  --fym-creme-fonce:   #EDE8DF;
  --fym-terre:         #8B6F47;
  --fym-terre-pale:    #F0E8DC;
  --fym-texte:         #1A1A1A;
  --fym-texte-doux:    #4A4A4A;
  --fym-texte-leger:   #7A7A7A;
  --fym-blanc:         #FFFFFF;
  --fym-accent:        #E07A3C;

  /* Typographies */
  --fym-font-titre:    'Playfair Display', Georgia, serif;
  --fym-font-corps:    'Source Serif 4', Georgia, serif;
  --fym-font-mono:     'DM Mono', monospace;
}

/* ═══════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--fym-font-corps) !important;
  background-color: var(--fym-creme) !important;
  color: var(--fym-texte) !important;
  -webkit-font-smoothing: antialiased;
}

/* Titres globaux */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
  font-family: var(--fym-font-titre) !important;
  color: var(--fym-vert-profond) !important;
  line-height: 1.15 !important;
  letter-spacing: -0.01em !important;
}

/* Italiques colorés dans les titres */
h1 em, h2 em, h3 em,
.elementor-heading-title em {
  font-style: italic;
  color: var(--fym-vert-clair) !important;
}

p {
  font-family: var(--fym-font-corps);
  line-height: 1.8;
  color: var(--fym-texte-doux);
}

a { transition: all 0.2s; }

/* ═══════════════════════════════════════
   NAVIGATION (GeneratePress)
═══════════════════════════════════════ */
.site-header,
#site-header {
  background: rgba(248, 244, 238, 0.97) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid rgba(28, 61, 46, 0.1) !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 9999 !important;
  box-shadow: none !important;
}

/* Logo */
.site-branding .site-title,
.site-branding .site-title a,
#site-title a {
  font-family: var(--fym-font-titre) !important;
  font-weight: 900 !important;
  font-size: 18px !important;
  color: var(--fym-vert-profond) !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
}

/* Menu items */
.main-navigation a,
.nav-menu a,
#site-navigation a {
  font-family: var(--fym-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.05em !important;
  color: var(--fym-texte-doux) !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  transition: all 0.2s !important;
  text-decoration: none !important;
}

.main-navigation a:hover,
.nav-menu a:hover,
.main-navigation .current-menu-item > a {
  background: var(--fym-vert-pale) !important;
  color: var(--fym-vert-profond) !important;
}

/* Dropdown */
.main-navigation .sub-menu,
.nav-menu .sub-menu {
  background: var(--fym-blanc) !important;
  border: 1px solid var(--fym-creme-fonce) !important;
  border-radius: 6px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.1) !important;
  padding: 8px 0 !important;
  min-width: 200px !important;
}

.main-navigation .sub-menu a {
  padding: 10px 18px !important;
  border-radius: 0 !important;
  font-size: 11px !important;
}

.main-navigation .sub-menu a:hover {
  background: var(--fym-vert-pale) !important;
}

/* Compensation header fixe pour Elementor */
.elementor-page .site-content,
body.elementor-page {
  padding-top: 64px !important;
}

/* ═══════════════════════════════════════
   BOUTON "NOUS SOUTENIR" dans la nav
   Ajouter la classe CSS "nav-soutenir" au menu item
═══════════════════════════════════════ */
.nav-soutenir > a,
.menu-item-soutenir > a {
  background: var(--fym-accent) !important;
  color: var(--fym-blanc) !important;
  border-radius: 4px !important;
  padding: 9px 20px !important;
  font-family: var(--fym-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
}

.nav-soutenir > a:hover,
.menu-item-soutenir > a:hover {
  background: #c96a2e !important;
  transform: translateY(-1px) !important;
}

/* ═══════════════════════════════════════
   ELEMENTOR — SURCHARGES GLOBALES
═══════════════════════════════════════ */

/* Sections Elementor */
.elementor-section,
.e-con {
  position: relative;
}

/* Widget titre Elementor */
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--fym-font-titre) !important;
}

/* Widget texte Elementor */
.elementor-widget-text-editor p,
.elementor-widget-text-editor li {
  font-family: var(--fym-font-corps) !important;
  line-height: 1.8 !important;
}

/* Boutons Elementor */
.elementor-button,
.elementor-button-wrapper .elementor-button {
  font-family: var(--fym-font-mono) !important;
  letter-spacing: 0.06em !important;
  border-radius: 4px !important;
  transition: all 0.25s !important;
}

/* ═══════════════════════════════════════
   CLASSES UTILITAIRES ELEMENTOR
   À appliquer dans "CSS Classes" des sections/colonnes/widgets
═══════════════════════════════════════ */

/* Fonds de sections */
.fym-bg-creme        { background-color: var(--fym-creme) !important; }
.fym-bg-blanc        { background-color: var(--fym-blanc) !important; }
.fym-bg-creme-fonce  { background-color: var(--fym-creme-fonce) !important; }
.fym-bg-vert         { background-color: var(--fym-vert-profond) !important; }
.fym-bg-vert-pale    { background-color: var(--fym-vert-pale) !important; }
.fym-bg-terre-pale   { background-color: var(--fym-terre-pale) !important; }
.fym-bg-accent       { background-color: var(--fym-accent) !important; }

/* Couleurs de texte */
.fym-text-vert    { color: var(--fym-vert-profond) !important; }
.fym-text-moyen   { color: var(--fym-vert-moyen) !important; }
.fym-text-clair   { color: var(--fym-vert-clair) !important; }
.fym-text-blanc   { color: var(--fym-blanc) !important; }
.fym-text-doux    { color: var(--fym-texte-doux) !important; }
.fym-text-leger   { color: var(--fym-texte-leger) !important; }
.fym-text-accent  { color: var(--fym-accent) !important; }
.fym-text-terre   { color: var(--fym-terre) !important; }

/* Typographies */
.fym-font-titre { font-family: var(--fym-font-titre) !important; }
.fym-font-corps { font-family: var(--fym-font-corps) !important; }
.fym-font-mono  { font-family: var(--fym-font-mono) !important; font-size: 11px; letter-spacing: 0.08em; }

/* ═══════════════════════════════════════
   BADGES / LABELS
═══════════════════════════════════════ */
.fym-badge {
  display: inline-block;
  font-family: var(--fym-font-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid currentColor;
  line-height: 1;
}

.fym-badge-vert  { color: var(--fym-vert-moyen);  border-color: var(--fym-vert-moyen);  background: var(--fym-vert-pale); }
.fym-badge-terre { color: var(--fym-terre);        border-color: var(--fym-terre);        background: var(--fym-terre-pale); }
.fym-badge-accent { color: var(--fym-accent);      border-color: var(--fym-accent);       background: #fdf0e8; }

/* ═══════════════════════════════════════
   BOUTONS PERSONNALISÉS
═══════════════════════════════════════ */
/* Bouton primaire vert profond */
.fym-btn-primary,
.elementor-button.fym-btn-primary {
  background: var(--fym-vert-profond) !important;
  color: var(--fym-blanc) !important;
  border: none !important;
  font-family: var(--fym-font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  padding: 14px 28px !important;
  border-radius: 4px !important;
  transition: all 0.25s !important;
}

.fym-btn-primary:hover,
.elementor-button.fym-btn-primary:hover {
  background: var(--fym-vert-moyen) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(28,61,46,0.25) !important;
}

/* Bouton outline */
.fym-btn-outline,
.elementor-button.fym-btn-outline {
  background: transparent !important;
  color: var(--fym-vert-profond) !important;
  border: 1.5px solid var(--fym-vert-profond) !important;
  font-family: var(--fym-font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  padding: 12px 24px !important;
  border-radius: 4px !important;
}

.fym-btn-outline:hover,
.elementor-button.fym-btn-outline:hover {
  background: var(--fym-vert-profond) !important;
  color: var(--fym-blanc) !important;
}

/* Bouton orange (Nous soutenir) */
.fym-btn-accent,
.elementor-button.fym-btn-accent {
  background: var(--fym-accent) !important;
  color: var(--fym-blanc) !important;
  border: none !important;
  font-family: var(--fym-font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  padding: 12px 24px !important;
  border-radius: 4px !important;
}

.fym-btn-accent:hover,
.elementor-button.fym-btn-accent:hover {
  background: #c96a2e !important;
  transform: translateY(-1px) !important;
}

/* Bouton blanc (sur fond sombre) */
.fym-btn-blanc,
.elementor-button.fym-btn-blanc {
  background: var(--fym-blanc) !important;
  color: var(--fym-accent) !important;
  border: none !important;
  font-family: var(--fym-font-mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
  padding: 12px 24px !important;
  border-radius: 4px !important;
}

/* ═══════════════════════════════════════
   SECTION EYEBROW (label au-dessus des titres)
═══════════════════════════════════════ */
.fym-eyebrow {
  font-family: var(--fym-font-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--fym-vert-moyen) !important;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}

.fym-eyebrow::after {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--fym-vert-clair);
}

/* Sur fond vert */
.fym-bg-vert .fym-eyebrow {
  color: var(--fym-vert-clair) !important;
}

/* ═══════════════════════════════════════
   CARDS (à appliquer sur les widgets Image Box / Icon Box)
═══════════════════════════════════════ */
/* Card membre équipe */
.fym-card-membre {
  background: var(--fym-blanc);
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
}

.fym-card-membre:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(28,61,46,0.12);
}

.fym-card-membre.special {
  border: 2px solid var(--fym-vert-moyen);
}

/* Card témoignage */
.fym-card-testi {
  background: var(--fym-blanc);
  border-radius: 8px;
  padding: 28px;
  border: 1px solid var(--fym-creme-fonce);
  transition: transform 0.3s, box-shadow 0.3s;
}

.fym-card-testi:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 36px rgba(28,61,46,0.1);
}

.fym-card-testi blockquote,
.fym-card-testi .fym-quote {
  font-size: 14px;
  font-style: italic;
  line-height: 1.7;
  color: var(--fym-texte-doux);
  padding-left: 16px;
  border-left: 3px solid var(--fym-vert-pale);
  margin: 0;
}

/* Card profil "Pour qui" */
.fym-card-profil {
  background: var(--fym-blanc);
  border-radius: 8px;
  padding: 28px;
  border-top: 3px solid var(--fym-vert-clair);
  transition: transform 0.3s, box-shadow 0.3s;
  height: 100%;
}

.fym-card-profil:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 36px rgba(28,61,46,0.1);
}

/* Card parcours (Rejoignez-nous) */
.fym-card-parcours {
  background: var(--fym-blanc);
  border-radius: 8px;
  padding: 36px;
  border: 1px solid var(--fym-creme-fonce);
  transition: all 0.3s;
  position: relative;
  overflow: hidden;
  height: 100%;
}

.fym-card-parcours::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: var(--fym-vert-clair);
  transform: scaleX(0);
  transition: transform 0.3s;
  transform-origin: left;
}

.fym-card-parcours:hover::before { transform: scaleX(1); }
.fym-card-parcours:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(28,61,46,0.1);
}

/* Card soutenir (sur fond vert) */
.fym-card-soutenir {
  background: rgba(255,255,255,0.07);
  border-radius: 8px;
  padding: 32px;
  border: 1px solid rgba(255,255,255,0.1);
  transition: all 0.3s;
}

.fym-card-soutenir:hover {
  background: rgba(255,255,255,0.12);
}

/* ═══════════════════════════════════════
   TIMELINE HISTOIRE
═══════════════════════════════════════ */
.fym-timeline {
  position: relative;
  padding-left: 160px;
}

.fym-timeline::before {
  content: '';
  position: absolute;
  left: 120px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: linear-gradient(to bottom, var(--fym-vert-clair), rgba(82,183,136,0.1));
}

.fym-timeline-item {
  position: relative;
  padding: 32px 0;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.fym-timeline-item:last-child { border-bottom: none; }

.fym-timeline-year {
  position: absolute;
  left: -160px;
  top: 32px;
  width: 120px;
  font-family: var(--fym-font-titre) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  color: var(--fym-vert-clair) !important;
  text-align: right;
  padding-right: 40px;
}

.fym-timeline-year::after {
  content: '';
  position: absolute;
  right: -5px;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--fym-vert-clair);
  border: 2px solid var(--fym-vert-profond);
}

.fym-timeline-item h4,
.fym-timeline-titre {
  font-family: var(--fym-font-titre) !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: var(--fym-blanc) !important;
  margin-bottom: 10px !important;
}

.fym-timeline-texte {
  font-size: 15px;
  font-weight: 300;
  line-height: 1.7;
  color: rgba(255,255,255,0.65);
}

.fym-timeline-tag {
  display: inline-block;
  font-family: var(--fym-font-mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 20px;
  background: rgba(82,183,136,0.15);
  color: var(--fym-vert-clair);
  margin-top: 10px;
  border: 1px solid rgba(82,183,136,0.3);
}

.fym-timeline-item.futur .fym-timeline-year { color: var(--fym-accent) !important; }
.fym-timeline-item.futur .fym-timeline-year::after { background: var(--fym-accent); }
.fym-timeline-item.futur .fym-timeline-tag {
  background: rgba(224,122,60,0.15);
  color: var(--fym-accent);
  border-color: rgba(224,122,60,0.3);
}

/* ═══════════════════════════════════════
   BLOC RETOURNEMENT (Citation vert profond)
═══════════════════════════════════════ */
.fym-bloc-retournement {
  background: var(--fym-vert-profond);
  border-radius: 8px;
  padding: 48px;
  position: relative;
  overflow: hidden;
}

.fym-bloc-retournement::before {
  content: '"';
  position: absolute;
  top: -20px;
  left: 24px;
  font-family: var(--fym-font-titre);
  font-size: 140px;
  color: rgba(82,183,136,0.15);
  line-height: 1;
  pointer-events: none;
}

.fym-bloc-retournement blockquote,
.fym-bloc-retournement .fym-citation {
  font-family: var(--fym-font-titre) !important;
  font-size: 20px !important;
  font-style: italic;
  line-height: 1.55;
  color: var(--fym-blanc) !important;
  position: relative;
  z-index: 1;
  margin: 0 0 16px;
  border: none;
  padding: 0;
}

.fym-bloc-retournement .fym-citation-source {
  font-family: var(--fym-font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  color: var(--fym-vert-clair);
}

/* ═══════════════════════════════════════
   BLOC SANTÉ PUBLIQUE (fond terre-pale)
═══════════════════════════════════════ */
.fym-bloc-pubsante {
  background: var(--fym-terre-pale);
  border-radius: 6px;
  padding: 24px;
  border-left: 3px solid var(--fym-terre);
}

.fym-bloc-pubsante .fym-label {
  font-family: var(--fym-font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--fym-terre);
  margin-bottom: 10px;
}

/* ═══════════════════════════════════════
   BLOC TRANSPARENCE ASBL
═══════════════════════════════════════ */
.fym-bloc-transp {
  background: var(--fym-terre-pale);
  border-radius: 6px;
  padding: 16px 20px;
  border-left: 3px solid var(--fym-terre);
  font-size: 13px;
  line-height: 1.6;
  color: var(--fym-texte-doux);
}

/* ═══════════════════════════════════════
   BLOC IBAN (soutien)
═══════════════════════════════════════ */
.fym-iban {
  background: rgba(0,0,0,0.3);
  border-radius: 4px;
  padding: 10px 14px;
  font-family: var(--fym-font-mono);
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  border: 1px solid rgba(255,255,255,0.1);
  margin-top: 12px;
  display: block;
}

/* ═══════════════════════════════════════
   BANDEAU SOUTIEN (orange)
═══════════════════════════════════════ */
.fym-bandeau-soutien {
  background: var(--fym-accent) !important;
  padding: 20px 48px;
}

.fym-bandeau-soutien p {
  color: var(--fym-blanc) !important;
  font-size: 15px;
  line-height: 1.5;
}

/* ═══════════════════════════════════════
   SOUS-NAVIGATION ANCRES
═══════════════════════════════════════ */
.fym-subnav {
  background: var(--fym-blanc);
  border-bottom: 1px solid var(--fym-creme-fonce);
  display: flex;
  position: sticky;
  top: 64px;
  z-index: 100;
  overflow-x: auto;
  padding: 0 48px;
}

.fym-subnav a {
  font-family: var(--fym-font-mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.06em !important;
  color: var(--fym-texte-leger) !important;
  padding: 15px 22px !important;
  border-bottom: 2px solid transparent !important;
  transition: all 0.2s !important;
  white-space: nowrap !important;
  text-decoration: none !important;
  display: block;
}

.fym-subnav a:hover,
.fym-subnav a.active {
  color: var(--fym-vert-profond) !important;
  border-bottom-color: var(--fym-vert-moyen) !important;
}

/* ═══════════════════════════════════════
   PAGE HERO (band vert en haut des pages intérieures)
═══════════════════════════════════════ */
.fym-page-hero {
  background: var(--fym-vert-profond) !important;
  position: relative;
  overflow: hidden;
}

.fym-page-hero::before {
  content: '';
  position: absolute;
  top: -200px;
  right: -100px;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(82,183,136,0.12) 0%, transparent 60%);
  pointer-events: none;
}

.fym-page-hero .elementor-heading-title,
.fym-page-hero h1 {
  color: var(--fym-blanc) !important;
}

.fym-page-hero p {
  color: rgba(255,255,255,0.65) !important;
}

/* ═══════════════════════════════════════
   HERO ACCUEIL
═══════════════════════════════════════ */
.fym-hero-section {
  min-height: calc(100vh - 64px);
}

.fym-hero-video-col {
  background: var(--fym-vert-profond);
  position: relative;
  overflow: hidden;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fym-hero-video-col::before {
  content: '';
  position: absolute;
  width: 600px;
  height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(82,183,136,0.15) 0%, transparent 70%);
  top: -100px;
  right: -100px;
  pointer-events: none;
}

/* Play button vidéo */
.fym-play-btn {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s;
  background: rgba(255,255,255,0.1);
  position: relative;
  z-index: 2;
}

.fym-play-btn:hover {
  border-color: var(--fym-vert-clair);
  background: rgba(82,183,136,0.2);
  transform: scale(1.05);
}

/* ═══════════════════════════════════════
   VARIANTE (box verte claire)
═══════════════════════════════════════ */
.fym-variante-box {
  background: var(--fym-vert-pale);
  border-radius: 6px;
  padding: 16px 20px;
  border-left: 3px solid var(--fym-vert-clair);
}

.fym-variante-box .fym-variante-titre {
  font-family: var(--fym-font-mono);
  font-size: 10px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fym-vert-moyen);
  margin-bottom: 8px;
}

/* ═══════════════════════════════════════
   SCÉNARIOS SI/ALORS
═══════════════════════════════════════ */
.fym-scenario {
  padding: 20px 24px;
  background: var(--fym-blanc);
  border-left: 4px solid var(--fym-vert-clair);
  border-radius: 0 6px 6px 0;
  margin-bottom: 14px;
  font-size: 15px;
  line-height: 1.7;
  color: var(--fym-texte-doux);
}

.fym-scenario strong {
  font-weight: 700;
  color: var(--fym-vert-profond);
}

/* ═══════════════════════════════════════
   NOTE MÉDICALE
═══════════════════════════════════════ */
.fym-note-medicale {
  background: var(--fym-terre-pale);
  border-radius: 6px;
  padding: 24px;
  border-left: 3px solid var(--fym-terre);
  display: flex;
  gap: 16px;
  align-items: flex-start;
}

/* ═══════════════════════════════════════
   SCIENCE POINTS (bullets recherche)
═══════════════════════════════════════ */
.fym-science-point {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 18px;
  background: var(--fym-blanc);
  border-radius: 6px;
  border: 1px solid var(--fym-creme-fonce);
  margin-bottom: 14px;
}

.fym-science-icon {
  color: var(--fym-vert-clair);
  font-size: 18px;
  flex-shrink: 0;
  margin-top: 2px;
}

/* ═══════════════════════════════════════
   AGENDA TABLE
═══════════════════════════════════════ */
.fym-agenda-table {
  background: var(--fym-blanc);
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid var(--fym-creme-fonce);
}

.fym-agenda-row {
  display: grid;
  grid-template-columns: 100px 1fr 160px 100px 120px;
  gap: 16px;
  padding: 18px 24px;
  border-bottom: 1px solid var(--fym-creme-fonce);
  align-items: center;
  transition: background 0.2s;
}

.fym-agenda-row:last-child { border-bottom: none; }
.fym-agenda-row:hover { background: var(--fym-creme); }

.fym-agenda-header {
  background: var(--fym-creme-fonce) !important;
  font-family: var(--fym-font-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fym-texte-leger);
}

.fym-agenda-date {
  font-family: var(--fym-font-mono);
  font-size: 12px;
  font-weight: 500;
  color: var(--fym-vert-profond);
}

.fym-agenda-cta {
  font-family: var(--fym-font-mono);
  font-size: 10px;
  background: var(--fym-vert-profond);
  color: var(--fym-blanc);
  padding: 7px 14px;
  border-radius: 4px;
  text-align: center;
  cursor: pointer;
  text-decoration: none;
  display: inline-block;
  transition: background 0.2s;
}

.fym-agenda-cta:hover { background: var(--fym-vert-moyen); color: var(--fym-blanc); }

/* Tags agenda */
.fym-tag {
  font-family: var(--fym-font-mono);
  font-size: 9px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 20px;
}

.fym-tag-decouverte { background: var(--fym-vert-pale);  color: var(--fym-vert-moyen); }
.fym-tag-atelier    { background: #e8f4fd; color: #2d6da4; }
.fym-tag-conf       { background: var(--fym-terre-pale); color: var(--fym-terre); }
.fym-tag-cours      { background: var(--fym-vert-pale);  color: var(--fym-vert-moyen); }
.fym-tag-partenariat { background: var(--fym-terre-pale); color: var(--fym-terre); }
.fym-tag-evenement  { background: #fdf0e8; color: var(--fym-accent); }

/* ═══════════════════════════════════════
   NEWSLETTER CTA
═══════════════════════════════════════ */
.fym-newsletter-cta {
  background: var(--fym-vert-profond);
  border-radius: 8px;
  padding: 32px;
}

.fym-newsletter-input {
  font-family: var(--fym-font-mono) !important;
  font-size: 11px !important;
  padding: 10px 16px !important;
  border-radius: 4px !important;
  border: none !important;
  background: rgba(255,255,255,0.1) !important;
  color: var(--fym-blanc) !important;
  width: 240px;
}

.fym-newsletter-input::placeholder { color: rgba(255,255,255,0.4); }

/* ═══════════════════════════════════════
   ANIMATIONS REVEAL
═══════════════════════════════════════ */
.fym-reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.fym-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Animation d'entrée héro */
.fym-anim-1 { animation: fymFadeInUp 0.7s ease 0.1s both; }
.fym-anim-2 { animation: fymFadeInUp 0.7s ease 0.25s both; }
.fym-anim-3 { animation: fymFadeInUp 0.7s ease 0.4s both; }
.fym-anim-4 { animation: fymFadeInUp 0.7s ease 0.55s both; }

@keyframes fymFadeInUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════
   FOOTER
═══════════════════════════════════════ */
.site-footer,
#colophon {
  background: #111 !important;
  padding: 64px 48px 32px !important;
  color: rgba(255,255,255,0.5) !important;
}

.site-footer h3,
.site-footer h4,
.site-footer .widget-title {
  font-family: var(--fym-font-mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.3) !important;
  margin-bottom: 16px !important;
}

.site-footer a {
  font-size: 14px !important;
  color: rgba(255,255,255,0.45) !important;
  text-decoration: none !important;
  display: block;
  margin-bottom: 8px;
  transition: color 0.2s !important;
}

.site-footer a:hover { color: var(--fym-vert-clair) !important; }

.site-footer p {
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: rgba(255,255,255,0.5) !important;
}

/* ═══════════════════════════════════════
   ELEMENTOR GLOBAL COLORS
   (À enregistrer aussi dans Elementor → Site Settings → Global Colors)
═══════════════════════════════════════ */
/*
  Vert profond  : #1C3D2E
  Vert moyen    : #2D6A4F
  Vert clair    : #52B788
  Vert pâle     : #D8F3DC
  Crème         : #F8F4EE
  Crème foncé   : #EDE8DF
  Terre         : #8B6F47
  Accent orange : #E07A3C
  Texte         : #1A1A1A
  Texte doux    : #4A4A4A
*/

/* ═══════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════ */
@media (max-width: 1024px) {
  .fym-subnav { padding: 0 24px; }
  .fym-timeline { padding-left: 0; }
  .fym-timeline::before { display: none; }
  .fym-timeline-year { position: static; text-align: left; width: auto; padding-right: 0; }
  .fym-timeline-year::after { display: none; }
}

@media (max-width: 767px) {
  .fym-agenda-row { grid-template-columns: 80px 1fr; gap: 8px; }
  .fym-agenda-row > *:nth-child(3),
  .fym-agenda-row > *:nth-child(4) { display: none; }
  .site-footer { padding: 40px 24px 24px !important; }
}
