/* Generated by split-polish.py — do not edit directly.
   Source : polish.css. Regenerate by re-running the split script. */

/* ============================================================
   BLEU LONGÉVITÉ — polish.css
   Règles CSS uniquement quand Elementor n'a PAS de contrôle natif.
   Tout ce qui est faisable en Elementor est dans _elementor_data.
   ============================================================ */

/* ============================================================
   Section "Mon accompagnement" — 3 cards Service_Box
   Owl Carousel n'a aucune option d'equal-heights.
   nutritius-core n'expose pas de border-radius/shadow sur les cards.
   ============================================================ */
.elementor-element-b344dfe .owl-stage-outer {
 width: 100%; 
}
.elementor-element-b344dfe .owl-stage {
 display: flex !important; align-items: stretch !important; 
}
.elementor-element-b344dfe .owl-item {
 display: flex !important; height: auto !important; float: none !important; 
}
.elementor-element-b344dfe .owl-item > .item {
 display: flex; flex-direction: column; width: 100%; height: 100%; 
}
.elementor-element-b344dfe .pt-service-style-1 {

  height: 100% !important; display: flex !important; flex-direction: column;
  border-radius: 16px !important; overflow: hidden;
  box-shadow: 0 10px 30px rgba(44,62,80,0.06), 0 2px 8px rgba(44,62,80,0.04);
  transition: transform 0.35s cubic-bezier(.22,.61,.36,1), box-shadow 0.35s cubic-bezier(.22,.61,.36,1);
  padding-top: 24px !important; padding-bottom: 18px !important;

}
.elementor-element-b344dfe .pt-service-style-1:hover {

  transform: translateY(-6px);
  box-shadow: 0 22px 50px rgba(44,62,80,0.12), 0 4px 14px rgba(44,62,80,0.06);

}
.elementor-element-b344dfe .pt-service-style-1 .pt-service-info {
 flex: 1 1 auto; display: flex; flex-direction: column; padding-bottom: 6px; text-align: left;
}
/* Image illustrative des cards services — visible + styling photo */
.elementor-element-b344dfe .pt-service-media-img {
  display: block !important;
  overflow: hidden;
  margin: 0 0 0;
  position: relative;
}
.elementor-element-b344dfe .pt-service-media-img img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  display: block;
  transition: transform 0.4s cubic-bezier(.22,.61,.36,1);
}
.elementor-element-b344dfe .pt-service-style-1:hover .pt-service-media-img img {
  transform: scale(1.03);
}
/* Icône décalée sur l'image (badge circulaire qui chevauche) */
.elementor-element-b344dfe .pt-service-icon {
  position: absolute !important;
  bottom: -32px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  margin: 0 !important;
}
.elementor-element-b344dfe .pt-service-info {
  padding-top: 48px !important;
  text-align: center !important;
}
@media (max-width: 768px) {
  .elementor-element-84d0cf0 {
 min-height: 240px !important; 
  }
}
@media (max-width: 768px) {
  .elementor-element-08ff1b9 > .elementor-element-populated {

    padding: 32px 24px 28px !important;
  
  }
}
@media (max-width: 768px) {
  /* Buttons row : alignement géré par Elementor (flex-start via widget settings) */
  .elementor-element-8e2b769 .elementor-element-08ff1b9 .elementor-section.elementor-inner-section .elementor-widget-wrap {

    justify-content: flex-start !important;

  }
}
/* Dots cachés par défaut (desktop) */
.elementor-6689 .elementor-element.elementor-element-b344dfe .owl-dots {

  display: none !important;

}
.elementor-6689 .elementor-element.elementor-element-b344dfe .owl-carousel .owl-dots .owl-dot,
.elementor-element-b344dfe .owl-carousel .owl-dots .owl-dot {

  width: 12px !important;
  height: 12px !important;
  border-radius: 50% !important;
  background: rgba(44, 62, 80, 0.25) !important;
  transition: background-color 0.3s, transform 0.3s !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;

}
.elementor-6689 .elementor-element.elementor-element-b344dfe .owl-carousel .owl-dots .owl-dot.active,
.elementor-element-b344dfe .owl-carousel .owl-dots .owl-dot.active {

  background: #2C3E50 !important;
  transform: scale(1.2);

}
.elementor-element-b344dfe .owl-dot span {

  display: none !important;

}
/* Cards typo — nutritius-core ne permet pas le styling par <p> */
.elementor-element-b344dfe .pt-service-number {
 margin-bottom: 4px; 
}
.elementor-element-b344dfe .pt-service-number span {
 font-size: 42px !important; font-weight: 800 !important; color: #4A6E87 !important; letter-spacing: 0.02em; line-height: 1;
}
.elementor-element-b344dfe .pt-service-icon {
 width: 64px; height: 64px; border-radius: 50%; background: #fff; display: inline-flex !important; align-items: center; justify-content: center; box-shadow: 0 6px 18px rgba(44,62,80,0.10); margin: 6px auto 14px; position: relative; z-index: 2; 
}
.elementor-element-b344dfe .pt-service-icon i {
 font-size: 28px !important; color: #2C3E50 !important; line-height: 1; 
}
.elementor-element-b344dfe .pt-service-title {
 font-size: 18px !important; font-weight: 700 !important; color: #2C3E50 !important; line-height: 1.3 !important; margin: 12px 0 8px !important; padding: 0 !important;
}
.elementor-element-b344dfe .pt-service-description p:first-child strong,
.elementor-element-b344dfe .pt-service-description p:first-child {
 font-size: 17px !important; font-weight: 700 !important; color: #4A6E87 !important; display: block; margin: 0 0 10px !important; line-height: 1.4 !important;
}
.elementor-element-b344dfe .pt-service-description p:nth-child(2),
.elementor-element-b344dfe .pt-service-description p:nth-child(3) {
 font-size: 17px !important; color: #5A6B7A !important; line-height: 1.55 !important; margin: 0 0 10px !important; text-align: left !important;
}
.elementor-element-b344dfe .pt-service-description p:nth-child(4),
.elementor-element-b344dfe .pt-service-description p:nth-child(5),
.elementor-element-b344dfe .pt-service-description p:nth-child(6) {
 font-size: 17px !important; font-weight: 500 !important; color: #2C3E50 !important; line-height: 1.45 !important; margin: 0 0 4px !important; padding: 6px 0 6px 24px !important; text-align: left !important; position: relative; border-top: 1px solid rgba(137,173,201,0.18);
}
.elementor-element-b344dfe .pt-service-description p:nth-child(4) {
 margin-top: 10px !important;
}
.elementor-element-b344dfe .pt-service-description p:nth-child(4)::before,
.elementor-element-b344dfe .pt-service-description p:nth-child(5)::before,
.elementor-element-b344dfe .pt-service-description p:nth-child(6)::before {
 content: '✓'; position: absolute; left: 2px; top: 6px; color: #89ADC9; font-weight: 700; font-size: 13px; 
}
.elementor-element-b344dfe .pt-service-description p:nth-child(n+7) {
 display: none !important; 
}
/* ============================================================
   Grille 2x2 images À propos — aspect ratio uniforme 3:2 + arrondi
   ============================================================ */
