/* ----------- LANGUAGES MENU POLYLANG ----------- */

.menu-item.lang-item {
    display: flex;
    align-items: center;
    margin-left: 9px;
    margin-right: 0;
    padding: 0;
}
.menu-item.lang-item a {
    display: flex;
    padding: 6px 18px;
    border-radius: 20px;
    background: #f5f5f5;
    color: #27633A;
    border: 1px solid #e0e0e0;
    transition: background 0.2s, color 0.2s, border 0.2s;
    text-decoration: none;
}
.menu-item.lang-item.current-lang a,
.menu-item.lang-item a:focus,
.menu-item.lang-item a:hover {
	background: #27633A;
	color: #fff;
	border: 1px solid #27633A;
}
.menu-item.lang-item:not(:last-child) a {
	margin-right: 4px;
}
/* Séparateur visuel entre langues */
.menu-item.lang-item:not(:last-child)::after {
	content: '|';
	color: #bbb;
	margin-left: 6px;
	margin-right: 2px;
	font-weight: 400;
	font-size: 1em;
	vertical-align: middle;
}
/* ----------- END LANGUAGES MENU POLYLANG ----------- */
/* Caractéristiques ACF sous la description produit */
.synovo-description-features {
	margin-top: 40px;
}
.synovo-description-features h3 {
	font-size: 2.2rem;
	margin-bottom: 20px;
	color: var(--couleurh2, #27633a);
}
.synovo-features-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 24px 40px;
}
.synovo-feature-item {
	flex: 1 1 300px;
	background: #f8f8f8;
	border-radius: 10px;
	padding: 18px 22px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.synovo-feature-title {
	display: block;
	font-weight: 700;
	font-size: 1.15em;
	margin-bottom: 8px;
	color: var(--couleurh3, #27633a);
}
.synovo-feature-desc {
	font-size: 1em;
	color: var(--couleurp, #222);
}
@media (max-width: 900px) {
	.synovo-features-list {
		flex-direction: column;
		gap: 16px;
	}
}
/* Mise en page description WooCommerce avec image ACF à droite */
.synovo-description-acf-row {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	margin-bottom: 40px;
}
/* Largeur 49% pour l'image, 51% pour le contenu si image présente */
.synovo-description-acf-row {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	margin-bottom: 40px;
}
.synovo-description-acf-content {
	width: 51%;
}
.synovo-description-acf-image {
	width: 49%;
	max-width: 100%;
}
.synovo-description-acf-image img {
	width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.07);
}
@media (max-width: 900px) {
	.synovo-description-acf-row {
		flex-direction: column;
		gap: 20px;
	}
	.synovo-description-acf-content,
	.synovo-description-acf-image {
		width: 100%;
		max-width: 100%;
	}
}
@media (max-width: 900px) {
	.synovo-description-acf-row {
		flex-direction: column;
		gap: 20px;
	}
	.synovo-description-acf-image {
		max-width: 100%;
	}
}
/*
	Theme Name: Synovo
	Theme URI: https://www.synovo-group.com/
	Description: Synovo-group WordPress Theme
	Version: 1.0.0
	Author: Jolifisheurope
	Author URI: https://jolifish.fr

*/
/*------------------------------------*\
    MAIN
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
/* html element 62.5% font-size for REM use */
html {
	font-size:62.5%;
	scroll-behavior: smooth;
}
body {
	font:300 11px/1.4 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-family: var(--font);
	color:#000;
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}
.clear {
    zoom:1;
}
img {
	max-width:100%;
	vertical-align:bottom;
}
a {
	color:#444;
	text-decoration:none;
}
/* a:hover {
	color:#444;
} */
a:focus {
	outline:0;
}
a:hover,
a:active {
	outline:0;
}
input:focus {
	outline:0;
	border:1px solid #04A4CC;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/


/* wrapper */
.wrapper {
	max-width:1280px;
	width:95%;
	margin:0 auto;
	position:relative;
}
/* header */
.header {

}
/* logo */
.logo {

}
.logo-img {

}
/* nav */
.nav {

}
/* sidebar */
.sidebar {

}
/* footer */
.footer {

}

/*------------------------------------*\
    PAGES
\*------------------------------------*/



/*------------------------------------*\
    IMAGES
\*------------------------------------*/



/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
	font-family:'Font-Name';
	src:url('fonts/font-name.eot');
	src:url('fonts/font-name.eot?#iefix') format('embedded-opentype'),
		url('fonts/font-name.woff') format('woff'),
		url('fonts/font-name.ttf') format('truetype'),
		url('fonts/font-name.svg#font-name') format('svg');
    font-weight:normal;
    font-style:normal;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (min-width:320px) {

}
@media only screen and (min-width:480px) {

}
@media only screen and (min-width:768px) {

}
@media only screen and (min-width:1024px) {

}
@media only screen and (min-width:1140px) {

}
@media only screen and (min-width:1280px) {

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}
/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}


/*------------------------------------*\
    SINGLE PAGE
\*------------------------------------*/

.single .single-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px;
}
.single .single-content .content a{
	color: var(--couleurhrefblog);
}
.single .single-content .content a:hover{
	transition: 0.3s;
	opacity: 0.7;
}
.single .post {
    border-radius: 17px;
    padding-top: 70px;
}

.single .image {
    height: 400px;
    width: 100%;
    position: relative;
}

.single .image img{
	height: 100%;
	width: 100%;
	object-fit: cover;
	border-radius: 17px;
}
.single .single-content h1 {
    font-size: 60px;
    color: var(--couleurh1);
    font-family: 'montserrat', sans-serif;
    line-height: 1;
    margin: 0;
}

.single .category ul {
    width: 100%;
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}
.single .category ul li{
	margin: 3px;
	margin-bottom: 17px;
}
.single .category ul li a {
    font-size: 17px;
    transition: 0.3s;
    opacity: 1;
    color: #000000;
    border-radius: 7px;
}

.single .category ul li a:hover{
	color: var(--couleurtextebuttonhover);
	background: var(--backgroundbuttonhover);
}

.single .single-content .infos{
	display: flex;
	margin-top: 10px;
	color: var(--couleurblog);
	font-weight: 700;
	margin: 17px 0;
}

.single .single-content  .infos .date {
    display: flex;
    flex-wrap: wrap;
    color: #000;
    font-size: 17px;
    margin-top: 10px;
}
.single .date-jour{
	margin-right: 10px;
}

.single .eta{
	margin-right: 10px;
}

.single .auteur{
	margin-left: 10px;
}

.single .timer svg{
	height: 20px;
	width: 31px;
}

.single .timer{
	margin-left: 4px;
}

.single .single-content .autres-articles{
	width: 100%;
	margin: 20px 0;
	display: flex;
	justify-content: space-between;
}

.single .single-content .autres-articles .content-left{
	width: 45%;
	height: 250px;
	display: flex;
	justify-content: center;
	position: relative;
}
.single .bloc_actualites_gutenberg_block .actu-thumb img {
    width: 100%;
    object-fit: cover;
    height: 300px;
    border-radius: 10px;
    display: block;
}
.single .single-content .autres-articles .content-right{
	width: 45%;
	height: 250px;
	position: relative;
}

.single .single-content .autres-articles .image{
	width: 100%;
	height: 100%;
}

.single .single-content .autres-articles .image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 17px;
}

