/*
Theme Name: Divi Child
Theme URI: https://www.elegantthemes.com/gallery/divi/
Description: Thème enfant pour Divi. Personnalisation par Agence Igeneve.
Author: Agence Igeneve
Author URI: https://www.igeneve.ch/
Template: Divi
Version: 1.0.0
*/
@media (min-width: 568px) {
.dwe_ajax_search_results.dwe_ajax_search_result_masonry {
    padding: 20px;
}
}
.dwe_ajax_search_item_image img {
    object-fit: contain !important;
}
#page-standard-content h5, #page-standard-content h4, #page-standard-content h3, #page-standard-content h2, #page-standard-content h6 {
    padding-top: 30px!important;
}
.woocommerce-dashboard .et_pb_section.et_pb_section_1_tb_body.et_section_regular, .woocommerce-account .et_pb_section.et_pb_section_1_tb_body.et_section_regular {
    background-color: rgba(204, 153, 85, 0.12) !important;
}
nav.woocommerce-MyAccount-navigation ul {
    list-style-type: none;
    padding: 0px;
}
nav.woocommerce-MyAccount-navigation ul a {
    font-size: 17px;
    display: block;
    padding: 2px 0px;
}
sup {
    bottom: .8em;
    font-size: 46%;
}
.custom-col-image {
    min-height: 50vh !important;
    display: block !important;
}
.dsm_icon_list .dsm_icon_list_child, .dsm_icon_list .dsm_icon_list_child .dsm_icon_list_tooltip, .dsm_icon_list .dsm_icon_list_child a {
    -ms-flex-align: start;
    align-items: start;
}
.dsm_icon_list .dsm_icon_list_wrapper {
    padding-top: 6px;
}
.wpml-ls-first-item {
    margin-left: 20px !important;
}
.reverse-slider .et_pb_slide .et_pb_slider_container_inner {
    display: flex !important;
    flex-direction: row-reverse;
}
.reverse-slider .et_pb_slide .et_pb_slider_container_inner .et_pb_slide_description {
    margin-left: 0px;
}
@media (min-width:980px){
.reverse-slider .et_pb_slide .et_pb_container {
    width: 90%;
}
}
.product-badge.new-badge {
    background: #cc9955 !important;
    color: #fff;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700 !important;
    padding: 4px 15px !important;
    position: absolute;
    top: 10px;
    left: 10px;
    border-radius: 3px !important;
}
.products .product-badge.new-badge {
    padding: 1px 6px !important;
}
.woocommerce #et-main-area #main-content span.onsale, .woocommerce-page #et-main-area #main-content span.onsale {
    background: #be1722 !important;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700 !important;
    padding: 4px 15px !important;
}
#et-main-area #main-content ul.products li.product .onsale {
    display: block!important;
    padding: 1px 6px!important;
}
.custom-ugs {
    margin-bottom: 0px !important;
}
.single button.exppc-compare-button.exppc-compare-link {
    background: #e4e4e4 !important;
    padding: 10px !important;
    text-decoration: none !important;
}
.woocommerce .products button.exppc-compare-button.exppc-compare-link {
    position: absolute;
    right: 10px;
    top: 10px;
}
.woocommerce .products .product .exppc-compare-button {
    display: none!important;
}
.woocommerce .products .product.product_cat-machines-a-cafe-pour-professionel .exppc-compare-button, .woocommerce .products .product.product_cat-machines-a-cafe-pour-particuliers .exppc-compare-button{
    display: flex!important;
}
.woocommerce .products .product.product_cat-coffee-machines-for-professional .exppc-compare-button, .woocommerce .products .product.product_cat-coffee-machines-for-private-use .exppc-compare-button{
    display: flex!important;
}

.et_pb_sticky--top .et_pb_menu .et_pb_menu__menu>nav>ul>li>ul {
    top: 75px;
}
i.fas.fa-check {
    color: #22c55e;
}
i.fas.fa-ban {
    color: #ef4444;
}
.grecaptcha-badge {
    display: none !important;
    visibility: hidden !important;
}
.code-iframe-map, .code-iframe-map .et_pb_code_inner {
    height: 100%;
}
.code-iframe-map iframe {
    width: 100%!important;
    height: 100%!important;
}
header.et-l.et-l--header {
    position: relative;
    z-index: 999;
}
#main-content {
    position: relative;
    z-index: 10;
}
.dwe_ajax_clear_icon, .dwe_ajax_search_icon:after {
    right: 30px;
}
/* ===== ANTI-FOUC (Flash of Unstyled Content) ===== */
body.loading {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
}

body.loaded {
    opacity: 1;
    visibility: visible;
}


/* Préchargement du menu pour éviter les sauts */
#main-header {
    min-height: 80px;
}

.et_mobile_menu {
    opacity: 0;
    transition: opacity 0.2s ease-in-out;
}

.et_mobile_menu.loaded {
    opacity: 1;
}

/* Préchargement des sections pour éviter les CLS */
.et_pb_section {
    min-height: 1px;
}
/* ===== FIN ANTI-FOUC ===== */

/* ===== GALERIE WOOCOMMERCE - SLIDER MINIATURES ===== */
/* Container principal de la galerie */

.et_pb_wc_images {
    position: relative;
}

