/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

/* ── Colors ── */
:root {
    --primary-color: #1E3459;
    --secondary-color: #6c757d;
    --accent-color: #ffc107;
    --accent-color-2: #FF5A00;
    --accent-color-3: #2FB5D3;
    --background-color: #f8f9fa;
    --text-color: #1E1E1E;
    --text-white: #FFFFFF;
    --font-main: 'Open Sans', system-ui, -apple-system, sans-serif;
    --border-radius: 4px;
    --transition-speed: 0.3s;
}

.btn {
    height: 46px;
    background-color: var(--primary-color);
    color: #fff;
    box-shadow: unset !important;

    span {
        font-weight: 700;
        font-size: 12px;
    }
}

body {
    overflow-x: hidden !important;
}

/* ── Header top nav links START ── */

.header-nav.tablet-h {
    background-color: var(--primary-color);

    .header-nav-inside {
        height: 45px;
        border: 0px solid #fff !important;
    }

    .si-navlinks-html {
        color: var(--text-white);
        font-size: 12px;
        font-weight: 700;
        margin-right: 25px;

        a {
            color: var(--text-white);
            text-decoration: none;
            font-weight: 700;
            transition: all var(--transition-speed) ease-in-out;

            &:hover {
                text-decoration: underline !important;
                color: var(--text-white) !important;
            }
        }
    }

    .si-navlinks-list {
        list-style: none;
        display: flex;
        gap: 24px;
        margin: 0px;
        padding: 0px;

        li {
            a {
                color: var(--text-white);
                text-decoration: none;
                font-weight: 400;
                transition: all var(--transition-speed) ease-in-out;

                &:hover {
                    text-decoration: underline !important;
                    color: var(--text-white) !important;
                }
            }
        }
    }
}


/* ── Header top nav links END ── */


/* ── Main menu START ── */

.anmm-menu {
    .anmm-list {
        display: inline-flex;
        gap: 25px;

        .anmm-menu-item.anmm-menu-horizontal {
            max-width: 110px;

            a {
                text-align: center;
                padding-left: 0px;
                padding-right: 0px;
            }
        }
    }
}

@media all and (max-width: 991px) {
    #header {
        .mobile-header {
            #_mobile_logo {
                width: 100%;
                max-width: 100%;
                height: 40px;
                margin: 0px;

                a {
                    align-items: center;
                    justify-content: center;
                    height: 40px;
                    margin-top: 11px;

                }
            }

            #menu-icon {
                margin: 0px;
                height: 40px;

                svg {
                    width: 16px;
                }
            }

            #_mobile_user_info {
                height: 40px;

                svg {
                    transform: scale(1);
                }
            }

            #_mobile_cart {
                height: 40px;
            }

            .blockcart-link {

                svg {
                    transform: scale(1);
                }
            }

            #_mobile_search {
                height: 40px;
                display: flex;
                justify-content: center;
                align-items: center;
            }
        }

        .header-top-wrapper {
            position: absolute;
            left: 0px;
            top: 100%;
            z-index: 1;
            width: 100%;
            background: #fff;
            display: none;

            &.open {
                z-index: 21;
                display: block;
            }
        }
    }
}

/* ── Main menu END ── */

/* ── Logo START ── */

#_desktop_logo {
    img.logo {
        max-width: 225px !important;
        width: 100% !important;
    }
}

#header .fixed-menu .logo {
    max-height: unset !important;
}

/* ── Logo END ── */


.h2.products-section-title,
.an_abous_us-title.h2,
.an_abous_us h1,
section.prestablog h2.title.af_filter,
#js-product-list p.prestablogtitle,
.prestablog h2.title,
body#order-confirmation h2.h1 {
    font-weight: 700;
    font-size: 36px;
    color: var(--primary-color);
    position: relative;
    text-align: center;
    border: none;
    overflow: visible;

    @media all and (max-width: 991px) {
        font-size: 12px;
    }
}

.an_abous_us h1 {
    text-align: left !important;
}

section.prestablog h2.title span,
#js-product-list p.prestablogtitle span,
.prestablog h2.title span,
body#order-confirmation h2.h1 span {
    color: var(--primary-color);
    background: #fff;
    padding: 0 60px;
    position: relative;

    @media all and (max-width: 991px) {
        background-color: #fff;
        z-index: 1;
        padding: 0 17px;
    }
}

.products-section-title::before,
section.prestablog h2.title::before,
#js-product-list p.prestablogtitle::before,
.prestablog h2.title::before,
body#order-confirmation h2.h1::before {
    content: "";
    background-color: var(--primary-color);
    height: 3px;
    top: 50%;
    max-width: 810px;
    left: calc((100% - 810px) / 2);
    width: 100%;
    position: absolute;
    display: block;

    @media all and (max-width: 991px) {
        ontent: "";
        display: block;
        width: 70%;
        position: absolute;
        left: 15%;
        top: calc(50% - 1px);
        height: 2px;
        background-color: var(--primary-color);
    }
}


.an_homeproducts-banner {
    padding: 0px 10px;

    .an_homeproducts-banner-link {
        box-shadow: 0px 0px 80px #eaecef;
    }

    @media all and (max-width: 991px) {

        &:nth-child(1) {
            margin-bottom: 10px;
        }
    }

}

.product-flags .product-flag {
    border-radius: 0px;
    padding: 3px 11px 5px 11px;
    font-size: 10px;
    font-weight: 700;
}

.product-flags .product-flag.on-sale {
    background-color: var(--primary-color);

}

.products {
    .product-miniature {
        .thumbnail-container {
            .thumbnail-container-image {
                min-height: 250px !important;
            }

            .product-description {
                .product-list-reviews {
                    display: none;
                }

                h3.h3.product-title {
                    height: 84px;
                    line-height: 110%;

                    a {
                        font-size: 16px;
                        color: var(--text-color);
                    }
                }
            }
        }

        .product-price-and-shipping {
            display: flex;
            flex-direction: row-reverse !important;
            align-items: center !important;
            justify-content: space-between !important;

            .product-miniature-prices {
                display: flex;
                flex-direction: column;

                .price {
                    font-size: 20px;
                    font-weight: 600;
                }
            }

            .an_productattributes-add {
                .btn.btn-primary {
                    border-radius: 0px;
                    font-size: 12px;
                    font-weight: 700;
                    padding: 4px 15px 5px 15px;
                    background-color: var(--accent-color-2);
                    width: 115px;
                    height: 26px;
                    border: 0px solid #fff;
                }
            }
        }
    }
}

@media all and (max-width: 991px) {
    #index {
        .an_homeproducts {
            .an_homeproducts-block {
                .products {
                    overflow-x: hidden !important;

                    .product-miniature {
                        padding: 0px 8px;

                        .product-flags {
                            .product-flag {
                                font-size: 7px;
                                padding: 1px 5px;
                            }
                        }

                        .thumbnail-container {
                            .thumbnail-container-image {
                                min-height: unset !important;
                                aspect-ratio: 1 / 1;
                            }

                            .product-description {
                                h3.h3.product-title {
                                    height: 50px;
                                    line-height: 80%;

                                    a {
                                        font-size: 10px;
                                        line-height: 110%;
                                    }
                                }
                            }
                        }

                        .product-price-and-shipping {
                            .product-miniature-prices {
                                .price {
                                    font-size: 15px;
                                }

                                .regular-price {
                                    font-size: 12px;
                                }
                            }

                            .an_productattributes-add {
                                .btn.btn-primary {
                                    width: 77px;
                                    height: 16px;
                                    font-size: 7px !important;

                                    span {
                                        font-size: 7px !important;
                                    }
                                }
                            }
                        }
                    }
                }
            }

        }
    }
}

@keyframes shake {

    0%,
    100% {
        transform: translateX(0);
    }

    10%,
    30%,
    50%,
    70%,
    90% {
        transform: translateX(-5px);
    }

    20%,
    40%,
    60%,
    80% {
        transform: translateX(5px);
    }
}

.block_newsletter {
    position: relative;

    .block_newsletter-desc {
        padding-right: 70px;

        .js-newsletter-msg {
            position: absolute;
            left: 0px;
            top: -60px;
            z-index: 1;
            width: 100%;
            text-align: center;
            animation: shake 0.5s ease-in-out;
        }
    }

    .block_newsletter-form {
        .input-wrapper {
            input {
                height: 45px;
                border-radius: 0px;
            }
        }

        button.btn.btn-primary {
            border-radius: 0px;
            text-transform: uppercase;
            font-weight: 700;
            font-size: 12px;
            min-height: 45px;
            background-color: var(--primary-color);
            border: 0px solid #fff;
        }
    }

    @media all and (max-width: 991px) {
        padding: 25px;
        margin-top: 35px;
        margin-bottom: 35px;

        .block_newsletter-desc {
            width: 100%;
            padding: 0px;
            margin: 0px;

            h2#block-newsletter-label {
                font-size: 16px;
                line-height: 110%;
                margin-bottom: 4px;
                text-align: left;
            }

            p {
                font-size: 12px;
                line-height: 100%;
                text-align: left;
                margin-bottom: 4px;
            }
        }

        .block_newsletter-form {
            margin-top: 8px;

            form {
                .input-wrapper {
                    width: calc(100% - 10px - 78px);

                    input {
                        height: 20px;
                        font-size: 9px;
                    }
                }

                button.btn.btn-primary {
                    font-size: 9px !important;
                    padding: 3px;
                    min-height: 20px;
                    height: 20px;
                    width: 78px;
                    min-width: 1px;
                    margin-left: 10px;
                }
            }
        }

        .gdpr-newsletter {
            padding: 0px;
            margin: 0px;
        }

        .psgdpr_consent_message {
            span {
                font-size: 10px;
            }
        }



    }
}

:is(#blog_list_1-7, .blog_list_1-7).three_article li {
    border: unset !important;
    box-shadow: unset !important;
}

:is(#blog_list_1-7, .blog_list_1-7) .block_cont,
.prestablog .block_cont {
    border: unset !important;
    box-shadow: unset !important;
}

:is(#blog_list_1-7, .blog_list_1-7) .blog-grid .block_bas {
    padding: 0px;
}

:is(#blog_list_1-7, .blog_list_1-7) h3,
:is(#blog_list_1-7, .blog_list_1-7) h2,
:is(#blog_list_1-7, .blog_list_1-7) .h3title {
    font-weight: 700;
    font-size: 14px;
    line-height: 140%;
    margin: 14px 0px;
    text-transform: uppercase;

    a {
        color: #2FB5D3;

        &:hover {
            color: var(--accent-color-2);
        }
    }
}

:is(#blog_list_1-7, .blog_list_1-7) .date_blog-cat,
:is(#blog_list_1-7, .blog_list_1-7) .prestablog_more {
    display: none;
}

:is(#blog_list_1-7, .blog_list_1-7) .prestablog_desc {
    margin: 0px;
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    color: var(--text-color);
}

.prestablogExtra {
    a.thumbnail {
        img {
            width: 100% !important;
        }
    }
}


/* ── Home Slider ── */
.homeslider {
    .homeslider__list {
        .homeslider__slide {
            a {
                img {
                    max-width: 100%;
                    width: 100%;
                    max-height: unset;
                    height: unset !important;
                }
            }
        }
    }

    .homeslider__arrow {
        background: #fff !important;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        transition: all .3s;

        i {
            color: #1e1e1e;
        }

        &:after {
            display: none;
        }
    }
}

.anblog-widget {
    .blog-item {
        .blog-image {
            margin-bottom: 15px;
        }

        .title.h4 {
            font-weight: 700;
            font-size: 14px;
            margin-bottom: 12px;

            a {
                color: var(--accent-color-3);
            }
        }

        .blog-info {
            .blog-shortinfo {
                font-size: 14px;
                line-height: 130%;
                color: var(--text-color);
            }
        }
    }

    @media all and (max-width: 991px) {
        margin-top: 45px !important;


        .anblog-widget-title {
            margin-bottom: 55px;
        }

        .anblog-widget-posts {
            margin: 0px !important;
        }

        .anblog-widget-item {
            margin: 0px;
            padding: 0px !important;
        }

        .owl-stage-outer {
            margin-bottom: 10px;
        }

        .blog-item {
            margin: 0px;
            padding: 0px 41px 0px 43px !important;

            .blog-image {
                margin-bottom: 15px;
                aspect-ratio: 278 / 185;
            }

            .title.h4 {
                font-weight: 700;
                font-size: 12px;
                margin-bottom: 7px;

                a {
                    color: var(--accent-color-3);
                }
            }

            .blog-info {
                .blog-shortinfo {
                    font-size: 12px;
                    line-height: 130%;
                    color: var(--text-color);
                }
            }
        }
    }
}

@media all and (max-width: 991px) {
    .an_homeslider-block {
        margin-bottom: 0px;
    }

    .an_advantages {
        margin-top: 0px;
        margin-left: -15px;
        margin-bottom: 24px;
        width: calc(100% + 30px);

        .an_advantages-inner-wrap {
            .an_advantages-list {
                display: block;
                height: 38px;
                overflow: hidden;

                a.an_advantages-item {
                    margin: 0px;
                    padding: 0px;

                    .an_advantages-item-inner {
                        padding: 0px;
                        height: 38px;
                        display: flex;
                        align-items: center;
                        justify-content: center;

                        .an_advantages-item-img {
                            height: 26px;
                            margin-right: 18px;

                            img {
                                height: 26px;
                                width: auto;
                            }
                        }

                        .an_advantages-item-desc {
                            .an_advantages-item-title {
                                font-size: 12px;
                                max-width: unset;
                            }
                        }
                    }
                }

                .owl-stage-outer {
                    position: relative;
                    overflow: hidden;
                }

                .owl-stage {
                    display: flex;
                    flex-direction: row;
                    position: relative;
                }

                .owl-item {
                    min-height: 1px;
                }
            }



        }

        .owl-nav,
        .owl-dots {
            display: none;
        }
    }

    .h2.products-section-title,
    .an_abous_us-title.h2,
    .an_abous_us-title.h2 h1 {
        font-size: 12px;

        span,
        a {
            background-color: #fff;
            z-index: 1;
            padding: 0px 17px;
        }

        &:after {
            content: "";
            display: block;
            width: 70%;
            position: absolute;
            left: 15%;
            top: calc(50% - 1px);
            height: 2px;
            background-color: var(--primary-color);
        }
    }

    #index .an_homeproducts .an_homeproducts-block:nth-child(3) .featured-products .products.owl-carousel,
    .anblog-widget .blog-items.owl-carousel,
    .anblog-widget .row.owl-carousel {
        display: block;

        .owl-stage {
            display: flex;
        }

        .product-miniature,
        .blog-item {
            padding: 0 10px;
            width: 100%;
        }

        .owl-dots {
            display: flex !important;
            justify-content: center;
            margin-top: 15px;

            .owl-dot {
                background: unset;
                display: flex;
                align-items: center;
                justify-content: center;
                margin: 0px;

                span {
                    width: 6px;
                    height: 6px;
                    margin: 0px;
                    background: #d6d6d6;
                    display: block;
                    border-radius: 50%;
                    border: 1px solid #fff;
                    transition: all 0.3s ease-in-out;
                }

                &.active span {
                    background: var(--accent-color-2);
                    border: 1px solid var(--accent-color-2);
                }
            }
        }

        .owl-nav {
            display: none !important;
        }
    }

    .an_abous_us {
        margin-top: 40px;
        margin-bottom: -74px;

        .an_abous_us-content {
            padding: 0px 43px;

            .an_abous_us-img {
                display: none;
            }

            .an_abous_us-text {

                .an_abous_us-h2,
                .an_abous_us-h2 h1 {
                    font-size: 16px;
                    line-height: 96%;
                    text-align: left;
                    margin-bottom: 15px;
                    display: block;
                    width: 100%;
                    text-transform: uppercase;
                }

                .an_abous_us-text-wrap {
                    font-size: 12px;
                    text-align: justify;
                    line-height: 100%;
                }
            }
        }
    }
}

/* ------------------------- Product category/List START ------------------------- */

#category {
    #wrapper {
        &>.container {
            width: 1375px;

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

            #left-column {
                max-width: 260px;
                margin: 0px;
                padding: 0px;

                @media(max-width: 768px) {
                    display: none;
                }
            }

            #content-wrapper {
                max-width: 1115px;
                width: 100%;
            }
        }
    }
}

