/* STYLE REFONTE 2025 */

/* SUMMARY */

/*

1. "refonte-2025" class on body (see header), to override header & footer
2. MAIN NOT HOMEPAGE
3. MAIN HOMEPAGE ONLY COMMONS
4. MAIN HOMEPAGE ONLY SECTIONS
5. ENCART PRE-FOOTER
6. SOUS-FOOTER
7. ENTIRE WEBSITE NEW COMMONS STYLES / OVERRIDES

/*




/* "refonte-2025" class on body (see header), to override header & footer */

.refonte-2025:not(.home) .header-menu__band__content .menu-header-container .menu-header > .menu-item {
	color: #1F3832 !important;
}

.refonte-2025 {

	.avis-verifies-widget {
		display: inline-flex;
		filter: hue-rotate(226deg) saturate(70%) brightness(1.5);
	}

	@media screen and (max-width: 930px) {
		padding-bottom: 70px;
	}

	/* SKIP LINK */
	.skip-link {
		padding: 1.25rem;
	    border: 2px solid black;
	    color: #000;
	    background: #fff;
	    position: fixed;
    	top: -12.5rem;
    	transition: transform .2s;
	}
	.skip-link:focus {
	    z-index: 1000;
    	transform: translateY(12.5rem);
	}

	/* HEADER OVERRIDE */
	.header-menu:not(.header-menu--on-top) {
		box-shadow: 0 0 8px 0px rgba(0, 0, 0, 0.2);
	}
	.header-menu {
		.header-menu__band {
			transition: .3s;
		}
	}

	@media screen and (min-width: 930px) {
		.header-menu--on-top {
			.header-menu__band {
				background: transparent;
				transition: .3s;
			}
			.header-menu__band__content .menu-header-container .menu-header > .menu-item {
				color: #fff;
			}
		}
	}
	
	.header-menu__band-container {
		max-width: none;
	}

	.header-menu__band__logo {
		width: auto;
		height: auto;
	}
	.header-menu__band__logo img {
		width: 63px;
        height: 82px;
	}
	@media screen and (max-width: 929px) {
		.header-menu__band__logo {
	        transform: none !important;
		}
	}
	@media screen and (min-width: 930px) {
		.header-menu__band__logo img {
			width: 73px;
	    	height: 120px;
		}
	}
	@media screen and (min-width: 1280px) {
	    .header-menu__band__logo img {
	        width: 93px;
	        height: 122px;
	    }
	}
	@media screen and (min-width: 1440px) {
	    .header-menu__band__logo img {
	        width: 103px;
	        height: 132px;
	    }
	}

	.header-menu__band__logo span {
		color: #1F3832;
		margin-top: 0;
		font-weight: 500;
		font-size: 12px;
		display: block;
        margin-left: 1em;
	}
	@media screen and (min-width: 1440px) {
	    .header-menu__band__logo span {
	        font-size: 16px;
	    }
	}

	@media screen and (max-width: 1279px) {
	    .header-menu__band__content {
	        padding-top: 28px;
	        padding-bottom: 28px;
	    }
	}

	@media screen and (min-width: 1740px) {
	    .header-menu__band__content .menu-header-container .menu-header .menu-item a{
	        font-size: 16px;
	    }
	}
	@media screen and (min-width: 1440px) {
	    .header-menu__band__content .menu-header-container .menu-header .menu-item {
	        padding: 10px 16px;
	    }
	    .header-menu__band__content .menu-header-container .menu-header .menu-item .sub-menu .menu-item {
	    	padding: 12px 20px;
	    }
	}
	@media screen and (min-width: 930px) {
	    .header-menu__band__content>div, .header-menu__band__content__btns {
	    	margin-left: 30px;
	    }
	}
	.header-repa {
		color: #1F3832;
		border: 1px solid transparent;
	}
	.header-repa:hover {
		background: #fff;
		color: #1F3832;
		border: 1px solid #1F3832;
	}
	@media screen and (min-width: 1280px) {
	    .header-menu__band__content .menu-header-container .menu-header .menu-item.menu-item-has-children:hover .sub-menu {
	        border-radius: 20px;
        	box-shadow: 0 0 8px 0px rgba(0, 0, 0, 0.2);
	    }
	}
	@media screen and (min-width: 930px) {
	    .header-menu__band__content .menu-header-container .menu-header .menu-item a:hover {
	        color: inherit;
	        text-decoration: underline;
	    }
	}

	.header-menu__band-container .header-tel {
		position: absolute;
		left: 200px;
		@media screen and (min-width: 1280px) {
			left: 320px;
		}
	}
	.header-menu--on-top .header-menu__band-container .header-tel {
		background: #fff;
		color: #1F3832;
	}


	.header-menu-navigation {
		top: 85px;
	}


	/* FOOTER OVERRIDE */
	.footer-menu__section-1 {
		@media screen and (max-width: 766px) {
			padding-top: 30px;
		}
		background: #1F3832;
	}
	.footer-menu .footer-container {
		max-width: 1680px;
        width: 100%;
	    gap: 10%;
	    padding-left: 30px;
	    padding-right: 30px;
	    @media screen and (min-width: 992px) {
	    	padding-left: 4vw;
	    	padding-right: 4vw;
	    }
	}
	@media screen and (min-width: 992px) {
	    .footer-menu .footer-left {
	    	margin-right: auto;
    		max-width: 300px;
	    }
	}
	.footer-logo {
		display: flex;
	    align-items: center;
	    justify-content: center;
	    color: #fff;
	    font-weight: 600;
	}

    .footer-menu__logo-france.france-desk {
        width: 120px;
        margin: 0;
    }

	.footer-headline {
		margin-left: 30px;
		font-weight: 600;
		max-width: 140px;
	}
	.footer-menu__contact {
		width: 100%;
    	max-width: 320px;
		@media screen and (min-width: 767px) {
			margin: 60px 0;
		}
		
	}
	.footer-menu__contact .color-white a {
		color: #fff;
		font-size: 16px;
		line-height: 1.2;
		text-decoration: underline;
	}



	.footer-right {
		text-align: center;
	}
	@media screen and (min-width: 1264px) {
		.footer-right {
			align-self: flex-start;
    		margin-top: 1.2em;
		}
	}

	.footer-menu .footer-container .footer-rs {
		margin-top: 2em;
	}
	@media screen and (min-width: 1264px) {
		.footer-menu .footer-container .footer-rs {
			margin-top: 7em;
		}
	}

	.footer-rs .rs-container .footer-list-title p {
		margin: 0 0 0.6em 0;
    	font-weight: 500 !important;
		font-size: 20px;
	}
	.footer-rs__links {
		filter: brightness(10);
		gap: 12px;
	}

    .footer-rs .rs-container {
    	display: block;
    }
    .footer-rs .rs-container a {
    	margin: 0;
    }

    @media screen and (max-width: 1227px) {
	    .footer-rs {
	    	margin: 10px auto;
	    }
	}
	.footer-menu .footer-container .footer-rs {
		width: 152px;
	}

    .footer-list-container {
    	display: flex;
	    align-items: flex-start;
	    max-width: 500px;
	    width: 100%;
	    margin: 10px auto 30px;
	    @media screen and (min-width: 992px) {
	    	max-width: 440px;
	    }
	    @media screen and (min-width: 1228px) {
			margin-right: 0;
		}
    }
    .footer-list-container .footer-list {
    	flex: 1;
    }
    .footer-link, .footer-link-cat {
    	font-size: 12px;
    }

    .footer-link a:active, a.footer-link:active, a.footer-link-cat:active,
    .footer-link a:focus, a.footer-link:focus, a.footer-link-cat:focus {
    	color: #fff !important;
    }

    @media (min-width: 540px) {
	    .footer-link, .footer-link-cat {
	        font-size: 14px;
	    }
	}

    @media (max-width: 767px) {
	    .footer-link, .footer-link-cat {
	        margin-left: 0px !important;
	    }
	}



	.footer-copyright {
		background: #1F3832;
	    padding: 0 4vw;
	}
	.footer-copyright-flex {
		border-top: 2px solid #35564C;
	    text-align: center;
	    padding: 20px 0;
	    color: #fff;
	    font-size: 12px;
	    display: flex;
	    flex-direction: column;
	    gap: 12px;
	}
	@media (min-width: 1025px) {
	    .footer-copyright-flex {
	        font-size: 14px;
		    flex-direction: row;
		    justify-content: space-between;
		    max-width: 1560px;
		    margin: 0 auto;
		    padding: 30px 0;
	    }
	}
	@media (min-width: 1600px) {
	    .footer-copyright-flex {
		    padding: 40px 0;
	    }
	}



    /* STICKY BOTTOM MOBILE (OVERRIDE) */
	.sticky-bottom-mobile {
		justify-content: flex-end;
	}
	.sticky-bottom-mobile__demande {
		color: #1F3832;
	}
	.sticky-bottom-mobile__demande:hover {
		background: #fff;
		color: #1F3832;
		border: 1px solid #1F3832;
	}


} /* END REFONTE 2025 */




