/* ============================================================
   Buisklem Widgets — Frontend CSS v1.2
   ============================================================ */

/* ── Shared reset ─────────────────────────────────────────── */
.bw-annotation-widget *,
.bw-annotation-widget *::before,
.bw-annotation-widget *::after,
.bw-variant-widget *,
.bw-variant-widget *::before,
.bw-variant-widget *::after {
    box-sizing: border-box !important;
}

/* ============================================================
   WIDGET 1 — Product Annotatie
   ============================================================ */

.bw-annotation-widget {
    --bw-accent:    #00B5EF;
    --bw-orange:    #FD8019;
    --bw-bg:        #ffffff;
    --bw-img-bg:    #f4f6fb;
    --bw-title:     #0d1b3e;
    --bw-text:      #3a4a6b;
    --bw-specs-bg:  #f0f5ff;
    --bw-font:      'Lato', sans-serif;
    --bw-border:    rgba(0,181,239,0.18);
    --bw-radius:    16px;
    --bw-shadow:    0 4px 32px rgba(0,60,120,0.10);

    font-family: var(--bw-font) !important;
    background:  var(--bw-bg) !important;
    padding:     64px 24px !important;
    width:       100% !important;
}

.bw-ann-inner {
    max-width: 1400px !important;
    margin:    0 auto !important;
    width:     100% !important;
}

.bw-ann-header {
    text-align:    center !important;
    margin-bottom: 48px !important;
}

.bw-ann-title {
    font-family:    var(--bw-font) !important;
    font-size:      clamp(28px, 4vw, 42px) !important;
    font-weight:    900 !important;
    color:          var(--bw-title) !important;
    margin:         0 0 12px !important;
    line-height:    1.2 !important;
    letter-spacing: -0.5px !important;
}

.bw-ann-subtitle {
    font-family: var(--bw-font) !important;
    font-size:   16px !important;
    color:       var(--bw-text) !important;
    margin:      0 !important;
    opacity:     0.8 !important;
    line-height: 1.6 !important;
}

.bw-ann-body {
    display:               grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:                   48px !important;
    align-items:           start !important;
}

.bw-ann-image-wrap { position: relative !important; }

.bw-ann-image-inner {
    background:    var(--bw-img-bg) !important;
    border-radius: var(--bw-radius) !important;
    box-shadow:    var(--bw-shadow) !important;
    border:        1px solid var(--bw-border) !important;
    padding:       24px !important;
    overflow:      visible !important;
}

/* 4:3 ratio */
.bw-ann-image-ratio {
    position:    relative !important;
    width:       100% !important;
    padding-top: 75% !important;
    overflow:    visible !important;
}

.bw-ann-img {
    position:      absolute !important;
    inset:         0 !important;
    width:         100% !important;
    height:        100% !important;
    object-fit:    cover !important;
    display:       block !important;
    border-radius: 10px !important;
}

/* Hotspots — kleiner */
.bw-hotspot {
    position:        absolute !important;
    transform:       translate(-50%, -50%) !important;
    width:           28px !important;
    height:          28px !important;
    border-radius:   50% !important;
    background:      var(--bw-orange) !important;
    border:          2.5px solid #fff !important;
    box-shadow:      0 2px 10px rgba(253,128,25,0.45) !important;
    cursor:          pointer !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    padding:         0 !important;
    transition:      transform 0.2s ease, box-shadow 0.2s ease !important;
    z-index:         10 !important;
}

.bw-hotspot:hover,
.bw-hotspot.is-active {
    transform:  translate(-50%, -50%) scale(1.2) !important;
    box-shadow: 0 4px 16px rgba(253,128,25,0.6) !important;
}

.bw-hotspot-num {
    font-family: var(--bw-font) !important;
    font-size:   11px !important;
    font-weight: 900 !important;
    color:       #fff !important;
    position:    relative !important;
    z-index:     2 !important;
    line-height: 1 !important;
}

.bw-hotspot-pulse {
    position:      absolute !important;
    inset:         -5px !important;
    border-radius: 50% !important;
    border:        2px solid var(--bw-orange) !important;
    opacity:       0 !important;
    animation:     bw-pulse 2.4s ease-out infinite !important;
}

.bw-hotspot.is-active .bw-hotspot-pulse { opacity: 1 !important; }

@keyframes bw-pulse {
    0%   { transform: scale(0.85); opacity: 0.7; }
    70%  { transform: scale(1.5);  opacity: 0;   }
    100% { transform: scale(1.5);  opacity: 0;   }
}

.bw-ann-right {
    display:        flex !important;
    flex-direction: column !important;
    gap:            20px !important;
}

.bw-ann-features {
    display:        flex !important;
    flex-direction: column !important;
    gap:            12px !important;
}

.bw-ann-feature {
    display:       flex !important;
    align-items:   flex-start !important;
    gap:           16px !important;
    padding:       18px 20px !important;
    background:    #ffffff !important;
    border:        2px solid transparent !important;
    border-radius: 12px !important;
    cursor:        pointer !important;
    transition:    border-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease !important;
    box-shadow:    0 2px 8px rgba(0,60,120,0.06) !important;
}

.bw-ann-feature:hover {
    border-color: rgba(0,181,239,0.35) !important;
    box-shadow:   0 4px 16px rgba(0,181,239,0.12) !important;
    transform:    translateX(3px) !important;
}

.bw-ann-feature.is-active {
    border-color: var(--bw-accent) !important;
    box-shadow:   0 4px 24px rgba(0,181,239,0.2) !important;
    transform:    translateX(3px) !important;
}

.bw-ann-feature-num {
    flex-shrink:     0 !important;
    width:           32px !important;
    height:          32px !important;
    border-radius:   50% !important;
    background:      #e8f8fe !important;
    border:          2px solid var(--bw-accent) !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    transition:      background 0.25s ease !important;
}

.bw-ann-feature.is-active .bw-ann-feature-num { background: var(--bw-accent) !important; }

.bw-ann-feature-num span {
    font-family: var(--bw-font) !important;
    font-size:   12px !important;
    font-weight: 900 !important;
    color:       var(--bw-accent) !important;
    line-height: 1 !important;
    transition:  color 0.25s ease !important;
}

