/*
Theme Name: Divi Child
Author: 
Description: Divi Child Theme
Version: 1.0
Template: Divi

This is the child theme for Divi theme, generated with Generate Child Theme plugin by catchthemes.

(optional values you can add: Theme URI, Author URI, License, License URI, Tags, Text Domain)
*/
strong {
    font-weight: 600;
}
.sliderhp .et_pb_slide_title,
.sliderhp .et_pb_slide_content{
	margin-bottom:33px;
}
.sliderhp .et_pb_slide_content strong{
	font-size:26px !important;
}
.sliderhp .et_pb_slide_content p{
	padding-bottom:40px !important;
}
.sliderhp .et_pb_more_button{
	margin-top:0 !important;
}
.pmarbot20px p{
	padding-bottom:20px !important;
}
/*.colicones .et_pb_column_1_6:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0; 
  transform: translateY(-50%); 
  height: 96px;
  border-right: 4px solid rgba(199,209,235,0.5); 
}*/
.coldecale{
	position: absolute;
    left: 43%;
    top: 8%;
}
.coldecale2 {
    position: absolute;
    left: 43%;
    top: 15%;
}
.coldecale3 {
    position: absolute;
    left: 43%;
    top: 23%;
}
.customaccor .et_pb_toggle.et_pb_toggle_close.et_pb_toggle_open h5{
    background: #2d50e5;
    color: #fff !important;
	display: block;
    padding: 20px;
    border-radius: 0;
    position: relative;
    transition: all .3s ease 0s;
    border: none;
}
.customaccor .et_pb_toggle.et_pb_toggle_close h5 {
    background: #fff;
    color: #003361 !important;
		display: block;
    padding: 20px;
	    font-weight: 700;
}
.customaccor .et_pb_toggle.et_pb_toggle_close h5:hover{
	background: #2d50e5;
    color: #fff !important;
	display: block;
    padding: 20px;
    border-radius: 0;
    position: relative;
    transition: all .3s ease 0s;
    border: none;
}
.customaccor .et_pb_module.et_pb_accordion_item{
	padding:0 !important;
}
.customaccor.et_pb_accordion .et_pb_toggle_content{
	padding: 20px;
	background:#fff !important;
	font-weight:400;
}
.customaccor .et_pb_toggle .et_pb_toggle_title:before {
    right: 12px;
}
.contactformhp .wpcf7-text{
	background:#fff;
	border-radius:4px;
	padding:7px 16px;
	margin-bottom:20px;
	width:100%;
	border:0px solid !important;
	color: #003361;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}
.contactformhp .wpcf7-textarea{
	background:#fff;
	border-radius:4px;
	padding:10px 16px;
	margin-bottom:30px;
	width:100%;
	border:0px solid !important;
	color: #003361;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 15px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	height:90px;
}
.contactformhp .wpcf7-text::placeholder,
.contactformhp .wpcf7-textarea::placeholder{
	color: #003361;
}
.wpcf7-acceptance,
.checkboxcustom2{
	color: #000 !important;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 11px !important;
	font-style: italic;
	font-weight: 300 !important;
	line-height: normal;
}
.wpcf7-list-item{
	margin:0 !important;
}
.contactformhp .wpcf7-submit{
	margin-top:30px;
	border-radius: 4.281px;
	background: #2D50E5;
	border:0px solid !important;
	padding: 8.563px 26.545px;
	color:#fff;
	text-transform:uppercase;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 12.844px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}
.contactformhp .wpcf7-submit:hover{
	background: #003361;
	padding: 8.563px 26.545px;
}
.contactformhp .et_pb_button:after{
	display:none !important;
}
.contactformhp input[type=checkbox]{
	display: block;
    float: left;
    margin-right: 7px;
    margin-bottom: 26px;
	border-radius: 2px;
	border: 1px solid #2D50E5;
	width:15px;
	height:15px;
}
.liensfooterbot a{
	margin-left:20px;
}
.et_pb_menu .et_pb_menu__wrap{
	-webkit-box-pack: end !important;
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
}
.et-db #et-boc .et-l  .et_pb_menu_0_tb_header.et_pb_menu ul li.clrse a{
	color:#8fbe44 !important;
}
.et-db #et-boc .et-l  .et_pb_menu_0_tb_header.et_pb_menu ul li.clrse a:hover{
	color:#2D50E5 !important;
}
.nav li ul{
	border-radius: 11px;
	box-shadow: 0px 4px 21.9px 0px rgba(0, 0, 0, 0.10);
	padding: 18px 17px 14px 0px !important;
}
.nav li li {
    padding: 0 18px !important;
}
.nav li li.et_pb_menu_page_id-306{
	 padding: 0 5px 0 18px !important;
}
.et_mobile_menu li a:hover, .nav ul li a:hover {
    background-color: #fff !important;
    opacity: 1 !important;
}
.et-menu li li a {
    padding: 0 0 5px 0 !important;
    width: 100% !important;
}
.traithor h2{
	display: inline-flex;      /* Permet de placer le trait et le texte sur la même ligne */
  align-items: center; 
}
.traithor h2::before {
  content: "";
  display: inline-block;     /* Nécessaire pour définir largeur/hauteur */
  width: 45px;               /* Largeur du trait */
  height: 4px;               /* Épaisseur du trait */
  background-color: #2D50E5; /* Couleur du trait */
  margin-right: 14px;
}
.clrse::after{
	content: "";
  	display: inline-block;
	width: 22px;
	height: 22px;
	background-image: url("/wp-content/uploads/2025/02/icone-rse.png");
	  background-repeat: no-repeat;
	  background-position: center;
	  background-size: contain;
	margin-top: -4px;
    margin-left: 5px;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li a{
	transition: all 300ms ease 0ms !important;
}
/* Sélectionne uniquement les liens du sous-menu */
ul.sub-menu li a {
  position: relative;         
  display: inline-block;
  padding-left: 0;
  transition: all 300ms ease 0ms;
}

/* Le trait horizontal est géré avec ::before */
ul.sub-menu li a::before {
  content: "";
  position: absolute;
  top: 41%;
  left: -18px;
  transform: translateY(-50%);
  
  /* Par défaut, le trait est invisible (largeur 0) */
  width: 0;
  height: 3px;
  background-color: #2D50E5;
  
  transition: width 0.3s ease; /* Animation pour l'apparition du trait */
}

/* Au survol : le trait s'affiche et le texte se décale */
ul.sub-menu li a:hover {
  padding-left: 15px !important; /* 21px de trait + 5px d'espace */
}

ul.sub-menu li a:hover::before {
  width: 21px; /* Largeur réelle du trait lorsqu'on survole */
}
.nav li ul{
	width:270px !important;
}
.et-menu li li.menu-item-456 a {
    padding-right:35px !important;
}
/*add icon to the opened accordion*/
.et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before {
	display: block;
	content: "\32" !important;
	color:#fff !important;
}
.et-menu .menu-item-has-children > a:first-child:after {
    font-family: ETmodules;
    content: "3";
    font-size: 16px;
    position: absolute;
    right: 0;
    top: 0;
    font-weight: 800;
    /* On force l'élément en mode inline-block pour la rotation */
    display: inline-block;
    /* Transition pour animer la rotation */
    transition: transform 0.3s ease;
    /* Éventuellement définir l'origine de rotation (ici le centre) */
    transform-origin: center;
}

.et-menu .menu-item-has-children:hover > a:first-child:after {
    /* On applique une rotation de 180° au survol */
    transform: rotate(180deg);
}
.page-id-28 .et_pb_accordion_0.et_pb_accordion .et_pb_toggle_content{
	font-weight: 400 !important;
	line-height: normal;
}
.page-id-28 .et_pb_accordion_0.et_pb_accordion .et_pb_toggle_content strong{
	font-weight: 600 !important;
}

/* Supprime le background existant au niveau de la slide pour éviter
   d’appliquer le blur au contenu 
.page-id-479 .et_pb_slider .et_pb_slide_0,
.page-id-574 .et_pb_slider .et_pb_slide_0{
  position: relative; 
  background: none !important;
  overflow: hidden; 
}*/

/* Utilise un pseudo-élément pour afficher l’image en arrière-plan avec le blur 
.page-id-479 .et_pb_slider .et_pb_slide_0::before,
.page-id-574 .et_pb_slider .et_pb_slide_0::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  filter: blur(2px);
  background-size: cover;
  background-position: center;
}*/
/*.page-id-479 .et_pb_slider .et_pb_slide_0::before{
	  background: linear-gradient(0deg, rgba(7, 7, 7, 0.20) 0%, rgba(7, 7, 7, 0.20) 100%),
              url("/wp-content/uploads/2025/02/header-location-temporaire.jpg")
              lightgray 20.885px -236.723px / 100% 165.597% no-repeat;
}
.page-id-574 .et_pb_slider .et_pb_slide_0::before{
	background: linear-gradient(0deg, rgba(7, 7, 7, 0.20) 0%, rgba(7, 7, 7, 0.20) 100%),
              url("/wp-content/uploads/2025/02/header-location-pooling.jpg")
              lightgray 20.885px -236.723px / 100% 165.597% no-repeat;
}*/

/* Conservez le contenu (texte, etc.) au-dessus de l’image floutée */
/*.page-id-479 .et_pb_slider .et_pb_slide_0 .et_pb_container,
.page-id-574 .et_pb_slider .et_pb_slide_0 .et_pb_container{
  position: relative;
  z-index: 1;
} */
.fw400strg600 p{
	font-weight:400 !important;
}
.fw400strg600 p strong{
	font-weight:600 !important;
}

.flipboxcustomcss .dsm_flipbox_child_image{
	margin-bottom:15px !important;
}
.flipboxcustomcss .dsm-content img{
    position: absolute;
    right: 11px;
    bottom: -48px;
}
.page-id-479 .flipboxcustomcss .dsm_flipbox_child_1 .dsm-content img{
	position: absolute;
    right: -8px;
    bottom: -29px;
}
.page-id-479 .flipboxcustomcss .dsm_flipbox_child_3 .dsm-content img{
	position: absolute;
    right: -8px;
    bottom: -56px;
}
.page-id-479 .flipboxcustomcss .dsm_flipbox_child_4 .dsm-content img{
	position: absolute;
    right: 11px;
    bottom: -38px;
}
.page-id-479 .flipboxcustomcss .dsm_flipbox_child_5 .dsm-content img{
	position: absolute;
    right: -11px;
    bottom: -34px;
}
.page-id-479 .flipboxcustomcss .dsm_flipbox_child_7 .dsm-content img{
	position: absolute;
    right: -8px;
    bottom: -44px;
}
.page-id-574 .flipboxcustomcss .dsm_flipbox_child_0 .dsm-content img,
.page-id-574 .flipboxcustomcss .dsm_flipbox_child_4 .dsm-content img,
.page-id-574 .flipboxcustomcss .dsm_flipbox_child_6 .dsm-content img{
	position: absolute;
    right: 11px;
    bottom: -38px;
}
.page-id-574 .flipboxcustomcss .dsm_flipbox_child_7 .dsm-content img{
	position: absolute;
    right: -8px;
    bottom: -56px;
}
.page-id-574 .flipboxcustomcss .dsm_flipbox_child_1 .dsm-content img{
	position: absolute;
	right: -8px;
    bottom: -43px;
}
.page-id-574 .flipboxcustomcss .dsm_flipbox_child_3 .dsm-content img{
	position: absolute;
	right: -8px;
    bottom: -54px;
}
.page-id-574 .flipboxcustomcss .dsm_flipbox_child_5 .dsm-content img{
	position: absolute;
	right: -8px;
    bottom: -55px;
}

.conteneurflipbox {
  display: flex;       
  flex-wrap: wrap;     
  gap: 32px;  
	justify-content: space-between; 
}
.conteneurflipbox2 {
  display: grid;       
  flex-wrap: wrap;     
  gap: 32px;  
	justify-content: space-between; 
}

.conteneurflipbox > div.flipboxcustomcss {
  flex: 1 1 50%;
	 max-width: 233px;
  box-sizing: border-box; 
}
.conteneurflipboxrse {
  display: block;       
}

.conteneurflipboxrse > div.flipboxcustomcss {
	 max-width: 100% !important;
	width: 100% !important;
}
.boxshadow img,
.conteneurflipbox > div.flipboxcustomcss .dsm_flipbox_child,
.conteneurflipboxrse > div.flipboxcustomcss .dsm_flipbox_child
{
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.10);
}
.page-id-696 .flipboxcustomcss .dsm_flipbox_child_0 .dsm-content img {
    bottom: -32px;
}
.page-id-696 .flipboxcustomcss .dsm_flipbox_child_1 .dsm-content img{
    bottom: -14px;
    right: -17px;
}
.page-id-696 .flipboxcustomcss .dsm_flipbox_child_2 .dsm-content img {
    bottom: -34px;
}
.page-id-696 .flipboxcustomcss .dsm_flipbox_child_3 .dsm-content img{
   right: -18px;
    bottom: -25px;
}
.page-id-696 .flipboxcustomcss .dsm_flipbox_child_4 .dsm-content img {
    bottom: -34px;
}
.page-id-696 .flipboxcustomcss .dsm_flipbox_child_5 .dsm-content img{
   right: -18px;
    bottom: -29px;
}
.page-id-696 .flipboxcustomcss .dsm_flipbox_child_6 .dsm-content img {
    bottom: -109px;
}
.page-id-696 .flipboxcustomcss .dsm_flipbox_child_7 .dsm-content img{
   right: -9px;
    bottom: -29px;
}
.wpcf7-checkbox{
	font-size:16px;
	color:#003361;
	font-weight: 400;
}
.wpcf7-checkbox .wpcf7-list-item.first{
	margin-right:40px !important;
}
.contactformhp .checkboxcustom input[type=checkbox]{
    margin-top: 5px;
}
.contactformhp .checkboxcustom2 input[type=checkbox]{
    margin-top: 5px;
}
.headerrse .et_pb_slide_title img{
	vertical-align: sub;
    margin-left: 12px;
}
.doctodownload .dsm_icon_list_child a {
    display: flex;
    align-items: center;
    gap: 8px; /* espace entre texte et icône, ajustable */
}

