/* 
Theme Name: École Nationale des Fleuristes
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Matthieu Jalbert
Author URI: https://www.matthieu-jalbert.fr/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/
@font-face {
    font-family: 'Fraunces';
    src: url('./fonts/Fraunces-Italic-VariableFont_SOFT,WONK,opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: italic;
    font-display: swap;
}
h1 i,h2 i,h3 i {
	font-family: 'Fraunces';
}
@media (max-width: 767px) {
	.center-mobile-expert .elementor-counter-title {
		text-align: center;
	}
}
.img-max-width-none img {
	max-width: none;
}
#join-widget-accueil-enf .join-widget-element-label {
	height: 10px;
}
.center-number .elementor-counter-title {
	text-align: center;
}
.elementor-widget-n-accordion .e-n-accordion-item:not(:last-child) {
  border-bottom: 1px solid var(--e-global-color-primary);
}
.elementor-widget-n-accordion .e-n-accordion-item[open] {
  border-bottom: none;
}
.no-number .elementor-counter-number {
	display: none;
}
.no-number .elementor-counter-number-suffix {
	text-align: center;
}
/* BTN FIXE */
.div-btn-fix {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--e-global-color-text);
  border-radius: 50px;
  margin-bottom: 0.7rem;
  transition: 0.2s linear;
}
.div-btn-fix:hover {
 background: #D07A6F;
}
.btn-fix {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.btn-fix svg {
  display: block; /* évite les décalages inline */
}
/* HEADER */
#header-site {
	background: rgba(120, 125, 118, 0.55);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}
.breadcrumbs-content .e-con-inner {
	position: relative;
}
/* MOBILE MEGAMENU*/
#megamenumobile .e-n-accordion-item-title-icon svg path {
	fill: var(--n-accordion-icon-normal-color) !important;
}
/* MEGAMENU*/
.list-icone-menu .elementor-icon-list-icon,.list-icone-menu .elementor-icon-box-icon {
	background: #FFEDE5;
	border-radius: 10px;
	width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.list-icone-menu .elementor-icon-list-icon svg,.list-icone-menu .elementor-icon-box-icon svg {
	width: 24px;
	height: 24px;
	margin-right: 0 !important;
}
#header-site .list-icone-menu .elementor-icon-list-text {
	padding-inline-start: 16px;
}
.list-icone-menu .elementor-icon-list-item a {
	display: inline-flex;
	align-items: center;
	gap: 0;
}

.list-icone-menu .elementor-icon-list-item a::after {
	content: '';
	width: 14px;
	height: 14px;
	background: url('./img/arrow-megamenu.svg') no-repeat center;
	background-size: contain;
	opacity: 0;
	transform: translateX(-5px);
	transition: all 0.25s ease;
	margin-left: 24px;
}

.list-icone-menu .elementor-icon-list-item a:hover::after {
	opacity: 1;
	transform: translateX(0);
}
@media (max-width: 1299px) {
	.img-endf-megamenu .elementor-image-box-wrapper {
		flex-direction: column !important;
	}
}
@media (min-width: 992px) {
	.menu-site-header .e-n-menu-content .content-menu-sub {
		max-width: 98%;
		margin: 0 auto;
	}
}
@media (min-width: 1300px) {
	.menu-site-header .e-n-menu-content .content-menu-sub {
		max-width: 1300px;
		margin: 0 auto;
	}
}
/* MOBILE FOOTER */
.menu-footer-mobile .elementor-nav-menu {
	padding-bottom: 1rem;
}
/* BTN ARROW SECONDARY */
.btn-fill a {
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: color 0.3s ease;
}
.btn-fill a::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: var( --e-global-color-secondary );
	transform: scaleY(0);
	transform-origin: bottom;
	transition: transform 0.3s ease;
	z-index: -1;
}
.btn-fill a:hover::before {
	transform: scaleY(1);
}

