/**
 * LAB-JGT PRO — Styles Custom Client
 * ─────────────────────────────────────────────────────────────────────────────
 * Ce fichier est prévu pour vos styles personnalisés par projet.
 * Il est chargé EN DERNIER — il override tous les styles du thème.
 *
 * Conseils :
 *  - Utilisez les variables CSS du thème pour rester cohérent :
 *      color: var(--ljp-primary);
 *      font-family: var(--ljp-font-body);
 *      border-radius: var(--ljp-radius-md);
 *
 *  - Variables disponibles (définies dans functions.php) :
 *      --ljp-primary, --ljp-secondary, --ljp-accent, --ljp-dark, --ljp-light
 *      --ljp-font-body, --ljp-font-h1, --ljp-font-h2, --ljp-font-h3
 *      --ljp-font-body-weight, --ljp-font-h1-weight ...
 *      --ljp-radius-sm, --ljp-radius-md, --ljp-radius-lg
 *      --ljp-spacing-xs, --ljp-spacing-sm, --ljp-spacing-md, --ljp-spacing-lg ...
 *
 *  - Ce fichier ne sera jamais écrasé par une mise à jour du thème.
 * ─────────────────────────────────────────────────────────────────────────────
 */


/* Vos styles ici ↓ */

body{
	background-color: var(--ljp-color-light)!important;
}

.ljp-hero-subtitle {
	line-height: 1.6rem;
}

body h1{
	letter-spacing: -0.02em;
	display: inline !important;
}
body.ljp-variation-bold .ljp-hero{background: none;}


.ljp-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	backdrop-filter: brightness(0.4) blur(2px);
	z-index: 0;
}

.ljp-hero > * {
	position: relative;
	z-index: 1;
}
.cmplz-message p {
    font-size: 12px !important;
}
#cmplz-cookies-overview .cmplz-dropdown summary div, #cmplz-document .cmplz-dropdown summary div, .editor-styles-wrapper .cmplz-unlinked-mode .cmplz-dropdown summary div {
    display: block !important;
}
footer .specialLinks{
	display: block;
	margin-bottom: 1rem;

}

.specialLinks{
	
	font-size: 80%;
}
footer .ljp-nav-menu a {

	text-decoration: none;
	font-size: 0.95rem !important;
	letter-spacing: 0.04rem;
	font-weight: 300 !important;
}
footer h5.wp-block-heading {
	font-size: 0.85rem;
	color: var(--ljp-color-primary);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	margin-bottom: 16px;
}

.noPadLR .ljp-block-inner.ljp-block-inner--container{
	padding-left: 0!important;
	padding-right: 0!important;
}
.wp-block-paragraph mark.has-inline-color {
	display: inline !important;
	width: auto !important;
}
.hero-lead {
	font-size: 1.2rem;
	color: var(--ljp-color-dark)!important;

}
.check-dot {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--ljp-color-accent);
	color: var(--ljp-color-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	flex-shrink: 0;
}
.floating-card {
	position: absolute;
	background: var(--ljp-color-light);
	border-radius: 12px;
	padding: 16px 18px;
	box-shadow: 0 12px 30px -8px rgba(44, 62, 80, 0.2);
	display: flex;
	align-items: center;
	font-size: 0.85rem!important;
	z-index: 3;
	width: max-content;
}
.floating-card.bottom {
	bottom: 2rem;
	left: -1.75rem;
}
.floating-card.top {
	top: 1.75rem;
	right: -1.25rem;
}

.floating-card.inside{
	bottom: 2rem;
	left: 2rem;
}
/*.glow-bg-TR::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	opacity: 0.04;
	mix-blend-mode: overlay;
	pointer-events: none;
}*/
.has-text-align-center{
	text-align: center;
}

p.has-text-align-center{
	justify-content: center;
	align-items: center;

}
.ljp-testimonial-quote{
	display: none;
}
.glow-bg-TR {
	position: relative;
	overflow: hidden;
}
.ljp-tabs-panels p{
	color: var(--ljp-color-dark);
}
.ljp-tabs--pill .ljp-tabs-nav,.ljp-tabs--boxed .ljp-tab-btn{
	background: var(--ljp-color-light);
}

