@font-face {
    font-family: 'NovelMonoPro';
    src: local('NovelMonoPro'), local('NovelMonoPro'),
        url('../fonts/novel-mono-pro-regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'NovelMonoPro Bold';
    src: local('NovelMonoPro Bold'), local('NovelMonoPro-Bold'),
        url('../fonts/novel-mono-pro-bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'NovelMonoPro ExtraBold';
    src: local('NovelMonoPro ExtraBold'), local('NovelMonoPro-ExtraBold'),
        url('../fonts/novel-mono-pro-extrabold.otf') format('opentype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'OhnoBlaze';
    src: local('OhnoBlazefaceDemo 12Point'), local('OhnoBlazefaceDemo-12Point'),
        url('../fonts/OhnoBlazefaceDemo-12Point.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
:root {


    --green-900                 :#172F21;
    --green-700                 :#24352E;
    --green-600                 :#364A42;
    --green-500                 :#4A6157;
    --green-100                 :#E4EAE6;


    --accent                    :#A93B2C;
    --accent-dark               :#8A2F23;

    --offwhite                  :#F4F5F2;
    --offwhite-soft             :#FAFBF8;
    --surface                   :#FFFFFF;

    --grey                      :#9D9D9C;
    --transparent-grey          :#d7d7d75e;


    --color-available           :#15b800;
    --color-unavailable         :#ff2600;

    --header-gradient           :linear-gradient(90deg, #24352e80 0%, #364A4280 80%);

    --font1                     :'Oswald', sans-serif;
    --font2                     :'OhnoBlaze';
    --font-title                :'Fraunces', serif;
    --font-text                 :'Source Sans 3', sans-serif;


    --ls-tight                  :-0.01em;
    --ls-label                  :0.08em;
    --ls-base                   :0.05em;


    --radius-sm                 :4px;
    --radius-md                 :8px;
    --radius-lg                 :12px;
    --radius-pill               :999px;

    --max-width                 :1350px;
    --max-width-m               :1400px;
    --max-width-l               :1500px;

    --text-size                 :16px;
    --text-xs                   :12px;
    --text-sm                   :14px;
    --text-md                   :16px;
    --text-lg                   :18px;
    --text-xl                   :22px;
    --text-2xl                  :28px;
    --text-3xl                  :36px;
    --text-4xl                  :44px;   /* hero */

    --img-border                :1px solid rgba(36, 53, 46, .12);
    --input-border              :1px solid rgba(36, 53, 46, .16);

    --product-border-radius     :var(--radius-lg);

    --topbar-height: 36px;

    --padding-hor               :20px;


    --space-1                   :4px;
    --space-2                   :8px;
    --space-3                   :12px;
    --space-4                   :16px;
    --space-5                   :20px;
    --space-6                   :24px;
    --space-7                   :32px;
    --space-8                   :40px;
    --space-9                   :48px;
    --space-10                  :64px;


    --shadow-sm                 :0 1px 3px rgba(23, 47, 33, .10);
    --shadow-md                 :0 4px 16px rgba(23, 47, 33, .14);
    --padding-vert              :64px;


    --section-gap: 64px;
}


body, html {
    height: 100%;
}
body,
body *,
*::before,
*::after {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    position: relative;
}
body {
    font-family: var(--font1);
    letter-spacing: var(--ls-base);
    color: var(--green-700);
    background-color: var(--offwhite);
    overflow-x: hidden;
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
}

a, a:active, a:visited, a:focus, a:hover {
    color: inherit;
    font-family: inherit;
    text-decoration: none;
}

input::placeholder                  { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; }
input::-moz-placeholder             { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; }
input::-webkit-input-placeholder    { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; }
input::-ms-placeholder              { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; }
textarea::placeholder               { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; resize: inherit; }
textarea::-moz-placeholder          { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; resize: inherit; }
textarea::-webkit-input-placeholder { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; resize: inherit; }
textarea::-ms-placeholder           { font-size: inherit; color: inherit; opacity: 1; background-color: inherit; outline: none; border: none; border-radius: inherit; font-size: inherit; font-family: inherit; resize: inherit; }

input::placeholder,
textarea::placeholder                { color: var(--grey); opacity: 1; }
input::-moz-placeholder,
textarea::-moz-placeholder           { color: var(--grey); opacity: 1; }
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder  { color: var(--grey); opacity: 1; }
input::-ms-placeholder,
textarea::-ms-placeholder            { color: var(--grey); opacity: 1; }

.lazy           { opacity: 0; transition: opacity 0.1s ease; }
.lazy.loaded    { opacity: 1; }
.lazy-bg        { opacity: 0; transition: opacity 0.1s ease; 
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;}
.lazy-bg.loaded { opacity: 1; }

.bg-anim-zoom .img{
    transition: transform 200ms ease-in-out;
}
.bg-anim-zoom:hover:has(.img) .img{
    transform: scale(1.02);
}

.bg {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.flex{
    display: flex;
}
.flex-col{
    flex-direction: column;
}
.align-center{
    align-items: center;
}
.w-100{
    width:100%;
}

.flex-between{
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.gap-4{
    gap: 4px;
}
.gap-16{
    gap: 16px;
}
.gap-32{
    gap: 16px;
}

.mt-8{
    margin-top: 8px;
}
.mt-16{
    margin-top: 16px;
}
.mt-32{
    margin-top: 32px;
}

.mb-16{
    margin-bottom: 16px;
}

.py-8{
    padding: 8px 0;
}

.py-16{
    padding: 16px 0;
}

.notice-container{
    width: max-content;
    padding: 16px;
    margin: 16px 0;
    background-color: var(--offwhite);
}
.notice-container a { 
    text-decoration: underline;
}
.btw-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: Arial, sans-serif;
    cursor: pointer;
}
    .btw-toggle input {
        display: none;
    }
    .btw-toggle .btw-slider {
        width: 38px;
        height: 18px;
        background: #ddd;
        border-radius: var(--radius-pill);
        position: relative;
        cursor: pointer;
        transition: background 0.25s;
    }
    .btw-toggle .btw-slider::before {
        content: "";
        width: 14px;
        height: 14px;
        background: var(--green-700);
        border-radius: 50%;
        position: absolute;
        top: 2px;
        left: 2px;
        transition: transform 0.25s;
    }
    .btw-toggle input:checked + .btw-slider {
        background: #3F7A55;
    }
    .btw-toggle input:checked + .btw-slider::before {
        transform: translateX(20px);
    }
    .btw-toggle .label-text {
        display: flex;
        align-items: center;
        font-size: 16px;
        font-family: var(--font1);
        letter-spacing: var(--ls-base);
        color: var(--green-700);
    }


/* wel of niet? */
img,
select,
input {
    user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
}

h1 {
    font-size: 36px;
    font-family: var(--font-title);
    /* font-weight: normal; */
    color: var(--green-700);
    margin-bottom: 12px;
}
h2 {
    font-size: 28px;
    font-family: var(--font-title);
    /* font-weight: normal; */
    color: var(--green-700);
    margin-bottom: 12px;
}
h3 {
    font-size: 22px;
    font-family: var(--font-title);
    /* font-weight: normal; */
    color: var(--green-700);
    margin-bottom: 12px;
}
h4 {
    font-size: 18px;
    font-family: var(--font-title);
    /* font-weight: normal; */
    color: var(--green-700);
    margin-bottom: 12px;
}


p, ul, li, ol {
    line-height: unset;
}
div.text ul,
div.text ol {
    padding-left: 16px;
}

.small-text {
    font-size: 16px;
    font-family: var(--font-text);
    color: var(--green-700);
}
.small-text>a {
    text-decoration: underline;
    color: var(--green-700);
}

ul {
    padding-left: 1.2em;
}

button {
    outline: none;
    border: none;
    background: none;
}

.def-container {
    max-width: var(--max-width);
    width: 100%;
    margin: 0 auto;
}

.def-line {
    width: 100%;
    height: 2px;
    margin: 8px 0 4px;
    background-color: var(--green-100);
}

.btn-holder {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 20px;
}
.text + .btn-holder {
    margin-top: 32px;
}
.btn-holder.center {
    justify-content: center;
    width: 100% !important;
}

.btn-holder.col {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
    .btn-holder button {
        display: flex;
        align-items: center;
        font-family: var(--font-title);
        font-size: 16px;
        text-decoration: none;
        background-color: var(--green-700);
        color: #ffffff;
        cursor: pointer;
        line-height: 1.2;
        padding: 12px 16px;
        border: none;
        outline: none;
        transition: all .3s ease;
    }
    .btn-holder.accent button {
        background-color: var(--accent);
    }
    .btn-holder button.accent {
        background-color: var(--accent);
        color: #ffffff;
    }
        .btn-holder button::selection {
            color: inherit;
        }
        .btn-holder.transparent button {
            background-color: transparent;
        }
    .btn-holder button:hover {
        transition: all .3s ease;
        filter: brightness(0.75);
    }
    .btn-holder button>i {
        margin-right: 8px;
    }
    .btn-holder.end {
        justify-content: flex-end;
    }

.toast-message {
    font-family: var(--font-text);
}
.toast-success{
    background: var(--green-700);
}

.page-container {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 181px;
    transition: padding-top .3s ease;
}

.nav-reviews {
    color: var(--offwhite);
    font-size: 16px;
}

.nav-right {
    display: flex;
    align-items: center;
    column-gap: 16px;
}

.topbar {
    z-index: 10;
    width: 100%;
    height: var(--topbar-height);
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    background-color: var(--green-600);
    transition: top .3s ease;
}
    .topbar.slider-container {
        position: fixed;
        height: var(--topbar-height);
        max-width: 100%;
    }
    .topbar-inner {
        width: 100%;
        max-width: 1100px;
        display: flex;
        justify-content: space-between;
        column-gap: 20px;
        align-items: center;
        padding: 8px var(--padding-hor);
    }
        .topbar-inner .usp {
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: var(--ls-label);
            color: var(--offwhite);
            white-space: nowrap;
            flex-shrink: 0;
        }
        .topbar-inner[data-topbar-cycle] {
            position: relative;
            justify-content: center;
        }
            .topbar-inner[data-topbar-cycle] .usp {
                position: absolute;
                white-space: nowrap;
            }

        .search {
            flex: 1;
            position: relative;
        }
            .input-holder.search-holder input {
                position: relative;
                width: 250px;
                padding: 8px 16px 8px 32px;
                outline: none;
                border: none;
                background-color: transparent;
            }
                .input-holder.search-holder {
                    display: flex;
                    justify-content: flex-start;
                    justify-self: center;
                }
                .input-holder.search-holder::before {
                    font-family: "Font Awesome 7 Free";
                    font-weight: 900;
                    content: "\f002";
                    font-size: 18px;
                    position: absolute;
                    right: 14px;
                    top: 50%;
                    transform: translateY(-50%);
                    color: var(--offwhite);
                    z-index: 9;
                }
                .input-holder.search-holder input::placeholder {
                    font-family: var(--font1);
                    letter-spacing: var(--ls-base);
                    padding-left: 2px;
                    color: var(--offwhite);
                }
                .input-holder.search-holder input::-moz-placeholder,
                .input-holder.search-holder input::-webkit-input-placeholder {
                    font-family: var(--font1);
                    letter-spacing: var(--ls-base);
                    padding-left: 24px;
                    color: var(--offwhite);
                }

        .search_result {
            display: none;
            position: absolute;
            width: 100%;
            max-height: calc(100vh - 160px);
            z-index: 11;
            overflow-y: scroll;
            margin-top: 12px;
            background:#FFF;
            padding: 0 .2em;
            box-shadow: var(--shadow-sm);
        }
        .search_result::-webkit-scrollbar {
            display: none;
        }
            .search_result .search-image {
                height: 50px;
                width: 50px;
                display: flex;
                align-items: center;
            }
                .search_result .search-image img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                }
            .search_result .search-info {
                flex: 1;
            }
                .search_result h3 {
                    font-size: 16px;
                    font-family: var(--font-text);
                    line-height: 1.4;
                    font-weight: bold;
                    margin-bottom: 4px;
                    color: var(--green-700);
                    display: -webkit-box;
                    -webkit-line-clamp: 2;
                    -webkit-box-orient: vertical;
                    overflow: hidden;
                    text-overflow: ellipsis;
                }
                .search_result p {
                    color: var(--grey);
                    font-size: 12px;
                    font-family: var(--font-text);
                    line-height: 1.4;
                }
                .search_result a:hover {
                    text-decoration: none !important;
                }
        .search-result-item {
            flex: 1;
            display: flex;
            column-gap: 16px;
            padding: 8px 12px;
            align-items: center;
            border-bottom: 1px solid #a7a7a724;
        }   
        .search_result>a:last-child .search-result-item {
                border-bottom: unset;
            }
        .navbar-inner .nav a.search-more-results {
            width: 100%;
            display: flex;
            padding: 12px 12px;
            text-align: center;
            justify-content: center;
            width: 100%;
            color: var(--green-700);
            font-size: 16px !important;
            font-family: var(--font-text);
            line-height: 1.4;
        }
        .result-search-text {
            align-self: flex-start;
            margin-top: 8px;
        }


.search-holder.nieuwsbrief-holder::before {
    content: unset;
}
.search-holder.nieuwsbrief-holder input {
    width: 100%;
    padding-right: 42px;
}
.search-holder.nieuwsbrief-holder #sendNieuwsbriefBtn {
    width: 36px;
    height: 36px;
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(calc(-50% - 1px));
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    background-color: var(--offwhite);
    color: var(--green-700);
    font-size: 16px;
    transition: color 0.2s;
}
        .search-holder.nieuwsbrief-holder #sendNieuwsbriefBtn:hover {
            color: #ffffff;
        }
        .search-holder #sendNieuwsbriefBtn:disabled {
            cursor: not-allowed;
            opacity: 0.4;
        }

#nieuwsbrief-response {
    font-size: 14px;
    margin-top: 8px;
    display: block;
}
#nieuwsbrief-response.success { color: #4caf50; }
#nieuwsbrief-response.error   { color: #e53935; }


.toggle-sidebar-holder {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 12px;
    display: none;
    position: fixed;
    top: 157px;
    z-index: 1;
    background-color: var(--green-100);
    padding: 16px 12px;
}
    .toggle-sidebar {
        display: flex;
        align-items: center;
        column-gap: 12px;
        color: var(--green-700);
        cursor: pointer;
    }
        .toggle-sidebar i {
            font-size: 28px;
        }


.navbar {
    z-index: 9;
    width: 100%;
    min-height: 98px;
    position: fixed;
    top: var(--topbar-height);
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--green-700);
    transition: all .3s ease;
}
    .navbar-inner {
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        align-items: center;
        justify-content: space-between;
        column-gap: 20px;
        padding: 12px var(--padding-hor);
    }
        .navbar-inner .nav {
            flex: 1;
            display: flex;
            justify-content: flex-end;
            column-gap: 32px;
            flex-wrap: wrap;
        }
        .navbar-inner .nav .nav-left {
            display: flex;
            align-items: center;
            column-gap: 32px;
            transition: column-gap .3s ease;
        }
        .navbar-inner .nav .nav-right {
            display: flex;
            align-items: center;
            column-gap: 15px;
            transition: column-gap .3s ease;
        }
        .navbar-inner .nav .nav-right #mobile-navbar {
            display: none;
        }
        .navbar-inner .nav .nav-left {
            flex: 1;
            justify-content: flex-end;
        }
            .navbar-inner .nav a {
                color: var(--green-700);
                font-size: 22px;
                font-family: var(--font1);
                letter-spacing: var(--ls-base);
                transition: font-size .3s ease;
            }
                /* .navbar-inner .nav a:hover::after {
                    content: "";
                    width: 100%;
                    height: 2px;
                    position: absolute;
                    bottom: -4px;
                    left: 0;
                    right: 0;
                    background-color: var(--green-700);
                } */
                .navbar-inner .nav a i {
                    color: var(--offwhite);
                }
                .navbar-inner .nav .btn-holder a {

                }
                .navbar-inner .nav .btn-holder a button {
                    padding: 8px 12px;
                    line-height: unset;
                    font-size: 16px;
                    font-family: var(--font1);
                    letter-spacing: var(--ls-base);
                }
                    .navbar-inner .nav .btn-holder a:hover::after {
                        content: unset;
                    }

            .navbar-inner .nav img.homeIcon {
                width: 30px;
                height: 30px;
                object-fit: contain;
                top: 1px;
            }

    .navbar-inner .left {
        display: flex;
        align-items: center;
        column-gap: 32px;
    }
        .navbar-inner .left>a {
            display: flex;
            align-items: center;
        }
    .navbar-inner .left img.logo {
        object-fit: contain;
        width: 100%;
        max-height: 56px;
        filter: brightness(0) invert(1);
    }
    a.logo-text {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        row-gap: 1px;
        font-family: var(--font-title);
        font-weight: 700;
        font-size: 27px;
        line-height: 1;
        letter-spacing: var(--ls-tight);
        text-decoration: none;
        white-space: nowrap;
    }
        a.logo-text .logo-line {
            display: block;
        }
    .navbar-inner .left a.logo-text {
        color: #ffffff;
    }
    .navbar-inner .nav .nav-right a.cart_icon {
        font-size: 22px;
    }
        a.cart_icon::after {
            content: attr(data-cart-count);
            position: absolute;
            bottom: -2px;
            right: -4px;
            background: #092C1B;
            color: #ffffff;
            font-size: 12px;
            width: 18px;
            height: 18px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

    .input-holder.search-holder {
        width: 100%;
        max-width: 400px;
        background-color: transparent;
    }
        .input-holder.search-holder input {
            width: 100%;
            background-color: transparent;
            color: var(--offwhite);
            border: 2px solid var(--offwhite);
            padding: 16px 16px;
            font-family: var(--font-text);
        }
        .input-holder.search-holder input::placeholder {
            color: var(--offwhite);
            font-family: var(--font-text);
        }
        .input-holder.search-holder .search_result {
            top: 100%;
        }


.navbar-productgroups {
    width: 100%;
    display: flex;
    justify-content: center;
    z-index: 8;
    position: fixed;
    top: calc(var(--topbar-height) + 98px);
    left: 0;
    background-color: var(--surface);
    border-bottom: 1px solid var(--green-100);
    transition: all .3s ease;
}
    .navbar-productgroups .inner {
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        column-gap: var(--space-2);
    }
        .navbar-productgroups .inner a {
            display: flex;
            color: var(--green-700);
            font-size: 16px;
            font-family: var(--font1);
            font-weight: 600;
            padding: 16px 16px;
            text-transform: uppercase;
            letter-spacing: var(--ls-label);
            transition: all .3s ease;

            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }
            .navbar-productgroups .inner a:hover {
                background-color: var(--offwhite-soft);
                transition: all .3s ease;
            }

@media only screen and (min-width: 1351px) {
    /* Topbar is only visible at the very top of the page */
    .scrolled .topbar {
        top: calc(-1 * var(--topbar-height));
    }

    /* When scrolled, page-container padding shrinks to just the productgroups height.
       Padding stays constant across scroll directions so content doesn't shift,
       which prevents the twitch when toggling near the bottom of the page. */
    .scrolled .page-container {
        padding-top: 47px;
    }

    /* Scrolling down past the threshold: hide navbar, only productgroups stays */
    .scrolled.scrolling-down .navbar {
        top: -98px;
    }
    .scrolled.scrolling-down .navbar-productgroups {
        top: 0;
    }

    /* Scrolling up while past threshold: navbar reappears (without the topbar above it),
       productgroups slides down to sit directly below it.
       These bars overlay content; content position never changes. */
    .scrolled:not(.scrolling-down) .navbar {
        top: 0;
    }
    .scrolled:not(.scrolling-down) .navbar-productgroups {
        top: 98px;
    }
}

@media only screen and (max-width: 1350px) {
    .scrolled .topbar {
        top: calc(-1 * var(--topbar-height));
    }
    .scrolled .page-container {
        padding-top: 98px;
    }
    .scrolled.scrolling-down .navbar {
        top: calc(-1 * (var(--topbar-height) + 98px));
    }
    .scrolled:not(.scrolling-down) .navbar {
        top: 0;
    }
}


.page-header {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 32px var(--padding-hor) var(--padding-vert);
}

    .page-header::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 80%;
        max-height: 600px;
        background-color: var(--offwhite-soft);
    }
    .page-header.has-categories {
        margin-bottom: 80px;
    }
    .page-header.has-categories .page-header-inner {
        padding-bottom: 140px;
    }
    .page-header-inner {
        width: 100%;
        max-width: 1600px;
        min-height: 600px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 48px;
        background-repeat: no-repeat;
        background-size: cover;
        background-position: top center;
    }
        .page-header .content {
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
        }
        .page-header .content strong,
        .page-header .content b {
            color: var(--offwhite);
        }
        .page-header .content h1, .page-header .content h2, .page-header .content .text {
            color: #FFFFFF;
            text-align: center;
        }
        .page-header .content h1 {
            font-size: 44px;
        }
        .page-header .btn-holder {
            margin-top: 32px;
        }
            .page-header .btn-holder button {
                font-size: 22px;
                padding: 16px 32px;
            }

        .page-header-inner { position: relative; }
        .page-header-bg {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            z-index: 0;
        }
        .page-header-inner::after {
            content: "";
            position: absolute;
            inset: 0;
            background: var(--header-gradient);
            z-index: 1;
            pointer-events: none;
        }
        .page-header-inner .content { position: relative; z-index: 2; }

.page-banner {
    width: 100%;
    min-height: 320px;
    display: flex;
    justify-content: center;
    background-position: bottom center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 64px var(--padding-hor);
}
    .page-banner-inner {
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    .page-banner.blue-bg {
        background-color: var(--green-700);
    }
    .page-banner h1 {
        font-size: 44px;
        color: #ffffff;
        text-align: center;
    }

.shop-nav {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 var(--padding-hor);
    margin-top: 40px;
}
    .shop-nav-inner {
        width: 100%;
        max-width: var(--max-width);
        column-gap: 32px;
        row-gap: 48px;
        display: flex;
    }
    .shop-nav-item {
        flex: 0 0 100%;
        max-width: calc((100% / 3) - (30px / 3 * 2));
        display: flex;
        column-gap: 20px;
        border-radius: var(--radius-lg);
        padding: 20px;
        text-decoration: none;
        background: var(--offwhite-soft);
        background: linear-gradient(
            113deg,rgba(254, 244, 235, 1) 0%,
            rgba(254, 244, 235, 1) 55%,
            rgba(255, 255, 254, 1) 100%
        );
        transition: all .3s ease;
    } 
        .shop-nav-item:hover {
            top: -5px;
            transition: all .3s ease;
        }
        .shop-nav-item .content {
            display: flex;
            flex-direction: column;
        }
            .shop-nav-item h2 {
                font-family: var(--font-title);
                font-weight: normal;
                color: var(--green-700);
            }
            .shop-nav-item button {
                padding: 0;
                background-color: unset;
                text-transform: unset;
                font-family: var(--font1);
                letter-spacing: var(--ls-base);
                color: var(--green-700);
            }
        .shop-nav-item img {
            position: absolute;
            top: calc(50% - 10px);
            right: -20px;
            transform: translateY(-50%);
            width: 220px;
            height: 160px;
            object-fit: contain;
        }

.shop-groups {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 var(--padding-hor);
    margin-top: 40px;
    padding: 80px var(--padding-hor);
}
    .shop-groups-inner {
        width: 100%;
        max-width: var(--max-width);
        column-gap: 32px;
        row-gap: 48px;
    }
        .shop-groups-inner > h1 {
            font-size: 28px;
            margin-bottom: 0px;
        }
        .shop-groups-inner > h2 {
            color: var(--grey);
            font-size: 18px;
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
            font-weight: normal;
            margin-bottom: 32px;
        }        
        .shop-groups .slider {
            display: flex;
            gap: 32px;
        }
            .shop-group {
                flex: 0 0 100%;
                max-width: calc((100% / 6) - (30px / 6 * 5));
                text-decoration: none;
                filter: grayscale(1);
                transition: filter .3s ease;
            }   .shop-group:hover {
                    filter: grayscale(0);
                    transition: filter .3s ease;
                }
                .shop-groups .arrow {
                    top: calc(50% - 20px);
                    /* top: calc(50%); */
                }
                .shop-group img {
                    width: 100%;
                    height: 380px;
                    object-fit: cover;
                    height: 240px;
                    object-fit: contain;
                    object-position: center;
                    margin-bottom: 12px;
                    border-radius: var(--radius-lg);
                }
                .shop-group .name {
                    width: 100%;
                    position: absolute;
                    bottom: 20px;
                    left: 20px;
                    font-size: 28px;
                    font-size: 22px;
                    font-family: var(--font-title);
                    color: var(--green-700);
                    text-align: center;
                }


.about-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    row-gap: 32px;
    background-color: var(--offwhite-soft);
    padding: 64px var(--padding-hor);
}
.about {
    width: 100%;
    display: flex;
    justify-content: center;
}
    .about-inner {
        width: 100%;
        max-width: 1400px;
        display: flex;  
        flex-wrap: wrap;
        column-gap: 32px;
    }
    .about h2 {
        width: 100%;
    }
    .about-full {
        display: flex;
        column-gap: 32px;
        row-gap: 32px;
        flex-wrap: wrap;
    }
    .about-col {
        flex: 1;
        display: flex;
        flex-direction: column;
        row-gap: 32px;
    }
    .about .text {
        flex: 1;
        font-size: var(--text-size);
        font-family: var(--font-title);
        color: var(--green-700);
        /* min-width: 300px; */
    }
    .about .image-holder {
        width: 100%;
        max-width: 500px;
        height: 400px;
    }
        .about .image-holder .img {
            width: 100%;
            height: 100%;
        }
    .about-col .image-holder {
        max-width: 100%;
    }


.assortiment {
    width: 100%;
    display: flex;
    justify-content: center;
}
    .assortiment-inner {
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        row-gap: 20px;
        column-gap: 32px;
        margin: 32px 0 80px;
    } .assortiment-inner.assortiment-small {
            justify-content: flex-end;
            padding-bottom: 100px;
        }

        .assortiment-section {
            width: 100%;
            height: 100%;
            min-height: 500px;
            display: flex;
            align-items: center;
            flex-direction: column;
            row-gap: 20px;
            overflow: hidden;
            padding: 0 12px;
            padding-top: 12px;
        }
            .section-header {
                width: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                column-gap: 20px;
            }
                .section-header-inner {
                    width: 100%;
                    max-width: var(--max-width);
                    display: grid;
                    grid-template-columns: 1fr 1fr;
                    grid-template-areas:
                        "title title"
                        "desc  desc"
                        "count sort";
                    column-gap: 20px;
                    row-gap: 4px;
                    align-items: center;
                }
                    div.section-header-inner-left{
                        width: 100%;
                        align-self: stretch;
                    }
                    div.section-header-inner-right{
                        width: 100%;
                        height: 300px;
                    }
                        div.section-header-inner-right img{
                            width: 100%;
                            height: 300px;
                            object-fit: cover;
                        }
                    .section-header h2 {
                        grid-area: title;
                        margin-bottom: 0px;
                    }
                    .section-header h3 {
                        grid-area: count;
                        color: var(--grey);
                        font-size: 16px;
                        font-family: var(--font-text);
                        line-height: 1.4;
                        margin-bottom: 0;
                    }
                    .section-header-desc {
                        grid-area: desc;
                        color: var(--accent);
                        font-size: 16px;
                        font-family: var(--font-text);
                        line-height: 1.5;
                        margin-top: 8px;
                        margin-bottom: 4px;
                    }
                    .section-header-desc p:last-child {
                        margin-bottom: 0;
                    }
                    .section-header-sort {
                        grid-area: sort;
                        justify-self: end;
                        align-self: center;
                    }
                        .section-header-sort select {
                            padding: 8px 16px;
                            outline: none;
                            border: none;
                            background-color: var(--green-100);
                            font-size: 16px;
                            font-family: var(--font-text);
                            line-height: 1.4;
                            color: var(--green-700);
                            cursor: pointer;
                        }
                    .section-header-inner-left .section-header-sort{
                        margin-top: 32px;
                        justify-self: start;
                    }
            .section-container {
                width: 100%;
            }
                .section-row {
                    width: 100%;
                    column-gap: 32px;
                    row-gap: 32px;
                    display: inline-flex;
                    flex-wrap: wrap;
                }   .section-row.slider {
                        flex-wrap: unset;
                    }


            .assortiment-loading {
                z-index: 2;
                position: absolute;
                top: calc(50% - 40px);
                transform: translateY(-50%);
            }
                .assortiment-loading i {
                    font-size: 44px;
                    color: var(--green-700);
                }

            .skeleton {
                background: linear-gradient(90deg, #ececec 25%, #f6f6f6 50%, #ececec 75%);
                background-size: 200% 100%;
                animation: skeleton-shimmer 1.4s ease-in-out infinite;
                border-radius: var(--radius-sm);
            }
            @keyframes skeleton-shimmer {
                0%   { background-position: 200% 0; }
                100% { background-position: -200% 0; }
            }
            .skeleton-card {
                pointer-events: none;
            }
                .skeleton-card .skeleton-img {
                    width: 100%;
                    aspect-ratio: 4 / 3;
                }
                .skeleton-card .skeleton-title {
                    height: 18px;
                    width: 80%;
                    margin-bottom: 12px;
                }
                .skeleton-card .skeleton-price {
                    height: 16px;
                    width: 90px;
                }
                .skeleton-card .skeleton-btn {
                    width: 36px;
                    height: 36px;
                }
                .skeleton-section-title {
                    height: 24px;
                    width: 220px;
                    margin-bottom: 8px;
                }
                .skeleton-section-count {
                    height: 14px;
                    width: 90px;
                }

            .assortiment-error {
                position: absolute;
                top: 50%;
                transform: translateY(-50%);
                text-align: center;
                padding: 0 12px;    
            }


        .assortiment-top {
            width: 100%;
            display: flex;
            justify-content: flex-end;
            padding: 0 12px;
        }
            .assortiment-top .sorting select {
                position: relative;
                padding: 8px 16px;
                outline: none;
                border: none;
                /* border-radius: var(--radius-pill); */
                background-color: var(--green-100);
            }

@keyframes popup {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    60% {
        transform: scale(1.2);
        opacity: 1;
    }
    100% {
        transform: scale(1);
    }
}
.popup-animate {
    animation: popup 0.25s ease-out;
}

/* .staffel-table {
    margin: 15px 0;
}
    .staffel-table table {
        width: 100%;
        border-collapse: collapse;
        border: var(--img-border);
        border-radius: var(--radius-md);
        overflow: hidden;
    }
        .staffel-table th,
        .staffel-table td {
            padding: 8px 12px;
            text-align: left;
            border-bottom: var(--img-border);
        }
        .staffel-table thead tr {
            background-color: rgba(0, 0, 0, 0.05);
        }
            .staffel-table tbody tr.active {
                background-color: rgba(0, 128, 0, 0.1);
                font-weight: 600;
            }
            .staffel-table tbody tr:last-child td {
                border-bottom: none;
            }
            .staffel-table tbody tr:hover {
                background-color: rgba(0, 0, 0, 0.03);
            }
            .staffel-table tbody tr.unavailable {
                opacity: 0.35;
                pointer-events: none;
                text-decoration: line-through;
            } */

.product-card {
    /* flex: 0 0 236px; */
    flex: 0 0 calc(100% / 4 - (32px / 4 * 3));
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    overflow: visible;
    user-select: none;
    -webkit-user-drag: none;
    overflow: hidden;
}
    .product-title {
        width: 100%;
        font-weight: bold;
        margin-bottom: 20px;
        font-size: 36px;
    }
    .product-card.out-of-stock,
    .product-holder.out-of-stock {
        opacity: 0.5;
    }
    .product-card.out-of-stock .product-badge,
    .product-holder.out-of-stock .product-badge {
        content: "Out of stock";
        position: absolute;
        top: 10px;
        left: 10px;
        background-color: var(--green-700);
        color: #ffffff;
        padding: 8px 12px;
        border-radius: var(--radius-sm);
        font-size: 14px;
        z-index: 2;
    } .product-holder.out-of-stock .product-badge { font-size: 18px; left: 50%; top: 50%; transform: translate(-50%, -50%); }
    .product-basket-counter {
        width: 26px;
        height: 26px;
        line-height: 26px;
        font-size: 16px;
        color: #FFFFFF;
        position: absolute;
        right: 10px;
        top: 10px;
        border-radius: var(--radius-pill);
        background-color: var(--green-700);
        text-align: center;
    }
    .product-card a {
        /* display: contents; */
    }
    .product-card .img-holder {
        width: 100%;
        max-height: 200px;
        aspect-ratio: 4 / 3;
        overflow: hidden;
        background-color: var(--offwhite);
    }
    .product-card .product-img {
        width: 100%;
        height: 100%;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        object-position: center;
        user-select: none;
        -webkit-user-drag: none;
    }
    .card-content-holder {
        flex: 1;
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }
        .card-content-btn .add_to_basket{
            padding: 8px;
            background-color: var(--darkblue2);
            color: #FFF;
            cursor: pointer;
        }
            .card-content-btn .add_to_basket:hover{
                opacity: .8;
            }

    .product-card .card-content {
        flex: 1;
        width: 100%;
        height: 100%;
        display: flex;
        flex-direction: column;
        padding: var(--space-4);
    }
        .product-card h2 {
            max-width: 100%;
            font-size: 18px;
            margin-bottom: 12px;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .product-card h3 {
            max-width: 100%;
            font-size: 16px;
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
            color: var(--grey);
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            min-height: 20px;
            margin-bottom: 20px;
        }   
            .product-card a>h2:hover,
            .product-card a>h3:hover {
                text-decoration: underline;
            }
    .product-card .actions {
        width: 100%;
        max-width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        column-gap: 8px;
        row-gap: 8px;
        margin-top: auto;
    }
        .product-card .actions .price {
            font-size: 16px;
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
            color: var(--green-700);
        }
        .product-card .actions .price .btw-tag {
            font-size: 12px;
            color: var(--grey);
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
        }
        .prijs-vanaf-tag {
            font-size: 16px;
            font-family: var(--font-text);
            color: var(--grey);
            margin-right: 8px;
        }
        /* sale / actie price styling */
        .price.has-discount {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            row-gap: 2px;
            line-height: 1.2;
        }
        .price .price-old {
            color: var(--grey, #888);
            text-decoration: line-through;
            font-size: 0.8em;
            font-weight: normal;
        }
        .price .price-new {
            color: var(--accent);
            font-weight: bold;
        }
        .product-action .price.has-discount,
        .product-price-row .price.has-discount {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            row-gap: 2px;
        }
        .product-price-row {
            width: 100%;
            display: flex;
            align-items: center;
            column-gap: 8px;
            flex-wrap: wrap;
            margin: 20px 0 4px;
        }
        .product-delivery-row {
            width: 100%;
            display: flex;
            justify-content: flex-start;
            align-items: flex-end;
            flex-wrap: wrap;
            column-gap: 20px;
            row-gap: 20px;
            margin: 12px 0 4px;
            font-size: 16px;
            font-family: var(--font-text);
        }
        .product-price-row .product-amount {
            color: var(--grey);
            font-size: 1em;
            font-family: var(--font-text);
        }
        .product-action .price.has-discount .price-old,
        .product-price-row .price.has-discount .price-old {
            font-size: 18px;
        }
        .product-action .price.has-discount .price-new,
        .product-price-row .price.has-discount .price-new {
            font-size: 28px;
        }
        .delivery-info {
            font-size: 12px;
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
            color: var(--color-available);
            font-weight: bold;
        }
        .delivery-info.unavailable {
            color: var(--color-unavailable);
            font-weight: bold;
        }
        .product-card .actions .add_to_basket {
            color: #ffffff;
            background-color: var(--green-700);
            width: 45px;
            height: 45px;
            cursor: pointer;
        }
            /* .product-card .actions .add_to_basket:active {
                transform: scale(0.95);
                box-shadow: 0 2px var(--green-900);
            } */
            .product-card .actions .add_to_basket .fa-solid {
                font-size: 18px;
            }
        .product-card .input-wrapper select {
            width: 100%;
            min-width: 180px;
            max-width: 100%;
            font-size: 16px;
            /* font-weight: bold; */
            text-transform: none;
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
            color: var(--green-700);
            border: 1px solid var(--transparent-grey);
            padding: 12px 32px 12px 12px;
            border-radius: var(--radius-md);;
            line-height: 1.15;
        }
        .product-card .input-wrapper select option {
            /* inherit text styles */

            font-size: 16px;
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
            color: var(--green-700);
            text-transform: none;
        }

.winkelmand-summary .price .btw-tag {
    font-size: 12px;
    color: var(--grey);
    font-family: var(--font1);
    letter-spacing: var(--ls-base);
}

.sidebar {
    z-index: 5;
    width: 100%;
    max-width: 300px;
    position: sticky;
    top: 193px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    row-gap: 32px;
    padding: 12px;
    background-color: #ffffff;
    overflow-y: auto;
    overflow-x: hidden;
    max-height: calc(100vh - 157px - 40px - 20px);
}

    .sidebar {
        scrollbar-width: thin;
        scrollbar-color: #888 #f0f0f0;
    }
    .sidebar::-webkit-scrollbar {
        width: 10px;
    }
    .sidebar::-webkit-scrollbar-track {
        background: #f0f0f0;
        border-radius: var(--radius-lg);
    }
    .sidebar::-webkit-scrollbar-thumb {
        background: #888;
        border-radius: var(--radius-lg);
    }
    .sidebar::-webkit-scrollbar-thumb:hover {
        background: #555;
    }

    .close-sidebar {
        z-index: 6;
        display: flex;
        width: 46px;
        height: 46px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 36px;
        color: var(--green-700);
        background-color: var(--green-100);
        border-radius: var(--radius-pill);
        padding: 5px;
        box-shadow: var(--shadow-sm);
        cursor: pointer;
        display: none;
        position: fixed;
        align-self: flex-end;
        bottom: 24px;
        left: 50%;
        transform: translateX(-50%);
    }
    /* .sidebar-inner {
        width: 100%;
        display: flex;
        flex-direction: column;
        row-gap: 32px;
        overflow-y: scroll;
    } */
    .sidebar-row {
        width: 100%;
        display: flex;
        flex-direction: column;
        row-gap: 12px;
    }
        .sidebar-header {
            color: var(--green-700);
            font-size: 18px;
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
            font-weight: 500;
            display: flex;
            justify-content: space-between;
            column-gap: 20px;
        }
        .sidebar-content {
            display: flex;
            flex-direction: column;
        }
            .sidebar-content a {
                font-size: 16px;
                padding: 4px 8px;
                border-radius: var(--radius-sm);
                cursor: pointer;
            }   .sidebar-content a:hover {
                    background-color: #ececec;
                }

            .sidebar-content {
                align-items: flex-start;
            }
            .sidebar-content a {
                margin: 2px 0;
                color: var(--green-700);
            }
                .sidebar-content a.filter,
                .sidebar-content a.sidebar-group {
                    -webkit-user-select: none;
                    -moz-user-select: none;
                    -ms-user-select: none;
                    user-select: none;
                    text-transform: capitalize;
                }
                .sidebar-content a.filter.active,
                .sidebar-content a.sidebar-group.active {
                    background-color: var(--green-700);
                    color: #ffffff;
                }
                .sidebar-content a.sidebar-subgroup.active {
                    background-color: var(--green-700);
                    color: #ffffff
                }
                .filter.hidden,
                .sidebar-filter-group.hidden {
                    display: none;
                }
                    .sidebar-content a.sidebar-group.active-subgroup {
                        background-color: var(--grey);
                    }
                    .sidebar-content a.filter.active::after,
                    .sidebar-content a.sidebar-group.active::after {
                        content: "\f00d";
                        font-family: "Font Awesome 7 Free";
                        font-weight: 900;
                        font-size: 12px;
                        margin-left: 8px;
                    }
                    .sidebar-content a.sidebar-group.active::after {
                        content: unset;
                    } 

                .sidebar-content.sorting select {
                    position: relative;
                    padding: 8px 16px;
                    outline: none;
                    border: none;
                    border-radius: var(--radius-pill);
                    background-color: var(--green-100);
                }
                .sidebar-content.filters {
                    row-gap: 8px;
                }
                .sidebar-filter-group {
                    width: 100%;
                    display: flex;
                    flex-direction: column;
                }

                .sidebar-content a.sidebar-subgroup {
                    display: flex;
                    margin-left: 20px;
                }

                .sidebar-filter-title {
                    width: 100%;
                    /* max-width: 200px; */
                    font-size: 16px;
                    padding: 4px 8px;
                    font-weight: 600;
                    border: 1px solid var(--transparent-grey);
                    border-radius: var(--radius-lg);
                    cursor: pointer;
                    -webkit-user-select: none;
                    -moz-user-select: none;
                    -ms-user-select: none;
                    user-select: none;
                    display: flex;
                    justify-content: space-between;
                    padding-right: 24px;
                }
                    .sidebar-filter-title:hover {
                        background-color: var(--transparent-grey);
                    }
                    .sidebar-filter-title::after {
                        position: absolute;
                        right: 10px;
                        top: 50%;
                        transform: translateY(-50%);
                        font-size: 12px;
                        content: "\f0d7";
                        font-family: "Font Awesome 7 Free";
                        font-weight: 900;
                    }
                    .sidebar-filter-group.dropdown-opened .sidebar-filter-title {
                        background-color: var(--transparent-grey);
                    }
                    .sidebar-filter-group.dropdown-opened .sidebar-filter-title::after {
                        content: "\f068";
                    }
                    .filter-options {
                        display: none;
                        overflow: hidden;
                        max-height: 0;
                        opacity: 0;
                        flex-direction: column;
                        align-items: flex-start;
                        transition: max-height 260ms ease, opacity 200ms ease;
                    }
                    .sidebar-filter-group.dropdown-opened .filter-options {
                        display: flex;
                        opacity: 1;
                    }
                    .filter-group-count {
                        font-family: var(--font-title);
                        font-weight: normal;
                    }

                    .clear-filters {
                        display: none;
                        font-size: 16px;
                        color: var(--green-700);
                        padding: 1px 8px;
                        background-color: #FFF0F0;
                        border: 1px solid #5700013b;
                        border-radius: var(--radius-lg);
                        cursor: pointer;

                        align-self: flex-start;
                    }
                        .clear-filters::after {
                            content: "\f00d";
                            font-family: "Font Awesome 7 Free";
                            font-weight: 900;
                            font-size: 12px;
                            margin-left: 8px;
                        }
                        .filter.disabled {
                            opacity: 0.4;
                            pointer-events: none;
                            cursor: default;
                        }

    .assortiment.sidebar-open .sidebar-content {
        display: flex;
    }

.pagination {
    display: flex;
    justify-content: center;
    margin-top: auto;
    margin-top: 32px;
}
    .pagination a {
        margin: 0 5px;
        padding: 8px 12px;
        border: 1px solid #ccc;
        border-radius: var(--radius-sm);
        text-decoration: none;
        color: var(--green-700);
        font-family: var(--font-text);
        line-height: 1.4;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
        .pagination a.active {
            background-color: var(--green-700);
            color: white;
            border-color: var(--green-700);
        }
        .pagination a:active {
            transform: scale(0.95);
            box-shadow: 0 2px var(--green-900);
        }

    .pagination-details {
        margin-top: 12px;
        font-size: 16px;
        font-family: var(--font-text);
        line-height: 1.4;
        color: var(--grey);
        text-align: center;
        display: flex;
        justify-content: center;
        column-gap: 4px;
        flex-wrap: wrap;
    }


.block-top {
    width: 100%;
    max-width: var(--max-width-m);
    display: flex;
    justify-content: space-between;
    row-gap: 8px;
    flex-wrap: wrap;
    column-gap: 20px;
    margin-bottom: 32px;
}
.block-top.center {
    flex-direction: column;
    align-items: center;
    justify-content: unset;
}
    .block-top h3 {
        /* font-size: 18px;
        text-transform: uppercase;
        letter-spacing: var(--ls-label);
        color: var(--blue);
        margin-bottom: unset; */
    }
    .block-top h1,
    .block-top h2 {
        margin-bottom: 0;
    }
    .block-top h2 {
        font-size: 36px;
    }
    .block-top .btn-holder {
        margin-top: unset;
    }
    .block-top .left,
    .block-top .right {
        display: flex;
        align-items: center;
    }

.block-top.center {
    text-align: center;
}
.block-top .btn-holder {
    margin-top: 0;
}


.showcase {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 32px var(--padding-hor);
}
    .showcase-inner {
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        flex-direction: column;
    }
        .showcase-inner h1, .showcase-inner h2.showcase-title {
            color: var(--green-700);
            text-align: center;
            margin-bottom: 32px;
        }
        .showcase-inner h2.showcase-title {
            font-size: 36px;
        }
        .showcase-items {
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            column-gap: 32px;
        }
            .showcase-items .product-card {
                width: 100%;
            }
            /* .showcase .slider {
                padding-left: 15px;
            } */
            .showcase .slider-container {
                max-width: var(--max-width-l);
            }


.bg-img {
    z-index: -1;
    position: absolute;
    left: 50px;
    bottom: -120px;
    width: 300px;
    height: 300px; 
    background-size: contain;
    background-repeat: no-repeat;
}


.categories {
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 64px var(--padding-hor);
    overflow-x: hidden;
}
    .categories-inner {
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        gap: 20px;
    }
        .categories-inner .item {
            flex: 1;
            min-height: 160px;
            display: flex;
            justify-content: center;
            align-items: center;
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center;
        }

.categories.type2 {
    margin-top: var(--padding-vert);
    background-color: var(--offwhite-soft);
}
.categories.type2 .categories-inner .item {
    min-height: 200px;
    align-items: flex-end;
    justify-content: flex-start;
    padding: 20px;
}
.categories.type2 .categories-inner .item h2 {
    color: #FFFFFF;
    text-align: left;
    margin-bottom: 0;
}
.categories.type2 .categories-inner {
    align-items: center;
}
    .categories.type2 .categories-title {
        flex-shrink: 0;
    }

@media only screen and (max-width: 1000px) {
    .categories.type2 .categories-inner {
        flex-wrap: wrap;
    }
    .categories.type2 .categories-title {
        flex: 1 1 100%;
        text-align: center;
        margin-bottom: 0;
    }
    .categories.type2 .categories-title .fa-arrow-right {
        transform: rotate(90deg);
    }
    .categories.type2 .categories-inner .item {
        flex: 1 1 calc(50% - 10px);
        min-height: 160px;
    }
}

@media only screen and (max-width: 600px) {
    .categories.type2 {
        padding: 32px var(--padding-hor);
    }
    .categories.type2 .categories-title {
        font-size: 28px;
    }
    .categories.type2 .categories-inner {
        gap: 12px;
    }
    .categories.type2 .categories-inner .item {
        min-height: 130px;
        padding: 16px;
    }
    .categories.type2 .categories-inner .item h2 {
        font-size: 18px;
    }
}

@media only screen and (max-width: 450px) {
    .categories.type2 .categories-inner .item {
        flex: 1 1 100%;
        min-height: 110px;
    }
}

.sticker-img-holder{
    width: 150px;
    padding-top: 20px;
}   
    .sticker-img-holder img{
        width: 100%;
        padding-top: 20px;
        object-fit: contain;
    }

.header-cat {
    position: absolute;
    bottom: 60px;
    left: 0;
    right: 0;
    transform: translateY(50%);
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 var(--padding-hor);
    overflow-x: hidden;
    z-index: 2;
}
    .header-cat-inner {
        width: 100%;
        max-width: 1250px;
        display: flex;
        column-gap: 32px;
        row-gap: 32px;
    }
        .header-cat .item {
            flex: 1;
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            background-color: var(--offwhite-soft);
            padding: 20px;
        }
        .header-cat .image-holder {
            width: 100%;
        }
            .header-cat .image-holder .img {
                width: 100%;
                height: 140px;
            }
            .header-cat .item h2 {
                font-size: 22px;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
                margin-top: 12px;
                margin-bottom: 4px;
            }
            .header-cat .item .desc {
                font-size: 16px;
                font-family: var(--font-text);
                line-height: 1.4;
                white-space: nowrap;
                overflow: hidden;
                text-overflow: ellipsis;
            }


.product-container {
    width: 100%;
    max-width: var(--max-width);
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 0 var(--padding-hor) 64px;
}
    .path-bar {
        margin-top: 32px;
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 32px;
    }
    .breadcrumb {
        display: flex;
        align-items: center;
        column-gap: 8px;
        white-space: nowrap;
        min-width: 0;
    }
        .breadcrumb > a:first-child {
            font-weight: bold;
            color: grey;
            flex-shrink: 0;
        }
        .breadcrumb > * {
            flex-shrink: 1;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
        }
        .breadcrumb > a,
        .breadcrumb > span {
            color: var(--green-700);
            text-decoration: none;
            font-size: 16px;
            font-family: var(--font-text);
            line-height: 1.4;
        }
        .breadcrumb > i.fa-solid {
            font-size: 10px;
            font-weight: bold;
            color: var(--green-700);
            text-decoration: none;
            flex-shrink: 0;
            overflow: visible;
        }
        .breadcrumb > a:hover {
            text-decoration: underline;
        }


    .product-holder {
        width: 100%;
        display: flex;
        column-gap: 48px;
        padding: var(--space-7);
    }
        .product-image-holder {
            flex-shrink: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            row-gap: 48px;
        }
        .product-image {
            flex-shrink: 0;
            width: 580px;
            max-width: 100%;
            object-fit: cover;
            object-position: center;
            border-radius: var(--product-border-radius);
            border: var(--img-border);
        }
        .product-image-slider.slider-container {
            width: 580px;
            max-width: 100%;
        }
        .product-image-track {
            display: flex;
            width: 100%;
            scroll-snap-type: x mandatory;
            scroll-behavior: smooth;
        }
        .product-image-track.active {
            scroll-snap-type: none;
            scroll-behavior: auto;
        }
        .product-image-slide {
            flex: 0 0 100%;
            width: 100%;
            height: 500px;
            overflow: hidden;
            scroll-snap-align: center;
            scroll-snap-stop: always;
        }
        .product-image-slide .product-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .product-image-slider.slider-container.has-dots {
            padding-bottom: 0;
        }
        .product-image-slider .slider.dots {
            margin-bottom: 0;
        }
        .product-image-slider .dots-container {
            bottom: 12px;
        }
        .product-image-slider .dot {
            width: 14px;
            height: 14px;
            border-radius: 0;
            box-shadow: var(--shadow-sm);
        }
        .product-info {
            flex-grow: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
        }
            .product-rating h2,
            .product-details h2 {
                font-size: 36px;
                font-family: var(--font-title);
                font-weight: normal;
                color: var(--green-700);
                margin-bottom: 0px;
            }
            .product-info h3 {
                font-size: 16px;
                font-family: var(--font-text);
                margin-bottom: 20px;
            }
            .product-info .product-action {
                width: 100%;
                display: flex;
                justify-content: flex-start;
                align-items: flex-end;
                flex-wrap: wrap;
                column-gap: 20px;
                row-gap: 20px;
                margin: 20px 0 4px;
                font-size: 16px;
                font-family: var(--font-text);
                line-height: 1.4em
            } .product-info .product-action:last-child {
                    margin-bottom: 0;
                }
            .product-info2 {
                max-width: 580px;
                width: 100%;
                min-width: 0;
            }
            .product-info2 .long_desc {
                font-size: 16px;
                font-family: var(--font-text);
                line-height: 1.4;
                color: var(--green-700);
                display: flex;
                flex-direction: column;
                overflow-wrap: break-word;
                word-wrap: break-word;
            }
                .product-info2 .long_desc a {
                    text-decoration: underline;
                    font-weight: bold;
                }
                .product-info2 .long_desc ul{
                    list-style: none;
                    position: relative;
                }
                    .product-info2 .long_desc ul li::before{
                        content: "→";
                        position: absolute;
                        left: -18px;
                    }
                .product-info2 .long_desc img,
                .product-info2 .long_desc table,
                .product-info2 .long_desc iframe {
                    max-width: 100%;
                    height: auto;
                }

            .long_desc>h2, .long_desc>h3 {
                font-size: 22px;
            }

    .product-detail-row {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        column-gap: 48px;
        row-gap: 40px;
        align-items: flex-start;
    }
        .product-detail-row-col {
            flex: 1 1 0;
            min-width: 0;
        }
        .product-detail-row-desc {
            flex: 2 1 320px;
        }
        .product-detail-row-linked {
            flex: 1 1 320px;
        }
        .product-detail-row h3 {
            font-size: 22px;
            font-family: var(--font-title);
            /* font-weight: normal; */
            color: var(--green-700);
            margin-bottom: 16px;
        }

    .linked-products {
        display: flex;
        flex-direction: column;
        row-gap: 16px;
    }
        .linked-product-row {
            display: flex;
            align-items: center;
            column-gap: 16px;
            padding: 8px 0;
        }
            .linked-product-row.out-of-stock {
                opacity: 0.5;
            }
            .linked-product-row .img-holder {
                flex-shrink: 0;
                width: 100px;
                height: 100px;
                display: block;
                overflow: hidden;
            }
                .linked-product-row .img-holder .product-img {
                    width: 100%;
                    height: 100%;
                    object-fit: cover;
                    object-position: center;
                }
            .linked-product-row .content {
                flex: 1 1 auto;
                min-width: 0;
                display: flex;
                flex-direction: column;
                row-gap: 2px;
            }
                .linked-product-row .content a {
                    text-decoration: none;
                    color: var(--green-700);
                }
                .linked-product-row .content a:hover h4 {
                    text-decoration: underline;
                }
                .linked-product-row h4 {
                    font-size: 18px;
                    font-weight: bold;
                    color: var(--green-700);
                    margin: 0 0 2px;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                }
                .linked-product-row .desc {
                    font-size: 14px;
                    font-family: var(--font-title);
                    color: var(--grey);
                    line-height: 1.4;
                    display: -webkit-box;
                    -webkit-line-clamp: 2;
                    -webkit-box-orient: vertical;
                    overflow: hidden;
                }
                .linked-product-row .price {
                    font-size: 16px;
                    font-family: var(--font1);
                    letter-spacing: var(--ls-base);
                    color: var(--green-700);
                    margin-top: 8px;
                }
            .linked-product-row .actions {
                flex-shrink: 0;
            }
                .linked-product-row .add_to_basket {
                    background-color: var(--accent);
                    color: #ffffff;
                    border: none;
                    cursor: pointer;
                    width: 40px;
                    height: 40px;
                    display: inline-flex;
                    align-items: center;
                    justify-content: center;
                    line-height: 1;
                }
                    .linked-product-row .add_to_basket:hover {
                        opacity: 0.9;
                    }
                    .linked-product-row .add_to_basket .fa-solid {
                        font-size: 16px;
                    }

    @media only screen and (max-width: 600px) {
        .product-detail-row {
            column-gap: 32px;
            row-gap: 32px;
        }
        .product-detail-row-linked {
            order: 1;
        }
        .product-detail-row-desc {
            order: 2;
        }
        .linked-product-row .img-holder {
            width: 80px;
            height: 80px;
        }
        .linked-product-row h4 {
            font-size: 14px;
        }
        .linked-product-row .desc {
            font-size: 12px;
        }
    }

                .input-wrapper {
                    display: flex;
                    flex-direction: column;
                }
                    .input-wrapper span {
                        color: var(--green-700);
                        margin-bottom: 12px;
                        font-size: 16px;
                        font-family: var(--font-text);
                        font-weight: bold;
                        line-height: 1.4;
                    }
                    .input-wrapper select,
                    .input-wrapper input {
                        width: 100%;
                        max-width: 400px;
                        padding: 12px 16px;
                        border: 1px solid rgba(36, 53, 46, .12);
                        appearance: none;
                        background-color: transparent;
                        font-size: 16px;
                        color: var(--green-700);
                        font-family: var(--font1);
                        text-transform: uppercase;
                        letter-spacing: var(--ls-label);
                        /* border-radius: var(--radius-md); */
                        outline: none;
                    }
                    .input-wrapper select {
                        max-width: unset;
                    }
                    .input-wrapper input {
                        max-width: 200px;
                    }
                    input[type="number"] {
                        max-width: max-content;
                    }
                    .select-box {
                        position: relative;
                    }
                        .select-box select option {
                            font-family: var(--font1);
                            letter-spacing: var(--ls-base);
                            color: var(--green-700);
                            font-size: 16px;
                        }
                        .select-box select:focus {
                            outline: none;
                        }
                        .select-box::after {
                            content: "\f0d7";
                            font-family: "Font Awesome 7 Free";
                            font-weight: 900;
                            position: absolute;
                            right: 12px;
                            top: 50%;
                            transform: translateY(-50%);
                            pointer-events: none;
                            color: var(--green-700);
                            font-size: 14px;
                        }

                .product-action .price,
                .product-price-row .price {
                    font-size: 28px;
                    font-family: var(--font1);
                    letter-spacing: var(--ls-base);
                    color: var(--green-700);
                }
                .product-action .price .btw-tag,
                .product-price-row .price .btw-tag {
                    font-size: 18px;
                    color: var(--grey);
                    font-family: var(--font1);
                    letter-spacing: var(--ls-base);
                }
                .product-action .add_to_basket {
                    background-color: var(--accent);
                    color: #FFFFFF;
                    /* border-radius: var(--radius-sm); */
                    cursor: pointer;
                    font-size: 18px;
                    padding: 11px 16px;
                    font-family: var(--font-title);
                    /* transition: all .3s ease; */
                }
                .product-action .product-in-cart {
                    align-self: flex-end;
                    margin-left: -8px;
                    margin-bottom: 16px;
                    font-family: var(--font-text);
                    font-size: 16px;
                    line-height: 1.4;
                    color: var(--grey);
                    text-decoration: none;
                }
                .product-action .product-in-cart:hover {
                    text-decoration: underline;
                }
                @media only screen and (max-width: 600px) {
                    .product-action .product-in-cart {
                        flex-basis: 100%;
                        align-self: flex-start;
                        margin-left: 0;
                        margin-bottom: 0;
                    }
                }

                /* Variant selector */
                .variant-selector {
                    display: flex;
                    flex-direction: column;
                    gap: 8px;
                    padding: 16px 0 4px;
                    font-size: 16px;
                    font-family: var(--font1);
                    letter-spacing: var(--ls-base);
                    color: var(--green-700);
                }
                .variant-selector .variant-selector-title {
                    font-size: 16px;
                    font-family: var(--font-text);
                    font-weight: bold;
                    line-height: 1.4;
                }
                .variant-selector .variant-options {
                    display: flex;
                    flex-direction: column;
                    align-items: stretch;
                    gap: 4px;
                    width: 100%;
                    max-width: 320px;
                }
                .variant-selector .variant-row {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    gap: 12px;
                    font-size: 16px;
                    cursor: pointer;
                    padding: 8px 8px;
                    border-radius: var(--radius-sm);
                    transition: background-color .15s ease;
                }
                .variant-selector .variant-price {
                    font-size: 16px;
                    white-space: nowrap;
                    color: var(--green-700);
                }
                .variant-selector .variant-price .price-old {
                    text-decoration: line-through;
                    opacity: .6;
                    margin-right: 8px;
                }
                .variant-selector .variant-price .price-new {
                    font-weight: bold;
                }
                .variant-selector .variant-row:hover {
                    background-color: #F7F7F7;
                }
                .variant-selector .variant-row.selected {
                    background-color: #F1F1F1;
                }
                .variant-selector .variant-row label {
                    display: flex;
                    align-items: center;
                    gap: 8px;
                    cursor: pointer;
                    margin: 0;
                    font-size: 16px;
                    font-family: var(--font-text);
                    line-height: 1.4;
                }
                .variant-selector .variant-row input[type="radio"] {
                    margin: 0;
                    cursor: pointer;
                }
                .variant-selector.variant-selector-select .variant-options {
                    position: relative;
                    display: inline-block;
                    width: auto;
                    max-width: 220px;
                    align-self: flex-start;
                }
                .variant-selector .variant-select {
                    width: auto;
                    min-width: 140px;
                    padding: 8px 32px 8px 12px;
                    font-size: 14px;
                    line-height: 1.2;
                    font-family: var(--font1);
                    color: var(--green-700);
                    text-transform: uppercase;
                    letter-spacing: var(--ls-label);
                    border: 1px solid rgba(36, 53, 46, .12);
                    border-radius: 0;
                    background-color: transparent;
                    appearance: none;
                    -webkit-appearance: none;
                    -moz-appearance: none;
                    outline: none;
                    cursor: pointer;
                    transition: border-color .15s ease, background-color .15s ease;
                }
                .variant-selector .variant-select:hover {
                    border-color: var(--green-700);
                    background-color: #fafafa;
                }
                .variant-selector .variant-select:focus {
                    border-color: var(--green-700);
                }
                .variant-selector .variant-select option {
                    font-family: var(--font1);
                    letter-spacing: var(--ls-base);
                    color: var(--green-700);
                    font-size: 16px;
                    text-transform: none;
                    background-color: #fff;
                }
                .variant-selector.variant-selector-select .variant-options::after {
                    content: "\f0d7";
                    font-family: "Font Awesome 7 Free";
                    font-weight: 900;
                    position: absolute;
                    right: 10px;
                    top: 50%;
                    transform: translateY(-50%);
                    pointer-events: none;
                    color: var(--green-700);
                    font-size: 12px;
                }
                .product-action .add_to_basket:active {
                    opacity: .8;
                }
                    .product-action .add_to_basket .fa-solid {
                        font-size: 18px;
                        margin-right: 8px;
                    }
                .product-action .action-wrapper {
                    width: 100%;
                    display: flex;
                    justify-content: flex-end;
                    align-items: center;
                    column-gap: 20px;
                }

    .voorraadstatus {
        color: var(--color-available);
    }
    .voorraadstatus.unavailable {
        color: var(--color-unavailable);
    }

    .product-bottom {
        width: 100%;
        display: flex;
        align-items: flex-start;
        padding-top: 48px;
    }
        .product-rating,
        .product-details {
            flex: 1 auto;
            display: flex;
            flex-direction: column;
            row-gap: 20px;
        }
                .rating-row {
                    width: 100%;
                    display: flex;
                    align-items: center;
                    row-gap: 12px;
                }
                    .rating-icons {

                    }
                        .rating-icons>img {
                            width: 50px;
                            height: 50px;
                            object-fit: contain;
                        }
                .details-row  {
                    display: flex;
                    flex-direction: column;
                    row-gap: 12px;
                }
                    .details-row span {
                        font-family: var(--font1);
                        letter-spacing: var(--ls-base);
                    }
                .product-bottom h3 {
                    font-size: 22px;
                    font-family: var(--font1);
                    letter-spacing: var(--ls-base);
                    font-weight: bold;
                    color: var(--green-700);
                    margin-right: 20px;
                    margin-bottom: 0;
                }
                .rating-row h3 {
                    width: 50px;
                }
.footer {
    width: 100%;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    background-color: var(--green-700);
    overflow: hidden;
}
    .footer-inner {
        width: 100%;
        max-width: 1600px;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 32px;
        padding: 64px var(--padding-hor);
    }
    .footer-nav {
        width: 100%;
        max-width: 1400px;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 32px;
    }
        .footer-list {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            row-gap: 12px;
        }
            .footer-list h3 {
                color: var(--offwhite);
                font-size: 18px;
            }
            .footer-list>a, .footer-list>span {
                font-size: 16px;
                font-family: var(--font1);
                letter-spacing: var(--ls-base);
                color: var(--offwhite);
            }
            .footer-list>a {
                display: flex;
                align-items: center;
                column-gap: 12px;
            }
            .footer-list-icons {
                width: 100%;
                max-width: 100%;
                display: flex;
                gap: 12px;
                flex-wrap: wrap;
                margin-top: 20px;
            }
                .footer-list-icons img {
                    height: 30px;
                    object-fit: contain;
                }

            .footer-socials-title{
                margin-top: 32px;
            }
            .footer-socials a{
                font-size: 2em;
                color: var(--offwhite)
            }
            .nieuwsbrief-input {
                margin-top: 12px;
                color: var(--offwhite);
                border-radius: var(--radius-sm);
                display: flex;
                align-items: center;
            }
                .nieuwsbrief-input i{
                    padding: 4px 8px;
                    color: var(--green-700);
                }
                .nieuwsbrief-input input {
                    padding: 8px 12px;
                    font-size: 16px;
                    border: none;
                    font-family: var(--font1);
                    letter-spacing: var(--ls-base);
                    outline: none;
                }
                .nieuwsbrief-input button i{
                    color: var(--offwhite);
                }
                .nieuwsbrief-input button{
                    display: flex;
                    height: 100%;
                    align-items: center;
                    font-family: var(--font-text);
                    font-size: 16px;
                    text-transform: uppercase;
                    letter-spacing: var(--ls-label);
                    text-decoration: none;
                    color: #ffffff;
                    cursor: pointer;
                    padding: 8px;
                    border: none;
                    outline: none;
                    border-radius: var(--radius-sm);
                    transition: all .3s ease;
                }

    .footer-icon {
        font-size: 28px;
    }

    .footer-social {
        width: 100%;
        max-width: 1400px;
    }

    .footer-line {
        width: 100%;
        max-width: 1000px;
        height: 2px;
        background-color: #ffffff;
        opacity: 0.3;
        border-radius: var(--radius-lg);
        margin: 20px 0;
    }

    .footer-bottom {
        width: 100%;
        max-width: 950px;
        display: flex;
        justify-content: space-around;
        flex-wrap: wrap;
        column-gap: 32px;
    }
        .footer-bottom .footer-bottom-item {

        }
        .footer-bottom h2 {
            color: #ffffff;
        }
        .footer-bottom .logos {
            flex: 1;
            display: flex;
            column-gap: 12px;
        }
            .footer-bottom .logos img {
                height: 32px;
                object-fit: contain;
            }


.usps-block {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 var(--padding-hor);
}
    .usps-block h2 {
        width: 450px;
        max-width: calc(100% - 6px);
        padding: 16px 20px;
        background-color: var(--offwhite);
        border: 1px solid var(--accent);
        position: absolute;
        top: 0;
        transform: translateY(calc(-50% + 4px));
        text-align: center;
    }
    .usps-inner {
        width: 100%;
        max-width: var(--max-width);
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        column-gap: 32px;
        row-gap: 40px;
        padding: 48px 0 32px;
        overflow: hidden;
    }
    .usps-block .img-before,
    .usps-block .img-after {
        width: 100%;
        max-width: var(--max-width);
        height: 12px;
        display: block;
        color: var(--accent);
        overflow: visible;
    }
        .usps-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            row-gap: 20px;
        }
            .usps-item i.icon {
                font-size: 36px;
                line-height: 1;
                color: var(--green-700);
            }
            .usps-item .desc {
                font-size: 18px;
                text-align: center;
                font-family: var(--font-text);
                line-height: 1.4;
            }


/* JORDAN CSS */
.text-muted{
    color: var(--grey) !important;
}

.usp-container{
    width: 100%;
    max-width: var(--max-width);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 40px;
    padding: 32px 16px;
}
    div.usp-item{
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 16px;
        color: var(--darkblue2);
        font-size: 16px;
        width: max-content;
    }
        div.usp-item i{
            color: var(--darkblue2);
        }


.enquete-container { width: 100%; max-width: 1350px; padding-inline: var(--padding-hor); margin: 0 auto; }
.enquete-form { display: flex; flex-direction: column; row-gap: 16px; }
.enquete-title { margin: 0; }
.enquete-description { margin-bottom: 4px; }
.enquete-form .form-item input[type="text"],
.enquete-form .form-item input[type="number"],
.enquete-form .form-item textarea,
.enquete-form .form-item select {
    /* width: 100%;
    padding: 12px 12px;
    border: 1px solid rgba(36, 42, 86, 0.15);
    border-radius: var(--radius-md);
    font-family: var(--font-text);
    font-size: 16px;
    box-sizing: border-box; */
}
.enquete-group-label {
    font-family: var(--font-text);
    font-size: 16px;
    line-height: 1.4;
}
.enquete-options { display: flex; flex-direction: column; row-gap: 8px; }
.enquete-option {
    display: flex;
    align-items: center;
    column-gap: 8px;
    cursor: pointer;
    font-family: var(--font-text);
    font-size: 16px;
}
.enquete-option input { width: auto; margin: 0; }
.enquete-bedankt {
    padding: 16px;
    border: 1px solid var(--color-available, #15b800);
    border-radius: var(--radius-md);
    background: rgba(21, 184, 0, 0.06);
}


.wa-btn {
    z-index: 9;
    position: fixed;
    bottom: 25px;
    right: 15px;
    background-color: #25D366; 
    width: 50px;
    height: 50px;
    border-radius: var(--radius-pill);
    display: flex;
    justify-content: center;
    align-items: center;
}
    .wa-btn i {
        font-size: 28px;
        color: #FFFFFF;
    }
    .wa-tooltip {
        position: absolute;
        left: -185px;
        top: 10px;
        width: 180px;
        text-align: center;
        background: #FFFFFF;
        font-size: 14px;
        padding: 8px 8px;
        border-radius: var(--radius-pill);
        box-shadow: var(--shadow-md);
        font-family: var(--font-text);
        line-height: 1.4;
    }

.adres-search-field {
    position: relative;
    width: 100%;
}
.adres-search-field::before {
    content: "\f002";
    font-family: "Font Awesome 6 Free", "Font Awesome 7 Free";
    font-weight: 900;
    position: absolute;
    top: 50%;
    left: var(--space-4);
    transform: translateY(-50%);
    font-size: 16px;
    color: var(--green-500);
    pointer-events: none;
    z-index: 1;
}
.adres-search-input {
    width: 100%;
    padding-left: calc(var(--space-4) * 2 + 16px);
}
.adres-search-list {
    z-index: 30;
    position: absolute;
    top: 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
    max-height: 280px;
    overflow-y: auto;
    background-color: #ffffff;
    border: var(--input-border);
    box-shadow: var(--shadow-sm);
}
    .adres-search-list:empty {
        display: none;
    }
    .adres-search-item {
        width: 100%;
        padding: 8px 12px;
        font-family: var(--font-text);
        font-size: 16px;
        color: var(--green-700);
        background-color: #ffffff;
        cursor: pointer;
    }
        .adres-search-item:nth-child(even) {
            background-color: #f7f7f7;
        }
        .adres-search-item:hover,
        .adres-search-item.is-active {
            background-color: #eeeeee;
        }
.adres-search-hint {
    font-family: var(--font-text);
    font-size: 14px;
    color: #666;
}
.adres-aangevuld {
    background-color: var(--offwhite-soft);
}


.insta-posts-container {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: var(--green-700);
}
    #insta-posts {
        width: 100%;
        max-width: 1450px;
        display: flex;
        flex-direction: column;
        row-gap: 20px;
        padding: 0px var(--padding-hor);
    }
        #insta-posts .posts-content {
            width: 100%;
            display: flex;
        }
        #insta-posts .post {
            flex: 1;
            margin: 0 5px;
            position: relative;
            display: block;
            text-decoration: none;
            cursor: pointer;
            border-radius: var(--radius-lg);
        }
            #insta-posts .post img {
                width: 100%;
                aspect-ratio: 1/1;
                border-radius: var(--radius-lg);
                object-fit: cover;
                transition: all .3s ease;
            }
            #insta-posts .post:hover img {
                filter: brightness(60%);
                transition: all .3s ease;
            }

            #insta-posts .post .post_stats {
                position: absolute;
                top: 0;
                left: 0;
                right: 0;
                bottom: 0;
                width: 100%;
                display: flex;
                justify-content: center;
                align-items: center;
                column-gap: 24px;
                opacity: 0;
                transition: opacity .3s ease;
            }
                #insta-posts .post:hover .post_stats {
                    opacity: 1;
                    transition: opacity .3s ease;
                }
                #insta-posts .post .post_stats .comments,
                #insta-posts .post .post_stats .likes {
                    display: flex;
                    align-items: center;
                    column-gap: 8px;
                    font-size: 18px;
                    color: #ffffff;
                }
                #insta-posts .post .post_stats .icon {
                    font-size: 16px;
                }
            #insta-posts .post .post_type {
                position: absolute;
                top: 10px;
                right: 10px;
                font-size: 16px;
                color: #ffffff;
            }

            #insta-posts .posts-top {
                width: 100%;
                display: flex;
                justify-content: space-between;
                align-items: center;
            }
                #insta-posts .posts-top .handle {
                    column-gap: 16px;
                    font-size: 28px;
                    font-family: var(--font-title);
                    color: #ffffff;
                }
                #insta-posts .posts-top .handle a {
                    display: flex;
                    align-items: center;
                    column-gap: 16px;
                }
                    #insta-posts .posts-top .handle i {
                        font-size: 36px;
                    }
                #insta-posts .posts-top .btn-holder {
                    width: unset;
                }

