.top-adstripe {
    background: #C62828;

    font-family: poppins, sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.5;

    text-align: center;
    letter-spacing: 0.05em;
    text-transform: uppercase;

    color: #FFFFFF;

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

    transition: background 0.3s ease-in-out;
}
.top-adstripe:hover {
    background: #AD2323;
}

    .top-adstripe a {
        padding: 6px 30px;

        text-decoration: none;

        color: #FFFFFF;

        width: 100%;
    }

        .top-adstripe a strong {
            font-weight: 500;
        }

/*** ------- HEADER ------- ***/

header {
    position: relative;
}

header > div {
    padding: 0 30px;
    background: #F7F7F7;

    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 100%;
    height: 50px;
}

    header > div > div {
        gap: 40px;

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

        header > div > div > div {
            display: flex;
            justify-content: stretch;
            align-items: flex-start;
        }

    header hr {
        border: 0;
        background-color: #dadada;

        width: 1px;
        height: 64%;
        display: block;

        opacity: 1;
    }

    header .header-address {
        font-family: marine, sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: 12px;
        line-height: 16px;

        text-align: right;
        letter-spacing: 0.02em;

        gap: 10px;

        color: #263238;
    }

        header .header-address svg {
            margin: 2px 0 0 0;
            width: 12px;
            height: 12px;
        }

    header .header-phones {
        gap: 40px;

        display: flex;
        justify-content: stretch;
        align-items: flex-start;
    }

        header .header-phone-block a.i-link {
            font-style: normal;
            font-weight: 300;
            font-size: 12px;
            line-height: 1;

            text-align: right;
            letter-spacing: 0.02em;

            color: #4768A9;

            display: block;
        }
        header .header-phone-block a.i-link:hover {
            color: #C62828;
        }

        header .header-phone-block a[href^="tel:"] {
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 18px;
            line-height: 20px;

            text-align: right;
            letter-spacing: 0.02em;
            text-decoration: none;

            color: #263238;

            display: block;
        }

    header a.header-action-btn {
        padding: 15px 0;

        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 500;
        font-size: 11px;
        line-height: 12px;

        text-align: right;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        text-decoration: none;

        gap: 10px;

        display: flex;
        align-items: center;

        color: #4768A9;
    }
    header a.header-action-btn:hover {
        color: #C62828;
    }

        header a.header-action-btn svg {
            width: 16px;
            height: 16px;
        }

            header a.header-action-btn svg path {
                stroke: #4768A9;

                transition: stroke 0.3s ease-in-out;
            }
            header a.header-action-btn:hover svg path {
                stroke: #C62828;
            }

        header a.header-action-btn div {
            line-height: 20px;
            height: 16px;
            vertical-align: middle;
        }

    header .header-menu {
        gap: 40px;

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

        header .header-menu a {
            margin: 4px 0 0 0;
            padding: 15px 0;
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 500;
            font-size: 14px;
            line-height: 1;

            letter-spacing: 0.02em;
            text-decoration: none;

            gap: 10px;

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

            color: #263238;
        }
        header .header-menu a:hover {
            color: #C62828;
        }

            header .header-menu a svg {
                margin: -2px 0 0 0;
            }

                header .header-menu a svg path {
                    stroke: #263238;

                    transition: stroke 0.3s ease-in-out;
                }
                header .header-menu a:hover svg path {
                    stroke: #C62828;
                }

.favourites-icon, .cart-icon {
    position: relative;
}

    .favourites-icon span, .cart-icon span {
        background: #FBC02D;
        border-radius: 10px;

        width: 16px;
        height: 16px;

        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 500;
        font-size: 9px;
        line-height: 18px;

        text-align: center;
        text-transform: uppercase;

        color: #FFFFFF;

        display: block;

        bottom: -6px;
        right: -6px;
        position: absolute;
    }
    .cart-icon span {
        background: #4768A9;
    }

.dropdown-clinic {
    padding: 30px;
    background: #FFFFFF;
    box-shadow: 0px 10px 20px 5px rgba(0, 0, 0, 0.05);

    gap: 100px;

    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    width: 100%;
    height: auto;
    max-height: 0;
    overflow: hidden;

    opacity: 0;
    top: 50px;

    visibility: hidden;
    transition-property: opacity, visibility, max-height;
    transition-duration: .3s, 0s, 0s;
    transition-delay: 0s, .3s, .3s;

    position: absolute;
    z-index: 10000;
}
.dropdown-clinic.open {
    opacity: 1;
    max-height: 3000px;
    visibility: visible;
    transition-delay: 0s, 0s;
}

    .dropdown-clinic .close-dropdown {
        margin: 0;
        padding: 0;
        border: 0;
        outline: none;
        background: rgba(224, 231, 246, 0.3);

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

        width: 30px;
        height: 30px;

        transition: background 0.3s ease-in-out;

        top: 0;
        right: 0;
        position: absolute;
    }
    .dropdown-clinic .close-dropdown:hover {
        background: rgba(255, 255, 255, 0.3);
    }

        .dropdown-clinic .close-dropdown svg {
            width: 10px;
            height: 10px;
        }

            .dropdown-clinic .close-dropdown svg path {
                stroke: #4768A9;

                transition: stroke 0.3s ease-in-out;
            }
            .dropdown-clinic .close-dropdown:hover svg path {
                stroke: #C62828;
            }

        .dropdown-clinic-menu {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            justify-content: stretch;
        }

            .dropdown-main-categories {
                width: 100%;

                gap: 100px;

                display: flex;
                align-items: flex-start;
                justify-content: stretch;
            }

                .dropdown-main-category {
                    width: 100%;

                    gap: 30px;

                    display: flex;
                    flex-direction: column;
                    align-items: flex-start;
                    justify-content: stretch;
                }

                    .dropdown-clinic h2 {
                        margin: 0;

                        font-family: poppins, sans-serif;
                        font-style: normal;
                        font-weight: 275;
                        font-size: 36px;
                        line-height: 100%;

                        letter-spacing: 0.02em;
                        text-transform: uppercase;
                        white-space: nowrap;

                        color: #4768A9;
                    }

                    .dropdown-main-subcategories h3 {
                        margin: 0;

                        font-family: poppins, sans-serif;
                        font-style: normal;
                        font-weight: 700;
                        font-size: 21px;
                        line-height: 100%;

                        letter-spacing: 0.02em;
                        text-transform: uppercase;

                        background: linear-gradient(180deg, #2B3F66 0%, #4768A9 100%);
                        -webkit-background-clip: text;
                        -webkit-text-fill-color: transparent;
                        background-clip: text;
                        text-fill-color: transparent;
                    }

                    .dropdown-main-subcategories {
                        gap: 100px;

                        display: flex;
                        align-items: flex-start;
                        justify-content: stretch;
                        flex-wrap: wrap;
                    }

                        .dropdown-main-subcategory {
                            gap: 10px;

                            display: flex;
                            flex-direction: column;
                            align-items: flex-start;
                            justify-content: stretch;
                        }
                        .dropdown-main-menu .dropdown-main-subcategory {
                            width: 100%;
                        }

                            .dropdown-main-subcategory ul {
                                margin: 0;
                                padding: 0;

                                display: flex;
                                flex-direction: column;
                                align-items: flex-start;
                                justify-content: stretch;
                            }

                                .dropdown-main-subcategory ul li {
                                    margin: 0;
                                    padding: 0;
                                    list-style: none;
                                }

                                    .dropdown-main-subcategory ul li a {
                                        font-family: marine, sans-serif;
                                        font-style: normal;
                                        font-weight: 300;
                                        font-size: 14px;
                                        line-height: 100%;

                                        letter-spacing: 0.02em;
                                        text-decoration-line: underline;

                                        transition: color 0.3s ease-in-out;

                                        color: #263238;
                                    }
                                    .dropdown-main-subcategory ul li a:hover {
                                        color: #C62828;
                                    }

    .dropdown-additional-info {
        margin: 60px 0 0 0;
        padding: 30px 20% 0 0;
        border-top: 1px #E0E7F6 solid;
        max-width: 70%;

        flex-direction: column;
    }

        .dropdown-additional-info h3 {
            margin: 0 0 15px 0;

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 21px;
            line-height: 100%;

            letter-spacing: 0.02em;

            color: #4768A9;
        }

        .dropdown-additional-info p {
            margin: 0;

            font-family: marine, sans-serif;
            font-style: normal;
            font-weight: 300;
            font-size: 16px;
            line-height: 150%;
            /* or 24px */

            letter-spacing: 0.02em;

            color: #263238;
        }

    .dropdown-clinic-banner {
        width: 250px;
        min-width: 250px;
    }

        .dropdown-clinic-banner img {
            width: 100%;
        }

.main-nav {
    padding: 15px 30px;
    background: #FFFFFF;
    box-shadow: 0px 10px 20px 5px rgba(0, 0, 0, 0.05);

    height: 70px;
    width: 100%;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .main-nav .logo {
        height: 40px;
        display: block;
    }

        .main-nav .logo img {
            height: 40px;
        }

    .main-nav nav {
        gap: 50px;

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

        .main-nav nav a {
            margin: 5px 0 0 0;
            padding: 5px 0;
            border-bottom: 3px #ffffff solid;

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 600;
            font-size: 16px;
            line-height: 100%;

            letter-spacing: 0.02em;
            text-transform: uppercase;
            text-decoration: none;

            gap: 10px;

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

            color: #263238;
        }
        .main-nav nav a.highlighted {
            color: #C62828;
        }
        .main-nav nav.main-menu a.toggle-submenu {
            display: none;
        }
        .main-nav nav a:hover {
            border-color: #E0E7F6;
        }
        .main-nav nav a.highlighted:hover {
            border-color: #F6E0E0;
        }
        .main-nav nav a.toggle-search:hover {
            border-color: #FFFFFF;
        }
            .main-nav nav a.toggle-search:hover svg path {
                fill: #4768A9;
            }
        .main-nav nav a.active {
            border-color: #4768A9;
        }

            .main-nav nav a svg {
                width: 18px;
                height: 18px;
            }

            .main-nav nav a.toggle-submenu svg {
                margin: -4px 0 0 0;
                width: 17px;
                height: 12px;
            }

            header .main-nav-features a svg path {
                fill: #263238;

                transition: fill 0.3s ease-in-out;
            }
            header .main-nav-features a:hover svg path {
                fill: #4768A9;
            }

    header nav.main-submenu {
        background: rgba(224, 231, 246, 0.5);
        box-shadow: 0px 10px 20px 5px rgba(0, 0, 0, 0.05);

        width: 100%;
        height: 40px;

        gap: 60px;

        opacity: 0;
        bottom: -40px;

        visibility: hidden;
        transition-property: opacity, visibility;
        transition-duration: .3s, 0s;
        transition-delay: 0s, .3s;

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

        position: absolute;
    }
    header nav.main-submenu.open {
        opacity: 1;
        visibility: visible;
        transition-delay: 0s, 0s;
    }

        header nav.main-submenu a {
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 600;
            font-size: 16px;
            line-height: 100%;

            letter-spacing: 0.02em;
            text-transform: uppercase;
            text-decoration: none;

            color: #263238;
        }

        header nav.main-submenu a.active {
        }

    header .main-nav .toggle-menu {
        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 600;
        font-size: 11px;
        line-height: 12px;

        text-align: right;
        letter-spacing: 0.02em;
        text-transform: uppercase;
        text-decoration: none;

        gap: 10px;
        display: none;
        justify-content: center;
        align-items: center;

        color: #263238;
    }

        header .main-nav .toggle-menu span {
            height: 8px;
            display: block;
        }

    header .dropdown-clinic .mobile-tabs {
        margin: -30px -30px 0 -30px;
        border-bottom: 2px solid #E0E7F6;

        width: calc(100% + 60px);
        height: 40px;

        display: none;
        justify-content: stretch;
        align-items: flex-start;
    }

        header .dropdown-clinic .mobile-tabs a {
            padding: 4px 0 0 0;
            background: #ffffff;

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 500;
            font-size: 13px;
            line-height: 40px;

            letter-spacing: 0.02em;
            text-transform: uppercase;
            text-decoration: none;

            color: #848484;

            width: 50%;
            height: 38px;

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

        header .dropdown-clinic .mobile-tabs a.active {
            background: #E0E7F6;

            color: #4768A9;
        }

    .dropdown-main-menu.tab-target, .dropdown-main-menu.tab-target.active {
        display: none;
    }

        header .dropdown-clinic .dropdown-action {
            margin: 0 0 20px 0;
        }

            header .dropdown-clinic .dropdown-action a {
                font-family: marine, sans-serif;
                font-style: normal;
                font-weight: 300;
                font-size: 14px;
                line-height: 100%;
                letter-spacing: 0.02em;
                text-decoration-line: underline;

                color: #263238;
            }

.tab-target {
    display: flex;
}
.tab-target.active {
    display: flex;
}


/*** ------- HERO SLIDER ------- ***/


.hero-slider {
    padding: 0 30px;

    width: 100%;
    height: calc(100vh - 150px);
    min-height: 600px;

    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: stretch;

    position: relative;
}

    .hero-slider .hero-slider-label {
        transform: rotate(-90deg) translate(-38px, 30px);
        transform-origin: left top;

        white-space: nowrap;
        gap: 30px;

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

        left: 0;
        bottom: 0;
        position: absolute;
        z-index: -1;
    }

        .hero-slider .hero-slider-label hr {
            margin: 0;
            border-top: 2px #2B3F66 solid;

            opacity: 1;

            width: 120px;
        }

        .hero-slider .hero-slider-label h3 {
            margin: 0;

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 200;
            font-size: 48px;
            line-height: 1;

            letter-spacing: 0.02em;
            text-transform: uppercase;

            height: 38px;

            background: linear-gradient(180deg, #2B3F66 0%, #4768A9 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            text-fill-color: transparent;
        }

        .hero-slider .hero-slider-label .total-slide-number {
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 200;
            font-size: 48px;
            line-height: 1;

            letter-spacing: 0.02em;
            text-transform: uppercase;

            height: 38px;

            color: #E0E7F6;
        }

            .hero-slider .hero-slider-label .total-slide-number .current-slide-number {
                background: linear-gradient(180deg, #2B3F66 0%, #4768A9 100%);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                background-clip: text;
                text-fill-color: transparent;
            }

    .hero-slider .hero-slider-text {
        padding: 0 0 0 17%;
        width: 42%;

        gap: 80px;

        display: flex;
        justify-content: center;
        align-items: flex-start;
        flex-direction: column;

        z-index: 10;
    }

        .hero-slider .hero-slider-text h2 {
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 700;
            font-size: 48px;
            line-height: 64px;
            letter-spacing: 0.02em;
            text-transform: none;
            white-space: nowrap;

            color: #263238;

            gap: 40px;

            display: flex;
            justify-content: center;
            align-items: flex-start;
            flex-direction: column;
        }

            .hero-slider .hero-slider-text h2 .hero-slider-text-main {
                font-size: 84px;
                line-height: 84px;
            }

        .hero-slider .hero-slider-text .btn.btn-primary {
        }

    .hero-slider .hero-slider-media {
        margin: 0 0 0 -12%;
        width: 50%;
        height: 100%;

        overflow: hidden;

        z-index: 5;
    }

        .hero-slider .hero-slider-media img {
            object-fit: cover;
            object-position: 50% 50%;

            width: 100%;
            height: 100%;
        }

    .hero-slider nav {
        gap: 30px;

        display: flex;
        justify-content: center;
        align-items: flex-start;
        flex-direction: row;

        left: 100px;
        bottom: 30px;
        position: absolute;
    }

        .hero-slider nav button {
            margin: 0;
            padding: 0;
            border: 0;
            background: none;
            outline: none;
        }

            .hero-slider nav button svg {
                margin: 0;
                padding: 0;
                border: 0;
                background: none;
                outline: none;
            }

                .hero-slider nav button svg path {
                    stroke: #4768A9;

                    transition: stroke 0.3s ease-in-out;
                }
                .hero-slider nav button.passive svg path {
                    stroke: #E0E7F6;
                }
                .hero-slider nav button:hover svg path {
                    stroke: #C62828;
                }

    .hero-slider .hero-slider-notes {
        padding: 30px 30px 20px 30px;

        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 500;

        letter-spacing: 0.02em;
        gap: 20px;

        height: 100%;

        display: flex;
        justify-content: flex-end;
        align-items: flex-start;
        flex-direction: column;
        flex-grow: 1;
    }

        .hero-slider .hero-slider-notes .hero-slider-notes-item {

            display: flex;
            justify-content: center;
            align-items: flex-start;
            flex-direction: column;
        }

            .hero-slider .hero-slider-notes .hero-slider-notes-item h5 {
                margin: 0;

                font-size: 13px;
                line-height: 24px;
                text-transform: none;

                color: rgba(38, 50, 56, 0.5);
            }

            .hero-slider .hero-slider-notes .hero-slider-notes-item p {
                margin: 0;

                font-weight: 300;
                font-size: 16px;
                line-height: 24px;

                color: #263238;
            }

        .hero-slider .hero-slider-notes .btn.btn-link {
        }


/*** ------- BESTSELLERS ------- ***/


ul.tabs-controller {
    margin: 30px 0;
    padding: 0;

    width: 100%;
    height: 32px;

    gap: 20px;

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

    ul.tabs-controller li {
        margin: 0;
        padding: 0;

        list-style: none;
    }

        ul.tabs-controller li a {
            margin: 0;
            padding: 9px 15px 7px 15px;
            background: rgba(224, 231, 246, 0.5);

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 500;
            font-size: 16px;
            line-height: 100%;
            text-decoration: none;

            height: 32px;

            text-align: center;
            letter-spacing: 0.02em;
            text-transform: uppercase;

            color: #4768A9;
        }
        ul.tabs-controller li.active a {
            background: #4768A9;

            color: #FFFFFF;
        }
        ul.tabs-controller li a:hover {
            background-color: #3C588F;
            box-shadow: 0px 8px 30px 10px rgba(71, 104, 169, 0.15);
            color: #FFFFFF;
        }

.products-carousel-cover {
    margin: 50px 0 0 0;
}

.products-carousel {
    width: 100%;

    position: relative;
}

.product-card-cover {
    padding: 0 40px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.slick-initialized .product-card-cover.slick-slide {
    display: flex;
}

.product-card {
    font-family: poppins, sans-serif;
    font-style: normal;
    letter-spacing: 0.02em;
    text-transform: uppercase;

    gap: 15px;

    width: 240px;

    display: flex;
    justify-content: stretch;
    align-items: stretch;
    flex-direction: column;

    position: relative;
}

    .product-card .bg {
        padding: 0;

        text-decoration: none;

        width: 240px;
        height: 320px;

        position: relative;
        display: block;
    }

        .product-card .bg img {
            margin: 0;

            transform-origin: center center;

            width: 240px;

            transition-property: transform;
            transition-delay: 0s;
            transition-duration: .56s;
            transition-timing-function: cubic-bezier(.55,.07,.31,1.27);

            left: -20px;
            bottom: 90px;
            position: absolute;
        }
        .product-card:hover .bg img {
            transform: rotate(7deg) translate(10px, -15px);
            transition-delay: .1s;
        }

        .product-card .bg .product-shadow {
            background: url(../img/product-card-shadow.png) 50% 85% no-repeat;

            width: 240px;
            height: 320px;

            top: 0;
            left: 0;
            position: absolute;

            opacity: 1;

            transition-property: opacity;
            transition-delay: 0s;
            transition-duration: .56s;
            transition-timing-function: cubic-bezier(.55,.07,.31,1.27);

            z-index: -1;
        }
        .product-card:hover .bg .product-shadow {
            opacity: 0.5;
            transition-delay: .1s;
        }

    .product-card .favourites {
        padding: 10px;

        text-decoration: none;

        width: 44px;
        height: 39px;

        top: 0;
        right: 0;
        position: absolute;
        display: block;

        z-index: 10;
    }

        .product-card .favourites svg {
            width: 24px;
            height: 19px;

            opacity: 0.5;

            transition: opacity 0.3s ease-in-out;
        }
        .product-card .favourites:hover svg {
            opacity: 1;
        }

            .product-card .favourites svg path {
                fill: #FFFFFF;
            }

    .product-card .product-details {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

        .product-card .product-details ul.product-colors {
            margin: 0;
            padding: 0;

            gap: 10px;

            display: flex;
            justify-content: space-between;
            align-items: flex-start;
        }

            .product-card .product-details ul.product-colors li {
                margin: 0;
                padding: 1px;
                border: 1px #ffffff solid;

                width: 24px;
                height: 24px;

                list-style: none;
                display: block;
            }
            .product-card .product-details ul.product-colors li:not(.active) {
                padding: 2px;
                border: 1px #ffffff solid !important;
            }
            .product-card .product-details ul.product-colors li:hover {
                padding: 1px;
                border: 1px #ffffff solid;
            }

                .product-card .product-details ul.product-colors li a {
                    margin: 0;
                    padding: 0;

                    width: 18px;
                    height: 18px;

                    list-style: none;
                    display: block;

                    transition-duration: 0s;
                }
                .product-card .product-details ul.product-colors li.active a {
                    width: 20px;
                    height: 20px;
                }
                .product-card .product-details ul.product-colors li:hover a {
                    width: 20px;
                    height: 20px;
                }

        .product-card .product-details .product-prices {
            margin: 0;
            padding: 3px 0 0 0;

            font-weight: 600;
            font-size: 18px;
            line-height: 24px;

            text-align: right;

            color: #4768A9;

            gap: 10px;

            height: 24px;

            display: flex;
            justify-content: space-between;
            align-items: flex-start;
        }

            .product-card .product-details .product-prices .price-old {
                text-decoration: line-through;
                color: rgba(71, 104, 169, 0.25);
            }

        .product-card a.product-title {
            font-weight: 600;
            font-size: 16px;
            line-height: 18px;

            text-decoration: none;

            color: #263238;

            gap: 5px;

            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            flex-direction: column;
        }
        .product-card a.product-title:hover {
            color: #C62828;
        }

            .product-card a.product-title .product-uid {
                font-size: 12px;
                line-height: 1;

                color: #90A4AE;
            }

.products-carousel-nav {
    margin: 50px 0 0 0;
    width: 100%;

    gap: 50px;

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

    position: relative;
}

    .products-carousel-cover .arrow-prev, .products-carousel-cover .arrow-next {
        display: none;
    }

    .products-carousel-nav .arrow-prev.slick-arrow, .products-carousel-nav .arrow-next.slick-arrow {
        background: #4768A9;
        border: 0;
        border-radius: 50px;
        outline: none;

        height: 54px;
        width: 54px;

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

        transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;

        transform: none;
        top: auto;
        position: relative;
    }
    .products-carousel-nav .arrow-prev.slick-arrow:hover, .products-carousel-nav .arrow-next.slick-arrow:hover {
        background-color: #3C588F;
        box-shadow: 0px 8px 30px 10px rgba(71, 104, 169, 0.15);
    }

        .products-carousel-nav .slick-prev.slick-arrow svg, .products-carousel-nav .slick-next.slick-arrow svg {

        }


/*** ------- CATEGORIES LIST ------- ***/


.categories-block {
    gap: 15px;

    display: flex;
    justify-content: stretch;
    align-items: stretch;
    flex-wrap: wrap;
}

    .categories-block .category-item {
        padding: 15px 30px;
        background: rgba(224, 231, 246, 0.5);

        text-decoration: none;

        width: calc((100% - 45px) / 4);
        min-height: 130px;

        transition: background 0.3s ease-in-out, box-shadow 0.3s ease-in-out;

        gap: 30px;

        display: flex;
        justify-content: stretch;
        align-items: center;
        flex-grow: 1;
    }
    .categories-block .category-item:hover {
        background: rgba(224, 231, 246, 1);
        box-shadow: 0px 8px 30px 10px rgba(71, 104, 169, 0.1);
    }

        .categories-block .category-item .category-item-text {
            gap: 1px;

            display: flex;
            justify-content: stretch;
            align-items: flex-start;
            flex-direction: column;
        }

            .categories-block .category-item img {
                border: 4px #ffffff solid;
                border-radius: 100px;

                width: 100px;
                height: 100px;
            }

            .categories-block .category-item strong {
                font-family: poppins, sans-serif;
                font-style: normal;
                font-weight: 600;
                font-size: 16px;
                line-height: 18px;

                letter-spacing: 0.02em;
                text-transform: uppercase;

                color: #263238;
            }

            .categories-block .category-item span {
                font-family: marine, sans-serif;
                font-style: normal;
                font-weight: 400;
                font-size: 12px;
                line-height: 18px;
                /* identical to box height, or 150% */

                letter-spacing: 0.02em;

                color: #4768A9;
            }

    .categories-block .category-item.category-item-all {
        padding-right: 40px;
        background: none;

        transition: padding 0.3s ease-in-out;
    }
    .categories-block .category-item.category-item-all:hover {
        padding-right: 30px;
        background: #FFFFFF;
        box-shadow: none;
    }

        .categories-block .category-item.category-item-all .category-item-text {
            gap: 30px;

            justify-content: space-between;
            align-items: flex-start;
            flex-direction: row;
            flex-grow: 1;
        }

        .categories-block .category-item.category-item-all strong {
            transition: color 0.3s ease-in-out;
        }
        .categories-block .category-item.category-item-all:hover strong {
            color: #4768A9;
        }

            .categories-block .category-item.category-item-all span svg {
                width: 32px;
                height: 18px;
            }

                .categories-block .category-item.category-item-all span svg path {
                    stroke: #4768A9;
                }


/*** ------- BRANDS LIST ------- ***/


.brands-block {
}

    .brands-block a {
        padding: 0 30px;

        height: 80px;

        display: block;
    }

        .brands-block a img {
            height: 80px;
        }


/*** ------- BENEFITS ------- ***/


.benefits-block {
    padding-top: 60px;
    padding-bottom: 0;
    background: linear-gradient(180deg, #E0E7F6 0%, rgba(224, 231, 246, 0) 100%);

    gap: 50px;

    display: flex;
    justify-content: space-evenly;
    align-items: flex-start;
    flex-wrap: wrap;
}

    .benefits-block .benefit-item {
        min-width: 300px;
        max-width: 360px;

        gap: 60px;

        display: flex;
        justify-content: stretch;
        align-items: center;
        flex-direction: column;
    }

        .benefits-block .benefit-item .benefit-item-text {
            gap: 0px;

            display: flex;
            justify-content: stretch;
            align-items: flex-start;
            flex-direction: column;
        }

            .benefits-block .benefit-item h3 {
                margin: 0 30% 15px 0;
                padding: 0;
            }


/*** ------- CONTACTS ------- ***/


.contacts-block {
    display: flex;
    justify-content: center;
    align-items: stretch;
}

    .contacts-block .contacts-map {
        background-color: #90A4AE;
        width: 60%;
        min-width: 500px;

        display: flex;
    }

    .contacts-block .contacts-info {
        padding: 60px;

        gap: 30px;

        display: flex;
        justify-content: center;
        align-items: stretch;
        flex-direction: column;
    }

        .contacts-block .contacts-info .contacts-info-blocks {
            gap: 60px;

            display: flex;
            justify-content: flex-start;
            align-items: flex-start;
        }

            .contacts-block .contacts-info .contacts-info-blocks .contacts-info-element {
                gap: 5px;

                display: flex;
                justify-content: center;
                align-items: stretch;
                flex-direction: column;
            }

                .contacts-block .contacts-info .contacts-info-element h4 {
                    margin: 0;
                }

                .contacts-block .contacts-info .contacts-info-element p, .contacts-block .contacts-info .contacts-info-element p a {
                    font-family: marine, sans-serif;
                    font-style: normal;
                    font-weight: 300;
                    font-size: 16px;
                    line-height: 20px;

                    text-decoration: none;

                    letter-spacing: 0.02em;

                    color: #263238;
                }

                .contacts-block .contacts-info .contacts-info-element p:last-child {
                    margin-bottom: 0;
                }


/*** ------- FOOTER ------- ***/


footer {
    padding: 30px;
    background: linear-gradient(180deg, rgba(224, 231, 246, 0.3) 0%, rgba(224, 231, 246, 0) 100%);

    gap: 200px;

    display: flex;
    justify-content: stretch;
    align-items: stretch;
}

    footer .logo-policies {
        width: 215px;
        min-width: 215px;

        gap: 20px;

        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: column;
    }

        footer .logo-policies .logo {
            width: 100%;

            display: block;
        }

            footer .logo-policies .logo img {
                width: 100%;

                display: block;
            }

        footer .logo-policies .footer-policies {
            gap: 20px;

            display: flex;
            justify-content: stretch;
            align-items: flex-start;
            flex-direction: column;
        }

            footer .logo-policies .footer-policies .footer-policies-links {
                display: flex;
                justify-content: stretch;
                align-items: flex-start;
                flex-direction: column;
            }

                footer .logo-policies .footer-policies .footer-policies-links > span {
                    font-family: marine, sans-serif;
                    font-style: normal;
                    font-weight: 400;
                    font-size: 12px;
                    line-height: 1;

                    letter-spacing: 0.02em;

                    color: #263238;
                }

                footer .logo-policies .footer-policies .footer-policies-links > ul {
                    margin: 0;
                    padding: 0;

                    gap: 15px;

                    display: flex;
                    justify-content: stretch;
                    align-items: flex-start;
                }

                    footer .logo-policies .footer-policies .footer-policies-links > ul li {
                        margin: 0;
                        padding: 0;

                        list-style: none;
                    }

                        footer .logo-policies .footer-policies .footer-policies-links > ul li a {
                            font-family: marine, sans-serif;
                            font-style: normal;
                            font-weight: 400;
                            font-size: 12px;
                            line-height: 1;

                            letter-spacing: 0.02em;
                            text-decoration-line: underline;

                            color: #263238;

                            transition: all 0.3s ease-in-out;
                        }
                        footer .logo-policies .footer-policies .footer-policies-links > ul li a:hover {
                            color: #C62828;
                        }

            footer .logo-policies .footer-policies .footer-copyrights {
                font-family: marine, sans-serif;
                font-style: normal;
                font-weight: 400;
                font-size: 12px;
                line-height: 15px;

                letter-spacing: 0.02em;

                color: #263238;

                gap: 10px;

                display: flex;
                justify-content: stretch;
                align-items: flex-start;
            }

                footer .logo-policies .footer-policies .footer-copyrights img {
                    height: 32px;
                }

                footer .logo-policies .footer-policies .footer-copyrights a {
                    text-decoration: none;

                    color: #263238;
                }

                    footer .logo-policies .footer-policies .footer-copyrights a strong {
                        font-style: normal;
                        font-weight: 400;
                        text-decoration: underline;

                        transition: all 0.3s ease-in-out;
                    }
                    footer .logo-policies .footer-policies .footer-copyrights a:hover strong {
                        color: #C62828;
                    }

    footer .footer-links {
        gap: 45px;

        display: flex;
        justify-content: stretch;
        align-items: stretch;
        flex-direction: column;
    }

        footer .footer-links .footer-link-columns {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
        }

            footer .footer-links .footer-link-columns .footer-link-column {
                gap: 15px;

                display: flex;
                justify-content: space-between;
                align-items: flex-start;
                flex-direction: column;
            }

                footer .footer-links .footer-link-columns .footer-link-column h4 {
                    margin: 0;
                    padding: 0;

                    font-family: poppins, sans-serif;
                    font-style: normal;
                    font-weight: 700;
                    font-size: 16px;
                    line-height: 24px;

                    letter-spacing: 0.02em;
                    text-transform: uppercase;

                    background: linear-gradient(180deg, #2B3F66 0%, #4768A9 100%);
                    -webkit-background-clip: text;
                    -webkit-text-fill-color: transparent;
                    background-clip: text;
                    text-fill-color: transparent;
                }

                footer .footer-links .footer-link-columns .footer-link-column ul {
                    margin: 0;
                    padding: 0;

                    gap: 10px;

                    display: flex;
                    justify-content: space-between;
                    align-items: flex-start;
                    flex-direction: column;
                }

                    footer .footer-links .footer-link-columns .footer-link-column ul li {
                        margin: 0;
                        padding: 0;

                        line-height: 1;

                        list-style: none;
                    }

                        footer .footer-links .footer-link-columns .footer-link-column ul li a {
                            font-family: 'Marine';
                            font-style: normal;
                            font-weight: 400;
                            font-size: 14px;
                            line-height: 1;

                            letter-spacing: 0.02em;

                            color: #263238;

                            transition: all 0.3s ease-in-out;
                        }
                        footer .footer-links .footer-link-columns .footer-link-column ul li a:hover {
                            color: #C62828;
                        }

                footer .footer-links .footer-link-columns .footer-link-column.social-links ul {
                    gap: 15px;
                }

        footer .footer-links .footer-description {
            font-family: marine, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 12px;
            line-height: 18px;

            letter-spacing: 0.02em;

            color: #848484;
        }


/*** ------- MINICART ------- ***/


#minicart {
    padding: 30px 15px;
    background: #FFFFFF;
    box-shadow: 0px 10px 20px 5px rgba(0, 0, 0, 0.05);

    z-index: 100;

    gap: 30px;

    display: flex;
    justify-content: stretch;
    align-items: stretch;
    flex-direction: column;

    width: 268px;
    height: auto;
    max-height: 0;
    overflow: hidden;

    opacity: 0;

    visibility: hidden;
    transition-property: opacity, visibility, max-height;
    transition-duration: .3s, 0s, 0s;
    transition-delay: 0s, .3s, .3s;

    right: 0;
    position: absolute;
}
#minicart.open {
    opacity: 1;
    max-height: 3000px;
    visibility: visible;
    transition-delay: 0s, 0s;
}

    #minicart::before {
        background: linear-gradient(336.31deg, rgba(224, 231, 246, 0.5) 0.68%, rgba(224, 231, 246, 0) 100%);

        content: '';

        width: 100%;
        height: 400px;

        z-index: -10;
        bottom: 0;
        left: 0;
        position: absolute;
    }

    #minicart .minicart-header {
        margin: 0 0 -10px 0;
        text-align: center;
    }

        #minicart .minicart-header h3 {
            margin: 0;
            width: 100%;
        }

        #minicart .minicart-header .minicart-close {
            margin: 0;
            padding: 0;
            border: 0;
            outline: none;

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

            width: 30px;
            height: 30px;

            top: 0;
            right: 0;
            position: absolute;
        }

            #minicart .minicart-header .minicart-close svg {
                width: 10px;
                height: 10px;
            }

                #minicart .minicart-header .minicart-close svg path {
                    transition: stroke 0.3s ease-in-out;

                    stroke: #4768A9;
                }
                #minicart .minicart-header .minicart-close:hover svg path {
                    stroke: #C62828;
                }

    #minicart .minicart-body {
        gap: 30px;

        display: flex;
        justify-content: stretch;
        align-items: stretch;
        flex-direction: column;
    }

        #minicart .minicart-body .minicart-item {
            padding: 0 0 30px 0;
            border-bottom: 1px #E0E7F6 solid;

            gap: 15px;

            display: flex;
            justify-content: stretch;
            align-items: stretch;
            flex-direction: row;

            position: relative;
        }

            #minicart .minicart-body .minicart-item .minicart-item-image {
                border: 1px solid rgba(224, 231, 246, 0.5);
                box-shadow: 0px 10px 20px 5px rgba(0, 0, 0, 0.05);

                transition: box-shadow 0.3s ease-in-out;

                width: 64px;
                height: 64px;
            }
            #minicart .minicart-body .minicart-item .minicart-item-image:hover {
                box-shadow: 0px 10px 20px 5px rgba(0, 0, 0, 0.08);
            }

                #minicart .minicart-body .minicart-item .minicart-item-image img {
                    width: 100%;
                }

            #minicart .minicart-body .minicart-item .minicart-item-info {
                gap: 15px;

                width: 159px;

                display: flex;
                justify-content: stretch;
                align-items: stretch;
                flex-direction: column;
            }

                #minicart .minicart-body .minicart-item .minicart-item-info a.minicart-item-name {
                    padding: 5px 0 0 0;
                    font-family: poppins, sans-serif;
                    font-style: normal;
                    font-weight: 400;
                    font-size: 14px;
                    line-height: 100%;
                    text-decoration: none;

                    letter-spacing: 0.02em;
                    white-space: nowrap;
                    overflow: hidden;

                    transition: all 0.3s ease-in-out;

                    width: 147px;

                    color: #263238;

                    position: relative;
                }
                #minicart .minicart-body .minicart-item .minicart-item-info a.minicart-item-name:hover {
                    color: #C62828;
                }
                    #minicart .minicart-body .minicart-item .minicart-item-info a.minicart-item-name::after {
                        background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 100%);

                        width: 20px;
                        height: 100%;

                        content: '';

                        top: 0;
                        right: 0;
                        position: absolute;
                    }

                #minicart .minicart-body .minicart-item .minicart-item-info .minicart-item-sku {
                    margin: -10px 0 0 0;

                    font-family: marine, sans-serif;
                    font-style: normal;
                    font-weight: 400;
                    font-size: 12px;
                    line-height: 100%;

                    letter-spacing: 0.02em;

                    color: #90A4AE;
                }

                #minicart .minicart-body .minicart-item .minicart-item-info .minicart-item-price {
                    font-family: poppins, sans-serif;
                    font-style: normal;
                    font-weight: 300;
                    font-size: 12px;
                    line-height: 100%;
                    /* identical to box height, or 12px */

                    letter-spacing: 0.02em;

                    color: #ACACAC;
                }

                    #minicart .minicart-body .minicart-item .minicart-item-info .minicart-item-price span {
                        font-weight: 500;

                        color: #4768A9;
                    }

                #minicart .minicart-body .minicart-item .minicart-item-info .minicart-item-description {
                    font-family: marine, sans-serif;
                    font-style: normal;
                    font-weight: 400;
                    font-size: 12px;
                    line-height: 15px;

                    letter-spacing: 0.02em;

                    color: #263238;
                }

                #minicart .minicart-body .minicart-item .minicart-item-info .minicart-item-options {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    flex-direction: row;
                }

                    #minicart .minicart-body .minicart-item .minicart-item-info .minicart-item-options .minicart-item-quantity-container {
                        gap: 2px;

                        display: flex;
                        justify-content: space-between;
                        align-items: center;
                        flex-direction: row;
                    }

                        #minicart .minicart-body .minicart-item .minicart-item-info .minicart-item-options .minicart-item-quantity-container button {
                            padding: 0;
                            border: 0;
                            background: none;
                            outline: none;

                            width: 16px;
                            height: 16px;

                            display: flex;
                        }

                            #minicart .minicart-body .minicart-item .minicart-item-info .minicart-item-options .minicart-item-quantity-container button svg {
                                width: 16px;
                                height: 16px;
                            }

                        #minicart .minicart-body .minicart-item .minicart-item-info .minicart-item-options .minicart-item-quantity-container .minicart-item-quantity {
                            font-family: marine, sans-serif;
                            font-style: normal;
                            font-weight: 400;
                            font-size: 14px;
                            line-height: 14px;

                            text-align: center;

                            width: 20px;

                            color: #000000;
                        }

                    #minicart .minicart-body .minicart-item .minicart-item-info .minicart-item-options .minicart-item-total {
                        font-family: poppins, sans-serif;
                        font-style: normal;
                        font-weight: 500;
                        font-size: 16px;
                        line-height: 100%;

                        text-align: right;
                        letter-spacing: 0.02em;

                        height: 12px;

                        color: #4768A9;
                    }

            #minicart .minicart-body .minicart-item .minicart-item-remove {
                background: #FFFFFF;

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

                width: 16px;
                height: 16px;

                opacity: 0.5;

                transition: opacity 0.3s ease-in-out;

                top: 2px;
                right: -4px;

                position: absolute;
            }
            #minicart .minicart-body .minicart-item .minicart-item-remove:hover {
                opacity: 1;
            }

                #minicart .minicart-body .minicart-item .minicart-item-remove svg {
                    width: 8px;
                    height: 8px;
                }

                    #minicart .minicart-body .minicart-item .minicart-item-remove svg path {
                        transition: stroke 0.3s ease-in-out;

                        stroke: #4768A9;
                    }
                    #minicart .minicart-body .minicart-item .minicart-item-remove:hover svg path {
                        stroke: #C62828;
                    }

    #minicart .minicart-summary {
        margin: 0 -15px;
        padding: 0 15px;

        gap: 10px;

        display: flex;
        justify-content: center;
        align-items: flex-end;
        flex-direction: column;
    }

        #minicart .minicart-summary .minicart-summary-line {
            width: 60%;

            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-direction: row;
        }

            #minicart .minicart-summary .minicart-summary-line span {
                font-family: marine, sans-serif;
                font-style: normal;
                font-weight: 400;
                font-size: 14px;
                line-height: 100%;

                letter-spacing: 0.02em;

                color: #90A4AE;
            }

            #minicart .minicart-summary .minicart-summary-line strong {
                font-family: poppins, sans-serif;
                font-style: normal;
                font-weight: 500;
                font-size: 14px;
                line-height: 100%;
                /* identical to box height, or 14px */

                height: 10px;

                text-align: right;
                letter-spacing: 0.02em;

                color: #4768A9;
            }
            #minicart .minicart-summary .minicart-summary-line strong.big {
                font-size: 16px;
            }

        #minicart .minicart-summary .minicart-summary-order-more {
            margin: 0 -15px;
            padding: 0 15px;
            background: #4768A9;
            text-align: right;

            width: calc(100% + 30px);
            height: 30px;

            display: flex;
            justify-content: flex-end;
            align-items: center;
            flex-direction: row;

            position: relative;
        }

            #minicart .minicart-summary .minicart-summary-order-more svg {
                width: 32px;
                height: 34px;

                top: -2px;
                left: 15px;

                position: absolute;
            }

            #minicart .minicart-summary .minicart-summary-order-more span {
                font-family: poppins, sans-serif;
                font-style: normal;
                font-weight: 400;
                font-size: 11px;
                line-height: 100%;
                /* identical to box height, or 11px */

                height: 10px;

                text-align: right;
                letter-spacing: 0.02em;

                color: #FFFFFF;
            }

    #minicart .minicart-actions {
        display: flex;
        justify-content: stretch;
        align-items: stretch;
        flex-direction: row;
    }

        #minicart .minicart-actions .minicart-close {
            background: rgba(224, 231, 246, 0.5);
            box-shadow: 0px 10px 20px 5px rgba(255, 255, 255, 0.25);

            height: 50px;
            width: 50px;

            transition: background 0.3s ease-in-out;

            display: flex;
            justify-content: center;
            align-items: center;
        }
        #minicart .minicart-actions .minicart-close:hover {
            background: rgba(224, 231, 246, 0.75);
        }

            #minicart .minicart-actions .minicart-close svg {
                height: 12px;
                width: 12px;
            }

        #minicart .minicart-actions .btn.btn-primary {
        }


