/*
    NOIISE
    Second fichier CSS qui complète noiise.css qui a recours au SCSS
    Ne pas supprimer noiise.css et/ou noiise2.css
*/

:root {
  --primary: #0E0E29;
  --secondary: #fff;
  --color1: #c91313; 
  --GrisClair: #f6f6f6; 
  --GrisHover: #ddd; 
  --GrisFonc: #1d1d1b;
  /*
  --color3: #93C47D; 
  --gris1: #F3F6FB;
  --transition: all .4s ease-in-out;
  */
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(5px); }
    to   { opacity: 1; transform: translateY(0); }
}

/*******************************/
/************RESET**************/
/*******************************/
.alert-danger { background-color: #f2dede; border-color: #ebcccc; color: var(--primary);}
.alert-danger a {color: var(--color1);}
.ce-pagination .elementor-active { font-weight: bold; padding: 2px 7px 1px 7px; margin-top: -4px !important; border-radius: 20px; border: 2px solid var(--color1);}
.bloc_miniature {background-color: var(--GrisClair);}
a:focus {color: var(--color1) !important;}
nav.elementor-nav-menu .sub-menu {box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);}
a {color: var(--color1);}
.swiper-pagination-bullet {width: 8px !important; height: 8px !important;}

/* MENU */
#adtm_menu ul#menu {
    justify-content: flex-start;
    align-items: center;
}
#header a {
    font-size: 16px !important;
}
#header a:hover {
    color: var(--color1);
}
#adtm_menu {
    margin: 0;
}
#adtm_menu ul#menu li div.adtm_sub {
    top: 100% !important;
    margin-top: 24px !important;
    border-radius: 24px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15) !important;
    padding: 24px;
    width: calc((3 * 286px) + (2 * 24px)) !important;
}
#adtm_menu ul#menu li div.adtm_sub::before {
    content: "";
    position: absolute;
    display: block;
    top: -35px; /* On dépasse un peu les 28px pour chevaucher le menu parent */
    left: 0;
    right: 0;
    height: 35px; /* On fait un pont assez large pour boucher tout le trou */
    background: transparent;
    z-index: -1;
}
#adtm_menu .adtm_column span.column_wrap_title,
#adtm_menu .adtm_column span.column_wrap_title a,
#adtm_menu .adtm_column span.column_wrap_title span[data-href] {
    font-size: 16px;
    font-weight: 600;
    padding: 12px;
}
#adtm_menu div.adtm_column_wrap ul.adtm_elements {
    padding: 0 24px !important;
}
#adtm_menu .adtm_column {
    margin: 0;
}
#adtm_menu .li-niveau1 a.a-niveau1 .advtm_menu_span {
    font-size: 16px;
}
#adtm_menu .li-niveau1 a.a-niveau1 .advtm_menu_span .advtm_menu_span_3::after {
    content: "";
    border-bottom: 2px solid var(--color1);
    height: 10px;
    width: 10px;
}

/************ btn Sticky **************/
.bloc_btn_fix {
    position: fixed;
    bottom: 10%;
    z-index: 11111;
    left: 0;
    transform: translateX(-137px); 
    transition: .5s !important;
}
.bloc_btn_fix .btn_fix {transition: .5s}

.bloc_btn_fix .btn_fix .elementor-button-link {
    border: 1px solid var(--blanc);
    font-size: 15px;
    padding: 0 0 0 24px;
    transition: .5s;
    border-radius: 64px !important;
    /*font-weight: 800;*/
    text-align: left;
    background: transparent;
}
.bloc_btn_fix .btn_fix .elementor-button-link .elementor-button-content-wrapper {
    align-items: center;
}

.bloc_btn_fix .btn_fix .elementor-button-link .elementor-button-content-wrapper .elementor-button-icon {
    width: 50px;
    height: 50px;
    background: var(--primary);
    border: 1px solid var(--secondary);
    border-radius: 50%;
    transition: var(--trans);
    justify-content: center;
    align-items: center;
    display: flex;
}

.bloc_btn_fix:hover {
    transform: translateX(0);
    transition: var(--trans);
}

.bloc_btn_fix:hover .elementor-button-link { color: var(--primary) !important; background: var(--GrisClair); transition: .5s; }
.bloc_btn_fix:hover .fas.fa-square-phone {color: var(--GrisClair) !important;}

/*******************************/
/**********VITRINE**************/
/*******************************/
.OverlayRouge::after {content: "";
  position: absolute;
  inset: 0; 
  background-color: rgba(201, 19, 19, 0.45);
  z-index: 2;
  pointer-events: none;}
.OverlayRouge .elementor-widget-wrap {z-index: 4;}
/* #header {position: fixed !important; top: 0 !important; width: 100% !important;}  
body {margin-top: 4rem;} */ 


/************ ACCUEIL **************/
.ImgNosInnovations img { height: 100% !important; }
.bloc_onglets .elementor-nav-tabs { padding: 10px 0 10px 0 !important; }
.bloc_onglets .elementor-nav-tabs .elementor-nav .menu-item .elementor-item {
    padding: 10px 15px !important;
    text-decoration: none;
}
.bloc_onglets .elementor-nav-tabs .elementor-nav .menu-item .elementor-item-active, 
.bloc_onglets .elementor-nav-tabs .elementor-nav .menu-item .elementor-item:hover {
    color: var(--secondary) !important;
    text-decoration: none;
}

/************ FIN ACCUEIL **************/


/************ Category **************/
#category .ce-pagination--skin-classic .elementor-widget-container {text-align: -webkit-right;}
#category .ce-pagination .ce-pagination__arrow {margin-top: -4px !important;} 
#category .elementor-widget-container .ce-pagination {
    /*width: 100% !important;*/
}

/* Pagination active */
#category .elementor-widget-container .ce-pagination a,
#category .elementor-widget-container .ce-pagination a:link,
#category .elementor-widget-container .ce-pagination a:visited,
#category .elementor-widget-container .ce-pagination a:hover,
#category .elementor-widget-container .ce-pagination a:active,
#category .elementor-widget-container .ce-pagination a:focus,
#category .elementor-widget-container .ce-pagination a:focus-visible {
    color: #7C818F;
    border-radius: 32px;
    width: 32px;
    height: 32px;
    line-height: 32px;
    border: 1px solid #F3F5F7;
    justify-content: center;
}
/* Pagination bouton suivant et précédent ronds */
#category .elementor-widget-container .ce-pagination a span {
    padding-inline-end: 0 !important;
    width: 30px;
    height: 30px;
    text-align: center;
}

/* Pagination page en cours */
#category .ce-pagination ul li:not(:has(a)) .elementor-icon-list-text {
    color: var(--color1);
    border-radius: 32px;
    width: 32px;
    height: 32px;
    line-height: 32px;
    border: 1px solid #7C818F;
    text-align: center;
}
/* Pagination page ... */
#category .ce-pagination ul li.elementor-icon-list-item:not(:has(.screen-reader-text)) .elementor-icon-list-text {
  /* enlever la bordure sur "..." */
  border: none !important;
  background: transparent !important;
  width: auto !important;
  height: auto !important;
  line-height: normal !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

#category .elementor-10170101 .elementor-element.elementor-element-4d5ef95d .elementor-row {justify-content: center;}
.ce-image-gallery, .ce-image-gallery * { overflow-x: auto !important; scrollbar-width: auto; }
.ce-image-gallery::-webkit-scrollbar, .ce-image-gallery *::-webkit-scrollbar {height: 8px !important;}
.ce-image-gallery::-webkit-scrollbar-track,
.ce-image-gallery *::-webkit-scrollbar-track {background: var(--GrisHover) !important; border-radius: 0 !important;}
.ce-image-gallery::-webkit-scrollbar-thumb, .ce-image-gallery *::-webkit-scrollbar-thumb { background: var(--color1) !important;border-radius: 0 !important;}
.ce-image-gallery.ce-scrollbar-x--auto {padding-bottom: 20px;}
.bloc_sous-cat .ce-image-gallery .ce-gallery-item {box-shadow: none; transition: .5s;}
.bloc_sous-cat .ce-image-gallery .ce-gallery-item:hover {box-shadow: 0px 5px 10px 0 rgba(0, 0, 0, .1);}
#category .ListingCategorie img {display: none;}
#category .ListingCategorie .ce-articles {row-gap: 0px;}
#category .ListingCategorie .ce-articles .ce-article__cta {transition: .4s;}
#category .ListingCategorie .ce-articles .ce-article__cta:hover {color: var(--primary);}
#category .ListingCategorie h3 {font-size: 1.3125rem;}
#category .ListingCategorie .ce-articles .ce-article__title {font-size: 15px;}
#category nav.breadcrumb {display: none;}
#category.category-depth-level-4 .displayNone {display: none;}
#category.category-depth-level-4 .MarginTopLevel4 {margin-top: 4rem;}
#category .ce-article { width: auto; flex-direction: column; gap: 5px; padding: 8px 40px; border-radius: 10px; margin-bottom: 15px;}

/* ================================
FILTRE STICKY AU SCROLL – DESKTOP
================================ */

@media (min-width: 1024px) {
    /* Autoriser le sticky (Elementor bloque souvent avec overflow) */
    .elementor-column,
    .elementor-column-wrap,
    .elementor-widget-wrap {
        overflow: visible !important;
    }

    /* Colonne contenant le filtre */
    .elementor-element-f67ee1c {
        position: sticky;
        top: 120px; /* ⬅ ajuste selon la hauteur du header */
        align-self: flex-start;
    }

    /* Conteneur du filtre */
    .ce-filters__container {
        position: relative;
        max-height: calc(100vh - 140px);
        overflow-y: auto;
    }

    /* Scroll propre à l’intérieur du filtre */
    .ce-filters {
        overflow-y: auto;
        max-height: 100%;
    }
}
/************ FIN Category **************/

.elementor-element-dc63d4f {
  max-height: 200px;
  overflow-y: auto;
}