#category .js-img-view-type,
#search .js-img-view-type {
    @media(max-width: 768px) {
        width: 100%;
        padding: 0 10px;
    }
}

#category #products,
#search #products {
    @media(max-width: 510px) {
        #js-product-list {
            .products {
                article.product-miniature {
                    display: flex;
                    justify-content: center;

                    .thumbnail-container {
                        max-width: 270px;
                        width: 100%;

                        picture {
                            display: flex;
                            justify-content: center;
                        }
                    }

                    .product-price-and-shipping {
                        display: flex;
                        justify-content: space-between;
                        flex-direction: row-reverse !important;
                    }
                }
            }
        }
    }
}

.breadcrumb-wrapper {
    @media(max-width: 768px) {
        display: none;
    }

    .breadcrumb {
        padding: 11px 0px 13px 0px;

        ol {
            li {

                a,
                span {
                    font-size: 12px;
                    color: var(--primary-color);
                }

                &:last-child {
                    span {
                        font-weight: 600;
                    }
                }
            }
        }
    }
}

#category {
    #wrapper {
        #left-column {}

        #content-wrapper {
            #main {
                .block-category.card.card-block {
                    img.hidden-sm-down {
                        display: none;
                    }
                }

                #category-description {
                    width: 100%;

                    h1.h1 {
                        font-size: 24px;
                        font-weight: 700;
                        color: var(--text-color);
                        margin-bottom: 14px;
                        text-transform: none;
                        margin-top: -14px;
                    }

                    div {
                        p {
                            display: inline-block;
                            width: 100%;

                            img {
                                width: 100%;
                                margin: 0;
                                padding: 0;
                            }
                        }
                    }

                    @media all and (max-width: 767px) {
                        .hidden-sm-down {
                            display: block !important;
                        }
                    }
                }

                #js-product-list-top {
                    display: none;
                }
            }
        }
    }
}


/* Subcategories toggle */
#subcategories {
    border: 1px solid #ebebeb;
    padding: 20px;
    margin-bottom: 25px;
}

#subcategories .subcategory-heading-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 0;
    transition: margin-bottom var(--transition-speed);
}

#subcategories.is-open .subcategory-heading-wrapper {
    margin-bottom: 20px;
}

#subcategories .subcategory-heading {
    margin-bottom: 0;
}

#subcategories #subcategories-toggle {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    background: var(--primary-color);
    border: none;
    padding: 8px 0px 8px 18px;
    border-radius: var(--border-radius);
    color: #fff;
    font-size: 14px;
    transition: all var(--transition-speed);
    text-transform: uppercase;
    font-weight: 600;
}

#subcategories #subcategories-toggle:hover {
    opacity: 0.9;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

#subcategories #subcategories-toggle i {
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

#subcategories #subcategories-toggle .hide-text {
    display: none;
}

#subcategories.is-open #subcategories-toggle i {
    transform: rotate(180deg);
}

#subcategories.is-open #subcategories-toggle .show-text {
    display: none;
}

#subcategories.is-open #subcategories-toggle .hide-text {
    display: block;
}

#subcategories #subcategories-list-container {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s ease-in-out;
    opacity: 0;
}

#subcategories.is-open #subcategories-list-container {
    max-height: 2000px;
    /* Large enough to fit content */
    opacity: 1;
}

#subcategories-list-container {
    .subcategories-list {
        li {
            width: 20%;
            text-align: center;

            @media all and (max-width: 991px) {
                width: 33%;
            }

            .subcategory-image {
                display: none;
            }

            img {
                display: none;
            }

            h5 {
                margin: 0 !important;

                a {
                    display: block;
                    align-items: center;
                    text-align: center;
                    gap: 8px;
                    cursor: pointer;
                    background: var(--primary-color);
                    border: none;
                    padding: 10px 14px;
                    border-radius: var(--border-radius);
                    color: #fff;
                    font-size: 12px;
                    transition: all var(--transition-speed);
                    text-transform: uppercase;
                    font-weight: 600;
                }
            }
        }
    }
}



/* ------------------------- Product category/List END ------------------------- */


/* ------------------------- Product amazing filter START ------------------------- */

#left-column {
    #search_filters_wrapper {
        border: 1px solid #1E345933;
        padding: 11px 19px 0px 19px;
        border-radius: 0px;
        margin-top: -22px;

        .title_block {
            font-size: 24px;
            font-weight: 700;
            color: var(--text-color);
        }

        .af_filter {
            .af_subtitle {
                font-size: 16px;
                font-weight: 400;
            }
        }

        .af_filter:last-child {
            border-bottom: 0px solid #fff;
        }


    }
}


#products .product-title,
.featured-products .product-title,
.product-accessories .product-title,
.product-miniature .product-title {
    text-transform: none !important;
}

/* ------------------------- Product amazing filter END ------------------------- */

/* ------------------------- Product list additional description START ------------------------- */

#js-product-list-bottom,
#js-product-list-bottom section {
    max-width: 100%;
    margin: 0 auto;
    padding-top: 75px;

    #js-product-list-bottom {
        max-width: 100%;
        padding-top: 0px;
    }

    @media(max-width: 510px) {
        max-width: 100%;
        padding-top: 0px;


    }

    p,
    li,
    ul,
    dd,
    dt {
        font-size: 12px;
        color: var(--text-color);
        font-weight: 400;
        line-height: 150%;
    }

    p {
        margin-bottom: 10px;
    }

    h2,
    h3,
    h4 {
        font-weight: 700;
        margin-bottom: 15px;
        color: #1E3459;
    }

    h2 {
        font-size: 18px;
    }

    h3 {
        font-size: 16px;
    }

    h4,
    dt {
        font-size: 14px;
    }

    dt {
        font-weight: 700;
        color: #1E3459;

    }

}

/* ------------------------- Product list additional description END ------------------------- */

/* ------------------------- Product list pagination START ------------------------- */

.pagination {
    .page-list {
        li {
            a {
                font-size: 12px;
                color: #9B9B9B;
                font-weight: 700;
                margin: 0;
            }

            &.current {
                a {
                    font-weight: 700;
                    border-radius: 0px;
                }
            }
        }
    }
}

/* ------------------------- Product list pagination END ------------------------- */


/* ------------------------- Product card START ------------------------- */

#product {
    #wrapper {
        &>.container {
            max-width: 1150px;
        }

        #main {
            .product-mainblock {
                flex-wrap: nowrap !important;

                .productblock-content {
                    width: 100%;
                    max-width: 570px;


                    .productblock-content__wrap {
                        padding: 36px;
                        background: #fbfbfb;
                        margin-bottom: 16px;
                    }

                    h1.h1 {
                        font-size: 24px;
                        font-weight: 400;
                        color: var(--text-color);
                        margin-bottom: 0px;
                    }

                    .product-prices {
                        .product-price {
                            margin: 10px 0px;

                            .current-price {
                                font-size: 32px;
                                font-weight: 700;
                                color: var(--accent-color-3);
                            }
                        }

                        .product-discount {
                            .regular-price {
                                font-size: 24px;
                                color: #A5A5A5;
                                font-weight: 600;
                            }
                        }
                    }



                    .tax-shipping-delivery-label {


                        &:has(.product-unit-price.sub) {
                            .x13pricehistory {
                                margin-bottom: -15px;
                            }
                        }

                        .x13pricehistory__text,
                        .product-unit-price.sub {
                            margin-bottom: 0px;
                            font-size: 12px;
                            font-weight: 600;
                            color: #a5a5a5;
                        }

                        .x13pricehistory {
                            svg {
                                display: none;
                            }

                            div {
                                margin-bottom: 0px;
                                font-size: 12px;
                                font-weight: 600;
                                color: #a5a5a5;
                            }
                        }

                        .delivery-information {
                            margin-top: 10px;
                            display: flex;
                            align-items: center;
                            gap: 14px;

                            .delivery-information__icon {
                                line-height: 100%;
                            }

                            .delivery-information__text {
                                font-size: 14px;
                                font-weight: 400;
                                color: var(--text-color);

                            }
                        }
                    }

                    .product-actions {
                        border: 1px solid #cfd3db;
                        padding: 12px;

                        .product-availability-wrap {
                            display: none;
                        }

                        #eye-selector-wrapper {
                            margin: 0px;
                            padding: 0px;
                            background: transparent;
                            border: unset;

                            p {
                                display: none;
                            }

                            label {
                                font-size: 12px;
                                font-weight: 400;
                                color: var(--text-color);
                                margin: 0px;
                                display: flex;
                                align-items: center;
                                gap: 4px;

                                &:last-child {
                                    margin-top: -2px;
                                }

                                input {
                                    width: 12px;
                                    height: 12px;
                                    appearance: none;
                                    -webkit-appearance: none;
                                    border: 1px solid #a5a5a5;
                                    background-color: #fff;
                                    position: relative;
                                    cursor: pointer;
                                    margin: 0;
                                    flex-shrink: 0;
                                    margin-top: -2px;

                                    &:checked::before,
                                    &:checked::after {
                                        content: "";
                                        position: absolute;
                                        top: 50%;
                                        left: 50%;
                                        width: 14px;
                                        height: 1px;
                                        background-color: #a5a5a5;
                                    }

                                    &:checked::before {
                                        transform: translate(-50%, -50%) rotate(45deg);
                                    }

                                    &:checked::after {
                                        transform: translate(-50%, -50%) rotate(-45deg);
                                    }
                                }
                            }
                        }

                        .eye-header {
                            display: none;
                        }

                        .product-variants.product-variant-one {
                            max-width: calc(50% - 4px);
                            float: left;
                            width: 50%;
                        }

                        .product-discounts {
                            clear: both;
                        }

                        .product-variants {
                            .control-label {
                                display: none;
                            }

                            .product-variants-item {
                                margin-bottom: 8px !important;
                                width: calc(50% - 4px);

                                select {
                                    height: 38px;
                                    border: unset;
                                    border-radius: 0px;
                                    width: 100%;
                                }
                            }

                            &.product-variants-clone {
                                margin-top: 0px;
                                padding-top: 0px;
                                border: unset;
                                margin-left: 7px;
                            }
                        }

                        &:has(.product-variants-clone) {
                            .product-variants-item {
                                width: 100% !important;
                            }
                        }

                        #loyalty {
                            margin: 0px 0px 8px 0px;
                            padding: 0px;
                            border: unset;
                            background: transparent;
                            font-size: 12px;
                            font-weight: 600;
                            line-height: 130%;
                            color: #a5a5a5;
                        }

                        .product-add-to-cart {
                            display: flex;
                            flex-direction: row;
                            flex-wrap: nowrap;
                            gap: 8px;
                            justify-content: center;
                            align-items: center;

                            button.add-to-cart {
                                height: 50px;
                                min-height: 50px;
                                background-color: var(--accent-color-2);
                                color: #fff;
                                font-size: 12px;
                                font-weight: 700;
                                border-radius: 0px;
                            }

                            .product-quantity.product-variants-item {
                                width: auto !important;

                                .qty {
                                    width: 115px !important;
                                    margin: 0px !important;
                                }
                            }
                        }
                    }

                    .lineven-additionalproductsorder {
                        padding: 12px 22px;
                        background: #fbfbfb;

                        .h5.header-title,
                        .header-hr {
                            display: none;
                        }

                        .card-block:has(.h5.header-title) {
                            display: none;
                        }


                        #products {
                            padding: 0px;
                            margin: 0px;

                            .apo-products {
                                padding: 0px;
                                margin: 0px;

                                li.apo-product {
                                    padding: 0px !important;
                                    margin: 0px !important;

                                    .product-container {
                                        margin: 0px;
                                        padding: 0px;
                                        width: 100%;
                                        display: flex;
                                        gap: 45px;

                                        .lapo-view.product-image {
                                            margin-right: 0px;

                                            img {
                                                max-width: 120px;
                                                height: auto;
                                                border: unset;
                                                margin: 0px;
                                            }
                                        }

                                        .text-section {
                                            width: 100%;
                                            display: flex;
                                            flex-direction: column;
                                            gap: 6px;

                                            .product-name {
                                                a {
                                                    span {
                                                        font-size: 20px;
                                                        font-weight: 400;
                                                        color: var(--text-color);
                                                        line-height: 130%;
                                                    }
                                                }
                                            }

                                            .price.product-price {
                                                .current-price {
                                                    font-size: 20px;
                                                    font-weight: 400;
                                                    color: var(--accent-color-3);
                                                    line-height: 130%;
                                                }
                                            }

                                            .buttons a {
                                                width: 100%;
                                                max-width: 280px;
                                                height: 46px;
                                                background-color: var(--primary-color);
                                                color: #fff;

                                                span {
                                                    font-size: 12px;
                                                    font-weight: 700;
                                                }
                                            }

                                        }
                                    }
                                }
                            }
                        }
                    }



                }

                .productblock-image {
                    width: auto;

                    .an_productpage-slider {
                        .an_productpage-slider-item {
                            img {
                                border: 1px solid #fbfbfb;
                            }

                            &::before {
                                border: 1px solid #cfd3db !important;
                                opacity: 0;
                                content: "";
                                display: block;
                                position: absolute;
                                top: 0;
                                right: 5px;
                                bottom: 0;
                                left: 5px;
                            }
                        }



                        .an_productpage-slider-item.nav-slide-selected::before {
                            opacity: 1;
                        }
                    }
                }




            }
        }
    }

    .nav-tabs {
        .nav-link {
            padding: 15px 35px 17px 36px;
            line-height: normal;
            background-color: #FBFBFB;
            font-size: 24px;
            border-bottom: 1px solid #cfd3db;
            color: var(--text-color);
            text-transform: none;

        }
    }

    .tab-content {
        .product-tab_inner {
            .product-tab_title {
                font-weight: 400;
                font-size: 16px;
                color: var(--text-color);
                width: 100%;
            }

            .product-tab_list {
                display: grid;
                list-style: none;
                padding: 0px;
                margin: 0px 0px 24px 0px;
                grid-template-columns: 1fr 1fr 1fr 1fr;
                gap: 12px;

                @media (max-width: 768px) {
                    grid-template-columns: 2fr 2fr;
                }

                @media (max-width: 480px) {
                    grid-template-columns: 1fr;
                }

                li {
                    padding: 12px;
                    display: block;
                    border: 1px solid #e0e0e0;
                    font-size: 12px;
                    line-height: 140%;
                    background: #fbfbfb;

                    .product-tab_list_image {
                        width: 100%;
                        text-align: center;
                        margin-bottom: 12px;

                        img {
                            height: 64px;
                            object-fit: contain;
                        }
                    }

                    .product-tab_list_name {
                        font-weight: 600;
                        font-size: 16px;
                        color: var(--text-color);
                        margin-bottom: 12px;
                        display: flex;
                        width: 100%;
                        align-items: center;
                        justify-content: space-between;

                        strong {
                            font-weight: 600;
                        }

                        span {
                            font-weight: 600;
                            font-size: 16px;
                            color: var(--accent-color-3);
                        }
                    }
                }

                &.product-tab_list_2 {
                    li {
                        .product-tab_list_name {
                            strong {
                                width: 100%;
                                text-align: center;
                            }
                        }
                    }
                }

                &.product-tab_list_3 {
                    grid-template-columns: 1fr 1fr;

                    li {
                        font-size: 14px;
                        line-height: 170%;

                        strong {
                            font-size: 16px;
                            display: block;
                            width: 100%;
                            margin-bottom: 12px;
                        }
                    }
                }
            }
        }
    }

    .total-rating-items-block-footer {
        display: none !important;
    }

    .ets_crosssell_block {

        &::before {
            display: none;
        }

        ul {
            list-style: none;
            padding: 0px;
            margin: 0px;

            li.ets_crosssell_list_blocks {
                h4.ets_crosssell_title {
                    font-weight: 700;
                    font-size: 36px;
                    color: var(--primary-color);
                    text-align: center;
                    position: relative;
                    border: unset;
                    display: inline-block;
                    width: 100%;

                    span {
                        color: var(--primary-color);
                        background: #fff;
                        padding: 0 60px;
                        position: relative;
                        z-index: 2;
                    }

                    &:before {
                        content: '';
                        position: absolute;
                        display: block;
                        background-color: var(--primary-color);
                        height: 3px;
                        top: 44%;
                        max-width: 810px;
                        width: 100%;
                        left: calc((100% - 810px) / 2);
                    }
                }

                .slick-list {
                    article.product-miniature {
                        max-height: 440px;
                        width: 100%;
                    }
                }
            }
        }
    }

    .featured-products::before,
    .product-accessories-title::before {
        display: none;
    }

    .product-accessories {
        .product-accessories-title {
            font-weight: 700;
            font-size: 36px;
            color: var(--primary-color);
            text-align: center;
            position: relative;
            border: unset;
            display: inline-block;
            width: 100%;
            margin-bottom: 24px;

            h3.h2 {
                font-weight: 700;
                font-size: 36px;
                color: var(--primary-color);
                background: #fff;
                padding: 0 60px;
                position: relative;
                z-index: 2;
                margin-bottom: 0px;
            }

            &:before {
                content: '';
                position: absolute;
                display: block;
                background-color: var(--primary-color);
                height: 3px;
                top: 50%;
                max-width: 810px;
                width: 100%;
                left: calc((100% - 810px) / 2);
            }
        }

        .owl-stage {
            display: flex;
        }
    }

    .an_stickyAddToCart {

        .an_pa_product-variants,
        .an_stickyAddToCart-qty-container {
            display: none !important;
        }
    }
}

