a:focus-visible,
        button:focus-visible,
        input:focus-visible,
        select:focus-visible,
        textarea:focus-visible,
        [tabindex]:focus-visible,
        .woocommerce a.button:focus-visible,
        .woocommerce button.button:focus-visible,
        .wp-block-button__link:focus-visible {
            outline: 3px solid #A65462;
            outline-offset: 3px;
            border-radius: 4px;
        }
        /* Voor browsers zonder :focus-visible */
        a:focus, button:focus, input:focus, select:focus, textarea:focus { outline-color: #A65462; }
        /* Alleen-voor-screenreader tekst */
        .kb-sr-only {
            position: absolute; width: 1px; height: 1px;
            padding: 0; margin: -1px; overflow: hidden;
            clip: rect(0,0,0,0); white-space: nowrap; border: 0;
        }
        /* Respecteer voorkeur voor minder beweging */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                animation-iteration-count: 1 !important;
                transition-duration: 0.01ms !important;
                scroll-behavior: auto !important;
            }
        }

/* === WINKELWAGEN IN DE HEADER === */
.ast-header-woo-cart a.cart-container, .ast-site-header-cart a.cart-container {
    display: inline-flex; align-items: center; gap: 16px;
    background: transparent; border: none; padding: 4px 6px;
    border-radius: 8px; transition: color .2s ease, background .2s ease;
}
.ast-header-woo-cart a.cart-container:hover, .ast-site-header-cart a.cart-container:hover { background: rgba(90,45,28,.06); }
.ast-header-woo-cart a.cart-container::after, .ast-site-header-cart a.cart-container::after {
    content: "Winkelwagen"; font-size: 13px; font-weight: 600; color: #5a2d1c; white-space: nowrap;
}
.ast-header-woo-cart a.cart-container:hover::after, .ast-site-header-cart a.cart-container:hover::after { color: #A65462; }
/* Geen kader om het icoon */
.ast-cart-menu-wrap, .ast-addon-cart-wrap { border: none !important; box-shadow: none !important; position: relative; }
/* Aantal-badge klein en subtiel */
.ast-cart-menu-wrap .count {
    background: #A65462 !important; border-color: #A65462 !important; color: #fff !important;
    font-size: 11px !important; min-width: 17px; height: 17px; line-height: 17px !important;
}
.ast-cart-menu-wrap .count {
    position: absolute; top: -6px; right: -8px;
    transform: none;
}
.ast-woo-header-cart-info-wrap { color: #5a2d1c; font-weight: 600; font-size: 13px; margin-right: 4px; }
@media (max-width: 921px) {
    .ast-header-woo-cart a.cart-container::after, .ast-site-header-cart a.cart-container::after { display: none; }
    .ast-header-woo-cart a.cart-container, .ast-site-header-cart a.cart-container { padding: 10px; min-height: 44px; }
}

/* === MARGES OP TELEFOON EN TABLET === */
/* De paginas hebben 160px bovenmarge in de inhoud; op kleine schermen te veel. */
@media (max-width: 921px) {
    .entry-content > .wp-block-group:first-child { padding-top: 44px !important; }
    .entry-content > .wp-block-group {
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}
@media (max-width: 480px) {
    .entry-content > .wp-block-group:first-child { padding-top: 32px !important; }
    .entry-content > .wp-block-group {
        padding-left: 18px !important;
        padding-right: 18px !important;
        padding-bottom: 56px !important;
    }
}

/* === HERO OP TELEFOON: knoppen onder de foto === */
@media (max-width: 921px) {
    .home .entry-content > .wp-block-group:first-child .wp-block-columns {
        display: flex; flex-direction: column; gap: 0;
    }
    /* De kolommen zelf verdwijnen als doos, zodat hun inhoud herschikbaar wordt */
    .home .entry-content > .wp-block-group:first-child .wp-block-columns > .wp-block-column {
        display: contents;
    }
    .home .entry-content > .wp-block-group:first-child .wp-block-gallery {
        order: 2; margin-top: 26px; margin-bottom: 0;
    }
    .home .entry-content > .wp-block-group:first-child .wp-block-buttons {
        order: 3; margin-top: 26px;
    }
}

/* === INSTAGRAM-FEED in huisstijl === */
#sb_instagram .sbi_photo_wrap, #sb_instagram .sbi_photo, #sb_instagram .sbi_photo img { border-radius: 12px; overflow: hidden; }
#sb_instagram .sbi_photo { transition: opacity .25s ease; }
@media (hover: hover) { #sb_instagram .sbi_photo:hover { opacity: .88; } }

/* === GEEN BOLLETJE BIJ LEEG MANDJE === */
/* Astra tekent het getal met content: attr(data-cart-total); bij 0 tonen we niets. */
.ast-site-header-cart i.astra-icon[data-cart-total="0"]::after,
.ast-site-header-cart i.astra-icon[data-cart-total=""]::after {
    display: none !important;
}

/* === Contactformulier (WPForms): knop in huisstijl === */
.wpforms-container.wpforms-render-modern {
    --wpforms-button-background-color: #5a2d1c;
    --wpforms-button-text-color: #ffffff;
    --wpforms-button-border-radius: 999px;
}
.wpforms-container button.wpforms-submit,
.wpforms-container .wpforms-submit {
    background-color: #5a2d1c !important;
    border-color: #5a2d1c !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    padding: 14px 32px !important;
    font-weight: 600 !important;
    transition: background-color .2s ease !important;
}
.wpforms-container button.wpforms-submit:hover,
.wpforms-container button.wpforms-submit:focus-visible {
    background-color: #A65462 !important;
    border-color: #A65462 !important;
}
.wpforms-container button.wpforms-submit:focus-visible {
    outline: 2px solid #5a2d1c !important;
    outline-offset: 3px !important;
}

/* ---- kb-ruimte: minder lege ruimte tussen menu en pagina-inhoud (laptop/desktop) ---- */
@media (min-width: 922px) {
    /* Webshop, productpagina's en categorieen: Astra zet hier 48px + 60-64px; die marge eraf */
    body.woocommerce #primary,
    body.woocommerce-page #primary { margin-top: 0 !important; }
    /* Homepage en Contact: het eerste blok had 160px ruimte bovenaan */
    body.page-id-196 .entry-content > .wp-block-group:first-child,
    body.page-id-282 .entry-content > .wp-block-group:first-child { padding-top: 48px !important; }
}