.ljp-tabs--boxed .ljp-tabs-panels{
	background: var(--ljp-color-light);
}
/*.glow-bg-TR::before {
	content: "";
	position: absolute;
	top: -45%;
	right: -45%;
	width: 100%;
	height: 100%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.28) 0%, transparent 24%);
	pointer-events: none;
	z-index: 0;
	opacity: 0.4;
}*/
.glow-bg-TR::before {
	content: '';
	position: absolute;
	top: -200px;
	right: -200px;
	width: 500px;
	height: 500px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(143, 207, 229, 0.18) 0%, transparent 70%);
}
.glow-bg > .container {
	position: relative;
	z-index: 1;
}
.ljp-testimonial-author {
	display: flex;
	align-items: center;
	margin-top: auto;
	padding-top: 20px;
	border-top: 1px solid var(--ljp-color-custom3);
}

.ljp-testimonial-author-info h4{
	font-family: var(--ljp-font-body, inherit)!important;
}

.ljp-testimonial-author-info p{
	color: var(--ljp-color-dark);
}

.ljp-card-linkable:hover .ljp-card-button i{
	transform: translateX(3px);
}
.ljp-footer-copyright .ljp-container{
	padding-left: 0!important;
	padding-right: 0!important;
}
.ljp-footer-copyright{
	padding-right: var(--ljp-container-padding, 1.5rem) !important;
	padding-left: var(--ljp-container-padding, 1.5rem) !important;
}
.ljp-footer-copyright .ljp-container {
	font-family: var(--ljp-font-body, inherit);
	align-items: center !important;
	justify-content: space-between !important;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}

.ljp-footer-credit a{
	color: var(--ljp-color-primary);
	font-weight: 600;
	transition: color 0.2s ease;
}
.ljp-footer-credit a:hover{
	color: var(--ljp-color-accent);
}


.ljp-testimonial-avatar-placeholder {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--ljp-color-custom2);
	color: var(--ljp-color-secondary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.95rem;
}

.ljp-testimonial-avatar {
	width: auto; 
	height: auto;

}
.ljp-testimonial-rating{
	color:var(--ljp-color-secondary);
}

.ljp-testimonial-item {

	display: flex;
	flex-direction: column;
	height: 100%;
}

.ljp-cols-grid > *:not(p) {
	display: flex;
	flex-direction: column;
	min-width: 0;
}
.ljp-surtitle{
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--ljp-color-custom1)!important;
	font-size: 0.85rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 24px;
}
.diflex{
	display: inline-flex;
}
.ljp-zone-links .ljp-zone-pill{
	margin-bottom: 0.4rem;
}
.ljp-card-button--text{
	border-radius: 0!important;
}
.ljp-card-button--text i{
	font-family: "Font Awesome 6 Free" !important;
	font-weight: 900 !important;
	content: "\f178" !important;
	display: inline-block !important;
	margin-left: 8px;
	transition: transform 0.25s;
}

.ofShow{
	overflow: unset!important;
}

.ljp-souligne {
	background-image: linear-gradient(to top, var(--ljp-color-custom2) 39%, transparent 42%);
	background-repeat: no-repeat;
	padding: 0 2px;
}


.ljp-card p{
	color: var(--ljp-color-light);
}
p{
	color: var(--ljp-color-dark);
}

.bigP{
	font-size: 1.1rem;

}
.ljp-color-primary{
	color: var(--ljp-color-primary);
}

.ljp-color-secondary{
	color: var(--ljp-color-secondary);
}

.ljp-color-accent{
	color: var(--ljp-color-accent);
}

.ljp-color-dark{
	color: var(--ljp-color-dark);
}

.ljp-color-light{
	color: var(--ljp-color-light);
}
.balance{
	text-wrap: balance;
}
.pretty{
	text-wrap: pretty;
}
.wrap{
	text-wrap: wrap;
}
.ljp-custom-cta{
	overflow: hidden;
}
.ljp-drawer-footer-cta {

    background: var(--ljp-color-accent, #007bff);
}

.ljp-single-author-card,.ljp-single-author-link,.dpn{
	display: none;
}

.single-post #colophon{
	margin-top: var(--ljp-spacing-lg)!important;
}
.ljp-single-meta{
	margin-top: 1rem;
}

.ljp-single-meta .ljp-single-meta-sep:first-of-type {
    display: none;
}
/*.ljp-custom-cta::before {
	content: "";
	position: absolute;
	top: -50%;
	right: 0;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
	animation: ctaGlow 20s linear infinite!important;
}*/
.ljp-custom-cta::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 900px;
	height: 900px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(143, 207, 229, 0.18) 0%, transparent 60%);
}
.ljp-back-to-top {

	bottom: 3rem;
}

