
/* ===== base.css ===== */
body {
    max-width: var(--body-width);
    margin: 0 auto;
}

body.body-full-width {
    max-width: 100%;
}

/*Animations*/

.reveal-up {
    opacity: 0;
    transform: translateY(50px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
    will-change: transform, opacity;
}

.reveal-up.active {
    opacity: 1;
    transform: translateY(0);
}

.reveal-down {
    opacity: 0;
    transform: translateY(-50px);
    transition:
        opacity 0.8s ease,
        transform 0.8s ease;
    will-change: transform, opacity;
}

.reveal-down.active {
    opacity: 1;
    transform: translateY(0);
}

.reveal-left {
    opacity: 0;
    transform: translateX(-60px);
    transition: all .8s ease;
}

.reveal-left.active {
    opacity: 1;
    transform: translateX(0);
}

.reveal-right {
    opacity: 0;
    transform: translateX(60px);
    transition: all .8s ease;
}

.reveal-right.active {
    opacity: 1;
    transform: translateX(0);
}

.stagger>* {
    opacity: 0;
    transform: translateY(20px);
    transition:
        opacity .6s ease,
        transform .6s ease;
}

.stagger.active>*:nth-child(1) {
    transition-delay: .1s;
}

.stagger.active>*:nth-child(2) {
    transition-delay: .2s;
}

.stagger.active>*:nth-child(3) {
    transition-delay: .3s;
}

.stagger.active>* {
    opacity: 1;
    transform: translateY(0);
}

/* Hover card */
.hover-lift {
    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.hover-lift:hover {
    transform: translateY(-6px);
}

/*Site logo*/

.site-logo {
    height: fit-content;
    padding: 0.5rem 1rem;

    .logo-block {
        line-height: 1;

        >a {
            display: block;
            width: fit-content;

            img {
                /* height: 100%; */
                height: var(--header-logo-height);
                width: auto;
                object-fit: contain;
            }
        }
    }
}

.multi-cat-list {
    max-height: 150px;
    overflow-y: auto;
    border: 1px solid #ddd;
    padding: 10px;
}

.multi-group {
    margin-bottom: 20px;
}

/*Sticky block*/

.sticky-block,
.sticky-content {
    position: -webkit-sticky;
    position: sticky;
    height: fit-content;
    top: var(--sticky-top-margin);
}

/*Breadcrumbs*/

.breadcrumbs {
    background-color: #f1f1f1;
    width: 100%;
    padding: 1rem 0.5rem;
    margin: 0rem 0 0rem 0;

    .container {
        display: flex;
        align-items: center;
    }

    a,
    span {
        font-size: 0.8rem;
        font-weight: 400;
    }

    span.current {
        font-weight: 600;
    }

    span.breadcrumbs-divider {
        padding: 0 0.5rem;
    }

    a {
        text-decoration: none;
        color: var(--primary-color);
    }

    a.home-breadcrumb {
        height: 1.2rem;
    }

    a:hover {
        text-decoration: none;
        color: var(--primary-color-hover);
    }

    .material-icons {
        font-size: 1.1rem;
    }
}

/*Desktop sub-menu drawer*/

.header-menu.submenu-drawer {

    nav.menu-desktop>.menu>li.menu-item-has-children:hover {
        >a {
            position: relative;
        }

        >a::before {
            content: "";
            position: fixed;
            inset: 0;
            top: 81px;
            /* below header */
            background: rgba(0, 0, 0, 0.5);
            opacity: 1;
            pointer-events: none;
            transition: opacity 0.3s ease;
            z-index: 9;
        }

        >.sub-menu {
            transform: translateX(0px);
        }
    }

    nav.menu-desktop>.menu>li.menu-item-has-children>.sub-menu {
        opacity: 1;
        visibility: visible;
        position: fixed;
        z-index: 10;
        width: 50vw;
        left: 0px;
        top: 56px;
        max-width: 100%;
        height: 100vh;
        transform: translateX(-50vw);
        background-color: var(--header-bg-color);
        padding: 24px 24px 64px 24px;
        display: grid;
        gap: 24px;
        grid-template-columns: repeat(auto-fill, minmax(min(250px, 50%), 1fr));
        align-items: start;
        align-content: start;
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;

        a::after {
            display: none;
        }

        >li {
            >a {
                font-size: 15px;
                font-weight: 600;
            }
        }

        li {
            height: fit-content;
            display: flex;
            flex-direction: column;
        }

        li:hover {
            background-color: transparent !important;
        }

        .sub-menu {
            position: relative;
            opacity: 1;
            visibility: visible;
            display: flex;
            flex-direction: column;
            transform: none !important;
            height: fit-content;
            transition: none;
        }

        li.menu-item-has-children {
            width: fit-content;

            >.sub-menu {
                left: 0%;
                top: 0%;
                position: relative;
                background-color: transparent;
                border: none;

                li {
                    padding-left: 0rem !important;
                    background-color: transparent;
                    border: none;

                    a {
                        font-weight: 500;
                        font-size: 14px;
                        color: #242424;
                    }
                }

                li:first-child {
                    margin-top: -1px;
                    border-top: 1px solid var(--divider-border-color);
                }
            }
        }
    }
}

/*Topbar messages*/

.topbar-messages {
    position: relative;
    overflow: hidden;
    height: 32px;
    padding: 0px 8px;

    .topbar-messages-track {
        position: relative;
        height: 100%;
    }

    .topbar-message {
        position: absolute;
        inset: 0;

        display: flex;
        align-items: center;
        justify-content: center;

        opacity: 0;
        transform: translateY(100%);

        transition:
            opacity 0.45s ease,
            transform 0.45s ease;

        pointer-events: none;
    }

    .topbar-message.is-active {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }

    .topbar-message.is-leaving {
        opacity: 0;
        transform: translateY(-100%);
    }

}

/*Header*/

.header-block {
    a {
        white-space: nowrap;
    }
}

.header-block.header2 {
    justify-content: start !important;
    width: 100%;
    align-items: start !important;
    padding: 0px;
    border-bottom: 1px solid #fff;

    .header-menu {
        width: 100%;
        margin: 0 auto;
    }

    .logo-block {
        width: 100%;
    }

    .logo-content {
        align-items: start;
    }

    .primary-menu-icon .material-icons {
        color: #fff;
    }

    .top-bar-menu ul {
        display: flex;
        flex-direction: row;
        justify-content: end;
        padding: 0.5rem 0rem;

        li.menu-item:hover {
            background-color: #3a3a3a0e;
            border-radius: 8px;

            a {
                color: #273238;
            }
        }
    }

    .primary-block {
        width: 100%;
        background-color: var(--main-menu-bg-color);

        li.menu-item {
            padding: 0.75rem 0.75rem;
        }

        li.menu-item:hover {
            background-color: #1919191c;
        }

        li.menu-item a {
            font-size: 1.25rem;
            font-weight: 500;
            color: #fff;
            text-decoration: none;
        }

        .sub-menu {
            background-color: var(--sub-menu-bg-color);
            border: none;
        }
    }

    .primary-menu-part {
        justify-content: space-between;
        width: 100%;
    }

    .menu-desktop ul {
        justify-content: start;

        li.menu-item-has-children a::after {
            color: #fff;
        }
    }

}

.header-block.header3 {
    position: sticky;
    padding: 8px 8px;
    height: fit-content;
    top: var(--admin-bar-height) !important;
    z-index: 3000;

    .primary-menu.flex-row {
        align-items: center;
    }

    /* .logo-content {
        margin-top: -8px;
        padding-left: 8px;
        padding-right: 16px;

        .site-logo {
            padding: 0px;
            height: var(--header-logo-height);
        }
    } */

    .secondary-menu {
        padding-right: 18px;
        align-items: center;
        gap: 16px;
    }


    li.menu-item-has-children>a::after {
        content: "\f078";
        font-family: 'Font Awesome 6 Free';
        font-weight: 900;
        line-height: 0.25;
        font-size: 10px;
        margin-top: 12px;
        margin-left: 0.75rem;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
        color: #242424;
        transition: transform 0.3s ease;

        /* color: var(--primary-color); */
    }

    .header-search-shop {
        display: flex;
        align-items: center;
        justify-content: center;

        .search-form {
            width: 100%;
            max-width: 250px;
        }

        .search-field-wrapper {
            position: relative;
            width: 100%;
        }

        .search-input {
            width: 100%;
            padding: 4px 40px 4px 12px;
            border: none;
            border-bottom: 1px solid #ccc;
            outline: none;
            background: transparent;
            font-size: 14px;
        }

        .search-input::placeholder {
            color: #aaa;
        }

        .search-button {
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            background: transparent;
            border: none;
            cursor: pointer;
            color: #888;
        }

        .search-button .material-icons {
            font-size: 16px;
            line-height: 20px;
        }
    }

    nav.menu-desktop>.menu>li.menu-item-has-children>a::before,
    nav.menu-desktop>.menu>li.menu-item-has-children>.sub-menu {
        top: calc(var(--menu-drawer-top) + 24px) !important;
    }
}

/*Mobile menu*/

.mobile-menu-bar {
    height: 0px;
    overflow: hidden;
    display: none;
    position: sticky;
    top: 0px;
    gap: 24px;
    align-content: center;
    align-items: center;
    padding: 1px 16px 0px 8px;

    .logo-block {
        img {
            height: var(--header-logo-height-mobile);
            object-fit: contain;
        }
    }

    .mobile-menu-toggle {
        padding: 0px;
    }
}

.mobile-menu-toggle,
.mobile-menu-close {
    display: none;
    background: none;
    background-color: transparent;
    border: none;
    padding-right: 1rem;

    .material-icons {
        color: var(--menu-button-color) !important;
    }
}

.mobile-menu-close {
    display: block;
}

.primary-menu-icon {
    background: none;
    background-color: transparent;
    border: none;
    cursor: pointer;

    i {
        color: var(--menu-button-color);
        font-size: 1.25rem
    }
}

.primary-menu-icon .material-icons,
.mobile-menu-toggle .material-icons,
.mobile-menu-close .material-icons {
    color: var(--menu-button-color);
}

/* mobile menu panel */
.mobile-menu {
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100vh;
    background: #fff;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
    z-index: 1001;
    transition: transform 0.3s ease;
    overflow-y: hidden;
    display: flex;
    flex-direction: column;
    padding-top: var(--admin-bar-height);

    .logo-block {
        padding: 0.0rem 1rem;
    }

    .search-form {
        padding: 1rem;

        .searchform>div {
            width: 100%;
            display: flex;
            flex-wrap: nowrap;

            input#s {
                flex-grow: 1;
            }
        }
    }
}

.mobile-menu[aria-hidden="false"] {
    transform: translatex(100%);
}

.mobile-menu .site-logo {
    border-bottom: 1px solid #eff0f0;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    align-items: center;
    height: fit-content;
    padding: 0.5rem 0;

    img {
        height: var(--header-logo-height-mobile);
        width: auto;
        object-fit: contain;
    }
}

.mobile-menu-bar-shop {
    overflow-y: scroll;
    padding-bottom: 64px;

    .header-search-shop {
        & .search-form {
            max-width: 100% !important;
        }
    }

    .inglot-tabs {
        .tab-heads {
            padding: 10px 10px;
        }

        .tab-content {
            .shop-menu {
                .menu-item {
                    position: relative;
                    margin: 0;
                    padding: 0 !important;
                }

                .shop-submenu-toggle {
                    height: 53px;
                }
            }

            .sub-menu {
                .shop-submenu-toggle {
                    height: 42px;
                }
            }
        }
    }
}

/* close button */
.mobile-menu-close {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.25rem;
}

/* menu overlay */
.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    z-index: 999;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* menu list styling */
.mobile-menu-list {
    padding: 0.3rem 1rem;
    margin: 0;
    list-style: none;
    background-color: #f8f8f8a6;
    flex-grow: 1;
    overflow-y: scroll;
}

.mobile-menu-list li.menu-item {
    padding: 0rem 0rem !important;
}

.mobile-menu-list a {
    display: block;
    padding: 10px 0;
    color: var(--block-title-color) !important;
    font-weight: 600 !important;
    text-decoration: none;
}

.mobile-menu-list li.button a {
    padding: 0;
}

/* submenu handling */
.mobile-menu-list .menu-item-has-children {
    position: relative;
}

.mobile-menu-list .menu-item-has-children>a {
    pointer-events: auto;
}

.mobile-menu-list .menu-item-has-children>a::after {
    position: absolute;
    right: 0;
    top: 0.5rem;
    cursor: pointer;
    transform: rotate(0deg) !important;
    color: var(--block-title-color);
}

.mobile-menu-list .menu-item-has-children.active>a {
    color: var(--primary-color) !important;
}

.mobile-menu-list .menu-item-has-children.active>a::after {
    transform: rotate(180deg) !important;
    color: var(--primary-color);
}

.mobile-menu-list .sub-menu {
    display: block;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition:
        max-height 0.3s ease,
        opacity 0.2s ease,
        padding 0.3s ease;
    padding: 0 0 0 1rem;
}

.mobile-menu-list .sub-menu.active {
    max-height: fit-content;
    opacity: 1;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;

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


/*Responsive mobile*/
@media (max-width: 1024px) {
    .header-menu {
        display: none !important;
    }

    .primary-menu-icon {
        i {
            /* font-size: var(--header-logo-height-mobile) !important; */
            font-size: 24px !important;
        }
    }

    .show-mini-cart {
        margin-top: -4px;
    }

    .desktop-only {
        display: none;
    }

    .mobile-menu-bar {
        display: flex;
        height: fit-content;
    }

    .mini-cart-drawer {
        right: -104vw;
        width: 100%;
        max-width: 100vw;
    }

    .custom-shop {
        .products-filtering {
            margin-top: 0px !important;
            align-items: baseline;
            padding: 16px;
            justify-content: space-between;
        }
    }

    .topbar-messages {
        height: 32px;
        padding: 4px 4px;

        .topbar-message {
            font-size: 14px;
        }
    }
}

/*INGLOT tabs*/

.inglot-tabs,
.tabs {
    position: relative;

    .tab-heads {
        padding: 10px 0px;
        gap: 8px;
        display: flex;
        width: 100%;
        overflow-x: scroll;

        button {
            opacity: 0.5;
            transition: opacity 0.2s ease;
            padding: 6px 11px 7px 11px;
            line-height: 1.0;
            border-radius: 0px;
            border: 1px solid #eee;
            font-weight: 500;
        }

        button.active {
            font-weight: 500;
            opacity: 1;
            border: 1px solid #000;
            background-color: transparent;
        }

        button:hover {
            opacity: 0.9;
            background-color: #eeeeee73;
        }
    }

    .tab-content {
        opacity: 0;
        visibility: hidden;
        transform: translateY(10px);
        transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
        position: absolute;
        width: 100%;
    }

    .tab-content.active {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
        position: relative;
    }
}

@media (max-width: 1024px) {
    .inglot-tabs {
        .tab-heads {
            button {
                font-size: 1rem;
                text-decoration: none;
                color: #000;
            }

            .active {
                color: #000;
            }
        }
    }
}

/* ===== layout.css ===== */
/*Grid layout*/

.grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
    gap: 0;
    margin: 0 0;
}

.grid-item {
    direction: ltr;
}

.grid-reverse {
    grid-auto-flow: dense;
    direction: rtl;
}

.grid-1-2 {
    grid-template-columns: repeat(auto-fill, minmax(min(550px, 50%), 1fr));
}

.grid-1-3 {
    grid-template-columns: repeat(auto-fill, minmax(min(360px, 33%), 1fr));
}

.grid-1-4 {
    grid-template-columns: repeat(auto-fill, minmax(min(300px, 25%), 1fr));
}

.grid-1-5 {
    grid-template-columns: repeat(auto-fill, minmax(min(250px, 20%), 1fr));
}

/*Flex*/

.flex {
    display: flex;
    flex-direction: row;
}


.flex-wrap {
    flex-wrap: wrap;
}

.flex-no-wrap {
    flex-wrap: nowrap;
}

.flex-row {
    display: flex;
    flex-direction: row;
}

.flex-reverse {
    flex-direction: row-reverse;
}

.column-reverse {
    flex-direction: column-reverse;
}

.flex-column {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.flex-expand {
    flex-grow: 1;
}

.flex-1 {
    flex: 1;
}

.flex-1-2 {
    width: 50%;
}

.flex-1-3 {
    width: 33.33333%;
}

.flex-1-4 {
    width: 25%;
}

.flex-1-5 {
    width: 20%;
}

.center-content {
    margin-left: auto;
    margin-right: auto;
}

/*Gaps*/

.gap-1 {
    gap: 1px;
}

.gap-16 {
    gap: 16px;
}

.items-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.items-column {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

/* Tablet */
@media (max-width: 1024px) {
    .flex {
        flex-direction: column !important;
    }

    .items-row {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile */
@media (max-width: 600px) {
    .items-row {
        grid-template-columns: 1fr;
    }
}

/* ===== homepage.css ===== */
/*Homepage CSS*/

.home.page-template {
    .header-block {
        position: sticky;
        top: 0px;
        height: fit-content;
        z-index: 1000;
    }
}

.homepage-main {
    gap: 24px;
    display: flex;
    flex-direction: column;
}

.home-block {
    padding: 0px 8px 16px 8px;

    .block-title {
        margin-bottom: 16px;
        font-weight: 600;
        font-size: 16px;
    }

    .tabs {
        position: relative;

        .tab-heads {
            padding: 10px 0px;
            gap: 8px;
            display: flex;
            width: 100%;
            overflow-x: scroll;

            button {
                opacity: 0.5;
                transition: opacity 0.2s ease;
                padding: 6px 11px 7px 11px;
                line-height: 1.0;
                border-radius: 0px;
                border: 1px solid #eee;
                font-weight: 500;
            }

            button.active {
                font-weight: 500;
                opacity: 1;
                border: 1px solid #000;
                background-color: transparent;
            }

            button:hover {
                opacity: 0.9;
                background-color: #eeeeee73;
            }
        }

        .tab-content {
            opacity: 0;
            visibility: hidden;
            transform: translateY(10px);
            transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
            position: absolute;
            width: 100%;
        }

        .tab-content.active {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            position: relative;
        }
    }
}

@media (max-width: 1024px) {

    html {
        overflow-x: hidden;
    }
    
    body.body-full-width {
        width: 100%;
        max-width: 100%;
        margin: 0;
        overflow-x: hidden;
    }

    .homepage-main {
        display: flex;
        flex-direction: column;
        gap: 24px;
        min-width: 0;
        max-width: 100%;

        >* {
            min-width: 0;
            max-width: 100%;
            box-sizing: border-box;
        }
    }

    .home-block.block-horizontal-scroll {
        padding: 0;
        /* width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        overflow-x: hidden; */

        > div {
            max-width: 100vw;
        }

        .block-title,
        .see-all-special {
            padding: 0 8px;
        }

        .tab-heads {
            padding: 10px 8px;
        }

        .special-discount-block {
            min-width: 0;
        }

        .grid {
            display: flex !important;
            flex-direction: row !important;
            width: 100% !important;
            padding: 0px 8px !important;
            overflow-x: scroll !important;

            .product-card {
                flex: 0 0 70vw;
                min-width: 0;
            }
        }
    }
}

/* ===== footer.css ===== */
footer {
    .logo-block {
        img {
            height: var(--footer-logo-height);
        }
    }

    p {
        color: var(--footer-text-color-secondary);
    }

    .footer-menu {
        margin: 32px 0 24px 0;
        line-height: 1.3 !important;

        ul {
            list-style: none;
        }

        .menu {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            gap: 48px;

            >li {
                a {
                    font-size: 16px;
                    font-weight: 600;
                    color: var(--footer-text-color-primary);
                }
            }
        }

        a:hover {
            color: var(--footer-link-color-hover);
        }

        a::after {
            display: none;
        }

        .sub-menu {
            padding: 8px 0 0 0px;

            li {
                padding: 0px 0 2px 0px;
                margin: 0px;

                a {
                    font-size: 15px;
                    font-weight: 400;
                    opacity: 0.95;
                    color: var(--footer-text-color-primary);
                }
            }
        }
    }
}

.footer-user-menu {
    .user-menu {
        padding: 0 8px 0 0;

        li {
            padding: 4px 0px;

            a {
                font-weight: 600;
                font-size: 14px;
                color: #000 !important;
                transition: all 0.3s ease-in-out;
            }
        }

        li:hover {
            a {
                color: var(--footer-link-color-hover);
            }
        }
    }


}

.layout-footer2 {
    padding: 1rem;
    border-top: 1px solid var(--divider-border-color);

    .footer-copyright {
        p {
            font-size: 13px;
            opacity: 0.8;
        }
    }
}

@media (max-width: 1024px) {
    .footer-links {
        flex-direction: column;
    }

    #menu-footer-menu {
        display: grid;
        grid-template-columns: 50% 50%;
        gap: 2px;
    }

    .footer-copyright.flex {
        flex-direction: column-reverse !important;
        align-items: center;
        gap: 32px;
    }
}

/* ===== buttons.css ===== */

/*Buttons*/

.button-shop-primary {
    border-radius: 0px !important;
    padding: 16px 32px !important;
    background-color: #000 !important;
    text-align: center;
    color: #fff !important;

    transition: all 0.2s ease;
}

.button-shop-primary:hover {
    text-decoration: none;
    color: #fff !important;
    background-color: #000000d9 !important;

    /* transform: translateY(-1px); */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.button-shop-primary:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.button-shop-secondary {
    border-radius: 0px;
    border: 1px solid #383838;
    padding: 16px 32px;
    background-color: #fff;
    text-align: center;
    color: #383838;
}

.button-shop-secondary:hover {
    background-color: #f3f3f3b2;
    text-decoration: none;
    border-color: #000;
    color: #000;
}

.button-shop-terciary {
    width: fit-content;
    border-bottom: 1px solid;
    border-color: #000;
    padding: 0 0 0px 0;
    text-align: start;
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.5px;
    color: #000;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.button-shop-terciary:hover {
    border-color: transparent;
    text-decoration: none;
    color: #000;
}

.button-shop-terciary:active {
    border-color: rgba(0, 0, 0, 0.15);
}


/* ===== blog.css ===== */
/*Blog layout */

.post-blog {
    .page-header {
        padding: 1.75rem 0 0 0;
    }

    .archive-content {
        padding: 2rem 0rem;
    }

    .posts {
        gap: var(--blog-post-gap);
    }
}

.posts-grid {
    display: grid;
}

.post-card {
    border: 1px solid #eee;
    padding: 1.25rem;
    transition: all 0.3s ease;
}

.post-card:hover {
    box-shadow: 0 5px 1rem rgba(0, 0, 0, 0.1);
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.blog-layout-2 {
    .sidebar-right {
        width: 30%;
    }

    .blog-item-image-row.large {
        max-width: 890px;
        padding: 2rem 0;
        border-bottom: 1px solid #dedede;

        .blog-item-image {
            min-width: 310px;
            width: 100%;
            aspect-ratio: 5/4;
            max-width: 310px;
        }
    }
}

/*Blog navigation*/

.blog-navigation {
    .nav-links {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 0.5rem;

        .page-numbers {
            border: 1px solid #D9D9D9;
            border-radius: 0.25rem;
            padding: 0.25rem 1rem;
            color: #2E2E2E;
            font-size: 0.8rem;
            font-weight: 600;
            line-height: 2.5;
            text-decoration: none;
        }

        .material-icons {
            width: 0.75rem;
            font-size: 1rem;
            margin-top: 0.5rem;
            padding: 0px;
            margin-left: -0.25rem;
        }

        .page-numbers.current {
            border-color: var(--primary-color);
            color: var(--primary-color);
        }

        .page-numbers:hover {
            background-color: var(--primary-color);
            border-color: var(--primary-color);
            color: #fff;
        }
    }
}


.post-item {
    border: 1px solid #eee;
    padding: 15px;
    background: #fff;
    transition: 0.3s;
}

.post-item:hover {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.post-item img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.post-item .title {
    font-size: 16px;
}

/* ===== blog-item.css ===== */
.blog-item {
    overflow: hidden;
}

.blog-item:hover {
    background-color: #00000006;
}

.blog-item-inner a {
    text-decoration: none !important;
}

.blog-item-content {
    overflow: hidden;
    height: 100%;
}

.blog-item-details {
    padding: 1rem;

    .post-title {
        color: var(--entry-title-color-blog);
    }

    h2 {
        margin: 0.5rem 0 0.75rem 0;
    }

    h4 {
        padding: 0.25rem 0;
    }
}

.blog-item-category {
    color: var(--blog-item-category-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
    font-size: 0.8rem;
}

.blog-item-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.blog-item .post-excerpt {
    font-weight: 500;
    color: #7A7E83;
    margin: 0.25rem 0rem 1rem 0rem;
}

.blog-item .post-meta {
    color: #A8A9AD;
    font-weight: 400;
    font-size: 0.75rem;
}

/*Card shop*/
.blog-item-card-shop {

    .blog-item-inner {
        text-decoration: none !important;
        border: 1px solid var(--divider-border-color);
    }

    .blog-item-inner>div {
        flex: 1;
    }

    .item-image {
        min-height: 40vh;
        background-size: cover;
        background-position: center;
    }

    .post-content {
        padding: 24px;

        .blog-item-category {
            padding: 3px 6px;
            margin-bottom: 16px;
            font-size: 11px;
            font-weight: 500;
            color: #717171;
            border: 1px solid #717171;
            width: fit-content;
        }

        .post-meta {
            color: #717171;
            font-weight: 400;
            font-size: 0.75rem;
            margin-bottom: 4px;
        }

        h1.post-title {
            font-size: 16px;
            font-weight: 600;
            color: #000;
        }

        .post-description {
            justify-content: end;

            .post-excerpt {
                font-size: 12px;
                color: #000000d8;
            }
        }
    }
}

@media (max-width: 1024px) {
    .blog-item-card-shop {
        .blog-item-inner {
            flex-direction: column;

            .item-image {
                min-height: auto;
                aspect-ratio: 4/3;
            }
        }
    }
}

/* ===== post.css ===== */
/* .header-header3 .single-post-entry {
    padding-top: 0px;
} */

.wp-block-paragraph {
    overflow-x: clip;
}

/*Post related */

.related-posts-block {
    margin-top: 2rem;
    border-top: 1px solid var(--divider-border-color);
    padding-top: 1.75rem;

    h3 {
        font-size: 1.625rem;
        font-weight: 600;
        color: var(--block-title-color);
        width: 100%;
        padding-bottom: 0.5rem;
        margin-bottom: 2rem;
        border-bottom: 2px solid var(--block-title-border-color);
    }
}

.related-layout-1 {
    .blog-item-category {
        line-height: 1.0;
        font-size: 0.7rem;
    }

    h1 {
        font-size: 1.25rem;
        line-height: 1.15;
    }

    h3.related-posts-title {
        font-size: 1.25rem;
        margin: 8px 0 8px 8px;
        font-weight: 600;
    }
}


.post-single-layout-2 {
    .post-content.flex {
        gap: 40px;

        >div {
            flex: 1;
        }
    }

    .entry-image {
        top: 0px;
        height: 100vh;

        img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
    }

    .entry-header {
        gap: 12px;
        display: flex;
        flex-direction: column;
        padding-top: 2rem;
    }

    .entry-title {
        color: var(--entry-title-color-single);
        font-size: 1.25rem;
        font-weight: 600;
        line-height: 1.4;
    }

    .entry-category {
        a {
            color: var(--entry-category-label, #2c2c41);
            text-decoration: none;
            font-weight: 500;
            border: 1px solid #979797;
            padding: 4px 11px;
            line-height: 1.0;
            opacity: 0.9;
            font-size: 12px;
        }
    }

    .posted-on {
        font-size: 12px;
        padding-top: 4px;
    }

    .entry-content {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 2rem 0rem;
    }

    .post-social-share {
        flex-direction: column;
        align-items: start;
        gap: 16px;
        padding-bottom: 1.5rem;

        label {
            color: var(--entry-title-color-single);
        }

        .post-sharing-options {
            flex-direction: row;
            flex-wrap: wrap;
        }
    }

    .related-posts-block {
        padding-bottom: 2rem;

        h3 {
            font-size: 14px;
            font-weight: 500;
            border: none;
            margin: 0px;
        }
    }
}

@media (max-width: 1024px) {
    .breadcrumbs {
        display: none;
    }

    .post-single-layout-2 {
        .post-content {
            flex-direction: column;
            gap: 0px !important;

            .entry-header {
                padding: 0.5rem 1rem;

                .entry-title {
                    padding: 0rem 0rem;
                    margin: 0 0 0rem 0 !important;
                }
            }

            .post-social-share {
                padding: 16px;
            }
        }
    }
}

/* ===== profile.css ===== */
/* Woocommerce Mz profile page*/

.webshop-my-account-wrapper {
    >.container {
        min-height: 75vh;
        align-items: center;
        justify-content: start;
        padding: 32px 16px;
    }

    .button-shop-primary {
        margin: 16px 0px !important;
    }

    .button-shop-primary:hover {
        border-radius: 8px !important;
    }

    .woocommerce {
        width: 100%;
        display: flex;
        gap: 32px;
        justify-content: start;
        align-items: start;
    }

    .woocommerce-MyAccount-content {
        flex-grow: 1;
        width: fit-content;
        margin: 0 auto;
    }

    .login-options {
        display: flex;
        justify-content: start;
        align-items: center;
        gap: 16px;
        padding: 12px 0px !important;

        .button-shop-primary {
            margin: 0px !important;
        }

        .woocommerce-form-login__rememberme {
            display: flex;
            flex-direction: row;
            height: fit-content;
            width: fit-content;
            align-items: center;
            gap: 16px;

            input {
                height: 16px;
                width: 16px;
            }

            span {
                min-width: fit-content;
            }
        }

    }

    .login-options::before {
        display: none !important;
    }

    .woocommerce-Address-title {
        display: flex;
        flex-direction: column;
        align-items: start;

        .button-shop-secondary {
            margin: 20px 0px;
        }
    }
}

@media (max-width: 1024px) {
    .woocommerce {
        flex-direction: column;
    }
}

/* =========================================
   WooCommerce My Account navigation
   ========================================= */

.woocommerce-MyAccount-navigation-custom {
    width: fit-content;
    margin: 0 0 40px;
    min-width: 200px;
}

.woocommerce-MyAccount-navigation-custom ul {
    list-style: none;
    margin: 0;
    padding: 0;

    display: flex;
    flex-direction: column;

    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    overflow: hidden;
}

/* Menu item */
.woocommerce-MyAccount-navigation-custom li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #eeeeee;
}

.woocommerce-MyAccount-navigation-custom li:last-child {
    border-bottom: 0;
}

/* Link */
.woocommerce-MyAccount-navigation-custom li a {
    position: relative;

    display: flex;
    align-items: center;

    width: 100%;
    min-height: 58px;
    padding: 14px 20px;

    color: #252b30;
    background: transparent;

    font-size: 16px;
    font-weight: 500;
    line-height: 1.3;
    text-decoration: none;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        padding-left 0.2s ease;
}

/* Hover */
.woocommerce-MyAccount-navigation-custom li a:hover {
    color: #cc0000;
    background: #fafafa;
    padding-left: 25px;
}

/* Active WooCommerce menu item */
.woocommerce-MyAccount-navigation-custom li.is-active a,
.woocommerce-MyAccount-navigation-custom li a[aria-current="page"] {
    color: #cc0000;
    background: #fafafa;
    font-weight: 600;
}

/* Red active indicator */
.woocommerce-MyAccount-navigation-custom li.is-active a::before,
.woocommerce-MyAccount-navigation-custom li a[aria-current="page"]::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    bottom: 12px;

    width: 4px;
    border-radius: 0 4px 4px 0;

    background: #cc0000;
}

/* Logout slightly separated visually */
.woocommerce-MyAccount-navigation-custom .woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #cc0000;
}

/* Keyboard accessibility */
.woocommerce-MyAccount-navigation-custom a:focus-visible {
    outline: 2px solid #cc0000;
    outline-offset: -3px;
}

@media (min-width: 992px) {

    /* .woocommerce-account .woocommerce {
        display: grid;
        grid-template-columns: 260px minmax(0, 1fr);
        gap: 50px;
        align-items: start;
    } */

    .woocommerce-MyAccount-navigation-custom {
        margin: 0;
    }

    .woocommerce-MyAccount-content {
        width: 100%;
        min-width: 0;
    }

    .woocommerce-MyAccount-navigation-custom.sticky-block {
        position: sticky;
        top: 30px;
    }
}

@media (max-width: 767px) {

    .woocommerce-MyAccount-navigation-custom {
        margin-bottom: 30px;
        width: 100%;
    }

    .woocommerce-MyAccount-navigation-custom ul {
        border-radius: 8px;
    }

    .woocommerce-MyAccount-navigation-custom li a {
        min-height: 52px;
        padding: 12px 16px;
        font-size: 15px;
    }

    .woocommerce-MyAccount-navigation-custom li a:hover {
        padding-left: 20px;
    }

    .woocommerce-MyAccount-navigation-custom li.is-active a::before,
    .woocommerce-MyAccount-navigation-custom li a[aria-current="page"]::before {
        top: 10px;
        bottom: 10px;
        width: 3px;
    }
}

/* ===== cart.css ===== */
/*Main cart*/

.custom-cart {
    min-height: 80vh;
    position: relative;

    .cart-label {
        padding: 16px;
    }

    .cart-block {
        flex: 1;
    }

    .cart-left {
        border: 1px solid #eee;
    }

    .return-to-shop {
        width: 100%;
        text-align: start;
        padding: 16px;

        a {
            color: var(--link-content-color);
            text-decoration: none !important;
        }

        .arrow-left {
            padding-right: 12px;
        }

        a:hover {
            color: var(--link-content-color-hover);
        }
    }

    .total-tems,
    .total-price {
        padding: 16px;
        border: 1px solid #eee;
        justify-content: space-between;

        p {
            margin-bottom: 0px;
        }
    }

    .total-price-amount {
        font-weight: 700;
    }

    .checkout-btn {
        width: 100%;
        background-color: #000;
        color: #fff;
        text-align: center;
        padding: 16px;
    }

    .promo-code-block {
        padding: 16px;

        .custom-coupon-form {
            display: flex;
            gap: 4px;

            input {
                flex-grow: 1;
                padding: 8px;
                border: 1px solid #eee;
            }

            button {
                border-radius: 0px;
                border: 1px solid #000;
                padding: 16px 32px;
                background-color: #fff;
            }

            button:hover {
                background-color: #f3f3f3;
            }
        }
    }

    .coupons-applied {
        padding: 0 16px;

        p {
            margin: 0px;
        }

        .applied-coupon {
            display: flex;
            width: 100%;
            justify-content: space-between;
            padding: 8px 12px;
            margin-bottom: 16px;
            border: 1px solid #eee;
        }

        .applied-coupon:hover {
            background-color: #fbfbfb;

            .remove-coupon {
                color: #c50303;
                text-decoration: none;
            }
        }

        .coupon-value {
            font-weight: 700;
        }
    }

    .total-discount {
        width: 100%;
        padding: 16px;
        border-top: 1px solid #eee;
        justify-content: space-between;

        p {
            margin: 0px;
        }

        .discount-amount {
            font-weight: 500;
        }
    }

    .total-shipping {
        width: 100%;
        justify-content: space-between;
        padding: 16px;
        border-top: 1px solid #eee;

        .shipping-amount {
            text-align: end;
        }

        .woocommerce-shipping-calculator {
            text-align: start;
        }
    }
}

.custom-cart {
    position: relative;
}

/* Overlay */
.custom-cart.loading::after,
.custom-mini-cart.loading::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    inset: 0;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(2px);
    z-index: 100000;
    opacity: 0;
    transition: opacity 0.2s ease;
    height: 100vh;
    width: 100vw;
}

/* Spinner */
.custom-cart.loading::before,
.custom-mini-cart.loading::before {
    content: '';
    position: fixed;
    top: 50%;
    left: 50%;
    width: 36px;
    height: 36px;
    border: 2.5px solid rgba(0, 0, 0, 0.15);
    border-top-color: #000;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: cart-spin 0.7s linear infinite;
    z-index: 100001;
    opacity: 0;
    transition: opacity 0.2s ease;
}

/* Activate fade-in */
.custom-cart.loading::after,
.custom-cart.loading::before,
.custom-mini-cart.loading::after,
.custom-mini-cart.loading::before {
    opacity: 1;
}

/* Smooth spin */
@keyframes cart-spin {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

/*Mini cart*/

/* OVERLAY */
.mini-cart-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    z-index: 4000;
}

/* DRAWER */
.mini-cart-drawer {
    position: fixed;
    top: 0;
    right: -52vw;
    width: 50vw;
    max-width: 800px;
    height: 100%;
    background: #fff;
    z-index: 4000;
    transition: right 0.3s ease;
    display: flex;
    flex-direction: column;
    padding-top: var(--admin-bar-height);
}

/* OPEN STATE */
.mini-cart-open .mini-cart-overlay {
    opacity: 1;
    visibility: visible;
}

.mini-cart-open .mini-cart-drawer {
    right: 0;
}

/* HEADER */
.mini-cart-header {
    padding: 15px;
    border-bottom: 1px solid #eee;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* CONTENT */
.mini-cart-content {
    padding: 0px;
    overflow-y: auto;
    flex: 1;
}

/* CLOSE BUTTON */
.mini-cart-close {
    background: none;
    border: none;
    font-size: 20px;
    cursor: pointer;
}


.custom-mini-cart {
    width: 100%;
    height: 100%;
    background: #fff;
    display: flex;
    flex-direction: column;
    z-index: 9999;
}

.mini-cart-header {
    display: flex;
    justify-content: space-between;
    padding: 20px;
    border-bottom: 1px solid #eee;
}

.mini-cart-items {
    flex: 1;
    overflow-y: auto;
}

.empty-cart {
    padding: 16px;
}

.mini-cart-item {
    display: flex;
    padding: 0px;
    border-bottom: 1px solid #eee;
}

.item-image {
    line-height: 0.8;
    padding: 1px;
    border-right: 1px solid #eee;

    img {
        aspect-ratio: 4/5;
        width: 15vw;
        max-width: 165px;
        height: auto;
        object-fit: cover;
        object-position: center;
    }
}

.item-info-title {
    justify-content: space-between;
    padding: 12px 16px;

    p {
        margin-bottom: 2px;
    }

    .item-title {
        color: #000;
        font-size: 14px;
        font-weight: 600;
    }

    .variation-title {
        color: #616161;
        font-size: 13px;
        font-weight: 400;
    }

    .item-price {
        color: #000;
        font-size: 15px;
        font-weight: 600;
    }
}

.item-title-data {
    justify-content: center;
    gap: 0px;
}

.item-amount {
    border-top: 1px solid #eee;
    justify-content: space-evenly;
    align-items: center;

    >div {
        flex: 1;
    }

    .item-amount-inner {
        display: flex;
        align-items: center;
        border-right: 1px solid #eee;
        padding: 14px 16px;
        width: 100%;
        justify-content: space-between;
    }

    .amount-label {
        color: #616161;
        font-size: 15px;
        font-weight: 400;
        margin: 0px;
    }

    .item-remove-action {
        display: flex;
        padding: 0 16px;
        justify-content: end;
        align-items: center;

        a {
            color: #000;
        }

        a:hover {
            color: #c50303;
        }
    }
}

.qty-control {
    display: flex;
    align-items: center;
    gap: 10px;

    .button-shop-secondary {
        padding: 0px;
        border: 1px solid #d7d7d7;
    }
}

.qty-control button {
    width: 30px;
    height: 30px;
}

.mini-cart-footer {
    padding: 20px;
    border-top: 1px solid #eee;

    .shipping-amount,
    .total {
        display: flex;
        justify-content: space-between;
    }
}

.actions {
    display: flex;
}

.view-cart {
    flex: 1;
    text-align: center;
    padding: 15px;
    background: #f5f5f5;
    color: var(--link-content-color);
}

.view-cart:hover {
    color: var(--link-content-color-hover);
}

.checkout-btn {
    text-align: center;
    padding: 15px;
    background: #000;
    color: #fff;
}

.mini-cart-content .checkout-btn {
    flex: 1;
}


@media (max-width: 1024px) {
    .mini-cart-drawer {
        right: -104vw;
        width: 100%;
        max-width: 100vw;

        .mini-cart-header {
            padding: 8px 16px;
        }
    }

    .item-info-title {
        gap: 8px;
        p.item-price {
            width: fit-content;
            text-align: end;
            max-width: 135px;
        }
    }
}

/* ===== checkout.css ===== */
.custom-checkout-wrapper {
    .custom-checkout {
        margin-top: 64px;
        gap: 48px;
        padding: 0 16px;
    }

    .checkout-description,
    .checkout-review {
        gap: 24px;
    }

    .radio-option {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: start;
        gap: 16px;
        padding: 8px;

        input {
            width: 16px;
        }
    }

    .summary-row {
        display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        border-bottom: 1px solid #dedede;
        padding: 4px;
    }

    .summary-note {
        padding: 16px 8px;
    }
}

.woocommerce-form__label-for-checkbox {
    display: flex !important;
    gap: 7px !important;

    input#terms {
        height: 17px !important;
        width: 17px !important;
        margin-top: 8px !important;
    }
}

.order-summary {
    border-top: 1px solid #eee;

    .custom-summary-item {
        width: 100%;
        border-bottom: 1px solid #eee;
        border-left: 1px solid #eee;
        border-right: 1px solid #eee;

        >div {
            flex: 1;
            padding: 16px;
        }

        .price-block {
            flex: 3;
            gap: 4px;

            > {
                flex: 1;
            }
        }

        .item-data {
            flex: 4;
            padding: 1px;

            .name {
                padding: 16px;

                p {
                    margin-bottom: 4px;
                }

                .item-title {
                    color: #000;
                    font-size: 15px;
                    font-weight: 600;
                }

                .variation-title {
                    color: #616161;
                    font-size: 15px;
                    font-weight: 400;
                }
            }
        }

        .price {
            margin: 0px;
        }

        .total {
            flex: 2;
            text-align: end;
            font-size: 18px;
        }
    }

    .custom-summary-item.order-summary-lead .item-data p {
        padding: 16px !important;
        margin: 0px;
    }

    .review-order-total {
        width: fit-content;
        min-width: 320px;
        align-items: end;
        margin: 0 0 0 auto;
        padding: 16px;
        border: 1px solid #eee;
        background-color: #f9f9f9;

        p {
            margin: 0px;
        }

        .flex-row {
            justify-content: space-between;
            width: 100%;
            gap: 24px;
        }

        .total-shipping {
            justify-content: space-between;
            gap: 0px;

            p.shipping-amount {
                display: none;
            }

            ul#shipping_method {
                display: flex;
                flex-direction: column;
                align-items: end;
                width: 100%;
            }
        }

        .total-price p {
            margin-top: 16px;
            font-size: 16px;
            font-weight: 700;
        }
    }
}

.checkout-customer {
    gap: 16px;

    >div {
        flex: 1
    }
}

/*Billing Address*/

.custom-billing-wrapper {
    border: 1px solid #e5e5e5;
    background: #fff;
}

.custom-billing-wrapper h3 {
    padding: 15px;
    border-bottom: 1px solid #e5e5e5;
    font-size: 16px;
}

.billing-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.form-row {
    border-bottom: 1px solid #eee;
    padding: 12px;
}

.form-row.flex-1 {
    gap: 16px;

    p {
        width: 100%;
    }
}

.form-row.full {
    grid-column: span 2;
}

.custom-shipping-wrapper {
    border: 1px solid #e5e5e5;
    background: #fff;

    h3 {
        padding: 15px;
        border-bottom: 1px solid #e5e5e5;
        font-size: 16px;
    }
}

/* remove default woo spacing */
.woocommerce form .form-row {
    margin: 0;
}

/* inputs */
.woocommerce input,
.woocommerce select {
    border: none;
    width: 100%;
    background: transparent;
    outline: none;
}

.woocommerce ul#shipping_method li label {
    display: flex;
    flex-direction: column;
    text-align: right;
}


@media (max-width: 1024px) {
    .order-summary {
        & .custom-summary-item {
            & .price {
                margin: 0px;
                text-align: end;
            }
        }
    }
}

/* ===== shop.css ===== */
.custom-shop {

    .products-filtering {
        margin-top: 34px;
        align-items: baseline;
    }

    .woocommerce-ordering {
        margin: 0 auto;
    }

    .woocommerce-order {
        margin: 24px 0 0 0;
    }
}

.sale-products-header {
    h1 {
        font-size: 1.5rem;
        font-weight: 600;
        color: #273238;
        padding: 16px 8px;
    }
}

.shop-menu {
    position: sticky;
    top: 64px;
    left: 0;
    z-index: 20;

    width: 300px;
    height: fit-content;
    padding: 24px;

    a::after {
        display: none !important;
    }

    .shop-menu-inner {
        overflow: hidden;
        background-color: #fff;
        border: 1px solid #e4e4e4;
        box-shadow: 0 8px 30px rgba(0, 0, 0, 0.05);
    }

    .shop-menu-list,
    .sub-menu {
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .menu-item {
        position: relative;
        margin: 0;
        padding: 0;

        >a {
            display: block;
            padding: 15px 48px 15px 16px;

            color: #111;
            background-color: transparent;
            text-decoration: none;
            text-transform: uppercase;

            font-size: 13px;
            font-weight: 600;
            line-height: 1.4;
            letter-spacing: 0.08em;

            transition:
                color 180ms ease,
                background-color 180ms ease;
        }

        >a:hover,
        >a:focus-visible {
            color: #000;
            background-color: #f2f2f2;
        }

        >a:focus-visible {
            position: relative;
            z-index: 2;
            outline: 2px solid #000;
            outline-offset: -2px;
        }
    }

    /*
     * Only top-level items receive the strong separator.
     */
    .shop-menu-list>.menu-item {
        border-bottom: 1px solid #e8e8e8;

        &:last-child {
            border-bottom: 0;
        }
    }

    /*
     * Open and currently active categories.
     */
    .menu-item.is-open>a,
    .current-menu-item>a,
    .current-menu-parent>a,
    .current-menu-ancestor>a {
        color: #fff;
        background-color: #111;
    }

    /*
     * Submenus
     */
    .sub-menu {
        background-color: #f7f7f7;
        border-top: 1px solid #ddd;

        >.menu-item {
            border-bottom: 1px solid #e6e6e6;

            &:last-child {
                border-bottom: 0;
            }

            >a {
                padding-top: 12px;
                padding-bottom: 12px;
                padding-left: 28px;

                font-size: 12px;
                font-weight: 500;
                letter-spacing: 0.065em;
            }
        }

        /*
         * Third-level menu.
         */
        .sub-menu {
            background-color: #efefef;

            .menu-item>a {
                padding-left: 42px;
                font-size: 11px;
            }

            /*
             * Fourth-level menu.
             */
            .sub-menu .menu-item>a {
                padding-left: 56px;
            }
        }
    }

    /*
     * Submenu toggle button inserted by JavaScript.
     */
    .shop-submenu-toggle {
        position: absolute;
        top: 0;
        right: 0px;
        z-index: 3;

        display: flex;
        align-items: center;
        justify-content: center;

        width: 42px;
        height: 48px;
        margin: 0;
        padding: 0;

        color: #111;
        background: transparent;
        border: 0;
        border-left: 1px solid rgba(0, 0, 0, 0.08);
        border-radius: 0;

        cursor: pointer;
        appearance: none;

        transition:
            color 180ms ease,
            background-color 180ms ease;

        &:hover {
            background-color: rgba(0, 0, 0, 0.06);
        }

        &:focus-visible {
            outline: 2px solid currentColor;
            outline-offset: -4px;
        }
    }

    /*
     * Keep the toggle visible on dark active items.
     */
    .menu-item.is-open>.shop-submenu-toggle,
    .current-menu-item>.shop-submenu-toggle,
    .current-menu-parent>.shop-submenu-toggle,
    .current-menu-ancestor>.shop-submenu-toggle {
        color: #fff;
        border-left-color: rgba(255, 255, 255, 0.2);

        &:hover {
            background-color: rgba(255, 255, 255, 0.12);
        }
    }

    /*
     * Plus/minus icon.
     */
    .shop-submenu-toggle__icon {
        position: relative;
        display: block;
        width: 12px;
        height: 12px;

        &::before,
        &::after {
            position: absolute;
            top: 50%;
            left: 50%;

            display: block;
            content: "";

            background-color: currentColor;
            transform: translate(-50%, -50%);
            transition:
                opacity 180ms ease,
                transform 180ms ease;
        }

        &::before {
            width: 12px;
            height: 1px;
        }

        &::after {
            width: 1px;
            height: 12px;
        }
    }

    .shop-submenu-toggle[aria-expanded="true"] {
        .shop-submenu-toggle__icon::after {
            opacity: 0;
            transform: translate(-50%, -50%) rotate(90deg);
        }
    }

    .sub-menu {
        height: 0;
        overflow: hidden;
        visibility: hidden;
        opacity: 0;

        background-color: #f7f7f7;
        border-top: 0 solid #ddd;

        transform: translateY(-4px);

        transition:
            height 280ms ease,
            opacity 200ms ease,
            transform 280ms ease,
            visibility 0s linear 280ms,
            border-top-width 280ms ease;

        will-change: height, opacity, transform;
    }

    .menu-item.is-open>.sub-menu {
        visibility: visible;
        opacity: 1;
        border-top-width: 1px;
        transform: translateY(0);

        transition:
            height 280ms ease,
            opacity 220ms ease 40ms,
            transform 280ms ease,
            visibility 0s linear 0s,
            border-top-width 280ms ease;
    }

    .shop-submenu-toggle__icon {
        transition: transform 280ms ease;
    }

    .shop-submenu-toggle[aria-expanded="true"] {
        .shop-submenu-toggle__icon {
            transform: rotate(180deg);
        }

        .shop-submenu-toggle__icon::after {
            opacity: 0;
            transform: translate(-50%, -50%) rotate(90deg);
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .shop-menu {

        .sub-menu,
        .shop-submenu-toggle__icon,
        .shop-submenu-toggle__icon::before,
        .shop-submenu-toggle__icon::after {
            transition: none !important;
        }
    }
}

@media (max-width: 991px) {
    .shop-menu {
        position: relative;
        top: auto;

        width: 100%;
        padding: 0;

        .shop-menu-inner {
            box-shadow: none;
        }
    }

    .products-block {
        padding: 0 8px;

        .products-filtering {
            flex-direction: column-reverse;
            align-items: center;
        }
    }

    .custom-shop {

        .best-sellers-block {
            max-width: 100vw;
            margin: 16px -8px !important;
            padding: 16px 0px !important;

            h2.block-title {
                padding: 0 16px;
            }

            .grid-1-4 {
                display: flex !important;
                flex-direction: row !important;
                width: 100% !important;
                padding: 0px 16px;
                overflow-x: scroll !important;

                .product-card-special {
                    min-width: 75vw;
                }
            }
        }
    }
}

/* ===== products.css ===== */
/* Make Woo products look clean */
.woocommerce ul.products li.product,
.swiper-slide .product {
    width: 100% !important;
    margin: 0 !important;
}

/*Grid*/

.layout-grid2 {
    display: grid;
    gap: 1px;
    /* grid-template-columns: repeat(2, 1fr); */
    grid-template-columns: repeat(auto-fill, minmax(min(550px, 50%), 1fr));
}

.layout-grid4 {
    display: grid;
    gap: 1px;
    grid-template-columns: repeat(auto-fill, minmax(min(330px, 25%), 1fr));
}

/*Pagination navigation*/

.woocommerce-pagination {
    margin: 16px 0px;
}

/*Add to cart*/

/* BUTTON BASE */
.add-to-cart-btn {
    position: relative;
    display: inline-block;
    background: #000;
    color: #fff;
    padding: 10px 14px;
    text-align: center;
    font-size: 13px;
    text-decoration: none;
    overflow: hidden;
}

/* TEXT */
.btn-text {
    transition: opacity 0.2s ease;
}

/* LOADER */
.btn-loader {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
}

/* SPINNER */
.btn-loader::after {
    content: '';
    width: 16px;
    height: 16px;
    border: 2px solid #fff;
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

/* LOADING STATE */
.add-to-cart-btn.loading .btn-text {
    opacity: 0;
}

.add-to-cart-btn.loading .btn-loader {
    opacity: 1;
}

/* SUCCESS STATE */
.add-to-cart-btn.added {
    background: #2e7d32;
}

.add-to-cart-btn.added .btn-text::after {
    content: ' ✓ Added';
}

.best-sellers-block {
    h2.block-title {
        margin-bottom: 16px;
    }
}

.custom-shop {
    .best-sellers-block {
        margin: 24px 0 32px 0;
        padding: 16px;
        background-color: #f9f9f9;
        border-radius: 8px;
        box-shadow: 0 10px 24px 0 rgba(0, 0, 0, 0.2), 0 6px 24px 0 rgba(0, 0, 0, 0.05);
    }
}

/* SPIN */
@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

/* Product card */
.product {
    background: #fff;
    border: 1px solid #eee;
    padding: 15px;
    transition: 0.3s;
}

.product:hover {
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

/* CARD */
.product-card {
    border: 1px solid #eee;
    background: #fff;

    :hover {
        .badges {
            display: none;
        }

        .product-image-overlay {
            opacity: 1;
        }
    }

    .product-inner.is-selected {
        .badges {
            display: none;
        }

        .product-image-overlay {
            opacity: 1;
        }

    }

    button {
        border: none;
    }

    .add_to_cart_button {
        position: relative;
        display: inline-block;
        background: #000;
        color: #fff;
        padding: 14px;
        text-align: center;
        font-size: 13px;
        text-decoration: none;
        overflow: hidden;
        font-weight: 500;
        line-height: 1;
    }

    .product-inner {
        display: block;
        text-decoration: none;
        color: inherit;
    }

    /* IMAGE */
    .product-image {
        position: relative;
        background: #f6f6f6;
        padding: 0px;
        overflow: hidden;
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover;
        aspect-ratio: 4/5;
        height: 100%;
        width: 100%;
    }

    .product-image-overlay {
        opacity: 0;
        height: 100%;
        width: 100%;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        transition: opacity 0.4s ease;

        .selected-variant-overlay {
            background-size: cover;
            background-position: center;
            opacity: 0;
            transition: opacity 300ms ease;
            will-change: opacity;
        }

        .selected-variant-overlay.active {
            background-color: #eee;
            opacity: 1;
        }

        .selected-variant-overlay::after {
            content: "";
            position: absolute;
            inset: 0;
            margin: auto;
            width: 28px;
            height: 28px;
            border: 3px solid rgba(255, 255, 255, .4);
            border-top-color: #fff;
            border-radius: 50%;
            opacity: 0;
            visibility: hidden;
            transition: opacity .2s;
            animation: spin .8s linear infinite;
            z-index: 2;
        }

        .selected-variant-overlay.loading {
            background-color: #eee !important;
        }

        .selected-variant-overlay.loading::after {
            opacity: 1;
            visibility: visible;
        }

        .selected-variant-overlay.changing {
            opacity: 1;
            background-color: #eee !important;
        }

        @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }

        /* HOVER CTA */
        .hover-cta {
            /* position: absolute;
            bottom: 0px;
            left: 0; */
            width: 100%;
            background: #000;
            color: #fff;
            text-align: center;
            padding: 0px;
            transition: bottom 0.3s ease;
            font-size: 13px;
            display: flex;
            flex-direction: row;
            align-content: center;
            align-items: center;
            justify-content: center;
        }
    }

    /* BADGES */
    .badges {
        position: absolute;
        bottom: 10px;
        left: 10px;
        display: flex;
        gap: 5px;
        flex-wrap: wrap;
    }

    .badge {
        background: #000;
        color: #fff;
        font-size: 11px;
        padding: 4px 8px;
    }

    .badge-light {
        background: #fff;
        color: #000;
        border: 1px solid #ccc;
    }

    /* SWATCHES */
    .swatches {
        position: absolute;
        top: 0px;
        right: 0px;
        display: flex;
        gap: 0px;
    }

    .swatch {
        width: 14px;
        height: 14px;
        border: 0.5px solid #fbfbfb;
        transition: transform 0.2s ease, z-index 0.2s;
        background-position: center;
        background-size: cover;
    }

    .swatch-more {
        width: fit-content;
        font-size: 14px;
        line-height: 1.0
    }

    .swatch:hover {
        transform: scale(1.2);
        z-index: 5;
    }

    .swatch-see-all {
        aspect-ratio: 1/1;
        height: 32px;
        width: 32px;
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
        border: 1px solid var(--divider-border-color);
        text-decoration: none;
        color: #000;
        transition: all 0.3s ease-in-out;
    }

    .swatch-see-all:hover {
        color: var(--primary-color-hover);
        border-color: var(--primary-color-hover);
    }

    .shades {
        background-color: #f9f9f9;
        width: 100%;
        overflow-x: scroll;
        padding: 0px;
        gap: 0px;

        .shade-image {
            aspect-ratio: 1/1;
            width: 32px;
            min-width: 32px;
            max-height: 32px;
            border: 0.5px solid #fff;
            transition: transform 0.2s ease, z-index 0.2s;
            background-position: center;
            background-size: cover;
        }

        .shade-image.is-selected {
            border: 1px solid #000;
        }
    }

    /* CONTENT */
    .product-content {
        padding: 15px;
    }

    .product-title {
        font-size: 14px;
        margin-bottom: 5px;
        font-weight: 600;
        color: #090909;

        a {
            color: #090909;
        }
    }

    .price {
        font-size: 14px;
    }

    /* SALE PRICE STYLE */
    .price del {
        color: #999;
        margin-right: 5px;
    }

    .price ins {
        color: #d00;
        text-decoration: none;
    }

    .hover-cta.flex-column {
        flex-direction: column;
        padding: 0px;
        justify-content: end;

        /* .hover-cta-action {
            padding: 14px;
        } */
    }

    .selected-variation-name {
        width: 100%;
        text-align: start;
        color: #000;
        background-color: #fff;
        padding: 4px 0;
        display: none;
    }

    .selected-variation-name.is-selected {
        display: block;
    }

    .variation-action-wrap {
        display: flex;
        align-items: center;
    }
}

/*Large*/

.product-card-large {

    .product-inner {
        >div {
            flex: 1;
        }
    }

    .product-image {
        min-height: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;

        .product-image-overlay {
            opacity: 0;
            height: 100%;
            min-height: 60vh;
            width: 100%;
            background-repeat: no-repeat;
            background-size: cover;
            background-position: center;
            transition: opacity 0.4s ease;
        }
    }

    .product-content {
        border: 1px solid #eee;
        padding: 24px;
        gap: 24px;

        .labels-block {
            justify-content: space-between;
        }

        .badges {
            display: flex;
            gap: 5px;
            flex-wrap: wrap;
            align-items: center;

            .badge {
                background: #000;
                color: #fff;
                font-size: 11px;
                padding: 7px 12px;
            }

            .badge-light {
                background: #fff;
                color: #000;
                padding: 6px 11px;
                border: 1px solid #ccc;
            }
        }

        /* SWATCHES */
        .swatches {
            display: flex;
            gap: 0px;

            .swatch {
                width: 32px;
                height: 32px;
                border: 0.5px solid #fbfbfb;
                transition: transform 0.2s ease, z-index 0.2s;
                background-position: center;
                background-size: cover;
            }

            .swatch:hover {
                transform: scale(1.2);
                z-index: 5;
            }
        }

        .title-block {
            .promo-text {
                font-size: 14px;
                color: #7b7b7b;
            }
        }

        .product-title {
            font-size: 15px;
            color: #000;
            font-weight: 600;
            padding-bottom: 8px;
            letter-spacing: 0.25px;
        }

        .short-description {
            display: flex;
            flex-direction: column;
            justify-content: end;

            p {
                font-size: 14px;
                font-weight: 400;
                line-height: 1.4;
                letter-spacing: 0.4px;
            }
        }
    }
}

.product-card-large:hover {
    .product-image-overlay {
        opacity: 1;
    }
}

@media (max-width: 1024px) {
    .product-card {
        .product-image {
            aspect-ratio: 4/5;
            background-size: contain;
        }
    }

    .product-card-large {
        .product-inner {
            flex-direction: column;

            .product-image-overlay {
                min-height: auto;
                aspect-ratio: 1/1;
            }

            .product-content {
                border: none;

                .labels-block {
                    position: absolute;
                    margin-top: -64px;
                    justify-content: space-between;
                    width: calc(100% - 30px);
                    margin-left: -17px;
                }
            }
        }
    }
}

/* ===== gallery-overlay.css ===== */
/*Fullscreen gallery css*/

.gallery-overlay-lightbox {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .82);
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s;
    z-index: 999999;
    touch-action:none;
    overscroll-behavior:contain;
    touch-action:none;
}

.gallery-overlay-lightbox.open {
    opacity: 1;
    visibility: visible;
}

.gallery-overlay-lightbox-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    width: 80vw;
    padding: 32px 0;

    .gallery-image {
        display: flex;
        flex-direction: column;
        justify-content: center;
        width: 100%;
        height: 100%;
    }
}

.gallery-image {
    overflow: hidden;
}

.gallery-overlay-lightbox-track {

    display: flex;

    height: 100%;

    transition: transform .35s ease;

}

.gallery-overlay-lightbox-image {

    flex: 0 0 100%;

    width: 100%;

    height: 100%;

    object-fit: contain;

}

.gallery-overlay-lightbox-image {
    max-width: 92vw;
    max-height: 88vh;
    object-fit: contain;
    pointer-events: none;
    user-select: none;

    opacity: 1;
    transition: opacity .25s ease;
}

.gallery-overlay-lightbox-image.fade-out {
    opacity: 0;
}

.gallery-overlay-lightbox-counter {
    color: #fff;
    margin-top: 15px;
    font-size: 16px;
    letter-spacing: .5px;
}

.gallery-overlay-lightbox-close,
.gallery-overlay-lightbox-prev,
.gallery-overlay-lightbox-next {
    position: absolute;
    border: none;
    background: rgba(255, 255, 255, .12);
    color: #fff;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    cursor: pointer;
    transition: all .2s;
    font-size: 24px;
    z-index: 100000;
    transition: all 0.3s;

    i {
        margin: 0px 0 0 0px;
    }
}

.gallery-overlay-lightbox-close:hover,
.gallery-overlay-lightbox-prev:hover,
.gallery-overlay-lightbox-next:hover {
    background: rgba(255, 255, 255, .25);
    color: var(--primary-orange);
}

.gallery-overlay-lightbox-close {
    top: 30px;
    right: 30px;
    /* font-size: 18px; */
}

.gallery-overlay-lightbox-prev {
    left: 30px;
    top: 50%;
    transform: translateY(-50%);
}

.gallery-overlay-lightbox-next {
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
}

.gallery-overlay-gallery {
    h2 {
        text-align: center;
        color: var(--primary-orange);
        font-size: 40px;
        font-weight: 700;
        width: 100%;
    }
}

.gallery-overlay-gallery-button {
    align-self: center;
    width: fit-content;
    text-align: center !important;
    background: var(--primary-orange);
    color: var(--primary-dark-blue);
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    padding: 12px 40px !important;
    border-radius: 12px;
    transition: .25s;
}

.gallery-overlay-gallery-button:hover {
    background: #f27b1d;
}

.gallery-overlay-gallery::before {
    background: #FFF0E5D6;
}

.wp-block-gallery {
    display: grid;
    grid-template-columns: 1.2fr 1.2fr 1.2fr;
    grid-template-rows: repeat(2, 220px);
    gap: 18px;
}

.wp-block-image {
    width: 100% !important;
}

.wp-block-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

@media (max-width:768px) {
    .wp-block-gallery {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        width: 100vw;
        overflow-y: scroll;
        gap: 16px;
        margin-left: -16px !important;
        margin-right: -16px !important;
        padding-bottom: 8px;

        .wp-block-image {
            min-width: 75vw !important;
            aspect-ratio: 4/3 !important;
        }
    }

    .gallery-overlay-lightbox {
        background: rgb(0, 0, 0);
    }

    .gallery-overlay-lightbox-prev,
    .gallery-overlay-lightbox-next {
        width: 46px;
        height: 46px;
        font-size: 22px;
        top: 90%;
    }

    .gallery-overlay-lightbox-content {
        width: 100%;

        .gallery-overlay-lightbox-image {
            width: 100%;
            height: 100%;
            object-fit: contain;
            max-height: 90vh;
            max-width: 100vw;
            user-select: auto;
        }
    }

}

/* ===== single-product.css ===== */
.product-left img {
  width: 100%;
  object-fit: contain;
}

.product-right {
  max-width: 800px;
}

.product_title {
  font-size: 22px;
  font-weight: 500;
}

.price {
  font-size: 18px;
  margin: 10px 0;
}

.product-meta {
  gap: 16px;
  align-items: center;
  margin-bottom: 16px;

  .product-category {

    a {
      color: var(--entry-category-label, #2c2c41);
      text-decoration: none;
      font-weight: 500;
      border: 1px solid #979797;
      padding: 4px 11px;
      line-height: 1.0;
      opacity: 0.9;
      font-size: 12px;
    }
  }
}

.related-products-block {
  padding: 0rem 1rem 2rem 1rem;

  h3.related-block-title {
    font-size: 1.25rem;
    margin: 8px 0;
    font-weight: 600;
    padding-bottom: 8px;
    color: #000;
    border-bottom: 1px solid var(--divider-border-color);
  }
}

/* Accordion */

.arkdev-product-details__part--accordions {
  border-top: 1px solid #eee;
}

.product-accordion {
  height: fit-content;

  .accordion-item {
    border-bottom: 1px solid #eee;

    button {
      width: 100%;
      text-align: left;
      padding: 15px 0;
      background: none;
      border: none;
      font-size: 14px;
      cursor: pointer;
      font-weight: 500;
    }

    .content {
      display: block;
      overflow: hidden;
      max-height: 0;
      opacity: 0;
      padding-bottom: 0;
      font-size: 13px;
      color: #555;
      transition:
        max-height 0.8s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.6s ease,
        padding-bottom 0.8s ease;
    }

    .content.open {
      opacity: 1;
      padding-bottom: 15px;
      transition:
        max-height 0.65s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.5s ease,
        padding-bottom 0.65s ease;
    }
  }
}


/* Sticky Cart */
.sticky-cart {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #000;
  color: #fff;
  display: flex;
  justify-content: space-between;
  padding: 15px 20px;
  z-index: 999;
}

/*Product gallery*/

.arkdev-product-page {

  .single-product-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    border-bottom: 1px solid #eee;
  }

  .arkdev-gallery {
    width: 100%;
    height: 95vh;
    max-height: 95vh;
    display: flex;
    flex-direction: column;
    justify-content: end;
    transition:
      opacity 220ms ease,
      transform 220ms ease;
    position: relative;
  }

  .arkdev-gallery.gallery-changing {
    opacity: 0;
    transform: translateY(8px);
    pointer-events: none;
  }

  .arkdev-gallery.gallery-ready {
    animation: arkdev-gallery-in 280ms ease;
  }

  @keyframes arkdev-gallery-in {
    from {
      opacity: 0;
      transform: translateY(8px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  @media (prefers-reduced-motion: reduce) {

    .arkdev-gallery,
    .arkdev-gallery.gallery-ready {
      transition: none;
      animation: none;
    }
  }

  .arkdev-gallery::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 34px;
    height: 34px;
    margin: -17px 0 0 -17px;
    border: 3px solid rgba(0, 0, 0, 0.15);
    border-top-color: currentColor;
    border-radius: 50%;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    animation: arkdev-gallery-spin 700ms linear infinite;
    transition:
      opacity 160ms ease,
      visibility 160ms ease;
    z-index: 20;
  }

  .arkdev-gallery.is-loading::after {
    opacity: 1;
    visibility: visible;
  }

  .arkdev-gallery.is-loading .gallery-main,
  .arkdev-gallery.is-loading .gallery-thumbs {
    opacity: 0.35;
    pointer-events: none;
  }

  @keyframes arkdev-gallery-spin {
    to {
      transform: rotate(360deg);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .arkdev-gallery::after {
      animation-duration: 1.5s;
    }
  }

  .gallery-main {
    position: relative;
    overflow: hidden;
    height: 100%;
    width: 100%;
    flex-grow: 1;

    .gallery-arrow {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      font-size: 28px;
      cursor: pointer;
      z-index: 10;
      color: #000;
      background: rgba(255, 255, 255, 0.7);
      width: 40px;
      height: 40px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .gallery-arrow.prev {
      left: 10px;
    }

    .gallery-arrow.next {
      right: 10px;
    }

  }

  .gallery-slide {
    /* display: none; */
    height: 100%;
    width: 100%;
    position: absolute;
    inset: 0;

    opacity: 0;
    transform: scale(0.98);
    /* subtle zoom-out */
    transition:
      opacity 0.35s ease,
      transform 0.35s ease;

    pointer-events: none;
    z-index: 9;
    opacity: 0;
    transform: scale(0.985);
  }

  .gallery-slide.active {
    opacity: 1;
    transform: scale(1);
    position: relative;
    pointer-events: auto;
  }

  .gallery-slide img {
    width: 100%;
    object-fit: cover;
    height: 100%;
  }

  /* thumbs */
  .gallery-thumbs {
    display: flex;
    gap: 1px;
    margin-top: -70px;
    overflow-x: scroll;
    background-color: #0000000d;
    z-index: 100;
    width: 100%;
    max-width: 50vw;
  }

  .thumb {
    width: 70px;
    cursor: pointer;
    opacity: 0.5;
    line-height: 0.7;
    min-width: 70px;
  }

  .thumb.active {
    opacity: 1;
    border: 1px solid #000;
  }

  .thumb img {
    width: 100%;
  }
}

.arkdev-product-page.product-layout-1 {

  .arkdev-product-details {
    height: 100%;
    padding: 32px 16px 0 16px;

    h1.product_title {
      font-size: 1.25rem;
    }
  }

  .arkdev-product-details__part--description {
    flex-grow: 1;
  }

  .arkdev-product-details__part--price {
    .price ins {
      color: #d00;
      text-decoration: none;
      font-weight: 700;
    }
  }

  .variations {
    .value {
      flex-grow: 1;

      .selected-variation {
        border-bottom: 1px solid #eee;

        >* {
          flex: 1;
        }

        .custom-variation-header {
          border-right: 1px solid #eee;
          padding: 16px 0px;
          display: flex;
          align-items: center;
          cursor: pointer;

          .custom-variation-header__barcode {
            font-size: 10px;
            font-weight: 400;
          }

          .custom-variation-header__arrow {
            flex-grow: 1;
            text-align: end;
            padding: 0 16px;
          }
        }

        .custom-variation-header__current {
          padding-right: 4px;
          font-size: 15px;
          font-weight: bold;
        }

        .reset {
          display: flex;
          justify-content: center;
          align-items: center;
        }
      }

      .custom-variation-swatches {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: start;
        gap: 1px;
        overflow-x: scroll;
        overflow-y: hidden;
        max-width: 43vw;
      }
    }
  }

  .custom-variation__native {
    display: none;
  }

  .variation-selector__swatches {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
  }

  .variation-swatch,
  .variation-option {
    width: 42px;
    min-width: 42px;
    height: 42px;
    border: 1px solid #ddd;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;

    img {
      object-fit: cover;
      height: 100%;
      width: 100%;
    }
  }

  .variation-swatch.active {
    border: 2px solid #000;
  }

  .product-see-all-variations {
    background-color: transparent;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 42px;
    height: 42px;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #000;
    transition: all 0.3s ease-in-out;
    cursor: pointer;
  }

  .product-see-all-variations:hover {
    color: var(--primary-color-hover);
    border-color: var(--primary-color-hover);
  }

  .variations-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .45);

    opacity: 0;
    visibility: hidden;

    transition: .25s;

    z-index: 99999;
  }

  .variations-modal.is-open {
    opacity: 1;
    visibility: visible;
  }

  .variations-modal__content {
    position: absolute;
    top: 0;
    right: 0;
    width: min(700px, 100%);
    height: 100%;
    background: #fff;
    overflow: auto;
    transform: translateX(100%);
    transition: .25s;
    padding-top: var(--admin-bar-height);
  }

  .variations-modal.is-open .variations-modal__content {
    transform: translateX(0);
  }

  .variations-modal__header {
    display: flex;
    justify-content: space-between;
    padding: 8px 16px;

    .variations-modal__count {
      font-weight: 600;
      padding-left: 8px;
    }

    .variations-modal__close {
      border: none;
      background-color: transparent;
      cursor: pointer;
      padding: 0 4px;
    }
  }

  .variations-modal__list {
    display: flex;
    flex-direction: column;

    .variations-modal__item {
      display: flex;
      border-radius: 0px;
      padding: 0px;
      align-items: center;
      gap: 16px;
      background-color: transparent;
      border: none;
      border-top: 0.5px solid #d8d8d8;
      border-bottom: 0.5px solid #d8d8d8;

      .variations-modal__image {
        height: 70px;
        aspect-ratio: 1/1;

        img {
          height: 100%;
          width: 100%;
          object-fit: cover;
        }
      }

      .variations-modal__label {
        font-size: 18px;
        display: flex;
        align-items: center;
        justify-content: start;

        .barcode {
          font-size: 14px;
          font-weight: 300;
          padding-left: 16px;
        }
      }

    }

    .variations-modal__item:hover {
      background-color: #f9f9f9;
    }
  }

  body.variations-modal-open {
    overflow: hidden;

    .arkdev-product-details__part--purchase {
      z-index: 5000;
    }
  }

  .woocommerce-variation-price {
    padding: 4px 0 8px 0;

    del {
      color: #555;
    }

    ins {
      font-weight: 600;
    }
  }

  .woocommerce-variation-availability {
    border-top: 1px solid #eee;

    p {
      font-size: 14px;
      color: var(--block-title-border-color);
      margin: 0px;
    }
  }

  .single-qty-control {
    display: flex;
    align-items: center;
    gap: 0px;

    .button-shop-secondary {
      padding: 0px;
      border: 1px solid #d7d7d7;
    }

    .single-qty-value {
      width: 60px;
      text-align: center;
    }

    button {
      width: 30px;
      height: 30px;
    }
  }

  .woocommerce-variation-add-to-carta,
  .carta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;

    >* {
      flex: 1;
    }

    >button {
      border-radius: 0px !important;
      padding: 16px 32px !important;
      background-color: #000 !important;
      text-align: center;
      color: #fff !important;

      transition: all 0.2s ease;
    }

    >button:hover {
      text-decoration: none;
      color: #fff !important;
      background-color: #000000d9 !important;

      /* transform: translateY(-1px); */
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    }
  }
}


@media (max-width: 1024px) {

  body.variations-modal-open {
    .arkdev-product-details__part--purchase {
      z-index: 5000;
    }
  }

  .arkdev-product-page {
    .single-product-content {
      gap: 0px;
    }

    h1.product_title {
      padding: 0px;
    }

    .custom-variation-swatches {
      max-width: 100vw !important;
    }

    .arkdev-gallery {
      max-height: 50vh;
    }

    .gallery-thumbs {
      max-width: 100vw;
    }
  }

  .arkdev-product-details__part--purchase {
    position: fixed;
    bottom: 0px;
    background-color: #fff;
    width: 100%;
    margin-left: -16px;
    padding: 0 4px;
    z-index: 2000;
    border-top: 1px solid var(--divider-border-color);
  }

  .selected-variation.flex-row {
    .custom-variation-header {
      flex-grow: 1;
      width: 100%;
    }

    .reset {
      max-width: fit-content;
      padding: 0 8px;
    }
  }
}

/* ===== slider.css ===== */
/* Important for slider layout */
.post-slider {
    overflow: hidden;
}

.post-slider .swiper-wrapper {
    align-items: stretch;
}

.post-slider .swiper-slide {
    height: auto;
}

.swiper-pagination {
    margin-top: 10px;
    position: relative;
}

.swiper-pagination-bullet {
    background: #ccc;
    opacity: 1;
}

.swiper-pagination-bullet-active {
    background: #000;
}

/* ===== slider-shop.css ===== */
.post-slider.slider-webshop {
    .swiper-slide {
        position: relative;
        height: 80vh;
        border-radius: 0px;
        overflow: hidden;
    }

    /* Shared layout */
    .product-slide,
    .post-item {
        width: 100%;
        height: 100%;
    }

    .product-link,
    .post-link {
        display: block;
        width: 100%;
        height: 100%;
        position: relative;
        color: #fff;
        text-decoration: none;
    }

    /* Background */
    .slide-bg {
        position: absolute;
        inset: 0;
        background-size: cover;
        background-position: center;
        transition: transform 0.7s ease;
    }

    /* Overlay */
    .overlay {
        position: absolute;
        inset: 70vh 0 0px 0px;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.25), transparent);
        height: 33vh;
    }

    /* Content */
    .content {
        position: absolute;
        bottom: 30px;
        left: auto;
        right: 30px;
        z-index: 2;
        background-color: white;
        border: 0.5px solid #f8f8f8;
        width: 500px;
        max-width: 90%;

        :hover {
            .btn {
                border-bottom-color: transparent;
            }
        }

        .product-content {

            .content-inner {
                align-self: stretch;
            }

            .product-badges {
                padding: 12px;
                border-bottom: 1px solid #e5e5e5;
                align-items: center;
                width: 100%;

                .badge-promo {
                    color: #000;
                    font-size: 15px;
                    font-weight: 500;
                    line-height: 1.1;
                }

                .badge-new {
                    padding: 4px 12px;
                    background-color: #000;
                    color: #fff;
                    font-size: 12px;
                }
            }

            .product-image {
                width: auto;
                max-width: 250px;
                min-width: 40%;
                min-height: 30vh;
                height: auto;
                background-repeat: no-repeat;
                background-position: center;
                background-size: cover;
            }

            .product-description {
                padding: 24px;

                .title {
                    font-size: 15px;
                    font-weight: 600;
                }

                .short-description {
                    flex-grow: 1;
                    align-content: start;

                    p {
                        font-size: 14px;
                        font-weight: 500;
                        color: #2d2d2d;
                    }
                }
            }

            /* PRICE (important for webshop) */
            .price {
                font-size: 13px;
                margin-bottom: 12px;
                color: #5a5a5a;
            }

            .price ins {
                color: #d00;
                text-decoration: none;
            }

            /* Button */
            .btn {
                font-size: 14px;
                font-weight: 600;
            }
        }




        .title {
            font-size: 16px;
            font-weight: 500;
            color: #000;
            margin-bottom: 8px;
        }

        /* Button */
        .btn {
            display: inline-block;
            width: fit-content;
            padding: 4px 0px;
            font-size: 14px;
            letter-spacing: 1px;
            border-bottom: 1px solid #000;
            text-transform: uppercase;
            transition: all 0.3s ease;
            font-weight: 600;
            color: #000;
        }

        .product-link:hover .btn,
        .post-link:hover .btn {
            background: #fff;
            color: #000;
            border-bottom-color: transparent;
        }

    }


    /* Hover */
    .product-link:hover .slide-bg,
    .post-link:hover .slide-bg {
        transform: scale(1.06);
    }



    /* Navigation */
    .swiper-button-prev,
    .swiper-button-next {
        color: #fff;
    }

    /* Pagination */
    .swiper-pagination-bullet {
        background: rgba(255, 255, 255, 0.5);
    }

    .swiper-pagination-bullet-active {
        background: #fff;
    }

}


.post-slider.slider-webshop .swiper-pagination {
    /* position: absolute;
    bottom: 50px;
    left: 30px;
    right: 30px;
    display: flex;
    width: 300px;
    max-width: 100%; */
    position: absolute;
    bottom: 21px;
    left: 30px;
    right: 30px;
    display: flex;
    gap: 0px;
    align-items: center;
    min-width: 200px;
    width: fit-content;
    max-width: calc(100% - 60px);
    height: 49px;
    padding: 8px 8px 32px 8px;
    background: rgba(192, 192, 192, 0.67);
    border-radius: 8px;
    backdrop-filter: none;
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 0 25px rgba(162, 162, 162, 0.7), 0 10px 35px rgba(0, 0, 0, 0.10), 0 25px 60px rgba(0, 0, 0, 0.08);
    box-sizing: border-box;
}

.post-slider.slider-webshop .swiper-pagination-bullet {
    flex: 1;
    background: none;
    opacity: 1;
    color: #fff;
    font-size: 14px;
    min-width: 90px;
    max-width: 96px;
    height: 50px;
    margin-bottom: -41px;
}

/* number */
.swiper-pagination-bullet .number {
    display: block;
    margin-bottom: 6px;
    opacity: 0.7;
}

/* progress line */
.swiper-pagination-bullet .progress {
    display: block;
    height: 2px;
    background: rgba(255, 255, 255, 0.3);
    position: relative;
    overflow: hidden;
}

/* animated fill */
.swiper-pagination-bullet .progress-fill {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 0%;
    background: #fff;
}

/* active state */
.swiper-pagination-bullet-active .number {
    opacity: 1;
}


.home-block--hero {
    .slider-webshop {
        .swiper-slide {
            height: calc(100vh - (var(--header-logo-height) + 66px)) !important;
        }
    }
}

@media (max-width: 1000px) {
    .home-block--hero {
        .slider-webshop {
            .swiper-slide {
                height: calc(80vh - (var(--header-logo-height) + 66px)) !important;
            }
        }
    }

    .slider-webshop {
        .swiper-pagination {
            position: absolute;
            bottom: 50px;
            left: 10px;
            right: 30px;
            display: flex;
            gap: 0px;
            width: 100% !important;
            max-width: calc(100% - 20px);

            .swiper-pagination-bullet {
                min-width: 1px;
            }

            .swiper-pagination-bullet .number {
                color: #000;
            }

            .swiper-pagination-bullet .progress-fill {
                background: #595959;
            }
        }


        .swiper-slide {

            .content {
                bottom: 72px;
                left: 13px;
                width: calc(100% - 26px);
                max-width: 100%;
            }

            .product-image {
                display: none;
            }
        }
    }

}

/* ===== override.css ===== */
/*Override.css*/