.bw-ann-feature.is-active .bw-ann-feature-num span { color: #fff !important; }

.bw-ann-feature-text strong {
    display:       block !important;
    font-family:   var(--bw-font) !important;
    font-size:     15px !important;
    font-weight:   700 !important;
    color:         var(--bw-title) !important;
    margin-bottom: 4px !important;
    line-height:   1.3 !important;
}

.bw-ann-feature-text p {
    font-family: var(--bw-font) !important;
    font-size:   13px !important;
    color:       var(--bw-text) !important;
    margin:      0 !important;
    line-height: 1.55 !important;
    opacity:     0.85 !important;
}

.bw-ann-specs {
    background:              var(--bw-specs-bg) !important;
    backdrop-filter:         blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border:                  1px solid rgba(0,181,239,0.2) !important;
    border-radius:           14px !important;
    padding:                 20px 24px !important;
    box-shadow:              0 8px 32px rgba(0,60,120,0.08), inset 0 1px 0 rgba(255,255,255,0.8) !important;
}

.bw-specs-title {
    font-family:    var(--bw-font) !important;
    font-size:      12px !important;
    font-weight:    700 !important;
    color:          var(--bw-title) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    margin-bottom:  14px !important;
    padding-bottom: 10px !important;
    border-bottom:  1px solid rgba(0,181,239,0.2) !important;
}

.bw-specs-rows { display: flex !important; flex-direction: column !important; }

.bw-specs-row {
    display:         flex !important;
    justify-content: space-between !important;
    align-items:     center !important;
    padding:         9px 0 !important;
    border-bottom:   1px solid rgba(0,60,120,0.07) !important;
}
.bw-specs-row:last-child { border-bottom: none !important; }

.bw-specs-label {
    font-family: var(--bw-font) !important;
    font-size:   13px !important;
    color:       var(--bw-text) !important;
    opacity:     0.7 !important;
}

.bw-specs-value {
    font-family: var(--bw-font) !important;
    font-size:   13px !important;
    font-weight: 700 !important;
    color:       var(--bw-title) !important;
    text-align:  right !important;
}

@media (max-width: 900px) {
    .bw-ann-body { grid-template-columns: 1fr !important; gap: 32px !important; }
    .bw-annotation-widget { padding: 40px 20px !important; }
}
@media (max-width: 480px) {
    .bw-ann-title { font-size: 26px !important; }
    .bw-ann-feature { padding: 14px 16px !important; }
}

/* ============================================================
   WIDGET 2 — Product Variant Selector
   ============================================================ */

.bw-variant-widget {
    --bw-accent:   #00B5EF;
    --bw-orange:   #FD8019;
    --bw-bg:       #ffffff;
    --bw-img-bg:   #f4f6fb;
    --bw-title:    #0d1b3e;
    --bw-text:     #3a4a6b;
    --bw-font:     'Lato', sans-serif;
    --bw-radius:   16px;
    --bw-shadow:   0 4px 32px rgba(0,60,120,0.10);

    font-family: var(--bw-font) !important;
    background:  var(--bw-bg) !important;
    padding:     64px 24px !important;
    width:       100% !important;
}

.bw-var-inner {
    max-width: 1400px !important;
    margin:    0 auto !important;
    width:     100% !important;
}

.bw-var-header {
    text-align:    center !important;
    margin-bottom: 48px !important;
}

.bw-var-title {
    font-family:    var(--bw-font) !important;
    font-size:      clamp(28px, 4vw, 42px) !important;
    font-weight:    900 !important;
    color:          var(--bw-title) !important;
    margin:         0 0 12px !important;
    line-height:    1.2 !important;
    letter-spacing: -0.5px !important;
}

.bw-var-subtitle {
    font-family: var(--bw-font) !important;
    font-size:   16px !important;
    color:       var(--bw-text) !important;
    margin:      0 !important;
    opacity:     0.8 !important;
    line-height: 1.6 !important;
}

.bw-var-body {
    display:               grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap:                   48px !important;
    align-items:           start !important;
}

/* ── Left: image + RAL swatches ───────────────────────────── */
.bw-var-left { display: flex !important; flex-direction: column !important; gap: 20px !important; }

.bw-var-image-wrap {
    background:    var(--bw-img-bg) !important;
    border-radius: var(--bw-radius) !important;
    box-shadow:    var(--bw-shadow) !important;
    border:        1px solid rgba(0,181,239,0.15) !important;
    padding:       24px !important;
    overflow:      hidden !important;
}

/* 4:3 ratio */
.bw-var-image-ratio {
    position:    relative !important;
    width:       100% !important;
    padding-top: 75% !important;
    border-radius: 10px !important;
    overflow:    hidden !important;
}

.bw-var-img {
    position:   absolute !important;
    inset:      0 !important;
    width:      100% !important;
    height:     100% !important;
    object-fit: cover !important;
    display:    block !important;
    transition: opacity 0.3s ease !important;
}

.bw-var-img.bw-fade-out { opacity: 0 !important; }
.bw-var-img.bw-fade-in  { opacity: 1 !important; }

/* RAL swatches block */
.bw-ral-block {
    background:    #ffffff !important;
    border:        1px solid rgba(0,60,120,0.1) !important;
    border-radius: 14px !important;
    padding:       20px !important;
    box-shadow:    0 2px 12px rgba(0,60,120,0.06) !important;
}

.bw-ral-label {
    font-family:   var(--bw-font) !important;
    font-size:     13px !important;
    font-weight:   700 !important;
    color:         var(--bw-title) !important;
    margin-bottom: 14px !important;
    display:       block !important;
}

.bw-ral-swatches {
    display:   flex !important;
    flex-wrap: wrap !important;
    gap:       10px !important;
}

.bw-ral-swatch {
    position:      relative !important;
    width:         54px !important;
    height:        54px !important;
    border-radius: 10px !important;
    cursor:        pointer !important;
    border:        3px solid transparent !important;
    transition:    border-color 0.2s ease, transform 0.15s ease !important;
    flex-shrink:   0 !important;
}

.bw-ral-swatch:hover { transform: scale(1.06) !important; }

.bw-ral-swatch.is-active {
    border-color: var(--bw-accent) !important;
    box-shadow:   0 0 0 2px rgba(0,181,239,0.3) !important;
}

/* Checkmark on active swatch */
.bw-ral-swatch.is-active::after {
    content:         '✓' !important;
    position:        absolute !important;
    inset:           0 !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    font-size:       18px !important;
    font-weight:     900 !important;
    color:           #fff !important;
    text-shadow:     0 1px 3px rgba(0,0,0,0.4) !important;
}

/* TOP badge — glassmorphism */
.bw-ral-swatch .bw-top-badge {
    position:                absolute !important;
    top:                     -8px !important;
    right:                   -8px !important;
    background:              rgba(253,128,25,0.85) !important;
    backdrop-filter:         blur(6px) !important;
    -webkit-backdrop-filter: blur(6px) !important;
    border:                  1px solid rgba(255,255,255,0.4) !important;
    color:                   #fff !important;
    font-family:             var(--bw-font) !important;
    font-size:               9px !important;
    font-weight:             900 !important;
    padding:                 2px 5px !important;
    border-radius:           6px !important;
    letter-spacing:          0.5px !important;
    text-transform:          uppercase !important;
    pointer-events:          none !important;
    box-shadow:              0 2px 8px rgba(253,128,25,0.35) !important;
    line-height:             1.4 !important;
}

.bw-ral-selected {
    font-family:  var(--bw-font) !important;
    font-size:    12px !important;
    color:        var(--bw-text) !important;
    margin-top:   12px !important;
    display:      block !important;
}

.bw-ral-selected strong {
    color:       var(--bw-title) !important;
    font-weight: 700 !important;
}

/* ── Right: variant list ──────────────────────────────────── */
.bw-var-right {
    display:        flex !important;
    flex-direction: column !important;
    gap:            10px !important;
}

.bw-var-item {
    display:       flex !important;
    align-items:   center !important;
    gap:           14px !important;
    padding:       16px 20px !important;
    background:    #ffffff !important;
    border:        2px solid rgba(0,60,120,0.08) !important;
    border-radius: 14px !important;
    cursor:        pointer !important;
    transition:    border-color 0.22s ease, box-shadow 0.22s ease, transform 0.18s ease !important;
    box-shadow:    0 2px 8px rgba(0,60,120,0.05) !important;
    position:      relative !important;
}

.bw-var-item:hover {
    border-color: rgba(0,181,239,0.4) !important;
    box-shadow:   0 4px 16px rgba(0,181,239,0.1) !important;
    transform:    translateX(2px) !important;
}

.bw-var-item.is-active {
    border-color: var(--bw-orange) !important;
    box-shadow:   0 4px 20px rgba(253,128,25,0.18) !important;
    transform:    translateX(2px) !important;
}

.bw-var-item-content { flex: 1 !important; min-width: 0 !important; }

.bw-var-item-top {
    display:     flex !important;
    align-items: center !important;
    gap:         8px !important;
    flex-wrap:   wrap !important;
    margin-bottom: 4px !important;
}

.bw-var-item-name {
    font-family: var(--bw-font) !important;
    font-size:   15px !important;
    font-weight: 700 !important;
    color:       var(--bw-title) !important;
    line-height: 1.2 !important;
}

/* Shape badge — glassmorphism */
.bw-var-badge {
    background:              rgba(0,181,239,0.12) !important;
    backdrop-filter:         blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border:                  1px solid rgba(0,181,239,0.3) !important;
    color:                   #0090c4 !important;
    font-family:             var(--bw-font) !important;
    font-size:               11px !important;
    font-weight:             700 !important;
    padding:                 3px 8px !important;
    border-radius:           20px !important;
    white-space:             nowrap !important;
    line-height:             1.4 !important;
}

.bw-var-item-desc {
    font-family: var(--bw-font) !important;
    font-size:   13px !important;
    color:       var(--bw-text) !important;
    margin:      0 0 3px !important;
    opacity:     0.8 !important;
    line-height: 1.4 !important;
}

.bw-var-item-voetplaat {
    font-family: var(--bw-font) !important;
    font-size:   12px !important;
    color:       var(--bw-orange) !important;
    font-weight: 600 !important;
    margin:      0 !important;
}

/* Radio dot */
.bw-var-radio {
    flex-shrink:   0 !important;
    width:         22px !important;
    height:        22px !important;
    border-radius: 50% !important;
    border:        2px solid #ccd5e0 !important;
    transition:    border-color 0.2s, background 0.2s !important;
    position:      relative !important;
}

.bw-var-item.is-active .bw-var-radio {
    border-color: var(--bw-orange) !important;
    background:   var(--bw-orange) !important;
}

.bw-var-item.is-active .bw-var-radio::after {
    content:         '' !important;
    position:        absolute !important;
    inset:           4px !important;
    border-radius:   50% !important;
    background:      #fff !important;
}

/* Bekijk meer */
.bw-var-more-wrap {
    text-align: center !important;
    padding-top: 4px !important;
}

.bw-var-more-btn {
    background:    transparent !important;
    border:        2px solid var(--bw-accent) !important;
    color:         var(--bw-accent) !important;
    font-family:   var(--bw-font) !important;
    font-size:     13px !important;
    font-weight:   700 !important;
    padding:       9px 24px !important;
    border-radius: 30px !important;
    cursor:        pointer !important;
    transition:    background 0.2s, color 0.2s !important;
}

.bw-var-more-btn:hover {
    background: var(--bw-accent) !important;
    color:      #fff !important;
}

.bw-var-item.bw-hidden { display: none !important; }

/* Stock block */
.bw-var-stock {
    display:                 flex !important;
    align-items:             flex-start !important;
    gap:                     12px !important;
    padding:                 16px 20px !important;
    background:              rgba(34,197,94,0.08) !important;
    backdrop-filter:         blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    border:                  1px solid rgba(34,197,94,0.25) !important;
    border-radius:           14px !important;
    margin-top:              8px !important;
}

.bw-var-stock-dot {
    width:         10px !important;
    height:        10px !important;
    border-radius: 50% !important;
    background:    #22c55e !important;
    flex-shrink:   0 !important;
    margin-top:    4px !important;
    box-shadow:    0 0 0 3px rgba(34,197,94,0.2) !important;
}

.bw-var-stock-text strong {
    font-family:   var(--bw-font) !important;
    font-size:     14px !important;
    font-weight:   700 !important;
    color:         #15803d !important;
    display:       block !important;
    margin-bottom: 3px !important;
}

.bw-var-stock-text span {
    font-family: var(--bw-font) !important;
    font-size:   12px !important;
    color:       #166534 !important;
    opacity:     0.8 !important;
    line-height: 1.4 !important;
}

.bw-var-stock.bw-hidden { display: none !important; }

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 900px) {
    .bw-var-body {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }
    .bw-variant-widget {
        padding: 40px 20px !important;
    }
}

