/*
 * Reclamehuys Design System 2026 — v1.3.07
 * Eén centrale typografische en componentbasis voor de volledige publieke site.
 * Inter is het enige UI/websitefont. Kleuren mogen contextafhankelijk zijn;
 * afmetingen, font-weights, line-height, tracking en button-geometrie zijn centraal.
 */

:root{
    --cw-font:"Inter",Arial,Helvetica,sans-serif;

    --cw-h1-size:clamp(42px,5.15vw,72px);
    --cw-h1-line:.98;
    --cw-h1-weight:650;
    --cw-h1-track:-.045em;

    --cw-h2-size:clamp(30px,3.3vw,48px);
    --cw-h2-line:1.03;
    --cw-h2-weight:620;
    --cw-h2-track:-.045em;

    --cw-h3-size:clamp(25px,2.2vw,34px);
    --cw-h3-line:1.06;
    --cw-h3-weight:620;
    --cw-h3-track:-.04em;

    --cw-body-size:16px;
    --cw-body-line:1.55;
    --cw-body-weight:400;
    --cw-body-track:0;

    --cw-small-size:12px;
    --cw-small-line:1.2;
    --cw-small-weight:700;
    --cw-small-track:.12em;

    --cw-nav-size:14px;
    --cw-nav-line:1;
    --cw-nav-weight:600;
    --cw-nav-track:-.01em;

    --cw-button-size:14px;
    --cw-button-line:1;
    --cw-button-weight:650;
    --cw-button-track:-.01em;
    --cw-button-height:48px;
    --cw-button-pad-x:20px;
    --cw-button-gap:14px;

    --cw-link-size:14px;
    --cw-link-line:1.2;
    --cw-link-weight:650;
    --cw-link-track:-.01em;

    --cw-input-size:14px;
    --cw-input-line:1.35;
    --cw-input-weight:500;
}

/* =========================================================
   GLOBAL FONT FOUNDATION
   ========================================================= */
html body.cw-site-style-active,
html body.cw-site-style-active button,
html body.cw-site-style-active input,
html body.cw-site-style-active select,
html body.cw-site-style-active textarea{
    font-family:var(--cw-font)!important;
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
}

/* Normal paragraph / list copy. Deliberately excludes interface labels. */
html body.cw-site-style-active :where(
    .cwh26-home,
    .cwe26-page,
    .cw-custom,
    .cw-contact-page,
    .cwabout,
    .cw-portal
) :where(p,li){
    font-family:var(--cw-font)!important;
    font-size:var(--cw-body-size)!important;
    line-height:var(--cw-body-line)!important;
    font-weight:var(--cw-body-weight)!important;
    letter-spacing:var(--cw-body-track)!important;
}

/* =========================================================
   PAGE H1
   ========================================================= */
html body.cw-site-style-active :where(
    .cwh26-hero__overlay h1,
    .cw-live-intro h1,
    .cw-custom-hero h1,
    .cwcontact-homehero .cwabout-homehero__box h1,
    .cwabout-homehero .cwabout-homehero__box h1,
    .cw-custom-portal-hero h1,
    .cw-portal h1
){
    font-family:var(--cw-font)!important;
    font-size:var(--cw-h1-size)!important;
    line-height:var(--cw-h1-line)!important;
    font-weight:var(--cw-h1-weight)!important;
    letter-spacing:var(--cw-h1-track)!important;
    text-transform:none!important;
}

/* Hero lines that are split across spans/rows inherit exact H1 settings. */
html body.cw-site-style-active :where(
    .cwcontact-homehero .cwabout-homehero__line,
    .cwabout-homehero .cwabout-homehero__line,
    .cw-custom-portal-hero__line
){
    font-family:var(--cw-font)!important;
    font-size:var(--cw-h1-size)!important;
    line-height:var(--cw-h1-line)!important;
    font-weight:var(--cw-h1-weight)!important;
    letter-spacing:var(--cw-h1-track)!important;
    text-transform:none!important;
}

/* =========================================================
   SECTION H2
   ========================================================= */
html body.cw-site-style-active :where(
    .cwh26-section h2,
    .cwe26-page .cwh26-section h2,
    .cw-custom-heading h2,
    .cw-custom-ctas h2,
    .cw-contact-section-title,
    .cwabout h2,
    .cw-portal h2
){
    font-family:var(--cw-font)!important;
    font-size:var(--cw-h2-size)!important;
    line-height:var(--cw-h2-line)!important;
    font-weight:var(--cw-h2-weight)!important;
    letter-spacing:var(--cw-h2-track)!important;
    text-transform:none!important;
}

/* =========================================================
   HOME FEATURE HEADINGS — one exact size/weight everywhere
   Hero + two promo cards + grey/aqua split cards all use H2.
   ========================================================= */
html body.cw-site-style-active :where(
    .cwh26-hero__overlay h1,
    .cwh26-promo-card__title,
    .cwh26-split__copy h2,
    .cwh26-split__tile strong
){
    font-family:var(--cw-font)!important;
    font-size:var(--cw-h2-size)!important;
    line-height:var(--cw-h2-line)!important;
    font-weight:var(--cw-h2-weight)!important;
    letter-spacing:var(--cw-h2-track)!important;
    text-transform:none!important;
}

/* =========================================================
   CONTENT H3
   ========================================================= */
html body.cw-site-style-active :where(
    .cwh26-section h3,
    .cw-contact-form-head h3,
    .cwabout-values h3,
    .cwabout-process__list h3,
    .cw-portal h3
){
    font-family:var(--cw-font)!important;
    font-size:var(--cw-h3-size)!important;
    line-height:var(--cw-h3-line)!important;
    font-weight:var(--cw-h3-weight)!important;
    letter-spacing:var(--cw-h3-track)!important;
    text-transform:none!important;
}

/* =========================================================
   KICKERS / EYEBROWS / LABELS
   ========================================================= */
html body.cw-site-style-active :where(
    .cwh26-kicker,
    .cw-custom-kicker,
    .cw-contact-direct-label,
    .cwabout-process__badge,
    .cw-footer__column h3,
    .cw26-footer__col h3
){
    font-family:var(--cw-font)!important;
    font-size:var(--cw-small-size)!important;
    line-height:var(--cw-small-line)!important;
    font-weight:var(--cw-small-weight)!important;
    letter-spacing:var(--cw-small-track)!important;
    text-transform:uppercase!important;
}

/* Footer labels follow the same size/weight but remain title case. */
html body.cw-site-style-active .cw26-footer__col h3{
    text-transform:none!important;
    letter-spacing:0!important;
    font-size:14px!important;
    line-height:1.3!important;
}

/* =========================================================
   PROMO CARDS — exact identical text geometry on both cards
   ========================================================= */