/*** ------- SINGLE PRODUCT ------- ***/


.product-page {
    margin: 0 auto;
    padding: 0;
    max-width: 1200px;
}

/* Breadcrumbs */

.product-breadcrumbs {
    margin: 0;
    padding: 20px 30px;

    font-family: marine, sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: 13px;
    line-height: 1;

    letter-spacing: 0.02em;

    display: flex;
    align-items: center;
    gap: 8px;
}

    .product-breadcrumbs a {
        text-decoration: none;
        color: #848484;

        transition: color 0.3s ease-in-out;
    }
    .product-breadcrumbs a:hover {
        color: #4768A9;
    }

    .product-breadcrumbs .sep {
        color: #CACACA;
        font-size: 11px;
    }

    .product-breadcrumbs .current {
        color: #263238;
        font-weight: 400;
    }

/* Product Layout */

.product-single {
    margin: 0;
    padding: 40px 30px 60px;

    display: flex;
    align-items: flex-start;
    gap: 60px;
}

/* Gallery */

.product-gallery {
    width: 50%;
    max-width: 640px;
    flex-shrink: 0;
}

    .product-gallery-main {

        width: 100%;
        /*aspect-ratio: 1 / 0.85;*/

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

        overflow: hidden;
    }

        .product-gallery-main img {
            max-width: 90%;
            max-height: 90%;
            object-fit: contain;
        }

    .product-gallery-thumbs {
        margin: 15px 0 0 0;
        padding: 0;
        overflow: hidden;
    }

        .product-gallery-thumbs .slick-slide {
            margin: 0 4px;
        }

        .product-gallery-thumbs .slick-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            z-index: 1;
            width: 24px;
            height: 24px;
            cursor: pointer;
            border: none;
            background: rgba(255, 255, 255, 0.85);
            border-radius: 50%;
            font-size: 0;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
        }
        .product-gallery-thumbs .slick-arrow:before {
            font-size: 14px;
            color: #333;
        }
        .product-gallery-thumbs .slick-prev { left: -5px; }
        .product-gallery-thumbs .slick-next { right: -5px; }

        .product-gallery-thumbs .product-thumb {
            border: none;
            border-bottom: 2px solid transparent;

            width: 80px;
            min-width: 80px;
            max-width: 80px;
            height: 80px;

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

            overflow: hidden;

            transition: border-color 0.3s ease-in-out;
        }
        .product-gallery-thumbs .product-thumb:hover {
            border-bottom-color: #E0E7F6;
        }
        .product-gallery-thumbs .product-thumb.active {
            border-bottom-color: #4768A9;
        }

            .product-gallery-thumbs .product-thumb img {
                max-width: 85%;
                max-height: 85%;
                object-fit: contain;
            }

