/*
 Theme Name: Hello Child
 Template: hello-elementor
 Version: 1.0
*/


body {
  position: relative;
  overflow-x: hidden;  
}

h1, h2, h3, h4, h5, h6{
	text-wrap: balance;
}
.content h1, .content h2, .content  h3, .content h4, .content h5, .content h6{ 
	text-wrap: balance;
	margin: 2rem 0rem!important;
}
.truncate-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2; /* Nombre de lignes max */
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	max-height: 3em; /* Ajustez selon la hauteur de ligne */
	line-height: 1.5em; /* Ajustez selon votre design */
	white-space: normal;
}
.truncate-3 {
	display: -webkit-box;
	-webkit-line-clamp: 3; /* Nombre de lignes max */
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	max-height: 5em; /* Ajustez selon la hauteur de ligne */
	line-height: 1.5em; /* Ajustez selon votre design */
	white-space: normal;
}
.elementor-counter-number-suffix{
	display: block;
	font-size: 12px;
	color: #0B0D11;
	font-weight: bold;
	margin-left: 16px;
}
.animate__slower{
  --animate-duration: 3s!important;
}

 /* Improved Animations Stylesheet from https://element.how/elementor-improve-entrance-animations/ , works for the 'fade' animations */
 
@keyframes fadeDown {
	from {
		opacity: 0;
		transform: translate3d(0,-30px,0)
	}

	to {
		opacity: 1;
		transform: none
	}
}
.elementor-element.fadeInDown {
	animation-name: fadeDown
}

