body.page-id-10 .site-header,
body.page-id-10 #masthead { display: none !important; }
body.page-id-10 .site-footer,
body.page-id-10 #colophon { display: none !important; }
body.page-id-10 .inside-article,
body.page-id-10 .entry-content,
body.page-id-10 .content-area,
body.page-id-10 .site-content,
body.page-id-10 article,
body.page-id-10 .site-main,
body.page-id-10 #primary,
body.page-id-10 #content,
body.page-id-10 .container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.page-id-10 { padding: 0 !important; margin: 0 !important; }

/* Tous les boutons CEB : texte blanc au survol */
.ceb-hero__cta:hover,
.ceb-footer__cta:hover,
[class*="ceb-"][class*="__cta"]:hover,
[class*="ceb-"][class*="__btn"]:hover {
  color: #FFFFFF !important;
}
/* Hero bouton ghost : texte terracotta au survol */

/* Hero bouton ghost : terracotta au survol (priorité haute) */
.wp-block-ceb-hero .ceb-hero__cta.ceb-hero__cta--ghost:hover,
a.ceb-hero__cta--ghost:hover {
  color: #C2451F !important;
}

/* === HEADER === */

/* Header fixed transparent par défaut */
.ceb-header.is-scrolled {
  background-color: #FFFFFF !important;
  border-bottom: 1px solid #E8E4DC !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}

/* Texte du menu en blanc quand transparent (sur la photo hero) */
.ceb-header:not(.is-scrolled) .ceb-header__link {
  color: #FFFFFF !important;
}

/* Logo */
.ceb-header__logo-img {
  height: 40px !important;
  width: auto !important;
}

/* Typographie */
.ceb-header__link,
.ceb-header__cta {
  font-family: "Barlow", sans-serif !important;
}
.ceb-header__link {
  text-decoration: none !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em;
}
.ceb-header__link {
  transition: color 0.2s ease !important;
}
.ceb-header__link:hover {
  text-decoration: none !important;
  color: #C2451F !important;
}
.ceb-header__cta:hover {
  color: #FFFFFF !important;
}
.wp-block-ceb-hero .ceb-hero__cta.ceb-hero__cta--ghost:hover,
a.ceb-hero__cta--ghost:hover {
  color: #C2451F !important;
}

/* Tous les boutons au survol */
.ceb-hero__cta:hover,
.ceb-footer__cta:hover,
[class*="ceb-"][class*="__cta"]:hover {
  color: #FFFFFF !important;
}
/* Hero : barre piliers pleine largeur */
.ceb-hero__pillars {
  width: 100% !important;
  max-width: 100% !important;
  left: 0 !important;
  right: 0 !important;
}
/* Boutons teal : sans soulignage */
.ceb-hero__cta--primary,
.ceb-header__cta,
.ceb-footer__cta,
[class*="ceb-"][class*="__cta"] {
  text-decoration: none !important;
}
/* Bouton ghost hero : soulignage */
.ceb-hero__cta--ghost {
  text-decoration: underline !important;
}
/* Bouton ghost hero : soulignage (priorité haute) */
.wp-block-ceb-hero a.ceb-hero__cta.ceb-hero__cta--ghost,
.ceb-hero .ceb-hero__cta--ghost {
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
/* Hero : texte en blanc et contenu descendu */
.ceb-hero__cta--ghost {
  color: #FFFFFF !important;
}
.ceb-hero__content {
  padding-top: 80px !important;
}
/* About : image hauteur adaptée à lécran */
.ceb-about__right img {
  height: 100% !important;
  min-height: 600px !important;
  width: 100% !important;
  object-fit: cover !important;
}
/* About : vignettes rapprochées et moins hautes */
.ceb-about__tiles {
  margin-bottom: 24px !important;
  margin-top: 0 !important;
}
.ceb-about__tile {
  padding: 18px 20px !important;
}
.ceb-about__text {
  margin-bottom: 16px !important;
  padding-bottom: 0 !important;
}
/* About : espacement paragraphes réduit */
.ceb-about__body p {
  margin-bottom: 6px !important;
}
/* About : vignettes étendues en largeur */
.ceb-about__tiles {
  width: calc(100% + 160px) !important;
}
/* Services : corrections visuelles */
.ceb-services__panel-img {
  max-height: 280px !important;
  width: 100% !important;
  object-fit: cover !important;
  margin-top: 24px !important;
}
/* Services : rail gauche sétire en hauteur */
.ceb-services__layout {
  align-items: stretch !important;
}
.ceb-services__rail {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  height: 100% !important;
}
.ceb-services__detail {
  height: 100% !important;
}
/* Services : espace texte-photo réduit */
.ceb-services__panel-text {
  margin-bottom: 4px !important;
}
/* Services : supprimer animation au survol des onglets */
.ceb-services__tab:hover .ceb-services__tab-label {
  color: inherit !important;
}
.ceb-services__tab {
  transition: none !important;
}
/* Services : supprimer fond gris au survol des onglets */
.ceb-services__tab:hover {
  background: transparent !important;
  background-color: transparent !important;
}
/* Services : supprimer couleur blanche au survol des étiquettes */
.ceb-services__tab:hover .ceb-services__tab-label {
  color: var(--color-gris-pierre) !important;
}
.ceb-services__tab:hover i {
  color: var(--color-gris-pierre) !important;
}
/* Services : texte toujours visible au survol */
.ceb-services__tab:hover .ceb-services__tab-label,
.ceb-services__tab:focus .ceb-services__tab-label {
  color: var(--color-gris-pierre) !important;
  visibility: visible !important;
}
.ceb-services__tab.is-active:hover .ceb-services__tab-label {
  color: var(--color-noir) !important;
}
/* Services : barre terracotta se déplace au survol */
.ceb-services__tab:hover .ceb-services__tab-mark:before {
  background: var(--color-terracotta) !important;
  transition: background 0.2s ease !important;
}
/* Services : barre active masquée quand on survole le rail */
.ceb-services__rail:hover .ceb-services__tab.is-active .ceb-services__tab-mark:before {
  background: transparent !important;
  transition: background 0.2s ease !important;
}
/* Barre visible uniquement sur létiquette survolée */
.ceb-services__rail:hover .ceb-services__tab:hover .ceb-services__tab-mark:before {
  background: var(--color-terracotta) !important;
}
/* Services : supprimer fond gris au clic */
.ceb-services__tab:active,
.ceb-services__tab:focus {
  background: transparent !important;
  background-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}
/* Services : même espace au-dessus que about */
.ceb-services {
  margin-top: clamp(24px, 3vw, 40px) !important;
}
/* Supprimer fond gris entre les blocs */
.ceb-services {
  background-color: #FFFFFF !important;
}
/* Forcer fond blanc sur body et conteneurs GeneratePress */
body.page-id-10,
body.page-id-10 .site,
body.page-id-10 .site-content,
body.page-id-10 #content,
body.page-id-10 #primary,
body.page-id-10 .entry-content {
  background-color: #FFFFFF !important;
}
/* Equipements : fond blanc sur les cartes */
.ceb-equipment__card {
  background-color: #FFFFFF !important;
}
/* Praticiens : texte blanc au survol */
.ceb-practitioners__role,
.ceb-practitioners__name,
.ceb-practitioners__bio {
  color: #FFFFFF !important;
}
/* Praticiens : texte opaque au survol */
.ceb-practitioners__card:hover .ceb-practitioners__role,
.ceb-practitioners__card:hover .ceb-practitioners__name,
.ceb-practitioners__card:hover .ceb-practitioners__bio {
  opacity: 1 !important;
}
/* Equipements : overlay teal identique aux praticiens */

.ceb-equipment {
  background-color: transparent !important;
}
/* FAQ : Barlow pour les questions */
.ceb-faq__tab-label,
.ceb-faq__panel-q {
  font-family: "Barlow", sans-serif !important;
}
/* Soins : Barlow pour les étiquettes et titres */
.ceb-services__tab-label,
.ceb-services__panel-title {
  font-family: "Barlow", sans-serif !important;
}
/* About : Montserrat pour les vignettes */
.ceb-about__tile-num,
.ceb-about__tile-title {
  font-family: "Montserrat", sans-serif !important;
}
/* Contact : champ message hauteur normale */
.ceb-contact .wpcf7-textarea,
.wpcf7-form textarea {
  height: 80px !important;
  max-height: 80px !important;
}
/* Contact : masquer les labels dupliqués (garder uniquement placeholder) */
.ceb-contact .wpcf7-form label > span:first-child,
.wpcf7-form .wpcf7-form-control-wrap + br { 
  display: none !important;
}
/* Contact : masquer les labels (garder uniquement les placeholders) */
.wpcf7-form label {
  display: none !important;
}
.wpcf7-form .wpcf7-form-control-wrap {
  display: block !important;
}
/* Contact : formulaire remonté */
.ceb-contact__form {
  margin-top: -40px !important;
}
/* Contact : espacement réduit entre les champs */
.wpcf7-form p {
  margin-bottom: 0 !important;
}
/* Contact : supprimer soulignage liens */
.ceb-contact a,
.ceb-contact__details a,
.ceb-contact__social a {
  text-decoration: none !important;
}
/* Contact : animation survol pictos réseaux sociaux */
.ceb-contact__social a {
  display: inline-block !important;
  transition: transform 0.2s ease-out !important;
}
.ceb-contact__social a:hover {
  transform: translateY(-5px) !important;
}
/* Contact : bouton identique aux autres boutons */
.ceb-contact .ceb-submit,
.wpcf7-submit {
  background-color: #FFFFFF !important;
  color: #0E8C84 !important;
  font-family: "Barlow", sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  letter-spacing: 0.25px !important;
  text-transform: uppercase !important;
  padding: 14px 28px !important;
  border: none !important;
  border-radius: 0 !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease-out !important;
}
.ceb-contact .ceb-submit:hover,
.wpcf7-submit:hover {
  background-color: #C2451F !important;
  color: #FFFFFF !important;
}
/* Footer : supprimer soulignage des rubriques */
.ceb-footer__link,
.ceb-footer a {
  text-decoration: none !important;
}
/* Footer : colonnes équilibrées */
.ceb-footer__cols {
  grid-template-columns: 1fr 1fr 1fr 1fr !important;
  align-items: start !important;
}
/* Hero : bouton ghost terracotta au survol (priorité maximale) */
body .wp-block-ceb-hero .ceb-hero__cta--ghost:hover,
body a.ceb-hero__cta--ghost:hover {
  color: #C2451F !important;
  text-decoration: underline !important;
}
/* About : effet brillance en boucle sur les vignettes */
.ceb-about__tile {
  position: relative !important;
  overflow: hidden !important;
}
.ceb-about__tile::before {
  content: "" !important;
  position: absolute !important;
  top: -100% !important;
  left: -100% !important;
  width: 60% !important;
  height: 200% !important;
  background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,0.25) 50%, transparent 60%) !important;
  animation: brillance 3s ease-in-out infinite !important;
}
.ceb-about__tile:nth-child(2)::before { animation-delay: 0.5s !important; }
.ceb-about__tile:nth-child(3)::before { animation-delay: 1s !important; }
.ceb-about__tile:nth-child(4)::before { animation-delay: 1.5s !important; }
@keyframes brillance {
  0% { left: -100%; top: -100%; }
  50% { left: 150%; top: -100%; }
  100% { left: 150%; top: -100%; }
}
/* Brillance sur tous les boutons teal */
.ceb-header__cta,
.ceb-hero__cta--primary,
.ceb-footer__cta,
.ceb-submit {
  position: relative !important;
  overflow: hidden !important;
}
.ceb-header__cta::after,
.ceb-hero__cta--primary::after,
.ceb-footer__cta::after,
.ceb-submit::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 40% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent) !important;
  pointer-events: none !important;
  animation: shine 7s ease-in-out infinite !important;
}

