/*
Kate style
*/


/******************/
/******HEADER******/
/******************/
#header {
    background-color: var(--grisc);
}
.header_container {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
#logo {
    position: relative;
    width: 256px;
    height: auto;
    margin-right: 6%;
}
#logo img {
    position: relative;
    z-index: 2;
}
#logo a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
}
.header_menu {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
#navtop {
    flex: 1;
    position: relative;
    z-index: 2;
}
#navtop:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 62px;
    top: 21px;
    right: 0;
    left: 0;
    background-color: var(--wh);
    border-radius: 30px;
    z-index: -1;
}
.header_nav ul {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    column-gap: 4%;
    box-sizing: border-box;
    padding: 43px 40px 0;
}
.header_nav ul li a {
    position: relative;
    display: inline-block;
    font-size: 14px;
    line-height: 20px;
    padding-bottom: 42px;
    text-decoration: none;
}
.header_nav ul li.current_page_item a {
    color: var(--orangef);
}
.header_nav ul li:hover a {
    color: var(--orangef);
}
.header_nav ul ul {
    display: none;
    position: absolute;
    right: 0;
    left: 0;
    background-color: var(--wh);
    border-radius: 5px;
    z-index: 100;
}
.header_nav ul li.menu-item-has-children ul {
    transition: all 0.4s;
}
.header_nav ul li:hover ul {
    display: flex;
    justify-content: flex-start;
    box-sizing: border-box;
    padding: 2px 50px 31px;
}
.header_nav ul ul li {
    width: 200px;        /* largeur fixe */
    flex: 0 0 200px;     /* ne grandit pas, ne rétrécit pas */
    border-bottom: 1px solid var(--grismed);
}
/* 2 colonnes à partir de la  5ème <li> grâce au flex-wrap */
.header_nav ul ul:has(li:nth-child(5)) {
    flex-direction: row;
    flex-wrap: wrap;
}
.header_nav ul ul li a {
    line-height: 26px;
    padding-bottom: 13px;
    margin-top: 29px;
    color: var(--blk) !important;
    transition: all 0.3s;
}
.header_nav ul ul li a:hover {
    color: var(--orangef) !important;
    transition: all 0.3s;
}
#nav_contact {
    display: block;
    width: fit-content;
    margin-left: 20px;
}
#nav_contact ul li a {
    font-size: 14px !important;
}
/****** HEADER BUTTONS en RESPONSIVE ******/
#navtop_bt{
	order: 1;
	display: none;
	box-sizing: border-box;
	width: 26px;
	height: 15px;
	margin: 15px 19px auto 20px;
	cursor: pointer;
	position: relative;
	z-index: 888;
}
#navtop_bt_span{
	display: block;
	width: 26px;
	height: 15px;
	background: var(--blk);
	margin: auto;
	position: relative;
}
#navtop_bt_span:before,
#navtop_bt_span:after{
	content: '';
	display: block;
	width: 26px;
	height: 6px;
	background: var(--wh);
	position: absolute;
	transition: all 0.3s;
}
#navtop_bt_span:before{
	top: 1px;
}
#navtop_bt_span:after{
	bottom: 1px;
}
.bt_navtop_hover #navtop_bt_span,
.bt_navtop_hover #navtop_bt_span:before,
.bt_navtop_hover #navtop_bt_span:after{
	transition: all 0.3s;
}
.bt_navtop_hover #navtop_bt_span:before,
.bt_navtop_hover #navtop_bt_span:after{
	width: 30px;
	height: 1px;
	background: var(--blk);
}
.bt_navtop_hover #navtop_bt_span{
	background: none;
}
.bt_navtop_hover #navtop_bt_span:before{
	transform: rotate(45deg);
	top: 8px;
}
.bt_navtop_hover #navtop_bt_span:after{
	transform: rotate(-45deg);
	bottom: 6px;
}

/******************/
/******FOOTER******/
/******************/
.footer_part_top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    padding: 40px 104px 16px;
    background-color: var(--orangef);
    border-radius: 5px 5px 0 0;
}
.footer_intro_text {
    color: var(--wh);
}
.footer_part_central {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    padding: 16px 104px 20px;
    background-color: var(--orangef);
}
.footer_bloc_contact {
    display: block;
    width: 247px;
    box-sizing: border-box;
    padding: 32px 24px 20px;
    background-color: var(--wh);
}
.footer_bloc_contact_title {
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: 31px;
    padding: 20px 0 18px;
    border-top: 1px solid #DCDBD9;
}
.footer_bloc_contact_adress,
.footer_bloc_contact_tel,
.footer_bloc_contact_shift {
    font-size: 14px;
    line-height: 22px;
}
.footer_bloc_contact_adress a,
.footer_bloc_contact_tel a {
    text-decoration-color: slategrey;
}