/* largeur de la scrollbar */
.elementor-element-dc63d4f::-webkit-scrollbar {
  width: 6px;
}

/* fond */
.elementor-element-dc63d4f::-webkit-scrollbar-track {
  background: transparent;
}

/* barre */
.elementor-element-dc63d4f::-webkit-scrollbar-thumb {
  background-color: #999;
  border-radius: 10px;
}

.elementor-element-dc63d4f .elementor-element-db7f80b {padding: 10px;}

/* Page article blog */
.title_cat {font-family: Lexend, sans-serif; font-size: clamp(26px, 1.502vw + 20.366px, 36px);
    line-height: 1.2; font-weight: 200;} 
.ybc-blog-latest-toolbar {font-family: 'Lexend'; font-size: 12px;}
.title_cat:after { content: ""; display: block;
    border-bottom: 1px solid var(--color1); width: 50%; max-width: 170px; margin: 1rem 0 0; }
.ListReassurance .elementor-icon-list-items {margin-left: 20px;}
.ListReassurance .elementor-icon-list-items li {border: 1px solid #ebebeb; padding: 5px 15px; border-radius: 10px; margin-bottom: 15px;}
.SousTitreBlog h2 {font-size: clamp(22px, 1.502vw + 20.366px, 28px); line-height: 1.2; font-weight: 200; color: #121211; text-transform: none;}
.SousTitreBlog h3 {font-size: clamp(22px, 1.502vw + 20.366px, 24px); line-height: 1.2; font-weight: 200; color: #121211; text-transform: none;}
.TypesBancs .elementor-icon-box-content {margin-top: -40px; text-align: left;}
.BoxShadow {box-shadow: 0 12px 22px rgba(200, 200, 200, 0.5)}

.elementor-search__container .elementor-search__label, .elementor-search__container .elementor-search__input {font-size: 15px !important; color: var(--primary) !important;}
.elementor-search--skin-topbar .elementor-search input[type=search].elementor-search__input {font-size: 24px !important; margin-top: .5rem;}
.elementor-search .dialog-close-button  {position: absolute; transition: opacity .3s .3s, color .3s; top: 10px; right: 0%; 
    background-color: var(--color1); color: var(--secondary); border-radius: 90px; font-size: .9rem; transition: transform 0.3s ease;}
.elementor-search .dialog-close-button:hover{transform: rotate(90deg);}
.elementor-search__container .elementor-search__icon.elementor-search__clear {font-size: 14px; margin-top: 15px;}
/* FIN page article blog */

/* SEARCH BAR  */
.ui-jolisearch.ui-menu {display: flex; top: 98px; left: 538px; border-radius: 10px; }
.elementor-search--skin-topbar .elementor-search__products:not(:empty) {display: none !important;}
.ui-widget-content.ui-jolisearch .jolisearch-description .jolisearch-name {font-weight: 900; color: var(--primary);}
.ui-widget-content.ui-jolisearch .jolisearch-results {color: var(--primary);}
.ui-jolisearch.ui-menu .ui-menu-item { width: 23%; margin: auto; padding-left: 0px; padding-right: 0px; 
     margin-bottom: 0.5rem; border: 1px solid var(--GrisHover); border-radius: 10px;}
.ui-jolisearch .jolisearch-description.category {height: 4rem;}
.more-results.ui-menu-item {border: none !important;}
.more-results a {display: none !important;}    
.ui-jolisearch .jolisearch-title:after {display: none;}
.ui-jolisearch .jolisearch-title { background: var(--color1); color: var(--secondary); text-transform: capitalize;
    text-shadow: inherit !important; text-transform: uppercase; border-radius: 5px !important; box-shadow: inherit;}
.ui-jolisearch.ui-menu .ui-menu-item a:hover .jolisearch-image {border: 0px !important;}
.ui-jolisearch .jolisearch-description {padding: 0px !important;}
.ui-jolisearch .jolisearch-description span, .ui-jolisearch .jolisearch-description span, .ui-jolisearch .jolisearch-description span {padding-left: 0px;}
.ui-jolisearch.ui-menu .ui-menu-item a {padding: 0px;}
.jolisearch-description.product {background-color: var(--GrisClair);}
.jolisearch-name {font-size: 11px !important;}
.jolisearch-price {color: var(--color1); font-weight: 700;}
#module-ambjolisearch-jolisearch #product-list-header { text-align: center; margin-top: 2rem; text-transform: math-auto;}
#subcategories {background-color: var(--GrisClair); border-radius: 5px; margin-top: 2rem;}
#module-ambjolisearch-jolisearch .subcategory-image {display: none;}
#module-ambjolisearch-jolisearch  a.subcategory-name { padding: 10px 20px; color: var(--primary); transition: .5s; background-color: var(--secondary); 
    border-radius:5px !important; text-transform: math-auto !important;}
#module-ambjolisearch-jolisearch  a.subcategory-name:hover {color: var(--color1) !important;}
#subcategories .subcategory-heading {font-size: 15px; margin-bottom: 20px; font-weight: 400; text-align: center;}
#js-product-list-top .btn-unstyle.select-title {height: 33px; padding: 7px 10px 0px; border-radius: 5px;}
#js-product-list-top .material-icons.float-xs-right {margin-top: -6px;}
.brands-sort .select-list:hover, .products-sort-order .select-list:hover, .suppliers-sort .select-list:hover {background: var(--primary);}
#module-ambjolisearch-jolisearch #js-product-list-top {margin: 4rem 0px;}
#module-ambjolisearch-jolisearch .bloc_miniature__img {background-color: var(--secondary) !important;}
#module-ambjolisearch-jolisearch .elementor-section-wrap {border: 3px solid var(--GrisClair); border-radius: 11px; margin-bottom: 1.5rem;}
.brands-sort .select-list, .products-sort-order .select-list, .suppliers-sort .select-list {font-size: 14px;}
#module-ambjolisearch-jolisearch .ce-product-description-short {color: var(--primary);}
.elementor-search .dialog-lightbox-close-button {position: absolute; transition: none; color: var(--primary);}
.elementor-lightbox .dialog-lightbox-close-button:hover {color: var(--primary);}

.dialog-lightbox-message .elementor-swiper-button .elementor-lightbox .elementor-swiper-button-prev, 
.dialog-lightbox-message .elementor-swiper-button .elementor-lightbox .elementor-swiper-button-next {height: 10% !important; width: 3% !important;}

.dialog-lightbox-message .elementor-swiper-button .elementor-lightbox .elementor-swiper-button-prev {left:25rem;}
.dialog-lightbox-message .elementor-swiper-button .elementor-lightbox .elementor-swiper-button-next {right:25rem;}

/* Pagination */
.pagination .current a {font-size: .9rem !important; color: var(--color1) !important;}
/* FIN pagination */
/* FIN SEARCH BAR */

/*pagination blog*/
.blog-paggination .links>b {border-color: none; background-color: var(--color1); border: none; border-radius: 20px; font-weight: bold;}
.blog-paggination .links a {font-weight: bold; background-color: var(--secondary); margin: 0px 5px; border-radius: 90px; transition: .5s;}
.blog-paggination .links a:hover {background-color: var(--GrisHover);}
/* FIN pagination blog*/

/* NAVIGATION */
.header_noiise__lang .sub-menu .menu-item .elementor-sub-item.elementor-item-active {background: var(--color1) !important;}

.header_noiise__lang .sub-menu .menu-item .elementor-sub-item:hover {
    background-color: var(--GrisClair) !important;
    color: var(--primary) !important;
}

.bloc_actus-home .elementor-widget-container .ybc_block_featured .block_content .ybc_blog_content_block .ybc_blog_content_block_item .ybc-blog-latest-post-content .read_more:hover {
    background-color: var(--color1);
    border-color: var(--color1);
}

/* Home Vitrine Bouton noir */
.btn_noir > .elementor-widget-container > a.elementor-button{
  background-color: var(--GrisFonc) !important;
  color: var(--secondary) !important;
  border-color: var(--GrisFonc) !important; /* si bordure existante */
}
.btn_noir > .elementor-widget-container > a.elementor-button:hover{
  background-color: #000 !important; /* ou un gris plus foncé */
  border-color: #000 !important;
}
/* Fin Home Vitrine Bouton noir */

/* Home Vitrine Bouton blanc */
.btn_blanc > .elementor-widget-container > a.elementor-button{
  background-color: var(--secondary) !important;
  color: var(--GrisFonc) !important;
}
/*
.btn_blanc > .elementor-widget-container > a.elementor-button:hover{
  background-color: var(--GrisFonc) !important;
  border-color: var(--GrisFonc) !important;
  color: var(--secondary);
}
*/
/* Fin Home Vitrine Bouton blanc */

/*
.li-niveau1 .adtm_sub {
    width: 170%;
    left: -200px !important;
    padding: 40px 50px 20px !important;
    border-radius: 20px; background-color: var(--secondary);
}
*/
.adtm_sub > p  {
    color: black;
    border-bottom: 2px solid var(--color1);
    display: inline-block;
    padding-bottom: 7px;
    font-size: 16px;
    font-weight: 200;
}
.columnWrapTable { margin-top: 10px }
/* FIN NAVIGATION */


/*******************************/
/*********E-COMMERCE************/
/*******************************/

.ce-product-price,
.current-price,
.ce-tax-shipping-delivery-label {
    color: var(--GrisFonc);
    font-size: 30px;
    font-weight: 500;
}

.elementor-cart__toggle .elementor-button {border: 0px !important;}

/* Page Accueil */
.ImgAcc.titre_2 span {
    /*text-transform: lowercase;*/
}
.ImgAcc .BackgroundText {
    background-color: var(--color1);
    text-transform: lowercase;
}
.elementor-widget-container .swiper-slide .elementor-section-wrap .bloc_miniature__img {background-color: var(--secondary);}
.elementor-widget-container .swiper-slide .elementor-section-wrap {border-radius:15px;}
.elementor-widget-container .swiper-slide {transition: .5s; padding: 0;}

.elementor-widget-container .swiper-wrapper { margin-bottom: 0;}
.bloc_miniature {
    display: flex;
    flex-direction: column;
}
.bloc_carrousel-produits .elementor-carousel-wrapper {padding-bottom: 0px !important;}
/* FIN page Accueil */

/* CONTACT */ 
.form_contact .ets-cfu-form .form-control {border-radius: 10px; height: 44px !important;}
/* FIN CONTACT */

/* Miniature produit */
.ce-product-meta__reference {
    color: #666;
    font-size: 14px;
    font-weight: 300;
}
.ce-product-meta__reference .ce-product-meta__label {
    font-weight: 300 !important;
}
.products.ce-products .elementor, 
.products.ce-products .elementor article.elementor-section-wrap, 
.products.ce-products .elementor article.elementor-section-wrap {border-radius: 10px;}
.swiper img.elementor-carousel-image {max-height: 500px; object-fit: contain;}
.products.ce-products .elementor article:hover{box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); }
.ce-products article {border: 2px solid var(--GrisClair);}
.bloc_carrousel-produits .elementor-carousel-wrapper .swiper-slide {min-height: inherit !important; transition: .5s;}
.bloc_carrousel-produits .elementor-carousel-wrapper .swiper-slide:hover {box-shadow: 10px 11px 19px 0 rgba(0, 0, 0, .1) !important;}
.bloc_carrousel-produits .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom, 0) !important;
}
.bloc_miniature__titre .ce-product-name {display: block;}
.elementor-carousel-wrapper .swiper-slide > .elementor {background-color: #fafafa; border-radius: 20px;}
.bloc_miniature__cat .ce-product-meta .ce-product-meta__value {color: var(--color1); font-size: 11px; font-weight: 400; text-transform: capitalize;}
.ce-widgets-space--gap > .elementor-column-wrap > .elementor-widget-wrap {gap: var(--ce-widgets-space, 15px) !important;}
.bloc_miniature__titre .elementor-heading-title { margin-top: -10px;}
.bloc_miniature__titre .ce-product-name a { font-size: 15px !important; font-weight: bold !important; margin-top: -10px;}

.ce-product-description-short {
    /*width: 450px;*/
}
.ce-product-description-short,
.ce-product-description-short p {
    font-size: 14px;
    line-height: 20px;
}
.elementor-carousel-wrapper .ce-product-description-short { font-size: 14px !important; }
.elementor-widget-product-miniature-price {margin-top: -10px !important;}
.SliderFondBlanc .elementor-carousel-wrapper article {border: 2px solid var(--GrisClair);}
/* FIN Miniature produit */

/* Page produit */
.product-actions .add-to-cart{font-weight: 400; font-size: .9rem;}
.product-add-to-cart .control-label {display: none;}
#product .product-prices.js-product-prices {display: flex;}
#product .product-price {margin-right: 10px;}
.bootstrap-touchspin button.btn-touchspin:nth-of-type(2){border-top: none;}
.elementor-widget-container .swiper-slide {box-shadow:none !important;}
.elementor-skin-slideshow .elementor-thumbnails-swiper .swiper-slide {
    padding: 5px;
}
#product .elementor-swiper-button {
    color: rgba(0, 0, 0, 0.5) !important;
    background: transparent !important;
    border: none !important;
}

