/**
 * Laatste laag — wint t.o.v. theme.json / Global Styles / Woo blok-CSS (paars, grid).
 * Wordt geladen als paperchase-shop-woo-priority (wp_enqueue_scripts prio 2000, ná paperchase-shop-woocommerce).
 */

/*
 * Ultrawide / grote desktop: #primary cap (zelfde als shop-archief, 92rem).
 * `woocommerce.css` zet .pcs-woo-shop .site-main op max-width:100%; catalog-grid-bruteforce.css
 * laadt op single/cart/checkout niet — daarom hier.
 */
body.paperchase-shop-theme.single-product #primary.site-main,
body.paperchase-shop-theme.woocommerce-cart #primary.site-main,
body.paperchase-shop-theme.woocommerce-checkout #primary.site-main,
body.paperchase-shop-theme.woocommerce-account #primary.site-main {
    width: 100% !important;
    max-width: min(92rem, 100%) !important;
    float: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* —— Single product: géén paarse wp-element-button —— */
body.woocommerce.single-product button.single_add_to_cart_button,
body.woocommerce.single-product button.single_add_to_cart_button.wp-element-button,
body.woocommerce.single-product button.single_add_to_cart_button.button.alt,
body.single-product.woocommerce button[name="add-to-cart"],
body.single-product .woocommerce form.cart button[type="submit"].single_add_to_cart_button {
    background-color: #173cc8 !important;
    background-image: none !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

body.woocommerce.single-product button.single_add_to_cart_button:hover,
body.woocommerce.single-product button.single_add_to_cart_button:focus-visible {
    background-color: #1e4ae0 !important;
    color: #fff !important;
}

/* —— Quantity: zelfde donkere chip als cart — wint t.o.v. wc-blocks-packages / theme.json —— */
body.pcs-woo-shop .wc-block-components-quantity-selector {
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    background: #0a0a0a !important;
}

body.pcs-woo-shop .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input,
body.pcs-woo-shop .wc-block-components-quantity-selector input[type="number"] {
    background: transparent !important;
    color: #fff !important;
    border: none !important;
    box-shadow: none !important;
}

body.pcs-woo-shop.single-product form.cart .quantity:not(.hidden),
body.woocommerce-cart.pcs-woo-shop .woocommerce .quantity:not(.hidden) {
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    background: #0a0a0a !important;
}

body.pcs-woo-shop.single-product .quantity input.qty,
body.woocommerce-cart.pcs-woo-shop .woocommerce .quantity .qty {
    background: transparent !important;
    color: #fff !important;
}

/* Single: quantity-chip niet inkrimpen; verticaal centreren t.o.v. ATC (geen stretch) */
body.pcs-woo-shop.single-product form.cart .quantity:not(.hidden) {
    flex: 0 0 auto !important;
    align-self: center !important;
}

/* Blok-ATC op productpagina: zelfde compacte chip als klassiek formulier */
body.pcs-woo-shop.single-product .wc-block-components-quantity-selector {
    flex: 0 0 auto !important;
}

/*
 * Single product + winkelwagen (blok): +/- op desktop gelijk aan mobiel (theme.json / Woo blok).
 */
body.woocommerce.single-product.pcs-woo-shop .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
body.pcs-woo-shop.single-product .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
body.woocommerce-cart.pcs-woo-shop .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    min-width: 3.35rem !important;
    padding: 0.55rem 0.85rem !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: rgba(245, 245, 245, 0.96) !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

body.woocommerce.single-product.pcs-woo-shop .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input,
body.woocommerce.single-product.pcs-woo-shop .wc-block-components-quantity-selector input[type="number"],
body.pcs-woo-shop.single-product .wc-block-components-quantity-selector input[type="number"],
body.woocommerce-cart.pcs-woo-shop .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input,
body.woocommerce-cart.pcs-woo-shop .wc-block-components-quantity-selector input[type="number"] {
    min-width: 3.25rem !important;
    padding: 0.55rem 0.85rem !important;
}

/* Alleen klassieke winkelwagen-tabel (niet single — daar vaste chip-hoogte hieronder). */
body.woocommerce-cart.pcs-woo-shop .woocommerce .quantity .plus,
body.woocommerce-cart.pcs-woo-shop .woocommerce .quantity .minus,
body.woocommerce-cart.pcs-woo-shop .woocommerce .quantity a.plus,
body.woocommerce-cart.pcs-woo-shop .woocommerce .quantity a.minus,
body.woocommerce-cart.pcs-woo-shop .woocommerce .quantity button.plus,
body.woocommerce-cart.pcs-woo-shop .woocommerce .quantity button.minus,
body.woocommerce-cart.pcs-woo-shop .woocommerce .quantity > button[type="button"],
body.woocommerce-cart.pcs-woo-shop .woocommerce .quantity input[type="button"] {
    min-width: 3.35rem !important;
    padding: 0.55rem 0.85rem !important;
    min-height: 2.75rem !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: rgba(245, 245, 245, 0.96) !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
}

/*
 * Single product: klassieke .quantity = zelfde «chip»-profiel als wc-block cart (vaste hoogte,
 * −/+/veld vullen de rij — voorkomt uitrekken naast skew-ATC of losse min-heights).
 */
html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity:not(.hidden),
html body.pcs-woo-shop.woocommerce.single-product form.cart .quantity:not(.hidden) {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    align-self: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    height: 3rem !important;
    min-height: 3rem !important;
    max-height: 3rem !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    border-radius: 9px !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    background: #0a0a0a !important;
}

html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity .plus,
html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity .minus,
html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity a.plus,
html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity a.minus,
html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity button.plus,
html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity button.minus,
html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity > button[type="button"],
html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity input[type="button"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    min-width: 3.35rem !important;
    width: auto !important;
    min-height: 0 !important;
    height: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 0.85rem !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 0 !important;
    background: rgba(255, 255, 255, 0.06) !important;
    color: rgba(245, 245, 245, 0.96) !important;
    font-size: 1.125rem !important;
    font-weight: 600 !important;
    line-height: 1 !important;
}

html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity input.qty,
html body.pcs-woo-shop.woocommerce.single-product form.cart .quantity input.input-text.qty {
    flex: 1 1 auto !important;
    align-self: stretch !important;
    min-width: 3rem !important;
    min-height: 0 !important;
    height: 100% !important;
    max-width: 5.5rem !important;
    margin: 0 !important;
    padding: 0 0.65rem !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    text-align: center !important;
    font-family: var(--pcs-font-body, "Poppins", system-ui, sans-serif) !important;
    font-weight: 600 !important;
    font-size: 0.9375rem !important;
    line-height: 1.3 !important;
    -moz-appearance: textfield !important;
    appearance: textfield !important;
}

html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity input.qty::-webkit-outer-spin-button,
html body.woocommerce.single-product.pcs-woo-shop form.cart .quantity input.qty::-webkit-inner-spin-button,
html body.pcs-woo-shop.woocommerce.single-product form.cart .quantity input.input-text.qty::-webkit-outer-spin-button,
html body.pcs-woo-shop.woocommerce.single-product form.cart .quantity input.input-text.qty::-webkit-inner-spin-button {
    -webkit-appearance: none !important;
    margin: 0 !important;
    appearance: none !important;
}

/* Productform: ruimte tussen aantal en ATC; volle breedte zodat ATC ver naar rechts kan */
html body.woocommerce.single-product.pcs-woo-shop form.cart,
html body.pcs-woo-shop.woocommerce.single-product form.cart {
    gap: 1rem 2.25rem !important;
    justify-content: flex-start !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

@media (min-width: 600px) {
    html body.woocommerce.single-product.pcs-woo-shop form.cart button.single_add_to_cart_button,
    html body.pcs-woo-shop.woocommerce.single-product form.cart button.single_add_to_cart_button,
    html body.woocommerce.single-product.pcs-woo-shop form.cart button[type="submit"][name="add-to-cart"],
    html body.pcs-woo-shop.woocommerce.single-product form.cart button[type="submit"][name="add-to-cart"] {
        margin-left: auto !important;
        margin-right: 0 !important;
        flex-shrink: 0 !important;
    }

    /* Iets grotere horizontale gap + volle breedte: blauwe ATC verder naar rechts */
    html body.woocommerce.single-product.pcs-woo-shop form.cart,
    html body.pcs-woo-shop.woocommerce.single-product form.cart {
        gap: 1rem 2.75rem !important;
    }
}

/*
 * Blok-winkelwagen / mini-cart: volledige quantity-chip (− / veld / +) — smalle cellen of overflow
 * mogen de +-knop niet wegknippen (vooral desktop).
 */
body.pcs-woo-shop .wc-block-cart .wc-block-components-quantity-selector,
body.pcs-woo-shop .wc-block-mini-cart .wc-block-components-quantity-selector {
    display: inline-flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    overflow: visible !important;
    min-width: min(100%, 10.5rem);
    max-width: 100%;
}

body.pcs-woo-shop .wc-block-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
body.pcs-woo-shop .wc-block-mini-cart .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
}

body.pcs-woo-shop .wc-block-cart .wc-block-components-quantity-selector svg,
body.pcs-woo-shop .wc-block-mini-cart .wc-block-components-quantity-selector svg {
    display: block !important;
    flex-shrink: 0 !important;
}

/*
 * Shop / archief: producttegels —zelfde 1:1 mediavlak (klassiek én Woo Blocks).
 * Veel sites tonen /shop/ via blokken; .pcs-product-card geldt dan niet — daarom ook .wc-block-*.
 */
body.pcs-woo-shop ul.products li.product.pcs-product-card {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
}

body.pcs-woo-shop .pcs-product-card .woocommerce-loop-product__link img,
body.pcs-woo-shop .pcs-product-card a.woocommerce-LoopProduct-link img {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    background-color: rgba(0, 0, 0, 0.28) !important;
    border-radius: 0 !important;
}

/*
 * WP 6.5+ (wp-img-auto-sizes-contain-inline-css): img[sizes^="auto,"] krijgt contain-intrinsic-size:3000px 1500px.
 * Dat breekt 1:1 + grid op shop / related / upsells — hier expliciet uitzetten (wint t.o.v. core inline).
 */
body.pcs-woo-shop ul.products li.product img,
body.pcs-woo-shop .related.products ul.products li.product img,
body.pcs-woo-shop .upsells.products ul.products li.product img {
    contain-intrinsic-size: none !important;
}

body.pcs-woo-shop .wc-block-grid .wc-block-grid__products > li.wc-block-grid__product,
body.pcs-woo-shop ul.wc-block-product-template > li.wc-block-product {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 100% !important;
    align-self: stretch !important;
}

body.pcs-woo-shop .wc-block-grid__product-image img,
body.pcs-woo-shop .wc-block-product .wc-block-components-product-image img,
body.pcs-woo-shop ul.wc-block-product-template .wc-block-components-product-image img,
body.pcs-woo-shop ul.wc-block-product-template > li.wc-block-product figure img {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    contain-intrinsic-size: none !important;
}

body.pcs-woo-shop .wc-block-grid__product-image img.woocommerce-placeholder,
body.pcs-woo-shop ul.wc-block-product-template img.woocommerce-placeholder {
    object-fit: contain !important;
    padding: clamp(0.65rem, 3.5vw, 1.15rem) !important;
    background: rgba(0, 0, 0, 0.38) !important;
    box-sizing: border-box !important;
}

/*
 * Shop grid + Product Collection (<900px): 2 kolommen.
 * — Classic: Woo smallscreen zet li.product op float+48% — expliciet resetten naast display:grid.
 * — Blokken: WC 9.5+ Product Collection = ul.wc-block-product-template (flex), géén wc-block-grid__products;
 *   core/post-template-achtige CSS zet op smalle scherm vaak li op width:100% (1 kolom) — overschrijven.
 */
@media (max-width: 899px) {
    body.pcs-woo-shop ul.products[class*="columns-"],
    body.paperchase-shop-theme ul.products[class*="columns-"],
    body.woocommerce ul.products,
    body.tax-product_cat ul.products,
    body.tax-product_tag ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(0.45rem, 2.2vw, 0.85rem) !important;
    }

    body.pcs-woo-shop ul.products li.product,
    body.paperchase-shop-theme ul.products li.product,
    body.woocommerce ul.products li.product {
        float: none !important;
        clear: none !important;
        width: auto !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .wp-block-woocommerce-product-collection ul.wc-block-product-template,
    body.pcs-woo-shop ul.wc-block-product-template,
    body.paperchase-shop-theme ul.wc-block-product-template {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(0.45rem, 2.2vw, 0.85rem) !important;
        flex-wrap: unset !important;
    }

    .wp-block-woocommerce-product-collection ul.wc-block-product-template > li,
    body.pcs-woo-shop ul.wc-block-product-template > li,
    body.paperchase-shop-theme ul.wc-block-product-template > li {
        width: auto !important;
        max-width: none !important;
        min-width: 0 !important;
        flex: none !important;
        margin: 0 !important;
    }

    .wc-block-grid .wc-block-grid__products,
    ul.wc-block-grid__products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(0.45rem, 2.2vw, 0.85rem) !important;
    }

    /* Blok-grids: géén last-child(odd) volle breedte — voorkomt 1+2 / rommelig mobiel raster */
}