.single .single-content .autres-articles .title{
	background: rgba(0, 0, 0, 0.2);
	width: 100%;
	height: 100%;
	position: absolute;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	border-radius: 17px;
	transition: 0.3s;
	font-size: 20px;
	color: #FFF;
	opacity: 1;
	text-align: center;
}

.single .single-content .autres-articles .title:hover{
	background: rgba(0, 0, 0, 0.53);
	transition: 0.3s;
}


.single .single-content .autres-articles .content-left svg{
	width: 41px;
	height: 41px;
	position: absolute;
	bottom: 20px;
	left: 20px;
	color: #FFF;
	border-radius: 49%;
	padding: 7px;
	opacity: 1;
	background: var(--couleurblog);
}

.single .single-content .autres-articles .content-right svg{
	width: 41px;
	height: 41px;
	position: absolute;
	bottom: 20px;
	right: 20px;
	border-radius: 49%;
	color: #FFF;
	padding: 7px;
	opacity: 1;
	background: var(--couleurblog);
}

.single .single-content .commentaires{
	width: 100%;
	margin: 20px auto;
	box-shadow: 0 3px 6px #c0c0c0;
	padding: 20px;
	font-size: 17px;
	border-radius: 17px;
}

.single .single-content .commentaires input{
	padding: 7px;
	width: 100%;
}

.single .single-content .commentaires h3{
	text-align: center;
}

.single .single-content .autres-articles .content-left a{
	width: 100%;
}

.single .single-content .autres-articles .content-right a{
	width: 100%;
}

.single .single-content .commentaires h2{
	font-size: 24px;
	text-align: center;
}

.single .single-content .commentaires input{
	padding: 10px;
	border-radius: 17px;
	border: 1px solid var(--couleurblog);
}

.single .single-content .commentaires textarea{
	padding: 10px;
	width: 100%;
	border-radius: 17px;
	border: 1px solid var(--couleurblog);
}

.single .single-content .commentaires label{
	opacity: 0;
	font-size: 0;
}

.single .single-content .commentaires .comment-form-cookies-consent label{
	opacity: 1;
	font-size: initial;
}

.single .single-content .commentaires  input[type="submit"]{
	width: fit-content;
	border: 1px solid var(--couleurborderbutton);
	background: var(--backgroundbutton);
	color: var(--couleurtextebutton);
	transition: 0.3s;
}

.single .single-content .commentaires input[type="submit"]:hover{
	background: var(--backgroundbuttonhover);
	transition: 0.3s;
	color: var(--couleurtextebuttonhover);
}

.single .single-content .commentaires .comment-form-cookies-consent input{
	width: fit-content;
}


.single .single-content .sidebar{
	height: fit-content;
	min-width: 350px;
	border-radius: 17px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-left: 39px;
}

.single .sidebar .articles{
	width: 100%;
	padding: 20px;
	border-radius: 17px;
	box-shadow: 0 3px 6px #c0c0c0;
	margin-top: 10px;
}

.single .sidebar .articles .titre{
	font-size: 24px;
	padding: 17px;
}

.single .sidebar .articles .list-articles{
	width: 100%;
}

.single .single-content .sidebar .articles .list-articles .article a{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.single .single-content .sidebar .articles .list-articles .article .image{
	width: 71px;
	height: 71px;
}

.single .single-content .sidebar .articles .list-articles .article .image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 49%;
}

.single .single-content .sidebar .articles .list-articles .article .titre{
	font-size: 15px;
	min-width: 231px;
	color: var(--couleurhrefblog);
	max-width: 237px;
	padding: 17px 0;
	padding-left: 17px;
}

.single .single-content .sidebar .articles .list-articles .article a:hover{
	opacity: 0.7;
}

@media only screen and (max-width:997px) {
	.single .single-content {
		flex-direction: column;
		padding: 10px;
	}
	.single .single-content h1 {
		font-size: 35px;
	}
	.single .single-content .sidebar{
		margin-left: 0;
		margin-bottom: 17px;
	}

	.single .single-content .autres-articles{
		flex-direction: column;
	}

	.single .single-content .autres-articles .content-left{
		width: 100%;
		margin-bottom: 20px;
	}

	.single .single-content .autres-articles .content-right{
		width: 100%;
	}
}

/*------------------------------------*\
    FRONT PAGE
\*------------------------------------*/




/*------------------------------------*\
    FOOTER
\*------------------------------------*/

.footer{
	background: var(--couleurFondFooter);
	position: relative;
}



.footer .content h4{
	font-weight: 700;
	color: var(--couleurh4footer);
}

.footer .copyright{
	font-size: 17px;
	text-align: center;
	padding: 17px 0;
	margin: 0;
	color: var(--couleurparagraphefooter);
}

.footer .mentions{
	bottom: 30px;
	position: absolute;
	right: 17px;
	font-size: 17px;
}