/* ------------------------- Product card END ------------------------- */


#module-prestablog-blog {

    #prestablog_menu_cat {
        nav {
            ul {
                background: #F3F1F1;
                padding: 16px 24px;
                list-style: none;
                display: flex;
                gap: 24px;
                align-items: center;
                justify-content: center;

                li {
                    a {
                        color: var(--text-color);
                        font-size: 16px;
                        font-weight: 600;
                        padding: 0;
                        transition: all 0.3s ease-in-out;

                        i {
                            color: var(--text-color);
                            font-size: 16px;
                            transition: all 0.3s ease-in-out;

                            &:hover {
                                color: var(--accent-color-3);
                            }
                        }

                        &:hover {
                            color: var(--accent-color-3);
                        }
                    }
                }
            }
        }
    }

    #prestablogfront h1 {
        text-align: left;
        margin-bottom: 20px;
        font-size: 24px;
    }

    #prestablogfront,
    .prestablogExtra {
        border: unset !important;

        #prestablogfont {
            a {
                color: var(--accent-color-3) !important;

                &:hover {
                    color: var(--accent-color-4) !important;
                }
            }
        }
    }



    .post-meta-wrapper {
        width: 100%;
        background: #fbfbfb;
        padding: 36px;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        margin-bottom: 24px;

        time.date,
        .info_blog {
            font-size: 14px;
            font-weight: 400;
            color: var(--text-color);
            background: transparent !important;

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

            span {
                background: transparent !important;
            }
        }
    }

    #prestablogfront h1,
    #prestablogfront h2,
    #prestablogfront h3,
    #prestablogfront h4,
    #prestablogfront h5,
    #prestablogfront h6,
    #prestablogauthor h1,
    #prestablogauthor h2,
    #prestablogauthor .prestablogtitle {
        text-align: left;
        padding-top: 0px;
        padding-bottom: 0px;
        border-top: 0px solid #bfbfbf;
        border-bottom: 0px solid #bfbfbf;
        overflow: hidden;
        margin: 24px 0px 12px 0px;
    }

    div.prestablog_pagination {
        text-align: center;
        margin: 30px 0px;

        a,
        span {
            letter-spacing: 0;
            padding: 0;
            margin: 0 4px;
            border-radius: 50%;
            line-height: 25px;
            text-align: center;
            display: inline-block;
            width: 25px;
            height: 25px;
            font-size: 12px;
            font-weight: 700;
            border: unset !important;

            &:hover {
                border-radius: 0 !important;
            }



            &.current {
                background: #1E3459 !important;
                color: #fff !important;
                border: unset !important;
                border-radius: 0 !important;
            }
        }
    }

    #blog_list_1-7.three_article {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 28px;
        padding: 0px;
        position: static !important;
        height: auto !important;


        li.blog-grid {
            position: static !important;
            width: 100% !important;
            padding: 0px !important;

            .block_cont {

                .block_bas {
                    .date_blog-cat {
                        display: block !important;
                        font-size: 12px;
                        color: var(--text-color);
                        text-transform: none;
                        margin-top: 8px;
                        ;
                    }
                }

                .prestablog_more {
                    display: block;
                    width: 100%;

                    a.blog_link {
                        display: inline-block;
                        border-radius: 0px;
                        font-size: 12px;
                        font-weight: 700;
                        padding: 4px 15px 5px 15px;
                        background-color: var(--accent-color-2);
                        border: 0px solid #fff;
                        color: #fff;
                        height: auto;
                        margin-top: 14px;
                    }
                }

            }
        }
    }

}

/* ==========================================================================
   CART PAGE STYLING (KOSZYK) - CUSTOM STYLES
   ========================================================================== */

.przelewy24-calculator-button {
    display: none !important;
}

/* --- Left Block: Cart Products Container & Title --- */
#cart #main {
    padding-top: 20px;
}

#cart .cart-grid-body .no-items {
    width: 100%;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    color: #aaa;
    padding: 49px 0px !important;
    display: block;
}

#cart .cart-overview.js-cart {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: var(--border-radius);
    padding: 64px 0px;
    margin-bottom: 20px;
    font-weight: 700;
    color: #aaa;
}

#cart .cart-grid-body .card.cart-container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Shopping Cart H1 Title above the box */
#cart .cart-grid-body .card-block {
    padding: 0 0 15px 0 !important;
}

#cart .cart-grid-body h1.h4 {
    font-size: 26px;
    font-weight: 700;
    color: var(--primary-color);
    margin: 0;
    text-transform: none;
}

/* Hide default separator line after H1 inside cart-container */
#cart .cart-grid-body hr.separator {
    display: none !important;
}

/* The actual list container - styled as the white card with border */
#cart .cart-overview.js-cart {
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: var(--border-radius);
    padding: 24px;
    margin-bottom: 20px;
}

/* Reset ul.cart-items list default styles */
#cart .cart-items {
    margin: 0;
    padding: 0;
    list-style: none;
}

#cart .cart-item {
    padding: 20px 0;
    border-bottom: 1px solid #f0f0f0;
}

#cart .cart-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

#cart .cart-item:first-child {
    padding-top: 0;
}

/* Global product-line-grid relative positioning */
#cart .product-line-grid {
    position: relative !important;
}

#cart .product-line-grid-right.product-line-actions {
    position: static !important;

}

/* --- Product Item Line Grid --- */
@media (min-width: 992px) {
    #cart .product-line-grid {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 !important;
    }

    #cart .product-line-grid-img {
        flex: 0 0 100px !important;
        width: 100px !important;
        max-width: 100px !important;
        padding: 0 !important;
        margin-right: 24px !important;
    }

    #cart .product-line-grid-left {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
        margin-right: 24px !important;
        max-width: 300px !important;
    }

    #cart .product-line-grid-right.product-line-actions {
        flex: 1 1 50% !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
    }

    #cart .product-line-grid-right.product-line-actions .vertical-centered {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        width: 100% !important;
        gap: 0 !important;
    }

    #cart .product-line-grid-right.product-line-actions .col-md-9 {
        width: 100% !important;
        max-width: none !important;
        flex: 1 1 auto !important;
        padding: 0 !important;
    }

    #cart .product-line-grid-right.product-line-actions .qty-wrap {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding-right: 0px !important;
        padding-left: 20px !important;
        margin: 0 !important;

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

    #cart .product-line-grid-right.product-line-actions .qty-wrap .col-md-8 {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
    }

    #cart .product-line-grid-right.product-line-actions .qty-wrap .price {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
        text-align: right !important;
    }
}

/* Image container styling */
#cart .product-line-grid-img span.product-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    padding: 6px;
    background: #fff;
}

/* Product Info (Title & Attributes) */
#cart .product-line-info {
    margin-bottom: 6px;
}

#cart .product-line-info a.label {
    font-size: 20px !important;
    font-weight: 400 !important;
    color: var(--text-color) !important;
    text-decoration: none !important;
    line-height: 1.4 !important;
    transition: color var(--transition-speed) !important;
}

#cart .product-line-info a.label:hover {
    color: var(--accent-color-2) !important;
}

/* Stacked attributes */
#cart .product-line-attribute {
    font-size: 13px !important;
    color: #555555 !important;
    margin: 4px 0 0 0 !important;
}

#cart .product-line-attribute .attr-name {
    color: #777777 !important;
    font-weight: 400 !important;
}

#cart .product-line-attribute .value {
    color: #333333 !important;
    font-weight: 500 !important;
}

/* Hide unit price on desktop as per layout mockup */
#cart .product-line-grid-left .product-line-price {
    display: none !important;
}

/* --- Quantity Selector --- */
#cart .qty {
    position: relative !important;
    display: inline-block !important;
}

/* Style select dropdown box */
#cart select.qty-select {
    width: 110px !important;
    height: 60px !important;
    padding: 0 35px 0 16px !important;
    border: 1px solid #dcdcdc !important;
    border-radius: 0px !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    color: var(--text-color) !important;
    background-color: #fff !important;
    background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%234A4A4A%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 12px top 50% !important;
    background-size: 10px auto !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    cursor: pointer !important;
    outline: none !important;
}

#cart select.qty-select:focus {
    border-color: var(--primary-color) !important;
}

.cart-grid-right {
    margin-top: 0px;
}

/* --- Total Price for Line --- */
#cart .product-line-actions .product-price {
    font-size: 32px !important;
    font-weight: 600 !important;
    color: #1e1e1e !important;
    white-space: nowrap !important;
    font-family: "Open Sans", Arial, sans-serif;
}

/* --- Remove Button Wrapper (x) --- */
#cart .remove-item-wrap {
    position: absolute !important;
    top: 0px !important;
    right: 0px !important;
    width: 24px !important;
    height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 10 !important;
}

#cart .remove-from-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #fff !important;
    color: #cccccc !important;
    text-decoration: none !important;
    transition: all var(--transition-speed) ease !important;
}

#cart .remove-from-cart:hover {
    transform: scale(1.1);
}

#cart .remove-from-cart i.material-icons {
    font-size: 13px !important;
    color: #a5a5a5 !important;
    line-height: 1 !important;
    font-weight: 300 !important;
    margin: 0 !important;
    float: none !important;
    width: 19px;
    height: 19px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid #a5a5a5;
    background: #fff;
}

#cart .input-group.bootstrap-touchspin {
    position: absolute;
    transform: translateX(-400vw);
}

#cart #reward_loyalty,
#cart #reward_use {
    display: none;
}

/* --- Continue Shopping Button --- */
#cart .shopping-continue {
    margin-top: 15px;
    display: none;
}

#cart .shopping-continue .btn-primary {
    background-color: transparent !important;
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    border-radius: 0px;
    padding: 0 24px;
    height: 44px;
    line-height: 42px;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    transition: all var(--transition-speed) ease;
}

#cart .shopping-continue .btn-primary:hover {
    background-color: var(--primary-color) !important;
    color: #fff !important;
}


/* --- Right Block: Cart Summary --- */
#cart .cart-grid-right .card.cart-summary {
    background: #FBFBFB !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 0px !important;
    padding: 24px !important;
    box-shadow: none !important;
}

/* Reset nested block margins and styles */
#cart .cart-grid-right .cart-detailed-totals,
#cart .cart-grid-right .cart-summary-totals,
#cart .cart-grid-right .cart-detailed-actions,
#cart .cart-grid-right .card-block {
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
}

#cart .cart-grid-right .card-block .disabled {
    margin-top: 32px;
}

/* General subtotal lines styling */
#cart .cart-summary-line {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 15px !important;
    font-size: 14px !important;
    color: #333 !important;
}

#cart .cart-summary-line .label {
    font-weight: 400 !important;
    color: #4a4a4a !important;
    padding: 0 !important;
}

#cart #cart-subtotal-products::after,
#cart .cart-summary-line::after,
#cart .cart-summary-line div:has(small),
#cart .card-block::after {
    display: none;
}

#cart .cart-summary-line .value {
    font-weight: 500 !important;
    color: #1E1E1E !important;
}

/* Specific item highlights */
/* 1st subtotal (products count & cost) */
#cart #cart-subtotal-products {
    border-bottom: 1px solid #e5e5e5 !important;
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
}

#cart #cart-subtotal-products .value {
    font-weight: 700 !important;
    font-size: 15px !important;
    color: #1E1E1E !important;
}

/* Shipping value highlight */
#cart #cart-subtotal-shipping .value {
    font-weight: 700 !important;
    color: #1E1E1E !important;
}

/* Suma (Grand Total) Line */
#cart .cart-summary-totals {
    border-bottom: 1px solid #e5e5e5 !important;
    padding-bottom: 15px !important;
    margin-bottom: 15px !important;
}

#cart .cart-summary-totals .cart-total {
    margin: 0 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1E1E1E !important;
}

#cart .cart-summary-totals .cart-total .label {
    font-weight: 700 !important;
    color: #1E1E1E !important;
}

