/* Corrections d'affichage (mobile, hero video, logo) */

html,
body {
  overflow-x: hidden;
  max-width: 100vw;
}

/* 1. Pas de barres blanches sur les côtés : le contenu occupe toute la largeur */
.entry-content,
.entry-content.is-layout-constrained,
#main-container,
.site-main,
.elementor-16 {
  width: 100%;
  max-width: 100vw;
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}

.elementor-16 > .e-con,
.elementor-16 > .e-parent {
  max-width: 100vw;
}

/* Carrousels contenus dans la largeur de l'écran */
.swiper,
.elementor-swiper,
.swiper-container,
.elementor-widget-testimonial-carousel,
.elementor-main-swiper {
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
}

/* 2. Vidéo du hero : couvre tout le conteneur */
.elementor-background-video-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.elementor-background-video-container video,
video.elementor-background-video-hosted {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  transform: none;
}

/* 3. Logo du header : hauteur fixe, jamais de chevauchement */
.site-logo-container {
  display: inline-flex;
  align-items: center;
}

.site-logo-container img {
  height: 40px;
  width: auto;
  max-width: 60vw;
  object-fit: contain;
}

.ct-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  max-width: 100vw;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

[data-device="mobile"] .ct-header-cta,
[data-device="mobile"] .ct-toggle,
.ct-header-cta {
  flex: 0 0 auto;
}

/* Suppression des marges automatiques de l'article WordPress */
article.post,
article.page,
.hentry {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

video.elementor-background-video-hosted {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

@media (max-width: 767px) {
  .site-logo-container img {
    height: 32px;
    max-width: 45vw;
  }
  .ct-container {
    padding-left: 12px;
    padding-right: 12px;
    gap: 8px;
  }
}

/* --- Animations d'entrée des illustrations de services (une seule fois) --- */
img[data-reveal] {
  opacity: 0;
  will-change: transform, opacity;
}
img[data-reveal].is-revealed {
  opacity: 1;
  animation-duration: .8s;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(.22,.61,.36,1);
}
img[data-reveal="slideInDown"].is-revealed  { animation-name: ceSlideInDown; }
img[data-reveal="slideInUp"].is-revealed    { animation-name: ceSlideInUp; }
img[data-reveal="slideInLeft"].is-revealed  { animation-name: ceSlideInLeft; }
img[data-reveal="slideInRight"].is-revealed { animation-name: ceSlideInRight; }

@keyframes ceSlideInDown  { from { opacity:0; transform: translate3d(0,-60px,0); } to { opacity:1; transform:none; } }
@keyframes ceSlideInUp    { from { opacity:0; transform: translate3d(0,60px,0); }  to { opacity:1; transform:none; } }
@keyframes ceSlideInLeft  { from { opacity:0; transform: translate3d(-60px,0,0); } to { opacity:1; transform:none; } }
@keyframes ceSlideInRight { from { opacity:0; transform: translate3d(60px,0,0); }  to { opacity:1; transform:none; } }

@media (prefers-reduced-motion: reduce) {
  img[data-reveal] { opacity: 1; }
  img[data-reveal].is-revealed { animation: none; }
}

/* Elementor masque les éléments animés (.elementor-invisible) tant que son JS d'animation ne tourne pas */
.elementor-invisible { visibility: visible !important; }

/* Illustrations des cartes de service : conteneur arrondi */
img[data-reveal] {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 20px;
  overflow: hidden;
}
img[data-reveal] + *,
.elementor-widget-container:has(> img[data-reveal]) {
  border-radius: 20px;
  overflow: hidden;
}

/* ===== Header : deux états (transparent en haut / pilule blanche au scroll) ===== */
#header.ct-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  width: 100%;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  pointer-events: none;
}
#header.ct-header > * { pointer-events: auto; }

#header .ct-sticky-container,
#header [data-sticky],
#header [data-row] {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

#header [data-row] {
  margin: 0 16px;
  border-radius: 9999px;
  transition: background-color .3s ease, border-radius .3s ease, box-shadow .3s ease, margin .3s ease, height .3s ease;
}

/* Logo : jamais de fond ni d'ombre */
#header .site-branding,
#header .site-logo-container,
#header .site-logo-container img {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
#header .site-logo-container img { height: 44px; width: auto; object-fit: contain; }