/* Footer partie basse */
.footer_part_bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
    column-gap: 2%;
    box-sizing: border-box;
    padding: 20px 104px 32px;
    background-color: var(--orangef);
    border-radius: 0 0 5px 5px;
}
.footer_nav,
.footer_bottom_widgets {
    width: 49%;
}
.footer_nav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: 10px;
}
.footer_nav ul li {
    position: relative;
    display: block;
}
.footer_nav ul li:after {
    position: absolute;
    content: '_';
    height: 0;
    top: 0;
    color: var(--wh);
}
.footer_nav ul li:last-of-type::after {
    display: none;
}
.footer_nav ul li a {
    font-size: 12px;
    line-height: 25px;
    text-decoration: unset;
    color: var(--wh);
    transition: all 0.3s;
}
.footer_nav ul li:hover a {
    color: var(--orangec);
    transition: all 0.3s;
}
.footer_bottom_widgets {
    position: relative;     /* Pour le trait blanc supérieur */
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: 2%;
    padding-top: 20px;
}
.widget_footer {
    width: 49%;
}
.widget_footer:before {
    position: absolute;
    content: '';
    width: 247px;
    height: 1px;
    top: 0;
    background-color: var(--wh);
}
.widget_footer:first-child::before {
    left: -5px;
}
.widget_footer:last-child::before {
    right: 0;
}
.widget_footer ul li a {
    line-height: 25px;
    text-decoration: unset;
    color: var(--wh);
    transition: all 0.3s;
}
.widget_footer ul li:hover a {
    color: var(--orangec);
    transition: all 0.3s;
}

/*******************************/
/******* BLOCS RÉCURRENTS ******/
/*******************************/

/*** Bloc REASSURANCE (gris) ***/
.bloc_reassurance {
    box-sizing: border-box;
    padding: 57px 104px 45px;
    margin-bottom: 80px;
    background: var(--grisc);
    border-radius: 5px;
}
.bloc_rea_introduction {
    display: block;
    margin-bottom: 25px;
}
.bloc_rea_maintitle {
    margin-bottom: 8px;
}
.bloc_rea_intro {
    display: block;
    font-size: 17px;
    font-weight: 500;
    line-height: 31px;
}
.bloc_rea_articles {
    position: relative;     /* pour flèche orange en responsive */
    display: block;
    margin-bottom: 51px;
}
.bloc_rea_articles:after {
    display: none;      /* en "block" sous 880px */
    position: absolute;
    content: '';
    width: 44px;
    height: 44px;
    background: url('../img/classic_btn_orangec_large_arrow.svg') no-repeat center;
    bottom: 22px;
    right: 20px;
}
.bloc_rea_articles ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 20px;
}
.bloc_rea_articles ul li {
    position: relative;     /* pour le <a> */
    display: block;
    width: 240px;
    height: auto;
    padding: 30px 0 41px;
    border-top: 1px solid var(--wh);
}
.single_rea_picto,
.single_rea_nopicto {
    display: block;
    width: 24px;
    height: 24px;
    margin-bottom: 17px;
}
.single_rea_picto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.single_rea_title {
    text-wrap: balance;
    max-width: 185px;
}
.single_rea_desc {
    line-height: 25px;
}
.single_rea_card.bloc_rea_article_special {
    box-sizing: border-box;
    padding: 30px 23px 66px;
    border-top: unset;
    background: var(--wh);
    border-radius: 5px;
    transition: all 0.3s;
}
.single_rea_card.bloc_rea_article_special:after,
.single_rea_card.bloc_rea_article_special:before {
    position: absolute;
    content: '';
    width: 44px;
    height: 44px;
    bottom: 22px;
    right: 20px;
    transition: all 0.3s;
}
.single_rea_card.bloc_rea_article_special:after {
    opacity: 1;
    background: url('../img/classic_btn_orangec_large_arrow.svg') no-repeat center;
}
.single_rea_card.bloc_rea_article_special:before {
    opacity: 0;
    background: url('../img/classic_btn_orangef_large_arrow.svg') no-repeat center;
}
.single_rea_card.bloc_rea_article_special:hover:after {
    opacity: 0;
    transition: all 0.3s;
}
.single_rea_card.bloc_rea_article_special:hover:before {
    opacity: 1;
    transition: all 0.3s;
}
.single_rea_card.bloc_rea_article_special .single_rea_link {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.bloc_rea_btn  {
    margin: 0 auto;
}
/*** BLOC NOIR : SELECT ARTICLES ***/
.bloc_select_articles_container {
    display: block;
    margin-bottom: 69px;
    background-color: var(--grisf);
}
.bloc_select_articles {
    display: block;
    padding: 61px 0 52px;
}
.bloc_select_articles_introduction {
    display: block;
    margin-bottom: 29px;
}
.bloc_select_articles_maintitle {
    margin-bottom: 8px;
}
.bloc_select_articles_intro,
.select_article_title {
    display: block;
    font-size: 17px;
    font-weight: 500;
    line-height: 31px;
}
.bloc_select_articles_maintitle,
.bloc_select_articles_intro,
.select_article_title {
    color: var(--wh);
}
.select_article_title {
    font-size: 18px;
    line-height: 25px;
}
.bloc_select_articles ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 20px;
    margin-bottom: 91px;
}
.bloc_select_articles ul li {
    position: relative;     /* pour le <a> */
    display: block;
    width: 292px;
    height: auto;
    padding-bottom: 37px;
    border-bottom: 1px solid var(--grisc);
}
.select_article_thumbnail,
.select_article_nothumbnail {
    display: block;
    width: 292px;
    height: 292px;
    margin-bottom: 20px;
    border-radius: 5px;
}
.select_article_thumbnail {
    overflow: hidden;
}
.select_article_thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 5px;
    transition: all 0.3s;
}
.select_article_nothumbnail {
    background-color: var(--orangec);
    border-radius: 5px;
}
.bloc_select_articles ul li:hover .select_article_thumbnail img {
    transform: scale(1.05);
    transition: all 0.3s;
}
.bloc_select_articles ul li a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.bloc_select_articles_btn {
    margin: 0 auto;
}

