.elementor-kit-5{--e-global-color-primary:#CC907B;--e-global-color-secondary:#442C12;--e-global-color-text:#5B4B3C;--e-global-color-accent:#EAE7D0;--e-global-color-yulcreme:#FAF7F2;--e-global-color-yulblanc:#FFFFFF;--e-global-color-yulrose:#CC907B;--e-global-color-yulolive:#A4A471;--e-global-color-yulolived:#676742;--e-global-color-yulterra2:#B87963;--e-global-color-yulligne:#E4DED4;--e-global-typography-primary-font-family:"Fraunces";--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.15em;--e-global-typography-primary-letter-spacing:-0.3px;--e-global-typography-secondary-font-family:"Poppins";--e-global-typography-secondary-font-size:13px;--e-global-typography-secondary-font-weight:500;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-letter-spacing:2.5px;--e-global-typography-text-font-family:"Poppins";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.7em;--e-global-typography-accent-font-family:"Poppins";--e-global-typography-accent-font-size:15px;--e-global-typography-accent-font-weight:500;background-color:#FAF7F2;color:#5B4B3C;font-family:"Poppins", Sans-serif;font-size:16px;font-weight:400;line-height:1.7em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{background-color:#442C12;font-family:"Poppins", Sans-serif;font-size:15px;font-weight:500;color:#FFFFFF;border-radius:999px 999px 999px 999px;padding:15px 30px 15px 30px;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{background-color:#676742;color:#FFFFFF;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 a{color:#442C12;}.elementor-kit-5 a:hover{color:#676742;}.elementor-kit-5 h1{color:#442C12;font-family:"Fraunces", Sans-serif;font-size:58px;font-weight:400;line-height:1.1em;letter-spacing:-0.5px;}.elementor-kit-5 h2{color:#442C12;font-family:"Fraunces", Sans-serif;font-size:44px;font-weight:400;line-height:1.15em;letter-spacing:-0.3px;}.elementor-kit-5 h3{color:#442C12;font-family:"Fraunces", Sans-serif;font-size:30px;font-weight:400;line-height:1.2em;}.elementor-kit-5 h4{color:#442C12;font-family:"Fraunces", Sans-serif;font-size:23px;font-weight:400;line-height:1.3em;}.elementor-kit-5 h5{color:#442C12;font-family:"Poppins", Sans-serif;font-size:17px;font-weight:600;line-height:1.4em;}.elementor-kit-5 h6{color:#442C12;font-family:"Poppins", Sans-serif;font-size:13px;font-weight:500;text-transform:uppercase;line-height:1.4em;letter-spacing:2px;}.elementor-kit-5 label{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:500;}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{color:#442C12;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#E4DED4;border-radius:12px 12px 12px 12px;padding:13px 16px 13px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1240px;}.e-con{--container-max-width:1240px;--container-default-padding-top:0px;--container-default-padding-right:10px;--container-default-padding-bottom:0px;--container-default-padding-left:10px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-5 h1{font-size:46px;}.elementor-kit-5 h2{font-size:36px;}.elementor-kit-5 h3{font-size:26px;}.elementor-kit-5 h4{font-size:21px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-5 h1{font-size:36px;}.elementor-kit-5 h2{font-size:29px;}.elementor-kit-5 h3{font-size:23px;}.elementor-kit-5 h4{font-size:20px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:10px;--container-default-padding-bottom:0px;--container-default-padding-left:10px;}}/* Start custom CSS *//* ==========================================================
   Yuluka — couche globale (design, responsive, animations)
   Réglages du site > CSS personnalisé. Les couleurs et typos
   restent pilotées par les styles globaux du kit.
   ========================================================== */

:root {
	--yul-ease: cubic-bezier(.22, .61, .36, 1);
	--yul-shadow: 0 18px 40px -22px rgba(68, 44, 18, .35);
	--yul-shadow-sm: 0 8px 22px -14px rgba(68, 44, 18, .35);
}

/* ---------- Socle ---------- */
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
html, body { overflow-x: clip; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
::selection { background: var(--e-global-color-primary, #CC907B); color: #fff; }
:focus-visible { outline: 2px solid var(--e-global-color-primary, #CC907B); outline-offset: 3px; border-radius: 4px; }
img { height: auto; }
.elementor-heading-title { text-wrap: balance; }
.elementor-widget-text-editor p, .elementor-icon-list-text { text-wrap: pretty; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* ---------- Boutons ---------- */
.elementor-button {
	transition: transform .35s var(--yul-ease), box-shadow .35s var(--yul-ease), background-color .25s, color .25s, border-color .25s;
	will-change: transform;
}
.elementor-button:hover { transform: translateY(-2px); box-shadow: 0 12px 26px -14px rgba(68, 44, 18, .45); }
.elementor-button:active { transform: translateY(0); }
.elementor-button .elementor-button-icon { transition: transform .35s var(--yul-ease); }
.elementor-button:hover .elementor-button-icon { transform: translateX(3px); }

/* ---------- Images & cartes ---------- */
[data-elementor-type="wp-page"] .elementor-widget-image img,
[data-elementor-type="wp-post"] .elementor-widget-image img { transition: transform .9s var(--yul-ease), box-shadow .6s var(--yul-ease); }
[data-elementor-type="wp-page"] .elementor-widget-image:hover img,
[data-elementor-type="wp-post"] .elementor-widget-image:hover img { transform: scale(1.02); box-shadow: var(--yul-shadow); }

.e-loop-item > .e-con, .e-loop-item > .e-con-inner { transition: transform .5s var(--yul-ease), box-shadow .5s var(--yul-ease); }
.e-loop-item:hover > .e-con { transform: translateY(-4px); box-shadow: var(--yul-shadow); }

[data-elementor-type="wp-page"] .elementor-widget-icon-box .elementor-icon,
[data-elementor-type="wp-post"] .elementor-widget-icon-box .elementor-icon { transition: transform .5s var(--yul-ease); }
[data-elementor-type="wp-page"] .elementor-widget-icon-box:hover .elementor-icon,
[data-elementor-type="wp-post"] .elementor-widget-icon-box:hover .elementor-icon { transform: translateY(-3px) rotate(-4deg); }

[data-elementor-type="wp-page"] .elementor-widget-image-box .elementor-image-box-img img { transition: transform .5s var(--yul-ease); }
[data-elementor-type="wp-page"] .elementor-widget-image-box:hover .elementor-image-box-img img { transform: translateY(-4px); }

/* Galeries : léger zoom au survol */
.e-gallery-item { overflow: hidden; }
.e-gallery-image { transition: transform 1s var(--yul-ease) !important; }
.e-gallery-item:hover .e-gallery-image { transform: scale(1.04); }

/* ---------- En-tête ---------- */
.elementor-location-header .elementor-sticky--effects {
	box-shadow: 0 10px 30px -20px rgba(68, 44, 18, .45);
	background-color: rgba(250, 247, 242, .94) !important;
}
.elementor-location-header .e-con { transition: padding .35s var(--yul-ease), box-shadow .35s, background-color .35s; }
.elementor-location-header .elementor-widget-image img { transition: width .35s var(--yul-ease); }
.elementor-location-header .elementor-nav-menu--dropdown {
	box-shadow: 0 24px 40px -24px rgba(68, 44, 18, .35);
	border-top: 1px solid rgba(68, 44, 18, .08);
	max-height: calc(100vh - 70px);
	overflow-y: auto;
}
.elementor-location-header .elementor-nav-menu--main .sub-menu {
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 24px 50px -24px rgba(68, 44, 18, .4);
	border: 1px solid rgba(68, 44, 18, .06);
	padding: 8px 0;
}
.elementor-location-header .elementor-menu-toggle { border-radius: 999px; transition: background-color .25s; }

/* ---------- Pied de page ---------- */
.elementor-location-footer a { transition: color .25s; }
.elementor-location-footer iframe { display: block; filter: grayscale(.35) sepia(.12); }

/* ---------- Formulaires ---------- */
.elementor-field-group .elementor-field:not(.elementor-select-wrapper) { transition: border-color .25s, box-shadow .25s; }
.elementor-field-group .elementor-field:focus { border-color: var(--e-global-color-primary, #CC907B) !important; box-shadow: 0 0 0 3px rgba(164, 164, 113, .25); outline: none; }

/* ---------- Carrousels ---------- */
.swiper-pagination-bullet { transition: width .35s var(--yul-ease), background-color .25s; }
.swiper-pagination-bullet-active { width: 22px !important; border-radius: 99px !important; background: var(--e-global-color-primary, #CC907B) !important; }
.elementor-swiper-button { transition: transform .25s var(--yul-ease), opacity .25s; }
.elementor-swiper-button:hover { transform: translateY(-50%) scale(1.08); }

/* ---------- Mobile & tablette ---------- */
@media (max-width: 1024px) {
	.elementor-widget-heading .elementor-heading-title br { display: none; }
}
@media (max-width: 767px) {
	.elementor-button { white-space: normal; text-align: center; }
	.elementor-widget-text-editor, .elementor-icon-list-text, .elementor-heading-title { overflow-wrap: break-word; }
	iframe { max-width: 100%; }
	.elementor-location-footer .elementor-nav-menu--layout-horizontal .elementor-nav-menu { justify-content: center; flex-wrap: wrap; }
}

/* ==========================================================
   Animations — apparition au défilement (CSS natif, sans JS).
   Les navigateurs sans « animation-timeline » affichent tout
   normalement ; rien ne bouge si l'utilisateur a demandé moins
   d'animations.
   ========================================================== */
@keyframes yul-rise { from { opacity: 0; transform: translate3d(0, 32px, 0); } to { opacity: 1; transform: none; } }
@keyframes yul-fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes yul-zoom { from { opacity: 0; transform: scale(.94); } to { opacity: 1; transform: none; } }
@keyframes yul-line { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes yul-hero-bg { from { transform: scale(1.08); } to { transform: scale(1); } }

@media (prefers-reduced-motion: no-preference) {

	/* Entrée du premier bloc de la page (hero) au chargement */
	:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-con:first-child .elementor-widget {
		animation: yul-rise 1s var(--yul-ease) both;
	}
	:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-con:first-child .elementor-widget:nth-child(2) { animation-delay: .12s; }
	:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-con:first-child .elementor-widget:nth-child(3) { animation-delay: .24s; }
	:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-con:first-child .elementor-widget:nth-child(4) { animation-delay: .36s; }
	:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-con:first-child .elementor-widget:nth-child(n+5) { animation-delay: .48s; }

	@supports (animation-timeline: view()) {
		:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"], .elementor-location-footer) > .e-con:not(:first-child) :is(
			.elementor-widget-heading, .elementor-widget-text-editor, .elementor-widget-button,
			.elementor-widget-icon-list, .elementor-widget-icon-box, .elementor-widget-image-box,
			.elementor-widget-form, .elementor-widget-video, .elementor-widget-nested-tabs,
			.elementor-widget-loop-grid, .elementor-widget-loop-carousel, .elementor-widget-icon
		):not(.swiper *) {
			animation: yul-rise linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 38%;
		}
		:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) > .e-con:not(:first-child) :is(
			.elementor-widget-image, .elementor-widget-gallery, .elementor-widget-image-carousel
		):not(.swiper *) {
			animation: yul-zoom linear both;
			animation-timeline: view();
			animation-range: entry 0% entry 45%;
		}
		:is([data-elementor-type="wp-page"], [data-elementor-type="wp-post"]) .elementor-divider-separator {
			animation: yul-line linear both;
			animation-timeline: view();
			animation-range: entry 10% entry 60%;
		}
		.elementor-divider-separator { transform-origin: left center; }
		.elementor-divider-separator { border-color: #CC907B; }
		.elementor-divider[style*="center"] .elementor-divider-separator { transform-origin: center; }
	}
}

/* ==========================================================
   Composants de conversion (cartes, carrousel mobile, CTA)
   ========================================================== */
.yul-card { overflow: hidden; transition: transform .55s var(--yul-ease), box-shadow .55s var(--yul-ease), border-color .3s; text-decoration: none; }
.yul-card:hover { transform: translateY(-6px); box-shadow: 0 28px 50px -30px rgba(68, 44, 18, .45); border-color: #E7CFC5 !important; }
.yul-card-img { overflow: hidden; position: relative; isolation: isolate; }
.yul-card-img::before { content: ""; position: absolute; inset: 0; background: inherit; background-size: cover; background-position: center; transition: transform 1.1s var(--yul-ease); z-index: -1; }
.yul-card:hover .yul-card-img::before { transform: scale(1.07); }
.yul-card:hover .yul-arrow { transform: translateX(5px); }
a.yul-card, a.yul-card:hover { color: inherit; }
.elementor-widget-text-editor a, .elementor-widget-theme-post-content a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #CC907B; }

@media (max-width: 767px) {
	.yul-cards {
		overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
		margin-inline: -20px !important; padding: 0 0 8px !important; scroll-padding-inline: 20px;
		scrollbar-width: none;
	}
	.yul-cards::-webkit-scrollbar { display: none; }
	.yul-cards > .yul-card { flex-shrink: 0; scroll-snap-align: start; }
	.yul-cards > .yul-card:first-child { margin-left: 20px !important; }
	.yul-cards > .yul-card:last-child { margin-right: 20px !important; }
}
@media (max-width: 1024px) { body { padding-bottom: 72px; } }

/* Barre d'action mobile */
.yul-mobilebar { box-shadow: 0 -12px 30px -18px rgba(68, 44, 18, .45); }
.yul-mobilebar .elementor-button { width: 100%; justify-content: center; }/* End custom CSS */