.flex-control-thumbs {
    display: flex !important;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 15px 0!important;
    margin: 0;
    list-style: none;
    scrollbar-width: thin;
    scrollbar-color: #cc9955 transparent;
    scroll-behavior: smooth;
}

.flex-control-thumbs::-webkit-scrollbar {
    height: 6px;
}

.flex-control-thumbs::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 3px;
}

.flex-control-thumbs::-webkit-scrollbar-thumb {
    background: #cc9955;
    border-radius: 3px;
}

.flex-control-thumbs::-webkit-scrollbar-thumb:hover {
    background: #b8875f;
}

.flex-control-thumbs li {
    flex: 0 0 auto;
    width: 80px;
    height: 80px;
    margin: 0 !important;
    border-radius: 8px;
    overflow: hidden;
    border: 3px solid transparent;
    transition: all 0.3s ease;
    cursor: pointer;
    position: relative;
}

.flex-control-thumbs li:hover {
    border-color: #cc9955;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(204, 153, 85, 0.3);
}

.flex-control-thumbs li.flex-active {
    border-color: #cc9955;
    box-shadow: 0 0 0 2px rgba(204, 153, 85, 0.2);
}

.flex-control-thumbs li img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform 0.3s ease;
    border-radius: 4px;
}

.flex-control-thumbs li:hover img {
    transform: scale(1.05);
}

/* Boutons de navigation du slider */
.thumbnails-wrapper .thumbnails-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(255, 255, 255, 0.9);
    border: none;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    color: #cc9955;
    transition: all 0.3s ease;
    z-index: 10;
}

.thumbnails-wrapper .thumbnails-nav:hover {
    background: #cc9955;
    color: white;
    box-shadow: 0 4px 12px rgba(204, 153, 85, 0.4);
}

.thumbnails-wrapper .thumbnails-nav.prev {
    left: -15px;
}