/*** BLOC FORMULAIRE ***/
.contact_form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 6%;
    box-sizing: border-box;
    padding: 50px 104px 45px 84px;
    margin-bottom: 83px;
    border: 1px solid var(--orangef);
    border-radius: 5px;
}
.contact_form_infos {
    display: block;
    width: 367px;
    box-sizing: border-box;
    padding: 40px 33px 50px 40px;
    background-color: var(--orangec);
    border-radius: 5px;
}
.contact_form_pictos {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: 10px;
    margin-bottom: 20px;
}
.contact_form_single_picto {
    display: block;
    width: 24px;
    height: 24px;
    padding: 12px;
    background-color: var(--wh);
    border-radius: 50%;
}
.contact_form_single_picto img,
.contact_form_image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.contact_form_maintitle {
    margin-bottom: 28px !important;
    color: var(--orangef);
}
.contact_form_image {
    display: block;
    width: 80px;
    height: 80px;
    margin-bottom: 10px;
}
.contact_form_image img {
    object-fit: cover;
    border-radius: 50%;
}
.gravity_form {
    flex: 1;
}
.gravity_form .gform_fields {
    row-gap: 10px !important;
}
.gravity_form .gform_heading,
.gfield--type-name .ginput_container span label {
    display: none !important;
}
.gravity_form form .gfield > legend,
.gravity_form form .gfield > label {
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 25px;
    margin-bottom: 0;
}
.gravity_form form fieldset .ginput_container input,
.gravity_form form .gfield input,
.gravity_form form .gfield textarea,
.gravity_form form .gfield select {
    background-color: var(--grisc);
    border: unset !important;
}
.gravity_form form .gfield.gfield--type-consent {
    padding-top: 20px;
}
.gravity_form form .gfield.gfield--type-consent input {
    background-color: unset;
    border: 1px solid var(--grisf) !important;
}
.gravity_form form .gfield.gfield--type-consent label {
    font-size: 12px;
    line-height: 20px;
}
.gravity_form form .gfield.gfield--type-consent legend {
    display: none !important;
}
.gravity_form form .gform-footer {
    position: relative !important;
    width: fit-content;
    margin-left: auto;
}
.gravity_form form .gform-footer .button {
    position: relative;
    display: block !important;
    padding: 11px 50px 11px 25px !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 25px !important;
    text-decoration: none !important;
    color: var(--grisf) !important;
    background-color: var(--wh) !important;
    border: 1px solid var(--grisf) !important;
    border-radius: 30px !important;
    transition: all 0.3s !important;
    z-index: 2 !important;
}
.gravity_form form .gform-footer:after,
.gravity_form form .gform-footer:before {
    position: absolute !important;
    content: '' !important;
    width: 30px !important;
    height: 30px !important;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%);
    transition: all 0.3s !important;
    z-index: 3 !important;
}
.gravity_form form .gform-footer:after {
    background: url(../img/classic_btn_black_arrow.svg) no-repeat !important;
    opacity: 1 !important;
}
.gravity_form form .gform-footer:before {
    background: url(../img/classic_btn_black_arrow.svg) no-repeat !important;
    opacity: 0 !important;
}
.gravity_form form .gform-footer:hover:after {
    opacity: 0 !important;
    right: 15px !important;
    transition: all 0.3s !important;
}
.gravity_form form .gform-footer:hover:before {
    opacity: 1 !important;
    right: 15px !important;
}