/* 900–1199px: strak raster; columns-3 = 3 kolommen (gelijk aan klassieke loop + blok-shop) */
@media (min-width: 900px) and (max-width: 1199px) {
    body.woocommerce ul.products.columns-2,
    body.pcs-woo-shop ul.products.columns-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
        row-gap: clamp(0.95rem, 1.45vw, 1.25rem) !important;
        column-gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
    }

    body.woocommerce ul.products.columns-3,
    body.pcs-woo-shop ul.products.columns-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
        row-gap: clamp(0.95rem, 1.45vw, 1.25rem) !important;
        column-gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
    }

    body.woocommerce ul.products.columns-4,
    body.pcs-woo-shop ul.products.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
        row-gap: clamp(0.95rem, 1.45vw, 1.25rem) !important;
        column-gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
    }

    body.woocommerce ul.products.columns-5,
    body.woocommerce ul.products.columns-6,
    body.pcs-woo-shop ul.products.columns-5,
    body.pcs-woo-shop ul.products.columns-6 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
        row-gap: clamp(0.95rem, 1.45vw, 1.25rem) !important;
        column-gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
    }

}

/* 1200px+: 3/4 kolommen — compact, strak raster (geen overmatige witruimte) */
@media (min-width: 1200px) {
    body.woocommerce ul.products.columns-2,
    body.pcs-woo-shop ul.products.columns-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(1rem, 1.25vw, 1.45rem) !important;
        row-gap: clamp(1.05rem, 1.35vw, 1.5rem) !important;
        column-gap: clamp(1rem, 1.25vw, 1.45rem) !important;
    }

    body.woocommerce ul.products.columns-3,
    body.pcs-woo-shop ul.products.columns-3 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: clamp(1rem, 1.25vw, 1.45rem) !important;
        row-gap: clamp(1.05rem, 1.35vw, 1.5rem) !important;
        column-gap: clamp(1rem, 1.25vw, 1.45rem) !important;
    }

    body.woocommerce ul.products.columns-4,
    body.pcs-woo-shop ul.products.columns-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: clamp(1rem, 1.25vw, 1.45rem) !important;
        row-gap: clamp(1.05rem, 1.35vw, 1.5rem) !important;
        column-gap: clamp(1rem, 1.25vw, 1.45rem) !important;
    }

    body.woocommerce ul.products.columns-5,
    body.woocommerce ul.products.columns-6,
    body.pcs-woo-shop ul.products.columns-5,
    body.pcs-woo-shop ul.products.columns-6 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: clamp(1rem, 1.25vw, 1.45rem) !important;
        row-gap: clamp(1.05rem, 1.35vw, 1.5rem) !important;
        column-gap: clamp(1rem, 1.25vw, 1.45rem) !important;
    }

    /* Geen kunstmatige grid-column voor blok-laatste rij — zie woocommerce.css */
}