#cart .cart-summary-totals .cart-total .value {
    font-weight: 700 !important;
    font-size: 18px !important;
    color: #1E1E1E !important;
}

/* --- Promo Code / Voucher Block --- */
#cart .block-promo {
    border-bottom: 1px solid #e5e5e5 !important;
    padding-bottom: 15px !important;
    margin-bottom: 20px !important;
}

/* Hide "Have a promo code?" toggle button and force form to show */
#cart .block-promo .promo-code-button {
    display: none !important;
}

#cart .block-promo .promo-code.collapse {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
}

/* Style form elements for promo code */
#cart .block-promo form {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 !important;
}

#cart .block-promo form input.promo-input {
    width: 100% !important;
    height: 44px !important;
    padding: 0 16px !important;
    border: 0px solid #dcdcdc !important;
    border-radius: 0px !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    background: #fff !important;
    outline: none !important;
}

#cart .block-promo form input.promo-input::placeholder {
    color: #8c8c8c !important;
}

#cart .block-promo form button[type="submit"] {
    width: 100% !important;
    height: 44px !important;
    background-color: var(--primary-color) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background-color var(--transition-speed) ease !important;
    max-width: 260px;
    margin: 0 auto;
}

#cart .block-promo form button[type="submit"]:hover {
    background-color: #14233c !important;
}

#cart .block-promo form button[type="submit"] span {
    font-weight: 700 !important;
    font-size: 12px !important;
    color: #fff !important;
}

/* --- Checkout Action Button --- */
#cart .cart-detailed-actions {
    margin-top: 15px !important;
}

#cart .cart-detailed-actions a.btn-primary,
#cart .cart-detailed-actions button.btn-primary {
    width: 100% !important;
    background-color: var(--accent-color-2) !important;
    /* Orange #FF5A00 */
    color: #fff !important;
    border: none !important;
    border-radius: 0px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background-color var(--transition-speed) ease !important;
    cursor: pointer !important;
    max-width: 260px;
    margin: 0 auto;
    padding: 12px 30px !important;
    height: auto !important;
    line-height: 1.5 !important;
}

#cart .cart-detailed-actions a.btn-primary:hover,
#cart .cart-detailed-actions button.btn-primary:hover {
    background-color: #e04f00 !important;
}

#cart .blockreassurance_product {
    display: flex;
    flex-direction: column;
    font-size: 20px;
    gap: 25px;

    .item-product {
        width: 40px !important;
        height: 40px !important;
        display: flex !important;
        padding: 0px !important;
        align-items: center !important;
        justify-content: center !important;

        svg {
            width: 100%;
            height: auto;

            fill: #1E3459;

            path {
                fill: #1E3459;
            }
        }
    }

    div {
        display: flex;
        flex-direction: row;
        align-items: center;

        &:nth-child(3) {
            .item-product {
                svg {
                    max-width: 31px;
                }
            }
        }
    }

    p {
        font-size: 20px;
        font-weight: 400;
        margin-bottom: 0px;
    }
}

#cart .ets_crosssell_list_blocks {
    .featured-products {
        .products {
            .product-miniature {
                @media (max-width: 580px) {
                    flex-basis: 100% !important;
                    width: 100% !important;
                    max-width: 100% !important;
                    justify-content: center !important;

                    .thumbnail-container {
                        justify-content: start !important;
                        align-items: center !important;

                        .thumbnail-container-image {
                            text-align: center;
                            width: 100%;

                        }
                    }
                }
            }
        }
    }
}

/* --- Responsiveness: Mobile Adjustments --- */
@media (max-width: 991px) {
    #cart .cart-overview.js-cart {
        padding: 16px;
    }

    #cart .product-line-grid {
        position: relative;
    }

    #cart .product-line-grid-img {
        width: 80px;
        max-width: 80px;
        margin-bottom: 10px;
        float: left;
    }

    #cart .product-line-grid-left {
        width: calc(100% - 20px);
        max-width: 300px;
        float: left;
        margin-bottom: 10px;
        margin-left: 20px !important;
    }

    #cart .product-line-grid-right.product-line-actions {
        width: 100%;
        clear: both;
        border-top: 1px dashed #f0f0f0;
        padding-top: 10px;
        margin-top: 5px;
        margin-left: 20px !important;
    }

    #cart .product-line-grid-right.product-line-actions .vertical-centered {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    #cart .product-line-grid-right.product-line-actions .qty-wrap {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
    }

    #cart select.qty-select {
        width: 95px !important;
        height: 40px !important;
        padding: 0 25px 0 10px !important;
        background-position: right 8px top 50% !important;
    }

    #cart .product-price {
        font-size: 20px !important;
    }
}

/* --- Cart: Wybrane dla Ciebie (Additional Products Order) --- */
#cart .lineven-additionalproductsorder {
    background: #fbfbfb !important;
    padding: 16px !important;
    border-radius: 0px !important;
    margin-top: 30px !important;
}

#cart .lineven-additionalproductsorder .card-block {
    padding: 0 !important;
}

#cart .lineven-additionalproductsorder .header-title {
    font-size: 0 !important;
    color: var(--primary-color) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin: 0 0 15px 0 !important;
    line-height: 1.2 !important;
    border: none !important;
}

#cart .lineven-additionalproductsorder .header-title::before {
    content: "WYBRANE DLA CIEBIE" !important;
    font-size: 20px !important;
    letter-spacing: 0.5px !important;
    padding-left: 13px;
}

#cart .lineven-additionalproductsorder hr.header-hr {
    border: none !important;
    height: 2px !important;
    background-color: var(--primary-color) !important;
    margin: 0 0 24px 0 !important;
    opacity: 1 !important;
}

#cart .lineven-additionalproductsorder .apo-products {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

#cart .lineven-additionalproductsorder .apo-product {
    display: grid !important;
    grid-template-columns: 140px 1fr !important;
    grid-template-rows: auto auto !important;
    column-gap: 30px !important;
    row-gap: 15px !important;
    align-items: start !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
}

#cart .lineven-additionalproductsorder .product-image {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    background: #fff !important;
    border: 1px solid #e5e5e5 !important;
    border-radius: 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    aspect-ratio: 1 / 1 !important;
    padding: 10px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    transition: border-color var(--transition-speed) ease !important;
    float: none !important;
    margin: 0 !important;
}

#cart .lineven-additionalproductsorder .product-image:hover {
    border-color: var(--primary-color) !important;
}

#cart .lineven-additionalproductsorder .product-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#cart .lineven-additionalproductsorder .container-description {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
    max-width: none !important;
}

#cart .lineven-additionalproductsorder .product-name {
    margin: 0 !important;
    padding: 0 !important;
}

#cart .lineven-additionalproductsorder .product-name a {
    text-decoration: none !important;
}

#cart .lineven-additionalproductsorder .product-name span {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    line-height: 1.3 !important;
    display: block !important;
}

#cart .lineven-additionalproductsorder .product-name a:hover span {
    text-decoration: underline !important;
}

#cart .lineven-additionalproductsorder .product-description {
    display: none !important;
}

#cart .lineven-additionalproductsorder .price.product-price {
    margin: 0 !important;
    padding: 0 !important;
}

#cart .lineven-additionalproductsorder .price.product-price .current-price {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--accent-color-3) !important;
    line-height: 1 !important;
    display: inline-block !important;
}

#cart .lineven-additionalproductsorder .buttons {
    grid-column: 2 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
}

#cart .lineven-additionalproductsorder-section .list-a {
    margin: 0 !important;
}

#cart .lineven-additionalproductsorder .buttons a.btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 46px !important;
    background-color: var(--primary-color) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 0 40px !important;
    border: none !important;
    border-radius: 0px !important;
    cursor: pointer !important;
    transition: background-color var(--transition-speed) ease !important;
    width: 100% !important;
    max-width: 280px !important;
}

#cart .lineven-additionalproductsorder .buttons a.btn-primary:hover {
    background-color: var(--accent-color-2) !important;
}

#cart .lineven-additionalproductsorder .buttons a.btn-primary span {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #fff !important;
}

@media (max-width: 767px) {
    #cart .lineven-additionalproductsorder {
        padding: 20px !important;
    }

    #cart .lineven-additionalproductsorder .apo-product {
        grid-template-columns: 100px 1fr !important;
        column-gap: 20px !important;
        row-gap: 10px !important;
    }

    #cart .lineven-additionalproductsorder .product-name span {
        font-size: 16px !important;
    }

    #cart .lineven-additionalproductsorder .price.product-price .current-price {
        font-size: 20px !important;
    }

    #cart .lineven-additionalproductsorder .buttons a.btn-primary {
        height: 40px !important;
        padding: 0 20px !important;
        font-size: 11px !important;
        width: 100% !important;
    }
}

.ets_crosssell_cart_page {
    ul {
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;

        .ets_crosssell_title {
            font-weight: 700;
            font-size: 36px;
            color: var(--primary-color);
            position: relative;
            text-align: center;
            display: block;
            border: none;
            overflow: visible;

            span {
                color: #000;
                background: #fff;
                padding: 0 60px;
                position: relative;
            }

            &:before {
                content: "";
                background-color: var(--primary-color);
                height: 3px;
                top: 50%;
                max-width: 810px;
                left: calc((100% - 810px) / 2);
                width: 100%;
                position: absolute;
            }
        }

        .slick-track {
            width: 100% !important;
        }

        ul.ets_cs_sub_categories.cart {
            text-align: center;
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
        }
    }
}

body#checkout section.checkout-step.-reachable.-complete h1 .done {
    display: none;
}

body#checkout #cart-subtotal-products,
body#checkout .cart-total.cart-summary-line {
    border-top: 1px solid #1E3459 !important;
}

body#checkout section.checkout-step {
    position: relative;
}

body#checkout section.checkout-step:first-child .step-title {
    color: var(--text-color);
}

body#checkout section.checkout-step .js-address-form form,
body#checkout section.checkout-step.-current .content .js-address-form form>p {
    font-size: 16px;
    color: var(--text-color);
}

body#checkout section.checkout-step .form-control {
    border-radius: 0px !important;
    border-color: #d7dbe2 !important;
    border-width: 1px !important;

}

body#checkout section.checkout-step .form-group label {
    color: var(--text-color);
    font-size: 16px;
}

body#checkout .desktop-step-status,
body#checkout .blockreassurance_product {
    display: none;
}

body#checkout .custom-checkbox label {
    display: flex;
    align-items: baseline;
    justify-content: center;

}

body#checkout .custom-checkbox input {
    width: 29px;
    height: 29px;
}

body#checkout section.checkout-step .form-group.addresses-checkout {
    width: 100%;
}

body#checkout .invoice-checkbox-group {
    position: absolute;
    width: 100%;
    left: 5px;
    top: 35px;

    @media (max-width:767px) {
        position: static;
    }
}

body#checkout section.checkout-step .form-group.addresses-checkout .custom-checkbox label span,
body#checkout .invoice-checkbox-group .custom-checkbox label span {
    border: unset;
    width: 29px;
    min-width: 29px;
    height: 29px !important;
    border-radius: 0px !important;
    background-color: #cbcbcc !important;
}

body#checkout .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#checkout .invoice-checkbox-group .custom-checkbox label span .checkbox-checked {
    width: 29px;
    height: 29px !important;
    background-color: var(--primary-color) !important;
    color: #fff;

    svg {
        stroke: #fff !important;
        fill: #fff !important;

        path {
            stroke: #fff !important;
            fill: #fff !important;
        }
    }
}

body#checkout section.checkout-step .form-group.addresses-checkout .custom-checkbox p,
body#checkout .invoice-checkbox-group .custom-checkbox p {
    margin-bottom: 0px !important;
    transform: translateY(4px);
}

body#checkout section.checkout-step .btn-primary.continue,
body#checkout .form-footer .btn.btn-primary {
    max-width: 260px;
    width: 100%;
}

body#checkout section.checkout-step #delivery-addresses,
body#checkout section.checkout-step #invoice-addresses {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;

    @media (max-width:991px) {
        margin-left: 0;
        margin-right: 0;
    }

    @media (max-width:767px) {
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .address-item {
        width: 100%;
        max-width: 100%;
        border: 1px solid #cbcbcc;
        border-radius: 0px;
        background-color: #fbfbfb;

        @media (max-width:991px) {
            margin-left: 0;
            margin-right: 0;
        }

        &.selected {
            background-color: #fbfbfb;
            border-color: var(--primary-color);
        }
    }
}

body#checkout section.checkout-step .add-address+h2.h4 {
    margin-top: 62px;
}

body#checkout section.checkout-step {
    .add-address {
        margin-bottom: 24px;

        a {
            display: inline-flex;
            justify-content: center;
            align-items: center;
            height: auto;
            background-color: transparent !important;
            color: var(--primary-color) !important;
            border: 1px solid var(--primary-color) !important;
            border-radius: 0px;
            padding: 10px 24px;
            height: 44px;
            font-size: 13px;
            font-weight: 700;
            text-transform: uppercase;
            transition: all var(--transition-speed) ease;

            &:hover {
                background-color: var(--primary-color) !important;
                color: #fff !important;
            }
        }
    }

}

#hook-display-before-carrier {
    padding: 24px;
    border: 1px solid #e5e5e5;

    section {
        .row {
            @media (max-width:768px) {
                display: flex;
                flex-direction: column;
                gap: 20px;
            }
        }
    }

    .text-center {
        p {
            font-size: 18px;
            font-weight: 400;
            margin-bottom: 24px !important;

            @media (max-width:767px) {
                font-size: 14px;
            }
        }

        a.invoiceorbill {
            margin: 0px !important;

            .btn {
                border: 1px solid var(--primary-color) !important;
            }

            &.btn-default {
                background-color: transparent !important;
                color: var(--primary-color) !important;
                border: 1px solid var(--primary-color) !important;
                border-radius: 0px;
                padding: 13px 16px;
                font-size: 13px;
                font-weight: 400;
                text-transform: uppercase;
                transition: all var(--transition-speed) ease;

                &:hover {
                    background-color: var(--primary-color) !important;
                    color: #fff !important;
                }
            }
        }
    }
}

body#checkout section.checkout-step .delivery-option {
    background: #fafafa;
    border: 1px solid #e5e5e5;
    border-radius: 0px;
    padding: 18px 19px 20px;
    margin: 0 0 10px;
    display: flex;
    align-items: center;

    .carrier-price {
        text-align: right;
        color: var(--primary-color);
        font-weight: 700;
    }

    .carrier-delay {
        font-size: 12px;
    }

    .carrier-logo {
        @media (max-width:480px) {
            margin-bottom: 12px;
        }

    }
}

body#checkout #delivery textarea,
body#checkout #gift_message textarea {
    border-radius: 0px;
    border-width: 1px !important;
}

body#checkout section.checkout-step .payment-options .payment-option {
    margin-bottom: 12px !important;

    label {
        span {
            font-size: 16px;
            font-weight: 400;
            color: var(--text-color);
        }
    }
}

body#checkout section.checkout-step .custom-radio {
    border-radius: 0px;
    border-width: 1px !important;
    border-color: #e5e5e5 !important;
    width: 25px;
    height: 25px;
    position: relative;
}

body#checkout section.checkout-step .custom-radio input[type="radio"] {
    width: 25px;
    height: 25px;
    border-radius: 0px;
}