/* Bouton contact : fond blanc, teal, hover terracotta */
.ceb-submit {
  background-color: #FFFFFF !important;
  color: #0E8C84 !important;
}
.ceb-submit:hover {
  background-color: #C2451F !important;
  color: #FFFFFF !important;
}
/* Harmonisation des espaces entre blocs */
.wp-block-ceb-about,
.wp-block-ceb-services,
.wp-block-ceb-equipment,
.wp-block-ceb-practitioners,
.wp-block-ceb-faq,
.wp-block-ceb-contact {
  margin-top: clamp(24px, 3vw, 40px) !important;
}
.wp-block-ceb-about {
  margin-top: clamp(48px, 5vw, 72px) !important;
}
/* Espace entre About et Services */
.wp-block-ceb-services {
  margin-top: clamp(48px, 5vw, 72px) !important;
}
/* Hero : piliers en blanc */
.ceb-hero__pillar-label {
  color: #FFFFFF !important;
}
/* Hero : titre et texte en blanc */
.ceb-hero__title,
.ceb-hero__intro {
  color: #FFFFFF !important;
}
/* Praticiens : fond teal */
.wp-block-ceb-practitioners {
  background-color: #0E8C84 !important;
  padding: clamp(48px, 6vw, 80px) 0 !important;
  margin-top: 0 !important;
}
/* Espace avant le bloc FAQ */
.wp-block-ceb-faq {
  margin-top: clamp(80px, 8vw, 120px) !important;
}
/* Praticiens : titre et trait en blanc */
.ceb-practitioners__heading {
  color: #FFFFFF !important;
}
.ceb-practitioners__accent {
  background: #FFFFFF !important;
}
/* Contact : trait horizontal avant le titre */
.ceb-contact__heading::before {
  content: "" !important;
  display: block !important;
  width: 32px !important;
  height: 0.5px !important;
  background: #FFFFFF !important;
  margin-bottom: 22px !important;
}
/* Footer : liens en 2 colonnes */
.ceb-footer__col .ceb-footer__links {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 2px 24px !important;
  width: fit-content !important;
}
/* Footer : informations légales sur une seule colonne */
.ceb-footer__col:last-child .ceb-footer__links {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: unset !important;
}
/* Footer : dernière colonne alignée à droite */
.ceb-footer__col:last-child {
  justify-self: end !important;
  text-align: left !important;
}
.ceb-footer__col:last-child .ceb-footer__col-title {
  text-align: left !important;
}
.ceb-footer__col:last-child .ceb-footer__links {
  text-align: left !important;
}
/* Footer : colonne Les informations centrée */
.ceb-footer__col:nth-child(2) {
  justify-self: center !important;
  text-align: left !important;
}
.ceb-footer__col:nth-child(2) .ceb-footer__col-title {
  text-align: left !important;
}
.ceb-footer__col:nth-child(2) .ceb-footer__links {
  text-align: left !important;
  margin: 0 !important;
}
/* ===== MOBILE ===== */
@media (max-width: 1024px) {

  /* Header mobile */
  .ceb-header__logo-img {
    height: 32px !important;
  }
  .ceb-header__nav {
    display: none;
  }
  .ceb-header__nav.is-open {
    display: flex !important;
  }

  /* Hero : piliers en colonne */
  .ceb-hero__pillars {
    grid-template-columns: 1fr !important;
    position: relative !important;
    bottom: auto !important;
  }
  .ceb-hero__content {
    padding-top: 100px !important;
    padding-bottom: 24px !important;
  }

  /* About : grille en colonne */
  .ceb-about__grid {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
  .ceb-about__right {
    display: none !important;
  }
  .ceb-about__tiles {
    grid-template-columns: repeat(2, 1fr) !important;
    width: 100% !important;
  }
  .ceb-about__left {
    padding: 0 24px !important;
  }

  /* Services : colonne unique */
  .ceb-services__layout {
    display: flex !important;
    flex-direction: column !important;
  }
  .ceb-services__rail {
    width: 100% !important;
  }
  .ceb-services {
    height: auto !important;
    min-height: auto !important;
  }

  /* FAQ : colonne unique */
  .ceb-faq__layout {
    display: flex !important;
    flex-direction: column !important;
  }
  .ceb-faq {
    height: auto !important;
  }

  /* Praticiens : colonne unique */
  .ceb-practitioners__grid {
    grid-template-columns: 1fr !important;
  }

  /* Contact : colonne unique */
  .ceb-contact__inner {
    flex-direction: column !important;
  }

  /* Footer : colonne unique */
  .ceb-footer__cols {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1024px) {
  .ceb-hamburger {
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
    z-index: 1001 !important;
  }
}
/* Mobile : pleine largeur */
@media (max-width: 1024px) {
  body,
  body.page-id-10 .site,
  body.page-id-10 .site-content,
  body.page-id-10 #content,
  body.page-id-10 #primary,
  body.page-id-10 .entry-content,
  body.page-id-10 .inside-article,
  body.page-id-10 article {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: clip !important;
  }
}
/* Mobile : bloquer le scroll horizontal */
@media (max-width: 1024px) {
  html, body {
    overflow-x: clip !important;
    max-width: 100vw !important;
  }
  .ceb-about__tiles {
    width: 100% !important;
  }
  .wp-block-ceb-hero,
  .wp-block-ceb-about,
  .wp-block-ceb-services,
  .wp-block-ceb-equipment,
  .wp-block-ceb-practitioners,
  .wp-block-ceb-faq,
  .wp-block-ceb-contact,
  .wp-block-ceb-footer,
  .wp-block-ceb-header {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
}
/* Mobile : hero centré, piliers en bas */
@media (max-width: 1024px) {
  .ceb-hero {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .ceb-hero__content {
    text-align: center !important;
    padding: 140px 24px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex: 1 !important;
    min-height: calc(100vh - 200px) !important;
  }
  .ceb-hero__title {
    text-align: center !important;
  }
  .ceb-hero__intro {
    text-align: center !important;
  }
  .ceb-hero__actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    width: 100% !important;
    flex-wrap: wrap !important;
  }
  .ceb-hero__pillars {
    position: relative !important;
    bottom: auto !important;
    width: 100% !important;
    grid-template-columns: 1fr !important;
    order: 3 !important;
  }
}
/* Mobile : boutons hero plus petits */
@media (max-width: 1024px) {
  .ceb-hero__cta {
    padding: 12px 18px !important;
    font-size: 15px !important;
    white-space: nowrap !important;
  }
}
/* Mobile : titre hero plus petit */
@media (max-width: 1024px) {
  .ceb-hero__title {
    font-size: clamp(32px, 8vw, 48px) !important;
  }
}
/* Mobile : espace entre boutons et piliers */
@media (max-width: 1024px) {
  .ceb-hero__pillars {
    margin-top: 32px !important;
  }
}
/* Mobile : bloc Centre */
@media (max-width: 1024px) {
  /* Grid en colonne */
  .ceb-about__grid {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
  }
  /* Texte centré */
  .ceb-about__text {
    text-align: center !important;
    padding: 0 24px !important;
  }
  .ceb-about__title {
    text-align: center !important;
  }
  .ceb-about__accent {
    margin: 0 auto 22px !important;
  }
  /* Vignettes : 2 colonnes, texte centré */
  .ceb-about__tiles {
    grid-template-columns: repeat(2, 1fr) !important;
    width: 100% !important;
    margin: 12px 0 0 !important;
  }
  .ceb-about__tile {
    text-align: center !important;
  }
  /* Vidéo sous les vignettes */
  .ceb-about__right {
    order: 3 !important;
    padding: 24px 24px 0 !important;
    display: block !important;
  }
  .ceb-about__left {
    order: 1 !important;
    padding: 0 !important;
  }
}
/* Mobile : texte centré */
@media (max-width: 1024px) {
  .ceb-about__body p {
    text-align: center !important;
  }
}
/* Mobile : bloc Nos soins */
@media (max-width: 1024px) {
  .ceb-services__head {
    text-align: center !important;
    padding: 0 24px !important;
  }
  .ceb-services__accent {
    margin: 0 auto 22px !important;
  }
  .ceb-services__heading {
    text-align: center !important;
  }
  .ceb-services {
    height: auto !important;
    min-height: auto !important;
    padding: 48px 0 !important;
  }
  .ceb-services__layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }
  .ceb-services__rail {
    width: 100% !important;
    flex: none !important;
  }
  .ceb-services__tab {
    flex: none !important;
    min-height: 56px !important;
  }
  .ceb-services__detail {
    padding: 24px !important;
    overflow: visible !important;
  }
  .ceb-services__panel-img {
    max-height: 200px !important;
  }
}
/* Mobile : tous les soins visibles en colonne */
@media (max-width: 1024px) {
  .ceb-services__rail {
    display: none !important;
  }
  .ceb-services__detail {
    width: 100% !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 32px !important;
    padding: 0 24px !important;
  }
  .ceb-services__panel {
    display: block !important;
  }
  .ceb-services__panel[hidden] {
    display: block !important;
  }
}
/* Mobile : soins - titre, sous-titre et texte centrés */
@media (max-width: 1024px) {
  .ceb-services__panel-title,
  .ceb-services__panel-tech,
  .ceb-services__panel-text {
    text-align: center !important;
  }
}
/* Mobile : soins - pleine largeur */
@media (max-width: 1024px) {
  .ceb-services__inner {
    padding: 0 !important;
  }
  .ceb-services__head {
    padding: 0 24px !important;
  }
}
/* Mobile : FAQ - titre, sous-titre et texte centrés */
@media (max-width: 1024px) {
  .ceb-faq__panel-q,
  .ceb-faq__panel-a {
    text-align: center !important;
  }
  .ceb-faq__inner {
    padding: 0 !important;
  }
  .ceb-faq__head {
    padding: 0 24px !important;
  }
}
/* Mobile : FAQ titre centré */
@media (max-width: 1024px) {
  .ceb-faq__heading {
    text-align: center !important;
  }
  .ceb-faq__accent {
    margin: 0 auto 22px !important;
  }
}
/* Mobile : Equipements - titre et texte centrés */
@media (max-width: 1024px) {
  .ceb-equipment__heading,
  .ceb-equipment__intro {
    text-align: center !important;
  }
  .ceb-equipment__accent {
    margin: 0 auto 22px !important;
  }
}
/* Mobile : Praticiens */
@media (max-width: 1024px) {
  .ceb-practitioners__heading {
    text-align: center !important;
  }
  .ceb-practitioners__accent {
    margin: 0 auto 22px !important;
  }
  /* Afficher les infos sous la photo */
  .ceb-practitioners__card {
    aspect-ratio: unset !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    background: transparent !important;
  }
  .ceb-practitioners__photo {
    aspect-ratio: 3/4 !important;
    width: 100% !important;
    object-fit: cover !important;
    display: block !important;
    position: relative !important;
    height: auto !important;
  }
  .ceb-practitioners__overlay {
    position: relative !important;
    opacity: 1 !important;
    background-color: #0E8C84 !important;
    padding: 20px 16px !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
  }
  .ceb-practitioners__role,
  .ceb-practitioners__name,
  .ceb-practitioners__bio {
    color: #FFFFFF !important;
    text-align: center !important;
  }
  .ceb-practitioners__grid {
    grid-template-columns: 1fr !important;
  }
}
/* Mobile : FAQ - réduire espace entre réponse et trait */
@media (max-width: 1024px) {
  .ceb-faq__panel-a {
    margin-bottom: 8px !important;
  }
}
/* Mobile : Contact - tout centré */
@media (max-width: 1024px) {
  .ceb-contact__col {
    text-align: center !important;
  }
  .ceb-contact__heading,
  .ceb-contact__intro {
    text-align: center !important;
  }
  .ceb-contact__details {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .ceb-contact__social {
    justify-content: center !important;
  }
  .ceb-contact__form {
    text-align: center !important;
  }
  .wpcf7-form {
    text-align: center !important;
  }
  .ceb-field {
    text-align: center !important;
  }
  .wpcf7-form input,
  .wpcf7-form textarea {
    text-align: center !important;
  }
  .wpcf7-submit {
    display: block !important;
    margin: 0 auto !important;
  }
  .ceb-contact__inner {
    flex-direction: column !important;
  }
}
/* Mobile : Contact - trait et bouton centrés */
@media (max-width: 1024px) {
  .ceb-contact__heading::before {
    margin: 0 auto 22px !important;
  }
  .ceb-submit-wrap,
  .wpcf7-submit {
    display: block !important;
    margin: 16px auto 0 !important;
  }
}
/* Mobile : bouton contact centré */
@media (max-width: 1024px) {
  .wpcf7-form p:last-of-type {
    text-align: center !important;
    display: block !important;
  }
  .wpcf7-form .wpcf7-submit {
    margin: 16px auto !important;
    display: block !important;
  }
}
/* Mobile : bouton contact centré avec largeur fixe */
@media (max-width: 1024px) {
  .ceb-contact .wpcf7-submit,
  .ceb-contact .ceb-submit {
    display: block !important;
    width: fit-content !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}
/* Header desktop : rubriques sur une ligne */
@media (min-width: 1025px) {
  .ceb-header__nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    position: static !important;
    width: auto !important;
    height: auto !important;
    background: transparent !important;
    align-items: center !important;
    gap: 28px !important;
    z-index: auto !important;
    opacity: 1 !important;
    transform: none !important;
    inset: auto !important;
  }
  .ceb-header__link {
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 0 !important;
    border-bottom: none !important;
    width: auto !important;
    white-space: nowrap !important;
    color: var(--ceb-text, #2B2A27) !important;
  }
  .ceb-header:not(.is-scrolled) .ceb-header__link {
    color: #FFFFFF !important;
  }
  .ceb-header__cta {
    margin-top: 0 !important;
    background-color: #0E8C84 !important;
    color: #FFFFFF !important;
    border: none !important;
  }
  .ceb-menu-logo { display: none !important; }
}
/* Desktop : cacher le logo du menu mobile */
@media (min-width: 1025px) {
  .ceb-menu-logo { display: none !important; }
}
/* Hero desktop : contenu aligné à gauche */
@media (min-width: 1025px) {
  .ceb-hero__content {
    text-align: left !important;
    align-items: flex-start !important;
    padding-top: 120px !important;
  }
  .ceb-hero__title,
  .ceb-hero__intro {
    text-align: left !important;
  }
  .ceb-hero__actions {
    justify-content: flex-start !important;
  }
}

/* Hero : piliers - remontée au survol */
.ceb-hero__pillar {
  transition: transform 0.2s ease-out !important;
}
.ceb-hero__pillar:hover {
  transform: translateY(-5px) !important;
}
/* Hero : piliers en majuscules */
.ceb-hero__pillar span {
  text-transform: uppercase !important;
}
/* Header CTA : meme animation brillance que les autres boutons */
.ceb-header__cta {
  position: relative !important;
  overflow: hidden !important;
}
.ceb-header__cta::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 40% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent) !important;
  pointer-events: none !important;
  animation: shine 7s ease-in-out infinite !important;
}
/* Header CTA : passage terracotta au survol */
.ceb-header__cta:hover {
  background-color: #C2451F !important;
  color: #FFFFFF !important;
}
.ceb-header:not(.is-scrolled) .ceb-header__link:hover,
.ceb-header.is-scrolled .ceb-header__link:hover {
  color: #C2451F !important;
}


/* Animation brillance vignettes about (deplacee du bloc) */
@keyframes shine {
  0% { transform: translateX(-200%) skewX(-15deg); opacity:0; }
  3% { opacity:1; }
  86% { transform: translateX(300%) skewX(-15deg); opacity:0; }
  87%,100% { transform: translateX(-200%) skewX(-15deg); opacity:0; }
}
.ceb-about__tile {
  position: relative !important;
  overflow: hidden !important;
}
.ceb-about__tile::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 40% !important;
  height: 100% !important;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent) !important;
  pointer-events: none !important;
  animation: shine 7s ease-in-out infinite !important;
}