/* Etat 1 : haut de page */
#header .sticky-logo { display: none !important; }
#header .default-logo { display: block !important; }
#header .ct-header-trigger .ct-icon rect,
#header .ct-header-trigger .ct-icon path { fill: #fff; }

/* Bouton Contact jaune dans les deux états */
#header .ct-header-cta .ct-button {
  background: var(--ce-green) !important;
  color: #000 !important;
  border-radius: 9999px !important;
  border: none !important;
  font-weight: 600;
  padding: 12px 24px;
}

/* Etat 2 : scrollé */
html.ce-scrolled #header { padding-top: 16px; }
html.ce-scrolled #header [data-row] {
  background: #fff !important;
  box-shadow: 0 10px 25px -5px rgba(0,0,0,.15), 0 8px 10px -6px rgba(0,0,0,.1);
  border-radius: 9999px;
  min-height: 80px;
}
html.ce-scrolled #header [data-row] .ct-container {
  padding-left: 24px;
  padding-right: 24px;
  min-height: 80px;
}
html.ce-scrolled #header .sticky-logo { display: block !important; }
html.ce-scrolled #header .default-logo { display: none !important; }
html.ce-scrolled #header .ct-header-trigger .ct-icon rect,
html.ce-scrolled #header .ct-header-trigger .ct-icon path { fill: #000; }
html.ce-scrolled #header .menu .ct-menu-link { color: #111 !important; }

@media (max-width: 767px) {
  #header .site-logo-container img { height: 36px; }
  #header .ct-header-cta .ct-button { padding: 10px 18px; }
  html.ce-scrolled #header [data-row],
  html.ce-scrolled #header [data-row] .ct-container { min-height: 64px; }
}

/* ===== Carrousel des 6 avantages : défilement auto ===== */
.elementor-element-de10328 .swiper-wrapper {
  display: flex;
  align-items: stretch;
  gap: 10px;
  width: max-content;
  animation: ceMarquee 28s linear infinite;
}
.elementor-element-de10328 .swiper-wrapper:hover { animation-play-state: paused; }
.elementor-element-de10328 .swiper-slide {
  flex: 0 0 auto;
  width: 190px;
  background: rgba(255,255,255,.10) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  border-radius: 16px;
  padding: 14px 16px;
  backdrop-filter: blur(6px);
}
.elementor-element-de10328 .elementor-testimonial__image img { width: 22px; height: 22px; }
@keyframes ceMarquee {
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(-50%,0,0); }
}
@media (prefers-reduced-motion: reduce) {
  .elementor-element-de10328 .swiper-wrapper { animation: none; }
}

/* ===== Correctifs v2 ===== */
/* Logo : jamais de chevauchement avec le bouton Contact */
#header .site-logo-container img { height: 48px; max-width: 45%; }
@media (max-width: 767px) {
  #header .site-logo-container img { height: 40px; max-width: 45%; }
}
#header .site-branding { max-width: 45%; min-width: 0; }
#header .ct-header-cta,
#header .ct-header-cta .ct-button,
#header .ct-header-trigger { flex: 0 0 auto; white-space: nowrap; }

/* Pilule scrollée : toujours 16px des bords */
html.ce-scrolled #header [data-row] { margin-left: 16px; margin-right: 16px; }

/* Hero : la vidéo couvre tout, pas de voile sombre */
.elementor-element-fe8c5c7 {
  position: relative;
  overflow: hidden;
  /* Supprime l'image de fond poster sombre utilisée par Elementor ; le poster reste dans <video> */
  background-image: none !important;
}
.elementor-element-fe8c5c7 > .elementor-background-video-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0;
}
video.elementor-background-video-hosted {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: none !important;
  margin: 0 !important;
  max-width: none !important;
  /* Éclaircit fortement la vidéo ET le poster pour un hero lumineux */
  filter: brightness(1.35) contrast(1.05) saturate(1.05);
}
/* Voile noir marqué mais moins sombre que l'overlay d'origine */
.elementor-element-fe8c5c7::before,
.elementor-element-fe8c5c7 > .elementor-background-video-container::before,
.elementor-element-fe8c5c7 > .e-con-inner > .elementor-background-video-container::before,
.elementor-element-fe8c5c7 > .elementor-background-slideshow::before,
.elementor-element-fe8c5c7 > .e-con-inner > .elementor-background-slideshow::before,
.elementor-element-fe8c5c7 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.50) !important;
  background-image: none !important;
  z-index: 1;
  pointer-events: none;
}
.elementor-element-fe8c5c7 > *:not(.elementor-background-video-container) { position: relative; z-index: 2; }