.signature {
    width: 100%;
    display: flex;
    justify-content: center;
    background-color: #ffffff;
    padding-inline: var(--padding-hor);
}
    .signature-inner {
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        flex-direction: column;
        color: var(--green-700);
        font-size: 16px;
        font-family: var(--font-text);
        line-height: 1.4;
    }
        .signature-inner .top {
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 32px;
            border-bottom: 1px solid #E6E6E6;
            padding: 32px 0;
        }
            .signature-inner img {
                max-width: 140px;
                object-fit: contain;
            }
        .signature-inner .bottom {
            width: 100%;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: center;
            column-gap: 32px;
            row-gap: 8px;
            padding: 16px 0;
        }
            .signature-inner .signature-right {
                display: flex;
                align-items: center;
                column-gap: 32px;
                row-gap: 8px;
                flex-wrap: wrap;
            }
        .signature-inner .bottom a {
            text-decoration: underline;
        }

        @media only screen and (max-width: 600px) {
            .signature-inner .bottom {
                flex-direction: column;
                align-items: flex-start;
                row-gap: 8px;
            }
                .signature-inner .signature-right {
                    flex-direction: column;
                    align-items: flex-start;
                    row-gap: 8px;
                }
        }


.banner {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    /* min-height: 380px; */
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: var(--padding-vert) var(--padding-hor);
}
    .banner .content {
        flex-direction: column;
        align-items: center;
    }
    .banner h1, .banner .desc {
        color: #ffffff;
        text-align: right;
    }
    .banner .desc {
        font-style: italic;
    }
    .banner .btn-holder {
        margin-top: 12px;
    }


