body.ce-kit-1{font-family:"Poppins", sans-serif;}body.ce-kit-1 h1{font-family:"Outfit", sans-serif;font-size:8rem;font-weight:400;}body.ce-kit-1 h2{font-family:"Outfit", sans-serif;font-size:3.6rem;text-transform:uppercase;}body.ce-kit-1 h3{color:#347766;font-family:"Outfit", sans-serif;}.elementor-button-primary .elementor-button, .elementor-button-primary a.elementor-button:not(#e){color:#FFFFFF;}.elementor-button-primary .elementor-button{--ce-btn-bg-color:#347766;background-color:var(--ce-btn-bg-color);}.elementor-button-primary .elementor-button.elementor-size-sm{border-radius:50px 50px 50px 50px;}@media(max-width:1024px){body.ce-kit-1 h1{font-size:7rem;}}@media(max-width:767px){body.ce-kit-1 h1{font-size:4.5rem;}body.ce-kit-1 h2{font-size:2.4rem;}}/* Start custom CSS for page-settings *//***** GENERAL *****/
.white-img img{
    filter: brightness(0) invert(1)!important;
}
.black-img img{
    filter: brightness(0)!important;
}
@media (min-width: 768px){
    .sticky{
        position: sticky;
        height: fit-content;
        top: 4em;
    }
}
@media (min-width: 768px) and (max-width: 2014px){
    .sticky{
        top: 6em;
    }
}
a:focus{
    outline: none;
}

/***** MINIATURE PRODUIT *****/
.minia-product{
    .brand-img a{
        display: none;
    }
}

/***** PAGE ACCUEIL *****/
.discount-wrapper{
    .title{
        position: relative;
    }
    .title:before{
        position: absolute;
        content: "";
        width: calc(100vw - 8em * 2 - 100% - 20px);
        height: 1.5px;
        background: #000;
        right: calc(100% + 20px);
        bottom: 0;
    }
}
.brands-wrapper{
    .img-left{
        left: calc(-8em - 10px)!important;
        top: -4em!important;
        width: fit-content;
        z-index: -1!important;
    }
    .img-right img{
        filter: invert(1);
    }
    .txt-container, .brand-container, .title-occ{
        mix-blend-mode: difference;
    }
    .title-occ{
        top: 2em;
        transform: none;
    }
    .img-right{
        right: 0;
        top: 0;
    }
    .img-rond{
        width: fit-content;
    }
    .brands-grid .ce-image-gallery{
        gap: 10px 40px!important;
    }
    .brands-grid .ce-image-gallery img{
        padding: 14%;
        border: 1px solid #101010;
        background: #000;
        border-radius: 15px;
        transition: all .3s ease-in-out;
    }
    .brands-grid .ce-image-gallery a:hover img{
        padding: 1.6em;
        transition: all .3s ease-in-out;
    }
}
.contact-wrapper .img-container .elementor-column-wrap{
    box-shadow: rgba(50, 50, 93, 0.15) 0px 6px 12px 2px, rgba(0, 0, 0, 0.15) 0px 3px 7px 3px;
}
.contact-wrapper .img-container .elementor-column-wrap .elementor-column-wrap{
    box-shadow: none;
}

@media (max-width: 1024px){
    .brands-wrapper{
        .img-left{
            left: calc(-3em - 10px)!important;
        }
    }
}
@media (max-width: 768px){
    .brands-wrapper .title-occ{
        position: initial!important;
    }
}
@media (min-width: 1025px) and (max-width: 1280px){
    .brands-wrapper{
        padding: 4em 4em 8em 4em!important;
        h2{
            font-size: 3rem!important;
        }
        .txt-container:has(.txt-container){
            padding-left: 300px!important;
        }
        .txt-container .elementor-column-wrap{
            padding-top: 4em!important;
        }
        .logo-container .elementor-column-wrap{
            padding: 0 0 0 2em!important;
        }
        .brands-grid .ce-image-gallery{
            grid-template-columns: repeat(2, 1fr)!important;
        }
        .logo-container .ce-image-gallery img{
            padding: 14px!important;
        }
        .title-occ{
            display: initial!important;
            position: relative!important;
            margin-bottom: 20px!important;
        }
        .title-occ.elementor-hidden-phone{
            display: none!important;
        }
        .img-right img{
            height: 200px!important;
        }
    }
    .discount-wrapper{
        padding: 8em 4em 6em 4em!important;
        .title:before{
            width: calc(100vw - 4em * 2 - 100% - 20px);
        }
    }
    .solar-wrapper{
        padding: 0em 4em 8em 4em!important;
        h2{
            font-size: 3rem!important;
        }
        .products-wrapper{
            width: 75%!important;
        }
        .general-container{
            padding: 1em!important;
        }
        .img-wrapper{
            width: 25%!important;
        }
        .img-wrapper .img,
        .img-wrapper .img .elementor-widget-container,
        .img-wrapper .img img{
            height: 100%!important;
        }
        .img-wrapper .img img{
            object-fit: cover;
        }
    }
    .contact-wrapper{
        padding: 0 4em 0 4em!important;
        h2{
            font-size: 3rem!important;
        }
    }
}

/***** PAGE CATÉGORIE/MARQUE *****/
.banner-wrapper .img-container{
    min-height: 30vh;
    .elementor-column-wrap{
        box-shadow: rgba(50, 50, 93, 0.15) 0px 6px 12px -2px, rgba(0, 0, 0, 0.15) 0px 3px 7px -3px;
    }
}
.breadcrumb-wrapper .elementor-column-wrap{
    box-shadow: rgba(50, 50, 93, 0.15) 0px 6px 12px -2px, rgba(0, 0, 0, 0.15) 0px 3px 7px -3px;
}
.breadcrumb-wrapper .ce-breadcrumb .elementor-row{
    margin: 0!important;
}
@media (min-width: 768px){
    .breadcrumb-wrapper{
        width: fit-content!important;
    }
}
@media (min-width: 1025px) and (max-width: 1280px){
    .breadcrumb-wrapper{
        padding-left: 6em!important;
    }
    .category-wrapper,
    .brand-wrapper{
        padding: 4em!important;
        h1{
            font-size: 4em!important;
        }
        .sticky{
            width: 33.33%!important;
        }
        .products-category,
        .products-brand{
            width: 66.66%!important;
        }
        .products-category .ce-product-grid,
        .products-brand .ce-product-grid{
            grid-template-columns: repeat(2, minmax(0, 1fr))!important;
        }
    }
}
@media (max-width: 768px){
    .breadcrumb-container{
        justify-content: center;
    }
    .breadcrumb-container .elementor-column-wrap{
        width: fit-content;
    }
    .sticky .filters-container .elementor-column-wrap{
        background: transparent!important;
        box-shadow: none!important;
        border-width: 0!important;
    }
    .ce-filters__container .dialog-lightbox-close-button{
        margin: 8px!important;
    }
}

/***** PAGE PRODUIT *****/
.infos-wrapper .elementor-nav-tabs .elementor-nav .elementor-item{
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 15px 15px 0 0;
    border-bottom-width: 0;
}
.infos-wrapper .elementor-nav-tabs .elementor-nav .elementor-item-active{
    background: #347766;
    color: #fff!important;
    border-color: #347766;
}
.elementor-nav-tabs{
    margin-left: 15px;
}
@media (min-width: 1025px) and (max-width: 1280px){
    #product .products-wrapper{
        padding: 4em!important;
    } 
}