.elementor-element-f0cc311 .elementor-widget-image img {

  border-radius: 14px;
  width: 100% !important;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(.22,.61,.36,1);

}
.elementor-element-f0cc311 .elementor-widget-image:hover img {

  transform: translateY(-3px);

}
/* Bullets icon-list "Pourquoi cette approche" — typo unifiée 17px (cohérence site) */
.elementor-element-a6b8a4a .elementor-icon-list-text,
.elementor-element-a6b8a4a .elementor-icon-list-item,
.elementor-element-9c1b024 .elementor-icon-list-text,
.elementor-element-9c1b024 .elementor-icon-list-item {

  font-size: 17px !important;
  line-height: 1.55 !important;

}
.elementor-element-a6b8a4a .elementor-icon-list-item,
.elementor-element-9c1b024 .elementor-icon-list-item {

  padding: 0 0 8px !important;
  margin-bottom: 4px !important;

}
/* ============================================================
   Boutons globaux — pilules arrondies, cohérent partout
   ============================================================ */
.elementor-element-ab77c09 .pt-button,
.elementor-element-fa318b5 .pt-button {

  background: #2C3E50 !important; color: #fff !important;
  border-radius: 999px !important; padding: 14px 32px !important;
  font-family: "Kumbh Sans", sans-serif !important;
  font-weight: 700 !important; font-size: 14px !important;
  text-transform: none !important; letter-spacing: 0 !important;
  box-shadow: 0 8px 24px rgba(44,62,80,0.30);
  transition: transform 0.3s cubic-bezier(.22,.61,.36,1), box-shadow 0.3s, background-color 0.3s !important;
  border: none !important;

}
.elementor-element-ab77c09 .pt-button .pt-btn-text,
.elementor-element-fa318b5 .pt-button .pt-btn-text {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-family: "Kumbh Sans", sans-serif !important;
}
.elementor-element-ab77c09 .pt-button:hover,
.elementor-element-fa318b5 .pt-button:hover {

  background: #1F2D3D !important; transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(31,45,61,0.45);

}
.elementor-element-ab77c09 .pt-btn-cover,
.elementor-element-fa318b5 .pt-btn-cover {
 display: none !important; 
}
.elementor-element-ab77c09 .pt-button:hover .pt-btn-text:not(.pt-btn-cover-text),
.elementor-element-fa318b5 .pt-button:hover .pt-btn-text:not(.pt-btn-cover-text) {
 opacity: 1 !important; transform: none !important; 
}
.elementor-element-ab77c09 .pt-button i, .elementor-element-ab77c09 .pt-button .pt-btn-text,
.elementor-element-fa318b5 .pt-button i, .elementor-element-fa318b5 .pt-button .pt-btn-text {
 color: inherit !important; 
}
/* "A propos de moi" tag in À propos section — navy for AA contrast */
.elementor-element-f0cc311 .pt-section-sub-title {
 color: #2C3E50 !important; 
}
/* ============================================================
   Hero — boutons côte à côte alignés top */