body#checkout section.checkout-step .custom-radio input[type="radio"]:checked+span {
    background: var(--primary-color);
    width: 25px;
    height: 25px;
    border-radius: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0px;
    top: 0px;
}

body#checkout section.checkout-step .custom-radio input[type="radio"]:checked+span::after {
    font-family: Material Icons;
    font-weight: 400;
    font-style: normal;
    content: "";
    color: #fff;
}

body#checkout section.checkout-step .payment-options .payment-option label {
    display: inline-flex;
    gap: 16px;
    align-items: center;
    justify-content: center;
}

body#checkout section.checkout-step #conditions-to-approve {
    .custom-checkbox {
        border-radius: 0px;
        border: 1px solid #e5e5e5 !important;
        width: 25px;
        height: 25px;
        position: relative;

        input {
            width: 25px;
            height: 25px;
            border-radius: 0px;
            border: 0px solid #fff !important;
            position: relative;
            z-index: 2;
        }

        span {
            width: 25px;
            height: 25px;
            border-radius: 0px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            left: 0px;
            top: 0px;
            border: 0px solid #fff;
        }

        input:checked+span {
            background: var(--primary-color) !important;
            width: 25px;
            height: 25px;
            border-radius: 0px;
            display: flex;
            align-items: center;
            justify-content: center;
            position: absolute;
            left: 0px;
            top: 0px;
            margin-top: 0px !important;

            &::after {
                font-family: Material Icons;
                font-weight: 400;
                font-style: normal;
                content: "";
                color: #fff
            }
        }
    }

    .condition-label {
        label {
            font-size: 16px;
            font-weight: 400;
            color: var(--text-color);

            a {
                color: #2FB5D3;

                &:hover {
                    color: var(--accent-color-2);
                }
            }
        }
    }
}

body#checkout section.checkout-step #conditions-to-approve input[type="checkbox"]:checked+span .checkbox-checked {
    display: none !important;
}

body#checkout #js-checkout-summary {
    .cart-summary-products {
        .show-details-cart {
            font-size: 16px;
            font-weight: 700;
            color: var(--text-color);
        }
    }

    .cart-summary-subtotals-container {
        .value {
            font-size: 16px;
            font-weight: 700;
            color: var(--text-color);
        }
    }

    .block-promo {
        display: none;
    }

    .cart-total {

        .value,
        .label {
            font-size: 24px;
            font-weight: 700;
            color: var(--text-color);
            line-height: 1.5;
        }
    }

    .cart-summary-line.cart-total {
        margin-top: 0;
        padding-top: 10px;
    }
}

#payment-confirmation {
    .ps-shown-by-js {
        .btn-primary {
            color: #fff !important;
            background-color: var(--accent-color-2) !important;
            padding: 15px 60px;
            display: flex;
            align-content: center;
            justify-content: center;
            line-height: 1;
            transition: all var(--transition-speed) ease;

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

            @media (max-width: 580px) {
                width: 100%;
                padding: 15px;
            }
        }


    }
}

#cart section.featured-products {
    a.btn.btn-primary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: auto;
    }
}

/* --- Customer Account Form Styles (Matching Checkout) --- */

.customerform-wrapper .form-control,
#customer-form .form-control,
.address-form .form-control,
body#identity .form-control,
body#address .form-control,
body#addresses .form-control,
body#authentication .form-control,
body#register .form-control,
body#registration .form-control,
body#password .form-control,
body#guest-login .form-control,
body#guest-tracking .form-control {
    border-radius: 0px !important;
    border-color: #d7dbe2 !important;
    border-width: 1px !important;
    border-style: solid !important;
    background-color: #fff !important;
    background-image: none !important;
    color: #000 !important;
    padding: 13px 17px !important;
    height: auto !important;
    font-size: 14px !important;
    line-height: 24px !important;
    box-shadow: none !important;
}

/* Custom dropdown arrow for select elements */
.customerform-wrapper select.form-control,
#customer-form select.form-control,
.address-form select.form-control,
body#identity select.form-control,
body#address select.form-control,
body#addresses select.form-control,
body#authentication select.form-control,
body#register select.form-control,
body#registration select.form-control,
body#password select.form-control,
body#guest-login select.form-control,
body#guest-tracking select.form-control,
body#checkout select.form-control {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%23000000' d='M0 0h10L5 6z'/></svg>") !important;
    background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 10px 6px !important;
    padding-right: 40px !important;
    cursor: pointer !important;
}

/* Form Fields Labels */
.customerform-wrapper .form-group label,
#customer-form .form-group label,
.address-form .form-group label,
body#identity .form-group label,
body#address .form-group label,
body#addresses .form-group label,
body#authentication .form-group label,
body#register .form-group label,
body#registration .form-group label,
body#password .form-group label,
body#guest-login .form-group label,
body#guest-tracking .form-group label {
    color: var(--text-color);
    font-size: 16px;
}

/* Input Focus States */
.customerform-wrapper .form-control:focus,
#customer-form .form-control:focus,
.address-form .form-control:focus,
body#identity .form-control:focus,
body#address .form-control:focus,
body#addresses .form-control:focus,
body#authentication .form-control:focus,
body#register .form-control:focus,
body#registration .form-control:focus,
body#password .form-control:focus,
body#guest-login .form-control:focus,
body#guest-tracking .form-control:focus,
.customerform-wrapper .input-group.focus,
#customer-form .input-group.focus,
.address-form .input-group.focus,
body#identity .input-group.focus,
body#address .input-group.focus,
body#addresses .input-group.focus,
body#authentication .input-group.focus,
body#register .input-group.focus,
body#registration .input-group.focus,
body#password .input-group.focus,
body#guest-login .input-group.focus,
body#guest-tracking .input-group.focus {
    border-color: #000 !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Checkbox Labels Alignment */
.customerform-wrapper .custom-checkbox label,
#customer-form .custom-checkbox label,
.address-form .custom-checkbox label,
body#identity .custom-checkbox label,
body#address .custom-checkbox label,
body#addresses .custom-checkbox label,
body#authentication .custom-checkbox label,
body#register .custom-checkbox label,
body#registration .custom-checkbox label,
body#password .custom-checkbox label,
body#guest-login .custom-checkbox label,
body#guest-tracking .custom-checkbox label,
body#checkout .custom-checkbox label {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
}

/* Unchecked Checkbox Box */
.customerform-wrapper .custom-checkbox label span,
#customer-form .custom-checkbox label span,
.address-form .custom-checkbox label span,
body#identity .custom-checkbox label span,
body#address .custom-checkbox label span,
body#addresses .custom-checkbox label span,
body#authentication .custom-checkbox label span,
body#register .custom-checkbox label span,
body#registration .custom-checkbox label span,
body#password .custom-checkbox label span,
body#guest-login .custom-checkbox label span,
body#guest-tracking .custom-checkbox label span,
body#checkout section.checkout-step .form-group.addresses-checkout .custom-checkbox label span {
    border: 1px solid #d7dbe2 !important;
    border-radius: 0px !important;
    width: 29px !important;
    min-width: 29px !important;
    height: 29px !important;
    background-color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Checked Checkbox Icon Box */
.customerform-wrapper .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
#customer-form .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
.address-form .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#identity .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#address .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#addresses .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#authentication .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#register .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#registration .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#password .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#guest-login .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#guest-tracking .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked,
body#checkout .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked {
    width: 29px !important;
    height: 29px !important;
    margin: 0 !important;
    background-color: var(--primary-color) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

/* Checked Checkbox SVG Support (if applicable) */
.customerform-wrapper .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
#customer-form .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
.address-form .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
body#identity .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
body#address .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
body#addresses .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
body#authentication .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
body#register .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
body#registration .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
body#password .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
body#guest-login .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
body#guest-tracking .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg,
body#checkout .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg {
    stroke: #fff !important;
    fill: #fff !important;
}

.customerform-wrapper .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
#customer-form .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
.address-form .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
body#identity .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
body#address .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
body#addresses .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
body#authentication .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
body#register .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
body#registration .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
body#password .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
body#guest-login .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
body#guest-tracking .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path,
body#checkout .custom-checkbox input[type="checkbox"]:checked+span .checkbox-checked svg path {
    stroke: #fff !important;
    fill: #fff !important;
}

/* Radio Inline Wrapper Spacing */
.customerform-wrapper .radio-inline,
body#identity .radio-inline,
body#register .radio-inline,
body#registration .radio-inline {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-right: 20px !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}

/* Custom Radio Unchecked State */
.customerform-wrapper .custom-radio,
#customer-form .custom-radio,
.address-form .custom-radio,
body#identity .custom-radio,
body#address .custom-radio,
body#addresses .custom-radio,
body#authentication .custom-radio,
body#register .custom-radio,
body#registration .custom-radio,
body#password .custom-radio,
body#guest-login .custom-radio,
body#guest-tracking .custom-radio {
    border-radius: 0px !important;
    border: 1px solid #d7dbe2 !important;
    width: 25px !important;
    height: 25px !important;
    background-color: #fff !important;
    position: relative !important;
    display: inline-block !important;
}

/* Custom Radio Input Element Overlay */
.customerform-wrapper .custom-radio input[type="radio"],
#customer-form .custom-radio input[type="radio"],
.address-form .custom-radio input[type="radio"],
body#identity .custom-radio input[type="radio"],
body#address .custom-radio input[type="radio"],
body#addresses .custom-radio input[type="radio"],
body#authentication .custom-radio input[type="radio"],
body#register .custom-radio input[type="radio"],
body#registration .custom-radio input[type="radio"],
body#password .custom-radio input[type="radio"],
body#guest-login .custom-radio input[type="radio"],
body#guest-tracking .custom-radio input[type="radio"] {
    width: 25px !important;
    height: 25px !important;
    opacity: 0 !important;
    position: absolute !important;
    z-index: 2 !important;
    cursor: pointer !important;
    margin: 0 !important;
}

/* Custom Radio Checked State (Primary Color square) */
.customerform-wrapper .custom-radio input[type="radio"]:checked+span,
#customer-form .custom-radio input[type="radio"]:checked+span,
.address-form .custom-radio input[type="radio"]:checked+span,
body#identity .custom-radio input[type="radio"]:checked+span,
body#address .custom-radio input[type="radio"]:checked+span,
body#addresses .custom-radio input[type="radio"]:checked+span,
body#authentication .custom-radio input[type="radio"]:checked+span,
body#register .custom-radio input[type="radio"]:checked+span,
body#registration .custom-radio input[type="radio"]:checked+span,
body#password .custom-radio input[type="radio"]:checked+span,
body#guest-login .custom-radio input[type="radio"]:checked+span,
body#guest-tracking .custom-radio input[type="radio"]:checked+span {
    background-color: var(--primary-color) !important;
    background: var(--primary-color) !important;
    width: 25px !important;
    height: 25px !important;
    border-radius: 0px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    left: -1px !important;
    top: -1px !important;
    border: 1px solid var(--primary-color) !important;
}

/* Custom Radio Checkmark Character */
.customerform-wrapper .custom-radio input[type="radio"]:checked+span::after,
#customer-form .custom-radio input[type="radio"]:checked+span::after,
.address-form .custom-radio input[type="radio"]:checked+span::after,
body#identity .custom-radio input[type="radio"]:checked+span::after,
body#address .custom-radio input[type="radio"]:checked+span::after,
body#addresses .custom-radio input[type="radio"]:checked+span::after,
body#authentication .custom-radio input[type="radio"]:checked+span::after,
body#register .custom-radio input[type="radio"]:checked+span::after,
body#registration .custom-radio input[type="radio"]:checked+span::after,
body#password .custom-radio input[type="radio"]:checked+span::after,
body#guest-login .custom-radio input[type="radio"]:checked+span::after,
body#guest-tracking .custom-radio input[type="radio"]:checked+span::after {
    font-family: 'Material Icons' !important;
    font-weight: 400 !important;
    font-style: normal !important;
    content: "" !important;
    color: #fff !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

/* Customer Portal Submit Buttons */
.customerform-wrapper .form-footer .btn.btn-primary,
#customer-form .form-footer .btn.btn-primary,
.address-form .form-footer .btn.btn-primary,
body#identity .form-footer .btn.btn-primary,
body#address .form-footer .btn.btn-primary,
body#authentication .form-footer .btn.btn-primary,
body#register .form-footer .btn.btn-primary,
body#registration .form-footer .btn.btn-primary,
body#password .form-group .form-control-submit,
body#password button[type="submit"],
body#guest-login .form-footer .btn.btn-primary,
body#guest-tracking .form-footer .btn.btn-primary {
    max-width: 260px !important;
    width: 100% !important;
    border-radius: 0px !important;
}

/* --- My Account Page Dashboard Styles (Premium Card Layout) --- */

/* Make parent card container transparent on My Account landing page to let cards float */
.page-my-account #content.card,
body#my-account #content.card,
.page-my-account #content,
body#my-account #content {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.page-my-account h1,
.page-my-account h1.page-header,
.page-my-account .page-header h1,
body#my-account h1,
body#my-account h1.page-header,
body#my-account .page-header h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--primary-color) !important;
    text-align: center !important;
    margin-top: 15px !important;
    margin-bottom: 50px !important;
    position: relative !important;
    border: none !important;
}

.page-my-account h1::after,
.page-my-account h1.page-header::after,
body#my-account h1::after,
body#my-account h1.page-header::after {
    content: "" !important;
    display: block !important;
    width: 60px !important;
    height: 3px !important;
    background-color: var(--primary-color) !important;
    margin: 15px auto 0 auto !important;
}

/* Spacing and alignments for my account tiles */
.page-my-account #content .links,
body#my-account #content .links {
    margin: 0 -10px !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

.page-my-account #content .links a,
body#my-account #content .links a {
    padding: 0 10px !important;
    margin-bottom: 20px !important;
    text-decoration: none !important;
    display: block !important;
}

/* Card item styling */
.page-my-account #content .links a span.link-item,
body#my-account #content .links a span.link-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background-color: #fff !important;
    border: 1px solid #d7dbe2 !important;
    border-radius: 0px !important;
    padding: 35px 20px !important;
    min-height: 180px !important;
    height: 100% !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    transition: all 0.25s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    color: var(--primary-color) !important;
    text-transform: uppercase !important;
    line-height: 1.4 !important;
}

/* Icon inside cards (reset spacing and sizing) */
.page-my-account #content .links a span.link-item i,
body#my-account #content .links a span.link-item i,
.page-my-account #content .links a i,
body#my-account #content .links a i {
    font-size: 32px !important;
    color: var(--primary-color) !important;
    margin-bottom: 18px !important;
    padding-bottom: 0px !important;
    height: auto !important;
    width: auto !important;
    display: inline-block !important;
    transition: transform 0.25s ease !important;
}

/* Card Hover Micro-interactions */
.page-my-account #content .links a:hover span.link-item,
body#my-account #content .links a:hover span.link-item {
    border-color: var(--primary-color) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.06) !important;
    transform: translateY(-5px) !important;
}

.page-my-account #content .links a:hover span.link-item i,
body#my-account #content .links a:hover span.link-item i,
.page-my-account #content .links a:hover i,
body#my-account #content .links a:hover i {
    transform: scale(1.15) !important;
}