/************************/
/******* PAGE-TYPE ******/
/************************/
.chapo_basic_container {
    background-color: var(--grisc);
}
.chapo_basic {
    display: block;
    box-sizing: border-box;
    padding: 42px 0 103px;
}


/***********************************/
/******* PAGE LISTING MARQUES ******/
/***********************************/
.bloc_intro_classic {
    margin-bottom: 49px;
}
.bloc_intro_classic p {
    display: block;
    font-size: 17px !important;
    font-style: normal;
    font-weight: 500 !important;
    line-height: 31px !important;
}
.bloc_listing_marques {
    margin: 29px 0 80px;
}
.bloc_listing_marques ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 20px;
    width: 83%;
    margin: 0 auto;
}
.bloc_listing_marques ul li {
    position: relative; /* pour la flèche link */
    display: block;
    box-sizing: border-box;
    padding: 28px 20px;
    border: 1px solid var(--grismed);
}
.bloc_listing_marques ul li .brand_logo {
    display: block;
    width: 195px;
    height: 155px;
    padding-bottom: 10px;
}
.bloc_listing_marques ul li .brand_logo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.bloc_listing_marques ul li .bloc_listing_btn {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-right: 0;
}
.bloc_listing_marques ul li .bloc_listing_btn:hover a {
    color: var(--orangef) !important;
    border: 1px solid var(--orangef) !important;
}
.bloc_listing_marques ul li .bloc_listing_btn:before,
.bloc_listing_marques ul li .bloc_listing_btn:after {
    background: url('../img/classic_btn_orangef_solo_arrow.svg') no-repeat center;
}
.bloc_services {
    margin-bottom: 80px;
    background-color: var(--grisc);
}
.services_container  {
    display: block;
    box-sizing: border-box;
    padding: 80px 0;
}
.services_maintitle  {
    margin-bottom: 29px !important;
}
.bloc_services ul {
    display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      column-gap: 20px;
}
.bloc_services ul li {
    position: relative;
    display: block;
    width: 240px;
    height: auto;
    padding: 30px 0 85px;
    border-top: 1px solid var(--grismed);
}
.bloc_services ul li .service_picto,
.bloc_services ul li .service_nopicto {
    display: block;
    width: 24px;
    height: 24px;
    margin-bottom: 17px;
}
.bloc_services ul li .service_picto img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.bloc_services ul li .service_title {
    margin-bottom: 11px !important;
}
.bloc_services ul li .service_desc p {
    margin-bottom: 22px !important;
}
.bloc_services ul li .service_link {
    position: absolute;
    content: '';
    display: block;
    bottom: 85px;
    left: 0;
}
.bloc_services ul li .service_link .service_link_btn_a {
    position: relative;
}
.bloc_services ul li .service_link .service_link_btn_a:before,
.bloc_services ul li .service_link .service_link_btn_a:after {
    position: absolute;
    content: '';
    display: block;
    width: 44px;
    height: 44px;
    transition: all 0.3s;
    z-index: 1;
}
.bloc_services ul li .service_link .service_link_btn_a:before {
    opacity: 0;
    background: url('../img/classic_btn_orangef_large_arrow.svg') no-repeat center;
}
.bloc_services ul li .service_link .service_link_btn_a:after {
    opacity: 1;
    background: url('../img/classic_btn_white_large_arrow.svg') no-repeat center;
}
.bloc_services ul li .service_link .service_link_btn_a:hover:after {
    opacity: 0;
    transition: all 0.3s;
}
.bloc_services ul li .service_link .service_link_btn_a:hover:before {
    opacity: 1;
    transition: all 0.3s;
}