.elementor-element-8e2b769 .elementor-element-08ff1b9 > .elementor-widget-wrap,
.elementor-element-8e2b769 .elementor-element-08ff1b9 > .elementor-element-populated {

  align-content: flex-start;

}
.elementor-element-8e2b769 .elementor-element-08ff1b9 .elementor-widget-button {

  flex: 0 0 auto !important;
  width: auto !important;
  max-width: max-content !important;
  vertical-align: top !important;
  margin: 0 !important;

}
/* Force inline section pour boutons inline-flex aligned center */
.elementor-element-8e2b769 .elementor-section.elementor-inner-section .elementor-widget-wrap {

  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;

}
.elementor-element-8e2b769 .elementor-widget-button .elementor-button {

  background-color: #89ADC9;
  color: #fff;
  border-radius: 999px;
  padding: 16px 36px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 14px;
  box-shadow: 0 8px 24px rgba(137,173,201,0.35);
  transition: transform 0.3s, box-shadow 0.3s, background-color 0.3s;

}
.elementor-element-8e2b769 .elementor-widget-button .elementor-button:hover {

  background-color: #5E8BA8;
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(94,139,168,0.45);

}
@media (max-width: 480px) {
  .elementor-element-8e2b769 .elementor-widget-button {

    display: block !important;
    width: 100% !important;
  
  }
}
@media (max-width: 480px) {
  .elementor-element-8e2b769 .elementor-widget-button .elementor-button {

    width: 100%;
    text-align: center;
    justify-content: center;
  
  }
}
/* Boutons hero Revolution Slider — pilules arrondies (deprecated, RevSlider remplacé) */
.elementor-element-8e2b769 .rev-btn,
.elementor-element-8e2b769 .rev_slider .btn,
.elementor-element-8e2b769 a.pt-button {

  border-radius: 999px !important;
  padding: 16px 36px !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  box-shadow: 0 8px 24px rgba(137,173,201,0.35);
  transition: transform 0.3s, box-shadow 0.3s, background-color 0.3s !important;
  border: none !important;

}
.elementor-element-8e2b769 .rev-btn:hover,
.elementor-element-8e2b769 a.pt-button:hover {

  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(94,139,168,0.45);

}
/* ============================================================
   Bouton "Prendre rendez-vous" sous les 3 cards (fa318b5)
   Le widget Button nutritius n'expose pas border-radius/shadow.
   ============================================================ */