/* Logout link button style in the footer */
.page-my-account .text-sm-center,
body#my-account .text-sm-center,
.page-my-account .page-footer,
body#my-account .page-footer {
    margin-top: 50px !important;
    margin-bottom: 30px !important;
    text-align: center !important;
}

.page-my-account .text-sm-center a[href*="logout"],
body#my-account .text-sm-center a[href*="logout"],
.page-my-account .page-footer a[href*="logout"],
body#my-account .page-footer a[href*="logout"],
.page-my-account a[href*="logout"],
body#my-account a[href*="logout"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--primary-color) !important;
    color: var(--primary-color) !important;
    background-color: transparent !important;
    padding: 12px 36px !important;
    min-width: 220px !important;
    height: 46px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 0px !important;
    transition: all 0.25s ease !important;
    text-decoration: none !important;
}

.page-my-account .text-sm-center a[href*="logout"]:hover,
body#my-account .text-sm-center a[href*="logout"]:hover,
.page-my-account .page-footer a[href*="logout"]:hover,
body#my-account .page-footer a[href*="logout"]:hover,
.page-my-account a[href*="logout"]:hover,
body#my-account a[href*="logout"]:hover {
    background-color: var(--primary-color) !important;
    color: #fff !important;
}

/* Customer pages back/home footer links */
.page-footer a.account-link,
body .page-footer a.account-link {
    display: inline-flex !important;
    align-items: center !important;
    color: var(--primary-color) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    margin-right: 30px !important;
    margin-top: 20px !important;
    transition: color 0.2s ease !important;
    text-decoration: none !important;
}

.page-footer a.account-link:hover,
body .page-footer a.account-link:hover {
    color: var(--accent-color-2) !important;
}

.page-footer a.account-link i,
body .page-footer a.account-link i {
    font-size: 18px !important;
    margin-right: 8px !important;
}

/* --- Customer Addresses Page Styles (Checkout-style Cards) --- */

/* Make parent card container transparent on My Account addresses page to let cards float */
body#addresses #content.card,
body#addresses #content {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    flex-wrap: wrap !important;
}

body#addresses h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--primary-color) !important;
    margin-top: 15px !important;
    margin-bottom: 30px !important;
    border: none !important;
}

/* Address Card Box - Matches Checkout style */
.page-addresses .address,
body#addresses .address {
    background-color: #fff !important;
    border: 1px solid #cbcbcc !important;
    border-radius: 0px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    height: calc(100% - 30px) !important;
    /* leaves spacing below */
    margin-bottom: 30px !important;
    box-shadow: none !important;
    transition: border-color var(--transition-speed) ease, box-shadow var(--transition-speed) ease !important;
    width: 100% !important;
}

.page-addresses .address:hover,
body#addresses .address:hover {
    border-color: var(--primary-color) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05) !important;
}

/* Card Body */
.page-addresses .address .address-body,
body#addresses .address .address-body {
    padding: 24px 20px !important;
    flex-grow: 1 !important;
}

.page-addresses .address .address-body h4,
body#addresses .address .address-body h4 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    margin-top: 0 !important;
    margin-bottom: 15px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

.page-addresses .address .address-body address,
body#addresses .address .address-body address {
    font-style: normal !important;
    font-size: 14px !important;
    color: var(--text-color) !important;
    line-height: 1.6 !important;
    min-height: unset !important;
    /* Reset default 9rem height */
    margin-bottom: 0 !important;
}

/* Shaded footer actions bar - Matches checkout card action footer */
.page-addresses .address .address-footer,
body#addresses .address .address-footer {
    background-color: #f8f9fa !important;
    border-top: 1px solid #d7dbe2 !important;
    padding: 12px 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 20px !important;
    margin-top: auto !important;
    /* push to bottom */
}

.page-addresses .address .address-footer a,
body#addresses .address .address-footer a {
    color: var(--text-color) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    transition: color var(--transition-speed) ease !important;
    text-transform: capitalize !important;
    /* Capitalizes 'Uaktualnij' / 'Usuń' */
}

.page-addresses .address .address-footer a:hover,
body#addresses .address .address-footer a:hover {
    color: var(--accent-color-2) !important;
    /* orange accent color or brand primary */
}

.page-addresses .address .address-footer a i,
body#addresses .address .address-footer a i {
    font-size: 16px !important;
    margin-right: 6px !important;
    color: var(--primary-color) !important;
}

/* Add New Address Button - Matches checkout '+ DODAJ NOWY ADRES' */
.page-addresses .addresses-footer,
body#addresses .addresses-footer {
    width: 100% !important;
    margin-top: 30px !important;
    margin-bottom: 30px !important;
    text-align: left !important;
    clear: both !important;
}

.page-addresses .addresses-footer a,
body#addresses .addresses-footer a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--primary-color) !important;
    color: var(--primary-color) !important;
    background-color: transparent !important;
    padding: 12px 28px !important;
    height: 46px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 0px !important;
    transition: all var(--transition-speed) ease !important;
    text-decoration: none !important;

    span {
        margin: 0px !important;
    }
}

.page-addresses .addresses-footer a:hover,
body#addresses .addresses-footer a:hover {
    background-color: var(--primary-color) !important;
    color: #fff !important;
}

.page-addresses .addresses-footer a i,
body#addresses .addresses-footer a i {
    font-size: 18px !important;
    margin-right: 8px !important;
}

/* --- Customer Order History Page Styles --- */

/* Make parent card container transparent on Order History page */
body#history #content.card,
body#history #content,
.page-history #content.card,
.page-history #content {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Title and description header */
body#history h1,
.page-history h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--primary-color) !important;
    margin-top: 15px !important;
    margin-bottom: 20px !important;
    border: none !important;
}

body#history #content h6,
.page-history #content h6 {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: var(--text-color) !important;
    margin-bottom: 30px !important;
    line-height: 1.5 !important;
}

/* Orders list table */
body#history table.table,
.page-history table.table {
    background-color: #fff !important;
    border: 1px solid #cbcbcc !important;
    border-radius: 0px !important;
    border-collapse: collapse !important;
    margin-bottom: 30px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    width: 100% !important;
}

body#history table.table thead th,
.page-history table.table thead th {
    background-color: #f8f9fa !important;
    color: var(--primary-color) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: 1px solid #d7dbe2 !important;
    border-bottom: 2px solid #cbcbcc !important;
    padding: 14px 16px !important;
    vertical-align: middle !important;
}

body#history table.table tbody td,
body#history table.table tbody th,
.page-history table.table tbody td,
.page-history table.table tbody th {
    padding: 14px 16px !important;
    font-size: 14px !important;
    color: var(--text-color) !important;
    vertical-align: middle !important;
    border: 1px solid #d7dbe2 !important;
}

/* Bold reference and price */
body#history table.table tbody th[scope="row"],
.page-history table.table tbody th[scope="row"] {
    font-weight: 700 !important;
    color: var(--primary-color) !important;
}

body#history table.table tbody td.text-xs-right,
.page-history table.table tbody td.text-xs-right {
    font-weight: 700 !important;
    color: var(--primary-color) !important;
}

/* Status Badge */
body#history .label.label-pill,
.page-history .label.label-pill,
body#order-detail .label.label-pill,
.page-order-detail .label.label-pill {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    padding: 6px 12px !important;
    border-radius: 0px !important;
    display: inline-block !important;
}

/* Table action links */
body#history table.table tbody td.order-actions a,
.page-history table.table tbody td.order-actions a {
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    margin: 0 8px !important;
    display: inline-block !important;
    transition: color var(--transition-speed) ease !important;
}

body#history table.table tbody td.order-actions a[data-link-action="view-order-details"],
.page-history table.table tbody td.order-actions a[data-link-action="view-order-details"] {
    color: var(--primary-color) !important;
}

body#history table.table tbody td.order-actions a[data-link-action="view-order-details"]:hover,
.page-history table.table tbody td.order-actions a[data-link-action="view-order-details"]:hover {
    color: var(--accent-color-2) !important;
}

body#history table.table tbody td.order-actions a:not([data-link-action="view-order-details"]),
.page-history table.table tbody td.order-actions a:not([data-link-action="view-order-details"]) {
    color: var(--accent-color-2) !important;
}

body#history table.table tbody td.order-actions a:not([data-link-action="view-order-details"]):hover,
.page-history table.table tbody td.order-actions a:not([data-link-action="view-order-details"]):hover {
    color: var(--primary-color) !important;
}

/* Invoice icons */
body#history table.table tbody td a i.material-icons,
.page-history table.table tbody td a i.material-icons {
    color: var(--primary-color) !important;
    font-size: 20px !important;
    transition: color var(--transition-speed) ease !important;
}

body#history table.table tbody td a i.material-icons:hover,
.page-history table.table tbody td a i.material-icons:hover {
    color: var(--accent-color-2) !important;
}

/* Mobile orders list styling */
body#history .orders,
.page-history .orders {
    margin-top: 20px !important;
}

body#history .orders .order,
.page-history .orders .order {
    background-color: #fff !important;
    border: 1px solid #cbcbcc !important;
    border-radius: 0px !important;
    padding: 20px !important;
    margin-bottom: 20px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    transition: border-color var(--transition-speed) ease !important;
}

body#history .orders .order:hover,
.page-history .orders .order:hover {
    border-color: var(--primary-color) !important;
}

body#history .orders .order h3,
.page-history .orders .order h3 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    margin: 0 0 10px 0 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

body#history .orders .order a,
.page-history .orders .order a {
    text-decoration: none !important;
}

body#history .orders .order .date,
.page-history .orders .order .date {
    font-size: 13px !important;
    color: var(--text-color) !important;
    margin-bottom: 5px !important;
}

body#history .orders .order .total,
.page-history .orders .order .total {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    margin-bottom: 8px !important;
}

body#history .orders .order .status,
.page-history .orders .order .status {
    margin-top: 5px !important;
}

body#history .orders .order i.material-icons,
.page-history .orders .order i.material-icons {
    font-size: 22px !important;
    color: var(--primary-color) !important;
    margin-bottom: 12px !important;
    transition: color var(--transition-speed) ease !important;
}

body#history .orders .order i.material-icons:hover,
.page-history .orders .order i.material-icons:hover {
    color: var(--accent-color-2) !important;
}


/* --- Customer Order Details Page Styles --- */

/* Make parent card container transparent on Order Details page */
body#order-detail #content.card,
body#order-detail #content,
.page-order-detail #content.card,
.page-order-detail #content {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Page Title styling */
body#order-detail h1,
.page-order-detail h1 {
    font-size: 28px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: var(--primary-color) !important;
    margin-top: 15px !important;
    margin-bottom: 30px !important;
    border: none !important;
}

/* Box container styling on Order Detail page */
body#order-detail .box,
.page-order-detail .box {
    background-color: #fff !important;
    border: 1px solid #cbcbcc !important;
    border-radius: 0px !important;
    padding: 24px 20px !important;
    margin-bottom: 25px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
    transition: border-color var(--transition-speed) ease !important;
}

body#order-detail .box:hover,
.page-order-detail .box:hover {
    border-color: var(--primary-color) !important;
}

/* Heading styles inside boxes */
body#order-detail .box h3,
.page-order-detail .box h3,
body#order-detail .box h4,
.page-order-detail .box h4 {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    margin-top: 0 !important;
    margin-bottom: 18px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: none !important;
}

/* Order reference & top bar strong header */
body#order-detail #order-infos strong,
.page-order-detail #order-infos strong {
    font-size: 15px !important;
    color: var(--primary-color) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}

/* Reorder Button styling */
body#order-detail #order-infos a.button-primary,
.page-order-detail #order-infos a.button-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--primary-color) !important;
    color: var(--primary-color) !important;
    background-color: transparent !important;
    padding: 8px 20px !important;
    height: 38px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 0px !important;
    transition: all var(--transition-speed) ease !important;
    text-decoration: none !important;
}

body#order-detail #order-infos a.button-primary:hover,
.page-order-detail #order-infos a.button-primary:hover {
    background-color: var(--primary-color) !important;
    color: #fff !important;
}

/* Lists styling inside info boxes */
body#order-detail .box ul,
.page-order-detail .box ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body#order-detail .box ul li,
.page-order-detail .box ul li {
    font-size: 14px !important;
    color: var(--text-color) !important;
    line-height: 1.6 !important;
    margin-bottom: 10px !important;
}

body#order-detail .box ul li:last-child,
.page-order-detail .box ul li:last-child {
    margin-bottom: 0 !important;
}

body#order-detail .box ul li strong,
.page-order-detail .box ul li strong {
    color: var(--primary-color) !important;
    font-weight: 700 !important;
    display: inline-block !important;
    min-width: 150px !important;
}

body#order-detail .box ul li a,
.page-order-detail .box ul li a {
    color: var(--accent-color-2) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color var(--transition-speed) ease !important;
}

body#order-detail .box ul li a:hover,
.page-order-detail .box ul li a:hover {
    color: var(--primary-color) !important;
}

/* Tables styling inside Order Detail page */
body#order-detail table.table,
.page-order-detail table.table {
    border: 1px solid #cbcbcc !important;
    border-collapse: collapse !important;
    width: 100% !important;
    margin-bottom: 0px !important;
}

body#order-detail table.table thead th,
.page-order-detail table.table thead th {
    background-color: #f8f9fa !important;
    color: var(--primary-color) !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border: 1px solid #d7dbe2 !important;
    border-bottom: 2px solid #cbcbcc !important;
    padding: 12px 14px !important;
    vertical-align: middle !important;
}

body#order-detail table.table tbody td,
body#order-detail table.table tbody th,
.page-order-detail table.table tbody td,
.page-order-detail table.table tbody th {
    padding: 12px 14px !important;
    font-size: 14px !important;
    color: var(--text-color) !important;
    vertical-align: middle !important;
    border: 1px solid #d7dbe2 !important;
}

body#order-detail table.table tbody td strong a,
.page-order-detail table.table tbody td strong a {
    color: var(--primary-color) !important;
    text-decoration: none !important;
    transition: color var(--transition-speed) ease !important;
}

body#order-detail table.table tbody td strong a:hover,
.page-order-detail table.table tbody td strong a:hover {
    color: var(--accent-color-2) !important;
}

body#order-detail table.table tfoot tr td,
.page-order-detail table.table tfoot tr td {
    padding: 10px 14px !important;
    font-size: 14px !important;
    color: var(--text-color) !important;
    border: 1px solid #d7dbe2 !important;
}

body#order-detail table.table tfoot tr td:first-child,
.page-order-detail table.table tfoot tr td:first-child {
    font-weight: 600 !important;
}

body#order-detail table.table tfoot tr.line-total td,
.page-order-detail table.table tfoot tr.line-total td {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    background-color: #fcfdfe !important;
}

body#order-detail table.table tfoot tr.line-total td:last-child,
.page-order-detail table.table tfoot tr.line-total td:last-child {
    color: var(--accent-color-2) !important;
}