.elementor-skin-slideshow .elementor-thumbnails-swiper 
.swiper-slide:not(.swiper-slide-thumb-active):after {transition: background-color 0.5s ease;}
#product .elementor-skin-slideshow .elementor-thumbnails-swiper .swiper-slide:not(.swiper-slide-thumb-active):hover:after {background-color: rgba(0, 0, 0, 0); }
#product #content {margin-top: 4rem;}
.LesPlusProduits .elementor-icon-list-icon .ceicon-plus:before {color: var(--color1); border: 2px solid var(--color1);  border-radius: 10px; padding: 1px;}
.IconeReassurance{text-align: center;}
.IconeReassurance img {width: 100px;}
.elementor-widget-shortcode .m1produit-feature__value {text-align: center !important;}
#product .elementor-tabs-wrapper .elementor-active a {
    border-bottom: 2px solid var(--color1);
}
#product .elementor-tabs-wrapper .elementor-tab-title {
    color: #999;
    font-weight: 400;
}
body#product h1 {
    color: var(--GrisFonc);
    font-size: 30px;
    font-weight: 200;
    line-height: normal;
}

/* Onglet actif */
#product .elementor-tabs-wrapper .elementor-tab-title.elementor-active {
    color: var(--GrisFonc);
    background: transparent;
    border-bottom: none;
    position: relative;
}
#product .elementor-tabs-wrapper .elementor-tab-title.elementor-active::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 82px;
    height: 3px;
    background-color: var(--color1);
}

#product .elementor-tabs-wrapper a:hover {
    color: var(--color1);
}

#product .elementor-widget-container .swiper-wrapper {margin-bottom: 0px !important;}
#product .elementor-main-swiper .swiper-slide {margin: auto !important;}
.elementor-lightbox .elementor-swiper-button-next, .elementor-lightbox .elementor-swiper-button-prev {height: 4%; display: flex; align-items: center; width: 2%; }
.elementor-widget-container .elementor-swiper-button-prev {left: -60px;}
.elementor-widget-container .elementor-swiper-button-next {right: -60px;}
.m1produit-feature__value {text-align: left !important;}

.m1-product-attachments {
    width: 50% !important;
    padding: 0 !important;
    list-style: none !important;
}
.m1-product-attachments a {
    color: var(--primary);
    transition: .5s;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.m1-product-attachments a:hover {
    color: var(--color1) !important;
}
.m1-product-attachments a::before{
    content: "";
    width: 18px;
    height: 18px;
    display: inline-block;
    background-color: currentColor;
    -webkit-mask: url("../img/picto-telechargement.svg") no-repeat center / contain;
    mask: url("../img/picto-telechargement.svg") no-repeat center / contain;
}
.m1-product-attachments ul {
    padding: 0;
}
.m1-product-attachments li {
    border: 1px solid #999;
    padding: 0.5rem 2rem;
    margin: 0 0 1rem 0;
}
.m1-product-attachments div {
    border: 1px solid #999;
    padding: 1rem;
}

.ContainerCequiestCompris .elementor-widget-container {text-align: center !important; border: 1px solid var(--primary); padding: 1rem; border-radius: 20px;}
.elementor-widget-shortcode .m1produit-feature__value {margin-top: 10px !important; display: block;}
#product .swiper-pagination {bottom: -30px !important; }
.TerminaisonProduct .elementor-widget-container {text-align: center !important; margin-top: 20px !important; font-weight: 600;}
#product .elementor-widget-container .elementor-swiper-button-prev {left:10px;}
#product .elementor-widget-container .elementor-swiper-button-next {right: 10px;}
#product .swiper-initialized.swiper-horizontal .elementor-swiper-button {width: 45px !important; height: 45px !important;}

#product .elementor-widget-product-quantity .ce-product-quantity__btn {
    color: var(--secondary);
    /*background-color: var(--color1);*/
    transition: .5s;
}
.ce-product-quantity--view-inline .ce-product-quantity__btn {
    background: transparent;
    color: #737373 !important;
    border-radius: 50% !important;
    border: 2px solid #737373;
}
#product .elementor-widget-product-quantity .ce-product-quantity__btn:hover {
    color: var(--color);
    /*background-color: var(--GrisClair);*/
}
.ce-product-quantity--view-stacked input[type=number] {padding-inline-end: 2em !important;}
.elementor-17170102 .elementor-element.elementor-element-1301680 a.elementor-button:focus {color: var(--secondary) !important; text-decoration: none;}

#product .ce-product-stock__availability .ceicon-check {margin-inline-end: 5px;}
#product .ce-product-stock__availability .ceicon-check:before {color: #12c100;} 


/* Tabs produit Description/Caractéristiques/Téléchargement */
.m1produit_features {
    width: 100%;
    margin: 20px 0;
}
.m1produit_features tr:nth-child(even) {
    background: #fafafa;
}
.m1produit_features td {
    padding: 0.5rem;
    font-size: 15px;
    color: #333;
}
.m1produit_features tr td{
    font-weight: 400;
    color: #999;
    background-color: #f1f2f3;
}
.m1produit_features tr:nth-child(even) td{
    background-color: var(--secondary);
}
.m1produit_features td {
    width: 50%;
}

/* ------------------------- */
/*      STYLE DES TABS       */
/* ------------------------- */
.elementor-tab-content {
    animation: fadeIn .3s ease;
    line-height: 1.6;
    color: #333;
}

/* ---- Structure du formulaire ---- */
#chargeForm {
    max-width: 100%;
    margin: 40px auto;
    display: flex;    
    gap: 20px;        
    align-items: center;
    flex-wrap: wrap;  
}

.one-half, .one-half.last {
    padding: 0;
    width: auto;
    flex: 1;          
    min-width: 160px; 
}
button[type="button"] {
    position: relative;
}

button[type="button"] span {
    width: max-content;
    min-width: 200px;
}

/* ---- Style des champs ---- */

.input span {
    display: flex;
    align-items: center;
    width: 100%;
}

.input__field {
    flex: 1;
    padding: 10px 14px;
    border: 2px solid var(--primary);
    background: var(--GrisClair);
    border-radius: 6px;
    color: var(--primary);
    transition: 0.2s ease;
}

.input__field:focus {
    border-color: var(--color1);
    box-shadow: 0 0 4px rgba(228, 14, 32, 0.4);
    outline: none;
}

/* ---- Boutons "?" ---- */
button[type="button"] {
    position: relative;
    background: var(--primary);
    color: var(--secondary);
    border: none;
    border-radius: 20%;
    width: 20px;
    padding-bottom: 24px;
    height: 0px;
    font-size: 15px;
    cursor: pointer;
}

button[type="button"]:hover {
    background: var(--color1);
}

/* Infobulle */
button[type="button"] span {
    display: none;
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary);
    color: var(--secondary);
    padding: 6px 10px;
    border-radius: 4px;
    white-space: nowrap;
    z-index: 10;
}