.winkelmand_activate_container{
    flex: 1;
    width: 100%;
    display: flex;
    padding: 0 1em;
    justify-content: center;
    overflow: hidden;
}
.winkelmand-container {
    flex: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    /* min-height: 400px; */
}
    .winkelmand {
        width: 100%;
        max-width: 1370px;
        display: flex;
        flex-direction: column;
        row-gap: 4px;
        padding: 0 var(--padding-hor);
        margin: 64px 0 64px;
    }
        .winkelmand_activate_container .winkelmand {
            padding: 0;
        }
        .winkelmand h1 {
            text-transform: uppercase;
            letter-spacing: var(--ls-label);
        }
        .winkelmand .text {
            font-size: 16px;
            font-family: var(--font-title);
            color: var(--green-700);
            line-height: 1.6;
            margin-bottom: 20px;
        }
        .winkelmand_activate_order{
            margin-top: 3em;
        }
        .winkelmand_activate_total_price{
            display: flex;
            justify-content: flex-end;
            padding: 8px 20px;
            margin-bottom: 3em;
        }
        .winkelmand-row {
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 8px 12px;
            border-bottom: 2px solid #2258342c;
        } .winkelmand-row:last-child { border-bottom: unset; } .winkelmand-row.no-border{border-bottom: unset;}
        .bundel-hint {
            display: block;
            font-family: var(--font-text);
            font-size: 16px;
            line-height: 1.4;
            color: var(--accent);
            margin-top: 4px;
        }
            .winkelmand-row-inner {
                width: 100%;
                display: flex;
                justify-content: space-between;
                flex-wrap: wrap;
                column-gap: 20px;
                row-gap: 20px;
            }
        /* Gratis actieproduct: compacter, rechts uitgelijnd en zonder scheidingslijn, want het is een
           extraatje bij de bestelling en geen regel die de klant zelf kan aanpassen. */
        /* Bestelknop op dezelfde rechterrand als de bedragen erboven. */
        .winkelmand .btn-holder.end {
            padding: 0 12px;
        }
        .actie-title {
            width: 100%;
            padding: 0 12px;
            margin-top: 12px;
            font-family: var(--font-text);
            font-size: 16px;
            font-weight: bold;
            color: var(--green-700);
            text-align: right;
        }
        .winkelmand-row.actie-row {
            border-bottom: unset;
            padding-top: 4px;
        }
        .winkelmand-row.actie-row .winkelmand-row-inner {
            width: auto;
            margin-left: auto;
            justify-content: flex-end;
            align-items: center;
            column-gap: 16px;
        }
            .winkelmand-row.actie-row .winkelmand-row-inner a.img-holder {
                width: 70px;
                height: 56px;
            }
            .winkelmand-row.actie-row .winkelmand-row-inner .content {
                flex: 0 1 auto;
                max-width: 420px;
                padding-top: 0;
            }
            .winkelmand-row.actie-row .winkelmand-row-inner .name {
                font-size: 16px;
                margin-bottom: 4px;
            }
            .winkelmand-row.actie-row .bundel-hint {
                font-size: 14px;
            }
            .winkelmand-row.actie-row .winkelmand-actions {
                flex: 0 0 auto;
            }
        @media only screen and (max-width: 500px) {
            .winkelmand-row.actie-row .winkelmand-row-inner {
                width: 100%;
                margin-left: 0;
            }
        }
                .winkelmand-row-inner a {
                    text-decoration: none;
                }
                .winkelmand-actions .amount {
                    display: flex;
                    column-gap: 12px;
                }
                    .winkelmand-actions .amount button {
                        height: 26px;
                        width: 26px;
                    }
                    .winkelmand-actions .amount button.disabled {
                        opacity: 0.4;
                        pointer-events: none;
                        cursor: default;
                    }
                    .winkelmand-actions .amount span {
                        font-family: var(--font-text);
                        font-size: 16px;
                        color: var(--green-700);
                        padding: 4px 8px;
                        text-align: center;
                    }
                        .winkelmand-actions .amount i {
                            background-color: var(--green-700);
                            font-size: 14px;
                            color: #ffffff;
                            padding: 4px 8px;
                            text-align: center;
                            width: 100%;
                            height: 100%;
                            cursor: pointer;
                            transition: all 0.3s ease;
                        }
                .winkelmand-row-inner a.img-holder {
                    order: 1;
                    width: 100px;
                    height: 80px;
                }
                    .winkelmand-row-inner img {
                        width: 100%;
                        height: 100%;
                        aspect-ratio: 4 / 3;
                        object-fit: cover;
                        object-position: center;
                    }
                .winkelmand-row-inner .content {
                    order: 2;
                    flex: 1;
                    max-width: calc(100% - 215px - 150px - 20px - 20px);
                    display: flex;
                    flex-direction: column;
                    padding-top: 12px;
                }
                    .winkelmand-row-inner .name {
                        width: 100%;
                        font-family: var(--font-title);
                        font-size: 18px;
                        font-weight: bold;
                        color: var(--green-700);
                        overflow: hidden !important;
                        text-overflow: ellipsis;
                        margin-bottom: 8px;
                    }
                    .winkelmand-row-inner .desc {
                        width: 100%;
                        font-family: var(--font-text);
                        font-size: 16px;
                        color: var(--green-700);
                        overflow: hidden !important;
                        text-overflow: ellipsis;
                        white-space: nowrap;
                        margin-bottom: 4px;
                    }
                    .winkelmand-row-inner .version {
                        font-family: var(--font-text);
                        font-size: 16px;
                        width: 100%;
                        color: var(--grey);
                        margin-bottom: 4px;
                        display: -webkit-box;
                        -webkit-line-clamp: 1;
                        line-clamp: 1;
                        -webkit-box-orient: vertical;
                        overflow: hidden !important;
                        text-overflow: ellipsis;
                        white-space: nowrap;
                        word-break: break-word;
                    }
                    .winkelmand-row-inner .version * {
                        display: inline !important;
                        margin: 0 !important;
                        padding: 0 !important;
                    }
                    .winkelmand-row-inner .version br {
                        display: none !important;
                    }
                    .winkelmand-row-inner .price-per-item {
                        font-family: var(--font-text);
                        font-size: 16px;
                        color: var(--green-700);
                    }
                        .winkelmand-row-inner .price-per-item .btw-tag {
                            font-size: 10px;
                            color: var(--grey);
                            font-family: var(--font-text);
                        }
                    .winkelmand-row-inner a:hover {
                        text-decoration: underline;
                    }
            .winkelmand-options {
                width: auto;
                display: flex;
                flex-wrap: wrap;
                column-gap: 20px;
                row-gap: 12px;
                align-items: center;
            }
            .winkelmand-row .winkelmand-actions {
                order: 3;
                width: auto;
                display: flex;
                align-items: center;
                column-gap: 12px;
                row-gap: 12px;
                position: unset;
            }
                .winkelmand-row .price {
                    width: 100%;
                    max-width: 80px;
                    padding: 0 12px;
                    text-align: right;
                    font-family: var(--font-text);
                    font-size: 16px;
                    font-weight: normal;
                    line-height: 1.4;
                    color: var(--green-700);
                }
                .winkelmand-row .remove, .winkelmand-row .add {
                    cursor: pointer;
                    display: block;
                    position: relative;
                    color: var(--green-700);
                    font-size: 18px;
                }
            .winkelmand-row .price-total {
                flex: 1;
                min-width: 80px;
                padding: 0 12px;
                text-align: right;
                font-family: var(--font-text);
                font-size: 16px;
                line-height: 1.4;
                color: var(--green-700);
            }
                .winkelmand-row .price-total .price-old {
                    color: var(--grey, #888);
                    text-decoration: line-through;
                    font-size: 0.8em;
                }
                .winkelmand-row .price-total .price-new {
                    color: var(--accent);
                    font-weight: bold;
                }
        /* Geen eigen zijpadding: de regels binnenin hebben al 12px, zodat de rechterrand
           gelijk loopt met de productregels en het cadeaublok erboven. */
        .winkelmand-summary {
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            padding: 16px 0 16px;
        }
            .winkelmand-summary .price {
                width: 100%;
                padding: 0 12px;
                font-family: var(--font-text);
                font-size: 18px;
                font-weight: 100;
                color: var(--green-700);
                line-height: 1.4;
                text-align: right;
            }
            .winkelmand-summary .price.bundel-korting {
                font-size: 16px;
                color: var(--accent);
            }
            .winkelmand-summary .price.bezorgkosten {
                font-size: 16px;
            }
            .winkelmand-summary .bundel-summary {
                margin: 0 12px 12px;
                padding: 12px 16px;
                border: 1px solid var(--accent);
                text-align: right;
                font-family: var(--font-text);
            }
            .winkelmand-summary .bundel-summary-title {
                display: block;
                font-size: 16px;
                font-weight: bold;
                color: var(--green-700);
                margin-bottom: 8px;
            }
            .winkelmand-summary .bundel-summary-row {
                display: flex;
                justify-content: space-between;
                column-gap: 24px;
                font-size: 16px;
                line-height: 1.6;
                color: var(--accent);
            }
            .shipping_untill_container {
                flex: 1;
                min-width: 80px;
                padding: 12px 12px 0;
                text-align: right;
                font-family: var(--font-text);
                font-size: 16px;
                line-height: 1.4;
                color: var(--green-700);
            }
        .winkelmand .fa-minus:before, .winkelmand .fa-subtract:before,
        .winkelmand .fa-add:before, .winkelmand .fa-plus:before {
            top: 2px;
        }
        .winkelmand .winkelmand_activate_title p {
            font-family: var(--font-text);
        }

.stepper {
    display: flex;
    width: 100%;
    max-width: var(--max-width);
    font-family: var(--font1);
    letter-spacing: var(--ls-base);
    padding: 32px var(--padding-hor) 0;
}
    .step { flex: 1; display: flex; align-items: center; }
        .step-label {
            flex: 1;
            padding: 16px 16px 16px 32px;
            font-size: 12px;
            font-weight: 700;
            letter-spacing: var(--ls-label);
            text-transform: uppercase;
            color: #888;
            background: #f0f0f0;
            clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%, 16px 50%);
            white-space: nowrap;
            text-align: center;
        }
        .step:first-child .step-label {
            clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
            padding-left: 20px;
        }
        .step.active .step-label {
            background: var(--green-700);
            color: #fff;
        }