.borderBox{
	border-radius: 18px;
	border:1px solid rgba(108, 114, 128, 0.15)
}
.borderBox p{
	text-wrap: stable;
}

.smallP{
	font-size: 95%;
	line-height: 1.6;
	font-weight: 300;
}
.smallerP{
	font-size: 80%;
	line-height: 1.6;

}
.fw30{
	font-weight: 300;
}
.smallLH{
	line-height: 1.4;
}
.thinFont{
	font-weight: 300;
}
.mediumP{
	font-size: 98%;
}
.spaceButton{
	margin-right: 1rem;
}

.ljp-no-margin-top{
	margin-top: 0!important;
}

.ljp-col-separator {
	position: relative;
}

.ljp-col-separator::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	height: 60%;
	width: 1px;
	opacity: 0.15;
	background-color: var(--ljp-color-dark);
}
.titleFont{
	font-family: var(--ljp-font-h5, var(--ljp-font-body, inherit)) !important;
	text-transform: uppercase;
	opacity: 0.85;
	font-weight: 400;
	letter-spacing: 0.2rem;
}
.textFont{
	font-family: var(--ljp-font-body, inherit)!important;


}
.ljp-testimonial-text{
	font-family: var(--ljp-font-h5, var(--ljp-font-body, inherit)) !important;
	font-weight: 400;
	font-style: unset;
	color: var(--ljp-color-primary);
	text-wrap: pretty;
}
/* Carte photo plein cadre, texte en overlay avec dégradé bas.
   :not(.ljp-card-body .ljp-card--overlay) = garde-fou : si la classe se
   retrouve par erreur sur le bloc imbriqué (celui qui gère le split/push
   bottom du texte à l'intérieur de .ljp-card-body), il est ignoré ici pour
   éviter un 2e dégradé + un 2e min-height empilés. */
   .ljp-card--overlay:not(.ljp-card-body .ljp-card--overlay) {
   	position: relative;
   	min-height: 560px;
   	border: none;
   	border-radius: 0;
   	box-shadow: none;
   }
   .ljp-card--overlay:not(.ljp-card-body .ljp-card--overlay) .ljp-card-image {
   	position: absolute;
   	inset: 0;
   	height: 100%;
   	z-index: 0;
   }
   .ljp-card--overlay:not(.ljp-card-body .ljp-card--overlay) .ljp-card-image img {
   	width: 100%;
   	height: 100%;
   	object-fit: cover;
   }
/* Dégradé : opaque en bas pour la lisibilité, transparent en haut */
.ljp-card--overlay:not(.ljp-card-body .ljp-card--overlay)::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(to top, rgba(10, 22, 33, 0.38) 100%, rgba(10, 22, 33, 0.15) 100%);
	pointer-events: none;
}
.ljp-card--overlay .ljp-card-body,
.ljp-card--overlay .ljp-card-footer {
	position: relative;
	z-index: 2;
	color: #fff;
	padding: 2rem;
}
/* .ljp-card-body garde son flex:1 de base (blocks.css) : il remplit toute
   la hauteur de la carte, ce qui laisse le split interne
   (.ljp-card-split / .ljp-push-bottom) faire son travail normalement —
   étiquette collée en haut du bloc, titre/texte/bouton poussés en bas. */
   .ljp-card--overlay .ljp-card-footer {
   	padding-top: 0;
	/* Le seul vrai bug : la base (blocks.css) met margin-top:auto sur LE
	   FOOTER, qui se partageait l'espace libre avec le split interne
	   (poussait le lien encore plus bas, séparé du texte). On l'annule ici
	   pour que le footer suive directement le bas du bloc split. */
	   margin-top: 0;
	}