.thumbnails-wrapper .thumbnails-nav.next {
    right: -15px;
}
.et_pb_wc_images div.images ol.flex-control-thumbs.flex-control-nav {
    overflow: hidden;
}
@media (max-width: 768px) {
    .flex-control-thumbs {
        gap: 8px;
    }
    
    .flex-control-thumbs li {
        width: 65px;
        height: 65px;
    }
    
    .thumbnails-nav {
        width: 30px;
        height: 30px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .flex-control-thumbs li {
        width: 55px;
        height: 55px;
    }
    
    .thumbnails-nav {
        display: none;
    }
}

/* ===== FIN GALERIE WOOCOMMERCE ===== */

#main-menu #menu-menu-principal .button-menu a {
    border: 1px solid #cc9955;
    background: #cc9955;
    padding: 10px 20px !important;
    align-self: center;
    border-radius: 4px;
    color: #fff !important;
}
.product_meta {
    border-top: 0px;
}
#main-menu nav > ul > li.wpml-ls-item {
    padding: 0px 5px !important;
}
#page-container #custom-header-bar .woocommerce-breadcrumb a {
    color: #545454 !important;
}
#page-container #custom-header-bar .woocommerce-breadcrumb a:hover {
    color: #000!important;
}
input.dwe_ajax_search_field {
    opacity: 0.2;
}
input.dwe_ajax_search_field:focus {
    opacity: 1;
}
.page-id-18086 .et_pb_section.et_pb_section_1_tb_body.et_section_regular {
    background-color: rgba(204, 153, 85, 0.12) !important;
}
.exppc-comparison-container th, .exppc-comparison-container td {
    border: 0px;
}
.exppc-comparison-container tr {
    border-bottom: 1px solid #e1e1e1;
}
.exppc-comparison-container tr:last-child {
    border-bottom: 0px;
}
.exppc-comparison-item {
    border: 0px;
    border-radius: 0px;
}
.exppc-comparison-table th:first-child, .exppc-comparison-table td:first-child {
    background-color: #cc995552;
}
.exppc-highlight-row th, .exppc-highlight-row td {
    background-color: #cc9955 !important;
    font-weight: bold;
    color: #fff;
}
.exppc-highlight-row, .exppc-highlight-row th {
    background-color: #cc995552 !important;
    color: #000 !important;
}
.exppc-comparison-table tr:first-child th:first-child {
    background: #f9f3eb;
}
#exppc-widget-content .exppc-comparison-table tr:first-child th:first-child {
    background: #fff;
}
.exppc-add-to-cart-button, .exppc-comparison-header button.exppc-clear-all-button, .exppc-comparison-grid a.exppc-compare-btn {
    background: #cc9955;
}
.exppc-comparison-grid a.exppc-compare-btn {
    font-weight: normal;
}
.exppc-widget-icon {
    display: inline-block;
    width: 25px;
    height: 25px;
}
#exppc-toggle {
    padding: 7px;
}
h3.exppc-section-title {
    display: none;
}
.exppc-comparison-table {
    margin-top: 0px;
}
.exppc-comparison-container {
    background: white;
    border: 0px;
}
.exppc-comparison-wrap, .exppc-popular-comparisons {
    width: 100%;
    max-width: none;
}
button.exppc-compare-button.exppc-compare-link {
    margin-left: 0px;
    margin-top: 0px;
    margin-bottom: 16px;
    font-size: 11px;
}
.exppc-compare-link.exppc-compare-button::before, .exppc-compare-link.similar-compare-btn::before {
    width: 13px;
    height: 13px;
}
.marques-logos .et_pb_image {
    width: 100% !important;
}
.marques-logos img {
    width: 100% !important;
    max-height: 130px;
    max-width: 210px;
    margin: auto;
    display: block;
}
.marques-logos .et_pb_column {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.img-paiement img {
    max-width: 200px;
}
.product .et_pb_main_blurb_image {
    margin-bottom: 10px;
}
#page-container .product-cta-contact {
    padding: 12px 22px !important;
}
.list-link .list-link-title {
    transition: transform 0.3s ease;
}
.list-link:hover .list-link-title {
    transform: translateX(10px);
}
.icon-list-link span.et-pb-icon, .my_accordion .et_pb_accordion_item .et_pb_toggle_title:before {
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.my_accordion .et_pb_accordion_item {
    margin-bottom: 0px !important;
    padding: 33px 0px !important;
}
.my_accordion .et_pb_accordion_item .et_pb_toggle_title:before {
    border: 1px solid #000;
    border-radius: 99rem;
    transform: translate(-5px, -10px);
    padding: 0px 1px 1px 0px;
    transition: transform 0.3s ease;
}
.my_accordion .et_pb_toggle_content {
    padding-right: 60px;
}
.my_accordion .et_pb_toggle:hover .et_pb_toggle_title:before {
    transform: translate(-5px, -10px) rotate(90deg);
}
.list-link {
    display: flex;
    align-items: center;
}
.icon-list-link {
    display: flex;
    align-items: center;
    justify-content: end;
}
.ancre {
    padding: 0px !important;
    position: relative;
    /*top: -94px !important;*/
}
.wpml-ls-item span {
    display: none;
}
.wpml-ls-item ul.sub-menu, .et-menu .wpml-ls-item li li a {
    width: auto!important;
}
.et-menu .wpml-ls-item li li a {
    padding: 15px!important;
}
.wpml-ls-item ul.sub-menu {
    padding: 0px !important;
}
#main-menu .mega-menu > ul.sub-menu {
    padding: 20px 10%!important;
    justify-content: flex-end!important;
}
#main-menu .mega-menu > ul.sub-menu > li:first-child {
    padding-left: 0px !important;
}
#main-menu .mega-menu > ul.sub-menu > li:last-child {
    padding-right: 0px !important;
}
ul.docs-list {
    list-style-type: none;
    padding: 0px;
}
ul.docs-list li {
    border-bottom: 1px solid #0000001a;
    padding: 12px 0px;
}
ul.docs-list li i {
    margin-right: 5px;
}
.et_button_no_icon.woocommerce a.button.alt, .et_button_no_icon.woocommerce-page a.button.alt, .et_button_no_icon.woocommerce button.button.alt, .et_button_no_icon.woocommerce button.button.alt.disabled, .et_button_no_icon.woocommerce-page button.button.alt, .et_button_no_icon.woocommerce-page button.button.alt.disabled, .et_button_no_icon.woocommerce input.button.alt, .et_button_no_icon.woocommerce-page input.button.alt, .et_button_no_icon.woocommerce #respond input#submit.alt, .et_button_no_icon.woocommerce-page #respond input#submit.alt, .et_button_no_icon.woocommerce #content input.button.alt, .et_button_no_icon.woocommerce-page #content input.button.alt, .et_button_no_icon.woocommerce a.button, .et_button_no_icon.woocommerce-page a.button, .et_button_no_icon.woocommerce button.button, .et_button_no_icon.woocommerce-page button.button, .et_button_no_icon.woocommerce input.button, .et_button_no_icon.woocommerce-page input.button, .et_button_no_icon.woocommerce #respond input#submit, .et_button_no_icon.woocommerce-page #respond input#submit, .et_button_no_icon.woocommerce #content input.button, .et_button_no_icon.woocommerce-page #content input.button, .et_button_no_icon.woocommerce a.button.alt:hover, .et_button_no_icon.woocommerce-page a.button.alt:hover, .et_button_no_icon.woocommerce button.button.alt:hover, .et_button_no_icon.woocommerce button.button.alt.disabled:hover, .et_button_no_icon.woocommerce-page button.button.alt:hover, .et_button_no_icon.woocommerce-page button.button.alt.disabled:hover, .et_button_no_icon.woocommerce input.button.alt:hover, .et_button_no_icon.woocommerce-page input.button.alt:hover, .et_button_no_icon.woocommerce #respond input#submit.alt:hover, .et_button_no_icon.woocommerce-page #respond input#submit.alt:hover, .et_button_no_icon.woocommerce #content input.button.alt:hover, .et_button_no_icon.woocommerce-page #content input.button.alt:hover, .et_button_no_icon.woocommerce a.button:hover, .et_button_no_icon.woocommerce-page a.button:hover, .et_button_no_icon.woocommerce button.button:hover, .et_button_no_icon.woocommerce-page button.button:hover, .et_button_no_icon.woocommerce input.button:hover, .et_button_no_icon.woocommerce-page input.button:hover, .et_button_no_icon.woocommerce #respond input#submit:hover, .et_button_no_icon.woocommerce-page #respond input#submit:hover, .et_button_no_icon.woocommerce #content input.button:hover, .et_button_no_icon.woocommerce-page #content input.button:hover, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce a.button.alt, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page a.button.alt, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce button.button.alt, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce button.button.alt.disabled, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page button.button.alt, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page button.button.alt.disabled, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce input.button.alt, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page input.button.alt, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce #respond input#submit.alt, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page #respond input#submit.alt, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce #content input.button.alt, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page #content input.button.alt, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce a.button, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page a.button, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce button.button, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page button.button, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce input.button, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page input.button, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce #respond input#submit, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page #respond input#submit, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce #content input.button, .et_button_no_icon.et_button_icon_visible.et_button_left.woocommerce-page #content input.button, .et_button_no_icon.et_button_left.woocommerce a.button.alt:hover, .et_button_no_icon.et_button_left.woocommerce-page a.button.alt:hover, .et_button_no_icon.et_button_left.woocommerce button.button.alt:hover, .et_button_no_icon.et_button_left.woocommerce button.button.alt.disabled:hover, .et_button_no_icon.et_button_left.woocommerce-page button.button.alt:hover, .et_button_no_icon.et_button_left.woocommerce-page button.button.alt.disabled:hover, .et_button_no_icon.et_button_left.woocommerce input.button.alt:hover, .et_button_no_icon.et_button_left.woocommerce-page input.button.alt:hover, .et_button_no_icon.et_button_left.woocommerce #respond input#submit.alt:hover, .et_button_no_icon.et_button_left.woocommerce-page #respond input#submit.alt:hover, .et_button_no_icon.et_button_left.woocommerce #content input.button.alt:hover, .et_button_no_icon.et_button_left.woocommerce-page #content input.button.alt:hover, .et_button_no_icon.et_button_left.woocommerce a.button:hover, .et_button_no_icon.et_button_left.woocommerce-page a.button:hover, .et_button_no_icon.et_button_left.woocommerce button.button:hover, .et_button_no_icon.et_button_left.woocommerce-page button.button:hover, .et_button_no_icon.et_button_left.woocommerce input.button:hover, .et_button_no_icon.et_button_left.woocommerce-page input.button:hover, .et_button_no_icon.et_button_left.woocommerce #respond input#submit:hover, .et_button_no_icon.et_button_left.woocommerce-page #respond input#submit:hover, .et_button_no_icon.et_button_left.woocommerce #content input.button:hover, .et_button_no_icon.et_button_left.woocommerce-page #content input.button:hover, .woocommerce input.button, .woocommerce input.button:hover {
    padding: 12px 22px !important;
}
.dwe_mini_cart_outer_wrap {
    display: flex;
    align-items: center;
    height: 74px;
}

