@import url('https://fonts.googleapis.com/css2?family=Fjalla+One&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap');

.product-flags .out_of_stock {
    display: none;
}


body {
    font-family: "Nunito Sans", sans-serif;
    font-optical-sizing: auto;
    font-weight: normal;
    font-style: normal;
    font-variation-settings:
            "wdth" 100,
            "YTLC" 500;
}

#wrapper {
    background: #ffffff;
}

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6 {
    font-family: "Fjalla One", sans-serif;
    font-weight: 400;
    font-style: normal;
    color: #000000
}

.btn-primary, a {
    transition: 0.3s;
}

.btn-primary, .btn-secondary {
    border-radius: 20px;
}

.btn-primary:hover {
    background: #424242;
}

a:hover {
    text-decoration: underline;
}

.form-control {
    border: 0;
    border-bottom: 1px solid #000000;
    background: #ffffff;
}

.form-control:focus, .block_newsletter form input[type="email"]:focus {
    color: #000000;
    background-color: #fff;
    outline: none !important;
    border-color: #000000;
}

.btn:focus, .btn.focus, .btn:active:focus, .btn:active.focus, .btn.active:focus, .btn.active.focus, .input-group.focus {
    outline: none !important;
}

.flex {
    display: flex;
}

.items-center {
    align-items: center;
}

.hidden {
    display: none;
}

.message_boutique {
    text-align: center;
    color: #000;
    font-weight: bold;
    font-size: large;
}

/**
 * AUTH
 */
#authentication, #password {
    #header, .breadcrumb, #footer {
        display: none;
    }

    h1 {
        display: none;
    }

    h2 {
        text-align: center;
        font-size: 38px;
        margin: 0 auto;
        margin-top: -35px;
        padding-bottom: 40px;
        width: 470px;
        background: white;
    }

    .login_form_container {
        border: 1px solid #e3e3e3;
        padding: 10px;
        padding-bottom: 30px;
    }

    #content {
        padding: 0;
    }

    #wrapper {
        position: absolute;
        margin: 0;
        top: 50%;
        left: 50%;
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }

    .logo {
        text-align: center;
        margin-bottom: 60px;
    }
}

.shop_logos {
    display: flex;
    max-width: 30%;
    align-items: center;
    gap: 30px;
}

.shop_logos div {
    flex: 1 1 0;
}

#search_widget {
    form input {
        background: #ffffff;
        border: 1px solid #000000;
        border-radius: 20px;
        padding: 10px 20px 10px 20px;
    }

    form i {
        position: absolute;
        padding: .7rem;
        right: 20px;
    }
}

#header {
    box-shadow: none;
}

#header a:hover {
    text-decoration: underline;
}

#header .header-nav {
    border-bottom: none;
    max-height: unset;
}
#header .header-nav .blockcart {
    padding: 0.70rem;
    margin-left: 0;
    color: #ffffff;
    background: #000000;
    border-radius: 50%;
    position: relative;
}

#header .header-nav .blockcart:hover {
    background: #1e1e1e;
}

.header .cart-products-count {
    background: #ef1b28;
    font-size: 10px;
    padding: 3px 6px;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: -5px;
    border: 1px solid #fff;
    line-height: normal;
}

#header .header-nav .cart-preview .shopping-cart {
    color: #ffffff;
}

.user_icon {
    background: #ef1b28;
    padding: 0.70rem;
    margin-left: 0;
    color: #ffffff;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
}

.user_icon:hover {
    background: #d3101a;
}

.user-menu-logout {
    position: absolute;
    z-index: 9;
}

.user-menu-logout div {
    display: flex;
    flex-direction: column;
    gap: 15px;
    text-align: left;
    background: white;
    padding: 20px;
    border: 1px solid #D3D3D3;
    margin-top: 10px;
}

.product-quantity {
    gap: 10px;
}

.product-quantity .quantity_wanted, .quantity_wanted {
    outline: none;
}

#product .tabs {
    padding-left: 0;
}

.btn-outline-dark {
    border: 1px solid #000;
    border-radius: 20px;
    text-transform: uppercase;
    transition: 0.3s;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0.3rem 1rem !important;
    font-weight: bold;
    background: #fff;
    height: auto !important;
}

.btn-outline-dark:hover {
    background: #000;
    color: #fff
}

.cart-grid-right {
    border-radius: 20px;
    border: 1px solid #d3d3d3;
}

#cart .cart-grid-right {
    margin-top: 100px
}

.card-block.cart-detailed-subtotals+.cart-summary-totals .cart-total,
body#checkout .cart-grid-right .card .cart-summary-subtotals-container {
    border-color: #000;
}

body#checkout section.checkout-step .address-item.selected {
    border-radius: 20px;
}