/* Étiquette "01 — Résidentiel" : le paragraphe avec le style "titleFont"
   passe en blanc plus discret, distinct du texte principal */

   .ljp-card--overlay .ljp-card-footer .ljp-card-button--text {
   	color: var(--ljp-color-light);
   	opacity: 0.85;
   	text-underline-offset: 10px;
   }
   .ljp-video-facade{
   	border-radius: 18px!important;
   }
   .ljp-card{
   	border-radius: 0!important;
   }
   .ljp-card{
   	color: var(--ljp-color-light);
   }
   .ljp-card.ljp-card-linkable:hover .ljp-card-button:not([class*="ljp-btn--"]) {
   	background: none!important;

   }
   .ljp-card-footer .ljp-card-button.ljp-card-button--text{
   	font-family: 'Inter', sans-serif;
   	font-weight: 500;

   }
   .footerLogo{
   	margin-bottom: 1rem;
   }
   .fullSize{
   	font-size: 100%;
   }
   .ljp-stats-grid {

   	gap: 0;
   }

   .ljp-stat-item {
   	text-align: center;
   	padding: 2rem;
   	background: #fff;
   	border-radius: 0px!important;
   	box-shadow: none;
   	transition: none!important;
   }

   .ljp-stat-item:hover {
   	transform: none!important;
   	box-shadow: none!important;
   }

   .ljp-card{
   	padding: 0!important;
   }

   .ljp-card-title{
   	font-family: var(--ljp-font-body, inherit);
   	font-weight: 600;
   	font-size: var(--ljp-font-body-size, 16px);
   }
   .ljp-card-text{
   	font-size: 80%;
   }
   .ljp-card-icon{
   	margin-bottom: 0.5rem;
   }

   .specialLinks{
   	border-bottom: 1px solid var(--ljp-color-dark);
   	padding-bottom: 2px;
   	max-width: fit-content!important;
   	font-family: var(--ljp-font-body, inherit);
   	font-weight: var(--ljp-font-body-weight, 400);

   	line-height: var(--ljp-font-body-lh, 1.7);
   	letter-spacing: 0.18em;
   	text-transform: uppercase;
   	text-decoration: none;
   	transition: all 0.25s;
   	cursor: pointer;
   	color: var(--ljp-color-dark);
   	margin-left: 0 !important;
   	margin-right: 0 !important;
   }


   .fourColHome .ljp-cols-grid h3{
   	line-height: 1;
   	margin-bottom: 0;

   }

   .fourColHome .ljp-cols-grid p{
   	font-size: 11px;
   	letter-spacing: 0.1em;
   	text-transform: uppercase;
   	margin-bottom: 0;
   }
   .ljp-label {
   	font-size: 0.85rem;
   	letter-spacing: 0.18em;
   	text-transform: uppercase;
   	margin-bottom: 0.75rem;
   	color: var(--ljp-color-dark);
   }

   .entry-content ul li, .ljp-single-body ul li, .ljp-block-inner ul li, .ljp-post-content ul li, .ljp-accordion-content ul li {

   	margin-bottom: 0;
   }

   .ljp-sticky-message {

   	padding-left: 20px;
   }
   .ljp-list,ul {
   	list-style: none;
   	padding: 0;
   	margin: 2.5rem 0 0;
   }
   .ljp-list li {
   	padding-left: 0!important;
   }
   .ljp-list li:before {
   	display: none;
   }
   .ljp-list li,.entry-content li {
   	font-family: var(--ljp-font-body, inherit);
   	display: flex;
   	justify-content: space-between;
   	align-items: baseline;
   	padding: 0.25rem 0;
   	border-bottom: 1px solid rgba(0,0,0,0.1);
   	font-size: 0.875rem;
   	gap: 1rem;
   	border: none;
   }
   .ljp-list li:last-child,.entry-content li:last-child {
   	border-bottom: none;
   }
   .ljp-list li span:last-child,.entry-content li span:last-child {
   	font-size: 0.75rem;
   	color: var(--ljp-color-dark);
   	white-space: nowrap;
   	opacity: 0.65;
   }
   .isBlock{
   	display: block;
   }
   .ljp-sticky-message a{
   	border-bottom: 1px solid var(--ljp-color-light);
   	padding-bottom: 2px;
   	max-width: fit-content !important;
   	font-family: var(--ljp-font-body, inherit);
   	font-weight: var(--ljp-font-body-weight, 400);
   	line-height: var(--ljp-font-body-lh, 1.7);
   	letter-spacing: 0.1em;
   	text-transform: uppercase;
   	text-decoration: none;
   	transition: all 0.25s;
   	cursor: pointer;
   	color: var(--ljp-color-dark);
   	margin-left: 0 !important;
   	margin-right: 0 !important;
   	color: var(--ljp-color-light);
   	font-size: 90%;
   }

   .ljp-sticky-message a:hover{
   	border-bottom: 1px solid transparent;
   }

   .ljp-btn--btn-mqqu00zx::after {
   	font-family: "Font Awesome 6 Free" !important;
   	font-weight: 900 !important;
   	content: "\f178" !important;   /* fa-arrow-right (solid) */
   	display: inline-block !important;
   	margin-left: 8px;
   	transition: transform 0.25s;
   }

   .ljp-btn--btn-mqqu00zx:hover::after { transform: translateX(3px); }