/* Trait jaune sous "voyageurs" */
.elementor-element-29b4c0b .elementor-headline-dynamic-wrapper {
  position: relative;
  display: inline-block;
}
.elementor-element-29b4c0b .elementor-headline-dynamic-wrapper::after {
  content: "";
  position: absolute;
  left: 5%;
  bottom: -.18em;
  width: 110%;
  height: .28em;
  background: url("../images/subline.svg") no-repeat center / 100% 100%;
  pointer-events: none;
}
.elementor-element-29b4c0b svg.elementor-headline-svg { display: none !important; }

/* Boutons du hero */
.elementor-element-fe8c5c7 .elementor-button {
  border-radius: 9999px !important;
  padding: 14px 26px;
}
.elementor-element-30b87ea .elementor-button {
  background: rgba(255,255,255,.2) !important;
  backdrop-filter: blur(8px);
  color: #fff !important;
}
.elementor-element-06ab3a9 .elementor-button {
  background: var(--ce-green) !important;
  color: #000 !important;
}

/* Cartes d'avantages */
.elementor-element-de10328 .swiper-slide {
  width: 210px !important;
  height: 110px !important;
  border-radius: 16px !important;
  display: flex;
  align-items: center;
  padding: 0 16px;
}
.elementor-element-de10328 .elementor-testimonial,
.elementor-element-de10328 .elementor-testimonial__header { width: 100%; }
.elementor-element-de10328 .elementor-testimonial__header {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  text-align: left;
}
.elementor-element-de10328 .elementor-testimonial__image { flex: 0 0 auto; margin: 0 !important; }
.elementor-element-de10328 .elementor-testimonial__image img { width: 28px !important; height: 28px !important; }
.elementor-element-de10328 .elementor-testimonial__cite { text-align: left; margin: 0 !important; }
.elementor-element-de10328 .elementor-testimonial__name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  line-height: 1.25;
}

/* ===== Section "Qui sommes nous" : padding + cartes fondateurs ===== */
.elementor-element-2f84acb { padding-left: 16px; padding-right: 16px; box-sizing: border-box; }
@media (min-width: 768px) {
  .elementor-element-2f84acb { padding-left: 32px; padding-right: 32px; }
}

.ce-founder {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  min-height: 320px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 24px 16px;
  text-align: center;
}
.ce-founder .ce-founder-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0 !important;
}
.ce-founder .ce-founder-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.ce-founder::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgba(0,0,0,.35) 0%, rgba(0,0,0,.65) 55%, rgba(201,162,39,.45) 100%);
}
.ce-founder > *:not(.ce-founder-bg) { position: relative; z-index: 2; }
.ce-founder .ce-founder-avatar {
  width: 110px;
  height: 110px;
  border-radius: 9999px;
  object-fit: cover;
  border: 3px solid #fff;
  display: block;
}
.ce-founder .elementor-heading-title { color: #fff !important; font-weight: 700; }
.ce-founder .elementor-widget-image:last-child img,
.ce-founder .ce-founder-signature img {
  width: 70%;
  margin: 0 auto;
  filter: brightness(0) invert(1);
}

/* Bloc "Notre promesse ?" et suivants */
.elementor-element-205c1e7 {
  background: #F3F3F3 !important;
  border-radius: 24px;
  padding: 24px;
}

/* Pas de débordement horizontal */
img, video, iframe, svg { max-width: 100%; }

/* Logo : taille fiable (la contrainte de largeur se fait en vw) */
#header .site-branding { max-width: 45vw; }
#header .site-logo-container { max-width: 45vw; }
#header .site-logo-container img { height: 48px !important; width: auto !important; max-width: 45vw !important; }
@media (max-width: 767px) {
  #header .site-logo-container img { height: 40px !important; }
}

/* Espacement logo / actions du header */
#header .ct-container { gap: 16px; }
@media (max-width: 767px) {
  #header .site-logo-container img { max-width: 40vw !important; }
}

/* Bouton "Nos services" translucide (priorité sur le style Elementor) */
.elementor-element-fe8c5c7 .elementor-element-30b87ea .elementor-button,
.elementor-element-fe8c5c7 .elementor-element-30b87ea .elementor-button:hover,
.backdropedBtn .elementor-button {
  background-color: rgba(255,255,255,.2) !important;
  background-image: none !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.25) !important;
}