.doctodownload .dsm_icon_list_child a .dsm_icon_list_text {
    order: 1; /* passe en premier */
}

.doctodownload .dsm_icon_list_child a .dsm_icon_list_wrapper {
    order: 2; /* passe en second */
}
.doctodownload .dsm_icon_list_child a:hover {
	font-weight: 700 !important;
	}

/* Hauteurs égales */
.equalheight  {
    display: flex;
    align-items: stretch !important;
}

.equalheight  .et_pb_column {
    display: flex;
    flex-direction: column;
}

/* --- CENTRAGE VERTICAL DE LA COLONNE DROITE --- */
.equalheight  .et_pb_column_5 {
    display: flex !important;
    align-items: center !important;   /* centre verticalement */
    justify-content: center !important; /* au cas où Divi ajoute un margin */
}

/* Force le module image à se centrer dans la colonne */
.equalheight  .et_pb_column_5 .et_pb_image {
    margin: 0 !important;
    align-self: center !important;
}

/* Idem pour le wrap interne de l'image */
.equalheight  .et_pb_column_5 .et_pb_image_wrap {
    display: flex !important;
    align-items: center !important;
}

/*** PARTIE WOO ***/
/* ================================
   BARRE STICKY SOUS LA NAV
================================== */

.ter-cat-topbar {
    width: 100%;
    background: #ffffff;
    box-shadow: 0 4px 5.5px 0 rgba(0, 0, 0, 0.05);
}