/* ── Ninja Forms — style unifié du site (s'applique à tous les formulaires) ── */

.ljp-footer-copyright .ljp-container {
	font-family: var(--ljp-font-body, inherit);
	/*align-items: start!important;
	justify-content: flex-start!important;*/
}

.ljp-footer-copyright {
	position: relative;
}

.ljp-footer-copyright::before {
	content: "";
	position: absolute;
	top: 0;
	left: 1.5%;
	width: 97%;
	opacity: 0.5;
	border-top: 1px solid var(--ljp-color-custom3);
}
#colophon::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0.5;
	border-top: 1px solid var(--ljp-color-custom3);
}

.ljp-cardList-full{
	display: grid;
	
	list-style: none;
	padding: 0;
	gap: 0.5rem;
	margin-bottom: 0!important;
}
.ljp-cardList{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(270px, 1fr));
	list-style: none;
	padding: 0;
	gap: 0.5rem;
	margin-bottom: 0!important;
}
.ljp-card-body .ljp-cardList{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	list-style: none;
	padding: 0;
	gap: 0.5rem;
	margin-bottom: 0!important;
}
.ljp-cardList li,.ljp-cardList-full li{
	display: flex !important;
	align-items: flex-start !important;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0 !important;
	border-bottom: none;
	gap: 0;
	justify-content: start;
}
.ljp-cardList li::before,.ljp-cardList-full li::before {
	content: "" !important;
	position: static !important;
	display: block !important;
	flex-shrink: 0;
	width: 1rem !important;
	height: 1px !important;
	border-radius: 0 !important;
	margin-right: 8px;
	margin-top: 0.75em;
	background-color: currentColor;
	top: auto !important;
	transform: none !important;
}

.alignRight{
	text-align: right;
}
.ljp-caption{
	display: inline-block;
	font-size: 0.6rem !important;
	letter-spacing: 0.16em !important;
	text-transform: uppercase !important;
	color: rgba(255,255,255,0.7) !important;
	background: rgba(0,0,0,0.25) !important;
	padding: 0.3rem 0.6rem !important;
	margin: 0 !important;
	backdrop-filter: blur(2px);
	position: absolute;
	left: 2rem;
	bottom: 2rem;
	line-height: 1;
}



.ljp-team-info {
	padding: 1rem;

}
.ljp-team-name {

	font-family: var(--ljp-font-h4, var(--ljp-font-body, inherit)) !important;
	font-weight: var(--ljp-font-h4-weight, 600);
	font-size: var(--ljp-font-h4-size);
	line-height: var(--ljp-font-h4-lh);
	text-transform: var(--ljp-font-h4-transform, none);
	color: var(--ljp-color-primary);
}

.ljp-team-position,.ljp-team-bio{
	margin-bottom: 0!important;
}
.ljp-accordion-header{
	background: var(--ljp-color-primary);
	color: #fff;
}
.ljp-accordion-title{
	color: #fff;
}
.ljp-accordion-header:hover {
	background: var(--ljp-color-secondary);
}