#loginCustomerInformationForm{
    width: 100%;
}

div.cart_info_container{
    width: 100%;
    max-width: 1350px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    column-gap: 32px;
    row-gap: 32px;
    padding: 0 var(--padding-hor);
    margin: 32px 0 64px;
}
    div.cart_info_container.contact_form_container {
        max-width: 720px;
    }
        .contact_form_container .btn-holder {
            margin-top: 8px;
        }
    div.customer_info_container{
        width: 100%;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
    }

    div.cart_info_sumup{
        width: 100%;
        max-width: 320px;
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        row-gap: 12px;
    }
        .cart_info_sumup h2 {
            margin-bottom: 0;
        }
        .cart_info_sumup table {
            width: 100%;
        }
        .cart_info_sumup td {
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
            font-size: 16px;
            color: var(--green-700);
        }
        .cart_info_sumup td:first-child {
            padding-right: 32px;
            padding-bottom: 4px;
            font-family: var(--font-text);
        }
        .cart_info_sumup td:last-child {
            text-align: right;
        }
        .cart_info_sumup td.line:first-child {
            padding-right: 0;
        }
        .cart_info_sumup tr td.line div {
            width: 100%;
            height: 1px;
            margin: 8px 0 4px;
            background-color: var(--green-100);
        }
            .cart_info_sumup button {
                background-color: var(--green-700);
                font-size: 18px;
                padding: 8px 12px;
            }
            .cart_info_discount button {
                font-size: 16px;
                background-color: var(--green-700);
            }
            .cart_info_discount .btn-holder button>i {
                margin-right: unset;
            }

        .cart_info_discount {
            display: flex;
            flex-direction: column;
            row-gap: 8px;
        }
            .cart_info_discount span {
                font-family: var(--font-text);
                font-size: 18px;
                font-weight: bold;
            }
            #customer_discount {
                font-family: var(--font1);
                font-size: 16px;
                color: var(--green-700);
                padding: 8px 12px;
                outline: none;
                border: var(--input-border);
                text-transform: uppercase;
                letter-spacing: var(--ls-label);
            }
            .cart_info_discount .discount-holder {
                display: flex;
                column-gap: 4px;
            }
            .cart_info_discount .discount-tag-holder {
                display: flex;
            }
            .cart_info_discount .discount-tag {
                display: inline-flex;
                align-items: center;
                column-gap: 8px;
                font-family: var(--font1);
                font-size: 14px;
                text-transform: uppercase;
                letter-spacing: var(--ls-label);
                color: #00a100;
                background-color: #0083000f;
                border: 1px solid #cbe6cb;
                border-radius: var(--radius-sm);
                padding: 8px 12px;
            }
            .cart_info_discount .discount-tag>i {
                cursor: pointer;
                font-size: 14px;
            }
            .cart_info_discount .discount-gift {
                display: block;
                margin-top: 8px;
                font-family: var(--font-text);
                font-size: 16px;
                color: var(--accent);
            }

    form#customerInformationForm,
    form#registerForm,
    form#loginForm,
    form#contactForm,
    form#updateAccountForm,
    #customerInformationAfterMail,
    #alt_bezorg {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        row-gap: 16px;
    }

    form input,
    form select,
    form textarea {
        font-family: var(--font1);
        letter-spacing: var(--ls-base);
        font-size: 16px;
        color: var(--green-700);
        outline: none;
        border: none;
        background-color: var(--green-100);
        padding: 16px 24px;
    }
    form textarea {
        flex: 1;
        width: 100%;
        max-width: unset;
        resize: vertical;
    }
    form input.large,
    form select.large {
        max-width: 300px;
    }
    form h2 {
        margin-bottom: 0;
    }

    .form-item-double{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        column-gap: 20px;
        row-gap: 16px;
    }
    .form-item-double .form-item {
        width: unset;
        min-width: 220px;
    }
    .form-item{
        width: 100%;
        flex: 1;
        display: flex;
        flex-direction: column;
        row-gap: 12px;
    } .form-item.full {
            width: 100%;
        }
        .form-item.large input {
            max-width: 320px;
        }
        .form-item .smallInput {
            max-width: 120px;
        }
        .form-item label{
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
            font-size: 16px;
            font-family: var(--font-text);
            line-height: 1.4;
        }
        .form-item .discount-holder {
            width: 100%;
            display: flex;
            align-items: center;
            column-gap: 12px;
        }
            .form-item .btn-holder {

            }
                .form-item .btn-holder button {
                    font-size: 16px;
                    padding: 8px 12px;
                }
            #discountInvalid {
                font-family: var(--font-text);
                font-size: 16px;
                color: var(--green-700);
            }

            #discountCost.discount-active,
            #bundelCost.discount-active {
                color: #00a100;
                background-color: #0083000f;
                border: 1px solid #cbe6cb;
                border-radius: var(--radius-sm);
                padding: 3px 8px 2px;
            }
            #discountCost.discount-active>i,
            #bundelCost.discount-active>i {
                font-size: 12px;
                margin-left: 2px;
            }


    #alt_bezorg {
        display: none;
        width: 100%;
    }