button[type="button"]:hover span {
    display: block;
}

/* ---- Bouton Calculer ---- */
input[type="button"] {
    padding: 12px 20px;
    font-size: 16px;
    border: none;
    border-radius: 6px;
    background: var(--color1);
    color: var(--secondary);
    cursor: pointer;
    transition: 0.2s ease;
    white-space: nowrap;
}
input[type="button"]:hover {background: var(--primary)}

#tabscalculateurpms h3 {margin-top: 2rem}
.HeaderCalculateur {overflow: hidden}
.arrimage-pics + div {margin: 2rem 0rem !important}

.m1-product-category-name {
    font-size: 14px;
    font-weight: 400;
    color: var(--GrisFonc);
}
/*FIN page produit*/

/*MODAL ajout au panier*/
    #blockcart-modal h6.product-name {color: var(--primary) !important; font-size: 14px;}
    .elementor-cart__empty-message {color: var(--color1) !important;}
    #blockcart-modal .product-price, #blockcart-modal .subtotal.value, 
    #blockcart-modal .shipping.value, #blockcart-modal .value {font-weight: 600; color: var(--color1) !important;}
    #blockcart-modal .cart-content p.product-total {border-radius: 5px;}
    #blockcart-modal .cart-content-btn {width: 100%;}
    #blockcart-modal .cart-content-btn .btn.btn-secondary {height: 42px; padding-top: 12px; font-weight: 600; transition: .5s;}
    #blockcart-modal .cart-content-btn .btn.btn-secondary:hover {color: var(--secondary);}
    #blockcart-modal button[type="button"] span {display: block; background: none; color: var(--secondary) !important; top: -6px; left: 10px;}
    #blockcart-modal .modal-header .close .material-icons {color: var(--secondary);}
    #blockcart-modal .cart-content .cart-content-btn .btn {white-space: nowrap; width: 100% !important;}
    #blockcart-modal .cart-content-btn .btn-secondary,  
    #blockcart-modal .cart-content-btn .btn-primary {font-weight: 400; border-radius:10px; font-size: .9rem;}
    #blockcart-modal .cart-content-btn a i, .add-to-cart .shopping-cart {display: none;}
/* FIN MODAL ajout au panier*/




/*SLIDE panier droit*/
    .elementor-cart--shown .elementor-cart__title:after { content: ""; display: block; border-bottom: 1px solid var(--color1);
        width: 50%; max-width: 170px; margin: inherit;background: var(--color1);}
    .elementor-cart__products {margin-top: 30px;}
    .elementor-cart__summary {color: var(--primary);}
    .elementor-cart__product-remove, .elementor-cart__product-price {color: var(--color1);}
    .elementor-align-justify a {background-color: var(--GrisClair) !important; color: #000000 !important; border:none !important;}
    .elementor-align-justify a:hover {background-color: var(--GrisHover) !important; color: #000000 !important;}
    .elementor-align-justify a.elementor-button--checkout {background-color: var(--primary) !important; color:var(--secondary) !important;}
    .elementor-align-justify a.elementor-button--checkout:hover {background-color: var(--color1) !important; color:var(--secondary) !important;}
/* FIN SLIDE panier droit*/


#cart .btn-primary, #checkout .btn-primary,
#cart .btn-primary:hover, #checkout .btn-primary:hover,
#cart .btn-primary:active, #checkout .btn-primary:active,
#cart .btn-primary:focus, #checkout .btn-primary:focus,
#cart .btn-primary:focus-visible, #checkout .btn-primary:focus-visible {
    color: var(--secondary) !important;
    background-color: var(--color1) !important;
    border-color: transparent !important;
    box-shadow: none !important;
}


/*Page CART*/
#cart .product-line-grid-body>.product-line-info>.label,
#cart .product-line-grid-right .cart-line-product-actions .remove-from-cart, 
#cart .product-line-grid-right .product-price .remove-from-cart,
.cart-grid-body > a.label:last-child {transition: .5s;}
#cart .product-line-grid-body>.product-line-info>.label:hover, 
#cart .product-line-grid-right .cart-line-product-actions .remove-from-cart:hover, 
#cart .product-line-grid-right .product-price .remove-from-cart:hover {color: var(--color1);}
#cart .product-line-grid-body .product-line-info.product-price .current-price {display: none;}
#cart .cart-grid-body > a.label:last-child {color: var(--color1) !important;}
#cart .cart-grid-body > a.label:last-child:hover {color: var(--primary) !important;}
#cart .cart-grid-right {margin-top: 4.5rem;}
#cart .checkout .btn.btn-primary {
    font-size: .9rem;
    font-weight: 500;
    border-radius: 0;
    line-height: 100%;
}
#cart .card.cart-container .separator, .product-line-info.product-price .price {display: none;}
#cart h1:after { content: ""; display: block; border-bottom: 1px solid var(--color1);
    width: 50%; max-width: 170px; margin: inherit;background: var(--color1);}
.product-line-grid-right .col-md-10.col-xs-6 .price .product-price {color: var(--color1);}
#cart .cart-grid-right .value {color: var(--color1);}
.card.cart-summary {border: 1px solid var(--GrisHover); border-radius: 10px; position: fixed; width: 20%;}
#cart .js-cart-line-product-quantity {border-right: 0px; border-color: 1px solid var(--primary);}
#cart .bootstrap-touchspin .input-group-btn-vertical .touchspin-up::after {color: var(--primary);}
#cart .bootstrap-touchspin .input-group-btn-vertical .touchspin-down::after {color: var(--primary);}
#cart .bootstrap-touchspin button.btn-touchspin:nth-of-type(2), #cart .bootstrap-touchspin .btn-touchspin {border-color: var(--primary);}
#cart .cart-items li.cart-item:first-child {border-top: 1px solid var(--GrisHover);}
#cart .cart-items li.cart-item {border-bottom: 1px solid var(--GrisHover);}
#cart .cart-items li.cart-item:last-child {border-bottom: none;}
#cart .cart-item {padding: 2rem 0;}
#cart .cart-overview.js-cart ul .product-line-grid {display: flex; align-items: center;}
#cart .cart-overview.js-cart > .row {margin: 2rem 0px;}
/* FIN Page CART*/

/*Page CHECKOUT*/
#checkout .step-number {background-color: var(--color1) !important; font-weight: bold !important; font-size: 1.5rem !important;}
#checkout .nav-item .nav-link.active {color: var(--color1) !important;} 
#checkout a:hover, #cta-terms-and-conditions-0 {color: var(--color1) !important;}
.custom-radio input[type=radio]:checked+span {background-color: var(--color1) !important;}
.input-group .input-group-btn>.btn[data-action=show-password] {background-color: var(--primary)!important; font-weight: bold !important;}
form .form-control-label {color: var(--primary);}
#checkout #checkout-personal-information-step .nav-inline .nav-item:nth-child(-n+2) { display: none !important; }
/* Masquer le premier tab-pane */
.tab-content > .tab-pane:nth-child(1) {display: none !important; visibility: hidden; height: 0; overflow: hidden;}
.tab-content > .tab-pane:nth-child(2) {display: block !important; visibility: visible; height: auto; overflow: visible;}
.tab-content > .tab-pane:nth-child(2).active {display: block !important;}
body#checkout section.checkout-step .step-number {border: none; color: var(--secondary);}
.page-content.page-cms ul, #checkout section.checkout-step small, .step-edit.text-muted {color: var(--primary) !important;}
#checkout-personal-information-step .content p a {color: var(--primary); border-bottom: 1px solid var(--primary); transition: .5s;}
.step-edit.text-muted {transition: .5s;}
#checkout-personal-information-step .content p a:hover, .step-edit.text-muted:hover {color: var(--color1) !important;}
#checkout .continue {font-size: 14px; font-weight: 500;}
#checkout section.checkout-step .address-item.selected  {background-color: var(--GrisClair) !important; border: 1px solid var(--GrisHover) !important; border-radius: 10px;}
#checkout .address-footer {color: var(--primary) !important; transition: .5s;}
#checkout .add-address i {color: var(--color1); font-size: 1rem;font-weight: bold; border-radius: 10px; 
    border: 3px solid var(--color1); padding: 0px 15px 15px 0px; margin-right: 7px;}
#checkout .add-address a {border-bottom: 1px solid var(--primary); transition: .5s; padding-bottom: 5px;}
#checkout .add-address a:hover {color: var(--color1) !important;}
.js-address-form p a  {color: var(--primary) !important;}
#checkout-payment-step .content {margin-left: 20px;}
body#checkout section.checkout-step #conditions-to-approve {padding-top: 0rem !important;}
#conditions-to-approve ul {margin: 0px;}
#order-summary-content h4 {font-weight: 500; font-size: 1.2rem; margin: 20px 0px 10px;}
body#checkout #order-summary-content .step-edit { color: var(--primary); font-size: 14px;}
body#checkout #order-summary-content .step-edit:hover { color: var(--color1);}
body#checkout #order-summary-content .summary-selected-carrier {padding: 0rem; margin-bottom: 1.5rem; border: none;}
#order-confirmation-table a {color: var(--primary);}
#order-confirmation .card-block > .row {display: flex; flex-direction: row;}
.summary-selected-carrier .row {display: flex; align-items: center;}
body#checkout #order-summary-content .summary-selected-carrier .logo-container img {width: 5rem !important;}
.order-confirmation-table .col-sm-4.col-xs-9.details span {font-size: 14px;}
#js-checkout-summary .js-cart-summary-products p a {color: var(--color1);}
#js-checkout-summary .media-list .media-body .product-name a {color: var(--primary) !important;
    margin-bottom: 10px !important; display: block; font-weight: 600;}
#js-checkout-summary .media-list .product-price {color: var(--primary); font-weight: 700;}
#js-checkout-summary .media-list .media {margin: 1rem 0px;}
/* FIN Page CHECKOUT*/