.ter-cat-topbar--sticky {
    position: sticky;
    top: 96px; /* hauteur de ta nav principale à ajuster */
    z-index: 1;
}

.ter-cat-topbar-inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 24px;
}

.ter-cat-topbar-left {
    display: flex;
    align-items: center;
    gap: 75px;
    flex-shrink: 0;
}

.ter-cat-topbar-right {
    margin-left: auto;
    display: flex;
    align-items: center;
}
.ter-cat-topbar-right .woocommerce-ordering{
    display: none !important;
}

/* filtres + effacer dans la barre */

.ter-filters-toggle {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: none;
    background: transparent;
    padding: 0;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
}

.ter-filters-label {
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    color:#000;
}

.ter-filters-reset {
    color: #000;
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-decoration:none;
}

/* Icône SVG (nouvelle version) */
.ter-filters-icon {
    width: 34px;
    height: 38px;
    display: inline-block;
    background-image: url('/wp-content/uploads/2025/12/filtre-horizontal-1.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* ================================
   LAYOUT GLOBAL
================================== */

.ter-cat-page-wrapper {
    max-width: 100%;
    margin: 0 auto;
    padding: 0px;
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 32px;
    background: #f7f7f7;
}

/* ================================
   SIDEBAR GAUCHE FIXE (FILTRES)
================================== */

.ter-cat-sidebar {
    position: sticky;
    top: 128px; 
    align-self: flex-start;
    background: #ffffff;
    padding: 24px 24px 40px;
    box-shadow: 0 4px 3.9px 0 rgba(0, 0, 0, 0.10);
    min-height: calc(100vh - 128px); /* colonne pleine hauteur visible */
}

/* Contenu des filtres (affiché seulement si la classe --open est ajoutée) */

.ter-cat-filters-panel {
    padding-top: 10px;
    display: none;
}

/* quand on clique sur "Filtres" */
.ter-cat-sidebar--open .ter-cat-filters-panel {
    display: block;
}

/* Groupes de filtres */

.ter-filter-group + .ter-filter-group {
    margin-top: 32px;
    border-top: 1px solid #ECEFF5;
    padding-top: 24px;
}

.ter-filter-title {
    color: #000;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
    margin-bottom: 14px;
}
.ter-filter-title::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 2px;
    background-color: #2D50E5;
    margin-right: 12px;
	margin-bottom: 4px;
}

.ter-filter-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ter-filter-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.9rem;
    color: #222;
    cursor: pointer;
	margin-bottom: 6px;
}