.sticky-sentinel {
    position: absolute;
}

#cart-summary {
    z-index: 20;
    position: fixed;
    left: 50%;
    bottom: var(--space-5);
    transform: translateX(-50%) translateY(0);
    width: calc(100% - var(--space-8));
    max-width: 520px;
    display: flex;
    align-items: center;
    column-gap: var(--space-4);
    padding: var(--space-3) var(--space-3) var(--space-3) var(--space-6);
    background-color: var(--surface);
    color: var(--green-700);
    border: 1px solid var(--green-100);
    border-radius: var(--radius-pill);
    box-shadow: var(--shadow-md);
    opacity: 1;
    transition: opacity .25s ease, transform .25s ease;
}
#cart-summary[hidden] {
    display: none;
}
#cart-summary.is-leaving {
    opacity: 0;
    transform: translateX(-50%) translateY(12px);
}
    .cart-summary-info {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        line-height: 1.3;
    }
        .cart-summary-count {
            font-family: var(--font1);
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: var(--ls-label);
            color: var(--green-500);
        }
        .cart-summary-total {
            font-family: var(--font-text);
            font-size: 22px;
            font-weight: 600;
            color: var(--green-700);
        }
    #cart-summary .cart-summary-cta,
    #cart-summary .cart-summary-cta:link,
    #cart-summary .cart-summary-cta:visited {
        flex-shrink: 0;
        width: 48px;
        height: 48px;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: var(--green-700);
        color: #ffffff;
        font-size: 18px;
        text-decoration: none;
        border-radius: var(--radius-pill);
        transition: background-color .2s ease;
    }
    #cart-summary .cart-summary-cta i {
        color: #ffffff;
    }
    #cart-summary .cart-summary-cta:hover {
        background-color: var(--green-900);
        color: #ffffff;
    }

@media only screen and (max-width: 600px) {
    #cart-summary {
        width: calc(100% - var(--space-5));
        bottom: var(--space-3);
        column-gap: var(--space-3);
        padding: var(--space-3);
    }
        .cart-summary-cta {
            width: 44px;
            height: 44px;
        }
}