.woocommerce-message {
    margin-bottom: 0px;
    display: flex;
    align-items: center;
    justify-content: space-around;
}
a.button.wc-forward {
    background: white !important;
    color: #4a250b !important;
    font-weight: 600;
}
/*********************************************
    TABSs
*********************************************/
.custom-tab ul.et_pb_tabs_controls {
    display: flex;
    position: relative;
    justify-content: center;
}
.custom-tab ul.et_pb_tabs_controls:after {
    bottom: 0px;
    top: initial;
    width: 100%;
    position: absolute;
}
.custom-tab .et_pb_tab_content {
    padding: 40px 0px;
}
.custom-tab .et_pb_row {
    width: 100%;
}
.custom-tab .et_pb_tab_content h5:first-child {
    margin-top: 0px!important;
}
.custom-tab-tutorials img {
    width: 100%;
}
.custom-tab-tutorials, .custom-tab-advantages {
    display: flex;
}
.custom-tab-tutorials .et_pb_column, .custom-tab-advantages .et_pb_column {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.custom-tab .et_pb_tab {
    padding: 0px;
}
.custom-tab ul.et_pb_tabs_controls > li.et_pb_tab_active a {
    position: relative;
}
.custom-tab ul.et_pb_tabs_controls>li.et_pb_tab_active a:after {
    content: "";
    width: 100%;
    display: block;
    height: 3px;
    background: #000;
    position: absolute;
    bottom: -1px;
    left: 0px;
}
.custom-tab ul.et_pb_tabs_controls {
    background-color: transparent;
}
.custom-tab ul.et_pb_tabs_controls>li {
    border: 0px !important;
}
.custom-tab ul.et_pb_tabs_controls>li {
    padding: 0px 23px;
}
.custom-tab ul.et_pb_tabs_controls>li a {
    padding: 23px 0px;
}
.custom-tab ul.et_pb_tabs_controls>li:first-child {
    padding-left: 0px;
}
.custom-tab .et_pb_all_tabs {
    background: transparent;
}


.custom-product-acf-row {
    align-items: stretch;
    display: flex;
}



/*********************************************
    DONNES TECHNIQUES
*********************************************/
/* --- Mise en forme générale --- */
.specs-wrap .et_pb_row{ row-gap:1.25rem; }
.specs-wrap h5 {
    margin: 60px 0px 12px 0px;
}

/* paires clé/valeur */
.specs-list{ display:flex; flex-direction:column; gap:.35rem; }
.specs-item{ display:flex; justify-content:space-between; gap:1rem; padding:.45rem .75rem; background: transparent;
	border-bottom: 1px solid #00000012;
    border-radius: 0px; }
.specs-item .v{ display:flex; align-items:center; gap:.5rem; white-space:nowrap; }

/* listes avec icônes */
.specs-checklist{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:0rem; }
.specs-checklist li {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    padding: .45rem .75rem;
    background: transparent;
border-bottom: 1px solid #00000012;
    border-radius: 0px;
}

/* Icônes FA */
.di-icon{ font-size:1.05rem; width:1.05rem; height:1.05rem; display:inline-flex; align-items:center; justify-content:center; margin-top:.1rem; }
.di-yes{ color:#22c55e; } /* vert */
.di-no{ color:#ef4444; }  /* rouge */

/* responsive */
@media (max-width:980px){
  .specs-item, .specs-checklist li{ padding:.5rem .6rem; }
}




.description-produit h5:first-child {
    margin-bottom: 50px;
}
@media (min-width: 981px) {
    .et_pb_gutters2 .et_pb_column_1_6, .et_pb_gutters2.et_pb_row .et_pb_column_1_6 {
        width: 15.5%; /* largeur ajustée pour compenser la gouttière réduite */
    }
    .et_pb_gutters2 .et_pb_column, .et_pb_gutters2.et_pb_row .et_pb_column {
        margin-right: 1.5%; /* gouttière plus petite */
    }
}

/*********************************************
    PRODUCT
*********************************************/
#main-content p.stock.woo-custom-stock-status {
    color: #404040 !important;
    text-transform: uppercase;
    font-size: 10px;
    margin-bottom: 15px;
}
.et_pb_module.et_pb_wc_price.et_pb_wc_price_0_tb_body {
    margin-bottom: 5px;
}
.woocommerce div.product form.cart div.quantity, .woocommerce-page div.product form.cart div.quantity, .woocommerce #content div.product form.cart div.quantity, .woocommerce-page #content div.product form.cart div.quantity {
    margin: 0 10px 0 0 !important;
}
.et_pb_wc_add_to_cart .quantity input.qty {
    padding: 12px;
}
#wc-stripe-express-checkout-element {
    display: none!important;
}
.et_pb_row.et_pb_row_1_tb_body.custom-add-to-cart {
    background: #fff;
    position: relative;
    max-width: 280px;
    margin: 20px !important;
    padding: 20px !important;
    -webkit-box-shadow: 0px 0px 26px 0px rgba(0, 0, 0, 0.08);
    box-shadow: 0px 0px 26px 0px rgba(0, 0, 0, 0.08);
}
.product-main-img {
    display: flex;
    align-items: end;
    justify-content: end;
}