.ter-filter-item + .ter-filter-item {
    margin-top: 6px;
}

.ter-filter-item input[type="radio"] {
    accent-color: #2D50E5;
	margin: 0px !important;
	    width: 11px;
}

/* ================================
   COLONNE DROITE : CONTENU
================================== */

.ter-cat-main {
    padding: 60px 140px 100px 55px;
}

.ter-cat-header {
    margin-bottom: 95px;
}

.ter-cat-title {
    font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
    font-size: 30px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform:uppercase;
    color:#2D50E5;
    margin-bottom: 21px;
}

.ter-cat-description {
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    color:#000;
    margin-bottom: 35px;
}
.ter-cat-description a{
	/*transition: all .4s ease-in-out;*/
	color:#2D50E5 !important;
}
.ter-cat-description a:hover{
	font-weight: 800;
}

.ter-cat-contact-btn {
    display: inline-block;
    padding: 8.563px 26.545px;
    border-radius: 4.281px;
    background: #2D50E5;
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    font-size: 12.844px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    color:#fff;
    transition: all 300ms ease 0ms;
}
.ter-cat-contact-btn:hover{
     background: #003361;
}

/* ================================
   GRID PRODUITS
================================== */

.ter-cat-products-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

/* allow grid to respect fixed width */
.ter-cat-products-grid {
    justify-content: flex-start;
}

/* ================================
   CARD PRODUIT
================================== */

.ter-product-card {
    border-radius: 11.899px;
    background: #FFF;
    box-shadow: 0 3.173px 3.173px 0 rgba(0, 0, 0, 0.03);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 80%;
    height: /*406px*/ auto;
}

