:root {
    --strikemaster: #975179;
    --maverick: #dcc1d0;
    --buttered-rum: #b1740f;
    --mine-shaft: #333232;
    --sunset-orange: #fa4545;

    --color-primary: var(--strikemaster);
    --color-white: #ffffff;
    --color-body: var(--mine-shaft);
}

.h1 {
    /*font-family: 'Alegreya';*/
    color: var(--color-primary);
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .1em;
}

.h4 {
    /*font-family: 'Alegreya';*/
}

.h5 {
    /*font-family: 'Alegreya';*/
    color: var(--color-body);
    font-style: italic;
    font-size: 1.4em;
    font-weight: 400;
}

.h6 {
    /*font-family: 'Alegreya';*/
    font-style: italic;
    color: var(--color-primary);
}

.btn {
    &.btn-secondary {
        background-color: var(--color-primary);
        border-color: var(--color-primary);

        &:focus {
            box-shadow: 0 0 0 .2rem rgba(151, 81, 121, .5);
        }

        :not(:disabled):not(.disabled) {
            &:hover,
            &:active {
                background-color: #5c3852;
                border-color: #5c3852;
            }

            &:active {
                &:focus {
                    box-shadow: 0 0 0 .2rem rgba(151, 81, 121, .5);
                }
            }
        }
    }
}

main {
    background: #fafafa;
}

/** HEADER **/
.header-nav {
    background: var(--buttered-rum);
    color: var(--color-white);
    height: 32px;

    .everhook-hookDisplayNav1 {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: .875rem;

        p {
            margin: 0;
        }
    }
}

.header-top {
    border: 0;

    .header-top__icon {
        color: var(--color-primary);
    }

    .header-top__badge {
        background: var(--color-body);
    }

    @media (min-width: 768px) {
        #_desktop_search_from {
            form.search-form {
                .search-form__form-group {
                    display: flex;
                    justify-content: end;
                }
                
                .search-form__btn {
                    padding: 0 10px;
                    background: var(--color-white);

                }

                .search-form__input {
                    width: 46px;
                    padding: 0;
                    transition: .3s, text-indent 0s;
                    transition-delay: 0s, text-indent .3s;

                    &::placeholder {
                        opacity: 0;
                    }
                }

               .search-form__close {
                    display: none;
                    position: absolute;
                    right: 0;
                    top: 0;
                    width: 46px;
                    height: 100%;
                    background: none;
                    border: none;
                    color: var(--color-primary);
                    transform: translateX(-100%);
                    cursor: pointer;

                    i {
                        height: 100%;
                        width: 100%;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                    }

                    &:hover {
                        color: #5c3852;
                    }
                }

               &.search-form--active {
                    .search-form__input {
                        width: 100%;
                        padding: 0 92px 0 10px;
                        text-indent: 0;

                        &::placeholder {
                            opacity: 1;
                        }
                    }

                    .search-form__btn {
                        border: 1px solid #ced4da;
                    }

                    .search-form__close {
                        display: block;
                    }
                }
            }
        }
    }
}

#_mobile_search_from {
    .search-form__close {
        display: none;
    }
}

.main-menu {
    .main-menu__item-link--top {
        color: var(--color-body);
        text-transform: uppercase;
        font-weight: 400;
        font-size: 1rem;

        &:hover {
            color: var(--color-primary);
        }
    }

    .main-menu__sub {
        .main-menu__item-link {
            font-weight: 500;
        }
    }
}

@media screen and (min-width: 768px) {
    .main-menu__dropdown {
        justify-content: space-around;
    }

    .main-menu__sub {
        left: auto;
        right: auto;

        .main-menu__list {
            flex-wrap: nowrap;
            flex-direction: column;

            .main-menu__item {
                max-width: 100%;
                flex: 0 0 100%;
            }
        }
    }

    @media (max-width: 991px) {
        .main-menu__item-link--top {
            padding: 10px 15px;
            font-size: 1rem;
        }
    }
}

.breadcrumb {
    background: none;
}

/** FOOTER **/
#footer {
    .footer-container {
        background: var(--color-white);
    }

    .footer-reassurance {
        .reassurance {
            display: flex;
            flex-direction: column;
            margin-bottom: 2em;
            border-bottom: solid 1px #ced4da;

            .reassurance-item {
                display: flex;
                flex-direction: column;
                align-items: center;
                text-transform: uppercase;
                margin-bottom: 1em;

                .reassurance-icon {
                    font-size: 2em;
                    margin-bottom: 1rem;
                }

                .reassurance-title {
                    font-weight: 500;
                    letter-spacing: 1px;
                    font-size: .8rem;
                }

                .reassurance-subtext {
                    font-weight: 300;
                    opacity: .5;
                    font-size: .8rem;
                }
            }
        }
    }

    @media (min-width: 768px) {
        .footer-reassurance {
            .reassurance {
                flex-direction: row;

                .reassurance-item {
                    flex-basis: 33.33%;
                }
            }
        }
    }
}