/* —— Winkelwagen klassiek: subtotaal rechts op één lijn met productnaam (mobiel) —— */
@media (max-width: 768px) {
    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item {
        position: relative !important;
        display: block !important;
        padding: 0.5rem 0 1rem !important;
        padding-right: max(7.5rem, min(11rem, 28vw)) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
    }

    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item td.product-subtotal {
        position: absolute !important;
        top: 0.35rem !important;
        right: 0 !important;
        left: auto !important;
        width: auto !important;
        max-width: min(10.5rem, 46vw) !important;
        padding: 0 !important;
        margin: 0 !important;
        text-align: right !important;
        border: none !important;
        background: transparent !important;
        white-space: normal !important;
    }

    /* Korting: origineel + actieprijs onder elkaar i.p.v. één gepropte regel */
    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item td.product-price .price,
    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item td.product-subtotal .price {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        gap: 0.2rem !important;
        line-height: 1.25 !important;
    }

    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item td.product-price .price del,
    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item td.product-subtotal .price del {
        font-size: 0.82em !important;
        opacity: 0.85 !important;
    }

    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item td.product-price .price ins,
    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item td.product-subtotal .price ins {
        text-decoration: none !important;
        font-weight: 700 !important;
    }

    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item td.product-subtotal::before {
        display: none !important;
        content: none !important;
    }

    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item td.product-name {
        padding-right: 0 !important;
    }

    /* Eén prijs per regel: subtotaal staat rechtsboven; unit-prijs-kolom verbergen (anders dubbel zelfde bedrag). */
    .woocommerce-cart .woocommerce-cart-form .shop_table_responsive tbody tr.cart_item td.product-price {
        display: none !important;
    }
}

