.elementor-kit-85{--e-global-color-primary:#000000;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#E8453C;--e-global-color-a180e35:#B1B1B1;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-a0e6d60-font-family:"Space Grotesk";--e-global-typography-a0e6d60-font-size:17px;--e-global-typography-a0e6d60-font-weight:700;}.elementor-kit-85 e-page-transition{background-color:#FFBC7D;}.elementor-kit-85 h1{color:#000000;font-family:"Space Grotesk", Sans-serif;font-size:120px;font-weight:500;text-transform:none;font-style:normal;line-height:100px;letter-spacing:-0.04em;}.elementor-kit-85 h2{font-family:"Space Grotesk", Sans-serif;font-size:44px;font-weight:700;text-transform:none;line-height:140px;letter-spacing:-0.3px;}.elementor-kit-85 h3{font-size:32px;font-weight:700;}.elementor-kit-85 h5{color:#B1B1B1;font-family:"Space Grotesk", Sans-serif;font-size:11px;font-weight:500;text-transform:capitalize;line-height:14px;letter-spacing:0.03em;}.elementor-kit-85 h6{color:#B1B1B1;font-family:"Space Grotesk", Sans-serif;font-size:11px;font-weight:500;line-height:14px;}.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 *//* ═══════════════════════════════════════════════════════════════
   HEADER
═══════════════════════════════════════════════════════════════ */
header.elementor .e-flexbox-base {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  min-height: 56px !important;
  padding: 0 48px !important;
  border-bottom: 2px solid #000 !important;
  background: #fff !important;
}
header.elementor .elementor-widget-theme-site-title,
header.elementor .elementor-widget-heading {
  width: auto !important;
  flex: 0 0 auto !important;
}
header.elementor .elementor-widget-nav-menu {
  width: auto !important;
  flex: 0 0 auto !important;
}

@media (max-width: 767px) {
  .elementor-nav-menu--dropdown .elementor-item {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

.elementor-nav-menu--dropdown {
  padding-bottom: 12px;
}
/* ═══════════════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════════════ */
footer.elementor .e-flexbox-base {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  padding: 12px 48px !important;
  background: #fff !important;
}
footer.elementor .elementor-widget-heading {
  width: auto !important;
  flex: 0 0 auto !important;
}
@media (max-width: 767px) {
  header.elementor .e-flexbox-base {
    padding: 0 24px !important;
  }
  footer.elementor .e-flexbox-base {
    padding: 24px 24px !important;
  }
}
@media (max-width: 767px) {
  footer.elementor .e-flexbox-base {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px;
  }
}
/* ═══════════════════════════════════════════════════════════════
   SURVOL IMAGE — page Créations (version JS)
═══════════════════════════════════════════════════════════════ */
.creation-ligne .visuel-survol {
  display: none;
}
#creations-visuel {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: hidden;
  background: #fff;
}
#creations-visuel img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .5s ease;
}
#creations-visuel img.actif {
  opacity: 1;
}
@media (max-width: 860px) {
  #creations-visuel {
    display: none;
  }
} 