/** COMPTE CLIENT **/
#authentication,
#registration,
#password{
    .elementor-10170101 .elementor-element.elementor-element-d158f39 .elementor-form label .elementor-field-label{
        text-transform: none!important;
        letter-spacing: 0!important;
    }
    .elementor-10170101 .elementor-element.elementor-element-d158f39 .elementor-form label{
        text-align: center;
    }
}

#my-account,
#identity,
#address,
#addresses,
#history,
#order-slip,
#module-blockwishlist-lists,
#module-psgdpr-gdpr,
#module-ps_emailalerts-account,
#view,
#order-detail{
    h1{
        font-size: 5rem!important;
    }
    #wrapper{
        background: #fff!important;
        padding-top: 0!important;
    }
    .breadcrumb{
        font-size: 13px!important;
        padding: 1em;
        background: #347766;
        width: fit-content;
        border-radius: 0 0 15px 15px;
        box-shadow: rgba(50, 50, 93, 0.15) 0px 6px 12px -2px, rgba(0, 0, 0, 0.15) 0px 3px 7px -3px;
    }
    .breadcrumb li:last-child,
    .breadcrumb li a,
    .breadcrumb li:after{
        color: #ffffff!important;
    }
    .breadcrumb li a:hover{
        opacity: .7;
    }
    .links a:hover i,
    .page-footer a,
    .wishlist-footer-links a{
        color: #347766!important;
    }
    .page-footer a,
    .form-footer .btn-primary{
        padding: 5px 15px!important;
        border: 1px solid #347766!important;
        border-radius: 50px!important;
        transition: all .3s ease-in-out;
    }
    .page-footer a:hover,
    .form-footer .btn-primary:hover{
        color: #fff!important;
        background: #347766!important;
        transition: all .3s ease-in-out;
    }
    .container{
        padding: 0 0 2em 0;
    }
    .notifications-container.container{
        padding: 0;
    }
    h1{
        font-family: "Outfit", sans-serif !important;
        font-weight: 400!important;
        text-transform: none!important;
    }
    .link-item{
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 16px;
    }
}
#identity,
#address,
#addresses,
#history,
#order-slip,
#module-blockwishlist-lists,
#module-psgdpr-gdpr,
#module-ps_emailalerts-account,
#view,
#order-detail{
    #wrapper{
        background: #fff!important;
    }
    .row{
        min-height: 55vh;
        align-content: center;
    }
    .row .row{
        min-height: unset;
    }
    form .form-control-label,
    .page-content h6,
    .modal-title,
    .psgdprinfo17 h2{
        font-family: "Outfit", sans-serif!important;
        font-weight: 700!important;
        text-transform: uppercase;
        font-size: 1.25em!important;
        color: #000!important;
    }
    .psgdprinfo17 h2{
        font-size: 1.5em!important;
    }
    .form-control{
        background: transparent!important;
        border: 1px solid rgba(0, 0, 0, .15)!important;
        border-radius: 16px!important;
    }
    .form-control:focus,
    .input-group.focus{
        outline-color: #347766!important;
    }
    .form-footer{
        text-align: center;
    }
    .form-footer .btn-primary{
        background: transparent!important;
        color: #000!important;
        font-weight: 400!important;
        float: inherit!important;
    }
    .input-group .input-group-btn>.btn[data-action=show-password]{
        background: #347766;
        border-radius: 50px!important;
    }
}
#identity{
    .field-password-policy .js-input-column .input-group{
        gap: 10px;
    }
}
#addresses{
    .address{
        border: 1px solid rgba(0, 0, 0, 0.15);
        border-radius: 16px!important;
    }
}
#history,
#order-slip,
#module-ps_emailalerts-account{
    .alert-info{
        background: transparent;
        border-color: rgba(0, 0, 0, 0.15);
        color: #000;
        border-radius: 50px!important;
    }
    .label-pill{
        background: #347766!important;
        border-radius: 50px;
    }
    .order-actions a{
        color: #000!important;
    }
    table a{
        color: #347766!important;
    }
}
#module-blockwishlist-lists{
    .wishlist-add-to-new{
        color: #347766!important;
    }
    .modal-dialog .btn{
        background: transparent!important;
        font-weight: 400;
        text-transform: uppercase;
        color: #000!important;
    }
    .modal-dialog .modal-cancel{
        border: 1px solid rgba(0, 0, 0, 0.15);
        border-radius: 16px!important;
    }
    .wishlist-list-item:hover .wishlist-list-item-title{
        color: #347766!important;
    }
}
#view{
    .dropdown-menu a:hover{
        background: #347766!important;
        color: #fff!important;
    }
    .wishlist-products-container .page-content.card{
        box-shadow: none!important;
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 16px!important;
    }
    .wishlist-product-availability{
        padding: 5px;
        background: #000;
        color: #fff;
        text-align: center!important;
    }
    .wishlist-product-title{
        font-family: "Outfit", sans-serif;
        text-transform: uppercase;
        text-align: center;
        letter-spacing: .5px;
        font-size: 1.2em;
    }
    .wishlist-product-price{
        text-align: center;
    }
    .btn-primary{
        background: transparent!important;
        color: #000!important;
    }
}
#module-psgdpr-gdpr{
    .psgdprinfo17{
        background: transparent;
        border: 1px solid rgba(0, 0, 0, 0.15);
        border-radius: 16px!important;
    }
    .psgdprinfo17 a{
        color: #347766;
    }
    .psgdprinfo17 .btn{
        color: #000;
        background: transparent!important;
        font-weight: 400;
        border: 1px solid rgba(0, 0, 0, 0.15);
        border-radius: 16px!important;
    }
}
#order-detail{
    #order-infos a,
    .box a{
        color: #347766!important;
    }
    #order-history h3,
    #delivery-address h4,
    #invoice-address h4,
    .order-message-form h3{
        font-family: "Outfit", sans-serif;
        text-transform: uppercase;
        letter-spacing: .5px;
        font-size: 1.4em;
    }
    #order-history .label{
        background: #347766!important;
        border-radius: 50px!important;
    }
}
#order-slip{
    .table a,
    .credit-slip a{
        color: #347766!important;
    }
}
@media (min-width: 768px) and (max-width: 1024px){
    #my-account, #identity, #address, #addresses, #history, #order-slip, #module-blockwishlist-lists, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #view, #order-detail{
        h1{
            font-size: 3.5rem !important;
        }
    }
}
@media (max-width: 576px){
    #my-account,
    #identity,
    #address,
    #addresses,
    #history,
    #order-slip,
    #module-blockwishlist-lists,
    #module-psgdpr-gdpr,
    #module-ps_emailalerts-account,
    #order-detail,
    #view{
        .container{
            padding: 1em!important
        }
        .page-header,
        .breadcrumb{
            padding-left: 1rem;
        }
    }
    #order-detail #order-infos{
        .col-xs-9,
        .col-xs-3{
            width: 100%;
            text-align: left!important;
        }
    }
    #view #content-wrapper{
        padding: 0 2rem;
    }
    #module-psgdpr-gdpr .page-content .container{
        padding: 0!important;
    }
    #module-ps_emailalerts-account #content.page-content{
        padding: 1rem!important;
    }
}
@media (max-width: 768px){
    #my-account, #identity, #address, #addresses, #history, #order-slip, #module-blockwishlist-lists, #module-psgdpr-gdpr, #module-ps_emailalerts-account, #view, #order-detail{
        #wrapper{
            margin-top: 20px;
        }
        .page-header{
            margin-bottom: 0;
        }
        h1{
            font-size: 2.8rem !important;
        }
    }
    .wishlist-products-container .page-content.card{
        box-shadow: none!important;
    }
}
@media (max-width: 998px){
    #module-psgdpr-gdpr .psgdprinfo17 .btn{
        margin-bottom: 10px;
        white-space: normal!important;
    }
}