/* BTN ARROW WHITE */
.btn-arrow a {
	position: relative;
	display: inline-block;
	top: -5px;
}
.btn-arrow a:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 2px;
	background: #fff;
	width: calc(100% - 22px);
	transition: width 0.3s ease;
}
.btn-arrow.btn-arrow-green a:after {
	background: var(--e-global-color-primary);
	width: 100%;
	transition: transform 0.3s ease;
	transform-origin: left center;
}
.btn-arrow.btn-arrow-green a svg path {
	fill: var(--e-global-color-primary) !important;
}
.btn-arrow.btn-arrow-green .elementor-button-content-wrapper {
	gap: 0;
	transition: gap 0.3s ease;
}
.btn-arrow.btn-arrow-green a .elementor-button-icon {
	width: 0;
	min-width: 0;
	opacity: 0;
	overflow: hidden;
	transform: translateX(-6px);
	transition: width 0.3s ease, opacity 0.3s ease, transform 0.3s ease;
}
.btn-arrow.btn-arrow-green a:hover .elementor-button-content-wrapper {
	gap: 8px;
}
.btn-arrow.btn-arrow-green a:hover .elementor-button-icon {
	width: 14px;
	min-width: 14px;
	opacity: 1;
	transform: translateX(0);
}
.btn-arrow a:hover:after {
	width: 100%;
}
.btn-arrow a .elementor-button-icon {
	width: 14px;
	min-width: 14px;
	opacity: 0;
	transform: translateX(-6px);
	transition: opacity 0.25s ease, transform 0.25s ease;
}
.btn-arrow a:hover .elementor-button-icon {
	opacity: 1;
	transform: translateX(0);
}
.btn-arrow .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 10px;
}
/* BTN ARROW TOP WHITE */
.btn-arrow-top .elementor-button {
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: color 0.3s ease;
}
.btn-arrow-top .elementor-button::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: var(--e-global-color-primary);
	transform: scaleY(0);
	transform-origin: bottom;
	transition: transform 0.3s ease;
	z-index: -1;
}
.btn-arrow-top .elementor-button:hover::before {
	transform: scaleY(1);
}
.btn-arrow-top .elementor-button:hover {
	color: #fff;
}
.btn-arrow-top .elementor-button-content-wrapper {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.btn-arrow-top .elementor-button-icon {
	background: #D07A6F;
	border-radius: 50px;
	padding: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s ease;
}
.btn-arrow-top .elementor-button:hover .elementor-button-icon {
	background: #346A65;
}
.btn-arrow-top-header .elementor-button-icon {
	padding: 0.62rem;
}
.btn-arrow-top-header svg {
	width: 0.8em;
}
/* BTN ARROW TOP GREEN */
.btn-arrow-top.btn-arrow-green .elementor-button::before {
	background: #346A65;
}
.btn-arrow-top.btn-arrow-green:hover .elementor-button-icon {
	background: var(--e-global-color-primary);
}
/* BTN ARROW TOP PINK HOVER */
.btn-arrow-top.btn-arrow-pink-hover .elementor-button::before {
	background: #D07A6F;
}
.btn-arrow-top.btn-arrow-pink-hover .elementor-button:hover .elementor-button-icon {
    background: #1B4949;
}
.btn-arrow-top.btn-arrow-green:hover .elementor-button-icon {
	background: var(--e-global-color-primary);
}
/* CARD FORME VOUS */
.hover-card {
  position: relative;
  overflow: hidden;
}
.hover-card .elementor-image-box-wrapper {
  position: relative;
}
.hover-card .elementor-image-box-img img {
  display: block;
  width: 100%;
  height: auto;
}
.hover-card .elementor-image-box-content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 25px;
  padding: 0 32px;
  margin: 0;
  transition: transform 0.5s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.hover-card .elementor-image-box-title {
  margin-bottom: 0;
}
.hover-card .elementor-image-box-description {
  margin-bottom: 0;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transform: translateY(15px);
  transition:
    opacity 0.85s ease,
    transform 0.85s ease,
    max-height 0.85s ease;
}
.hover-card:hover .elementor-image-box-content {
  transform: translateY(0);
}
.hover-card:hover .elementor-image-box-description {
  opacity: 1;
  max-height: 100px;
  transform: translateY(0);
  transition-delay: 0.1s;
}
.hover-card .elementor-image-box-wrapper {
  position: relative;
}
.hover-card .elementor-image-box-wrapper::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(0, 0, 0, 0) 30.35%,
    rgba(0, 0, 0, 0.4) 85.27%
  );
  pointer-events: none;
  z-index: 1;
  height: 99%;
}
.hover-card .elementor-image-box-content {
  z-index: 2;
  position: absolute;
}
.fade-wrapper {
	display: grid;
	overflow: hidden;
}

.fade-wrapper .fade-item {
	grid-area: 1 / 1;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 1.2s ease;
	z-index: 1;
}

.fade-wrapper .fade-item.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 2;
}
/* Fallback avant init JS : au moins le 1er item reste visible */
.fade-wrapper:not([data-fade-init="true"]) .fade-item:first-child {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 2;
}

.fade-wrapper .fade-item.active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 2;
}

#megamenumobile .fade-wrapper {
	display: grid !important;
	width: 100%;
	position: relative;
}

#megamenumobile .fade-wrapper .fade-item {
	grid-area: 1 / 1;
}

#megamenumobile .fade-wrapper[data-fade-init="true"] .fade-item:not(.active) {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

#megamenumobile .fade-wrapper .fade-item.active {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	z-index: 2;
}
/* ARCHIVE POST*/
.archive-publication .elementor-post__text {
	padding: 32px;
	background: #fff;
}
/* SEOPress — icône cookies sans JS (bouton uniquement) */
#seopress-user-consent-edit {
	font-size: 0;
	line-height: 0;
	min-width: auto;
	padding: 0.5rem;
}

#seopress-user-consent-edit::before {
	content: '';
	display: inline-block;
	width: 22px;
	height: 22px;
	background-color: currentColor;
	-webkit-mask: url('./img/cookie-icon.svg') no-repeat center / contain;
	mask: url('./img/cookie-icon.svg') no-repeat center / contain;
}

.elementor-location-floating_buttons {
	position: fixed;
	z-index: 1000;
	right: 60px;
    top: 50%;
}