/* Ligne Créations : titre à gauche, méta à droite. */
.creation-ligne {
  justify-content: space-between !important;
  align-items: baseline !important;
}
.creation-ligne .elementor-widget-theme-post-title {
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
.creation-ligne .ligne-meta,
.creation-ligne > .e-con:last-child {
  flex: 0 0 auto !important;
}


/* Rollover titres Créations : passage en rouge au survol.
   (La main vient du lien natif, plus besoin de cursor:pointer.) */
.creation-ligne .elementor-widget-theme-post-title {
  transition: color .2s ease;
}
.creation-ligne:hover .elementor-widget-theme-post-title,
.creation-ligne:hover .elementor-widget-theme-post-title a {
  color: #E8453C !important;
}


/* ─── Rollover ligne Créations (repris de creations-ok.html) ─── */

/* La ligne est le repère du trait rouge. */
.creation-ligne {
  position: relative;
}

/* Trait rouge à gauche, monte au survol. */
.creation-ligne::before {
  content: '';
  position: absolute;
  left: -48px;               /* aligné sur le padding de colonne */
  top: 0;
  bottom: 0;
  width: 3px;
  background: #E8453C;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .2s;
}
.creation-ligne:hover::before {
  transform: scaleY(1);
}



/* Flèche : décalage 4px + rouge au survol. */
.creation-ligne .ligne-fleche {
  transition: transform .2s, color .15s;
}
.creation-ligne:hover .ligne-fleche {
  transform: translateX(4px);
  color: #E8453C !important;
}
/* Titre en rouge au survol — cible aussi le lien et le h3 interne. */
.creation-ligne:hover .elementor-widget-theme-post-title,
.creation-ligne:hover .elementor-widget-theme-post-title a,
.creation-ligne:hover .elementor-heading-title,
.creation-ligne:hover .elementor-heading-title a {
  color: #E8453C !important;
}

/* Flèche : grise au repos, rouge + décalée au survol. */
.creation-ligne .ligne-fleche {
  color: #ccc !important;
  transition: transform .2s, color .15s;
}
.creation-ligne:hover .ligne-fleche {
  transform: translateX(4px);
  color: #E8453C !important;
}

/* ─── Barre rouge à gauche des liens du menu mobile ─── */

/* Chaque lien = repère pour la barre. */
.elementor-nav-menu--dropdown .elementor-item {
  position: relative;
  transition: color .15s ease;
}

/* La barre rouge, cachée au repos. */
.elementor-nav-menu--dropdown .elementor-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #E8453C;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
}

/* Au survol/tap : la barre apparaît. */
.elementor-nav-menu--dropdown .elementor-item:hover::before,
.elementor-nav-menu--dropdown .elementor-item.elementor-item-active::before {
  transform: scaleX(1);
}


/* ═══════════════════════════════════════════════════════════════
   JOURNAL — accordéon déplier/replier
═══════════════════════════════════════════════════════════════ */

/* Corps tronqué par défaut (4 lignes) + fondu en bas. */
.journal-article-body {
  position: relative;
  overflow: hidden;
  max-height: calc(1.7em * 4);
  transition: max-height .4s ease;
}
.journal-article-body::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3em;
  background: linear-gradient(to bottom, transparent, #fff);
  pointer-events: none;
}

/* État déplié : corps entier, plus de fondu. */
.journal-article.ouvert .journal-article-body {
  max-height: none; /* pas de plafond : textes intégraux */
}
.journal-article.ouvert .journal-article-body::after {
  opacity: 0;
}

/* Bouton +/− du Journal (repris de la maquette). */
.toggle-article {
  border: 1px solid #000;
  width: 36px;
  height: 36px;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all .2s;
  margin: 0;
}
.toggle-article:hover {
  background: #000;
}
.toggle-article:hover,
.toggle-article:hover * {
  color: #fff !important;
}
/* colonne sticky de la page journal . */
#journal-gauche {
  position: sticky;
  top: 56px;
  height: calc(100vh - 56px);
  align-self: start;
}

/* ═══════════════════════════════════════════════════════════════
   JOURNAL — filtres verticaux (structure + séparateurs)
   Taille / graisse / interligne gérés dans Elementor.
═══════════════════════════════════════════════════════════════ */

/* Conteneur : colonne, items étirés pleine largeur. */
#journal-gauche .elementor-widget-loop-filter > * {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
}

/* Chaque filtre : pleine largeur, séparateur en bas. */
#journal-gauche .elementor-widget-loop-filter a,
#journal-gauche .e-filter-item {
  display: block;
  width: 100%;
  text-align: left;
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
  transition: color .15s ease;
  cursor: pointer;
}

/* Filtre actif ou survolé : rouge. */
#journal-gauche .elementor-widget-loop-filter a:hover,
#journal-gauche .e-filter-item:hover,
#journal-gauche .e-filter-item.e-active {
  color: #E8453C;
}

/* ═══════════════════════════════════════════════════════════════
   JOURNAL — colonne gauche fixe (desktop uniquement)
═══════════════════════════════════════════════════════════════ */

/* Desktop : colonne gauche fixe au scroll. */
@media (min-width: 861px) {
  #journal-gauche {
    position: sticky;
    top: 56px;
    height: calc(100vh - 56px);
    align-self: start;
  }
}

/* ═══════════════════════════════════════════════════════════════
   JOURNAL — image à la une : visible seulement à l'ouverture
═══════════════════════════════════════════════════════════════ */
.actu-image {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height .4s ease, opacity .4s ease;
}
.journal-article.ouvert .actu-image {
  max-height: 2000px;
  opacity: 1;
}