/* Wrapper image */

.ter-product-image-wrapper {
    position: relative;
    display: block;
    overflow: hidden;
    flex-shrink: 0;
    min-height: 500px;
    height: 500px;
}

.ter-product-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: scale-down;
    display: block;
}

/* Tag sur l'image */

.ter-product-tag-label {
    position: absolute;
    left: 0;
    bottom: 0;
    padding: 4px 13px;
    border-radius: 0 4.369px 0 0;
    font-size: 0.75rem;
    font-weight: 600;
    background: #2D50E5;
    color: #fff;
    font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
}

/* Couleurs dynamiques selon le tag (slug) */

.ter-product-tag-label.ter-tag-location-pooling,
.product-tags.ter-tag-location-pooling{
    background: #8FBE44;
}

.ter-product-tag-label.ter-tag-location-temporaire,
.product-tags.ter-tag-location-temporaire{
    background: #2D50E5;
}

/* Overlay hover image */

.ter-product-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        0deg,
        rgba(27, 45, 71, 0.25) 0%,
        rgba(27, 45, 71, 0.25) 100%
    );
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 200ms ease;
    text-decoration: none;

    /* IMPORTANT pour positionner le poids en absolute dans l'overlay */
    position: absolute;
}

/* Bouton overlay */

.ter-product-overlay-btn {
    display: inline-block;
    padding: 8.213px 22.131px 7.497px 22.14px;
    border-radius: 3.571px;
    background: #003361;
    color: #fff;
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    font-size: 10.713px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-transform: uppercase;
}

/* POIDS (coin bas droit, visible au hover) */
.ter-product-weight {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 3;
    color: #fff;

    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    font-size: 25.632px;
    font-weight: 600;
    line-height: 1;

    /* masqué par défaut */
    opacity: 0;
    transform: translateY(4px);
    transition: opacity 200ms ease, transform 200ms ease;
}

/* Affichage au hover de la card ou de l'image */

.ter-product-card:hover .ter-product-overlay,
.ter-product-image-wrapper:hover .ter-product-overlay {
    opacity: 1;
    pointer-events: auto;
}

/* Affiche le poids quand on hover (overlay visible) */
.ter-product-card:hover .ter-product-weight,
.ter-product-image-wrapper:hover .ter-product-weight {
    opacity: 1;
    transform: translateY(0);
}

/* Contenu texte card */

.ter-product-content {
    padding: 16px 16px 20px;
    display: flex;
    flex-direction: column;
    gap: 0px;
    flex: 1 1 auto;
}

.ter-product-title {
    color: #003361;
    text-align: center;
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    padding-bottom: 3px;
}

.ter-product-title a {
    color: #222;
    text-decoration: none;
}

/* Description courte sous le titre */