/* Page MON COMPTE*/
#my-account h1, #identity h1, #addresses h1, #address h1, #history h1, #order-detail h1 {margin-top: 2rem; text-align: center; font-size: 2rem; font-weight: 400;}
#my-account .links .link-item {font-weight: 500;}
.page-my-account #content .links a span.link-item {transition: .5s; display: block; padding: .9rem;  background: var(--GrisClair); border-radius: 10px; color: var(--primary);}
.page-my-account #content .links a:hover span.link-item {background: var(--GrisHover); color: var(--color1);}
.page-my-account #content .links a i {padding-bottom: 2.3rem; font-size: 2rem;}
.page-footer .text-sm-center a {background-color: var(--primary); color: var(--secondary); padding: 5px 10px; border-radius: 5px; transition: .5s;}
.page-footer .text-sm-center a:hover {background-color: var(--color1); color: var(--secondary);}
#main .page-content h6 {color: var(--primary) !important;}
.page-customer-account a, .page-my-account a {color: var(--primary);}
#order-infos a {color: var(--color1);}
#order-infos a:hover {color: var(--primary);}

/* info perso / Adresses / news Adresse etc */
#identity .btn-primary, #address .btn-primary {font-size: 14px;}
#order-products a {color: var(--primary);}
#addresses .addresses-footer a {transition: .5s; color: var(--color1); border-bottom: 1px solid var(--color1);}
#addresses .addresses-footer a:hover {color: var(--primary); border-bottom: 1px solid var(--primary);}

#identity .page-footer .account-link:last-of-type, 
#addresses .page-footer .account-link:last-of-type,
#address .page-footer .account-link:last-of-type,  
#history .page-footer .account-link:last-of-type, 
#order-detail .page-footer .account-link:last-of-type {display: none;}

#identity .page-footer .account-link,
#addresses .page-footer .account-link, 
#address .page-footer .account-link, 
#history .page-footer .account-link, 
#order-detail .page-footer .account-link {transition: .5s; color: var(--primary);}

#identity .page-footer .account-link:hover,
#addresses .page-footer .account-link:hover,
#address .page-footer .account-link:hover,
#history .page-footer .account-link:hover, 
#order-detail .page-footer .account-link:hover {color: var(--color1);}
/* FIN Page MON COMPTE*/

/* Calculateur */
.one-half.d-flex {display: flex; align-items: center; justify-content: space-around;}
.ContainerCalcul {background-color: var(--GrisClair); padding: 2rem; margin: 0px 0px 60px; border-radius:20px;}    
.dflexCenterSpaceAround {display: flex; align-items: center; justify-content: space-around;}
.one-half.d-flex.last {margin-top: 1rem;}
#angleAlphaLabel, #angleBetaLabel {font-weight: bold; color: var(--primary) !important; border-radius: 10px;}
.BtnCalcul {font-size: 14px; display: inline-block;}
.BtnCalcul:hover input {background-color: var(--primary);}
.text-center {text-align: center;}
/* FIN Calculateur */

/* MODULE LOGIN Private shop */
    #privatebox {background-color: inherit; padding: 0px !important; }
    body.private_modern_theme .container {padding: 90px 40px 40px !important; background-color: #fff82 !important; 
        border-radius: 15px; margin-top: -110px !important;}
    body.private_modern_theme #logo_basic {margin-top: -50px !important; background: none;}
    #wrapper {background: none !important;}
    #privatebox .private-subheading {color: var(--primary) !important; border-bottom: none !important;}
    .form-control:focus { color: #232323; outline: .1875rem solid var(--color1);}
    body.private_modern_theme input.form-control {height: 10px; border-radius: 10px; font-size: 14px; font-style: normal;}
    #lost-password {background-color: inherit !important; color: var(--primary); border-bottom: 1px solid var(--primary); border-radius: 0px; font-style: normal;}
    body.private_modern_theme ul#pshop_bottom_footer .lost_password a {background-color: none !important; border-radius: 0; font-style: normal;}
    body.private_modern_theme ul#pshop_bottom_footer .lost_password a:hover {background-color: none !important; color: var(--secondary) !important; border-bottom: 1px solid var(--secondary);}
    body.private_modern_theme .btn { transition: .3s; border-radius: 3px; background: var(--primary) !important; text-transform: math-auto; border: 0px !important; color: var(--secondary) !important;
        box-shadow: none; font-weight: 500; border-radius: 10px; font-size: 14px;}
    body.private_modern_theme .btn:hover { background: var(--color1) !important;}
    .containerBacktoVitrine {text-align: center;}
    #backToVitrine {margin-left: 9rem; margin-top: 2rem;}

/* FIN MODULE LOGIN Private shop */

/* Recherche produit */
#module-ambjolisearch-jolisearch {}
/* FIN Recherche produit */

/* RESPONSIVE */ 
@media screen and (max-width: 1024px) {
    #header .elementor-element-0118655 .elementor-container .elementor-row .elementor-element-ec25f1c {order:1; width: 50%; padding: 0px 7rem 0px 0px; margin-top: -20px; margin-left: -10px;}
    #header .elementor-element-0118655 .elementor-container .elementor-row .elementor-element-f385032 {order:2; width: 50%; padding: 0px 0rem 0px 20rem; margin-top: -20px;}
    #header .elementor-element-0118655 .elementor-container .elementor-row .elementor-element-821fa25 {order:3; width: 50%;}
    #header .elementor-element-0118655 .elementor-container .elementor-row .elementor-element-8850981 {order:4; width: 50%;}     
    .MenuButton .elementor-button-link {text-align: left;}
}

@media screen and (max-width: 500px) {
    .elementor-1170101 .elementor-element.elementor-element-0118655 { padding: 20px 0px !important; }
    #header .elementor-element-0118655 .elementor-container .elementor-row .elementor-element-ec25f1c {order:5; width: 100%; padding: 0px; margin: -11px 0px !important; margin-left: 9px !important;}
    #header .elementor-element-0118655 .elementor-container .elementor-row .elementor-element-ec25f1c .elementor-element {width: auto !important;}
    #header .elementor-element-0118655 .elementor-container .elementor-row .elementor-element-f385032 {order:2; width: 100%; padding: 0px; margin-top: 0px; background-color: var(--GrisClair); margin-top: -20px;}
    #header .elementor-element-0118655 .elementor-container .elementor-row .elementor-element-f385032 .elementor-row {flex-direction: row; justify-content: flex-end; margin-right: 45px;}
    #header .elementor-element-0118655 .elementor-container .elementor-row .elementor-element-821fa25 {order: 3; width: 29%; margin: 0px 0px 0px 20px;}
    #header .elementor-element-0118655 .elementor-container .elementor-row .elementor-element-8850981 {order: 4; width: 55%;}     
    .elementor-nav--dropdown.elementor-nav__container {position: absolute; z-index: 99; width: 100%;margin-top: 35px; box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);}
    .elementor-nav .elementor-item.has-submenu.highlighted, .elementor-nav .elementor-sub-item.has-submenu.highlighted{color: var(--secondary) !important; font-weight: bold !important;}
    .elementor-nav--align-right {position: absolute;}
    .elementor-menu-toggle {color: #494c4f !important;}
    .elementor-nav .elementor-item, .elementor-nav .elementor-sub-item.has-submenu, .elementor-nav .elementor-sub-item {font-weight: bold !important; font-size: 14px !important;}
}

/* Vidéo page produit */
.m1-video-simple {
    background-color: #000;
    padding: 2rem 4rem;
    margin: 1rem 0;
}
.m1-video-simple p {
    color: var(--secondary);
    padding: 1rem 0;
    text-align: center;
    text-transform: uppercase;
    font-size: 1rem;
}

/* Texte de description des sous-catégories (niveau n) */
.category-subcategory-description-text,
.category-subcategory-description-text p {
    background-color: transparent;
    color: #7C818F;
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    line-height: 20px;
}

/* Liste sous-catégories boutons rouges */
.category-subcategory-list ul {
    row-gap: 12px;
    margin-bottom: 16px !important;
}
.category-subcategory-list li {
    background-color: var(--color1);
    border-radius: 3px;
}
.category-subcategory-list a,
.category-subcategory-list a:link,
.category-subcategory-list a:visited,
.category-subcategory-list a:hover,
.category-subcategory-list a:active,
.category-subcategory-list a:focus,
.category-subcategory-list a:focus-visible {
    color: var(--secondary) !important;
    padding: 5px 12px;
}
.category-subcategory-list a:hover {
    text-decoration: underline;
}

/* Filtres à facettes */
.ce-filters .ce-filters__title {
    color: #7C818F;
    font-weight: 300;
    text-transform: uppercase;
}
.ce-filters .ce-checkbox {
    border-radius: 0;
    border: 1px solid var(--color1);
}
.ce-filters a,
.ce-filters a:link,
.ce-filters a:visited,
.ce-filters a:hover,
.ce-filters a:active,
.ce-filters a:focus,
.ce-filters a:focus-visible {
    color: #181818 !important;
    font-weight: 300;
}
.ce-filters .elementor-field-option {
    gap: 10px;
}
.ce-filters .ce-filters__tab {
    padding: 15px 0;
}
.ce-filters .elementor-field-subgroup {
    gap: 10px;
    padding: 0 12px;
}

/* HEADER Panier */
/* zone steps */
.cart-steps-grid { 
}

/* neutralise l'aspect "card" */
.cart-steps-grid .cart-container{
  border: 0;
  box-shadow: none;
  background: transparent;
}

/* on travaille dans le bloc */
.cart-steps-grid .cart-step .card-block{
  position: relative;
  padding: 10px 20px 6px;
}

/* pastille */
.cart-steps-grid .cart-step__num{
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 400;
  margin-right: 10px;
}

/* libellé */
.cart-steps-grid .cart-step p{
  display: inline-block;
  vertical-align: middle;
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: var(--GrisFonc);;
  white-space: nowrap;
}

/* ligne sous l’étape (largeur = largeur du card-block) */
.cart-steps-grid .cart-step .card-block::after{
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 0;
  height: 2px;
  background: var(--GrisFonc);
}

/* actif */
.cart-steps-grid .cart-step.is-active .cart-step__num{
  border-color: var(--color1);
  color: var(--color1);
}
.cart-steps-grid .cart-step.is-active .card-block::after{
  background: var(--color1);
}

/* CTA (4e bloc) : pas de ligne, aligné à droite */
.cart-steps-grid .cart-step--cta .card-block::after{
  display: none;
}
.cart-steps-grid .cart-step--cta .card-block{
  text-align: right;
  padding-bottom: 10px;
}

/* si ton CTA est un lien/bouton */
.cart-steps-grid .cart-step__btn{
  display: inline-block;     /* pas flex */
  border: 1px solid #cfcfcf;
  padding: 8px 14px;
  text-decoration: none;
  color: var(--GrisFonc);
  background: var(--secondary);
}
.cart-steps-grid .cart-step__btn p{
  display: inline;
  font-size: 13px;
  font-weight: 600;
  color: var(--GrisFonc);
}
.cart-steps-grid .cart-step__arrow{
  display: inline-block;
  margin-right: 8px;
  font-weight: 700;
}

/* option : un peu plus d’air entre les colonnes sur grand écran */
@media (min-width: 992px){
  .cart-steps-grid .cart-grid-body{
      padding-left: 0;
      padding-right: 0;
  }
}

/* Puce pleine */
.cart-steps-grid .cart-step__num{
  background: var(--GrisFonc);
  color: var(--secondary);
  border-color: var(--GrisFonc);
}

/* Puce pleine active */
.cart-steps-grid .cart-step.is-active .cart-step__num{
  background: var(--color1);
  border-color: var(--color1);
  color: var(--secondary);
}

/* important : laisse apparaître la barre */
.cart-steps-grid .cart-step,
.cart-steps-grid .cart-step .card-block{
  overflow: visible !important;
}

/* barre sous chaque step */
.cart-steps-grid .cart-step{
  position: relative;
  padding-bottom: 18px; /* place pour la barre */
}

.cart-steps-grid .cart-step::after{
  content: "";
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 0;
  height: 2px;
  background: var(--GrisFonc);
}

/* barre active en rouge */
.cart-steps-grid .cart-step.is-active::after{
  background: var(--color1);
}

/* pas de barre sous le CTA */
.cart-steps-grid .cart-step--cta::after{
  display: none;
}

@media (min-width: 992px){
  .cart-steps-grid.row{ justify-content:flex-start; }

  .cart-steps-grid .cart-grid-body:last-child{
    margin-left:auto;
    text-align:right;
  }

  .cart-steps-grid .cart-step__btn{
    display:inline-block;
  }
}
/* /HEADER Panier */

/* Footer panier, laisser body#cart car cette régle ne doit s'appliquer que sur la page panier */
/*
body#cart #footer{
    position: absolute;
    width: 100%;
    bottom: 0;
    margin-top: 50px;
}
*/
body#cart #footer {
    position: relative;
    width: 100%;
    margin-top: 50px;
}