img.product-secondary-image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    object-fit: cover;
}
.product-main-img div {
    position: initial;
}
.custom-product-acf-image {
    align-items: stretch;
    display: flex;
}
.custom-product-acf-row .et_pb_column {
    display: flex;
}
.custom-product-acf-title {
    font-weight: 300;
    font-size: 21px;
    color: #4a250b !important;
}
.custom-product-acf-price {
        font-size: 16px;
    color: #000000 !important;
    text-transform: uppercase;
}
.image-logo img {
    object-fit: contain;
}
.custom-list-product a, .custom-product-acf {
    background: #fff;
    padding: 50px 40px 30px 40px;
    display: flex !important;
    flex-direction: column;
	transition: box-shadow 0.3s ease;
}
.custom-list-product a:hover, .custom-product-acf:hover {
    -webkit-box-shadow: 0px 0px 35px 0px rgba(0,0,0,0.12); 
    box-shadow: 0px 0px 35px 0px rgba(0,0,0,0.12);
}
.custom-list-product a img, .custom-product-acf img {
    transition: all 0.3s ease;
}
.custom-list-product a:hover img, .custom-product-acf:hover img {
    transform: scale(1.05);
}
.custom-list-product .stock {
    display: none;
}
.custom-list-product span.et_overlay {
    display: none!important;
}
.custom-list-product ul.products {
    display: flex;
    flex-wrap: wrap;
}
.custom-list-product ul.products li.product {
    display: flex;
}
.custom-list-product .et_shop_image, .custom-product-acf-image {
    padding-bottom: 50px;
    margin-bottom: auto;
}
/*********************************************
    MEGA MENU
*********************************************/

#custom-header-bar .et_pb_row_0_tb_header, #custom-header-bar .et_pb_column, #custom-header-bar #main-menu, #custom-header-bar .et_pb_menu_inner_container {
    position: initial !important;
}
.mega-menu > ul.sub-menu > li > a {
    font-size: 16px !important;
}
.mega-menu ul.sub-menu ul.sub-menu li a {
    font-size: 14px !important;
    opacity: 0.6;
}
.mega-menu ul.sub-menu li a {
    padding: 5px 0px;
}
#main-menu .mega-menu>ul.sub-menu>li {
    padding: 0px 20px !important;
    flex: 1 1 auto;
    max-width: 20%;
    float: none !important;
}
#main-menu .mega-menu>ul.sub-menu>li>ul.sub-menu>li, #main-menu .mega-menu>ul.sub-menu>li>ul.sub-menu {
    width: fit-content !important;
}
input.dwe_ajax_search_field {
    opacity: 0.5;
}
.et-menu-nav li.mega-menu ul li {
    float: none !important;
}
.et-menu-nav li.mega-menu li>a {
    width: fit-content !important;
}
.mega-menu > ul.sub-menu {
    padding: 20px 10px !important;
}
.et-menu-nav li.mega-menu>ul>li>a:first-child {
    border-bottom: 1px solid rgb(0 0 0 / 9%);
}
#main-menu .mega-menu > ul.sub-menu {
    display: flex !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
}
.et-menu .menu-item-has-children>a:first-child:after {display: none;}