/* Product Info */

.product-info {
    flex: 1;
    max-width: 500px;

    display: flex;
    flex-direction: column;
    gap: 25px;
}

    /* Header: title + rating + brand logo */

    .product-info-header {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 20px;
    }

    .product-info-header-left {
        flex: 1;
        min-width: 0;
    }

    .product-brand-logo {
        flex-shrink: 0;
    }

    .product-brand-logo img {
        height: 48px;
        width: auto;
    }

    h1.product-title {
        margin: 0;
        padding: 0;

        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: 21px;
        line-height: 120%;

        letter-spacing: 0;
        text-transform: none;

        color: #000000;
    }

    /* Rating & Reviews */

    .product-rating {
        margin: 0 0 0 0;

        display: flex;
        align-items: center;
        gap: 15px;
    }

        .product-stars {
            display: flex;
            align-items: center;
            gap: 3px;
        }

            .product-rating-count {
                margin: 0 0 0 4px;

                font-family: poppins, sans-serif;
                font-style: normal;
                font-weight: 400;
                font-size: 14px;
                line-height: 1;

                color: #848484;
            }

        .product-reviews-link {
            font-family: marine, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 13px;
            line-height: 1;

            letter-spacing: 0.02em;
            text-decoration: none;

            color: #848484;

            display: flex;
            align-items: center;
            gap: 6px;
        }
        .product-reviews-link:hover {
            color: #4768A9;
        }

            .reviews-bubble-icon {
                width: 16px;
                height: 16px;
            }

    /* Highlights */

    .product-highlights {
        margin: -5px 0 0 0;

        display: flex;
        align-items: center;
        justify-content: space-between;
    }

        .product-highlight {
            width: 148px;

            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;

            overflow: hidden;
        }

            .product-highlight img {
                width: 24px;
                height: 24px;
            }

            .product-highlight span {
                font-family: poppins, sans-serif;
                font-style: normal;
                font-weight: 500;
                font-size: 11px;
                line-height: 120%;

                letter-spacing: 0.02em;
                text-transform: uppercase;
                text-align: center;

                color: #848484;
            }

        .product-highlight-divider {
            width: 1px;
            height: 40px;
            background: #E0E0E0;
        }

    /* Variations form */

    .product-info .variations_form,
    .product-info .cart {
        display: flex;
        flex-direction: column;
        gap: 25px;
    }

    /* Color variants */

    .product-color-variants {
        margin: 0;

        display: flex;
        flex-direction: column;
        gap: 10px;
    }

        .product-color-variants-title {
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 16px;
            line-height: 1;

            color: #000000;
        }

        .product-color-variants-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
        }

            .product-color-variant {
                position: relative;

                display: flex;
                flex-direction: column;
                align-items: center;
                gap: 12px;

                text-decoration: none;

                width: 84px;
            }

                .product-color-variant-thumb {
                    width: 84px;
                    height: 84px;

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

                    padding: 1px;

                    border: 2px solid #c8d1e3;
                    border-radius: 3px;

                    overflow: hidden;
                }

                .product-color-variant-thumb img {
                    width: 80px;
                    height: 80px;
                    object-fit: contain;
                }

                .product-color-variant.active .product-color-variant-thumb {
                    border-color: #4769a9;
                }

                .product-color-variant-dot {
                    position: absolute;
                    top: 75px;
                    left: 50%;
                    transform: translateX(-50%);

                    width: 16px;
                    height: 16px;
                    border-radius: 50%;

                    border: 2px solid #ffffff;
                    box-shadow: none;

                    z-index: 1;
                }

                .product-color-variant-name {
                    font-family: poppins, sans-serif;
                    font-style: normal;
                    font-weight: 500;
                    font-size: 11px;
                    line-height: 1;
                    text-transform: uppercase;
                    text-align: center;

                    color: #848484;
                }

                .product-color-variant.active .product-color-variant-name {
                    color: #4769a9;
                }

    /* Color label */

    .product-color-label {
        margin: 0 0 16px 0;

        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: 16px;
        line-height: 1;

        color: #000000;
    }

        .product-color-label-title {
            color: #888888;
        }

        .product-color-label-value {
            font-weight: 500;
        }

    /* Color swatches */

    .product-colors-section {
        margin: 0;
    }

        .product-colors-section > label {
            margin: 0 0 10px 0;

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 16px;
            line-height: 1;

            color: #000000;

            display: block;
        }

        .product-color-swatches {
            display: flex;
            align-items: center;
            gap: 10px;
        }

            .color-swatch {
                border: 1px solid transparent;

                width: 34px;
                height: 34px;

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

                padding: 1px;

                transition: border-color 0.3s ease-in-out;
            }
            .color-swatch:hover,
            .color-swatch.active {
                border-color: currentColor;
            }

                .color-swatch .swatch-inner {
                    width: 30px;
                    height: 30px;
                    display: block;
                }

            .selected-color-name {
                margin: 0 0 0 5px;

                font-family: marine, sans-serif;
                font-style: normal;
                font-weight: 700;
                font-size: 16px;
                line-height: 1;

                color: #ACACAC;
            }

    /* Attribute buttons */

    .product-attribute-buttons {
        margin: 0;
    }

    .product-attribute-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin: 0 0 10px 0;
    }

        .product-attribute-header label {
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 16px;
            line-height: 1;
            color: #000000;
            display: block;
            margin: 0;
        }

        .size-chart-link {
            display: flex;
            align-items: center;
            gap: 10px;

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 600;
            font-size: 13px;
            line-height: 1;
            text-transform: uppercase;
            text-decoration: none;

            color: #4769A9;
            transition: opacity 0.2s ease;
        }
        .size-chart-link:hover {
            opacity: 0.7;
        }

    .product-attribute-options {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

        .attribute-option {
            appearance: none;
            -webkit-appearance: none;

            margin: 0;
            padding: 0 16px;
            border: 2px solid #C8D1E3;
            border-radius: 3px;
            background: #F7F7F7;

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 500;
            font-size: 16px;
            line-height: 42px;

            color: #4769A9;

            height: 42px;

            cursor: pointer;

            position: relative;
            overflow: hidden;

            transition: border-color 0.3s ease, background-color 0.3s ease, color 0.3s ease;
        }

        .attribute-option:hover {
            border-color: #4769A9;
        }

        .attribute-option.selected {
            background: #4769A9;
            border-color: #4769A9;
            color: #FFFFFF;
        }

        .attribute-option.unavailable {
            border-color: #CACACA;
            color: #848484;
            cursor: not-allowed;
            opacity: 0.3;
            transition: opacity 0.3s ease-in-out, border-color 0.3s ease-in-out;
        }
        .attribute-option.unavailable:hover {
            border-color: #CACACA;
            opacity: 1;
        }

        .attribute-option.unavailable::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(
                to top left,
                transparent calc(50% - 1px),
                #CACACA calc(50% - 1px),
                #CACACA calc(50% + 1px),
                transparent calc(50% + 1px)
            );
            pointer-events: none;
        }

    /* Delivery banner */

    .product-delivery-banner {
        margin: 0;
        padding: 10px 20px;
        border: 1px dashed #6DB853;
        border-radius: 3px;
        background: rgba(109, 184, 83, 0.1);
        width: 100%;

        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: 13px;
        line-height: 1;

        color: #333333;

        display: flex;
        align-items: center;
        gap: 15px;

        overflow: hidden;
    }

        .product-delivery-banner img {
            flex-shrink: 0;
            width: 24px;
            height: 24px;
        }

        .product-delivery-banner strong {
            font-weight: 600;
            color: #6DB853;
        }

    /* Price & Buy */

    .product-price-buy {
        margin: 0;

        display: flex;
        align-items: center;
        gap: 25px;
    }

    .product-price {
        flex: 1;

        display: flex;
        flex-direction: column;
        gap: 5px;
    }

        .product-price .price-label {
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 500;
            font-size: 12px;
            line-height: 1;

            text-transform: uppercase;

            color: #ACACAC;
        }

        .product-price .price-old {
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 16px;
            line-height: 1;

            text-decoration: line-through;

            color: #848484;
        }

        .product-price .price-current {
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 27px;
            line-height: 1;

            color: #000000;
        }

    /* Add to cart button */

    .btn.btn-add-to-cart {
        margin: 0;
        padding: 0 30px;
        border: 0;
        border-radius: 3px;
        background: #4DCB21;
        box-shadow: 0px 5px 30px 10px rgba(109, 184, 83, 0.2);

        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 600;
        font-size: 16px;
        line-height: 1;

        letter-spacing: 0;
        text-transform: none;
        white-space: nowrap;

        color: #FFFFFF;

        height: 50px;

        gap: 15px;

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

        cursor: pointer;

        transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    }
    .btn.btn-add-to-cart:hover {
        background: #3FA51A;
        box-shadow: 0px 8px 30px 10px rgba(109, 184, 83, 0.3);
    }
    .btn.btn-add-to-cart.disabled,
    .btn.btn-add-to-cart:disabled {
        background: #CCCCCC;
        box-shadow: none;
        cursor: not-allowed;
    }

        .btn.btn-add-to-cart img {
            width: 24px;
            height: 24px;
        }

    /* Benefits */

    .product-benefits-section {
        margin: 0;
    }

        .product-benefits-title {
            margin: 0 0 12px 0;

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 500;
            font-size: 14px;
            line-height: 1;

            text-transform: none;

            color: #333333;
        }

    .product-benefits {
        margin: 0;
        padding: 0 0 0 5px;

        list-style: none;

        display: flex;
        flex-direction: column;
        gap: 7px;
    }

        .product-benefits li {
            font-family: marine, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 13px;
            line-height: 1;

            color: #333333;

            display: flex;
            align-items: center;
            gap: 5px;
        }

            .product-benefits li img {
                flex-shrink: 0;
                width: 16px;
                height: 16px;
            }

    /* Payment methods */

    .product-payment-methods {
        margin: 0;

        display: flex;
        align-items: center;
        gap: 20px;

        overflow: hidden;
    }

        .product-payment-methods img {
            height: 30px;
            width: auto;
        }