/* m1-custom-order-button (cart-summary.tpl) */
.m1-custom-order-button button{
    width: 100%;
    margin-top: 10px;
    border-radius: 0;
    line-height: 100%;
}
/* m1-custom-order-button (cart-summary.tpl) */

/* m1-product-dynamic-content (zone dynamique de contenu) */
/* Uniquement l'image du widget Image dans la 1ère colonne (50%) */
.m1-product-dynamic-content 
.elementor-section-wrap 
section.elementor-top-section .elementor-row 
> .elementor-column.elementor-col-50:first-child
.elementor-widget-image img{
    border-radius: 6px;
    height: 384px;
    width: 100%;
    object-fit: cover; /* optionnel, évite les déformations */
    display: block;
}

/* Images de la colonne droite uniquement */
.m1-product-dynamic-content 
.elementor-section-wrap 
section.elementor-top-section .elementor-row 
> .elementor-column.elementor-col-50:last-child
.elementor-widget-image img{
    width: 80px;
    max-width: 80px;
    height: auto;
    display: block;
    margin: 0 auto; /* centré si besoin */
}
/* m1-product-dynamic-content (zone dynamique de contenu) */

/* m1-product-description-tab (titre tab #1) */
.m1-product-description-tab,
.m1-product-description-feature,
.m1-product-description-attachment {
    color: #2C2C2C;
    /*font-family: Lexend;*/
    font-size: 26px;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 2px;
    text-transform: uppercase;
}
/* m1-product-description-tab */

/* Header Bouton Exit */
.button-header-exit > .elementor-widget-container > a.elementor-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  /*gap: 12px;*/
  padding: 16px 32px;
  font-family: "Avenir";
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  border: 2px solid transparent !important;
  background-color: var(--color1) !important;
  color: var(--secondary) !important;
  border-radius: 4px;
  cursor: pointer;  
}
/* Fin Header Bouton Exit */

/* Header Bouton Eshop Hero */
.button-home-eshop-hero a.elementor-button {
  background-color: var(--color1) !important;
  color: var(--secondary) !important;
  padding: 16px 32px;
}
.button-home-eshop-hero a.elementor-button:hover {
  background-color: var(--color1) !important;
  color: var(--secondary) !important;
}
.button-home-eshop-hero a.elementor-button span.elementor-button-text {
  text-transform: none !important;
}
/* Fin Header Bouton Eshop Hero */

/* Produit - Bouton Demander un devis */
.button-product-quotation > .elementor-widget-container > a.elementor-button{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 15px 20px;
  font-family: "Avenir";
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  border: 2px solid transparent !important;
  background-color: var(--color1) !important;
  color: var(--secondary) !important;
  border-radius: 4px;
  cursor: pointer;
}
/* Icône */
.button-product-quotation > .elementor-widget-container > a.elementor-button::before{
  content:"";
  width:22px;
  height:22px;
  display:inline-block;
  background: url("../img/picto-devis.svg") no-repeat center / contain;
  filter: brightness(0) invert(1);
}
/* Hover */
.button-product-quotation > .elementor-widget-container > a.elementor-button:hover{
  background-color:#a82822 !important;
  border-color:#a82822 !important;
}
/* Active */
.button-product-quotation > .elementor-widget-container > a.elementor-button:active{
  background-color:#a82822 !important;
  transform: translateY(1px);
}
/* Focus visible */
.button-product-quotation > .elementor-widget-container > a.elementor-button:focus-visible{
  outline: 3px solid rgba(197, 50, 42, 0.35);
  outline-offset: 2px;
}
/* Fin Produit - Bouton Demander un devis */

/* Produit - Bouton Ajouter au panier */
.button-product-add-to-cart > .elementor-widget-container > a.elementor-button{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  font-family: "Avenir";
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  border: 2px solid transparent !important;
  background-color: var(--color1) !important;
  color: var(--secondary) !important;
  border-radius: 4px;
  cursor: pointer;
}
/* Hover */
.button-product-add-to-cart > .elementor-widget-container > a.elementor-button:hover{
  background-color:#a82822 !important;
  border-color:#a82822 !important;
}
/* Active */
.button-product-add-to-cart > .elementor-widget-container > a.elementor-button:active{
  background-color:#a82822 !important;
  transform: translateY(1px);
}
/* Focus visible */
.button-product-add-to-cart > .elementor-widget-container > a.elementor-button:focus-visible{
  outline: 3px solid rgba(197, 50, 42, 0.35);
  outline-offset: 2px;
}
/* Fin Produit - Bouton Demander un devis */

/* Produit - Bouton Appeler un conseiller */
.button-call-adviser > .elementor-widget-container > a.elementor-button{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 15px 20px;
  font-family: "Avenir";
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  border: 2px solid var(--color1) !important;
  background-color: var(--secondary) !important;
  color: var(--color1) !important;
  border-radius: 4px;
  cursor: pointer;
}
/* Icône */
.button-call-adviser > .elementor-widget-container > a.elementor-button::before{
  content:"";
  width:22px;
  height:22px;
  display:inline-block;
  background-color: var(--color1);
  -webkit-mask: url("../img/picto-phone.svg") no-repeat center / contain;
  mask: url("../img/picto-phone.svg") no-repeat center / contain;
}
/* Hover */
.button-call-adviser > .elementor-widget-container > a.elementor-button:hover{
  background-color: var(--color1) !important;
  border-color: var(--color1) !important;
  color: var(--secondary) !important;
}
.button-call-adviser > .elementor-widget-container > a.elementor-button:hover::before{
  background-color: var(--secondary);
}
/* Fin Produit - Bouton Appeler un conseiller */

/* Produit - Suppression des espaces entre les boutons */
.elementor-widget-wrap:has(> .button-product-quotation):has(> .button-call-adviser){
  flex-wrap: nowrap !important;
  gap: 1rem !important; /* 16px */
}

.button-product-quotation,
.button-call-adviser{
  width: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.button-product-quotation a.elementor-button,
.button-call-adviser a.elementor-button{
  width: auto !important;
}

/* Header Vitrine - Bouton E-shop */
.button-eshop-vitrine > .elementor-widget-container > a.elementor-button{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  font-family: "Avenir";
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: all 0.2s ease;
  background-color: var(--color1) !important;
  color: var(--secondary) !important;
  border-radius: 6px;
  cursor: pointer;
}
.button-eshop-vitrine > .elementor-widget-container > a.elementor-button:hover {
  background-color:#a82822 !important;
  color: var(--secondary);
}
/* Fin Header Vitrine - Bouton E-shop */

/* Header Vitrine - Bouton Blog */
.button-blog-vitrine > .elementor-widget-container > a.elementor-button{
    color: var(--GrisFonc);
    background-color: var(--secondary) !important;
    padding: 10px 0;
}
.button-blog-vitrine > .elementor-widget-container > a.elementor-button:hover {
    color: var(--color1);
    background-color: var(--secondary) !important;
}

/* E-shop (PM Advanced Top Menu) : style bouton */
#adtm_menu ul#menu > li.li-niveau1.advtm_menu_9 > a.a-niveau1 > span.advtm_menu_span_9{
  color: var(--secondary) !important;
  background-color: var(--color1) !important;
  padding: 10px 20px !important;
}
#adtm_menu ul#menu > li.li-niveau1.advtm_menu_9 > a.a-niveau1:hover > span.advtm_menu_span_9{
  color: var(--secondary) !important;
  background-color: var(--color1) !important;
}
#adtm_menu ul#menu > li.li-niveau1.advtm_menu_9 span.advtm_menu_span_9{
  margin: 0;
  height: 40px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
}