/* Address element style inside box */
body#order-detail article.box address,
.page-order-detail article.box address {
    font-style: normal !important;
    font-size: 14px !important;
    color: var(--text-color) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

/* Mobile layouts for order detail products and totals */
body#order-detail .order-items,
.page-order-detail .order-items {
    padding: 10px 15px !important;
}

body#order-detail .order-item,
.page-order-detail .order-item {
    padding: 15px 0 !important;
    border-bottom: 1px solid #d7dbe2 !important;
}

body#order-detail .order-item:last-child,
.page-order-detail .order-item:last-child {
    border-bottom: none !important;
}

body#order-detail .order-item .name,
.page-order-detail .order-item .name {
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    font-size: 14px !important;
    margin-bottom: 5px !important;
}

body#order-detail .order-item .ref,
.page-order-detail .order-item .ref {
    font-size: 12px !important;
    color: #888 !important;
}

body#order-detail .order-item .qty,
.page-order-detail .order-item .qty {
    font-size: 13px !important;
    color: var(--text-color) !important;
    margin-top: 8px !important;
}

body#order-detail .order-totals,
.page-order-detail .order-totals {
    padding: 15px 20px !important;
}

body#order-detail .order-total,
.page-order-detail .order-total {
    padding: 8px 0 !important;
    font-size: 14px !important;
    border-bottom: 1px solid #f1f3f6 !important;
}

body#order-detail .order-total:last-child,
.page-order-detail .order-total:last-child {
    border-bottom: none !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--primary-color) !important;
}

body#order-detail .order-total:last-child .text-xs-right,
.page-order-detail .order-total:last-child .text-xs-right {
    color: var(--accent-color-2) !important;
}

/* Order messages list & input form */
body#order-detail .messages .message,
.page-order-detail .messages .message {
    border-bottom: 1px solid #d7dbe2 !important;
    padding: 15px 0 !important;
    font-size: 14px !important;
}

body#order-detail .messages .message:last-of-type,
.page-order-detail .messages .message:last-of-type {
    border-bottom: none !important;
}

body#order-detail .messages .message .col-sm-4,
.page-order-detail .messages .message .col-sm-4 {
    font-weight: 700 !important;
    color: var(--primary-color) !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

body#order-detail .messages .message .col-sm-8,
.page-order-detail .messages .message .col-sm-8 {
    color: var(--text-color) !important;
    line-height: 1.6 !important;
}

body#order-detail textarea.form-control,
.page-order-detail textarea.form-control {
    height: auto !important;
    min-height: 100px !important;
    border-radius: 0px !important;
    border: 1px solid #cbcbcc !important;
    padding: 10px 12px !important;
    font-size: 14px !important;
    color: var(--text-color) !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
    transition: border-color var(--transition-speed) ease !important;
    width: 100% !important;
}

body#order-detail textarea.form-control:focus,
.page-order-detail textarea.form-control:focus {
    border-color: var(--primary-color) !important;
    outline: none !important;
}

body#order-detail select.form-control,
.page-order-detail select.form-control {
    border-radius: 0px !important;
    border: 1px solid #cbcbcc !important;
    height: 44px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    color: var(--text-color) !important;
    background-color: #ffffff !important;
    box-shadow: none !important;
    transition: border-color var(--transition-speed) ease !important;
    width: 100% !important;
}

body#order-detail select.form-control:focus,
.page-order-detail select.form-control:focus {
    border-color: var(--primary-color) !important;
    outline: none !important;
}

body#order-detail button[name="submitMessage"],
.page-order-detail button[name="submitMessage"] {
    background-color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    color: #ffffff !important;
    padding: 12px 30px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 0px !important;
    transition: all var(--transition-speed) ease !important;
    height: 46px !important;
    min-width: 160px !important;
    cursor: pointer !important;
}

body#order-detail button[name="submitMessage"]:hover,
.page-order-detail button[name="submitMessage"]:hover {
    background-color: var(--accent-color-2) !important;
    border-color: var(--accent-color-2) !important;
}

/* --- Customer Authentication & Registration Page Styles --- */

/* Hide social login elements completely */
.ets_solo_social_wrapper,
.ets_solo_social,
.ets_solo_or,
.ets_solo_slide_widget,
#content .ets_solo_social_wrapper,
#content .ets_solo_or {
    display: none !important;
}

/* Hide default page title header outside the card */
body#authentication header.page-header,
body#registration header.page-header,
.page-authentication header.page-header,
.page-registration header.page-header {
    display: none !important;
}

/* Make parent content card transparent */
body#authentication #content.card,
body#authentication #content,
.page-authentication #content.card,
.page-authentication #content,
body#registration #content.card,
body#registration #content,
.page-registration #content.card,
.page-registration #content {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Style the auth card title inside the card container */
.customerform-wrapper h1.auth-card-title,
.customerform-wrapper .auth-card-title {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #000000 !important;
    text-transform: none !important;
    letter-spacing: normal !important;
    text-align: center !important;
    margin-top: 0 !important;
    margin-bottom: 25px !important;
    border: none !important;
    line-height: 1.2 !important;
}

/* Hide text labels on login page to match guidelines placeholder-only style */
body#authentication .customerform-wrapper .form-group label.form-control-label,
.page-authentication .customerform-wrapper .form-group label.form-control-label {
    display: none !important;
}

/* Login/Registration centered form card box */
body#authentication .customerform-wrapper,
body#registration .customerform-wrapper,
body#password #main,
.page-authentication .customerform-wrapper,
.page-registration .customerform-wrapper {
    background-color: #f8f8f8 !important;
    border-radius: 0px !important;
    padding: 19px 40px 40px 40px !important;
    max-width: 460px !important;
    margin: 0 auto !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;

    h1.h2,
    h1 {
        font-size: 24px !important;
        font-weight: 700 !important;
        text-align: center !important;
        color: var(--primary-color);
        margin-bottom: 8px;
        margin-top: 0px;
    }
}

body#password #main {
    section.form-fields .form-group {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }
}

body#authentication .customerform-wrapper {
    padding: 19px 90px 40px 99px !important;

    .form-control {
        border: 0px solid #fff;
    }


    .row {
        margin-left: 0;
        margin-right: 0;
    }

    .login-form-forgot {
        display: flex;
        flex-direction: column;
        gap: 16px;

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

        a {
            color: var(--accent-color-3);
            width: 100%;
            text-align: center;
        }
    }

    #submit-login {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        margin: 0 auto;
    }
}

/* Form grid stacked layout for login & registration cards */
body#authentication .customerform-wrapper .form-group,
body#registration .customerform-wrapper .form-group,
.page-authentication .customerform-wrapper .form-group,
.page-registration .customerform-wrapper .form-group {
    display: block !important;
    width: 100% !important;
    margin-bottom: 20px !important;
}

body#authentication .customerform-wrapper .form-group .form-control-label,
body#registration .customerform-wrapper .form-group .form-control-label,
.page-authentication .customerform-wrapper .form-group .form-control-label,
.page-registration .customerform-wrapper .form-group .form-control-label {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    text-align: left !important;
    padding: 0 !important;
    margin-bottom: 6px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--text-color) !important;
}

body#authentication .customerform-wrapper .form-group>div[class*="col-md-"],
body#registration .customerform-wrapper .form-group>div[class*="col-md-"],
.page-authentication .customerform-wrapper .form-group>div[class*="col-md-"],
.page-registration .customerform-wrapper .form-group>div[class*="col-md-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    flex: 0 0 100% !important;
}

/* Password Input Group styling */
body#authentication .customerform-wrapper .input-group,
body#registration .customerform-wrapper .input-group,
.page-authentication .customerform-wrapper .input-group,
.page-registration .customerform-wrapper .input-group {
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    align-items: stretch !important;
}

body#authentication .customerform-wrapper .input-group .form-control.js-visible-password,
body#registration .customerform-wrapper .input-group .form-control.js-visible-password,
.page-authentication .customerform-wrapper .input-group .form-control.js-visible-password,
.page-registration .customerform-wrapper .input-group .form-control.js-visible-password {
    flex: 1 1 auto !important;
    width: 100% !important;
    padding-right: 75px !important;
    /* spacing for show-password button */
}

body#authentication .customerform-wrapper .input-group .input-group-btn,
body#registration .customerform-wrapper .input-group .input-group-btn,
.page-authentication .customerform-wrapper .input-group .input-group-btn,
.page-registration .customerform-wrapper .input-group .input-group-btn {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    height: 100% !important;
    z-index: 10 !important;
    display: flex !important;
    align-items: center !important;
    background: transparent !important;
    padding: 0 !important;
}

body#authentication .customerform-wrapper .input-group .input-group-btn button[data-action="show-password"],
body#registration .customerform-wrapper .input-group .input-group-btn button[data-action="show-password"],
.page-authentication .customerform-wrapper .input-group .input-group-btn button[data-action="show-password"],
.page-registration .customerform-wrapper .input-group .input-group-btn button[data-action="show-password"] {
    background-color: transparent !important;
    border: none !important;
    color: var(--primary-color) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    padding: 0 15px !important;
    height: 100% !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transition: color var(--transition-speed) ease !important;
    display: inline-flex !important;
    align-items: center !important;
}

body#authentication .customerform-wrapper .input-group .input-group-btn button[data-action="show-password"]:hover,
body#registration .customerform-wrapper .input-group .input-group-btn button[data-action="show-password"]:hover,
.page-authentication .customerform-wrapper .input-group .input-group-btn button[data-action="show-password"]:hover,
.page-registration .customerform-wrapper .input-group .input-group-btn button[data-action="show-password"]:hover {
    color: var(--accent-color-2) !important;
}

/* Hide duplicate SVG eye icon to keep field extremely clean */
body#authentication .customerform-wrapper .input-group .input-group-btn svg,
body#registration .customerform-wrapper .input-group .input-group-btn svg,
.page-authentication .customerform-wrapper .input-group .input-group-btn svg,
.page-registration .customerform-wrapper .input-group .input-group-btn svg {
    display: none !important;
}

/* Center reCAPTCHA */
body#authentication div.g-recaptcha,
body#registration div.g-recaptcha,
.page-authentication div.g-recaptcha,
.page-registration div.g-recaptcha {
    margin: 20px auto !important;
    display: table !important;
}

/* Center and style the navigation links inside the card (light blue matching guidelines) */
.customerform-wrapper .forgot-password-wrapper,
.customerform-wrapper .no-account-wrapper {
    text-align: center !important;
    margin: 15px 0 !important;
    width: 100% !important;
    display: block !important;
}

.customerform-wrapper .forgot-password-wrapper a,
.customerform-wrapper .no-account-wrapper a {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #2fb5d2 !important;
    text-decoration: none !important;
    transition: color var(--transition-speed) ease !important;
    display: inline-block !important;
}

.customerform-wrapper .forgot-password-wrapper a:hover,
.customerform-wrapper .no-account-wrapper a:hover {
    color: var(--accent-color-2) !important;
    text-decoration: underline !important;
}

/* Style the submit buttons block and force full-width CTA layout */
body#authentication .customerform-wrapper .form-footer,
body#registration .customerform-wrapper .form-footer,
.page-authentication .customerform-wrapper .form-footer,
.page-registration .customerform-wrapper .form-footer {
    text-align: center !important;
    margin-top: 25px !important;
    padding: 0 !important;
    width: 100% !important;
}

body#authentication .customerform-wrapper .form-footer button[type="submit"],
body#registration .customerform-wrapper .form-footer button[type="submit"],
.page-authentication .customerform-wrapper .form-footer button[type="submit"],
.page-registration .customerform-wrapper .form-footer button[type="submit"],
body#authentication .customerform-wrapper .form-footer .btn.btn-primary,
body#registration .customerform-wrapper .form-footer .btn.btn-primary,
.page-authentication .customerform-wrapper .form-footer .btn.btn-primary,
.page-registration .customerform-wrapper .form-footer .btn.btn-primary {
    background-color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    color: #fff !important;
    height: 46px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    border-radius: 0px !important;
    transition: all var(--transition-speed) ease !important;
    cursor: pointer !important;
    max-width: 100% !important;
    width: 100% !important;
    margin: 0 !important;
}

body#authentication .customerform-wrapper .form-footer button[type="submit"]:hover,
body#registration .customerform-wrapper .form-footer button[type="submit"]:hover,
.page-authentication .customerform-wrapper .form-footer button[type="submit"]:hover,
.page-registration .customerform-wrapper .form-footer button[type="submit"]:hover,
body#authentication .customerform-wrapper .form-footer .btn.btn-primary:hover,
body#registration .customerform-wrapper .form-footer .btn.btn-primary:hover,
.page-authentication .customerform-wrapper .form-footer .btn.btn-primary:hover,
.page-registration .customerform-wrapper .form-footer .btn.btn-primary:hover {
    background-color: var(--accent-color-2) !important;
    border-color: var(--accent-color-2) !important;
}

/* Style "Already have an account? Log in instead!" block on registration page */
body#registration .register-form>p,
.page-registration .register-form>p {
    text-align: center !important;
    font-size: 14px !important;
    color: var(--text-color) !important;
    margin-bottom: 25px !important;
}

body#registration .register-form>p a,
.page-registration .register-form>p a {
    font-weight: 600 !important;
    color: #2fb5d2 !important;
    text-decoration: none !important;
    transition: color var(--transition-speed) ease !important;
}

body#registration .register-form>p a:hover,
.page-registration .register-form>p a:hover {
    color: var(--accent-color-2) !important;
    text-decoration: underline !important;
}

/* Responsive adjustment for mobile screen padding */
@media (max-width: 576px) {

    body#authentication .customerform-wrapper,
    body#registration .customerform-wrapper,
    .page-authentication .customerform-wrapper,
    .page-registration .customerform-wrapper {
        padding: 20px !important;
        margin: 0 15px !important;
    }
}

/* ==========================================================================
   FREE SHIPPING THRESHOLD & REASSURANCE BANNER STYLES
   ========================================================================== */

/* Base free shipping banner */
.free-shipping-promo {
    background-color: #6dcbe0 !important;
    border: 1px solid #2FB5D3 !important;
    color: #fff !important;
    text-align: center;
    padding: 5px 20px 6px 20px;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 24px;
    border-radius: 0px;
    display: block;
    width: 100%;

    strong {
        color: #fff !important;
    }

    @media(max-width: 576px) {
        font-size: 12px !important;
        margin-top: 10px !important;
    }
}

.free-shipping-promo strong {
    font-weight: 700;
    color: var(--primary-color);
}

/* Success variant (threshold reached) */
.free-shipping-promo.success {
    background-color: hsl(100, 48%, 88%) !important;
    border: 1px solid hsl(100, 48%, 80%) !important;
    color: #155724 !important;
}

.free-shipping-promo.success strong {
    color: #155724;
}

/* Cart summary card override */
.cart-summary-promo {
    margin: 15px 0 !important;
    border-radius: 0px !important;
    padding: 15px !important;
    font-size: 13px;
    line-height: 1.5;
}

/* Cart reassurance warning box */
.cart-reassurance-warning {
    display: none !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 20px 0 10px 0 !important;
    padding: 0 !important;
    color: #333333 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;

}

.cart-reassurance-warning i.material-icons {
    font-size: 24px !important;
    color: #333333 !important;
    flex-shrink: 0;
}

.cart-reassurance-warning span {
    font-weight: 400 !important;
}

.mkd_after_thumbs_image {
    .img-thumbnail {
        max-width: 300% !important;
        width: 100% !important;
    }
}

/* ==========================================================================
   MOBILE PRODUCT CARD VIEW
   ========================================================================== */

/* Responsive visibility helpers */
@media (max-width: 991px) {
    .desktop-only {
        display: none !important;
    }
}