/* Description Section */

.product-description {
    margin: 0;
    padding: 0 30px 60px;
}

    .product-description-short {
        padding: 40px 0;
        border-top: 1px solid #ECECEC;
    }

        .product-desc-brand-logo {
            margin: 0 0 20px 0;
        }

            .product-desc-brand-logo img {
                height: 25px;
                width: auto;
            }

        .product-desc-content {
            font-family: marine, sans-serif;
            font-style: normal;
            font-weight: 300;
            font-size: 15px;
            line-height: 170%;

            letter-spacing: 0.02em;

            color: #263238;

            max-width: 800px;
        }

            .product-desc-content ul {
                margin: 15px 0;
                padding: 0 0 0 20px;
            }

                .product-desc-content ul li {
                    margin: 0 0 6px 0;

                    font-size: 14px;
                    line-height: 160%;
                }

            .product-desc-content p {
                margin: 0 0 12px 0;
            }

        .product-brand-link {
            margin: 15px 0 0 0;

            font-family: marine, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 14px;
            line-height: 1;

            letter-spacing: 0.02em;
            text-decoration-style: dashed;

            color: #4768A9;

            display: inline-block;
        }
        .product-brand-link:hover {
            color: #C62828;
            text-decoration-style: solid;
        }

    .product-description-full {
        padding: 40px 0 0 0;
        border-top: 1px solid #ECECEC;

        font-family: marine, sans-serif;
        font-style: normal;
        font-weight: 300;
        font-size: 15px;
        line-height: 170%;

        letter-spacing: 0.02em;

        color: #263238;
    }

        .product-description-full p {
            margin: 0 0 12px 0;
        }