/* Mobile/tablette : scroll normal, pas de sticky. */
@media (max-width: 1016px) {
  #journal-gauche {
    position: static;
    height: auto;
  }
}

/* Neutralise un paragraphe vide en fin de corps d'article */
.journal-article-body p:empty {
  display: none;
  margin: 0;
}




/* bouton ancre page compagnie */
/* nav ancres page compagnie — calqué sur le filtre Journal */
.nav-ancre a.elementor-button {
  display: block;
  width: 100%;
  padding: 12px 0;
  border-bottom: 1px solid #e0e0e0;
  text-align: left;
  transition: color .15s ease;
}
.nav-ancre a.elementor-button .elementor-button-content-wrapper {
  justify-content: flex-start;
}
.nav-ancre a.elementor-button .elementor-button-text {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 500;
  font-size: 30px;
  line-height: 28px;
  color: #000;
  transition: color .15s ease;
}
.nav-ancre a.elementor-button:hover .elementor-button-text {
  color: #E8453C;
}
@media (max-width: 860px) {
  .nav-ancre a.elementor-button .elementor-button-text {
    font-size:24px !important;
    line-height:22px !important;
  }
}

/* décalage ancres sous le header fixe — page compagnie */
#projet-artistique, #carole-thibaut, #equipe, #histoire-compagnie, #partenaires {
  scroll-margin-top: 80px;
}

/* colonne gauche fixe — page compagnie */
@media (min-width: 861px) {
  #compagnie-gauche {
    position: sticky;
    top: 56px;
    height: calc(100vh - 56px);
    align-self: start;
  }
}
@media (max-width: 860px) {
  #compagnie-gauche {
    position: static;
    height: auto;
  }
}
/* fix sticky colonne gauche — page compagnie */
@media (min-width: 861px) {
  #compagnie-split {
    align-items: flex-start;
  }
}
/* fix sticky : lever l'overflow de l'enveloppe — page compagnie */
@media (min-width: 861px) {
  #compagnie-wrap { overflow: visible; }
}
@media (min-width: 861px) {
  #compagnie-wrap, #compagnie-split { overflow: visible; }
}



/*page d'accueil 
callage centre verticalment de la citation */
#exm-citation-cible {
  margin-top: auto;
  margin-bottom: auto;
  text-align: center;
}

#accueil-gauche {
  height: calc(100vh + 42px) !important;
}


/* Sticky footer : pousse le footer en bas si contenu court */
body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

body > div[data-elementor-type="wp-page"] {
  flex: 1 0 auto;
}


/* ═══════════════════════════════════════════════════════════════
   TITRES DE PAGE — dimension fluide, anti-débordement
═══════════════════════════════════════════════════════════════ */
.page-title,
.page-title .elementor-heading-title,
.page-title h1 {
  font-size: clamp(58px, 8vw, 130px) !important;
  line-height: .9 !important;
  letter-spacing: -.04em !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  -webkit-hyphens: auto !important;
  hyphenate-limit-chars: 8 4 3 !important;
}
/* ════════════════════════
  Accueil
═*/
/* Accueil uniquement : header noir, typo blanche, 18 px (menu + titre) */
body.home header.elementor .elementor-element-e0ad8d4 {
  background-color: #000000 !important;
}
body.home header.elementor .elementor-nav-menu--main .elementor-item {
  font-size: 18px !important;
  color: #ffffff !important;
}
body.home header.elementor .elementor-nav-menu--main .elementor-item:hover,
body.home header.elementor .elementor-nav-menu--main .elementor-item:focus {
  color: #999999 !important;
}
body.home header.elementor .elementor-widget-theme-site-title h2,
body.home header.elementor .elementor-widget-theme-site-title h2 a {
  color: #ffffff !important;
  font-size: 18px !important;
}
body.home header.elementor .elementor-widget-theme-site-title h2 a:hover {
  color: #999999 !important;
}
/* burger mobile */
body.home header.elementor .elementor-menu-toggle {
  background-color: #000000 !important;
  color: #ffffff !important;
  fill: #ffffff !important;
}
body.home header.elementor .elementor-menu-toggle svg {
  fill: #ffffff !important;
}