.footer a{
	color: var(--couleurhreffooter);
	transition: 0.3s;
}

.footer  a:hover{
	color: var(--couleurhrefhoverfooter);
	transition: 0.3s;
}


.footer .content {
    margin-top: 100px;
}
.footer .content p {
    font-size: 17px;
    max-width: 250px;
}
.footer .content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 30px;
    border-radius: 20px;
}


.footer .logo-footer {
    width: 40%;
    max-width: 300px;
}

.footer .menu-footer {
    width: 60%;
}



.footer .menu-footer-left ul {
    margin: 20px 0;
    display: flex;
    padding: 0;
    list-style: none;
}

.footer .copyrights {
    font-size: 20px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.footer .copyrights .left-copyright {
    display: flex;
    justify-content: center;
    align-items: center;
}
.footer .copyrights .social {
    display: flex;
    gap: 20px;
}
.footer .copyrights .menu-extra {
    display: flex;
    flex-direction: row;
    gap: 1.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: initial;
}
.footer .copyrights .menu-extra a {
    display: block;
    padding: 1rem 2rem;
    color: #000000;
    font-size: 15px;
}



@media only screen and (max-width:997px){
	.footer .content{
		flex-direction: column;
		align-items: center;
		text-align: center;
	}
	.footer .copyrights .menu-extra {
		display: flex;
		gap: 0;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.footer .menu-footer {
		width: 100%;
		flex-direction: column;
	}

	.footer .menu-footer {
		width: 100%;
	}
	.footer .content .logo{
		align-items: center;
	}
	.footer .copyrights {
    flex-direction: column;
    display: flex;
}
	.footer .copyrights .left-copyright {
		display: flex;
		flex-direction: column;
	}
	.footer .social{
		align-items: center;
	}
}

.footer a {
    font-size: 15px;
}
/* EXTRA MENU EN GRILLE 4x3 */
.menu-extra {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: 900px;
}
.first-menu a {
    padding: 10px 20px;
    padding-right: 45px;
    font-size: 20px;
    display: flex;
    font-weight: 700;
}
.second-menu a {
    font-weight: 500;
}
.three-menu a {
    font-weight: 300;
}
.menu-extra li ul .menu-left ul {
    display: flex;
    flex-direction: column;
    padding: 0;
    padding-left: 17px;
}
.menu-extra li ul li ul {
    display: flex;
    flex-direction: column;
    padding: 0;
}
.menu-extra li ul  {
    padding: 0;
    display: flex;
}
.menu-extra li {
    display: flex;
    flex-direction: column;
}
.menu-extra a {
    display: block;
    padding: 1rem 2rem;
    font-size: 1.5rem;
}
.menu-extra a:hover {
    color: #b3a4a4;
}
.footer .menu-extra {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: minmax(0, auto);
    gap: 3px 0px;
    justify-content: center;
    padding: 0;
    list-style: none;
    max-width: 465px;
}
.footer .menu-extra > li {
    display: flex;
    justify-content: center;
    min-width: 0;
    margin: 0;
    padding: 0;
}
@media (max-width: 900px) {
	.footer .menu-extra {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 600px) {
	.footer .menu-extra {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 900px) {
	.footer .menu-extra {
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: repeat(6, auto);
	}
	.first-menu a {
		justify-content: center;
	}
	.footer .menu-extra li {
		display: flex;
		flex-direction: column;
		text-align: center;
	}
	.footer .menu-extra li ul {
		padding: 0;
		display: flex;
		flex-direction: column;
	}
	
}
@media (max-width: 600px) {
	.footer .menu-extra {
    grid-template-rows: repeat(1, auto);
}
}



/*------------------------------------*\
    BLOCK
\*------------------------------------*/


.wp-block-media-text {
	width: 90%;
	margin: 50px auto;
    max-width: 1400px;
}

.nf-form-cont {
	width: 90%;
	margin: 0 auto;
	padding: 50px 0;
    max-width: 1400px;
}

.wp-block-gallery {
	width: 90%;
	margin: 50px auto;
    max-width: 1400px;
}


/*------------------------------------*\
    HEADER
\*------------------------------------*/


.header {
    margin-top: 23px;
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    z-index: 99;
}
.header .logo img{
	height: 71px;
	width: auto;
	object-fit: contain;
}

.header nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header nav ul {
    display: flex;
    box-shadow: 0px 0px 0px 1px #c0c0c085;
    padding: 0 20px;
    font-size: 17px;
    list-style: none;
    background: #27633a;
    border-radius: 50px;
}
.header nav ul li{
	margin: 0 30px;
}
.header nav ul li ul {
    display: none;
    flex-direction: row;
    flex-wrap: nowrap;
    position: absolute;
    background: #FFF;
    padding: 10px;
    border-radius: 0;
    box-shadow: 0 3px 6px #c0c0c0;
    margin-top: 17px;
    max-width: 100vw;
    z-index: 100;
}

.header nav ul li ul li {
    padding: 8px 18px;
    white-space: nowrap;
    position: relative;
}

.header nav ul li ul li ul {
    position: relative;
    left: 0;
    top: 0;
    background: #FFF;
    box-shadow: initial;
    border-radius: 17px;
    min-width: inherit;
    flex-direction: column;
    margin-top: 0;
    z-index: 101;
    padding: 0;
}
.header nav ul li ul li:hover > ul {
    display: flex;
}



.header nav ul li ul li ul li {
    margin: 3px 7px;
    padding: 0;
    white-space: normal;
}

.header nav ul li:hover ul {
    display: flex;
    align-items: baseline;
}
.header nav ul li:hover ul {
    margin: 0;
    z-index: 7;
    border-radius: 10px;
}

.header nav ul li ul li {
    margin: 10px 0;
    padding: 0 10px;
}
.header nav ul li a {
    font-size: 17px;
    padding: 10px 0;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
    color: #ffffff;
}
.header nav ul li a:hover {
    opacity: 0.7;
}
.header nav ul li li a {
    padding: 0;
}
.header nav ul li.bold a {
	font-weight: 700;
}
.header nav ul li.bold ul li a {
	font-weight: 300;
}
.header nav ul li.border-right a {
    border-right: 3px solid var(--couleurtitremenu);
    padding-right: 10px;
}
.header nav ul li.border-right ul li a {
    border-right: initial;
    padding-right: 10px;
}
.header nav ul li a:hover{
	color: var(--couleurtitremenuhover);
	transition: 0.3s;
}


.header-left {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 17px;
    width: 269px;
}

.header nav .close{
	font-size: 41px;
	position: absolute;
	top: 3%;
	right: 3%;
	justify-content: center;
	align-items: center;
	display: none;
}

.header .menu-responsive{
	font-size: 41px;
	justify-content: center;
	align-items: center;
	display: none;
}

.header .show{
	left: 0;
}
.header nav ul li a {
    text-decoration: inherit;
}




@media only screen and (max-width: 997px) {
    .header .menu-responsive {
        display: flex;
        cursor: pointer;
    }

    .header nav {
        position: fixed;
        top: 0;
        left: -100%;
        width: 100vw;
        height: 100vh;
        max-width: 420px;
        background: #fff;
        z-index: 9999;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        padding: 80px 24px 24px 24px;
        box-shadow: 0 4px 24px rgba(0, 0, 0, 0.10);
        overflow-y: auto;
        transition: left 0.3s ease;
    }
    .header nav.show {
        left: 0;
    }

    .header nav ul {
        flex-direction: column;
        width: 100%;
        padding: 0;
        margin: 0;
        background: transparent;
        box-shadow: none;
        border-radius: 0;
        align-items: stretch;
    }
    .header nav ul li {
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: 1px solid #eee;
        text-align: left;
    }
    .header nav ul li a {
        font-size: 18px;
        padding: 14px 8px;
        margin: 0;
        color: #000;
        justify-content: flex-start;
        font-weight: 600;
    }
    .header nav ul li.border-right a {
        border-right: 0;
        padding-right: 8px;
    }

    /* Sous-menus : repliés par défaut, ouverts au clic via .open */
    .header nav ul li ul,
    .header nav ul li:hover ul {
        position: static;
        display: none;
        box-shadow: none;
        border-radius: 0;
        margin: 0;
        padding: 0 0 8px 16px;
        min-width: 0;
        max-width: 100%;
        background: transparent;
        flex-direction: column;
        align-items: flex-start;
    }
    .header nav ul li.open > ul {
        display: flex;
    }
    .header nav ul li ul li {
        border-bottom: 0;
        padding: 0;
        margin: 4px 0;
    }
    .header nav ul li ul li a {
        font-size: 16px;
        padding: 8px 0;
        font-weight: 400;
    }
    .header nav ul li a:hover {
        color: #000000;
        transition: 0.3s;
    }
    .header nav ul li.pll-parent-menu-item ul.sub-menu {
        padding: 4px 0 8px 16px;
        gap: 4px;
        flex-direction: row;
    }

    /* Indicateur visuel pour les éléments avec sous-menu */
    .header nav ul li:has(> ul) > a::after {
        content: "+";
        margin-left: auto;
        padding-left: 12px;
        font-size: 22px;
        line-height: 1;
        font-weight: 400;
        transition: transform 0.2s;
    }
    .header nav ul li.open:has(> ul) > a::after {
        content: "−";
    }

    .header nav .close {
        display: flex;
        position: absolute;
        top: 16px;
        right: 16px;
        width: 44px;
        height: 44px;
        background: #f3f3f3;
        border-radius: 50%;
        align-items: center;
        justify-content: center;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07);
        cursor: pointer;
        z-index: 10001;
    }

    .logo-section .content .title h2 {
        font-size: 31px;
    }
    .header .button {
        font-size: 18px;
        padding: 13px 0;
        background: transparent;
        color: #000;
        font-weight: 400;
        border: 0;
        width: 100%;
        opacity: 1;
        border-bottom: 1px solid #eee;
        border-radius: 0;
    }
}

/*------------------------------------*\
    CONFIG
\*------------------------------------*/


h1{
	font-size: var(--fontsizeh1);
	color: var(--couleurh1);
	font-family: var(--fonttitre);
}


strong{
	color: var(--couleurstrong);
}

h2{
	font-size: var(--fontsizeh2);
	color: var(--couleurh2);
	font-family: var(--fonttitre);
}

p{
	font-size: var(--fontsizep);
	color: var(--couleurp);
}

li{
	font-size: var(--fontsizep);
	color: var,--couleurp;
	text-align: left;
}

h3{
	font-size: var(--fontsizeh3);
	color: var(--couleurh3);
	font-family: var(--fonttitre);
}

h4{
	font-size: var(--fontsizeh4);
	color: var(--couleurh4);
	font-family: var(--fonttitre);
}

a{
	color: var(--couleurhref);
	transition: 0.3s;
}

a:hover{
	/* color: var(--couleurhrefhover); */
	transition: 0.3s;
}

.page-h1{
	padding-top: 97px;
	color: #000;
	text-align: center;
}


.button {
    /* border: 1px solid var(--couleurborderbutton); */
    border-radius: var(--borderradiusbutton);
    background: var(--backgroundbutton);
    transition: 0.3s;
    height: fit-content;
    color: var(--couleurtextebutton);
    font-weight: 700;
    opacity: 1;
    font-size: 17px;
    text-decoration: transparent;
    padding: 10px 39px;
}

.hero-section a{
	/* border: 1px solid var(--couleurborderbutton); */
	border-radius: var(--borderradiusbutton);
	background: var(--backgroundbutton);
	transition: 0.3s;
	height: fit-content;
	color: var(--couleurtextebutton);
	font-weight: 700;
	opacity: 1;
	font-size: 17px;
	text-decoration: transparent;
	padding: 17px 39px;
}

/* .button:hover{
	background: var(--backgroundbuttonhover);
	color: var(--couleurtextebuttonhover);
	transition: 0.3s;
	border: 1px solid var(--couleurborderbuttonhover);
} */

/* .hero-section a:hover{
	background: var(--backgroundbuttonhover);
	color: var(--couleurtextebuttonhover);
	transition: 0.3s;
	border: 1px solid var(--couleurborderbuttonhover);
} */

.button:hover{
	transition: 0.3s;
	opacity: 0.7;
}
.hero-section a:hover{
	transition: 0.3s;
	opacity: 0.7;
}
#button {
	display: inline-block;
	background-color: var(--backgroundbutton);
	width: 50px;
	border: 1px solid var(--backgroundbutton); 
	height: 50px;
	text-align: center;
	border-radius: var(--borderradiusbutton);
	text-decoration: transparent;
	position: fixed;
	bottom: 99px;
	right: 30px;
	transition: background-color .3s, 
	  opacity .5s, visibility .5s;
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
  }
  #button::after {
	content: "\f077";
	font-family: FontAwesome;
	font-weight: normal;
	font-style: normal;
	font-size: 2em;
	line-height: 50px;
	color: var(--couleurtextebutton);
  }
  #button:hover {
	cursor: pointer;
	background-color: #FFF;
  }
  #button:hover::after {
	color: var(--couleurtextebuttonhover);
  }
  #button:active {
	background-color: #555;
  }
  #button.show {
	opacity: 1;
	visibility: visible;
  }