/* —— Winkelwagen Blocks (mobiel): afbeelding → titel/meta → +/- & verwijderen → lijnprijs rechts —— */
@media (max-width: 600px) {
    /* Woo Blocks zet onder brede breakpoint vaak display:grid op de rij; flex-kolom stapelt de 3 <td>'s netjes. */
    .woocommerce-cart .wc-block-cart table.wc-block-cart-items,
    .woocommerce-cart .wc-block-cart table.wc-block-cart-items tbody {
        display: block !important;
        width: 100% !important;
    }

    .woocommerce-cart .wc-block-cart tr.wc-block-cart-items__row {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        gap: 0.65rem !important;
        width: 100% !important;
        box-sizing: border-box !important;
        grid-template-columns: unset !important;
    }

    .woocommerce-cart .wc-block-cart tr.wc-block-cart-items__row > td {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-cart-item__image {
        text-align: center !important;
        padding-right: 0 !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-cart-item__image img {
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
        max-width: min(200px, 72vw) !important;
        height: auto !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-cart-item__product {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-cart-item__wrap {
        flex: none !important;
        min-width: 0 !important;
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 0.45rem !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-cart-item__prices,
    .woocommerce-cart .wc-block-cart .wc-block-components-product-price {
        margin-left: 0 !important;
        max-width: 100% !important;
        text-align: left !important;
        align-self: flex-start !important;
        white-space: normal !important;
        line-height: 1.25 !important;
    }

    /* Blok-cart: sale-prijs — stapel (als unitprijs zichtbaar is) */
    .woocommerce-cart .wc-block-cart .wc-block-cart-item__prices .price,
    .woocommerce-cart .wc-block-cart .wc-block-components-product-price .price {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.15rem !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-cart-item__prices del,
    .woocommerce-cart .wc-block-cart .wc-block-components-product-price del {
        font-size: 0.82em !important;
        opacity: 0.88 !important;
        font-weight: 500 !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-cart-item__prices ins,
    .woocommerce-cart .wc-block-cart .wc-block-components-product-price ins {
        text-decoration: none !important;
        font-weight: 700 !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-components-product-price:has(del),
    .woocommerce-cart .wc-block-cart .wc-block-cart-item__prices:has(del) {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.12rem !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-cart-item__quantity {
        width: 100% !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        align-items: center !important;
        gap: 0.65rem !important;
        margin-top: 0.1rem !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-cart-item__total {
        text-align: right !important;
        align-self: stretch !important;
        padding-top: 0.1rem !important;
    }

    .woocommerce-cart .wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price,
    .woocommerce-cart .wc-block-cart .wc-block-cart-item__total .price {
        justify-content: flex-end !important;
        align-items: flex-end !important;
        margin-left: auto !important;
    }

    /* Blok-cart: geen dubbele prijs — lijnbedrag staat in .wc-block-cart-item__total; unitprijs in wrap verbergen. */
    .woocommerce-cart .wc-block-cart tr.wc-block-cart-items__row:has(.wc-block-cart-item__total) .wc-block-cart-item__prices,
    .woocommerce-cart .wc-block-cart tr.wc-block-cart-items__row:has(.wc-block-cart-item__total) .wc-block-cart-item__wrap > .wc-block-components-product-price {
        display: none !important;
    }
}

/* ========== Checkout: desktop layout + onderkant leesbaar (geen zwart op donker) ========== */
body.woocommerce-checkout .site-main,
body.woocommerce-checkout #primary.site-main {
    max-width: min(92rem, 100%) !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .wp-block-post-content,
body.woocommerce-checkout .wp-site-blocks .wp-block-post-content {
    max-width: 100% !important;
    width: 100% !important;
}

body.woocommerce-checkout .alignwide.wp-block-woocommerce-checkout,
body.woocommerce-checkout .wc-block-checkout.alignwide,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
    width: 100% !important;
    max-width: min(1200px, 100%) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

body.woocommerce-checkout .wc-block-components-sidebar-layout {
    width: 100% !important;
    gap: clamp(1rem, 3vw, 2rem) !important;
}

/*
 * Mobiel: Woo Blocks rendert order summary tweemaal (sidebar + CheckoutOrderSummaryFill bij Place order).
 * Bovenste (sidebar, collapsible met chevron) verbergen; onderste blijft zichtbaar.
 * Zie: woocommerce checkout-order-summary-block frontend.tsx (isMedium || isSmall || isMobile).
 */
@media (max-width: 782px) {
    body.woocommerce-checkout .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
        display: none !important;
    }
}

/* Land/staat-combobox: open lijst niet knippen in kolom (desktop + mobiel) */
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar-layout {
    overflow: visible !important;
}

/* Blok-checkout: basis + formulierpanelen leesbaar */
body.woocommerce-checkout .wc-block-checkout {
    color: rgba(242, 242, 242, 0.94) !important;
    padding-bottom: 1.5rem !important;
}

/*
 * Geen #141414 op main/sidebar: donkere achtergrond — lichte erftekst voor het hele blok-checkoutformulier.
 */
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-checkout__sidebar {
    color: rgba(242, 242, 242, 0.96) !important;
}

/* Eén stijl: donkere velden + witte tekst op hele checkout (wint t.o.v. theme.json / wc-packages) */
body.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input input[type="email"],
body.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input input[type="text"],
body.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input input[type="tel"],
body.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input input[type="number"],
body.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input input[type="password"],
body.woocommerce-checkout .wc-block-checkout .wc-block-components-text-input input[type="url"],
body.woocommerce-checkout .wc-block-checkout .wc-block-components-textarea textarea,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox .wc-block-components-combobox-control__input,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-select .wc-block-components-select__container select,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-select select {
    color: #fff !important;
    background-color: #0a0a0a !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 9px !important;
    color-scheme: dark !important;
}

/* Land / regio: wrapper + open lijst (combobox-portaal) — geen witte dropdown */
body.woocommerce-checkout .wc-block-checkout .wc-block-components-select .wc-block-components-select__container {
    background-color: #0a0a0a !important;
    border-radius: 9px !important;
}

body.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox-control {
    background-color: #0a0a0a !important;
    border-radius: 9px !important;
}

body.woocommerce-checkout [role="listbox"] {
    background-color: #000 !important;
    color: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 9px !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.55) !important;
    /* niet overflow:hidden — knipt de open staat/provincie-lijst af */
    max-height: min(50vh, 320px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

/* Geen afgeronde witte hoeken tussen items — vlak zwart, geen eigen radius per optie */
body.woocommerce-checkout [role="option"] {
    background-color: #000 !important;
    color: rgba(255, 255, 255, 0.96) !important;
    border-radius: 0 !important;
}

body.woocommerce-checkout [role="option"]:hover,
body.woocommerce-checkout [role="option"][data-active-item="true"],
body.woocommerce-checkout [role="option"][data-highlighted],
body.woocommerce-checkout [role="option"][aria-selected="true"] {
    background-color: rgba(255, 255, 255, 0.12) !important;
    color: #fff !important;
    border-radius: 0 !important;
}

body.woocommerce-checkout .components-form-token-field__suggestion,
body.woocommerce-checkout .components-autocomplete__result {
    background-color: #0a0a0a !important;
    color: rgba(255, 255, 255, 0.96) !important;
}

body.woocommerce-checkout .woocommerce form .form-row select option,
body.woocommerce-checkout select option {
    background-color: #0a0a0a !important;
    color: #fff !important;
}

body.woocommerce-checkout .woocommerce form .form-row select {
    color-scheme: dark !important;
}

/*
 * Select2 / selectWoo (Woo gebruikt dit vaak voor land/regio op klassieke checkout).
 * Zonder deze regels blijft de UI wit + zwarte tekst ondanks theme-selectors hierboven.
 */
body.woocommerce-checkout .select2-container--default .select2-selection--single {
    background-color: #0a0a0a !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 9px !important;
    min-height: 2.75rem !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    line-height: 2.35rem !important;
    padding-left: 0.5rem !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100% !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: rgba(255, 255, 255, 0.85) transparent transparent transparent !important;
}

body.woocommerce-checkout .select2-dropdown {
    background-color: #000 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 9px !important;
    color: #fff !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

body.woocommerce-checkout .select2-results__option {
    background-color: #000 !important;
    color: rgba(255, 255, 255, 0.96) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.96) !important;
    border-radius: 0 !important;
}

body.woocommerce-checkout .select2-results__option--highlighted,
body.woocommerce-checkout .select2-results__option[aria-selected="true"] {
    background-color: rgba(255, 255, 255, 0.14) !important;
    color: #fff !important;
    border-radius: 0 !important;
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
    background-color: #111 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 6px !important;
}

/* Klassiek: native selects expliciet (override theme.json / plugin) */
body.woocommerce-checkout .woocommerce form .form-row select,
body.woocommerce-checkout .woocommerce form .form-row .select {
    background-color: #0a0a0a !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}

/* Blok-checkout: combobox-invulveld + select (extra laag t.o.v. WC-packages inline) */
body.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox .wc-block-components-combobox-control__input,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-combobox-control .wc-block-components-combobox-control__input {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background-color: #0a0a0a !important;
}

body.woocommerce-checkout .wc-block-checkout .wc-block-components-select select,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-select .wc-block-components-select__container select {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    background-color: #0a0a0a !important;
}

/*
 * Popover rond combobox (land/staat): geen overflow:hidden op __content — dat verbergt de lijst volledig.
 * Alleen het zichtbare paneel krijgt rand/kleur; de buitenste .components-popover blijft transparant.
 */
body.woocommerce-checkout .components-popover__content,
body.woocommerce-checkout .components-dropdown__content,
body.woocommerce-checkout [data-wp-component="Popover"] .components-popover__content {
    background-color: #000 !important;
    color: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.55) !important;
    overflow: visible !important;
}

body.woocommerce-checkout .components-popover {
    background: transparent !important;
    box-shadow: none !important;
    overflow: visible !important;
}

body.woocommerce-checkout .wc-block-checkout input::placeholder,
body.woocommerce-checkout .wc-block-checkout textarea::placeholder {
    color: rgba(255, 255, 255, 0.52) !important;
    opacity: 1 !important;
}

body.woocommerce-checkout {
    color-scheme: dark;
}

body.woocommerce-checkout .wc-block-checkout .wc-block-components-payment-method .wc-block-components-radio-control__label {
    color: rgba(245, 245, 245, 0.96) !important;
}

body.woocommerce-checkout .wc-block-checkout .wc-block-components-payment-method-description,
body.woocommerce-checkout .wc-block-checkout .wc-block-components-payment-method__description {
    color: rgba(220, 220, 220, 0.9) !important;
}

/* Order note stap: donkere site-achtergrond — labels/velden expliciet (override globale checkout #141414 / #0f0f0f) */
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] {
    color: rgba(245, 245, 245, 0.96) !important;
}

body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-select-wrapper label,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-form-row-description,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-title,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-title .wc-block-components-title__text,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-checkout-step__title,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-checkout-step__description,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-select-wrapper label,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-form-row-description,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-title,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-title .wc-block-components-title__text {
    color: rgba(245, 245, 245, 0.96) !important;
}

body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-textarea textarea,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-combobox .wc-block-components-combobox-control__input,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-select .wc-block-components-select__container select,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-select select,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-textarea textarea,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-combobox .wc-block-components-combobox-control__input,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-select .wc-block-components-select__container select,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-select select {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff !important;
    background-color: #000 !important;
    background: #000 !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 9px !important;
    color-scheme: dark !important;
}

/* Ordernota: wrapper soms wit door theme.json — expliciet donker */
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block .wc-block-components-textarea,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] .wc-block-components-textarea {
    background: transparent !important;
    background-color: transparent !important;
}

body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block input::placeholder,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-order-note-block textarea::placeholder,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] input::placeholder,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-order-note-block"] textarea::placeholder {
    color: rgba(255, 255, 255, 0.5) !important;
    opacity: 1 !important;
}

/* Voorwaarden / consent: donker vlak + wit (zelfde als formuliervelden) */
body.woocommerce-checkout .wc-block-checkout .wc-block-checkout__terms,
body.woocommerce-checkout .wc-block-checkout__terms,
body.woocommerce-checkout .wc-block-checkout__terms p,
body.woocommerce-checkout .wc-block-checkout .wp-block-woocommerce-checkout-terms-block,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-terms-block"],
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
    color: rgba(255, 255, 255, 0.94) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    border-radius: 12px !important;
    padding: 1rem 1.2rem !important;
    color-scheme: dark !important;
}

body.woocommerce-checkout .wc-block-checkout__terms a,
body.woocommerce-checkout .wc-block-checkout [data-block-name="woocommerce/checkout-terms-block"] a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: #ffcb00 !important;
}

/* Footer: global styles zet soms zwart — op #050505 onleesbaar */
body.woocommerce-checkout .site-footer,
body.woocommerce-checkout .site-footer .site-footer__legal,
body.woocommerce-checkout .site-footer .site-footer__copy,
body.woocommerce-checkout .site-footer .site-footer__credits,
body.woocommerce-checkout .site-footer .site-footer__tagline,
body.woocommerce-checkout .site-footer .site-footer__tagline--footer-meta {
    color: rgba(210, 210, 210, 0.92) !important;
}

body.woocommerce-checkout .site-footer a {
    color: #e8c62a !important;
}

body.woocommerce-checkout .site-footer .site-footer__credit-link {
    color: color-mix(in srgb, var(--pcs-publishing-gold, #ffcb00) 90%, #fff) !important;
    border-bottom-color: color-mix(in srgb, var(--pcs-publishing-gold, #ffcb00) 45%, transparent) !important;
}

/*
 * «View cart» na add-to-cart:
 * — Shop/archief: <a class="added_to_cart wc-forward"> naast ATC (geen .woocommerce-message).
 * — Single / notices: zoals hieronder.
 */
body.paperchase-shop-theme a.added_to_cart.wc-forward,
body.pcs-woo-shop a.added_to_cart.wc-forward,
body.paperchase-shop-theme ul.products li.product a.added_to_cart.wc-forward,
body.pcs-woo-shop ul.products li.product a.added_to_cart.wc-forward,
body.paperchase-shop-theme .pcs-product-card a.added_to_cart.wc-forward,
body.pcs-woo-shop .pcs-product-card a.added_to_cart.wc-forward,
body.paperchase-shop-theme .woocommerce-notices-wrapper a.wc-forward,
body.paperchase-shop-theme .woocommerce-notices-wrapper a.added_to_cart.wc-forward,
body.paperchase-shop-theme .woocommerce-message a.wc-forward,
body.paperchase-shop-theme .woocommerce-message a.button.wc-forward,
body.paperchase-shop-theme .woocommerce-message a.wp-element-button.wc-forward,
body.paperchase-shop-theme .woocommerce-message .pcs-woo-cart-notice-cta,
body.paperchase-shop-theme .woocommerce-info a.wc-forward,
body.paperchase-shop-theme .woocommerce-info a.button.wc-forward,
body.paperchase-shop-theme .woocommerce-info .pcs-woo-cart-notice-cta,
body.pcs-woo-shop .woocommerce-notices-wrapper a.wc-forward,
body.pcs-woo-shop .woocommerce-message a.wc-forward,
body.pcs-woo-shop .woocommerce-message a.button.wc-forward,
body.pcs-woo-shop .woocommerce-message a.wp-element-button.wc-forward,
body.pcs-woo-shop .woocommerce-message .pcs-woo-cart-notice-cta,
body.woocommerce.single-product .woocommerce-notices-wrapper a.wc-forward,
body.woocommerce.single-product .woocommerce-message a.wc-forward {
    -webkit-appearance: none !important;
    appearance: none !important;
    float: none !important;
    opacity: 1 !important;
    display: inline-block !important;
    box-sizing: border-box !important;
    margin-top: 0.65rem !important;
    margin-inline: 0 !important;
    background: #173cc8 !important;
    background-color: #173cc8 !important;
    background-image: none !important;
    color: #fff !important;
    border: none !important;
    border-radius: 0 !important;
    border-bottom: 5px solid #fff !important;
    box-shadow: none !important;
    outline: none !important;
    font-family: "Heavy", "futuraheavy", "Jost", sans-serif !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.033em !important;
    font-size: clamp(0.68rem, 3.2vw, 0.78rem) !important;
    line-height: 1.2 !important;
    padding: 0.62rem 0.95rem !important;
    text-decoration: none !important;
    text-align: center !important;
    transform: skew(-10deg) !important;
    cursor: pointer !important;
}

body.paperchase-shop-theme a.added_to_cart.wc-forward:hover,
body.paperchase-shop-theme a.added_to_cart.wc-forward:focus-visible,
body.pcs-woo-shop a.added_to_cart.wc-forward:hover,
body.pcs-woo-shop a.added_to_cart.wc-forward:focus-visible,
body.paperchase-shop-theme ul.products a.added_to_cart.wc-forward:hover,
body.paperchase-shop-theme ul.products a.added_to_cart.wc-forward:focus-visible,
body.paperchase-shop-theme .woocommerce-notices-wrapper a.wc-forward:hover,
body.paperchase-shop-theme .woocommerce-notices-wrapper a.wc-forward:focus-visible,
body.paperchase-shop-theme .woocommerce-message a.wc-forward:hover,
body.paperchase-shop-theme .woocommerce-message a.wc-forward:focus-visible,
body.paperchase-shop-theme .woocommerce-message .pcs-woo-cart-notice-cta:hover,
body.paperchase-shop-theme .woocommerce-message .pcs-woo-cart-notice-cta:focus-visible,
body.pcs-woo-shop .woocommerce-message a.wc-forward:hover,
body.pcs-woo-shop .woocommerce-message a.wc-forward:focus-visible,
body.woocommerce.single-product .woocommerce-notices-wrapper a.wc-forward:hover,
body.woocommerce.single-product .woocommerce-notices-wrapper a.wc-forward:focus-visible {
    background: #1e4ae0 !important;
    background-color: #1e4ae0 !important;
    color: #fff !important;
    border-bottom-color: #ffcb00 !important;
}

@media (max-width: 599px) {
    body.paperchase-shop-theme a.added_to_cart.wc-forward,
    body.pcs-woo-shop a.added_to_cart.wc-forward,
    body.paperchase-shop-theme ul.products a.added_to_cart.wc-forward,
    body.paperchase-shop-theme .woocommerce-notices-wrapper a.wc-forward,
    body.paperchase-shop-theme .woocommerce-message a.wc-forward,
    body.pcs-woo-shop .woocommerce-message a.wc-forward,
    body.woocommerce.single-product .woocommerce-notices-wrapper a.wc-forward {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0.9rem !important;
    }
}

/*
 * Klassieke shop (ul.products): grid-column-reset moet op álle breakpoints gelden.
 * Alleen in @media (min-width: 1200px) gezet = bij venster <1200px bleef WC/Blocks-lek zichtbaar (producten naar rechts).
 * Specifiekere :last-child-regels elders in dit bestand overschrijven dit waar nodig (weesrij / oneven).
 */
body.pcs-woo-shop ul.products[class*="columns-"],
body.woocommerce ul.products[class*="columns-"] {
    justify-content: start !important;
    justify-items: stretch !important;
}

body.pcs-woo-shop ul.products[class*="columns-"] > li.product,
body.woocommerce ul.products[class*="columns-"] > li.product {
    grid-column: unset !important;
}

/*
 * Woo plugin layout.css: float + %breedte op li — alleen resetten, géén grid-template hier
 * (voorkomt strijd met @media-blokken hierboven en met --woo-cols).
 */
html body.pcs-woo-shop.woocommerce-page ul.products[class*="columns-"],
html body.pcs-woo-shop.woocommerce ul.products[class*="columns-"],
html body.woocommerce-page ul.products[class*="columns-"] {
    display: grid !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
    list-style: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    justify-content: start !important;
    align-content: start !important;
    justify-items: stretch !important;
}

html body.pcs-woo-shop.woocommerce-page ul.products[class*="columns-"] > li.product,
html body.pcs-woo-shop.woocommerce ul.products[class*="columns-"] > li.product,
html body.woocommerce-page ul.products[class*="columns-"] > li.product {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/*
 * /shop + archieven — vangnet (laatste laag in dit bestand):
 * — Woo plugin layout.css / packages: flex + %breedte wint soms t.o.v. alleen .pcs-woo-shop
 * — Product Collection: ul.wc-block-product-template.is-flex-container zonder duidelijke columns-* op tablet/desktop
 */
@media (max-width: 899px) {
    html body.pcs-woo-shop.woocommerce-page ul.products,
    html body.pcs-woo-shop.woocommerce ul.products,
    html body.pcs-woo-shop.post-type-archive-product ul.products,
    html body.pcs-woo-shop.tax-product_cat ul.products,
    html body.pcs-woo-shop.tax-product_tag ul.products {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(0.45rem, 2.2vw, 0.85rem) !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
    }

    html body.pcs-woo-shop ul.products > li.product {
        float: none !important;
        clear: none !important;
        width: auto !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        flex: none !important;
    }

    html body.pcs-woo-shop .wp-block-woocommerce-product-collection ul.wc-block-product-template.is-flex-container,
    html body.pcs-woo-shop ul.wc-block-product-template.is-flex-container {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: clamp(0.45rem, 2.2vw, 0.85rem) !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
    }
}

@media (min-width: 900px) and (max-width: 1199px) {
    html body.pcs-woo-shop.woocommerce-page ul.products,
    html body.pcs-woo-shop.woocommerce ul.products,
    html body.pcs-woo-shop.post-type-archive-product ul.products,
    html body.pcs-woo-shop.tax-product_cat ul.products,
    html body.pcs-woo-shop.tax-product_tag ul.products {
        display: grid !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
    }

    /* Customizer default = 3 — zelfde als loop_shop_columns wanneer columns-class ontbreekt in markup */
    html body.pcs-woo-shop ul.products:not([class*="columns-"]) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
        row-gap: clamp(0.95rem, 1.45vw, 1.25rem) !important;
        column-gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
    }

    html body.pcs-woo-shop .wp-block-woocommerce-product-collection ul.wc-block-product-template.is-flex-container,
    html body.pcs-woo-shop ul.wc-block-product-template.is-flex-container {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
        row-gap: clamp(0.95rem, 1.45vw, 1.25rem) !important;
        column-gap: clamp(0.85rem, 1.35vw, 1.15rem) !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
    }

    html body.pcs-woo-shop .wp-block-woocommerce-product-collection ul.wc-block-product-template.is-flex-container[class*="columns-2"],
    html body.pcs-woo-shop ul.wc-block-product-template.is-flex-container.columns-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body.pcs-woo-shop .wp-block-woocommerce-product-collection ul.wc-block-product-template.is-flex-container[class*="columns-4"],
    html body.pcs-woo-shop ul.wc-block-product-template.is-flex-container.columns-4 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1200px) {
    html body.pcs-woo-shop.woocommerce-page ul.products,
    html body.pcs-woo-shop.woocommerce ul.products,
    html body.pcs-woo-shop.post-type-archive-product ul.products,
    html body.pcs-woo-shop.tax-product_cat ul.products,
    html body.pcs-woo-shop.tax-product_tag ul.products {
        display: grid !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
    }

    html body.pcs-woo-shop ul.products:not([class*="columns-"]) {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: clamp(1rem, 1.25vw, 1.45rem) !important;
        row-gap: clamp(1.05rem, 1.35vw, 1.5rem) !important;
        column-gap: clamp(1rem, 1.25vw, 1.45rem) !important;
    }

    html body.pcs-woo-shop .wp-block-woocommerce-product-collection ul.wc-block-product-template.is-flex-container,
    html body.pcs-woo-shop ul.wc-block-product-template.is-flex-container {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: clamp(1rem, 1.25vw, 1.45rem) !important;
        row-gap: clamp(1.05rem, 1.35vw, 1.5rem) !important;
        column-gap: clamp(1rem, 1.25vw, 1.45rem) !important;
        flex-direction: unset !important;
        flex-wrap: unset !important;
    }

    html body.pcs-woo-shop .wp-block-woocommerce-product-collection ul.wc-block-product-template.is-flex-container[class*="columns-2"],
    html body.pcs-woo-shop ul.wc-block-product-template.is-flex-container.columns-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    html body.pcs-woo-shop .wp-block-woocommerce-product-collection ul.wc-block-product-template.is-flex-container[class*="columns-4"],
    html body.pcs-woo-shop ul.wc-block-product-template.is-flex-container.columns-4 {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}