@media (prefers-reduced-motion: reduce) {
    #cart-summary { transition: none; }
}
    .fade-in-up {
        display: flex;
        animation: fadeInUp 0.3s ease-out forwards;
    }
    @keyframes fadeInUp {
        from {
            opacity: 0;
            transform: translateY(20px) translateX(-50%);
        }
        to {
            opacity: 1;
            transform: translateY(0) translateX(-50%);
        }
    }


/*  MOBILE NAVBAR  */
#mobile-navbar {
    z-index: 1;
    display: none;
}
#mobile-navbar .burger:hover {
	cursor: pointer;
}
	#mobile-navbar .burger {
		position: relative;
        display: flex;
        flex-direction: column;
        row-gap: 8px;
	}
		#mobile-navbar .menu-bar {
			background-color: var(--offwhite);
			width: 36px;
            height: 4px;
			display: block;
			opacity: 1;
		}
        #mobile-navbar.navbar-open {
            display: none;
            position: fixed;
            top: 105px;
            right: 20px;
            z-index: 20;
        }
		#mobile-navbar.navbar-open .bar1 {
			transform: translateY(-2px) rotate(45deg);
		}
		#mobile-navbar.navbar-open .bar2 {
			opacity: 0;
		}
		#mobile-navbar.navbar-open .bar3 {
			transform: translateY(2px) rotate(-45deg);
		}
		#mobile-navbar .burger .bar1, #mobile-navbar .burger .bar2, #mobile-navbar .burger .bar3 {
			transform-origin: left;
			transition: all .6s ease;
		}

        #mobile-menu {
            z-index: 10;
            width: 100%;
            max-width: 420px;
            height: 100%;
            position: fixed;
            display: flex;
            flex-direction: column;
            opacity: 0;
            right: -100%;
            top: 0;
            background-color: var(--offwhite-soft);
            transition: right 0.35s ease, opacity 0.2s ease;
            pointer-events: none;
        }

        #mobile-menu.mobile-menu-open {
            right: 0;
            opacity: 1;
            pointer-events: all;
        }

        /* Dim overlay behind the menu */
        #mobile-menu-overlay {
            display: none;
            position: fixed;
            inset: 0;
            z-index: 9;
            background: rgba(0,0,0,0.4);
        }
        #mobile-menu-overlay.active {
            display: block;
        }

        .mobile-menu-inner {
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }

        .mobile-menu-header {
            width: 100%;
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 16px 20px;
            border-bottom: 1px solid rgba(0,0,0,0.1);
            flex-shrink: 0;
        }
            .mobile-menu-header img.logo {
                height: 40px;
                object-fit: contain;
                filter: none;
            }
            .mobile-menu-header a.logo-text {
                font-size: 18px;
                color: var(--green-700);
            }
            .menu-exit {
                width: 36px;
                height: 36px;
                display: flex;
                justify-content: center;
                align-items: center;
                cursor: pointer;
            }
                .menu-exit i.fa-solid {
                    font-size: 28px;
                    color: var(--green-700);
                }

        /* Root nav list */
        .mobile-nav-list {
            list-style: none;
            padding: 0;
            margin: 0;
            overflow-y: auto;
            flex: 1;
        }

        .mobile-nav-list > li > a,
        .mobile-nav-list > li > .mobile-nav-item > a {
            display: block;
            padding: 16px 20px;
            font-size: 16px;
            font-family: var(--font1);
            letter-spacing: var(--ls-base);
            color: var(--green-700);
            border-bottom: 1px solid rgba(0,0,0,0.07);
        }
        .mobile-nav-list > li > a:hover,
        .mobile-nav-list > li > .mobile-nav-item > a:hover {
            background-color: rgba(0,0,0,0.04);
        }

        .mobile-nav-item {
            display: flex;
            align-items: stretch;
            border-bottom: 1px solid rgba(0,0,0,0.07);
        }
            .mobile-nav-item > a {
                flex: 1;
                border-bottom: none !important;
            }
            .mobile-nav-arrow {
                display: flex;
                align-items: center;
                justify-content: center;
                width: 52px;
                flex-shrink: 0;
                cursor: pointer;
                color: var(--green-700);
                border-left: 1px solid rgba(0,0,0,0.07);
                font-size: 14px;
            }
                .mobile-nav-arrow:hover {
                    background-color: rgba(0,0,0,0.05);
                }

        /* Submenu panel — slides in from the right */
        .mobile-nav-sub {
            list-style: none;
            padding: 0;
            margin: 0;
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-color: var(--offwhite-soft);
            transform: translateX(100%);
            transition: transform 0.3s ease;
            overflow-y: auto;
            z-index: 2;
        }
            .mobile-nav-sub.open {
                transform: translateX(0);
            }

            .mobile-nav-back {
                display: flex;
                align-items: center;
                padding: 16px 20px;
                font-size: 16px;
                font-family: var(--font1);
                letter-spacing: var(--ls-base);
                color: var(--green-700);
                border-bottom: 2px solid rgba(0,0,0,0.1);
                cursor: pointer;
                font-weight: 600;
                column-gap: 8px;
            }
                .mobile-nav-back:hover {
                    background-color: rgba(0,0,0,0.04);
                }

            .mobile-nav-sub-title > a {
                display: block;
                padding: 16px 20px;
                font-size: 18px;
                font-family: var(--font-title);
                color: var(--green-700);
                border-bottom: 1px solid rgba(0,0,0,0.07);
                font-weight: normal;
            }

            .mobile-nav-sub > li:not(.mobile-nav-back):not(.mobile-nav-sub-title) > a {
                display: block;
                padding: 16px 20px;
                font-size: 16px;
                font-family: var(--font1);
                letter-spacing: var(--ls-base);
                color: var(--green-700);
                border-bottom: 1px solid rgba(0,0,0,0.07);
            }
                .mobile-nav-sub > li > a:hover {
                    background-color: rgba(0,0,0,0.04);
                }

        .mobile-menu-footer {
            flex-shrink: 0;
            padding: 16px 20px;
            border-top: 1px solid rgba(0,0,0,0.1);
        }
            .mobile-cart {
                display: flex;
                align-items: center;
                column-gap: 12px;
                font-size: 16px;
                font-family: var(--font1);
                letter-spacing: var(--ls-base);
                color: var(--green-700);
            }
            .mobile-cart::after {
                content: attr(data-cart-count);
                background: var(--green-700);
                color: #fff;
                font-size: 12px;
                width: 20px;
                height: 20px;
                border-radius: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
            }

#cookie-banner {
    position: fixed;
    bottom: 0;
    width: 100%;
    background-color: var(--offwhite);
    color: var(--green-700);
    padding: 16px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
    z-index: 9999;
    display: none;
    font-family: 'Helvetica Neue', sans-serif;
}

.cookie-content {
    max-width: 960px;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}

.cookie-content p {
    margin: 0;
    flex: 1;
}

.cookie-buttons {
    display: flex;
    gap: 12px;
    margin-top: 12px;
}

.cookie-buttons button {
    background-color: #225834;
    color: white;
    border: none;
    padding: 12px 16px;
    border-radius: var(--radius-sm);
    cursor: pointer;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.cookie-buttons button:hover {
    background-color: #225834;
}


.content-block {
    z-index: 0;
    position: relative;
    width: 100%;
    max-width: var(--max-width);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 var(--padding-hor);
}
    /* .content-block::before {
        content: '';
        z-index: -1;
        width: 100%;
        height: 75%;
        position: absolute;
        top: 0;
        left: 0;
        background-color: var(--offwhite-soft);
    } */
    .content-block-inner {
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        background-color: var(--offwhite-soft);
    }
        .content-block .image-holder {
            width: 100%;
            max-width: 50%;
            min-height: 300px;
            flex-grow: 1;
            display: flex;
            align-items: center;
        }
            .image-holder .img {
                width: 100%;
                height: 100%;
                background-size: cover;
                background-repeat: no-repeat;
                background-position: top center;
            }
        .content-block .content {
            flex: 1 auto;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            padding: 64px 80px;
            overflow: hidden;
        }
            .content-block .content h2 {
                margin-bottom: 20px;
            }
            .content-block .content .text {
                font-family: var(--font-title);
                font-size: var(--text-size);
                font-weight: normal;
                color: var(--green-700);
            }


.text-block {
    z-index: 0;
    position: relative;
    width: 100%;
    max-width: var(--max-width);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0;
}
    .text-block-inner {
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        background-color: var(--offwhite-soft);
    }


        .text-block .content {
            flex: 1 auto;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            padding: 64px 80px;
            overflow: hidden;
        }
            .text-block .content h2 {
                margin-bottom: 20px;
            }
            .text-block .content .text {
                font-family: var(--font-title);
                font-size: var(--text-size);
                font-weight: normal;
                color: var(--green-700);
            }


.subgroups {
    display: none;
    position: absolute;
    background-color: var(--green-700);
    box-shadow: var(--shadow-md);
    padding: 12px;
    z-index: 8;
}
    .subgroup-link {
        display: block;
        padding: 5px 12px;
        color: #333;
        text-decoration: none;
    } .subgroup-link:hover {
            background-color: #f0f0f0;
        }

/* slider */
.slider-container {
    position: relative;
    width: 100%;
    max-width: var(--max-width);
    overflow-y: visible;
    overflow-x: hidden;
    height: auto;
}
.slider-container.has-dots {
    padding-bottom: 32px;
}
    .slider {
        width: 100%;
        display: inline-flex;
        overflow-x: scroll;
        overflow-y: hidden;
        scrollbar-width: none;
        cursor: grab;
    }
        .slider::-webkit-scrollbar {
            display: none;
        }
        .slider-container::before,
        .slider-container::after {
            z-index: 1;
            content: '';
            position: absolute;
            top: 0;
            height: 100%;
            width: 90px;
            pointer-events: none;
            opacity: 0;
        }
        .fade-left::before, .fade-right::after {
            opacity: 1;
            transition: opacity .5s ease;
        }

        .arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);            
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 28px;
            width: 44px;
            height: 44px;
            color: #ffffff;
            background-color: var(--green-600);
            text-align: center;
            align-content: center;
            cursor: pointer;
            user-select: none;
            transition: opacity .3s ease;
        }
        .arrow-left { left: 20px; }
        .arrow-right { right: 20px; }
        .arrow:hover { transform: translateY(-50%) scale(1.1); }
        .arrow.disabled {
            opacity: 0.3;
            transition: opacity .3s ease;
        }
        .slider-container.arrows-bottom {
            padding-bottom: 64px;
        }
        .slider-container.arrows-bottom .arrow {
            top: auto;
            bottom: 5px;
            transform: none;
        }
        .slider-container.arrows-bottom .arrow:hover {
            transform: scale(1.1);
        }
        .slider-container.arrows-bottom .arrow-left {
            left: 50%;
            margin-left: -54px;
        }
        .slider-container.arrows-bottom .arrow-right {
            right: 50%;
            margin-right: -54px;
        }
        .slider-container.arrow-small .arrow {
            width: 35px;
            height: 35px;
            font-size: 22px;
        }
        .slider-container.arrow-small.arrows-bottom {
            padding-bottom: 48px;
        }
        .slider-container.arrow-small.arrows-bottom .arrow-left {
            margin-left: -45px;
        }
        .slider-container.arrow-small.arrows-bottom .arrow-right {
            margin-right: -45px;
        }
        .slider.centered {
            justify-content: center;
        }
        .slider.dots {
            margin-bottom: 32px;
        }
        .dots-container {
            position: absolute;
            bottom: 10px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            justify-content: center;
            gap: 8px;
            padding-top: 12px;
        }
            .dot {
                width: 10px;
                height: 10px;
                border-radius: 50%;
                background-color: #ccc;
                cursor: pointer;
                transition: background-color 0.3s;
            }
                .dot.active {
                    background-color: #333;
                }

.account {
    flex: 1;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 32px var(--padding-hor) 64px;
}
    .account-inner {
        width: 100%;
        max-width: var(--max-width);
        overflow: hidden;
    }
        .account-top {
            width: 100%;
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            column-gap: 48px;
            row-gap: 12px;
            margin-bottom: 20px;
        }
            .account-top h1 {
                font-size: 28px;
                margin-bottom: 0;
            }
            .account-top .logOut {
                display: flex;
                align-items: center;
                column-gap: 12px;
                font-size: 22px;
                font-family: var(--font-title);
                cursor: pointer;
            }
                .account-top .logOut>i {
                    top: -2px;
                }
            .account-top .line {
                width: 100%;
                height: 2px;
                background-color: var(--green-700);
                margin-bottom: 32px;
            }

            .account-top-right {
                display: flex;
                justify-content: flex-end;
                align-items: center;
                column-gap: 20px;
            }
            .account-top-right .btn-holder button {
                font-size: 16px;
            }
            .account-content {
                width: 100%;
                display: flex;
                flex-wrap: wrap;
                column-gap: 32px;
                row-gap: 32px;
            }
                .account-block {
                    width: 100%;
                    max-width: 380px;
                    min-height: 160px;
                    display: flex;
                    align-items: flex-start;
                    flex-direction: column;
                    row-gap: 4px;
                    background-color: var(--green-100);
                    padding: 20px;
                }
                    .account-block-title {
                        width: 100%;
                        display: flex;
                        justify-content: space-between;
                        align-items: center;
                        flex-wrap: wrap;
                        column-gap: 12px;
                    }
                    .account-block h3 {
                        display: flex;
                        column-gap: 12px;
                        align-items: center;
                        margin-bottom: 0;
                        color: var(--green-700);
                    }
                        .account-block h3 i {
                            font-size: 36px;
                            margin-right: 8px;
                            color: var(--green-700);
                        }
                    /* Subtitel onder de bloktitel: rustiger dan de titel, met lucht naar de lijst eronder. */
                    .account-block .desc {
                        font-size: 16px;
                        font-family: var(--font-text);
                        color: var(--grey);
                        line-height: 1.6;
                        margin-top: 2px;
                        margin-bottom: 16px;
                    }
                    .account-block.small .btn-holder {
                        width: unset;
                        margin-top: auto;
                    }
                    /* .account-block button {
                        background-color: var(--accent);
                        font-size: 12px;
                        padding: 8px 12px 8px;
                    } */

                    .account-block.referral {
                        max-width: 600px;
                        background-color: var(--green-100);
                    }
                    .account-block.full {
                        max-width: 100%;
                    }

                        .progress-bar {
                            width: 100%;
                            border-radius: var(--radius-lg);
                            margin-top: 12px;
                        }
                            .progress-bar .bar {
                                height: 9px;
                                background-color: var(--green-700);
                                border-radius: var(--radius-lg);
                                overflow: hidden;
                            }
                                .progress-bar .bar .progress {
                                    background-color: var(--accent);
                                    height: 100%;
                                    width: 100%;
                                    border-radius: var(--radius-lg);
                                    max-width: 100%;
                                    box-shadow: 0 0 5px var(--accent);
                                    transition: width 1s ease-in-out;
                                }
                                .progress-info {
                                    display: flex;
                                    justify-content: flex-end;
                                    margin-top: 12px;
                                    font-size: 12px;
                                    font-family: var(--font1);
                                    letter-spacing: var(--ls-base);
                                }


/* Account - Bestellingen */
.account-order {
    width: 100%;
    display: flex;
    flex-direction: column;
    background-color: #FFFFFF;
    border: var(--img-border);
    /* border-radius: var(--radius-lg); */
    margin-top: 12px;
    overflow: hidden;
}
    .account-order h4 {
        width: 100%;
        display: flex;
        align-items: center;
        column-gap: 20px;
        padding: 8px 20px;
        margin-bottom: -2px;
        border-bottom: 1px solid #2258342c;
        font-size: 16px;
        font-family: var(--font-text);
        cursor: pointer;
        transition: all .3s ease;
    }
        .account-order h4 .payment-open-label {
            margin-left: auto;
            padding: 3px 12px;
            border-radius: var(--radius-sm);
            background-color: #FF9800;
            color: #fff;
            font-size: 14px;
            font-family: var(--font-text);
        }
        .account-order h4 .date {
            font-size: 16px;
            font-family: var(--font-text);
            color: #22583470;
        }
        .account-order h4 i {
            width: 15px;
        }
    .account-order.opened h4 {
        margin-bottom: 2px;
        transition: all .3s ease;
    }