/************************************/
/******* PAGE LISTING PRODUITS ******/
/************************************/
/*** Dernier niveau : Bloc remontée produits ***/
.bloc_remontee_produits {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 83px;
    margin-bottom: 53px;
}
.bloc_filtres_categories {
    display: block;
    width: 312px;
    box-sizing: border-box;
    padding: 13px 28px 40px 30px;
    border: 1px solid var(--orangef);
    border-radius: 5px;
}
.bloc_filtres_categories ul {
    display: block;
}
.bloc_filtres_categories ul li {
    position: relative; /* pour la flèche */
    display: block;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 25px;
    padding: 27px 0 23px;
    border-bottom: 1px solid var(--grismed);
    transition: all 0.3s;
}
.bloc_filtres_categories ul li:hover {
    cursor: pointer;
}
.bloc_filtres_categories ul li:last-of-type {
    border-bottom: unset;
}
.bloc_filtres_categories ul li a {
    text-decoration: none;
}
.bloc_filtres_categories ul li.filtre_parent:after {
    position: absolute;
    content: '>';
    width: 15px;
    height: 15px;
    right: 0;
    top: 38px;
    transform: rotate(91deg);
}
.bloc_filtres_categories ul li.filtre_parent > ul {
    display: none;
}
.bloc_filtres_categories ul li.filtre_parent.active > ul {
    display: block;
    padding-top: 13px;
}
/*** Sous-niveaux ***/
.bloc_filtres_categories ul li ul li {
    display: block;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 31px;
    padding: unset;
    border-bottom: unset;
}
.bloc_filtres_categories ul li ul li:after {
    display: none;
}

/* Couleurs - BASE */
.bloc_filtres_categories li a,
.bloc_filtres_categories li .filtre_toggle {
    color: var(--grisf);
    text-decoration: none;
    transition: color 0.3s;
}

/* Couleurs - ACTIVE et HOVER */
.bloc_filtres_categories li.active > a,
.bloc_filtres_categories li.active > .filtre_toggle,
.bloc_filtres_categories li:hover > a,
.bloc_filtres_categories li:hover > .filtre_toggle {
    color: var(--orangef);
}

#ajax_remontee_cat_products_wrapper,
#ajax_remontee_besoin_wrapper {
    flex: 1;
}
.remontee_single_cat_product {
    display: flex;
    padding-bottom: 20px;
    margin: 30px 0;
    border-bottom: 1px solid var(--grismed);
}
.remontee_single_cat_pic,
.remontee_single_cat_nopic {
      display: block;
      width: 155px;
      height: 155px;
      margin-right: 28px;
      margin-bottom: 10px;
}
.remontee_single_cat_pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 5px;
}
.remontee_single_cat_nopic {
    background-color: var(--grisc);
}
.remontee_single_cat_content {
    flex: 1;
    margin-right: 10px;
}
.remontee_single_cat_maintitle {
    display: block;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 25px;
    padding-bottom: 5px;
}
.remontee_single_cat_infos {
    line-height: 26px;
    padding-bottom: 18px;
}
.remontee_single_cat_price .price {
    padding-bottom: 10px !important;
    margin-top: 0 !important;
}
.remontee_single_cat_btn {
    height: fit-content;
    margin-left: auto;
}

/***  AUTRES BLOCS ***/
.bloc_listing_produits {
    margin-bottom: 86px;
}
.bloc_listing_produits ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 44px 14px;
    width: 83%;
    margin: 0 auto;
}
.bloc_listing_produits ul li {
    position: relative; /* pour le lien + la flèche */
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 244px;
    height: 244px;
    box-sizing: border-box;
    padding: 27px 30px;
    border: 1px solid var(--grismed);
    transition: all 0.3s;
}
.bloc_listing_produits ul li:hover {
    background-color: var(--grismed);
    transition: all 0.3s;
}
.bloc_listing_produits ul li:after {
    position: absolute;
    content: '';
    width: 15px;
    height: 15px;
    background: url('../img/classic_btn_orangef_solo_arrow.svg') no-repeat center;
    bottom: 36%;
    left: 50%;
    transform: translate(-50%);
    transition: all 0.3s;
}
.bloc_listing_produits ul li:hover:after {
    left: 48%;
}
.bloc_listing_produits ul li .single_category_title.classic_title_h4 {
    text-align: center;
    margin-bottom: 40px;
}
.bloc_listing_produits ul li a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.page-template-page_listing_produits .bloc_services,
.page-template-page_listing_besoins .bloc_services {
    margin-bottom: 0;
}

/***************************/
/******* PAGE CONTACT ******/
/***************************/
.page-template-page_contact .contact_form {
    margin-top: 33px;
}
.bloc_agences {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 105px;
    padding-bottom: 60px;
    margin-bottom: 77px;
    border-bottom: 1px solid var(--grismed);
}
.bloc_agences_pic {
    display: block;
    width: 604px;
    height: 497px;
}
.bloc_agences_pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 15px;
}
.bloc_agence_maincontent {
    flex: 1;
}
.bloc_agences_maintitle {
    margin-bottom: 46px !important;
}
.bloc_agences_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 52px;
}
.single_agence {
    display: block;
    width: 198px;
    height: auto;
    padding-top: 22px;
    margin-bottom: 32px;
    border-top: 1px solid var(--grismed);
}
.single_agence_title {
    margin-bottom: 14px !important;
}
.single_agence_editor.page_hentry p {
    margin-bottom: 0 !important;
}

