@layer overrides;

:root {
    --bs-primary: #A3664B;
    --bs-primary-rgb: 163, 102, 75;
    --bs-link-color: var(--bs-primary);
    --bs-link-hover-color: #82523C;
    --bs-link-color-rgb: 163, 102, 75;
    --bs-link-hover-color-rgb: 130, 82, 60;
}

@layer overrides {
    /**** GLOBAL ****/

    .btn-primary {
        --bs-btn-bg: var(--bs-primary);
        --bs-btn-border-color: var(--bs-primary);
        --bs-btn-hover-bg: #82523C;
        --bs-btn-hover-border-color: #82523C;
        --bs-btn-active-bg: #82523C;
        --bs-btn-active-border-color: #82523C;
        --bs-btn-disabled-bg: #B5856F;
        --bs-btn-disabled-border-color: #B5856F;
    }

    .btn-outline-primary {
        --bs-btn-color: var(--bs-primary);
        --bs-btn-border-color: var(--bs-primary);
        --bs-btn-hover-bg: var(--bs-primary);
        --bs-btn-hover-border-color: var(--bs-primary);
        --bs-btn-active-bg: var(--bs-primary);
        --bs-btn-active-border-color: var(--bs-primary);
        --bs-btn-disabled-color: var(--bs-primary);
        --bs-btn-disabled-border-color: var(--bs-primary);
    }

    .dropdown-menu {
        --bs-dropdown-link-active-bg: var(--bs-primary);
    }

    .btn {
        border-radius: 0;
    }

    .form-control {
        border-color: #DFDFDF;
    }

    .nav {
        --bs-nav-link-color: var(--bs-primary);
        --bs-nav-link-hover-color: #82523C;
    }

    .form-check-input:checked {
        background-color: var(--bs-primary);
        border-color: var(--bs-primary);
    }

    .form-control:focus,
    .form-select:focus,
    .form-check-input:focus {
        border-color: #DAC2B7;
        box-shadow: 0 0 0 .25rem rgba(163, 102, 75, .25);
    }

    .btn {
        gap: 0.625rem;
    }

    .btn-outline-tertiary {
        --bs-btn-hover-color: var(--bs-primary);
        --bs-btn-active-color: var(--bs-primary);
    }

    .btn-basic {
        --bs-btn-color: var(--bs-primary);
        --bs-btn-hover-color: #82523C;
        --bs-btn-active-color: #82523C;
    }

    body {
        font-family: "Poppins";
    }

    .h1,
    .h2,
    .h3,
    .h4,
    .h5,
    .h6,
    .left-block__title,
    .right-block__title,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        color: #333;
        line-height: normal;
    }

    .h1,h1 {
        font-size: calc(var(--bs-body-font-size)*2)
    }

    .h2,h2 {
        font-size: calc(var(--bs-body-font-size)*1.75)
    }

    .h3,.left-block__title,.right-block__title,h3 {
        font-size: calc(var(--bs-body-font-size)*1.25)
    }

    .h4,h4 {
        font-size: calc(var(--bs-body-font-size)*1.125)
    }

    .h5,h5 {
        font-size: var(--bs-body-font-size)
    }

    .h6,h6 {
        font-size: calc(var(--bs-body-font-size)*.875)
    }

    p,
    ul li {
        color: #595959;
        font-size: 1rem;
        font-weight: 300;
        line-height: 1.375rem;
    }

    b,
    strong {
        font-weight: 700;
    }

    /**** BREADCRUMB ****/

    .breadcrumb {
        --bs-breadcrumb-padding-y: 0.5rem;
    }

    .breadcrumb-item+.breadcrumb-item:before {
        content: ">";
        color: #333;
        font-size: 0.5rem;
    }

    .breadcrumb__wrapper {
        background-color: transparent;
        margin-bottom: 0;
    }

    .breadcrumb-item span {
        color: #000;
        font-size: 0.5rem;
    }

    /**** PRODUCT ****/

    .accordion-button:not(.collapsed) {
        color: var(--bs-primary);
    }

    .page-product .product__zoom {
        box-shadow: none;
        border-radius: 1.5rem;
        background: rgba(163, 102, 75, 0.50);
        padding: 0.625rem;
    }

    .page-product .product__price {
        color: var(--bs-primary);
        font-size: 1.5rem;
        font-weight: 600;
        line-height: normal;
    }

    .page-product .product__prices-block {
        row-gap: 0;
    }

    @media (min-width: 1200px) {
        .page-product .product__actions,
        .page-product .product__add-to-cart-container,
        .page-product .product__availability,
        .page-product .product__customization,
        .page-product .product__description-short,
        .page-product .product__discounts,
        .page-product .product__manufacturer,
        .page-product .product__minimal-quantity,
        .page-product .product__name,
        .page-product .product__pack,
        .page-product .product__prices,
        .page-product .product__variants {
            margin-block-end: 1.5rem;
        }
    }

    .page-product .product__tax-infos {
        color: #333;
        line-height: normal;
    }

    .ps-categoryproducts {
        margin-bottom: 0;
        margin-top: 6rem;
    }

    .ps-categoryproducts .section-title {
        text-align: center;
    }

    /**** CATEGORY ****/

    .products__sort {
        justify-content: flex-end;
    }

    .products__sort-dropdown {
        flex-grow: 0;
    }

    .products__sort-dropdown-button {
        width: fit-content;
    }

    /**** HEADER ****/

    .header-block__badge {
        color: #FFF;
        font-size: 0.5rem;
        font-weight: 700;
        line-height: 0.75rem;
        width: 0.75rem;
        height: 0.75rem;
        min-width: 0.75rem;
        position: absolute;
        bottom: 0.188rem;
        right: -0.313rem;
        top: auto;
        background: var(--bs-primary);
    }

    .header-top {
        padding: 0.62rem 0;
        border-bottom: 0;
    }

    .header {
        box-shadow: 0 8px 12px 0 rgba(0, 0, 0, 0.08);
    }

    .header-top__center {
        text-align: center;
    }

    /**** PRODUCT MINIATURE ****/

    .product-miniature__inner {
        border: 1px solid #DFDFDF;
    }

    .product-miniature__inner,
    .product-miniature__top {
        border-radius: 0;
    }

    .product-miniature__title {
        color: #333;
        text-align: center;
        font-size: 0.875rem;
        font-weight: 600;
        line-height: normal;
    }

    .product-miniature__prices {
        justify-content: center;
        margin-bottom: 1.5rem;
    }

    .product-miniature__bottom {
        gap: 1.5rem;
        padding: 1.5rem .75rem .75rem;
    }

    .product-miniature__price {
        color: #333;
        font-size: 0.875rem;
        line-height: normal;
    }

    .quantity-button button {
        border: 1px solid #DFDFDF;
    }

    .quantity-button button.increment {
        border-left: 0;
    }

    .quantity-button button.decrement {
        border-right: 0;
    }

    .quantity-button__group .form-control {
        border-right: 0;
        border-left: 0;
        max-width: 2rem;
        padding: 0;
        line-height: normal;
    }

    .product-miniature__add-text {
        display: block;
        font-size: 0.625rem;
    }

    .product-miniature__add {
        padding: 0.75rem 1rem;
        flex: 1;
    }

    .product-miniature__form {
        column-gap: 1.5rem;
    }

    @media (hover: hover) {
        .product-miniature__inner:hover {
            box-shadow: none;
        }

        .product-miniature__inner:hover .product-miniature__image {
            transform: none;
        }
    }

    :not(#category).layout-full-width .products {
        gap: var(--gap);
        grid-template-columns: repeat(auto-fit, minmax(0, calc((100% - (var(--gap) * (var(--cols) - 1))) / var(--cols))));
    }

    @media (min-width: 992px) {
        .layout-full-width .products {
            --cols: 4;
            --gap: 1.25rem;
            justify-content: center;
        }
    }

    @media (max-width: 991px) {
        .layout-full-width .products {
            --cols: 2;
            --gap: 0.75rem;
        }
    }

    @media (max-width: 767px) {
        .product-miniature__bottom {
            gap: 0.75rem;
        }

        .product-miniature__prices {
            margin-bottom: 0.75rem;
        }
    }

    /**** FOOTER ****/

    .footer__main {
        background: #454545;
    }

    @media (min-width: 768px) {
        .footer__main {
            padding-block: 3rem 1.25rem 1.5rem;
        }

        .footer-block__title {
            margin-block-end: .75rem;
        }
    }

    .footer-block__title {
        color: #FBFBFB;
        font-size: 1.5rem;
        position: relative;
        width: fit-content;
        line-height: normal;
    }

    .footer-block__title::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 0.125rem;
        background: var(--bs-primary);
    }

    .footer-block__list a {
        font-size: 0.875rem;
        font-weight: 500;
        line-height: normal;
        text-transform: uppercase;
        padding-block: 0;
        padding-bottom: 0.75rem;
    }

    #footer .ps-contactinfo__email,
    #footer .ps-contactinfo__fax,
    #footer .ps-contactinfo__infos,
    #footer .ps-contactinfo__phone,
    #footer .ps-contactinfo__address {
        gap: 0.75rem;
    }

    #footer .ps-contactinfo__email a,
    #footer .ps-contactinfo__phone a {
        color: #D7D7D7;
    }

    #footer .ps-contactinfo__email a:hover,
    #footer .ps-contactinfo__phone a:hover {
        color: #FFF;
    }

    #footer .ps-contactinfo__address {
        display: flex;
        align-items: flex-start;
    }

    #footer .ps-contactinfo__infos {
        color: #D7D7D7;
        font-size: 0.875rem;
        font-weight: 500;
        text-transform: uppercase;
        margin-bottom: 0.75rem;
    }

    #footer .ps-contactinfo__email {
        margin-bottom: 0.75rem;
    }

    #footer .ps-contactinfo__email a,
    #footer .ps-contactinfo__phone a {
        font-size: 0.875rem;
    }

    .copyright {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .copyright p {
        margin-bottom: 0;
        color: #D7D7D7;
        font-size: 0.875rem;
        font-weight: 500;
        text-transform: uppercase;
    }

    /**** HOME ****/

    .page:not(body) {
        padding-bottom: 6rem;
    }

    .page-content--home {
        gap: 6rem;
    }

    @media (max-width: 767px) {
        .page-content--home {
            gap: 3rem;
        }

        .page:not(body) {
            padding-bottom: 3rem;
        }
    }

    .ps-imageslider__figcaption {
        top: 50%;
        transform: translateY(-50%);
        bottom: auto;
    }

    .ps-imageslider__figcaption p {
        color: #FFF;
        font-size: 2.375rem;
        font-weight: 700;
        text-transform: uppercase;
        line-height: normal;
        text-align: left;
    }

    .ps-imageslider__figcaption {
        backdrop-filter: none;
        border-radius: 0;
        background-color: transparent;
        padding: 0;
    }

    .ps-featuredproducts .section-title {
        text-align: center;
    }

    .ps-customtext .customtext__right {
        display: flex;
        align-items: flex-start;
        justify-content: flex-end;
        gap: .5rem;
        flex-wrap: wrap;
    }

    .section-title {
        margin-block-end: 1.5rem;
    }

    /**** CART ****/

    #cart .breadcrumb__wrapper {
        display: none;
    }

    #cart #wrapper {
        padding-top: 3rem;
    }

    /**** ACCOUNT ****/

    .login__register-prompt {
        display: none;
    }
}