/* gestion du responsive image et citaion en vertical moitie moitie  */

@media (max-width: 1024px) {
  #accueil-droite {
    height: 46vh !important;
    overflow: hidden;
  }
  #accueil-droite .exm-crossfade {
    height: 46vh !important;
  }
  #accueil-gauche {
    height: auto !important;
  }
  #exm-citation-cible {
  height: 40vh !important;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden;
  padding-bottom: 6vh;
  box-sizing: border-box;
}
}

/* Hover lien "Voir toutes les dates" */
.voir-dates:hover,
.voir-dates:hover .e-button-text,
.voir-dates:hover a {
  color: #E8453C !important;
}
/*TEXTE DE PRESENTATION DASN LE BACK OFFICE CREATION*/
/* Texte de présentation par défaut plus gros */
.entry-content p.petit,
.acf-editor-wrap p.petit,
p.petit {
  font-size: 16px !important;
  line-height: 1.4 !important;
}

.entry-content p.deux-colonnes,
.acf-editor-wrap p.deux-colonnes,
p.deux-colonnes {
  column-count: 2 !important;
  column-gap: 40px !important;
  font-size: 16px !important;
    line-height: 1.4 !important;

}

/* Tablette : 2 colonnes reste OK mais réduit le gap */
@media (max-width: 1024px) {
  .entry-content p.deux-colonnes,
  p.deux-colonnes {
    column-gap: 24px !important;
  }
}

/* Mobile : 2 colonnes devient 1 colonne */
@media (max-width: 767px) {
  .entry-content p.deux-colonnes,
  p.deux-colonnes {
    column-count: 1 !important;
  }

  .entry-content p.petit,
  p.petit {
    font-size: 13px !important;
  }
}
 

/* Liens dans le corps des articles (Journal) — survol */
.journal-article-body a {
  color: inherit !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 2px;
  transition: color .15s ease;
}
.journal-article-body a:hover {
  color: #E8453C !important;
}

.journal-article-body {
  -webkit-transform: translateZ(0);
}

/* h1 sans cesure en smartphone*/
@media (max-width: 767px) {
  .page-title,
  .page-title .elementor-heading-title,
  .page-title h1 {
    hyphens: none !important;
    -webkit-hyphens: none !important;
  }
}


/* fix sticky colonne image — page créations */
@media (min-width: 861px) {
  #creations-split { align-items: stretch; }
  .elementor-element-8795f1d { min-height: 130vh; }
  .elementor-element-d8fdde7 { height: 100%; }
}


/* fix incoherence typo et vcouleurs*/

/* Petits labels : 12px + gris unique */
.elementor-kit-85 h5,
.elementor-kit-85 h6 {
  font-size: 12px !important;
  color: #999999 !important;
}

/* Corps de texte global : 17px -> 16px */
.elementor-kit-85 {
  --e-global-typography-a0e6d60-font-size: 16px;
}

/* Filtres Journal : gris uniformisé */
#journal-gauche .e-filter-item {
  color: #000000;
}
#journal-gauche .e-filter-item:hover {
  color: #E8453C;
}
#journal-gauche .e-filter-item[aria-pressed="true"] {
  color: #999999;
}



/* Barre rouge à gauche des filtres Journal (survol) */
#journal-gauche .e-filter-item {
  position: relative;
  overflow: visible;
}
#journal-gauche .e-filter-item::before {
  content: '';
  position: absolute;
  left: -16px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: #E8453C;
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .2s;
}
#journal-gauche .e-filter-item:hover::before {
  transform: scaleY(1);
}

/* Fix: nav sticky Compagnie/Journal qui recouvre le contenu entre 861px et 1025px */
@media (max-width: 1024px) {
  #compagnie-gauche,
  #journal-gauche {
    position: static !important;
    height: auto !important;
  }
}


/* intertitres dans les textes (format « Intertitre » = h3 de l'éditeur) */
.elementor-widget-text-editor h3 {
  margin: 48px 0 16px;
}
.elementor-widget-text-editor h3:first-child {
  margin-top: 0;
}
.elementor-widget-text-editor h3 [style*="font-size"] {
  font-size: inherit !important;
}