/** PARCOURS ACHAT **/
#cart{
    #wrapper{
        padding: 8em 0;
        background: #fff!important;
    }
    h1{
        font-family: "Outfit", sans-serif;
        text-transform: none;
        font-size: 3em;
        font-weight: 400;
    }
    .product-image img{
        border-radius: 8px;
    }
    a.label:hover{
        color: #000;
    }
    .product-line-info a.label:before{
        width: 0;
    }
    .product-line-info a.label{
        padding: 0 0 .5em 0!important;
        font-family: "Outfit", sans-serif!important;
        text-transform: uppercase;
        font-weight: 800;
        font-size: 1.1em;
        border-width: 0!important;
    }
    .product-line-info a.label:hover{
        color: #000!important;
        background: transparent!important;
    }
    .current-price{
        color: #000;
        font-weight: 400;
    }
    .discount{
        background: #347766;
        border-radius: 50px;
    }
    .btn-primary{
        background: #347766!important;
        color: #ffffff!important;
        border: 1px solid #347766;
        border-radius: 50px;
        transition: all .3s ease-in-out;
    }
    .btn-primary:hover{
        background: transparent!important;
        color: #347766!important;
        transition: all .3s ease-in-out;
    }
    .cart-summary{
        border: 1px solid rgba(0, 0, 0, 0.1);
        border-radius: 8px;
    }
    a.label{
        padding: 5px 15px!important;
        border: 1px solid #347766!important;
        border-radius: 50px!important;
        transition: all .3s ease-in-out;
    }
    a.label:hover{
        color: #fff!important;
        background: #347766!important;
        transition: all .3s ease-in-out;
    }
}
#checkout,
#order-confirmation{
    #wrapper{
        padding: 4em 0;
        background: #fff!important;
    }
    h1, .h1{
        font-family: "Outfit", sans-serif;
        text-transform: none!important;
        font-size: 2.4em;
        font-weight: 800!important;
    }
    .checkout-step.-current .step-number{
        background: #347766!important;
    }
    .done,
    .checkout-step a,
    .js-address-form a,
    .card a{
        color: #347766;
    }
    .checkout-step a:hover,
    .js-address-form a:hover,
    .card a:hover{
        color: #347766;
    }
    .address-item{
        border-radius: 8px;
    }
    .address-item.selected{
        border-color: #347766!important;
    }
    .custom-radio input[type=radio]:checked+span{
        background-color: #347766;
    }
    .btn-primary{
        background: transparent!important;
        color: #347766!important;
        border: 1px solid #347766;
        border-radius: 50px;
        transition: all .3s ease-in-out;
    }
    .btn-primary:hover{
        background: #347766!important;
        color: #fff!important;
        transition: all .3s ease-in-out;
    }
    .card{
        border: 1px solid rgba(0, 0, 0, 0.15)!important;
        border-radius: 8px;
    }
    .card .product-price{
        color: #000;
    }
}
#cart,
#checkout{
    #footer{
        padding: 0!important;
    }
}
#order-confirmation{
    .breadcrumb li{
        color: #000!important;
    }
    .breadcrumb a{
        color: #347766!important;
    }
    .details{
        font-family: "Outfit", sans-serif;
        font-weight: 800;
        text-transform: uppercase;
    }
    h3.card-title{
        font-family: "Outfit", sans-serif!important;
        color: #347766!important;
        font-weight: 800!important;
        font-size: 1.2em!important;
    }
    .ce-product-badge{
        width: fit-content;
        padding: 5px;
        margin: 0 auto;
        margin-top: -2px;
    }
}


