/*-------------------------------------------------------------
1.0 Typography & tools
--------------------------------------------------------------*/
	:root {
  		--primary: #13100d !important;
  		--secondary: #E30613 !important;
  		--body: #13100d !important;
		--burger-width: 18px;
		--burger-height: 14px;
		--line-height: 2px;
		--line-gap: 6px;
		--color-lines: #ffffff;
		--color-lines-dark: #13100d;
		--color-lines-active: #E30613;
		--transition-duration: 0.3s;
		--easing: ease;
	}

	/* à mettre tout le temps pour éviter les problèmes de section qui sort de l'écran */
	*, *::before, *::after {
		box-sizing: border-box;
	}
	/* /////////////////// */

	.cmplz-cookiebanner .cmplz-logo img {
		max-height: 24px !important;
	}
	
	.titre-gradient {
		background: linear-gradient(to bottom, #8a8a8a66 0%, transparent 75%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
	}

	.dropdown-main-menu {
		background-color: #0d0e0d !important;
	}

	.dropdown-main-menu li a:hover {
		background-color: #0d0e0d !important;
	}

	.gs-dropdown-menu.dropdown-main-menu {
		border-radius: 8px !important;
	}

	.menu-mobile-services span {
		color: #ffffff !important;
	}

	.gs_menu_a3844 a.current_item {
		color: #e6a100 !important;
	}

	.gspb-flipfilters .gspb-flipfilters-wrap {
		align-items: flex-start !important;
	}

	.gspb-checkbox-item + label::before {
		content: '' !important;
		cursor: pointer;
	}

	.gspb-flipfilters .gspb-checkbox-item:checked + label::before {
		background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M3 8l3.5 3.5L13 4'/%3E%3C/svg%3E");
	}

	.gspb_slidingPanel.active {
		width: 100%;
	}

	.modal-iframe {
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important; /* Force le scroll fluide sur iPhone */
		height: auto !important;
		width: 100% !important;
	}

	.modal-iframe iframe {
		width: 100% !important;
    /* On utilise max-content ou une hauteur fixe pour forcer l'iframe à s'étirer à 100% de son vrai contenu */
    height: 100% !important; 
    min-height: 100vh !important; 
    border: none !important;
		pointer-events: auto !important;
	}

	.gs-dynamicpanel-close {
		display: none !important;
	}

/*-------------------------------------------------------------
1.0 Accueil
--------------------------------------------------------------*/

	/* CTA Hero header */
	.svg-pig {
		position: absolute !important;
	}
	.cta-block {
		position: relative;
		width: 100%;
		aspect-ratio: 1 / 1;
		max-width: 470px !important;
	}
	.cta-block::before {
		content: '';
		position: absolute;
		inset: 0;
		background: #e6a100;
		clip-path: url(#cta-clip);
		pointer-events: none;
		z-index: 0;
	}
	.cta-block > * {
		position: relative;
		z-index: 1;
	}

	.prestation-card {
		position: relative;
		width: 100%;
		aspect-ratio: 420 / 360;
	}

	.prestation-card::before {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(to bottom, #e6a1005c 0%, #0d0e0d 100%);
		clip-path: url(#card-clip);
		pointer-events: none;
	}

	@media (max-width: 768px) {
		.prestation-card {
			height: auto !important;
			aspect-ratio: auto !important;
		}
	}

	.prestation-card .btn-service:hover span, .realisations-card .btn-realisation:hover span, .btn-cta-org-blk:hover span, .btn-realisation-retour:hover span, .section-remerciement .btn-service:hover span {
		color: #0d0e0d !important;
	}

	.prestation-card .btn-service:hover svg path, .realisations-card .btn-realisation:hover svg path, .btn-cta-org-blk:hover svg path, .btn-realisation-retour:hover svg path, .section-remerciement .btn-service:hover svg path {
		fill: #0d0e0d !important;
	}

	a.wp-element-button svg, a.btn-cta-org-blk svg, .btn-service svg, .btn-realisation svg, .lien-realisations svg {
		transition: transform 0.3s ease;
	}

	a.wp-element-button:hover svg, a.btn-cta-org-blk:hover svg, .btn-service:hover svg, .btn-realisation:hover svg, .lien-realisations:hover svg {
		transform: translateX(3px);
	}

	.btn-realisation-retour svg {
		transition: transform 0.3s ease;
	}

	.btn-realisation-retour:hover svg {
		transform: translateX(-3px);
	}

	@keyframes fadeUp {
		from {
			opacity: 0;
			transform: translate3d(0, 20px, 0) scale(1);
		}
		to {
			opacity: 1;
			transform: translate3d(0, 0, 0) scale(1);
		}
	}
	.gs-flipfilter {
		animation: fadeUp 0.4s ease both !important;
	}

	/** Point card */

	.point-card {
		position: relative;
		/* width: 100%; */
		aspect-ratio: 420 / 240;
		max-width: 420px;
	}

	.point-card::before {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(to bottom, #e6a1005c 0%, #0d0e0d 100%);
		clip-path: url(#card-clip);
		pointer-events: none;
	}

	.point-card-2 {
		position: relative;
		/* width: 100%; */
		/* aspect-ratio: 420 / 200;	*/
		max-width: 420px;
		height: 100%;
	}

	.point-card-2::before {
		content: '';
		position: absolute;
		inset: 0;
		background: linear-gradient(to bottom, #e6a1005c 0%, transparent 100%);
		pointer-events: none;
		border-radius: 8px 8px 0px 0px;
	}

	.point-card .btn-service:hover span {
		color: #0d0e0d !important;
	}

	.point-card .btn-service:hover svg path {
		fill: #0d0e0d !important;
	}

	/******** */

	.gs_collapsible .gs_item .gs_title button {
		padding-right: 0.5rem !important;
  		padding-left: 16px !important;
	}

	.gs_collapsible .gs_content > .gs_content_inner {
		padding-top: 10px;
		padding-left: 16px !important;
	}

	.gs_collapsible .gs_content > .gs_content_inner p {
		margin-top: 0 !important;
	}

	.gs_collapsible .active button span {
		font-weight: 600 !important;
	}

	/* Cible le bloc galerie Gutenberg */
	.wp-block-gallery {
		columns: 3;
		column-gap: 20px !important;
		display: block !important;
	}

	.wp-block-gallery .wp-block-image {
		break-inside: avoid;
		margin-bottom: 20px !important;
		width: 100% !important;
		display: block;
	}

	.wp-block-gallery .wp-block-image img {
		width: 100%;
		height: auto;
		display: block;
		border-radius: 8px;
	}

	/* Responsive */
	@media (max-width: 768px) {
		.wp-block-gallery {
			columns: 2;
		}
	}

	@media (max-width: 480px) {
		.wp-block-gallery {
			columns: 1;
		}
	}

	.gs_collapsible .gs_item {
		border-color: #252826 !important;
	}

	.gs_collapsible .active {
		border-color: #e6a100 !important;
	}

	.gs_collapsible .active .gs_title button, .gs_collapsible .active .gs_content_inner {
		background-color: #e6a100 !important;
		color: #0d0e0d !important;
	}

	.gs_collapsible .active .gs_title button span {
		color: #0d0e0d !important;
	}

	.gs_collapsible .active .gs_title button svg path {
		fill: #0d0e0d !important;
	}

/*-------------------------------------------------------------
2.0 Page services
--------------------------------------------------------------*/

	.h2-cta-black {
		color: #0d0e0d !important;
	}

/*-------------------------------------------------------------
3.0 Page réalisation
--------------------------------------------------------------*/

	.gspb-dynamic-acf-gallery .gspb_gallery_grid {
		display: block !important;
		column-count: 2;
		column-gap: 12px;
	}
	.gspb-dynamic-acf-gallery .imagelink {
		display: block !important;
		break-inside: avoid;
		margin-bottom: 12px;
	}
	.gspb-dynamic-acf-gallery .imagelink img {
		width: 100%;
		height: auto;
		display: block;
	}

	@media (max-width: 600px) {
		.gspb-dynamic-acf-gallery .gspb_gallery_grid { column-count: 1; }
	}

/*-------------------------------------------------------------
4.0 Formulaire
--------------------------------------------------------------*/
	.jet-fb-form-block {
		width: 100%;
	}

	.jet-form-builder-page .jet-form-builder__next-page-wrap button, .jet-form-builder-page .jet-form-builder__prev-page-wrap button, .jet-form-builder-page .jet-form-builder__action-button-wrapper button {
		font-size: 16px;
		padding: 8px 48px;
		margin-top: 16px;
		line-height: 32px;
		font-weight: 500;
		border-top-left-radius: 8px;
		border-top-right-radius: 8px;
		border-bottom-right-radius: 8px;
		border-bottom-left-radius: 8px;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		column-gap: 15px;
		row-gap: 15px;
		border-style: solid;
		border-width: 1px;
		border-color: #0d0e0d;
		background-color: transparent;
		color: #0d0e0d;
		cursor: pointer;
	}

	.contact-form .jet-fb-form-block .jet-form-builder__action-button-wrapper button {
		font-size: 16px;
		padding: 8px 48px;
		margin-top: 16px;
		line-height: 32px;
		font-weight: 500;
		border-top-left-radius: 8px;
		border-top-right-radius: 8px;
		border-bottom-right-radius: 8px;
		border-bottom-left-radius: 8px;
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		column-gap: 15px;
		row-gap: 15px;
		border-style: solid;
		border-width: 1px;
		border-color: #e6a100;
		background-color: #e6a100;
		color: #0d0e0d !important;
		cursor: pointer;
	}

	.jet-form-builder-page .jet-form-builder__next-page-wrap button:hover, .jet-form-builder-page .jet-form-builder__prev-page-wrap button:hover, .jet-form-builder-page .jet-form-builder__action-button-wrapper button:hover {
		color: #e6a100 !important;
		background-color: #0d0e0d !important;
	}

	.contact-form .jet-fb-form-block .jet-form-builder__action-button-wrapper button:hover {
		color: #e6a100 !important;
		background-color: transparent !important;
	}

	.wp-block-group-is-layout-flex {
		align-items: flex-start;
		gap: 20px;
	}

	.wp-block-group-is-layout-flex .jet-form-builder-row.field-type-text-field {
		flex-grow: 1;
	}

	.jet-form-builder-page input, .jet-form-builder-page textarea, .jet-form-builder-page select {
		background: transparent !important;
		border: 1px solid #0d0e0d;
		border-radius: 8px;
		padding: 8px 16px;
	}

	.contact-form .jet-fb-form-block input, .contact-form .jet-fb-form-block textarea, .contact-form .jet-fb-form-block select {
		background: transparent !important;
		border: 1px solid #e6a100;
		border-radius: 8px;
		padding: 8px 16px;
		color: #fff !important;
	}

	.jet-form-builder-page .jet-form-builder__next-page-wrap button::after, .jet-form-builder-page .jet-form-builder__action-button-wrapper button.jet-form-builder__submit::after {
		content: "";
		display: inline-block;
		width: 20px;
		height: 13px;
		flex-shrink: 0;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 67 42'%3E%3Cpath d='M48.042,40.746c-1.212,1.225-3.192,1.212-4.412,0c-1.221,-1.213-1.225,-3.192,0,-4.413l12.367,-12.367H3.126C1.393,23.966,0.001,22.574,0.001,20.841c0,-1.733,1.392,-3.125,3.125,-3.125l52.871,-0.013L43.63,5.336c-1.225,-1.212-1.212,-3.192,0,-4.412c1.212,-1.221,3.192,-1.225,4.412,0l17.708,17.721c1.225,1.213,1.225,3.192,0,4.413L48.042,40.746Z' fill='%230d0e0d'/%3E%3C/svg%3E");
		transition: transform 0.25s ease;
	}

	.contact-form .jet-fb-form-block .jet-form-builder__action-button-wrapper button.jet-form-builder__submit::after {
		content: "";
		display: inline-block;
		width: 20px;
		height: 13px;
		flex-shrink: 0;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 67 42'%3E%3Cpath d='M48.042,40.746c-1.212,1.225-3.192,1.212-4.412,0c-1.221,-1.213-1.225,-3.192,0,-4.413l12.367,-12.367H3.126C1.393,23.966,0.001,22.574,0.001,20.841c0,-1.733,1.392,-3.125,3.125,-3.125l52.871,-0.013L43.63,5.336c-1.225,-1.212-1.212,-3.192,0,-4.412c1.212,-1.221,3.192,-1.225,4.412,0l17.708,17.721c1.225,1.213,1.225,3.192,0,4.413L48.042,40.746Z' fill='%230d0e0d'/%3E%3C/svg%3E");
		transition: transform 0.25s ease;
	}

	.wp-block-buttons .wp-block-button a::after {
		content: "";
		display: inline-block;
		margin-left: 10px;
		width: 20px;
		height: 13px;
		flex-shrink: 0;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 67 42'%3E%3Cpath d='M48.042,40.746c-1.212,1.225-3.192,1.212-4.412,0c-1.221,-1.213-1.225,-3.192,0,-4.413l12.367,-12.367H3.126C1.393,23.966,0.001,22.574,0.001,20.841c0,-1.733,1.392,-3.125,3.125,-3.125l52.871,-0.013L43.63,5.336c-1.225,-1.212-1.212,-3.192,0,-4.412c1.212,-1.221,3.192,-1.225,4.412,0l17.708,17.721c1.225,1.213,1.225,3.192,0,4.413L48.042,40.746Z' fill='%23e6a100'/%3E%3C/svg%3E");
		transition: transform 0.25s ease;
	}

	.wp-block-buttons .wp-block-button:hover a::after {
		transform: translateX(3px);
	}

	.jet-form-builder-page .jet-form-builder__next-page-wrap button:hover::after, .jet-form-builder-page .jet-form-builder__action-button-wrapper button.jet-form-builder__submit:hover::after {
		transform: translateX(3px);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 67 42'%3E%3Cpath d='M48.042,40.746c-1.212,1.225-3.192,1.212-4.412,0c-1.221,-1.213-1.225,-3.192,0,-4.413l12.367,-12.367H3.126C1.393,23.966,0.001,22.574,0.001,20.841c0,-1.733,1.392,-3.125,3.125,-3.125l52.871,-0.013L43.63,5.336c-1.225,-1.212-1.212,-3.192,0,-4.412c1.212,-1.221,3.192,-1.225,4.412,0l17.708,17.721c1.225,1.213,1.225,3.192,0,4.413L48.042,40.746Z' fill='%23e6a100'/%3E%3C/svg%3E");
	}

	.contact-form .jet-fb-form-block .jet-form-builder__action-button-wrapper button.jet-form-builder__submit:hover::after {
		transform: translateX(3px);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 67 42'%3E%3Cpath d='M48.042,40.746c-1.212,1.225-3.192,1.212-4.412,0c-1.221,-1.213-1.225,-3.192,0,-4.413l12.367,-12.367H3.126C1.393,23.966,0.001,22.574,0.001,20.841c0,-1.733,1.392,-3.125,3.125,-3.125l52.871,-0.013L43.63,5.336c-1.225,-1.212-1.212,-3.192,0,-4.412c1.212,-1.221,3.192,-1.225,4.412,0l17.708,17.721c1.225,1.213,1.225,3.192,0,4.413L48.042,40.746Z' fill='%23e6a100'/%3E%3C/svg%3E");
	}

	.jet-form-builder-page button.jet-form-builder__prev-page::before {
		content: "";
		display: inline-block;
		width: 20px;
		height: 13px;
		flex-shrink: 0;
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 67 42'%3E%3Cpath d='M18.958,40.746c1.212,1.225,3.192,1.212,4.412,0c1.221,-1.213,1.225,-3.192,0,-4.413L10.998,23.966h52.871c1.733,0,3.125,-1.392,3.125,-3.125c0,-1.733,-1.392,-3.125,-3.125,-3.125l-52.871,-0.013L23.37,5.336c1.225,-1.212,1.212,-3.192,0,-4.412c-1.212,-1.221,-3.192,-1.225,-4.412,0L1.25,18.645c-1.225,1.213,-1.225,3.192,0,4.413L18.958,40.746Z' fill='%23e6a100'/%3E%3C/svg%3E");
		transition: transform 0.25s ease;
	}

	.jet-form-builder-page button.jet-form-builder__prev-page:hover::before {
		transform: translateX(-3px);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 67 42'%3E%3Cpath d='M18.958,40.746c1.212,1.225,3.192,1.212,4.412,0c1.221,-1.213,1.225,-3.192,0,-4.413L10.998,23.966h52.871c1.733,0,3.125,-1.392,3.125,-3.125c0,-1.733,-1.392,-3.125,-3.125,-3.125l-52.871,-0.013L23.37,5.336c1.225,-1.212,1.212,-3.192,0,-4.412c-1.212,-1.221,-3.192,-1.225,-4.412,0L1.25,18.645c-1.225,1.213,-1.225,3.192,0,4.413L18.958,40.746Z' fill='%230d0e0d'/%3E%3C/svg%3E");
	}

	.jet-form-builder-page .jet-form-builder__action-button-wrapper {
		justify-content: space-between !important;
	}

	.jet-form-builder__field-wrap.phone-field-wrap .iti__country-container {
		display: none !important;
	}

	.jet-form-builder__field-wrap.phone-field-wrap .iti__tel-input {
		padding-left: 16px !important;
		max-width: 135px !important;
	}

	.jet-form-builder-page input:focus,
	.jet-form-builder-page input:focus-visible,
	.jet-form-builder-page textarea:focus,
	.jet-form-builder-page textarea:focus-visible,
	.jet-form-builder-page select:focus,
	.jet-form-builder-page select:focus-visible {
		outline: none;
		box-shadow: none;
		border-color: #0d0e0d; /* garde ta bordure normale plutôt que la couleur de focus */
	}

	.contact-form .jet-fb-form-block input:focus,
	.contact-form .jet-fb-form-block input:focus-visible,
	.contact-form .jet-fb-form-block textarea:focus,
	.contact-form .jet-fb-form-block textarea:focus-visible,
	.contact-form .jet-fb-form-block select:focus,
	.contact-form .jet-fb-form-block select:focus-visible {
		outline: none;
		box-shadow: none;
		border-color: #e6a100; /* garde ta bordure normale plutôt que la couleur de focus */
	}

	.jet-form-builder-page input::placeholder,
	.jet-form-builder-page textarea::placeholder {
		color: #0d0e0d !important;
		opacity: 0.6;
	}

	.contact-form .jet-fb-form-block input::placeholder,
	.contact-form .jet-fb-form-block textarea::placeholder {
		color: #fff !important;
		opacity: 0.6;
	}

	.field-type-checkbox-field .jet-form-builder__field-label.for-checkbox > span::before {
		width: 16px !important;
		height: 16px !important;
		border: 1px solid #0d0e0d !important;
		background-color: #e6a100;
		border-radius: 3px;
		margin-top: 3px !important;
		display: grid;
		place-content: center;
		cursor: pointer;
	}

	.field-type-checkbox-field .jet-form-builder__label {
		color: #0d0e0d !important;
		margin-bottom: 5px;
	}

	.contact-form .field-type-checkbox-field .jet-form-builder__field-label.for-checkbox > span::before {
		width: 16px !important;
		height: 16px !important;
		border: 1px solid #e6a100 !important;
		background-color: #fff !important;
		border-radius: 3px;
		margin-top: 5px !important;
		display: grid;
		place-content: center;
		cursor: pointer;
	}

	.checkboxes-wrap label span {
		align-items: flex-start !important;
	}

	.field-type-checkbox-field .jet-form-builder__field-label.for-checkbox :checked + span::before {
		border-color: #0d0e0d !important;
		background-color: #e6a100 !important;
	}

	.contact-form .field-type-checkbox-field .jet-form-builder__field-label.for-checkbox :checked + span::before {
		border-color: #e6a100 !important;
		background-color: #e6a100 !important;
	}

	.jet-form-builder .field-type-checkbox-field span {
		color: #0d0e0d;
	}

	.contact-form .jet-form-builder .field-type-checkbox-field span {
		color: #fff !important;
	}