.orders-rows {
    width: 100%;
    display: none;
}
.orders-row {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 20px;
    border-bottom: 1px solid #2258342c;
} .orders-row:last-child { border-bottom: unset; } .orders-row.no-borders{border-bottom: unset;}

    .orders-row-inner {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        column-gap: 20px;
        row-gap: 20px;
    }
        .orders-row-inner a {
            text-decoration: none;
        }
        .orders-actions .amount span {
            font-family: var(--font-text);
            font-size: 16px;
            /* color: var(--green-700); */
        }
        .orders-row-inner a.img-holder {
            order: 1;
            width: 100px;
            height: 100px;
        }
            .orders-row-inner .img {
                width: 100%;
                height: 100%;
                background-size: cover;
                background-position: top center;
                background-repeat: no-repeat;
                border: var(--img-border);
            }
        .orders-row-inner .content {
            order: 2;
            flex: 1;
            display: flex;
            flex-direction: column;
            padding-top: 12px;
        }
            .orders-row-inner .name {
                width: 100%;
                font-family: var(--font-title);
                font-size: 18px;
                color: var(--green-700);
                overflow: hidden !important;
                text-overflow: ellipsis;
                margin-bottom: 2px;
            }
            .orders-row-inner .desc {
                width: 100%;
                font-family: var(--font-text);
                font-size: 16px;
                color: var(--green-700);
                overflow: hidden !important;
                text-overflow: ellipsis;
                white-space: nowrap;
                margin-bottom: 4px;
            }
            .orders-row-inner .version {
                font-family: var(--font-text);
                font-size: 16px;
                color: var(--green-700);
                overflow: hidden !important;
                text-overflow: ellipsis;
            }
            .orders-row-inner .price-per-item {
                font-family: var(--font-text);
                font-size: 16px;
                color: var(--green-700);
            }
            .orders-row-inner a:hover {
                text-decoration: underline;
            }
    .orders-options {
        width: auto;
        display: flex;
        flex-wrap: wrap;
        column-gap: 20px;
        row-gap: 12px;
        align-items: center;
    }
    .orders-row .orders-actions {
        position: unset;
        order: 3;
        width: auto;
        display: flex;
        align-items: center;
        column-gap: 12px;
        row-gap: 12px;
        margin-left: auto;
    }
        .orders-row .price {
            width: 100%;
            max-width: 80px;
            padding: 0 12px;
            text-align: right;
            font-family: var(--font-text);
            font-size: 16px;
            font-weight: normal;
            line-height: 1.15;
            color: var(--green-700);
        }
    .orders-row .price-total {
        flex: 1;
        min-width: 80px;
        padding: 0 12px;
        text-align: right;
        font-family: var(--font-text);
        font-size: 16px;
        line-height: 1.15;
        color: var(--green-700);
        font-weight: bold;
    }
    .orders-row.small {
        justify-content: flex-end;
        padding: 12px 20px;
    }
        .orders-row .price-total {
            flex: unset;
        }
        .orders-row.small .name {
            font-family: var(--font-text);
            font-size: 16px;
        }

    .orders-row.small.orders-actions {
        justify-content: unset;
        flex-wrap: wrap;
        row-gap: 12px;
        column-gap: 20px;
    }

    .orders-row.small.orders-actions .btn-holder button {    
        font-size: 16px;
    }

    .orders-status {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        column-gap: 12px;
        font-family: var(--font-text);
        row-gap: 12px;
    }
        .orders-status .btn-holder {
            gap: unset;
            row-gap: 12px;
            column-gap: 20px;
        }
        .orders-status span {
            height: 14px;
            width: 14px;
            border-radius: 50%;
            background-color: red;
        }
        .orders-status .status-1,
        .orders-actions button.green {
            /* green */
            background-color: #4CAF50;
        }
        .orders-status .status-2,
        .orders-actions button.accent {
            background-color: #FF9800;
        }
        .orders-status .status-3,
        .orders-actions button.red {
            /* red */
            background-color: #F44336;
        }
        .orders-status .status-4,
        .orders-actions button.blue {
            /* blue */
            background-color: #2196F3;
        }
        .orders-actions .btn-holder button:disabled {
            color: #ccc;
            cursor: not-allowed;
            opacity: 0.6;
        }

        .sendOrderConfirmSucces {
            display: none;
        }

    .orders-row.orders-info {
        width: 100%;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        column-gap: 20px;
        row-gap: 12px;
        padding: 8px 20px;
    }
        .orders-row.orders-info .info-card {
            width: 380px;
            max-width: 100%;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            row-gap: 4px;
            padding: 12px 16px;
            background-color: var(--green-100);
        }
            .orders-row.orders-info span {
                font-family: var(--font-text);
                font-size: 16px;
            }

            .orders-row.orders-info span:first-child,
            .orders-row.orders-info .info-card-title {
                color: var(--green-700);
                font-size: 16px;
                margin-bottom: 4px;
            }

            .orders-row.orders-info .info-card .info-table {
                width: 100%;
                border-collapse: collapse;
                font-family: var(--font-text);
                font-size: 16px;
            }
                .orders-row.orders-info .info-card .info-table th,
                .orders-row.orders-info .info-card .info-table td {
                    text-align: left;
                    vertical-align: top;
                    padding: 2px 0;
                    font-weight: normal;
                }
                .orders-row.orders-info .info-card .info-table th {
                    width: 80px;
                    color: #6b7280;
                    white-space: nowrap;
                    padding-right: 8px;
                }
                .orders-row.orders-info .info-card .info-table td {
                    color: #111;
                    word-break: break-word;
                }

            .orders-row.orders-info .info-card.afwijkend {
                border-left: 3px solid var(--green-700);
            }

.login-container {
    flex: 1;
    width: 100%;
    display: flex;
    justify-content: center;
    padding: 0 1em;
}
    .login-container-inner {
        width: 100%;
        max-width: var(--max-width);
        display: flex;
        justify-content: center;
        align-items: flex-start;
        column-gap: 32px;
    }
.login-block,
.register-block {
    width: 100%;
    max-width: 540px;
    display: flex;
    flex-direction: column;
    row-gap: 4px;
    margin: 64px 0 64px;
}

.forgot-password {
    font-size: 16px;
    text-decoration: underline;
    margin-bottom: 4px;
}

div.bottom{
    width: 100%;
    padding: 0.6em 1.6em;
    background-color: #FFFFFF;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    color: var(--green-700);
}


#nix18 {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: #333;
    color: white;
    padding: 15px 20px;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    max-width: 350px;
    display: flex;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}
    #nix18 span {
        flex: 1;
    }
    #nix18 .nix18-bottom {
        width: 100%;
        display: flex;
        justify-content: space-between;
        column-gap: 16px;
        row-gap: 8px;
    }
    #nix18 img {
        width: 60px;
        height: auto;
        object-fit: contain;
    }
    #nix18 button {
        background-color: #4CAF50;
        border: none;
        color: white;
        padding: 8px 12px;
        font-size: 16px;
        border-radius: var(--radius-sm);
        cursor: pointer;
        white-space: nowrap;
    }
        #nix18 button:hover {
            background-color: #45a049;
        }


.review-holder {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
}
.page-header .review-holder {
    align-items: center;
    margin-top: 32px;
}
    .page-header  .review-stars {
        color: #FFD900;
    }
    .page-header  .review-holder span {
        color: #F5F5F5;
        text-align: center;

        /* font-family: var(--font-text);
        line-height: 1.4; */
    }

.review-block {
    overflow: visible;
    padding: 80px 0;
}
.review-block-inner > h2 {
    text-align: center;
    margin-bottom: 32px;
    padding: 0 12px;
    font-size: 36px;
}

.review-block
.slider-container {
    max-width: 100vw;
    overflow-y: hidden;
}

.reviews {
    display: flex;
    column-gap: 32px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: max(var(--padding-hor), calc((100vw - var(--max-width-l)) / 2 + var(--padding-hor)));
    /* padding-left: max(var(--padding-hor)); */
    padding-right: max(var(--padding-hor), calc((100vw - var(--max-width-l)) / 2 + var(--padding-hor)));
    margin-top: -20px;
    margin-bottom: -20px;
}
    .review-card {
        min-width: 480px;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
        background-color: var(--surface);
        border: 1px solid var(--green-100);
        row-gap: 16px;
        font-size: 16px;
        font-family: var(--font-text);
        line-height: 1.4;
        overflow: hidden;
        position: relative;
        user-select: none;
    }
        .review-card::before {
            content: "";
            position: absolute;
            top: 20px;
            right: 30px;
            background-image: url('../images/icons/quote.svg');
            background-size: contain;
            background-repeat: no-repeat;
            width: 34px;
            height: 34px;
        }
        .review-card .review-stars {
            display: flex;
            column-gap: 2px;
            font-size: 18px;
            color: #FFD900;
        }
        .review-info {
            width: 100%;
            margin-top: auto;
        }
            .review-info h2 {
                font-size: 18px;
                font-family: var(--font-title);
                text-transform: uppercase;
                letter-spacing: var(--ls-label);
                margin-bottom: 4px;
            }
            .review-info .desc {
                color: var(--accent);
                font-size: .8em;
            }
        .review-card:last-child {
            margin-right: var(--padding-hor);
        }

.reviews-container {
    width: 100%;
    display: flex;
    justify-content: center;
}
    .review-container-inner {
        width: 100%;
        max-width: var(--max-width);
        padding: var(--padding-vert) var(--padding-hor);
    }

.review-container {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 40px var(--padding-hor) 80px;
}
    .review-container .review-stats {
        text-align: center;
        margin-bottom: 40px;
    }
        .review-container .review-stats h2 span {
            color: var(--green-700);
        }
    .reviews-list {
        display: flex;
        flex-direction: column;
        row-gap: 24px;
    }
        .review-card.review-card-full {
            width: 100%;
            min-width: 0;
            max-width: 100%;
        }
            .review-card.review-card-full .review-title {
                font-family: var(--font-title);
                font-size: 22px;
                margin: 0;
                padding-right: 64px;
            }
            .review-card.review-card-full .review-date {
                color: var(--accent);
                font-size: .8em;
                margin-top: 4px;
            }


.faq-container {
    width: 100%;
    max-width: 850px;
    padding: 0 15px;
    margin-top: 48px;
    margin-bottom: 80px;
}
    .faq-container h2{
        font-size: 36px;
    }

    .faq-search {
        margin-bottom: 20px;
    }

    .faq-search input {
        width: 100%;
        padding: 12px 15px;
        font-size: 16px;
        border: 2px solid var(--green-100);
        outline: none;
        box-sizing: border-box;
    }

    .faq-search input:focus {
        border-color: #d1d1d1;
    }

    .faq-list {
        width: 100%;
        display: flex;
        flex-direction: column;
        row-gap: 12px;
    }

    .faq-item {
        border: 2px solid var(--green-100);
    }

    .faq-question {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px;
        background: none;
        border: none;
        cursor: pointer;
        text-align: left;
        font-size: 16px;
    }

    .faq-icon {
        flex-shrink: 0;
        transition: transform 0.3s ease;
    }

    .faq-question[aria-expanded="true"] .faq-icon {
        transform: rotate(180deg);
    }

    .faq-answer {
        display: grid;
        grid-template-rows: 0fr;
        transition: grid-template-rows 0.3s ease;
    }

    .faq-answer[aria-hidden="false"],
    .faq-answer.is-open {
        grid-template-rows: 1fr;
    }

    .faq-answer-inner {
        overflow: hidden;
    }

    .faq-answer-content {
        padding: 16px;
        color: #4b5563;
        font-size: 16px;
        font-family: var(--font-text);
        line-height: 1.4;
    }


@media only screen and (max-width: 1400px){

    .shop-group {
        max-width: calc((100% / 4) - (20px / 4 * 3));
    }
    .shop-groups .slider {
        gap: 20px;
    }

}

@media only screen and (max-width: 1350px){


    .navbar-inner .nav .nav-right #mobile-navbar {
        display: flex;
    }
    .navbar-productgroups {
        display: none;
    }

    .page-container {
        padding-top: 134px;
    }

}

@media only screen and (max-width: 1250px){

    .page-header h1,
    .page-banner h1 {
        font-size: 44px;
    }

    .product-image {
        width: 440px;
        height: 380px;
    }
    .product-image-slider.slider-container {
        width: 440px;
    }
    .product-image-slide {
        height: 380px;
    }
    /* .product-action .price {
        font-size: 56px;
    } */

    .news-inner {
        column-gap: 48px;
    }

}

@media only screen and (max-width: 1200px){

    .shop-nav-item img {
        right: -40px;
    }

    .shop-group {
        max-width: calc((100% / 3) - (20px / 3 * 2));
    }
}

@media only screen and (max-width: 1150px){

    .navbar-inner .left img.logo {
        max-height: 42px;
    }
    .navbar-inner .left a.logo-text {
        font-size: 22px;
    }

    .characteristics {
        column-gap: 24px;
    }
        .characteristics-item {
            font-size: 22px;
        }
        .characteristics-item::after {
            top: 2px;
            width: 24px;
            height: 16px;
            margin-left: 24px;
        }

    .shop-nav-inner {
        column-gap: 48px;
    }
    .shop-nav-item {
        max-width: 380px;
    }

}


@media only screen and (max-width: 1100px){

    .page-header h1,
    .page-banner h1 {
        font-size: 36px;
    }

    .navbar-inner .nav .nav-left>a {
        display: none;
    }
    #mobile-navbar {
        display: block;
    }

    .navbar-inner {
        align-items: center;
    }
    .navbar-inner .nav .nav-left {
        column-gap: 32px;
    }

    .product-info {
        padding: 20px 0;
    }

    .product-holder {
        padding: var(--space-5);
    }

    .news .image-holder{
        width: 100%;
        max-width: 300px;
    }
    .news .image-holder .img {
        height: 100%;
    }

    .footer-nav {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 12px;
        row-gap: 48px;
    }

    .assortiment-inner {
        column-gap: 12px;
    }
    .section-row {
        column-gap: 20px;
        row-gap: 20px;
    }
    .product-card {
        flex: 0 0 calc(100% / 3 - (20px / 3 * 2));
    }
    .section-header h2 {
        font-size: 18px;
    }
    .product-card h2 {
        font-size: 16px;
    }
    .product-card .card-content {
        padding: var(--space-3);
    }


    .topbar-inner {
        overflow: hidden;
    }
        .topbar-inner .usp {
            position: absolute;
            width: 100%;
            text-align: center;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.6s ease;
        }
            .topbar-inner .usp.active {
                opacity: 1;
                pointer-events: auto;
            }

}

@media only screen and (max-width: 1100px){

    .page-header.has-categories {
        margin-bottom: unset;
    }
    .page-header .content h1 {
        font-size: 44px;
    }

    .header-cat {
        position: relative;
        bottom: unset;
        left: unset;
        right: unset;
        transform: unset;
        top: -100px;
        margin-bottom: -140px;
    }
        .header-cat-inner {
            column-gap: 20px;
            row-gap: 20px;
        }


}

@media only screen and (max-width: 1000px){

    .page-header .header-content{
        max-width: unset;
        padding: 48px 20px;
        justify-content: center;
        border-bottom-right-radius: unset;
    }

    .product-card .input-wrapper select {
        padding: 8px 8px;
        padding-right: 24px;
        font-size: 14px;
    }

    .categories-inner {
        flex-wrap: wrap;
    }
        .categories-inner .item {
            flex: 1 1 calc(50% - 10px);
        }


}

@media only screen and (max-width: 950px){

    .header-cat-inner {
        column-gap: 12px;
    }

    .review-block {
        padding: 48px 0;
    }

    .page-header {
        padding-inline: 0;
    }
        .page-header-inner {
            padding: 40px 20px;
        }
    .header-cat-inner {
        flex-direction: column;
        align-items: center;
    }
        .header-cat .item {
            width: 100%;
            max-width: 480px;
            padding: 15px;
        }

    .input-holder.search-holder {
        max-width: 280px;
    }
    .nav-reviews {
        display: none;
    }
    .characteristics {
        display: none;
    }

    .section-row.slider,
    .showcase-items.slider {
        column-gap: 20px;
    }

    .section-header .section-top img {
        width: 48px;
        height: 48px;
    }

    .product-image-holder {
        width: 100%;
    }
    .product-holder {
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        overflow: hidden;
    }

    .product-info .product-action {
        max-width: unset;
        justify-content: space-between;
        flex-wrap: wrap;
    }

    .content-block .content,
    .text-block .content {
        padding: 48px 48px;
    }


}


.path-bar-back {
    font-size: 16px;
    font-family: var(--font-text);
    line-height: 1.4;
}

@media only screen and (max-width: 900px){

    .about-full {
        flex-direction: column;
    }

    .sidebar {
        max-width: 270px;
    }

    .product-cat {
        display: none;
    }

    .path-bar-back {
        display: none;
    }

    .banner h1, .banner .desc {
        text-align: center;
    }
    .banner .btn-holder {
        margin-top: 32px;
    }
}


@media only screen and (max-width: 850px){


    .rating-row {
        align-items: unset;
        flex-direction: column;
    }
    .rating-icons>img {
        width: 40px;
        height: 40px;
    }

    .rating-name,
    .detail-name {
        font-size: 18px;
    }
}

@media only screen and (max-width: 830px){
    div.about-inner{
        flex-direction: column;
        row-gap: 16px;
    }

    .about-col .image-holder {
        max-width: 540px;
    }

}

@media only screen and (max-width: 800px){

    .toggle-sidebar-holder {
        display: flex;
    }
    .sidebar {
        max-width: unset;
        z-index: 11;
        position: fixed;
        display: none;
        width: calc(100% - 20px);
        top: 10px;
        bottom: 10px;
        left: 10px;
        right: 10px;
        border-radius: var(--radius-lg);
        max-height: unset;
    }

    .assortiment.sidebar-open .sidebar {
        display: flex;
        padding-bottom: 80px;
    }

    .assortiment.sidebar-open .close-sidebar {
        display: flex;
    }

    .assortiment-section {
        padding-top: 32px;
        padding-bottom: 32px;
    }
    .assortiment-loading {
        z-index: 8;
        position: fixed;
        top: 50%;
        transform: translateY(-50%);
    }

    .arrow {
        top: calc(50% - 10px);
    }

    .usps-item i.icon {
        font-size: 36px;
    }

}

@media only screen and (max-width: 768px){


}

@media only screen and (max-width: 750px){

    .section-header h2,
    .product-rating h2, .product-details h2 {
        font-size: 18px;
    }
    .product-bottom h3 {
        font-size: 16px;
    }
    .product-info h1 {
        font-size: 28px;
    }
    .section-header h3 {
        font-size: 16px;
    }

    .section-header .section-top img {
        width: 40px;
        height: 40px;
    }

    .winkelmand-row-inner {
        padding-bottom: 12px;
    }
        .winkelmand-row-inner a.img-holder {
            /* order: 1; */
        }
        .winkelmand-row .winkelmand-actions {
            /* order: 2; */
        }
        .winkelmand-row-inner .content {
            /* order: 3; */
            max-width: 100%;
            padding-top: 0;
        }

        div.cart_info_sumup {
            width: 100%;
            /* max-width: 320px; */
        }
    .orders-row-inner {
        padding-bottom: 12px;
    }
        .orders-row-inner a.img-holder {
            order: 1;
        }
        .orders-row-inner .content {
            order: 3;
            flex: unset;
            width: 100%;
            max-width: 100%;
            padding-top: 0;
        }
        .orders-row .orders-actions {
            order: 2;
        }
        .orders-row .price-total {
            min-width: unset;
            padding: 0 12px 0 0;
        }
        .orders-row.small {
            column-gap: 12px;
        }
    .account-order h4 {
        /* justify-content: space-between; */
        flex-wrap: wrap;
        row-gap: 4px;
    }

    div.cart_info_container {
        align-items: center;
        flex-direction: column;
    }

    div.cart_info_sumup {
        max-width: unset;
        /* padding: 20px; */
    }

    .shop-group {
        max-width: calc((100% / 2) - (20px / 2));
    }

    .section-row.slider, .showcase-items.slider {
        column-gap: 20px;
    }
    .section-row {
        column-gap: 20px;
        row-gap: 20px;
    }
    .product-card {
        flex: 0 0 calc(100% / 3 - (20px / 3 * 2));
    }

    .content-block-inner {
        flex-direction: column;
    }
        .content-block .image-holder {
            max-width: 100%;
            height: 300px;
        }

    .page-header .review-holder {
        margin-top: 32px;
    }


}

.navbar-inner {
    flex-direction: column;
    align-items: stretch;
    row-gap: 15px;
}

.navbar-top {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    column-gap: 20px;
}

.search.search-mobile {
    display: none;
}