@media only screen and (max-width:997px){
    .hero-section a{
		font-size: 13px;
		padding: 17px 10px;
	}

	.button{
		font-size: 13px;
		padding: 17px 10px;
	}

	h2{
		font-size: 31px;
	}
	h1 {
	font-size: 50px;
	}
}


.page .nf-form-content button, .page .nf-form-content input[type=button], .page .nf-form-content input[type=submit]{
	background: var(--backgroundbutton);
	font-weight: 700;
	border-radius: var(--borderradiusbutton);
	color: var(--couleurtextebutton);
	border: 1px solid var(--backgroundbutton);
	transition: 0.3s;
	padding: 17px 39px;
}

.page .nf-form-content button:hover, .page .nf-form-content input[type=button]:hover, .page .nf-form-content input[type=submit]:hover{
	background: var(--backgroundbuttonhover);
	transition: 0.3s;
	color: var(--couleurtextebuttonhover);
	opacity: 1;
}


.page .nf-form-content .list-select-wrap .nf-field-element>div, .page .nf-form-content input:not([type=button]), .page .nf-form-content textarea{
	border-radius: var(--borderradiusbutton);
	background: transparent;
}

.pagination{
	height: 71px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.pagination .swiper-pagination-bullet{
	height: 15px;
	width: 15px;
}


.pagination .swiper-pagination-bullet-active{
	background: var(--couleurblog);
}

main{
	padding-top: 99px;
}

@media only screen and (max-width: 997px) {
    main {
        padding-top: 67px;
    }
}

/*------------------------------------*\
    ARCHIVE PAGE
\*------------------------------------*/

.archive .actu-item {
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 50px 0;
}
.archive .actu-thumb img {
    width: 100%;
    object-fit: cover;
    height: 100%;
    display: block;
}
.archive .actu-meta h3 {
    font-size: 20px;
}
.archive .actu-meta {
    margin: 15px 0;
    width: 30%;
    font-size: 14px;
    padding: 10px;
}
.archive .actu-btn {
    text-decoration: inherit;
    padding: 10px 30px;
    display: flex;
    justify-content: center;
    margin: 20px 0;
}
.archive .actu-link {
    display: flex;
}

  
.archive .actu-thumb {
    width: 30%;
}

.archive .actu-excerpt {
    width: 40%;
    padding: 10px 20px;
}


.archive .actu-excerpt p {
    font-size: 15px;
}

@media (max-width: 900px) {

.archive .actu-link {
    display: flex;
    flex-direction: column;
}
.archive .actu-thumb {
    width: 100%;
}
.archive .actu-meta {
    width: 100%;
}
.archive .actu-excerpt {
    width: 100%;
}
}

/*------------------------------------*\
    SINGLE TEMOIGNAGE
\*------------------------------------*/

.single-temoignage main {
    padding-top: 199px;
}
.single-temoignage .single-content h1 {
    font-size: 60px;
    color: var(--couleurh1);
    font-family: 'montserrat', sans-serif;
    line-height: 1;
    margin: 0;
    margin-top: 20px;
}
.single-temoignage .other-temoignages {
    max-width: 900px;
    display: flex;
    margin: auto;
    justify-content: center;
    align-items: center;
}
.single-temoignage .other-temoignages .swiper-button-next-other-temoignages, .single-temoignage .other-temoignages .swiper-button-prev-other-temoignages {
    height: 50px;
    width: 50px;
    background: #FFF;
    display: flex;
    justify-content: center;
    margin: 10px;
    align-items: center;
    border-radius: 50%;
}
.single-temoignage .other-temoignages .swiper-slide img{
	border-radius: 12px;
}

/*------------------------------------*\
    HEADER PAGE
\*------------------------------------*/

.header-sans {
    height: 99px;
}
.header-block .block-inner {
    padding-top: 149px;
    height: 100%;
}

.header-block.header-fullpage .block-inner {
    padding-top: 0 ;
}

.header-block.header-titles .block-inner {
    padding-top: 199px;
    height: 100%;
}

.header-block.header-banner .block-inner {
    padding-top: 125px;
    height: 100%;
}

.header-block.header-image-text {
    height: 100vh;
    max-height: 700px;
}
.header-block .block-content {
    display: flex;
    align-items: center;
    height: 100%;
}

.header-fullpage.header-block .block-content {
    align-items: inherit;
}

.header-block.header-banner .block-content {
    background: #FFF;
    border-radius: 20px;
    padding: 20px;
}

.header-block .block-image,
.header-block .block-text {
    flex: 1 1 50%;
    max-width: 50%;
}
.header-block.header-titles .block-image{
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 199px;
    height: 199px;
    margin: auto;
}
.header-block.image-droite .block-image {
    order: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-block.image-gauche .block-text {
    order: 2;
}

.header-block.image-gauche.header-titles .block-text {
    order: 2;
    margin: auto;
    text-align: center;
}
.header-block.image-droite .block-image {
    order: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}

.header-block.image-droite .block-text {
    order: 1;
}
.header-fullpage.header-block .block-text {
    padding: 130px 1% 70px 3%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    max-height: 999px;
    min-height: 700px;
}
.header-fullpage.header-block .block-image {
    z-index: -1;
    max-height: 999px;
}

.header-fullpage.header-block .block-image img {
    width: 90%;
    height: 99%;
    object-fit: contain;
}
.header-fullpage.header-block .block-image, .header-fullpage.header-block .block-text {
    padding-top: 120px;
}

.header-block .block-image img {
    width: 70%;
    object-fit: contain;
}

.header-block .block-btn {
    display: inline-block;
    text-decoration: none;
    color: #fff;
    margin-right: 10px;
    margin-top: 20px;
    text-align: center;
    min-width: 250px;
}
.header-block .block-btn:hover {
    opacity: 0.7;
}
@media (max-width: 900px) {
	.header-block {
    	height: fit-content;
	}
    .header-block .block-content {
    flex-direction: column;
    gap: 1rem;
    align-items: center;
}
    .header-block .block-image,
    .header-block .block-text {
        max-width: 100%;
        flex: 1 1 100%;
    }
    .header-block .block-image img {
        width: 100%;
    }
    .header-block .block-btn {
    padding: 17px 39px;
    }
	.header-fullpage.header-block .block-text {
		padding-top: 190px;
	}

	.header-fullpage.header-block .block-image{
		padding-top: 0;
	}
	.header-block.header-titles .block-inner {
		padding-top: 80px;
		height: auto;
	}
	.header-block.header-image-text {
		height: fit-content;
		max-height: fit-content;
	}
.header-block h1 {
    margin: 0;
    font-size: 50px;
}
}

@media (max-width: 900px) {
    .header nav ul li ul {
        cursor: pointer;
    }
}

.synovo-banner-pub {
	background: #7854f7;
	color: #fff;
	width: 90%;
	display: flex;
	align-items: center;
	left: 0;
	bottom: 10px;
	right: 0;
	justify-content: center;
	gap: 24px;
	min-height: 64px;
	position: fixed;
	border-radius: 16px;
	box-shadow: 0 4px 24px rgba(0,0,0,0.10);
	margin: 24px auto 0 auto;
	max-width: 900px;
	padding: 0 24px;
	font-size: 1.1rem;
	z-index: 100;
}

.synovo-banner-pub .div-block-25 {
	flex: 1;
	display: flex;
	align-items: center;
	min-width: 0;
}

.synovo-banner-pub .text-block-4 {
	font-weight: 600;
	font-size: 1.1rem;
	white-space: normal;
	overflow: hidden;
	text-overflow: ellipsis;
}

.synovo-banner-pub h3 {
    margin: 0;
}

.synovo-banner-pub .div-block-21 {
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    right: -10px;
    top: 3px;
    transform: translateY(-50%);
    background: transparent;
    border-radius: 50%;
    transition: background 0.2s;
}

.synovo-banner-pub .div-block-21:hover {
	background: rgba(0,0,0,0.07);
}

.synovo-banner-pub .div-block-21 img {
    width: 24px;
    height: 24px;
    display: block;
    background: #FFF;
    border-radius: 50%;
}

.synovo-banner-pub .button-2.w-button {
	margin-left: 16px;
	padding: 10px 24px;
	border-radius: 6px;
	background: #fff;
	color: #222;
	font-weight: 600;
	text-decoration: none;
	display: inline-block;
	box-shadow: 0 2px 8px rgba(0,0,0,0.07);
	transition: background 0.2s, color 0.2s;
}

.synovo-banner-pub .button-2.w-button:hover {
		background: #f3f3f3;
		color: #7854F7;
}

@media (max-width: 600px) {
	.synovo-banner-pub {
			flex-direction: column;
			gap: 12px;
			padding: 12px;
			font-size: 1rem;
	}
		/* .synovo-banner-pub .div-block-21 {
			position: static;
			transform: none;
			right: auto;
			top: auto;
			margin-left: auto;
		}
		.synovo-banner-pub .button-2.w-button {
			margin-left: 0;
			width: 100%;
		} */
}

.synovo-support-dropdown {
	position: relative;
	display: inline-block;
}
header .synovo-support-btn {
	cursor: pointer;
	background: #7854F7;
	border: 1px solid #7854f7;
}

.synovo-support-btn:hover {
	background: #f3f3f3;
	color: #7854F7;
}

.synovo-support-menu {
	display: none;
	position: absolute;
	top: 110%;
	left: 0;
	min-width: 180px;
	background: #fff;
	box-shadow: 0 4px 24px rgba(0,0,0,0.10);
	border-radius: 10px;
	z-index: 999;
	padding: 8px 0;
}

.synovo-support-menu a {
	display: block;
	padding: 10px 24px;
	color: #222;
	text-decoration: none;
	font-weight: 500;
	transition: background 0.2s, color 0.2s;
}

.synovo-support-menu a:hover {
	background: #f3f3f3;
	color: #7854F7;
}

.button-desktop {
    display: block;
    margin: 0 3px;
    border: 1px solid #01A7F5;
    background: #01A7F5;
}
.button-mobile { display: none; }
@media (max-width: 1100px) {
	.button-desktop { display: none !important; }
	.button-mobile { display: inline-block !important; }
}

/* Animation header-image-text */
.header-block.header-image-text .block-content > div {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s cubic-bezier(.4,0,.2,1), transform 0.8s cubic-bezier(.4,0,.2,1);
}
.header-block.header-image-text .block-content > div.animated {
    opacity: 1;
    transform: none;
}




/* Uniformisation des boutons WooCommerce avec les boutons standards */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
.woocommerce-page #respond input#submit,
.woocommerce-page .button {
    border-radius: var(--borderradiusbutton);
    background: var(--backgroundbutton);
    color: var(--couleurtextebutton);
    font-weight: 700;
    font-size: 17px;
    padding: 17px 39px;
    border: 1px solid var(--backgroundbutton);
    transition: 0.3s;
    text-decoration: none;
    opacity: 1;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover,
.woocommerce-page input.button:hover,
.woocommerce-page #respond input#submit:hover,
.woocommerce-page .button:hover {
    background: var(--backgroundbuttonhover);
    color: var(--couleurtextebuttonhover);
    opacity: 0.7;
    border: 1px solid var(--couleurborderbuttonhover);
    transition: 0.3s;
}

/* Boutons WooCommerce Blocks (panier + checkout) */
.wc-block-cart__submit-container a.wc-block-cart__submit-button,
.wc-block-cart__submit-container .wc-block-cart__submit-button,
button.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--borderradiusbutton);
    background: var(--backgroundbutton);
    color: var(--couleurtextebutton);
    font-weight: 700;
    font-size: 17px;
    padding: 17px 39px;
    border: 1px solid var(--backgroundbutton);
    text-decoration: none;
    transition: 0.3s;
    opacity: 1;
    cursor: pointer;
}
.wc-block-cart__submit-container a.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-container .wc-block-cart__submit-button:hover,
button.wc-block-components-checkout-place-order-button:hover,
.wc-block-components-checkout-place-order-button:hover {
    background: var(--backgroundbuttonhover);
    color: var(--couleurtextebuttonhover);
    border-color: var(--couleurborderbuttonhover);
    opacity: 0.7;
}
.wc-block-cart__submit-container .wc-block-cart__submit-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-button__text,
.wc-block-components-checkout-place-order-button .wc-block-components-checkout-place-order-button__text {
    color: inherit;
    font: inherit;
}
@media (max-width: 600px) {
    .wc-block-cart__submit-container a.wc-block-cart__submit-button,
    .wc-block-cart__submit-container .wc-block-cart__submit-button,
    button.wc-block-components-checkout-place-order-button,
    .wc-block-components-checkout-place-order-button {
        width: 100%;
        padding: 14px 20px;
        font-size: 15px;
    }
}

.woocommerce .quantity .qty {
    width: 49px;
    font-size: 20px;
    margin-right: 20px;
    text-align: center;
    height: 49px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    list-style: none;
    padding: 0;
    margin: 0;
    overflow: hidden;
    position: relative;
    opacity: 0;
    height: 0;
}

.woocommerce div.product form.cart .button {
    vertical-align: middle;
    float: left;
    background: #27633a;
    color: #FFF;
}
.woocommerce ul.products li.product .button {
    display: inline-block;
    margin-top: 1em;
    color: #FFF;
}

.woocommerce ul.products li.product a img {
    width: 100%;
    border-radius: 30px;
    height: auto;
    display: block;
    margin: 0 0 1em;
    box-shadow: none;
}
.woocommerce ul.products li.product .button:hover {
    display: inline-block;
    margin-top: 1em;
    color: #27633a;
}
.woocommerce .product-main-flex .swiper-wrapper img {
    height: 400px;
    object-fit: cover;
    max-width: 100%;
    width: 100%;
    border-radius: 20px;
}
.woocommerce .product-main-flex .swiper-thumbs img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 10px;
    background: #fff;
}