hr {
    border-color: #000000;
}
.input-group-btn-vertical {
    display: none !important;
}

.product-line-grid {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.product-line-grid-right {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: end;
}

.cart-line-product-actions {
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: end;
}

.product-line-grid-right .cart-line-product-actions .remove-from-cart, .product-line-grid-right .product-price .remove-from-cart {
    margin-top: 0 !important;
}

h2, .h2 {
    font-size: 2rem;
}

.product-quantity .qty {
    padding: 5px 9px;
    border: 1px solid #ffffff;
    border-radius: 20px;
}

.product-description .product-quantity .qty {
    border-color: #fff;
}

#cart .product-quantity .qty {
    border-color: #000;
}

#cart .quantity_wanted {
    background: #ffffff;
    color: #000000;
}

.product-modal-bottom .qty, #product .qty {
    border-color: #000;
}

.quantity_wanted {
    text-align: center !important;
    background: #000000;
    color: #ffffff;
    height: unset !important;;
    padding: 0 !important;;
    border: none !important;;
    width: 2rem !important;;
}

.product-quantity .qty, .product-quantity .add {
    margin: 0;
    float: none;
    align-items: center;

    .btn-primary {
        background: #ffffff;
        color: #000000;
        padding: .4rem .5rem;
        border-radius: 20px;
        border: 1px solid #ffffff;
        font-size: 0.8rem;
    }

    .btn-primary:hover {
        background: #000000;
        color: #ffffff;
    }
}

span.btn-qty-minus, span.btn-qty-plus {
    font-size: 23px;
    cursor: pointer;
    -webkit-user-select: none; /* Safari */
    -ms-user-select: none; /* IE 10 and IE 11 */
    user-select: none; /* Standard syntax */
}

span.btn-qty-minus {
    font-size: 33px;
}

.page-index .product, .page-search .product {
    width: auto;
    min-width: auto;
}

.product-miniature .thumbnail-container .product-thumbnail img {
    width: 100%;
}

#products .products, .featured-products .products, .product-accessories .products {
    grid-gap: 20px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.last_order_title {
    margin-bottom: 15px;
    font-family: "Fjalla One", sans-serif;
    clear: both;
    font-size: 30px;
    width: 50%;
    text-align: center;
}

#cart {
    h1 {
        font-size: 36px;
    }

    .cart-item {
        border-bottom: 1px solid black;
        padding: 1.5rem 0 0.5rem 0
    }
}

.product_ref {
    font-size: 0.8rem;
    font-weight: normal;
}

.footer-before {
    clear: both;

    .last_order {
        background: black;
        color: white;
        padding: 50px 10px;
        border-radius: 20px;
        text-align: center;
        width: 25%;

        a {
            color: white;
        }

        a.reorderlink {
            display: inline-block;
            margin-top: 50px;
            background: white;
            color: black;
            text-transform: uppercase;
            border-radius: 20px;
            padding: 5px 15px;
            font-weight: bold;
            font-size: 0.9rem;
        }

        a.reorderlink:hover {
            text-decoration: none;
            background: #ef1b28;
            color: white;
        }
    }

    .last_order, .container-commerical {
        height: 230px;
    }

    .container-commerical {
        text-align: left;
        background: url('../img/fond_pattern.webp') no-repeat center top;
        color: white;
        width: 500px;
        padding: 50px;
        border-radius: 20px;
        background-size: 100%;
        position: relative;

        .title {
            font-size: 1.8rem;
            text-align: left;
            margin-bottom: 30px;
            font-family: "Fjalla One", sans-serif;
        }

        a {
            color: white;
        }

        a.logo-commercial {
            position: absolute;
            width: 150px;
            bottom: 10px;
            right: 10px;
        }

        .info-commercial {
            display: flex;
            align-items: center;
            gap: 20px;
        }

        .image_commercial {
            max-height: 100px;
        }
    }
}