@keyframes fadeLeft {
	from {
		opacity: 0;
		transform: translate3d(-30px,0,0)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.elementor-element.fadeInLeft {
	animation-name: fadeLeft
}

@keyframes fadeRight {
	from {
		opacity: 0;
		transform: translate3d(30px,0,0)
	}

	to {
		opacity: 1;
		transform: none
	}
}

.elementor-element.fadeInRight {
	animation-name: fadeRight
}
@keyframes fadeUp {
	from {
		opacity: 0;
		transform: translate3d(0,30px,0)
	}

	to {
		opacity: 1;
		transform: none
	}
}
.elementor-element.fadeInUp {
	animation-name: fadeUp
}
.background-blur {
  backdrop-filter: blur(32px)!important; /* Applique un flou de 3px */
  -webkit-backdrop-filter: blur(32px)!important; /* Pour la compatibilité avec Safari */ 
}
.e-con-inner>.elementor-element{
	height: 100%;
}

strong{
	font-weight: 700;
}
.elementor-2 .elementor-element.elementor-element-53167d8 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title {
	position: relative;
	display: inline-block;
}

.elementor-2 .elementor-element.elementor-element-53167d8 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title::before {
	content: '';
	position: absolute;
	width: 0;
	height: 2px;
	bottom: 0;
	left: 50%;
	background-color: #2F0437;
	transition: all 0.3s ease-in-out;
	transform: translateX(-50%);
}

.elementor-2 .elementor-element.elementor-element-53167d8 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title:hover::before {
	width: 50%;
}

/* Lien actif : garder la bordure visible */
.elementor-2 .elementor-element.elementor-element-53167d8 > .elementor-widget-container > .e-n-menu > .e-n-menu-wrapper > .e-n-menu-heading > .e-n-menu-item > .e-n-menu-title.e-current::before {
	width: 70%;
	background-color: #2F0437;
}
.heart-icon {
	color: #000; /* Ou la couleur exacte de ta police */
	font-size: inherit; /* Garde la taille de la police du texte */
}
.elementor-button:hover .elementor-button-icon {
	transform: translateX(10px); /* Décale l'icône de 15px vers la droite */
	transition: transform 0.3s ease; /* Transition fluide sur 0.3 secondes */
}

.elementor-button .elementor-button-icon {
	transition: transform 0.3s ease; /* Assure une transition fluide même sans survol */
}
.ue-grad-btn-wrapper:hover .ue-gradient-border-icon {
	transform: translateX(10px); /* Décale l'icône de 15px vers la droite */
	transition: transform 0.3s ease; /* Transition fluide sur 0.3 secondes */
}

.ue-gradient-border-icon {
	transition: transform 0.3s ease; /* Assure une transition fluide même sans survol */
}

/* Effet au survol de l'icône lorsque l'accordéon est fermé */
.e-n-accordion-item-title:hover .e-closed {
	transform: translateX(10px); /* Décale l'icône de 15px vers la droite */
	transition: transform 0.3s ease; /* Transition fluide */
}

/* Effet au survol de l'icône lorsque l'accordéon est ouvert */
.e-n-accordion-item-title:hover .e-opened {
	transform: translateX(10px); /* Décale l'icône de 15px vers la droite */
	transition: transform 0.3s ease; /* Transition fluide */
}

/* Transition initiale pour l'état de base de l'icône fermée */
.e-closed {
	transition: transform 0.3s ease; /* Assure une transition fluide même sans survol */
}

/* Transition initiale pour l'état de base de l'icône ouverte */
.e-opened {
	transition: transform 0.3s ease; /* Assure une transition fluide même sans survol */
}
:focus-visible {
	outline: -webkit-focus-ring-color auto 0px!important;
}
/* Contexte */
.ue-dropdown-field { position: relative; }

/* Le label titre devient flottant au-dessus du select */
.ue-dropdown-field > .ue-dropdown-field-label {
  position: absolute;
  left: 0px;              /* ajuste selon le padding de ton input */
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  transition: top .18s ease, transform .18s ease, opacity .18s ease;
  /* pas de modif de font/couleur */
}

/* Au focus dans le champ -> remonte le label */
.ue-dropdown-field:focus-within > .ue-dropdown-field-label {
  top: 0;
  transform: translateY(-70%);
}

/* Quand une vraie valeur est choisie -> reste en haut */
.ue-dropdown-field:has(select:valid) > .ue-dropdown-field-label {
  top: 0;
  transform: translateY(-70%);
}
:root :where(.wp-element-button, .wp-block-button__link){
	background: #DCE6E8;
	margin-top: 1rem;
	margin-left: 1rem;
	border-radius: 0 25px 0 0;
}
.wp-block-media-text {
	margin: 1rem 0;
}
.e-loop-item>a{
	height: 100%;
}
.fasd-breadcrumbs .uc-breadcrumbs-list {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  color: white;
}

.fasd-breadcrumbs .uc-breadcrumbs-list li {
  display: flex;
  align-items: center;
  list-style-type: none;
}

.fasd-breadcrumbs .uc-item-title {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.fasd-breadcrumbs .uc-item-title-inner {
  display: flex;
  align-items: center;
  font-weight: 700; /* gras */
}

.fasd-breadcrumbs .ue-home-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: .4em;
}

.fasd-breadcrumbs .ue-home-icon svg {
  width: 1em;
  height: 1em;
}

.fasd-breadcrumbs .uc-breadcrumb-separator {
  margin: 0 .6em;
}
.e-loop-item{
	height: 100%!important;
}
:root :where(.wp-element-button, .wp-block-button__link){
	margin-left: 0;
}

.wp-singular:not(.home) .elementor-motion-effects-container 
> .elementor-motion-effects-layer::before {
  background-image: radial-gradient(
	circle 100vw at 20% -20%,          /* cercle de 260px, collé à gauche, centré verticalement */
	var(--e-global-color-primary) 0,
	var(--e-global-color-primary) 40%,
	#00617300 70%
  ) !important;
  background-repeat: no-repeat;       /* important pour ne pas répéter le rond */
}
@media (max-width: 767px) {
  .e-n-menu-content.e-active{
	  background: rgba(255, 255, 255, 0.85);
	  backdrop-filter: blur(32px)!important; /* Applique un flou de 3px */
		-webkit-backdrop-filter: blur(32px)!important; /* Pour la compatibilité avec Safari */ 
  }
  .e-n-menu-content.e-active div{
	  width: 100%!important;
  }
	body.wp-singular:not(.home) [data-dce-background-image-url] {
		background-image: none !important;
		background-color: #006173 !important;
	  }
	
	  body.wp-singular:not(.home) [data-dce-background-image-url]::before,
	  body.wp-singular:not(.home) [data-dce-background-image-url] .elementor-motion-effects-layer {
		background-image: none !important;
		background-color: #006173 !important;
	  }
}
/* Style global tableau */
table {
  width: 100%;
  border-collapse: separate;      /* pour que le border-radius soit bien pris */
  border-spacing: 0;
  font-size: 15px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #ffffff;      /* bordure blanche */
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(0, 96, 140, 0.18); /* halo bleu subtil */
}

/* Cellules */
table th,
table td {
  padding: 0.8rem 1rem;
  text-align: left;
  border-bottom: 1px solid #e3ecef;
  color: #003b4a;
}

/* En-têtes */
table th {
  background: #f1f7f9;
  font-weight: 600;
}

/* Séparateur entre "semaine" et "weekend" */
table th[colspan="3"]:nth-child(1) {
  border-right: 2px solid #d9e8ec;
}
table th[colspan="3"]:nth-child(2) {
  border-left: 2px solid #d9e8ec;
}

/* Lignes impaires pour lisibilité */
table tbody tr:nth-child(odd) {
  background: #fafdfd;
}

/* Hover */
table tbody tr:hover {
  background: #e9f4f7;
  transition: 0.2s;
}

/* Colonnes montants centrés */
table td:nth-child(2),
table td:nth-child(3),
table td:nth-child(5),
table td:nth-child(6) {
  text-align: center;
}

/* Responsive */
@media (max-width: 768px) {
  table {
	display: block;
	overflow-x: auto;
	white-space: nowrap;
	border-radius: 12px;
  }
}