.elementor-element-fa318b5 .pt-button-container {
 text-align: center; 
}
.elementor-element-fa318b5 .pt-button {

  background: #2C3E50 !important; color: #fff !important;
  border-radius: 999px !important; padding: 14px 32px !important;
  font-family: "Kumbh Sans", sans-serif !important;
  font-weight: 700 !important; font-size: 14px !important;
  text-transform: none !important; letter-spacing: 0 !important;
  box-shadow: 0 8px 24px rgba(44,62,80,0.30);
  transition: transform 0.3s cubic-bezier(.22,.61,.36,1), box-shadow 0.3s, background-color 0.3s !important;
  border: none !important;

}
.elementor-element-fa318b5 .pt-button:hover {

  background: #1F2D3D !important; transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(31,45,61,0.45);

}
.elementor-element-fa318b5 .pt-btn-cover {
 display: none !important; 
}
.elementor-element-fa318b5 .pt-button:hover .pt-btn-text:not(.pt-btn-cover-text) {
 opacity: 1 !important; transform: none !important; 
}
.elementor-element-fa318b5 .pt-button i,
.elementor-element-fa318b5 .pt-button .pt-btn-text {
 color: inherit !important;
}

/* Mobile : éviter que le bouton long déborde du viewport */
@media (max-width: 600px) {
  .elementor-element-ab77c09 .pt-button,
  .elementor-element-fa318b5 .pt-button {
    padding: 14px 22px !important;
    font-size: 13px !important;
    max-width: calc(100vw - 48px);
    white-space: normal !important;
    line-height: 1.35 !important;
    text-align: center;
    word-break: normal;
    box-sizing: border-box;
  }
  .elementor-element-ab77c09 .pt-btn-text,
  .elementor-element-fa318b5 .pt-btn-text {
    white-space: normal !important;
    display: inline-block;
  }
}
/* ============================================================
   Section CTA navy (dff7b79)
   Texte blanc sur navy, play button, boutons custom.
   Pas de contrôle Elementor pour le styling des widgets nutritius.
   ============================================================ */
.elementor-element-dff7b79 .elementor-element-a9f3d5f {
 max-width: 820px; margin: 0 auto; padding: 0 24px; 
}
.elementor-element-dff7b79 .elementor-element-a9f3d5f h2,
.elementor-element-dff7b79 .elementor-element-a9f3d5f .elementor-heading-title {
 color: #fff !important; font-size: var(--e-global-typography-primary-font-size, 48px) !important; line-height: var(--e-global-typography-primary-line-height, 1.15em) !important; font-weight: var(--e-global-typography-primary-font-weight, 700) !important; margin: 0 0 12px !important;
}
@media (max-width: 1024px) {
  .elementor-element-dff7b79 .elementor-element-a9f3d5f h2,
  .elementor-element-dff7b79 .elementor-element-a9f3d5f .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size-tablet, 40px) !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-dff7b79 .elementor-element-a9f3d5f h2,
  .elementor-element-dff7b79 .elementor-element-a9f3d5f .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size-mobile, 32px) !important;
  }
}
/* Le widget vidéo (anciennement Popup_video, maintenant widget Video Elementor natif)
   gère lui-même son rendu : poster image + lightbox + play icon Elementor. Pas besoin
   de le surcharger ici. */