.ter-product-excerpt {
    color: #003361;
    text-align: center;
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    font-size: 13px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.ter-product-ref {
    font-size: 0.85rem;
    color: #777;
    margin: 0;
}

.ter-product-bottom {
    margin-top: 17px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

/* ================================
   QUANTITÉ + BOUTON DEVIS
================================== */

.ter-product-qty {
    display: inline-flex;
    align-items: center;
    border-radius: 3.5px;
	padding: 0px;
	background: #F7F7F7;
    border: 0px solid #D4DAE8;
    overflow: hidden;
}

.ter-qty-input {
    width: 25px;
    border: none;
    color: #003361;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 10.499px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
    padding: 4px 0;
	background: #F7F7F7;
	 text-align: center;
}
/* Forcer le centrage du chiffre dans l'input quantité */
.ter-product-qty input.ter-qty-input {
  text-align: center !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-indent: 0 !important;
}


.ter-qty-btn,
.ter-accessoires-slide .ter-qty-minus,
.ter-accessoires-slide .ter-qty-plus
{
    border: none;
    background: #F7F7F7;
    padding: 4px 7px;
    font-size: 0.9rem;
    cursor: pointer;
}

.archive.tax-product_cat .ter-btn-quote,
.ter-accessoires-slide .ter-ajax-add-to-quote,
.search-results .ter-btn-quote,
.archive.post-type-archive .ter-btn-quote{
    border: none !important;
    padding: 6.506px 20.17px  !important;
    border-radius: 3.253px  !important;
	height:27px !important;
	background: #003361  !important;
    color: #FFF;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 9.76px;
	font-style: normal;
	font-weight: 600  !important;
	line-height: normal;
	text-transform:uppercase;
    cursor: pointer;
}
.archive.tax-product_cat .ter-btn-quote:hover,
.ter-accessoires-slide .ter-ajax-add-to-quote:hover,
.search-results .ter-btn-quote:hover,
.archive.post-type-archive .ter-btn-quote:hover{
	background: #2D50E5  !important;
}
.ter-qty-input::-webkit-inner-spin-button,
.ter-qty-input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.ter-qty-input {
    -moz-appearance: textfield;
}
.ter-quote-inline-msg{
	position: absolute;
    background: #2D50E5;
    border: 1px solid #2D50E5;
    color: #fff;
    padding: 5px 16px;
    border-radius: 8px;
    font-family: "Open Sans", Helvetica, Arial, sans-serif;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    width: 210px;
}
/* ================================
   RESPONSIVE
================================== */

@media (max-width: 1024px) {
    .ter-cat-topbar--sticky {
        top: 60px;
    }

    .ter-cat-page-wrapper {
        grid-template-columns: 1fr;
    }

    .ter-cat-sidebar {
        position: static;
        min-height: auto;
        border-right: none;
        border-bottom: 1px solid #ECEFF5;
        margin-bottom: 24px;
    }

    .ter-cat-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        justify-content: stretch;
    }

    .ter-product-card {
        width: 100%;
        height: auto;
    }
}

@media (max-width: 700px) {
    .ter-cat-products-grid {
        grid-template-columns: 1fr;
    }

    .ter-product-card {
        width: 100%;
        height: auto;
    }
}
.ftcolD ul,
.ftcolG ul{
	padding: 0 !important;
	margin-top: 5px;
}
.intitule,
.ftcolD li{
	border-bottom:1px solid #929292;
	display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
	padding-bottom:15px;
	margin-bottom:15px;
	color: #000;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}
.ftcolG li{
    width: 100%;
	margin-bottom:15px;
	color: #000;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	list-style-type: none;
}
.ftcolD li strong{
	font-weight: 600;
}
.ftcolG li strong{
	font-weight: 700;
}
.nobrdr,
.ftcolD li:last-child{
	border-bottom:0px solid #fff !important;
}
.ftcolD h3,
.ftcolG h3
{
    font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #000000 !important;
}
.intitule span{
	display:inline-block;
	  margin-left: auto;
	font-weight: 400;
}
.intitule2{
    width: 100%;
	margin-bottom:15px;
	color: #000;
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
	font-size: 16px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}
.intitule2 span{
	font-weight: 400;
}
/* On s'assure que tout le chemin jusqu'au <aside> ne casse pas le sticky */

.ter-quote-section .et_pb_text,
.ter-quote-section .et_pb_text .et_pb_text_inner {
    overflow: visible !important;
}

/* Optionnel mais souvent nécessaire avec Divi : 
   on neutralise les transforms qui cassent sticky */
.ter-quote-section,
.ter-quote-section .et_pb_row,
.ter-quote-section .et_pb_column,
.ter-quote-section .et_pb_text,
.ter-quote-section .et_pb_text .et_pb_text_inner {
    transform: none !important;
}

/* Et on garde ceci que tu avais déjà ajouté */
.ter-quote-section,
.ter-quote-section .et_pb_row,
.ter-quote-section .et_pb_column {
    overflow: visible !important;
}

/* TER - Switch Location boutons */
.ter-loc-switch-wrap{
    width: 100%;
    display: flex;
    justify-content: center;
    gap: 30px;
    margin: 18px 0 32px;
    flex-wrap: wrap;
}

/* Bouton base */
.ter-loc-switch-btn{
	font-family: 'Open Sans', Helvetica, Arial, Lucida, sans-serif;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 15rem;
	height:40px;
    padding: 0px 28px;
    border-radius: 4.7px;
    text-decoration: none !important;
    letter-spacing: 0.5px;
	font-size:14.215px;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 300ms ease 0ms !important;
    line-height: 1;
    box-sizing: border-box;
}

/* Inactif (outline bleu) */
.ter-loc-switch-btn.is-inactive{
    background: transparent;
}

/* Actif (plein) */
.ter-loc-switch-btn.is-active{
    border: 2px solid transparent;
    color: #fff;
}

/* Couleur active selon le tag */
.ter-loc-switch-btn.is-active.is-pool{
    background: #8FBE44; /* vert pooling */
}
.ter-loc-switch-btn.is-active.is-temp{
    background: #2D50E5; /* bleu temp */
}
.ter-loc-switch-btn.is-inactive.is-pool{
	border:2px solid #8FBE44;
	color:#8FBE44;
}
.ter-loc-switch-btn.is-inactive.is-temp{
	border:2px solid #2D50E5;
	color:#2D50E5;
}
/* Hover */
.ter-loc-switch-btn.is-inactive.is-pool:hover{
	background:#8FBE44;
	color:#fff;
}
.ter-loc-switch-btn.is-inactive.is-temp:hover{
	background:#2D50E5;
	color:#fff;
}

/* Mobile */
@media (max-width: 767px){
    .ter-loc-switch-btn{
        min-width: 100%;
    }
}
.btncontact a{
	display:inline-block;
	border-radius: 4.28px;
	background: #003361;
	color:#fff !important;
	padding: 7px 18.367px;
}

.btncontact a:hover{
	    background: #2d50e5 !important;
}
.btncontactalt a{
	display:inline-block;
	border-radius: 4.28px;
	background: #2d50e5 !important;
	color:#fff !important;
	padding: 7px 18.367px;
}
.btncontactalt a:hover{
	background: #003361 !important;
}
.et-db #et-boc .et-l  .et_pb_menu_0_tb_header.et_pb_menu ul li.btncontact a,
.et-db #et-boc .et-l  .et_pb_menu_0_tb_header.et_pb_menu ul li.btncontactalt a
{
	color:#fff !important;
}
.et-db #et-boc .et-l  .et_pb_menu_0_tb_header.et_pb_menu ul li.btncontact:hover>a, 
.et-db #et-boc .et-l  .et_pb_menu_0_tb_header.et_pb_menu ul li.btncontact.current-menu-item a{
    color: #fff !important;
	 background: #2d50e5 !important;
}
.et-db #et-boc .et-l  .et_pb_menu_0_tb_header.et_pb_menu ul li.btncontactalt:hover>a, 
.et-db #et-boc .et-l  .et_pb_menu_0_tb_header.et_pb_menu ul li.btncontactalt.current-menu-item a{
    color: #fff !important;
	 background: #003361 !important;
}
.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li.btncontact,
.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li.btncontactalt{
    margin-top: 1px !important;
}