/** LISTING - CATEGORIE **/
.product-miniature {
    /* padding: 25px !important; */
    border-radius: 0;

    .product-miniature__thumb {
        img {
            width: 100%;
        }

        &:has(.hover-image) {
            img {
                transition: opacity 0.3s ease-in-out;
            }

            .hover-image {
                opacity: 0;
                position: absolute;
                top: 0;
                left: 0;
            }

            &:hover {
                .default-image {
                    opacity: 0;
                }

                .hover-image {
                    opacity: 1;
                }
            }
        }
    }

    .product-miniature__body {
        position: relative;
        padding: 15px 25px 25px;

        button.add-to-cart,
        a.view-product {
            position: absolute;
            top: 0;
            right: 0;
            padding: 0;
            height: 46px;
            width: 46px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: .3s;
        }

        button.add-to-cart {
            background: var(--color-body);
            color: var(--color-white);

            &:hover {
                background: var(--strikemaster);
            }
        }

        a.view-product {
            border: solid 1px var(--color-body);
            color: var(--color-body);

            &:hover {
                border-color: var(--color-primary);
                color: var(--color-primary);
            }
        }
    }

    .product-miniature__title {
        height: auto;
        margin-bottom: 0;
        font-size: 1rem;
        font-style: initial;
        font-weight: 400;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
    }

    .product-miniature__pricing {
        font-size: 1rem;
        font-weight: 600;

        .price {
            font-style: initial;
            font-size: 1.25rem;
        }
    }

    .variant-links {
        margin: 0 -.3125rem;
    
        .color {
            display: inline-block;
            width: 1rem;
            height: 1rem;
            border-radius: 50%;
            margin: .3125rem .25rem .3125rem .3125rem;
            cursor: pointer;
            background-size: contain;
            border: 1px solid #adb5bd;

            &.out-of-stock {
                position: relative;

                &::before {
                    content: '';
                    display: block;
                    width: 100%;
                    height: 2px;
                    background: red;
                    position: absolute;
                    top: 6px;
                    right: 0;
                    transform: rotate(-45deg);
                    z-index: 2;
                    outline: 1px solid var(--color-white);
                }
            }
        }

        .count {
            position: relative;
            bottom: .4rem;
            font-weight: 700;
            color: #7a7a7a;
        }
    
        &:has(.color:nth-child(6)) {
            .color:nth-child(n+6) {
                display: none;
            }
        }
    }
}

body#category {
    .breadcrumb {
        justify-content: center;
    }

    #subcategories {
        .subcategories-list {
            justify-content: center;
        }

        .card {
            border: 0;
            background: none;
            margin: 0 .5rem 1.5rem;

            .card-body {
                padding: 0;

                > a {
                    width: 120px;
                    height: 120px;
                    margin: 0 auto;
                    border-radius: 100%;
                    overflow: hidden;
                    border: solid 2px transparent;
                    transition: .3s;
                    outline: 2px solid transparent;

                    img {
                        display: block;
                        height: 100%;
                        width: 100%;
                        object-fit: cover;
                        transition: inherit;
                    }

                    & + p {
                        margin-top: .5rem;
                        font-style: normal;
                        font-weight: 500;
                        font-size: .875rem;
                        max-width: 120px;

                        a {
                            color: var(--color-body);
                        }
                    }

                    &:hover {
                        outline-color: var(--color-primary);

                        img {
                            transform: scale(1.1);
                        }
                    }
                }
            }
        }
    }
}

#products {
    .page-not-found {
        background: none;
    }
}

/** PRODUCT **/

.product-miniature {
    border: none;
}

.js-product-images {
    .product-thumbs {
        display: none;
    }

    @media (min-width: 576px) {
        display: flex;

        .product-main-images {
            max-width: 75%;
        }

        .product-thumbs {
            display: block;
            order: -1;
            max-width: 25%;
            max-height: 390px;
            margin: -5px 0 !important;

            .product-thumbs__elem {
                max-width: none;
                padding: 5px 0;

                img {
                    max-height: 100%;
                    width: auto;
                }
            }
        }
    }

    @media (min-width: 1200px) {
        .product-thumbs {
            max-height: 450px;
        }
    }
}

.product-flags {
    .product-flags__flag--on-sale {
        background-color: var(--sunset-orange);
    }
}

.price {
    color: var(--color-body);
    font-style: oblique;
}

.price--regular + .price {
    color: var(--sunset-orange);
}

.product-prices {
    display: flex;
    align-items: flex-start;

    .tax-shipping-delivery-label {
        margin-left: 10px;
    }
}

