/* Correctif : le menu mobile en plein ecran deborde la largeur de l'ecran sur certaines pages (calcul de largeur casse par un element parent transforme). On force la largeur reelle de l'ecran. */
.ast-mobile-popup-drawer.ast-mobile-popup-full-width .ast-mobile-popup-inner {
	  max-width: 100vw !important;
	  width: 100vw !important;
}
html, body {
	  overflow-x: hidden !important;
}


/* Photos des cartes prestations (page Services) — alignees comme la maquette : pleine largeur, collees en bas du bloc couleur, cartes de meme hauteur */
.bulle-service-thumb.elementor-absolute {
	  position: relative !important;
	  top: auto !important; left: auto !important; right: auto !important; bottom: auto !important;
}
.bulle-service-thumb.elementor-widget-image {
	  width: 100% !important;
	  margin: 0 !important;
	  margin-top: auto !important;
	  padding: 0 !important;
	  align-self: stretch;
}
.bulle-service-thumb a {
	  display: block !important;
	  width: 100% !important;
	  position: relative !important;
	  height: 260px !important;
	  overflow: hidden !important;
	  line-height: 0;
}
.bulle-service-thumb img {
	  width: 100% !important;
	  height: 260px !important;
	  object-fit: cover !important;
	  display: block !important;
}


/* Hook visuel facon maquette : bouton "EN SAVOIR PLUS" centre sur la photo */
.bulle-service-thumb a::after {
	  content: "EN SAVOIR PLUS";
	  position: absolute;
	  top: 50%; left: 50%;
	  transform: translate(-50%, -50%);
	  border: 1.5px solid rgba(255,255,255,0.95);
	  color: #fff;
	  font-family: "Instrument Sans", sans-serif;
	  font-size: 13px; font-weight: 600; letter-spacing: 0.08em;
	  padding: 11px 22px; border-radius: 40px;
	  background: rgba(0,0,0,0.12);
	  backdrop-filter: blur(2px);
	  pointer-events: none;
	  opacity: 0;
	  transition: opacity 0.3s ease;
	  line-height: 1;
	  white-space: nowrap;
}
.bulle-service-thumb:hover a::after { opacity: 1; }
.bulle-service-thumb:hover img { transform: scale(1.04); transition: transform 0.5s ease; }
.bulle-service-thumb a { cursor: pointer; }

/* Bande photo (3 images) sur les pages de prestation individuelles */
.bulle-band-photo.elementor-widget-image,
.bulle-band-photo .elementor-widget-container {
	  height: 380px !important;
	  overflow: hidden !important;
}
.bulle-band-photo img {
	  width: 100% !important;
	  height: 380px !important;
	  object-fit: cover !important;
}
@media (max-width: 767px) {
	  .bulle-band-photo.elementor-widget-image,
	  .bulle-band-photo .elementor-widget-container { height: 220px !important; }
	  .bulle-band-photo img { height: 220px !important; }
}

/* Listes "Ce qui est inclus" / "Options disponibles" : petite ligne d'accent a gauche de chaque item pour aerer et guider l'oeil */
.bulle-nice-list ul {
	  list-style: none !important;
	  margin: 0 !important;
	  padding: 0 !important;
}
.bulle-nice-list ul li {
	  position: relative;
	  padding: 0.6em 0 0.6em 1.3em !important;
	  margin-bottom: 0.5em;
	  border-left: 2px solid #9EB0DB;
}

/* Renouvellement de voeux & Fete de divorce : photos un peu plus hautes que les autres */
.bulle-thumb-tall a { height: 420px !important; min-height: 420px !important; }
.bulle-thumb-tall img { height: 420px !important; min-height: 420px !important; }

/* Sections standard : meme hauteur pour tous les blocs, photo collee en bas (vide au-dessus si texte plus court) */
.elementor-element-7547d34,
.elementor-element-40d3ba5,
.elementor-element-b32b4d1,
.elementor-element-59aa15b,
.elementor-element-45ad5a4,
.elementor-element-4ba09ed {
	  min-height: 665px !important;
}
.e-con .bulle-service-thumb.elementor-widget-image {
	  margin-top: auto !important;
}

/* Nouveaux chapitres : les deux blocs image (Renouvellement & Divorce) exactement la meme hauteur */
.elementor-element-33e7146,
.elementor-element-33a1f83 {
	  min-height: 825px !important;
}

/* Page Portfolio : galeries en grille uniforme, tuiles pleine largeur */
.bulle-gallery .gallery {
	  display: grid !important;
	  grid-template-columns: repeat(3, 1fr) !important;
	  gap: 10px !important;
	  margin: 0 !important;
}
.bulle-gallery .gallery-item,

.bulle-gallery.elementor-widget-image-gallery .gallery-item img,
.bulle-gallery .gallery-item .gallery-icon img {
	  width: 100% !important;
	  max-width: 100% !important;
	  height: 300px !important;
	  object-fit: cover !important;
	  border: none !important;
	  border-radius: 10px !important;
	  display: block !important;
	  transition: transform .4s ease, filter .4s ease;
	  cursor: pointer;
}
.bulle-gallery .gallery-item img:hover { transform: scale(1.03); filter: brightness(1.05); }
@media (max-width: 767px) {
	  .bulle-gallery .gallery { grid-template-columns: repeat(2, 1fr) !important; gap: 6px !important; }
	  .bulle-gallery .gallery-item img { height: 190px !important; }
}