/*******************************************/
/******* PAGE BLOG + CATEGORY (posts) ******/
/*******************************************/
.widget_blog_menu ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
}
.widget_blog_menu ul li {
    position: relative;
    display: block;
    transition: all 0.3s;
}
.widget_blog_menu ul li a {
    display: inline-block;
    font-size: 14px;
    line-height: 15px;
    padding: 16px 25px;
    text-decoration: none;
    color: var(--orangef);
    border: 1px solid var(--orangef);
    border-radius: 30px;
}
.widget_blog_menu ul li.current-menu-item a,
.widget_blog_menu ul li:hover a {
    color: var(--wh);
    background-color: var(--orangef);
    border: 1px solid var(--orangef);
    border-radius: 30px;
    transition: all 0.3s;
}
.bloc_single_cards_actu {
    display: block;
    margin-bottom: 50px;
}
.single_actu_cards_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 37px;
}
.single_actu_card {
    position: relative; /* pour lien permalink article */
    display: block;
    width: 292px;
    height: auto;
    padding-bottom: 34px;
    margin: 58px 0 62px;
    border-bottom: 1px solid var(--grismed);
}
.single_actu_pic,
.single_actu_nopic {
    display: block;
    width: 100%;
    height: 292px;
    margin-bottom: 20px;
    overflow: hidden;   /* pour le zoom image au survol */
    border-radius: 5px;
    transition: all 0.3s;
}
.single_actu_nopic {
    background-color: var(--grisc);
    border-radius: 5px;
}
.single_actu_pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 5px;
    transition: all 0.3s;
}
.single_actu_card:hover .single_actu_pic img {
    transform: scale(1.05);
    transition: all 0.3s;
}
.single_actu_card a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}
.bloc_single_cards_noactu {
    display: block;
    padding-top: 50px;
}


/***************************/
/******* PAGE ACCUEIL ******/
/***************************/
.bloc_chapo_home {
    position: relative;     /* pour le :before fond blanc */
    background-color: var(--grisc);
    z-index: 1;
}
.bloc_chapo_home:before {
    position: absolute;
    content: '';
    width: 100%;
    height: 64px;
    bottom: 0;
    left: 0;
    background-color: var(--wh);
    z-index: 1;
}
.bloc_chapo_top,
.bloc_chapo_bottom {
    margin-bottom: 46px;
}
.bloc_chapo_top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    column-gap: 104px;
    padding-top: 44px;
}
.bloc_chapo_titles {
    flex: 1;
}
.bloc_chapo_home_subtitle {
    display: block;
    font-size: 16px;
    font-weight: 400;
    line-height: 23px;
    padding-bottom: 13px;
    text-transform: uppercase;
}
.bloc_chapo_titles h1 {
    padding-bottom: 26px;
}
.bloc_chapo_labels {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
}
.bloc_chapo_labels li {
    display: block;
    padding: 12px 20px;
    text-decoration: none;
    background-color: var(--grismed);
    border-radius: 20px;
}
.bloc_chapo_home_thumb {
    position: relative;     /* pour passer au-dessus du :before */
    display: block;
    width: 520px;
    height: 466px;
    z-index: 2;
}
.bloc_chapo_home_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 5px;
}
.bloc_chapo_desc {
    margin-top: -138px;
    margin-bottom: 46px;
    overflow: hidden; /* évite le scroll horizontal du -9999px */
}
.bloc_chapo_content {
    position: relative;
    max-width: 813px;
    box-sizing: border-box;
    padding: 40px 104px 42px 0;
    color: var(--wh) !important;
    z-index: 3;
}
.bloc_chapo_content:before {
    position: absolute;
    content: '';
    top: 0;
    right: 0;
    left: -9999px;
    height: 100%;
    background-color: var(--orangef);
    border-radius: 0 5px 5px 0;
    z-index: -1;
}
.page-template-page_accueil .services_maintitle,
.bloc_remontee_products .bloc_select_prod_maintitle,
.bloc_remontee_cat_products .bloc_select_prod_maintitle {
    position: relative;
    padding-left: 36px;
}
.page-template-page_accueil .services_maintitle:after,
.bloc_remontee_products .bloc_select_prod_maintitle:before,
.bloc_remontee_cat_products .bloc_select_prod_maintitle:before {
    position: absolute;
    content: '';
    width: 15px;
    height: 15px;
    top: 13px;
    left: 0;
    background: url('../img/bloc_titre_picto.svg') no-repeat center;
}
.bloc_remontee_products ul {
    padding-bottom: 0 !important;
    border-bottom: unset !important;
}