/* Reviews */

.product-reviews {
    padding: 40px 30px 60px;
    border-top: 1px solid #ECECEC;
}

/*** ------- ARCHIVE / CATEGORY PAGE ------- ***/

.archive-main {
    margin: 0;
}

    .archive-main .product-breadcrumbs {
        margin: 0;
    }

/* Підкатегорії */
.archive-subcategories {
    margin: 30px 0 0 0;
}

/* Заголовок архіву */
.archive-header {
    margin: 40px 0 30px;
}

    .archive-header h1 {
        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 300;
        font-size: 32px;
        line-height: 1;
        letter-spacing: 0.02em;
        text-transform: uppercase;

        color: #263238;

        margin: 0;
    }

/* Основний лейаут: сайдбар + контент */
.archive-layout {
    display: flex;
    gap: 40px;
    align-items: flex-start;

    margin: 0 0 80px 0;
}

/* Сайдбар */
.archive-sidebar {
    width: 220px;
    flex-shrink: 0;

    position: sticky;
    top: 100px;
}

    .sidebar-section {
        margin: 0 0 30px 0;
        padding: 0 0 30px 0;
        border-bottom: 1px solid #ECECEC;
    }
    .sidebar-section:last-child {
        border-bottom: 0;
    }

    .sidebar-title {
        margin: 0 0 15px 0;

        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 600;
        font-size: 14px;
        line-height: 1;
        letter-spacing: 0.02em;
        text-transform: uppercase;

        color: #263238;
    }

    /* Дерево категорій */
    .sidebar-categories {
        margin: 0;
        padding: 0;
        list-style: none;
    }

        .sidebar-categories li {
            margin: 0;
        }

        .sidebar-categories li a {
            padding: 7px 0;

            font-family: marine, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 16px;
            line-height: 1;
            letter-spacing: 0.02em;

            color: #263238;
            text-decoration: none;

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

            transition: color 0.2s ease-in-out;
        }
        .sidebar-categories li a:hover {
            color: #4768A9;
        }
        .sidebar-categories li.active > a,
        .sidebar-categories li.active-parent > a {
            color: #4768A9;
            font-weight: 600;
        }

            .sidebar-categories li a .count {
                font-size: 12px;
                color: #90A4AE;
            }

        /* Вкладені категорії */
        .sidebar-categories ul {
            margin: 0;
            padding: 0 0 0 15px;
            list-style: none;
        }

            .sidebar-categories ul li a {
                font-size: 16px;
                padding: 5px 0;
            }

    /* Фільтри атрибутів */
    .sidebar-filter {
        margin: 0;
        padding: 0;
        list-style: none;

        display: flex;
        flex-wrap: wrap;
        gap: 8px;
    }

        .sidebar-filter li a {
            padding: 6px 12px;

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 500;
            font-size: 13px;
            line-height: 1;

            color: #263238;
            text-decoration: none;

            background: rgba(224, 231, 246, 0.4);

            display: block;

            transition: background 0.2s ease-in-out, color 0.2s ease-in-out;
        }
        .sidebar-filter li a:hover {
            background: rgba(224, 231, 246, 0.8);
            color: #4768A9;
        }
        .sidebar-filter li.active a {
            background: #4768A9;
            color: #FFFFFF;
        }

    /* Розміри — компактніше */
    .sidebar-filter-sizes li a {
        padding: 6px 10px;
        min-width: 38px;
        text-align: center;
    }

/* Контент */
.archive-content {
    flex: 1;
    min-width: 0;
    width: 100%;
}

/* Тулбар */
.archive-toolbar {
    margin: 0 0 25px 0;
    padding: 0 0 15px 0;
    border-bottom: 1px solid #ECECEC;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .archive-result-count {
        font-family: marine, sans-serif;
        font-style: normal;
        font-weight: 400;
        font-size: 13px;
        line-height: 1;

        color: #90A4AE;
    }

    .archive-sorting {
        display: flex;
        align-items: center;
        gap: 10px;
    }

        .archive-sorting label {
            font-family: marine, sans-serif;
            font-style: normal;
            font-weight: 400;
            font-size: 13px;
            line-height: 1;

            color: #90A4AE;
        }

        .archive-sorting select {
            padding: 8px 30px 8px 12px;
            border: 1px solid #ECECEC;
            background: rgba(224, 231, 246, 0.3);

            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 500;
            font-size: 13px;
            line-height: 1;

            color: #263238;

            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg width='8' height='6' viewBox='0 0 8 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M7 1.5L4 4.5L1 1.5' stroke='%23263238' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 10px center;

            cursor: pointer;
            outline: none;
        }
        .archive-sorting select:focus {
            border-color: #4768A9;
        }

/* Сітка товарів */
.products-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 280px));
    gap: 90px 80px;
    justify-content: center;
}

    /* Адаптивна картка в сітці */
    .products-grid .product-card-cover {
        padding: 0;
        width: 100%;
    }

    .products-grid .product-card {
        width: 100%;
    }

        .products-grid .product-card .bg {
            width: 100%;
            height: 0;
            padding-bottom: 133.33%; /* 320/240 = 4:3 */
        }

            .products-grid .product-card .bg img {
                width: 100%;
                left: -8%;
            }

            .products-grid .product-card .bg .product-shadow {
                width: 100%;
                height: 100%;
                background-size: 80% auto;
            }

/* Пагінація */
.archive-pagination {
    margin: 50px 0 0 0;
    padding: 30px 0 0 0;
    border-top: 1px solid #ECECEC;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
}

    .archive-pagination a,
    .archive-pagination span {
        padding: 10px 14px;

        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 500;
        font-size: 14px;
        line-height: 1;

        color: #263238;
        text-decoration: none;

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

        min-width: 40px;

        transition: background 0.2s ease-in-out, color 0.2s ease-in-out;
    }

    .archive-pagination a:hover {
        background: rgba(224, 231, 246, 0.5);
        color: #4768A9;
    }

    .archive-pagination span.current {
        background: #4768A9;
        color: #FFFFFF;
    }

    .archive-pagination .prev,
    .archive-pagination .next {
        background: #4768A9;
        border-radius: 50px;
        padding: 14px 18px;
        color: #FFFFFF;
    }
    .archive-pagination .prev:hover,
    .archive-pagination .next:hover {
        background: #2B3F66;
        color: #FFFFFF;
    }

    .archive-pagination .prev svg,
    .archive-pagination .next svg {
        width: 20px;
        height: 10px;
    }

    .archive-pagination .dots {
        color: #90A4AE;
    }

/* Пусті результати */
.archive-no-results {
    grid-column: 1 / -1;
    text-align: center;
    padding: 60px 20px;
}

    .archive-no-results p {
        font-family: marine, sans-serif;
        font-size: 16px;
        color: #90A4AE;
        margin: 0 0 20px 0;
    }

    .archive-no-results .clear-filters {
        font-family: poppins, sans-serif;
        font-weight: 500;
        font-size: 14px;
        color: #4768A9;
        text-decoration: underline;
        text-decoration-style: dashed;
    }
    .archive-no-results .clear-filters:hover {
        color: #C62828;
        text-decoration-style: solid;
    }

/* Кнопка фільтрів для мобілки */
.archive-filters-toggle {
    display: none;

    margin: 0 0 20px 0;
    padding: 12px 20px;
    border: 0;
    background: rgba(224, 231, 246, 0.5);

    font-family: poppins, sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.02em;
    text-transform: uppercase;

    color: #4768A9;

    width: 100%;

    cursor: pointer;
    align-items: center;
    justify-content: center;
    gap: 10px;

    transition: background 0.2s ease-in-out;
}
.archive-filters-toggle:hover {
    background: rgba(224, 231, 246, 0.8);
}


/*** ------- CART PAGE ------- ***/


.cart-page {
    margin: 50px auto;
    padding: 0 30px;
    max-width: 1200px;
}

/* Прогрес-бар безкоштовної доставки */

.cart-shipping-progress {
    margin: 0 0 40px 0;
    padding: 20px 25px;
    border: 1px solid #E0E7F6;
    background: #FAFBFE;
}

    .cart-shipping-progress-text {
        margin: 0 0 12px 0;

        gap: 10px;

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

        font-family: marine, sans-serif;
        font-size: 14px;
        line-height: 1.4;
        letter-spacing: 0.02em;
        color: #263238;
    }

        .cart-shipping-progress-text svg {
            flex-shrink: 0;
            width: 20px;
            height: 20px;
        }

        .cart-shipping-progress-text strong {
            font-family: poppins, sans-serif;
            font-weight: 600;
            color: #4768A9;
        }

    .cart-shipping-progress-text.achieved {
        color: #2E7D32;
        font-weight: 500;
    }

    .cart-shipping-progress-bar {
        background: #E0E7F6;
        height: 4px;
        width: 100%;
        overflow: hidden;
    }

        .cart-shipping-progress-bar-fill {
            background: #4768A9;
            height: 100%;

            transition: width 0.6s ease-in-out;
        }

        .cart-shipping-progress-text.achieved + .cart-shipping-progress-bar .cart-shipping-progress-bar-fill {
            background: #2E7D32;
        }

/* Layout: дві колонки */

.cart-layout {
    gap: 40px;

    display: flex;
    justify-content: stretch;
    align-items: flex-start;
    flex-direction: row;
}

    .cart-items-column {
        flex: 1;
        min-width: 0;
    }

    .cart-summary-column {
        width: 360px;
        flex-shrink: 0;
    }

/* Заголовок зі списком товарів */