/* Fin Header Vitrine - Bouton Blog */

/* Header Vitrine - Bouton PMD */
.button-pms-vitrine > .elementor-widget-container > a.elementor-button{
    color: var(--GrisFonc);
    background-color: var(--secondary) !important;
    padding: 10px 0;
}
.button-pms-vitrine > .elementor-widget-container > a.elementor-button:hover {
    color: var(--color1);
    background-color: var(--secondary) !important;
}
/* Fin Header Vitrine - Bouton PMS */

/* =========================
   Variantes : Select
========================= */
/* Conteneur global */
.ce-product-variants{
  display:flex;
  flex-direction:column;
  gap:14px;
}

/* Chaque item */
.ce-product-variants .ce-product-variants__item{
  width:100%;
  /*box-shadow: 20px 10px 25px 0 rgba(0, 0, 0, 0.05) !important;*/
}

/* Groupe */
.ce-product-variants .elementor-field-group{
  width:100%;
  margin:0 !important;
}

/* Labels */
.ce-product-variants .ce-product-variants__label{
  display:block !important;
  margin:0 0 8px 0;
  font-family:"Avenir";
  font-size:14px;
  font-weight:600;
  color:#111;
}

/* Wrapper = porte le style "bloc" + shadow (FORCÉ) */
.ce-product-variants .elementor-select-wrapper{
  width:100%;
  position:relative;
  border:1px solid #e6e6e6 !important;
  border-radius:0;
  background: var(--secondary) !important;
  transition:border-color .2s ease, box-shadow .2s ease;
}

/* IMPORTANT : on supprime toute flèche ajoutée via pseudo-élément */
/* Flèche custom */
.ce-product-variants .elementor-select-wrapper::after{
  content: "" !important;
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  pointer-events: none;
  background-color: #111;

  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M5.5 7.5 10 12l4.5-4.5 1.5 1.5L10 15 4 9z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' d='M5.5 7.5 10 12l4.5-4.5 1.5 1.5L10 15 4 9z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* (optionnel) si un ::before externe existe, on le neutralise */
.ce-product-variants .elementor-select-wrapper::before{
  content: none !important;
}

/* Select : on garde la flèche native */
.ce-product-variants select.elementor-field{
  width: 100%;
  max-width: 100%;
  padding: .5rem;
  border: 0 !important;
  background: transparent !important;
  color:#111;
  font-family: "Avenir";
  font-size: 16px;
  line-height: 1;
  appearance:auto !important;
  -webkit-appearance:auto !important;
  -moz-appearance:auto !important;
  box-shadow:none !important;
  outline:none !important;
}

.ce-product-variants select.elementor-field{
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  outline: none !important;
  box-shadow: none !important;
  background-image: none !important;
}
/* =========================
   Fin – Variantes
========================= */

/* Accueil Mise en avant Cobra+/Grizzly */
.home_vitrine_mea p {
    font-size: 14px !important;
}
/* Fin Accueil Mise en avant Cobra+/Grizzly */

/* Produit Choisir PMS c'est aussi */
.titre_choisir_pms h3 {
    color: #333 !important;
    font-size: 18px !important;
    line-height: 20px;
    font-weight: 350 !important;
}
/* Fin Produit Choisir PMS c'est aussi */

/* Newsletter */
.bloc_newsletter button[type=submit] {
    color: var(--secondary) !important;
    background-color: var(--GrisFonc) !important;
}
.bloc_newsletter button[type=submit]:hover {
    color: var(--secondary) !important;
    background-color: var(--GrisFonc) !important;
}
/* Newsletter */

/* Utilitaires */
.text-uppercase {
    text-transform: uppercase;
}
*:focus {
    outline: none !important;
}
.br_25px {
    border-radius: 25px;
}
/* /Utilitaires */

/* Override Creative Elements */
.elementor-button {
    background-color: transparent !important;
    /*padding: 0 0;*/
    /*color: currentColor;*/
}
/* /Override Creative Elements */

/* Images de catégorie de blog */
/*
.ybc-blog-wrapper .page-heading {color:black !important}
.ybc_item_img {background:transparent}
.ybc_item_img:hover img {transform:none}
.blog-category {
    background: transparent;
    margin-bottom: 0;
}
.blog-category.has-blog-image .ybc_item_img {margin-bottom:0}
.ybc_item_img img {
    transition: none;
    -webkit-transition: none;
    -moz-transition: none;
    -o-transition: none;
}
*/

/*
#ybc_blog_page .ybc-page-category15 .header-info {
    background-image: url(/img/cms/Images/blog-arrimage.jpg);
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}
*/
/* /Images de catégorie de blog */


.header-info{
    background-image: url(/img/cms/Images/ban-actu.jpg) !important;
    overflow: hidden !important;
    border-radius: 0 40px 40px 0 !important;
}

/* Menu mobile < 768px */
@media (max-width: 767px) {
  /* sécurité anti débordement horizontal */
  html,
  body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }

  /* ligne header mobile */
  .elementor-element-a9a4150 > .elementor-container > .elementor-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }

  /* ordre visuel réel en mobile :
     1 = burger
     2 = logo
     3 = search/contact/langue */
  .elementor-element-a9a4150 .elementor-element-b1ccd6d {
    order: 1 !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    flex: 0 0 44px !important;
  }

  .elementor-element-a9a4150 .elementor-element-3832da1 {
    order: 2 !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    padding-left: 0 !important;
    box-sizing: border-box !important;
  }

  .elementor-element-a9a4150 .elementor-element-ea2985d {
    order: 3 !important;
    width: auto !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .elementor-element-a9a4150 .elementor-element-e3d308e img {
    max-width: 110px !important;
    height: auto !important;
  }

  /* conteneurs ATM */
  .elementor-element-a9a4150 > .elementor-container,
  .elementor-element-a9a4150 > .elementor-container > .elementor-row,
  .elementor-element-a9a4150 .elementor-element-b1ccd6d,
  .elementor-element-a9a4150 .elementor-element-b1ccd6d .elementor-column-wrap,
  .elementor-element-a9a4150 .elementor-element-b1ccd6d .elementor-widget-wrap,
  .elementor-element-a9a4150 .elementor-element-b1ccd6d .elementor-widget-container,
  .elementor-element-a9a4150 .elementor-element-b1ccd6d #_desktop_top_menu,
  .elementor-element-a9a4150 .elementor-element-b1ccd6d #adtm_menu {
    overflow: visible !important;
  }

  .elementor-element-a9a4150 .elementor-element-b1ccd6d #adtm_menu {
    position: relative !important;
    z-index: 99999 !important;
    max-width: 100% !important;
  }

  /* burger */
  #_desktop_top_menu .advtm_menu_toggle > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
    text-decoration: none !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overflow: hidden !important;
    position: relative !important;
  }

  #_desktop_top_menu .adtm_toggle_menu_button_text {
    display: none !important;
  }

  #_desktop_top_menu .advtm_menu_toggle > a::before {
    content: "\2630";
    font-size: 30px;
    line-height: 1;
    color: #111;
    display: block;
    pointer-events: none !important;
  }

  #_desktop_top_menu .advtm_menu_toggle > a::after,
  #_desktop_top_menu .advtm_menu_toggle > a:hover::after,
  #_desktop_top_menu .advtm_menu_toggle > a:focus::after {
    display: none !important;
    content: none !important;
  }

  /* reset visuel */
  #_desktop_top_menu,
  #_desktop_top_menu #adtm_menu,
  #_desktop_top_menu #adtm_menu_inner,
  #_desktop_top_menu ul#menu,
  #_desktop_top_menu li,
  #_desktop_top_menu a,
  #_desktop_top_menu span,
  #_desktop_top_menu .adtm_sub,
  #_desktop_top_menu .columnWrapTable,
  #_desktop_top_menu .columnWrapTable tbody,
  #_desktop_top_menu .columnWrapTable tr,
  #_desktop_top_menu .adtm_column_wrap_td,
  #_desktop_top_menu .adtm_column_wrap,
  #_desktop_top_menu .adtm_column {
    box-shadow: none !important;
  }

  /* structure menu */
  #_desktop_top_menu #menu {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    max-width: 100% !important;
  }

  /* fermé : seul le burger visible */
  #_desktop_top_menu #menu > li.li-niveau1:not(.advtm_menu_toggle) {
    display: none !important;
  }

  /* panneau ouvert */
  .elementor-element-a9a4150 .elementor-element-b1ccd6d #adtm_menu.adtm_menu_toggle_open #menu {
    position: fixed !important;
    top: 96px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    z-index: 99999 !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }

  .elementor-element-a9a4150 .elementor-element-b1ccd6d #adtm_menu.adtm_menu_toggle_open #menu > li.li-niveau1:not(.advtm_menu_toggle) {
    display: block !important;
    width: 100% !important;
  }

  /* le li reste neutre */
  #adtm_menu li.advtm_menu_toggle.adtm_menu_mobile_mode {
    position: static !important;
    width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    background: transparent !important;
    z-index: 1 !important;
  }

  /* vrai bouton burger : plus de fixed pour l’instant */
  #adtm_menu li.advtm_menu_toggle.adtm_menu_mobile_mode > a.adtm_toggle_menu_button {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 100001 !important;
    background: transparent !important;
    overflow: hidden !important;
  }
}