.ljp-drawer-menu .ljp-lang-list a{
	color: var(--ljp-color-dark);
}
.ljp-drawer-menu .ljp-lang-list a:hover, .ljp-drawer-menu .ljp-lang-list .ljp-lang-current>a {
	color: var(--ljp-color-primary);
	background: transparent; 
}
@media (max-width: 1024px) {
	.floating-card.bottom {
		bottom: 1rem;
		left: 1rem;
	}
	.ljp-sticky-message {

		padding-left: 0px;
	}
	.ljp-card--overlay:not(.ljp-card-body .ljp-card--overlay)::after {

		background: linear-gradient(to top, rgba(10, 22, 33, 0.58) 100%, rgba(10, 22, 33, 0.15) 100%);

	}

	.floating-card.top {
		top: 1rem;
		right: 1rem;
	}

	.ljp-custom-cta .ljp-cols-stack-tablet .ljp-btn-wrap--right{
		justify-content: center;
	}
	.ljp-custom-cta .ljp-cols-stack-tablet .centerMobile .ljp-block-inner{
		text-align: center;
	}

	#colophon .footerP{
		margin-bottom: 1rem!important;
	}
	.removeXXL{
		padding-left: var(--ljp-container-padding) !important;
		padding-right: var(--ljp-container-padding) !important;
	}
	.ljp-card p {

		max-width: 100% !important;
	}
}
@media (max-width: 768px) {
	body, p {

		line-height: 1.4;

	}

	.bigP{
		font-size: var(--ljp-font-body-size, 16px);
	}

	.ljp-custom-cta p {

		max-width: 100% !important;
	}
	.ljp-header-inner .ljp-header-cta {
		display: none!important;
	}

	.ljp-card-split{
		min-height: 33.75rem;
	}


	/*.noPadLR .ljp-section{
		padding-left: var(--ljp-container-padding, 1.5rem)!important;
		padding-right: var(--ljp-container-padding, 1.5rem)!important;
	}*/
}


@media (max-width: 480px) {
	.ljp-drawer-footer-cta {

		padding: 1rem;

	}
}

.ljp-accordion .ljp-block-inner.ljp-block-inner--container{
    padding-left: 0;
    padding-right: 0;
}



/* ── Ninja Forms — style unifié (carte élégante), appliqué à tous les formulaires du site ── */
.nf-field-element ul li:before{
	display: none;
}
.nf-form-cont {
	max-width: 100%;
	margin: 0 auto;
	background: var(--ljp-color-white, #fff);
	border: 1px solid rgba(33, 37, 41, 0.08);
	border-radius: var(--ljp-radius, 20px);
	padding: 3rem;
	box-shadow: 0 1rem 1rem -1rem rgba(20, 30, 40, 0.18);
}

.nf-form-cont .nf-form-title {
	display: block;
	/*margin-bottom: 2rem;*/
}

.nf-form-cont .nf-form-title h3 {
	font-family: var(--ljp-font-h3, var(--ljp-font-h2, inherit));
	color: var(--ljp-color-dark);
	font-size: 1.75rem;
	letter-spacing: -0.01em;
	margin: 0;
}

.nf-form-cont .nf-form-fields-required {
	display: none;
}

/* Grille : les nf-row/nf-cell retrouvent leur mise en colonnes (width inline) */
.nf-form-cont .nf-rows-wrap {
	display: block;
}

.nf-form-cont .nf-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 0 1.5rem;
}

.nf-form-cont .nf-row nf-cells {
	display: flex;
	width: 100%;
	gap: 1.5rem;
}

.nf-form-cont .nf-cell {
	flex: 1 1 0;
	min-width: 0;
}

.nf-form-cont .nf-field-container ,.nf-form-title{
	margin-bottom: 1.5rem !important;
}

/* Libellés */
.nf-form-cont .nf-field-label label,
.nf-form-cont .nf-field-label span.nf-label-span {
	display: inline-block;
	font-family: var(--ljp-font-body, inherit);
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: var(--ljp-color-dark);
	opacity: 0.75;
	margin-bottom: 0.5rem !important;
}

.nf-form-cont .ninja-forms-req-symbol {
	color: var(--ljp-color-accent);
}

/* Champs texte / email / tel / textarea / select */
.nf-form-cont input[type="text"],
.nf-form-cont input[type="email"],
.nf-form-cont input[type="tel"],
.nf-form-cont input[type="number"],
.nf-form-cont textarea,
.nf-form-cont select {
	width: 100% !important;
	background: var(--ljp-color-light, #f8f9fa) !important;
	border: 1px solid rgba(33, 37, 41, 0.12) !important;
	border-radius: var(--ljp-radius, 10px) !important;
	padding: 0.85rem 1rem !important;
	font-family: var(--ljp-font-body, inherit);
	font-size: 0.92rem !important;
	color: var(--ljp-color-dark);
	box-shadow: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.nf-form-cont input[type="text"]:focus,
.nf-form-cont input[type="email"]:focus,
.nf-form-cont input[type="tel"]:focus,
.nf-form-cont input[type="number"]:focus,
.nf-form-cont textarea:focus,
.nf-form-cont select:focus {
	outline: none !important;
	background: #fff !important;
	border-color: var(--ljp-color-accent) !important;
	box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06) !important;
}

.nf-form-cont textarea {
	min-height: 8rem !important;
	resize: vertical;
}

/* Select : flèche personnalisée */
.nf-form-cont .listselect-wrap .nf-field-element {
	position: relative;
}

.nf-form-cont select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 2.5rem !important;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23212529' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.9rem center !important;
	background-size: 16px !important;
}

