.elementor-kit-521026{--e-global-color-primary:#175CA6;--e-global-color-secondary:#0F2A4A;--e-global-color-text:#314155;--e-global-color-accent:#943372;--e-global-color-b90a961:#0F4A87;--e-global-color-afbf693:#E8F1FA;--e-global-color-9c3e019:#D9ECFD;--e-global-color-61d9ef7:#7A2A5E;--e-global-color-011d0b5:#FFFFFF;--e-global-color-eafaa20:#FFFFFF;--e-global-color-8ee0473:#E2E8F0;--e-global-color-a1ae08a:#5B6776;--e-global-color-b247b28:#CBD5E1;--e-global-color-654f816:#15803D;--e-global-color-f893360:#B91C1C;--e-global-color-443faed:#475569;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-size:clamp(2rem, 1.4rem + 2.6vw, 3.25rem);--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.1em;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:700;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:16px;--e-global-typography-a86e2aa-font-family:"Caveat";--e-global-typography-a86e2aa-font-weight:600;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-521026 button,.elementor-kit-521026 input[type="button"],.elementor-kit-521026 input[type="submit"],.elementor-kit-521026 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );color:var( --e-global-color-eafaa20 );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-primary );border-radius:999px 999px 999px 999px;padding:14px 28px 14px 28px;}.elementor-kit-521026 button:hover,.elementor-kit-521026 button:focus,.elementor-kit-521026 input[type="button"]:hover,.elementor-kit-521026 input[type="button"]:focus,.elementor-kit-521026 input[type="submit"]:hover,.elementor-kit-521026 input[type="submit"]:focus,.elementor-kit-521026 .elementor-button:hover,.elementor-kit-521026 .elementor-button:focus{background-color:var( --e-global-color-b90a961 );color:var( --e-global-color-eafaa20 );box-shadow:0px 6px 16px 0px rgba(23.000000000000007, 91.99999999999999, 165.99999999999997, 0.25);border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-primary );border-radius:999px 999px 999px 999px;}.elementor-kit-521026 e-page-transition{background-color:#FFBC7D;}.elementor-kit-521026 a{color:var( --e-global-color-primary );}.elementor-kit-521026 a:hover{color:var( --e-global-color-b90a961 );}.elementor-kit-521026 h1{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:clamp(2rem, 1.4rem + 2.6vw, 3.25rem);font-weight:800;line-height:1.1em;}.elementor-kit-521026 h2{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:clamp(1.625rem, 1.2rem + 1.6vw, 2.25rem);font-weight:800;line-height:1.15em;}.elementor-kit-521026 h3{color:var( --e-global-color-secondary );font-family:"Plus Jakarta Sans", Sans-serif;font-size:clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem);font-weight:700;line-height:1.25em;}.elementor-kit-521026 h4{color:var( --e-global-color-b90a961 );font-family:"Plus Jakarta Sans", Sans-serif;font-size:clamp(1.125rem, 1.05rem + 0.35vw, 1.25rem);font-weight:700;line-height:1.3em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1450px;}.e-con{--container-max-width:1450px;}.elementor-widget:not(:last-child){--kit-widget-spacing:16px;}.elementor-element{--widgets-spacing:16px 24px;--widgets-spacing-row:16px;--widgets-spacing-column:24px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-521026{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-521026 button,.elementor-kit-521026 input[type="button"],.elementor-kit-521026 input[type="submit"],.elementor-kit-521026 .elementor-button{line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-521026{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-521026 button,.elementor-kit-521026 input[type="button"],.elementor-kit-521026 input[type="submit"],.elementor-kit-521026 .elementor-button{line-height:var( --e-global-typography-accent-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =====================================================================
   STERKER WITGOED - stijl v10.1 (1 bestand, 1 plek: Elementor > Site Settings > Aangepaste CSS)
   Customizer > Extra CSS blijft leeg.
   Logokleuren: teal #238AAA, paars #943372, goud #BC9825, roest #AB4A29.
   ===================================================================== */
/* Let op: Elementor zet --e-global-color-* op de body (.elementor-kit-N), niet op :root.
   Daarom staan de kleur-aliassen op `body`; :root krijgt dezelfde waarden met hex-terugval. */
:root, body {
    /* kleuren (Global Colors) */
    --sw-primary: var(--e-global-color-primary, #175CA6);              /* Sterker blauw */
    --sw-secondary: var(--e-global-color-secondary, #0F2A4A);
    --sw-text: var(--e-global-color-text, #314155);
    --sw-primary-dark: var(--e-global-color-b90a961, #0F4A87);
    --sw-primary-tint: var(--e-global-color-afbf693, #E8F1FA);
    --sw-primary-soft: var(--e-global-color-9c3e019, #D9ECFD);
    --sw-surface: var(--e-global-color-eafaa20, #FFFFFF);
    --sw-border: var(--e-global-color-8ee0473, #E2E8F0);
    --sw-text-muted: var(--e-global-color-a1ae08a, #5B6776);
    --sw-text-on-dark: var(--e-global-color-b247b28, #CBD5E1);
    --sw-success: var(--e-global-color-654f816, #15803D);
    --sw-error: var(--e-global-color-f893360, #B91C1C);
    --sw-soldout: var(--e-global-color-443faed, #475569);

    /* logokleuren: bewust vast, niet via Global Colors */
    --sw-teal: #238AAA;
    --sw-teal-deep: #1B7893;      /* teal met 5:1 contrast onder witte tekst */
    --sw-purple: #943372;
    --sw-gold: #BC9825;           /* alleen op donkere vlakken (5,4:1 op marine) */
    --sw-rust: #AB4A29;
    --sw-accent: #943372;         /* accent = paars (was oranje) */
    --sw-accent-dark: #7A2A5E;
    /* het verloop uit het logo, voor knoppen en badges (wit op beide uiteinden >= 5:1) */
    --sw-gradient: linear-gradient(120deg, var(--sw-teal-deep) 0%, var(--sw-purple) 100%);
}
@supports (background: linear-gradient(120deg in oklab, red, blue)) {
    :root, body { --sw-gradient: linear-gradient(120deg in oklab, var(--sw-teal-deep) 0%, var(--sw-purple) 100%); }
}

:root {
    /* spacing-schaal (8-punts) */
    --sw-space-1: 4px;    --sw-space-2: 8px;    --sw-space-3: 12px; --sw-space-4: 16px;
    --sw-space-5: 24px; --sw-space-6: 32px; --sw-space-7: 48px; --sw-space-8: 64px;
    --sw-space-9: 80px; --sw-space-10: 96px;

    /* layout per apparaat (desktop) */
    --sw-gutter: 32px;                /* zijmarge */
    --sw-section-y: 80px;          /* sectie boven/onder */
    --sw-section-y-compact: 48px;
    --sw-gap: 24px;                      /* gap tussen kolommen/containers */
    --sw-card-pad: 24px;
    --sw-radius: 16px;
    --sw-radius-pill: 999px;
}
@media (max-width: 1024px) {
    :root { --sw-gutter: 24px; --sw-section-y: 64px; --sw-section-y-compact: 40px; --sw-gap: 20px; --sw-card-pad: 20px; }
}
@media (max-width: 767px) {
    :root { --sw-gutter: 16px; --sw-section-y: 48px; --sw-section-y-compact: 32px; --sw-gap: 16px; --sw-card-pad: 16px; }
}

/* helper-klassen voor secties/kaarten (Advanced > CSS-klassen) */
.sw-section    { padding-block: var(--sw-section-y); padding-inline: var(--sw-gutter); }
.sw-section-compact { padding-block: var(--sw-section-y-compact); padding-inline: var(--sw-gutter); }
.sw-card { background: var(--sw-surface); border: 1px solid var(--sw-border); border-radius: var(--sw-radius); padding: var(--sw-card-pad); }
.sw-prose { max-width: 720px; }

/* ---------------------------------------------------------------------
      TEKST, LINKS, FOCUS
      --------------------------------------------------------------------- */
body { background: var(--sw-surface); -webkit-font-smoothing: antialiased; }
.woocommerce-Price-amount, .price { font-variant-numeric: tabular-nums; }
.elementor-widget-text-editor a:not(.elementor-button),
.elementor-widget-theme-post-content a:not(.elementor-button) {
    text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px;
}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
.elementor-button:focus-visible { outline: 2px solid var(--sw-primary); outline-offset: 2px; }
.on-dark a:focus-visible, .on-dark .elementor-button:focus-visible { outline-color: #fff; }

/* ---------------------------------------------------------------------
      KNOPPEN    (basisstijl = Site Settings > Knoppen, Primair)
      Varianten via CSS-klasse op de knop-widget (Advanced > CSS-klassen):
      btn-outline | btn-accent | btn-light | btn-text      + maat: btn-sm | btn-lg
      btn-block-mobile = volle breedte op mobiel
      --------------------------------------------------------------------- */
.elementor-button {
    min-height: 48px; display: inline-flex; align-items: center; justify-content: center;
    gap: 8px; letter-spacing: .01em;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.elementor-button:hover { transform: translateY(-1px); }
.elementor-button[disabled], .elementor-button.disabled {
    background: var(--sw-border); background-image: none; border-color: var(--sw-border); color: var(--sw-text-muted);
    box-shadow: none; transform: none; pointer-events: none;
}

.btn-outline .elementor-button { background: transparent; color: var(--sw-primary); border-color: var(--sw-primary); }
.btn-outline .elementor-button:hover,
.btn-outline .elementor-button:focus { background: var(--sw-primary-tint); color: var(--sw-primary-dark); border-color: var(--sw-primary-dark); }

/* accentknop = logoverloop met witte tekst */
.btn-accent .elementor-button {
    background-color: var(--sw-purple); background-image: var(--sw-gradient); background-size: 160% 100%; background-position: 0 50%;
    color: #fff; border-color: transparent;
    transition: background-position .35s ease, box-shadow .2s ease, transform .2s ease;
}
.btn-accent .elementor-button:hover,
.btn-accent .elementor-button:focus { background-color: var(--sw-purple); background-image: var(--sw-gradient); background-position: 100% 50%;
    border-color: transparent; color: #fff; box-shadow: 0 8px 20px rgba(148, 51, 114, .30); }

.btn-light .elementor-button { background: var(--sw-surface); color: var(--sw-secondary); border-color: var(--sw-surface); }
.btn-light .elementor-button:hover,
.btn-light .elementor-button:focus { background: var(--sw-primary-tint); border-color: var(--sw-primary-tint); color: var(--sw-secondary); box-shadow: none; }

.btn-sm .elementor-button { padding: 10px 20px; font-size: 14px; min-height: 40px; }
.btn-lg .elementor-button { padding: 16px 32px; font-size: 17px; min-height: 56px; }
@media (max-width: 767px) {
    .btn-block-mobile, .btn-block-mobile .elementor-button { width: 100%; }
}

/* --- Tekstknop (btn-text): nooit rand of achtergrond, alleen kleur (en pijltje) verandert --- */
.btn-text .elementor-button,
.btn-text .elementor-button:hover,
.btn-text .elementor-button:focus,
.btn-text .elementor-button:active,
.btn-text .elementor-button:focus-visible {
    background: transparent !important; background-color: transparent !important; background-image: none !important;
    border: 0 !important; box-shadow: none !important; transform: none !important;
    padding-inline: 0 !important; padding-block: 4px !important; min-height: 0 !important; border-radius: 0 !important;
}
.btn-text .elementor-button { color: var(--sw-primary) !important; }
.btn-text .elementor-button:hover,
.btn-text .elementor-button:focus-visible { color: var(--sw-accent-dark) !important; text-decoration: underline; text-underline-offset: 4px; }
.btn-text .elementor-button .elementor-button-icon { color: inherit; transition: transform .2s ease; }
.btn-text .elementor-button .elementor-button-icon svg { fill: currentColor; }
.btn-text .elementor-button:hover .elementor-button-icon { transform: translateX(4px); }
.on-dark .btn-text .elementor-button { color: #fff !important; }
.on-dark .btn-text .elementor-button:hover,
.on-dark .btn-text .elementor-button:focus-visible { color: var(--sw-accent) !important; }

/* --- knop-iconen erven de tekstkleur van de knop --- */
.elementor-button .elementor-button-icon svg { fill: currentColor; }

/* ---------------------------------------------------------------------
      HEADER    (template "Sterker Header")
      Rij 0: topbar (desktop) - Rij 1: menu-toggle | logo | zoeken | account | winkelwagen
      Rij 2: categoriebalk = Max Mega Menu (locatie max_mega_menu_1), alleen desktop
      Zoeken = Max Mega Menu (locatie max_mega_menu_2) - mobiel menu = locatie menu-1
      --------------------------------------------------------------------- */
.sw-header {
    z-index: 999;
    /* teal/paars gloed rond het logo, wit naar rechts (alleen background-image; de witte achtergrondkleur blijft van Elementor) */
    background-image:
        radial-gradient(520px 230px at 4% 12%, rgba(35, 138, 170, .30), transparent 68%),
        radial-gradient(420px 220px at 15% 105%, rgba(148, 51, 114, .16), transparent 70%),
        linear-gradient(100deg, rgba(35, 138, 170, .10) 0%, rgba(255, 255, 255, 0) 45%);
}

/* vaste blokken laten krimpen/groeien via flex i.p.v. vaste breedtes */
.sw-header__toggle, .sw-header__logo, .sw-header__account, .sw-header__cart { width: auto !important; flex: 0 0 auto !important; }
.sw-header__search { width: auto !important; flex: 1 1 auto !important; min-width: 0; }
.sw-header__search #mega-menu-wrap-max_mega_menu_2,
.sw-header__search #mega-menu-max_mega_menu_2 { width: 100%; background: transparent; }
@media (min-width: 1025px) {
    .sw-header__search, .sw-header__row > .e-con-inner > .sw-header__search {
        flex: 1 1 0% !important; width: 100% !important; max-width: 640px !important; min-width: 0 !important; }
    .sw-header__search > .elementor-widget, .sw-header__search .elementor-widget-container { width: 100% !important; }
}

/* logo: formaat via de Site Logo-widget (Sterker Header); hier alleen afronding en geen begrenzing door de kolom */
.sw-header__logo img { max-width: none !important; height: auto !important; border-radius: 14px; }

/* account-icoon (icoon boven "Inloggen", link /my-account/) */
.sw-header__account-box .elementor-icon-box-wrapper { padding: 0; align-items: center; gap: 2px; }
.sw-header__account-box .elementor-icon-box-icon,
.sw-header__account-box .elementor-icon-box-icon svg,
.sw-header__account-box .elementor-icon-box-icon i {
    width: 22px !important; height: 22px !important; font-size: 22px !important; line-height: 1 !important;
}
.sw-header__account-box .elementor-icon-box-icon { display: inline-flex !important; align-items: center; justify-content: center; margin: 0 auto; color: var(--sw-secondary); }
.sw-header__account-box .elementor-icon-box-title { margin: 0; font-size: 12px; font-weight: 600; }
.sw-header__account-box .elementor-icon-box-title,
.sw-header__account-box .elementor-icon-box-title a { color: var(--sw-secondary); text-decoration: none; }
.sw-header__account-box .elementor-icon-box-description { display: none !important; }
.sw-header__account-box:hover .elementor-icon-box-icon,
.sw-header__account-box:hover .elementor-icon-box-title,
.sw-header__account-box:hover .elementor-icon-box-title a { color: var(--sw-primary); }
@media (max-width: 767px) { .sw-header__account-box .elementor-icon-box-title { display: none; } }

/* winkelwagen als tint-pil */
.sw-header__cart {
    --toggle-button-icon-color: var(--sw-secondary);
    --toggle-button-text-color: var(--sw-secondary);
    --toggle-button-hover-text-color: var(--sw-primary);
    --toggle-button-icon-hover-color: var(--sw-primary);
    --items-indicator-background-color: var(--sw-accent);
    --items-indicator-text-color: #fff;
}
.sw-header__cart .elementor-menu-cart__toggle_button {
    background: var(--sw-primary-tint); border: 0; border-radius: var(--sw-radius-pill);
    padding: 10px 16px; font-weight: 600; transition: background-color .2s ease;
}
.sw-header__cart .elementor-menu-cart__toggle_button:hover { background: var(--sw-primary-soft); }

/* categoriebalk */
.sw-header__bar #mega-menu-wrap-max_mega_menu_1 { background: transparent; }

/* tablet: zoeken vult het midden */
@media (max-width: 1024px) {
    .sw-header__search { flex: 1 1 0 !important; }
}
/* mobiel: [toggle][logo]...[account][winkelwagen] boven, zoeken op eigen regel eronder */
@media (max-width: 767px) {
    .sw-header__toggle  { order: 0; }
    .sw-header__logo    { order: 1; margin-right: auto; }
    .sw-header__account { order: 2; }
    .sw-header__cart    { order: 3; }
    .sw-header__search  { order: 4; flex: 0 0 100% !important; }
    /* op mobiel alleen icoon + teller, geen bedrag: anders past de bovenste regel niet */
    .sw-header__cart .elementor-menu-cart__toggle .elementor-button-text { display: none; }
    .sw-header__cart .elementor-menu-cart__toggle_button { padding: 10px 12px; }
}
/* mobiel menu (Max Mega Menu, locatie menu-1): tekst verticaal gecentreerd, wat lucht boven en links */
@media (max-width: 1024px) {
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 { padding-top: 16px !important; }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link { height: 48px !important; line-height: 48px !important; padding: 0 20px !important; }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item li.mega-menu-item > a.mega-menu-link { padding-left: 32px !important; }
}

/* topbar: linkermenu (met vinkjes) | telefoon/e-mail | rechtermenu */
.sw-topbar { font-size: 13px; }
.sw-topbar .elementor-nav-menu a { padding: 0 !important; color: #fff; }
.sw-topbar__inner > .elementor-widget-nav-menu:first-child .elementor-item::before {
    content: "\2713"; margin-right: 6px; color: #5FD0E8; font-weight: 700; }

.sw-topbar__contact { width: auto !important; }
.sw-topbar__contact .elementor-icon-list-items { display: flex !important; flex-direction: row !important; flex-wrap: nowrap; align-items: center; gap: 20px; }
.sw-topbar__contact .elementor-icon-list-item,
.sw-topbar__contact .elementor-icon-list-item a { color: #CBD5E1; white-space: nowrap; }
.sw-topbar__contact a:hover { color: #fff; }

/* ---------------------------------------------------------------------
      ZOEKBALK (FiboSearch, stijl "Pirx", shortcode in Max Mega Menu-locatie max_mega_menu_2)
      --------------------------------------------------------------------- */
.dgwt-wcas-search-wrapp,
.dgwt-wcas-sf-wrapp { background: transparent !important; }

.dgwt-wcas-search-input {
    border-radius: var(--sw-radius-pill) !important;
    border: 1px solid var(--sw-border) !important;
    background-color: #fff !important;
    color: var(--sw-text) !important;
    box-shadow: none !important;
}
.dgwt-wcas-search-input:focus {
    outline: none !important;
    border-color: var(--sw-primary) !important;
    box-shadow: 0 0 0 3px var(--sw-primary-tint) !important;
}
.dgwt-wcas-style-pirx .dgwt-wcas-search-wrapp::before,
.dgwt-wcas-style-pirx .dgwt-wcas-search-wrapp::after,
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp::before,
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp::after { display: none !important; content: none !important; }

/* ronde blauwe knop rechts (de compound-.elementor-kit-521026 is nodig om Pirx' eigen link-positionering te verslaan) */
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input.dgwt-wcas-search-input[type="search"] { padding: 0 56px 0 20px !important; }
.dgwt-wcas-search-submit {
    background: var(--sw-primary) !important; border-radius: 50% !important;
    width: 38px !important; height: 38px !important; min-width: 38px !important; padding: 0 !important;
    top: 50% !important; transform: translateY(-50%);
    display: flex !important; align-items: center; justify-content: center;
}
.dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit,
.dgwt-wcas-search-wrapp .dgwt-wcas-search-submit { left: auto !important; right: 5px !important; }
.dgwt-wcas-search-submit:hover { background: var(--sw-primary-dark) !important; }
.dgwt-wcas-search-submit svg { width: 18px !important; height: 18px !important; }
.dgwt-wcas-search-submit svg path { fill: #fff !important; }

/* zoekbalk zit in Max Mega Menu, item 521201: wrapper-link neutraliseren zodat het zoekvak niet scheeftrekt */
li#mega-menu-item-521201 > a.mega-menu-link {
    background: transparent !important; padding: 0 !important; height: auto !important;
    display: flex !important; align-items: center !important; width: 100% !important;
}
li#mega-menu-item-521201 > a.mega-menu-link:hover,
li#mega-menu-item-521201 > a.mega-menu-link:focus,
li#mega-menu-item-521201 > a.mega-menu-link:active { background: transparent !important; color: inherit !important; }
li#mega-menu-item-521201 .dgwt-wcas-search-wrapp { width: 100%; }

/* ---------------------------------------------------------------------
      MAX MEGA MENU (categoriebalk, locatie max_mega_menu_1) + mobiel menu (locatie menu-1)
      --------------------------------------------------------------------- */
html, body { overflow-x: clip; }

#mega-menu-wrap-max_mega_menu_2,
#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 {
    width: 100% !important; background: transparent !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; }
#mega-menu-wrap-max_mega_menu_2 #mega-menu-max_mega_menu_2 > li.mega-menu-item {
    display: block !important; float: none !important; width: 100% !important; margin: 0 !important; }

@media (max-width: 1024px) {
    #mega-menu-wrap-menu-1 .mega-menu-toggle { background: transparent !important; }
    #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-animated-inner,
    #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-animated-inner::before,
    #mega-menu-wrap-menu-1 .mega-menu-toggle .mega-toggle-animated-inner::after { background-color: var(--sw-secondary) !important; }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 {
        background: var(--sw-surface) !important; border: 1px solid var(--sw-border); border-radius: 12px;
        box-shadow: 0 12px 32px rgba(15, 42, 74, .14); overflow: hidden; }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.mega-menu-link {
        background: transparent !important; color: var(--sw-secondary) !important; border-bottom: 1px solid var(--sw-border) !important;
        font: 600 15px/1.3 Inter, sans-serif !important; }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item > a.mega-menu-link:hover {
        background: var(--sw-primary-tint) !important; color: var(--sw-primary) !important; }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 li.mega-menu-item li.mega-menu-item > a.mega-menu-link { font-weight: 500 !important; }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 ul.mega-sub-menu { background: var(--sw-primary-tint) !important; }
    #mega-menu-wrap-menu-1 #mega-menu-menu-1 ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link {
        text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important; font-weight: 500 !important;
        color: var(--sw-secondary) !important; border-bottom: 1px solid var(--sw-primary-soft) !important; }
}

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link {
    font-family: var(--e-global-typography-text-font-family, Inter), sans-serif !important;
    font-size: 15px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important;
    color: #fff !important; transition: background-color .2s ease; }
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item:hover > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item.mega-toggle-on > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-item > a.mega-menu-link:focus-visible {
    background: var(--sw-primary-dark) !important; color: #fff !important; }

#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu {
    background: var(--sw-surface) !important; border: 1px solid var(--sw-border) !important; border-top: 0 !important;
    border-radius: 0 0 14px 14px !important; box-shadow: 0 18px 40px rgba(15, 42, 74, .14) !important;
    padding: 12px 16px 16px !important; }
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link {
    font-family: var(--e-global-typography-text-font-family, Inter), sans-serif !important;
    font-size: 14px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important;
    color: var(--sw-text) !important; background: transparent !important; border: 0 !important; padding: 6px 12px !important;
    border-radius: 8px; line-height: 1.4 !important; }
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column > ul.mega-sub-menu > li.mega-menu-item > a.mega-menu-link {
    font-family: var(--e-global-typography-primary-font-family, "Plus Jakarta Sans"), sans-serif !important;
    font-size: 15px !important; font-weight: 700 !important; color: var(--sw-secondary) !important; }
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:hover,
#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu li.mega-menu-item > a.mega-menu-link:focus-visible {
    background: var(--sw-primary-tint) !important; color: var(--sw-primary) !important; }

/* subitems in kolommen op desktop */
@media (min-width: 1025px) {
    #mega-menu-wrap-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column {
        --span: 12 !important; width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important;
        grid-column: 1 / -1 !important; float: none !important; }
    #mega-menu-wrap-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column > ul.mega-sub-menu {
        display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 24px; align-items: start; }
    #mega-menu-wrap-max_mega_menu_1 li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row > ul.mega-sub-menu > li.mega-menu-column > ul.mega-sub-menu:has(> li:nth-child(7)) {
        grid-template-columns: repeat(4, minmax(0, 1fr)); }
    #mega-menu-wrap-max_mega_menu_1 li.mega-menu-megamenu li.mega-menu-item li.mega-menu-item > a.mega-menu-link {
        font-size: 13.5px !important; color: var(--sw-text-muted) !important; font-weight: 500 !important;
        font-family: var(--e-global-typography-text-font-family, Inter), sans-serif !important; padding: 3px 12px !important; }
}

/* ---------------------------------------------------------------------
      FOOTER    (template "Sterker Footer")
      --------------------------------------------------------------------- */
.sw-footer { color: var(--sw-text-on-dark); }
.sw-footer a { color: var(--sw-text-on-dark); text-decoration: none; transition: color .2s ease; }
.sw-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

/* kolommen: desktop 1,5 : 1 : 1 : 1 - tablet contact vol + 3 kolommen - mobiel gestapeld */
.sw-footer__col { min-width: 0; width: auto !important; flex: 1 1 0 !important; }
.sw-footer__col--contact { flex: 1.5 1 0 !important; min-width: 260px; }
@media (max-width: 1024px) {
    .sw-footer__col--contact { flex: 1 1 100% !important; }
    .sw-footer__col { flex: 1 1 calc(33.333% - 24px) !important; }
}
@media (max-width: 767px) {
    .sw-footer__col { flex: 1 1 100% !important; }
}

.sw-footer__title .elementor-heading-title { margin: 0 0 4px; color: var(--sw-surface); }
.sw-footer__ask { margin: 0 0 2px; font-size: 14px; }
.sw-footer__phone { margin: 0; }
.sw-footer__phone a {
    font-family: var(--e-global-typography-primary-font-family), sans-serif;
    font-weight: 800; font-size: clamp(1.5rem, 1.2rem + 1vw, 1.75rem); line-height: 1.1; color: #fff;
}
.sw-footer .elementor-nav-menu--layout-vertical .elementor-item { padding: 6px 0 !important; }

.sw-footer__bottom { border-top: 1px solid rgba(203, 213, 225, .18); }
.sw-footer__legal { flex: 1 1 auto; }
.sw-footer__legal p { margin: 0; }
.sw-footer__payments { flex: 0 0 auto; }
.sw-footer__payments p { margin: 0; }
.sw-footer__pay img { height: 28px; width: auto; }
@media (max-width: 767px) {
    .sw-footer__payments { flex: 1 1 100%; }
}

/* ---------------------------------------------------------------------
      WEBSHOP-TEMPLATES (Theme Builder)
      Loop-items: Sterker Productkaart (.sw-pcard) - Sterker Merkkaart (.sw-bcard)
      Archief/zoeken: .sw-archive__* - Product: .sw-product__* - 404: .sw-404
      --------------------------------------------------------------------- */
.e-loop-item, .e-loop-item > .e-con { height: 100%; }
.sw-section-title .elementor-heading-title { margin: 0; }
.sw-cta-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* USP-blok (icon-list met 4 items) */
.sw-usp .elementor-icon-list-items { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.sw-usp .elementor-icon-list-item { align-items: center; }
.sw-usp.sw-usp--stack .elementor-icon-list-items { grid-template-columns: 1fr; gap: 10px; margin-top: 8px; }
@media (max-width: 1024px) { .sw-usp .elementor-icon-list-items { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)    { .sw-usp .elementor-icon-list-items { grid-template-columns: 1fr; } }

/* --- Productkaart --- */
.sw-pcard { position: relative; display: flex; flex-direction: column; padding: 16px;
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.sw-pcard:hover { border-color: var(--sw-primary-soft); box-shadow: 0 8px 24px rgba(15, 42, 74, .10); transform: translateY(-2px); }
.sw-pcard__media { aspect-ratio: 1 / 1; background: var(--sw-surface); border-radius: 12px; overflow: hidden;
    display: flex; align-items: center; justify-content: center; }
.sw-pcard__image, .sw-pcard__image a { display: block; width: 100%; height: 100%; }
.sw-pcard__image img { width: 100%; height: 100%; object-fit: contain; display: block; }
.sw-pcard__body { flex: 1 1 auto; }
.sw-pcard__brand .elementor-heading-title { margin: 0; font-size: 12px; font-weight: 600; letter-spacing: .06em;
    text-transform: uppercase; color: var(--sw-text-muted); }
.sw-pcard__title .elementor-heading-title { margin: 0; font-size: 16px; line-height: 1.35; font-weight: 700;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.7em; }
.sw-pcard__title a { color: inherit; text-decoration: none; }
.sw-pcard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; } /* hele kaart klikbaar */
.sw-pcard__price .price { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 800;
    font-size: 26px; line-height: 1.15; color: var(--sw-secondary); font-variant-numeric: tabular-nums; }
.sw-pcard__price del { color: var(--sw-text-muted); font-size: 15px; font-weight: 500; }
.sw-pcard__price ins { text-decoration: none; color: var(--sw-secondary); }
@media (max-width: 767px) { .sw-pcard__price .price { font-size: 22px; } }
/* voorraad: groen met stip (!important, want een los kleurtje in het Elementor-widget zelf kan anders winnen) */
.sw-pcard__stock .stock, .sw-pcard__stock p { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 13px; font-weight: 600; }
.sw-pcard__stock .stock, .sw-pcard__stock .in-stock { color: var(--sw-success) !important; }
.sw-pcard__stock .in-stock::before { content: ""; flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.sw-pcard__stock .out-of-stock { color: var(--sw-soldout) !important; }
.sw-pcard__cta { position: relative; z-index: 2; margin-top: auto; }
.sw-pcard__cta .elementor-button, .sw-pcard__cta .button { width: 100%; box-sizing: border-box; }
/* productkaart mobiel (2 kolommen van ca. 155px): knoptekst niet afbreken, voorraad op één regel */
@media (max-width: 767px) {
    .sw-pcard__cta .elementor-button { padding-left: 10px; padding-right: 10px; white-space: nowrap; }
    .sw-pcard__stock .stock, .sw-pcard__stock p { font-size: 12px; white-space: nowrap; }
    .sw-archive__results .elementor-loop-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .sw-archive__results .e-loop-item { min-width: 0; }
}

/* knop op de kaart: Sterker blauw, effen */
.sw-pcard__cta .elementor-button { background: var(--sw-primary); border-color: var(--sw-primary); color: #fff; }
.sw-pcard__cta .elementor-button:hover,
.sw-pcard__cta .elementor-button:focus { background: var(--sw-primary-dark); border-color: var(--sw-primary-dark); color: #fff; box-shadow: 0 6px 16px rgba(23, 92, 166, .25); }

/* --- Merkkaart --- */
.sw-bcard { position: relative; height: 100%; transition: box-shadow .2s ease, transform .2s ease; }
.sw-bcard:hover { box-shadow: 0 8px 24px rgba(15, 42, 74, .10); transform: translateY(-2px); }
.sw-bcard__media { width: 100%; aspect-ratio: 3 / 2; display: flex; align-items: center; justify-content: center; }
.sw-bcard__logo img { max-height: 64px; width: auto; max-width: 100%; object-fit: contain; }
.sw-bcard__title .elementor-heading-title { margin: 0; font-size: 15px; font-weight: 700; }
.sw-bcard__title a { color: inherit; text-decoration: none; }
.sw-bcard__title a::after { content: ""; position: absolute; inset: 0; }

/* --- Archief / zoekresultaten --- */
.sw-archive__title .elementor-heading-title { margin: 0; }
.sw-archive__intro p { margin: 0; max-width: 720px; }
.sw-archive__body { align-items: flex-start; }
.sw-archive__filters { flex: 0 0 280px !important; width: 280px !important; min-width: 0; }
.sw-archive__results { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; }
@media (max-width: 1024px) {
    .sw-archive__filters { flex: 1 1 auto !important; width: 100% !important; }
    .sw-archive__results { width: 100% !important; }
    .sw-archive__body { --flex-direction: initial !important; }
    /* direct op het flex-element: de variabele hierboven werkte op tablet (768-1024) niet, grid viel buiten beeld */
    .sw-archive__body > .e-con-inner { flex-direction: column !important; flex-wrap: nowrap !important; }
}
/* Filter Everything: kaart op desktop, gewone knop op tablet/mobiel.
      (klassenamen van de plugin - controleer met "Inspecteren" als iets afwijkt) */
.sw-filters { background: var(--sw-surface); border: 1px solid var(--sw-border); border-radius: var(--sw-radius); padding: 20px; }
@media (max-width: 1024px) { .sw-filters { background: transparent; border: 0; padding: 0; } }
.sw-filters .wpc-filter-title, .sw-filters .widget-title {
    font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 700; font-size: 16px; color: var(--sw-secondary); }
.sw-filters .wpc-filters-section { border-bottom: 1px solid var(--sw-border); padding-block: 12px; }
.sw-filters .wpc-filters-section:last-child { border-bottom: 0; }
.sw-filters input[type="checkbox"], .sw-filters input[type="radio"] { accent-color: var(--sw-primary); }
.sw-filters .wpc-open-close-filters-button, .sw-filters .wpc-filters-open-button-container a {
    display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 14px 28px; border-radius: var(--sw-radius-pill);
    background: var(--sw-primary); color: #fff; font-weight: 700; text-decoration: none; border: 2px solid var(--sw-primary); }
.sw-filters .wpc-open-close-filters-button:hover, .sw-filters .wpc-filters-open-button-container a:hover { background: var(--sw-primary-dark); border-color: var(--sw-primary-dark); }

/* Sorteerbalk (shortcode [sw_sortering]) boven de producten */
.sw-toolbar .sw-sort { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.sw-toolbar .sw-sort__count { margin: 0; font-size: 14px; font-weight: 600; color: var(--sw-text-muted); }
.sw-toolbar .sw-sort__form { display: flex; align-items: center; gap: 10px; margin: 0; }
.sw-toolbar .sw-sort__label { font-size: 14px; font-weight: 600; color: var(--sw-secondary); }
.sw-toolbar .sw-sort__select {
    min-height: 44px; padding: 0 40px 0 18px; margin: 0; border: 1px solid var(--sw-border); border-radius: var(--sw-radius-pill);
    background: var(--sw-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23175CA6' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;
    -webkit-appearance: none; appearance: none; color: var(--sw-secondary); font-weight: 600; font-size: 14px; cursor: pointer; }
.sw-toolbar .sw-sort__select:hover, .sw-toolbar .sw-sort__select:focus { border-color: var(--sw-primary); }
@media (max-width: 767px) { .sw-toolbar .sw-sort__form { width: 100%; } .sw-toolbar .sw-sort__select { flex: 1 1 auto; } }

/* Beschrijving van categorie/merk/conditie onder de producten */
.sw-archive__desc .term-description, .sw-archive__desc .page-description {
    background: var(--sw-surface); border: 1px solid var(--sw-border); border-radius: var(--sw-radius); padding: 32px; }
.sw-archive__desc h1, .sw-archive__desc h2 { font-size: clamp(1.3rem, 1.15rem + .6vw, 1.6rem); line-height: 1.25; margin: 0 0 12px; }
.sw-archive__desc h3 { font-size: 1.1rem; line-height: 1.3; margin: 20px 0 8px; }
.sw-archive__desc p, .sw-archive__desc li { max-width: 80ch; }
.sw-archive__desc p:last-child { margin-bottom: 0; }
.sw-archive__about { padding-top: 0; }
@media (max-width: 767px) { .sw-archive__desc .term-description, .sw-archive__desc .page-description { padding: 20px; } }

/* --- Productpagina --- */
.sw-product__top { align-items: flex-start; }
.sw-product__gallery { flex: 1.15 1 0 !important; min-width: 0 !important; width: auto !important; max-width: none !important; }
.sw-product__summary { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; max-width: none !important; }
@media (max-width: 1024px) { .sw-product__gallery, .sw-product__summary { flex: 1 1 auto !important; width: 100% !important; } }
.sw-product__gallery .woocommerce-product-gallery { border-radius: var(--sw-radius); overflow: hidden;
    background: var(--sw-surface); border: 1px solid var(--sw-border); width: 100% !important; float: none !important; padding: 12px; margin: 0; }
.sw-product__brand .elementor-heading-title { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .06em;
    text-transform: uppercase; color: var(--sw-text-muted); }
.sw-product__title .elementor-heading-title { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); line-height: 1.2; margin: 0; }
.sw-product__price .price { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 800;
    font-size: clamp(1.75rem, 1.5rem + 1vw, 2.25rem); color: var(--sw-secondary); font-variant-numeric: tabular-nums; }
.sw-product__price del { color: var(--sw-text-muted); font-size: 1rem; font-weight: 500; }
.sw-product__price ins { text-decoration: none; color: var(--sw-accent-dark); }
.sw-product__cart form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.sw-product__cart .quantity .qty { min-height: 52px; border-radius: var(--sw-radius-pill); border: 2px solid var(--sw-border);
    padding: 0 12px; text-align: center; }
.sw-product__cart .single_add_to_cart_button { flex: 1 1 220px; min-height: 52px; }
@media (max-width: 767px) { .sw-product__cart .single_add_to_cart_button { flex: 1 1 100%; } }
/* voorraadmelding komt uit de winkelwagen-widget (een keer) */
.sw-product__cart p.stock { margin: 0 0 8px; font-weight: 600; color: var(--sw-success) !important; }
.sw-product__cart p.stock.out-of-stock { color: var(--sw-soldout) !important; }

/* Productpagina: galerij, thumbnails */
.sw-product__gallery .flex-control-thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px;
    margin: 12px 0 0; padding: 0; list-style: none; }
.sw-product__gallery .flex-control-thumbs li { width: auto !important; float: none !important; margin: 0; }
.sw-product__gallery .flex-control-thumbs img { width: 100%; height: auto; border-radius: 8px; border: 1px solid var(--sw-border);
    background: var(--sw-surface); cursor: pointer; opacity: .65; transition: opacity .2s ease, border-color .2s ease; }
.sw-product__gallery .flex-control-thumbs img.flex-active, .sw-product__gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--sw-primary); }
.sw-product__badges:has(.elementor-shortcode:empty) { display: none; }

/* Productpagina: galerij met maximale hoogte (lange foto's maken de pagina niet gigantisch) */
.sw-product__gallery .woocommerce-product-gallery__image a { display: flex; justify-content: center; }
.sw-product__gallery .woocommerce-product-gallery__image img {
    width: auto !important; max-width: 100%; height: auto; max-height: min(70vh, 600px);
    margin-inline: auto; display: block; object-fit: contain; border-radius: 12px; }
.sw-product__gallery .flex-viewport { max-height: min(70vh, 600px); }
@media (max-width: 767px) {
    .sw-product__gallery .woocommerce-product-gallery__image img, .sw-product__gallery .flex-viewport { max-height: min(60vh, 440px); }
}

/* Productcondities-label (ACF-veld "productcondities" via shortcode [sw_conditie]) */
.sw-conds { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.sw-cond { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 999px; font-size: 12px; font-weight: 700;
    letter-spacing: .01em; text-transform: none; line-height: 1.3; background: var(--sw-primary); color: #fff; }
.sw-cond--nieuw { background: #15803D; color: #fff!important; }
.sw-cond--b-keus { background: #B45309; color: #fff; }
.sw-cond--refurbished { background: #C2410C; color: #fff!important; }
.sw-cond--outlet { background: #BE185D; color: #fff; }
.sw-pcard__badges { position: absolute; top: 26px; left: 26px; z-index: 2; width: auto !important; pointer-events: none; }
.sw-product__badges .sw-conds { margin-bottom: 2px; }
a.sw-cond { text-decoration: none; }
a.sw-cond:hover { filter: brightness(.95); text-decoration: underline; }
.sw-conds__info { font-size: 13px; font-weight: 600; color: var(--sw-primary); text-decoration: underline; text-underline-offset: 3px; }
.sw-conds__info:hover { color: var(--sw-accent-dark); }

/* Productpagina: uitklapbare beschrijving (nested accordion, standaard ingeklapt) */
.sw-acc .e-n-accordion-item { background: var(--sw-surface); border: 1px solid var(--sw-border); border-radius: var(--sw-radius);
    overflow: hidden; margin-bottom: 12px; }
.sw-acc .e-n-accordion-item-title { padding: 20px 24px; cursor: pointer; gap: 12px; }
.sw-acc .e-n-accordion-item-title-text { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 700;
    font-size: 1.125rem; line-height: 1.3; color: var(--sw-secondary); }
.sw-acc .e-n-accordion-item-title:hover .e-n-accordion-item-title-text,
.sw-acc .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-text { color: var(--sw-primary); }
.sw-acc .e-n-accordion-item-title-icon { color: var(--sw-primary); }
.sw-acc .e-n-accordion-item-title-icon svg { fill: currentColor; width: 16px; height: 16px; }
@media (max-width: 767px) { .sw-acc .e-n-accordion-item-title { padding: 16px; } }
.sw-acc .e-n-accordion-item:has(.sw-product__specs):not(:has(.sw-product__specs table)) { display: none !important; }
.sw-product__description h1 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.75rem); line-height: 1.25; margin: 0 0 16px; }
.sw-product__description h2 { font-size: clamp(1.2rem, 1.1rem + .4vw, 1.4rem); line-height: 1.3; margin: 24px 0 8px; }
.sw-product__description h3, .sw-product__description h4 { font-size: 1.05rem; line-height: 1.35; margin: 20px 0 6px; }
.sw-product__description p, .sw-product__description li { max-width: 80ch; }
.sw-product__description > :first-child { margin-top: 0; }
.sw-product__specs table { width: 100%; border-collapse: collapse; }
.sw-product__specs th, .sw-product__specs td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--sw-border); vertical-align: top; }
.sw-product__specs th { width: 34%; color: var(--sw-secondary); font-weight: 600; }
.sw-product__specs p { margin: 0; }

/* --- 404 --- */
.sw-404 { text-align: center; }
.sw-404__code .elementor-heading-title { font-family: var(--e-global-typography-primary-font-family), sans-serif;
    font-weight: 800; font-size: clamp(4rem, 3rem + 5vw, 7rem); line-height: 1; color: var(--sw-primary-soft); margin: 0; }
.sw-404__title .elementor-heading-title { text-align: center; margin: 0; }
.sw-404 .sw-cta-row { justify-content: center; }
.sw-search__help .elementor-widget-text-editor p { max-width: 640px; margin: 0; }

/* --- Standaard pagina-template (Theme Builder "Sterker Pagina") --- */
.sw-page__title .elementor-heading-title { margin: 0; }
/* de template levert de zijmarge; top-level containers van de pagina zelf doen dat niet nog eens */
.sw-page__content .elementor > .e-con.e-parent { padding-left: 0; padding-right: 0; }

/* --- Berichten: kaart in overzicht --- */
.sw-postcard { position: relative; height: 100%; overflow: hidden; transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.sw-postcard:hover { border-color: var(--sw-primary-soft); box-shadow: 0 8px 24px rgba(15, 42, 74, .10); transform: translateY(-2px); }
.sw-postcard__media { width: 100%; aspect-ratio: 16 / 10; overflow: hidden; background: var(--sw-primary-tint); }
.sw-postcard__image, .sw-postcard__image a, .sw-postcard__image .elementor-widget-container { display: block; width: 100%; height: 100%; }
.sw-postcard__image img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.sw-postcard:hover .sw-postcard__image img { transform: scale(1.03); }
.sw-postcard__body { flex: 1 1 auto; }
.sw-postcard__cat .elementor-heading-title { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sw-accent-dark); }
.sw-postcard__title .elementor-heading-title { margin: 0; font-size: 18px; line-height: 1.3; font-weight: 700; }
.sw-postcard__title a { color: inherit; text-decoration: none; }
.sw-postcard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.sw-postcard__excerpt p { margin: 0; font-size: 15px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.sw-postcard__foot { margin-top: auto; padding-top: 8px; }
.sw-postcard__date .elementor-heading-title { margin: 0; font-size: 13px; color: var(--sw-text-muted); }
.sw-postcard__more { position: relative; z-index: 2; }
.sw-postgrid .e-loop-item { height: 100%; }
.sw-posts__body { padding-top: 8px; }

/* --- Berichten: enkel bericht --- */
.sw-post__narrow { max-width: 820px !important; width: 100% !important; margin-inline: auto; flex: 0 1 auto !important; }
.sw-post__crumbs { padding-bottom: 0; }
.sw-post__head .sw-post__cat .elementor-heading-title { margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--sw-accent-dark); }
.sw-post__title .elementor-heading-title { margin: 0; }
.sw-post__date .elementor-heading-title { margin: 0; font-size: 14px; color: var(--sw-text-muted); }
.sw-post__media .sw-post__image img { width: 100%; height: auto; max-height: 480px; object-fit: cover; border-radius: var(--sw-radius); display: block; }
.sw-post__body .sw-post__content { font-size: 17px; line-height: 1.75; }
.sw-post__content p, .sw-post__content ul, .sw-post__content ol { margin: 0 0 1.25em; }
.sw-post__content h2 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.75rem); line-height: 1.25; margin: 1.8em 0 .6em; }
.sw-post__content h3 { font-size: clamp(1.15rem, 1.05rem + .5vw, 1.35rem); line-height: 1.3; margin: 1.5em 0 .5em; }
.sw-post__content a { color: var(--sw-primary); text-decoration: underline; text-underline-offset: 3px; }
.sw-post__content a:hover { color: var(--sw-accent-dark); }
.sw-post__content img { max-width: 100%; height: auto; border-radius: 12px; }
.sw-post__content blockquote { margin: 1.5em 0; padding: 4px 0 4px 20px; border-left: 4px solid var(--sw-accent); color: var(--sw-secondary); }
.sw-post__related .sw-section-title .elementor-heading-title { margin: 0; }

/* =====================================================================
      STARTPAGINA    (template "Sterker Startpagina")
      Hero - USP-marquee - Categorieen - Populaire producten - Budget -
      Promo-kaders - Witgoed advies (blog) - Merken - Nieuw binnen - Hulp-band
      ===================================================================== */
.sw-sechead { width: 100%; }
.sw-sechead .elementor-heading-title { margin: 0; }
.sw-sechead__actions { flex: 0 0 auto; width: auto !important; }
.sw-eyebrow .elementor-heading-title, .sw-promo__eyebrow .elementor-heading-title {
    margin: 0; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.sw-eyebrow .elementor-heading-title { color: var(--sw-gold); }

/* knoppen op donkere achtergrond */
.on-dark .btn-outline .elementor-button { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
.on-dark .btn-outline .elementor-button:hover,
.on-dark .btn-outline .elementor-button:focus { background: rgba(255, 255, 255, .12); border-color: #fff; color: #fff; }

/* widgets in rij-containers krimpen naar hun inhoud */
.sw-sechead > .elementor-widget, .sw-sechead__actions > .elementor-widget,
.sw-hero__cta > .elementor-widget, .sw-help__cta > .elementor-widget { width: auto !important; flex: 0 0 auto; }

/* --- Hero: foto als Elementor-achtergrond (Stijl > Achtergrond), navy-overlay houdt de tekst leesbaar --- */
.sw-hero {
    position: relative; isolation: isolate; background-repeat: no-repeat; background-position: center right; background-size: cover;
    /* terugval zolang er geen foto is; een foto uit Elementor overschrijft dit vanzelf */
    background-image: radial-gradient(900px 420px at 88% -8%, rgba(35, 138, 170, .45), transparent 62%),
                      linear-gradient(135deg, var(--sw-secondary) 0%, #123B63 100%);
}
.sw-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: linear-gradient(90deg, rgba(1, 42, 72, .94) 0%, rgba(1, 42, 72, .82) 38%, rgba(1, 42, 72, .18) 72%, rgba(1, 42, 72, 0) 100%); }
.sw-hero > * { position: relative; z-index: 1; }
@media (max-width: 767px) { .sw-hero::before { background: linear-gradient(180deg, rgba(1, 42, 72, .90) 0%, rgba(1, 42, 72, .78) 100%); } }
.sw-hero__content { flex: 1.5 1 0 !important; min-width: 0; width: auto !important; }
.sw-hero__promo { flex: 0 0 340px !important; width: 340px !important; max-width: 100%; position: relative; overflow: hidden; color: #fff;
    background-color: var(--sw-purple); background-image: var(--sw-gradient);
    border: 1px solid rgba(255, 255, 255, .28); border-radius: var(--sw-radius); box-shadow: 0 24px 56px rgba(4, 14, 30, .40); }
.sw-hero__promo::before { content: ""; position: absolute; left: -70px; bottom: -90px; width: 230px; height: 230px; border-radius: 50%;
    background: radial-gradient(circle, rgba(188, 152, 37, .55), rgba(188, 152, 37, 0) 70%); z-index: 0; }
.sw-hero__promo > * { position: relative; z-index: 1; }
@media (max-width: 1024px) {
    .sw-hero__content, .sw-hero__promo { flex: 1 1 auto !important; width: 100% !important; }
    .sw-hero__promo { max-width: 460px; align-self: flex-start; }
}
@media (max-width: 767px) {
    .sw-hero__promo { max-width: none; align-self: stretch; }
    .sw-hero__cta, .sw-hero__cta > .elementor-widget, .sw-hero__cta .elementor-button { width: 100% !important; }
}
.sw-hero__title .elementor-heading-title { margin: 0; text-wrap: balance; }
.sw-hero__lead p { margin: 0; max-width: 54ch; font-size: clamp(1rem, .95rem + .3vw, 1.2rem); line-height: 1.55; }
.sw-hero__cta { margin-top: 8px; }
/* vinkjes onder de knoppen */
.sw-hero__checks .elementor-icon-list-items { display: flex; flex-direction: column; gap: 6px; }
.sw-hero__checks .elementor-icon-list-icon { color: #5FD0E8; }
.sw-hero__checks .elementor-icon-list-text { color: #fff; font-size: 15px; }
.sw-hero__hand .elementor-heading-title { margin: 0; font-family: var(--e-global-typography-a86e2aa-font-family), "Caveat", cursive;
    font-weight: 600; font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.1; color: var(--sw-gold); }
/* kortingskader */
.sw-promo__eyebrow .elementor-heading-title { color: rgba(255, 255, 255, .92); }
.sw-promo__pct .elementor-heading-title { margin: 0; font-family: var(--e-global-typography-primary-font-family), sans-serif;
    font-weight: 800; font-size: clamp(4rem, 3rem + 4vw, 6rem); line-height: .95; color: #fff; }
.sw-promo__text p { margin: 0; font-size: 1.125rem; font-weight: 700; color: #fff; }
.sw-promo__code p { margin: 8px 0 12px; display: inline-block; padding: 8px 14px; border: 2px dashed rgba(255, 255, 255, .7);
    border-radius: 12px; background: rgba(255, 255, 255, .14); color: #fff; font-size: 15px; }
.sw-promo__code strong { letter-spacing: .08em; color: #fff; }
.sw-hero__promo .btn-accent .elementor-button { background: #fff; background-image: none; color: var(--sw-secondary); border-color: #fff; }
.sw-hero__promo .btn-accent .elementor-button:hover { background: var(--sw-primary-tint); background-image: none; border-color: var(--sw-primary-tint); color: var(--sw-secondary); }

/* --- USP-marquee: doorlopende balk (3 identieke groepen, animatie schuift precies 1 groep op) --- */
.sw-marquee { overflow: hidden; border-bottom: 1px solid var(--sw-border);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 56px, #000 calc(100% - 56px), transparent 100%);
                    mask-image: linear-gradient(90deg, transparent 0, #000 56px, #000 calc(100% - 56px), transparent 100%); }
.sw-marquee__track { width: max-content !important; max-width: none !important; flex-wrap: nowrap !important;
    animation: sw-marquee 48s linear infinite; will-change: transform; }
.sw-marquee:hover .sw-marquee__track { animation-play-state: paused; }
.sw-marquee__group { flex: 0 0 auto !important; width: max-content !important; max-width: none !important;
    flex-wrap: nowrap !important; padding-inline-end: 56px !important; }
@keyframes sw-marquee { from { transform: translateX(0); } to { transform: translateX(-33.3333%); } }
@media (max-width: 767px) { .sw-marquee__track { animation-duration: 36s; } .sw-marquee__group { column-gap: 40px !important; padding-inline-end: 40px !important; } }
@media (prefers-reduced-motion: reduce) {
    .sw-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
    .sw-marquee__track { animation: none; }
    .sw-marquee__group:not(:first-child) { display: none !important; }
}
.sw-usp-item { flex: 0 0 auto !important; width: auto !important; max-width: none !important; }
.sw-usp-item .elementor-widget { width: auto; flex: 0 0 auto; }
.sw-usp-item__icon .elementor-icon { display: inline-flex; align-items: center; justify-content: center;
    width: 46px; height: 46px; border-radius: 50%; background: var(--sw-primary-tint); }
.sw-usp-item__text p { margin: 0; line-height: 1.3; white-space: nowrap; }
.sw-usp-item__text strong { display: block; color: var(--sw-secondary); font-size: 15px; font-weight: 700; }
.sw-usp-item__text span { display: block; color: var(--sw-text-muted); font-size: 13.5px; }

/* --- Sliders (Populaire producten + Nieuw binnen + Merken): horizontaal scrollen met scroll-snap, pijltjes op desktop --- */
.sw-slider-wrap, .sw-brands { min-width: 0; max-width: 100%; }
.sw-slider .elementor-loop-container {
    --sw-cols: 4; --sw-slide-gap: 24px;
    display: grid !important; grid-template-columns: none !important; grid-auto-flow: column;
    grid-auto-columns: calc((100% - (var(--sw-cols) - 1) * var(--sw-slide-gap)) / var(--sw-cols));
    gap: var(--sw-slide-gap) !important; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    padding: 6px 2px 14px; margin: -6px -2px -14px; }
.sw-slider .elementor-loop-container::-webkit-scrollbar { display: none; }
.sw-slider .e-loop-item { scroll-snap-align: start; min-width: 0; }
@media (max-width: 1024px) { .sw-slider .elementor-loop-container { --sw-cols: 3; --sw-slide-gap: 20px; } }
@media (max-width: 767px)    { .sw-slider .elementor-loop-container { --sw-cols: 1.25; --sw-slide-gap: 12px; } }

.sw-slider__navwrap { width: auto !important; }
.sw-slider__nav { display: flex; gap: 8px; }
/* Elementor-kitstijl voor button-elementen (padding 14/28, primaire kleur) overschrijven: hogere specificiteit + !important */
.sw-slider__nav .sw-slider__btn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px;
    min-width: 44px; min-height: 44px; padding: 0 !important; margin: 0; border-radius: 50% !important;
    border: 1.5px solid var(--sw-border) !important; background: var(--sw-surface) !important; color: var(--sw-primary) !important;
    box-shadow: none !important; cursor: pointer; line-height: 1; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.sw-slider__nav .sw-slider__btn svg { display: block; width: 18px; height: 18px; flex: 0 0 18px; stroke: currentColor; fill: none; }
.sw-slider__nav .sw-slider__btn:hover, .sw-slider__nav .sw-slider__btn:focus-visible {
    background: var(--sw-primary) !important; border-color: var(--sw-primary) !important; color: #fff !important; transform: none; }
@media (max-width: 767px) { .sw-slider__navwrap { display: none; } }

.sw-slider__scroller { flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none;
    overscroll-behavior-x: contain; padding: 6px 2px 14px !important; margin: -6px -2px -14px; width: 100% !important; max-width: 100%; min-width: 0; box-sizing: border-box; }
.sw-slider__scroller::-webkit-scrollbar { display: none; }

/* --- Categorieen: foto-tegel met titel linksboven over het beeld --- */
.sw-cats { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.sw-cat { position: relative; overflow: hidden; padding: 0 !important; gap: 0 !important; width: auto !important; max-width: none !important;
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.sw-cat:hover { border-color: var(--sw-primary-soft); box-shadow: 0 8px 24px rgba(15, 42, 74, .10); transform: translateY(-2px); }
.sw-cat__media { position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden;
    background-color: var(--sw-primary-tint);
    background-image: linear-gradient(135deg, var(--sw-primary-tint) 0%, #fff 100%);
    background-size: cover; background-position: right center; background-repeat: no-repeat; }
.sw-cat__media::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(155deg, rgba(255, 255, 255, .92) 0%, rgba(255, 255, 255, .55) 32%, rgba(255, 255, 255, 0) 62%); }
.sw-cat__img, .sw-cat__img a { display: block; width: 100%; height: 100%; }
.sw-cat__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.sw-cat__title { position: absolute !important; inset: 0; width: auto !important; padding: 14px 16px; z-index: 2; pointer-events: none; }
.sw-cat__title .elementor-heading-title { margin: 0; font-size: 18px; line-height: 1.2; font-weight: 700; text-align: left; }
.sw-cat__title a { color: var(--sw-secondary); text-decoration: none; pointer-events: auto; }
.sw-cat__title a::before { content: ""; position: absolute; inset: 0; z-index: 1; }      /* hele tegel klikbaar */
.sw-cat__title a::after { content: " \2192"; color: var(--sw-primary); display: inline-block; transition: transform .2s ease; }
.sw-cat:hover .sw-cat__title a::after { transform: translateX(4px); }
@media (max-width: 1024px) {
    .sw-cats { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
    .sw-cat { grid-column: span 2; }
    .sw-cat:nth-child(4) { grid-column: 2 / span 2; }
    .sw-cat:nth-child(5) { grid-column: 4 / span 2; }
}
@media (max-width: 767px) {
    .sw-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .sw-cat, .sw-cat:nth-child(4), .sw-cat:nth-child(5) { grid-column: auto; }
    .sw-cat:last-child { grid-column: 1 / -1; }
    .sw-cat:last-child .sw-cat__media { aspect-ratio: 2 / 1; }
    .sw-cat__title { padding: 10px 12px; }
    .sw-cat__title .elementor-heading-title { font-size: 15px; }
}

/* --- Budget --- */
.sw-budgets { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sw-budget { position: relative; width: auto !important; max-width: none !important; text-align: left;
    transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.sw-budget:hover { border-color: var(--sw-primary-soft); box-shadow: 0 8px 24px rgba(15, 42, 74, .10); transform: translateY(-2px); }
.sw-budget__label .elementor-heading-title { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .06em;
    text-transform: uppercase; color: var(--sw-text-muted); }
.sw-budget__amount .elementor-heading-title { margin: 0; font-family: var(--e-global-typography-primary-font-family), sans-serif;
    font-weight: 800; font-size: clamp(1.75rem, 1.4rem + 1.2vw, 2.5rem); line-height: 1.1; }
.sw-budget__amount a { color: var(--sw-primary); text-decoration: none; }
.sw-budget__amount a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.sw-budget__amount a::after { content: " \2192"; color: var(--sw-accent); font-size: .7em; }
@media (max-width: 767px) { .sw-budgets { grid-template-columns: 1fr; gap: 12px; }
    .sw-budget { flex-direction: row !important; align-items: baseline; justify-content: space-between; } }

/* --- Promo-kaders: Refurbished | Witgoed advies | Populaire producten (achtergrond = Elementor Stijl > Achtergrond, positie rechts) --- */
.sw-promos { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.sw-promo-card { position: relative; overflow: hidden; min-height: 260px; width: auto !important; max-width: none !important;
    padding: 28px !important; border: 1px solid var(--sw-border); border-radius: var(--sw-radius);
    background-color: var(--sw-primary-tint); background-repeat: no-repeat; background-position: right center; background-size: auto 100%; }
.sw-promo-card::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 255, 255, .96) 0%, rgba(255, 255, 255, .88) 45%, rgba(255, 255, 255, 0) 82%); }
.sw-promo-card > * { position: relative; z-index: 1; max-width: 60%; }
.sw-promo-card__title .elementor-heading-title { margin: 0; font-size: clamp(1.4rem, 1.2rem + .8vw, 1.75rem); line-height: 1.15; color: var(--sw-primary); }
.sw-promo-card__text p { margin: 0; font-size: 15px; line-height: 1.55; }
.sw-promo-card .elementor-icon-list-items { display: flex; flex-direction: column; gap: 4px; }
.sw-promo-card .elementor-icon-list-icon { color: var(--sw-success); }
.sw-promo-card .elementor-icon-list-text { font-size: 14px; color: var(--sw-text); }
.sw-promo-card .elementor-button { margin-top: 4px; }
@media (max-width: 1024px) { .sw-promos { grid-template-columns: 1fr; } .sw-promo-card { min-height: 220px; } }
@media (max-width: 767px) {
    .sw-promo-card > * { max-width: 100%; }
    .sw-promo-card > .elementor-widget { width: 100% !important; } /* tekst en lijst niet halve breedte op mobiel */
    .sw-promo-card::before { background: linear-gradient(180deg, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, .85) 100%); }
}

/* --- Witgoed advies (blog): verdwijnt vanzelf zolang er nog geen berichten zijn --- */
.sw-home-blog:not(:has(.e-loop-item)) { display: none !important; }
.sw-home-blog .sw-postgrid .elementor-loop-container { gap: 24px; }

/* --- Merken --- */
.sw-brand { position: relative; flex: 0 0 auto !important; width: 176px !important; min-height: 96px; text-align: center;
    scroll-snap-align: start; transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease; }
.sw-brand:hover { border-color: var(--sw-primary-soft); box-shadow: 0 8px 24px rgba(15, 42, 74, .10); transform: translateY(-2px); }
.sw-brand__logo img { max-height: 48px; max-width: 132px; width: auto; object-fit: contain; }
.sw-brand__logo:not(:has(img)) { display: none; }
.sw-brand__name .elementor-heading-title { margin: 0; font-family: var(--e-global-typography-primary-font-family), sans-serif;
    font-weight: 800; font-size: 20px; letter-spacing: -.01em; }
.sw-brand__name a { color: var(--sw-secondary); text-decoration: none; }
.sw-brand__name a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.sw-brand:hover .sw-brand__name a { color: var(--sw-primary); }
.sw-brand:has(img) .sw-brand__name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sw-brands .sw-brand { width: 168px !important; }
@media (max-width: 767px) { .sw-brand, .sw-brands .sw-brand { width: 148px !important; min-height: 84px; } .sw-brand__name .elementor-heading-title { font-size: 18px; } }

/* --- Hulp-band --- */
.sw-help { background-image: linear-gradient(120deg, var(--sw-primary-dark) 0%, var(--sw-primary) 100%); }
.sw-help__content { flex: 1 1 380px !important; min-width: 0; width: auto !important; max-width: 640px; }
.sw-help__cta { flex: 0 0 auto; width: auto !important; }
.sw-hand .elementor-heading-title { margin: 0; font-family: var(--e-global-typography-a86e2aa-font-family), "Caveat", cursive;
    font-weight: 600; font-size: 1.75rem; line-height: 1; color: var(--sw-gold); }
.sw-help__title .elementor-heading-title { margin: 0; }
.sw-help__text p { margin: 0; }
@media (max-width: 767px) { .sw-help__cta { width: 100% !important; } .sw-help__cta .elementor-button { width: 100%; } }

.elementor-520934 .elementor-element.elementor-element-d3ba975b:not(.elementor-motion-effects-element-type-background), .elementor-520934 .elementor-element.elementor-element-d3ba975b > .elementor-motion-effects-container > .elementor-motion-effects-layer {
    background-color: #fff!important;
    background-image: none!important;
}

/* =========================================================
   REFURBISHED-BANNER (v11) - homepage, onder .sw-home-budget
   Buitenste container: classes "sw-home-section sw-refurb".
   ========================================================= */
.sw-refurb__card { --display: grid; display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 1.05fr); align-items: stretch; gap: 0 !important; padding: 0 !important; background: #F4F8FA; border-radius: 20px; overflow: hidden; }
.sw-refurb__text { --display: flex; --flex-direction: column; display: flex !important; flex-direction: column !important; justify-content: center; gap: 16px; padding: clamp(24px, 3vw, 40px) !important; }
.sw-refurb__title .elementor-heading-title { font-size: clamp(28px, 3vw, 40px); line-height: 1.1; color: var(--sw-teal-deep, #1B7893); }
.sw-refurb__lead p { margin: 0; }
.sw-refurb__media, .sw-refurb__media .elementor-widget-container { height: 100%; }
.sw-refurb__media img { display: block; width: 100%; height: 100%; min-height: 240px; object-fit: cover; }
.sw-refurb__usp { --display: flex; --flex-direction: column; display: flex !important; flex-direction: column !important; justify-content: center; align-items: flex-start; gap: 20px; padding: clamp(24px, 3vw, 40px) !important; }
.sw-refurb__list .elementor-icon-list-item { font-weight: 500; padding-block: 4px; }
.sw-refurb__list .elementor-icon-list-icon svg { width: 16px; height: 16px; fill: var(--sw-teal-deep, #1B7893); }
.sw-refurb__list .elementor-icon-list-icon i { color: var(--sw-teal-deep, #1B7893); }
.sw-refurb__badge { padding: 0 !important; border: 0 !important; }
.sw-refurb__badge .elementor-heading-title { display: inline-block; width: auto; height: auto; padding: 8px 16px; border-radius: 999px; background: rgba(27, 120, 147, .1); color: var(--sw-teal-deep, #1B7893); font-size: 14px; font-weight: 600; line-height: 1.3; }
@media (max-width: 1024px) {
  .sw-refurb__card { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .sw-refurb__usp { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .sw-refurb__card { grid-template-columns: minmax(0, 1fr); }
  .sw-refurb__media img { min-height: 0; max-height: 260px; }
}


/* WINKELWAGEN-KNOPPEN: afrekenknop winkelwagen (WooCommerce/Fluid Checkout) en uitklapmandje in Sterker-stijl */
.wc-proceed-to-checkout a.checkout-button,
.fc-cart-action__proceed-checkout,
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
    background: var(--sw-primary) !important; border-color: var(--sw-primary) !important; color: #fff !important;
    border-radius: var(--sw-radius-pill) !important; text-decoration: none !important; font-weight: 700;
}
/* desktop-winkelwagen (Fluid Checkout): de afrekenlink krijgt knopvorm met binnenmarge */
.fc-cart-action__proceed-checkout {
    display: inline-flex !important; align-items: center; gap: 8px; padding: 12px 24px !important; line-height: 1.2;
}
.fc-cart-action__proceed-checkout::after { color: #fff !important; }
/* bedankpagina: knoppen Betalen / Annuleren */
.woocommerce-order .order-actions-button.pay {
    background: var(--sw-primary) !important; color: #fff !important; border: 0 !important;
    border-radius: var(--sw-radius-pill) !important; padding: 8px 18px !important; text-decoration: none !important;
}
.woocommerce-order .order-actions-button.cancel {
    background: transparent !important; color: var(--sw-primary) !important; border: 2px solid var(--sw-primary) !important;
    border-radius: var(--sw-radius-pill) !important; padding: 6px 16px !important; text-decoration: none !important;
}
.wc-proceed-to-checkout a.checkout-button:hover,
.fc-cart-action__proceed-checkout:hover,
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover {
    background: var(--sw-primary-dark) !important; border-color: var(--sw-primary-dark) !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart {
    background: transparent !important; color: var(--sw-primary) !important; border: 2px solid var(--sw-primary) !important;
    border-radius: var(--sw-radius-pill) !important;
}

/* CHECKOUT (Fluid Checkout): knoppen en voortgangsbalk in Sterker-stijl (hersteld na CSS-samenvoeging 12 okt) */
.fc-wrapper .fc-step__next-step,
.fc-wrapper .fc-step__substep-save,
.fc-wrapper .fc-coupon-code__apply,
.fc-wrapper .fc-place-order-button,
.woocommerce-checkout #place_order {
    background: var(--sw-primary) !important; border-color: var(--sw-primary) !important; color: #fff !important;
    border-radius: var(--sw-radius-pill) !important; font-weight: 700; text-decoration: none !important;
}
.fc-wrapper .fc-step__next-step:hover,
.fc-wrapper .fc-step__substep-save:hover,
.fc-wrapper .fc-coupon-code__apply:hover,
.fc-wrapper .fc-place-order-button:hover,
.woocommerce-checkout #place_order:hover {
    background: var(--sw-primary-dark) !important; border-color: var(--sw-primary-dark) !important;
}
.fc-progress-bar__step.is-current,
.fc-progress-bar__step.is-complete { background-color: var(--sw-primary) !important; }

/* MEGAMENU-ICONEN: lijn-icoon per categorie (afbeeldingen sw-menu-icoon-*.png in de mediabibliotheek, 48px getoond op 20px) */
.mega-menu li.mega-menu-item-521172 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521173 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521174 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521175 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521176 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521178 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521179 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521180 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521181 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521182 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521183 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521184 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521185 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521186 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521187 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521188 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521189 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521190 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521192 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521193 > a.mega-menu-link::before,
.mega-menu li.mega-menu-item-521194 > a.mega-menu-link::before {
    content: "" !important; display: inline-block !important; width: 20px !important; height: 20px !important; flex: 0 0 20px;
    margin: 0 10px 0 0 !important; vertical-align: middle; background-position: center !important; background-size: contain !important; background-repeat: no-repeat !important;
}
.mega-menu li.mega-menu-item-521172 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-inbouwkoelkast.png") !important; }
.mega-menu li.mega-menu-item-521173 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-vaatwasser.png") !important; }
.mega-menu li.mega-menu-item-521174 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-oven.png") !important; }
.mega-menu li.mega-menu-item-521175 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-kookplaat.png") !important; }
.mega-menu li.mega-menu-item-521176 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-combimagnetron.png") !important; }
.mega-menu li.mega-menu-item-521178 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-koelvries.png") !important; }
.mega-menu li.mega-menu-item-521179 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-vriezer.png") !important; }
.mega-menu li.mega-menu-item-521180 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-vaatwasser.png") !important; }
.mega-menu li.mega-menu-item-521181 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-amerikaans.png") !important; }
.mega-menu li.mega-menu-item-521182 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-tafelmodel.png") !important; }
.mega-menu li.mega-menu-item-521183 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-oven.png") !important; }
.mega-menu li.mega-menu-item-521184 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-magnetron.png") !important; }
.mega-menu li.mega-menu-item-521185 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-kookplaat.png") !important; }
.mega-menu li.mega-menu-item-521186 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-koelkast.png") !important; }
.mega-menu li.mega-menu-item-521187 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-fornuis.png") !important; }
.mega-menu li.mega-menu-item-521188 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-kookplaat.png") !important; }
.mega-menu li.mega-menu-item-521189 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-inductie.png") !important; }
.mega-menu li.mega-menu-item-521190 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-gas.png") !important; }
.mega-menu li.mega-menu-item-521192 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-wasmachine.png") !important; }
.mega-menu li.mega-menu-item-521193 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-droger.png") !important; }
.mega-menu li.mega-menu-item-521194 > a.mega-menu-link::before { background-image: url("/wp-content/uploads/2026/10/sw-menu-icoon-combi.png") !important; }
.mega-menu li.mega-custom-icon > a.mega-menu-link, .mega-menu a.mega-custom-icon { display: flex !important; align-items: center; }/* End custom CSS */