@media (max-width: 767px) {
  .elementor-element-a9a4150 .elementor-element-b1ccd6d {
    display: block !important;
    width: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    flex: 0 0 44px !important;
    overflow: visible !important;
  }

  #adtm_menu li.advtm_menu_toggle,
  #adtm_menu li.advtm_menu_toggle > a.adtm_toggle_menu_button {
    display: inline-flex !important;
    width: 44px !important;
    height: 44px !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(0,128,255,.2) !important;
  }
}

@media (max-width: 767px) {
  /* Le panneau du menu est toujours positionné comme un calque mobile.
     Au repos, ça ne gêne pas car les items sont déjà masqués par ton CSS. */
  #_desktop_top_menu #menu {
    position: fixed !important;
    top: 96px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    z-index: 99999 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* Le li du burger ne doit pas créer de ligne parasite dans le panneau */
  #adtm_menu li.advtm_menu_toggle.adtm_menu_mobile_mode {
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    border: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  /* Le bouton burger reste dans le header */
  #adtm_menu li.advtm_menu_toggle.adtm_menu_mobile_mode > a.adtm_toggle_menu_button {
    position: fixed !important;
    top: 30px !important;
    left: 10px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    max-width: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    z-index: 100001 !important;
  }
}

@media (max-width: 767px) {

  /* panneau mobile */
  #_desktop_top_menu #menu {
    position: fixed !important;
    top: 96px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    z-index: 99999 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* le burger ne doit pas prendre une ligne */
  #_desktop_top_menu #menu > li.advtm_menu_toggle {
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    float: none !important;
    clear: both !important;
  }

  /* très important : on casse les floats / layouts desktop */
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle),
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > .adtm_sub,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > .columnWrapTable {
    float: none !important;
    clear: both !important;
  }

  /* items principaux bien empilés */
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border-top: 1px solid #e9e9e9 !important;
    background: #fff !important;
  }

  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a:hover,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a:focus,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a:active {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 14px 20px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #22324a !important;
    text-decoration: none !important;
    background: #fff !important;
    border: 0 !important;
    box-sizing: border-box !important;
  }

  /* sous-menus propres */
  #adtm_menu li.sub .adtm_sub,
  #adtm_menu li.sub .columnWrapTable {
    display: none;
    position: static !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #f7f7f7 !important;
    border-top: 1px solid #ececec !important;
    border-bottom: 1px solid #ececec !important;
    border-radius: 0 0 14px 14px !important;
    box-shadow: none !important;
    overflow: visible !important;
  }

  #adtm_menu li.sub.atm-sub-open > .adtm_sub,
  #adtm_menu li.sub.atm-sub-open .columnWrapTable {
    display: block !important;
  }

  #_desktop_top_menu .columnWrapTable,
  #_desktop_top_menu .columnWrapTable tbody,
  #_desktop_top_menu .columnWrapTable tr,
  #_desktop_top_menu .adtm_column_wrap_td,
  #_desktop_top_menu .adtm_column_wrap,
  #_desktop_top_menu .adtm_column {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  #_desktop_top_menu .column_wrap_title a,
  #_desktop_top_menu .adtm_sub a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 14px 20px 14px 28px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: #1f2f46 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid #e6e6e6 !important;
    box-sizing: border-box !important;
  }
}

@media (max-width: 767px) {
  #_desktop_top_menu #menu > li.sub > a {
    position: relative !important;
    padding-right: 44px !important;
  }

  #_desktop_top_menu #menu > li.sub > a::after {
    content: "\203A" !important;
    position: absolute !important;
    right: 18px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: block !important;
    font-size: 24px !important;
    line-height: 1 !important;
    color: #24364d !important;
    pointer-events: none !important;
  }
}

@media (max-width: 767px) {

  /* bloc sous-menu plus compact */
  #adtm_menu li.sub .adtm_sub,
  #adtm_menu li.sub .columnWrapTable {
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 0 10px 10px !important;
  }

  /* wrappers internes totalement plats */
  #_desktop_top_menu .columnWrapTable,
  #_desktop_top_menu .columnWrapTable tbody,
  #_desktop_top_menu .columnWrapTable tr,
  #_desktop_top_menu .adtm_column_wrap_td,
  #_desktop_top_menu .adtm_column_wrap,
  #_desktop_top_menu .adtm_column {
    margin: 0 !important;
    padding: 0 !important;
    border-spacing: 0 !important;
  }

  /* liens sous-menu : resserrés pour coller à la préprod */
  #_desktop_top_menu .column_wrap_title a,
  #_desktop_top_menu .adtm_sub a {
    padding: 8px 20px 8px 28px !important;
    font-size: 14px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
    min-height: 0 !important;
  }

  /* liens niveau 1 un peu plus serrés aussi */
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a:hover,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a:focus,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a:active {
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    min-height: 0 !important;
  }
}

@media (max-width: 767px) {

  /* conteneur du sous-menu : compact */
  #adtm_menu li.sub .adtm_sub,
  #adtm_menu li.sub .columnWrapTable {
    margin: 0 !important;
    padding: 0 !important;
    background: #f7f7f7 !important;
    border-top: 1px solid #ececec !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* on casse totalement la structure tableau desktop */
  #_desktop_top_menu .columnWrapTable,
  #_desktop_top_menu .columnWrapTable tbody,
  #_desktop_top_menu .columnWrapTable tr,
  #_desktop_top_menu .adtm_column_wrap_td,
  #_desktop_top_menu .adtm_column_wrap,
  #_desktop_top_menu .adtm_column {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-spacing: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* chaque lien de sous-menu = hauteur compacte comme en préprod */
  #_desktop_top_menu .column_wrap_title,
  #_desktop_top_menu .adtm_column,
  #_desktop_top_menu .adtm_column_wrap_td {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
  }

  #_desktop_top_menu .column_wrap_title a,
  #_desktop_top_menu .adtm_sub a {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 8px 20px 8px 28px !important;
    min-height: 0 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    color: #1f2f46 !important;
    text-decoration: none !important;
    background: transparent !important;
    border: 0 !important;
    border-top: 1px solid #e6e6e6 !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
  }

  /* première ligne du sous-menu sans trait parasite */
  #adtm_menu li.sub.atm-sub-open .adtm_sub .column_wrap_title:first-child a,
  #adtm_menu li.sub.atm-sub-open .adtm_sub a:first-child {
    border-top: 0 !important;
  }

  /* items niveau 1 : légèrement resserrés pour matcher la préprod */
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a:hover,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a:focus,
  #_desktop_top_menu #menu > li:not(.advtm_menu_toggle) > a:active {
    min-height: 0 !important;
    padding-top: 13px !important;
    padding-bottom: 13px !important;
    line-height: 1.15 !important;
  }
}

@media (max-width: 767px) {

  /* supprime le petit trait / décor rose près du burger */
  #_desktop_top_menu .advtm_menu_toggle > a,
  #_desktop_top_menu .advtm_menu_toggle > a::before,
  #_desktop_top_menu .advtm_menu_toggle > a::after,
  #_desktop_top_menu .advtm_menu_toggle .advtm_menu_span,
  #_desktop_top_menu .advtm_menu_toggle .adtm_toggle_menu_button_text {
    background-image: none !important;
    box-shadow: none !important;
  }

  #_desktop_top_menu .advtm_menu_toggle > a::after {
    display: none !important;
    content: none !important;
  }

  /* masque toutes les images dans les sous-menus mobile */
  #_desktop_top_menu .adtm_sub img,
  #_desktop_top_menu .columnWrapTable img,
  #_desktop_top_menu .adtm_menu_icon,
  #_desktop_top_menu .adtm_column img,
  #_desktop_top_menu .adtm_column_wrap_sizer {
    display: none !important;
  }

  /* masque aussi les colonnes purement visuelles devenues vides */
  #_desktop_top_menu .adtm_column a.adtm_unclickable,
  #_desktop_top_menu .adtm_column:has(.adtm_menu_icon),
  #_desktop_top_menu .adtm_column_wrap_td:has(.adtm_menu_icon) {
    display: none !important;
  }
}

@media (max-width: 767px) {
  #_desktop_top_menu #menu {
    padding-bottom: 24px !important;
  }
}

@media (max-width: 767px) {
  .elementor-element-a9a4150 .elementor-element-ea2985d .elementor-widget-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
  }
}

@media (max-width: 767px) {
  #_desktop_top_menu li,
  #_desktop_top_menu li:focus,
  #_desktop_top_menu li:active {
    outline: none !important;
    box-shadow: none !important;
  }
}

@media (max-width: 767px) {
  .elementor-element-a9a4150 .elementor-element-ea2985d .elementor-element-93cc703 {
    width: auto !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }

  .elementor-element-a9a4150 .elementor-element-ea2985d .elementor-widget-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 14px !important;
    flex-wrap: nowrap !important;
  }
}

@media (max-width: 767px) {
  #_desktop_top_menu #menu > li > a,
  #_desktop_top_menu #menu > li > a span,
  #_desktop_top_menu #menu > li > a:active,
  #_desktop_top_menu #menu > li > a:focus,
  #_desktop_top_menu #menu > li > a:focus-visible,
  #_desktop_top_menu #menu > li > a:active span,
  #_desktop_top_menu #menu > li > a:focus span,
  #_desktop_top_menu #menu > li > a:focus-visible span {
    background: transparent !important;
    outline: none !important;
    box-shadow: none !important;
  }

  #_desktop_top_menu #menu > li > a::selection,
  #_desktop_top_menu #menu > li > a span::selection {
    background: transparent !important;
    color: inherit !important;
  }

  #_desktop_top_menu #menu > li > a::-moz-selection,
  #_desktop_top_menu #menu > li > a span::-moz-selection {
    background: transparent !important;
    color: inherit !important;
  }
}

@media (max-width: 767px) {
  #adtm_menu.adtm_menu_toggle_open ul#menu li.li-niveau1.sub a.a-niveau1 span {
    background-image: none !important;
    background-repeat: initial !important;
    background-position: initial !important;
  }
}

