/*
 * woocommerce.css
 * Webweek WooCommerce plugin – Frontend stijlen
 *
 * Kopieer of @import dit bestand in je thema,
 * of laat de plugin hem zelf laden via wp_enqueue_style.
 *
 * Aanpasbare variabelen bovenaan – alles wat je snel wilt tweaken.
 */

/* ── Variabelen ─────────────────────────────── */
:root {
    --ww-gap:           2.4rem;      /* ruimte tussen productkaarten */
    --ww-card-radius:   25px;        /* border-radius van kaarten */
    --ww-thumb-height:  260px;       /* hoogte van de afbeeldingszone */
    --ww-thumb-bg:      #F2EAD8;     /* achtergrondkleur thumb */
    --ww-card-border:   #edecec;     /* randkleur kaarten */
    --ww-cols-desktop:  3;           /* fallback – echte waarde komt van wp_head inline (index.php) */
    --ww-cols-tablet:   2;  /* fallback */
    --ww-cols-mobile:   1;  /* fallback */
}

/* ══════════════════════════════════════════════
   CATEGORY HEADER IMAGE
   .img = de achtergrond-div met vaste hoogte.
   .caption = absoluut gecentreerd OVER de foto,
   met genoeg padding zodat tekst nooit de rand raakt.
   Hoogte groeit mee via min-height zodat lange
   titels niet buiten het vlak vallen.
══════════════════════════════════════════════ */
.headerimg {
    position: relative;
    overflow: hidden;
    border-radius: 20px;
}

/* Achtergrondafbeelding – min-height bepaalt de minimale hoogte */
.headerimg .img {
    border-radius: 20px;
    min-height: 380px;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    /* background-position: komt inline vanuit PHP (ww_cat_header_image_position) */
    position: relative;
}

/* Donkere overlay */
.headerimg .img::before {
    border-radius: 20px;
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(to right, rgba(28, 18, 8, .72) 0%, rgba(28, 18, 8, .1) 55%);
}

/* Caption: absoluut gecentreerd IN de foto.
   padding-top/bottom zorgt dat bij lange tekst de
   min-height van .img via padding-bottom ook groeit
   – we gebruiken daarvoor ook een padding-bottom op .img */
.headerimg .img {
    padding: 60px 0;  /* ruimte boven+onder caption zodat .img meegroeit als tekst lang is */
}

/* ── Headerimg: hoogte meegroeit met caption op mobiel ── */
/* Op desktop: fixed min-height, caption absolute gepositioneerd */
/* Op mobiel: als beschrijving IN de header staat, groeit de container mee */
@media (max-width: 767px) {
    .headerimg {
        /* Schakel over van position:relative + absolute caption naar
           flex-layout zodat de hoogte bepaald wordt door de inhoud */
        min-height: 200px;
    }
    /* Als er een ww-header-desc aanwezig is: laat container meeademen */
    .headerimg:has(.ww-header-desc) {
        display: flex;
        flex-direction: column;
    }
    .headerimg:has(.ww-header-desc) .img.img_archive {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        padding: 0;
    }
    .headerimg:has(.ww-header-desc) .caption {
        position: relative;  /* geen absolute meer op mobiel */
        height: auto;
        width: 100%;
        padding: 24px 16px;
        background: linear-gradient(to bottom, rgba(0,0,0,.35) 0%, rgba(0,0,0,.55) 100%);
        box-sizing: border-box;
        z-index: 2;
        /* align-items via caption-v-* */
    }
    /* Zonder beschrijving: gewone fixed hoogte via padding op .img */
    .headerimg .img.img_archive {
        min-height: 180px;
    }
}

.headerimg .caption {
    position: absolute;
    inset: 0;
    display: flex;
    z-index: 1;
    pointer-events: none;
    /* align-items wordt bepaald door .caption-v-* klasse */
}
.headerimg .caption > * {
    pointer-events: auto;
}
.headerimg .caption,
.headerimg .caption * {
    color: #fff;
}

/* Tablet */
@media (max-width: 1024px) {
    .headerimg .img {
        min-height: 280px;
        padding: 44px 0;
    }
}

/* Mobiel */
@media (max-width: 767px) {
    .headerimg .img {
        min-height: 200px;
        padding: 32px 0;
    }
    .headerimg .img::before {
        background: linear-gradient(to bottom, rgba(28,18,8,.0) 20%, rgba(28,18,8,.72) 100%);
    }
    /* Op mobiel caption naar onderkant */
    .headerimg .caption {
        align-items: flex-end;
        padding-bottom: 24px;
    }
}

/* ===== Breadcrumbs ===== */
.woo-breadcrumbs {
    font-size: 12px;
    padding: 13px 0;
    p {
        margin: 0;
    }
    a {
        color: #8A7060;
    }
    * {
        coor: #4A3520;
    }
}

/* ══════════════════════════════════════════════
   PRODUCT GRID  (ul.products)
══════════════════════════════════════════════ */
ul.products {
    display: grid !important;
    grid-template-columns: repeat(var(--ww-cols-desktop), 1fr);
    gap: var(--ww-gap);
    list-style: none;
    margin: 0;
    padding: 0;
    &:before {
        display: none!important;
    }
}

/* Tablet */
@media (max-width: 1024px) {
    ul.products {
        grid-template-columns: repeat(var(--ww-cols-tablet), 1fr);
    }
}

/* Mobiel */
@media (max-width: 767px) {
    ul.products {
        grid-template-columns: repeat(var(--ww-cols-mobile), 1fr);
    }
}


/* ══════════════════════════════════════════════
   PRODUCTKAART  (li.product > a.pcard)
══════════════════════════════════════════════ */
li.product {
    margin: 0 !important;
    display: flex;
    width: 100%!important;
}

a.pcard {
    background: #fff;
    border-radius: var(--ww-card-radius);
    overflow: hidden;
    border: 1px solid var(--ww-card-border);
    transition: transform .25s, box-shadow .25s;
    cursor: pointer;
    display: flex;
    flex-direction: column;    /* maakt kaarten even hoog */
    text-decoration: none;
    color: inherit;
    width: 100%;               /* vult li volledig */
}

a.pcard:hover {
    transform: translateY(-5px);
    box-shadow: 0 16px 44px rgba(28,18,8,.11);
}
/* Standaard hover: scale op hoofd-img */
a.pcard:hover .pthumb img,
a.pcard:hover .pthumb .pthumb-main {
    transform: scale(1.07) rotate(-1deg);
}

/* ──────────────────────────────────────────────
   GALERIJ-FLIP HOVER
   .pthumb-main = featured image (standaard zichtbaar)
   .pthumb-hover = eerste galerij-foto (verschijnt bij hover)
   Smooth cross-fade via opacity + transform.
   Werkt alleen als .has-hover-img op .pcard staat.
────────────────────────────────────────────── */
.pcard.has-hover-img .pthumb {
    position: relative;   /* zeker stellen */
}
.pcard.has-hover-img .pthumb-main,
.pcard.has-hover-img .pthumb-hover {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .35s ease, transform .4s ease;
    border-radius: inherit;
}
.pcard.has-hover-img .pthumb-main {
    opacity: 1;
    transform: scale(1);
}
.pcard.has-hover-img .pthumb-hover {
    opacity: 0;
    transform: scale(1.04);
}
/* Bij hover: hoofd-img verdwijnt, hover-img verschijnt */
a.pcard.has-hover-img:hover .pthumb-main {
    opacity: 0;
    transform: scale(1.03);
}
a.pcard.has-hover-img:hover .pthumb-hover {
    opacity: 1;
    transform: scale(1);
}
/* Zorg dat .pthumb zelf de hoogte aanhoudt als beide imgs absoluut zijn */
.pcard.has-hover-img .pthumb::after {
    content: '';
    display: block;
    padding-top: 100%; /* vierkante verhouding – past bij de bestaande thumb-height var */
}

/* Wishlist actief – subtiele highlight op de kaart */
li.product.ww-in-wishlist a.pcard {
    border-color: #f5b8b0;
    box-shadow: 0 0 0 2px rgba(231,76,60,.12);
}


/* ── Thumb ───────────────────────────────────── */
.pthumb {
    height: var(--ww-thumb-height);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: relative;
    background: var(--ww-thumb-bg);
    flex-shrink: 0;
    overflow: hidden;
}

.pthumb img,
.pthumb-main {
    width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
    transition: transform .4s;
    display: block;
    margin: 0;
}