/* ===== Correctifs v3 ===== */
/* 1. Header pilule : toujours fixed, 16px des bords, jamais collée aux bords */
#header.ct-header { top: 0; left: 0; right: 0; padding: 16px 0; }
#header [data-row] {
  margin-left: 16px !important;
  margin-right: 16px !important;
  width: auto !important;
  min-height: 64px;
  overflow: hidden;
}
#header [data-row] .ct-container { min-height: 64px; }
@media (min-width: 768px) {
  #header [data-row],
  #header [data-row] .ct-container { min-height: 80px; }
}
html.ce-scrolled #header { padding-top: 16px; }
/* Logo : 36px mobile / 48px desktop, max 35% de la pilule */
#header .site-logo-container img { height: 36px !important; max-width: 35% !important; }
@media (min-width: 768px) {
  #header .site-logo-container img { height: 48px !important; }
}
#header .site-branding, #header .site-logo-container { max-width: 35% !important; }

/* 4. Bouton "Nos services" : translucide + flou */
.elementor-element-30b87ea .elementor-button,
.elementor-element-30b87ea .elementor-button:hover {
  background-color: rgba(255,255,255,.18) !important;
  background-image: none !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-radius: 9999px !important;
  color: #fff !important;
}

/* 5. Carrousel d'avantages : cartes 165x76, fondu sur les bords */
.elementor-element-de10328 .swiper,
.elementor-element-de10328 .swiper-container,
.elementor-element-de10328 .elementor-main-swiper {
  -webkit-mask-image: linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, black 20%, black 80%, transparent 100%);
  overflow: hidden;
}
.elementor-element-de10328 .swiper-wrapper { gap: 16px; align-items: center; }
.elementor-element-de10328 .swiper-slide {
  width: 165px !important;
  height: 76px !important;
  flex: 0 0 165px !important;
  padding: 0 16px !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
}
.elementor-element-de10328 .elementor-testimonial__name {
  font-size: 15px !important;
  line-height: 1.2;
}

/* v3 fix : logo lisible (contrainte en vw, pas en % du conteneur) */
#header .site-branding,
#header .site-logo-container { max-width: 35vw !important; }
#header .site-logo-container img {
  height: 36px !important;
  width: auto !important;
  max-width: 35vw !important;
}
@media (min-width: 768px) {
  #header .site-logo-container img { height: 48px !important; max-width: 30vw !important; }
}
.elementor-element-de10328 .elementor-testimonial__name { font-size: 13px !important; }

/* v3 fix : libellés des cartes d'avantages non tronqués */
.elementor-element-de10328 .elementor-testimonial__cite { flex: 1 1 auto; min-width: 0; }
.elementor-element-de10328 .elementor-testimonial__name {
  display: block !important;
  -webkit-line-clamp: unset !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  font-size: 13px !important;
  line-height: 1.2;
}


