/* Septembre de la Forge 2026 — corrections UX par-dessus le rendu Elementor.
   Chargé en dernier dans 2026/index.html : les règles ici l'emportent sur Elementor.
   Les sélecteurs .elementor-element-xxxxxxx ciblent un bloc précis de la page. */

:root {
  --sdlf-brun: #200F08;
  --sdlf-orange: #E76E0D;
  --sdlf-rouge: #C02E06;
  --sdlf-jaune: #FBC546;
  --sdlf-creme: #FEFCED;
}

/* Orange de la charte (E76E0D) : le kit Elementor utilisait E75E0D */
.elementor-kit-8 { --e-global-color-secondary: #E76E0D; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ── 1. Événement terminé : bandeau « Dernières places » et paiement échelonné masqués ── */
.e-floating-bars,
.elementor-element-10a14ec { display: none !important; }

/* ── 2. Lisibilité des textes ─────────────────────────────────────────── */

/* Introduction « Un mois pour faire rayonner… » */
.elementor-element-846f59f .elementor-heading-title {
  max-width: 62ch;
  margin-inline: auto;
  line-height: 1.6;
}

/* Les deux colonnes « Concrètement… » / « Ici, on apprend… » : plus de justification
   (elle créait de grands trous entre les mots) et une marge latérale */
.elementor-element-2aa8323 { padding-inline: clamp(16px, 5vw, 64px) !important; }
.elementor-element-289d269 .elementor-heading-title,
.elementor-element-1cd9463 .elementor-heading-title {
  text-align: left !important;
  line-height: 1.65;
}

/* « Notre ambition » */
.elementor-element-ef84a39 .elementor-heading-title,
.elementor-element-3e416f9 .elementor-heading-title {
  max-width: 60ch;
  margin-inline: auto;
  line-height: 1.6;
}

/* Cartes Formations / Conférences / Exposition : texte aligné à gauche, moins gras */
.elementor-element-aedb20b .elementor-heading-title,
.elementor-element-9bc90a6 .elementor-heading-title,
.elementor-element-8bf9027 .elementor-heading-title {
  text-align: left !important;
  font-weight: 400 !important;
  font-size: 17px !important;
  line-height: 1.6 !important;
}
.elementor-element-2431bf8 .elementor-heading-title,
.elementor-element-ed10c8d .elementor-heading-title,
.elementor-element-cc78158 .elementor-heading-title {
  font-size: 15px !important;
  letter-spacing: .02em;
}
/* Cartes de même hauteur, titres alignés, bouton « découvrir » toujours en bas */
.e-con:has(> .elementor-element-72fac2b) { align-items: stretch !important; }
.elementor-element-72fac2b,
.elementor-element-cf4e270,
.elementor-element-9daad4e {
  justify-content: flex-start !important;
  transition: transform .35s ease, box-shadow .35s ease;
}
.elementor-element-72fac2b:hover,
.elementor-element-cf4e270:hover,
.elementor-element-9daad4e:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 50px -24px rgba(231, 110, 13, .6);
}
.elementor-element-abff875,
.elementor-element-995e4a8,
.elementor-element-f813c38 { margin-top: auto !important; }

/* Programme : descriptions de niveaux trop petites et trop fines */
.elementor-element-f645fa5 .elementor-heading-title,
.elementor-element-5b08336 .elementor-heading-title,
.elementor-element-55486d0 .elementor-heading-title,
.elementor-element-6ec4d29 .elementor-heading-title {
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: rgba(32, 15, 8, .85) !important;
}
.elementor-element-6ec4d29 .elementor-heading-title { max-width: 75ch; }

/* Programme : toute la pastille est cliquable (pas seulement le texte), avec effet au survol */
.e-con:has(> .elementor-widget-heading > .elementor-heading-title > a[href*="infomaniak.events"]) {
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
}
.e-con:has(> .elementor-widget-heading > .elementor-heading-title > a[href*="infomaniak.events"]):hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 24px -12px rgba(32, 15, 8, .55);
  filter: brightness(1.08);
}
.elementor-widget-heading > .elementor-heading-title > a[href*="infomaniak.events"]::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
}
.elementor-widget-heading > .elementor-heading-title > a[href*="infomaniak.events"] {
  line-height: 1.3;
}

/* Titre « Sponsors » : gris (#333) remplacé par le brun de la charte */
.elementor-element-276e978 .elementor-heading-title { color: var(--sdlf-brun) !important; }

