:root {
  --colibri-blue-deep: #2d4a3e;
  --colibri-green: #6aaf6a;
  --colibri-gold: #c97c5d;
  --colibri-gold-soft: #faeee8;
}

/* Styles globaux des boutons */
.button--primary,
a.button--primary,
.woocommerce button.button,
.woocommerce button.button.alt,
.woocommerce .button,
.woocommerce .button.alt,
.woocommerce input.button,
.woocommerce input.button.alt {
  background-color: #6aaf6a !important;
  color: #ffffff !important;
  border-color: #6aaf6a !important;
  font-size: 15px !important;
  font-family: "Noto Sans JP", Arial, sans-serif !important;
  padding: 12px 22px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  display: inline-block !important;
  border-radius: 6px !important;
  transition: background-color 0.18s, transform 0.18s !important;
  border: 1px solid #6aaf6a !important;
}

.woocommerce button.button:hover,
.woocommerce button.button.alt:hover,
.woocommerce .button:hover,
.woocommerce .button.alt:hover,
.woocommerce input.button:hover,
.woocommerce input.button.alt:hover {
  background-color: #2d4a3e !important;
  border-color: #2d4a3e !important;
  transform: translateY(-2px) !important;
}

/* Force tous les boutons checkout/panier */
button[type="submit"],
input[type="submit"],
.button,
button.button,
a.button {
  background-color: #6aaf6a !important;
  color: #ffffff !important;
  border-color: #6aaf6a !important;
}

button[type="submit"]:hover,
input[type="submit"]:hover,
.button:hover,
button.button:hover,
a.button:hover {
  background-color: #2d4a3e !important;
  border-color: #2d4a3e !important;
}

/* Exception pour le bouton ghost-light (style bordure blanche semi-opaque) */
.button--ghost-light,
a.button--ghost-light {
  background-color: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.45) !important;
  border: 2px solid rgba(255, 255, 255, 0.45) !important;
}

.button--ghost-light:hover,
a.button--ghost-light:hover {
  background-color: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.65) !important;
}

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

#page-container,
#et-main-area,
#main-content,
#et-boc {
  max-width: 100%;
  overflow-x: hidden !important;
}

/* Supprimer les border-radius Divi sur les blocs */
.et_pb_section,
.et_pb_row,
.et_pb_column,
.et_pb_module {
  border-radius: 0 !important;
}

/* font-family gérée via Apparence > Personnaliser > Polices du site */
body:not(.colibri-home) #main-content {
  color: #6b4f3a;
}

body:not(.colibri-home) #main-content h1,
body:not(.colibri-home) #main-content h2,
body:not(.colibri-home) #main-content h3,
body:not(.colibri-home) #main-content h4,
body:not(.colibri-home) #main-content h5,
body:not(.colibri-home) #main-content h6,
body:not(.colibri-home) #main-content .et_pb_text_inner h1,
body:not(.colibri-home) #main-content .et_pb_text_inner h2,
body:not(.colibri-home) #main-content .et_pb_text_inner h3 {
  color: var(--colibri-blue-deep) !important;
}

body:not(.colibri-home) #main-content h2,
body:not(.colibri-home) #main-content h3 {
  font-weight: 700;
}

/* ---- Eyebrow — typographie de base, disponible sur toutes les pages ---- */
.eyebrow {
  display: block;
  font-family: "Noto Sans JP", "Inter", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin: 0 0 12px;
}

body .section-heading,
body .lieux-header {
  text-align: center;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 48px;
}

body .section-heading .eyebrow--dark,
body .lieux-header .eyebrow--dark,
body:not(.colibri-home) #main-content .eyebrow--dark,
body:not(.colibri-home) #main-content .qui-manifeste__eyebrow,
body:not(.colibri-home) #main-content .qui-intro__content .eyebrow {
  color: var(--colibri-blue-deep) !important;
  font-family: "Noto Sans JP", "Inter", Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

body .section-heading h2,
body .lieux-header h2 {
  color: var(--colibri-blue-deep) !important;
  font-family: Calibri, "Segoe UI", Arial, sans-serif !important;
  font-size: clamp(36px, 4.8vw, 56px) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
}

body .section-heading .section-lead {
  color: #6b4f3a !important;
  font-family: "Noto Sans JP", "Inter", Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  max-width: 520px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 20px !important;
}

body.colibri-home .piliers .section-heading h2 {
  color: #ffffff !important;
}

body.colibri-home .piliers .section-heading .eyebrow--dark {
  color: #f2d16b !important;
}