@media (max-width: 767px) {
.my_accordion .et_pb_toggle_title:before {
    width: 31px;
    height: 31px;
}
}
@media (max-width: 1030px) {
#menu_fullscreen #vertical_menu ul.sub-menu {
    position: relative !important;
    display: flex !important;
    flex-wrap: wrap;
}
}
@media (max-width: 767px) {
#menu_fullscreen #vertical_menu .mega-menu > ul.sub-menu > li.menu-item {
    width: 100%;
    margin-bottom: 10px;
}
}





/********************************
  switch menu
*********************************/
#btn_show_menu {display: none!important;}
@media (max-width: 1030px) {
  #main-menu {
display: none!important;
}
  #btn_show_menu {
display: block!important;
}
}
/********************************
  hauteur menu à adapter 95px
*********************************/
#menu_fullscreen {
    top: 76px;
}
body.logged-in.admin-bar div#menu_fullscreen {
    top: calc(76px + 32px);
}
#content-mobile-menu {
    min-height: calc(100vh - 76px);
}
#menu_fullscreen {
    height: calc(100vh - 76px);
    overflow: auto;
}
/********************************
CSS MENU 
*********************************/
#page-container .et_pb_button_module_wrapper a#btn_show_menu {
    padding: 10px 0px 10px 40px !important;
}
.padding_right { padding-right: 15px;}
.et-menu li li a {
    width: 240px;
    font-size: 12px!important;
}
#custom-header-bar .et_pb_module {
    margin-bottom: 0px!important;
}
header .et_pb_column {
    margin-bottom: 0px;
}
#main-menu li {
    margin-top: 0px!important;
  	padding: 0px!important;
}
#main-menu nav > ul > li {
    padding: 0px 20px!important;
}
#main-menu nav > ul > li > a {
    padding: 47px 0px!important;
    display: flex;
    justify-content: center;
    align-items: center;
}
.has_et_pb_sticky #main-menu nav > ul > li > a {
    padding: 31px 0px!important;
}
.et-db #et-boc .et-l .et-menu-nav li.mega-menu>ul {
    border-top: 0px !important;
}
.et-menu .menu-item-has-children>a:first-child:after {
    position: relative;
}
.nav li ul {
    border-top: 0px solid #2ea3f2;
}
.et_pb_menu .et_pb_menu__menu>nav>ul>li>ul {
    top: calc(100% + 0px);
}
#menu_fullscreen li {
    display: flex;
    flex-direction: column;
    margin: 0px;
    padding: 0px;
}
#menu_fullscreen li ul.sub-menu {
    position: relative;
    visibility: visible;
    opacity: 1;
    box-shadow: none;
    padding: 0px;
  display: none;
}
#menu_fullscreen .et-touch-hover ul.sub-menu, .et-show-dropdown ul.sub-menu{
  display: block!important;
}
#menu_fullscreen .et_pb_menu--style-left_aligned .et_pb_menu__wrap {
    justify-content: flex-start;
}
#menu_fullscreen li a {
    display: block;
    margin: 0px!important;
    padding: 0px;
    line-height: initial;
    text-align: left!important;
    width: 100%;
}

#content-mobile-menu {
    padding: 0rem 0rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
#main-menu {
    position: relative;
    z-index: 1000;
}
#vertical_menu .et_pb_menu__menu > nav > ul {
  display: block!important;
}




#vertical_menu .et_pb_menu__menu > nav > ul > li > a {
  text-align: center;
  width: 100%;
  margin-bottom: 30px;
}
.et_mobile_nav_menu {
  display: none!important;
}
.et_pb_menu__menu {
  display: block!important;
}
body:not(.et-tb) #menu_fullscreen {
  z-index: 999;
  visibility: hidden;
  opacity: 0;
  -webkit-transform: translateY(-150vh);
      -ms-transform: translateY(-150vh);
          transform: translateY(-150vh);
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}
body:not(.et-tb) #menu_fullscreen.visible_menu {
  visibility: visible;
  opacity: 1;    
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;    
}
.no_overflow {
  overflow: hidden;
}
a#btn_show_menu {
    font-size: 0px;
    border: 0px;
    background-color: transparent;
}
body #page-container #btn_show_menu:after {
    opacity: 1;
    margin: 0px;
    font-size: 2rem!important;
    display: block;
    height: auto;
    position: relative;
    line-height: initial!important;
}
a#btn_show_menu.active_menu:after {
    content: "\4d";
}
#main-menu .et_pb_button_module_wrapper {
    display: flex!important;
    align-items: center;
}
.vertical-menu ul.et-menu {
display: flex;
flex-direction: column;
}
@media (max-width: 980px) {
  #vertical_menu .et_pb_menu__menu > nav > ul > li > a {
    margin-bottom: 5px; 
  }
}
/******************************************
  END FULLSCREEN MOBILE MENU 
*******************************************/

.logo .et_pb_image_wrap {
  max-width: none !important;
  width: 200px;
}

/******************************************
  CUSTOM GRID SYSTEM FOR NESTED MODULES
*******************************************/

/* Classe pour la colonne parente qui contient la grille */
.custom-grid-container {
    display: flex;
    flex-wrap: wrap;
    gap: 0px;
    align-items: center!important;
    flex-direction: row !important;
    justify-content: start !important;
    align-content: center;
}