.woocommerce .product-main-flex .thumbs-swiper .swiper-slide-thumb-active {
    opacity: 1;
    border-radius: 10px;
    border: 2px solid #0071a1;
}
.woocommerce ul.products li.product a img:hover {
    opacity: 0.7;
}

.woocommerce .woocommerce-ordering {
    margin: 0 0 1em;
    opacity: 0;
}
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: #27633a;
    font-size: 24px;
}



.woocommerce ul.order_details {
    margin: 0 0 3em;
    padding: 0;
    list-style: none;
    font-size: 17px;
}

.woocommerce .woocommerce-customer-details :last-child, .woocommerce .woocommerce-order-details :last-child, .woocommerce .woocommerce-order-downloads :last-child {
    margin-bottom: 0;
    background: #FFF;
    font-size: 16px;
}

.woocommerce table.my_account_orders {
    font-size: 17px;
    background: #FFF;
}
.woocommerce table.my_account_orders .button {
    white-space: nowrap;
    padding: 7px 20px;
}
.woocommerce table.shop_table {
    border: 1px solid rgba(0,0,0,.1);
    margin: 0 -1px 24px 0;
    text-align: left;
    width: 100%;
    border-collapse: separate;
    border-radius: 5px;
    background: #FFF;
    font-size: 17px;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit, .woocommerce .button, .woocommerce-page a.button, .woocommerce-page button.button, .woocommerce-page input.button, .woocommerce-page #respond input#submit, .woocommerce-page .button {
    padding: 10px 39px;
}