/* MAIN NOT HOMEPAGE */
main:not(.main--home) {
	padding-top: 80px;
	@media screen and (min-width: 930px) {
		padding-top: 110px;
	}
}



/* MAIN HOMEPAGE ONLY */
.main--home {

	@media screen and (max-width: 929px) {
		margin-top: 80px;
	}


	/* --- COMMONS --- */

	/* new wrap max-width override */
	@media screen and (min-width: 768px) {
	    .container, .grid, .wrap {
	        max-width: calc(1540px + 8vw);
	    }
	}

	/* new heading styles */
	.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6 {
		font-weight: 400;
		span {
			font-weight: 700;
			@media screen and (min-width: 1025px) {
				display: block;
			}
		}
	}

	/* new main text color */
	color: #1F3832;


	/* --- COMPONENTS --- */

	/* fancy tag */
	span.f-tag {
		position: relative;
		display: inline-block;
		padding: 5px 18px;
		font-weight: 700;
		font-size: 16px;
		color: #1F3832;
		@media screen and (min-width: 1025px) {
    		font-size: 20px;
    		padding: 2px 18px;
    	}
	}
	span.f-tag:after {
		content: "";
		position: absolute;
		inset: 0;
		background: #8CCEB2;
        transform: rotate(-1.6deg);
	}
	span.f-tag > span {
		position: relative;
    	z-index: 1;
	}



	/* --- SECTIONS --- */

	
	/* section hero */
	.s-hero {
		background: #1F3832;

		.s-hero__flex {
			@media screen and (min-width: 1025px) {
				display: flex;
				justify-content: center;
				text-align: center;
			}
		}

		.s-hero__left {
			@media screen and (min-width: 1025px) {
				flex: 0 0 42%;
			}
		}

		.s-hero__right {
			@media screen and (min-width: 1025px) {
				flex: 1;
				padding-top: 70px;
			}
		}

		.s-hero__image {
			border-bottom-right-radius: 30px;
			border-bottom-left-radius: 30px;
			overflow: hidden;
			aspect-ratio: 1.70;
			@media screen and (min-width: 768px) {
				aspect-ratio: 2.70;
			}
			@media screen and (min-width: 1025px) {
				border-radius: 0;
				border-top-right-radius: 60px;
				border-bottom-right-radius: 60px;
				aspect-ratio: 0.9;
			}
			position: relative;
			
			img {
				width: 100%;
    			height: 100%;
    			object-fit: cover;
    			@media screen and (min-width: 768px) {
					object-position: top;
				}
				@media screen and (min-width: 1025px) {
					object-position: center;
				}
			}

			&::before {
				content: "";
				display: block;
                position: absolute;
                inset: 0;
                background-image: radial-gradient(circle at 28% 10%, #fff 0%, transparent 35%);
                background-image: radial-gradient(circle at 20% 10%, rgba(255, 255, 255, 90%) 10%, transparent 35%);
			}
		}

		.s-hero__body {
			color: white;
			padding: 24px;
			text-align: center;
			@media screen and (min-width: 1025px) {
				padding: 3.8% 5%;
			    height: 100%;
			    display: flex;
			    flex-direction: column;
			}
		}
		.s-hero__vcenter {
			margin: auto 0;
		}
		.s-hero__vcenter > * {
			margin-bottom: 25px;
		}

		.s-hero__title {
			font-size: 28px;
			b {
				font-weight: 600;
				display:  block;
			}
			@media screen and (min-width: 1025px) {
				font-size: calc(28px + (52 - 28) * ((100vw - 1025px) / (1920 - 1025)));
			}
		}
		.s-hero__tag .f-tag {
			font-weight: 600;
			font-size: 28px;
			strike {
				font-size: 20px;
			}
			small {
				width: 40px;
    			display: inline-block;
				font-size: 11px;
			}
			small + img {
				width: 50px;
			}
			@media screen and (max-width: 540px) {
				padding: 8px 6px;
			}
			@media screen and (min-width: 1281px) {
				font-size: 45px;
				strike {
					font-size: 25px;
				}
				small, small + img {
					vertical-align: 8px;
				}
			}
		}
		.s-hero__text {
			font-size: 16px;
			@media screen and (min-width: 1281px) {
				font-size: 20px;
				max-width: 570px;
			    margin-left: auto;
			    margin-right: auto;
			}
		}

		.hp-tet__square__selects {
			background: #fff;
		    width: fit-content;
		    margin: 0 auto;
		    border-radius: 100px;
		    border: 3px solid #fff;
		}
		.hp-tet__square__selects__1 {
			border-top-right-radius: 0;
    		border-bottom-right-radius: 0;
    		border: 0;
    		border-right: 1px solid #1F3832;
		}

		.hp-tet__square__selects__2 {
			border-radius: 0;
			border: 0;
		}

		.hp-tet__square__selects__btn {
			color: #1F3832;
			border: 1px solid transparent;
			width: auto;
			margin: 0 auto;
			display: flex;
			align-items: center;
			line-height: 1.2;

			@media screen and (min-width: 650px) {
				border-top-left-radius: 0;
	    		border-bottom-left-radius: 0;
			}
			
    		
		}
		.hp-tet__square__selects__btn:hover {
			background: #fff;
			color: #1F3832;
			border: 1px solid #1F3832;
		}

		.s-hero__avis {
			display: inline-flex;
			filter: hue-rotate(226deg) saturate(70%) brightness(1.5);
		}

		.s-hero__reassurance {
			text-align: left;
			font-size: 12px;
			font-weight: 600;
			@media screen and (min-width: 1025px) {
				font-size: 10px;
				display: flex;
				justify-content: space-around;
				gap: 30px;
			}
			@media screen and (min-width: 1440px) {
				font-size: 14px;
			}
		}
		.s-hero__reassurance .s-hero__reassurance__item {
			background: url(images/check-green.svg) no-repeat center left;
			padding: 5px 0 5px 34px;
			display: inline-block;
		}
		.s-hero__reassurance .swiper-wrapper .swiper-slide {
			text-align: center;
		}

		/* flex version (disable desktop) */
		@media screen and (min-width: 1025px) {
			.s-hero__reassurance {
				display: block;
			}
			.s-hero__reassurance .swiper-wrapper {
				transform: none;
    			justify-content: space-around;
			}
			.s-hero__reassurance .swiper-wrapper .swiper-slide {
				width: auto !important;
			}
		}
	}



	/* section diagnostic */
	.s-diag {
		margin: 40px 0;
		@media screen and (min-width: 1025px) {
			margin: 6vw 0;
		}

		.s-diag__flex {
			@media screen and (min-width: 1025px) {
				display: flex;
			}
		}

		.s-diag__left {
			@media screen and (min-width: 1025px) {
				flex: 0 0 42%;
				padding-right: 30px;
			}
			@media screen and (min-width: 1281px) {
				padding-right: 8%;
			}
		}

		h2 {
			font-size: 22px;
			@media screen and (min-width: 1025px) {
				font-size: 38px;
			}
		}

		.s-diag__left > *:not(:first-child) {
			margin-top: 32px;
		}

		.s-diag__image {
			max-width: 205px;
			aspect-ratio: 2.7;
			img {
				width: 100%;
    			height: 100%;
    			object-fit: cover;
				border-radius: 82px;
			}
		}

		.s-diag__right {
			margin-top: 30px;
			@media screen and (min-width: 1025px) {
				flex: 1;
				align-self: center;
				margin: 0;
			}
		}


		.s-diag__box {
			background: #8CCEB2;
			border-radius: 24px;
		    text-align: center;
		    padding: 28px 10px 10px;

		    background-image: url(images/csav-union-light.svg);
    		background-repeat: no-repeat;
            /*
            background-position: top -25vw center;
            background-position: top -50px center;
            background-size: 105%;
            */
            
            background-size: 400px;
            background-position: calc(50% - 30px) -33%;

            @media screen and (min-width: 1281px) {
            	padding-top: 20px;
				background-position: left -20px center;
    			background-size: auto 110%;
    			background-size: 58%;
			}
            
		}

		.s-diag__box__flex {
			@media screen and (min-width: 1281px) {
				display: flex;
				align-items: center;
			}
		}
		.s-diag__box__left {
			@media screen and (min-width: 1281px) {
				flex: 0 0 60%;
			}
		}
		.s-diag__box__left > * {
			margin-bottom: 20px;
		}

		.s-diag__box__left a {
			font-weight: 700;
			text-decoration: underline;
		}

		.s-diag__price1 {
			font-size: 14px;
			line-height: 0.8;
			sup {
				font-size: 32px;
			}
			strike {
				font-size: 48px;
				@media screen and (min-width: 768px) and (max-width: 1024px) {
					font-size: 60px;
				}
				@media screen and (min-width: 1281px) {
					font-size: 56px;
				}
				@media screen and (min-width: 1440px) {
					font-size: 70px;
				}
			}
		}
		.s-diag__price2 {
			font-size: 26px;
			line-height: 0.8;
			sup {
				font-size: 48px;
			}
			b {
				font-size: 80px;
				@media screen and (min-width: 768px) and (max-width: 1024px) {
					font-size: 120px;
				}
				@media screen and (min-width: 1281px) {
					font-size: 130px;
				}
				@media screen and (min-width: 1440px) {
					font-size: 170px;
				}
			}
		}

		.s-diag__quali {
			margin-top: 2.1em;
			@media screen and (min-width: 1281px) {
				display: flex;
                align-items: center;
                text-align: right;
                margin-right: 60px;
                margin-left: 30px;
			}
			img {
				display: block;
				margin: 10px auto;
			}
			b {
				@media screen and (min-width: 1281px) {
					display: block;
				}
			}
		}

		.s-diag__box__right {
			background: white;
		    padding: 24px;
		    border-radius: 20px;

		    p:not(:last-child):after {
			    display: block;
			    content: url(images/separator-plus.svg);
			    margin: 15px 0;
			}

			.btn {
	    		font-weight: 600;
	   			color: #1F3832;
			}
			.btn:hover {
				background: #fff;
				color: #1F3832;
				border: 1px solid #1F3832;
			}

			@media screen and (min-width: 768px) {
				p:not(:last-child):after {
				    margin: 20px 0;
				}
				.btn {
					font-size: 16px;
					margin-top: 0.8em;
				}
			}

			@media screen and (min-width: 1281px) {
				flex: 1;
				padding: 5% 24px;
			}
		}
	}


	/* section diagnostic */
	.s-intervention {
		margin: 40px 0;
		text-align: center;
		font-size: 16px;
		@media screen and (min-width: 768px) {
    		margin: 6vw 0;
    		font-size: 20px;
    	}

    	h2 {
			font-size: 22px;
			margin-bottom: 0.6em;
			@media screen and (min-width: 1025px) {
				font-size: 38px;
			}
		}
		span.f-tag {
			padding-left: 6px;
			padding-right: 6px;
		}

    	.slider-etapes {
    		margin-top: 36px;
    		text-align: left;
    		overflow: visible;
    		counter-reset: section;
    		@media screen and (min-width: 768px) {
	    		margin-top: 60px;
	    	}

	    	.swiper-slide {
    			height: auto;
    			counter-increment: section;
    		}

    		.slider-etapes__card {
    			background: #F6F4EC;
    			padding: 8px;
    			display: flex;
    			align-items: center;
    			border-radius: 16px;
    			height: 100%;
    			@media screen and (min-width: 1281px) {
    				min-height: 260px;
    			}
    		}

    		.slider-etapes__card__image {
    			flex: 0 0 38%;
    			align-self: stretch;
    			img {
					width: 100%;
	    			height: 100%;
	    			object-fit: cover;
	    			border-radius: 8px;
				}

				position: relative;
				&::before {
		    		content: counter(section);
                    font-size: 160px;
                    font-weight: bold;
                    position: absolute;
                    left: 94%;
                    top: 0;
                    line-height: 1;
                    opacity: 0.15;
		    	}
    		}

    		.slider-etapes__card__content {
    			margin: 0 16px;
    			font-size: 12px;
    			@media screen and (min-width: 768px) {
		    		margin: 0 24px;
		    	}
		    	@media screen and (min-width: 1025px) {
		    		margin: 0 32px;
		    		font-size: 14px;
		    	}
		    	@media screen and (min-width: 1281px) {
		    		margin: 0 42px;
		    	}

		    	h3 {
		    		font-size: 18px;
		    		font-weight: 700;
		    		margin-bottom: 0.8em;
		    		@media screen and (min-width: 1025px) {
			    		font-size: 20px;
			    	}
		    	}
    		}


    	}
	}



	/* section clients */
	.s-clients {
		background: #F6F4EC;
		padding: 40px 0;
		@media screen and (min-width: 768px) {
    		padding: 6vw 0;
    	}
    	@media screen and (min-width: 1025px) {
    		background-image: url(images/csav-union.svg);
    		background-repeat: no-repeat;
            background-position: right 2% center;
            background-size: 30% 88%;
    	}
    	@media screen and (min-width: 1800px) {
    		background-position: right 4% center;
    		background-size: 34% 94%;
    	}

    	h2 {
			font-size: 22px;
			@media screen and (min-width: 1025px) {
				font-size: 38px;
			}
		}


    	.s-client__items {
    		margin: 30px 0;
    		@media screen and (min-width: 1025px) {
	    		display: flex;
	    		gap: 6%;
	    		margin: 4.2% 0;
                margin-right: 30%;
	    	}
	    	@media screen and (min-width: 1440px) {
	    		gap: 10%;
	    	}
    	}

    	.s-client__item {
    		flex: 1;
    	}
    	.s-client__item:not(:first-child) {
    		@media screen and (max-width: 1024px) {
	    		margin-top: 20px;
	    	}
    		
    	}
    	.s-client__item__title {
    		margin-bottom: .5em;
    		font-size: 16px;
    		font-weight: 700;
    		text-align: center;
    		@media screen and (min-width: 1025px) {
	    		font-size: 20px;
	    		text-align: left;
	    	}
    	}

    	.s-client__item span.f-tag > span:before {
			content: "";
			display: inline-block;
            vertical-align: middle;
            margin-right: 8px;
			width: 24px;
			height: 24px;
		}
		.s-client__item:nth-child(1) span.f-tag > span:before {
			background: url(images/ico-rapidite.svg) no-repeat center;
			background-size: contain;
		}
		.s-client__item:nth-child(2) span.f-tag > span:before {
			background: url(images/ico-efficacite.svg) no-repeat center;
			background-size: contain;
		}
		.s-client__item:nth-child(3) span.f-tag > span:before {
			background: url(images/ico-ecoute.svg) no-repeat center;
			background-size: contain;
		}

    	.s-client__avis {
    		background: white;
    		border: 2px solid #1F3832;
    		border-radius: 10px;
    		position: relative;
    	}

    	@media screen and (min-width: 1025px) {
	    	.s-client__avis::before {
	    		content: "";
	            display: block;
	            position: absolute;
	            right: -20px;
	            bottom: 100%;
	            width: 26%;
	            max-width: 420px;
	            aspect-ratio: 1;
	            background-image: url(images/reparateur-client-csav.png);
	            background-position: center bottom;
	    		background-repeat: no-repeat;
	            background-size: contain;
	    	}
	    }

	    .s-client__avis__flex {
	        padding: 32px;
	    }
	    @media screen and (min-width: 1025px) {
	    	.s-client__avis__flex {
		        display: flex;
		        align-items: center;
		    }
	    }

	    .s-client__avis__flex > *:nth-child(1) {
	    	text-align: center;
	    }
	    @media screen and (min-width: 1025px) {
	    	.s-client__avis__flex > *:nth-child(1) {
		    	text-align: center;
		    	flex: none;
    			margin-right: 4%;
		    }
	    }
    	

    	.s-client__avis__flex > *:nth-child(2) {
	    	margin-top: 2em;
    		min-width: 0;
	    }
	    @media screen and (min-width: 1025px) {
	    	.s-client__avis__flex > *:nth-child(2) {
		    	margin: 0;
		    }
	    }

	    .s-client__avis__flex > *:nth-child(2) .swiper-slide > *:nth-child(1) {
	    	font-weight: 500;
		    font-size: 12px;
		    margin-bottom: 1em;
	    }
	    @media screen and (min-width: 1025px) {
	    	.s-client__avis__flex > *:nth-child(2) .swiper-slide > *:nth-child(1) {
		    	font-size: 14px;
		    }
	    }


	    .slider-avis-outer {
	    	position: relative;
	    }
	    .slider-avis-outer .swiper-button-prev, .slider-avis-outer .swiper-button-next {
	    	width: 32px;
		    height: 32px;
		    border-radius: 50%;
		    border: 0;
		    background: #7DB72F url(images/arrow-right.svg) no-repeat center;
	    }
	    .slider-avis-outer .swiper-button-prev:after, .slider-avis-outer .swiper-button-next:after {
	    	display: none;
	    }
	    .slider-avis-outer .swiper-button-prev {
	    	left: -48px;
	    	transform: rotate(180deg);
	    }
	    .slider-avis-outer .swiper-button-next {
	    	right: -48px;
	    }
    	
	}



	/* SECTION ENVIRONNEMENT */
	.hp-compteur {
		background: #1F3832;

		.btn {
			font-size: 16px;
    		font-weight: 600;
   			color: #1F3832;
		}
		.btn:hover {
			background: #fff;
			color: #1F3832;
			border: 1px solid #1F3832;
		}
	}
	.hp-compteur__bg {
		align-self: normal;
	}
	.hp-compteur__bg img {
		width: 100%;
		@media screen and (max-width: 929px) {
    		aspect-ratio: 1.4;
    		object-fit: cover;
    	}
	}
	    

	.env-posts {
		padding: 0 20px;
		max-width: 840px;
		margin: 0 auto;
		@media screen and (min-width: 768px) {
    		display: flex;
    		gap: 20px;
    	}
	}
	.env-post {
		margin-bottom: 20px;
		display: flex;
		background: #fff;
		border-radius: 	16px;
		padding: 8px;
		@media screen and (min-width: 768px) {
			flex: 1;
		}
		position: relative;
	}
	.env-post:after {
		content: "";
        position: absolute;
        display: block;
        width: 38px;
        height: 38px;
        background: #7DB72F url(images/arrow-right.svg) no-repeat center;
        border-radius: 50%;
        bottom: 20px;
        right: 20px;
	}
	.env-post__image {
		aspect-ratio: 0.6;
        border-radius: 16px;
        overflow: hidden;
        flex: 0 0 35%;
        @media screen and (min-width: 1440px) {
        	aspect-ratio: 0.8;
        	flex: 0 0 40%;
        }
	}
	.env-post__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	.env-post__title {
		color: #1F3832;
        font-size: 16px;
        font-weight: 500;
        padding: 16px;
        @media screen and (min-width: 1440px) {
        	font-size: 20px;
	        padding: 22px;
        }
	}



	/* SECTION CONSEILS */
	.s-conseils {

		margin: 40px 0;
		@media screen and (min-width: 768px) {
    		margin: 6vw 0;
    	}

		.pro-advice {
			margin: 0;
		}
		.partial-hp-title {
			margin-top: 0;
			margin-bottom: 1em;
			font-size: 22px !important;
			@media screen and (min-width: 1025px) {
				font-size: 38px !important;
			}
		}
		@media (min-width: 1210px) {
		    .pro-advice .partial-hp-title {
		        margin-bottom: 48px;
		    }
		}

		.btn {
			font-size: 16px;
    		font-weight: 600;
   			color: #1F3832;
		}
		.btn:hover {
			background: #fff;
			color: #1F3832;
			border: 1px solid #1F3832;
		}

		.conseils-list__grid {
			width: 1540px;
			margin-top: 1em;
			margin-bottom: 3.6em;
		}
		.conseils-list__grid__post__title {
			padding: 0;
			font-weight: 600;
		}

	}


	/* SECTION FAQ */
	.s-faq {
		background: #F7F7F0;
		padding: 40px 0;
		@media screen and (min-width: 1025px) {
    		padding: 6vw 0;
    	}
    	@media screen and (max-width: 1024px) {
    		text-align: center;
    	}

    	.s-faq__flex {
			@media screen and (min-width: 1025px) {
				display: flex;
			}
		}

		.s-faq__left {
			@media screen and (min-width: 1025px) {
				flex: 0 0 42%;
				padding-right: 4%;
				position: relative;
			}
		}

		.s-faq__content {
			@media screen and (min-width: 1025px) {
			    position: relative;
			    z-index: 1;
			    max-width: 300px;
			}
			h2 {
				font-size: 22px;
				font-weight: 600;
				margin-bottom: 0.6em;
				@media screen and (min-width: 1025px) {
					font-size: 38px;
				}
			}
		}

		.s-faq__image {
			margin-top: 25px;
			@media screen and (min-width: 1025px) {
			    position: absolute;
			    top: 0;
			    right: 6%;
			}
		}

		.s-faq__right {
			@media screen and (max-width: 1024px) {
				margin-top: 25px;
			}
			@media screen and (min-width: 1025px) {
				flex: 1;
			}
		}
	}

	/* accordion styles */
	.accordion {
		text-align: left;
	}

	.accordion-item {
		margin-bottom: 10px;
	    border-radius: 10px;
	    border: 0;
	    /*overflow: hidden;*/
	    background-color: #fff;
	}

	.accordion-header {

	}
	.accordion-button {
		padding: 1.25rem 1.85rem;
		padding-right: 54px;
		width: 100%;
		font-size: 16px;
		color: #1F3832;
		font-weight: 600;
		@media screen and (min-width: 1025px) {
			font-size: 20px;
		}
		position: relative;
	}
	.accordion-button:focus {
		outline: 0;
	}
	.accordion-button:focus-visible {
		border: 2px solid #8CCEB2;
		border-radius: 8px;
	}
	

	.accordion-button:hover {
		text-decoration: underline;
	}

	.accordion-button:after {
		content: "-";
		position: absolute;
        right: 20px;
        color: #7DB72F;
        font-size: 28px;
        font-weight: 200;
        top: 0;
        bottom: 0;
        display: flex;
        align-items: center;
	}

	.accordion-button.collapsed:after {
		content: "+";
	}
	.accordion-body {
		margin: 0 1.85rem;
		padding: 1.25rem 0;
        border-top: 1px solid #E4E4E4;
	}



	/* SECTION ACTUALITES */
	.s-actus {

		margin: 40px 0;
		@media screen and (min-width: 768px) {
    		margin: 6vw 0;
    	}

		.pro-advice {
			margin: 0;
		}
		.partial-hp-title {
			margin-top: 0;
			margin-bottom: 1em;
			font-size: 22px !important;
			@media screen and (min-width: 1025px) {
				font-size: 38px !important;
			}
		}
		@media (min-width: 1210px) {
		    .pro-advice .partial-hp-title {
		        margin-bottom: 48px;
		    }
		}

		.btn {
			font-size: 16px;
    		font-weight: 600;
   			color: #1F3832;
   			line-height: inherit;
   			margin: 0;
		}
		.btn:hover {
			background: #fff;
			color: #1F3832;
			border: 1px solid #1F3832;
		}

		.hp-conseils .hp-conseils__posts {
			width: 1540px;
			margin-top: 1em;
			margin-bottom: 3.6em;
			@media (min-width:650px) and (max-width:930px) {
			    flex-direction: column;
    			align-items: center;
			}


		}
		.hp-conseils__posts__card__title {
			font-weight: 600;
		}

	}


} /* END MAIN HOME */



/* ENCART PRE-FOOTER */
.s-panne-rdv {

	background: linear-gradient(to bottom, #fff 50%, #1F3832 0);

	.wrap {
		@media screen and (min-width: 768px) {
			max-width: calc(1540px + 8vw);
		}	
	}

	.s-panne-rdv__box {
		background: #1F3832;
		background: #2C574E;
		position: relative;
		border-radius: 16px;
	    text-align: center;
	    padding: 40px;
	    color: #fff;

	    @media screen and (min-width: 768px) {
	    	padding: 4% 10%;
	    }
	}

	.s-panne-rdv__box::before {
		content: "";
		position: absolute;
		inset: 0;
		background-image: url(images/bg-appareil-panne.jpg);
		background-repeat: no-repeat;
		background-position: center;
		background-size: cover;
		mix-blend-mode: multiply;
		filter: saturate(0);
		opacity: 0.5;
		border-radius: 16px;
	}

	.s-panne-rdv__content {
		position: relative;
		h2 {
			font-size: 22px;
			@media screen and (min-width: 1025px) {
				font-size: 38px;
			}
			@media screen and (min-width: 1440px) {
				font-size: 52px;
			}
			span {
				font-weight: 600;
				display: block;
			}
		}
	}

	.s-panne-rdv__content > *:not(:first-child) {
		margin-top: 1.8em;
	}

	.btn {
		font-size: 16px;
        font-weight: 600;
        color: #1F3832;
	}
	.btn:hover {
		background: #fff;
		color: #1F3832;
		border: 1px solid #1F3832;
	}


}


/* SOUS-FOOTER */
.sous-footer {

	/* new main text color */
	color: #1F3832;

	padding: 40px 0;
	@media screen and (min-width: 1025px) {
		padding: 6vw 0 5vw;
	}
	.sous-footer__flex {
		@media screen and (min-width: 1025px) {
			display: flex;
		}
	}

	.sous-footer__left {
		margin-bottom: 2em;
		@media screen and (min-width: 1025px) {
			flex: 0 0 42%;
			padding-right: 4%;
		}
	}

	.sous-footer__title {
		font-size: 28px;
    	font-weight: 600;
    	line-height: 1.2;
		@media screen and (min-width: 1025px) {
			font-size: 38px;
		}
	}

	.sous-footer__right {
		@media screen and (min-width: 1025px) {
			flex: 1;
		}
	}

	.sous-footer__list {
		margin-top: 2em;
		columns: 2;
		@media screen and (min-width: 768px) {
			columns: 4;
		}
		@media screen and (min-width: 1281px) {
			columns: 6;
		}
	}
	.sous-footer__list li {
		margin-bottom: 0.8em;	
	}
	.sous-footer__list li a:hover {
		text-decoration: underline;
	}

}

.sous-footer-2 {
	border-top: 1px solid #E4E4E4;
}



/* ENTIRE WEBSITE NEW COMMONS STYLES / OVERRIDES */

/* masquage accessible = visually hidden */
.visually-hidden,
.visually-hidden-focusable:not(:focus, :focus-within) {
	border: 0 !important;
	clip-path: inset(50%) !important;
	height: 1px !important;
	margin: -1px !important;
	overflow: hidden !important;
	padding: 0 !important;
	width: 1px !important;
	white-space: nowrap !important;
}

.visually-hidden:not(caption),
.visually-hidden-focusable:not(caption):not(:focus, :focus-within){
	position: absolute !important;
}

.visually-hidden *,
.visually-hidden-focusable:not(:focus, :focus-within) * {
	overflow: hidden !important;
}



/* buttons (btn) */
.refonte-2025 .btn,
.refonte-2025 .annonces-list__card__link,
.refonte-2025 .conseils-list__grid__encart__link,
.refonte-2025 .conseils-list__btnPagination,
.refonte-2025.page-template-lp-besoin-reparation .lp-besoin-reparation-btn {
	background: #7DB72F;
	color: #1F3832;
	border: 1px solid transparent;
	font-weight: 600;
}
.refonte-2025 .btn:hover,
.refonte-2025 .annonces-list__card__link:hover,
.refonte-2025 .conseils-list__grid__encart__link:hover,
.refonte-2025 .conseils-list__btnPagination:hover,
.refonte-2025.page-template-lp-besoin-reparation .lp-besoin-reparation-btn:hover {
    background: #fff;
    color: #1F3832;
    border: 1px solid #1F3832;
}

.refonte-2025 .alm-btn-wrap .alm-load-more-btn {
	background: #7DB72F !important;
	color: #1F3832 !important;
	border: 1px solid transparent !important;
	font-weight: 600 !important;
}
.refonte-2025 .alm-btn-wrap .alm-load-more-btn:hover {
    background: #fff !important;
    color: #1F3832 !important;
    border: 1px solid #1F3832 !important;
}



/* services__steps__step__text */
.refonte-2025 .services__steps__step__text a {
	text-decoration: underline;
}
.refonte-2025 .services__fonctionnement__grid {
	background-color: #334642 !important;
}



/* sitemap-pages */
.refonte-2025 .sitemap {
	margin: 6vw 0;
}
.refonte-2025 .sitemap-pages {
	columns: 2;
    margin: 2em 0;
    column-gap: 20px;
}
@media screen and (min-width: 1025px) {
	.refonte-2025 .sitemap-pages {
		columns: 3;
	    column-gap: 30px;
	}
}
.refonte-2025 .sitemap-pages li {
	margin: 0.6em 0;
}
.refonte-2025 .sitemap-pages li a {
	text-decoration: underline;
}

.refonte-2025 .conseils-list__grid__video__img__child {
	background-color: #1F3832;
}
.refonte-2025 .conseils-list__grid__encart {
	background-color: #1F3832;
}

.refonte-2025 .conseils-more__container h2 {
	background: #1F3832;
}

.refonte-2025 .conseils-more__grid__post__vignettes__vign,
.refonte-2025 .conseils-list__grid__post__vignettes__vign {
	border-width: 2px !important;
	background: #fff;
	font-weight: 600;
}

.refonte-2025 #compteurJSRepa i {
	display: inline-block;
    padding: 0 25px;
    margin: 0 2px;
    border: 1px solid #FFF;
    border-radius: 5px;
    height: 106px;
    line-height: 106px;
    font-style: normal;

}
@media (max-width: 649px) {
    .refonte-2025 #compteurJSRepa i {
        padding: 0 13px;
        margin: 0 1px;
        height: 55px;
        line-height: 55px;
    }
}