body:not(.colibri-home) #main-content .cta-adhesion h1,
body:not(.colibri-home) #main-content .cta-adhesion h2,
body:not(.colibri-home) #main-content .cta-adhesion h3,
body:not(.colibri-home) #main-content .contrib-ac__panel--01 h1,
body:not(.colibri-home) #main-content .contrib-ac__panel--01 h2,
body:not(.colibri-home) #main-content .contrib-ac__panel--01 h3,
body:not(.colibri-home) #main-content .lieu-panel--provin h1,
body:not(.colibri-home) #main-content .lieu-panel--provin h2,
body:not(.colibri-home) #main-content .lieu-panel--provin h3 {
  color: #ffffff !important;
}

body:not(.colibri-home) #main-content .contrib-ac__panel--01,
body:not(.colibri-home) #main-content .contrib-ac__panel--02,
body:not(.colibri-home) #main-content .lieu-panel--provin,
body:not(.colibri-home) #main-content .cta-adhesion {
  color: rgba(255, 255, 255, 0.82) !important;
}

body:not(.colibri-home) #main-content .contrib-ac__panel--01 .contrib-ac__type,
body:not(.colibri-home) #main-content .contrib-ac__panel--02 .contrib-ac__type,
body:not(.colibri-home) #main-content .lieu-panel--provin .lieu-panel__type {
  color: var(--colibri-green) !important;
}

body:not(.colibri-home) #main-content .contrib-ac__panel--01 .contrib-ac__titre,
body:not(.colibri-home) #main-content .contrib-ac__panel--02 .contrib-ac__titre,
body:not(.colibri-home) #main-content .lieu-panel--provin .lieu-panel__ville {
  color: #ffffff !important;
}

body:not(.colibri-home) #main-content .contrib-ac__panel--01 .contrib-ac__texte,
body:not(.colibri-home) #main-content .contrib-ac__panel--02 .contrib-ac__texte {
  color: rgba(255, 255, 255, 0.68) !important;
}

body:not(.colibri-home) #main-content .lieu-panel--provin .lieu-panel__nom {
  color: rgba(255, 255, 255, 0.60) !important;
}

body:not(.colibri-home) #main-content .lieu-panel--provin .lieu-panel__liste li {
  color: rgba(255, 255, 255, 0.82) !important;
}

body:not(.colibri-home) #main-content .lieu-panel--provin .lieu-panel__adresse {
  color: rgba(255, 255, 255, 0.70) !important;
}

body:not(.colibri-home) #main-content .contrib-ac__panel--03 .contrib-ac__type,
body:not(.colibri-home) #main-content .lieu-panel--annoeulin .lieu-panel__type {
  color: var(--colibri-gold) !important;
}

body:not(.colibri-home) #main-content .contrib-ac__panel--03 .contrib-ac__titre,
body:not(.colibri-home) #main-content .lieu-panel--annoeulin .lieu-panel__ville,
body:not(.colibri-home) #main-content .lieu-panel--annoeulin .lieu-panel__adresse {
  color: var(--colibri-blue-deep) !important;
}

body:not(.colibri-home) #main-content .contrib-ac__panel--03 .contrib-ac__texte,
body:not(.colibri-home) #main-content .lieu-panel--annoeulin .lieu-panel__nom,
body:not(.colibri-home) #main-content .lieu-panel--annoeulin .lieu-panel__liste li {
  color: #6b4f3a !important;
}

/* Masquer le header natif Divi sur toutes les pages non-home */
body:not(.colibri-home) #main-header,
body:not(.colibri-home) #et-secondary-nav {
  display: none !important;
}

/* Masquer la newsletter et le footer dans l'éditeur Divi pour plus de clarté (comme le header) */
.et-fb .newsletter,
.et-fb .site-footer,
.et-fb #main-footer {
  display: none !important;
}

/* Forcer pleine largeur des wrappers Divi (évite les barres blanches) */
body:not(.colibri-home) #page-container {
  max-width: 100% !important;
  width: 100% !important;
  padding-top: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-top: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:not(.colibri-home).et_fixed_nav.et_show_nav #page-container,
body:not(.colibri-home).et_fixed_nav.et_show_nav.et_secondary_nav_enabled #page-container,
body:not(.colibri-home).et_fixed_nav.et_show_nav.et_header_style_centered #page-container {
  padding-top: 0 !important;
}

body:not(.colibri-home) #et-main-area {
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body:not(.colibri-home) .et-l--footer {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
}

body:not(.colibri-home).et-db #et-boc .et-l--footer,
body:not(.colibri-home) footer.et-l--footer {
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
}

body:not(.colibri-home) .et-l--footer .et_builder_inner_content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.newsletter,
.site-footer {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box;
}