.cart-items-header {
    margin: 0 0 30px 0;
    padding: 0 0 15px 0;
    border-bottom: 2px solid #E0E7F6;

    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

    .cart-items-header h2 {
        margin: 0;
        font-size: 24px;
        font-weight: 300;
        color: #263238;
    }

    .cart-items-count {
        font-family: marine, sans-serif;
        font-size: 14px;
        letter-spacing: 0.02em;
        color: #90A4AE;
    }

/* Список товарів */

.cart-items-list {
    gap: 0;

    display: flex;
    flex-direction: column;
}

.cart-item {
    padding: 25px 0;
    border-bottom: 1px solid #E0E7F6;

    gap: 20px;

    display: flex;
    justify-content: stretch;
    align-items: flex-start;
    flex-direction: row;

    position: relative;
}

    .cart-item-image {
        width: 120px;
        height: 120px;
        flex-shrink: 0;

        border: 1px solid rgba(224, 231, 246, 0.5);
        background: #FAFBFE;

        overflow: hidden;

        transition: box-shadow 0.3s ease-in-out;
    }
    .cart-item-image:hover {
        box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.06);
    }

        .cart-item-image a {
            display: block;
            width: 100%;
            height: 100%;
        }

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

    .cart-item-details {
        flex: 1;
        min-width: 0;

        gap: 15px;

        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-direction: column;
    }

    .cart-item-meta {
        gap: 6px;

        display: flex;
        flex-direction: column;
    }

        a.cart-item-name {
            font-family: poppins, sans-serif;
            font-style: normal;
            font-weight: 500;
            font-size: 16px;
            line-height: 1.3;
            letter-spacing: 0.02em;
            text-decoration: none;

            color: #263238;

            transition: color 0.3s ease-in-out;
        }
        a.cart-item-name:hover {
            color: #4768A9;
        }

        .cart-item-sku {
            font-family: marine, sans-serif;
            font-size: 12px;
            letter-spacing: 0.02em;
            color: #90A4AE;
        }

        .cart-item-variations {
            margin: 4px 0 0 0;

            gap: 4px 16px;
            display: flex;
            flex-wrap: wrap;
        }

            .cart-item-attr {
                font-family: marine, sans-serif;
                font-size: 13px;
                line-height: 1.4;
                letter-spacing: 0.02em;
                color: #546E7A;
            }

                .cart-item-attr-label {
                    color: #90A4AE;
                }

        .cart-item-unit-price {
            margin: 4px 0 0 0;

            font-family: poppins, sans-serif;
            font-weight: 500;
            font-size: 14px;
            letter-spacing: 0.02em;
            color: #4768A9;
        }

            .cart-item-unit-label {
                font-family: marine, sans-serif;
                font-weight: 400;
                font-size: 12px;
                color: #ACACAC;
                margin-left: 4px;
            }

    .cart-item-actions {
        width: 100%;

        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    /* Кастомний quantity input */

    .cart-item-quantity {
        display: flex;
        align-items: center;
    }

        .cart-item-quantity .quantity {
            display: flex;
            align-items: center;
        }

            .cart-item-quantity .quantity input.qty {
                margin: 0;
                padding: 0;
                border: 1px solid #E0E7F6;
                border-left: 0;
                border-right: 0;
                background: #FFFFFF;
                box-shadow: none;
                outline: none;

                font-family: poppins, sans-serif;
                font-weight: 500;
                font-size: 14px;
                text-align: center;

                width: 44px;
                height: 36px;

                -moz-appearance: textfield;
                color: #263238;
            }
            .cart-item-quantity .quantity input.qty::-webkit-outer-spin-button,
            .cart-item-quantity .quantity input.qty::-webkit-inner-spin-button {
                -webkit-appearance: none;
                margin: 0;
            }

    .cart-item-subtotal {
        font-family: poppins, sans-serif;
        font-weight: 600;
        font-size: 18px;
        letter-spacing: 0.02em;
        color: #263238;
    }

    /* Кнопка видалення */

    .cart-item-remove {
        padding: 4px;

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

        opacity: 0.4;

        transition: opacity 0.3s ease-in-out;

        position: absolute;
        top: 25px;
        right: 0;
    }
    .cart-item-remove:hover {
        opacity: 1;
    }

        .cart-item-remove svg path {
            transition: stroke 0.3s ease-in-out;
        }
        .cart-item-remove:hover svg path {
            stroke: #C62828;
        }

/* Форма: купон та оновлення */

.cart-form-actions {
    margin: 25px 0 0 0;
    padding: 20px 0 0 0;

    gap: 15px;

    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-direction: row;
    flex-wrap: wrap;
}

    .cart-coupon {
        gap: 0;

        display: flex;
        align-items: stretch;
        flex: 1;
        max-width: 360px;
    }

        .cart-coupon .form-control {
            border-right: 0;
            height: 44px;
            font-size: 14px;
        }

        .btn.btn-coupon {
            margin: 0 0 0 -2px;
            padding: 0 20px;
            border: 2px solid #4768A9;
            background: transparent;
            box-shadow: none;

            font-size: 13px;
            color: #4768A9;

            box-sizing: border-box;
            white-space: nowrap;
        }
        .btn.btn-coupon:hover {
            background: #4768A9;
            color: #FFFFFF;
        }

    .btn.btn-update-cart {
        padding: 0 20px;
        background: transparent;
        border: 2px solid #E0E7F6;
        box-shadow: none;

        font-size: 13px;
        color: #90A4AE;

        height: 44px;
    }
    .btn.btn-update-cart:hover {
        border-color: #4768A9;
        color: #4768A9;
        background: transparent;
    }

/* Кнопка «Продовжити покупки» */

.cart-continue-shopping {
    margin: 25px 0 0 0;

    gap: 10px;

    display: inline-flex;
    align-items: center;

    font-family: poppins, sans-serif;
    font-weight: 500;
    font-size: 13px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;

    color: #4768A9;

    transition: color 0.3s ease-in-out;
}
.cart-continue-shopping:hover {
    color: #C62828;
}

    .cart-continue-shopping svg {
        width: 15px;
        height: 9px;
    }

        .cart-continue-shopping svg path {
            stroke: #4768A9;
            transition: stroke 0.3s ease-in-out;
        }
        .cart-continue-shopping:hover svg path {
            stroke: #C62828;
        }

/* Підсумок замовлення (sticky sidebar) */

.cart-summary {
    padding: 30px;
    border: 1px solid #E0E7F6;
    background: #FAFBFE;

    gap: 25px;

    display: flex;
    flex-direction: column;

    position: sticky;
    top: 120px;
}

    .cart-summary h3 {
        margin: 0;
        padding: 0 0 15px 0;
        border-bottom: 2px solid #E0E7F6;

        font-size: 18px;
        font-weight: 500;
        color: #263238;
    }

    .cart-summary-lines {
        gap: 12px;

        display: flex;
        flex-direction: column;
    }

    .cart-summary-line {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

        .cart-summary-line span {
            font-family: marine, sans-serif;
            font-size: 14px;
            letter-spacing: 0.02em;
            color: #90A4AE;
        }

        .cart-summary-line strong {
            font-family: poppins, sans-serif;
            font-weight: 500;
            font-size: 14px;
            letter-spacing: 0.02em;
            color: #263238;
        }

    .cart-summary-coupon strong {
        color: #2E7D32;
    }

    .cart-summary-total {
        padding: 20px 0 0 0;
        border-top: 2px solid #E0E7F6;

        display: flex;
        justify-content: space-between;
        align-items: center;
    }

        .cart-summary-total span {
            font-family: poppins, sans-serif;
            font-weight: 500;
            font-size: 16px;
            text-transform: uppercase;
            letter-spacing: 0.02em;
            color: #263238;
        }

        .cart-summary-total strong {
            font-family: poppins, sans-serif;
            font-weight: 600;
            font-size: 22px;
            letter-spacing: 0.02em;
            color: #4768A9;
        }

    .btn.btn-checkout {
        width: 100%;
        max-width: 100%;
        height: 54px;

        justify-content: center;
    }

    .cart-summary-trust {
        padding: 15px 0 0 0;
        border-top: 1px solid #E0E7F6;

        gap: 10px;

        display: flex;
        flex-direction: column;
    }

        .cart-trust-item {
            gap: 8px;

            display: flex;
            align-items: center;
        }

            .cart-trust-item svg {
                width: 16px;
                height: 16px;
                flex-shrink: 0;
            }

            .cart-trust-item span {
                font-family: marine, sans-serif;
                font-size: 12px;
                letter-spacing: 0.02em;
                color: #90A4AE;
            }

/* Пустий кошик */

.cart-empty-state {
    padding: 80px 30px;

    gap: 20px;

    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

    .cart-empty-state svg {
        margin: 0 0 10px 0;
        opacity: 0.6;
    }

    .cart-empty-state h2 {
        margin: 0;
        font-size: 28px;
        font-weight: 300;
        color: #263238;
    }

    .cart-empty-state p {
        margin: 0;

        font-family: marine, sans-serif;
        font-size: 16px;
        line-height: 1.5;
        letter-spacing: 0.02em;
        color: #90A4AE;

        max-width: 400px;
    }

    .cart-empty-state .btn {
        margin: 10px 0 0 0;
    }

/* Quantity кнопки +/- */

.qty-btn {
    margin: 0;
    padding: 0;
    border: 1px solid #E0E7F6;
    background: #FAFBFE;
    outline: none;
    cursor: pointer;

    width: 36px;
    height: 36px;

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

    transition: background 0.2s ease-in-out, border-color 0.2s ease-in-out;
}
.qty-btn:hover {
    background: #E0E7F6;
    border-color: #4768A9;
}

    .qty-btn svg {
        pointer-events: none;
    }

/* WooCommerce: приховати дефолтні стилі кошика */

.woocommerce-cart .woocommerce-notices-wrapper {
    margin: 0 auto;
    padding: 0 30px;
    max-width: 1200px;
}

/* cart-collaterals: приховати дефолтний woo cart totals (ми маємо свій) */
.cart-collaterals .cart_totals {
    display: none;
}


/* ═══════════════════════════════════════════════════
   CHECKOUT PAGE
   ═══════════════════════════════════════════════════ */

.checkout-page {
    margin: 50px auto;
    padding: 0 30px;
    max-width: 1200px;
}

/* Express checkout zone */
.checkout-express {
    margin: 0 0 30px 0;
    padding: 0;
}
.checkout-express:empty {
    display: none;
}

/* Two-column layout */
.checkout-layout {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

    .checkout-fields-column {
        flex: 1;
        min-width: 0;
    }

    .checkout-summary-column {
        width: 360px;
        flex-shrink: 0;
    }

    .checkout-summary {
        position: sticky;
        top: 120px;

        padding: 30px;
        border: 1px solid #E0E7F6;
        border-radius: 8px;
        background: #FAFBFE;
    }

/* Section headings */
.checkout-section {
    margin: 0 0 30px 0;
}

    .checkout-section-title {
        margin: 0 0 20px 0;
        padding: 0 0 15px 0;
        border-bottom: 2px solid #E0E7F6;

        font-family: poppins, sans-serif;
        font-size: 18px;
        font-weight: 600;
        color: #263238;
    }

/* Billing/Shipping form field overrides */
.woocommerce-checkout .form-row {
    margin: 0 0 16px 0;
    padding: 0;
}

.woocommerce-checkout .form-row label {
    display: block;
    margin: 0 0 6px 0;

    font-family: poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #263238;
}

    .woocommerce-checkout .form-row label .optional {
        font-weight: 400;
        color: #90A4AE;
        font-size: 12px;
    }

    .woocommerce-checkout .form-row label .required {
        color: #C62828;
    }

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row .select2-container .select2-selection--single {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    margin: 0;

    border: 1px solid #E0E7F6;
    border-radius: 6px;
    background: #FFFFFF;
    outline: none;

    font-family: marine, sans-serif;
    font-size: 14px;
    color: #263238;

    transition: border-color 0.2s ease;
}

    .woocommerce-checkout .form-row input.input-text:focus,
    .woocommerce-checkout .form-row textarea:focus,
    .woocommerce-checkout .form-row select:focus {
        border-color: #4768A9;
        box-shadow: 0 0 0 3px rgba(71, 104, 169, 0.1);
    }

    .woocommerce-checkout .form-row textarea {
        height: auto;
        min-height: 100px;
        padding: 12px 14px;
        resize: vertical;
    }

/* Select2 overrides */
.woocommerce-checkout .select2-container .select2-selection--single {
    display: flex;
    align-items: center;
}

    .woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {
        padding: 0;
        line-height: 1;
        color: #263238;
        font-family: marine, sans-serif;
        font-size: 14px;
    }

    .woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow {
        height: 48px;
        right: 10px;
    }

/* Inline validation */
.woocommerce-checkout .form-row.woocommerce-validated input.input-text {
    border-color: #2E7D32;
}

.woocommerce-checkout .form-row.woocommerce-invalid input.input-text {
    border-color: #C62828;
}

/* Two-column field rows */
.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: calc(50% - 8px);
    display: inline-block;
    vertical-align: top;
}

.woocommerce-checkout .form-row-first {
    margin-right: 16px;
}

.woocommerce-checkout .form-row-wide {
    width: 100%;
}

/* Shipping toggle switch */
.checkout-shipping-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 15px 0;
}

    .checkout-shipping-toggle .checkout-section-title {
        margin: 0;
        padding: 0;
        border: none;
    }

.checkout-toggle-switch {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;

    font-family: marine, sans-serif;
    font-size: 13px;
    color: #90A4AE;
    user-select: none;
}

    .checkout-toggle-switch input[type="checkbox"] {
        display: none;
    }

    .checkout-toggle-slider {
        position: relative;
        width: 40px;
        height: 22px;
        background: #E0E7F6;
        border-radius: 11px;
        transition: background 0.2s ease;
        flex-shrink: 0;
    }

    .checkout-toggle-slider::after {
        content: '';
        position: absolute;
        top: 3px;
        left: 3px;
        width: 16px;
        height: 16px;
        background: #FFFFFF;
        border-radius: 50%;
        transition: transform 0.2s ease;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    }

    .checkout-toggle-switch input:checked + .checkout-toggle-slider {
        background: #4768A9;
    }

    .checkout-toggle-switch input:checked + .checkout-toggle-slider::after {
        transform: translateX(18px);
    }

/* Shipping fields slide */
.checkout-shipping-fields {
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.3s ease;
}

/* Order notes toggle */
.checkout-notes-toggle {
    display: flex;
    align-items: center;
    gap: 8px;

    font-family: poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #4768A9;
    text-decoration: none;

    transition: color 0.2s ease;
}

    .checkout-notes-toggle:hover {
        color: #263238;
    }

    .checkout-notes-toggle.open svg {
        transform: rotate(45deg);
    }

    .checkout-notes-toggle svg {
        transition: transform 0.2s ease;
    }

.checkout-notes-fields {
    margin: 15px 0 0 0;
    overflow: hidden;
}

/* ── Order Summary (Right Column) ── */

.checkout-summary h3 {
    margin: 0 0 20px 0;
    padding: 0 0 15px 0;
    border-bottom: 2px solid #E0E7F6;

    font-family: poppins, sans-serif;
    font-size: 18px;
    font-weight: 600;
    color: #263238;
}

/* Order items */
.checkout-order-items {
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #E0E7F6;

    display: flex;
    flex-direction: column;
    gap: 15px;
}

.checkout-order-item {
    display: flex;
    align-items: center;
    gap: 12px;
}

    .checkout-order-item-thumb {
        position: relative;
        width: 60px;
        height: 60px;
        flex-shrink: 0;

        border: 1px solid rgba(224, 231, 246, 0.5);
        border-radius: 6px;
        background: #FAFBFE;
        overflow: hidden;
    }

        .checkout-order-item-thumb img {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }

        .checkout-order-item-qty {
            position: absolute;
            top: -6px;
            right: -6px;

            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: #4768A9;
            color: #FFFFFF;

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

            font-family: poppins, sans-serif;
            font-size: 11px;
            font-weight: 600;
            line-height: 1;
        }

    .checkout-order-item-info {
        flex: 1;
        min-width: 0;
    }

        .checkout-order-item-name {
            display: block;

            font-family: marine, sans-serif;
            font-size: 13px;
            font-weight: 500;
            line-height: 1.3;
            color: #263238;

            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }

        .checkout-order-item-info dl {
            margin: 2px 0 0 0;
            display: flex;
            flex-wrap: wrap;
            gap: 0 6px;

            font-family: marine, sans-serif;
            font-size: 11px;
            color: #90A4AE;
        }

            .checkout-order-item-info dt {
                font-weight: 500;
            }

            .checkout-order-item-info dd {
                margin: 0;
            }

    .checkout-order-item-total {
        flex-shrink: 0;

        font-family: poppins, sans-serif;
        font-size: 14px;
        font-weight: 600;
        color: #263238;
        white-space: nowrap;
    }

/* Coupon section in summary */
.checkout-coupon-section {
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #E0E7F6;
}

.checkout-coupon-toggle {
    display: flex;
    align-items: center;
    gap: 8px;

    font-family: marine, sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #4768A9;
    text-decoration: none;

    transition: color 0.2s ease;
}

    .checkout-coupon-toggle:hover {
        color: #263238;
    }

.checkout-coupon-form {
    margin: 12px 0 0 0;
    display: flex;
    gap: 8px;
}

    .checkout-coupon-input {
        flex: 1;
        height: 40px;
        padding: 0 12px;

        border: 1px solid #E0E7F6;
        border-radius: 6px;
        background: #FFFFFF;
        outline: none;

        font-family: marine, sans-serif;
        font-size: 13px;
        color: #263238;

        transition: border-color 0.2s ease;
    }

    .checkout-coupon-input:focus {
        border-color: #4768A9;
    }

    .checkout-apply-coupon {
        height: 40px;
        padding: 0 16px;

        border: none;
        border-radius: 6px;
        background: #4768A9;
        color: #FFFFFF;
        cursor: pointer;

        font-family: poppins, sans-serif;
        font-size: 13px;
        font-weight: 500;

        transition: background 0.2s ease;
    }

    .checkout-apply-coupon:hover {
        background: #3a5a95;
    }

/* Summary lines */
.checkout-summary-lines {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.checkout-summary-line {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .checkout-summary-line > span,
    .checkout-summary-line > th {
        font-family: marine, sans-serif;
        font-size: 14px;
        font-weight: 400;
        color: #90A4AE;
    }

    .checkout-summary-line > strong,
    .checkout-summary-line > td {
        font-family: poppins, sans-serif;
        font-size: 14px;
        font-weight: 500;
        color: #263238;
        text-align: right;
    }

    .checkout-summary-coupon > strong {
        color: #2E7D32;
    }

/* Shipping methods inside summary */
.checkout-shipping .woocommerce-shipping-totals {
    width: 100%;
}

    .checkout-shipping .woocommerce-shipping-totals th {
        font-family: marine, sans-serif;
        font-size: 14px;
        font-weight: 400;
        color: #90A4AE;
        text-align: left;
        padding: 0;
    }

    .checkout-shipping .woocommerce-shipping-totals td {
        text-align: right;
        padding: 0;

        font-family: poppins, sans-serif;
        font-size: 14px;
        color: #263238;
    }

    .checkout-shipping .woocommerce-shipping-totals ul {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .checkout-shipping .woocommerce-shipping-totals li {
        margin: 0 0 6px 0;
    }

        .checkout-shipping .woocommerce-shipping-totals li label {
            font-family: marine, sans-serif;
            font-size: 13px;
            color: #263238;
            cursor: pointer;
        }

        .checkout-shipping .woocommerce-shipping-totals li input[type="radio"] {
            accent-color: #4768A9;
            margin: 0 6px 0 0;
        }

/* Total line */
.checkout-summary-total {
    margin: 15px 0 0 0;
    padding: 20px 0 0 0;
    border-top: 2px solid #E0E7F6;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .checkout-summary-total > span {
        font-family: poppins, sans-serif;
        font-size: 16px;
        font-weight: 600;
        color: #263238;
    }

    .checkout-summary-total > strong {
        font-family: poppins, sans-serif;
        font-size: 22px;
        font-weight: 600;
        color: #4768A9;
    }

/* ── Payment Section ── */

#payment {
    margin: 25px 0 0 0;
}

.checkout-payment-title {
    margin: 0 0 12px 0;

    font-family: poppins, sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #263238;
}

#payment .payment_methods {
    list-style: none;
    margin: 0 0 20px 0;
    padding: 0;
}

    #payment .payment_methods li {
        margin: 0 0 8px 0;
        padding: 14px 16px;

        border: 1px solid #E0E7F6;
        border-radius: 6px;
        background: #FFFFFF;

        transition: border-color 0.2s ease;
    }

    #payment .payment_methods li:has(input:checked) {
        border-color: #4768A9;
        background: rgba(71, 104, 169, 0.03);
    }

    #payment .payment_methods li label {
        display: flex;
        align-items: center;
        gap: 10px;
        cursor: pointer;

        font-family: marine, sans-serif;
        font-size: 14px;
        font-weight: 500;
        color: #263238;
    }

    #payment .payment_methods li input[type="radio"] {
        accent-color: #4768A9;
        margin: 0;
    }

    #payment .payment_methods li img {
        max-height: 24px;
        width: auto;
    }

    #payment .payment_methods li .payment_box {
        margin: 12px 0 0 0;
        padding: 12px;
        border-radius: 4px;
        background: #FAFBFE;

        font-family: marine, sans-serif;
        font-size: 13px;
        line-height: 1.5;
        color: #90A4AE;
    }