/* Badge */
.pbadge {
    position: absolute;
    top: .8rem;
    left: .8rem;
    background: #f2ead8;
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: .22rem .6rem;
    border-radius: 100px;
}
.pbadge.sale  { background: var(--primary, #c0392b); }
.pbadge.nieuw { background: #5e8a65; }

/* Verlanglijst-hartje */
/* pwish in productkaart: absoluut rechtsboven thumbnail */
.pthumb .pwish {
    position: absolute;
    top: .8rem;
    right: .8rem;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: rgba(255,255,255,.92);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 2px 8px rgba(28,18,8,.1);
    z-index: 2;
}
/* pwish standalone (single product pagina) – NIET absoluut */
.ww-single-wishlist-btn.pwish {
    position: static !important;
}
.pwish:hover {
    transform: scale(1.08);
    transition: transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 4px 14px rgba(28,18,8,.15);
}
.pwish svg {
    width: 16px;
    height: 16px;
    stroke: var(--ink2, #888);
    fill: none;
    transition: stroke .2s, fill .2s;
}
.pwish:hover svg {
    stroke: var(--terra, #c0392b);
    fill: var(--terra-pale, rgba(192,57,43,.12));
}
/* Actief (in wishlist) */
.pwish.ww-active svg {
    stroke: #e74c3c;
    fill: #e74c3c;
}


/* ── Body ────────────────────────────────────── */
.pbody {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;                   /* duwt .pfoot naar onderkant */
}

/* Kleurbolletjes */
.cdots {
    display: flex;
    gap: 5px;
    margin-bottom: .7rem;
}
.cdot {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 2px solid rgba(28,18,8,.1);
    transition: transform .15s;
    cursor: default;
}
/* cdot hover verwijderd */

/* Naam */
.pname {
    
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.3;
    margin-bottom: .2rem;
}

/* Korte beschrijving */
.ptype {
    font-size: 14px;
    color: var(--body_font_color, #555);
    opacity: .6;
    margin-bottom: .85rem;
    line-height: 1.5;
}

/* Footer prijs + knop */
.pfoot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;          /* altijd onderaan in de kaart */
}

.pprice {
    font-family: var(--headingFont);
    font-size: 16px;
    font-weight: 700;
    color: var(--primary, #c0392b);
}
.pprice .old {
    display: inline-block;
    font-size: 11px;
    color: #bbb;
    text-decoration: line-through;
    font-weight: 500;
    margin-right: 3px;
}

/* Add-to-cart knop – chevron pijltje ipv + */
.add-btn {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fae5df;
    color: var(--primary, #c0392b);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .2s, transform .15s;
    flex-shrink: 0;
}
.add-btn:hover {
    background: var(--terra, #c0392b);
    color: #fff;
    transform: scale(1.1);
}
/* Chevron SVG via ::after – vervangt het + teken */
.add-btn::after {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: rotate(45deg) translate(-1px, 1px);
}
/* Verberg de originele + tekst als die er nog in staat */
.add-btn.has-icon-text { font-size: 0; }


/* ══════════════════════════════════════════════
   SORT DROPDOWN  (select.orderby)
══════════════════════════════════════════════ */
.woocommerce-ordering {
    margin-bottom: 1.5rem;
}
.woocommerce-ordering select.orderby {
    border: 1.5px solid #ebeae9;
    border-radius: 15px;
    background-color: white;
    font-size: 14px;
    padding: 6px 17px;
    font-family: var(--bodyFont);
    font-weight: 500;
    cursor: pointer;
    outline: none;
    transition: border-color .2s;
    appearance: none;
    padding-right: 2.2rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234A3520' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .8rem center;
}
.woocommerce-ordering select.orderby:focus {
    outline: none;
    border-color: #2271b1;
}


/* ══════════════════════════════════════════════
   WISHLIST ICON SHORTCODE
══════════════════════════════════════════════ */
.ww-wishlist-icon {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    text-decoration: none;
    color: inherit;
}
.ww-wishlist-icon svg {
    width: 22px;
    height: 22px;
    fill: #e74c3c;
}
.ww-wishlist-icon {
    position: relative;
    display: inline-flex;
}
.ww-wishlist-count {
    position: absolute;
    top: -6px;
    right: -7px;
    background: #111;
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    pointer-events: none;
}


/* ══════════════════════════════════════════════
   WISHLIST PRODUCTS SHORTCODE
══════════════════════════════════════════════ */
.ww-wishlist-products {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 24px;
    list-style: none;
    padding: 0;
}
.ww-wl-item {
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
    text-align: center;
}
.ww-wl-item img { width: 100%; height: auto; display: block; }
.ww-wl-info { padding: 14px; }
.ww-wl-name { font-weight: 600; margin-bottom: 6px; }
.ww-wl-price { color: #555; margin-bottom: 8px; }
.ww-wl-remove {
    font-size: 12px;
    color: #b32d2e;
    cursor: pointer;
    border: none;
    background: none;
    padding: 0;
    text-decoration: underline;
}
.ww-wishlist-empty { color: #888; font-style: italic; }


/* ══════════════════════════════════════════════
   UITGEBREIDE CATEGORIETITEL
   .ww-extended-title          = volle breedte wrapper
   .ww-extended-title > div    = inner container met max-width
══════════════════════════════════════════════ */
.ww-extended-title {
    width: 100%;
    margin-bottom: 1rem;
}
.ww-extended-title > div {
    max-width: 860px;   /* comfortabele leeskolom op desktop */
}
.ww-extended-title h1,
.ww-extended-title h2,
.ww-extended-title h3 {
    margin-top: 0;
}


/* ══════════════════════════════════════════════
   CATEGORIE INTRO TEKST
══════════════════════════════════════════════ */
.ww-cat-intro {
    margin-bottom: 1.5rem;
    color: #555;
    font-size: 14px;
}
.ww-cat-intro ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.ww-cat-intro ul li { display: inline; }
.ww-cat-intro ul li a {
    text-decoration: none;
    padding: 4px 12px;
    border-radius: 6px;
    border: 2px solid rgba(0,0,0,.075);
    background: rgba(255,255,255,.75);
    transition: background .15s, border-color .15s, color .15s;
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    color: #4a3a2e;
}
.ww-cat-intro ul li a:hover {
    background: var(--primary, #c0392b) !important;
    border-color: var(--primary, #c0392b) !important;
    color: #fff !important;
}

/* 5. Cat-intro + description mobiel: card-stijl */
@media (max-width: 767px) {
    .ww-cat-intro { font-size: 14px; line-height: 1.6; }
    .ww-cat-intro ul {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 4px;
    }
    .ww-cat-intro ul::-webkit-scrollbar { display: none; }
    .ww-cat-intro ul li a { white-space: nowrap; }
    .ww-cat-description {
        font-size: 14px;
        line-height: 1.6;
        margin: 0 0 35px !important;
    }
}

/*=== Widget Filters ===*/

.widget-area {
    ul {
        list-style-type: none;
        margin: 0 0 30px!important;
        padding: 0;
    }
    ul:not(.product-categories) {
        li:not(.widget-container) {
            float: none;
            position: relative;
            margin-bottom: 5px;
            line-height: 25px;
            &.chosen:not(.woocommerce-widget-layered-nav-list__item) {
                &:before,
                &:after {
                    display: none;
                }
                a {
                    background: #e6eeed;
                    padding: 7px 14px;
                    border-radius: 3px;
                    &:before {
                        display: inline-block;
                        color: #a6b3b0;
                        top: 2px;
                        position: relative;
                    }
                    &:hover,
                    &:focus,
                    &:active {
                        background: #dbecea;
                    }
                }
            }
            a {
                color: #585858;
                font-size: 16px;
                text-decoration: none;
                -webkit-transition: all 0.25s;
                -moz-transition: all 0.25s;
                -o-transition: all 0.25s;
                transition: all 0.25s;
                &:before {
                    display: none;
                }
                &:not(.button) {
                    text-decoration: none;
                    margin-left: 0;
                    padding-left: 30px;
                    display: inline-block;
                }
            }
            &:before {
                display: inline-block;
                vertical-align: top;
                content: '';
                opacity: 1;
                background: #fff;
                width: 21px;
                height: 21px;
                border-radius: 2px;
                position: absolute;
                left: 0;
                top: 0;
                margin-right: 8px;
                pointer-events: none;
                border: 1px solid #ccc;
                -webkit-transition: all 0.25s;
                -moz-transition: all 0.25s;
                -o-transition: all 0.25s;
                transition: all 0.25s;
            }
            &:hover,
            &:focus,
            &:active {
                &:before {
                    border: 1px solid var(--primary);
                }
                a {
                }
            }
            &.chosen,
            &.current-cat {
                &:before {
                    /* Zwarte checkbox (eigen kleur eenvoudig te overschrijven in eigen CSS) */
                    background: #111;
                    border-color: #111;
                }
                a {
                    &:after {
                        display: none;
                        content: '';
                        font-weight: 700;
                        position: absolute;
                        right: 0;
                    }
                }
                &:after {
                    /* Witte check-icon als inline SVG (geen externe bestandsafhankelijkheid) */
                    content: '';
                    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
                    position: absolute;
                    left: 0;
                    top: 0;
                    width: 21px;
                    height: 21px;
                    pointer-events: none;
                    background-size: 15px 15px !important;
                    background-repeat: no-repeat !important;
                    background-position: center center !important;
                }
            }
            .count {
                display: none;
                color: rgba(0, 0, 0, 0.35);
                position: absolute;
                top: 0;
                right: 0;
            }
        }
    }
    .widget-title {
        font-size: 20px;
        border-bottom: 1px solid #ddd;
        margin: 0 0 10px;
        padding: 0 0 10px;
    }
}

.widget-container.widget_price_filter {
    .widget-title {
        border: 0;
    }
}
.woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
    background-color: #e3f2ef;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
    background: #00836e;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
    background: var(--primary);
    border: 0;
}
.woocommerce .widget_price_filter .price_slider_amount .button {
    font-size: 16px;
    border: 1px solid #999;
    background: transparent;
    color: #999;
    font-weight: 500;
    padding: 10px;
    font-family: var(--bodyFont);
    &:hover,
    &:focus,
    &:active {
        background: #999;
        color: #fff;
    }
}

.ww-cat-intro {
    margin-top: 30px;
    ul {
        li {
            display: inline-block;
            vertical-align: top;
            a {
                border-radius: 100px;
                padding: 10px 15px;
                font-weight: 600;
                background: white;
                border: 1px solid #ebeae9;
                color: var(--body_font_color);
                cursor: pointer;
                transition: all .2s;
                text-decoration: none;
                white-space: nowrap;
            }
        }
    }
}

.ww-cat-description {
    max-width: 750px;
    margin: 30px 0 50px;
}
.archive_extra_description {
    max-width: 825px;
    margin: 75px auto 75px;
    order: 5;
}
.woocommerce-result-count {
    color: #8A7060;
    font-size: 13px;
    margin: 0;
    display: flex;
    align-items: center;
    line-height: 1;
}
/* Desktop: result-count + ordering naast elkaar uitlijnen */
.woocommerce .woocommerce-ordering,
.woocommerce-ordering {
    display: flex;
    align-items: center;
    margin-bottom: 1em;
}

/* ===== PAGINATION ===== */
.woocommerce {
    nav.woocommerce-pagination {
        display: flex;
        justify-content: center; /* Centraal uitlijnen */
        padding: 1rem 0;
        margin-top: 50px;
        margin-bottom: 65px;
        ul {
            display: flex;
            gap: 0.5rem; /* Ruimte tussen de knopjes */
            list-style: none;
            padding: 0;
            margin: 0;
            border: 0;
            li {
                border: 0;
                a,
                span {
                    display: inline-flex;
                    justify-content: center;
                    align-items: center;
                    width: 40px;
                    height: 40px;
                    border-radius: 50%; /* Rondjes */
                    border: 1px solid var(--border);
                    background: white;
                    color: var(--ink2);
                    font-weight: 600;
                    text-decoration: none;
                    cursor: pointer;
                    transition: all 0.2s;
                    &:hover {
                        background: var(--primary);
                        color: white;
                        border-color: var(--primary);
                    }
                }
                .current {
                    background: var(--primary)!important;
                    color: white!important;
                    border-color: var(--primary)!important;
                    cursor: default;
                }
                a.next,
                a.prev {
                    font-weight: bold;
                    width: 50px; /* Iets breder voor pijltje */
                    height: 40px;
                    border-radius: 20px;
                }
            }
        }
    }
}
/* ══════════════════════════════════════════════
   NAV ICONS – [ww_user_icon] & [ww_cart_button]
══════════════════════════════════════════════ */
.nav-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: currentColor;
    text-decoration: none;
}
.nav-icon-btn svg {
    width: 22px;
    height: 22px;
}

.btn-cart {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: relative;
    text-decoration: none;
}
.btn-cart svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}
.ww-cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.25);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 50%;
    width: 18px;
    height: 18px;
    line-height: 1;
    margin-left: 2px;
}

/* Desktop: toon desktop-tekst, verberg mobiele tekst-span */
.btn-cart .ww-cart-text-mobile { display: none; }
.btn-cart .ww-cart-text-desktop { display: inline; }

/* ── MOBIEL: compacte weergave (zoals wishlist-icoon) ── */
@media (max-width: 767px) {
    .btn-cart {
        /* Verwijder alle knopstyling */
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        min-width: 0 !important;
        min-height: 0 !important;
        width: auto !important;
        height: auto !important;
        line-height: 1 !important;
        gap: 0 !important;
        color: var(--ww-cart-mobile-icon, #000) !important;
    }
    .btn-cart svg {
        width: 24px;
        height: 24px;
        stroke: var(--ww-cart-mobile-icon, #000) !important;
        color: var(--ww-cart-mobile-icon, #000) !important;
    }
    /* Desktop-tekst verbergen op mobiel */
    .btn-cart .ww-cart-text-desktop { display: none !important; }
    /* Mobiele tekst: alleen tonen als die is ingevuld */
    .btn-cart.ww-cart-no-mobile-text .ww-cart-text-mobile { display: none !important; }
    .btn-cart.ww-cart-has-mobile-text .ww-cart-text-mobile {
        display: inline !important;
        margin-left: 6px;
        font-size: 14px;
        color: var(--ww-cart-mobile-icon, #000) !important;
    }
    /* Badge: rondje rechtsboven op het icoon (net als wishlist) */
    .btn-cart .ww-cart-count {
        position: absolute;
        top: -6px;
        left: 14px;      /* rechtsboven van het 24px icoon */
        background: #111;
        color: #fff;
        font-size: 10px;
        font-weight: 700;
        width: 16px;
        height: 16px;
        margin-left: 0;
        pointer-events: none;
    }
    /* Als er wél mobiele tekst is, badge weer inline achteraan */
    .btn-cart.ww-cart-has-mobile-text .ww-cart-count {
        position: static;
        margin-left: 6px;
        background: #111;
    }
}

/* ══════════════════════════════════════════════
   VARIATION SWATCHES – pa_kleur & pa_maat
══════════════════════════════════════════════ */
.ww-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 4px 0;
}

/* Kleurbolletjes */
.ww-swatch-color {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid transparent;
    box-shadow: 0 0 0 1px rgba(0,0,0,.18);
    cursor: pointer;
    transition: box-shadow .15s, transform .15s;
    display: inline-block;
}
.ww-swatch-color:hover {
    box-shadow: 0 0 0 2px var(--primary, #c0392b);
    transform: scale(1.08);
}
.ww-swatch-color.ww-selected {
    box-shadow: none;
    outline: 2.5px solid var(--primary, #c0392b);
    outline-offset: 2px;
    transform: scale(1.05);
}
.ww-swatch-color.ww-selected::after {
    content: '';
    position: absolute;
    top: -4px;
    right: -4px;
    inset: -5px -7px auto auto;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--primary, #c0392b)
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='10 3 5 9 2 6'/%3E%3C/svg%3E")
        center / 10px no-repeat;
    box-shadow: 0 0 0 1.5px #fff;
}
.ww-swatch-color.ww-disabled {
    opacity: .35;
    cursor: not-allowed;
    position: relative;
}
.ww-swatch-color.ww-disabled::after {
    content: '';
    position: absolute;
    inset: 2px;
    border-radius: 50%;
    background: repeating-linear-gradient(
        135deg,
        transparent,
        transparent 4px,
        rgba(0,0,0,.25) 4px,
        rgba(0,0,0,.25) 5px
    );
}

/* Maatvierkantjes */
.ww-size-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
}
.ww-swatch-size {
    flex: 1 1 auto;          /* uitrekken om breedte te vullen */
    min-width: 38px;
    max-width: 80px;         /* te breed voorkom je zo */
    height: 40px;
    padding: 0 8px;
    border-radius: 6px;
    border: 1.5px solid #d8d0c8;
    background: #fff;
    color: var(--ink, #2c2015);
    font-size: 13px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color .15s, background .15s, color .15s;
    user-select: none;
    text-align: center;
}
.ww-swatch-size:hover {
    border-color: var(--primary, #c0392b);
    background: rgba(192,57,43,.05);
}
.ww-swatch-size.ww-selected {
    border-color: var(--primary, #c0392b);
    background: var(--primary, #c0392b);
    color: #fff;
}
.ww-swatch-size.ww-disabled {
    opacity: .4;
    cursor: not-allowed;
    text-decoration: line-through;
}


/* ══════════════════════════════════════════════
   MIJN ACCOUNT – WooCommerce My Account
   Reset WooCommerce core float-layout volledig,
   dan eigen grid-based layout opbouwen.
   Fonts in px (16px basis).
══════════════════════════════════════════════ */

/* ─── Reset WooCommerce core float-layout ─── */
.woocommerce-account .woocommerce,
.woocommerce-account .woocommerce-page {
    display: block; /* grid zit op de inner wrapper */
}
.woocommerce-account .woocommerce::after,
.woocommerce-account .woocommerce::before {
    display: none !important;
}

/* Nav: reset core float + width */
.woocommerce-account .woocommerce-MyAccount-navigation {
    float: none !important;
    width: auto !important;
    clear: none !important;
}

/* Content: reset core float + width */
.woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: auto !important;
    clear: none !important;
}

/* ─── Grid wrapper ─── */
/* Mijn Account: nav sidebar + content alleen als INGELOGD */
.woocommerce-account.logged-in .woocommerce {
    display: grid !important;
    grid-template-columns: 210px 1fr;
    gap: 28px;
    align-items: start;
    padding: 36px 0 60px;
}
/* Niet ingelogd (login/register pagina): geen grid, volle breedte */
.woocommerce-account:not(.logged-in) .woocommerce {
    display: block !important;
    padding: 36px 0 60px;
}

/* ─── Navigatie sidebar ─── */
.woocommerce-MyAccount-navigation {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    overflow: hidden;
    position: sticky;
    top: 24px;
}
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 6px 0;
}
.woocommerce-MyAccount-navigation ul li {
    margin: 0;
}
.woocommerce-MyAccount-navigation ul li a {
    display: block;
    padding: 11px 18px;
    font-size: 14px;
    font-weight: 500;
    color: #5a4a3a;
    text-decoration: none;
    border-left: 3px solid transparent;
    line-height: 1.4;
    transition: background .15s, color .15s, border-color .15s;
}
.woocommerce-MyAccount-navigation ul li a:hover {
    background: #faf7f4;
    color: var(--primary, #c0392b);
    border-left-color: var(--primary, #c0392b);
}
.woocommerce-MyAccount-navigation ul li.is-active a {
    background: #faf7f4;
    color: var(--primary, #c0392b);
    border-left-color: var(--primary, #c0392b);
    font-weight: 600;
}
.woocommerce-MyAccount-navigation-link--customer-logout {
    border-top: 1px solid #f0ebe6;
    margin-top: 4px;
}
.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #aaa !important;
    font-size: 13px !important;
}
.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    color: var(--primary, #c0392b) !important;
    background: #fdf5f4 !important;
}

/* ─── Content paneel ─── */
.woocommerce-MyAccount-content {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    padding: 30px 32px;
    min-width: 0;
    font-size: 15px;
}
.woocommerce-MyAccount-content p {
    color: #5a4a3a;
    font-size: 15px;
    line-height: 1.65;
    margin: 0 0 12px;
}
.woocommerce-MyAccount-content p:last-child { margin-bottom: 0; }
.woocommerce-MyAccount-content p a {
    color: var(--primary, #c0392b);
    text-decoration: none;
    font-weight: 500;
}
.woocommerce-MyAccount-content p a:hover { text-decoration: underline; }

/* ─── Koppen ─── */
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3 {
    font-size: 17px;
    font-weight: 700;
    color: #2c2015;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0ebe6;
}
.woocommerce-MyAccount-content h2 { font-size: 19px; }

/* ─── Bestellingentabel ─── */
.woocommerce-orders-table,
.woocommerce-table--order-details,
.woocommerce-table--order-downloads {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    border: 1px solid #ede8e3;
    border-radius: 12px;
    overflow: hidden;
}
.woocommerce-orders-table th,
.woocommerce-table--order-details th,
.woocommerce-table--order-downloads th {
    background: #faf7f4;
    padding: 12px 16px;
    text-align: left;
    font-weight: 600;
    color: #8a7060;
    border-bottom: 1px solid #e8e3de;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .06em;
    white-space: nowrap;
}
.woocommerce-orders-table td,
.woocommerce-table--order-details td,
.woocommerce-table--order-downloads td {
    padding: 14px 16px;
    color: #2c2015;
    border-bottom: 1px solid #f5f1ed;
    vertical-align: middle;
    font-size: 14px;
}
.woocommerce-orders-table tr:last-child td,
.woocommerce-table--order-details tr:last-child td { border-bottom: none; }
.woocommerce-orders-table tbody tr:hover td { background: #fdfaf8; }
/* Order nummer link */
.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
    font-weight: 700;
    color: var(--primary, #c0392b);
    text-decoration: none;
}
/* Actie knop */
.woocommerce-orders-table .woocommerce-button.button.view {
    font-size: 12px !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
}
/* Order detail meta marks */
.woocommerce-MyAccount-content > p mark {
    background: transparent;
    font-weight: 700;
    color: #2c2015;
    padding: 0;
}
.woocommerce-MyAccount-content > p mark.order-status { color: var(--primary, #c0392b); }
/* Order detail tabel: tfoot */
.woocommerce-table--order-details tfoot th {
    font-weight: 500;
    color: #5a4a3a;
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
}
.woocommerce-table--order-details tfoot td { text-align: right; }
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td { font-weight: 700; color: #2c2015; }
/* Variatie meta in order detail */
.woocommerce-table--order-details .wc-item-meta { list-style: none; margin: 4px 0 0; padding: 0; font-size: 12px; color: #8a7060; }
.woocommerce-table--order-details .wc-item-meta li { display: inline; margin-right: 8px; }
.woocommerce-table--order-details .wc-item-meta li p { display: inline; margin: 0; }

/* ─── Statusbadges ─── */
.woocommerce-orders-table .order-status,
mark.order-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 100px;
    font-size: 12px;
    font-weight: 600;
    background: transparent;
}
mark.order-status.status-completed  { background: #e8f5e9; color: #388e3c; }
mark.order-status.status-processing { background: #e3f2fd; color: #1976d2; }
mark.order-status.status-on-hold    { background: #fff8e1; color: #f57c00; }
mark.order-status.status-cancelled  { background: #fce4ec; color: #c62828; }
mark.order-status.status-pending    { background: #f3e5f5; color: #7b1fa2; }
mark.order-status.status-refunded   { background: #f5f5f5; color: #757575; }

/* ─── Knoppen ─── */
.woocommerce-MyAccount-content .button,
.woocommerce-MyAccount-content a.button,
.woocommerce-MyAccount-content .wc-forward {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none !important;
    background: var(--primary, #c0392b);
    color: #fff !important;
    border: none;
    cursor: pointer;
    transition: opacity .15s;
    line-height: 1.4;
}
.woocommerce-MyAccount-content .button:hover,
.woocommerce-MyAccount-content a.button:hover { opacity: .85; }

/* ─── Adressen ─── */
/* ─── Reset WooCommerce col2-set float layout (edit-address pagina) ─── */
.woocommerce .col2-set,
.woocommerce-page .col2-set {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.woocommerce .col2-set::before,
.woocommerce .col2-set::after,
.woocommerce-page .col2-set::before,
.woocommerce-page .col2-set::after {
    display: none !important;
}
.woocommerce .col2-set .col-1,
.woocommerce .col2-set .col-2,
.woocommerce-page .col2-set .col-1,
.woocommerce-page .col2-set .col-2 {
    float: none !important;
    width: 100% !important;
}

/* ─── Adressen blokken (my-account/edit-address/) ─── */
.woocommerce-Addresses {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.woocommerce-Address {
    border: 1px solid #e8e3de;
    border-radius: 12px;
    padding: 20px 22px;
}
.woocommerce-Address-title.title {
    display: block;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0ebe6;
}
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 {
    margin: 0 0 5px 0 !important;
    border: none !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 700;
    color: #2c2015;
}
.woocommerce-Address-title .edit {
    display: inline-block;
    font-size: 13px;
    color: var(--primary, #c0392b);
    text-decoration: none;
    font-weight: 500;
}
.woocommerce-Address-title .edit:hover { text-decoration: underline; }
address {
    font-style: normal;
    color: #5a4a3a;
    font-size: 14px;
    line-height: 1.7;
}

/* ─── Formulieren ─── */
.woocommerce-MyAccount-content .woocommerce-form-row,
.woocommerce-MyAccount-content p.form-row { margin-bottom: 14px; }
.woocommerce-MyAccount-content label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #5a4a3a;
    margin-bottom: 5px;
}
.woocommerce-account .woocommerce-MyAccount-content input[type="text"],
.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
.woocommerce-account .woocommerce-MyAccount-content input[type="tel"],
.woocommerce-account .woocommerce-MyAccount-content select,
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content input[type="tel"],
.woocommerce-MyAccount-content select {
    width: 100% !important;
    padding: 13px 15px !important;
    border: 1px solid #e8e4e0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    color: #2c2015 !important;
    background: #fdfcfb !important;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
    line-height: 1.4;
    box-shadow: none !important;
    outline: none !important;
}
.woocommerce-account .woocommerce-MyAccount-content input:focus,
.woocommerce-account .woocommerce-MyAccount-content select:focus,
.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus {
    outline: none !important;
    border-color: #c5b8ae !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.08) !important;
    background: #fff !important;
}

/* Submit knop accountdetails */
.woocommerce-MyAccount-content button[type="submit"],
.woocommerce-MyAccount-content input[type="submit"] {
    margin-top: 24px;
    display: inline-block;
    padding: 12px 28px;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 600;
    background: var(--primary, #c0392b);
    color: #fff;
    border: none;
    cursor: pointer;
    transition: opacity .15s;
}
.woocommerce-MyAccount-content button[type="submit"]:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover { opacity: .85; }

/* ─── Notices ─── */
.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: 10px;
    padding: 14px 18px 14px 54px; /* links extra ruimte voor het ::before icoon */
    margin-bottom: 18px;
    font-size: 14px;
    border-left: 4px solid;
    list-style: none;
    position: relative;
}
/* Zorg dat WooCommerce ::before icoon netjes links staat */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
}
/* Verwijder browser-outline (blauwe rand) op notice-elementen */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    outline: none !important;
}
.woocommerce-message { background: #e8f5e9; border-color: #388e3c; color: #2e7d32; }
.woocommerce-info    { background: #e3f2fd; border-color: #1976d2; color: #1565c0; }
.woocommerce-error   { background: #fce4ec; border-color: #c62828; color: #b71c1c; }

/* ─── Downloads ─── */
.woocommerce-table--order-downloads .download-file a {
    color: var(--primary, #c0392b);
    font-weight: 500;
    font-size: 14px;
}

/* ══ RESPONSIVE ══════════════════════════════ */

@media (max-width: 1024px) {
    .woocommerce-account.logged-in .woocommerce {
        grid-template-columns: 175px 1fr !important;
        gap: 18px;
        padding: 24px 0 40px;
    }
    .woocommerce-MyAccount-content {
        padding: 22px 20px;
    }
    .woocommerce-Addresses {
        grid-template-columns: 1fr;
    }
    .woocommerce .col2-set,
    .woocommerce-page .col2-set {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .woocommerce-account.logged-in .woocommerce {
        grid-template-columns: 1fr !important;
        gap: 14px;
        padding: 14px 0 30px;
    }

    /* Nav → horizontale scrollstrip */
    .woocommerce-MyAccount-navigation {
        position: static !important;
        border-radius: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .woocommerce-MyAccount-navigation::-webkit-scrollbar { display: none; }
    .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-direction: row;
        padding: 0;
        white-space: nowrap;
    }
    .woocommerce-MyAccount-navigation ul li { flex-shrink: 0; }
    .woocommerce-MyAccount-navigation ul li a {
        padding: 13px 16px;
        border-left: none !important;
        border-bottom: 3px solid transparent;
        font-size: 13px;
    }
    .woocommerce-MyAccount-navigation ul li a:hover,
    .woocommerce-MyAccount-navigation ul li.is-active a {
        border-left: none !important;
        border-bottom-color: var(--primary, #c0392b);
        background: #faf7f4;
    }
    .woocommerce-MyAccount-navigation-link--customer-logout {
        border-top: none;
        margin-top: 0;
        border-left: none;
    }

    .woocommerce-MyAccount-content {
        padding: 18px 16px;
        border-radius: 12px;
    }

    /* Tabellen horizontaal scrollbaar */
    .woocommerce-orders-table,
    .woocommerce-table--order-details,
    .woocommerce-table--order-downloads {
        display: block;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}


/* ══════════════════════════════════════════════
   INLOGGEN / REGISTREREN pagina
   Zelfde sfeer als Mijn Account: wit, luchtig,
   zachte borders, nette inputs.
   Reset WooCommerce core float-layout.
══════════════════════════════════════════════ */

/* Wrapper: 2 kolommen naast elkaar (inloggen + registreren) */
.woocommerce-account .woocommerce > .woocommerce-form-login-toggle + form,
.woocommerce-page .u-column1,
.woocommerce-page .u-column2,
.woocommerce .u-column1,
.woocommerce .u-column2 {
    float: none !important;
    width: 100% !important;
}

/* Grid voor login + register naast elkaar */
.col2-set.columns-2 {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    align-items: start;
}
.col2-set.columns-2::before,
.col2-set.columns-2::after { display: none !important; }
.col2-set.columns-2 .col-1,
.col2-set.columns-2 .col-2 {
    float: none !important;
    width: 100% !important;
}

/* Inlog- en registratieformulier kaartje */
.woocommerce-form-login,
.woocommerce-form-register {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    padding: 30px 32px;
    margin: 0 !important;
}

.woocommerce-form-login h2,
.woocommerce-form-register h2 {
    font-size: 19px;
    font-weight: 700;
    color: #2c2015;
    margin: 0 0 18px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f0ebe6;
}

/* Labels */
.woocommerce-form-login label,
.woocommerce-form-register label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #5a4a3a;
    margin-bottom: 5px;
}

/* Inputs */
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="email"],
.woocommerce-form-login input[type="password"],
.woocommerce-form-register input[type="text"],
.woocommerce-form-register input[type="email"],
.woocommerce-form-register input[type="password"] {
    width: 100% !important;
    padding: 13px 15px !important;
    border: 1px solid #e8e4e0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    color: #2c2015 !important;
    background: #fdfcfb !important;
    box-sizing: border-box;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color .2s, box-shadow .2s;
    line-height: 1.4;
}
.woocommerce-form-login input:focus,
.woocommerce-form-register input:focus {
    outline: none !important;
    border-color: #c5b8ae !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.08) !important;
    background: #fff !important;
}

/* Wachtwoord vergeten + onthoud mij rij */
.woocommerce-form-login__rememberme {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    color: #5a4a3a;
    margin: 4px 0 16px;
}
.woocommerce-LostPassword a,
.woocommerce-form-login .lost_password a {
    font-size: 13px;
    color: var(--primary, #c0392b);
    text-decoration: none;
}
.woocommerce-LostPassword a:hover,
.woocommerce-form-login .lost_password a:hover { text-decoration: underline; }

/* Knoppen */
.woocommerce-form-login .woocommerce-form__input-checkbox {
    margin: 0;
}
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.woocommerce-form-login input[type="submit"],
.woocommerce-form-register input[type="submit"] {
    display: inline-block !important;
    padding: 12px 28px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    background: var(--primary, #c0392b) !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer;
    transition: opacity .15s;
    text-decoration: none;
    box-shadow: none !important;
    outline: none !important;
}
.woocommerce-form-login .button:hover,
.woocommerce-form-register .button:hover,
.woocommerce-form-login input[type="submit"]:hover,
.woocommerce-form-register input[type="submit"]:hover { opacity: .85 !important; }

/* Registratie tekst */
.woocommerce-form-register p {
    font-size: 14px;
    color: #5a4a3a;
    line-height: 1.6;
    margin-bottom: 12px;
}

/* Privacy policy checkbox row */
.woocommerce-form-row--wide.form-row-wide {
    margin-bottom: 14px;
}

/* Responsive: onder elkaar op mobiel */
@media (max-width: 767px) {
    .col2-set.columns-2 {
        grid-template-columns: 1fr !important;
    }
    .woocommerce-form-login,
    .woocommerce-form-register {
        padding: 22px 18px;
    }
}


/* ══════════════════════════════════════════════
   WACHTWOORD VERGETEN (lost_reset_password)
   Zelfde kaart-stijl als login/registratie.
══════════════════════════════════════════════ */
.woocommerce-ResetPassword.lost_reset_password {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    padding: 32px 36px;
    max-width: 480px;
}
.woocommerce-ResetPassword.lost_reset_password p:first-child {
    font-size: 14px;
    color: #5a4a3a;
    line-height: 1.65;
    margin-bottom: 20px;
}
.woocommerce-ResetPassword label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: #5a4a3a;
    margin-bottom: 6px;
}
.woocommerce-ResetPassword input[type="text"] {
    width: 100% !important;
    padding: 13px 15px !important;
    border: 1px solid #e8e4e0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    color: #2c2015 !important;
    background: #fdfcfb !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
}
.woocommerce-ResetPassword input[type="text"]:focus {
    border-color: #c5b8ae !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.08) !important;
    background: #fff !important;
    outline: none !important;
}
.woocommerce-ResetPassword button[type="submit"],
.woocommerce-ResetPassword .woocommerce-Button {
    display: inline-block !important;
    padding: 12px 28px !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    background: var(--primary, #c0392b) !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer;
    transition: opacity .15s;
    box-shadow: none !important;
    outline: none !important;
    margin-top: 6px;
}
.woocommerce-ResetPassword button[type="submit"]:hover { opacity: .85; }
.woocommerce-ResetPassword .clear { display: none; }

@media (max-width: 767px) {
    .woocommerce-ResetPassword.lost_reset_password {
        padding: 22px 18px;
    }
}

/* ══════════════════════════════════════════════
   WINKELWAGEN (shortcode [woocommerce_cart]
   én Gutenberg block wp-block-woocommerce-cart)
══════════════════════════════════════════════ */

/* ─── Shortcode cart: ul.shop_table layout ─── */

/* Cart form wrapper */
.woocommerce-cart-form {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 28px;
}

/* De ul zelf heeft geen standaard list-styles nodig */
.woocommerce-cart-form ul.shop_table {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Elk cart-item: flex rij met foto + details */
.woocommerce-cart-form__cart-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 20px;
    border-bottom: 1px solid #f5f1ed;
    position: relative;
}
.woocommerce-cart-form__cart-item:last-child {
    border-bottom: none;
}
.woocommerce-cart-form__cart-item:hover {
    background: #fdfaf8;
}

/* Thumbnail */
.woocommerce-cart-form__cart-item .product-thumbnail {
    flex-shrink: 0;
}
.woocommerce-cart-form__cart-item .product-thumbnail a {
    display: block;
}
.woocommerce-cart-form__cart-item .product-thumbnail img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 10px;
    border: 1px solid #f0ebe6;
    display: block;
}

/* Details kolom groeit mee */
.woocommerce-cart-form__cart-item .cart-item-details {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

/* Productnaam */
.woocommerce-cart-form__cart-item .product-name {
    padding-right: 32px;  /* ruimte voor de remove-knop */
    margin: 0 !important;
}
.woocommerce-cart-form__cart-item .product-name a {
    font-size: 15px;
    font-weight: 600;
    color: #2c2015;
    text-decoration: none;
    display: block;
    line-height: 1.35;
}
.woocommerce-cart-form__cart-item .product-name a:hover {
    color: var(--primary, #c0392b);
}

/* Variatie (Maat / Kleur) */
.woocommerce-cart-form__cart-item dl.variation {
    margin: 2px 0 4px;
    font-size: 13px;
    color: #8a7060;
    display: flex;
    flex-wrap: wrap;
    gap: 0 8px;
}
.woocommerce-cart-form__cart-item dl.variation dt,
.woocommerce-cart-form__cart-item dl.variation dd {
    margin: 0;
    display: inline;
}
/* WooCommerce zet al een dubbele punt in de HTML – geen extra ::after nodig */
.woocommerce-cart-form__cart-item dl.variation dt::after { content: ''; }
.woocommerce-cart-form__cart-item dl.variation dd p { margin: 0; display: inline; }

/* Prijs rij */
.woocommerce-cart-form__cart-item .product-price {
    display: flex;
    align-items: stretch;
    gap: 10px;
    margin: 6px 0 0;
    font-size: 14px;
    flex-wrap: wrap;
}

/* Stukprijs: kader met label */
.woocommerce-cart-form__cart-item .product-price .stukprijs {
    display: flex;
    flex-direction: column;
    background: #faf7f4;
    border: 1px solid #ede8e3;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: 12px;
    color: #8a7060;
    line-height: 1.3;
    min-width: 80px;
}
.woocommerce-cart-form__cart-item .product-price .stukprijs::before {
    content: 'Stukprijs';
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #aaa;
    margin-bottom: 3px;
}

/* Verberg het tekstlabel 'Stukprijs' in de span zelf (we zetten het via ::before) */
.woocommerce-cart-form__cart-item .product-price .stukprijs > .screen-reader-text,
.woocommerce-cart-form__cart-item .stukprijs-label { display: none; }

/* Subtotaal: prominenter */
.woocommerce-cart-form__cart-item .product-price .subtotal {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1.5px solid #e8e3de;
    border-radius: 8px;
    padding: 6px 10px;
    font-size: 12px;
    color: #5a4a3a;
    line-height: 1.3;
    min-width: 80px;
}
.woocommerce-cart-form__cart-item .product-price .subtotal::before {
    content: 'Totaal';
    display: block;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #aaa;
    margin-bottom: 3px;
}
.woocommerce-cart-form__cart-item .product-price .woocommerce-Price-amount {
    font-weight: 700;
}

/* Responsief: onder elkaar op smal scherm */
@media (max-width: 480px) {
    .woocommerce-cart-form__cart-item .product-price { flex-direction: column; gap: 6px; }
    .woocommerce-cart-form__cart-item .product-price .stukprijs,
    .woocommerce-cart-form__cart-item .product-price .subtotal { width: 100%; }
}

/* Aantal + update rij */
.woocommerce-cart-form__cart-item .product-quantity {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
}
.woocommerce-cart-form__cart-item .product-quantity input.qty {
    height: 36px !important;
    width: 54px !important;
    padding: 0 8px !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    font-family: var(--bodyFont) !important;
    border: 1px solid #e8e4e0 !important;
    border-radius: 8px !important;
    background: #fdfcfb !important;
    text-align: center;
    box-shadow: none !important;
    outline: none !important;
    -moz-appearance: textfield;
}
.woocommerce-cart-form__cart-item .product-quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart-form__cart-item .product-quantity input.qty::-webkit-outer-spin-button { display: none; }
.woocommerce-cart-form__cart-item .product-quantity .d-none {
    display: none !important;
}
.woocommerce-cart-form__cart-item .product-quantity input.qty {
    width: 58px !important;
    padding: 8px 10px !important;
    border: 1px solid #e8e4e0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    text-align: center;
    background: #fdfcfb !important;
    box-shadow: none !important;
    outline: none !important;
}
.woocommerce-cart-form__cart-item .product-quantity input.qty:focus {
    border-color: #c5b8ae !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.08) !important;
}
.woocommerce-cart-form__cart-item .product-quantity button[name="update_cart"] {
    padding: 0 12px !important;
    height: 36px !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    border: 1px solid #e0dbd5 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #8a7060 !important;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    box-shadow: none !important;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}
.woocommerce-cart-form__cart-item .product-quantity button[name="update_cart"]:not(:disabled):hover {
    background: #f5f1ed !important;
    border-color: #c5b8ae !important;
    color: #2c2015 !important;
}
.woocommerce-cart-form__cart-item .product-quantity button[name="update_cart"]:disabled {
    opacity: .4;
    cursor: not-allowed;
}

/* Verwijder-link: klein kruisje rechts */
.woocommerce-cart-form__cart-item .product-remove {
    position: absolute;
    top: 14px;
    right: 16px;
}
.woocommerce-cart-form__cart-item .product-remove .remove {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #f5f1ed;
    color: #aaa !important;
    font-size: 16px;
    text-decoration: none;
    line-height: 1;
    transition: background .15s, color .15s;
}
.woocommerce-cart-form__cart-item .product-remove .remove:hover {
    background: #fce4ec;
    color: var(--primary, #c0392b) !important;
}

/* Kortingscode sectie */
.woocommerce-cart-form .coupon {
    background: #faf7f4;
    border-top: 1px solid #e8e3de;
    padding: 14px 20px;
}
.woocommerce-cart-form .coupon_heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-size: 14px;
    color: #5a4a3a;
    font-weight: 500;
}
.woocommerce-cart-form .coupon_heading .title { font-weight: 600; }
.woocommerce-cart-form .coupon_heading .coupon_heading_inner {
    font-size: 13px;
    color: var(--primary, #c0392b);
    text-decoration: underline;
}
.woocommerce-cart-form .coupon_wrap {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 12px;
}
.woocommerce-cart-form .coupon_wrap.d-none { display: none !important; }
.woocommerce-cart-form .coupon_wrap label { display: none; }
.woocommerce-cart-form .coupon_wrap input[type="text"] {
    padding: 10px 14px !important;
    border: 1px solid #e8e4e0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-family: var(--bodyFont, inherit) !important;
    background: #fff !important;
    box-shadow: none !important;
    outline: none !important;
    flex: 1;
    min-width: 160px;
    height: 40px !important;
    box-sizing: border-box;
}
.woocommerce-cart-form .coupon_wrap button {
    height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--bodyFont, inherit) !important;
}
.woocommerce-cart-form .coupon_wrap button,
.woocommerce-cart-form .coupon_wrap .button {
    padding: 10px 18px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    background: #2c2015 !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer;
    transition: opacity .15s;
    box-shadow: none !important;
}
.woocommerce-cart-form .coupon_wrap button:hover { opacity: .8; }

/* "Verder winkelen" link */
.woocommerce-cart-form .back_shopping {
    padding: 12px 20px;
    border-top: 1px solid #f0ebe6;
    background: #faf7f4;
}
.woocommerce-cart-form .back_shopping a {
    font-size: 13px;
    color: #5a4a3a;
    text-decoration: none;
    font-weight: 500;
}
.woocommerce-cart-form .back_shopping a:hover { color: var(--primary, #c0392b); }

/* ─── Cart collaterals: totalen blok ─── */
.cart-collaterals {
    margin-top: 0;
}
.cart-collaterals .cart_totals {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    padding: 24px 28px;
    max-width: 420px;
    margin-left: auto; /* rechts uitlijnen */
}
.cart-collaterals .cart_totals h2 {
    font-size: 17px;
    font-weight: 700;
    color: #2c2015;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0ebe6;
}
.cart-collaterals .cart_totals table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #ede8e3 !important;
    box-shadow: none !important;
    margin-bottom: 16px;
}
.cart-collaterals .cart_totals table td,
.cart-collaterals .cart_totals table th {
    border-left: none !important;
    border-right: none !important;
}
.cart-collaterals .cart_totals table th {
    padding: 12px 16px;
    font-size: 12px;
    font-weight: 600;
    color: #8a7060;
    text-align: left;
    background: #faf7f4;
    border-bottom: 1px solid #f0ebe6;
    text-transform: uppercase;
    letter-spacing: .04em;
    width: 48%;
}
.cart-collaterals .cart_totals table td {
    padding: 12px 16px;
    font-size: 15px;
    color: #2c2015;
    text-align: right;
    background: #fff;
    border-bottom: 1px solid #f0ebe6;
}
.cart-collaterals .cart_totals .order-total th {
    font-weight: 700;
    font-size: 12px;
    color: #2c2015;
    background: #f5f1ed;
    border-bottom: none;
    padding-top: 14px;
}
.cart-collaterals .cart_totals .order-total td {
    font-weight: 800;
    font-size: 20px;
    color: var(--primary, #c0392b);
    border-bottom: none;
    background: #f5f1ed;
    padding-top: 14px;
}
.cart-collaterals .wc-proceed-to-checkout {
    margin-top: 18px;
}
.cart-collaterals .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block !important;
    width: 100%;
    text-align: center;
    padding: 15px 24px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    background: var(--primary, #c0392b) !important;
    color: #fff !important;
    text-decoration: none;
    border: none !important;
    box-shadow: none !important;
    transition: opacity .15s;
    box-sizing: border-box;
}
.cart-collaterals .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { opacity: .87; }

/* ─── Mobiel: cart items compact ─── */
@media (max-width: 600px) {
    .woocommerce-cart-form__cart-item {
        padding: 14px 14px 14px 14px;
        gap: 12px;
    }
    .woocommerce-cart-form__cart-item .product-thumbnail img {
        width: 64px;
        height: 64px;
    }
    .woocommerce-cart-form__cart-item .product-name a { font-size: 14px; }
    .woocommerce-cart-form__cart-item .product-price { flex-wrap: wrap; gap: 6px; }
    .cart-collaterals .cart_totals {
        max-width: 100%;
        margin-left: 0;
    }
}

/* ─── Gutenberg block cart ─── */
.wp-block-woocommerce-cart {
    max-width: 100%;
}

/* Filled cart hoofdlayout: items links, totalen rechts */
.wp-block-woocommerce-filled-cart-block {
    display: grid;
    grid-template-columns: 1fr 340px;
    gap: 28px;
    align-items: start;
}

/* Items blok */
.wp-block-woocommerce-cart-items-block {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    overflow: hidden;
}

/* Totalen blok */
.wp-block-woocommerce-cart-totals-block {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    padding: 24px;
    position: sticky;
    top: 24px;
}

/* Order summary heading */
.wp-block-woocommerce-cart-order-summary-heading-block h2 {
    font-size: 17px;
    font-weight: 700;
    color: #2c2015;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0ebe6;
}

/* Coupon blok */
.wp-block-woocommerce-cart-order-summary-coupon-form-block {
    margin-bottom: 16px;
}

/* Gutenberg cart tabel rijen */
.wc-block-cart-item {
    padding: 16px 0;
    border-bottom: 1px solid #f5f1ed;
}
.wc-block-cart-item:last-child { border-bottom: none; }

.wc-block-cart-item__image img {
    border-radius: 8px;
    border: 1px solid #f0ebe6;
}

.wc-block-cart-item__title a {
    font-weight: 600;
    font-size: 15px;
    color: #2c2015;
    text-decoration: none;
}
.wc-block-cart-item__title a:hover { color: var(--primary, #c0392b); }

/* Cross-sells sectie */
.wp-block-woocommerce-product-collection h2.wp-block-heading {
    font-size: 18px;
    font-weight: 700;
    color: #2c2015;
    margin-bottom: 20px;
}

/* Responsive cart */
@media (max-width: 900px) {
    .wp-block-woocommerce-filled-cart-block {
        grid-template-columns: 1fr;
    }
    .wp-block-woocommerce-cart-totals-block {
        position: static;
    }
}
@media (max-width: 767px) {
    .woocommerce-cart table.shop_table th,
    .woocommerce-cart table.shop_table td {
        padding: 12px 12px;
    }
    .woocommerce-cart .cart_totals {
        padding: 18px 16px;
    }
}


/* ══════════════════════════════════════════════
   AFREKENPAGINA (Checkout)
   Shortcode [woocommerce_checkout] én
   Gutenberg wp-block-woocommerce-checkout.
   Reset core floats, eigen grid layout.
══════════════════════════════════════════════ */

/* ─── Reset WooCommerce core checkout floats (sterk) ─── */
.woocommerce-checkout *,
.woocommerce-checkout *::before,
.woocommerce-checkout *::after {
    box-sizing: border-box;
}
.woocommerce-checkout .col2-set,
.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2,
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    float: none !important;
    width: 100% !important;
    clear: none !important;
}
.woocommerce-checkout .col2-set::before,
.woocommerce-checkout .col2-set::after { display: none !important; }

/* ─── Checkout grid: factuuradres links (2fr), bestelling rechts (1fr) ─── */
.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: 2fr 1fr;
    grid-template-areas:
        "details  review-heading"
        "details  review";
    gap: 0;
    column-gap: 24px;
    align-items: start;
    padding-bottom: 40px;
}
.woocommerce-checkout form.checkout > * { margin-bottom: 0; }
.woocommerce-checkout form.checkout #customer_details {
    grid-area: details;
    align-self: start;
    padding-bottom: 0;
}

/* Order review heading — witte kaart-kop */
.woocommerce-checkout form.checkout #order_review_heading {
    grid-area: review-heading;
    align-self: start;
    font-size: 16px;
    font-weight: 700;
    color: #2c2015;
    margin: 0 !important;
    padding: 20px 22px !important;
    background: #fff !important;
    border: 1px solid #e8e3de !important;
    border-radius: 14px 14px 0 0 !important;
    border-bottom: none !important;
}

/* Order review (tabel + betaling) — sluit direct aan onder de heading */
.woocommerce-checkout form.checkout #order_review {
    grid-area: review;
    align-self: start;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    margin-top: 0 !important;
}
/* De review-tabel: border rondom, bovenhoeken recht (sluit aan op heading) */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
    border: 1px solid #e8e3de !important;
    border-top: none !important;
    border-radius: 0 0 12px 12px !important;
    overflow: hidden;
    background: #fff;
    width: 100%;
}

/* ─── Kaartjes: billing/shipping secties ─── */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    padding: 24px 28px;
    margin-bottom: 20px;
}
/* Lege shipping-fields div verbergen */
.woocommerce-checkout .woocommerce-shipping-fields:empty,
.woocommerce-checkout .woocommerce-shipping-fields > *:only-child:empty {
    display: none !important;
}
.woocommerce-checkout .woocommerce-shipping-fields > h3:only-child {
    display: none !important;
}
/* Alleen tonen als er echte inhoud is */
.woocommerce-checkout .woocommerce-shipping-fields:has(input),
.woocommerce-checkout .woocommerce-shipping-fields:has(select) {
    display: block;
}
/* Privacy policy tekst */
.woocommerce-privacy-policy-text {
    font-size: 13px;
    color: #8a7060;
    line-height: 1.5;
    margin-bottom: 14px;
}
.woocommerce-privacy-policy-text p { margin: 0; line-height: 1.5; }
.woocommerce-privacy-policy-text a { color: var(--primary, #c0392b); }
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3 {
    font-size: 16px;
    font-weight: 700;
    color: #2c2015;
    margin: 0;
    padding-bottom: 0;
    border-bottom: 0;
}
/* Shipping address (verzenden naar ander adres) ruimte erboven */
#add_payment_method .checkout .shipping_address,
.woocommerce-cart .checkout .shipping_address,
.woocommerce-checkout .checkout .shipping_address {
    padding-top: 15px;
}

/* ─── Checkout coupon (kortingscode) compact ─── */
.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 0;
}
.woocommerce-checkout .woocommerce-info {
    background: #f7f5f2 !important;
    border: 1px solid #e8e3de !important;
    border-left: 4px solid #c5b8ae !important;
    color: #5a4a3a !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
    border-radius: 8px !important;
    margin-bottom: 0 !important;
    outline: none !important;
}
.woocommerce-checkout .checkout_coupon {
    margin-top: 0 !important;
}
.woocommerce-checkout .woocommerce-info a {
    color: #5a4a3a !important;
    font-weight: 600;
    text-decoration: underline;
}
.woocommerce-checkout .woocommerce-info::before {
    color: #c5b8ae !important;
    left: 14px !important;
}
.woocommerce-checkout .checkout_coupon {
    background: #faf7f4;
    border: 1px solid #e8e3de;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 18px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}
.woocommerce-checkout .checkout_coupon p { display: contents; }
.woocommerce-checkout .checkout_coupon label { display: none; }
.woocommerce-checkout .checkout_coupon input[name="coupon_code"] {
    flex: 1;
    min-width: 140px;
    padding: 10px 13px !important;
    border: 1px solid #e8e4e0 !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    background: #fff !important;
    box-shadow: none !important;
    outline: none !important;
}
.woocommerce-checkout .checkout_coupon button,
.woocommerce-checkout .checkout_coupon .button {
    padding: 10px 18px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    background: #2c2015 !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer;
    transition: opacity .15s;
    box-shadow: none !important;
    white-space: nowrap;
}
.woocommerce-checkout .checkout_coupon button:hover { opacity: .8; }

/* ─── Checkout inputs ─── */
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout textarea,
.woocommerce-checkout select {
    width: 100% !important;
    padding: 12px 14px !important;
    border: 1px solid #e8e4e0 !important;
    border-radius: 9px !important;
    font-size: 14px !important;
    color: #2c2015 !important;
    background: #fdfcfb !important;
    box-shadow: none !important;
    outline: none !important;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
    line-height: 1.4;
}
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus {
    outline: none !important;
    border-color: #c5b8ae !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.08) !important;
    background: #fff !important;
}

/* ─── Select2 (land / staat) dezelfde stijl als gewone inputs ─── */
.woocommerce-checkout .select2-container .select2-selection--single {
    height: auto !important;
    padding: 12px 36px 12px 14px !important;
    border: 1px solid #e8e4e0 !important;
    border-radius: 9px !important;
    background: #fdfcfb !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 14px !important;
    color: #2c2015 !important;
    line-height: 1.4 !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #2c2015 !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    padding: 0 !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
    right: 10px !important;
    top: 0 !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #8a7060 transparent transparent !important;
    border-width: 5px 4px 0 !important;
}
.woocommerce-checkout .select2-container--focus .select2-selection--single,
.woocommerce-checkout .select2-container--open .select2-selection--single {
    border-color: #c5b8ae !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.08) !important;
}
.woocommerce-checkout .select2-dropdown {
    border: 1px solid #e8e4e0 !important;
    border-radius: 9px !important;
    box-shadow: 0 4px 16px rgba(44,32,21,.10) !important;
    font-size: 14px !important;
    overflow: hidden;
}
.woocommerce-checkout .select2-results__option--highlighted {
    background: var(--primary, #c0392b) !important;
}

/* ─── Textarea bestelnotities ─── */
.woocommerce-checkout textarea#order_comments {
    min-height: 85px !important;
    resize: vertical;
}

/* Labels */
.woocommerce-checkout label {
    font-size: 13px;
    font-weight: 600;
    color: #5a4a3a;
    margin-bottom: 5px;
    display: block;
}
.woocommerce-checkout .required { color: var(--primary, #c0392b); }

/* Optioneel tekstje */
.woocommerce-checkout .optional {
    font-size: 12px;
    color: #aaa;
    font-weight: 400;
}

/* ─── Order review (rechterkolom): geen eigen bg/border, tabel krijgt border ─── */
.woocommerce-checkout #order_review {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    overflow: visible;
}
/* De tabel zelf krijgt de border */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout #order_review table {
    border: 1px solid #e8e3de !important;
    border-radius: 12px !important;
    overflow: hidden;
    box-shadow: none !important;
    border-collapse: separate !important;
    background: #fff;
}
/* Thumbnail in order review netjes uitgelijnd */
.woocommerce-checkout #order_review .ww-order-name-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}
.woocommerce-checkout #order_review .ww-order-thumb {
    width: 46px !important;
    height: 46px !important;
    object-fit: cover;
    border-radius: 7px;
    border: 1px solid #f0ebe6;
    flex-shrink: 0;
    display: block;
}
.woocommerce-checkout #order_review .ww-order-name-wrap > span {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.woocommerce-checkout #order_review table.shop_table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
}
.woocommerce-checkout #order_review table.shop_table thead th {
    background: #faf7f4;
    padding: 10px 16px;
    font-size: 11px;
    font-weight: 600;
    color: #5a4a3a;
    text-transform: uppercase;
    letter-spacing: .05em;
    border-bottom: 1px solid #e8e3de;
}
/* Product rij: thumbnail + naam naast elkaar */
.woocommerce-checkout #order_review table.shop_table .cart_item td.product-name {
    padding: 12px 16px;
    border-bottom: 1px solid #f5f1ed;
    vertical-align: middle;
}
/* Naam + hoeveelheid op eerste regel, variatie eronder */
.woocommerce-checkout #order_review .product-name .product-quantity {
    font-weight: 400;
    color: #8a7060;
    font-size: 13px;
    margin-left: 4px;
}
/* Variatie meta netjes op eigen regel */
.woocommerce-checkout #order_review .wc-item-meta {
    list-style: none;
    margin: 3px 0 0;
    padding: 0;
    font-size: 12px;
    color: #8a7060;
}
.woocommerce-checkout #order_review .wc-item-meta li {
    display: inline-flex;
    gap: 3px;
    margin-right: 8px;
}
.woocommerce-checkout #order_review .wc-item-meta li p { margin: 0; }
.woocommerce-checkout #order_review .wc-item-meta strong { font-weight: 500; }
.woocommerce-checkout #order_review table.shop_table tbody td,
.woocommerce-checkout #order_review table.shop_table tfoot td,
.woocommerce-checkout #order_review table.shop_table tfoot th {
    padding: 11px 16px;
    border-bottom: 1px solid #f5f1ed;
    color: #4a3a2e;
    font-size: 14px;
    vertical-align: middle;
}
/* Productnaam in overzicht: naam + variatie info */
.woocommerce-checkout #order_review .product-name {
    font-weight: 600;
    color: #2c2015;
}
.woocommerce-checkout #order_review .product-name .product-quantity {
    font-weight: 400;
    color: #8a7060;
    font-size: 13px;
}
.woocommerce-checkout #order_review table.shop_table tfoot .order-total td,
.woocommerce-checkout #order_review table.shop_table tfoot .order-total th {
    font-weight: 700;
    font-size: 16px;
    color: #2c2015;
    border-bottom: none;
    padding-top: 14px;
}
.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child td,
.woocommerce-checkout #order_review table.shop_table tfoot tr:last-child th {
    border-bottom: none;
}

/* ─── Betaalmethodes ─── */
.woocommerce-checkout #payment {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    overflow: hidden;
    margin-top: 8px;
}
.woocommerce-checkout #payment ul.payment_methods {
    list-style: none;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #f0ebe6;
}
.woocommerce-checkout #payment ul.payment_methods li {
    padding: 14px 20px;
    border-bottom: 1px solid #f5f1ed;
    font-size: 14px;
    font-weight: 500;
    color: #2c2015;
}
.woocommerce-checkout #payment ul.payment_methods li:last-child { border-bottom: none; }
.woocommerce-checkout #payment ul.payment_methods li label {
    font-size: 14px;
    font-weight: 500;
    color: #2c2015;
    display: inline;
    cursor: pointer;
}
.woocommerce-checkout #payment div.payment_box {
    background: #faf7f4;
    padding: 12px 20px;
    font-size: 13px;
    color: #5a4a3a;
    border-top: 1px solid #f0ebe6;
    position: relative;
}
/* Pijltje (::before) boven payment_box – zelfde kleur als de achtergrond */
.woocommerce-checkout #payment div.payment_box::before {
    border-color: transparent transparent #faf7f4 !important;
}
/* WooCommerce zet ook een outline-pijl erachter – die meeknipperen */
.woocommerce-checkout #payment div.payment_box::after {
    border-color: transparent transparent #e8e3de !important;
    border-bottom-color: #faf7f4 !important;
}

/* ─── Bestelling plaatsen knop ─── */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout #payment div.place-order button {
    display: block !important;
    width: 100%;
    padding: 15px 24px !important;
    border-radius: 10px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    background: var(--primary, #c0392b) !important;
    color: #fff !important;
    border: none !important;
    cursor: pointer;
    transition: opacity .15s;
    text-align: center;
    margin-top: 0;
    box-shadow: none !important;
    outline: none !important;
}
.woocommerce-checkout #payment #place_order:hover { opacity: .87; }
.woocommerce-checkout #payment div.place-order {
    padding: 20px;
}
.woocommerce-checkout #payment div.place-order .woocommerce-terms-and-conditions-wrapper {
    font-size: 13px;
    color: #5a4a3a;
    margin-bottom: 14px;
}
.woocommerce-checkout #payment div.place-order .woocommerce-terms-and-conditions-wrapper a {
    color: var(--primary, #c0392b);
}

/* ─── Gutenberg checkout blok ─── */
.wp-block-woocommerce-checkout {
    max-width: 100%;
}
.wp-block-woocommerce-checkout-fields-block,
.wc-block-checkout__contact-fields,
.wc-block-checkout__billing-address,
.wc-block-checkout__shipping-address,
.wc-block-checkout__additional-fields {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    padding: 24px 28px;
    margin-bottom: 18px;
}
.wc-block-checkout__form-step-heading {
    font-size: 16px;
    font-weight: 700;
    color: #2c2015;
    margin: 0 0 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0ebe6;
}
.wp-block-woocommerce-checkout-order-summary-block {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    overflow: hidden;
}

/* Gutenberg checkout inputs */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-textarea textarea {
    padding: 12px 14px !important;
    border: 1px solid #e8e4e0 !important;
    border-radius: 9px !important;
    font-size: 14px !important;
    background: #fdfcfb !important;
    box-shadow: none !important;
    outline: none !important;
    transition: border-color .2s;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-textarea textarea:focus {
    border-color: #c5b8ae !important;
    box-shadow: 0 0 0 3px rgba(192,57,43,.08) !important;
    outline: none !important;
}

/* ─── Responsive checkout ─── */
@media (max-width: 900px) {
    .woocommerce-checkout form.checkout {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "details"
            "review-heading"
            "review" !important;
    }
    .woocommerce-checkout form.checkout #customer_details {
        grid-row: auto;
        padding-right: 0;
    }
    .woocommerce-checkout form.checkout #order_review {
        position: static;
        margin-top: 12px !important;
    }
}
@media (max-width: 767px) {
    .woocommerce-checkout .woocommerce-billing-fields,
    .woocommerce-checkout .woocommerce-shipping-fields,
    .woocommerce-checkout .woocommerce-additional-fields {
        padding: 18px 16px;
        border-radius: 12px;
    }
    .woocommerce-checkout #payment {
        border-radius: 12px;
    }
    .woocommerce-checkout form.checkout {
        gap: 16px;
    }
}


/* ══════════════════════════════════════════════
   ORDER RECEIVED (Bedankpagina)
   Zelfde sfeer als rest: wit, luchtig, zacht.
══════════════════════════════════════════════ */

.woocommerce-order {
    max-width: 100%;
    width: 100%;
}

/* ─── Succesmelding ─── */
.woocommerce-notice--success.woocommerce-thankyou-order-received {
    background: #e8f5e9 !important;
    border-left: 4px solid #388e3c !important;
    border-radius: 10px !important;
    padding: 14px 18px 14px 46px !important;
    font-size: 15px !important;
    font-weight: 600;
    color: #2e7d32 !important;
    margin-bottom: 24px;
    list-style: none;
    outline: none !important;
}
.woocommerce-notice--success::before {
    left: 14px !important;
    color: #388e3c !important;
}

/* ─── Order overview: bestellingskopje met details ─── */
.woocommerce-order-overview.order_details {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    overflow: hidden;
}
.woocommerce-order-overview.order_details li {
    flex: 1 1 160px;
    padding: 18px 24px;       /* meer lucht, ook links */
    border-right: 1px solid #f0ebe6;
    border-bottom: 1px solid #f0ebe6;
    font-size: 12px;
    color: #8a7060;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 500;
}
.woocommerce-order-overview.order_details li:last-child {
    border-right: none;
}
.woocommerce-order-overview.order_details li strong {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: #2c2015;
    text-transform: none;
    letter-spacing: 0;
    margin-top: 4px;
}

/* ─── Bestelgegevens sectie ─── */
.woocommerce-order-details {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    overflow: hidden;
    margin-bottom: 24px;
}
.woocommerce-order-details__title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2c2015 !important;
    margin: 0 !important;
    padding: 18px 22px !important;
    border-bottom: 1px solid #f0ebe6 !important;
    background: #faf7f4;
}

/* Tabel */
.woocommerce-table.order_details {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    margin: 0 !important;
}
.woocommerce-table.order_details thead { display: none; } /* thead verbergen: cleaner kaartje-stijl */

/* Elke productrij als NORMALE tabelrij (geen flex — anders klopt de breedte niet) */
.woocommerce-table.order_details tbody tr.order_item {
    border-bottom: 1px solid #f5f1ed;
}
.woocommerce-table.order_details tbody tr.order_item:last-child { border-bottom: none; }

.woocommerce-table.order_details tbody td {
    padding: 14px 20px;
    border: none;
    color: #4a3a2e;
    vertical-align: top;
    background: transparent;
}
.woocommerce-table.order_details tbody td.product-name {
    width: auto;
    text-align: left;
}
.woocommerce-table.order_details tbody td.product-total {
    width: 1%;
    text-align: right;
    font-weight: 700;
    color: var(--primary, #c0392b);
    white-space: nowrap;
}

/* Productnaam link */
.woocommerce-table.order_details .product-name a {
    font-weight: 600;
    color: #2c2015;
    text-decoration: none;
}
.woocommerce-table.order_details .product-name a:hover { color: var(--primary, #c0392b); }
.woocommerce-table.order_details .product-name .product-quantity {
    font-weight: 400;
    color: #8a7060;
    font-size: 13px;
}

/* Variatie meta */
.woocommerce-table.order_details .wc-item-meta {
    list-style: none;
    margin: 4px 0 0;
    padding: 0;
    font-size: 12px;
    color: #8a7060;
    display: flex;
    flex-wrap: wrap;
    gap: 0 10px;
}
.woocommerce-table.order_details .wc-item-meta li { display: inline-flex; gap: 3px; }
.woocommerce-table.order_details .wc-item-meta li p { margin: 0; display: inline; }

/* Footer totalen */
.woocommerce-table.order_details tfoot {
    border-top: 1px solid #e8e3de;
}
.woocommerce-table.order_details tfoot th,
.woocommerce-table.order_details tfoot td {
    padding: 10px 20px;
    font-size: 14px;
    color: #5a4a3a;
    border-bottom: 1px solid #f5f1ed;
    background: #faf7f4;
}
.woocommerce-table.order_details tfoot th { font-weight: 500; text-align: left; }
.woocommerce-table.order_details tfoot td { text-align: right; }
.woocommerce-table.order_details tfoot tr:last-child th,
.woocommerce-table.order_details tfoot tr:last-child td {
    border-bottom: none;
    font-weight: 700;
    font-size: 15px;
    color: #2c2015;
    background: #f5f1ed;
}

/* ─── Klantgegevens sectie ─── */
.woocommerce-customer-details {
    background: #fff;
    border: 1px solid #e8e3de;
    border-radius: 14px;
    padding: 22px 24px;
    margin-bottom: 24px;
}
.woocommerce-customer-details .woocommerce-column__title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #2c2015 !important;
    margin: 0 0 12px !important;
    padding-bottom: 10px !important;
    border-bottom: 1px solid #f0ebe6 !important;
}
.woocommerce-customer-details address {
    font-style: normal;
    font-size: 14px;
    color: #5a4a3a;
    line-height: 1.7;
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}
.woocommerce-customer-details--email,
.woocommerce-customer-details--phone {
    margin: 4px 0 0;
    font-size: 14px;
    color: #5a4a3a;
}

/* Responsive */
@media (max-width: 600px) {
    .woocommerce-order-overview.order_details li {
        flex: 1 1 100%;
        border-right: none;
    }
    .woocommerce-order-details,
    .woocommerce-customer-details {
        border-radius: 12px;
    }
    .woocommerce-table.order_details thead th,
    .woocommerce-table.order_details tbody td,
    .woocommerce-table.order_details tfoot th,
    .woocommerce-table.order_details tfoot td {
        padding: 11px 14px;
    }
}

/* ─── Lege winkelwagen ─── */
.woocommerce-cart .woocommerce-cart-form + .cart-collaterals,
.woocommerce-cart .cart-empty { text-align: center; padding: 40px 0; }
.woocommerce-cart .return-to-shop .button,
.woocommerce-cart p.return-to-shop a {
    display: inline-block !important;
    padding: 13px 28px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    background: var(--primary, #c0392b) !important;
    color: #fff !important;
    text-decoration: none;
    border: none !important;
    transition: opacity .15s;
}
.woocommerce-cart .return-to-shop .button:hover,
.woocommerce-cart p.return-to-shop a:hover { opacity: .85; }

/* ─── Winkelmand-melding op single productpagina ─── */
.woocommerce-notices-wrapper { min-height: 0; }
.single-product .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-message {
    display: block !important;
}
/* WooCommerce ajax cart notice bovenaan sticky tonen */
body.single-product .woocommerce-message {
    position: relative;
    z-index: 100;
}

/* Alle <p>'s in cart-item: margin 0 */
.woocommerce-cart-form__cart-item p,
.woocommerce-cart-form__cart-item .product-name,
.woocommerce-cart-form__cart-item .product-price,
.woocommerce-cart-form__cart-item dt,
.woocommerce-cart-form__cart-item dd {
    margin: 0 !important;
}
.woocommerce-cart-form__cart-item .product-name {
    margin-bottom: 2px !important;
}

/* Doorgestreepte oude prijs: streep zelfde kleur als tekst */
/* ── Prijs del/ins: uniform voor simpel + variabel ─────────── */
/* Verwijder alle text-decoration van ins (WooCommerce zet underline) */
ins, .pprice ins, .pprice ins * {
    text-decoration: none !important;
    border-bottom: none !important;
    font-style: normal !important;
}
/* del: doorhalen via line-through op de tekst, geen extra streep */
del { text-decoration: none !important; }

/* Doorgestreepte oude prijs: altijd klein + lichtgrijs */
del .woocommerce-Price-amount,
del bdi,
.pprice del,
.pprice del *,
.pprice .old,
.pprice .old *,
.pprice span.old,
.row_price_stock .price del,
.row_price_stock .price del * {
    font-size: 12px !important;
    color: #aaa !important;
    opacity: 1 !important;
    text-decoration: line-through !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
}
/* Nieuwe (sale) prijs: geen underline, normale grootte */
ins .woocommerce-Price-amount,
ins bdi,
.pprice ins,
.pprice ins *,
.row_price_stock .price ins,
.row_price_stock .price ins * {
    text-decoration: none !important;
    border: none !important;
    border-bottom: none !important;
    outline: none !important;
}

/* ══════════════════════════════════════════════
   SPECIFICATIES TABEL (wc_display_product_attributes)
══════════════════════════════════════════════ */
.product-specifications .woocommerce-product-attributes,
.product-specifications table.shop_attributes {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    border: 1px solid #ede8e3;
    border-radius: 12px;
    overflow: hidden;
}
/* Desktop: th 200px links, td rechts */
.product-specifications .woocommerce-product-attributes th,
.product-specifications table.shop_attributes th,
.product-specifications .woocommerce-product-attributes-item__label {
    width: 200px;
    min-width: 140px;
    padding: 11px 16px;
    font-weight: 600;
    font-style: normal !important;
    color: #5a4a3a;
    text-align: left;
    vertical-align: middle;
    border-bottom: 1px solid #f0ebe6;
    background: #faf7f4;
    font-size: 14px;
    line-height: 1.2;
    white-space: nowrap;
}
.product-specifications .woocommerce-product-attributes td,
.product-specifications table.shop_attributes td,
.product-specifications .woocommerce-product-attributes-item__value {
    padding: 11px 16px;
    color: #2c2015;
    font-style: normal !important;
    border-bottom: 1px solid #f0ebe6;
    vertical-align: middle;
    line-height: 1.2;
}
.product-specifications p { margin: 0; }
.product-specifications .woocommerce-product-attributes tr:last-child th,
.product-specifications .woocommerce-product-attributes tr:last-child td {
    border-bottom: none;
}

/* Mobiel: th + td gestapeld, volledige breedte */
@media (max-width: 600px) {
    .product-specifications .woocommerce-product-attributes tbody,
    .product-specifications table.shop_attributes tbody { display: block; }
    .product-specifications .woocommerce-product-attributes tr,
    .product-specifications table.shop_attributes tr { display: block; border-bottom: 1px solid #f0ebe6; }
    .product-specifications .woocommerce-product-attributes tr:last-child,
    .product-specifications table.shop_attributes tr:last-child { border-bottom: none; }
    .product-specifications .woocommerce-product-attributes th,
    .product-specifications .woocommerce-product-attributes td,
    .product-specifications table.shop_attributes th,
    .product-specifications table.shop_attributes td,
    .product-specifications .woocommerce-product-attributes-item__label,
    .product-specifications .woocommerce-product-attributes-item__value {
        display: block;
        width: 100% !important;
        white-space: normal;
        border-bottom: none !important;
        padding: 6px 14px;
    }
    .product-specifications .woocommerce-product-attributes th,
    .product-specifications table.shop_attributes th,
    .product-specifications .woocommerce-product-attributes-item__label {
        padding-top: 15px !important;
        padding-bottom: 0 !important;
        line-height: 1 !important;
        background: transparent;
        font-size: 12px;
        color: #8a7060;
        text-transform: uppercase;
        letter-spacing: .04em;
    }
    .product-specifications .woocommerce-product-attributes td,
    .product-specifications table.shop_attributes td,
    .product-specifications .woocommerce-product-attributes-item__value {
        padding-top: 2px;
        padding-bottom: 10px;
    }
}

/* ══════════════════════════════════════════════
   BETAALMETHODE ICONEN [ww_payment_icons]
══════════════════════════════════════════════ */
.ww-payment-icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}
.ww-payment-icon {
    display: inline-flex;
    align-items: center;
}
.ww-payment-icon img {
    height: 24px;
    width: auto;
    object-fit: contain;
    display: block;
    border-radius: 3px;
}

.ww-reviews-wrap {
    font-size: 14px;
    color: #4a3a2e;
}
.ww-reviews-wrap #reviews { padding: 0; margin: 0; }

/* Avatar verbergen */
.ww-reviews-wrap .avatar { display: none !important; }

/* Commentlist: rcard stijl */
.ww-reviews-wrap .commentlist {
    list-style: none;
    margin: 0 0 28px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.ww-reviews-wrap .comment_container {
    background: #fff;
    border: 1px solid #ede8e3;
    border-radius: 14px;
    padding: 18px 20px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Header: sterren + titel + datum */
.ww-reviews-wrap .comment-text { padding: 0; background: transparent; margin: 0; }
.ww-reviews-wrap .ww-rc-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 8px;
    gap: 12px;
}
.ww-reviews-wrap .woocommerce-review__published-date {
    font-size: 12px;
    color: #aaa;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Sterren geel */
.ww-reviews-wrap .star-rating,
.woocommerce-product-rating .star-rating {
    overflow: hidden;
    position: relative;
    width: 5.4em;
    height: 1.1em;
    font-size: 13px;
    color: #f5a623 !important;
    
    display: inline-block;
    vertical-align: middle;
}
.ww-reviews-wrap .star-rating::before,
.woocommerce-product-rating .star-rating::before {
    content: '★★★★★';
    color: #e0dbd5;
    position: absolute;
    top: 0; left: 0;
}
.ww-reviews-wrap .star-rating span::before,
.woocommerce-product-rating .star-rating span::before {
    content: '★★★★★';
    color: #f5a623 !important;
    position: absolute;
    top: 0; left: 0;
}
.ww-reviews-wrap .star-rating span,
.woocommerce-product-rating .star-rating span {
    position: absolute;
    top: 0; left: 0;
    overflow: hidden;
    padding-top: 0;
    float: none;
    white-space: nowrap;
}

/* Review titel (via ww-review-title class) */
.ww-reviews-wrap .ww-review-title {
    font-size: 14px;
    font-weight: 700;
    color: #2c2015;
    margin: 4px 0 0;
    font-style: normal !important;
}

/* Review tekst: niet italic */
.ww-reviews-wrap .description,
.ww-reviews-wrap .description p {
    font-size: 14px;
    color: #5a4a3a;
    line-height: 1.65;
    font-style: normal !important;
    margin: 10px 0 12px;
}

/* Meta rij onderaan */
.ww-reviews-wrap .ww-rc-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 4px;
    padding-top: 10px;
    border-top: 1px solid #f5f1ed;
}
.ww-reviews-wrap .ww-rc-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--primary, #c0392b);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
    text-transform: uppercase;
}
.ww-reviews-wrap .woocommerce-review__author {
    font-size: 13px;
    font-weight: 600;
    color: #2c2015;
}
.ww-reviews-wrap .meta {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
}
.ww-reviews-wrap .woocommerce-review__dash { display: none; }
.ww-reviews-wrap .woocommerce-review__published-date { margin-left: auto; }
/* ══ REVIEWS RCARD LAYOUT ══════════════════════════ */
/* Wit blok = .comment-text, niet .comment_container */
.woocommerce-Reviews .comment_container {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    display: block !important;
    width: 100%;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text {
    background: #fff !important;
    border-radius: 10px !important;
    padding: 20px !important;
    margin: 0 !important;
    border: 1px solid #ede8e3 !important;
    width: 100% !important;
    box-sizing: border-box;
    display: block !important;
}
/* Layout binnen comment-text */
.woocommerce #reviews #comments ol.commentlist { list-style: none; padding: 0; margin: 0 0 24px; display: flex; flex-direction: column; gap: 12px; }
.woocommerce #reviews #comments ol.commentlist li { display: block; width: 100%; }
/* Verberg gravatar */
.woocommerce #reviews #comments ol.commentlist li img.avatar { display: none !important; }
/* Sterren + datum rij */
.ww-reviews-wrap .woocommerce-Reviews .comment-text .star-rating { margin-bottom: 4px; }
/* Meta rij: sterren links, datum rechts */
.ww-reviews-wrap .meta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 8px !important;
    gap: 8px;
}
.ww-reviews-wrap .woocommerce-review__dash { display: none !important; }
.ww-reviews-wrap .woocommerce-review__published-date { margin-left: auto; font-size: 12px; color: #aaa; }
/* Review tekst */
.ww-reviews-wrap .description { font-style: normal !important; }
.ww-reviews-wrap .description p { font-style: normal !important; color: #4a3a2e; font-size: 14px; line-height: 1.65; margin: 8px 0; }
/* Initialen + naam onderaan */
.ww-rc-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding-top: 12px !important;
    border-top: 1px solid #f5f1ed !important;
    margin-top: 8px !important;
}
.ww-rc-avatar {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: var(--primary, #c0392b) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: var(--headingFont, sans-serif) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #fff !important;
    flex-shrink: 0 !important;
    text-transform: uppercase;
}
/* Formulier border + bodyFont */
.ww-reviews-wrap #review_form_wrapper {
    border: 1px solid #e8e3de;
    border-radius: 14px;
    padding: 20px;
    margin-top: 24px;
}
.ww-reviews-wrap #review_form input,
.ww-reviews-wrap #review_form textarea,
.ww-reviews-wrap #review_form select {
    font-family: var(--bodyFont, inherit) !important;
}
.ww-reviews-wrap #review_form input[type="submit"],
.ww-reviews-wrap #review_form .submit input {
    font-family: var(--bodyFont, inherit) !important;
    padding: 11px 24px !important;
    border-radius: 8px !important;
    background: var(--primary, #c0392b) !important;
    color: #fff !important;
    border: none !important;
    font-weight: 600 !important;
    cursor: pointer;
}
/* Sterren formulier: ALLE sterren eerst geel dan klik */
.ww-reviews-wrap .stars a { color: #e0dbd5; font-size: 24px; text-decoration: none; transition: color .1s; display: inline-block; }
.ww-reviews-wrap .stars a:hover,
.ww-reviews-wrap .stars a.active { color: #f5a623 !important; }
.ww-reviews-wrap .stars { display: flex; gap: 2px; margin: 6px 0 12px; }

/* Checkout: lege shipping-fields verbergen */
.woocommerce-checkout .woocommerce-shipping-fields:not(:has(input)):not(:has(select)) {
    display: none !important;
}
/* Fallback als :has niet ondersteund wordt */
.woocommerce-shipping-fields > *:only-child:empty { display: none; }

/* order_review_heading: sluit naadloos aan op de tabel */
.woocommerce-checkout form.checkout #order_review_heading {
    margin-bottom: 0 !important;
}
.woocommerce-checkout form.checkout #order_review {
    margin-top: 0 !important;
}

/* Place order knop: bodyFont */
.woocommerce-checkout #payment #place_order,
.woocommerce-checkout #payment div.place-order button {
    font-family: var(--bodyFont, inherit) !important;
}

/* Cart totals: naast cart form */
/* Cart grid zit op .ww-cart-layout in cart.php – niet op .woocommerce */
.woocommerce-cart .woocommerce { display: block; }

@media (max-width: 900px) {
    .woocommerce-cart .woocommerce {
        grid-template-columns: 1fr !important;
    }
}

/* ══ CART LAYOUT GRID ══════════════════════════ */
.ww-cart-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 50px;
    align-items: start;
    width: 100%;
}
.ww-cart-right .cart_totals { max-width: 100% !important; margin-left: 0 !important; }
.ww-cart-right .cart_totals { position: sticky; top: 24px; }

/* Cross-sells buiten het grid: volledig breedte */
.ww-cart-crosssells {
    margin-top: 40px;
    width: 100%;
}
.ww-cart-crosssells h2,
.ww-cart-crosssells .cross-sells h2 {
    font-size: var(--heading4_size, 20px) !important;
    font-weight: 700;
    margin-bottom: 20px;
}

@media (max-width: 900px) {
    .ww-cart-layout { grid-template-columns: 1fr !important; gap: 24px !important; }
    .ww-cart-right .cart_totals { position: static; }
}

/* Cart: notices-wrapper mag geen ruimte innemen als leeg */
.woocommerce-cart .woocommerce-notices-wrapper:empty { display: none !important; }
.woocommerce-cart .woocommerce-notices-wrapper { margin: 0; min-height: 0; }

/* Review card volgorde: sterren+datum → titel → tekst → meta */
.woocommerce #reviews #comments ol.commentlist li .comment-text {
    display: flex !important;
    flex-direction: column !important;
}
.woocommerce #reviews #comments ol.commentlist li .comment-text .star-rating { order: 1; }
.woocommerce #reviews #comments ol.commentlist li .comment-text .meta         { order: 2; margin-bottom: 4px !important; }
.woocommerce #reviews #comments ol.commentlist li .comment-text .ww-review-title { order: 3; }
.woocommerce #reviews #comments ol.commentlist li .comment-text .description  { order: 4; }
.woocommerce #reviews #comments ol.commentlist li .comment-text .ww-rc-meta   { order: 5; }

/* Meta rij: ALLEEN auteur (datum staat al apart in .meta) */
.ww-reviews-wrap .meta {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    margin: 0 !important;
    font-size: 13px;
}
.ww-reviews-wrap .meta .woocommerce-review__author { font-size: 12px; color: #8a7060; font-weight: 400; }
.ww-reviews-wrap .meta .woocommerce-review__published-date { font-size: 12px; color: #bbb; margin-left: auto; }

/* 3. Mobiel: Reviews titel span block */
@media (max-width: 767px) {
    .woocommerce-Reviews-title span { display: block !important; margin-top: 5px; }
}

/* Gallery: sticky op desktop */
.woocommerce-product-gallery.images {
    position: sticky !important;
    top: 100px;
}

/* Cart: update knop zelfde hoogte als qty input */
.woocommerce-cart-form__cart-item .product-quantity button[name="update_cart"] {
    height: 38px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}

/* ── Cart totals verfijning ── */
.cart-collaterals .cart_totals h2 {
    font-size: 16px;
    font-weight: 700;
    color: #2c2015;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #f0ebe6;
}
/* Verberg lege td's */
.cart-collaterals .cart_totals table td:empty { display: none; }

/* Checkout: geen ruimte tussen heading en order_review */
.woocommerce-checkout form.checkout #order_review_heading + #order_review,
.woocommerce-checkout #order_review { margin-top: 0 !important; }

/* Archive: section hoeft geen witte achtergrond via background_white class */
.archive.woocommerce-page .background_white { background: transparent !important; }

/* Archive breadcrumbs: zelfde stijl als productpagina */
.wrapper-base .breadcrumbs {
    padding: 10px 0;
    font-size: 13px;
    color: #8a7060;
}
.wrapper-base .breadcrumbs a { color: #8a7060; text-decoration: none; }
.wrapper-base .breadcrumbs a:hover { color: var(--primary, #c0392b); }
.wrapper-base .breadcrumbs #breadcrumbs,
.wrapper-base .breadcrumbs p { margin: 0; }

/* Checkout: terug naar winkelwagen link */
.ww-checkout-back-link {
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    color: #8a7060;
    text-decoration: none;
    margin-bottom: 16px;
    transition: color .15s;
}
.ww-checkout-back-link:hover { color: var(--primary, #c0392b); }

/* ── Headerimg: h1 op mobiel groter ── */
@media (max-width: 767px) {
    .headerimg .caption h1,
    .headerimg .caption .ww-extended-title h1,
    .headerimg .caption .ww-extended-title h2 {
        font-size: var(--heading4_size, 18px) !important;
    }
}

/* Specs tabel: alle th transparent bg */
.product-specifications .woocommerce-product-attributes th,
.product-specifications table.shop_attributes th {
    background: transparent !important;
}

/* Reviews: verberg de WooCommerce-Reviews-title h2 in de tab */
.ww-reviews-wrap .woocommerce-Reviews-title { display: none !important; }

/* Archive: resultaten + sortering naast elkaar op mobiel */
@media (max-width: 767px) {
    .woocommerce-ordering,
    .woocommerce .woocommerce-ordering { float: none !important; }
    .products_wrapper > p.woocommerce-result-count,
    .products_wrapper > form.woocommerce-ordering {
        display: inline-block;
        vertical-align: middle;
    }
    .products_wrapper {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 8px 12px;
    }
    /* result-count + ordering in één rij */
    .products_wrapper > p.woocommerce-result-count { order: 1; flex: 1; margin: 0; font-size: 12px; }
    .products_wrapper > form.woocommerce-ordering { order: 2; margin: 0; }
    .products_wrapper > ul.products { order: 3; width: 100%; }
    .products_wrapper > nav.woocommerce-pagination { order: 4; width: 100%; }
}

/* Short description lees-verder link */
.ww-read-more {
    color: var(--primary, #c0392b);
    font-weight: 600;
    font-size: 13px;
    text-decoration: underline;
    cursor: pointer;
}

/* ── Settings: ww-field onder elkaar op smal scherm ── */
@media (max-width: 900px) {
    .ww-field {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
    .ww-field .ww-label { width: auto !important; margin-bottom: 4px; }
    .ww-field .ww-input { width: 100% !important; }
    .ww-field .ww-input input[type="text"],
    .ww-field .ww-input input[type="number"],
    .ww-field .ww-input textarea,
    .ww-field .ww-input select { max-width: 100% !important; width: 100% !important; box-sizing: border-box; }
}

/* ══════════════════════════════════════════════
   GRID BANNERS – tussenkaarten in productgrid
══════════════════════════════════════════════ */
.ww-grid-banner-li {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;           /* geen extra ruimte */
}
/* Volledig breed: span alle kolommen */
.ww-grid-banner-li.ww-grid-banner--full {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    float: none !important;
    clear: both;
}
/* Card-breedte: zelfde als een product card */
.ww-grid-banner-li.ww-grid-banner--card {
    /* neemt gewoon 1 kolom in */
}
.ww-grid-banner {
    width: 100%;
    margin: 0;
}
.ww-grid-banner--full .ww-grid-banner {
    border-radius: 18px;
    overflow: hidden;
}
.ww-grid-banner--card .ww-grid-banner {
    border-radius: 14px;
    overflow: hidden;
}
.ww-grid-banner-link {
    display: block;
    text-decoration: none;
}
.ww-grid-banner-img {
    width: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    align-items: center;
}
.ww-grid-banner--full .ww-grid-banner-img { aspect-ratio: 21 / 6; }
.ww-grid-banner--card .ww-grid-banner-img {
    aspect-ratio: auto;   /* geen vaste ratio: neem hoogte van li */
    height: 100%;
    min-height: 180px;
}
/* Zorg dat .ww-grid-banner en zijn kinderen 100% hoog zijn bij card-modus */
.ww-grid-banner-li.ww-grid-banner--card,
.ww-grid-banner-li.ww-grid-banner--card .ww-grid-banner,
.ww-grid-banner-li.ww-grid-banner--card .ww-grid-banner-link {
    height: 100%;
}
.ww-grid-banner-overlay {
    position: absolute;
    inset: 0;
    background: #1c1208;   /* kleur, opacity via inline style */
    pointer-events: none;
}
.ww-grid-banner-text {
    position: relative;
    z-index: 1;
    padding: 28px 40px;
    color: #fff;
    max-width: 680px;
}
.ww-grid-banner-text * { color: #fff; }
.ww-grid-banner-text h2,
.ww-grid-banner-text h3 { font-size: clamp(18px, 3vw, 28px); font-weight: 800; margin: 0 0 8px; line-height: 1.2; }
.ww-grid-banner-text p { font-size: 15px; margin: 0; opacity: .88; line-height: 1.5; }

/* Geen foto: vul de volledige hoogte van de li */
.ww-grid-banner-text--no-img {
    background: var(--primary, #c0392b);
    padding: 24px 32px;
    border-radius: 14px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
}
/* Fullwidth + geen foto: geen max-width op tekst */
.ww-grid-banner--full .ww-grid-banner-text--no-img {
    max-width: none;
    border-radius: 12px;
}
/* Hover effect op banners met link */
.ww-grid-banner-link .ww-grid-banner-img { transition: transform .3s ease; }
.ww-grid-banner-link:hover .ww-grid-banner-img { transform: scale(1.02); }

@media (max-width: 767px) {
    .ww-grid-banner--full .ww-grid-banner-img { aspect-ratio: 16 / 9; }
    .ww-grid-banner-text { padding: 18px 20px; }
    .ww-grid-banner-text h2,
    .ww-grid-banner-text h3 { font-size: 20px; }
}

/* Productgrid als CSS grid zodat grid-column werkt op banner-li */
ul.products {
    display: grid !important;
    float: none !important;
}
/* Desktop: gebruik de CMS-kolomwaarde (--ww-cols-desktop). De columns-ww class
   komt van onze filter die WooCommerce's columns-N vervangt. */
ul.products.columns-2 { grid-template-columns: repeat(2, 1fr); }
ul.products.columns-3 { grid-template-columns: repeat(3, 1fr); }
ul.products.columns-4 { grid-template-columns: repeat(4, 1fr); }
ul.products.columns-ww { grid-template-columns: repeat(var(--ww-cols-desktop, 3), 1fr); }
ul.products li.product,
ul.products li.product-card-item,
ul.products li.ww-grid-banner-li { width: 100% !important; float: none !important; max-width: 100% !important; }

/* Tablet */
@media (max-width: 991px) {
    ul.products.columns-2,
    ul.products.columns-3,
    ul.products.columns-4,
    ul.products.columns-ww { grid-template-columns: repeat(var(--ww-cols-tablet, 2), 1fr) !important; }
}
/* Mobiel */
@media (max-width: 767px) {
    ul.products.columns-2,
    ul.products.columns-3,
    ul.products.columns-4,
    ul.products.columns-ww { grid-template-columns: repeat(var(--ww-cols-mobile, 2), 1fr) !important; }
    .ww-grid-banner-li.ww-grid-banner--card { grid-column: 1 / -1 !important; }
}
@media (max-width: 480px) {
    ul.products.columns-2,
    ul.products.columns-3,
    ul.products.columns-4,
    ul.products.columns-ww { grid-template-columns: repeat(var(--ww-cols-mobile, 1), 1fr) !important; }
}

/* ── Mobiel gallery: geen thumbs, grote foto 85% + peek ── */
@media (max-width: 767px) {
    /* Verberg thumbs op mobiel */
    .product-gallery-thumbs { display: none !important; }
    /* Wrapper: vol breed, horizontale swipe */
    .product-gallery-wrapper {
        flex-direction: column !important;
        position: static !important;
        gap: 0 !important;
    }
    /* Swiper container: 85% breed met peek van volgende */
    .product-gallery-main {
        width: 100% !important;
    }
    .product-gallery-main .swiper-wrapper {
        /* Toon 85% van slide + 15% van volgende */
    }
    .product-gallery-main .swiper-slide {
        width: 85% !important;
        margin-right: 8px !important;
    }
    .product-gallery-main .swiper-slide .img {
        aspect-ratio: 1 / 1 !important;
        border-radius: 12px !important;
    }
    /* Dots navigatie onderaan */
    .swiper-pagination { display: flex !important; justify-content: center; margin-top: 10px; }
    .swiper-pagination-bullet { width: 6px; height: 6px; background: #c5b8ae; opacity: 1; border-radius: 50%; }
    .swiper-pagination-bullet-active { background: var(--primary, #c0392b); }
    /* Pijlen kleiner maar zichtbaar op mobiel */
    .product-gallery-main .swiper-button-next,
    .product-gallery-main .swiper-button-prev {
        width: 34px !important;
        height: 34px !important;
        background: rgba(255,255,255,.9);
        border-radius: 50%;
        box-shadow: 0 2px 8px rgba(0,0,0,.15);
    }
    .product-gallery-main .swiper-button-next::after,
    .product-gallery-main .swiper-button-prev::after { font-size: 13px !important; }
}

/* ── Cat-intro links: mobiel horizontaal scroll ── */
@media (max-width: 767px) {
    .ww-cat-intro {
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none;
    }
    .ww-cat-intro::-webkit-scrollbar { display: none; }
    .ww-cat-intro ul {
        overflow: visible !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        width: max-content;
        padding-bottom: 4px;
    }
    .ww-cat-intro ul li { flex-shrink: 0; }
    .ww-cat-intro ul li a { white-space: nowrap; }
}

/* ── Breadcrumbs: kleiner op mobiel ── */
@media (max-width: 767px) {
    .breadcrumbs, .breadcrumbs *, #breadcrumbs, #breadcrumbs * {
        font-size: 11px !important;
    }
}

/* ── Sortering: mobiel links + fullwidth ── */
@media (max-width: 767px) {
    .woocommerce-ordering {
        float: none !important;
        width: 100% !important;
        margin: 0 0 12px !important;
        display: block !important;
    }
    .woocommerce-ordering select.orderby {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        box-sizing: border-box;
    }
}

/* ── Weergave switch (grid/list) ── */
.ww-view-switch {
    display: inline-flex;
    gap: 4px;
    align-items: center;
    margin-left: auto;
}
.ww-view-btn {
    width: 34px;
    height: 34px;
    border: 1px solid #e8e3de;
    border-radius: 6px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    padding: 0;
}
.ww-view-btn.active {
    background: var(--primary, #c0392b);
    border-color: var(--primary, #c0392b);
}
.ww-view-btn svg { width: 16px; height: 16px; stroke: currentColor; }
.ww-view-btn.active svg { stroke: #fff; }

/* List weergave */
ul.products.ww-list-view {
    grid-template-columns: 1fr !important;
}
ul.products.ww-list-view li.product {
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
}
/* .pcard is de echte container */
ul.products.ww-list-view li.product .pcard {
    display: flex !important;
    flex-direction: row !important;
    gap: 0;
    align-items: stretch;
    border: 1px solid #ede8e3;
    border-radius: 12px;
    overflow: hidden;
}
ul.products.ww-list-view li.product .pthumb {
    width: 240px !important;
    flex-shrink: 0 !important;
    aspect-ratio: auto !important;
    border-radius: 0 !important;
    overflow: hidden;
    position: relative;
}
ul.products.ww-list-view li.product .pthumb img,
ul.products.ww-list-view li.product .pthumb-main {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
ul.products.ww-list-view li.product .pbody {
    flex: 1;
    padding: 16px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
ul.products.ww-list-view li.product .pfoot {
    margin-top: auto;
}

@media (max-width: 600px) {
    ul.products.ww-list-view li.product .pcard { flex-direction: column; }
    ul.products.ww-list-view li.product .pthumb { width: 100% !important; aspect-ratio: 16/9; }
}

@media (max-width: 767px) {
    .ww-product-cat-back { line-height: 1 !important; font-size: 12px; }
}






/* ── Ordering + View switch ── */
/* Ordering rechts via float (WC standaard), view switch rechts ernaast */
.woocommerce-ordering { float: right !important; margin: 0 0 1em 8px !important; }
.woocommerce-ordering select.orderby {
    height: 34px;
    border-radius: 10px;
    padding: 0 12px;
    font-size: 13px;
    border: 1px solid #e8e3de;
    background: #fff;
    width: auto;
}
/* View switch: float right, vóór de ordering */
.ww-view-switch {
    float: right !important;
    display: flex !important;
    align-items: center;
    gap: 4px;
    margin: 0 0 1em 0 !important;
    vertical-align: top;
}
/* Clearfix na beide */
.woocommerce-result-count { float: left; }

/* List-view */
ul.products.ww-list-view { width: 100% !important; max-width: 100% !important; }

/* List-view: pthumb smal */
@media (min-width: 601px) {
    ul.products.ww-list-view li.product .pthumb {
        width: 200px !important;
        flex-shrink: 0 !important;
    }
    ul.products.ww-list-view li.product .pthumb img,
    ul.products.ww-list-view li.product .pthumb-main {
        height: 200px !important;
        width: 200px !important;
        object-fit: cover !important;
    }
}
@media (max-width: 600px) {
    ul.products.ww-list-view li.product .pcard { flex-direction: row !important; gap: 0; }
    ul.products.ww-list-view li.product .pthumb {
        width: 35% !important;
        aspect-ratio: auto !important;
        max-height: 140px !important;
    }
    ul.products.ww-list-view li.product .pthumb img,
    ul.products.ww-list-view li.product .pthumb-main {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    .woocommerce-ordering { float: right !important; width: auto !important; margin-left: 4px !important; }
    .woocommerce-ordering select.orderby { width: auto !important; max-width: 150px !important; }
}

/* ══════════════════════════════════════════════
   PRODUCTFOTO FIT (via body class)
══════════════════════════════════════════════ */
.ww-img-fit-cover .pthumb img,
.ww-img-fit-cover .pthumb-main { object-fit: cover !important; }
.ww-img-fit-contain .pthumb img,
.ww-img-fit-contain .pthumb-main { object-fit: contain !important; background: #faf7f4; }

/* Hover originele verhouding: object-fit naar contain, zodat volledige foto zichtbaar */
.ww-hover-ratio .pthumb { overflow: hidden; }
/* object-fit kan niet getransitiond worden; simuleer smoothness via scale */


/* "Vanaf" label voor variabele producten */
.ww-vanaf {
    font-size: 13px;
    font-weight: 400;
    color: #8a7060;
    margin-right: 2px;
}

/* Variation stock + prijs styling */
.woocommerce-variation-price { display: none !important; }  /* altijd verborgen – bovenste prijs wordt bijgewerkt via JS */

/* Variation beschikbaarheid: subtiel badge-stijl */
.woocommerce-variation-availability { margin-top: 6px; }
.woocommerce-variation-availability .stock {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: .01em;
    padding: 3px 10px;
    border-radius: 20px;
    margin-top: 2px;
}
.woocommerce-variation-availability .in-stock {
    background: rgba(39,174,96,.1);
    color: #1e8449;
}
.woocommerce-variation-availability .out-of-stock {
    background: rgba(231,76,60,.1);
    color: #c0392b;
}
.woocommerce-variation-availability .available-on-backorder {
    background: rgba(243,156,18,.12);
    color: #9a6b00;
}
.woocommerce-variation-availability .stock::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}

/* Gallery thumbs positie: bottom */
.ww-thumbs-bottom .product-gallery-wrapper {
    flex-direction: column !important;
}
.ww-thumbs-bottom .product-gallery-thumbs {
    order: 2;
    width: 100% !important;
    height: auto !important;
    flex-direction: row !important;
    max-height: 90px;
}

/* Thumbs mobiel tonen */
@media (max-width: 767px) {
    .ww-thumbs-mobile-show .product-gallery-thumbs { display: block !important; }
}

/* Qty input margin 0 */
.single-product .quantity input.qty { margin: 0 !important; }

/* ── Img fit: ook op single-product gallery ── */
.ww-img-fit-contain .woocommerce-product-gallery .flex-viewport img,
.ww-img-fit-contain .product-gallery-main .swiper-slide .img {
    object-fit: contain !important;
    background-color: #faf7f4;
}
.ww-img-fit-cover .woocommerce-product-gallery .flex-viewport img,
.ww-img-fit-cover .product-gallery-main .swiper-slide .img {
    object-fit: cover !important;
}

/* ── Hover originele beeldverhouding ── */


/* ── Gallery thumbs positie ── */
.ww-thumbs-left  .product-gallery-wrapper { flex-direction: row; }
.ww-thumbs-bottom .product-gallery-wrapper {
    flex-direction: column !important;
    gap: 0 !important;
}
.ww-thumbs-bottom .product-gallery-main {
    order: 1 !important;
    width: 100% !important;
}
.ww-thumbs-bottom .product-gallery-thumbs {
    order: 2 !important;
    width: 100% !important;
    height: 90px !important;
    margin-top: 10px;
    overflow: hidden;
}
/* Thumb swiper-wrapper: horizontale rij naast elkaar */
.ww-thumbs-bottom .product-gallery-thumbs .swiper-wrapper {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    height: 80px !important;
}
.ww-thumbs-bottom .product-gallery-thumbs .swiper-slide {
    width: 80px !important;
    min-width: 80px !important;
    height: 80px !important;
    margin-right: 6px !important;
    flex-shrink: 0 !important;
}
.ww-thumbs-bottom .product-gallery-thumbs .swiper-slide .img {
    width: 80px !important;
    height: 80px !important;
    aspect-ratio: 1 !important;
}

/* Mobiel: thumbs bottom met ruimte */
@media (max-width: 767px) {
    .ww-thumbs-bottom .product-gallery-thumbs { margin-top: 8px; }
}

/* Thumbs mobile: als getoond, hoofdfoto 100% breed */
.ww-thumbs-mobile-show .product-gallery-main { width: 100% !important; }
.ww-thumbs-mobile-show .product-gallery-main .swiper-slide { width: 100% !important; }

/* Thumbs mobiel tonen (standaard verborgen, via body class tonen) */
@media (max-width: 767px) {
    .product-gallery-thumbs { display: none; }
    .ww-thumbs-mobile-show .product-gallery-thumbs { display: block !important; }
}

/* ── Qty: readonly styling ── */
.single-product .quantity input.qty { margin: 0 !important; }
.single-product .quantity input.qty[readonly] {
    cursor: default;
    pointer-events: none;
}

/* ── Variation availability: badge ── */
.woocommerce-variation-description:empty { display: none; }

/* ── Vanaf – in pprice van li.product ── */
.pprice .ww-vanaf, .price .ww-vanaf {
    font-size: 12px;
    font-weight: 400;
    color: #8a7060;
    display: block;
    line-height: 1;
    margin-bottom: 2px;
}

/* ── Hover originele beeldverhouding ───────────────────────────
   object-fit kan niet getransitiond worden. We simuleren een
   smooth effect via een achtergrond-fade en scale.
   Techniek: toon de beige achtergrond al via de .pthumb,
   en laat de afbeelding "inkrimpen" met object-fit:contain.
─────────────────────────────────────────────────────────────── */
.ww-hover-ratio .pthumb {
    overflow: hidden;
    background: var(--ww-thumb-bg, #f2ead8);
}
.ww-hover-ratio .pcard .pthumb img,
.ww-hover-ratio .pcard .pthumb .pthumb-main {
    margin: 0;
    transition: transform .5s cubic-bezier(.25,.46,.45,.94),
                opacity   .4s ease;
}
.ww-hover-ratio .pcard:hover .pthumb img,
.ww-hover-ratio .pcard:hover .pthumb .pthumb-main {
    object-fit: contain !important;
    transform: scale(.92);    /* subtiel inkrimpen geeft gevoel van ruimte */
    opacity: .98;
}
/* Niet van toepassing op de hover-afbeelding (tweede foto) */
.ww-hover-ratio .pcard .pthumb .pthumb-hover {
    object-fit: cover !important;
    transition: opacity .35s ease;
}

/* ── Product labels ────────────────────────────────────────── */
.ww-product-label {
    display: inline-block;
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1.35;
    background: rgba(28,18,8,.08);
    color: #3a2c1e;
    margin: 0;
    vertical-align: middle;
}
/* Context: in pthumb (kaart) — labels netjes onder elkaar, geen overlap */
.pthumb {
    position: relative;
}
.pthumb .ww-product-label {
    position: static; /* reset absolute zodat ze niet stapelen op elkaar */
}
/* Wrapper rond de kaart-labels: linksboven, verticaal gestapeld */
.pthumb .ww-card-labels {
    position: absolute;
    top: 8px;
    left: 8px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    max-width: calc(100% - 16px);
}
/* Fallback: als labels los (zonder wrapper) in pthumb staan, toch stapelen */
.pthumb > .ww-product-label {
    position: static;
    display: inline-block;
    margin: 0 4px 4px 0;
}

/* Kleurvariaties per labeltype */
.ww-label--check_new          { background: #2ecc71; color: #fff; }
.ww-label--check_showmodel    { background: #8e44ad; color: #fff; }
.ww-label--check_winkel       { background: #2980b9; color: #fff; }
.ww-label--check_coming_soon  { background: #f39c12; color: #fff; }
.ww-label--check_sold_out     { background: #e74c3c; color: #fff; }
.ww-label--check_gereserveerd { background: #c0392b; color: #fff; }
.ww-label--check_pre_order    { background: #16a085; color: #fff; }
.ww-label--check_actie_week   { background: #e67e22; color: #fff; }
.ww-label--check_webshop_only { background: #7f8c8d; color: #fff; }
.ww-label--custom             { background: #1c1208; color: #fff; }
.ww-label--check_vanaf_price  { background: rgba(28,18,8,.12); color: #3a2c1e; }

/* Detail-pagina: labels als rij pills */
.ww-product-labels-detail {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 8px 0 14px;
}
.ww-product-labels-detail .ww-product-label {
    position: static;
    font-size: 11px;
    padding: 4px 10px;
}

/* ── ww-cat-list: parent + shop link styling ── */
.ww-categories-list .ww-cat-active > a {
    font-weight: 700;
    color: var(--primary, #c0392b);
}
.ww-categories-list .ww-cat-parent-link > a {
    font-style: italic;
    color: #8a7060;
    font-size: 12px;
}
.ww-categories-list .ww-cat-shop-link > a {
    color: #8a7060;
    font-size: 12px;
}

/* ── Sidebar filter widgets: Decathlon-stijl uitklapbaar ──── */
aside .widget-container,
.widget-area .widget-container,
.col_filter .widget-container,
.col_filters .widget-container {
    background: #fff;
    border-radius: 0;
    border-bottom: 1px solid #ede8e3;
    padding: 0;
    margin-bottom: 0;
    box-shadow: none;
}
aside .widget-container:first-child,
.col_filter .widget-container:first-child { border-top: 1px solid #ede8e3; }

/* Widget titel: klikbare accordion header */
.widget-title,
aside .widget-title,
.col_filter .widget-title {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .03em;
    color: #1a1a1a;
    margin: 0;
    padding: 14px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    user-select: none;
    border-bottom: none;
}
.widget-title::after,
aside .widget-title::after {
    content: '';
    width: 10px; height: 10px;
    border-right: 2px solid #666;
    border-bottom: 2px solid #666;
    transform: rotate(45deg);
    transition: transform .2s;
    flex-shrink: 0;
    margin-top: -3px;
}
.widget-title.ww-collapsed::after,
aside .widget-title.ww-collapsed::after {
    transform: rotate(-135deg);
    margin-top: 3px;
}

/* Widget body */
.ww-widget-body {
    padding: 4px 14px 14px;
}
.ww-widget-body.ww-collapsed { display: none; }
/* Layered nav: checkbox-stijl items */
.woocommerce-widget-layered-nav-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.woocommerce-widget-layered-nav-list__item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 2px;
    font-size: 13px;
    cursor: pointer;
}
/* Fake checkbox voor elk item */
.woocommerce-widget-layered-nav-list__item::before {
    content: '';
    width: 16px; height: 16px;
    border: 1.5px solid #ccc;
    border-radius: 3px;
    flex-shrink: 0;
    background: #fff;
    transition: background .1s, border-color .1s;
    display: inline-block;
}
.woocommerce-widget-layered-nav-list__item.chosen::before {
    background: #1a1a1a;
    border-color: #1a1a1a;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 10 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 4l3 3 5-6' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: 10px 8px;
    background-repeat: no-repeat;
    background-position: center;
}
.woocommerce-widget-layered-nav-list__item a {
    color: #1a1a1a;
    text-decoration: none;
    flex: 1;
    font-size: 13px;
    line-height: 1.3;
}
.woocommerce-widget-layered-nav-list__item:hover a { color: #000; }
.woocommerce-widget-layered-nav-list__item.chosen a { font-weight: 600; }
.woocommerce-widget-layered-nav-list__item .count {
    font-size: 11px;
    color: #999;
    margin-left: auto;
}

/* Meer/minder knop */
.ww-filter-more-btn {
    background: none;
    border: none;
    color: #555;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 2px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.ww-filter-more-btn:hover { color: #000; }
/* Actieve filters: tags met × */
.widget_layered_nav_filters ul { list-style: none; margin: 0 0 4px; padding: 14px 16px 10px; display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid #ede8e3; }
.widget_layered_nav_filters ul li a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 600;
    background: #f0ebe6;
    color: #1a1a1a;
    border: 1px solid #d5cec8;
    border-radius: 4px;
    padding: 4px 8px;
    text-decoration: none;
    transition: background .12s;
}
.widget_layered_nav_filters ul li a::after {
    content: '×';
    font-size: 14px;
    line-height: 1;
    opacity: .5;
}
.widget_layered_nav_filters ul li a:hover { background: #e5ddd8; }
/* Prijs slider: Decathlon-stijl */
.price_slider_wrapper { padding: 8px 0 4px; }
.price_slider {
    border-radius: 2px;
    background: #e5e5e5;
    height: 3px;
    margin: 16px 0 20px;
}
.price_slider .ui-slider-range {
    background: #1a1a1a;
    border-radius: 2px;
}
.price_slider .ui-slider-handle {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #1a1a1a;
    top: -8px;
    cursor: grab;
    outline: none;
    box-shadow: 0 1px 4px rgba(0,0,0,.2);
}
.price_slider .ui-slider-handle:active { cursor: grabbing; }
.price_label {
    font-size: 13px;
    color: #1a1a1a;
    font-weight: 600;
    margin-top: 8px;
}
.price_label .from, .price_label .to { font-weight: 700; }
.price_slider_amount { overflow: hidden; }
.price_slider_amount .button {
    float: right;
    font-size: 12px;
    font-weight: 700;
    padding: 7px 16px;
    border-radius: 4px;
    background: #1a1a1a;
    color: #fff;
    border: none;
    cursor: pointer;
    transition: background .15s;
}
.price_slider_amount .button:hover { background: #333; }
/* Mini-cart widget */
.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.woocommerce-mini-cart-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid #f0ebe6;
    font-size: 13px;
}
.woocommerce-mini-cart-item img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 8px;
    flex-shrink: 0;
}
.woocommerce-mini-cart-item a { color: #3a2c1e; text-decoration: none; flex: 1; font-weight: 600; }
.woocommerce-mini-cart-item .remove { font-size: 16px; color: #bbb; flex-shrink: 0; }
.woocommerce-mini-cart__total {
    display: flex;
    justify-content: space-between;
    font-size: 14px;
    font-weight: 700;
    margin: 12px 0 10px;
    padding-top: 10px;
    border-top: 2px solid #f0ebe6;
}
.woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: 7px; }
.woocommerce-mini-cart__buttons .button {
    display: block;
    text-align: center;
    padding: 10px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}
.woocommerce-mini-cart__buttons .button:first-child { background: #f0ebe6; color: #3a2c1e; }
.woocommerce-mini-cart__buttons .button.checkout { background: var(--primary, #c0392b); color: #fff; }

/* Mobiel 1 per rij: ul.products altijd 100% breed */
@media (max-width: 479px) {
    ul.products,
    ul.products.columns-1,
    ul.products.columns-2,
    ul.products.columns-3,
    ul.products.columns-4 {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    ul.products li.product { width: 100% !important; }
}

/* ── 8. Products_wrapper padding-left als filter aanwezig ── */
.has-filter-sidebar .products_wrapper { padding-left: 50px; }
@media (max-width: 991px) { .has-filter-sidebar .products_wrapper { padding-left: 0; } }

/* ── 9. Swatch size: hoogte auto, inhoud past altijd ── */
.ww-swatch-size {
    height: auto !important;
    min-height: 34px;
    padding: 5px 8px !important;
    white-space: normal;
    word-break: break-word;
    line-height: 1.3;
}

/* ── 3B. Filter sidebar strakker ── */
/* Widget titles */
.widget-title,
aside .widget-title { 
    font-size: 11px !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-weight: 700;
    color: #5a4a3a;
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #ede8e3;
}
/* Widget containers */
aside .widget-container,
.widget-area .widget-container {
    background: #fff;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 12px;
    box-shadow: 0 1px 6px rgba(0,0,0,.05);
}
/* Price slider neutrale kleur */
.price_slider .ui-slider-range {
    background: #3a2c1e !important;
}
.price_slider .ui-slider-handle {
    border-color: #3a2c1e !important;
    background: #fff !important;
}
.price_slider_amount .button {
    background: #3a2c1e !important;
    color: #fff !important;
    border-radius: 8px !important;
    font-size: 12px !important;
    padding: 5px 12px !important;
}
/* Mobiel filter panel */
.ww-mobile-filter-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.45);
    z-index: 9998;
    backdrop-filter: blur(2px);
}
.ww-mobile-filter-overlay.open { display: block; }
.ww-mobile-filter-panel {
    position: fixed;
    top: 0;
    right: -100%;
    width: min(360px, 92vw);
    height: 100%;
    background: #fff;
    z-index: 9999;
    overflow-y: auto;
    transition: right .3s cubic-bezier(.25,.46,.45,.94);
    padding: 0;
    display: flex;
    flex-direction: column;
}
.ww-mobile-filter-panel.open { right: 0; }
.ww-filter-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 20px 14px;
    border-bottom: 1px solid #f0ebe6;
    position: sticky;
    top: 0;
    background: #fff;
    z-index: 1;
}
.ww-filter-panel-title {
    font-size: 15px;
    font-weight: 700;
    color: #2c1a0e;
}
.ww-filter-panel-close {
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    color: #5a4a3a;
    border-radius: 8px;
    transition: background .15s;
    line-height: 1;
}
.ww-filter-panel-close:hover { background: #f5f0eb; }
.ww-filter-panel-body {
    flex: 1;
    padding: 16px 20px;
    overflow-y: auto;
}
/* Trigger knop */
.ww-filter-trigger {
    display: none; /* alleen op mobiel */
    align-items: center;
    gap: 7px;
    background: #fff;
    border: 1.5px solid #e8e2dc;
    border-radius: 10px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 600;
    color: #3a2c1e;
    cursor: pointer;
    transition: background .15s, border-color .15s;
    margin-bottom: 12px;
}
.ww-filter-trigger:hover { background: #faf7f4; border-color: #c5b8ae; }
.ww-filter-trigger svg { width: 15px; height: 15px; flex-shrink: 0; }
@media (max-width: 767px) { .ww-filter-trigger { display: inline-flex; } }

/* Sale label: zelfde stijl als andere ww-product-labels */
.ww-label--sale {
    background: #e74c3c;
    color: #fff;
}
/* Sale label altijd bovenste positie in de pthumb */
.pthumb .ww-label--sale {
    top: 8px !important;
}
.pthumb .ww-label--sale ~ .ww-product-label {
    top: 30px !important;
}
/* Tweede extra label: 52px als er ook een sale is */
.pthumb .ww-label--sale ~ .ww-product-label + .ww-product-label {
    top: 52px !important;
}

/* Verwijder de oude .pbadge sale styling (die wordt niet meer gebruikt) */
.pbadge.sale { display: none !important; }

/* ── Cart prijsweergave met doorgestreept oud ── */
.ww-cart-price-wrap { display: flex; flex-direction: column; gap: 1px; line-height: 1.3; }
.ww-cart-old-price {
    text-decoration: none !important;
    font-size: 11px !important;
    color: #aaa !important;
    display: block;
}
.ww-cart-old-price .woocommerce-Price-amount {
    font-size: 11px !important;
    color: #aaa !important;
    text-decoration: line-through !important;
}
.ww-cart-old-price bdi { text-decoration: line-through !important; }
.ww-cart-new-price {
    text-decoration: none !important;
    font-weight: 700;
    display: block;
}
.ww-cart-new-price .woocommerce-Price-amount { color: var(--primary, #c0392b); }

/* Swiper: verberg lege slides + disabled pijlen stijlen */
.swiper-button-disabled { opacity: .35 !important; cursor: default !important; }
.product-gallery-main.swiper-container-initialized .swiper-slide:empty { display: none !important; }

/* ── Thumb ratio via body class ── */
.ww-ratio-1-1  .pthumb,
.ww-ratio-1-1  .product-gallery-main .swiper-slide .img { aspect-ratio: 1 / 1 !important; height: auto !important; }
.ww-ratio-4-3  .pthumb,
.ww-ratio-4-3  .product-gallery-main .swiper-slide .img { aspect-ratio: 4 / 3 !important; height: auto !important; }
.ww-ratio-3-4  .pthumb,
.ww-ratio-3-4  .product-gallery-main .swiper-slide .img { aspect-ratio: 3 / 4 !important; height: auto !important; }
.ww-ratio-16-9 .pthumb,
.ww-ratio-16-9 .product-gallery-main .swiper-slide .img { aspect-ratio: 16 / 9 !important; height: auto !important; }
.ww-ratio-3-2  .pthumb,
.ww-ratio-3-2  .product-gallery-main .swiper-slide .img { aspect-ratio: 3 / 2 !important; height: auto !important; }
.ww-ratio-2-3  .pthumb,
.ww-ratio-2-3  .product-gallery-main .swiper-slide .img { aspect-ratio: 2 / 3 !important; height: auto !important; }

/* ── Hide prices: inloggen link ── */
.ww-price-hidden a {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: var(--primary, #c0392b);
    text-decoration: underline;
    padding: 4px 0;
}

/* ── Load more knop ── */
.ww-load-more-btn {
    display: block;
    margin: 24px auto 0;
    padding: 12px 32px;
    border-radius: 10px;
    font-weight: 700;
    font-size: 14px;
    background: #fff;
    border: 1.5px solid #e8e3de;
    color: #3a2c1e;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}
.ww-load-more-btn:hover { background: #faf7f4; border-color: #c5b8ae; }

/* ── Order step badge ── */
.ww-step-badge {
    display: inline-block;
    font-size: 10px;
    font-weight: 700;
    background: #f0ebe6;
    color: #5a4a3a;
    border-radius: 4px;
    padding: 2px 7px;
    margin-top: 3px;
    letter-spacing: .03em;
}

/* ── 5 kolommen ── */
ul.products.columns-5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 991px) { ul.products.columns-5 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 767px) { ul.products.columns-5 { grid-template-columns: repeat(2, 1fr) !important; } }

/* ── Card qty widget ── */
.ww-card-qty-wrap { position: relative; }
.ww-card-qty-wrap.loading { opacity: .6; pointer-events: none; }
.ww-card-qty-row {
    display: inline-flex;
    align-items: center;
    gap: 0;
    background: #fff;
    border: 1.5px solid #e8e3de;
    border-radius: 8px;
    overflow: hidden;
}
.ww-card-qty-btn {
    width: 30px;
    height: 30px;
    background: none;
    border: none;
    font-size: 16px;
    font-weight: 600;
    color: #3a2c1e;
    cursor: pointer;
    line-height: 1;
    padding: 0;
    transition: background .12s;
}
.ww-card-qty-btn:hover { background: #f5f0eb; }
.ww-card-qty-val {
    min-width: 28px;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: #2c1a0e;
    padding: 0 2px;
}
.ww-card-atc {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    background: var(--primary, #c0392b);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: opacity .15s;
    padding: 0;
}
.ww-card-atc:hover { opacity: .85; }
.ww-card-atc .ww-atc-icon { width: 16px; height: 16px; stroke: #fff; }

/* ── Min order notice ── */
.ww-min-order-notice {
    font-size: 13px;
    color: #8a7060;
    background: #faf7f4;
    border: 1px solid #e8e3de;
    border-radius: 8px;
    padding: 10px 14px;
    margin-top: 10px;
    line-height: 1.5;
}
.ww-min-order-notice strong { color: #3a2c1e; }

/* ── Price hidden (niet ingelogd) ── */
.ww-price-hidden {
    font-size: 12px;
    font-weight: 600;
    color: #8a7060;
    font-style: italic;
}

/* ── Cart qty +/- knoppen ── */
.ww-cart-qty-row {
    display: inline-flex;
    align-items: center;
    gap: 0;
    background: #fff;
    border: 1.5px solid #e8e3de;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 6px;
}
.ww-cart-qty-btn {
    width: 32px;
    height: 36px;
    background: none;
    border: none;
    font-size: 17px;
    font-weight: 600;
    color: #3a2c1e;
    cursor: pointer;
    padding: 0;
    transition: background .12s;
    line-height: 1;
    flex-shrink: 0;
}
.ww-cart-qty-btn:hover { background: #f5f0eb; }
.ww-cart-qty-row input.qty {
    width: 50px !important;
    text-align: center;
    border: none !important;
    border-left: 1px solid #e8e3de !important;
    border-right: 1px solid #e8e3de !important;
    border-radius: 0 !important;
    height: 36px !important;
    font-weight: 700;
    padding: 0 4px !important;
    box-shadow: none !important;
    margin: 0 !important;
}
.ww-update-cart-btn {
    display: block;
    margin-top: 4px;
    font-size: 11px !important;
    padding: 4px 10px !important;
    background: #f5f0eb !important;
    color: #5a4a3a !important;
    border: 1px solid #e8e3de !important;
    border-radius: 6px !important;
    cursor: pointer;
}

/* Min order error met custom class */
.ww-min-order-error { display: block; }
.woocommerce-error:has(.ww-min-order-error) { /* te targeten vanuit thema-CSS */ }

/* ── Card qty: nieuwe layout met qty-rij + cart-icon naast elkaar ── */
.ww-card-qty-wrap {
    display: flex;
    align-items: center;
    gap: 6px;
}
.ww-card-qty-row {
    display: inline-flex;
    align-items: center;
    background: #fff;
    border: 1.5px solid #e8e3de;
    border-radius: 8px;
    overflow: hidden;
    flex: 1;
}
.ww-card-qty-btn {
    width: 28px;
    height: 30px;
    background: none;
    border: none;
    font-size: 15px;
    font-weight: 700;
    color: #3a2c1e;
    cursor: pointer;
    padding: 0;
    transition: background .12s;
    flex-shrink: 0;
}
.ww-card-qty-btn:hover { background: #f5f0eb; }
.ww-card-qty-val {
    flex: 1;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #2c1a0e;
    min-width: 24px;
}
.ww-card-atc {
    width: 32px;
    height: 32px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary, #c0392b);
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: opacity .15s, background .15s;
    padding: 0;
}
.ww-card-atc:hover { opacity: .85; }
.ww-card-atc--active {
    background: #2ecc71; /* groen = al in cart */
}
.ww-card-atc .ww-atc-icon { width: 14px; height: 14px; stroke: #fff; }

/* Cart count bounce animatie */
.ww-cart-bounce {
    animation: ww-bounce .35s cubic-bezier(.36,.07,.19,.97);
}
@keyframes ww-bounce {
    0%, 100% { transform: scale(1); }
    30% { transform: scale(1.4); }
    60% { transform: scale(.9); }
}

/* Card fields template */
.ww-card-field { font-size: 12px; line-height: 1.4; color: #5a4a3a; margin-bottom: 2px; }
.ww-card-title { font-size: 14px; font-weight: 700; color: #2c1a0e; margin-bottom: 4px; }
.ww-card-sku, .ww-card-dim, .ww-card-weight, .ww-card-attr { font-size: 11px; color: #8a7060; }
.ww-card-label { font-weight: 600; color: #5a4a3a; }
.ww-card-desc { font-size: 12px; color: #7a6a5e; }

/* ── Card: visuele stijl van <a.pcard> naar <li> verplaatsen ──
   De <li> omsluit nu zowel de link als de qty-wrap, zodat border/radius
   om alles heen valt. De <a> wordt transparant/borderless.
─────────────────────────────────────────────────────────────── */
li.product-card-item {
    background: #fff;
    border-radius: var(--ww-card-radius, 12px);
    border: 1px solid var(--ww-card-border, #e8e3de);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .25s, box-shadow .25s;
}
li.product-card-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 24px rgba(0,0,0,.09);
}
/* <a.pcard> stijl: transparant, geen eigen border/radius */
a.pcard {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    overflow: visible !important;
    box-shadow: none !important;
    flex: 1;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
    width: 100%;
    cursor: pointer;
}
/* Qty-wrap: naadloos onderaan de li */
.ww-card-qty-wrap {
    display: flex;
    align-items: center;
    gap: 5px;
    width: 100%;
    padding: 8px 10px;
    border-top: 1px solid var(--ww-card-border, #e8e3de);
    box-sizing: border-box;
    background: transparent;
}

/* Cart icon flash bevestiging */
.ww-atc-flash { animation: ww-atc-flash .5s ease; }
@keyframes ww-atc-flash {
    0%   { transform: scale(1); background: var(--primary, #c0392b); }
    40%  { transform: scale(1.2); background: #2ecc71; }
    100% { transform: scale(1); }
}
.ww-loading { opacity: .6; pointer-events: none; }

/* ── 6. Checkout: order_review plakt bovenaan ── */
.woocommerce-checkout .col2-set + #order_review { margin-top: 0; }
#order_review_heading { margin-bottom: 0; }
#order_review { margin-top: 0 !important; }

/* ── 7. Register form button extra class ── */
.ww-register-form button[type="submit"] { }  /* wordt al gedaan via PHP class attr */

/* ── 8. Cart empty alert: consistente styling ── */
.cart-empty.woocommerce-info {
    padding: 12px 16px !important;
    text-align: left !important;
    font-size: 14px !important;
}

/* ── 9. Mijn account: select veld zelfde stijl als inputs ── */
.woocommerce-address-fields select,
.woocommerce-EditAccountForm select,
.woocommerce form select {
    width: 100% !important;
    height: auto !important;
    padding: 8px 12px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    font-size: 14px !important;
    background: #fff !important;
    color: inherit !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    box-sizing: border-box !important;
}

/* ── 11. Wachtwoord fieldset border ── */
.woocommerce-EditAccountForm fieldset {
    border-color: #ddd !important;
    border-width: 1px !important;
    border-style: solid;
    padding: 16px;
    border-radius: 6px;
}

/* ── Bewerken-link onder h2 in adres overzicht ── */
.woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; }
.woocommerce-Address-title h2 { flex: 1; min-width: 0; margin: 0; }
.woocommerce-Address-title .edit { font-size: 12px; color: #8a7060; text-decoration: underline; }
@media (max-width: 500px) {
    .woocommerce-Address-title { flex-direction: column; gap: 2px; }
}

/* ── Register form: vrije HTML-regels ── */
.ww-reg-html { font-size: 13px; color: #5a4a3a; line-height: 1.6; }
.ww-reg-html a { color: var(--primary, #c0392b); text-decoration: underline; }

/* ── Password strength bar ── */
.ww-password-strength { margin-top: 6px; }
.ww-pw-bar { height: 4px; border-radius: 4px; background: #eee; overflow: hidden; margin-bottom: 4px; }
.ww-pw-fill { height: 100%; width: 0%; border-radius: 4px; transition: width .3s, background .3s; }
.ww-pw-label { font-size: 11px; display: block; }

/* ── Register form: vrije HTML-regel inline ── */
.ww-reg-html span { display: inline; }
.ww-reg-html span a { color: var(--primary, #c0392b); text-decoration: underline; }
.ww-reg-html { font-size: 13px; color: #5a4a3a; line-height: 1.6; }

/* ── Factuur knop in bestellingenoverzicht: zelfde formaat als Bekijken ── */
.woocommerce-orders-table__cell-order-actions a[href*="generate_wpo_wcpdf"],
.woocommerce-orders-table a.ww-invoice-btn {
    font-size: 12px !important;
    padding: 5px 10px !important;
    border-radius: 6px !important;
    background: #edf3f8 !important;
    color: #2c5f8a !important;
    border: 1px solid #c8d8e8 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    display: inline-block;
}
.woocommerce-orders-table__cell-order-actions a[href*="generate_wpo_wcpdf"]:hover,
.woocommerce-orders-table a.ww-invoice-btn:hover {
    background: #d6e8f4 !important;
    border-color: #2c5f8a !important;
}

/* ── Mijn account: bestellingentabel ── */
.woocommerce-orders-table.shop_table {
    border-collapse: collapse;
    width: 100%;
    border: none;
}
.woocommerce-orders-table th {
    background: #f8f6f3;
    color: #5a4a3a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 12px 16px !important;
    border-bottom: 2px solid #ede8e3;
    border-top: none;
    white-space: nowrap;
}
.woocommerce-orders-table td {
    padding: 12px 16px !important;
    border-bottom: 1px solid #f5f2ef !important;
    border-top: none !important;
    font-size: 13px;
    vertical-align: middle;
    color: #3a2c1e;
}
.woocommerce-orders-table tr:last-child td { border-bottom: none !important; }
.woocommerce-orders-table tr:hover td { background: #faf8f6; }

/* Orderstatus pills */
.woocommerce-orders-table .woocommerce-order-status {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .03em;
}
/* Status kleuren via mark.order-status */
mark.order-status.status-completed  { background: rgba(39,174,96,.1);  color: #1e8449; }
mark.order-status.status-processing { background: rgba(52,152,219,.1); color: #1a5276; }
mark.order-status.status-on-hold    { background: rgba(243,156,18,.1); color: #9a6b00; }
mark.order-status.status-pending    { background: rgba(149,165,166,.1);color: #5a6a6a; }
mark.order-status.status-cancelled  { background: rgba(231,76,60,.1);  color: #c0392b; }
mark.order-status.status-refunded   { background: rgba(155,89,182,.1); color: #6c3483; }
mark.order-status.status-failed     { background: rgba(231,76,60,.15); color: #922b21; }

/* ── Order details tabel (view-order) ── */
.woocommerce-table--order-details {
    border-collapse: collapse;
    width: 100%;
    border: none !important;
}
.woocommerce-table--order-details thead th {
    background: #f8f6f3;
    color: #5a4a3a;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    padding: 10px 14px !important;
    border-bottom: 1px solid #ede8e3 !important;
    border-top: none !important;
}
.woocommerce-table--order-details tbody td,
.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td {
    padding: 10px 14px !important;
    border-bottom: 1px solid #f5f2ef !important;
    border-top: none !important;
    font-size: 13px;
    color: #3a2c1e;
}
.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td { border-bottom: none !important; }
.woocommerce-table--order-details tfoot tr:has(th[scope="row"]) th {
    color: #8a7060;
    font-weight: 600;
}
/* Acties tfoot: andere stijl */
.woocommerce-table--order-details tfoot tr:first-child th.order-actions--heading {
    color: #8a7060;
    font-weight: 700;
    font-size: 11px;
    text-transform: uppercase;
}

/* ── Actieve filters: altijd zichtbaar, geen accordion ── */
.widget_layered_nav_filters.widget-container {
    border: none !important;
    padding: 0 !important;
    background: transparent !important;
}
.widget_layered_nav_filters .widget-title {
    display: none !important;  /* Geen "Actieve filters" koptekst */
}
.widget_layered_nav_filters .ww-widget-body {
    display: block !important;
    padding: 10px 0 6px !important;
}
.widget_layered_nav_filters ul {
    padding: 0 !important;
    border-bottom: none !important;
    gap: 5px !important;
}
.widget_layered_nav_filters ul li a {
    background: #fff !important;
    border: 1.5px solid #1a1a1a !important;
    color: #1a1a1a !important;
    font-size: 12px !important;
    padding: 3px 8px !important;
    border-radius: 3px !important;
}
.widget_layered_nav_filters ul li a::after {
    content: ' ×';
    font-size: 13px;
    font-weight: 700;
    opacity: .7;
}
.widget_layered_nav_filters ul li a:hover {
    background: #f5f5f5 !important;
}

/* ── Header caption uitlijning ── */
.headerimg {
    position: relative;    /* nodig voor absolute caption */
}
.headerimg .caption {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: flex;
    padding: 24px 32px;
    box-sizing: border-box;
    z-index: 2;
    /* align-items via .caption-v-* klasse */
}
.headerimg .caption-inner {
    max-width: 700px;
    width: 100%;
}
/* Horizontale uitlijning (justify-content op de flex-container) */
.caption-h-left   { justify-content: flex-start; text-align: left; }
.caption-h-center { justify-content: center;     text-align: center; }
.caption-h-right  { justify-content: flex-end;   text-align: right; }
/* Verticale uitlijning — !important om vroege .caption regels te overrulen */
.caption-v-top    { align-items: flex-start !important; padding-top: 32px; }
.caption-v-center { align-items: center !important; }
.caption-v-bottom { align-items: flex-end !important; padding-bottom: 28px; }
/* Beschrijving in header */
.ww-header-desc {
    font-size: 14px;
    color: rgba(255,255,255,.9);
    margin-top: 8px;
    max-width: 600px;
    line-height: 1.6;
    text-shadow: 0 1px 3px rgba(0,0,0,.3);
}

/* ── Custom product label pills ── */
.ww-product-label-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 6px 0 10px;
}
.ww-label-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 4px;
    background: #f0f4f8;
    color: #2c5f8a;
    border: 1px solid #c8d8e8;
    letter-spacing: .02em;
}

/* ── Below-title content ── */
.ww-detail-below-title {
    font-size: 13px;
    color: #5a4a3a;
    margin: 4px 0 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.ww-sku, .ww-dimensions, .ww-weight {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    color: #8a7060;
}
.ww-sku strong, .ww-dimensions strong, .ww-weight strong { color: #3a2c1e; }

/* ── Swiper navigation pijlen: geen verspringen bij hover ── */
.product-gallery-main .swiper-button-next,
.product-gallery-main .swiper-button-prev {
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
    transition: background .2s, box-shadow .2s !important;
}
.product-gallery-main .swiper-button-next:hover,
.product-gallery-main .swiper-button-prev:hover {
    top: 50% !important;
    transform: translateY(-50%) !important;
    margin-top: 0 !important;
    background: rgba(255,255,255,1) !important;
    box-shadow: 0 3px 12px rgba(0,0,0,.2) !important;
}

/* ── Parent categorie terug-link boven h1 in archive ── */
.ww-cat-parent-back {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,.85);
    text-decoration: none;
    margin-bottom: 6px;
    letter-spacing: .01em;
    transition: color .15s;
}
.ww-cat-parent-back svg {
    width: 16px; height: 16px;
    flex-shrink: 0;
}
.ww-cat-parent-back:hover { color: #fff; }

/* Zonder headerimg: donkere variant */
.ww-toolbar-section .ww-cat-parent-back {
    color: #5a4a3a;
}
.ww-toolbar-section .ww-cat-parent-back:hover { color: #1a1a1a; }

/* ── Tekst onder categoriebeschrijving ── */
.ww-cat-below-desc {
    font-size: 14px;
    color: #5a4a3a;
    margin-top: 8px;
    line-height: 1.7;
}
.ww-cat-below-desc p { margin: 0 0 6px; }
/* In de header: witte tekst */
.caption .ww-cat-below-desc {
    color: rgba(255,255,255,.85);
    text-shadow: 0 1px 3px rgba(0,0,0,.3);
}

/* ── Billing readonly overzicht ── */
.ww-address-readonly-wrap {
    background: #faf7f4;
    border: 1px solid #ede8e3;
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 20px;
}
.ww-ro-row {
    display: flex;
    gap: 12px;
    padding: 4px 0;
    border-bottom: 1px solid #f0ebe6;
    font-size: 13px;
}
.ww-ro-row:last-of-type { border-bottom: none; }
.ww-ro-label { color: #8a7060; min-width: 130px; flex-shrink: 0; }
.ww-ro-note { margin: 14px 0 0; font-size: 13px; color: #5a4a3a; }

/* ── 2. Verzendadres: land select hoogte fix ── */
.woocommerce-MyAccount-content .woocommerce-address-fields select,
.woocommerce-address-fields select#shipping_country,
.woocommerce-address-fields select#billing_country {
    height: auto !important;
    min-height: 42px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    width: 100% !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    background: #fff !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    box-sizing: border-box !important;
    line-height: 1.5 !important;
}

/* ── 4. Bewerken link: geen float ── */
.woocommerce-Address-title .edit {
    float: none !important;
    display: inline-block;
    font-size: 12px;
    color: #8a7060;
    text-decoration: underline;
    margin-left: 8px;
}

/* ── Cart: tekst boven totalen ── */
.ww-cart-totals-top {
    background: #faf7f4;
    border: 1px solid #ede8e3;
    border-radius: 10px;
    padding: 14px 16px;
    margin-bottom: 16px;
    font-size: 14px;
    color: #5a4a3a;
    line-height: 1.6;
}
.ww-cart-totals-top p:last-child { margin-bottom: 0; }
.ww-cart-totals-top strong { color: #1a1a1a; }

/* ── 5. Cart totals tabel: mooi wit blok ── */
.cart_totals .shop_table {
    background: #fff;
    border: 1px solid #ece7e2;
    border-radius: 14px;
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0;
    box-shadow: 0 2px 10px rgba(0,0,0,.04);
}
.cart_totals .shop_table th,
.cart_totals .shop_table td {
    padding: 14px 18px !important;
    border: none !important;
    border-bottom: 1px solid #f2eee9 !important;
    font-size: 14px;
    vertical-align: top;
    text-align: left;
}
.cart_totals .shop_table tr:last-child th,
.cart_totals .shop_table tr:last-child td {
    border-bottom: none !important;
}
.cart_totals .shop_table th {
    color: #8a7060;
    font-weight: 600;
    width: 40%;
}
.cart_totals .shop_table td {
    text-align: right;
    color: #1a1a1a;
}
/* Subtotaal en verzending subtieler */
.cart_totals .cart-subtotal th,
.cart_totals .shipping th { font-weight: 500; }

/* Totaal-rij benadrukken */
.cart_totals .order-total th,
.cart_totals .order-total td {
    background: #faf7f4;
    font-size: 16px !important;
    font-weight: 700;
    color: #1a1a1a;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}
.cart_totals .order-total td strong { font-weight: 700; }

/* Verzendmethodes netjes */
.cart_totals .woocommerce-shipping-methods {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: right;
}
.cart_totals .woocommerce-shipping-methods li {
    margin-bottom: 4px;
    font-size: 13px;
}
.cart_totals .woocommerce-shipping-destination {
    font-size: 12px;
    color: #8a7060;
    margin: 8px 0 0;
    text-align: right;
}
.cart_totals h2 {
    font-size: 18px;
    margin-bottom: 14px;
}

/* ════════════════════════════════════════════
   CHECKOUT besteloverzicht (#order_review)
════════════════════════════════════════════ */

/* 3. Tabel tegen 'Je bestelling' aan — niet verticaal centreren */
#order_review,
.woocommerce-checkout-review-order {
    align-self: flex-start !important;
    vertical-align: top !important;
}
#order_review_heading {
    margin-bottom: 12px !important;
}
.woocommerce-checkout-review-order {
    margin-top: 0 !important;
}

/* Naam-wrap met thumbnail */
.ww-order-name-wrap {
    display: flex;
    align-items: center;
    gap: 10px;
}
.ww-order-name-text { display: block; }
.ww-order-below-name {
    display: block;
    font-size: 12px;
    color: #8a7060;
    margin-top: 2px;
    line-height: 1.3;
}

/* 4. Checkout review tabel netjes uitlijnen */
.woocommerce-checkout-review-order-table {
    width: 100%;
    border-collapse: separate !important;
    border-spacing: 0;
    background: #fff;
    border: 1px solid #ece7e2;
    border-radius: 14px;
    overflow: hidden;
}
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td {
    padding: 12px 16px !important;
    border: none !important;
    border-bottom: 1px solid #f2eee9 !important;
    font-size: 14px;
    vertical-align: middle !important;
}
.woocommerce-checkout-review-order-table thead th {
    background: #faf7f4;
    color: #8a7060;
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .02em;
}
/* Product naam links, totaal rechts */
.woocommerce-checkout-review-order-table .product-name {
    text-align: left;
    width: 70%;
}
.woocommerce-checkout-review-order-table .product-total {
    text-align: right !important;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
/* Aantal: naast de titel ipv eronder */
.woocommerce-checkout-review-order-table .product-quantity,
.woocommerce-checkout-review-order-table .product-name .product-quantity {
    display: inline-block;
    margin-left: 6px;
    color: #8a7060;
    font-weight: 600;
    font-size: 13px;
    white-space: nowrap;
}
/* Verberg losse strong qty die WC onder de naam zet, we tonen inline */
.woocommerce-checkout-review-order-table .cart_item .product-name > .product-quantity {
    vertical-align: middle;
}
/* Subtotaal / totaal rijen */
.woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout-review-order-table tfoot td {
    padding: 12px 16px !important;
    border: none !important;
    border-top: 1px solid #f2eee9 !important;
    text-align: right;
    font-size: 14px;
}
.woocommerce-checkout-review-order-table tfoot th { text-align: left; color: #8a7060; font-weight: 600; }
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
    background: #faf7f4;
    font-size: 16px !important;
    font-weight: 700;
    color: #1a1a1a;
}
.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout-review-order-table tfoot tr:last-child td { border-bottom: none !important; }

/* 5. Cart qty input border-radius 0 */
.woocommerce-cart-form .cart_item .qty,
.woocommerce-cart-form input.qty,
td.product-quantity .qty {
    border-radius: 0 !important;
}

/* Cart item naam onder titel */
.ww-cart-name-text { display: block; }
.woocommerce-cart-form .ww-order-below-name {
    display: block;
    font-size: 12px;
    color: #8a7060;
    margin-top: 2px;
    line-height: 1.3;
}

/* ── Single product: alleen plus/min (knop verborgen) ── */
.single-product form.cart.ww-single-plusmin-only button.single_add_to_cart_button,
.ww-single-plusmin-only .ww-atc-row > button.single_add_to_cart_button,
.ww-single-plusmin-only button.single_add_to_cart_button {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    position: absolute !important;
    pointer-events: none !important;
}
.ww-single-plusmin-only .ww-atc-row {
    gap: 0 !important;
    display: inline-flex !important;
    width: auto !important;
}
.ww-single-plusmin-only .ww-qty-wrapper {
    width: auto;
    max-width: 220px;
    margin: 0 !important;
}
/* Subtiele update-indicatie op het qty-veld */
.single-product form.cart input.qty.ww-qty-updating {
    box-shadow: 0 0 0 2px rgba(44,95,138,.25);
    transition: box-shadow .2s;
}

/* ── Flash-animatie op qty-wrapper bij plus/min (knop verborgen) ── */
.ww-qty-wrapper.ww-qty-flash,
.ww-card-qty-row.ww-qty-flash {
    animation: ww-qty-pulse .4s ease;
}
@keyframes ww-qty-pulse {
    0%   { transform: scale(1); }
    40%  { transform: scale(1.06); box-shadow: 0 0 0 3px rgba(44,95,138,.18); }
    100% { transform: scale(1); }
}

/* ── Terug-link boven producttitel: alleen zo breed als de inhoud ── */
.ww-product-cat-back {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    width: auto !important;
    max-width: max-content;
    font-size: 13px;
    font-weight: 600;
    color: #8a7060;
    text-decoration: none;
    margin-bottom: 8px;
    line-height: 1.3;
    transition: color .15s;
}
.ww-product-cat-back svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}
.ww-product-cat-back:hover {
    color: #1a1a1a;
}
/* Zorg dat de wrapper de link niet oprekt */
.col_product_inner_side > .ww-product-cat-back {
    align-self: flex-start;
}

/* ── Nieuwe productkaart-velden ── */
.ww-card-brand {
    font-size: 12px;
    color: #8a7060;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.ww-card-stock {
    font-size: 12px;
    font-weight: 600;
}
.ww-card-stock.ww-in-stock  { color: #2e7d32; }
.ww-card-stock.ww-out-stock { color: #b32d2e; }
.ww-card-levertijd {
    font-size: 12px;
    color: #5a4a3a;
}
.ww-card-levertijd .ww-card-label { color: #8a7060; }

/* ════════════════════════════════════════════
   Diverse layout-optimalisaties (v4.2)
════════════════════════════════════════════ */

/* 3. Caption-inner: container-breedte + gutters ── */
.headerimg .caption-inner {
    max-width: var(--containerWidth);
    margin-right: auto;
    margin-left: auto;
    padding-right: var(--bs-gutter-x, .75rem);
    padding-left: var(--bs-gutter-x, .75rem);
    width: 100%;
    box-sizing: border-box;
}
@media (max-width: 767px) {
    .headerimg .caption-inner {
        padding-right: 0;
        padding-left: 0;
    }
}

/* 4. Product-afbeelding verticaal centreren in de kaart ── */
.woocommerce ul.products li.product a img {
    align-self: center !important;
}

/* 5. Product detail side-kolom: padding-left, weg op mobiel ── */
.col_product_inner_side {
    padding-left: 75px;
}
@media (max-width: 991px) {
    .col_product_inner_side {
        padding-left: 0;
    }
}

/* 7. Related producten: horizontaal scrollen op mobiel ── */
@media (max-width: 767px) {
    .section_product_related ul.products {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scroll-snap-type: x mandatory;
        gap: 12px;
        padding-bottom: 8px;
        grid-template-columns: none !important;
    }
    .section_product_related ul.products li.product {
        flex: 0 0 85% !important;
        max-width: 85% !important;
        width: 85% !important;
        scroll-snap-align: start;
        margin: 0 !important;
    }
}

/* 8. Checkout coupon-melding: ruimte eronder + icoon-tekst overlap fix ── */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-info {
    margin-bottom: 24px;
}
.woocommerce-checkout .woocommerce-info {
    position: relative;
    padding-left: 3em;
    line-height: 1.6;
}
.woocommerce-checkout .woocommerce-info::before {
    top: 50%;
    transform: translateY(-50%);
    left: 1em;
}

/* 10. Checkout 'Je bestelling': geen extra ruimte onder de heading ── */
#order_review_heading {
    margin-bottom: 12px !important;
    margin-top: 0 !important;
}
.woocommerce-checkout #order_review {
    margin-top: 0 !important;
}

/* 9. Checkout: "Aanvullende informatie" ONDER factuurgegevens (niet ernaast) ── */
.woocommerce-checkout #customer_details {
    display: block !important;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 !important;
}
.woocommerce-checkout #customer_details .col-2 {
    margin-top: 24px !important;
}
.woocommerce-checkout .woocommerce-additional-fields {
    clear: both;
    margin-top: 24px;
}

/* ════════════════════════════════════════════
   Checkout & cart optimalisaties (v4.3)
════════════════════════════════════════════ */

/* (v4.3 flex-poging vervangen door grid-layout verderop in dit bestand) */

/* 4. Cart totaal: btw-regel subtieler eronder ── */
.cart_totals .order-total td .includes_tax,
.woocommerce-checkout-review-order-table .order-total td .includes_tax,
.order-total .includes_tax {
    display: block;
    font-size: 70%;
    opacity: 0.75;
    line-height: 1;
    margin-top: 3px;
    font-weight: 400;
}

/* ── Shipment tracking in Mijn account ── */
.ww-account-tracking {
    background: #f0f4f8;
    border: 1px solid #c8d8e8;
    border-radius: 12px;
    padding: 18px 20px;
    margin-bottom: 24px;
}
.ww-account-tracking h3 {
    margin: 0 0 8px;
    font-size: 16px;
    color: #2c5f8a;
}
.ww-account-tracking p {
    margin: 0 0 12px;
    font-size: 14px;
    line-height: 1.6;
}
.ww-track-btn {
    display: inline-block;
    background: transparent !important;
    color: var(--primary, #c0392b) !important;
    border: 1px solid var(--primary, #c0392b) !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    text-decoration: none !important;
    font-weight: 600;
    font-size: 12px !important;
    transition: background .15s, color .15s;
}
.ww-track-btn:hover {
    background: var(--primary, #c0392b) !important;
    color: #fff !important;
}

/* Volg-zending knop in het orders-OVERZICHT (naast Bekijken) — zelfde stijl */
.woocommerce-orders-table__cell .button.ww_track,
.woocommerce-MyAccount-content .button.ww_track,
a.button.ww_track {
    background: transparent !important;
    color: var(--primary, #c0392b) !important;
    border: 1px solid var(--primary, #c0392b) !important;
    font-size: 12px !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    transition: background .15s, color .15s;
}
.woocommerce-orders-table__cell .button.ww_track:hover,
.woocommerce-MyAccount-content .button.ww_track:hover,
a.button.ww_track:hover {
    background: var(--primary, #c0392b) !important;
    color: #fff !important;
}

/* ════════════════════════════════════════════
   MIJN ACCOUNT – Orders tabel & detail (v4.4)
════════════════════════════════════════════ */

/* ── Orders-overzicht tabel: strak, thead grijs, rijen wit ── */
.woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-MyAccount-content table.my_account_orders {
    border-collapse: separate !important;
    border-spacing: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #ece7e2;
    border-radius: 12px;
    overflow: hidden;
}
.woocommerce-MyAccount-content .woocommerce-orders-table thead th,
.woocommerce-MyAccount-content table.my_account_orders thead th {
    background: #f6f4f1;
    color: #6a5c4e;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 14px 16px;
    border: none;
    text-align: left;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody td,
.woocommerce-MyAccount-content .woocommerce-orders-table tbody th,
.woocommerce-MyAccount-content table.my_account_orders tbody td {
    background: #fff;
    padding: 14px 16px;
    border: none !important;
    border-top: 1px solid #f2eee9 !important;
    font-size: 14px;
    vertical-align: middle;
    color: #3a2c1e;
    font-weight: 400;
}
/* Eerste cel (Bestelnummer) is een <th scope=row> — reset extra border/gewicht */
.woocommerce-MyAccount-content .woocommerce-orders-table tbody th {
    font-weight: 400;
    border-bottom: none !important;
    box-shadow: none !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:first-child td,
.woocommerce-MyAccount-content .woocommerce-orders-table tbody tr:first-child th {
    border-top: none !important;
}

/* ── Status pill ── */
.ww-order-status-pill {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.4;
    background: #eee;
    color: #555;
}
.ww-status-completed   { background: #e3f4e6; color: #2e7d32; }
.ww-status-processing  { background: #e3eef9; color: #2c5f8a; }
.ww-status-on-hold     { background: #fdf3e0; color: #b57614; }
.ww-status-pending     { background: #f3f0ec; color: #8a7060; }
.ww-status-cancelled,
.ww-status-failed      { background: #fbe6e6; color: #b32d2e; }
.ww-status-refunded    { background: #eee; color: #666; }

/* ── Actie-knoppen in het overzicht ── */
.woocommerce-orders-table__cell-order-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}
.woocommerce-orders-table__cell-order-actions .button,
.woocommerce-MyAccount-content .woocommerce-button.button {
    font-size: 12px !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    margin: 0 !important;
    transition: background .15s, color .15s, border-color .15s;
}
/* "Bekijken" knop hover: zwart met witte tekst */
.woocommerce-button.button.view:hover {
    background: #1a1a1a !important;
    color: #fff !important;
    border-color: #1a1a1a !important;
}
/* Factuur-knop hover idem */
.woocommerce-button.button.invoice:hover {
    background: #1a1a1a !important;
    color: #fff !important;
    border-color: #1a1a1a !important;
}

/* ── Volg-zending knop: gevuld primary (niet transparant) ── */
.button.ww-track-btn,
.button.ww_track {
    background: var(--primary, #c0392b) !important;
    color: #fff !important;
    border: 1px solid var(--primary, #c0392b) !important;
    font-size: 12px !important;
    padding: 6px 14px !important;
    border-radius: 6px !important;
    font-weight: 600;
    transition: filter .15s;
}
.button.ww-track-btn:hover,
.button.ww_track:hover {
    filter: brightness(0.88);
    color: #fff !important;
}

/* ════════════════════════════════════════════
   ORDER-DETAIL pagina: strak & eenvoudig
════════════════════════════════════════════ */

/* Order-details tabel netjes */
.woocommerce-order-details .order_details,
.woocommerce-order-details table.order_details {
    border-collapse: separate !important;
    border-spacing: 0;
    width: 100%;
    background: #fff;
    border: 1px solid #ece7e2;
    border-radius: 12px;
    overflow: hidden;
}
.woocommerce-order-details .order_details thead th {
    background: #f6f4f1;
    color: #6a5c4e;
    font-weight: 600;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .03em;
    padding: 14px 16px;
    border: none;
    text-align: left;
}
.woocommerce-order-details .order_details tbody td,
.woocommerce-order-details .order_details tfoot th,
.woocommerce-order-details .order_details tfoot td {
    padding: 14px 16px;
    border: none;
    border-top: 1px solid #f2eee9;
    font-size: 14px;
    color: #3a2c1e;
    vertical-align: top;
}
.woocommerce-order-details .order_details tbody tr:first-child td {
    border-top: none;
}
.woocommerce-order-details .order_details .product-total,
.woocommerce-order-details .order_details tfoot td {
    text-align: right;
    white-space: nowrap;
}
.woocommerce-order-details .order_details tfoot th {
    text-align: left;
    color: #6a5c4e;
    font-weight: 600;
}
/* Prijzen niet laten zweven */
.woocommerce-order-details .woocommerce-Price-amount {
    display: inline-block;
    vertical-align: baseline;
    color: #3a2c1e;
}
/* Product-aantal netjes achter de naam */
.woocommerce-order-details .product-name .product-quantity {
    color: #8a7060;
    font-weight: 600;
    margin-left: 4px;
}

/* wc-item-meta: label + waarde op één lijn, geen zweefeffect */
.woocommerce-order-details .wc-item-meta,
.wc-item-meta {
    list-style: none !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
}
.wc-item-meta li {
    display: flex;
    gap: 5px;
    align-items: baseline;
    margin: 0 0 2px !important;
    font-size: 13px;
    color: #8a7060;
}
.wc-item-meta li strong.wc-item-meta-label {
    font-weight: 600;
    color: #6a5c4e;
    margin: 0 !important;
}
.wc-item-meta li p {
    margin: 0 !important;
    display: inline;
    color: #3a2c1e;
}

/* ── Order-detail acties (factuur + opnieuw bestellen) in één wrapper ── */
.ww-order-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #f0ebe6;
}
.ww-order-detail-actions .button,
.ww-order-action-btn {
    font-size: 13px !important;
    padding: 9px 18px !important;
    border-radius: 6px !important;
    margin: 0 !important;
    transition: background .15s, color .15s, border-color .15s;
}
.ww-order-detail-actions .button:hover,
.ww-order-action-btn:hover {
    background: #1a1a1a !important;
    color: #fff !important;
    border-color: #1a1a1a !important;
}
/* Verberg de standaard losse WC "Opnieuw bestellen" p.order-again (we tonen 'm zelf) */
.woocommerce-order-details ~ .order-again,
.woocommerce-MyAccount-content .order-again {
    display: none !important;
}
/* tfoot Acties-rij (volg zending) knop marge */
.woocommerce-order-details .order_details tfoot .order-actions-button {
    margin: 0 6px 6px 0 !important;
}

/* Klantgegevens blok strak */
.woocommerce-customer-details address {
    background: #faf8f6;
    border: 1px solid #f0ebe6;
    border-radius: 10px;
    padding: 16px 18px;
    font-size: 14px;
    line-height: 1.7;
    color: #3a2c1e;
    font-style: normal;
}

/* ── Responsive: orders-tabel als kaartjes op mobiel ── */
@media (max-width: 768px) {
    .woocommerce-MyAccount-content .woocommerce-orders-table {
        border: none !important;
        border-radius: 0;
        overflow: visible;
        background: transparent;
        display: block;
        width: 100%;
    }
    .woocommerce-MyAccount-content .woocommerce-orders-table thead {
        display: none;
    }
    .woocommerce-MyAccount-content .woocommerce-orders-table tbody {
        display: block;
        width: 100%;
    }
    .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr {
        display: block;
        width: 100%;
        border: 1px solid #ece7e2;
        border-radius: 10px;
        margin-bottom: 12px;
        padding: 4px 0;
        background: #fff;
        box-sizing: border-box;
    }
    .woocommerce-MyAccount-content .woocommerce-orders-table tbody td,
    .woocommerce-MyAccount-content .woocommerce-orders-table tbody th {
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        width: 100% !important;
        border: none !important;
        border-top: 1px solid #f4f0ec !important;
        padding: 10px 16px !important;
        text-align: right;
        box-sizing: border-box;
    }
    .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr td:first-child,
    .woocommerce-MyAccount-content .woocommerce-orders-table tbody tr th:first-child {
        border-top: none !important;
    }
    .woocommerce-orders-table__cell::before {
        content: attr(data-title);
        font-weight: 600;
        color: #8a7060;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: .02em;
        margin-right: 12px;
    }
    .woocommerce-orders-table__cell-order-actions {
        justify-content: flex-end;
        flex-wrap: wrap;
        gap: 6px;
    }
    /* Cart product-quantity op mobiel onder elkaar, links uitlijnen */
    .woocommerce-cart-form__cart-item .product-quantity {
        flex-direction: column;
        align-items: flex-start !important;
        text-align: left !important;
    }
}

/* ════════════════════════════════════════════
   Checkout & product-list overige (v4.4)
════════════════════════════════════════════ */

/* Lijstweergave productkaart: witte body */
ul.products.ww-list-view li.product .pbody {
    background: #fff;
}

/* ════════════════════════════════════════════
   Checkout layout — hoge specificiteit override
   (wint van thema-regels die 'undefined' areas zetten)
════════════════════════════════════════════ */
body.woocommerce-checkout form.checkout,
body.woocommerce-page form.checkout,
html body form.woocommerce-checkout.checkout {
    display: grid !important;
    grid-template-columns: 2fr 1fr !important;
    grid-template-areas:
        "details  review-heading"
        "details  review" !important;
    column-gap: 24px !important;
    row-gap: 0 !important;
    align-items: start !important;
}
body.woocommerce-checkout form.checkout > #customer_details,
html body form.woocommerce-checkout #customer_details {
    grid-area: details !important;
    grid-column: 1 !important;
    align-self: start !important;
}
body.woocommerce-checkout form.checkout > #order_review_heading,
html body form.woocommerce-checkout #order_review_heading {
    grid-area: review-heading !important;
    grid-column: 2 !important;
    align-self: start !important;
}
body.woocommerce-checkout form.checkout > #order_review,
html body form.woocommerce-checkout #order_review {
    grid-area: review !important;
    grid-column: 2 !important;
    align-self: start !important;
}

@media (max-width: 900px) {
    body.woocommerce-checkout form.checkout,
    body.woocommerce-page form.checkout,
    html body form.woocommerce-checkout.checkout {
        grid-template-columns: 1fr !important;
        grid-template-areas:
            "details"
            "review-heading"
            "review" !important;
    }
    body.woocommerce-checkout form.checkout > #customer_details,
    html body form.woocommerce-checkout #customer_details {
        grid-column: 1 !important;
    }
    body.woocommerce-checkout form.checkout > #order_review_heading,
    html body form.woocommerce-checkout #order_review_heading {
        grid-column: 1 !important;
    }
    body.woocommerce-checkout form.checkout > #order_review,
    html body form.woocommerce-checkout #order_review {
        grid-column: 1 !important;
    }
}

/* ════════════════════════════════════════════
   BEDANKPAGINA / order-received (v4.4)
════════════════════════════════════════════ */

/* 1. Lege groene melding verbergen als er een eigen bedanktekst is ── */
.woocommerce-order:has(.ww-has-custom-thankyou) .woocommerce-thankyou-order-received,
.woocommerce-thankyou-order-received:has(.ww-has-custom-thankyou) {
    display: none !important;
}
/* Fallback voor browsers zonder :has — verberg een lege order-received melding */
p.woocommerce-thankyou-order-received:empty {
    display: none !important;
}

/* Eigen bedanktekst: nette paragraph-marges */
.ww-custom-thankyou {
    margin: 0 0 24px;
    line-height: 1.7;
    color: #3a2c1e;
}
.ww-custom-thankyou h2 {
    font-size: 22px;
    margin: 0 0 12px;
    color: #2c2015;
}
.ww-custom-thankyou h3 {
    font-size: 17px;
    margin: 20px 0 8px;
    color: #2c2015;
}
.ww-custom-thankyou p {
    margin: 0 0 14px;
}
.ww-custom-thankyou a {
    color: var(--primary, #c0392b);
    text-decoration: underline;
}

/* 2. Order-overview lijst (bestelnummer/datum/totaal/betaalmethode) ── */
.woocommerce-order .woocommerce-order-overview.order_details {
    padding-left: 0;
    margin: 0 0 28px;
}
.woocommerce-order-overview.order_details li:first-child {
    padding-left: 1.5em;
}

/* 3. Order-details tabel: alleen kop gekleurd, rest wit + auto tekstkleur ── */
.woocommerce-order-details .woocommerce-table--order-details,
table.woocommerce-table--order-details {
    background: #fff !important;
}
.woocommerce-order-details .woocommerce-table--order-details tbody td,
.woocommerce-order-details .woocommerce-table--order-details tbody th,
.woocommerce-order-details .woocommerce-table--order-details tfoot td,
.woocommerce-order-details .woocommerce-table--order-details tfoot th {
    background: #fff !important;
    color: inherit !important;
}
/* Bruine tekstkleur in de tfoot labels resetten */
.woocommerce-table--order-details tfoot tr:has(th[scope="row"]) th,
.woocommerce-table--order-details tfoot th {
    color: inherit !important;
}

/* 4. Order-detail acties padding ── */
.ww-order-detail-actions {
    padding: 15px;
}

/* 5. Product-total en tfoot links uitlijnen ── */
.woocommerce-order-details .order_details .product-total,
.woocommerce-order-details .order_details tfoot td,
.woocommerce-order-details .woocommerce-table--order-details .product-total,
.woocommerce-order-details .woocommerce-table--order-details tfoot td {
    text-align: left !important;
}

/* 6. Line-item rows gelijk uitlijnen (naam links, prijs rechts, geen rare borders) ── */
.woocommerce-table--order-details .woocommerce-table__line-item.order_item td,
.woocommerce-table--order-details tbody tr td {
    border-bottom: 1px solid #f2eee9 !important;
    padding: 12px 16px !important;
    vertical-align: top;
    background: #fff !important;
}
.woocommerce-table--order-details .woocommerce-table__line-item .product-name,
.woocommerce-table--order-details tbody td.product-name {
    width: auto;
    text-align: left !important;
}
.woocommerce-table--order-details .woocommerce-table__line-item .product-total,
.woocommerce-table--order-details tbody td.product-total {
    width: 1%;
    white-space: nowrap;
    text-align: left !important;
}

/* Mobiel: order-overview + details netjes ── */
@media (max-width: 768px) {
    /* 2. Overview list: niet tegen de rand, geen dashed rechts, geen margin-right */
    .woocommerce-order-overview.order_details {
        display: block !important;
        border: none !important;
    }
    .woocommerce-order-overview.order_details li {
        float: none !important;
        width: 100% !important;
        border-right: none !important;
        margin-right: 0 !important;
        padding: 10px 16px !important;
        border-bottom: 1px solid #f2eee9;
    }
    .woocommerce-order-overview.order_details li:first-child {
        padding-left: 16px !important;
    }
    .woocommerce-order-overview.order_details li:last-child {
        border-bottom: none;
    }

    /* 6. Order-details tabel op mobiel: compacter, alles binnen beeld ── */
    .woocommerce-order-details .woocommerce-table--order-details,
    .woocommerce-table.order_details {
        display: table !important;
        width: 100% !important;
        table-layout: fixed;
        font-size: 13px;
    }
    .woocommerce-table--order-details tbody td,
    .woocommerce-table.order_details tbody td,
    .woocommerce-table--order-details tfoot th,
    .woocommerce-table--order-details tfoot td {
        display: table-cell !important;
        padding: 12px 12px !important;
        word-break: break-word;
        vertical-align: top;
    }
    /* Eerste kolom (naam) smaller → prijskolom breder, past nowrap netjes */
    .woocommerce-table--order-details tbody td.product-name,
    .woocommerce-table.order_details tbody td.product-name,
    .woocommerce-table--order-details tfoot th {
        width: 55% !important;
        text-align: left !important;
    }
    /* Prijskolom: nowrap zodat bedragen niet afbreken */
    .woocommerce-table--order-details tbody td.product-total,
    .woocommerce-table.order_details tbody td.product-total,
    .woocommerce-table--order-details tfoot td {
        width: 45% !important;
        text-align: right !important;
        white-space: nowrap;
    }
    .ww-order-detail-actions {
        flex-direction: column;
    }
    .ww-order-detail-actions .button {
        width: 100%;
        text-align: center;
    }
}

/* ── "Inloggen voor prijs" link op de productdetailpagina ── */
.ww-price-hidden-detail a.ww-price-hidden-link,
.ww-price-hidden-detail .ww-price-hidden-link {
    color: inherit;
    text-decoration: none !important;
    border-bottom: none !important;
    transition: color .15s;
}
.ww-price-hidden-detail a.ww-price-hidden-link:hover,
.ww-price-hidden-detail .ww-price-hidden-link:hover {
    color: var(--primary, #c0392b);
    text-decoration: none !important;
}

/* ── Tekst/inhoud onderaan de productdetailpagina ── */
.ww-product-after-content {
    margin: 32px 0 0;
    padding-top: 24px;
    border-top: 1px solid #f0ebe6;
    line-height: 1.7;
    color: #3a2c1e;
}
.ww-product-after-content > div + div {
    margin-top: 20px;
}
.ww-product-after-content h2 { font-size: 20px; margin: 0 0 10px; }
.ww-product-after-content h3 { font-size: 17px; margin: 16px 0 8px; }
.ww-product-after-content p { margin: 0 0 14px; }

/* ════════════════════════════════════════════
   Categoriepagina container-breedte (v4.5)
   Fallback zodat container/container-fluid altijd werkt,
   ook als het thema deze classes niet (goed) definieert.
════════════════════════════════════════════ */
.ww-row-container.container {
    width: 100%;
    max-width: var(--containerWidth, 1290px);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--bs-gutter-x, .75rem);
    padding-right: var(--bs-gutter-x, .75rem);
    box-sizing: border-box;
}
.ww-row-container.container-fluid {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--bs-gutter-x, .75rem);
    padding-right: var(--bs-gutter-x, .75rem);
    box-sizing: border-box;
}
/* .row binnen de container regelt de kolommen zelf */
.product_archive_wrapper .ww-row-container > .row {
    display: flex;
    flex-wrap: wrap;
}

/* ── Filter-titel (koptekst boven de filters) ── */
.sidebar-header {
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #f0ebe6;
}
.sidebar-header .sidebar-title {
    font-size: 18px;
    font-weight: 700;
    color: #2c2015;
    display: block;
}

/* ── Filter-titel: verbergen in het mobiele uitschuif-panel ── */
/* Het mobiele panel heeft al een eigen kop (.ww-filter-panel-title),
   dus de extra sidebar-header daarbinnen is overbodig. */
.ww-mobile-filter-panel .sidebar-header,
.ww-filter-panel-body .sidebar-header {
    display: none !important;
}

/* ── Inhoud onder "In winkelwagen" op de detailpagina ── */
.ww-detail-below-atc {
    margin-top: 24px;
    line-height: 1.7;
    color: #3a2c1e;
}
.ww-detail-below-atc p { margin: 0 0 12px; }
.ww-detail-below-atc p:last-child { margin-bottom: 0; }

/* ── Flexibele veld-shortcode [ww_field] ── */
.ww-field {
    display: inline-block;
}
/* ── Prijsvoordeel (besparing) rechtsonder in het prijsblok ── */
.row_price_stock .price {
    position: relative;
}
.ww-price-savings {
    display: block;
    text-align: right;
    font-size: 13px;
    font-weight: 600;
    color: #b32d2e;
    margin-top: 4px;
}
.ww-price-savings .ww-savings-label {
    font-weight: 500;
    color: #8a7060;
}

/* ── FAQ accordion (Veelgestelde vragen) ── */
.ww-faq-list { margin: 0; }
.ww-faq-item {
    border-bottom: 1px solid #ece7e2;
}
.ww-faq-item:first-child { border-top: 1px solid #ece7e2; }
.ww-faq-q {
    display: block;
    width: 100%;
    text-align: left;
    background: none;
    border: 0;
    padding: 16px 32px 16px 0;
    font-size: 15px;
    font-weight: 600;
    color: #2c2015;
    cursor: pointer;
    position: relative;
}
.ww-faq-q::after {
    content: '';
    position: absolute;
    right: 4px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #8a7060;
    border-bottom: 2px solid #8a7060;
    transform: translateY(-70%) rotate(45deg);
    transition: transform .2s;
}
.ww-faq-item.open .ww-faq-q::after {
    transform: translateY(-30%) rotate(-135deg);
}
.ww-faq-a {
    padding: 0 0 16px;
    color: #3a2c1e;
    line-height: 1.7;
}
.ww-faq-a p:last-child { margin-bottom: 0; }

/* ── Foto-card naast de producttabs ── */
.ww-tabs-row { align-items: flex-start; }
.ww-tab-side-card {
    background: #faf8f6;
    border: 1px solid #ece7e2;
    border-radius: 14px;
    overflow: hidden;
    position: relative;
}
.ww-tab-side-card .ww-tab-card-img {
    display: block;
    width: 100%;
    height: auto;
}
.ww-tab-side-card .ww-tab-card-text {
    padding: 20px 22px;
    line-height: 1.6;
    color: #3a2c1e;
}
/* Tekst IN de foto (overlay) wanneer er zowel een foto als tekst is */
.ww-tab-side-card:has(.ww-tab-card-img) .ww-tab-card-text {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    background: linear-gradient(to top, rgba(0,0,0,.75), rgba(0,0,0,.15) 70%, transparent);
    color: #fff;
}
.ww-tab-side-card:has(.ww-tab-card-img) .ww-tab-card-text h2,
.ww-tab-side-card:has(.ww-tab-card-img) .ww-tab-card-text h3,
.ww-tab-side-card:has(.ww-tab-card-img) .ww-tab-card-text a {
    color: #fff;
}
@media (max-width: 767px) {
    .ww-tab-card-col { margin-top: 24px; }
}

/* ── Gerelateerde nieuws/blog berichten (productpagina) ── */
.section_related_news {
    margin-top: 40px;
    padding: 32px 0;
}
.ww-related-news-head {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.ww-related-news-title {
    margin: 0;
    font-size: 22px;
    color: #2c2015;
}
.ww-related-news-link {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary, #c0392b);
    text-decoration: none;
    white-space: nowrap;
}
.ww-related-news-link:hover { text-decoration: underline; }

/* ── Categoriebeschrijving inkorten ("lees verder") ── */
.ww-cat-desc-more {
    color: var(--primary, #c0392b);
    font-weight: 600;
    text-decoration: underline;
    cursor: pointer;
    white-space: nowrap;
}
.ww-cat-desc-more:hover { text-decoration: none; }
.ww-cat-desc-full p:last-child { margin-bottom: 0; }

/* Categorie-blokjes: picture netjes ── */
.products.columns-ww li.product-category picture,
li.product-category picture {
    display: block;
}
li.product-category picture img { width: 100%; height: auto; display: block; }