@media (min-width: 992px) {
    .mobile-only {
        display: none !important;
    }
}

@media (max-width: 991px) {

    /* Stack columns on mobile */
    #product #main .product-mainblock {
        display: flex !important;
        flex-direction: column !important;
        gap: 0 !important;
    }

    #product .productblock-image,
    #product .productblock-content {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
        float: none !important;
        flex-direction: column;
    }

    /* Mobile Title */
    .mobile-title-wrapper {
        margin-bottom: 20px;
        text-align: left;
    }

    .mobile-title-wrapper h1 {
        font-size: 16px !important;
        font-weight: 400 !important;
        color: var(--text-color) !important;
        line-height: 1.3 !important;
        margin: 0 !important;
        text-transform: none !important;
        text-align: center;
    }

    /* Remove heavy margins/padding on mobile wrapper */
    #product #main .product-mainblock .productblock-content__wrap {
        padding: 0px !important;
        background: #ffffff !important;
        margin-bottom: 0px !important;
    }

    .an_productpage-slider {
        padding-left: 30px;
        padding-right: 30px;
    }

    /* Price Section on Mobile */
    .price-header {
        font-size: 14px;
        font-weight: 700;
        color: var(--text-color);
        margin-top: 15px;
        margin-bottom: 2px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .product-prices {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: baseline !important;
        gap: 10px !important;
        margin-bottom: -15px !important;
        padding: 0 !important;
        text-align: center;
    }

    .product-prices .price-header {
        width: 100%;
        margin-bottom: -10px;
        font-size: 12px;
        font-weight: 600;
    }

    .product-prices .product-price,
    .product-prices .product-discount {
        display: inline-block !important;
        margin: 0 !important;
        width: 100%;
        text-align: center;
    }

    .product-prices .product-price .current-price {
        font-size: 32px !important;
        font-weight: 700 !important;
        color: var(--accent-color-3) !important;
        line-height: 1.1 !important;
    }

    .product-prices .product-discount .regular-price {
        font-size: 24px !important;
        color: #A5A5A5 !important;
        font-weight: 600 !important;
        text-decoration: line-through !important;
    }

    .product-prices .tax-shipping-delivery-label {
        width: 100%;
        margin-top: 5px !important;
    }

    .product-prices .tax-shipping-delivery-label .x13pricehistory__text,
    .product-prices .tax-shipping-delivery-label .product-unit-price.sub {
        font-size: 12px !important;
        color: #a5a5a5 !important;
        font-weight: 400 !important;
        margin-bottom: 4px !important;
    }

    /* Configuration Block */
    .product-actions {
        border: 1px solid #ebebeb !important;
        background: #fbfbfb !important;
        padding: 20px 16px !important;
        margin-top: 15px !important;
        margin-bottom: 20px !important;
    }

    #eye-selector-wrapper {
        margin-bottom: 15px !important;
    }

    #eye-selector-wrapper label {
        font-size: 13px !important;
        color: var(--text-color) !important;
        padding: 6px 0 !important;
    }

    .product-variants {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        width: 100% !important;
        padding: 0 !important;
    }

    .product-variants .product-variants-item {
        width: calc(50% - 6px) !important;
        max-width: none !important;
        margin-bottom: 12px !important;
        float: none !important;
    }

    .product-variants .product-variants-item select {
        width: 100% !important;
        height: 40px !important;
        border: 1px solid #ebebeb !important;
        background: #ffffff !important;
        font-size: 13px !important;
        padding: 0 10px !important;
        border-radius: 0px !important;
    }

    /* Buy button */
    .product-add-to-cart {
        margin-top: 15px !important;
        width: 100% !important;
    }

    .product-add-to-cart button.add-to-cart {
        width: 100% !important;
        height: 50px !important;
        font-size: 13px !important;
        background-color: var(--accent-color-2) !important;
        border: none !important;
        text-transform: uppercase !important;
    }

    /* Loyalty points text below selectors */
    #loyalty {
        margin-bottom: 12px !important;
        font-size: 12px !important;
        color: #a5a5a5 !important;
        line-height: 1.4 !important;
    }

    /* Mobile delivery information & Banner wrapper */
    .mobile-delivery-banner-wrapper {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 20px !important;
        margin-top: -10px !important;
        margin-bottom: 25px !important;
        width: 100% !important;
    }

    .mobile-delivery-banner-wrapper .delivery-information {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        width: 100% !important;
        font-size: 16px !important;
        color: var(--text-color) !important;
        padding: 0 !important;

        .delivery-information__text {
            font-size: 16px !important;
        }
    }

    .mobile-delivery-banner-wrapper .delivery-information__icon svg {
        width: 30px !important;
        height: 30px !important;
    }

    .mobile-delivery-banner-wrapper .banners-after-product-thumbnails,
    .mobile-delivery-banner-wrapper .banner-item {
        width: 100% !important;
        margin-top: 5px !important;
    }

    .mobile-delivery-banner-wrapper .banners-after-product-thumbnails img,
    .mobile-delivery-banner-wrapper .banner-item img {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        border: none !important;
    }

    /* Cross-sell additional products block on mobile */
    .apo-product {
        border: unset;
    }

    .lineven-additionalproductsorder {
        padding: 16px !important;
        background: #fbfbfb !important;
        margin-top: 15px !important;

        .product-name {
            text-align: left !important;

            a {
                span {
                    font-size: 12px;
                }
            }
        }

        div.price.product-price {
            text-align: left !important;
        }
    }

    body#product .lineven-additionalproductsorder-section .apo-product-extra .list-a ul.apo-products li.apo-product {
        border: 0px solid #ebebeb !important;
    }

    body#product .lineven-additionalproductsorder #products .apo-products li.apo-product .product-container .text-section .price.product-price .current-price {
        font-size: 16px !important;
    }

    .lineven-additionalproductsorder #products .apo-products li.apo-product .product-container {
        gap: 15px !important;
        flex-direction: row !important;
        align-items: center !important;
        display: flex !important;
    }

    .lineven-additionalproductsorder #products .apo-products li.apo-product .product-container .lapo-view.product-image {
        flex-shrink: 0 !important;
    }

    .lineven-additionalproductsorder #products .apo-products li.apo-product .product-container .lapo-view.product-image img {
        max-width: 80px !important;
        height: auto !important;
    }

    .lineven-additionalproductsorder #products .apo-products li.apo-product .product-container .text-section {
        gap: 6px !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
    }

    .lineven-additionalproductsorder #products .apo-products li.apo-product .product-container .text-section .product-name a span {
        font-size: 14px !important;
        font-weight: 600 !important;
        color: var(--text-color) !important;
    }

    .lineven-additionalproductsorder #products .apo-products li.apo-product .product-container .text-section .price.product-price .current-price {
        font-size: 14px !important;
        font-weight: 700 !important;
        color: var(--accent-color-3) !important;
    }

    .lineven-additionalproductsorder #products .apo-products li.apo-product .product-container .text-section .buttons a {
        max-width: 100% !important;
        height: 38px !important;
        background-color: var(--primary-color) !important;
        border-radius: 0px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .lineven-additionalproductsorder #products .apo-products li.apo-product .product-container .text-section .buttons a span {
        font-size: 11px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
    }

    .mkd_after_thumbs_image {
        margin-bottom: -15px;

        .img-thumbnail {
            width: 100%;
            max-width: 300%;
            margin-bottom: 0px;
        }
    }

    /* Mobile Accordions for Product Tabs */
    .tabs.an-product-page-description {
        display: flex !important;
        flex-direction: column !important;
        background: #fff !important;
        border: 1px solid #ebebeb !important;
        border-radius: 4px !important;
        overflow: hidden !important;
        margin-top: 25px !important;
        margin-bottom: 25px !important;
    }

    .tabs.an-product-page-description ul.nav-tabs {
        display: contents !important;
    }

    .tabs.an-product-page-description .tab-content {
        display: contents !important;
    }

    .tabs.an-product-page-description ul.nav-tabs li.nav-item {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border-bottom: 1px solid #ebebeb !important;
        background: #fbfbfb !important;
    }

    .tabs.an-product-page-description ul.nav-tabs li.nav-item:last-child {
        border-bottom: none !important;
    }

    .tabs.an-product-page-description ul.nav-tabs li.nav-item a.nav-link {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 16px 20px !important;
        font-size: 16px !important;
        font-weight: 500 !important;
        color: var(--text-color) !important;
        background: #fbfbfb !important;
        border: none !important;
        border-radius: 0 !important;
        margin: 0 !important;
        width: 100% !important;
        text-decoration: none !important;
        position: relative !important;
        transition: background-color 0.2s ease !important;
    }

    .tabs.an-product-page-description ul.nav-tabs li.nav-item a.nav-link::after {
        content: "";
        display: inline-block;
        width: 8px;
        height: 8px;
        border-right: 2px solid #555;
        border-bottom: 2px solid #555;
        transform: rotate(45deg);
        transition: transform 0.2s ease;
        margin-right: 4px;
        flex-shrink: 0;
    }

    .tabs.an-product-page-description ul.nav-tabs li.nav-item a.nav-link.active {
        background: #ffffff !important;
        font-weight: 700 !important;
        color: var(--text-color) !important;
        border: none !important;
    }

    .tabs.an-product-page-description ul.nav-tabs li.nav-item a.nav-link.active::after {
        transform: rotate(-135deg) !important;
    }

    .tabs.an-product-page-description .tab-pane {
        display: none !important;
        padding: 20px !important;
        background: #ffffff !important;
        border-bottom: 1px solid #ebebeb !important;
        width: 100% !important;
    }

    .tabs.an-product-page-description .tab-content .tab-pane:last-child {
        border-bottom: none !important;
    }

    .tabs.an-product-page-description .tab-pane.active {
        display: block !important;
    }

    /* Interleaving tabs and contents via order */
    .tabs.an-product-page-description ul.nav-tabs li:nth-child(1) {
        order: 1 !important;
    }

    .tabs.an-product-page-description .tab-content .tab-pane:nth-child(1) {
        order: 2 !important;
    }

    .tabs.an-product-page-description ul.nav-tabs li:nth-child(2) {
        order: 3 !important;
    }

    .tabs.an-product-page-description .tab-content .tab-pane:nth-child(2) {
        order: 4 !important;
    }

    .tabs.an-product-page-description ul.nav-tabs li:nth-child(3) {
        order: 5 !important;
    }

    .tabs.an-product-page-description .tab-content .tab-pane:nth-child(3) {
        order: 6 !important;
    }

    .tabs.an-product-page-description ul.nav-tabs li:nth-child(4) {
        order: 7 !important;
    }

    .tabs.an-product-page-description .tab-content .tab-pane:nth-child(4) {
        order: 8 !important;
    }

    .tabs.an-product-page-description ul.nav-tabs li:nth-child(5) {
        order: 9 !important;
    }

    .tabs.an-product-page-description .tab-content .tab-pane:nth-child(5) {
        order: 10 !important;
    }

    .tabs.an-product-page-description ul.nav-tabs li:nth-child(6) {
        order: 11 !important;
    }

    .tabs.an-product-page-description .tab-content .tab-pane:nth-child(6) {
        order: 12 !important;
    }

    .ets_crosssell_block {
        ul {
            li.ets_crosssell_list_blocks {
                h4.ets_crosssell_title {
                    margin-left: 0 !important;
                    margin-right: 0 !important;

                    span {
                        font-size: 12px !important;
                        padding: 0 15px !important;
                    }

                    &:before {
                        content: '';
                        position: absolute;
                        display: block;
                        background-color: var(--primary-color);
                        height: 2px !important;
                        top: 55% !important;
                        transform: translateY(-50%);
                        max-width: 270px !important;
                        width: 100% !important;
                        left: calc((100% - 270px) / 2) !important;
                    }
                }
            }
        }
    }

    #product .product-accessories {
        .product-accessories-title {
            h3.h2 {
                font-size: 12px !important;
                padding: 0 15px !important;
            }

            &:before {
                content: '';
                position: absolute;
                display: block;
                background-color: var(--primary-color);
                height: 2px !important;
                top: 74% !important;
                transform: translateY(-50%);
                max-width: 270px !important;
                width: 100% !important;
                left: calc((100% - 270px) / 2) !important;
            }
        }
    }

    #content-hook-order-confirmation-footer {
        h2.h1 {
            span {
                font-size: 12px !important;
                padding: 0 15px !important;
                background: #fff !important;
            }

            &:before {
                content: '';
                position: absolute;
                display: block;
                background-color: var(--primary-color);
                height: 2px !important;
                top: 65% !important;
                transform: translateY(-50%);
                max-width: 270px !important;
                width: 100% !important;
                left: calc((100% - 270px) / 2) !important;
            }
        }

        a.btn.btn-primary {
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }
    }

    body#product .ets_crosssell_block.block .product_list.slick-slider {
        article {
            display: flex;
            justify-content: center;

            .thumbnail-container {
                max-width: 270px;
                width: 100%;
            }

            .product-price-and-shipping {
                display: flex;
                justify-content: space-between;
                flex-direction: row-reverse !important;
            }
        }

        .slick-arrow {
            top: 50% !important;
            background: #fff !important;
            width: 40px !important;
            height: 40px !important;
        }

        .slick-prev {
            left: 30px !important;
        }

        .slick-next {
            right: 30px !important;
            left: auto !important;
        }
    }

    body#product .product-accessories .owl-nav {
        display: block !important;

        .owl-prev {
            left: 30px;
        }

        .owl-next {
            right: 30px;
        }
    }

    body#product .product-accessories {
        article.product-miniature {
            display: flex;
            justify-content: center;

            .thumbnail-container {
                max-width: 270px;
                width: 100%;
            }

            .product-price-and-shipping {
                display: flex;
                justify-content: space-between;
                flex-direction: row-reverse !important;
            }
        }
    }
}


#an_brandslider-block {
    .an_brandslider-item {
        background-color: #f2f1f1;

        a {
            img {
                mix-blend-mode: multiply;
            }
        }
    }
}

/* Custom invoice toggle field utility */
.form-group.invoice-field-hidden {
    display: none !important;
}

/* Checkout step 1 Create Account password field toggle */

body#checkout .create-account-form span {
    display: none;
}

body#checkout .create-account-form .font-weight-bold {
    cursor: pointer;
    user-select: none;
    text-decoration: none !important;
    width: 100% !important;
    height: 44px !important;
    background-color: #fff !important;
    color: var(--primary-color) !important;
    border: 1px solid var(--primary-color) !important;
    border-radius: 0 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: background-color var(--transition-speed) ease !important;
    margin: 0 auto;
}

body#checkout .create-account-form .font-weight-bold:hover {
    color: var(--accent-color-2);
}

body#checkout .create-account-form+.form-group {
    display: none !important;
}

body#checkout .create-account-form.open+.form-group {
    display: flex !important;
}

body#order-confirmation {
    h2.h1 {}

    @media all and (max-width: 510px) {
        .featured-products .products .product-miniature {
            flex-basis: 100% !important;
            width: 100% !important;
            max-width: 100% !important;

            .thumbnail-container {
                display: flex;
                flex-direction: column;
                align-items: center;

                a.thumbnail.product-thumbnail {
                    position: static !important;

                }

            }
        }
    }
}