/* Par défaut, tous les modules font 100% de largeur */
.custom-grid-container > .et_pb_module {
  flex: 0 0 100%;
  width: 100%;
}

/* Module 1/3 de largeur (33.33%) - à appliquer seulement si voulu */
.custom-grid-container .custom-grid-third {
  flex: 0 0 calc(33.33% - 0px) !important; /* 14px = compensation pour le gap */
  width: calc(33.33% - 0px) !important;
}

/* Module 2/3 de largeur (66.66%) - à appliquer seulement si voulu */
.custom-grid-container .custom-grid-two-thirds {
  flex: 0 0 calc(66.66% - 7px) !important; /* 7px = compensation pour le gap */
  width: calc(66.66% - 7px) !important;
}

/* Module 1/2 de largeur (50%) - à appliquer seulement si voulu */
.custom-grid-container .custom-grid-half {
  flex: 0 0 calc(50% - 10px) !important; /* 10px = compensation pour le gap */
  width: calc(50% - 10px) !important;
}

/* Responsive : sur tablette et mobile, tout revient en pleine largeur */
@media (max-width: 980px) {
  .custom-grid-container .custom-grid-third,
  .custom-grid-container .custom-grid-two-thirds,
  .custom-grid-container .custom-grid-half {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
  
  .custom-grid-container {
    gap: 15px; /* Gap plus petit sur mobile */
  }
}

@media (max-width: 767px) {
  .custom-grid-container {
    gap: 10px; /* Gap encore plus petit sur mobile */
  }
}

/*********************************************
    CHECKOUT STYLING - Design Suisse Épuré
*********************************************/

/* Section principale checkout */
.woocommerce-checkout .et_pb_section_1_tb_body {
    padding: 40px 0 !important;
}

/* Titres principaux */
.woocommerce-checkout h3 {
    font-size: 24px !important;
    font-weight: 300 !important;
    margin-bottom: 30px !important;
    color: #2c2c2c !important;
    border-bottom: 1px solid #e8e8e8;
    padding-bottom: 15px;
}

/* Formulaires et champs */
.woocommerce-checkout .form-row {
    margin-bottom: 20px !important;
}

.woocommerce-checkout .form-row label {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #4a4a4a !important;
    margin-bottom: 8px !important;
    display: block;
}

.woocommerce-checkout .required {
    color: #cc9955 !important;
    font-weight: normal;
}

/* Champs de saisie */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    background: #ffffff !important;
    border: 1px solid #d4d4d4 !important;
    border-radius: 4px !important;
    padding: 12px 16px !important;
    font-size: 15px !important;
    line-height: 1.4 !important;
    color: #2c2c2c !important;
    width: 100% !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
}

.woocommerce-checkout input[type="text"]:focus,
.woocommerce-checkout input[type="email"]:focus,
.woocommerce-checkout input[type="tel"]:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color: #cc9955 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(204, 153, 85, 0.1) !important;
}

/* Select2 styling */
.woocommerce-checkout .select2-container .select2-selection--single {
    background: #ffffff !important;
    border: 1px solid #d4d4d4 !important;
    border-radius: 4px !important;
    height: 50px !important;
    padding: 0 !important;
}

.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    padding: 0 !important;
    margin: 0 !important;
    font-size: 15px !important;
    color: #2c2c2c !important;
    line-height: 50px !important;
    padding-left: 16px !important;
    padding-right: 40px !important;
}

.woocommerce-checkout .select2-container--focus .select2-selection--single {
    border-color: #cc9955 !important;
    box-shadow: 0 0 0 2px rgba(204, 153, 85, 0.1) !important;
}

/* Correction du double padding Select2 */
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
    padding-left: 0 !important;
    padding-right: 20px !important;
    margin-left: 16px !important;
    margin-right: 0 !important;
}

/* Correction du positionnement du dropdown */
.woocommerce-checkout .select2-dropdown {
    border: 1px solid #d4d4d4 !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    margin-top: -1px !important;
}

.woocommerce-checkout .select2-container--open .select2-dropdown {
    margin-top: 0 !important;
}

.woocommerce-checkout .select2-results__option {
    padding: 12px 16px !important;
    font-size: 15px !important;
    color: #2c2c2c !important;
}

.woocommerce-checkout .select2-results__option--highlighted {
    background-color: #cc9955 !important;
    color: #ffffff !important;
}

/* Corrections supplémentaires pour Select2 */
.woocommerce-checkout .select2-container {
    width: 100% !important;
}

.woocommerce-checkout .select2-selection__arrow {
    height: 48px !important;
    top: 1px !important;
    right: 10px !important;
}

/* Force le positionnement correct du dropdown */
.select2-container--open .select2-dropdown--below {
    top: 100% !important;
    margin-top: 0 !important;
}

.select2-container--open .select2-dropdown--above {
    bottom: 100% !important;
    margin-bottom: 0 !important;
}

/* Reset complet pour les selects dans checkout */
body.woocommerce-checkout .select2-container .select2-selection--single {
    height: 50px !important;
    border: 1px solid #d4d4d4 !important;
    border-radius: 4px !important;
    background: #ffffff !important;
}

