:root {
  /* Palette extraite du logo JCPME */
  --td-theme-primary: #2f6f9f;
  --td-theme-secondary: #e59a48;
  --td-common-blue: #2f6f9f;
  --td-border-primary: #2f6f9f;
  --td-heading-color: #2f6f9f;
}

/* Accent orange sur les boutons principaux */
.td-btn-square,
.td-btn,
.cta-btn,
.cartmini-btn,
.cartmini-btn-border:hover {
  background: var(--td-theme-secondary) !important;
  border-color: var(--td-theme-secondary) !important;
}

/* Boutons bleus (override orange) */
.jcpme-btn-blue,
.jcpme-btn-blue.td-btn-square,
.jcpme-btn-blue.td-btn-square-xl,
.jcpme-btn-blue.td-btn {
  background: var(--td-theme-primary) !important;
  border-color: var(--td-theme-primary) !important;
}

.jcpme-btn-blue:hover {
  background: var(--td-theme-primary) !important;
  border-color: var(--td-theme-primary) !important;
}

/* Liens/menu actifs en bleu marque */
.tdmenu__nav .navigation > li.active > a,
.tdmenu__nav .navigation > li > a:hover,
.tdmobile__menu .navigation > li > a:hover {
  color: var(--td-theme-primary) !important;
}

/* Overlay noir sur le cover hero pour lisibilite du texte */
.jcpme-cover-overlay {
  position: relative;
  overflow: hidden;
}

.jcpme-cover-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1;
}

.jcpme-cover-overlay > * {
  position: relative;
  z-index: 2;
}

/* Logos sponsors / partenaires : couleurs natives (le thème td-brands-2-wrap désature par défaut) */
.jcpme-brands-fullcolor.td-brands-2-wrap .td-brands-item a img {
  filter: saturate(1) !important;
}

.jcpme-brands-fullcolor.td-brands-2-wrap .td-brands-item a:hover img {
  filter: saturate(1) !important;
}

/* À propos : casse réelle du texte (le thème met capitalize sur titres et .para) */
.td-about-area .td-section-subtitle,
.td-about-area .td-section-subtitle-2 {
  text-transform: none;
}

.td-about-area .td-section-title,
.td-about-area .td-about-2-content .para {
  text-transform: none;
}

.td-about-area .jcpme-about-subtitle {
  font-family: var(--td-ff-poppins);
  font-weight: 600;
  font-size: 1.125rem;
  color: #141418;
  text-transform: none;
}

.td-about-area .jcpme-about-subtitle--secondary {
  font-size: 1rem;
  margin-top: 0;
}

.td-about-area .jcpme-benefits-two-days {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(20, 20, 24, 0.1);
}

.td-about-area .jcpme-about-bullets li {
  font-family: var(--td-ff-poppins);
  font-size: 1rem;
  line-height: 1.55;
  color: var(--td-grey-1);
  text-transform: none;
  padding: 0.35rem 0;
  padding-left: 1.25rem;
  position: relative;
}

.td-about-area .jcpme-about-bullets li::before {
  content: "–";
  position: absolute;
  left: 0;
  color: var(--td-theme-primary);
  font-weight: 600;
}

.td-about-area .jcpme-about-bullets--disc li {
  padding-left: 1.35rem;
}

.td-about-area .jcpme-about-bullets--disc li::before {
  content: "●";
  font-size: 0.65em;
  top: 0.55rem;
  font-weight: 400;
}

/* Programme (listes dans l’onglet) */
.td-schedule-area .jcpme-program-day-title {
  font-family: var(--td-ff-poppins);
  font-weight: 600;
  font-size: 1.25rem;
  margin-bottom: 1rem;
  color: #141418;
  text-transform: none;
}

.td-schedule-area .jcpme-program-list li {
  font-family: var(--td-ff-poppins);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--td-grey-1);
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(20, 20, 24, 0.08);
  text-transform: none;
}

.td-schedule-area .jcpme-program-list li:last-child {
  border-bottom: none;
}

/* Chiffres clés JCPME — style uniforme (comme les 3e et 4e blocs : pas de grands chiffres) */
.jcpme-stats-uniform .td-counter-2-icon i {
  color: var(--td-theme-primary);
  font-size: 2.5rem;
  line-height: 1;
}

.jcpme-stats-uniform .td-counter-2-wrap--text {
  align-items: center;
}

.jcpme-stat-text-only .td-counter-2-content {
  min-width: 0;
}

.jcpme-stat-text-only__p {
  font-family: var(--td-ff-poppins);
  font-size: 16px;
  line-height: 1.45;
  text-transform: none;
}

.jcpme-stat-text-only__line1 {
  font-weight: 600;
  color: #141418;
}

.jcpme-stat-text-only__line2 {
  font-weight: 500;
  color: var(--td-grey-1);
}

/* Section lieu (fond violet / bleu nuit + quadrillage) */
.jcpme-lieu-section.td-location-area {
  position: relative;
  background-color: #1a0b4d;
  background-image:
    repeating-linear-gradient(
      -36deg,
      transparent,
      transparent 8px,
      rgba(255, 255, 255, 0.04) 8px,
      rgba(255, 255, 255, 0.04) 9px
    ),
    linear-gradient(155deg, #1a0b4d 0%, #2d1b69 42%, #151a45 100%);
  background-size: auto, auto;
  overflow: hidden;
}

.jcpme-lieu-section .jcpme-lieu-badge {
  font-family: var(--td-ff-poppins);
  font-weight: 600;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2d1b69;
  background: #fff;
  padding: 0.4rem 1.1rem;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.jcpme-lieu-section .td-section-title {
  text-transform: none;
}

/* Carte en couleur (le thème désature l’iframe par défaut) */
.jcpme-lieu-section .jcpme-lieu-map iframe,
.jcpme-lieu-section .td-location-2-map iframe {
  filter: saturate(1) !important;
}

@media (max-width: 1199px) {
  .jcpme-lieu-section .td-location-2-map.ml-90 {
    margin-left: 0 !important;
    margin-top: 2rem;
  }
}