.newsletter *,
.site-footer * {
  box-sizing: border-box;
}

.newsletter br,
.site-footer br {
  display: none;
}

.et-l--footer .et_pb_section,
.et-l--footer .et_pb_row,
.et-l--footer .et_pb_column,
.et-l--footer .et_pb_module,
.et-l--footer .et_pb_code,
.et-l--footer .et_pb_code_inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.et-l--footer .et_pb_section {
  background: transparent !important;
}

.et-l--footer .et_pb_row {
  display: block !important;
}

.newsletter .container,
.site-footer .container {
  width: min(1180px, calc(100% - 44px));
  max-width: 1180px;
  margin-right: auto;
  margin-left: auto;
}

.newsletter {
  background: linear-gradient(180deg, rgba(242, 209, 107, 0.13) 0%, #d8efcc 100%);
  padding: 52px 0;
  border-top: 2px solid rgba(201, 124, 93, 0.18);
  font-family: "Noto Sans JP", Arial, sans-serif;
}

.newsletter__inner {
  display: flex;
  align-items: flex-start;
  gap: 56px;
}

.newsletter__copy {
  flex: 0 0 220px;
}

.newsletter .eyebrow {
  margin: 0 0 10px;
  padding: 0;
  color: var(--colibri-gold);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.newsletter__copy h2 {
  margin: 0 0 6px;
  padding: 0;
  color: var(--colibri-blue-deep);
  font-family: Calibri, "Segoe UI", Arial, sans-serif;
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 400;
  line-height: 1.08;
}

.newsletter__copy p {
  margin: 0;
  padding: 0;
  color: #6b3f2a;
  font-size: 14px;
  line-height: 1.6;
}

.newsletter__form {
  flex: 1;
}

.newsletter__fields {
  display: flex;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.newsletter__field {
  flex: 1;
  min-width: 130px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.newsletter__field label {
  color: var(--colibri-blue-deep);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.newsletter__field input {
  width: 100%;
  padding: 10px 13px;
  border: 1px solid rgba(90, 115, 72, 0.22);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.75);
  color: #2f2a24;
  font: inherit;
  font-size: 14px;
  line-height: 1.35;
}

.newsletter__field input:focus {
  outline: none;
  border-color: var(--colibri-blue-deep);
  background: #fff;
}

.newsletter__submit,
.newsletter .button {
  min-height: 42px;
  padding: 10px 18px;
  border: 1px solid var(--colibri-gold);
  border-radius: 7px;
  background: var(--colibri-gold);
  color: #fff;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.newsletter__consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 14px 0 0;
  cursor: pointer;
  font-size: 13px;
  color: #5a3a28;
  line-height: 1.5;
}
.newsletter__consent input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 2px;
  width: 16px;
  height: 16px;
  accent-color: var(--color-green-light, #6aaf6a);
  cursor: pointer;
}
.newsletter__consent a {
  color: inherit;
  text-decoration: underline;
}

.newsletter__submit-row {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.newsletter__result {
  margin: 8px 0 0;
  font-size: 14px;
  font-weight: 600;
  min-height: 20px;
}
.newsletter__result.is-success { color: #6aaf6a; }
.newsletter__result.is-error   { color: #c0392b; }

.newsletter__legal {
  margin: 10px 0 0;
  padding: 0;
  color: #6b3f2a;
  font-size: 12px;
  line-height: 1.55;
}

.site-footer {
  background: #1e3328;
  color: rgba(255, 255, 255, 0.65);
  padding-top: 60px;
  font-family: "Noto Sans JP", Arial, sans-serif;
}

.site-footer__inner {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
  padding-bottom: 52px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-brand__logo-link {
  display: inline-block;
  margin-bottom: 14px;
}
.footer-brand__logo {
  height: 48px;
  width: auto;
  display: block;
}

.footer-brand strong {
  display: block;
  margin-bottom: 10px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.25;
}

.footer-brand p {
  margin: 0 0 6px;
  padding: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.65;
}

.footer-address {
  color: rgba(255, 255, 255, 0.42);
  font-size: 13px;
}

.footer-nav,
.footer-contact {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-nav a,
.footer-contact a {
  display: inline-flex;
  width: fit-content;
  color: rgba(255, 255, 255, 0.6);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.35;
  text-decoration: none;
  transition: color 0.15s;
}

.footer-nav a:hover,
.footer-contact a:hover {
  color: #fff;
}

.footer-social {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  color: rgba(255, 255, 255, 0.55) !important;
  font-size: 14px;
  text-decoration: none;
  transition: color 0.15s;
}

.footer-social:hover {
  color: #fff !important;
}

.footer-bottom {
  padding: 22px 0;
}

.footer-bottom__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}

.footer-bottom__inner span,
.footer-bottom__inner a {
  color: rgba(255, 255, 255, 0.35);
  font-size: 13px;
  line-height: 1.4;
  text-decoration: none;
}

.footer-bottom__inner a:hover {
  color: rgba(255, 255, 255, 0.65);
}

.footer-legal-links {
  display: flex;
  align-items: center;
  gap: 8px;
}
.footer-legal-links a + a::before {
  content: '·';
  color: rgba(255, 255, 255, 0.2);
  margin-right: 8px;
  pointer-events: none;
}

@media (max-width: 900px) {
  body:not(.et-fb) footer,
  body:not(.et-fb) #main-footer,
  body:not(.et-fb) .et-l--footer,
  body:not(.et-fb) .newsletter,
  body:not(.et-fb) .site-footer {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body:not(.et-fb) #page-container .et_pb_section,
  body:not(.et-fb) #page-container .et_pb_row,
  body:not(.et-fb) #page-container .et_pb_column,
  body:not(.et-fb) #page-container .et_pb_module,
  body:not(.et-fb) #page-container .et_pb_code,
  body:not(.et-fb) #page-container .et_pb_code_inner {
    pointer-events: none;
  }

  body:not(.et-fb) #page-container a,
  body:not(.et-fb) #page-container button,
  body:not(.et-fb) #page-container input,
  body:not(.et-fb) #page-container select,
  body:not(.et-fb) #page-container textarea,
  body:not(.et-fb) #page-container label,
  body:not(.et-fb) #page-container summary,
  body:not(.et-fb) #page-container details,
  body:not(.et-fb) #page-container iframe,
  body:not(.et-fb) #page-container [role="button"],
  body:not(.et-fb) #page-container [tabindex],
  body:not(.et-fb) #page-container .colibri-nav,
  body:not(.et-fb) #page-container .colibri-nav *,
  body:not(.et-fb) #page-container .newsletter,
  body:not(.et-fb) #page-container .newsletter *,
  body:not(.et-fb) #page-container .site-footer,
  body:not(.et-fb) #page-container .site-footer *,
  body:not(.et-fb) #page-container .training-title,
  body:not(.et-fb) #page-container .training-title *,
  body:not(.et-fb) #page-container .booking-widget,
  body:not(.et-fb) #page-container .booking-widget *,
  body:not(.et-fb) #page-container .colibri-plugin-booking,
  body:not(.et-fb) #page-container .colibri-plugin-booking * {
    pointer-events: auto;
  }

  body:not(.et-fb) #page-container a,
  body:not(.et-fb) #page-container button,
  body:not(.et-fb) #page-container summary,
  body:not(.et-fb) #page-container [role="button"] {
    position: relative;
    z-index: 5;
  }

  body:not(.et-fb) #page-container .services-bold {
    position: relative !important;
  }

  body:not(.et-fb) #page-container .services-bold__arrow {
    position: absolute !important;
    top: 50% !important;
    z-index: 12 !important;
    transform: translateY(-50%) !important;
    pointer-events: auto !important;
  }

  body:not(.et-fb) #page-container .services-bold__arrow--prev {
    left: 12px !important;
    right: auto !important;
  }

  body:not(.et-fb) #page-container .services-bold__arrow--next {
    right: 12px !important;
    left: auto !important;
  }

  .newsletter__inner {
    flex-direction: column;
    gap: 28px;
  }

  .newsletter__copy {
    flex: none;
  }

  .newsletter__field {
    flex: 1 1 calc(50% - 12px);
    min-width: 0;
  }

  .site-footer__inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-bottom__inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
  }
}

@media (max-width: 640px) {
  .newsletter__field {
    flex: 1 1 100%;
  }
}

/* Désactiver toutes les animations Divi — tout le site (scroll + entrée + transform) */
.et_pb_section,
.et_pb_row,
.et_pb_column,
.et_pb_module,
.et_animated {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
  visibility: visible !important;
  min-height: 0 !important;
}

/* Retirer les padding/marges sur #main-content pour que les sections aillent pleine largeur */
body:not(.colibri-home) #main-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: 100% !important;
}

/* Masquer le footer et la newsletter UNIQUEMENT sur l'interface d'édition Divi pour la page Adhérer */
.et-fb.page-adherer .newsletter,
.et-fb.page-id-22731 .newsletter,
.et-fb.page-adherer .site-footer,
.et-fb.page-id-22731 .site-footer,
.et-fb.page-adherer #main-footer,
.et-fb.page-id-22731 #main-footer {
  display: none !important;
}