body.woocommerce-checkout .select2-selection__rendered {
    line-height: 48px !important;
    padding-left: 16px !important;
    padding-right: 30px !important;
    color: #2c2c2c !important;
    font-size: 15px !important;
}

/* Textarea spécifique */
.woocommerce-checkout textarea {
    min-height: 100px !important;
    resize: vertical !important;
}

/* Tableau récapitulatif commande */
.woocommerce-checkout-review-order-table {
    background: #ffffff !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
    border: 1px solid #e8e8e8 !important;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 16px 20px !important;
    border-bottom: 1px solid #f5f5f5 !important;
    font-size: 15px !important;
}

.woocommerce-checkout-review-order-table thead th {
    background: #f8f8f8 !important;
    font-weight: 600 !important;
    color: #2c2c2c !important;
    border-bottom: 2px solid #e8e8e8 !important;
}

.woocommerce-checkout-review-order-table tfoot th {
    font-weight: 600 !important;
    color: #2c2c2c !important;
}

.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td {
    background: #f8f8f8 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    border-bottom: none !important;
}

/* Prix et montants */
.woocommerce-Price-amount {
    font-weight: 600 !important;
    color: #2c2c2c !important;
}

/* Méthodes de paiement */
.wc_payment_methods {
    background: #ffffff !important;
    border-radius: 8px !important;
    padding: 20px !important;
    border: 1px solid #e8e8e8 !important;
    margin-bottom: 25px !important;
}

.wc_payment_methods li {
    border-bottom: 1px solid #f5f5f5 !important;
    padding: 15px 0 !important;
    margin: 0 !important;
}

.wc_payment_methods li:last-child {
    border-bottom: none !important;
}

.wc_payment_methods label {
    font-size: 15px !important;
    font-weight: 500 !important;
    color: #2c2c2c !important;
    cursor: pointer !important;
}

.wc_payment_methods input[type="radio"] {
    margin-right: 12px !important;
    accent-color: #cc9955 !important;
}

.payment_box {
    background: #f8f8f8 !important;
    padding: 15px !important;
    border-radius: 4px !important;
    margin-top: 10px !important;
    font-size: 14px !important;
    color: #666666 !important;
}

/* Méthodes de livraison */
.woocommerce-shipping-methods {
    background: #ffffff !important;
    padding: 0 !important;
}

.woocommerce-shipping-methods li {
    padding: 12px 0 !important;
    border-bottom: 1px solid #f5f5f5 !important;
}

.woocommerce-shipping-methods li:last-child {
    border-bottom: none !important;
}

.woocommerce-shipping-methods label {
    font-size: 14px !important;
    color: #2c2c2c !important;
    font-weight: normal !important;
}

.woocommerce-shipping-methods input[type="radio"] {
    margin-right: 10px !important;
    accent-color: #cc9955 !important;
}

/* Conditions générales */
.woocommerce-terms-and-conditions-wrapper {
    background: #f8f8f8 !important;
    padding: 20px !important;
    border-radius: 6px !important;
    margin: 25px 0 !important;
    border: 1px solid #e8e8e8 !important;
}

.woocommerce-terms-and-conditions-wrapper label {
    font-size: 14px !important;
    color: #4a4a4a !important;
    line-height: 1.6 !important;
}

.woocommerce-terms-and-conditions-wrapper input[type="checkbox"] {
    margin-right: 10px !important;
    accent-color: #cc9955 !important;
}

.woocommerce-terms-and-conditions-link {
    color: #cc9955 !important;
    text-decoration: underline !important;
}

.woocommerce-terms-and-conditions-link:hover {
    color: #b8875f !important;
}

/* Bouton commander */
#place_order {
    background: #cc9955 !important;
    color: #ffffff !important;
    border: none !important;
    padding: 16px 40px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    width: 100% !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

#place_order:hover {
    background: #b8875f !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 4px 12px rgba(204, 153, 85, 0.3) !important;
}

/* Informations de stock */
.stock.in-stock {
    color: #22c55e !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    margin-top: 5px !important;
}

/* Responsive */
@media (max-width: 768px) {
    .woocommerce-checkout h3 {
        font-size: 20px !important;
        margin-bottom: 20px !important;
    }
    
    .woocommerce-checkout-review-order-table th,
    .woocommerce-checkout-review-order-table td {
        padding: 12px 15px !important;
        font-size: 14px !important;
    }
    
    .wc_payment_methods {
        padding: 15px !important;
    }
    
    #place_order {
        padding: 14px 30px !important;
        font-size: 15px !important;
    }
}

/* Messages d'erreur */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
    background: #ffffff !important;
    border-left: 4px solid #cc9955 !important;
    padding: 15px 20px !important;
    margin-bottom: 20px !important;
    border-radius: 0 4px 4px 0 !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05) !important;
}

.woocommerce-error {
    border-left-color: #ef4444 !important;
}

/* Stripe elements */
.wc-stripe-upe-element {
    background: #ffffff !important;
    border: 1px solid #d4d4d4 !important;
    border-radius: 4px !important;
    padding: 12px 16px !important;
    margin-bottom: 15px !important;
}

/* Privacy policy text */
.woocommerce-privacy-policy-text {
    background: #f8f8f8 !important;
    padding: 15px !important;
    border-radius: 4px !important;
    margin-bottom: 15px !important;
    font-size: 13px !important;
    color: #666666 !important;
    line-height: 1.5 !important;
}