/* Regles hero deplacees depuis les styles inline */

.ceb-hero__content {
  padding-top: 120px;
}
.ceb-hero__intro {
  color: #FFFFFF !important;
}
.ceb-hero__actions {
  display: flex;
  flex-direction: row;
  gap: 12px;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}

/* Menu hamburger mobile (deplace depuis le bloc core/html) */
@media (max-width: 1024px) {
  .ceb-hamburger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    z-index: 1100 !important;
    background: none !important;
    border: none !important;
    padding: 8px !important;
    position: fixed !important;
    top: 16px !important;
    right: 16px !important;
  }
  .ceb-hamburger span {
    display: block !important;
    width: 28px !important;
    height: 2px !important;
    background: #FFFFFF !important;
    transition: all 0.3s ease !important;
    transform-origin: center !important;
  }
  .ceb-header.is-scrolled .ceb-hamburger span { background: #2B2A27 !important; }
  .ceb-hamburger.is-open span:nth-child(1) { transform: rotate(45deg) translate(0, 8px) !important; background: #FFFFFF !important; }
  .ceb-hamburger.is-open span:nth-child(2) { opacity: 0 !important; }
  .ceb-hamburger.is-open span:nth-child(3) { transform: rotate(-45deg) translate(0, -8px) !important; background: #FFFFFF !important; }
  .ceb-header__nav {
    display: none;
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    background: #0E8C84 !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    z-index: 1000 !important;
  }
  .ceb-header__nav.is-open { display: flex !important; }
  .ceb-menu-logo {
    display: block !important;
    height: 50px !important;
    width: auto !important;
    margin-bottom: 40px !important;
    filter: brightness(0) invert(1) !important;
  }
  .ceb-header__link {
    color: #FFFFFF !important;
    font-family: "Barlow", sans-serif !important;
    font-size: 20px !important;
    font-weight: 500 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    padding: 12px 0 !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,0.2) !important;
    width: 240px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  .ceb-header__link:hover { color: rgba(255,255,255,0.7) !important; }
  .ceb-header__cta {
    margin-top: 32px !important;
    background: transparent !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255,255,255,0.6) !important;
  }
  .ceb-header__cta:hover { background: rgba(255,255,255,0.15) !important; color: #FFFFFF !important; }
}
@media (min-width: 1025px) { .ceb-hamburger { display: none !important; } }

/* Animations d'apparition au scroll (deplacees depuis un bloc core/html) */
.wp-block-ceb-about,
.wp-block-ceb-services,
.wp-block-ceb-equipment,
.wp-block-ceb-practitioners,
.wp-block-ceb-faq,
.wp-block-ceb-contact,
.wp-block-ceb-footer {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.9s ease, transform 0.9s ease;
}
.ceb-block-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* Corrections apres recompilation des blocs */

/* Header : supprimer la bordure blanche en haut de page */
.ceb-header {
  border-bottom: none !important;
}
.ceb-header.is-scrolled {
  border-bottom: 1px solid var(--color-gris-perle);
}

/* Hero : deplacer le fond des piliers du conteneur vers chaque pilier */
.ceb-hero__pillars {
  background: transparent !important;
}
.ceb-hero__pillar {
  background: var(--ceb-pillars-bg, rgba(14,140,132,.86)) !important;
  transition: transform 0.2s ease-out !important;
}
.ceb-hero__pillar:hover {
  transform: translateY(-5px) !important;
}

/* Praticiens : fond noir au survol des cartes */
.ceb-practitioners__overlay {
  background-color: rgba(0,0,0,0.5) !important;
}

/* Header : fond transparent en haut, blanc au scroll */
header.ceb-header:not(.is-scrolled) {
  background-color: transparent !important;
  border-bottom: none !important;
}

/* Header en superposition sur le hero, pas au-dessus (frontend uniquement) */
body:not(.block-editor-page) .ceb-hero {
  margin-top: -74px !important;
  min-height: 100vh !important;
  padding-top: 74px !important;
}

/* Neutraliser la position sticky du header dans l'editeur */
.editor-styles-wrapper .ceb-header {
  position: static !important;
}

/* Hero : desactivation du noir et blanc */
.ceb-hero__bg {
  filter: none !important;
}

/* Hero : reduire la largeur du paragraphe */
.ceb-hero__intro {
  max-width: 50ch !important;
}

/* Header : agrandir le logo */
.ceb-header__logo-img {
  height: 54px !important;
}

/* Bouton retour en haut */
.ceb-scroll-top {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  background-color: #0E8C84 !important;
  color: #FFFFFF !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 998 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
  transition: background-color 0.25s ease !important;
  padding: 0 !important;
}
.ceb-scroll-top:hover {
  background-color: #C2451F !important;
}

/* Equipements : titre et texte en noir */
.ceb-equipment__heading,
.ceb-equipment__intro {
  color: #2B2A27 !important;
}

/* Equipements : ombre portée sur les vignettes */
.ceb-equipment__card {
  box-shadow: 0 4px 14px rgba(15,15,14,0.14) !important;
}
.ceb-equipment__card:hover {
  box-shadow: 0 10px 28px rgba(15,15,14,0.22) !important;
}

/* Case RGPD du formulaire de contact */
.ceb-field--rgpd {
  margin-top: 12px !important;
  margin-bottom: 0 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  color: #FFFFFF !important;
  text-align: left !important;
}
.ceb-field--rgpd .wpcf7-list-item {
  margin: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
}
.ceb-field--rgpd .wpcf7-list-item-label {
  flex: 1 !important;
}
.ceb-field--rgpd input[type=checkbox] {
  margin-top: 3px !important;
  width: 16px !important;
  height: 16px !important;
  accent-color: #FFFFFF !important;
  border: 1px solid #FFFFFF !important;
  background: transparent !important;
  flex-shrink: 0 !important;
}

/* RGPD : forcer l'affichage du label qui enveloppe la case */
.ceb-field--rgpd label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;
  cursor: pointer !important;
}

/* Rapprocher le bouton du formulaire */
.ceb-contact__form .wpcf7-form > div[style*="margin-top:16px"] {
  margin-top: 4px !important;
}

/* Rapprocher davantage le bouton en desktop */
@media (min-width: 1025px) {
  .ceb-contact__form .wpcf7-form > div[style*="margin-top:16px"] {
    margin-top: -8px !important;
  }
}

/* Champs du formulaire : conserver la transparence au focus */
.ceb-contact__form input,
.ceb-contact__form textarea,
.ceb-contact__form input:focus,
.ceb-contact__form textarea:focus,
.ceb-contact__form input:hover,
.ceb-contact__form textarea:hover {
  background: transparent !important;
  background-color: transparent !important;
  color: #FFFFFF !important;
  outline: none !important;
}
.ceb-contact__form input:-webkit-autofill,
.ceb-contact__form textarea:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  -webkit-text-fill-color: #FFFFFF !important;
  transition: background-color 5000s ease-in-out 0s !important;
}