.single .single-content .content .woocommerce-message a {
    color: #ffffff;
    background: #27633a;
}


.woocommerce div.product form.cart .variations td, .woocommerce div.product form.cart .variations th {
    border: 0;
    line-height: 2em;
    vertical-align: top;
    text-align: center;
    display: flex;
}
.woocommerce div.product form.cart .variations label {
    font-weight: 700;
    text-align: left;
    font-size: 17px;
}
.woocommerce div.product form.cart .variations select {
    max-width: 100%;
    padding: 10px;
    min-width: 75%;
    display: inline-block;
}

.request-quote-btn{
    background:#000;
    color:#fff;
    font-weight:600;
    padding:10px 20px;
    text-transform:uppercase;
    text-decoration:none;
}
.request-quote-btn:hover{
    opacity:0.85;
}
.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt.disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt:disabled[disabled]:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt.disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt:disabled[disabled]:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt.disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt:disabled[disabled]:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt.disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt.disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled[disabled], .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt:disabled[disabled]:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt.disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt:disabled[disabled]:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt.disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt:disabled[disabled]:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt.disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt:disabled[disabled]:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt.disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt.disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled[disabled], :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt:disabled[disabled]:hover {
    background-color: #27633a;
    color: #fff;
}

.single .single-content .content .request-quote-btn {
    color: #ffffff;
}
.single .single-content .content .request-quote-btn:hover {
    transition: 0.3s;
    opacity: 0.7;
    background: #27633a;
}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    min-height: 450px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

