/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0
*/

/* ===========================
   Déclarations @font-face
   =========================== */

/* Segoe UI Regular */
@font-face {
    font-family: 'Segoe UI';
    src: local('Segoe UI'),
         url('fonts/SegoeUI.woff2') format('woff2'),
         url('fonts/SegoeUI.woff') format('woff'),
         url('fonts/SegoeUI.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Segoe UI Italic */
@font-face {
    font-family: 'Segoe UI';
    src: local('Segoe UI Italic'),
         url('fonts/SegoeUI-Italic.woff2') format('woff2'),
         url('fonts/SegoeUI-Italic.woff') format('woff'),
         url('fonts/SegoeUI-Italic.ttf') format('truetype');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

/* Segoe UI Bold */
@font-face {
    font-family: 'Segoe UI';
    src: local('Segoe UI Bold'),
         url('fonts/SegoeUI-Bold.woff2') format('woff2'),
         url('fonts/SegoeUI-Bold.woff') format('woff'),
         url('fonts/SegoeUI-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Segoe UI Bold Italic */
@font-face {
    font-family: 'Segoe UI';
    src: local('Segoe UI Bold Italic'),
         url('fonts/SegoeUI-BoldItalic.woff2') format('woff2'),
         url('fonts/SegoeUI-BoldItalic.woff') format('woff'),
         url('fonts/SegoeUI-BoldItalic.ttf') format('truetype');
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* Segoe UI SemiBold */
@font-face {
    font-family: 'Segoe UI';
    src: local('Segoe UI Semibold'),
         url('fonts/SegoeUI-SemiBold.woff2') format('woff2'),
         url('fonts/SegoeUI-SemiBold.woff') format('woff'),
         url('fonts/SegoeUI-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Segoe UI Light */
@font-face {
    font-family: 'Segoe UI';
    src: local('Segoe UI Light'),
         url('fonts/SegoeUI-Light.woff2') format('woff2'),
         url('fonts/SegoeUI-Light.woff') format('woff'),
         url('fonts/SegoeUI-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* ===========================
   Segoe Print
   =========================== */

/* Segoe Print Regular */
@font-face {
    font-family: 'Segoe Print';
    src: local('Segoe Print'),
         url('fonts/SegoePrint.woff2') format('woff2'),
         url('fonts/SegoePrint.woff') format('woff'),
         url('fonts/SegoePrint.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Segoe Print Bold */
@font-face {
    font-family: 'Segoe Print';
    src: local('Segoe Print Bold'),
         url('fonts/SegoePrint-Bold.woff2') format('woff2'),
         url('fonts/SegoePrint-Bold.woff') format('woff'),
         url('fonts/SegoePrint-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* ===========================
   Application globale
   =========================== */
:root {
  /*--main-color: #b03060;   /* variable pour la couleur principale */
  --main-color: #ecafba; /* rose plus foncé */
  /*--main-color: #f00075;
  --accent-color: #cc3366; /* variable pour l'accent */
  --tittle-color: #222222; 
  --text-color: #333333;
  --tittle-font: "Cormorant Garamond", "Helvetica Neue", Arial, sans-serif;
  --text-font: "Poppins", "Helvetica Neue", Arial, sans-serif;
  --global-font-size: 14px;
  --global-font-weight: 400;
  --bg-grey: #f6f7f9;
  --global-border-radius: 8px;
}



body {
/*    font-family: "Poppins", "Helvetica Neue", Arial, sans-serif; */
    font-size: 14px;
    background-color: transparent;
    text-align: justify;
    color: var(--text-color);
}

/* Exemple d’utilisation de Segoe Print pour les titres */
h1, h2, h3,h4, h5, h6  {
    font-family: var(--tittle-font);
}

h5 {
    font-size: 20px;
}

.pinked {
  color: var(--main-color); /* le rose global */
}

h4.pinked,
h4 .pinked,
span.pinked,
sup.pinked {
  color: var(--main-color) !important;
}

.wp-block-heading span.pinked {
  font-size: 0.6em;
}

.title-separator {
  border: none;                  /* supprime le style par défaut */
  border-top: 2px solid #222222; /* ligne grise de 1px */
  width: 100px;                  /* largeur fixe */
  margin: 40px auto;             /* marges haut/bas + centré horizontalement */
}

.note-text {
  font-size: 0.65em;   /* plus petit que le texte normal */
  color: #666;         /* gris plus doux pour un texte secondaire */
  line-height: 1.4;
  display: block;
  margin-top: 8px;
}

/* Bouton plein rose */
.wp-block-button.pinked-button .wp-block-button__link,
.wp-block-button.pinked-button .wp-element-button {
  background-color: var(--main-color);    /* fond rose */
  color: #fff;                            /* fond blanc */
  border: 2px solid var(--main-color);    /* bordure rose */
  border-radius: 6px;
  padding: 12px 20px;
  font-weight: 600;
  transition: all 0.25s ease;
}

.wp-block-button.pinked-button .wp-block-button__link:hover,
.wp-block-button.pinked-button .wp-element-button:hover {
  background-color: #fff;      /* fond blanc au survol */
  color: var(--main-color);
}


/* Bouton outline rose */
.wp-block-button.pinked-button-outline .wp-block-button__link,
.wp-block-button.pinked-button-outline .wp-element-button {
  background-color: transparent;
  color: var(--main-color);
  border: 2px solid var(--main-color);
  border-radius: 6px;
  padding: 12px 20px;
  font-weight: 600;
  transition: all 0.25s ease;
}

.wp-block-button.pinked-button-outline .wp-block-button__link:hover,
.wp-block-button.pinked-button-outline .wp-element-button:hover {
  background-color: var(--main-color);
  color: #fff;
}

/* Bouton noir (dark) */
:where(.wp-block-button.dark) :is(.wp-block-button__link, .wp-element-button),
.wp-block-button :is(.wp-block-button__link.dark, .wp-element-button.dark) {
  background: #000000 !important;         /* fond noir */
  font-family: var(--text-font);          /* correction du ; manquant */
  color: #ffffff;                         /* texte blanc */
  font-size: var(--global-font-size);     /* taille du texte */
  line-height: 19px;
  border: none;                           /* pas de bordure */
  border-radius: 0;                       /* coins carrés */
  box-shadow: 0px 5px 10px rgba(0,0,0,0.1);
  padding: 20px 40px;                     /* grand bouton */
  text-decoration: none;                  /* enlever soulignement */
  display: inline-block;
  transition: background-color 0.2s ease, transform 0.1s ease;
}

/* Hover uniquement pour les boutons dark */
.wp-block-button__link.dark:hover {
  background: #111111;
  transform: translateY(-1px);
}


.white-separator {
  border: none;
  border-top: 2px solid #fff;
  width: 100px;
  margin: 20px auto;
}


.daily-box {
  background: linear-gradient(135deg, #fbeaec, var(--main-color)); /* dégradé rose clair */
  border: 1px solid var(--main-color);                             /* bordure rose plus fine */
  border-radius: 12px;                                   /* coins légèrement arrondis */
  padding: 24px;
  color: var(--text-color);
  text-align: center;
  box-shadow: 0 6px 18px rgba(0,0,0,0.1);                /* ombre douce */
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

/* Effet au survol */
.daily-box:hover {
  transform: translateY(-6px);                           /* soulèvement */
  box-shadow: 0 10px 24px rgba(0,0,0,0.15);              /* ombre plus marquée */
}

/* Titre à l’intérieur */
.daily-box h3 {
  font-family: "Calibri","Candara","Segoe","Segoe UI","Optima","Arial","sans-serif", Arial, sans-serif !important;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
  color: var(--text-color);
}

/* Texte secondaire */
.daily-box h4 {
  font-family: "Calibri","Candara","Segoe","Segoe UI","Optima","Arial","sans-serif", Arial, sans-serif !important;
  font-size: 18px;
  font-weight: 700;
  color: var(--text-color);
  margin-bottom: 12px;
}

/* Titre dernier niveau */
.daily-box h5 {
  font-family: "Calibri","Candara","Segoe","Segoe UI","Optima","Arial","sans-serif", Arial, sans-serif !important;
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 12px;
  color: var(--text-color);
}

.daily-box p {
  font-size: var(--global-font-size);
  font-weight: var(--global-font-weight);
  line-height: 1.5;
  margin: 0;
  color: #444;
}



/* Box blanche, coins carrés, ombre douce */
.tarif-box {
  background-color: #ffffff;          /* fond blanc */
  border: 1px solid #e6e6e6;          /* légère bordure grise (optionnel) */
  border-radius: 0;                    /* coins carrés */
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); /* ombre douce et diffuse */
  padding: 24px;
  text-align: center;
  color: #333;
  margin: 16px 0;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.tarif-box:hover {
  transform: translateY(-2px);         /* léger soulèvement au survol */
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
}

/* Titre/prix */
.tarif-box h4 {
  margin: 0 0 14px;
  font-size: 24px;
  font-weight: 700;
}

/* Symbole € en retrait et HT en exposant discret */
.tarif-box .euro {
  font-size: 0.85em;
  margin-left: 4px;
  color: #333;
}

.tarif-box sup {
  font-size: 0.6em;
  margin-left: 3px;
  color: #666;
}

/* Bouton harmonisé (blanc/rose) */
.tarif-box .wp-block-button__link {
  background-color: #fff;
  color: var(--main-color);                       /* rose du thème */
  border: 2px solid var(--main-color);
  border-radius: 4px;
  padding: 10px 18px;
  font-weight: 700;
  text-decoration: none;
  display: inline-block;
}

.tarif-box .wp-block-button__link:hover {
  background-color: var(--main-color);
  color: #fff;
}

.tarif-box .wp-block-separator {
  border: none;                  /* on enlève le style par défaut */
  border-top: 1px solid var(--main-color); /* ligne grise de 1px */
  width: 180px;                  /* largeur fixe */
  margin: 0px auto 14px auto;              /* marges haut/bas + centré */
}

.testimonial-box {
  position: relative;
  background-color: #f9f9f9;
  border-radius: 16px;
  padding: 40px 30px 30px 30px;
  max-width: 700px;
  margin: 60px auto;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  font-family: "Cormorant Garamond", "Helvetica Neue", Arial, sans-serif;
  color: #333;
}

.testimonial-box p {
  font-size: 0.8em !important; /* ← taille réduite ici */
}

.testimonial-logo-wrapper {
  position: absolute;
  top: -30px;
  left: 0px;
  background-color: transparent;
  padding: 10px;
  /*
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  */
}

.testimonial-logo {
  height: 60px;
  display: block;
}

.testimonial-stars {
  text-align: center;
  font-size: 24px;
  color: #f5b301;
  letter-spacing: 2px;
  margin-bottom: 20px;
}

.testimonial-content p {
  line-height: 1.6;
  margin-bottom: 16px;
}

.testimonial-author {
  font-weight: bold;
  text-align: right;
  margin-top: 10px;
}

.question-box {
  background-color: #f5f5f5;   /* fond gris clair */
  padding: 20px;              /* espace intérieur */
  border-radius: 8px;          /* coins arrondis */
  margin-bottom: 20px;         /* espace sous chaque question */
  font-size: 0.95em;           /* texte légèrement réduit */
}

.spaced-list li {
  margin-bottom: 20px; /* espace entre les éléments */
  line-height: 1.4;    /* interligne plus aéré */
}

.stats-box {
  display: flex;
  flex-wrap: wrap;
  background-color: #fff;
  gap: 30px;
  justify-content: center;
  margin: 40px auto;
  max-width: 1000px;
}

.stat-item {
  flex: 1 1 280px;
  /* background-color: #f9f9f9;*/
  border-radius: 12px;
  padding: 25px;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.stat-item i {
  font-size: 40px;
  color: #f5b301; /* doré */
  margin-bottom: 15px;
}

.stat-item h3 {
  font-size: 22px;
  margin-bottom: 12px;
  color: #333;
}

.stat-item p {
  font-size: var(--global-font-size);
  font-weight: var(--global-font-weight);
  line-height: 1.6;
  color: #555;
}

.wp-block-code {
  background: #fff;
}

.button-stack {
  display: flex;
  flex-direction: column; /* aligne verticalement */
  gap: 15px;              /* espace entre les boutons */
  max-width: 300px;       /* largeur optionnelle */
  align-items: flex-start; /* aligne les enfants à gauche */
}


.service-item {
  display: block;          /* occupe toute la ligne */
  width: 100%;             /* prend 100% de la largeur disponible */
  background-color: #f9f9f9;
  border-radius: 12px;
  padding: 25px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  transition: box-shadow 0.2s ease, transform 0.2s ease; /* transition fluide */
  text-align: center;                      /* centre tout le contenu */
  box-sizing: border-box;
}

.service-item:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08); /* ombre plus marquée */
  transform: translateY(-5px); /* léger effet de "soulèvement" */
}

.service-item h3 {
  font-family: "Calibri","Candara","Segoe","Segoe UI","Optima","Arial","sans-serif", Arial, sans-serif !important;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 12px;
  color: #333;
}

/* Icônes principales (prestations, formation) */
.service-item .icon i::before {
  font-size: 60px;   /* taille de l’icône */
  color: var(--main-color);    /* couleur pinked */
  display: block;
  margin: 0 auto 10px; /* centré + espace sous l’icône */
}

.service-item p {
  font-size: var(--global-font-size);
  font-weight: var(--global-font-weight);
  line-height: 1.6;
  color: #555;
}

.service-item a {
  color: #222222; /* couleur neutre pour l'email */
  text-decoration: none;
  font-weight: bold;
}

.service-item a:hover {
  text-decoration: none;
}

/* Icônes générales (par ex. enveloppe) */
.service-item p i.fa-envelope {
  color: #222222; /* couleur de l'enveloppe */
  margin-right: 8px;
}


.modal {
  display: none; /* caché par défaut */
  position: fixed;
  z-index: 9999;
  left: 0; top: 0;
  width: 100%; height: 100%;
  background-color: rgba(0,0,0,0.6); /* fond semi-transparent */
}

.modal-content {
  background: #fff;
  margin: 5% auto;
  padding: 20px;
  width: 80%; /* largeur du popup */
  max-width: 900px; /* limite pour A4 */
  border-radius: 8px;
}

.close {
  float: right;
  font-size: 28px;
  cursor: pointer;
}


.entry-title {
  text-align: center;
}

/* Couleur des liens */
a {
  text-decoration: none; /* optionnel : enlève le soulignement */
}

/* Couleur des liens au survol */
a:hover,
a:focus {
  color: var(--main-color);
  text-decoration: none; /* optionnel : ajoute un effet au survol */
}

p {
  font-family: 'Poppins';
  font-size: var(--global-font-size); /* ou 18px si tu préfères */
  font-weight: var(--global-font-weight);
}

.site-content,
.site-main,
.content-area {
  background-color: #ffffff !important; /* blanc */
}

.site-footer {
  background-color: #f6f7f9; /* couleur de fond du footer */
  font-size: var(--global-font-size);
  font-weight: var(--global-font-weight);
}

.footer-widgets {
  background-color: transparent; /* laisse le parent gérer le fond */
}

.site-info {
    background-color: transparent;
}

.footer-newsletter {
  text-align: center;
  padding: 2rem 1rem;
  background-color: #ffffff; /* ou une couleur douce */
  border-top: 1px solid #eee;
}

.footer-newsletter .mauticform-row {
  display: flex;
  gap: 1rem;
  justify-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  .footer-newsletter .mauticform-row {
    flex-direction: column;
    align-items: stretch;
  }
}

.main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a, .main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a, .main-navigation .main-nav ul li.sfHover:not([class*="current-menu-"]) > a, .main-navigation .menu-bar-item:hover > a, .main-navigation .menu-bar-item.sfHover > a {
    color: var(--main-color);
}
.main-navigation .main-nav ul li[class*="current-menu-"] > a {
    color: var(--main-color);
}

.footer-widgets .widget a,
.sidebar .widget a {
  color: #333333;
}

.footer-widgets .widget a:hover,
.sidebar .widget a:hover {
  color: var(--main-color); /* couleur au survol */
}

/* Padding latéral pour le contenu des pages */
.site-content {
  padding-left: 40px;
  padding-right: 40px;
}

@media (max-width: 782px) {
/* Padding latéral pour le contenu des pages */
.site-content {
  padding-left: 20px;
  padding-right: 20px;
}
}


.entry-title,
.tittle {
    font-size: 30px;
    line-height: normal;
    font-family: var(--tittle-font);
    box-sizing: border-box;
    font-weight: 700;
}

/* Forcer alignwide et alignfull à rester dans le flux normal */
.entry-content .alignwide,
body:not(.no-sidebar) .entry-content .alignfull {
  margin-left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
}


.contact-box {
  background: #ffffff; /* dégradé doux */
  border: 1px dotted var(--text-color);
  border-radius: 12px;
  padding: 20px 25px;
  text-align: center;
  box-shadow: 0 6px 18px rgba(0,0,0,0.08);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  
  /* Ajout pour centrage vertical */
  display: flex;
  flex-direction: column;       /* empile les éléments verticalement */
  justify-content: center;      /* centre verticalement */
  align-items: center;          /* centre horizontalement */
  min-height: 200px;            /* hauteur minimale pour voir l’effet */
}

.contact-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
}

.contact-box strong {
  display: block;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: 600;
  color: var(--text-color);
}

.contact-box a {
  color: var(--text-color);
  font-weight: bold;
  text-decoration: none;
  font-size: var(--global-font-size);
  font-weight: var(--global-font-weight);
}

.contact-box a:hover {
  color: var(--main-color);
  text-decoration: none;
}

.contact-box .reply-time {
  font-size: 0.85em;   /* plus petit */
  font-style: italic;  /* italique */
  color: var(--secondary-text); /* optionnel : gris doux */
  margin-top: 8px;
}

@media (max-width: 782px) {
  /* Réduction des marges/paddings des listes */
  .faq-container ul,
  .faq-container ol,
  .question-box ul,
  .question-box ol {
    padding-left: 0px;   /* réduit l’indentation */
    margin-left: 0;       /* supprime la marge gauche */
  }

  .faq-container li,
  .question-box li {
    margin-bottom: 12px;   /* espace réduit entre les items */
    line-height: 1.4;     /* interligne plus compact */
  }

  /* Réduction des paddings internes des blocs FAQ */
  .question-box {
    padding: 12px;        /* réduit l’espace intérieur */
    margin-bottom: 12px;  /* réduit l’espace extérieur */
  }
}

/* Règle générique pour les vidéos Gutenberg */
/* Cadre vidéo responsive 16:9 */
/* Bloc vidéo Gutenberg */
.wp-block-video {
  aspect-ratio: 16 / 9;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  border-radius: var(--global-border-radius);
  position: relative;        /* nécessaire pour placer le bouton */
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* Vidéo à l'intérieur */
.wp-block-video video {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: cover;          /* remplissage harmonieux */
  display: block;
}

/* Bouton play rond central avec cercle autour */
.wp-block-video::after {
  content: "\f04b";                     /* icône fa-play */
  font-family: "Font Awesome 6 Free";   /* famille Font Awesome */
  font-weight: 900;                     /* style solid */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  
  /* Cercle interne */
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background-color: rgba(255,255,255,0.1);
  
  /* Icône centrée */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  line-height: 1;
  color: #fff;
  
  /* Cercle externe (halo) */
  box-shadow: 0 0 0 4px rgba(255,255,255,0.8); /* cercle autour */
  
  transition: background-color 0.3s ease, box-shadow 0.3s ease;
  pointer-events: none;
}

.wp-block-video:hover::after {
  background-color: rgba(255,255,255,0.2);
  box-shadow: 0 0 0 6px rgba(255,255,255,1); /* halo plus marqué au survol */
}

.wp-block-video.playing::after {
  display: none;
}





/* Centrer sur mobile */
@media (max-width: 782px) {
  .video-quick {
    margin-left: auto;
    margin-right: auto;    /* centré horizontalement */
  }
}


.square-box {
  border: 1px solid #bfbfbf;   /* épaisseur et couleur du contour */
  padding: 40px;
}


.formation-container {
  display: flex;
  gap: 2rem;
  justify-content: center;
  margin: 3rem 0;
  flex-wrap: wrap; /* responsive : les cartes passent en colonne sur mobile */
}

.formation-card {
  flex: 1 1 280px;
  border: none;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.8); /* effet glass */
  backdrop-filter: blur(10px);           /* flou derrière */
  padding: 2rem;
  text-align: center;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  box-shadow: 0 8px 20px rgba(0,0,0,0.08);
  position: relative;
  overflow: hidden;
}

/* Effet gradient subtil en arrière-plan */
.formation-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #fbeaec, var(--main-color));
  opacity: 0.15;
  z-index: 0;
}

.formation-card:hover {
  transform: translateY(-8px) scale(1.03); /* effet lift + zoom */
  box-shadow: 0 12px 28px rgba(0,0,0,0.15);
}

.formation-card a {
  text-decoration: none;
  color: inherit;
  position: relative;
  z-index: 1; /* au-dessus du ::before */
}

.formation-card h2 {
  font-size: 1.6rem;
  margin-bottom: 1rem;
  color: #222;
  font-weight: 700;
  position: relative;
  z-index: 1;
}

.formation-card p {
  font-size: 1rem;
  color: #555;
  line-height: 1.5;
  position: relative;
  z-index: 1;
}

/* Petit effet survol du titre */
.formation-card:hover h2 {
  color: var(--main-color);
  letter-spacing: 1px;
  transition: all 0.3s ease;
}



@media (max-width: 782px) {
  /* Conteneur FAQ */
  .faq-container {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Supprimer l’inner WordPress uniquement dans la FAQ */
  .faq-container .wp-block-group__inner-container,
  .faq-container .wp-block {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Chaque question */
  .question-box {
    margin: 0 !important;
    padding: 8px !important;   /* padding minimal pour la lisibilité */
    border-radius: 4px;        /* coins plus sobres sur mobile */
  }

  /* Listes */
  .faq-container ul,
  .faq-container ol,
  .question-box ul,
  .question-box ol {
    margin: 0 !important;
    padding-left: 14px;        /* indentation minimale pour garder les puces lisibles */
  }

  .faq-container li,
  .question-box li {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.3;          /* interligne compact */
  }

  /* Titres et paragraphes */
  .question-box h2,
  .question-box h3,
  .question-box h4,
  .question-box p {
    margin: 4px 0 !important;
    padding: 0 !important;
    font-size: 0.8em;          /* texte légèrement réduit */
    line-height: 1.3;
  }
}


.logo-row {
  display: flex;
  flex-wrap: nowrap;            /* retour à la ligne sur petits écrans */
  justify-content: center;      /* centre les logos */
  gap: 3%;                      /* espace identique en pourcentage */
  margin-bottom: 20px;
}

.logo-row img {
  aspect-ratio: 1 / 1;          /* impose un carré */
  width: calc(100% / 10 - 3%);  /* chaque logo prend ~10% de la largeur */
  height: auto;                 /* garde les proportions */
  object-fit: contain;          /* garde les proportions */
  flex: 0 0 auto;               /* évite que les logos s’étirent */
  transition: transform 0.3s ease;
}

.logo-row img:hover {
  transform: scale(1.1);        /* petit effet au survol */
}

.bg-grey {
  background-color: var(--bg-grey);
  width: 100%;   /* occupe toute la largeur */
}

/* ===========================
   Style de base du menu principal
   =========================== */
.main-navigation .main-nav > ul > li > a {
  position: relative;
  padding: 0px 15px;
  transition: color 0.3s ease;
  color: var(--text-color);
  font-family: var(--text-font);
  font-size: var(--global-font-size);
  font-weight: var(--global-font-weight);
}

/* Barre de soulignement plus petite (uniquement sur le menu principal) */
.main-navigation .main-nav > ul > li > a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;                  /* légèrement au-dessus du bas */
  width: 100%;
  height: 1px;                  /* plus fine */
  background-color: var(--main-color);
  transform: scaleX(0);         /* cachée par défaut */
  transform-origin: right;
  transition: transform 0.3s ease;
}

/* Apparition uniquement au survol */
.main-navigation .main-nav > ul > li > a:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* Couleur du texte au survol */
.main-navigation .main-nav > ul > li > a:hover {
  color: var(--main-color);
}

/* ===========================
   Menu déroulant (sous-menu)
   =========================== */
.main-navigation .main-nav ul ul {
  background-color: #fff;             /* fond blanc */
  border: 1px solid #eee;             /* fine bordure grise */
  border-radius: 0px;                 /* coins carrés */
  box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* ombre douce */
  padding: 0px 18px;                    /* espace interne */
  min-width: 200px;                   /* largeur minimale */
  z-index: 999;                       /* au-dessus du reste */
}

/* Liens du sous-menu */
.main-navigation .main-nav ul ul li a {
  font-family: var(--text-font);
  font-size: var(--global-font-size);
  font-weight: var(--global-font-weight);
  color: var(--text-color);
  padding: 6px 6px;
  display: block;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Effet au survol du sous-menu */
.main-navigation .main-nav ul ul li a:hover {
  background-color: var(--bg-grey);   /* fond gris clair au survol */
  color: var(--text-color);           /* texte reste cohérent */
}

@media (max-width: 768px) {
  /* ---------------------------
     Neutralisation des décorations
     (garde le desktop intact)
     --------------------------- */
  .main-navigation,
  .main-navigation * {
    background-image: none !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
  }

  .main-navigation ul,
  .main-navigation li {
    list-style: none !important;
  }

  .main-navigation a::before,
  .main-navigation a::after,
  .main-navigation li::before,
  .main-navigation li::after {
    content: none !important;
    display: none !important;
  }

  .main-navigation .main-nav > ul > li > a::after,
  .main-navigation .main-nav .sub-menu a::after {
    content: none !important;
    display: none !important;
  }

  /* ---------------------------
     Effet d'apparition doux (menu principal)
     --------------------------- */
  .main-navigation .main-nav > ul {
    display: block !important; /* neutralise le display:none de GP */
    max-height: 0;
    opacity: 0;
    transform: translateY(-6px);
    overflow: hidden;
    transition: max-height 0.6s ease, opacity 0.4s ease, transform 0.4s ease;
    will-change: max-height, opacity, transform;
  }

  .main-navigation.toggled .main-nav > ul {
    max-height: 80vh; /* assez grand pour contenir tous les liens */
    opacity: 1;
    transform: translateY(0);
  }

  /* ---------------------------
     Effet d'apparition doux (sous-menus)
     --------------------------- */
  .main-navigation .main-nav .sub-menu {
    display: block !important; /* indispensable pour animer */
    max-height: 0;
    opacity: 0;
    transform: translateY(-6px);
    overflow: hidden;
    padding-block: 0;
    box-sizing: border-box;
    transition: max-height 0.45s ease, opacity 0.35s ease, transform 0.35s ease;
    will-change: max-height, opacity, transform;
  }

  /* Ouverture : couvre .sfHover, .toggled et aria-expanded */
  .main-navigation .main-nav li.sfHover > .sub-menu,
  .main-navigation .main-nav li.toggled > .sub-menu,
  .main-navigation .main-nav .menu-item-has-children > .dropdown-toggle[aria-expanded="true"] + .sub-menu {
    max-height: calc(100vh - 120px); /* ajuste 120px selon la hauteur du header */
    opacity: 1;
    transform: translateY(0);
    padding-block: 8px;
    overflow: auto;                    /* si très long, on scroll à l'intérieur */
    -webkit-overflow-scrolling: touch;
  }
}


/* ===========================
   Structure de base pour Contact Form 7
   =========================== */
.cf7-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 12px;
  box-sizing: border-box; /* s'assure que padding ne casse pas la largeur */
  align-items: stretch;   /* aligne les colonnes pour avoir la même hauteur */
}

.cf7-col {
  flex: 1 1 48%;
  min-width: 140px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column; /* permet d'aligner label + champ verticalement */
  justify-content: flex-start;
}

.cf7-full {
  flex-basis: 100%;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}

.cf7-row label {
  display: block;
  margin: 0 0 -12px 0;
  font-weight: var(--global-font-weight);
  box-sizing: border-box;
}

.cf7-col > label {
  margin-bottom: 8px;
}

.cf7-input-full {
  width: 100%;
  box-sizing: border-box;
}

.cf7-input,
.cf7-textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
  width: 100%;
  max-width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: var(--global-font-size);
  background: #fff;
  color: var(--text-color);
  box-sizing: border-box;
  display: block;
  margin: 0;
}

.cf7-textarea,
.wpcf7 textarea {
  min-height: 140px;
  resize: vertical;
}

.cf7-input:focus,
.cf7-textarea:focus,
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  outline: 3px solid rgba(252, 235, 246, 1);
  outline-offset: 2px;
  border-color: rgba(252, 235, 246, 1);
}

.cf7-submit {
  padding: 10px 18px;
  background: #111;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.18s ease, transform 0.08s ease;
  align-self: flex-start;
}

.cf7-submit:hover,
.cf7-submit:focus {
  background: #000;
  transform: translateY(-1px);
}

@media (max-width: 768px) {
  .cf7-col {
    flex: 1 1 100%;
  }
}

@media (max-width: 420px) {
  .cf7-col {
    flex-basis: 100%;
  }
}

/* ===========================
   Ajustements ciblés : Objet et Message pleine largeur
   =========================== */

.cf7-row.cf7-full > * {
  width: 100%;
  box-sizing: border-box;
}

.cf7-row.cf7-full .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.cf7-row.cf7-full .cf7-input,
.cf7-row.cf7-full .cf7-input-full,
.cf7-row.cf7-full .cf7-textarea,
.cf7-row.cf7-full input[type="text"],
.cf7-row.cf7-full input[type="email"],
.cf7-row.cf7-full input[type="tel"],
.cf7-row.cf7-full textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  display: block;
  margin: 0;
}

.cf7-row.cf7-full textarea[cols] {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.cf7-row.cf7-full .wpcf7 {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

.wpcf7 input[type="submit"],
.cf7-submit {
  background-color: var(--main-color);   /* couleur de fond */
  color: #fff;                           /* couleur du texte */
  font-size: var(--global-font-size);
  font-weight: bold;
}


/* ===========================
   Positionnement et largeur de la dropdown (intégration à la colonne)
   =========================== */

/* S'assurer que le wrapper du champ sert d'ancre pour la dropdown.
   On cible uniquement les wrappers à l'intérieur des formulaires CF7 pour éviter effets globaux. */
.wpcf7 .wpcf7-form-control-wrap {
  position: relative;
}

/* Champ Nom de famille en majuscules */
.wpcf7 input[name="nom"] {
  text-transform: uppercase;
}


/* Card style suggestions — limitées à la largeur du parent (colonne) */
.dest-suggestions {
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;               /* prend la largeur du parent positionné */
  max-width: 100%;
  box-sizing: border-box;
  z-index: 9999;
  margin-top: 8px;
  pointer-events: auto;
}

/* La liste elle-même garde un padding interne et un max-height */
.dest-suggestions .list {
  margin: 0;
  padding: 8px;
  background: linear-gradient(180deg,#ffffff,#fbfdff);
  border: 1px solid rgba(20,30,60,0.06);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(15,30,60,0.08);
  max-height: 260px;
  overflow: auto;
  width: 100%;               /* s'assure que la card ne dépasse pas la colonne */
  box-sizing: border-box;
}

/* Items : card compactes, s'adaptent à la largeur disponible */
.dest-suggestions .item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  cursor: pointer;
  border-radius: 8px;
  transition: background .12s ease, transform .06s ease;
  background: transparent;
}

/* Si tu veux garder une icône, elle reste optionnelle et ne force pas la largeur */
.dest-suggestions .item .icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 8px;
  background: #fcebf6;
  color: var(--text-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--global-font-weight);
  font-size: var(--global-font-size);
}

/* Titre : s'adapte et coupe si trop long */
.dest-suggestions .item .content {
  min-width: 0; /* permet au texte de truncater correctement */
}
.dest-suggestions .item .content .title {
  font-weight: var(--global-font-weight);
  color: var(--text-color);
  white-space: normal;
  word-break: break-word;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2; /* limite à 2 lignes si nécessaire */
  -webkit-box-orient: vertical;
}

/* Hover / sélection */
.dest-suggestions .item:hover,
.dest-suggestions .item[aria-selected="true"] {
  background: #fcebf6;
  transform: translateY(-1px);
}

/* No-results */
.dest-suggestions .no-results {
  padding: 10px 14px;
  color: #666;
}

/* Fallback mobile : position relative si l'espace est restreint */
@media (max-width: 420px) {
  .dest-suggestions {
    position: static;
    margin-top: 6px;
    width: 100%;
  }
}

.grecaptcha-badge {
    visibility: hidden!important;
}


.list-plus {
  list-style: none;
  padding-left: 0;
}

.list-plus li {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 1.2em; /* espace entre les items */
}

.list-plus li::before {
  content: "+";
  position: absolute;
  left: 0;
  top: 0;
  color: #ecafba;       /* rose */
  font-weight: 900;     /* très gras */
  font-size: 1.4em;     /* plus grand */
  line-height: 1;       /* évite les décalages verticaux */
}

.prestation-name {
    font-family: var(--tittle-font);
    font-size: 1.6rem; /* taille réduite */
    background: #ecafba;
    font-weight: bold;   /* texte en gras */
    color: #fff;         /* couleur du texte */
    padding: 0.5em 1em;  /* optionnel : un peu d’air autour du texte */
    display: inline-block; /* optionnel : pour que le fond s’adapte au texte */
    margin: 0 auto; /* centre horizontalement */
}

.center {
    text-align: center;
}

.separator-small {
    width: 80px;      /* choisis la largeur que tu veux */
    margin: 20px auto; /* centre le séparateur */
}

.book {
    color: #ecafba;
    line-height: 20px;
    border: 1px solid;
    border-color: #ecafba;
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 32px;
    padding-right: 32px;
}

.square-prestation {
    border: 1px;
    background-origin: border-box;
    border-color: #dbdbdb;
    border-style: solid;
    border-radius: 0px;
    margin-left: 50px;
    margin-right: 50px;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
    padding-right: 30px;
}