@media (max-width: 480px) {
    .bw-var-title  { font-size: 26px !important; }
    .bw-var-item   { padding: 14px 16px !important; }
    .bw-ral-swatch { width: 46px !important; height: 46px !important; }
}

/* ============================================================
   WIDGET 3 — Features Accordion
   ============================================================ */
.bw-features-acc { --bw-accent:#00B5EF;--bw-orange:#FD8019;--bw-bg:#f4f6fb;--bw-title:#0d1b3e;--bw-text:#3a4a6b;--bw-font:'Lato',sans-serif; font-family:var(--bw-font) !important; background:var(--bw-bg) !important; padding:72px 24px !important; width:100% !important; }
.bw-fa-inner   { max-width:1400px !important; margin:0 auto !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:64px !important; align-items:start !important; }
.bw-fa-header  { position:sticky !important; top:40px !important; }
.bw-fa-title   { font-family:var(--bw-font) !important; font-size:clamp(28px,3.5vw,42px) !important; font-weight:900 !important; color:var(--bw-title) !important; margin:0 0 16px !important; line-height:1.18 !important; letter-spacing:-0.5px !important; }
.bw-fa-subtitle { font-family:var(--bw-font) !important; font-size:16px !important; color:var(--bw-text) !important; margin:0 !important; line-height:1.65 !important; opacity:.8 !important; }
/* List */
.bw-fa-list { display:flex !important; flex-direction:column !important; gap:10px !important; }
.bw-fa-item { background:#fff !important; border:2px solid rgba(0,60,120,0.08) !important; border-radius:16px !important; overflow:hidden !important; transition:border-color 0.25s ease, box-shadow 0.25s ease !important; }
.bw-fa-item:hover { border-color:rgba(0,181,239,0.3) !important; }
.bw-fa-item.is-open { border-color:var(--bw-accent) !important; box-shadow:0 6px 28px rgba(0,181,239,0.14) !important; }
.bw-fa-trigger { width:100% !important; display:flex !important; align-items:center !important; justify-content:space-between !important; padding:20px 24px !important; background:none !important; border:none !important; cursor:pointer !important; gap:12px !important; text-align:left !important; position:relative !important; z-index:1 !important; }
.bw-fa-trigger-left { display:flex !important; align-items:center !important; gap:14px !important; flex:1 !important; min-width:0 !important; }
.bw-fa-num { flex-shrink:0 !important; font-family:var(--bw-font) !important; font-size:11px !important; font-weight:900 !important; color:var(--bw-accent) !important; background:rgba(0,181,239,0.1) !important; border:1.5px solid rgba(0,181,239,0.25) !important; border-radius:8px !important; padding:3px 7px !important; letter-spacing:.5px !important; transition:background 0.2s, color 0.2s !important; }
.bw-fa-item.is-open .bw-fa-num { background:var(--bw-accent) !important; color:#fff !important; border-color:var(--bw-accent) !important; }
.bw-fa-trigger-title { font-family:var(--bw-font) !important; font-size:16px !important; font-weight:700 !important; color:var(--bw-title) !important; line-height:1.3 !important; }
.bw-fa-icon { flex-shrink:0 !important; color:var(--bw-text) !important; opacity:.5 !important; transition:transform 0.3s ease, opacity 0.2s !important; }
.bw-fa-item.is-open .bw-fa-icon { transform:rotate(180deg) !important; opacity:1 !important; color:var(--bw-accent) !important; }
/* Body */
.bw-fa-body { max-height:0 !important; overflow:hidden !important; transition:max-height 0.45s cubic-bezier(0.4,0,0.2,1) !important; }
.bw-fa-item.is-open .bw-fa-body { max-height:600px !important; }
.bw-fa-body-inner { padding:0 24px 24px !important; display:flex !important; flex-direction:column !important; gap:16px !important; }
.bw-fa-img-wrap { border-radius:12px !important; overflow:hidden !important; box-shadow:0 4px 20px rgba(0,60,120,0.1) !important; }
.bw-fa-img { width:100% !important; aspect-ratio:16/7 !important; object-fit:cover !important; display:block !important; transform:scale(1.04) !important; transition:transform 0.5s ease !important; }
.bw-fa-item.is-open .bw-fa-img { transform:scale(1) !important; }
.bw-fa-text { font-family:var(--bw-font) !important; font-size:14px !important; color:var(--bw-text) !important; line-height:1.7 !important; margin:0 !important; }
@media(max-width:900px) { .bw-fa-inner { grid-template-columns:1fr !important; gap:32px !important; } .bw-fa-header { position:static !important; } }
@media(max-width:900px) {
    .bw-features-acc { padding:48px 20px !important; box-sizing:border-box !important; overflow:hidden !important; }
    .bw-fa-inner { overflow:hidden !important; width:100% !important; }
    .bw-fa-list { width:100% !important; overflow:hidden !important; }
    .bw-fa-item { width:100% !important; max-width:100% !important; overflow:hidden !important; box-sizing:border-box !important; }
    .bw-fa-trigger { width:100% !important; max-width:100% !important; overflow:hidden !important; }
    .bw-fa-trigger-title { overflow:hidden !important; text-overflow:ellipsis !important; }
    .bw-fa-body-inner { padding:0 16px 20px !important; }
}

/* ============================================================
   WIDGET 4 — Video Hero
   ============================================================ */
.bw-video-hero { --bw-accent:#00B5EF;--bw-orange:#FD8019;--bw-bg:#112654;--bw-font:'Lato',sans-serif; font-family:var(--bw-font) !important; background:var(--bw-bg) !important; padding:72px 24px !important; width:100% !important; }
/* Ensure Elementor container bg doesn't bleed through */
.bw-video-hero .bw-vh-inner { position:relative !important; z-index:1 !important; }
.bw-vh-inner   { max-width:900px !important; margin:0 auto !important; }
.bw-vh-header  { text-align:center !important; margin-bottom:40px !important; }
.bw-vh-title   { font-family:var(--bw-font) !important; font-size:clamp(28px,4vw,44px) !important; font-weight:900 !important; color:#fff !important; margin:0 0 12px !important; line-height:1.2 !important; }
.bw-vh-subtitle { font-family:var(--bw-font) !important; font-size:16px !important; color:rgba(255,255,255,0.75) !important; margin:0 !important; }
.bw-vh-player  { position:relative !important; width:100% !important; padding-top:56.25% !important; border-radius:20px !important; overflow:hidden !important; box-shadow:0 24px 64px rgba(0,0,0,0.4) !important; cursor:pointer !important; border:1px solid rgba(255,255,255,0.1) !important; background:#000 !important; }
.bw-vh-thumb   { position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }

.bw-vh-overlay { position:absolute !important; inset:0 !important; background:linear-gradient(to top, rgba(10,22,60,0.85) 0%, rgba(0,0,0,0.2) 50%, transparent 100%) !important; pointer-events:none !important; }
.bw-vh-play    { position:absolute !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%) !important; width:72px !important; height:72px !important; border-radius:50% !important; background:var(--bw-orange) !important; border:none !important; cursor:pointer !important; display:flex !important; align-items:center !important; justify-content:center !important; transition:transform 0.25s ease, box-shadow 0.25s !important; box-shadow:0 8px 32px rgba(253,128,25,0.5) !important; }
.bw-vh-play:hover { transform:translate(-50%,-50%) scale(1.1) !important; box-shadow:0 12px 40px rgba(253,128,25,0.65) !important; }
.bw-vh-play-icon { display:block !important; margin-left:4px !important; flex-shrink:0 !important; }
.bw-vh-play-ring { position:absolute !important; inset:-8px !important; border-radius:50% !important; border:2px solid rgba(253,128,25,0.4) !important; animation:bw-pulse 2s infinite !important; }
.bw-vh-caption { position:absolute !important; bottom:0 !important; left:0 !important; right:0 !important; padding:24px 28px !important; z-index:2 !important; }
.bw-vh-tag   { display:inline-block !important; font-family:var(--bw-font) !important; font-size:10px !important; font-weight:700 !important; color:var(--bw-orange) !important; letter-spacing:1.2px !important; text-transform:uppercase !important; margin-bottom:8px !important; }
.bw-vh-vtitle { display:block !important; font-family:var(--bw-font) !important; font-size:20px !important; font-weight:700 !important; color:#fff !important; margin-bottom:4px !important; }
.bw-vh-vdesc  { font-family:var(--bw-font) !important; font-size:13px !important; color:rgba(255,255,255,0.7) !important; }
.bw-vh-player.is-playing .bw-vh-thumb,
.bw-vh-player.is-playing .bw-vh-overlay,
.bw-vh-player.is-playing .bw-vh-play,
.bw-vh-player.is-playing .bw-vh-caption { display:none !important; }
.bw-vh-player.is-playing iframe { display:block !important; }
.bw-vh-player iframe { display:none !important; position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important; border:none !important; z-index:5 !important; }
.bw-vh-stats { display:flex !important; justify-content:center !important; gap:48px !important; margin-top:40px !important; flex-wrap:wrap !important; }
.bw-vh-stat  { text-align:center !important; }
.bw-vh-stat-val { display:block !important; font-family:var(--bw-font) !important; font-size:clamp(24px,3vw,36px) !important; font-weight:900 !important; color:var(--bw-orange) !important; line-height:1.1 !important; }
.bw-vh-stat-lbl { font-family:var(--bw-font) !important; font-size:13px !important; color:rgba(255,255,255,0.65) !important; margin-top:4px !important; display:block !important; }

/* ============================================================
   WIDGET 5 — Besparingscalculator
   ============================================================ */
.bw-calc-widget { --bw-accent:#00B5EF;--bw-orange:#FD8019;--bw-bg:#fff;--bw-title:#0d1b3e;--bw-text:#3a4a6b;--bw-font:'Lato',sans-serif; font-family:var(--bw-font) !important; background:var(--bw-bg) !important; padding:72px 24px !important; width:100% !important; }
.bw-calc-inner  { max-width:720px !important; margin:0 auto !important; text-align:center !important; }
.bw-calc-eyebrow { display:inline-flex !important; align-items:center !important; gap:6px !important; background:rgba(0,181,239,0.08) !important; border:1px solid rgba(0,181,239,0.2) !important; color:#0090c4 !important; font-family:var(--bw-font) !important; font-size:13px !important; font-weight:700 !important; padding:6px 14px !important; border-radius:30px !important; margin-bottom:16px !important; }
.bw-calc-title   { font-family:var(--bw-font) !important; font-size:clamp(28px,4vw,42px) !important; font-weight:900 !important; color:var(--bw-title) !important; margin:0 0 10px !important; }
.bw-calc-subtitle { font-family:var(--bw-font) !important; font-size:16px !important; color:var(--bw-text) !important; margin:0 0 40px !important; opacity:.8 !important; }
.bw-calc-box { background:#f4f7fc !important; border:1px solid rgba(0,181,239,0.12) !important; border-radius:20px !important; padding:36px !important; box-shadow:0 4px 32px rgba(0,60,120,0.08) !important; text-align:left !important; }
.bw-calc-sliders { display:grid !important; grid-template-columns:1fr 1fr !important; gap:32px !important; margin-bottom:28px !important; }
.bw-calc-slabel { display:block !important; font-family:var(--bw-font) !important; font-size:13px !important; font-weight:700 !important; color:var(--bw-text) !important; margin-bottom:10px !important; opacity:.8 !important; }
.bw-calc-range { width:100% !important; -webkit-appearance:none !important; appearance:none !important; height:6px !important; border-radius:6px !important; background:#dde4ee !important; outline:none !important; cursor:pointer !important; margin-bottom:10px !important; position:relative !important; }
.bw-calc-range::-webkit-slider-runnable-track { height:6px !important; border-radius:6px !important; }
.bw-calc-range::-webkit-slider-thumb { -webkit-appearance:none !important; width:22px !important; height:22px !important; border-radius:50% !important; background:var(--bw-orange) !important; border:3px solid #fff !important; box-shadow:0 2px 8px rgba(253,128,25,0.5) !important; cursor:pointer !important; transition:transform 0.15s !important; margin-top:-8px !important; }
.bw-calc-range::-webkit-slider-thumb:hover { transform:scale(1.15) !important; }
.bw-calc-range::-moz-range-thumb { width:22px !important; height:22px !important; border-radius:50% !important; background:var(--bw-orange) !important; border:3px solid #fff !important; box-shadow:0 2px 8px rgba(253,128,25,0.5) !important; cursor:pointer !important; }
.bw-calc-range::-moz-range-track { height:6px !important; border-radius:6px !important; background:#dde4ee !important; }
/* Slider fill bar drawn via JS box-shadow trick */
.bw-calc-range.bw-range-styled::-webkit-slider-runnable-track { background:linear-gradient(to right, var(--bw-orange) var(--fill,0%), #dde4ee var(--fill,0%)) !important; }
.bw-calc-val { font-family:var(--bw-font) !important; font-size:28px !important; font-weight:900 !important; color:var(--bw-title) !important; }
.bw-calc-val small { font-size:14px !important; font-weight:400 !important; color:var(--bw-text) !important; margin-left:4px !important; }
.bw-calc-result-box { background:linear-gradient(135deg,#fff 0%,rgba(240,248,255,0.8) 100%) !important; backdrop-filter:blur(8px) !important; border:1px solid rgba(0,181,239,0.2) !important; border-radius:16px !important; padding:28px !important; text-align:center !important; margin-bottom:20px !important; box-shadow:0 4px 20px rgba(0,181,239,0.1),inset 0 1px 0 rgba(255,255,255,0.9) !important; }
.bw-calc-result-label { font-family:var(--bw-font) !important; font-size:13px !important; color:var(--bw-text) !important; margin:0 0 8px !important; opacity:.75 !important; }
.bw-calc-result-amount { font-family:var(--bw-font) !important; font-size:clamp(36px,5vw,52px) !important; font-weight:900 !important; color:var(--bw-orange) !important; line-height:1 !important; margin-bottom:8px !important; }
.bw-calc-result-desc { font-family:var(--bw-font) !important; font-size:12px !important; color:var(--bw-text) !important; margin:0 !important; opacity:.7 !important; }
.bw-calc-breakdown { border-top:1px solid rgba(0,60,120,0.08) !important; padding-top:16px !important; }
.bw-calc-brow { display:flex !important; justify-content:space-between !important; padding:7px 0 !important; font-family:var(--bw-font) !important; font-size:13px !important; color:var(--bw-text) !important; border-bottom:1px solid rgba(0,60,120,0.06) !important; }
.bw-calc-brow:last-child { border-bottom:none !important; }
.bw-calc-total { font-weight:700 !important; color:var(--bw-title) !important; font-size:14px !important; padding-top:10px !important; }
.bw-calc-total-val { color:var(--bw-orange) !important; }
.bw-calc-cta-wrap { text-align:center !important; margin-top:24px !important; }
.bw-calc-cta { display:inline-block !important; background:var(--bw-orange) !important; color:#fff !important; font-family:var(--bw-font) !important; font-size:15px !important; font-weight:700 !important; padding:14px 36px !important; border-radius:50px !important; text-decoration:none !important; transition:transform 0.2s,box-shadow 0.2s !important; box-shadow:0 4px 20px rgba(253,128,25,0.35) !important; }
.bw-calc-cta:hover { transform:translateY(-2px) !important; box-shadow:0 8px 28px rgba(253,128,25,0.5) !important; }
@media(max-width:640px) { .bw-calc-sliders { grid-template-columns:1fr !important; } }

/* ============================================================
   WIDGET 6 — Toepassingen Grid
   ============================================================ */
.bw-apps-grid { --bw-accent:#00B5EF;--bw-orange:#FD8019;--bw-bg:#f4f6fb;--bw-title:#0d1b3e;--bw-font:'Lato',sans-serif; font-family:var(--bw-font) !important; background:var(--bw-bg) !important; padding:72px 24px !important; width:100% !important; }
.bw-ag-inner  { max-width:1400px !important; margin:0 auto !important; }
.bw-ag-header { text-align:center !important; margin-bottom:48px !important; }
.bw-ag-title   { font-family:var(--bw-font) !important; font-size:clamp(28px,4vw,42px) !important; font-weight:900 !important; color:var(--bw-title) !important; margin:0 0 12px !important; }
.bw-ag-subtitle { font-family:var(--bw-font) !important; font-size:16px !important; color:#3a4a6b !important; margin:0 !important; opacity:.8 !important; }
.bw-ag-grid { display:flex !important; flex-direction:column !important; gap:16px !important; }
.bw-ag-featured { position:relative !important; border-radius:18px !important; overflow:hidden !important; box-shadow:0 8px 32px rgba(0,60,120,0.15) !important; }
.bw-ag-featured img { width:100% !important; height:400px !important; object-fit:cover !important; display:block !important; transition:transform 0.5s ease !important; }
.bw-ag-featured:hover img { transform:scale(1.03) !important; }
.bw-ag-row { display:grid !important; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)) !important; gap:16px !important; }
.bw-ag-item { position:relative !important; border-radius:18px !important; overflow:hidden !important; box-shadow:0 4px 20px rgba(0,60,120,0.12) !important; cursor:default !important; }
.bw-ag-item img { width:100% !important; height:300px !important; object-fit:cover !important; display:block !important; transition:transform 0.5s ease !important; }
.bw-ag-item:hover img { transform:scale(1.04) !important; }
.bw-ag-overlay { position:absolute !important; bottom:0 !important; left:0 !important; right:0 !important; padding:24px 20px 20px !important; background:linear-gradient(to top,rgba(10,22,60,0.85) 0%,transparent 100%) !important; }
.bw-ag-overlay strong { display:block !important; font-family:var(--bw-font) !important; font-size:18px !important; font-weight:700 !important; color:#fff !important; margin-bottom:4px !important; }
.bw-ag-overlay span   { font-family:var(--bw-font) !important; font-size:13px !important; color:rgba(255,255,255,0.8) !important; }
.bw-ag-stats { display:grid !important; grid-template-columns:repeat(4,1fr) !important; gap:0 !important; background:#fff !important; border-radius:16px !important; box-shadow:0 4px 24px rgba(0,60,120,0.08) !important; margin-top:24px !important; overflow:hidden !important; }
.bw-ag-stat  { text-align:center !important; padding:24px 16px !important; border-right:1px solid rgba(0,60,120,0.07) !important; }
.bw-ag-stat:last-child { border-right:none !important; }
.bw-ag-stat-val { display:block !important; font-family:var(--bw-font) !important; font-size:clamp(20px,2.5vw,28px) !important; font-weight:900 !important; color:var(--bw-orange) !important; margin-bottom:4px !important; }
.bw-ag-stat-lbl { font-family:var(--bw-font) !important; font-size:12px !important; color:#3a4a6b !important; opacity:.75 !important; }
@media(max-width:640px) { .bw-ag-stats { grid-template-columns:1fr 1fr !important; } .bw-ag-stat { border-right:none !important; border-bottom:1px solid rgba(0,60,120,0.07) !important; } }

/* ============================================================
   WIDGET 7 — Branches Grid
   ============================================================ */
.bw-branches-grid { --bw-accent:#00B5EF;--bw-orange:#FD8019;--bw-bg:#fff;--bw-title:#0d1b3e;--bw-text:#3a4a6b;--bw-font:'Lato',sans-serif; font-family:var(--bw-font) !important; background:var(--bw-bg) !important; padding:72px 24px !important; width:100% !important; }
.bw-brg-inner  { max-width:1400px !important; margin:0 auto !important; }
.bw-brg-header { text-align:center !important; margin-bottom:52px !important; }
.bw-brg-title   { font-family:var(--bw-font) !important; font-size:clamp(28px,4vw,44px) !important; font-weight:900 !important; color:var(--bw-title) !important; margin:0 0 14px !important; }
.bw-brg-subtitle { font-family:var(--bw-font) !important; font-size:16px !important; color:var(--bw-text) !important; max-width:600px !important; margin:0 auto !important; opacity:.8 !important; line-height:1.6 !important; }
.bw-brg-cards { display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:20px !important; margin-bottom:24px !important; }
.bw-brg-card { background:#f8fafd !important; border:1.5px solid rgba(0,60,120,0.08) !important; border-radius:16px !important; padding:28px 24px !important; transition:transform 0.22s ease,box-shadow 0.22s,border-color 0.22s !important; }
.bw-brg-card:hover { transform:translateY(-4px) !important; box-shadow:0 12px 32px rgba(0,181,239,0.12) !important; border-color:rgba(0,181,239,0.3) !important; }
.bw-brg-icon { width:52px !important; height:52px !important; border-radius:14px !important; background:var(--bw-orange) !important; display:flex !important; align-items:center !important; justify-content:center !important; margin-bottom:16px !important; box-shadow:0 4px 14px rgba(253,128,25,0.35) !important; transition:transform 0.2s !important; }
.bw-brg-card:hover .bw-brg-icon { transform:scale(1.08) rotate(-4deg) !important; }
.bw-brg-icon .dashicons { color:#fff !important; font-size:22px !important; width:22px !important; height:22px !important; }
.bw-brg-card h3 { font-family:var(--bw-font) !important; font-size:17px !important; font-weight:700 !important; color:var(--bw-title) !important; margin:0 0 8px !important; }
.bw-brg-card p  { font-family:var(--bw-font) !important; font-size:13px !important; color:var(--bw-text) !important; margin:0 0 12px !important; line-height:1.55 !important; opacity:.85 !important; }
.bw-brg-stat { font-family:var(--bw-font) !important; font-size:13px !important; font-weight:700 !important; color:var(--bw-orange) !important; }
.bw-brg-cta-block { background:linear-gradient(135deg,rgba(0,181,239,0.06) 0%,rgba(0,181,239,0.12) 100%) !important; backdrop-filter:blur(8px) !important; border:1px solid rgba(0,181,239,0.2) !important; border-radius:20px !important; padding:40px !important; text-align:center !important; box-shadow:inset 0 1px 0 rgba(255,255,255,0.8) !important; }
.bw-brg-cta-block h3 { font-family:var(--bw-font) !important; font-size:22px !important; font-weight:700 !important; color:var(--bw-title) !important; margin:0 0 10px !important; }
.bw-brg-cta-block p  { font-family:var(--bw-font) !important; font-size:14px !important; color:var(--bw-text) !important; margin:0 0 24px !important; max-width:520px !important; margin-left:auto !important; margin-right:auto !important; line-height:1.6 !important; }
.bw-brg-cta-btn { display:inline-block !important; background:var(--bw-title) !important; color:#fff !important; font-family:var(--bw-font) !important; font-size:15px !important; font-weight:700 !important; padding:14px 36px !important; border-radius:50px !important; text-decoration:none !important; transition:transform 0.2s,box-shadow 0.2s,background 0.2s !important; box-shadow:0 4px 16px rgba(10,22,60,0.25) !important; }
.bw-brg-cta-btn:hover { background:#fff !important; color:var(--bw-title) !important; transform:translateY(-2px) !important; box-shadow:0 8px 24px rgba(0,0,0,0.15) !important; }
@media(max-width:900px) { .bw-brg-cards { grid-template-columns:1fr 1fr !important; } }
@media(max-width:560px) { .bw-brg-cards { grid-template-columns:1fr !important; } .bw-brg-cta-block { padding:28px 20px !important; } }

/* ============================================================
   WIDGET 8 — Vergelijkingstabel
   ============================================================ */
.bw-comp-table { --bw-accent:#00B5EF;--bw-orange:#FD8019;--bw-navy:#112654;--bw-bg:#fff;--bw-title:#0d1b3e;--bw-text:#3a4a6b;--bw-font:'Lato',sans-serif; font-family:var(--bw-font) !important; background:var(--bw-bg) !important; padding:72px 24px !important; width:100% !important; }
.bw-ct-inner { max-width:800px !important; margin:0 auto !important; }
.bw-ct-title { font-family:var(--bw-font) !important; font-size:clamp(26px,4vw,40px) !important; font-weight:900 !important; color:var(--bw-title) !important; margin:0 0 40px !important; line-height:1.2 !important; }
.bw-ct-wrap { background:#f8fafd !important; border-radius:20px !important; overflow:hidden !important; box-shadow:0 4px 32px rgba(0,60,120,0.09) !important; border:1px solid rgba(0,60,120,0.07) !important; }
.bw-ct-header-row { display:grid !important; grid-template-columns:1fr 200px 200px !important; background:transparent !important; }
.bw-ct-spacer { padding:20px 24px !important; }
.bw-ct-col-head { padding:20px 16px !important; text-align:center !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; gap:4px !important; }
.bw-ct-col1 { background:var(--bw-navy) !important; border-radius:14px 14px 0 0 !important; margin:0 8px !important; }
.bw-ct-col2 { background:rgba(0,0,0,0.04) !important; border-radius:14px 14px 0 0 !important; margin:0 8px 0 0 !important; }
.bw-ct-col1 strong { font-family:var(--bw-font) !important; font-size:15px !important; font-weight:700 !important; color:#fff !important; }
.bw-ct-col1 span   { font-size:11px !important; color:rgba(255,255,255,0.65) !important; font-family:var(--bw-font) !important; }
.bw-ct-col2 strong { font-family:var(--bw-font) !important; font-size:15px !important; font-weight:700 !important; color:var(--bw-title) !important; }
.bw-ct-col2 span   { font-size:11px !important; color:var(--bw-text) !important; opacity:.7 !important; font-family:var(--bw-font) !important; }
.bw-ct-row { display:grid !important; grid-template-columns:1fr 200px 200px !important; border-bottom:1px solid rgba(0,60,120,0.06) !important; transition:background 0.18s !important; }
.bw-ct-row:last-child { border-bottom:none !important; }
.bw-ct-row:hover { background:rgba(0,181,239,0.04) !important; }
.bw-ct-row-label { padding:16px 24px !important; font-family:var(--bw-font) !important; font-size:14px !important; color:var(--bw-text) !important; display:flex !important; align-items:center !important; }
.bw-ct-cell { display:flex !important; align-items:center !important; justify-content:center !important; padding:16px !important; }
.bw-ct-check { width:32px !important; height:32px !important; border-radius:50% !important; background:var(--bw-navy) !important; color:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important; font-weight:900 !important; font-size:14px !important; }
.bw-ct-cross { width:32px !important; height:32px !important; border-radius:50% !important; background:rgba(0,0,0,0.07) !important; color:rgba(0,0,0,0.3) !important; display:flex !important; align-items:center !important; justify-content:center !important; font-weight:900 !important; font-size:14px !important; }
@media(max-width:640px) { .bw-ct-header-row,.bw-ct-row { grid-template-columns:1fr 80px 80px !important; } .bw-ct-col-head { padding:14px 8px !important; } }

/* ============================================================
   WIDGET 9 — Reviews Carousel
   ============================================================ */
/* Dashicons frontend fallback */
.bw-brg-icon .dashicons,
.bw-cb-opt-icon .dashicons { font-family: dashicons !important; speak: never !important; font-style: normal !important; font-weight: normal !important; font-variant: normal !important; text-transform: none !important; line-height: 1 !important; -webkit-font-smoothing: antialiased !important; }

.bw-reviews-carousel { --bw-accent:#00B5EF;--bw-orange:#FD8019;--bw-bg:#fff;--bw-sum-bg:#112654;--bw-title:#0d1b3e;--bw-text:#3a4a6b;--bw-font:'Lato',sans-serif; font-family:var(--bw-font) !important; background:var(--bw-bg) !important; padding:72px 24px !important; width:100% !important; }
.bw-rc-inner  { max-width:1400px !important; margin:0 auto !important; }
.bw-rc-header { text-align:center !important; margin-bottom:48px !important; }
.bw-rc-title    { font-family:var(--bw-font) !important; font-size:clamp(28px,4vw,42px) !important; font-weight:900 !important; color:var(--bw-title) !important; margin:0 0 12px !important; }
.bw-rc-subtitle { font-family:var(--bw-font) !important; font-size:16px !important; color:var(--bw-text) !important; margin:0 !important; opacity:.8 !important; }
.bw-rc-track-wrap { position:relative !important; width:100% !important; overflow:hidden !important; }
.bw-rc-track { display:flex !important; gap:20px !important; flex-wrap:wrap !important; align-items:stretch !important; }
.bw-rc-card { flex:0 0 calc((100% - 40px) / 3) !important; background:#fff !important; border:1.5px solid rgba(0,60,120,0.08) !important; border-radius:18px !important; padding:28px !important; box-shadow:0 4px 20px rgba(0,60,120,0.07) !important; display:flex !important; flex-direction:column !important; gap:14px !important; transition:transform 0.22s ease,box-shadow 0.22s !important; }
.bw-rc-card:hover { transform:translateY(-4px) !important; box-shadow:0 12px 32px rgba(0,60,120,0.12) !important; }
.bw-rc-stars { color:var(--bw-orange) !important; font-size:18px !important; letter-spacing:2px !important; }
.bw-rc-quote { font-family:var(--bw-font) !important; font-size:14px !important; color:var(--bw-text) !important; line-height:1.65 !important; margin:0 !important; font-style:italic !important; flex:1 !important; }
.bw-rc-author { display:flex !important; align-items:center !important; gap:12px !important; padding-top:8px !important; border-top:1px solid rgba(0,60,120,0.07) !important; }
.bw-rc-avatar { width:44px !important; height:44px !important; border-radius:50% !important; background:var(--bw-navy,#112654) !important; display:flex !important; align-items:center !important; justify-content:center !important; font-family:var(--bw-font) !important; font-size:13px !important; font-weight:700 !important; color:#fff !important; flex-shrink:0 !important; overflow:hidden !important; }
.bw-rc-avatar img { width:100% !important; height:100% !important; object-fit:cover !important; }
.bw-rc-author-info strong { display:block !important; font-family:var(--bw-font) !important; font-size:14px !important; font-weight:700 !important; color:var(--bw-title) !important; }
.bw-rc-author-info span   { display:block !important; font-family:var(--bw-font) !important; font-size:12px !important; color:var(--bw-text) !important; opacity:.75 !important; }
.bw-rc-city { color:var(--bw-text) !important; opacity:.6 !important; }
.bw-rc-tag  { display:inline-block !important; background:rgba(253,128,25,0.1) !important; color:var(--bw-orange) !important; font-family:var(--bw-font) !important; font-size:11px !important; font-weight:700 !important; padding:4px 10px !important; border-radius:20px !important; }

.bw-rc-btn  { position:static !important; width:44px !important; height:44px !important; border-radius:50% !important; background:#fff !important; border:2px solid rgba(0,60,120,0.12) !important; cursor:pointer !important; font-size:24px !important; color:var(--bw-title) !important; display:flex !important; align-items:center !important; justify-content:center !important; box-shadow:0 2px 16px rgba(0,60,120,0.12) !important; transition:all 0.2s !important; z-index:10 !important; line-height:1 !important; flex-shrink:0 !important; }
.bw-rc-btn:hover { border-color:var(--bw-accent) !important; color:var(--bw-accent) !important; box-shadow:0 4px 20px rgba(0,181,239,0.2) !important; }
.bw-rc-pagination { display:flex !important; align-items:center !important; justify-content:center !important; gap:16px !important; margin-top:28px !important; width:100% !important; }
.bw-rc-dots { display:flex !important; align-items:center !important; gap:8px !important; flex-shrink:0 !important; }
.bw-rc-dot  { width:24px !important; height:4px !important; border-radius:4px !important; background:rgba(0,60,120,0.15) !important; cursor:pointer !important; transition:background 0.2s,width 0.2s !important; }
.bw-rc-dot.is-active { background:var(--bw-orange) !important; width:36px !important; }
.bw-rc-summary { display:grid !important; grid-template-columns:repeat(3,1fr) !important; background:var(--bw-sum-bg) !important; border-radius:18px !important; margin-top:40px !important; overflow:hidden !important; align-items:stretch !important; }
.bw-rc-sum-item { text-align:center !important; padding:28px 20px !important; border-right:1px solid rgba(255,255,255,0.08) !important; display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:center !important; }
.bw-rc-sum-item:last-child { border-right:none !important; }
.bw-rc-sum-item strong { display:block !important; font-family:var(--bw-font) !important; font-size:clamp(24px,3vw,36px) !important; font-weight:900 !important; color:#fff !important; margin-bottom:6px !important; }
.bw-rc-sum-item span   { font-family:var(--bw-font) !important; font-size:13px !important; color:rgba(255,255,255,0.65) !important; }
.bw-rc-sum-stars { color:var(--bw-orange) !important; font-size:16px !important; margin-top:6px !important; letter-spacing:2px !important; }
@media(max-width:900px) { .bw-rc-card { flex:0 0 calc((100% - 20px) / 2) !important; } .bw-rc-summary { grid-template-columns:1fr !important; } .bw-rc-sum-item { border-right:none !important; border-bottom:1px solid rgba(255,255,255,0.08) !important; } }
@media(max-width:600px) { .bw-rc-card { flex:0 0 100% !important; } }
/* Track wrap with nav buttons */

/* ============================================================
   WIDGET 10 — Contact Blok
   ============================================================ */
.bw-contact-block { --bw-accent:#00B5EF;--bw-orange:#FD8019;--bw-bg:#112654;--bw-font:'Lato',sans-serif; font-family:var(--bw-font) !important; background:var(--bw-bg) !important; padding:72px 24px !important; width:100% !important; }
.bw-cb-inner { max-width:1400px !important; margin:0 auto !important; display:grid !important; grid-template-columns:1fr 420px !important; gap:64px !important; align-items:center !important; }
.bw-cb-title    { font-family:var(--bw-font) !important; font-size:clamp(26px,3.5vw,40px) !important; font-weight:900 !important; color:#fff !important; margin:0 0 16px !important; line-height:1.2 !important; }
.bw-cb-subtitle { font-family:var(--bw-font) !important; font-size:15px !important; color:rgba(255,255,255,0.7) !important; margin:0 0 32px !important; line-height:1.6 !important; }
.bw-cb-options  { display:flex !important; flex-direction:column !important; gap:12px !important; margin-bottom:24px !important; }
.bw-cb-option   { display:flex !important; align-items:center !important; gap:16px !important; padding:16px 20px !important; background:rgba(255,255,255,0.12) !important; border:1px solid rgba(255,255,255,0.18) !important; border-radius:14px !important; text-decoration:none !important; transition:background 0.2s,transform 0.2s,border-color 0.2s !important; }
.bw-cb-option:hover { background:rgba(255,255,255,0.22) !important; transform:translateX(4px) !important; border-color:rgba(255,255,255,0.35) !important; }
.bw-cb-opt-icon { font-size:20px !important; flex-shrink:0 !important; width:44px !important; height:44px !important; border-radius:12px !important; background:var(--bw-orange) !important; display:flex !important; align-items:center !important; justify-content:center !important; }
.bw-cb-opt-icon .dashicons { color:#fff !important; font-size:20px !important; width:20px !important; height:20px !important; line-height:1 !important; display:flex !important; align-items:center !important; justify-content:center !important; }
.bw-cb-wa .bw-cb-opt-icon,
.bw-cb-wa-icon { background:#25D366 !important; }
.bw-cb-opt-content small  { display:block !important; font-family:var(--bw-font) !important; font-size:11px !important; color:rgba(255,255,255,0.65) !important; margin-bottom:2px !important; }
.bw-cb-opt-content strong { display:block !important; font-family:var(--bw-font) !important; font-size:15px !important; font-weight:700 !important; color:#fff !important; }
.bw-cb-note { font-family:var(--bw-font) !important; font-size:12px !important; color:rgba(255,255,255,0.45) !important; margin:0 !important; line-height:1.7 !important; }
.bw-cb-person-card { background:rgba(255,255,255,0.07) !important; backdrop-filter:blur(12px) !important; border:1px solid rgba(255,255,255,0.12) !important; border-radius:20px !important; padding:28px !important; box-shadow:0 8px 32px rgba(0,0,0,0.2),inset 0 1px 0 rgba(255,255,255,0.1) !important; }
.bw-cb-person-top { display:flex !important; align-items:center !important; gap:14px !important; margin-bottom:20px !important; }
.bw-cb-avatar    { width:56px !important; height:56px !important; border-radius:16px !important; background:var(--bw-orange) !important; display:flex !important; align-items:center !important; justify-content:center !important; font-family:var(--bw-font) !important; font-size:16px !important; font-weight:700 !important; color:#fff !important; flex-shrink:0 !important; }
.bw-cb-person-name { display:block !important; font-family:var(--bw-font) !important; font-size:16px !important; font-weight:700 !important; color:#fff !important; margin-bottom:2px !important; }
.bw-cb-person-role { font-family:var(--bw-font) !important; font-size:12px !important; color:rgba(255,255,255,0.55) !important; }
.bw-cb-person-quote { font-family:var(--bw-font) !important; font-size:14px !important; color:rgba(255,255,255,0.8) !important; line-height:1.65 !important; font-style:italic !important; margin:0 0 20px !important; }
.bw-cb-rating { display:flex !important; align-items:center !important; gap:10px !important; background:rgba(255,255,255,0.05) !important; border-radius:12px !important; padding:12px 16px !important; border:1px solid rgba(255,255,255,0.08) !important; }
.bw-cb-star { font-size:20px !important; flex-shrink:0 !important; }
.bw-cb-rating strong { display:block !important; font-family:var(--bw-font) !important; font-size:14px !important; font-weight:700 !important; color:#fff !important; }
.bw-cb-rating span   { font-family:var(--bw-font) !important; font-size:11px !important; color:rgba(255,255,255,0.5) !important; }
@media(max-width:900px) { .bw-cb-inner { grid-template-columns:1fr !important; gap:40px !important; } }

/* ============================================================
   WIDGET 11 — FAQ Accordion
   ============================================================ */
.bw-faq-accordion { --bw-accent:#00B5EF;--bw-orange:#FD8019;--bw-bg:#f4f6fb;--bw-title:#0d1b3e;--bw-text:#3a4a6b;--bw-font:'Lato',sans-serif; font-family:var(--bw-font) !important; background:var(--bw-bg) !important; padding:72px 24px !important; width:100% !important; }
.bw-faq-inner  { max-width:760px !important; margin:0 auto !important; }
.bw-faq-header { text-align:center !important; margin-bottom:48px !important; }
.bw-faq-title    { font-family:var(--bw-font) !important; font-size:clamp(28px,4vw,42px) !important; font-weight:900 !important; color:var(--bw-title) !important; margin:0 0 12px !important; }
.bw-faq-subtitle { font-family:var(--bw-font) !important; font-size:16px !important; color:var(--bw-text) !important; margin:0 !important; opacity:.8 !important; }
.bw-faq-list { display:flex !important; flex-direction:column !important; gap:10px !important; }
.bw-faq-item { background:#fff !important; border:1.5px solid rgba(0,60,120,0.08) !important; border-radius:14px !important; overflow:hidden !important; transition:border-color 0.2s,box-shadow 0.2s !important; }
.bw-faq-item.is-open { border-color:var(--bw-accent) !important; box-shadow:0 4px 20px rgba(0,181,239,0.12) !important; }
.bw-faq-q { width:100% !important; display:flex !important; justify-content:space-between !important; align-items:center !important; padding:18px 22px !important; background:none !important; border:none !important; cursor:pointer !important; text-align:left !important; gap:12px !important; }
.bw-faq-q span:first-child { font-family:var(--bw-font) !important; font-size:15px !important; font-weight:600 !important; color:var(--bw-title) !important; line-height:1.4 !important; }
.bw-faq-chevron { flex-shrink:0 !important; color:var(--bw-text) !important; transition:transform 0.3s ease !important; opacity:.6 !important; }
.bw-faq-item.is-open .bw-faq-chevron { transform:rotate(180deg) !important; color:var(--bw-accent) !important; opacity:1 !important; }
.bw-faq-a { max-height:0 !important; overflow:hidden !important; transition:max-height 0.35s ease !important; }
.bw-faq-item.is-open .bw-faq-a { max-height:600px !important; }
.bw-faq-a-inner { padding:0 22px 20px !important; font-family:var(--bw-font) !important; font-size:14px !important; color:var(--bw-text) !important; line-height:1.7 !important; }
.bw-faq-a-inner p { margin:0 !important; }

/* ============================================================
   WIDGET 12 — Aanmeld Formulier
   ============================================================ */
.bw-signup-form { --bw-accent:#00B5EF;--bw-orange:#FD8019;--bw-bg:#fff;--bw-title:#0d1b3e;--bw-text:#3a4a6b;--bw-font:'Lato',sans-serif; font-family:var(--bw-font) !important; background:var(--bw-bg) !important; padding:72px 24px !important; width:100% !important; }
.bw-sf-inner   { max-width:780px !important; margin:0 auto !important; }
.bw-sf-header  { text-align:center !important; margin-bottom:48px !important; }
.bw-sf-title   { font-family:var(--bw-font) !important; font-size:clamp(28px,4vw,48px) !important; font-weight:900 !important; color:var(--bw-title) !important; margin:0 0 14px !important; line-height:1.15 !important; letter-spacing:-0.5px !important; }
.bw-sf-subtitle { font-family:var(--bw-font) !important; font-size:16px !important; color:var(--bw-text) !important; margin:0 !important; opacity:.8 !important; line-height:1.6 !important; }
/* Card wrapper */
.bw-sf-card { background:#f4f7fc !important; border:1px solid rgba(0,181,239,0.12) !important; border-radius:20px !important; padding:40px !important; box-shadow:0 4px 32px rgba(0,60,120,0.07) !important; }
/* Built-in form fields */
.bw-sf-fields { display:grid !important; grid-template-columns:1fr 1fr !important; gap:16px !important; margin-bottom:16px !important; }
.bw-sf-half { grid-column:span 1 !important; }
.bw-sf-full { grid-column:span 2 !important; }
.bw-sf-label { display:block !important; font-family:var(--bw-font) !important; font-size:13px !important; font-weight:600 !important; color:var(--bw-title) !important; margin-bottom:6px !important; }
.bw-sf-req { color:var(--bw-orange) !important; }
.bw-sf-input-wrap { position:relative !important; }
.bw-sf-input-icon { position:absolute !important; left:14px !important; top:50% !important; transform:translateY(-50%) !important; pointer-events:none !important; color:#aab !important; display:flex !important; align-items:center !important; }
.bw-sf-input-icon .dashicons { font-size:16px !important; width:16px !important; height:16px !important; color:#aab !important; }
.bw-sf-input { width:100% !important; padding:12px 16px !important; font-family:var(--bw-font) !important; font-size:14px !important; color:var(--bw-title) !important; background:#fff !important; border:1.5px solid rgba(0,60,120,0.12) !important; border-radius:10px !important; outline:none !important; transition:border-color 0.2s,box-shadow 0.2s !important; box-sizing:border-box !important; }
.bw-sf-input.has-icon { padding-left:40px !important; }
.bw-sf-input:focus { border-color:var(--bw-accent) !important; box-shadow:0 0 0 3px rgba(0,181,239,0.12) !important; }
.bw-sf-input::placeholder { color:#aab !important; }
textarea.bw-sf-input { resize:vertical !important; min-height:100px !important; }
/* Checkbox block */
.bw-sf-checkbox-block { background:#fff !important; border:1.5px solid rgba(0,181,239,0.15) !important; border-radius:12px !important; padding:16px 18px !important; margin-bottom:20px !important; }
.bw-sf-check-label { display:flex !important; align-items:flex-start !important; gap:14px !important; cursor:pointer !important; }
.bw-sf-check { position:absolute !important; opacity:0 !important; width:0 !important; height:0 !important; }
.bw-sf-check-box { flex-shrink:0 !important; width:20px !important; height:20px !important; border-radius:5px !important; border:2px solid rgba(0,60,120,0.2) !important; background:#fff !important; display:flex !important; align-items:center !important; justify-content:center !important; transition:all 0.2s !important; margin-top:2px !important; }
.bw-sf-check:checked ~ .bw-sf-check-box { background:var(--bw-orange) !important; border-color:var(--bw-orange) !important; }
.bw-sf-check-title { display:block !important; font-family:var(--bw-font) !important; font-size:14px !important; font-weight:700 !important; color:var(--bw-title) !important; margin-bottom:4px !important; }
.bw-sf-check-desc  { display:block !important; font-family:var(--bw-font) !important; font-size:12px !important; color:var(--bw-text) !important; line-height:1.55 !important; opacity:.8 !important; }
/* Submit */
.bw-sf-submit { width:100% !important; padding:16px !important; background:var(--bw-orange) !important; color:#fff !important; font-family:var(--bw-font) !important; font-size:16px !important; font-weight:700 !important; border:none !important; border-radius:50px !important; cursor:pointer !important; transition:transform 0.2s,box-shadow 0.2s !important; box-shadow:0 4px 20px rgba(253,128,25,0.35) !important; margin-bottom:16px !important; }
.bw-sf-submit:hover { transform:translateY(-2px) !important; box-shadow:0 8px 28px rgba(253,128,25,0.5) !important; }
.bw-sf-legal { font-family:var(--bw-font) !important; font-size:12px !important; color:var(--bw-text) !important; text-align:center !important; margin:0 !important; opacity:.65 !important; }
.bw-sf-gf-notice { background:rgba(253,128,25,0.08) !important; border:1px solid rgba(253,128,25,0.2) !important; border-radius:10px !important; padding:16px !important; font-family:var(--bw-font) !important; font-size:14px !important; color:var(--bw-title) !important; }
@media(max-width:600px) { .bw-sf-fields { grid-template-columns:1fr !important; } .bw-sf-half,.bw-sf-full { grid-column:span 1 !important; } .bw-sf-card { padding:24px 20px !important; } }

/* ============================================================
   Gravity Forms override — hoge specificity om GF theme te overrulen
   ============================================================ */

/* Hide GF native chrome */
.bw-sf-card .gform_wrapper .gform_title,
.bw-sf-card .gform_wrapper h3.gform_title,
.bw-sf-card .gform_wrapper .gform_description,
.bw-sf-card .gform_wrapper .gform_required_legend,
.bw-sf-card .gform_wrapper .gform-footer__links { display:none !important; }

/* Reset wrapper */
.bw-sf-card .gform_wrapper,
.bw-sf-card .gform_wrapper.gravity-theme,
.bw-sf-card .gform-theme.gform_wrapper { padding:0 !important; margin:0 !important; background:transparent !important; border:none !important; box-shadow:none !important; }

.bw-sf-card .gform_wrapper *,
.bw-sf-card .gform-theme.gform_wrapper * { font-family:var(--bw-font) !important; }

/* Field grid */
.bw-sf-card .gform_wrapper .gform_fields,
.bw-sf-card .gform-theme.gform_wrapper .gform_fields {
    display:grid !important; grid-template-columns:1fr 1fr !important; gap:16px !important;
    margin:0 0 16px !important; padding:0 !important; list-style:none !important;
}
.bw-sf-card .gform_wrapper .gfield,
.bw-sf-card .gform-theme.gform_wrapper .gfield { margin:0 !important; padding:0 !important; }
.bw-sf-card .gform_wrapper .gfield--width-full,
.bw-sf-card .gform_wrapper .gfield--type-checkbox,
.bw-sf-card .gform_wrapper .gfield--type-consent,
.bw-sf-card .gform_wrapper .gfield--type-textarea { grid-column:span 2 !important; }

/* Labels */
.bw-sf-card .gform_wrapper .gfield_label,
.bw-sf-card .gform-theme.gform_wrapper .gfield_label {
    font-size:13px !important; font-weight:600 !important; color:var(--bw-title) !important;
    margin-bottom:6px !important; display:block !important; padding:0 !important;
    line-height:1.4 !important;
}
.bw-sf-card .gform_wrapper .gfield_required { color:var(--bw-orange) !important; }

/* All inputs */
.bw-sf-card .gform_wrapper input[type="text"],
.bw-sf-card .gform_wrapper input[type="email"],
.bw-sf-card .gform_wrapper input[type="tel"],
.bw-sf-card .gform_wrapper input[type="number"],
.bw-sf-card .gform_wrapper input[type="url"],
.bw-sf-card .gform_wrapper input[type="password"],
.bw-sf-card .gform-theme.gform_wrapper input[type="text"],
.bw-sf-card .gform-theme.gform_wrapper input[type="email"],
.bw-sf-card .gform-theme.gform_wrapper input[type="tel"],
.bw-sf-card .gform_wrapper select,
.bw-sf-card .gform_wrapper textarea {
    display:block !important; width:100% !important;
    padding:12px 16px !important; font-size:14px !important;
    color:var(--bw-title) !important; background:#fff !important;
    border:1.5px solid rgba(0,60,120,0.12) !important; border-radius:10px !important;
    outline:none !important; box-shadow:none !important;
    transition:border-color 0.2s, box-shadow 0.2s !important;
    -webkit-appearance:none !important; appearance:none !important;
    height:auto !important; margin:0 !important; max-width:100% !important;
    min-height:unset !important;
}
.bw-sf-card .gform_wrapper input[type="text"]:focus,
.bw-sf-card .gform_wrapper input[type="email"]:focus,
.bw-sf-card .gform_wrapper input[type="tel"]:focus,
.bw-sf-card .gform_wrapper select:focus,
.bw-sf-card .gform_wrapper textarea:focus {
    border-color:var(--bw-accent) !important;
    box-shadow:0 0 0 3px rgba(0,181,239,0.12) !important;
}
.bw-sf-card .gform_wrapper input::placeholder,
.bw-sf-card .gform_wrapper textarea::placeholder { color:#aab !important; opacity:1 !important; }

/* Hide sub-label / description under field */
.bw-sf-card .gform_wrapper .gfield_description:not(.validation_message):not(.gfield_validation_message),
.bw-sf-card .gform_wrapper .ginput_container .instruction { display:none !important; }

/* Checkbox */
.bw-sf-card .gform_wrapper .gfield--type-checkbox .gfield_checkbox,
.bw-sf-card .gform_wrapper .gfield--type-checkbox ul {
    background:#fff !important; border:1.5px solid rgba(0,181,239,0.15) !important;
    border-radius:12px !important; padding:14px 16px !important;
    margin:0 !important; list-style:none !important;
}
.bw-sf-card .gform_wrapper .gfield--type-checkbox li { list-style:none !important; padding:0 !important; margin:0 !important; display:flex !important; align-items:flex-start !important; gap:10px !important; }
.bw-sf-card .gform_wrapper input[type="checkbox"] { width:18px !important; height:18px !important; accent-color:var(--bw-orange) !important; cursor:pointer !important; flex-shrink:0 !important; margin:2px 0 0 !important; }
.bw-sf-card .gform_wrapper .gfield--type-checkbox label { font-size:14px !important; font-weight:600 !important; color:var(--bw-title) !important; cursor:pointer !important; line-height:1.5 !important; }

/* Submit */
.bw-sf-card .gform_wrapper .gform_footer,
.bw-sf-card .gform_wrapper .gform_page_footer,
.bw-sf-card .gform-theme.gform_wrapper .gform_footer {
    margin:20px 0 0 !important; padding:0 !important; border:none !important; background:none !important;
}
.bw-sf-card .gform_wrapper input[type="submit"],
.bw-sf-card .gform_wrapper button[type="submit"],
.bw-sf-card .gform-theme.gform_wrapper input[type="submit"],
.bw-sf-card .gform-theme.gform_wrapper button[type="submit"] {
    display:block !important; width:100% !important; padding:16px !important;
    background:var(--bw-orange) !important; color:#fff !important;
    font-size:16px !important; font-weight:700 !important;
    border:none !important; border-radius:50px !important; cursor:pointer !important;
    transition:transform 0.2s, box-shadow 0.2s !important;
    box-shadow:0 4px 20px rgba(253,128,25,0.35) !important;
    -webkit-appearance:none !important; appearance:none !important;
    text-align:center !important; min-height:unset !important; max-width:100% !important;
}
.bw-sf-card .gform_wrapper input[type="submit"]:hover,
.bw-sf-card .gform_wrapper button[type="submit"]:hover {
    transform:translateY(-2px) !important; box-shadow:0 8px 28px rgba(253,128,25,0.5) !important;
    background:var(--bw-orange) !important; color:#fff !important;
}

/* Validation */
.bw-sf-card .gform_wrapper .gfield_error input,
.bw-sf-card .gform_wrapper .gfield_error select,
.bw-sf-card .gform_wrapper .gfield_error textarea { border-color:#e74c3c !important; }
.bw-sf-card .gform_wrapper .validation_message,
.bw-sf-card .gform_wrapper .gfield_validation_message {
    font-size:12px !important; color:#e74c3c !important;
    margin-top:4px !important; background:none !important; border:none !important; padding:0 !important;
}
.bw-sf-card .gform_wrapper .gform_validation_errors {
    background:rgba(231,76,60,0.06) !important; border:1px solid rgba(231,76,60,0.2) !important;
    border-radius:10px !important; padding:12px 16px !important;
    font-size:13px !important; color:#c0392b !important; margin-bottom:16px !important;
}
.bw-sf-card .gform_wrapper .gform_confirmation_wrapper {
    background:rgba(34,197,94,0.08) !important; border:1px solid rgba(34,197,94,0.25) !important;
    border-radius:14px !important; padding:20px !important;
    font-size:15px !important; color:#15803d !important; font-weight:600 !important; text-align:center !important;
}

@media(max-width:600px) {
    .bw-sf-card .gform_wrapper .gform_fields { grid-template-columns:1fr !important; }
    .bw-sf-card .gform_wrapper .gfield--width-full,
    .bw-sf-card .gform_wrapper .gfield--type-checkbox { grid-column:span 1 !important; }
}