.bloc_remontee_cat_products {
    position: relative; /*pour que le bloc suivant passe dessous */
    box-sizing: border-box;
    padding: 57px 104px 72px;
    margin-bottom: 67px;
    background-color: var(--grisc);
    border-radius: 5px;
    z-index: 1;
}
.bloc_remontee_cat_products .bloc_select_prod_intro {
    column-gap: 57px;
}
.remontee_brand_cat_products_list {
    gap: 10px 14px;
}
.bloc_remontee_cat_products ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px 14px;
}
.bloc_remontee_cat_products ul li {
    position: relative; /* pour le <a> et le after flèche */
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 244px;
    height: auto;
    box-sizing: border-box;
    padding: 27px 50px 39px;
    border: 1px solid var(--wh);
    transition: all 0.3s;
}
.bloc_remontee_cat_products ul li:after {
    position: absolute;
    content: '';
    width: 15px;
    height: 15px;
    background: url('../img/classic_btn_orangef_solo_arrow.svg') no-repeat center;
    bottom: 21%;
    left: 50%;
    transform: translate(-50%);
    transition: all 0.3s;
}
.bloc_remontee_cat_products ul li:hover:after {
    left: 53%;
    transition: all 0.3s;
}
.bloc_remontee_cat_products ul li a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.bloc_remontee_besoins {
    position: relative;
    box-sizing: border-box;
    margin-top: -149px;
    padding: 78px 0 98px;
    background-color: var(--grisf);
    z-index: 0;
}
.bloc_besoins_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 26px;
    padding-top: 71px;
}
.page-template-page_accueil .bloc_select_articles_maintitle,
.bloc_partners_maintitle,
.bloc_besoins_maintitle {
    position: relative; /* pour le :after titre */
    display: block;
    width: 252px;
    padding-left: 34px;
}
.page-template-page_accueil .bloc_select_articles_maintitle:after,
.bloc_partners_maintitle:after,
.bloc_besoins_maintitle:after {
    position: absolute;
    content: '';
    width: 15px;
    height: 15px;
    top: 14px;
    left: 0;
    background: url('../img/bloc_titre_picto_white.svg') no-repeat center;
}
.bloc_besoins_list {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 18px;
}
.remontee_single_besoin {
    position: relative; /* pour le <a> */
    display: flex;
    justify-content: center;
    align-items: center;
    width: 215px;
    height: auto;
    min-height: 215px;
    box-sizing: border-box;
    padding: 27px 10px;
    color: var(--wh);
    border: 1px solid var(--grisc);
    transition: all 0.3s;
}
.single_besoin_maintitle {
    position: relative; /* pour le :after flèche */
    display: block;
    padding-right: 30px;
    margin-bottom: 0 !important;
}
.single_besoin_maintitle:after {
    position: absolute;
    content: '';
    width: 15px;
    height: 15px;
    background: url('../img/classic_btn_orangef_solo_arrow.svg') no-repeat center;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    transition: all 0.3s;
}
.remontee_single_besoin:hover .single_besoin_maintitle:after {
    right: -10px;
    transition: all 0.3s;
}
.remontee_single_besoin a {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.page-template-page_accueil .bloc_services {
    margin-bottom: 0;

    background-color: unset;
}
.page-template-page_accueil .bloc_services ul li .service_link .service_link_btn_a::before {
    background: url('../img/classic_btn_orangef_large_arrow.svg') no-repeat center;
}
.page-template-page_accueil .bloc_services ul li .service_link .service_link_btn_a::after {
    background: url('../img/classic_btn_orangec_large_arrow.svg') no-repeat center;
}

.bloc_select_prod_brand {
    margin-bottom: 0;
    background-color: var(--orangec);
}
.bloc_remontee_cat_products ul.bloc_select_brands_list {
    gap: 17px;
}
.bloc_remontee_cat_products ul li.single_selected_brand {
    padding: 20px 0 35px;
    width: 240px;
    height: 240px;
}
.single_selected_brand {
    position: relative; /* pour le <a> */
}
.single_selected_brand_thumb,
.single_selected_brand_nothumb {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 175px;
    height: 175px;
}
.single_selected_brand_thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.bloc_remontee_cat_products ul li.single_selected_brand:after {
    right: 25px;
    bottom: 20px;
    left: unset;
    transform: unset;
}
.bloc_remontee_cat_products ul li.single_selected_brand:hover::after {
    right: 32px;
}

.page-template-page_accueil .bloc_select_articles {
    padding-top: 110px;
}

.page-template-page_accueil .bloc_select_articles_container {
    margin-top: -49px;
}
.page-template-page_accueil .bloc_select_articles_maintitle {
    width: 100%;
}

.bloc_partners_pic {
    margin-bottom: 80px;
}
.bloc_partners_maintitle {
    width: 100%;
    padding-bottom: 27px;
}
.bloc_partners_maintitle:after {
    background: url('../img/bloc_titre_picto_orangef.svg') no-repeat center;
}
.bloc_partners_pic_list {
    display: grid;
    grid-template-columns: repeat(4, 307px);
    justify-content: center;
}
.partners_single_pic {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 301px;
    box-sizing: border-box;
    padding: 10px;
    border: 1px solid var(--grismed);
}
.partners_single_pic img {
    display: block;
    max-width: 80%;
    max-height: 80%;
    width: auto;
    height: auto;
    object-fit: contain;
    object-position: center;
}








/***********************/
/******* PAGE 404 ******/
/***********************/
#page_404{
    display: flex;
    flex-wrap: wrap;
    padding: 94px 0 94px;
}
#page_404_ill_block{
    width: 36.5%;
    margin: 0 9.8% 0 0;
}
#page_404_ill_block object{
    width: 100%;
    max-width: 511px;
    height: auto;
    margin: auto;
}
#page_404_ill_main{
    flex: 1;
    padding-top: 53px;
}