/* Mobile : centrer le bouton d'envoi */
@media (max-width: 1024px) {
  .ceb-contact__form .wpcf7-form > div[style*="text-align:center"] {
    text-align: center !important;
  }
  .ceb-contact__form .wpcf7-form > div[style*="text-align:center"] > p {
    text-align: center !important;
    margin: 0 !important;
  }
  .ceb-contact__form .wpcf7-form .ceb-submit {
    float: none !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Mobile : masquer le nom en superposition sur la photo */
@media (max-width: 1024px) {
  .ceb-practitioners__shortband {
    display: none !important;
  }
}

/* Page Mentions legales : suppression du cadre blanc par defaut, la largeur est geree par .ceb-legal */
body.page-id-476 .inside-article,
body.page-id-476 .entry-content,
body.page-id-476 .content-area,
body.page-id-476 .site-content,
body.page-id-476 article,
body.page-id-476 .site-main,
body.page-id-476 #primary,
body.page-id-476 #content,
body.page-id-476 .container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
body.page-id-476 .entry-header,
body.page-id-476 .page-header {
  display: none !important;
}

/* Page Politique de confidentialite : meme traitement que la page Mentions legales */
body.page-id-3 .inside-article,
body.page-id-3 .entry-content,
body.page-id-3 .content-area,
body.page-id-3 .site-content,
body.page-id-3 article,
body.page-id-3 .site-main,
body.page-id-3 #primary,
body.page-id-3 #content,
body.page-id-3 .container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}
body.page-id-3 .entry-header,
body.page-id-3 .page-header {
  display: none !important;
}

/* Elargissement du conteneur GeneratePress sur les pages Mentions legales et Politique de confidentialite */
body.page-id-476 .grid-container,
body.page-id-3 .grid-container,
body.page-id-476 #main,
body.page-id-3 #main {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
}