/* ===== Placeholders photos / logo + blog masqué ===== */
.ce-photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 220px;
  background: #fff;
  border: 1px dashed rgba(0,0,0,.2);
  border-radius: 24px;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  color: #111;
  text-align: center;
}
.ce-founder-plain {
  background: #fff !important;
  border-radius: 24px;
  padding: 16px;
  gap: 12px;
}
.ce-founder-plain .elementor-heading-title { color: #111 !important; }
.ce-founder-plain img { filter: none !important; }

.ce-logo-placeholder {
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  white-space: nowrap;
  color: #fff;
}
html.ce-scrolled #header .ce-logo-placeholder.default-logo { display: none !important; }
#header .ce-logo-placeholder.sticky-logo { color: #111; }
.site-footer .ce-logo-placeholder,
#footer .ce-logo-placeholder { color: #111; }

/* Section blog supprimée */
.elementor-element-88fe8c1 { display: none !important; }

/* Cartes fondateurs sans photo : fond blanc, placeholder carré */
.elementor-element-8d39276,
.elementor-element-8889c4f {
  background-image: none !important;
  background-color: #fff !important;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 24px;
  padding: 16px !important;
  gap: 12px;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.elementor-element-8d39276 .elementor-heading-title,
.elementor-element-8889c4f .elementor-heading-title { color: #111 !important; }
.elementor-element-8d39276 img,
.elementor-element-8889c4f img { filter: none !important; }
.ce-photo-placeholder {
  aspect-ratio: 1 / 1;
  min-height: 0;
  background: #fff;
  font-size: 15px;
}

.elementor-element-8d39276 > .elementor-widget,
.elementor-element-8889c4f > .elementor-widget { width: 100% !important; }
.elementor-element-8d39276 .elementor-widget-container:has(> .ce-photo-placeholder),
.elementor-element-8889c4f .elementor-widget-container:has(> .ce-photo-placeholder) { width: 100%; }

/* Plus de photos fondateurs : neutralise les overlays de carte */
.elementor-element-8d39276::before, .elementor-element-8d39276::after,
.elementor-element-8889c4f::before, .elementor-element-8889c4f::after {
  display: none !important;
  content: none !important;
}
.elementor-element-8d39276 .elementor-widget-image:last-child img,
.elementor-element-8889c4f .elementor-widget-image:last-child img {
  filter: none !important;
  width: 70%;
  margin: 0 auto;
}

/* ===== Anaïs Prestige Services : logo, doré de marque, WhatsApp, prise de RDV ===== */
:root { --ce-green: #C9A227; --ce-green-dark: #9A7B1B; }

/* Logo Anaïs Prestige Services */
#header .ce-logo,
.site-footer .ce-logo,
#footer .ce-logo {
  height: 44px !important;
  width: auto !important;
  max-width: 40vw !important;
  object-fit: contain;
  display: block;
}
@media (min-width: 768px) {
  #header .ce-logo { height: 56px !important; }
}
/* Version claire du logo quand le header est transparent sur le hero */
#header .ce-logo.default-logo { filter: none; }
#header .ce-logo.sticky-logo { display: none !important; }
html.ce-scrolled #header .ce-logo.sticky-logo { display: block !important; filter: none; }
html.ce-scrolled #header .ce-logo.default-logo { display: none !important; }

/* Vert de marque sur les boutons */
#header .ct-header-cta .ct-button,
.elementor-element-06ab3a9 .elementor-button {
  background: var(--ce-green) !important;
  color: #141414 !important;
}
.elementor-element-06ab3a9 .elementor-button:hover,
#header .ct-header-cta .ct-button:hover { background: var(--ce-green-dark) !important; }

/* Bouton WhatsApp flottant */
.ce-whatsapp {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 9999;
  width: 56px;
  height: 56px;
  border-radius: 9999px;
  background: var(--ce-green);
  color: #141414;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 25px -5px rgba(0,0,0,.3);
  transition: transform .2s ease;
}
.ce-whatsapp:hover { transform: scale(1.06); color: #141414; background: var(--ce-green-dark); }

/* Section Prendre rendez-vous */
.ce-rdv {
  padding: 64px 16px;
  background: #F3F3F3;
  text-align: center;
}
.ce-rdv .e-con-inner { max-width: 1140px; margin: 0 auto; width: 100%; }
.ce-rdv-title {
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: clamp(28px, 5vw, 44px);
  color: #111;
  margin: 0 0 12px;
}
.ce-rdv-accent {
  font-family: "Newsreader", serif;
  font-style: italic;
  font-weight: 700;
  color: var(--ce-green);
}
.ce-rdv-sub {
  font-family: "Outfit", sans-serif;
  font-weight: 400;
  color: #444;
  margin: 0 auto 28px;
  max-width: 620px;
}
.ce-rdv .calendly-inline-widget {
  background: #fff;
  border-radius: 24px;
  overflow: hidden;
}

/* ===== Photo fondatrice ===== */
.ce-founder-photo {
  display: block;
  width: 100%;
  max-width: 320px;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center top;
  border-radius: 24px;
  margin: 0 auto;
}
.elementor-element-8d39276 { text-align: center; }

/* ===== WhatsApp flottant avec numéro ===== */
.ce-whatsapp {
  width: auto;
  height: 56px;
  padding: 0 20px 0 16px;
  gap: 10px;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 15px;
  white-space: nowrap;
  text-decoration: none;
}
.ce-whatsapp-num { color: #141414; }
@media (max-width: 480px) {
  .ce-whatsapp { font-size: 13px; padding: 0 14px 0 12px; height: 50px; }
}

/* ===== Exemple de calendrier (placeholder Calendly) ===== */
.ce-cal {
  background: #fff;
  border-radius: 24px;
  padding: 24px;
  max-width: 720px;
  margin: 0 auto;
  text-align: left;
  font-family: "Outfit", sans-serif;
  box-shadow: 0 10px 30px -12px rgba(0,0,0,.15);
}
.ce-cal-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 16px; font-weight: 700; color: #111;
}
.ce-cal-nav {
  border: none; background: #F3F3F3; width: 34px; height: 34px;
  border-radius: 9999px; cursor: pointer; font-size: 16px; color: #111;
}
.ce-cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.ce-cal-dow { text-align: center; font-size: 12px; color: #888; padding: 4px 0; }
.ce-cal-day {
  border: none; background: #F3F3F3; border-radius: 12px;
  aspect-ratio: 1 / 1; font-size: 14px; color: #111; cursor: pointer;
  font-family: inherit; transition: background .2s ease, color .2s ease;
}
.ce-cal-day:hover { background: rgba(201,162,39,.18); }
.ce-cal-day.is-off { background: transparent; color: #ccc; cursor: default; }
.ce-cal-day.is-selected { background: var(--ce-green); color: #141414; font-weight: 700; }
.ce-cal-slots { margin-top: 20px; }
.ce-cal-slots h4 { margin: 0 0 10px; font-size: 15px; color: #111; font-weight: 700; }
.ce-cal-slot-list { display: flex; flex-wrap: wrap; gap: 10px; }
.ce-cal-slot {
  border: 1px solid var(--ce-green); background: #fff; color: var(--ce-green);
  border-radius: 9999px; padding: 10px 18px; font-family: inherit;
  font-weight: 600; cursor: pointer; font-size: 14px;
}
.ce-cal-slot:hover, .ce-cal-slot.is-selected { background: var(--ce-green); color: #141414; }
.ce-cal-note { margin: 16px 0 0; font-size: 13px; color: #777; }

/* Carte fondatrice : photo carrée centrée */
.elementor-element-8d39276 {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
}
.elementor-element-8d39276 .elementor-widget-image,
.elementor-element-8d39276 .elementor-widget-image .elementor-widget-container {
  width: 100% !important;
  max-width: 320px;
  margin: 0 auto;
}
.elementor-element-8d39276 img.ce-founder-photo {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 24px;
  filter: none !important;
}

/* ===== Secteurs d'intervention : cartes photo ===== */
.sectorsGrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; width: 100%; }
.sectorCard { display: flex; flex-direction: column; background: #fff; border-radius: 24px; overflow: hidden; text-decoration: none; box-shadow: 0 10px 30px -12px rgba(0,0,0,.12); transition: transform .25s ease, box-shadow .25s ease; }
.sectorCard:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -12px rgba(0,0,0,.2); }
.sectorCard-media { display: block; aspect-ratio: 4 / 3; overflow: hidden; }
.sectorCard-media img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 0; transition: transform .4s ease; }
.sectorCard:hover .sectorCard-media img { transform: scale(1.05); }
.sectorCard-body { display: flex; flex-direction: column; gap: 8px; padding: 22px 22px 26px; flex: 1; }
.sectorCard-tag { font-family: "Outfit", sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ce-green-dark); }
.sectorCard-title { margin: 0; font-size: 24px; color: #111; }
.sectorCard-text { margin: 0; color: #444; font-size: 15px; }
.sectorCard--dark { background: #fff; }
.sectorCard--dark .sectorCard-body { justify-content: center; }
.sectorCard--dark .sectorCard-title { color: #111; }
.sectorCard--dark .sectorCard-text { color: #444; }
.sectorCard--dark .sectorCard-tag { color: var(--ce-green-dark); }
.sectorCard-cta { display: inline-flex; align-self: flex-start; margin-top: 10px; background: var(--ce-green); color: #141414; font-weight: 600; font-size: 14px; padding: 10px 20px; border-radius: 9999px; transition: background .2s ease; }
.sectorCard--dark:hover .sectorCard-cta { background: var(--ce-green-dark); color: #fff; }
@media (max-width: 900px) { .sectorsGrid { grid-template-columns: 1fr; } }