.refonte-2025.page-template-lp-besoin-reparation .header-menu, 
.refonte-2025.page-template-lp-besoin-reparation .footer-menu {
	display: block !important;
}


.refonte-2025 .services__tet__left__title {
	color: #fff;
}

.refonte-2025 .services__tet__left__label__link {
	background: #7DB72F;
    color: #1F3832;
    border: 1px solid transparent;
    font-weight: 600;
    border-radius: 50px;
    padding: 5px 20px;
}


/* PAGE QSN RGAA FIX  */
.qsn__nature__practice.swiper-slide {
	background-color: #8cceb2 !important;
}
section.qsn__cta {
	background-color: #1F3832 !important;
}

.qsn__nature__baseline {
	background-color: #1F3832 !important;
}

/* PAGE LP RGAA FIX */
h3.lp-besoin-reparation-reparationapp__list__title {
	color: #1F3832 !important;
}


/* focus element fix */
div:focus, button:focus, section:focus, a:focus, a:active, img:focus {
	border: 0 !important;
	color: inherit !important;
}
div:focus-visible, button:focus-visible, section:focus-visible, a:focus-visible, img:focus-visible {
	border: 1px solid black !important;
	outline: 1px solid white !important;
}


/* footer margin fix */
.refonte-2025.page-template-hub-conseils .footer-menu {
	margin-top: 80px;
}
@media screen and (min-width: 1025px) {
	.refonte-2025.page-template-engagements .footer-menu,
	.refonte-2025.page-template-hub-conseils .footer-menu,
	.refonte-2025.page-template-page_univers .footer-menu {
		margin-top: 8vw;
	}
}

/* footer bg fix */
.refonte-2025.page-template-page_services .s-panne-rdv,
.refonte-2025.blog .s-panne-rdv {
	background: linear-gradient(to bottom, #F7F7F0 50%, #1F3832 0);
}


.refonte-2025 .uni-steps {
	background-color: #1F3832;
}

.refonte-2025.page-template-lp-besoin-reparation .lp-besoin-reparation-hero__illu__mask__desk {
	margin-top: 0;
}

.refonte-2025 .menu-mobile-btns-1 {
	font-weight: 600;
	color: #1F3832 !important;
}