/* ==========================================================================
   Améliorations responsive — corrections ciblées (mobile-first overrides)
   ========================================================================== */

img,
svg,
video {
    max-width: 100%;
    height: auto;
}

.logo img {
    max-width: 180px;
    width: auto;
    height: auto;
}

.single .single-content h1 {
    font-size: clamp(28px, 5vw, 60px);
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.synovo-banner-pub {
    padding: clamp(8px, 2vw, 18px);
    font-size: clamp(13px, 1.6vw, 17px);
    flex-wrap: wrap;
    gap: 10px;
}
.synovo-banner-pub .text-block-4 {
    font-size: clamp(13px, 1.6vw, 17px);
    line-height: 1.4;
}

.header-left {
    width: auto;
    max-width: 100%;
    gap: clamp(8px, 1.5vw, 20px);
}
.header-left .connexion {
    margin-left: clamp(6px, 1.2vw, 20px);
}

.header .menu-responsive,
.header nav .close {
    font-size: clamp(28px, 5vw, 41px);
}

@media only screen and (max-width: 997px) {
    .header nav .header-left {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 20px;
        width: 100%;
        margin-top: 24px;
        padding: 20px 8px 0;
        border-top: 1px solid #eee;
        justify-content: flex-start;
    }
    .header nav .header-left .cart,
    .header nav .header-left .connexion {
        margin: 0;
        font-size: 18px;
        font-weight: 600;
        color: #000;
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .header nav .header-left .connexion img {
        width: 24px;
    }
}

.single .single-content .autres-articles {
    flex-wrap: wrap;
    gap: 20px;
}

@media (max-width: 768px) {
    .single .single-content .autres-articles .content-left,
    .single .single-content .autres-articles .content-right {
        width: 100%;
        height: 220px;
    }
    .single .single-content .autres-articles .content-left svg,
    .single .single-content .autres-articles .content-right svg {
        width: 32px;
        height: 32px;
        bottom: 10px;
    }
    .single .single-content .autres-articles .content-left svg {
        left: 10px;
    }
    .single .single-content .autres-articles .content-right svg {
        right: 10px;
    }
    .single .single-content .autres-articles .title {
        font-size: clamp(15px, 4vw, 20px);
        padding: 12px;
    }
    .single .bloc_actualites_gutenberg_block .actu-thumb img {
        height: 220px;
    }
}

.swiper {
    max-width: 100%;
    overflow: hidden;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    min-height: 0;
}
.woocommerce ul.products li.product img,
.woocommerce-page ul.products li.product img {
    width: 100%;
    height: auto;
}

/* Boutique en responsive : alignement des cards et bouton plus compact */
@media (max-width: 768px) {
    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }
    .woocommerce ul.products li.product .woocommerce-loop-product__link,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__link {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
    }
    .woocommerce ul.products li.product .woocommerce-loop-product__title,
    .woocommerce-page ul.products li.product .woocommerce-loop-product__title {
        min-height: 3em;
    }
    .woocommerce ul.products li.product .price,
    .woocommerce-page ul.products li.product .price {
        margin-top: auto;
    }
    .woocommerce ul.products li.product a.button,
    .woocommerce-page ul.products li.product a.button {
        margin-top: auto;
        padding: 10px 18px;
        font-size: 13px;
        font-weight: 600;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }
}

@media (max-width: 600px) {
    .footer .menu-extra {
        max-width: 100%;
    }
    .single .category ul li {
        margin: 6px 4px;
    }
    .single .single-content .infos {
        flex-wrap: wrap;
        gap: 8px;
    }
    body {
        font-size: 15px;
    }
    .header-block.header-titles .block-inner {
        padding-top: 60px;
    }
    main {
        padding-top: 70px;
    }
}

@media (max-width: 480px) {
    .header .logo img {
        max-width: 140px;
        height: auto;
        width: auto;
    }
    .header-left .cart-total {
        font-size: 14px;
    }
}

/* ==========================================================================
   Footer responsive — améliorations
   ========================================================================== */
@media only screen and (max-width: 997px) {
    .footer .content {
        margin-top: 40px;
        padding: 24px 16px;
        gap: 24px;
        row-gap: 32px;
    }
    .footer .logo-footer {
        width: 100%;
        max-width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 12px;
    }
    .footer .logo-footer img {
        max-width: 180px;
        height: auto;
    }
    .footer .logo-footer p {
        margin: 0;
        max-width: 360px;
    }
    .footer .menu-footer {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 16px;
        width: 100%;
    }
    .footer .menu-footer-left ul {
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 4px 12px;
        margin: 0;
    }
    .footer .first-menu a {
        padding: 8px 12px;
        padding-right: 12px;
        font-size: 16px;
        justify-content: center;
    }
    .footer .menu-footer-right {
        width: 100%;
        display: flex;
        justify-content: center;
    }
    .footer .copyrights {
        gap: 16px;
        padding-top: 20px;
        border-top: 1px solid rgba(255, 255, 255, 0.15);
        text-align: center;
        font-size: 16px;
    }
    .footer .copyrights .left-copyright {
        gap: 8px;
        text-align: center;
    }
    .footer .copyrights .menu-extra {
        align-items: center;
    }
    .footer .copyrights .menu-extra a {
        padding: 6px 12px;
        font-size: 14px;
    }
}

@media only screen and (max-width: 600px) {
    .footer .content {
        margin-top: 24px;
        padding: 20px 14px;
    }
    .footer .logo-footer img {
        max-width: 150px;
    }
    .footer .first-menu a {
        font-size: 14px;
        padding: 6px 10px;
        padding-right: 10px;
    }
    .footer .copyrights {
        font-size: 14px;
    }
    .footer .menu-extra a {
        font-size: 1rem;
        padding: 0.5rem 1rem;
    }
}

@media (hover: none) {
    .single .single-content .autres-articles .title {
        background: rgba(0, 0, 0, 0.4);
    }
}