/* Par défaut, on ne montre rien */
.ter-icons{
  display:none;
  gap:10px;
  align-items:center;
}

/* Si au moins un des deux = yes, on affiche le wrapper */
body.ter-gerbable-yes .ter-icons,
body.ter-rackable-yes .ter-icons,
body.ter-roulettes-yes .ter-icons,
body.ter-retournement-yes .ter-icons{
  display:flex;
}

/* Icônes (cachées par défaut) */
.ter-icon{
  display:none;
  width:130px;
  height:130px;
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
}

/* Afficher l’icône seulement si la classe body correspond */
body.ter-gerbable-yes .ter-icon--gerbable{
  display:inline-block;
 background-image:url('/wp-content/uploads/2026/01/gerbable.png');
	margin-right: 25px;
}

body.ter-rackable-yes .ter-icon--rackable{
  display:inline-block;
  background-image:url('/wp-content/uploads/2026/01/rackable.png');
	margin-right: 25px;
}

body.ter-roulettes-yes .ter-icon--roulettes{
  display:inline-block;
  background-image:url('/wp-content/uploads/2026/02/roulettes-1.png');
	margin-right: 25px;
}

body.ter-retournement-yes .ter-icon--retournement{
  display:inline-block;
  background-image:url('/wp-content/uploads/2026/02/retournement-1.png');
}
.stronger strong{
	font-weight: 700 !important;
}
.woocommerce-pagination{
	margin-top:5rem;
}
.woocommerce nav.woocommerce-pagination ul li a{
	color:#2D50E5 !important;
	transition: all .4s ease-in-out;
}
.woocommerce nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li a:hover
{
	background-color:#2D50E5 !important;
	color:#fff !important;
}
.woocommerce nav.woocommerce-pagination ul{
	border-color:#f7F7F7 !important;
}
.woocommerce nav.woocommerce-pagination ul li{
	border:1px solid #2D50E5;
	margin-right: 10px;
}
/*.et-db #et-boc .et-l .et_pb_row{
	    width: 1280px;
    max-width: 1280px;
}*/
.mon-carrousel-container .owl-nav span{
	font-size:4rem !important;
	color:#2D50E5 !important;
}
.mon-carrousel-container .owl-nav span:hover{
	color:#003361 !important;
}
.mon-carrousel-container .ter-product-card{
	width:100% !important;
}
.mon-carrousel-container .owl-carousel .owl-item img {
    object-fit: cover;
    height: 350px;
}
#description a:hover,
#description a:hover strong {
    font-weight: 800;
}
.woocommerce-product-gallery--with-images{
	height:630px;
}
/* Par défaut : on cache tout (évite d'avoir les deux visibles si souci de tag) */
body.single-product .row-location-temporaire,
body.single-product .row-location-pooling{
  display: none !important;
}

/* Si produit tag "location-temporaire" => on affiche la row temporaire */
body.single-product.tag-location-temporaire .row-location-temporaire{
  display: block !important;
}

/* Si produit tag "location-pooling" => on affiche la row pooling */
body.single-product.tag-location-pooling .row-location-pooling{
  display: block !important;
}
@media (max-width: 980px) {

  .reverse-mobile .et_pb_row {
    display: flex;
    flex-direction: column-reverse;
  }

}

/* =========================================================
   TER — Collapse Divi mobile submenus (méthode Pee-Aye)
   - sous-menus cachés par défaut
   - affichage via .visible
   - icône via .mobile-toggle
========================================================= */

/* Cache les sous-menus par défaut */
ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu{
  display:none !important;
  visibility:hidden !important;
}

/* Affiche le sous-menu quand visible */
ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible{
  display:block !important;
  visibility:visible !important;
}

/* Positionnement correct pour accueillir le toggle */
ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children{
  position:relative;
}

/* Enlève le fond par défaut sur les parents (optionnel mais recommandé) */
.et_mobile_menu .menu-item-has-children > a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children > a{
  background-color:transparent;
}