html body.cw-site-style-active .cwh26-promo-card__kicker{
    font-family:var(--cw-font)!important;
    font-size:15px!important;
    line-height:1.3!important;
    font-weight:500!important;
    letter-spacing:0!important;
    text-transform:none!important;
}

html body.cw-site-style-active .cwh26-promo-card__title{
    font-family:var(--cw-font)!important;
    font-size:var(--cw-h2-size)!important;
    line-height:var(--cw-h2-line)!important;
    font-weight:var(--cw-h2-weight)!important;
    letter-spacing:var(--cw-h2-track)!important;
    text-transform:none!important;
}

/* Compact counter copy is a dedicated component, not a full section H2. */
html body.cw-site-style-active .cwh26-stat__copy h2{
    font-family:var(--cw-font)!important;
    font-size:clamp(22px,2.3vw,30px)!important;
    line-height:1.05!important;
    font-weight:620!important;
    letter-spacing:-.035em!important;
}

/* =========================================================
   BUTTON SYSTEM — geometry/typography only; context keeps its color.
   ========================================================= */
html body.cw-site-style-active :where(
    .cwh26-button,
    .cwh26-newsletter__form button,
    .cwh26-promo-card__button,
    .cw-live-btn,
    .cwabout-homehero__btn,
    .cwabout-btn,
    .cw-contact-btn,
    .cw-contact-submit,
    .cw-custom-portal-hero__btn,
    .cw-button,
    button[type="submit"]
){
    min-height:var(--cw-button-height)!important;
    padding-left:var(--cw-button-pad-x)!important;
    padding-right:var(--cw-button-pad-x)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:var(--cw-button-gap)!important;
    border-radius:0!important;
    font-family:var(--cw-font)!important;
    font-size:var(--cw-button-size)!important;
    line-height:var(--cw-button-line)!important;
    font-weight:var(--cw-button-weight)!important;
    letter-spacing:var(--cw-button-track)!important;
    text-transform:none!important;
    text-decoration:none!important;
}

/* Promo card button is visual text inside a clickable card, same geometry. */
html body.cw-site-style-active .cwh26-promo-card__button{
    height:var(--cw-button-height)!important;
    margin-top:28px!important;
}

/* =========================================================
   TEXT LINKS
   ========================================================= */
html body.cw-site-style-active :where(
    .cwh26-text-link,
    .cwh26-card-link,
    .cwh26-split__tile-link
){
    font-family:var(--cw-font)!important;
    font-size:var(--cw-link-size)!important;
    line-height:var(--cw-link-line)!important;
    font-weight:var(--cw-link-weight)!important;
    letter-spacing:var(--cw-link-track)!important;
    text-transform:none!important;
}

/* =========================================================
   NAVIGATION
   ========================================================= */
html body.cw-site-style-active :where(
    .cwh26-header__nav a,
    .cwh26-header__login,
    .cw-nav a,
    .cw-header__login
){
    font-family:var(--cw-font)!important;
    font-size:var(--cw-nav-size)!important;
    line-height:var(--cw-nav-line)!important;
    font-weight:var(--cw-nav-weight)!important;
    letter-spacing:var(--cw-nav-track)!important;
    text-transform:none!important;
}

/* =========================================================
   FORMS
   ========================================================= */
html body.cw-site-style-active :where(
    input:not([type="submit"]),
    select,
    textarea,
    .cw-contact-field label
){
    font-family:var(--cw-font)!important;
    font-size:var(--cw-input-size)!important;
    line-height:var(--cw-input-line)!important;
    font-weight:var(--cw-input-weight)!important;
    letter-spacing:0!important;
}

/* =========================================================
   FOOTER BODY COPY
   ========================================================= */
html body.cw-site-style-active :where(
    .cw26-footer__col a,
    .cw26-footer__col p,
    .cw26-footer__legal,
    .cw26-footer__legal a
){
    font-family:var(--cw-font)!important;
    font-size:14px!important;
    line-height:1.45!important;
    font-weight:400!important;
    letter-spacing:0!important;
}

@media (max-width:699px){
    :root{
        --cw-h1-size:clamp(38px,11vw,48px);
        --cw-h2-size:clamp(28px,8vw,36px);
        --cw-h3-size:clamp(22px,6.2vw,28px);
        --cw-body-size:16px;
        --cw-button-height:46px;
    }

    html body.cw-site-style-active .cwh26-promo-card__title{
        font-size:var(--cw-h2-size)!important;
        line-height:var(--cw-h2-line)!important;
        font-weight:var(--cw-h2-weight)!important;
        letter-spacing:var(--cw-h2-track)!important;
    }
}


/* =========================================================
   v1.3.69 — KLANTLOGIN / KLANTPORTAAL EXACT 1250PX CONTENTLIJN
   De hero en login/account/dashboard gebruiken dezelfde 1250px breedte.
   Staat in de allerlaatste design-system laag zodat oude 1440px portalregels
   en Breakdance/shortcode wrappers deze breedte niet meer kunnen overschrijven.
   ========================================================= */
html body.cw-site-style-active.cw-page-klantportaal .cw-portal{
    --cw-max:1250px!important;
    width:100%!important;
    max-width:none!important;
}