.product-line-grid-right .cart-line-product-actions, .product-line-grid-right .product-price {
    overflow: visible !important;
 
}

@media (min-width: 767px) and (max-width: 1024px){
    #cart,
    #checkout,
    #order-confirmation{
        #wrapper{
            padding: 4em 0;
        }
    }
}
@media (max-width: 767px){
    #cart,
    #order-confirmation,
    #checkout{
        .container{
            width: inherit!important;
        }
        .card{
            padding: 10px;
        }
    }
    #cart,
    #checkout,
    #order-confirmation{
        #wrapper{
            padding: 2em 0;
        }
    }
}
@media (max-width: 446px){
    #cart .product-line-actions{
        .hidden-md-up{
            display: none;
        }
        .col-xs-6{
            width: 66.66%!important;
        }
        .qty, .price, .cart-line-product-actions{
            margin-top: 10px;
        }
    }
}
@media (max-width: 500px){
    body#checkout section.checkout-step .address-item{
        flex: 0 0 100%;
    }
    body#checkout section.checkout-step .address-item>header{
        min-height: inherit;
    }
}

/** 404 **/
.error-wrapper{
    min-height: 60vh;
    align-content: center;
}

/***** FOOTER *****/
.footer-wrapper{
    /*transform: translateY(-50%);*/
    .schedule p{
        margin-bottom: 0!important;
    }
}/* End custom CSS */