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

/* Taille de base par défaut (desktop) */
html {
	font-size: 16px; /* 1rem = 16px */
}

/* Tablette */
@media (max-width: 1024px) {
	html {
		font-size: 14px; /* 1rem = 14px */
	}
}

/* Mobile */
@media (max-width: 768px) {
	html {
		font-size: 12px; /* 1rem = 12px */
	}
}

body {
	transition: background-position 0.15s ease-out;
}

body a { color: var(--e-global-color-primary); }
body a:hover { color: #FFF; }

.lcdd-primary-button a, #lcdd-btn-contact-form {
	background: linear-gradient(258.4deg, #FFC972, #EE7C00, #EF5E03, #D44001);
	background-size: 200% 200%;
	background-position: left center; 
	transition: background-position 0.3s ease;
}
.lcdd-primary-button a:hover, #lcdd-btn-contact-form:hover { background-position: right center; }

.lcdd-outline-button a, #btn-load-more {
	background-color: #7C7C7C20 !important;
	border: 1px solid #7C7C7C40;
}
.lcdd-outline-button a:hover, #btn-load-more:hover { 
	background: transparent !important;
	border: 1px solid #7C7C7C40;
}
.lcdd-outline-button a:hover span, #btn-load-more:hover span{ 
	background: linear-gradient(90deg, #EF5E03 0%, #EE7C00 62.98%, #FFBE0A 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text; 
	color: transparent; 
}

.gradient-text span {
	background: linear-gradient(90deg, #EF5E03 0%, #EE7C00 62.98%, #FFBE0A 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text; 
	color: transparent;
}


.realisation-categories {
	display: flex;
	gap: 1rem 2rem;
	flex-wrap: wrap;
	justify-content: center;
}
.realisation-categories .categorie {
	border: 1px solid #FFFFFF50;
	padding: 6px 10px;
	border-radius: 5px;
	font-size: 0.75rem;
	box-shadow: 0px 0px 10px 5px rgba(252, 181, 104, 0.2);
}

.related-posts { display: flex; justify-content: center; }

.related-posts-grid { display: flex; flex-direction: column; gap: 3rem; justify-content: space-between; width: fit-content; }

.related-post-item { width: 100%; display: flex; flex-direction: row; gap: 2rem; justify-content: bottom; width: fit-content; align-items: center; }

.related-post-item:hover .related-post-thumb { transform: scale(1.05); }

.related-post-thumb { width: 200px !important; height: fit-content !important; border-radius: 10px !important; transition: transform 0.5s ease; border: 1px solid #FFFFFF3B !important; box-shadow: 0px 0px 15px 3px rgba(135.00000000000003, 135.00000000000003, 255, 0.2) !important;  }

.related-post-category {
	font-family: "Unbounded", Sans-serif !important;
	display: block;
	font-weight: 500;
	font-size: 0.75rem  !important;
	text-transform: uppercase;
	background: linear-gradient(90deg, #EF5E03 0%, #EE7C00 62.98%, #FFBE0A 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
	width: fit-content;
}

.related-post-title {
	font-family: "Unbounded", Sans-serif;
	font-size: 1.25rem;
	font-weight: 400;
	line-height: 1.2em;
	text-decoration: none;
	color: #FFF;
	margin-bottom: 0.5rem;
}

.related-post-date { 
	font-family: "Unbounded", Sans-serif !important;
	display: block;
	font-weight: 300;
	font-size: 0.75rem  !important;
	color: #858585; 
}

@media (max-width: 768px) {
	.related-post-thumb {
		width: 150px !important;
	}
}


.related-realisations-grid { display: flex; flex-direction: row; gap: 3rem; justify-content: center; }

.related-realisation-item { background: #161616; padding: 2rem; border-radius: 30px; border: 1px solid #7C7C7C40; }
.related-realisation-item:hover { border: 1px solid #EF7D00; box-shadow: 0px 0px 25px 5px rgba(237.99999999999997, 124.00000000000003, 0, 0.29); }
.related-realisation-link { display: flex; flex-direction: column; gap: 1rem; }

.divider-related-realisation { width: 80px; height: 3px; background: linear-gradient(90deg, #EF5E03 0%, #EE7C00 62.98%, #FFBE0A 100%);; display: flex; transition: all 0.3s ease; }

.related-realisation-title {
	font-family: "Unbounded", Sans-serif;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.2em;
	text-decoration: none;
	color: #FFF;
	margin-bottom: 0.5rem;
	transition: all 0.3s ease;
	width: fit-content;
}

.related-realisations-thumb { border-radius: 20px !important; max-width: 400px !important; }

.related-realisation-item:hover .divider-related-realisation { background: #FFF; }
.related-realisation-item:hover .related-realisation-title { 
	background: linear-gradient(90deg, #EF5E03 0%, #EE7C00 62.98%, #FFBE0A 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent; 
}

@media (max-width: 1024px) {
	.related-realisations-grid { flex-direction: column; }
	.related-realisation-item { display: flex; flex-direction: column; align-items: center; }
	.related-realisations-grid { gap: 6rem; }
	.related-realisations-thumb { max-width: 325px !important; }
}

@media (max-width: 768px) {
	
	.related-posts-grid{
		flex-wrap: wrap;
		gap: 4rem;
	}
}

/* Header --- La bulle animée */
.menu-hover-bubble {
	position: absolute !important;
	top: 50%;
	background: #fff;
	border-radius: 30px;
	height: 40px;
	transform: translateY(-50%) scaleX(1) scaleY(1);
	transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1), 
		width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
		transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 1;
	opacity: 0;
}


.elementor-nav-menu .elementor-item {
	position: relative;
	z-index: 2;
	color: #fff;
	transition: color 0.3s ease;
}


.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .mega-services.is-hover,
.elementor-nav-menu .mega-services:hover{
	color: #111 !important;
}



/******* Post Filter Bar *******/
.lcdd-post-filter-bar {
	display: flex;
	justify-content: center;
	gap: 2rem;
}

.lcdd-post-filter-item {
	padding-right: 30px;
	position: relative;
}

.lcdd-post-filter-item a {
	color: #FFF;
	font-weight: 500;
	transition: all 0.2s ease;
	text-decoration: none;
}

.lcdd-post-filter-item a:hover,
.lcdd-post-filter-item.lcdd-post-filter-item-active a {
	color: #EF7D00;
}

.lcdd-post-filter-item .lcdd-post-filter-item-count {
	background: linear-gradient(90deg, #EF5E03 0%, #EE7C00 62.98%, #FFBE0A 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
	font-size: 0.625em;
	position: absolute;
	padding-left: 5px;
	font-weight: bold;
}

.lcdd-post-filter-underline {
	position: absolute;
	width: 10px;
	height: 1px;
	background: linear-gradient(258.4deg, #FFC972, #EE7C00, #EF5E03, #D44001);
	margin: auto;
	bottom: -10px;
	right: 0;
	left: 0;
	transition: all 0.5s ease;
}

.lcdd-post-filter-item.lcdd-post-filter-item-active .lcdd-post-filter-underline,
.lcdd-post-filter-item a:hover .lcdd-post-filter-underline {
	width: 70%;
}

/* --- Select mobile --- */
.lcdd-post-filter-select {
	display: none;
	text-align: center;
	margin: 1rem 0;
}

.lcdd-post-filter-select select {
	padding: 8px 12px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1rem;
}

/* --- Responsive breakpoint --- */
@media (max-width: 768px) {
	.lcdd-post-filter-bar {
		display: none;
	}
	.lcdd-post-filter-select {
		display: block;
	}
}