/* Footer : hauteur reduite */
.ceb-footer {
  padding: clamp(28px, 4vw, 40px) 0 20px !important;
}
.ceb-footer__cols {
  gap: 24px !important;
  margin-bottom: 20px !important;
}
.ceb-footer__col-title {
  margin-bottom: 12px !important;
}
.ceb-footer__lines,
.ceb-footer__links {
  gap: 7px !important;
}
.ceb-footer__bottom {
  padding-top: 12px !important;
}

/* FAQ : desactivation du noir et blanc */
.ceb-faq__img {
  filter: none !important;
}

/* Nos soins : desactivation du noir et blanc en front et editeur */
img.ceb-services__panel-img,
.editor-styles-wrapper .ceb-services__panel-img {
  filter: none !important;
}

/* Mobile : picto telephone a gauche du hamburger */
.ceb-mobile-phone {
  display: none;
}
@media (max-width: 1024px) {
  .ceb-mobile-phone {
    display: flex !important;
    position: fixed !important;
    top: 16px !important;
    right: 64px !important;
    width: 40px !important;
    height: 40px !important;
    align-items: center !important;
    justify-content: center !important;
    color: #FFFFFF !important;
    z-index: 1001 !important;
    text-decoration: none !important;
    transition: color 0.25s ease !important;
  }
  .ceb-header.is-scrolled ~ .ceb-mobile-phone,
  body:has(.ceb-header.is-scrolled) .ceb-mobile-phone {
    color: #2B2A27 !important;
  }
}

/* Mobile : fond blanc du header au scroll couvrant toute la largeur */
@media (max-width: 1024px) {
  .ceb-header.is-scrolled {
    background-color: #FFFFFF !important;
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  }
}

/* FAQ : afficher le bas de la photo */
.ceb-faq__img {
  object-position: center center !important;
}

/* Editeur : desactivation du noir et blanc sur les vignettes de soins */
.ceb-services__edit-thumb {
  filter: none !important;
}

/* Mobile : reduire l'espace entre Nos soins et Nos equipements */
@media (max-width: 1024px) {
  .wp-block-ceb-equipment {
    margin-top: 0 !important;
  }
}

/* Mobile : reduire les paddings verticaux entre Soins et Equipements */
@media (max-width: 1024px) {
  .ceb-services {
    padding-bottom: 24px !important;
  }
  .ceb-equipment {
    padding-top: 32px !important;
  }
}

/* Desktop : reduire l'espace entre le haut du bloc Equipements et le titre */
@media (min-width: 1025px) {
  .ceb-equipment {
    padding-top: clamp(32px, 5vw, 56px) !important;
  }
}

/* Desktop : reduire l'espace entre Nos soins et Nos equipements */
@media (min-width: 1025px) {
  .ceb-services {
    padding-bottom: clamp(56px, 7vw, 84px) !important;
  }
  .wp-block-ceb-equipment {
    margin-top: 24px !important;
  }
}

/* Hero : carrousel en fondu automatique sur 3 images */
@keyframes ceb-hero-fade {
  0%, 28% { opacity: 1; }
  33%, 95% { opacity: 0; }
  100% { opacity: 1; }
}
.ceb-hero__bg {
  animation: ceb-hero-fade 12s infinite ease-in-out !important;
}
.ceb-hero__bg--2 {
  animation-delay: -8s !important;
}
.ceb-hero__bg--3 {
  animation-delay: -4s !important;
}