.product-variants {
    ul {
        li {
            &:first-child {
                .custom-radio-color {
                    padding-left: 0;
                }
            }

            &.disabled {
                .color-preview {
                    position: relative;

                    &::before {
                        content: '';
                        display: block;
                        width: 100%;
                        height: 2px;
                        background: red;
                        position: absolute;
                        top: 11px;
                        right: 0;
                        transform: rotate(-45deg);
                        z-index: 2;
                        outline: 1px solid var(--color-white);
                    }
                }
            }
        }
    }
    .product-variants-item {
        .custom-radio-color {
            width: auto;
            height: auto;

            .custom-control-label {
                display: flex;
                flex-direction: column;
                align-items: center;

                .color-preview {
                    width: 24px;
                    height: 24px;
                    margin-bottom: 2px;
                }

                .color-name {
                    text-transform: uppercase;
                    font-size: .6rem;
                    font-weight: 500;
                }
            }

            .custom-control-input-color {
                position: static;
                margin-bottom: 2px;
            }

            .custom-control-input {
                &:checked {
                    ~ .custom-control-label {
                        &::after {
                            right: 50%;
                            transform: translateX(50%);
                        }
                    }
                }
            }
        }
    }
}

.bootstrap-touchspin {
    border-radius: 0;
}

.product-add-to-cart .btn.add-to-cart {
    background-color: var(--color-body);
    color: var(--color-white);
}

body.page-product,
body#module-giftcard-choicegiftcard {
    .h1 {
        text-transform: none;
        letter-spacing: 0;
    }

    .js-mailalert-modal-btn {
        margin-bottom: 1rem;
    }

    #formgiftcard {
        section {
            h2 {
                font-size: 1.125rem;
                font-weight: 500;
            }

            &#gc-step-template {
                li.template_item {
                    border: solid 2px transparent;

                    &.selected {
                        border-color: var(--color-primary);

                        &::before {
                            display: none;
                        }
                    }
                }
            }

            &#gc-step-receptmode {
                .gc-receptmode-option {
                    input {
                        &:checked {
                            + label {
                                color: var(--color-white);
                                background: var(--strikemaster) !important;
                            }
                        }

                        + label {
                            font-weight: 500;
                            color: var(--color-primary);
                            border-color: var(--strikemaster) !important;

                            svg {
                                fill: var(--strikemaster);
                            }
                        }
                    }
                }

                h3 {
                    font-size: .875rem;
                    font-weight: 500;
                }
            }

            &#gc-step-information {
                .form-group {
                    label {
                        font-size: .875rem;
                        font-weight: 500;
                        color: var(--color-primary);
                    }
                }
            }
        }

        .ta-gc-submit {
            .btn-dark {
                background-color: var(--color-body);
            }
        }
    }
}

/** CART **/
.cart-container.card {
    border: 0;

    .card-header {
        background: none;
        border: 0;
    }
}

.cart-summary.card {
    border: 0;

    .card-header {
        background: none;
        border: 0;
    }
}

/** CHECKOUT **/
body#checkout {
    .header-nav {
        background: transparent;
        height: auto;

        .everhook-hookDisplayNav1 {
            display: none;
        }
    }
}

/** FORM **/
.custom-select {
    border-radius: 0;
}

.form-control {
    border-radius: 0;
}

/** HOME **/
.featured-products {
    .products {
        display: flex;
        flex-wrap: wrap;
    }
}

body#index {
    h2 {
        /*font-family: 'Alegreya';*/
        color: var(--color-primary);
        font-weight: 400;
        font-style: italic;
        text-transform: uppercase;
        letter-spacing: .1em;
    }

    #custom-text {
        margin: 2rem 0;
    }
}

/** MODULES **/
/*** homepagetabs ***/
.tabs:has(#home-page-tabs) {
    padding: 0px;

    #home-page-tabs {
        margin: 0px 10px 1rem;
        padding: 10px 0px 0px 0px;
        align-items: end;

        li.nav-item {
            flex-basis: 100%;

            a.nav-link {
                color: var(--color-body);
                border-width: 0 0 2px 0;
                border-color: #ced4da;
                text-transform: uppercase;
                font-weight: 500;
                letter-spacing: 2px;
                transition: .3s;

                &:hover {
                    border-color: var(--color-body);
                }

                &.active {
                    color: var(--color-primary);
                    background: none;
                    border-color: var(--color-primary);
                }
            }
        }
    }

    .tab-pane {
        margin-bottom: 1rem;

        .all-product-link {
            display: inline-flex;
            align-items: center;

            i {
                transform: translateX(5px);
            }
        }
    }

    @media (min-width: 768px) {
        #home-page-tabs {
            li.nav-item {
                flex: 1;
                border-color: transparent;
            }
        }
    }
}