/*******************************/
/******* TAXO PRODUCT_CAT ******/
/*******************************/
.tax-product_cat .bloc_services {
    margin-bottom: 0;
}


/*********************************/
/******* TAXO PRODUCT_BRAND ******/
/*********************************/
.bloc_remontee_prod_brand_products {
    display: block;
    margin-bottom: 19px;
}
.remontee_prod_brand_title {
    margin-bottom: 28px !important;
}
.bloc_remontee_prod_brand_products ul {
    display: block;
}
.bloc_remontee_prod_brand_products ul li {
    position: relative;     /* pour le <a> */
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    column-gap: 25px;
    width: auto;
    height: auto;
    padding-bottom: 31px;
    margin-bottom: 30px;
    border-bottom: 1px solid var(--grismed);
}
.bloc_remontee_prod_brand_products ul li:last-child {
    margin-bottom: 26px;
}
.remontee_single_brand_pic,
.remontee_single_brand_nopic {
    display: block;
    width: 155px;
    height: 155px;
    margin-right: 28px;
    margin-bottom: 10px;
}
.remontee_single_brand_nopic {
    background-color: var(--grisc);
}
.remontee_single_brand_pic img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 5px;
}
.remontee_single_brand_maintitle {
    display: block;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 25px;
    padding-bottom: 5px;
}
.remontee_single_brand_infos {
    line-height: 26px;
    padding-bottom: 18px;
}
.remontee_single_brand_btn {
    height: fit-content;
    margin-left: auto;
}
.remontee_single_brand_price .price {
    padding-bottom: 10px !important;
    margin-top: 0 !important;
}
.product_term_desc {
    margin-bottom: 49px;
}
.product_term_desc .term-description {
    display: block;
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 31px;
}

/*** PAGINATION GÉNÉRALE ET AJAX ! ***/
.pagination,
.pagination_ajax {
    text-align: center;
}
.pagination .inactive,
.pagination .current,
.pagination_ajax button.inactive,
.pagination_ajax button.current {
    position: relative;
    display: inline-block;
    font-size: 20px;
    line-height: 26px;
    margin-right: 20px;
    text-decoration: unset;
}
.pagination .current,
.pagination_ajax button.current {
    color: var(--orangef);
}
.pagination .inactive:after,
.pagination .current:after,
.pagination_ajax button.inactive:after,
.pagination_ajax button.current:after {
    position: absolute;
    content: '';
    width: 2px;
    height: 2px;
    right: -6px;
    bottom: 7px;
    border-radius: 50%;
    background-color: var(--grisf);
}
.pagination .current:after,
.pagination_ajax button.current:after {
    color: var(--orangef);
    background-color: var(--orangef);
}

/*** PAGINATION AJAX ***/
.pagination_ajax button {
    background-color: unset;
    border: unset;
}
.pagination_ajax button.inactive:hover {
    cursor: pointer;
}


/******************/
/*****REPETEUR*****/
/******************/
.page_hentry_wiz_repeat{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 40px 3%;
}
.page_hentry_repeat_block_type1{
    width: 100%;
}
.page_hentry_repeat_block_type2{
    width: 48.5%;
}
.page_hentry_repeat_block_type3{
    width: 31.33%;
}
.page_hentry_repeat_block_type4{
    width: 22.75%;
}


/******************/
/*****HOMEPAGE*****/
/******************/


