/* Concorde & Co : compatibilité Elementor.
   Les pages Elementor reprennent les classes du thème ; ces règles neutralisent la mise en page par défaut d'Elementor
   (marges, polices, couleurs) pour retrouver exactement le rendu de la version HTML. */
body.cc-el .elementor .e-con.e-con { --display: block; }
.cc-el section.e-con { padding-block: var(--section); }
.cc-el .elementor-widget:not(:last-child) { margin-block-end: 0; }
.cc-el .cc-w { display: contents; }
/* Réglages globaux d'Elementor (« Kit ») neutralisés : polices et couleurs viennent du thème */
body.cc-el {
  --e-global-typography-primary-font-family: var(--cc-display); --e-global-typography-primary-font-weight: 500;
  --e-global-typography-secondary-font-family: var(--cc-display); --e-global-typography-secondary-font-weight: 500;
  --e-global-typography-text-font-family: var(--body); --e-global-typography-text-font-weight: 400;
  --e-global-typography-accent-font-family: var(--body); --e-global-typography-accent-font-weight: 600;
  --e-global-color-primary: currentColor; --e-global-color-secondary: currentColor; --e-global-color-text: currentColor; --e-global-color-accent: currentColor;
}
.cc-el .elementor-widget-heading .elementor-heading-title { line-height: 1.1; }
.cc-el .elementor-widget-heading p.elementor-heading-title { line-height: inherit; }
.cc-el .hero h1.elementor-heading-title { font-weight: 400; }
.cc-el .elementor-widget-heading p.elementor-heading-title,
.cc-el .elementor-widget-heading span.elementor-heading-title,
.cc-el .elementor-widget-heading div.elementor-heading-title { color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; line-height: inherit; }

/* Boutons : le bouton Elementor reprend le style .btn du thème */
.cc-el .elementor-widget-button.btn { display: block; width: fit-content; padding: 0; border: 0; background: none; }
.cc-el .elementor-widget-button .elementor-button {
  display: inline-flex; align-items: center; gap: 10px; padding: 13px 24px; font: 600 .875rem/1 var(--body); letter-spacing: .04em;
  text-decoration: none; border: 1px solid var(--gold); border-radius: 0; box-shadow: none; text-transform: none; fill: currentColor;
  background: transparent; color: inherit; transition: background .2s, color .2s, border-color .2s;
}
.cc-el .elementor-widget-button .elementor-button-content-wrapper { display: inline-flex; align-items: center; gap: 10px; }
.cc-el .btn-gold .elementor-button { background: var(--gold); color: var(--navy); }
.cc-el .btn-gold .elementor-button:hover { background: #D8B566; color: var(--navy); }
.cc-el .btn-line .elementor-button { background: transparent; color: var(--ivory); border-color: rgba(246, 242, 234, .5); }
.cc-el .btn-line .elementor-button:hover { border-color: var(--ivory); background: rgba(246, 242, 234, .08); color: var(--ivory); }
.cc-el .btn-dark .elementor-button { background: var(--navy); color: var(--ivory); border-color: var(--navy); }
.cc-el .btn-dark .elementor-button:hover { background: var(--navy-2); color: var(--ivory); }
.cc-el .elementor-widget-button.btn .elementor-button-text::after { content: "\2192"; display: inline-block; transition: transform .2s; }
.cc-el .elementor-widget-button.btn .elementor-button:hover .elementor-button-text::after { transform: translateX(3px); }

/* Coordonnées : libellé et valeur reprennent le style d'origine (span / b) */
.cc-el .coords .coord-l { font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--mist); font-weight: 600; }
.cc-el .coords .coord-v { font-family: var(--cc-display); font-weight: 400; font-size: 1.4rem; color: var(--ivory); user-select: all; }
.cc-el .elementor-widget-button .elementor-button-text { display: inline-flex; align-items: center; gap: 10px; }

/* Page Équipe : la biographie reste cachée sur la carte (elle s'ouvre dans la fiche) ; visible seulement dans l'éditeur */
body:not(.elementor-editor-active) .person .p-bio { display: none; }
.cc-el .person-open { align-content: start; }