@media only screen and (max-width: 700px){

   .review-card {
        min-width: unset;
        width: calc(100vw - 30px);
        max-width: 400px;
        flex-shrink: 0;
    }
    .review-card .btn-holder {
        position: unset;
        bottom: unset;
        right: unset;
    }
    .review-card button {
        padding: 8px 16px;
        border-radius: var(--radius-lg);
    }

}

@media (max-width: 650px) {

    .page-container {
        padding-top: 170px;
    }

    .navbar-inner {
        padding: 15px 15px;
    }

    .search.search-desktop {
        display: none;
    }

    .search.search-mobile {
        display: flex;
        width: 100%;
    }

    .search.search-mobile .input-holder.search-holder {
        width: 100%;
        max-width: 100%;
    }

    .account-block {
        padding: 20px;
    }

    .footer-bottom {
        row-gap: 2em;
    }

    .footer-bottom-item {
        text-align: center;
    }

    .product-card {
        flex: 0 0 calc(100% / 2 - (20px / 2));
    }

    h1 {
        font-size: 28px;
    }
    h2 {
        font-size: 22px;
    }

    .navbar-inner .nav .nav-left {
        display: none;
    }
}

@media only screen and (max-width: 600px){
    .page-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .page-banner .text{
        font-size: 12vw;
    }

    /* .btn-holder button {
        font-size: 14px;
    } */
    .btn-holder button {
        font-size: 22px;
        padding: 16px 32px;
    }

    #insta-posts .posts-content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    #insta-posts .posts-content> *:nth-child(n+3) {
        display: none;
    }
    .slider-container::before, .slider-container::after {
        width: 35px;
    }
    .product-card .input-wrapper select {
        min-width: unset;
    }

    .breadcrumb {
        column-gap: 12px;
        margin-bottom: 20px;
    }
    .breadcrumb>a, .breadcrumb>span {
        font-size: 14px;
    }
    .breadcrumb>i.fa-solid {
        font-size: 12px;
    }

    .product-bottom {
        column-gap: 48px;
        row-gap: 48px;
        flex-wrap: wrap;
    }
    .product-info h1 {
        font-size: 28px;
    }
    .product-info2 .long_desc {
        font-size: 14px;
    }

    .product-card .actions .price {
        font-size: 14px;
    }

    .account-top h1 {
        font-size: 28px;
    }

    .footer-nav{
        padding: 0;
        grid-template-columns: repeat(1, 1fr);
    } 

    #insta-posts .posts-top{
        flex-direction: column;
        align-items: flex-start;
        gap: 1em;
    }

    .toggle-sidebar-holder {
        top: 141px;
    }

    .stepper {
        display: none;
    }

    .usps-inner {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 20px;
        row-gap: 32px;
        padding: 70px 0 48px;
    }

}

@media only screen and (max-width: 500px){

    .page-header {
        padding-top: 0;
    }
    .page-header-inner {
        padding-inline: 15px;
    }
    .page-header .content h1 {
        font-size: 36px;
    }
    .page-header .review-holder span {
        font-size: 14px;
    }

    h1 {
        font-size: 22px;
    }

    .usps-block h2 {
        width: 350px;
    }


}
@media only screen and (max-width: 540px){

    .page-header h1,
    .page-banner h1 {
        font-size: 36px;
    }   

    .signature-inner {
        flex-direction: column;
        justify-content: flex-start;
        row-gap: 8px;
    }

    .categories {
        padding: 32px var(--padding-hor);
    }

}

@media only screen and (max-width: 510px){

    .page-header .header-content{
        padding: 48px var(--padding-hor);
    }

    .arrow-left { left: 10px; }
    .arrow-right { right: 10px; }
    .winkelmand-summary{
        margin-top: 20px;
    }
    .shipping_untill_container{
        margin-top: 12px;
    }

    .shop-nav-item h2 {
        font-size: 28px;
    }
    .shop-group {
        max-width: 280px;
    }
    .shop-groups .slider {
        padding-inline: calc((100% - 280px) / 2);
    }

    .content-block .content,
    .text-block .content {
        padding: 32px 32px;
    }

}

@media only screen and (max-width: 450px){

    .section-row {
        column-gap: 12px;
        row-gap: 12px;
    }
    .product-card {
        flex: 0 0 calc(100% / 2 - (10px / 2));
    }

    .product-image {
        height: 320px;
    }
    .product-image-slide {
        height: 320px;
    }

    .product-action .price,
    .product-price-row .price {
        font-size: 36px;
        margin-right: 0px;
    }

    .product-action .action-wrapper {
        column-gap: 12px;
    }
    .product-action .add_to_basket .fa-solid {
        font-size: 18px;
    }

    .winkelmand-row-inner {
        flex-direction: column;
    }
    .winkelmand-row-inner a.img-holder { order: 1; }
    .winkelmand-row-inner .content { order: 2; }
    .winkelmand-row .winkelmand-actions { order: 3; }
    .winkelmand-row {
        padding: 8px 2px;
    }

    .orders-row {
        padding: 8px;
    }
    .orders-row.small {
        padding: 8px;
    }
    .account-block {
        padding: 16px 12px;
    }

    .shop-nav-item {
        max-width: 100%;
    }
    .shop-nav-item img {
        position: relative;
        top: 0;
        right: unset;
        transform: unset;
        width: 200px;
        height: 100px;
    }
    .about .image-holder {
        height: 260px;
    }

    .categories-inner .item {
        flex: 1 1 100%;
    }

    .breadcrumb>a, .breadcrumb>span {
        font-size: 12px;
    }

    .review-card .review-stars {
        column-gap: 2px;
        font-size: 14px;
    }
    .review-card {
        font-size: 14px;
    }
    .review-card::before {
        width: 30px;
        height: 30px;
    }

}

@media only screen and (max-width: 400px){

    :root {
        --padding-hor: 16px;
    }

    .header-cat .item h2 {
        font-size: 18px;
    }
    .orders-row-inner a.img-holder {
        width: 100px;
        height: 70px;
    }

    .account {
        padding: 32px 8px 32px;
    }

    .signature-inner img {
        max-width: 60px;
    }

    .product-info h1 {
        font-size: 22px;
    }
    .product-action .price,
    .product-price-row .price {
        font-size: 28px;
    }

    .review-card {
        width: calc(100vw - 20px);
        row-gap: 16px;
    }

}

@media only screen and (max-width: 380px){

    .page-header .content h1 {
        font-size: 28px;
    }
    .header-cat {
        padding-inline: 5px;
    }

    .page-container {
        padding-top: 164px;
    }

    .product-image {
        width: 100%;
        height: 240px;
        overflow: hidden;
    }
    .product-image-slider.slider-container {
        width: 100%;
    }
    .product-image-slide {
        height: 240px;
    }

    .product-action .price,
    .product-price-row .price {
        font-size: 28px;
    }
    .product-card .card-content {
        padding: 12px 8px;
    }

    .shop-nav-item h2 {
        font-size: 22px;
    }
    .shop-nav-item .content {
        z-index: 1;
        text-shadow: 0px 0px 8px var(--offwhite);
    }

    .usp-container {
        gap: 32px;
    }

    .navbar-inner .left img.logo {
        max-height: 36px;
    }
    .navbar-inner .left a.logo-text {
        font-size: 18px;
    }

    .usps-inner {
        grid-template-columns: repeat(1, 1fr);
        row-gap: 32px;
    }
    .usps-item {
        row-gap: 12px;
    }
    .navbar-inner .nav a {

    }

}


body.site-modal-open {
    overflow: hidden;
}
.site-modal[hidden] {
    display: none;
}
.site-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    opacity: 0;
    transition: opacity .25s ease;
}
.site-modal.is-open {
    opacity: 1;
}
.site-modal-backdrop {
    position: absolute;
    inset: 0;
    background-color: rgba(26, 26, 26, .55);
    cursor: pointer;
}
.site-modal-card {
    position: relative;
    width: 100%;
    max-width: 460px;
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    background-color: #fff;
    box-shadow: var(--shadow-md);
    transform: translateY(12px);
    transition: transform .25s ease;
    overscroll-behavior: contain;
}
.site-modal.is-open .site-modal-card {
    transform: translateY(0);
}
.site-modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, .85);
    border: none;
    border-radius: 50%;
    color: var(--green-700);
    font-size: 16px;
    cursor: pointer;
    z-index: 2;
    transition: background-color .15s ease;
}
.site-modal-close:hover {
    background-color: #f1f1f1;
}
.site-modal-image {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: #f3f3f3;
}
.site-modal-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.site-modal-card.has-image {
    max-width: 760px;
    display: flex;
    flex-direction: row;
    overflow: hidden;
}
.site-modal-card.has-image .site-modal-image {
    flex: 0 0 300px;
    aspect-ratio: auto;
    align-self: stretch;
}
.site-modal-card.has-image .site-modal-content {
    flex: 1;
    min-width: 0;
    overflow-y: auto;
}
.site-modal-content {
    padding: 32px 24px 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.site-modal-title {
    margin: 0;
    font-family: var(--font-text);
    font-size: 22px;
    color: var(--green-700);
}
.site-modal-body {
    font-family: var(--font-text);
    font-size: 16px;
    color: var(--green-700);
}
.site-modal-body p { margin: 0 0 8px; }
.site-modal-body p:last-child { margin-bottom: 0; }

.site-modal-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 4px;
}
.site-modal-input-holder {
    position: relative;
    width: 100%;
}
.site-modal-input-holder .site-modal-input {
    padding-right: 52px;
}
.site-modal-input-holder .site-modal-cta-icon {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 38px;
    height: 38px;
    min-width: 0;
    padding: 0;
    font-size: 16px;
}
.site-modal-input {
    width: 100%;
    padding: 12px 16px;
    font-family: var(--font-text);
    font-size: 16px;
    color: var(--green-700);
    border: 1px solid rgba(36, 53, 46, .12);
    background-color: #fff;
    outline: none;
    transition: border-color .15s ease;
}
.site-modal-input:focus {
    border-color: var(--green-700);
}
.site-modal-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 16px;
    background-color: var(--accent);
    color: #fff;
    font-family: var(--font-text);
    font-size: 16px;
    text-align: center;
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: opacity .15s ease;
}
.site-modal-cta,
.site-modal-cta:link,
.site-modal-cta:visited,
.site-modal-cta:hover,
.site-modal-cta:focus,
.site-modal-cta:active {
    color: #fff;
    font-family: var(--font-text);
}
.site-modal-cta * {
    color: inherit;
}
.site-modal-cta:hover {
    opacity: .9;
}
.site-modal-fineprint {
    font-family: var(--font-text);
    font-size: 12px;
    color: #777;
    text-align: center;
    margin-top: 2px;
}

.site-modal-code {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    border: 1px dashed var(--accent);
    background-color: var(--offwhite-soft);
    cursor: pointer;
    transition: background-color .15s ease;
}
.site-modal-code:hover {
    background-color: var(--offwhite);
}
.site-modal-code-icon {
    margin-left: auto;
    color: var(--accent);
    font-size: 16px;
}
.site-modal-code-label {
    font-family: var(--font1);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: var(--ls-label);
    color: var(--accent);
}
.site-modal-code-value {
    font-family: var(--font-title);
    font-size: 18px;
    color: var(--green-700);
}

.site-modal-newsletter .site-modal-title { color: var(--green-700); }
.site-modal-promo .site-modal-title { color: var(--accent); }

@media (max-width: 640px) {
    .site-modal-card.has-image {
        flex-direction: column;
    }
    .site-modal-card.has-image .site-modal-image {
        display: none;
    }
}

@media (max-width: 520px) {

    .site-modal {
        padding: 0;
        align-items: flex-end;
    }
    .site-modal-card {
        max-width: 100%;
        max-height: 92vh;
        border-radius: var(--radius-lg) var(--radius-lg) 0 0;
        transform: translateY(40px);
    }
    .site-modal.is-open .site-modal-card {
        transform: translateY(0);
    }
    .site-modal-content {
        padding: 24px 16px 24px;
    }
    .site-modal-title {
        font-size: 18px;
    }

}

.product-card .img-holder,
.product-image-holder,
.linked-product-row .img-holder {
    position: relative;
    overflow: hidden;
}
.product-label {
    position: absolute;
    top: 19px;
    left: -37px;
    width: 150px;
    padding: 8px 0 4px;
    text-align: center;
    background-color: #ff6d45;
    color: #fff;
    font-family: var(--font1);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: var(--ls-label);
    transform: rotate(-45deg);
    transform-origin: center;
    box-shadow: var(--shadow-sm);
    pointer-events: none;
    z-index: 2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.product-label-sale,
.product-label-actie,
.product-label-aanbieding,
.product-label-korting {
    background-color: var(--accent);
}
.product-label-nieuw,
.product-label-new {
    background-color: var(--green-700);
}
.product-label-populair,
.product-label-bestseller {
    background-color: var(--green-500);
    color: #fff;
}
.product-image-holder {
    border-radius: var(--product-border-radius);
}
.product-image-holder .product-label {
    top: 22px;
    left: -48px;
    width: 180px;
    padding: 8px 0;
    font-size: 14px;
}

.product-reviews {
    width: 100%;
    margin-top: 48px;
}
.product-reviews h3 {
    font-size: 22px;
    font-family: var(--font-title);
    color: var(--green-700);
    margin: 0 0 16px;
}
.product-reviews-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 1fr;
    gap: 12px;
}
.product-review-item {
    position: relative;
    padding: 16px 44px 16px 16px;
    background-color: #FFFFFF;
    border: 1px solid #D9D9D9;
    font-family: var(--font1);
    letter-spacing: var(--ls-base);
    color: var(--green-700);
    overflow: hidden;
}
.product-review-item::before {
    content: "";
    position: absolute;
    top: 12px;
    right: 14px;
    background-image: url('../images/icons/quote.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 18px;
    height: 18px;
}
.product-review-icon {
    display: none;
}
.product-review-text {
    font-size: 16px;
    font-family: var(--font-text);
    line-height: 1.4;
}
@media (max-width: 720px) {
    .product-reviews {
        margin-top: 32px;
    }
    .product-reviews h3 {
        font-size: 18px;
        margin: 0 0 12px;
    }
    .product-reviews-grid {
        gap: 8px;
    }
    .product-review-item {
        padding: 12px 32px 12px 12px;
    }
    .product-review-item::before {
        top: 8px;
        right: 8px;
        width: 14px;
        height: 14px;
    }
    .product-review-text {
        font-size: 12px;
    }
}
.linked-product-row .img-holder .product-label {
    top: 6px;
    left: -28px;
    width: 90px;
    padding: 2px 0;
    font-size: 10px;
    box-shadow: var(--shadow-sm);
}


/* Knoppen */
button,
.btn-holder button,
.shop-nav-item button,
.card-content-btn .add_to_basket,
.product-card .actions .add_to_basket,
.linked-product-row .add_to_basket,
.cart_info_sumup button,
.cart_info_discount button,
.orders-actions button.green,
.orders-actions button.accent,
.orders-actions button.red,
.orders-actions button.blue,
.site-modal-cta {
    border-radius: var(--radius-md);
}

/* Formuliervelden */
.input-holder.search-holder,
.input-holder.search-holder input,
.section-header-sort select,
.nieuwsbrief-input input,
#customer_discount,
form textarea,
.faq-search input,
.site-modal-input,
.site-modal-code {
    border-radius: var(--radius-md);
}

/* Kaarten, panelen en dropdowns */
.search_result,
.about-container,
.product-card,
.product-holder,
.header-cat .item,
.adres-search-list,
.insta-posts-container,
#cookie-banner,
.content-block-inner,
.text-block-inner,
.subgroups,
.account-block,
.orders-row.orders-info .info-card,
.review-card,
.faq-item,
.product-review-item,
.usps-block h2,
.winkelmand-summary .bundel-summary {
    border-radius: var(--radius-lg);
}

/* Afbeeldingen */
.product-image,
.product-image-slide,
.linked-product-row .img-holder,
.orders-row-inner .img {
    border-radius: var(--radius-lg);
}

/* Labels en tags */
.product-label,
.product-label-korting,
.product-label-new,
.product-label-bestseller,
.winkelmand-actions .amount i,
.toast-success {
    border-radius: var(--radius-sm);
}


input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="tel"],
input[type="search"],
input[type="date"],
select,
textarea,
.input-holder,
.input-wrapper input,
.input-wrapper select,
.select-box select,
.enquete-form .form-item input,
.enquete-form .form-item select,
.enquete-form .form-item textarea {
    border-radius: var(--radius-md);
}


.image-holder .img,
.bg-img,
.product-img,
.product-image,
.product-image-slide img,
.shop-group img,
.shop-nav-item img,
.search_result .search-image img,
.sticker-img-holder img,
.site-modal-image img,
.winkelmand-row-inner img,
.orders-row-inner .img,
.linked-product-row .img-holder .product-img,
.skeleton-card .skeleton-img,
#nix18 img {
    border-radius: var(--radius-lg);
}

.footer-list-icons img,
.footer-bottom .logos img,
.rating-icons > img,
.signature-inner img,
.navbar-inner .left img.logo,
.navbar-inner .nav img.homeIcon,
.mobile-menu-header img.logo,
.usps-block .img-before,
.usps-block .img-after,
.page-header-bg {
    border-radius: 0;
}


.product-card,
.product-holder,
.faq-item,
.orders-row,
.review-card,
.product-review-item,
.search_result,
.subgroups,
.adres-search-list,
#cookie-banner,
.site-modal-card {
    background-color: var(--surface);
}


.page-container > * + * {
    margin-top: var(--section-gap);
}
.page-container > .footer,
.page-container > .signature {
    margin-top: 0;
}

.page-container > .usp-container {
    margin-top: var(--space-7);
}

@media only screen and (max-width: 768px) {
    .page-container > * + * {
        margin-top: var(--space-8);
    }
}


.product-card,
.review-card,
.header-cat .item,
.shop-group,
.shop-nav-item,
.product-review-item {
    transition: transform .2s ease, box-shadow .2s ease;
}
.product-card:hover,
.review-card:hover,
.header-cat .item:hover,
.shop-group:hover,
.shop-nav-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

@media (prefers-reduced-motion: reduce) {
    .product-card,
    .review-card,
    .header-cat .item,
    .shop-group,
    .shop-nav-item,
    .product-review-item {
        transition: none;
    }
    .product-card:hover,
    .review-card:hover,
    .header-cat .item:hover,
    .shop-group:hover,
    .shop-nav-item:hover {
        transform: none;
    }
}