/* Pied de page : copyright illisible (gris foncé sur fond sombre) */
.elementor-element-112c232 .elementor-heading-title { color: rgba(254, 252, 237, .6) !important; }

/* ── 3. Titres de section : filet dégradé sous les grands titres ──────── */
.elementor-element-d6debcc .elementor-heading-title::after,
.elementor-element-a4d7e2b .elementor-heading-title::after,
.elementor-element-9c7e43f .elementor-heading-title::after,
.elementor-element-9f504b4 .elementor-heading-title::after,
.elementor-element-c0b1de3 .elementor-heading-title::after,
.elementor-element-883a83f .elementor-heading-title::after,
.elementor-element-276e978 .elementor-heading-title::after {
  content: "";
  display: block;
  width: 72px;
  height: 4px;
  margin: 18px auto 0;
  border-radius: 4px;
  background: linear-gradient(90deg, var(--sdlf-orange), var(--sdlf-jaune));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .9s cubic-bezier(.2, .7, .2, 1) .2s;
}
.sdlf-reveal.is-in .elementor-heading-title::after,
.no-sdlf-reveal .elementor-heading-title::after { transform: scaleX(1); }

/* ── 4. Billetterie : message « édition terminée » ────────────────────── */
.sdlf-closed {
  max-width: 760px;
  margin: 0 auto 32px;
  padding: 24px 28px;
  border-radius: 20px;
  border: 1px solid rgba(251, 197, 70, .35);
  background: linear-gradient(160deg, rgba(231, 110, 13, .18), rgba(32, 15, 8, .4));
  color: var(--sdlf-creme);
  font-family: "Caviar Dream", sans-serif;
  font-size: 17px;
  line-height: 1.6;
  text-align: center;
}
.sdlf-closed strong {
  display: block;
  margin-bottom: 6px;
  font-family: "Camera obscura 3", "Camera Obscura", serif;
  font-weight: normal;
  font-size: 26px;
  color: var(--sdlf-jaune);
}
.sdlf-closed p { margin: 0; }
.sdlf-closed a {
  display: inline-block;
  margin-top: 14px;
  padding: 10px 22px;
  border-radius: 999px;
  background: var(--sdlf-orange);
  color: var(--sdlf-creme);
  font-weight: bold;
  text-decoration: none;
  transition: background .2s ease, transform .2s ease;
}
.sdlf-closed a:hover { background: var(--sdlf-rouge); transform: translateY(-2px); }

/* ── 5. Micro-interactions ───────────────────────────────────────────── */
.elementor-button { transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important; }
.elementor-button:hover { filter: brightness(1.1); box-shadow: 0 10px 24px -12px rgba(231, 110, 13, .8); }

/* Intervenants : léger zoom des portraits au survol */
#intervenants .elementor-flip-box,
#intervenants-mobile .elementor-flip-box { transition: transform .35s ease; }
#intervenants .elementor-flip-box:hover,
#intervenants-mobile .elementor-flip-box:hover { transform: translateY(-4px) scale(1.02); }

/* Sponsors : logos qui se soulèvent au survol */
.elementor-element-276e978 ~ * img,
.e-con:has(> .elementor-element-276e978) img { transition: transform .3s ease; }
.e-con:has(> .elementor-element-276e978) img:hover { transform: scale(1.08); }

/* ── 6. Apparition au défilement (activée par sdlf-2026.js) ──────────── */
.sdlf-reveal {
  opacity: 0;
  transform: translateY(28px);
}
.sdlf-reveal.is-in {
  opacity: 1;
  transform: none;
  transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1);
}

/* ── 7. Mobile ───────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .elementor-element-aedb20b .elementor-heading-title,
  .elementor-element-9bc90a6 .elementor-heading-title,
  .elementor-element-8bf9027 .elementor-heading-title { font-size: 16px !important; }
  .sdlf-closed { margin-inline: 16px; padding: 20px; font-size: 16px; }
  .sdlf-closed strong { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .sdlf-reveal, .sdlf-reveal.is-in { opacity: 1; transform: none; transition: none; }
  .elementor-heading-title::after { transform: scaleX(1) !important; transition: none !important; }
}

/* Pas de césure automatique : les mots coupés (« Da-mas ») gênent la lecture */
.elementor-heading-title, .elementor-widget-text-editor { -webkit-hyphens: manual !important; hyphens: manual !important; }