/* Cases à cocher (moyen de communication / type d'espace) affichées en pastilles */
.nf-form-cont .list-checkbox-wrap .nf-field-element ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.nf-form-cont .list-checkbox-wrap .nf-field-element ul li {
	margin: 0;
	padding: 0;
}

.nf-form-cont .list-checkbox-wrap input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.nf-form-cont .list-checkbox-wrap label {
	display: inline-flex;
	align-items: center;
	margin: 0 !important;
	padding: 0.55rem 1.1rem !important;
	background: var(--ljp-color-light, #f8f9fa);
	border: 1px solid rgba(33, 37, 41, 0.14);
	border-radius: var(--ljp-radius);
	font-family: var(--ljp-font-body, inherit);
	font-size: 0.82rem !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--ljp-color-dark);
	opacity: 1 !important;
	cursor: pointer;
	transition: all 0.2s ease;
}

.nf-form-cont .list-checkbox-wrap label:hover {
	border-color: var(--ljp-color-accent);
}

.nf-form-cont .list-checkbox-wrap input[type="checkbox"]:checked + label {
	background: var(--ljp-color-primary);
	border-color: var(--ljp-color-primary);
	color: var(--ljp-color-light);
}

.nf-form-cont .list-checkbox-wrap input[type="checkbox"]:focus-visible + label {
	outline: 2px solid var(--ljp-color-accent);
	outline-offset: 2px;
}

/* Ligne des jours de la semaine : reste compacte, s'empile en mobile */
.nf-form-cont .nf-field-label label[for^="nf-field-18"],
.nf-form-cont .nf-field-label label[for^="nf-field-19"],
.nf-form-cont .nf-field-label label[for^="nf-field-20"],
.nf-form-cont .nf-field-label label[for^="nf-field-21"],
.nf-form-cont .nf-field-label label[for^="nf-field-22"] {
	text-align: center;
	display: block;
}

/* Erreurs */
.nf-form-cont .field-wrap.nf-error input,
.nf-form-cont .field-wrap.nf-error textarea,
.nf-form-cont .field-wrap.nf-error select {
	border-color: #dc3545 !important;
}

.nf-form-cont .nf-error-msg {
	color: #dc3545;
	font-size: 0.8rem;
	margin-top: 0.4rem;
}

.nf-form-cont .nf-form-errors .nf-error-msg {
	background: rgba(220, 53, 69, 0.08);
	border-radius: var(--ljp-radius, 6px);
	padding: 0.75rem 1rem;
	margin-bottom: 1.5rem;
}

/* Bouton d'envoi : même signature « split fill » que le reste du site */
.nf-form-cont .submit-wrap {
	margin-top: 0.5rem;
}
.nf-form-cont .nf-field-container.submit-container {
  margin-bottom: 0!important;

}

.nf-form-cont input[type="submit"] {
	width: 100% !important;
	background: linear-gradient(to right, var(--ljp-color-light, #f8fafc) 50%, var(--ljp-color-primary, #111) 50%) !important;
	background-size: 200% 100% !important;
	background-position: right center !important;
	color: var(--ljp-color-light)!important;
	border: 1px solid var(--ljp-color-primary, #111) !important;
	border-radius: var(--ljp-radius, 10px) !important;
	padding: 1rem 2rem !important;
	font-family: var(--ljp-font-body, inherit);
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.1em !important;
	text-transform: uppercase !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background-position 0.4s ease, color 0.3s ease;
}

.nf-form-cont input[type="submit"]:hover:not(:disabled) {
	background-position: left center !important;
	color: var(--ljp-color-primary, #111) !important;
}

.nf-form-cont input[type="submit"]:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

@media (max-width: 700px) {
	.nf-form-cont {
		padding: 1.75rem 1.25rem;
		border-radius: var(--ljp-radius, 12px);
	}

	.nf-form-cont .nf-row {
		flex-direction: column !important;
	}

	.nf-form-cont .nf-row nf-cells {
		flex-direction: column;
		gap: 0;
	}

	.nf-form-cont .nf-cell {
		width: 100% !important;
	}
}