/* Services : hauteur fixee (transfere depuis le bloc) */
.ceb-services {
  height: 100vh !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.ceb-services__inner {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}
.ceb-services__head {
  flex-shrink: 0 !important;
}
.ceb-services__layout {
  display: grid !important;
  grid-template-columns: 4fr 6fr !important;
  gap: 48px !important;
  align-items: stretch !important;
  flex: 1 !important;
  min-height: 0 !important;
}
.ceb-services__rail {
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  min-width: 0 !important;
}
.ceb-services__tab {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  width: 100% !important;
}
.ceb-services__detail {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
.ceb-services__panel.is-active {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  min-height: 0 !important;
}
.ceb-services__panel-img {
  object-fit: cover !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  display: block !important;
  min-height: 0 !important;
}

/* Services : neutralisation dans l'editeur */
.editor-styles-wrapper .ceb-services,
.editor-styles-wrapper .ceb-services__inner,
.editor-styles-wrapper .ceb-services__detail,
.editor-styles-wrapper .ceb-services__panel.is-active {
  height: auto !important;
  overflow: visible !important;
  display: block !important;
  flex: none !important;
  min-height: 0 !important;
}
.editor-styles-wrapper .ceb-services__layout {
  display: block !important;
  gap: 0 !important;
}
.editor-styles-wrapper .ceb-services__rail,
.editor-styles-wrapper .ceb-services__tab {
  display: block !important;
  flex: none !important;
  min-height: 0 !important;
}
.editor-styles-wrapper .ceb-services__panel-img {
  flex: none !important;
  height: auto !important;
  min-height: 0 !important;
}

/* Equipements : photo de fond via CSS (compensation retrait balise img) */
.ceb-equipment {
  background-color: transparent !important;
  background-image: linear-gradient(rgba(255,255,255,0.7), rgba(255,255,255,0.7)), url('https://centreesthetiquebastia.fr/wp-content/uploads/2026/07/Acide-hyaluronique-gel.png') !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
.ceb-equipment > .ceb-equipment__overlay {
  display: none !important;
}

/* Services : photos en fond de panel (compensation retrait balises img) */
.ceb-services__panel::after {
  content: '';
  display: block;
  width: 100%;
  flex: 1 1 auto;
  min-height: 220px;
  margin-top: 8px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.ceb-services__panel[data-ceb-panel="0"]::after {
  background-image: url('https://centreesthetiquebastia.fr/wp-content/uploads/2026/07/Botox-1.png');
}
.ceb-services__panel[data-ceb-panel="1"]::after {
  background-image: url('https://centreesthetiquebastia.fr/wp-content/uploads/2026/07/Epilation-definitive-1.png');
}
.ceb-services__panel[data-ceb-panel="2"]::after {
  background-image: url('https://centreesthetiquebastia.fr/wp-content/uploads/2026/07/Detatouage-1.png');
}
.ceb-services__panel[data-ceb-panel="3"]::after {
  background-image: url('https://centreesthetiquebastia.fr/wp-content/uploads/2026/07/Cryolipolyse-1.png');
}
.ceb-services__panel[data-ceb-panel="4"]::after {
  background-image: url('https://centreesthetiquebastia.fr/wp-content/uploads/2026/07/Hydrafacial-1.png');
}
.ceb-services__panel[data-ceb-panel="5"]::after {
  background-image: url('https://centreesthetiquebastia.fr/wp-content/uploads/2026/07/PRP.png');
}

/* Footer : styles transferes depuis les balises style du bloc */
.ceb-footer__cols {
  display: grid !important;
  grid-template-columns: 1fr 1.5fr 1fr !important;
  align-items: start !important;
  gap: 40px !important;
}
@media (max-width: 1024px) {
  .ceb-footer__col:last-child {
    justify-self: center !important;
    text-align: center !important;
  }
  .ceb-footer__col:last-child .ceb-footer__col-title,
  .ceb-footer__col:last-child .ceb-footer__links,
  .ceb-footer__col:last-child .ceb-footer__link {
    text-align: center !important;
  }
  .ceb-footer__cols {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    text-align: center !important;
  }
  .ceb-footer__brand {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .ceb-footer__brand img {
    display: block !important;
    margin: 0 auto 16px !important;
  }
  .ceb-footer__desc {
    text-align: center !important;
  }
  .ceb-footer__col {
    text-align: center !important;
    justify-self: center !important;
  }
  .ceb-footer__col .ceb-footer__links {
    grid-template-columns: 1fr !important;
    text-align: center !important;
    margin: 0 auto !important;
    width: fit-content !important;
  }
  .ceb-footer__col-title {
    text-align: center !important;
  }
  .ceb-footer__link {
    text-align: center !important;
  }
}

/* FAQ : etirer les onglets jusqu'au bas du bloc */
@media (min-width: 1025px) {
  .ceb-faq__rail {
    height: 100% !important;
  }
  .ceb-faq__tab {
    flex: 1 1 0 !important;
    min-height: 82px !important;
  }
}

/* FAQ : reprendre la meme animation de survol que les soins */
.ceb-faq__tab {
  transition: none !important;
}
.ceb-faq__tab:hover,
.ceb-faq__tab:active,
.ceb-faq__tab:focus {
  background: transparent !important;
  background-color: transparent !important;
  outline: none !important;
  box-shadow: none !important;
}
.ceb-faq__tab:hover .ceb-faq__tab-label,
.ceb-faq__tab:focus .ceb-faq__tab-label {
  color: var(--color-gris-pierre) !important;
  visibility: visible !important;
}
.ceb-faq__tab:hover i {
  color: var(--color-gris-pierre) !important;
}
.ceb-faq__tab.is-active:hover .ceb-faq__tab-label {
  color: var(--color-noir) !important;
}
.ceb-faq__tab:hover .ceb-faq__tab-mark:before {
  background: var(--color-terracotta) !important;
  transition: background 0.2s ease !important;
}
.ceb-faq__tab.is-active .ceb-faq__tab-mark:before {
  background: transparent !important;
  transition: background 0.2s ease !important;
}
.ceb-faq__tab.is-active:hover .ceb-faq__tab-mark:before {
  background: var(--color-terracotta) !important;
}

/* FAQ : figer la position et la taille de la photo */
@media (min-width: 1025px) {


  .ceb-faq__img {
    grid-row: 2 !important;
    aspect-ratio: 21 / 9 !important;
    height: auto !important;
    align-self: end !important;
    margin-top: 24px !important;
  }
}



/* FAQ : figer la position de la photo via une grille figee */
@media (min-width: 1025px) {
  section.ceb-faq .ceb-faq__detail {
    display: grid !important;
    grid-template-rows: 1fr 320px !important;
    overflow: hidden !important;
    min-width: 0 !important;
    justify-content: unset !important;
    flex-direction: unset !important;
  }
  section.ceb-faq .ceb-faq__img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: unset !important;
    margin: 0 !important;
  }
}

/* Reduire l'espace entre le bloc Vos questions et le bloc Contact */
@media (min-width: 1025px) {
  .ceb-faq {
    padding-bottom: clamp(56px, 7vw, 84px) !important;
  }
}

/* ============================================
   MOBILE ADJUSTMENTS - 29 juillet 2026
   ============================================ */
@media (max-width: 1024px) {

  /* HEADER : logo plus petit */
  .ceb-header__logo-img {
    height: 32px !important;
    width: auto !important;
  }

  /* HERO : espaces reduits titre-texte-boutons */
  .ceb-hero__title {
    margin-bottom: 14px !important;
  }
  .ceb-hero__intro {
    margin-bottom: 20px !important;
  }

  /* HERO : boutons sur la meme ligne */
  .ceb-hero__actions {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    width: 100% !important;
  }
  .ceb-hero__cta {
    padding: 10px 8px !important;
    font-size: 11px !important;
    flex: 1 1 0 !important;
    text-align: center !important;
    letter-spacing: 0.5px !important;
    white-space: normal !important;
    line-height: 1.2 !important;
    min-width: 0 !important;
  }

  /* HERO : piliers plus compacts, taille de police reduite */
  .ceb-hero__pillars {
    gap: 8px !important;
    margin-top: 24px !important;
  }
  .ceb-hero__pillar {
    padding: 8px 12px !important;
  }
  .ceb-hero__pillar,
  .ceb-hero__pillar span {
    font-size: 13px !important;
  }

  /* PRATICIENS : photos plus petites */
  .ceb-practitioners__card {
    max-width: 78% !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* FOOTER BOTTOM : centrer la mention finale */
  .ceb-footer__bottom {
    text-align: center !important;
  }

  /* HARMONISATION : espace titres-texte sur toutes les sections */
  .ceb-about__title,
  .ceb-services__heading,
  .ceb-equipment__heading,
  .ceb-practitioners__heading,
  .ceb-faq__heading {
    margin-bottom: 16px !important;
  }

  .ceb-about__title + p, .ceb-about__title + div,
  .ceb-services__heading + p, .ceb-services__heading + div,
  .ceb-equipment__heading + p, .ceb-equipment__heading + div,
  .ceb-practitioners__heading + p, .ceb-practitioners__heading + div,
  .ceb-faq__heading + p, .ceb-faq__heading + div,
  .ceb-equipment__intro {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
  }

}


/* ============================================
   MOBILE ADJUSTMENTS V2 - corrections 29 juillet 2026
   ============================================ */
@media (max-width: 1024px) {

  /* HEADER : logo un peu plus grand */
  .ceb-header__logo-img {
    height: 40px !important;
  }

  /* TITRES DE SECTION : reduits legerement + espace serre vers le sous-titre */
  .ceb-about__title,
  .ceb-services__heading,
  .ceb-equipment__heading,
  .ceb-practitioners__heading,
  .ceb-faq__heading {
    font-size: clamp(28px, 7vw, 36px) !important;
    line-height: 1.15 !important;
    margin-bottom: 6px !important;
  }

  /* INTERLIGNAGE reduit sur tous les textes */
  p, .ceb-hero__intro,
  .ceb-about__tile-text,
  .ceb-services__panel-text,
  .ceb-equipment__spec,
  .ceb-faq__panel-a,
  .ceb-practitioners__bio {
    line-height: 1.5 !important;
  }

  /* HERO : espace titre-texte encore reduit */
  .ceb-hero__title {
    margin-bottom: 8px !important;
  }

  /* HERO : centrer texte dans TOUS les boutons */
  .ceb-hero__cta,
  .ceb-hero__cta--primary,
  .ceb-hero__cta--ghost {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  /* HERO : coller les 3 piliers */
  .ceb-hero__pillars {
    gap: 0 !important;
  }
  .ceb-hero__pillar {
    border-radius: 0 !important;
  }

  /* SOUS-TITRES / INTROS : espace serre + margin bas moderee */
  .ceb-about__title + p, .ceb-about__title + div,
  .ceb-services__heading + p, .ceb-services__heading + div,
  .ceb-equipment__heading + p, .ceb-equipment__heading + div,
  .ceb-practitioners__heading + p, .ceb-practitioners__heading + div,
  .ceb-faq__heading + p, .ceb-faq__heading + div,
  .ceb-equipment__intro {
    margin-top: 0 !important;
    margin-bottom: 20px !important;
  }

  /* ABOUT : reduire espace entre texte et les 4 valeurs */
  .ceb-about__grid,
  .ceb-about__values,
  .ceb-about__tiles,
  .ceb-about__right {
    margin-top: 16px !important;
  }
  .ceb-about__left p:last-child,
  .ceb-about__paragraphs:last-child,
  .ceb-about__paragraphs > *:last-child {
    margin-bottom: 8px !important;
  }

  /* PRATICIENS : photo reduite MAIS texte pleine largeur sans fond fonce */
  .ceb-practitioners__card {
    max-width: 100% !important;
    margin: 0 !important;
  }
  .ceb-practitioners__photo {
    max-width: 75% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }
  .ceb-practitioners__shortband,
  .ceb-practitioners__overlay {
    background: transparent !important;
    background-color: transparent !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-shadow: none !important;
  }
  .ceb-practitioners__role,
  .ceb-practitioners__name,
  .ceb-practitioners__bio {
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

}


/* ============================================
   MOBILE ADJUSTMENTS V3 - retouches finales
   ============================================ */
@media (max-width: 1024px) {

  /* HERO : titre encore un peu plus petit */
  .ceb-hero__title {
    font-size: clamp(34px, 8.5vw, 48px) !important;
    line-height: 1.08 !important;
  }

  /* HERO : boutons un peu plus grands */
  .ceb-hero__cta,
  .ceb-hero__cta--primary,
  .ceb-hero__cta--ghost {
    padding: 14px 12px !important;
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
  }

  /* HARMONISATION titre-sous_titre : espace uniforme sur TOUS les blocs hors hero */
  .ceb-about__title,
  .ceb-services__heading,
  .ceb-equipment__heading,
  .ceb-practitioners__heading,
  .ceb-faq__heading {
    margin-bottom: 12px !important;
  }

  /* Cibler TOUS les elements qui suivent immediatement un heading, quel que soit leur type */
  .ceb-about__title + *,
  .ceb-services__heading + *,
  .ceb-equipment__heading + *,
  .ceb-practitioners__heading + *,
  .ceb-faq__heading + * {
    margin-top: 0 !important;
  }

  /* Cibler explicitement les intros connues, quelle que soit leur position */
  .ceb-about__intro,
  .ceb-about__paragraphs,
  .ceb-services__intro,
  .ceb-equipment__intro,
  .ceb-practitioners__intro,
  .ceb-faq__intro {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

}


/* HERO title - reduction supplementaire */
@media (max-width: 1024px) {
  .ceb-hero__title {
    font-size: clamp(26px, 6.5vw, 38px) !important;
    line-height: 1.1 !important;
  }
}


/* Titres de sections : meme taille que le hero */
@media (max-width: 1024px) {
  .ceb-about__title,
  .ceb-services__heading,
  .ceb-equipment__heading,
  .ceb-practitioners__heading,
  .ceb-faq__heading {
    font-size: clamp(26px, 6.5vw, 38px) !important;
    line-height: 1.1 !important;
  }
}


/* Hero boutons : forcer texte sur une seule ligne */
@media (max-width: 1024px) {
  .ceb-hero__cta,
  .ceb-hero__cta--primary,
  .ceb-hero__cta--ghost {
    white-space: nowrap !important;
    font-size: 11.5px !important;
    letter-spacing: 0.3px !important;
    padding: 12px 8px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}


/* ============================================
   MOBILE - Harmonisation espace titre/contenu
   pour Services, Practitioners, FAQ, Contact
   ============================================ */
@media (max-width: 1024px) {

  /* Ajouter le heading Contact a l'harmonisation des titres */
  .ceb-contact__heading {
    font-size: clamp(26px, 6.5vw, 38px) !important;
    line-height: 1.1 !important;
    margin-bottom: 12px !important;
  }

  /* Containers qui suivent les headings (heading dans wrapper ferme) */
  .ceb-services__layout,
  .ceb-practitioners__grid,
  .ceb-faq__layout {
    margin-top: 12px !important;
    padding-top: 0 !important;
  }

  /* Rail des tabs Services et FAQ : supprimer padding/margin haut */
  .ceb-services__rail,
  .ceb-faq__rail {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Bloc Contact : intro directement collee au heading */
  .ceb-contact__heading + p,
  .ceb-contact__intro {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Wrappers ceb-*__header : eviter padding-bottom qui creuse l'ecart */
  .ceb-services__header,
  .ceb-practitioners__header,
  .ceb-faq__header {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

}


/* CORRECTION : les wrappers s'appellent __head et NON __header */
@media (max-width: 1024px) {

  /* Wrappers de titre : supprimer padding-bottom et margin-bottom */
  .ceb-services__head,
  .ceb-practitioners__head,
  .ceb-faq__head {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }

  /* Containers inner : gap uniforme et reduit */
  .ceb-services__inner,
  .ceb-practitioners__inner,
  .ceb-faq__inner {
    gap: 12px !important;
    row-gap: 12px !important;
  }

  /* Layout/grid : pas de margin-top ni padding-top */
  .ceb-services__layout,
  .ceb-practitioners__grid,
  .ceb-faq__layout {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* Le rail est le container des tabs : pas de padding-top */
  .ceb-services__rail,
  .ceb-faq__rail {
    padding-top: 0 !important;
    margin-top: 0 !important;
  }

  /* Premiere tab : reset marges */
  .ceb-services__rail > *:first-child,
  .ceb-faq__rail > *:first-child {
    margin-top: 0 !important;
  }

}


/* Ajustement fin des gaps par section */
@media (max-width: 1024px) {
  .ceb-services__inner {
    gap: 8px !important;
    row-gap: 8px !important;
  }
  .ceb-practitioners__inner {
    gap: 18px !important;
    row-gap: 18px !important;
  }
}


/* Ajustement fin gaps : Praticiens et FAQ */
@media (max-width: 1024px) {
  .ceb-practitioners__inner {
    gap: 22px !important;
    row-gap: 22px !important;
  }
  .ceb-faq__inner {
    gap: 16px !important;
    row-gap: 16px !important;
  }
}


/* Ajustements par section via margin-top du container qui suit le titre */
@media (max-width: 1024px) {

  /* Nos soins : 8px */
  .ceb-services__layout {
    margin-top: 8px !important;
  }

  /* Nos praticiens : 22px */
  .ceb-practitioners__grid {
    margin-top: 22px !important;
  }

  /* Vos questions : 16px */
  .ceb-faq__layout {
    margin-top: 16px !important;
  }

}


/* Nos soins : reduction supplementaire */
@media (max-width: 1024px) {
  .ceb-services__layout {
    margin-top: 4px !important;
  }
}


/* Nos soins : reduction encore plus */
@media (max-width: 1024px) {
  .ceb-services__layout {
    margin-top: -8px !important;
  }
}


/* Bloc Contact : resserrer les 4 informations et l'espace avant reseaux sociaux */
@media (max-width: 1024px) {

  /* Espace reduit entre les items de la liste */
  .ceb-contact__details {
    gap: 8px !important;
    row-gap: 8px !important;
    padding-top: 0 !important;
    margin-bottom: 16px !important;
  }
  .ceb-contact__details li {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .ceb-contact__details li:last-child {
    margin-bottom: 0 !important;
  }

  /* Reduire l'espace entre les infos et les reseaux sociaux */
  .ceb-contact__social {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

}


/* Bloc Nos equipements : font-size 16px pour le texte dans les vignettes (mobile + desktop) */
.ceb-equipment__spec,
.ceb-equipment__point,
.ceb-equipment__points li,
.ceb-equipment__points span {
  font-size: 16px !important;
}


/* Bloc Equipement : sous-titre teal des vignettes a 13px */
.ceb-equipment__spec {
  font-size: 13px !important;
}


/* TABLETTE : forcer les grilles a 1 colonne comme en mobile (couvre les breakpoints internes des blocs) */
@media (max-width: 1024px) {
  .ceb-equipment__grid,
  .ceb-practitioners__grid,
  .ceb-about__grid {
    grid-template-columns: 1fr !important;
  }
  .ceb-services__layout,
  .ceb-faq__layout {
    display: flex !important;
    flex-direction: column !important;
  }
  .ceb-contact__inner {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
  }
}


/* ============================================
   TABLETTE : FORCER TOUT EN 1 COLONNE JUSQU'A 1024px
   ============================================ */
@media (max-width: 1024px) {

  /* Services : layout en colonne + enfants pleine largeur */
  .ceb-services__layout {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
  }
  .ceb-services__rail,
  .ceb-services__detail {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* FAQ : layout en colonne + enfants pleine largeur */
  .ceb-faq__layout {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 20px !important;
  }
  .ceb-faq__rail,
  .ceb-faq__detail {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Practitioners : 1 colonne */
  .ceb-practitioners__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .ceb-practitioners__card {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* Equipment : 1 colonne */
  .ceb-equipment__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .ceb-equipment__card {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  /* About : 1 colonne */
  .ceb-about__grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* Contact : formulaire sous les infos, pleine largeur */
  .ceb-contact__inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
    grid-template-columns: 1fr !important;
  }
  .ceb-contact__col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Hero : contenu bien centre pleine largeur */
  .ceb-hero__content {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

}


/* TABLETTE : 2 colonnes pour Nos equipements */
@media (min-width: 769px) and (max-width: 1024px) {
  .ceb-equipment__grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }
}


/* Tablette + mobile : centrer intro Equipements */
@media (max-width: 1024px) {
  .ceb-equipment__intro {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* TABLETTE : 3 praticiens sur la meme ligne */
@media (min-width: 769px) and (max-width: 1024px) {
  .ceb-practitioners__grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 20px !important;
  }
  .ceb-practitioners__card {
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .ceb-practitioners__photo {
    max-width: 100% !important;
  }
}


/* Tablette + mobile : centrer intro Contact */
@media (max-width: 1024px) {
  .ceb-contact__intro {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}


/* TABLETTE : reduire la largeur des boutons du hero */
@media (min-width: 769px) and (max-width: 1024px) {
  .ceb-hero__actions {
    justify-content: center !important;
    gap: 16px !important;
    max-width: 500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .ceb-hero__cta,
  .ceb-hero__cta--primary,
  .ceb-hero__cta--ghost {
    flex: 0 0 auto !important;
    padding: 14px 28px !important;
    font-size: 13px !important;
    max-width: none !important;
  }
}


/* TABLETTE : reduire la taille de la video Centre Esthetique */
@media (min-width: 769px) and (max-width: 1024px) {
  .ceb-about__right,
  .ceb-about__video,
  .ceb-about__right img,
  .ceb-about__right video {
    max-width: 500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
  }
  .ceb-about__right img,
  .ceb-about__right video {
    min-height: 0 !important;
    height: auto !important;
    max-height: 400px !important;
  }
}


/* TABLETTE : ajuster taille video (plus grande) */
@media (min-width: 769px) and (max-width: 1024px) {
  .ceb-about__right,
  .ceb-about__video,
  .ceb-about__right img,
  .ceb-about__right video {
    max-width: 720px !important;
  }
  .ceb-about__right img,
  .ceb-about__right video {
    max-height: 550px !important;
  }
}


/* TABLETTE : video encore plus grande */
@media (min-width: 769px) and (max-width: 1024px) {
  .ceb-about__right,
  .ceb-about__video,
  .ceb-about__right img,
  .ceb-about__right video {
    max-width: 900px !important;
  }
  .ceb-about__right img,
  .ceb-about__right video {
    max-height: 700px !important;
  }
}


/* Desktop : justifier la phrase informative du formulaire a droite */
@media (min-width: 1025px) {
  .wpcf7-form .ceb-field--info,
  .ceb-contact__form .ceb-field--info {
    text-align: right !important;
  }
}


/* ============================================
   Pages légales : header en mode blanc dès le chargement
   Ces pages n'ont pas de hero, donc la version transparente
   par défaut est illisible (texte blanc sur fond blanc).
   IDs ciblés :
   - 3   : Politique de confidentialité
   - 476 : Mentions légales
   - 617 : Politique de cookies
   ============================================ */
body.page-id-3 header.ceb-header,
body.page-id-476 header.ceb-header,
body.page-id-617 header.ceb-header,
body.page-id-3 header.ceb-header:not(.is-scrolled),
body.page-id-476 header.ceb-header:not(.is-scrolled),
body.page-id-617 header.ceb-header:not(.is-scrolled) {
  background-color: #FFFFFF !important;
  border-bottom: 1px solid #E8E4DC !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}

body.page-id-3 .ceb-header .ceb-header__link,
body.page-id-476 .ceb-header .ceb-header__link,
body.page-id-617 .ceb-header .ceb-header__link,
body.page-id-3 .ceb-header:not(.is-scrolled) .ceb-header__link,
body.page-id-476 .ceb-header:not(.is-scrolled) .ceb-header__link,
body.page-id-617 .ceb-header:not(.is-scrolled) .ceb-header__link {
  color: #2B2A27 !important;
}

/* Mobile : hamburger et picto téléphone en foncé dès le chargement */
@media (max-width: 1024px) {
  body.page-id-3 .ceb-hamburger span,
  body.page-id-476 .ceb-hamburger span,
  body.page-id-617 .ceb-hamburger span {
    background: #2B2A27 !important;
  }
  body.page-id-3 .ceb-mobile-phone,
  body.page-id-476 .ceb-mobile-phone,
  body.page-id-617 .ceb-mobile-phone {
    color: #2B2A27 !important;
  }
}