/* Bouton « Plus d'articles » du Journal (même langage que le bouton +/−) */
.e-loop__load-more .elementor-button {
  background: transparent !important;
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  color: #000 !important;
  font-family: "Space Grotesk", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 0 16px !important;
  transition: all .2s;
}
.e-loop__load-more .elementor-button:hover,
.e-loop__load-more .elementor-button:focus {
  background: #000 !important;
  color: #fff !important;
}
.e-loop__load-more .elementor-button * {
  color: inherit !important;
  font-family: inherit !important;
}


/* Filet de séparation entre articles du Journal : indépendant de la date
   (avant : bordure basse du widget date, absente si pas de date) */
.elementor-642 .journal-article::after {
  content: '';
  display: block;
  align-self: stretch;
  height: 0;
  border-bottom: 1px solid #999999;
  margin-bottom: 0;
}
/* Filet centré entre la date et le label de l'article suivant (50 / 50 px).
   Sans date : même distance texte → filet (71 px = 6 + date 15 + 50). */
.elementor-642 .journal-article::after {
  margin-top: 71px;
}
.elementor-642 .journal-article:has(> .journal-article-date)::after {
  margin-top: 50px;
}
/* L'image (repliée, hauteur 0) ne doit pas ajouter d'espace */
.elementor-642 .journal-article .actu-image {
  margin-bottom: 0 !important;
}
.elementor-642 .journal-article.ouvert .actu-image {
  margin-bottom: 24px !important;
}


/* Avec les publics : filet porté par l'article (comme le Journal), centré
   entre le texte et le label suivant (50 / 50 px), barre noire calée sur le filet */
.elementor-1072 .journal-article {
  margin-bottom: 20px !important;
}
.elementor-1072 .journal-article::after {
  content: '';
  display: block;
  align-self: stretch;
  height: 0;
  border-bottom: 1px solid #999999;
  margin-top: 26px;
}


/* Avec les publics : colonne gauche fixe sur ordinateur, seule la droite défile
   (même principe que #journal-gauche) */
@media (min-width: 1025px) {
  #publics-gauche {
    position: sticky;
    top: 56px;
    align-self: flex-start;
  }
}


/* Header des pages intérieures (fond blanc + filet noir 2 px d'origine) :
   menu et titre 18 px comme l'accueil, survol gris, page active rouge.
   L'accueil a son propre bloc « Accueil uniquement » (header noir). */
header.elementor .elementor-nav-menu--main .elementor-item {
  font-size: 18px !important;
}
body:not(.home) header.elementor .elementor-nav-menu--main .elementor-item:hover,
body:not(.home) header.elementor .elementor-nav-menu--main .elementor-item:focus {
  color: #999999 !important;
}
body:not(.home) header.elementor .elementor-nav-menu--main .elementor-item.elementor-item-active {
  color: #E8453C !important;
}
header.elementor .elementor-widget-theme-site-title h2,
header.elementor .elementor-widget-theme-site-title h2 a {
  font-size: 18px !important;
}
body:not(.home) header.elementor .elementor-widget-theme-site-title h2 a:hover {
  color: #999999 !important;
}


/* ═══ DÉBUT ESSAI MENU CALÉ SUR LA COLONNE DROITE ═══
   Ordinateur ≥ 1376 px : les rubriques commencent sur la colonne de droite
   (50vw + 8 px, comme le contenu) et remplissent la moitié droite ; la taille
   suit la largeur d'écran (~17 px à 1440, ~23 px à 1920, 30 px max).
   Entre 1025 et 1375 px : menu à droite, 16 px.
   Pour revenir en arrière : supprimer ce bloc jusqu'à « FIN ESSAI MENU ». */