/* Place Order button */
.btn-place-order {
    width: 100%;
    height: 54px;

    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;

    border: none;
    border-radius: 8px;
    background: #4768A9;
    color: #FFFFFF;
    cursor: pointer;

    font-family: poppins, sans-serif;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.02em;

    transition: background 0.2s ease;
}

    .btn-place-order:hover {
        background: #3a5a95;
    }

    .btn-place-order svg {
        flex-shrink: 0;
    }

/* Terms & conditions */
.woocommerce-terms-and-conditions-wrapper {
    margin: 0 0 15px 0;
}

    .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
        font-family: marine, sans-serif;
        font-size: 12px;
        line-height: 1.5;
        color: #90A4AE;
    }

        .woocommerce-terms-and-conditions-wrapper a {
            color: #4768A9;
        }

    .woocommerce-form__label-for-checkbox {
        display: flex;
        align-items: flex-start;
        gap: 8px;

        font-family: marine, sans-serif;
        font-size: 13px;
        color: #263238;
        cursor: pointer;
    }

        .woocommerce-form__label-for-checkbox input[type="checkbox"] {
            accent-color: #4768A9;
            margin-top: 2px;
        }

/* Trust signals */
.checkout-trust-signals {
    margin: 20px 0 0 0;
    padding: 15px 0 0 0;
    border-top: 1px solid #E0E7F6;

    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Notices inside checkout */
.woocommerce-checkout .woocommerce-notices-wrapper {
    margin: 0 0 20px 0;
}

/* WC notices, errors, info styling */
.woocommerce-checkout .woocommerce-NoticeGroup {
    margin: 0 0 20px 0;
}

    .woocommerce-checkout .woocommerce-error {
        list-style: none;
        margin: 0 0 20px 0;
        padding: 14px 18px;

        border: 1px solid #FFCDD2;
        border-radius: 6px;
        background: #FFF5F5;

        font-family: marine, sans-serif;
        font-size: 14px;
        color: #C62828;
    }

    .woocommerce-checkout .woocommerce-message {
        margin: 0 0 20px 0;
        padding: 14px 18px;

        border: 1px solid #C8E6C9;
        border-radius: 6px;
        background: #F1F8E9;

        font-family: marine, sans-serif;
        font-size: 14px;
        color: #2E7D32;
    }


/*** ======= MY ACCOUNT ======= ***/


/* Auth page (login/register) */

.account-page {
    margin: 50px auto;
    padding: 0 30px;
    max-width: 1200px;
}

.account-auth {
    margin: 0 auto;
    max-width: 480px;
}

.account-auth-tabs {
    margin: 0 0 30px 0;
    border-bottom: 2px solid #E0E7F6;

    display: flex;
    gap: 0;
}

    .account-auth-tab {
        margin: 0;
        padding: 12px 30px;
        border: 0;
        border-bottom: 2px solid transparent;
        background: none;
        cursor: pointer;

        font-family: poppins, sans-serif;
        font-style: normal;
        font-weight: 500;
        font-size: 16px;
        line-height: 24px;

        letter-spacing: 0.02em;
        text-transform: uppercase;

        color: #90A4AE;

        position: relative;
        bottom: -2px;

        transition: color 0.3s ease-in-out, border-color 0.3s ease-in-out;
    }

    .account-auth-tab:hover {
        color: #263238;
    }

    .account-auth-tab.active {
        color: #4768A9;
        border-bottom-color: #4768A9;
        font-weight: 600;
    }

.account-auth-panel {
    display: none;
}

.account-auth-panel.active {
    display: block;
    padding: 30px;
    border: 1px solid #E0E7F6;
    border-radius: 8px;
    background: #FAFBFE;
}

/* WooCommerce notices on auth page */
.account-auth .woocommerce-error,
.account-auth .woocommerce-message,
.account-auth .woocommerce-info {
    margin: 0 0 20px 0;
    padding: 12px 16px;
    border-radius: 6px;
    list-style: none;

    font-family: marine, sans-serif;
    font-size: 14px;
}

.account-auth .woocommerce-error {
    border: 1px solid #FFCDD2;
    background: #FFEBEE;
    color: #C62828;
}

.account-auth .woocommerce-message {
    border: 1px solid #C8E6C9;
    background: #F1F8E9;
    color: #2E7D32;
}

.account-password-wrapper {
    position: relative;
    width: 100%;
}

    .account-password-wrapper .form-control {
        padding-right: 50px;
    }

    .account-password-toggle {
        position: absolute;
        right: 0;
        top: 0;
        bottom: 0;
        width: 50px;

        margin: 0;
        padding: 0;
        border: 0;
        background: none;
        cursor: pointer;

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

        .account-password-toggle svg {
            width: 20px;
            height: 20px;
            opacity: 0.5;

            transition: opacity 0.2s ease-in-out;
        }

        .account-password-toggle:hover svg {
            opacity: 0.8;
        }

.account-login-options {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

    .account-remember {
        display: flex;
        align-items: center;
        gap: 8px;

        cursor: pointer;

        font-family: marine, sans-serif;
        font-size: 14px;
        color: #263238;
    }

        .account-remember input[type="checkbox"] {
            width: 18px;
            height: 18px;
            margin: 0;

            accent-color: #4768A9;
            cursor: pointer;
        }

    .account-forgot-link {
        font-family: marine, sans-serif;
        font-size: 14px;
        color: #4768A9;
        text-decoration: none;

        transition: color 0.3s ease-in-out;
    }

    .account-forgot-link:hover {
        color: #C62828;
        text-decoration: underline;
    }

.account-submit {
    margin-top: 10px;
    width: 100%;
    max-width: 100%;
    justify-content: center;
}

.account-privacy-note,
.account-auth .woocommerce-privacy-policy-text p {
    margin: 0;
    padding: 0;

    font-family: marine, sans-serif;
    font-size: 13px;
    line-height: 1.5;
    color: #90A4AE;
}

    .account-auth .woocommerce-privacy-policy-text p a {
        color: #4768A9;
    }


/* Account layout (sidebar + content) */

.account-layout {
    display: flex;
    flex-direction: row;
    gap: 40px;
}

    .account-sidebar {
        width: 280px;
        flex-shrink: 0;
    }

    .account-content {
        flex: 1;
        min-width: 0;
    }


/* Account navigation */

.account-nav {
    position: sticky;
    top: 120px;

    padding: 24px;
    border: 1px solid #E0E7F6;
    border-radius: 8px;
    background: #FAFBFE;
}

.account-nav-user {
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    border-bottom: 1px solid #E0E7F6;

    display: flex;
    align-items: center;
    gap: 12px;
}

    .account-nav-avatar {
        width: 48px;
        height: 48px;
        flex-shrink: 0;
        overflow: hidden;
        border-radius: 50%;
    }

        .account-nav-avatar img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 50%;
        }

    .account-nav-user-info {
        display: flex;
        flex-direction: column;
        gap: 2px;
        min-width: 0;
    }

        .account-nav-name {
            font-family: poppins, sans-serif;
            font-weight: 600;
            font-size: 14px;
            line-height: 1.3;
            color: #263238;

            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .account-nav-email {
            font-family: marine, sans-serif;
            font-size: 12px;
            line-height: 1.3;
            color: #90A4AE;

            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

.account-nav-list {
    margin: 0;
    padding: 0;
    list-style: none;

    display: flex;
    flex-direction: column;
    gap: 2px;
}

    .account-nav-item a {
        margin: 0;
        padding: 10px 12px;
        border-radius: 6px;

        display: flex;
        align-items: center;
        gap: 12px;

        text-decoration: none;
        color: #263238;

        font-family: marine, sans-serif;
        font-size: 14px;
        line-height: 1.4;

        transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    }

    .account-nav-item a:hover {
        background: #E0E7F6;
        color: #4768A9;
    }

    .account-nav-item a svg {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
        color: #90A4AE;

        transition: color 0.2s ease-in-out;
    }

    .account-nav-item a:hover svg {
        color: #4768A9;
    }

    .account-nav-item.is-active a {
        background: #4768A9;
        color: #FFFFFF;
    }

    .account-nav-item.is-active a svg {
        color: #FFFFFF;
    }

    /* Logout item */
    .account-nav-item:last-child {
        margin-top: 8px;
        padding-top: 10px;
        border-top: 1px solid #E0E7F6;
    }

    .account-nav-item:last-child a {
        color: #90A4AE;
    }

    .account-nav-item:last-child a:hover {
        color: #C62828;
        background: rgba(198, 40, 40, 0.05);
    }

    .account-nav-item:last-child a:hover svg {
        color: #C62828;
    }


/* Dashboard */

.account-dashboard-welcome {
    margin: 0 0 30px 0;
}

    .account-dashboard-welcome h2 {
        margin: 0 0 8px 0;
        font-size: 28px;
    }

    .account-dashboard-welcome p {
        margin: 0;

        font-family: marine, sans-serif;
        font-size: 15px;
        line-height: 1.6;
        color: #90A4AE;
    }

.account-dashboard-cards {
    margin: 0 0 40px 0;

    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

    .account-dashboard-card {
        padding: 20px;
        border: 1px solid #E0E7F6;
        border-radius: 8px;
        background: #FFFFFF;

        display: flex;
        align-items: center;
        gap: 16px;

        text-decoration: none;
        color: #263238;

        transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
    }

    .account-dashboard-card:hover {
        border-color: #4768A9;
        box-shadow: 0 4px 20px rgba(71, 104, 169, 0.1);
    }

    .account-dashboard-card-icon {
        width: 48px;
        height: 48px;
        flex-shrink: 0;
        border-radius: 8px;
        background: #F0F3FA;

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

        .account-dashboard-card-icon svg {
            width: 24px;
            height: 24px;
        }

    .account-dashboard-card-body {
        flex: 1;
        min-width: 0;
    }

        .account-dashboard-card-body h3 {
            margin: 0;

            font-family: poppins, sans-serif;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.3;
            color: #263238;
            text-transform: none;
        }

        .account-dashboard-card-body p {
            margin: 2px 0 0 0;

            font-family: marine, sans-serif;
            font-size: 13px;
            line-height: 1.4;
            color: #90A4AE;
        }

    .account-dashboard-card-arrow {
        width: 15px;
        height: 9px;
        flex-shrink: 0;
        opacity: 0;

        transition: opacity 0.3s ease-in-out;
    }

    .account-dashboard-card:hover .account-dashboard-card-arrow {
        opacity: 1;
    }


/* Dashboard: recent orders */

.account-dashboard-orders {
    margin: 0 0 40px 0;
}

.account-dashboard-section-header {
    margin: 0 0 16px 0;
    padding: 0 0 12px 0;
    border-bottom: 2px solid #E0E7F6;

    display: flex;
    justify-content: space-between;
    align-items: baseline;
}

    .account-dashboard-section-header h3 {
        margin: 0;

        font-family: poppins, sans-serif;
        font-size: 18px;
        font-weight: 600;
        color: #263238;
    }

.account-orders-list {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.account-order-row {
    padding: 16px 0;
    border-bottom: 1px solid #E0E7F6;

    display: flex;
    align-items: center;
    gap: 20px;
}

.account-order-row:last-child {
    border-bottom: 0;
}

    .account-order-info {
        flex: 1;
        min-width: 0;

        display: flex;
        flex-direction: column;
        gap: 2px;
    }

        .account-order-number {
            font-family: poppins, sans-serif;
            font-weight: 600;
            font-size: 14px;
            color: #263238;
        }

        .account-order-date {
            font-family: marine, sans-serif;
            font-size: 13px;
            color: #90A4AE;
        }

    .account-order-meta {
        display: flex;
        align-items: center;
        gap: 16px;
    }

    .account-order-status {
        padding: 4px 10px;
        border-radius: 4px;

        font-family: poppins, sans-serif;
        font-size: 11px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 0.03em;
        white-space: nowrap;

        background: #F0F3FA;
        color: #4768A9;
    }

    .account-order-status--processing {
        background: #FFF8E1;
        color: #F57F17;
    }

    .account-order-status--completed {
        background: #E8F5E9;
        color: #2E7D32;
    }

    .account-order-status--on-hold {
        background: #FFF3E0;
        color: #E65100;
    }

    .account-order-status--cancelled,
    .account-order-status--refunded,
    .account-order-status--failed {
        background: #FFEBEE;
        color: #C62828;
    }

    .account-order-total {
        font-family: poppins, sans-serif;
        font-weight: 600;
        font-size: 14px;
        color: #263238;
        white-space: nowrap;
    }

    .account-order-view {
        font-family: poppins, sans-serif;
        font-size: 12px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 0.02em;
        color: #4768A9;
        text-decoration: none;

        transition: color 0.2s ease-in-out;
    }

    .account-order-view:hover {
        color: #C62828;
    }


/* Dashboard: addresses */

.account-dashboard-addresses {
    margin: 0 0 30px 0;
}

    .account-dashboard-addresses > h3 {
        margin: 0 0 16px 0;
        padding: 0 0 12px 0;
        border-bottom: 2px solid #E0E7F6;

        font-family: poppins, sans-serif;
        font-size: 18px;
        font-weight: 600;
        color: #263238;
    }

.account-address-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

    .account-address-card {
        padding: 20px;
        border: 1px solid #E0E7F6;
        border-radius: 8px;
        background: #FFFFFF;
    }

        .account-address-card h4 {
            margin: 0 0 12px 0;

            font-family: poppins, sans-serif;
            font-size: 13px;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.04em;
            color: #4768A9;
        }

        .account-address-card address {
            margin: 0 0 16px 0;

            font-family: marine, sans-serif;
            font-style: normal;
            font-size: 14px;
            line-height: 1.6;
            color: #263238;
        }


/* Account content pages (orders, addresses, account details) */

.account-content .woocommerce-MyAccount-content {
    /* Reset */
}

/* Orders table override */
.account-content .woocommerce-orders-table {
    width: 100%;
    border-collapse: collapse;
    border: 0;
}

    .account-content .woocommerce-orders-table thead {
        border-bottom: 2px solid #E0E7F6;
    }

    .account-content .woocommerce-orders-table th {
        padding: 12px 16px;
        border: 0;

        font-family: poppins, sans-serif;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #90A4AE;

        text-align: left;
    }

    .account-content .woocommerce-orders-table td {
        padding: 16px;
        border: 0;
        border-bottom: 1px solid #E0E7F6;

        font-family: marine, sans-serif;
        font-size: 14px;
        color: #263238;
        vertical-align: middle;
    }

    .account-content .woocommerce-orders-table td a.woocommerce-button {
        display: inline-block;
        padding: 6px 16px;
        border: 1px solid #4768A9;
        border-radius: 4px;
        background: transparent;

        font-family: poppins, sans-serif;
        font-size: 12px;
        font-weight: 500;
        text-transform: uppercase;
        letter-spacing: 0.02em;
        text-decoration: none;
        color: #4768A9;

        transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
    }

    .account-content .woocommerce-orders-table td a.woocommerce-button:hover {
        background: #4768A9;
        color: #FFFFFF;
    }

/* Address edit form */
.account-content .woocommerce-address-fields .form-row {
    margin: 0 0 16px 0;
    padding: 0;
}

.account-content .woocommerce-address-fields .form-row label {
    display: block;
    margin: 0 0 6px 0;

    font-family: poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #263238;
}

    .account-content .woocommerce-address-fields .form-row label .required {
        color: #C62828;
    }

    .account-content .woocommerce-address-fields .form-row label .optional {
        font-weight: 400;
        color: #90A4AE;
        font-size: 12px;
    }

.account-content .woocommerce-address-fields .form-row input.input-text,
.account-content .woocommerce-address-fields .form-row select,
.account-content .woocommerce-address-fields .form-row .select2-container .select2-selection--single {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    margin: 0;

    border: 1px solid #E0E7F6;
    border-radius: 6px;
    background: #FFFFFF;
    outline: none;

    font-family: marine, sans-serif;
    font-size: 14px;
    color: #263238;

    transition: border-color 0.2s ease-in-out;
}

.account-content .woocommerce-address-fields .form-row input.input-text:focus,
.account-content .woocommerce-address-fields .form-row select:focus {
    border-color: #4768A9;
}

/* Edit account form */
.account-content .woocommerce-EditAccountForm .form-row {
    margin: 0 0 16px 0;
    padding: 0;
}

.account-content .woocommerce-EditAccountForm .form-row label {
    display: block;
    margin: 0 0 6px 0;

    font-family: poppins, sans-serif;
    font-size: 14px;
    font-weight: 500;
    color: #263238;
}

    .account-content .woocommerce-EditAccountForm .form-row label .required {
        color: #C62828;
    }

.account-content .woocommerce-EditAccountForm .form-row input.input-text,
.account-content .woocommerce-EditAccountForm .form-row input[type="email"],
.account-content .woocommerce-EditAccountForm .form-row input[type="password"] {
    width: 100%;
    height: 48px;
    padding: 0 14px;
    margin: 0;

    border: 1px solid #E0E7F6;
    border-radius: 6px;
    background: #FFFFFF;
    outline: none;

    font-family: marine, sans-serif;
    font-size: 14px;
    color: #263238;

    transition: border-color 0.2s ease-in-out;
}

.account-content .woocommerce-EditAccountForm .form-row input:focus {
    border-color: #4768A9;
}

.account-content .woocommerce-EditAccountForm fieldset {
    margin: 30px 0 0 0;
    padding: 20px 0 0 0;
    border: 0;
    border-top: 2px solid #E0E7F6;
}

    .account-content .woocommerce-EditAccountForm fieldset legend {
        padding: 0 10px 0 0;

        font-family: poppins, sans-serif;
        font-size: 16px;
        font-weight: 600;
        color: #263238;
    }

/* Submit buttons in account content */
.account-content .woocommerce-address-fields button[type="submit"],
.account-content .woocommerce-EditAccountForm button[type="submit"] {
    margin: 20px 0 0 0;
    padding: 2px 30px 0 30px;
    border: 0;
    border-radius: 0;
    background: #4768A9;
    box-shadow: 0px 5px 30px 10px rgba(71, 104, 169, 0.2);

    font-family: poppins, sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;

    letter-spacing: 0.02em;
    text-transform: uppercase;

    color: #FFFFFF;

    height: 50px;

    cursor: pointer;

    transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.account-content .woocommerce-address-fields button[type="submit"]:hover,
.account-content .woocommerce-EditAccountForm button[type="submit"]:hover {
    background-color: #3C588F;
    box-shadow: 0px 8px 30px 10px rgba(71, 104, 169, 0.3);
}

/* Notices in account */
.account-content .woocommerce-message,
.account-content .woocommerce-info {
    margin: 0 0 20px 0;
    padding: 14px 18px;
    border-radius: 6px;

    font-family: marine, sans-serif;
    font-size: 14px;
}

.account-content .woocommerce-message {
    border: 1px solid #C8E6C9;
    background: #F1F8E9;
    color: #2E7D32;
}

.account-content .woocommerce-info {
    border: 1px solid #E0E7F6;
    background: #FAFBFE;
    color: #4768A9;
}

.account-content .woocommerce-error {
    margin: 0 0 20px 0;
    padding: 14px 18px;
    border: 1px solid #FFCDD2;
    border-radius: 6px;
    background: #FFEBEE;

    font-family: marine, sans-serif;
    font-size: 14px;
    color: #C62828;

    list-style: none;
}

/* View order detail page */
.account-content .woocommerce-order-details {
    margin: 0 0 30px 0;
}

.account-content .woocommerce-table--order-details {
    width: 100%;
    border-collapse: collapse;
}

    .account-content .woocommerce-table--order-details th {
        padding: 12px 16px;
        border: 0;
        border-bottom: 2px solid #E0E7F6;

        font-family: poppins, sans-serif;
        font-size: 12px;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #90A4AE;

        text-align: left;
    }

    .account-content .woocommerce-table--order-details td {
        padding: 14px 16px;
        border: 0;
        border-bottom: 1px solid #E0E7F6;

        font-family: marine, sans-serif;
        font-size: 14px;
        color: #263238;
    }

    .account-content .woocommerce-table--order-details tfoot th {
        font-size: 14px;
        text-transform: none;
        color: #263238;
    }

/* No orders state */
.account-content .woocommerce-info + .woocommerce-Button {
    display: inline-block;
    margin: 10px 0 0 0;
    padding: 2px 30px 0 30px;
    border: 0;
    border-radius: 0;
    background: #4768A9;
    box-shadow: 0px 5px 30px 10px rgba(71, 104, 169, 0.2);

    font-family: poppins, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 50px;

    letter-spacing: 0.02em;
    text-transform: uppercase;
    text-decoration: none;
    color: #FFFFFF;

    height: 50px;

    transition: background-color 0.3s ease-in-out;
}

.account-content .woocommerce-info + .woocommerce-Button:hover {
    background-color: #3C588F;
}