html body.cw-site-style-active.cw-page-klantportaal .cw-portal-inner,
html body.cw-site-style-active.cw-page-klantportaal .cw-auth-section > .cw-portal-inner,
html body.cw-site-style-active.cw-page-klantportaal .cw-dashboard > .cw-portal-inner{
    width:min(1250px,calc(100vw - 40px))!important;
    max-width:1250px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

html body.cw-site-style-active.cw-page-klantportaal .cw-auth-grid{
    width:100%!important;
    max-width:1250px!important;
    margin-left:auto!important;
    margin-right:auto!important;
}

@media (max-width:640px){
    html body.cw-site-style-active.cw-page-klantportaal .cw-portal-inner,
    html body.cw-site-style-active.cw-page-klantportaal .cw-auth-section > .cw-portal-inner,
    html body.cw-site-style-active.cw-page-klantportaal .cw-dashboard > .cw-portal-inner{
        width:calc(100% - 28px)!important;
    }
}


/* =========================================================
   v1.3.75 — KLANTPORTAAL UITLOGGEN IN 2026-HUISSTIJL
   Dashboardknoppen op witte achtergrond: zwart/wit zoals de
   huidige cwh26-buttons; hover naar Reclamehuys aqua.
   Hoge specificiteit omdat oudere portal-lagen aqua afdwingen.
   ========================================================= */
html body.cw-site-style-active.cw-page-klantportaal .cw-portal .cw-dashboard .cw-button,
html body.cw-site-style-active.cw-page-klantlogin .cw-portal .cw-dashboard .cw-button{
    min-height:48px!important;
    padding:0 20px!important;
    border-radius:0!important;
    border:1px solid #111111!important;
    background:#111111!important;
    background-color:#111111!important;
    color:#FFFFFF!important;
    box-shadow:none!important;
}
html body.cw-site-style-active.cw-page-klantportaal .cw-portal .cw-dashboard .cw-button *,
html body.cw-site-style-active.cw-page-klantlogin .cw-portal .cw-dashboard .cw-button *{
    color:#FFFFFF!important;
}
html body.cw-site-style-active.cw-page-klantportaal .cw-portal .cw-dashboard .cw-button:hover,
html body.cw-site-style-active.cw-page-klantportaal .cw-portal .cw-dashboard .cw-button:focus-visible,
html body.cw-site-style-active.cw-page-klantlogin .cw-portal .cw-dashboard .cw-button:hover,
html body.cw-site-style-active.cw-page-klantlogin .cw-portal .cw-dashboard .cw-button:focus-visible{
    border-color:#CD3337!important;
    background:#CD3337!important;
    background-color:#CD3337!important;
    color:#FFFFFF!important;
    outline:none!important;
}

/* =====================================================================
   v1.3.95 — MOBILE RESPONSIVE POLISH
   Alleen <=699px. Desktop/tablet-breedtes blijven onaangeroerd.
   Doel: dezelfde 2026-vormtaal op Home, Borduren, Custom made, Contact
   en Klantportaal; minder onnodige witruimte en betere iPhone-verhoudingen.
   ===================================================================== */
@media (max-width:699px){
    html,
    body.cw-site-style-active{
        overflow-x:hidden!important;
    }

    /* De site-shell mag rond de nieuwe shortcode-roots geen extra mobiele
       boven-/onderruimte toevoegen. Elke pagina beheert zijn eigen spacing. */
    body.cw-page-home .bde-section > .section-container:has(#cwh26Home),
    body.cw-page-home .bde-shortcode:has(#cwh26Home),
    body.cw-page-borduren .bde-section > .section-container:has(#cwe26Page),
    body.cw-page-borduren .bde-shortcode:has(#cwe26Page),
    body.cw-page-custom-made .bde-section > .section-container:has(#cwCustomMade),
    body.cw-page-custom-made .bde-shortcode:has(#cwCustomMade),
    body.cw-page-contact .bde-section > .section-container:has(.cw-contact-page),
    body.cw-page-contact .bde-shortcode:has(.cw-contact-page){
        padding-top:0!important;
        padding-bottom:0!important;
        margin-top:0!important;
        margin-bottom:0!important;
    }

    /* ================= HEADER ================= */
    html body .cwh26-header,
    html body .cwh26-header-spacer{
        height:70px!important;
    }
    html body .cwh26-header__inner{
        width:calc(100% - 28px)!important;
        max-width:none!important;
        grid-template-columns:1fr auto!important;
        gap:16px!important;
    }
    html body .cwh26-header__logo,
    html body .cwh26-header__logo img{
        width:150px!important;
        max-width:150px!important;
    }
    html body .cwh26-header__toggle{
        width:38px!important;
        height:38px!important;
        margin-right:-2px!important;
    }
    html body .cwh26-header__toggle span{
        width:24px!important;
        margin:5px auto!important;
    }
    html body .cwh26-header__nav{
        top:70px!important;
        padding:12px 20px 22px!important;
    }
    html body .cwh26-header__nav a{
        padding:14px 0!important;
        font-size:16px!important;
    }

    /* ================= SHARED WIDTH / SPACING ================= */
    html body .cwh26-container{
        width:calc(100% - 28px)!important;
        max-width:none!important;
    }
    html body .cwh26-home{
        padding:0 0 56px!important;
    }
    html body .cwh26-section,
    html body .cwh26-section--promos,
    html body .cwh26-products{
        padding-top:56px!important;
    }

    /* ================= HOME HERO ================= */
    body.cw-page-home .cwh26-hero{
        width:100%!important;
        height:250px!important;
        min-height:250px!important;
        aspect-ratio:auto!important;
        margin:0!important;
    }
    body.cw-page-home .cwh26-hero__image{
        object-fit:cover!important;
        object-position:66% center!important;
    }
    body.cw-page-home .cwh26-hero::after{
        display:block!important;
        background:linear-gradient(90deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.26) 58%,rgba(0,0,0,.06) 100%)!important;
    }
    body.cw-page-home .cwh26-hero__overlay{
        left:20px!important;
        top:50%!important;
        width:calc(100% - 40px)!important;
        max-width:none!important;
        transform:translateY(-50%)!important;
    }
    body.cw-page-home .cwh26-hero__overlay .cwh26-kicker{
        display:none!important;
    }
    body.cw-page-home .cwh26-hero .cwh26-display-title{
        max-width:270px!important;
        margin:0 0 18px!important;
        font-size:clamp(32px,8.8vw,38px)!important;
        line-height:.98!important;
    }
    body.cw-page-home .cwh26-hero__text{
        display:none!important;
    }
    body.cw-page-home .cwh26-hero .cwh26-actions{
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:11px!important;
    }
    body.cw-page-home .cwh26-hero .cwh26-button{
        min-height:46px!important;
        padding:0 18px!important;
    }
    body.cw-page-home .cwh26-hero .cwh26-text-link{
        display:none!important;
    }

    /* ================= COUNTER ================= */
    html body .cwh26-stat{
        margin-top:34px!important;
        padding:0!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
    }
    html body .cwh26-stat__copy .cwh26-kicker{
        margin-bottom:8px!important;
    }
    html body .cwh26-home .cwh26-shared-heading,
    html body .cwh26-stat__copy h2{
        max-width:100%!important;
        font-size:clamp(24px,7vw,28px)!important;
        line-height:1.06!important;
    }
    html body .cwh26-stat__number-wrap{
        padding-top:0!important;
        text-align:left!important;
    }
    html body .cwh26-stat__number{
        font-size:32px!important;
        line-height:1!important;
    }
    html body .cwh26-stat__number-wrap > span{
        margin-top:6px!important;
        font-size:12px!important;
    }

    /* ================= HOME PROMO CARDS ================= */
    html body .cwh26-promo-grid{
        grid-template-columns:1fr!important;
        gap:14px!important;
    }
    html body .cwh26-promo-card__visual{
        width:100%!important;
        min-height:0!important;
        aspect-ratio:4 / 3!important;
    }
    html body .cwh26-promo-card__overlay{
        width:min(68%,280px)!important;
        padding:0 16px 0 20px!important;
        margin-left:0!important;
        gap:12px!important;
    }
    html body .cwh26-promo-card__kicker{
        white-space:normal!important;
        font-size:12px!important;
        line-height:1.35!important;
    }
    html body .cwh26-promo-card__title{
        font-size:clamp(28px,8.6vw,36px)!important;
        line-height:1!important;
    }
    html body .cwh26-promo-card__button{
        min-height:44px!important;
        padding:0 16px!important;
        font-size:13px!important;
    }

    /* ================= POPULAR PRODUCTS ================= */
    html body .cwh26-products__header{
        margin-bottom:20px!important;
        align-items:center!important;
        flex-wrap:nowrap!important;
        gap:14px!important;
    }
    html body .cwh26-products__header .cwh26-shared-heading{
        min-width:0!important;
        font-size:clamp(26px,7.6vw,32px)!important;
        line-height:1.02!important;
    }
    html body .cwh26-carousel-controls{
        flex:0 0 auto!important;
        gap:8px!important;
    }
    html body .cwh26-carousel-controls__button{
        width:40px!important;
        height:40px!important;
    }
    html body .cwh26-carousel__track{
        grid-auto-columns:82%!important;
        gap:14px!important;
        padding-bottom:2px!important;
    }
    html body .cwh26-product-card__image-wrap{
        padding:14px!important;
    }
    html body .cwh26-products .cwh26-product-card .cwh26-product-card__title,
    html body .cwh26-products .cwh26-product-card__link .cwh26-product-card__title{
        margin-top:12px!important;
        font-size:11px!important;
        line-height:1.25!important;
    }

    /* ================= PORTAL PROMO / SHARED CTA ================= */
    html body .cwh26-portal-promo--hero-clone{
        width:100%!important;
        min-height:310px!important;
        height:310px!important;
        aspect-ratio:auto!important;
        margin-top:56px!important;
    }
    html body .cwh26-portal-promo--hero-clone .cwh26-portal-promo__image{
        object-fit:cover!important;
        object-position:66% center!important;
    }
    html body .cwh26-portal-promo--hero-clone::after{
        background:linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.18) 62%,rgba(0,0,0,0) 100%)!important;
    }
    html body .cwh26-portal-promo--hero-clone .cwh26-portal-promo__overlay{
        left:20px!important;
        top:50%!important;
        width:calc(100% - 40px)!important;
        max-width:none!important;
        transform:translateY(-50%)!important;
    }
    html body .cwh26-portal-promo--hero-clone .cwh26-portal-promo__overlay .cwh26-kicker{
        max-width:250px!important;
        margin-bottom:8px!important;
        font-size:11px!important;
    }
    html body .cwh26-portal-promo--hero-clone .cwh26-portal-promo__title,
    body.cw-page-custom-made .cw-custom-portal-promo .cwh26-display-title{
        max-width:280px!important;
        margin-bottom:18px!important;
        font-size:clamp(32px,9vw,38px)!important;
        line-height:.98!important;
    }
    html body .cwh26-portal-promo--hero-clone .cwh26-button--portal{
        min-width:0!important;
        min-height:46px!important;
        padding:0 18px!important;
        font-size:13px!important;
    }

    /* ================= NEWSLETTER ================= */
    html body .cwh26-newsletter,
    body.cw-page-custom-made .cw-custom-newsletter,
    body.cw-page-contact .cw-contact-newsletter,
    body.cw-page-klantportaal .cw-portal-newsletter-wrap{
        margin-top:56px!important;
    }
    html body .cwh26-newsletter{
        padding:28px 0!important;
        grid-template-columns:1fr!important;
        gap:24px!important;
    }
    html body .cwh26-newsletter__copy h2{
        margin-bottom:8px!important;
        font-size:clamp(30px,8.4vw,34px)!important;
        line-height:1.02!important;
    }
    html body .cwh26-newsletter__copy > p:not(.cwh26-kicker){
        font-size:15px!important;
        line-height:1.5!important;
    }
    html body .cwh26-newsletter__form{
        grid-template-columns:1fr!important;
        gap:10px!important;
    }
    html body .cwh26-newsletter__form input,
    html body .cwh26-newsletter__form button{
        width:100%!important;
        height:50px!important;
        min-height:50px!important;
    }
    html body .cwh26-newsletter__form input{
        border-right:1px solid #bdbdb9!important;
        padding:0 16px!important;
    }

    /* ================= BORDUREN ================= */
    body.cw-page-borduren .cwe26-work--lead{
        margin-top:0!important;
    }
    body.cw-page-borduren .cwe26-photo-grid,
    body.cw-page-borduren .cwe26-nocharge{
        grid-template-columns:1fr!important;
        gap:14px!important;
    }
    body.cw-page-borduren .cwe26-photo-card,
    body.cw-page-borduren .cwe26-nocharge__visual{
        height:280px!important;
        min-height:280px!important;
    }
    body.cw-page-borduren .cwe26-nocharge__copy{
        height:auto!important;
        min-height:0!important;
        padding:28px 22px!important;
    }
    body.cw-page-borduren .cwe26-list{
        margin-bottom:26px!important;
    }
    body.cw-page-borduren .cwe26-list li{
        padding:13px 0!important;
        font-size:14px!important;
    }
    body.cw-page-borduren .cwh26-kicker--light{
        color:#525252!important;
    }

    /* ================= CUSTOM MADE ================= */
    body.cw-page-custom-made .cw-custom-hero-photo{
        width:calc(100% - 28px)!important;
        height:230px!important;
        min-height:230px!important;
        aspect-ratio:auto!important;
        margin:0 auto 46px!important;
    }
    body.cw-page-custom-made .cw-custom-hero-photo img{
        object-fit:cover!important;
        object-position:center center!important;
    }
    body.cw-page-custom-made .cw-custom-hero-photo::after{
        background:linear-gradient(90deg,rgba(0,0,0,.46) 0%,rgba(0,0,0,.20) 62%,rgba(0,0,0,0) 100%)!important;
    }
    body.cw-page-custom-made .cw-custom-hero-photo__overlay{
        left:20px!important;
        top:50%!important;
        width:calc(100% - 40px)!important;
        transform:translateY(-50%)!important;
    }
    body.cw-page-custom-made .cw-custom-hero-photo__overlay .cwh26-kicker{
        display:none!important;
    }
    body.cw-page-custom-made .cw-custom-hero-photo__overlay .cwh26-display-title{
        max-width:265px!important;
        font-size:clamp(31px,8.5vw,37px)!important;
        line-height:.98!important;
    }
    body.cw-page-custom-made .cw-custom-category-showroom{
        width:calc(100% - 28px)!important;
        margin:0 auto 56px!important;
    }
    body.cw-page-custom-made .cw-custom-category-toolbar{
        margin-bottom:18px!important;
    }
    body.cw-page-custom-made .cw-custom-category-search{
        width:100%!important;
        max-width:none!important;
    }
    body.cw-page-custom-made .cw-custom-category-search input{
        height:48px!important;
    }
    body.cw-page-custom-made .cw-custom-category-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:24px 14px!important;
        justify-content:stretch!important;
    }
    body.cw-page-custom-made .cw-custom-category-card__image{
        width:100%!important;
        max-width:none!important;
    }
    body.cw-page-custom-made .cw-custom-category-card__title{
        margin-top:10px!important;
        font-size:10.5px!important;
        line-height:1.28!important;
        letter-spacing:.10em!important;
    }
    body.cw-page-custom-made .cw-custom-portal-promo{
        width:calc(100% - 28px)!important;
        margin:0 auto 56px!important;
    }
    body.cw-page-custom-made .cw-custom-newsletter{
        width:calc(100% - 28px)!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }
    body.cw-page-custom-made .cw-custom-lightbox{
        padding:14px!important;
    }
    body.cw-page-custom-made .cw-custom-lightbox__dialog{
        width:100%!important;
        max-width:100%!important;
    }
    body.cw-page-custom-made .cw-custom-lightbox__media img{
        max-width:calc(100vw - 76px)!important;
        max-height:72vh!important;
    }
    body.cw-page-custom-made .cw-custom-lightbox__caption{
        padding-top:10px!important;
        font-size:12px!important;
    }

    /* ================= CONTACT ================= */
    html body.cw-page-contact .cw-contact-page{
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:0!important;
    }
    html body.cw-page-contact .cwcontact-homehero{
        position:relative!important;
        width:calc(100% - 28px)!important;
        height:330px!important;
        min-height:330px!important;
        max-height:330px!important;
        margin:0 auto 0!important;
        padding:0!important;
        overflow:hidden!important;
        background:#111!important;
    }
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__media{
        position:absolute!important;
        inset:0!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        border-radius:0!important;
        background-size:cover!important;
        background-position:center!important;
        z-index:0!important;
    }
    html body.cw-page-contact .cwcontact-homehero::after{
        content:""!important;
        display:block!important;
        position:absolute!important;
        inset:0!important;
        z-index:1!important;
        background:linear-gradient(90deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.24) 62%,rgba(0,0,0,.04) 100%)!important;
        pointer-events:none!important;
    }
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__inner{
        position:absolute!important;
        inset:0!important;
        z-index:2!important;
        width:100%!important;
        height:100%!important;
        margin:0!important;
        padding:0 20px!important;
        display:flex!important;
        align-items:center!important;
        text-align:left!important;
    }
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__box{
        width:100%!important;
        max-width:300px!important;
        margin:0!important;
        padding:0!important;
        text-align:left!important;
    }
    html body.cw-page-contact .cwcontact-homehero h1,
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__line{
        color:#fff!important;
        font-size:clamp(34px,9.5vw,40px)!important;
        line-height:.98!important;
        text-align:left!important;
        white-space:normal!important;
    }
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__box > p{
        max-width:290px!important;
        margin:14px 0 0!important;
        color:rgba(255,255,255,.92)!important;
        font-size:15px!important;
        line-height:1.45!important;
        text-align:left!important;
    }
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__actions{
        margin-top:18px!important;
        justify-content:flex-start!important;
    }
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__btn{
        min-height:46px!important;
        padding:0 18px!important;
        border:1px solid #111!important;
        border-radius:0!important;
        background:#111!important;
        color:#fff!important;
        font-size:13px!important;
    }
    html body.cw-page-contact .cwcontact-homehero__dot{
        color:#fff!important;
    }
    html body.cw-page-contact .cw-contact-main{
        margin:0!important;
        padding:56px 0!important;
    }
    html body.cw-page-contact .cw-contact-main > .cw-contact-inner,
    html body.cw-page-contact .cw-contact-main-grid{
        width:calc(100% - 28px)!important;
        max-width:none!important;
        margin-left:auto!important;
        margin-right:auto!important;
        grid-template-columns:1fr!important;
        gap:28px!important;
    }
    html body.cw-page-contact .cw-contact-info-column{
        height:auto!important;
        min-height:0!important;
        padding:0!important;
    }
    html body.cw-page-contact .cw-contact-direct{
        margin-top:22px!important;
    }
    html body.cw-page-contact .cw-contact-direct-item{
        grid-template-columns:1fr!important;
        gap:5px!important;
    }
    html body.cw-page-contact .cw-contact-login-card{
        margin-top:18px!important;
        padding:24px!important;
    }
    html body.cw-page-contact .cw-contact-form-shell{
        width:100%!important;
        padding:24px!important;
        border-radius:0!important;
        box-shadow:none!important;
    }
    html body.cw-page-contact .cw-contact-form-grid{
        grid-template-columns:1fr!important;
        gap:16px!important;
    }
    html body.cw-page-contact .cw-contact-field input,
    html body.cw-page-contact .cw-contact-field select,
    html body.cw-page-contact .cw-contact-field textarea{
        width:100%!important;
        max-width:100%!important;
    }
    html body.cw-page-contact .cw-contact-submit-row{
        grid-template-columns:1fr!important;
        gap:14px!important;
    }
    html body.cw-page-contact .cw-contact-submit{
        width:100%!important;
        min-height:50px!important;
    }

    /* ================= KLANTPORTAAL / LOGIN ================= */
    html body.cw-page-klantportaal .cw-portal-inner,
    html body.cw-page-klantlogin .cw-portal-inner,
    html body.cw-page-klantportaal .cw-auth-section > .cw-portal-inner,
    html body.cw-page-klantlogin .cw-auth-section > .cw-portal-inner,
    html body.cw-page-klantportaal .cw-dashboard > .cw-portal-inner,
    html body.cw-page-klantlogin .cw-dashboard > .cw-portal-inner{
        width:calc(100% - 28px)!important;
        max-width:none!important;
    }
    html body.cw-page-klantportaal .cw-custom-portal-hero,
    html body.cw-page-klantlogin .cw-custom-portal-hero{
        width:calc(100% - 28px)!important;
        height:310px!important;
        min-height:310px!important;
        max-height:310px!important;
        margin:0 auto 0!important;
    }
    html body.cw-page-klantportaal .cw-auth-grid,
    html body.cw-page-klantlogin .cw-auth-grid,
    html body.cw-page-klantportaal .cw-dashboard-grid,
    html body.cw-page-klantlogin .cw-dashboard-grid{
        grid-template-columns:1fr!important;
        gap:18px!important;
    }
    html body.cw-page-klantportaal .cw-dashboard-head,
    html body.cw-page-klantlogin .cw-dashboard-head{
        flex-direction:column!important;
        align-items:flex-start!important;
        gap:18px!important;
    }
    html body.cw-page-klantportaal .cw-dashboard-head__actions,
    html body.cw-page-klantlogin .cw-dashboard-head__actions{
        width:100%!important;
        justify-content:flex-start!important;
        flex-wrap:wrap!important;
        gap:10px!important;
    }
    html body.cw-page-klantportaal .cw-dashboard-new-quote-btn,
    html body.cw-page-klantlogin .cw-dashboard-new-quote-btn,
    html body.cw-page-klantportaal .cw-dashboard .cw-button,
    html body.cw-page-klantlogin .cw-dashboard .cw-button{
        min-height:48px!important;
    }
    body.cw-page-klantportaal .cw-portal-newsletter-wrap,
    body.cw-page-klantlogin .cw-portal-newsletter-wrap{
        width:calc(100% - 28px)!important;
        margin:56px auto!important;
    }

    /* ================= FOOTER ================= */
    html body .cw26-footer{
        margin-top:56px!important;
    }
    html body .cw26-footer__shell{
        width:100%!important;
        max-width:none!important;
        padding:34px 14px 18px!important;
    }
    html body .cw26-footer__grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
        gap:30px 20px!important;
    }
    html body .cw26-footer__col--contact{
        grid-column:1 / -1!important;
    }
    html body .cw26-footer__col h3{
        margin-bottom:10px!important;
        font-size:14px!important;
    }
    html body .cw26-footer__col a,
    html body .cw26-footer__col p{
        margin-bottom:6px!important;
        font-size:13px!important;
        line-height:1.4!important;
    }
    html body .cw26-footer__bottom{
        margin-top:28px!important;
        padding-top:16px!important;
        gap:16px!important;
    }
    html body .cw26-footer__brand img{
        width:140px!important;
    }
    html body .cw26-footer__legal{
        gap:8px 12px!important;
        font-size:12px!important;
    }
    html body .cw26-to-top{
        right:14px!important;
        bottom:14px!important;
        width:40px!important;
        height:40px!important;
    }
}

@media (max-width:360px){
    body.cw-page-custom-made .cw-custom-category-grid{
        grid-template-columns:1fr!important;
    }
}

/* =========================================================
   v1.3.97 — UNIFORME HOOFDHERO'S OP ALLE PAGINA'S
   Desktop/tablet: maximaal 1250px breed en exact 430px hoog.
   Mobiel: exact 250px hoog. Bovenruimte overal 20px.
   Inhoud/styling per pagina blijft verder ongewijzigd.
   ========================================================= */

/* Desktop + tablet */
@media (min-width:700px){
    html body.cw-page-home .cwh26-hero,
    html body.cw-page-custom-made .cw-custom-hero-photo,
    html body.cw-page-contact .cwcontact-homehero,
    html body.cw-page-klantportaal .cw-portal-login-hero.cwh26-portal-promo--hero-clone,
    html body.cw-page-klantlogin .cw-portal-login-hero.cwh26-portal-promo--hero-clone,
    html body.cw-page-borduren .cwe26-hero--image-only{
        width:min(1250px,calc(100vw - 40px))!important;
        max-width:1250px!important;
        height:430px!important;
        min-height:430px!important;
        max-height:430px!important;
        aspect-ratio:auto!important;
        margin-top:0!important;
        margin-left:auto!important;
        margin-right:auto!important;
        padding:0!important;
        overflow:hidden!important;
    }

    /* Home staat al in de 1250px container: voorkom dubbele zij-inspringing. */
    html body.cw-page-home .cwh26-hero{
        width:100%!important;
        max-width:1250px!important;
        margin-top:0!important;
    }

    /* Contact blijft een rechte foto zonder zwarte hoekjes. */
    html body.cw-page-contact .cwcontact-homehero,
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__media{
        border-radius:0!important;
        background-color:transparent!important;
    }
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__media{
        position:absolute!important;
        inset:0!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        background-size:cover!important;
        background-position:center center!important;
    }

    html body.cw-page-custom-made .cw-custom-hero-photo img,
    html body.cw-page-home .cwh26-hero__image,
    html body.cw-page-klantportaal .cw-portal-login-hero .cwh26-portal-promo__image,
    html body.cw-page-klantlogin .cw-portal-login-hero .cwh26-portal-promo__image,
    html body.cw-page-borduren .cwe26-hero--image-only .cwh26-hero__image{
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:none!important;
        object-fit:cover!important;
    }
}

/* Mobiel */
@media (max-width:699px){
    html body.cw-page-home .cwh26-hero,
    html body.cw-page-custom-made .cw-custom-hero-photo,
    html body.cw-page-contact .cwcontact-homehero,
    html body.cw-page-klantportaal .cw-portal-login-hero.cwh26-portal-promo--hero-clone,
    html body.cw-page-klantlogin .cw-portal-login-hero.cwh26-portal-promo--hero-clone,
    html body.cw-page-borduren .cwe26-hero--image-only{
        height:250px!important;
        min-height:250px!important;
        max-height:250px!important;
        aspect-ratio:auto!important;
        margin-top:0!important;
        padding:0!important;
        overflow:hidden!important;
    }

    html body.cw-page-home .cwh26-hero{
        width:100%!important;
        margin-top:0!important;
    }
    html body.cw-page-custom-made .cw-custom-hero-photo,
    html body.cw-page-contact .cwcontact-homehero,
    html body.cw-page-klantportaal .cw-portal-login-hero.cwh26-portal-promo--hero-clone,
    html body.cw-page-klantlogin .cw-portal-login-hero.cwh26-portal-promo--hero-clone,
    html body.cw-page-borduren .cwe26-hero--image-only{
        width:calc(100% - 28px)!important;
        max-width:none!important;
        margin-left:auto!important;
        margin-right:auto!important;
    }

    html body.cw-page-contact .cwcontact-homehero,
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__media{
        border-radius:0!important;
        background-color:transparent!important;
    }
    html body.cw-page-contact .cwcontact-homehero .cwabout-homehero__media{
        position:absolute!important;
        inset:0!important;
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:none!important;
        margin:0!important;
        background-size:cover!important;
        background-position:center center!important;
    }

    html body.cw-page-custom-made .cw-custom-hero-photo img,
    html body.cw-page-home .cwh26-hero__image,
    html body.cw-page-klantportaal .cw-portal-login-hero .cwh26-portal-promo__image,
    html body.cw-page-klantlogin .cw-portal-login-hero .cwh26-portal-promo__image,
    html body.cw-page-borduren .cwe26-hero--image-only .cwh26-hero__image{
        width:100%!important;
        height:100%!important;
        min-height:0!important;
        max-height:none!important;
        object-fit:cover!important;
    }
}

/* =========================================================
   v1.3.99 — UNIFORME KAARTHOOGTES + MONOCHROME BUTTONS
   - Grote visuele kaarten volgen de herohoogte: 430px desktop/tablet.
   - Op mobiel volgen alle grote visuele kaarten de herohoogte: 250px.
   - Productgallery Custom made blijft bewust vierkant/ongemoeid.
   - CTA-buttons zijn sitebreed uitsluitend zwart/wit of outline.
   ========================================================= */

/* Grote kaartcomponenten op desktop/tablet gelijk aan de 430px hero. */
@media (min-width:700px){
    html body.cw-site-style-active .cwh26-promo-card__visual,
    html body.cw-site-style-active .cwh26-portal-promo--hero-clone,
    html body.cw-site-style-active.cw-page-borduren .cwe26-photo-card,
    html body.cw-site-style-active.cw-page-borduren .cwe26-nocharge__copy,
    html body.cw-site-style-active.cw-page-borduren .cwe26-nocharge__visual,
    html body.cw-site-style-active .cwh26-split__copy,
    html body.cw-site-style-active .cwh26-split__tile{
        height:430px!important;
        min-height:430px!important;
        max-height:430px!important;
        aspect-ratio:auto!important;
        box-sizing:border-box!important;
    }
}

/* Mobiel: hero en alle grote beeldkaarten exact 250px hoog. */
@media (max-width:699px){
    html body.cw-site-style-active .cwh26-promo-card__visual,
    html body.cw-site-style-active .cwh26-product-card__image-wrap,
    html body.cw-site-style-active .cwh26-portal-promo--hero-clone,
    html body.cw-site-style-active.cw-page-borduren .cwe26-photo-card,
    html body.cw-site-style-active.cw-page-borduren .cwe26-nocharge__visual{
        height:250px!important;
        min-height:250px!important;
        max-height:250px!important;
        aspect-ratio:auto!important;
        box-sizing:border-box!important;
    }

    html body.cw-site-style-active .cwh26-promo-card__visual{
        background-size:cover!important;
        background-position:center!important;
    }

    html body.cw-site-style-active .cwh26-product-card__image-wrap img,
    html body.cw-site-style-active.cw-page-borduren .cwe26-photo-card img,
    html body.cw-site-style-active.cw-page-borduren .cwe26-nocharge__visual img,
    html body.cw-site-style-active .cwh26-portal-promo--hero-clone .cwh26-portal-promo__image{
        width:100%!important;
        height:100%!important;
        object-fit:cover!important;
    }
}

/* ---------- Gevulde CTA's: zwart / wit ---------- */
html body.cw-site-style-active :where(
    .cwh26-button--dark,
    .cwh26-button--primary,
    .cwh26-promo-card__button,
    .cw-live-btn,
    .cwabout-homehero__btn--yellow,
    .cwabout-btn--yellow,
    .cw-contact-btn--yellow,
    .cw-contact-submit,
    .cw-custom-portal-hero__btn,
    .cw-button-yellow,
    .cw-button-black,
    .cwq-dashboard-button,
    .cwqv82-dashboard-button,
    .cw-dashboard-new-quote-btn,
    .cw-nocharge-real-btn,
    .cw-pdf-offer-real-btn,
    .cw-home-offer__button,
    .cw-footer__button,
    .cw-quote-fixed__button,
    .cwh26-newsletter__form button,
    .cw-news-pdf__form button,
    .cw-news-fixed__form button
){
    background:#111111!important;
    background-color:#111111!important;
    border-color:#111111!important;
    color:#FFFFFF!important;
    box-shadow:none!important;
}

html body.cw-site-style-active :where(
    .cwh26-button--dark,
    .cwh26-button--primary,
    .cwh26-promo-card__button,
    .cw-live-btn,
    .cwabout-homehero__btn--yellow,
    .cwabout-btn--yellow,
    .cw-contact-btn--yellow,
    .cw-contact-submit,
    .cw-custom-portal-hero__btn,
    .cw-button-yellow,
    .cw-button-black,
    .cwq-dashboard-button,
    .cwqv82-dashboard-button,
    .cw-dashboard-new-quote-btn,
    .cw-nocharge-real-btn,
    .cw-pdf-offer-real-btn,
    .cw-home-offer__button,
    .cw-footer__button,
    .cw-quote-fixed__button,
    .cwh26-newsletter__form button,
    .cw-news-pdf__form button,
    .cw-news-fixed__form button
) *{
    color:#FFFFFF!important;
}

/* Portal/auth/dashboard standaardbuttons op lichte vlakken ook zwart. */
html body.cw-site-style-active .cw-portal :where(
    .cw-auth-card:not(.cw-auth-card-dark) .cw-button,
    .cw-auth-card-light .cw-button,
    .cw-dashboard .cw-button,
    button[type="submit"]
){
    background:#111111!important;
    background-color:#111111!important;
    border-color:#111111!important;
    color:#FFFFFF!important;
}
html body.cw-site-style-active .cw-portal :where(
    .cw-auth-card:not(.cw-auth-card-dark) .cw-button,
    .cw-auth-card-light .cw-button,
    .cw-dashboard .cw-button,
    button[type="submit"]
) *{
    color:#FFFFFF!important;
}

/* Hover/focus: wit vlak met zwarte tekst/outline, nooit aqua. */
html body.cw-site-style-active :where(
    .cwh26-button--dark,
    .cwh26-button--primary,
    .cwh26-promo-card__button,
    .cw-live-btn,
    .cwabout-homehero__btn--yellow,
    .cwabout-btn--yellow,
    .cw-contact-btn--yellow,
    .cw-contact-submit,
    .cw-custom-portal-hero__btn,
    .cw-button-yellow,
    .cw-button-black,
    .cwq-dashboard-button,
    .cwqv82-dashboard-button,
    .cw-dashboard-new-quote-btn,
    .cw-nocharge-real-btn,
    .cw-pdf-offer-real-btn,
    .cw-home-offer__button,
    .cw-footer__button,
    .cw-quote-fixed__button,
    .cwh26-newsletter__form button,
    .cw-news-pdf__form button,
    .cw-news-fixed__form button
):hover,
html body.cw-site-style-active :where(
    .cwh26-button--dark,
    .cwh26-button--primary,
    .cwh26-promo-card__button,
    .cw-live-btn,
    .cwabout-homehero__btn--yellow,
    .cwabout-btn--yellow,
    .cw-contact-btn--yellow,
    .cw-contact-submit,
    .cw-custom-portal-hero__btn,
    .cw-button-yellow,
    .cw-button-black,
    .cwq-dashboard-button,
    .cwqv82-dashboard-button,
    .cw-dashboard-new-quote-btn,
    .cw-nocharge-real-btn,
    .cw-pdf-offer-real-btn,
    .cw-home-offer__button,
    .cw-footer__button,
    .cw-quote-fixed__button,
    .cwh26-newsletter__form button,
    .cw-news-pdf__form button,
    .cw-news-fixed__form button
):focus-visible,
html body.cw-site-style-active .cw-portal :where(
    .cw-auth-card:not(.cw-auth-card-dark) .cw-button,
    .cw-auth-card-light .cw-button,
    .cw-dashboard .cw-button,
    button[type="submit"]
):hover,
html body.cw-site-style-active .cw-portal :where(
    .cw-auth-card:not(.cw-auth-card-dark) .cw-button,
    .cw-auth-card-light .cw-button,
    .cw-dashboard .cw-button,
    button[type="submit"]
):focus-visible{
    background:#FFFFFF!important;
    background-color:#FFFFFF!important;
    border-color:#111111!important;
    color:#111111!important;
    outline:none!important;
}
html body.cw-site-style-active :where(
    .cwh26-button--dark,
    .cwh26-button--primary,
    .cwh26-promo-card__button,
    .cw-live-btn,
    .cwabout-homehero__btn--yellow,
    .cwabout-btn--yellow,
    .cw-contact-btn--yellow,
    .cw-contact-submit,
    .cw-custom-portal-hero__btn,
    .cw-button-yellow,
    .cw-button-black,
    .cwq-dashboard-button,
    .cwqv82-dashboard-button,
    .cw-dashboard-new-quote-btn,
    .cw-nocharge-real-btn,
    .cw-pdf-offer-real-btn,
    .cw-home-offer__button,
    .cw-footer__button,
    .cw-quote-fixed__button,
    .cwh26-newsletter__form button,
    .cw-news-pdf__form button,
    .cw-news-fixed__form button
):hover *,
html body.cw-site-style-active :where(
    .cwh26-button--dark,
    .cwh26-button--primary,
    .cwh26-promo-card__button,
    .cw-live-btn,
    .cwabout-homehero__btn--yellow,
    .cwabout-btn--yellow,
    .cw-contact-btn--yellow,
    .cw-contact-submit,
    .cw-custom-portal-hero__btn,
    .cw-button-yellow,
    .cw-button-black,
    .cwq-dashboard-button,
    .cwqv82-dashboard-button,
    .cw-dashboard-new-quote-btn,
    .cw-nocharge-real-btn,
    .cw-pdf-offer-real-btn,
    .cw-home-offer__button,
    .cw-footer__button,
    .cw-quote-fixed__button,
    .cwh26-newsletter__form button,
    .cw-news-pdf__form button,
    .cw-news-fixed__form button
):focus-visible *,
html body.cw-site-style-active .cw-portal :where(
    .cw-auth-card:not(.cw-auth-card-dark) .cw-button,
    .cw-auth-card-light .cw-button,
    .cw-dashboard .cw-button,
    button[type="submit"]
):hover *,
html body.cw-site-style-active .cw-portal :where(
    .cw-auth-card:not(.cw-auth-card-dark) .cw-button,
    .cw-auth-card-light .cw-button,
    .cw-dashboard .cw-button,
    button[type="submit"]
):focus-visible *{
    color:#111111!important;
}

/* ---------- Outlinebuttons op lichte achtergrond ---------- */
html body.cw-site-style-active :where(
    .cwh26-button--outline,
    .cw-button-outline,
    .cwabout-btn--ghost,
    .cw-contact-btn-outline
){
    background:transparent!important;
    background-color:transparent!important;
    border-color:#111111!important;
    color:#111111!important;
}
html body.cw-site-style-active :where(
    .cwh26-button--outline,
    .cw-button-outline,
    .cwabout-btn--ghost,
    .cw-contact-btn-outline
):hover,
html body.cw-site-style-active :where(
    .cwh26-button--outline,
    .cw-button-outline,
    .cwabout-btn--ghost,
    .cw-contact-btn-outline
):focus-visible{
    background:#111111!important;
    background-color:#111111!important;
    border-color:#111111!important;
    color:#FFFFFF!important;
}

/* ---------- Witte outlinebuttons op donkere/foto-achtergrond ---------- */
html body.cw-site-style-active .cwh26-button--portal,
html body.cw-site-style-active .cw-auth-card-dark .cw-button,
html body.cw-site-style-active .cw-auth-card-dark button[type="submit"],
html body.cw-site-style-active .cw-auth-card-dark input[type="submit"]{
    background:transparent!important;
    background-color:transparent!important;
    border-color:#FFFFFF!important;
    color:#FFFFFF!important;
}
html body.cw-site-style-active .cwh26-button--portal *,
html body.cw-site-style-active .cw-auth-card-dark .cw-button *,
html body.cw-site-style-active .cw-auth-card-dark button[type="submit"] *{
    color:#FFFFFF!important;
}
html body.cw-site-style-active .cwh26-button--portal:hover,
html body.cw-site-style-active .cwh26-button--portal:focus-visible,
html body.cw-site-style-active .cw-auth-card-dark .cw-button:hover,
html body.cw-site-style-active .cw-auth-card-dark .cw-button:focus-visible,
html body.cw-site-style-active .cw-auth-card-dark button[type="submit"]:hover,
html body.cw-site-style-active .cw-auth-card-dark button[type="submit"]:focus-visible,
html body.cw-site-style-active .cw-auth-card-dark input[type="submit"]:hover,
html body.cw-site-style-active .cw-auth-card-dark input[type="submit"]:focus-visible{
    background:#FFFFFF!important;
    background-color:#FFFFFF!important;
    border-color:#FFFFFF!important;
    color:#111111!important;
}
html body.cw-site-style-active .cwh26-button--portal:hover *,
html body.cw-site-style-active .cwh26-button--portal:focus-visible *,
html body.cw-site-style-active .cw-auth-card-dark .cw-button:hover *,
html body.cw-site-style-active .cw-auth-card-dark .cw-button:focus-visible *,
html body.cw-site-style-active .cw-auth-card-dark button[type="submit"]:hover *,
html body.cw-site-style-active .cw-auth-card-dark button[type="submit"]:focus-visible *{
    color:#111111!important;
}

/* Carouselpijlen blijven utility-controls, maar ook volledig monochroom. */
html body.cw-site-style-active .cwh26-carousel-controls__button{
    background:#FFFFFF!important;
    border-color:#111111!important;
    color:#111111!important;
}
html body.cw-site-style-active .cwh26-carousel-controls__button:hover,
html body.cw-site-style-active .cwh26-carousel-controls__button:focus-visible{
    background:#111111!important;
    border-color:#111111!important;
    color:#FFFFFF!important;
}