@media (min-width: 1025px) {
  header.elementor { --hdr-fs: 16px; }
  /* sélecteurs renforcés pour passer devant les blocs 18 px (accueil / pages) */
  body:not(.exm-x) header.elementor.elementor .elementor-nav-menu--main .elementor-item,
  body:not(.exm-x) header.elementor.elementor .elementor-widget-theme-site-title h2,
  body:not(.exm-x) header.elementor.elementor .elementor-widget-theme-site-title h2 a {
    font-size: var(--hdr-fs) !important;
  }
  header.elementor .elementor-nav-menu--main > ul > li,
  header.elementor .elementor-nav-menu--main > ul > li > a {
    margin: 0 !important;
  }
  header.elementor .elementor-nav-menu--main > ul > li:not(:last-child) {
    margin-inline-end: calc(var(--hdr-fs) * 1.2) !important;
  }
}
@media (min-width: 1376px) {
  header.elementor { --hdr-fs: min(30px, calc((50vw - 56px) / 39.5)); }
  header.elementor .elementor-element-e0ad8d4 {
    justify-content: flex-start !important;
  }
  header.elementor .elementor-element-97a4efd {
    flex: 0 0 calc(50vw - 38px) !important; /* +2 px : correction mesurée */
    max-width: none !important;
  }
  header.elementor .elementor-element-2d85347 {
    flex: 1 1 auto !important;
  }
  header.elementor .elementor-element-2d85347,
  header.elementor .elementor-element-2d85347 .elementor-widget-container,
  header.elementor .elementor-nav-menu--main,
  header.elementor .elementor-nav-menu--main > ul {
    justify-content: flex-start !important;
    margin-inline-start: 0 !important;
  }
}
/* ═══ FIN ESSAI MENU ═══ */


/* ═══ COLONNES HARMONISÉES (ordinateur) ═══
   Texte de la colonne droite partout à 50 % + 10 px (comme Journal / Publics),
   calé sur le menu. Images pleine hauteur à droite : départ à 50 % (comme l'accueil). */
@media (min-width: 1025px) {
  #compagnie-split,
  .elementor-element-412f682 {
    column-gap: 20px !important;
  }
  #creations-split > .elementor-element-8795f1d {
    flex: 0 0 calc(50% - 24px) !important;
    width: calc(50% - 24px) !important;
    max-width: none !important;
  }
}


/* Contact : colonne gauche fixe sur ordinateur, seule la droite défile
   (même principe que #journal-gauche / #publics-gauche) */
@media (min-width: 1025px) {
  .elementor-element-5cb67f6 {
    position: sticky;
    top: 56px;
    align-self: flex-start;
  }
}


/* Contact : blocs alignés sur la marge (pas de retrait gauche/droite de 10 px),
   sur toutes les tailles d'écran */
.elementor-element-0ec1e95 > .elementor-element {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* Accueil : image de droite à la même hauteur que le bloc couleur de gauche
   (gauche = 100vh + 42 px ; l'image faisait 100vh → bande blanche de 42 px) */
@media (min-width: 1025px) {
  #accueil-droite .exm-crossfade {
    height: calc(100vh + 42px) !important;
  }
}


/* ═══ PROCHAINES DATES ACCUEIL : titre de la pièce ≤ 1480 px = taille du menu ═══ */
@media (max-width: 1480px) {
  .elementor-906 .elementor-element.elementor-element-12a8eee .elementor-heading-title {
    font-size: max(16px, calc((50vw - 56px) / 39.5)) !important; /* = menu : 17,3 px à 1480, 16 px dès 1376 */
    line-height: 20px !important;
  }
}

/* ═══ PROCHAINES DATES ACCUEIL : lien du titre vers la création (survol = opacité, lisible sur tous les fonds) ═══ */
.elementor-906 .elementor-element-12a8eee .elementor-heading-title a {
  color: inherit;
  text-decoration: none;
  transition: opacity .2s;
}
.elementor-906 .elementor-element-12a8eee .elementor-heading-title a:hover {
  opacity: .6;
}

/* ═══ SÉLECTION DU TEXTE (tout le site) ═══ */
::selection {
  background: #000;
  color: #fff;
}
img::selection {
  background: transparent;
}

/* ═══ PROCHAINES DATES ACCUEIL : lignes de base alignées (date / titre / lieu) ═══ */
.elementor-906 .elementor-element.elementor-element-0c6cc3c {
  align-items: baseline !important;
}

/* ═══ PROCHAINES DATES ACCUEIL : lien du lieu vers le théâtre (même traitement que le titre) ═══ */
.elementor-906 .elementor-element-474a8eb .elementor-heading-title a {
  color: inherit;
  text-decoration: none;
  transition: opacity .2s;
}
.elementor-906 .elementor-element-474a8eb .elementor-heading-title a:hover {
  opacity: .6;
}

/* ═══ Liens dans les sous-titres de page ═══ */
.page-subtitle a { color: #E8453C; transition: color .2s; }
.page-subtitle a:hover { color: #000; }/* End custom CSS */