.quickview {
    .modal-dialog {
        width: calc(100% - 100px);
    }

    .modal-content {
        border-radius: 30px;
        background: #ffffff;

        h1 {
            text-align: center;
            margin-bottom: 30px;
            text-transform: unset;
        }

        p, .product-discount, .tax-shipping-delivery-label {
            color: #000000
        }

        .modal-footer {
            border-top: none
        }

        .mask {
            overflow: visible;
        }

        .row {
            display: grid;
            grid-template-columns: 260px 1fr;
            grid-template-areas:
                "title title"
                "discounts image"
                "bottom bottom";
            column-gap: 30px;
            align-items: center;
        }

        .col-md-12 {
            grid-area: title;
        }

        .product-discounts-column {
            grid-area: discounts;
            min-width: 0;
            padding-left: 30px;
        }

        .product-discounts-column .table-product-discounts {
            width: 100%;
        }

        .product-discounts-column .product-discounts-title {
            text-align: center;
        }

        .product-image-column {
            grid-area: image;
            min-width: 0;
        }

        .product-modal-bottom {
            grid-area: bottom;
            padding-left: 70px;
        }

        .images-container {
            display: block;
            min-height: auto;
        }

        .product-cover {
            text-align: center;
            position: unset;
            img {
                height: 400px;
                width: auto;
            }
        }

        .quickview_bottom {
            display: flex;
            align-items: end;
            justify-content: center;
            gap: 50px;
            margin-top: 30px;
        }

        .product-variants {
            gap: 20px;
            display: grid;
            grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
            margin-top: 30px;
            align-items: end;
            justify-content: center;
        }

        .product-quantity {
            display: block;
            text-align: center;
        }

        .btn-touchspin {
            display: none;
        }

        .add-to-cart {
            height: unset;
            background: black;
            color: white;
            border: 1px solid #000000;
            border-radius: 20px;
            padding: 7px 18px;
            font-size: 0.9rem;
        }

        .add-to-cart:hover {
            background: white;
            color: black;
        }

        .quantity_wanted {
            background: #ffffff;
            color: #000000;
        }

        .current-price, .product-add-to-cart span.control-label {
            text-align: center;
            font-size: 0.9rem;
            font-weight: 300;
        }

        .product-prices div {
            margin-bottom: 0
        }

        div.product-cart-label {
            margin-bottom: 10px !important;
        }

        .current-price-value {
            font-size: 2.2rem;
            margin-bottom: 0;
            line-height: 2.2rem;
        }

        .product-prices {
            margin-top: 0;
        }

        .product-variants>.product-variants-item {
            margin: 0
        }
    }
}

.footer-container {
    .footer-menu {
        display: flex;
        align-items: center;
        justify-content: space-evenly;
        margin-bottom: 30px;
    }

    .separator {
        border-right: 1px solid #000000;
        height: 25px;
        width: 1px;
    }

    a {
        font-size: 0.9rem;
    }

    .footer-menu-secondaire {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 20px;
        margin-bottom: 10px;
    }

    .logo-footer {
        width: 150px;
        margin: 10px auto 50px;
    }
}

.js-cart-line-product-quantity {
    border-radius: 20px !important;
}

.hide_price {
    display: none !important;
}

.product-miniature {
    .product-description {
        background: #000000;
        border-radius: 20px;
        color: white;
        padding: 20px;
        height: 190px;
        margin-top: -20px;

        .product-title {
            font-family: "Nunito Sans", sans-serif;
        }

        .product-title a {
            font-weight: bold;
        }

        a, .regular-price, .price, .product-title, .product-price-and-shipping {
            color: white;
            text-align: left;
            margin-top:0;
        }

        .price, .regular-price {
            font-size: 0.8rem;
            font-weight: normal;
        }

        .product-quantity {
            align-items: center;
            justify-content: end;
            gap: 10px;

            position: absolute;
            bottom: 20px;
            right: 20px;
        }
    }

    .thumbnail-container {
        width: 100%;
        margin-bottom: 0;
        transition: 0.2s;
    }

    .thumbnail-container:hover {
        opacity: 0.8;
    }

    a.product-thumbnail img {
        border: 1px solid #D3D3D3;
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
    }

    .product-flags li.product-flag {
        margin-top: 1.2rem;
    }

    .input-group-btn-vertical {
        display: none;
    }
}

.product_search {
    margin-bottom: 1.5rem;
}
.product_search__wrapper {
    display: flex;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0 .75rem;
    background: #fff;
    max-width: 400px;
    transition: border-color .2s;
}
.product_search__wrapper:focus-within {
    border-color: #333;
}
.product_search__icon {
    flex-shrink: 0;
    color: #888;
    margin-right: .5rem;
}
.product_search__wrapper input[type="search"] {
    flex: 1;
    border: none;
    outline: none;
    padding: .6rem 0;
    font-size: 1rem;
    background: transparent;
    -webkit-appearance: none;
}
.product_search__wrapper input[type="search"]::-webkit-search-cancel-button {
    display: none;
}
.product_search__clear {
    background: none;
    border: none;
    cursor: pointer;
    color: #888;
    font-size: 1rem;
    padding: 0 0 0 .5rem;
    line-height: 1;
}
.product_search__clear:hover { color: #333; }
.product_search__count {
    margin: .5rem 0 0;
    font-size: .85rem;
    color: #666;
    min-height: 1.2em;
}
.product_search__no_result {
    padding: 2rem;
    text-align: center;
    color: #666;
    font-style: italic;
}
