.elementor-kit-8{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--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;background-color:transparent;color:#094C80;font-family:"Poppins", Sans-serif;background-image:linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 100%);}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-kit-8 h1{font-family:"Poppins", Sans-serif;font-size:60px;}.elementor-kit-8 h2{color:#094C80;font-family:"Poppins", Sans-serif;font-size:40px;}.elementor-kit-8 h3{color:#094C80;font-family:"Poppins", Sans-serif;}.elementor-kit-8 h4{color:#094C80;font-family:"Poppins", Sans-serif;}.elementor-kit-8 h5{color:#094C80;font-family:"Poppins", Sans-serif;}.elementor-kit-8 h6{color:#094C80;font-family:"Poppins", Sans-serif;}.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);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@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 *//* ============================================
   TYPOGRAPHIE - Titres et texte
   S'applique au widget "Éditeur de texte" (fiches Partenaires)
   ET au widget "Contenu du site" (Articles/Recettes)
   ============================================ */

/* H1 : pas de couleur forcée — hérite du contexte (blanc dans les heros) */
.elementor-widget-text-editor h1,
.elementor-widget-theme-post-content h1 {
  font-size: 3rem !important;
  font-weight: 700 !important;
  line-height: 1.15 !important;
  margin-top: 3.5rem !important;
  margin-bottom: 1.5rem !important;
}

.elementor-widget-text-editor h2,
.elementor-widget-theme-post-content h2 {
  font-size: 2.25rem !important;
  font-weight: 700 !important;
  color: #094c80 !important;
  line-height: 1.25 !important;
  margin-top: 3rem !important;
  margin-bottom: 1.25rem !important;
}

.elementor-widget-text-editor h3,
.elementor-widget-theme-post-content h3 {
  font-size: 1.65rem !important;
  font-weight: 700 !important;
  color: #094c80 !important;
  line-height: 1.3 !important;
  margin-top: 2.5rem !important;
  margin-bottom: 1rem !important;
}

.elementor-widget-text-editor h4,
.elementor-widget-theme-post-content h4 {
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: #094c80 !important;
  line-height: 1.4 !important;
  margin-top: 2rem !important;
  margin-bottom: 0.75rem !important;
}

.elementor-widget-text-editor h5,
.elementor-widget-theme-post-content h5 {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #094c80 !important;
  line-height: 1.4 !important;
  margin-top: 1.75rem !important;
  margin-bottom: 0.75rem !important;
}

.elementor-widget-text-editor h6,
.elementor-widget-theme-post-content h6 {
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #555 !important;
  line-height: 1.4 !important;
  margin-top: 1.75rem !important;
  margin-bottom: 0.75rem !important;
}

.elementor-widget-text-editor p,
.elementor-widget-theme-post-content p {
  font-size: 1.05rem !important;
  margin-top: 0 !important;
  margin-bottom: 1.75rem !important;
  line-height: 1.75 !important;
}

.elementor-widget-text-editor ul,
.elementor-widget-text-editor ol,
.elementor-widget-theme-post-content ul,
.elementor-widget-theme-post-content ol {
  margin-top: 0 !important;
  margin-bottom: 1.75rem !important;
  padding-left: 1.75rem !important;
  line-height: 1.75 !important;
}

.elementor-widget-text-editor li,
.elementor-widget-theme-post-content li {
  margin-bottom: 0.6rem !important;
}

.elementor-widget-text-editor blockquote,
.elementor-widget-theme-post-content blockquote {
  border-left: 3px solid #094c80 !important;
  padding: 0.5rem 0 0.5rem 1.5rem !important;
  margin: 2rem 0 !important;
  font-style: italic !important;
  font-size: 1.15rem !important;
  color: #555 !important;
}

/* Évite un espace vide en haut du tout premier titre d'un widget */
.elementor-widget-text-editor h1:first-child,
.elementor-widget-text-editor h2:first-child,
.elementor-widget-text-editor h3:first-child,
.elementor-widget-text-editor h4:first-child,
.elementor-widget-text-editor h5:first-child,
.elementor-widget-text-editor h6:first-child,
.elementor-widget-theme-post-content h1:first-child,
.elementor-widget-theme-post-content h2:first-child,
.elementor-widget-theme-post-content h3:first-child,
.elementor-widget-theme-post-content h4:first-child,
.elementor-widget-theme-post-content h5:first-child,
.elementor-widget-theme-post-content h6:first-child {
  margin-top: 0 !important;
}


/* ============================================
   FORMULAIRE - Placeholder blanc
   ============================================ */
.elementor .e-form-input-base::placeholder,
.elementor .e-form-textarea-base::placeholder {
  color: #ffffff !important;
}

/* ============================================
   FORMULAIRE - Champs sans padding ni bordure
   Remplacés par une bordure basse blanche
   ============================================ */
.e-form-input-base {
  padding-left: 0 !important;
}

.elementor input,
.elementor textarea {
  padding-left: 0 !important;
  border: none !important;
  border-bottom: 1px solid #ffffff !important;
  background: transparent !important;
}

/* ============================================
   FORMULAIRE - Checkbox style blanc
   ============================================ */
.elementor .e-form-checkbox-base {
  border: 1px solid #ffffff !important;
  background: transparent !important;
}

/* ============================================
   FORMULAIRE NEWSLETTER (footer) - Style bleu
   Scopé au widget par son ID Elementor unique,
   car l'ID "form-field-email" est dupliqué entre
   le formulaire de contact et celui du footer
   ============================================ */
.elementor-element-e92ddc6 input[type="email"] {
  padding-left: 0 !important;
  border: none !important;
  border-bottom: 1px solid #094c80 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  color: #094c80 !important;
  box-shadow: none !important;
}

.elementor-element-e92ddc6 input[type="email"]::placeholder {
  color: #094c80 !important;
  opacity: 0.7 !important;
}


/* ============================================
   MENU - Trait de soulignement (pointer)
   Longueur fixe au lieu de la pleine largeur
   ============================================ */
.e--pointer-underline .elementor-item::after,
.e--pointer-underline .elementor-item:hover::after,
.e--pointer-underline .elementor-item.elementor-item-active::after {
  width: 14px !important;
  transform: none !important;
}


/* ==========================================================================
   Popup carte Mapbox — Fiche partenaire au clic sur un pin
   ========================================================================== */

/* Conteneur du popup — largeur et bords arrondis façon maquette */
.mapboxgl-popup-content {
  width: auto;
  min-width: 260px;
  max-width: 340px;
  padding: 18px 28px 18px 20px; /* padding droit renforcé pour éviter que la croix morde le texte */
  border-radius: 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  text-align: center;
}

/* La flèche reste centrée sous le popup */
.mapboxgl-popup-tip {
  border-top-color: #fff;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

/* Décale tout le popup (flèche + contenu) pour recentrer sur le pin */
.mapboxgl-popup {
  left: 10px !important;
}

/* Bouton de fermeture (croix) — spécificité maximale pour battre JetEngine */
.mapboxgl-popup-content .mapboxgl-popup-close-button,
.jet-map-box button.mapboxgl-popup-close-button,
.mapboxgl-popup-close-button {
  background: none !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
  color: #094c80 !important;
  font-size: 18px !important;
  font-weight: bold !important;
  line-height: 1 !important;
  padding: 4px !important;
  top: 8px;
  right: 8px;
  cursor: pointer;
  transition: color 0.2s ease, background 0.2s ease;
}

.mapboxgl-popup-content .mapboxgl-popup-close-button:hover,
.mapboxgl-popup-close-button:hover {
  background: rgba(0, 0, 0, 0.05) !important;
}

.mapboxgl-popup-content .mapboxgl-popup-close-button:focus,
.mapboxgl-popup-close-button:focus {
  outline: none !important;
  box-shadow: none !important;
}

.mapboxgl-popup-close-button span {
  color: inherit !important;
}

/* Nom du partenaire — cible la classe et toutes les structures internes JetEngine */
.nom-partenaire-popup,
.nom-partenaire-popup .jet-listing,
.nom-partenaire-popup .jet-listing-dynamic-field,
.nom-partenaire-popup .jet-listing-dynamic-field__inline-wrap,
.nom-partenaire-popup .jet-listing-dynamic-field__content {
  text-align: center !important;
  width: 100% !important;
  display: block !important;
  justify-content: center !important;
  text-decoration: none;
  transition: text-decoration 0.2s ease;
  cursor: pointer;
}

/* Les conteneurs JetEngine internes sont en flex : text-align seul ne suffit pas, il faut justify-content */
.jet-listing-dynamic-field,
.jet-listing-dynamic-field__inline-wrap {
  justify-content: center;
}

.nom-partenaire-popup:hover {
  text-decoration: underline;
}

/* Couleur du lien (widget Dynamic Link) — plusieurs sélecteurs de secours pour battre les styles natifs/thème */
.nom-partenaire-popup a,
.nom-partenaire-popup a:visited,
.nom-partenaire-popup a:hover,
.nom-partenaire-popup a:focus,
.mapboxgl-popup-content .nom-partenaire-popup a {
  color: #094c80 !important;
  text-decoration: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.nom-partenaire-popup a:hover {
  text-decoration: underline !important;
}

.magasins-liste a {
    text-decoration: none !important;
}



/* ============================================
   H1 — Taille réduite en mobile
   Le H1 desktop est à 3rem (48px), trop grand
   sur petit écran ; on le repasse à 30px sous 767px.
   ============================================ */
@media (max-width: 767px) {
  .elementor-widget-text-editor h1,
  .elementor-widget-theme-post-content h1 {
    font-size: 30px !important;
  }
}

@media (max-width: 767px) {
  .jet-map-listing,
  #map_13662a0_830 {
    min-height: 350px !important;
  }
}/* End custom CSS */