/* Boutons CTA */
/* Section 2 boutons sous la vidéo : centrer les boutons côte à côte */
.elementor-element-dff7b79 .elementor-element-600b97a > .elementor-container {
  justify-content: center !important;
  gap: 16px;
}
.elementor-element-dff7b79 .elementor-element-9b778c2,
.elementor-element-dff7b79 .elementor-element-e37dbdd {
  width: auto !important;
  flex: 0 0 auto !important;
}
.elementor-element-dff7b79 .elementor-element-5af91f2 .pt-button-container,
.elementor-element-dff7b79 .elementor-element-dc8c024 .pt-button-container {
 text-align: center; 
}
.elementor-element-dff7b79 .elementor-element-5af91f2 a.pt-button,
.elementor-element-dff7b79 .elementor-element-dc8c024 a.pt-button,
.elementor-element-dff7b79 .pt-button-container .pt-button {
 background: #fff !important; color: #2C3E50 !important; border: 2px solid #fff !important; border-radius: 999px !important; padding: 14px 26px !important; font-weight: 700 !important; font-size: 14px !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: 0 14px 30px rgba(0,0,0,0.18); transition: transform 0.3s cubic-bezier(.22,.61,.36,1), background-color 0.3s, color 0.3s, box-shadow 0.3s !important; display: inline-flex !important; align-items: center; gap: 10px; width: auto !important; max-width: 100% !important;
}
.elementor-element-dff7b79 .elementor-element-5af91f2 a.pt-button,
.elementor-element-dff7b79 .elementor-element-dc8c024 a.pt-button,
.elementor-element-dff7b79 .elementor-element-5af91f2 a.pt-button .pt-btn-text,
.elementor-element-dff7b79 .elementor-element-dc8c024 a.pt-button .pt-btn-text {
 font-family: "Kumbh Sans", sans-serif !important;
 text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important;
}
.elementor-element-dff7b79 .elementor-element-5af91f2 .pt-btn-cover,
.elementor-element-dff7b79 .elementor-element-dc8c024 .pt-btn-cover {
 display: none !important; 
}
.elementor-element-dff7b79 .elementor-element-5af91f2 .pt-button:hover .pt-btn-text:not(.pt-btn-cover-text),
.elementor-element-dff7b79 .elementor-element-dc8c024 .pt-button:hover .pt-btn-text:not(.pt-btn-cover-text) {
 opacity: 1 !important; transform: none !important; 
}
.elementor-element-dff7b79 .elementor-element-5af91f2 .pt-button-container .pt-button:hover {
 background: #fff !important; color: #2C3E50 !important; transform: translateY(-3px); box-shadow: 0 22px 45px rgba(0,0,0,0.32), 0 6px 16px rgba(0,0,0,0.18); 
}
.elementor-element-dff7b79 .elementor-element-dc8c024 a.pt-button,
.elementor-element-dff7b79 .elementor-element-dc8c024 .pt-button-container .pt-button {
 background: transparent !important; color: #fff !important; border-color: #fff !important; box-shadow: none !important; 
}
.elementor-element-dff7b79 .elementor-element-dc8c024 .pt-button-container .pt-button:hover {
 background: #fff !important; color: #2C3E50 !important; border-color: #fff !important; transform: translateY(-3px); box-shadow: 0 22px 45px rgba(0,0,0,0.32), 0 6px 16px rgba(0,0,0,0.18); 
}
.elementor-element-dff7b79 .pt-button i,
.elementor-element-dff7b79 .pt-button .pt-btn-text {
 color: inherit !important; transition: color 0.3s ease; 
}
@media (max-width: 767px) {
  .elementor-element-dff7b79 {
 padding-top: 30px !important; padding-bottom: 30px !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-dff7b79 .elementor-element-a9f3d5f {
 padding: 0 24px; max-width: 100%; 
  }
}
@media (max-width: 767px) {
  .elementor-6689 .elementor-element-dff7b79 .elementor-element-a9f3d5f h2,
  .elementor-element-dff7b79 .elementor-element-a9f3d5f h2,
  .elementor-element-dff7b79 .elementor-element-a9f3d5f .elementor-heading-title {

    font-size: 22px !important;
    line-height: 1.35 !important;
  
  }
}
@media (max-width: 767px) {
  .elementor-element-dff7b79 .elementor-element-a6123dc {

    max-width: calc(100% - 48px) !important;
    margin: 8px auto 12px !important;

  }
  .elementor-element-dff7b79 .elementor-element-a6123dc > .elementor-container {

    min-height: 0 !important;

  }
  /* Vidéo plein largeur mobile : forcer le widget vidéo (qui a width:initial)
     et tout son contenu à occuper la largeur dispo */
  .elementor-element-dff7b79 .elementor-element-61108e3 {
    width: 100% !important;
    max-width: 100% !important;
  }
  /* Reset padding du wrapper column qui décale la vidéo */
  .elementor-element-dff7b79 .elementor-element-a6123dc .elementor-widget-wrap,
  .elementor-element-dff7b79 .elementor-element-a6123dc .elementor-element-populated {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .elementor-element-dff7b79 .elementor-element-61108e3 .elementor-wrapper,
  .elementor-element-dff7b79 .elementor-element-61108e3 .e-hosted-video,
  .elementor-element-dff7b79 .elementor-element-61108e3 .elementor-fit-aspect-ratio {
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-element-dff7b79 .elementor-element-61108e3 img {
    width: 100% !important;
    height: auto !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-dff7b79 .elementor-element-61108e3 .pt-button {

    width: 76px !important;
    height: 76px !important;
    box-shadow: 0 12px 30px rgba(0,0,0,0.30), 0 0 0 8px rgba(255,255,255,0.18) !important;
  
  }
}
@media (max-width: 767px) {
  .elementor-element-dff7b79 .elementor-element-61108e3 .pt-btn-text i,
  .elementor-element-dff7b79 .elementor-element-61108e3 i.ti-control-play {

    font-size: 26px !important;
  
  }
}
/* Sections DEMO nutritius supprimées du _elementor_data — voir backup hp-6689-elementor-*.json */

/* ============================================================
   Section Calendly (c816147)
   Fallback CSS pour les overrides Elementor qui ne prennent pas.
   ============================================================ */
.elementor-6689 .elementor-element.elementor-element-c816147,
.elementor-6689 .elementor-element.elementor-element-c816147:not(.elementor-motion-effects-element-type-background) {
 margin-bottom: 0 !important; margin-top: 0 !important; padding: 80px 0 !important; background-color: #F8F5F0 !important; background-image: none !important;
}
@media (max-width: 767px) {
 .elementor-6689 .elementor-element.elementor-element-c816147,
 .elementor-6689 .elementor-element.elementor-element-c816147:not(.elementor-motion-effects-element-type-background) {
  padding: 30px 0 !important;
 }
}
.elementor-6689 .elementor-element.elementor-element-11fc7be > .elementor-element-populated {
 background-color: transparent !important; 
}
.elementor-element-c816147 .calendly-inline-widget {
 border-radius: 16px !important; overflow: hidden; box-shadow: 0 16px 48px rgba(44,62,80,0.10); background: #fff; max-width: 680px !important; width: 100% !important; min-width: 0 !important; margin: 0 auto !important; min-height: 700px; 
}
.elementor-element-c816147 .elementor-shortcode {
 width: 100%; display: block; 
}
@media (max-width: 480px) {
  .elementor-element-c816147 .elementor-element-populated {
 padding: 30px 16px !important; 
  }
}
.elementor-element-c816147 .pt-section-title {
 color: #2C3E50 !important; font-size: var(--e-global-typography-primary-font-size, 48px) !important; font-weight: var(--e-global-typography-primary-font-weight, 700) !important; margin-bottom: 8px; line-height: var(--e-global-typography-primary-line-height, 1.15em) !important;
}
@media (max-width: 1024px) {
  .elementor-element-c816147 .pt-section-title,
  .elementor-element-f0cc311 .pt-section-title,
  .elementor-element-e2d5e92 .pt-section-title {
 font-size: var(--e-global-typography-primary-font-size-tablet, 40px) !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-c816147 .pt-section-title,
  .elementor-element-f0cc311 .pt-section-title,
  .elementor-element-e2d5e92 .pt-section-title {
 font-size: var(--e-global-typography-primary-font-size-mobile, 32px) !important;
  }
}
.elementor-6689 .elementor-element.elementor-element-8e65473 .pt-section-sub-title,
.elementor-element-c816147 .pt-section-sub-title {
 color: #2C3E50 !important; font-weight: 700 !important; text-transform: uppercase !important; letter-spacing: 0.12em !important; font-size: 14px !important; display: inline-flex !important; align-items: center; gap: 12px; margin-bottom: 10px;
}
.elementor-6689 .elementor-element.elementor-element-8e65473 .pt-section-description,
.elementor-element-c816147 .pt-section-description {
 color: #5A6B7A; max-width: 540px !important; margin: 0 0 36px !important; font-size: 15px; line-height: 1.6; display: block !important;
}
.elementor-6689 .elementor-element.elementor-element-8e65473 .pt-section-sub-title::before,
.elementor-element-c816147 .pt-section-sub-title::before {
 content: '' !important; display: inline-block !important; width: 28px !important; height: 2px !important; background: #89ADC9 !important; position: static !important; margin: 0 !important;
}
.elementor-element-c816147 .elementor-element-520e345 {
 max-width: 680px; margin: 0 auto; 
}
/* ============================================================
   Footer legacy rules (cols 2-3 hiding) — RETIRÉ :
   les cols 2 et 3 sont maintenant remplies (Navigation + Services)
   Le redesign complet du footer est dans le bloc FOOTER REDESIGN plus bas.
   ============================================================ */

/* ============================================================
   AUDIT 2026-04-13 — corrections P1/P2/P3
   ============================================================ */

/* Page banner H1 "Accueil" — masqué sur la HP (le H1 hero est le vrai titre) */
.elementor-6689 .pt-breadcrumb,
body.page-id-6689 .pt-breadcrumb,
body.home .pt-breadcrumb {
 display: none !important; 
}
/* Hero — hiérarchie titre / sous-titre (retour cliente, doc Word) :
   "Nutritionniste certifiée," = TITRE (48px comme les autres pages)
   "Spécialisée en alimentation..." = SOUS-TITRE (encore plus petit) */
.elementor-element-8e2b769 .elementor-element-02e3cae h1,
.elementor-element-8e2b769 .elementor-element-02e3cae .elementor-heading-title {

  font-size: 48px !important;
  line-height: 1.15em !important;
  font-weight: 700 !important;

}
.elementor-element-8e2b769 .elementor-element-02e3cae {

  margin-bottom: 8px !important;

}
.elementor-element-8e2b769 .elementor-element-cd828f62 h2,
.elementor-element-8e2b769 .elementor-element-cd828f62 .elementor-heading-title {

  font-size: 22px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;

}
@media (max-width: 1024px) {
  .elementor-element-8e2b769 .elementor-element-02e3cae h1,
  .elementor-element-8e2b769 .elementor-element-02e3cae .elementor-heading-title {
    font-size: 36px !important;
  }
  .elementor-element-8e2b769 .elementor-element-cd828f62 h2,
  .elementor-element-8e2b769 .elementor-element-cd828f62 .elementor-heading-title {
    font-size: 20px !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-8e2b769 .elementor-element-02e3cae h1,
  .elementor-element-8e2b769 .elementor-element-02e3cae .elementor-heading-title {
    font-size: 28px !important;
  }
  .elementor-element-8e2b769 .elementor-element-cd828f62 h2,
  .elementor-element-8e2b769 .elementor-element-cd828f62 .elementor-heading-title {
    font-size: 20px !important;
  }
}
/* Bouton hero : forcer la même police que le reste */
.elementor-element-8e2b769 .elementor-widget-button .elementor-button,
.elementor-element-8e2b769 .elementor-widget-button .elementor-button span,
.elementor-element-8e2b769 .elementor-widget-button .elementor-button-text {

  font-family: "Kumbh Sans", sans-serif !important;

}
/* ============================================================
   P2 — Système typographique unifié (Kumbh Sans + Montserrat)
   ============================================================ */
/* H1 hero : Kumbh Sans comme tous les autres titres (au lieu de Roboto) */
.elementor-element-8e2b769 h1,
.elementor-element-8e2b769 .elementor-heading-title,
.elementor-element-8e2b769 .elementor-element-02e3cae h1,
.elementor-element-8e2b769 .elementor-element-02e3cae .elementor-heading-title {

  font-family: "Kumbh Sans", sans-serif !important;
  font-weight: 700 !important;

}
/* Hero body text : Montserrat comme tout le reste */
.elementor-element-8e2b769 .elementor-widget-text-editor,
.elementor-element-8e2b769 .elementor-widget-text-editor p,
.elementor-element-8e2b769 .elementor-element-d6bd3bc p {

  font-family: "Montserrat", sans-serif !important;

}
/* Sub-title hero "Claire CICCONE" : Kumbh Sans + trait décoratif */
.elementor-element-8e2b769 .elementor-element-3220ac9 .elementor-heading-title {

  font-family: "Kumbh Sans", sans-serif !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  display: inline-flex !important;
  align-items: center;
  gap: 12px;

}
.elementor-element-8e2b769 .elementor-element-3220ac9 .elementor-heading-title::before {

  content: '';
  display: inline-block;
  width: 28px;
  height: 2px;
  background: #89ADC9;

}
/* H2 dark CTA : Kumbh Sans (au lieu de Montserrat) */
.elementor-element-dff7b79 .elementor-element-a9f3d5f h2,
.elementor-element-dff7b79 .elementor-element-a9f3d5f .elementor-heading-title {

  font-family: "Kumbh Sans", sans-serif !important;

}
@media (max-width: 480px) {
  .elementor-element-8e2b769 .elementor-element-08ff1b9 .elementor-widget-button {

    max-width: 100% !important;
    width: 100% !important;
    flex: 1 1 100% !important;
  
  }
}
@media (max-width: 480px) {
  .elementor-element-8e2b769 .elementor-widget-button .elementor-button {

    min-width: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
  
  }
}
/* Body text taille uniformisée 17px sur les cards Service_Box (cohérence site) */
.elementor-element-b344dfe .pt-service-description p:first-child,
.elementor-element-b344dfe .pt-service-description p:first-child strong {

  font-size: 17px !important;

}

/* ============================================================
   Contraste WCAG AA : #4A6E87 donne 4.6:1 sur #F5F3EF (cream) et 5.3:1 sur white
   ============================================================ */
.elementor-element-b344dfe .pt-service-style-1 .pt-service-count,
.elementor-element-b344dfe .pt-service-description strong,
.elementor-element-b344dfe .pt-service-description p:first-child {
  color: #4A6E87 !important;
}

/* Picto cœur sur chaque carte d'avis (retour cliente) */
.elementor-element-7495141 .elementor-element-35d5f41,
.elementor-element-7495141 .elementor-element-b3c6f92,
.elementor-element-7495141 .elementor-element-eee6d17,
.elementor-element-7495141 .elementor-element-17f5286 {
  position: relative;
}
.elementor-element-7495141 .elementor-element-35d5f41::before,
.elementor-element-7495141 .elementor-element-b3c6f92::before,
.elementor-element-7495141 .elementor-element-eee6d17::before,
.elementor-element-7495141 .elementor-element-17f5286::before {
  content: '\f004';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  position: absolute;
  top: -14px;
  left: 24px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #89ADC9;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  box-shadow: 0 4px 12px rgba(137,173,201,0.30);
  z-index: 2;
}