/* Le toggle ajouté en fin de li (zone cliquable à droite) */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle{
  width:44px;
  height:100%;
  max-height:44px;
  padding:0 !important;
  border:none;
  position:absolute;
  right:0;
  top:0;
  z-index:999;
  background:transparent;
  text-align:center;
  opacity:1;
}

/* Icône (ETModules) fermé */
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle:after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle:after{
  position:relative;
  top:10px;
  font-family:"ETModules";
  content:'\33'; /* chevron bas */
}

/* Icône ouvert */
ul.et_mobile_menu li.menu-item-has-children.dt-open > .mobile-toggle:after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open > .mobile-toggle:after{
  content:'\32'; /* chevron haut */
}

.gtranslate_wrapper a,
.gtranslate_wrapper li,
.gtranslate_wrapper span {
  display: flex;
  align-items: center;
}
.gtranslate_wrapper img {
  display: inline-block;
}
.gt_switcher .gt_selected a {
    border: 0px solid #fff !important;
    width: auto !important;
	color: #003361 !important;
	font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
	font-size: 15px !important;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	padding:0px !important;
}
.gt_switcher .gt_option a {
    color: #003361 !important;
	font-family: 'Montserrat', Helvetica, Arial, Lucida, sans-serif;
	font-size: 15px !important;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
    padding: 5px 10px !important;
}
.gt_switcher .gt_selected {
    background: #fff !important;
}
.gt_switcher .gt_selected a:after{
	display:none !important;
}
.gt_switcher,
.gt_switcher .gt_option{
	width:68px!important;
}
.gt_switcher .gt_option{
	border-left: 0px solid #fff !important;
    border-right: 0px solid #fff !important;
    border-bottom: 0px solid #fff !important;
    background-color: #fff !important;
	margin-top:10px;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.10);
	border-radius:7px;
	height: 90px !important;
	margin-bottom: 5px;
}
.gt_switcher a img {
    vertical-align: -3px !important;
    opacity: 1 !important;
    margin-right: 3px !important;
}
.woocommerce .woocommerce-info{
	    background: #2D50E5;
}
.gt_option{
	opacity:0 !important;
}
#ct-ultimate-gdpr-cookie-popup{
	width:515px !important;
}
/*** MOBILE ***/
@media only screen and (min-device-width : 320px) and (max-device-width : 480px) {
	#ct-ultimate-gdpr-cookie-popup{
		width:100% !important;
	}
	.coldecale{
		position: absolute;
		left: 8px;
		top: 33%;
	}
	.coldecale3 {
		left: 2%;
		top: 47%;
	}
	#mobile_menu1{
		width:250px;
		left: -48px !important;
	}
	.et-db #et-boc .et-l .et_pb_menu_0_tb_header.et_pb_menu ul li.clrse a{
		display:inline-block !important;
	}
	.clrse::after{
		margin-bottom: -5px !important;
    	margin-left: 0px  !important;
	}
	.ter-cat-main {
		padding: 30px 20px 60px 20px;
	}
	.woocommerce-product-gallery--with-images {
		height: auto;
	}
	/* Icônes (cachées par défaut) */
	.ter-icon{
	  width:60px;
	  height:60px;
	}

	/* Afficher l’icône seulement si la classe body correspond */
	body.ter-gerbable-yes .ter-icon--gerbable{
		margin-right: 5px;
	}

	body.ter-rackable-yes .ter-icon--rackable{
	  display:inline-block;
	  margin-right: 5px;
	}

	body.ter-roulettes-yes .ter-icon--roulettes{
	  display:inline-block;
	  background-image:url('/wp-content/uploads/2026/02/roulettes-1.png');
		margin-right: 5px;
	}
	.page-id-696 .equalheight  {
		display: grid;
	}

	.page-id-696 .equalheight  .et_pb_column {
		display: flex;
		flex-direction: column;
	}
	.page-id-696 .flipboxcustomcss .dsm_flipbox_child_5 .dsm-content img {
		bottom: -12px;
	}
	.page-id-696 .flipboxcustomcss .dsm_flipbox_child_4 .dsm-content img {
		bottom: -62px;
	}
	.page-id-696 .flipboxcustomcss .dsm_flipbox_child_2 .dsm-content img {
		bottom: -72px;
	}
	.page-id-696 .flipboxcustomcss .dsm_flipbox_child_3 .dsm-content img {
		bottom: -12px;
	}
	.page-id-696 .flipboxcustomcss .dsm_flipbox_child_0 .dsm-content img{
		bottom: -58px;
	}
	.page-id-696 .flipboxcustomcss .dsm_flipbox_child_1 .dsm-content img {
		bottom: 3px;
	}
	.conteneurflipbox > div.flipboxcustomcss {
		max-width: 100%;
	}
	.contactformhp .checkboxcustom2 input[type=checkbox] {
		margin-bottom: 59px !important;
	}
	.woocommerce-pagination{
		width:95%;
	}
}