
/* =============================================
   Wizard - stap-voor-stap inschrijving (o_wz)
   Huisstijl: oranje var(--bf-primary, #ED6B06), hover var(--bf-primary-hover, #d45e05), radius 5px,
   kaarten wit met 2px #e8e8e8 rand, selectie var(--bf-primary-tint, #fef8f3).
   ============================================= */

.o_wz-progress { margin: 6px 0 26px; }
.o_wz-progress-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}
.o_wz-progress-stap {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--bf-primary, #ED6B06);
}
.o_wz-terug {
    background: none;
    border: none;
    color: #777;
    font-size: 13px;
    cursor: pointer;
    padding: 4px 0;
    transition: color 150ms;
}
.o_wz-terug:hover { color: var(--bf-primary, #ED6B06); }
.o_wz-terug i { margin-right: 5px; font-size: 11px; }
.o_wz-progress-bar {
    height: 6px;
    background: #eee;
    border-radius: 999px;
    overflow: hidden;
}
.o_wz-progress-fill {
    height: 100%;
    width: 0;
    background: var(--bf-primary, #ED6B06);
    border-radius: 999px;
    transition: width 300ms ease;
}

.o_wz-step-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.o_wz-step-titel {
    font-size: 22px;
    margin: 0 0 6px;
}
.o_wz-step-sub {
    color: #777;
    font-size: 14px;
    margin: 0;
}

/* Kleine zij-optie (proefles / Try The Bike) - rechtsboven, niet gratis */
.o_wz-zij {
    text-align: left;
    background: #fff;
    border: 2px dashed var(--bf-primary, #ED6B06);
    border-radius: 5px;
    padding: 12px 16px;
    cursor: pointer;
    max-width: 260px;
    transition: all 150ms;
}
.o_wz-zij:hover { background: var(--bf-primary-tint, #fef8f3); }
.o_wz-zij-titel {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: var(--bf-primary, #ED6B06);
    margin-bottom: 3px;
}
.o_wz-zij-sub { display: block; font-size: 12px; color: #777; line-height: 17px; }

/* Keuzekaarten */
.o_wz-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    align-items: stretch;
}
.o_wz-card {
    position: relative;
    text-align: left;
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    padding: 22px 18px 18px;
    cursor: pointer;
    transition: all 150ms;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.o_wz-card:hover { border-color: var(--bf-primary, #ED6B06); }
.o_wz-card.is-gekozen {
    border-color: var(--bf-primary, #ED6B06);
    background: var(--bf-primary-tint, #fef8f3);
}
.o_wz-card-badge {
    position: absolute;
    top: -12px;
    right: 16px;
    background: var(--bf-primary, #ED6B06);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 4px 10px;
    border-radius: 999px;
    max-width: calc(100% - 24px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.o_wz-card-icon {
    width: 42px;
    height: 42px;
    border-radius: 5px;
    background: var(--bf-donker, #212121);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
}
.o_wz-card.is-gekozen .o_wz-card-icon { background: var(--bf-primary, #ED6B06); }
.o_wz-card-titel {
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    line-height: 21px;
    color: var(--bf-donker, #212121);
}
.o_wz-card-sub { font-size: 13px; color: #777; line-height: 18px; flex-grow: 1; }
.o_wz-card-prijs {
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: 18px;
    color: var(--bf-primary, #ED6B06);
}
.o_wz-card-check {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: var(--bf-primary, #ED6B06);
    color: #fff;
    font-size: 10px;
    display: none;
    align-items: center;
    justify-content: center;
}
.o_wz-card.is-gekozen .o_wz-card-check { display: flex; }

/* Middelste kaart prominent (Brookhuis-patroon) */
@media (min-width: 768px) {
    .o_wz-cards--prominent { align-items: center; }
    .o_wz-cards--prominent .o_wz-card--prominent {
        border-color: var(--bf-primary, #ED6B06);
        box-shadow: 0 10px 28px rgba(var(--bf-primary-rgb, 237,107,6), 0.18);
        transform: scale(1.05);
        z-index: 1;
    }
}

/* Ja/nee-vraag */
.o_wz-janee { display: flex; gap: 16px; flex-wrap: wrap; }
.o_wz-janee-btn {
    flex: 1;
    min-width: 140px;
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    padding: 20px;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    transition: all 150ms;
}
.o_wz-janee-btn:hover { border-color: var(--bf-primary, #ED6B06); }
.o_wz-janee-btn.is-gekozen {
    border-color: var(--bf-primary, #ED6B06);
    background: var(--bf-primary-tint, #fef8f3);
    color: var(--bf-primary, #ED6B06);
}
.o_wz-janee-btn i { margin-right: 8px; color: var(--bf-primary, #ED6B06); }

/* Checklist (verplicht) en opties (vinkjes met meerprijs) */
.o_wz-checklist { display: flex; flex-direction: column; gap: 10px; margin-bottom: 22px; }
.o_wz-vink {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    padding: 14px 16px;
    cursor: pointer;
    transition: all 150ms;
    margin: 0;
}
.o_wz-vink:hover { border-color: var(--bf-primary, #ED6B06); }
.o_wz-vink input { position: absolute; opacity: 0; pointer-events: none; }
.o_wz-vink-box {
    width: 22px;
    height: 22px;
    min-width: 22px;
    border: 2px solid #ccc;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 10px;
    transition: all 150ms;
}
.o_wz-vink input:checked ~ .o_wz-vink-box {
    background: var(--bf-primary, #ED6B06);
    border-color: var(--bf-primary, #ED6B06);
}
.o_wz-vink input:checked ~ .o_wz-vink-label { color: var(--bf-donker, #212121); }
.o_wz-vink-label { font-size: 14px; line-height: 20px; color: #555; flex-grow: 1; }
.o_wz-vink-label strong { display: block; font-family: "Montserrat", sans-serif; font-size: 14px; color: var(--bf-donker, #212121); }
.o_wz-vink-sub { display: block; font-size: 12.5px; color: #777; margin-top: 2px; }
.o_wz-vink-prijs {
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    color: var(--bf-primary, #ED6B06);
    white-space: nowrap;
}

/* Formulier-stap */
.o_wz-formulier { max-width: 420px; margin-bottom: 10px; }
.o_wz-formulier .input-text { width: 100%; }
.o_wz-fout { border-color: #d63638 !important; }

/* Info-rondje (i) */
.o_wz-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--bf-primary, #ED6B06);
    cursor: pointer;
    margin-left: 6px;
    font-size: 15px;
}
.o_wz-info:hover { color: var(--bf-primary-hover, #d45e05); }
.o_wz-card .o_wz-info { position: absolute; bottom: 18px; right: 14px; }

/* Einde: overzicht */
.o_wz-overzicht {
    border: 2px solid #e8e8e8;
    border-radius: 5px 5px 0 0;
    overflow: hidden;
}
.o_wz-overzicht-rij {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 18px;
    font-size: 14px;
    border-bottom: 1px solid #eee;
}
.o_wz-overzicht-rij:last-child { border-bottom: 0; }
.o_wz-overzicht-label {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #999;
}
.o_wz-overzicht-totaal {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--bf-donker, #212121);
    color: #fff;
    border-radius: 0 0 5px 5px;
    padding: 16px 18px;
    margin-bottom: 22px;
}
.o_wz-overzicht-totaal strong {
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    color: var(--bf-accent, #ED6B06);
}
.o_wz-einde-acties { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.o_wz-einde-note { font-size: 13px; color: #777; }
.o_wz-einde-note i { color: var(--bf-primary, #ED6B06); margin-right: 5px; }

/* Sidebar-samenvatting aanvullingen */
.o_wz-sidebar .o_c95-sum-body { max-height: 300px; overflow-y: auto; }
.o_wz-sum-leeg { font-size: 13px; color: #999; margin: 0; padding: 4px 0; }
.o_wz .o_c95-sum-row-label { max-width: 200px; }

/* Wizard/in-company modal */
.o_wz-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
}
.o_wz-modal.is-open { display: block; }
.o_wz-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
}
.o_wz-modal-inner {
    position: relative;
    max-width: 480px;
    margin: 8vh auto 0;
    background: #fff;
    border-radius: 5px;
    padding: 30px 28px 26px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
    max-height: 84vh;
    overflow-y: auto;
}
.o_wz-modal-inner h3 {
    font-size: 20px;
    margin: 0 0 10px;
}
/* pre-line: nieuwe regels in de tekst (bv. openingstijden) netjes onder elkaar (mail Nina 22 okt 2026) */
.o_wz-modal-inner p { font-size: 14px; color: #555; line-height: 22px; white-space: pre-line; }
.o_wz-modal-close {
    position: absolute;
    top: 12px;
    right: 12px;
    background: none;
    border: none;
    font-size: 16px;
    color: #999;
    cursor: pointer;
}
.o_wz-modal-close:hover { color: #000; }
.o_wz-modal-acties {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 18px;
}
.o_wz-modal-sluit {
    background: none;
    border: none;
    color: #777;
    font-size: 13px;
    text-decoration: underline;
    cursor: pointer;
}
.o_wz-modal-sluit:hover { color: #000; }

/* Lege sessielijst: uitleg in plaats van een dode dropdown */
.o_dd-leeg {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: var(--bf-primary-tint, #fef8f3);
    border: 2px dashed var(--bf-primary, #ED6B06);
    border-radius: 5px;
    padding: 16px 18px;
}
.o_dd-leeg-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    background: var(--bf-primary, #ED6B06);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.o_dd-leeg-icon i { color: #fff; font-size: 14px; }
.o_dd-leeg-tekst {
    font-size: 13px;
    line-height: 1.55;
    color: #555;
}
.o_dd-leeg-tekst strong {
    display: block;
    font-size: 14px;
    color: var(--bf-donker, #212121);
    margin-bottom: 2px;
}

/* In-company offerteknop onder de sessie-dropdown */
.o_dd-incompany {
    display: block;
    background: none;
    border: none;
    color: #777;
    font-size: 13px;
    cursor: pointer;
    padding: 8px 0 0;
    transition: color 150ms;
    text-align: left;
}
.o_dd-incompany:hover { color: var(--bf-primary, #ED6B06); }
.o_dd-incompany i { color: var(--bf-primary, #ED6B06); margin-right: 5px; }

/* In-company formulier in modal */
.o_ic-form .form-row { margin-bottom: 12px; }
.o_ic-form label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 4px;
}
.o_ic-form .input-text { width: 100%; }
.o_ic-melding {
    border-radius: 5px;
    padding: 10px 14px;
    font-size: 13px;
    margin-bottom: 12px;
}
.o_ic-melding--ok { background: #e8f6ec; color: #1e7c3a; }
.o_ic-melding--fout { background: #fdecea; color: #b32d2e; }

/* Bedanktpagina: reminder-variant (Machtiging/Gezondheidsverklaring of VOG) */
.o_ty-reminder {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    background: var(--bf-primary-tint, #fef8f3);
    border: 2px solid var(--bf-primary, #ED6B06);
    border-radius: 5px;
    padding: 18px 20px;
    margin: 0 0 28px;
}
.o_ty-reminder-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    background: var(--bf-primary, #ED6B06);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}
.o_ty-reminder-body strong {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    margin-bottom: 4px;
}
.o_ty-reminder-body p { font-size: 13.5px; color: #555; margin: 0; line-height: 20px; }

/* =============================================
   Wizard layout-fix - eigen grid naast de product-grid
   (.o_wc-product > .row is een vaste 280px-grid; de wizard
   gebruikt daarom .o_wz-layout in plaats van .row/kolommen)
   ============================================= */
.o_wz-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 0 34px;
}
.o_wz-side .sidebar-left .widget { margin-right: 0; }

/* Samenvatting in de wizard-zijbalk altijd tonen (de algemene regel
   verbergt .o_c95-summary-widget onder 992px voor de Code 95-pagina) */
.o_wz-side .o_c95-summary-widget {
    display: block;
    position: sticky;
    top: 20px;
}

@media (max-width: 991px) {
    .o_wz-layout { grid-template-columns: 1fr; }
    .o_wz-side .o_c95-summary-widget { position: static; }
    .o_wz-side { margin-top: 10px; }
}


/* Zij-optie (proefles) rechtsboven naast de staptitel */
.o_wz-step-head > div:first-child {
    flex: 1 1 380px;
    min-width: 0;
}

/* Wizard-zijbalk: ruimte onder de CTA-knop (op de Code 95-pagina vult
   de "Modules kiezen"-link die ruimte, in de wizard ontbreekt die) */
.o_wz-side .o_c95-sum-cta {
    margin-bottom: 18px !important;
}

/* =============================================================
   Knop-basis binnen flow-onderdelen: maakt de plugin bruikbaar op
   thema's zonder eigen .btn-styling (bv. Hello Elementor op de
   Bax-site). Waarden zijn 1-op-1 gespiegeld aan het ONE/SBVO-thema
   zodat de weergave daar onveranderd blijft.
   ============================================================= */
.o_wz-layout .o_header_btn_orange,
.o_wz-modal .o_header_btn_orange,
.o_co .o_header_btn_orange,
.o_ty .o_header_btn_orange,
.o_ty .o_header_btn,
.o_c95 .o_header_btn_orange {
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    padding: 12px 20px 10px;
    margin-bottom: 5px;
    border-radius: 3px;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: 350ms;
    color: #fff;
    background: var(--bf-primary, #ED6B06);
    border: 2px solid var(--bf-primary, #ED6B06) !important;
}
.o_wz-layout .o_header_btn_orange:hover,
.o_wz-modal .o_header_btn_orange:hover,
.o_co .o_header_btn_orange:hover,
.o_ty .o_header_btn_orange:hover,
.o_ty .o_header_btn:hover,
.o_c95 .o_header_btn_orange:hover {
    color: #fff;
    background: var(--bf-primary-hover, #d45e05);
    border-color: var(--bf-primary-hover, #d45e05) !important;
}
.o_wz-layout .btn-block,
.o_co .btn-block,
.o_c95 .btn-block {
    display: block;
    width: 100%;
}

/* Uitgelichte kaart: oranje omlijning en gloed, zonder groter te worden
   (klantwens: One Day Theorie uitlichten in de theorie-stap) */
.o_wz-card--uitgelicht {
    border-color: var(--bf-primary, #ED6B06);
    box-shadow: 0 10px 28px rgba(var(--bf-primary-rgb, 237,107,6), 0.18);
}

/* Gekozen kaart krijgt dezelfde nadruk als de "Meest gekozen"-kaart */
.o_wz-card.is-gekozen {
    box-shadow: 0 10px 28px rgba(var(--bf-primary-rgb, 237,107,6), 0.18);
}
@media (min-width: 768px) {
    .o_wz-card.is-gekozen {
        transform: scale(1.05);
        z-index: 1;
    }
    /* Zodra er gekozen is, levert de standaard uitgelichte kaart zijn nadruk in */
    .o_wz-cards--heeft-keuze .o_wz-card--prominent:not(.is-gekozen) {
        transform: none;
        box-shadow: none;
        border-color: #e8e8e8;
    }
}

/* Ruimte boven de kaarten zodat het "Meest gekozen"-label nergens tegenaan staat */
.o_wz-cards {
    padding-top: 18px;
}

/* =============================================
   UX-verbeterronde juli 2026
   ============================================= */

/* Formulier-stap (SOOB, VOG): nette invoervelden in huisstijl */
.o_wz-formulier .form-row {
    margin: 0 0 16px;
    padding: 0;
}
.o_wz-formulier label {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: var(--bf-donker, #212121);
    margin-bottom: 6px;
}
.o_wz-formulier .woocommerce-input-wrapper { display: block; }
.o_wz-formulier .input-text {
    width: 100%;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    padding: 12px 14px;
    font-size: 14px;
    transition: border-color 150ms;
}
.o_wz-formulier .input-text:focus {
    border-color: var(--bf-primary, #ED6B06);
    outline: none;
}

/* "Inbegrepen" in plaats van een leeg prijsveld */
.o_wz-inbegrepen {
    font-size: 11px;
    font-weight: 600;
    color: #1e7c3a;
    background: #e8f6ec;
    border-radius: 999px;
    padding: 3px 8px;
    white-space: nowrap;
}

/* Vanaf-prijs bij flow-producten */
.o_vanaf {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #999;
    display: block;
    line-height: 1.2;
}

/* Shop-tegel zonder productfoto: huisstijl-icoon in plaats van leeg vlak */
.o_sh-item-img-fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 120px;
    background: var(--bf-donker, #212121);
    border-radius: 5px;
}
.o_sh-item-img-fallback i {
    font-size: 44px;
    color: var(--bf-accent, #ED6B06);
}


/* =============================================================
   Flow-styling verhuisd uit het thema (child.css), juli 2026:
   checkout (o_co), bedanktpagina (o_ty), Code 95-kiezer (o_c95),
   sessie-dropdown (o_dd), rijschool-badges (o_rs), upsells
   (o_upsell, o_toast), in-company modal (o_ic) en betaalblok
   (#payment). De volgorde uit child.css is behouden.
   ============================================================= */

.o_dd {
    position: relative;
    margin-bottom: 14px;
}
.o_dd-trigger {
    display: flex;
    align-items: center;
    width: 100%;
    height: 64px;
    padding: 0 14px;
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    cursor: pointer;
    transition: border-color 200ms, box-shadow 200ms;
    text-align: left;
    gap: 12px;
    font-family: "Open Sans", sans-serif;
}
.o_dd-trigger:hover,
.o_dd--open .o_dd-trigger {
    border-color: var(--bf-primary, #ED6B06);
}
.o_dd--open .o_dd-trigger {
    border-radius: 5px 5px 0 0;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.o_dd-trigger-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    background: var(--bf-primary, #ED6B06);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.o_dd-trigger-icon i {
    color: #fff;
    font-size: 14px;
}
.o_dd-trigger-text {
    flex: 1;
    min-width: 0;
    overflow: hidden;
}
.o_dd-trigger-label {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #999;
    line-height: 1.2;
    margin-bottom: 2px;
}
.o_dd-trigger-value {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #999;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.o_dd-trigger-value--active {
    color: var(--bf-donker, #212121);
}
.o_dd-trigger-arrow {
    color: var(--bf-primary, #ED6B06);
    font-size: 12px;
    transition: transform 250ms;
    flex-shrink: 0;
}
.o_dd--open .o_dd-trigger-arrow {
    transform: rotate(180deg);
}
.o_dd-panel {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 2px solid var(--bf-primary, #ED6B06);
    border-top: none;
    border-radius: 0 0 5px 5px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.12);
    z-index: 500;
    max-height: 320px;
    overflow-y: auto;
    animation: o_dd_slideDown 200ms ease-out;
}
.o_dd--open .o_dd-panel {
    display: block;
}
.o_dd-panel::-webkit-scrollbar {
    width: 5px;
}
.o_dd-panel::-webkit-scrollbar-track {
    background: transparent;
}
.o_dd-panel::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 3px;
}
.o_dd-option {
    display: flex;
    align-items: center;
    padding: 12px 14px;
    gap: 12px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
    transition: background 150ms;
}
.o_dd-option:last-child {
    border-bottom: none;
}
.o_dd-option:hover {
    background: var(--bf-primary-tint, #fef8f3);
}
.o_dd-option--selected {
    background: var(--bf-primary-tint, #fef8f3);
}
.o_dd-option-date {
    background: var(--bf-donker, #212121);
    border-radius: 5px;
    min-width: 46px;
    text-align: center;
    padding: 7px 6px;
    line-height: 1;
    flex-shrink: 0;
}
.o_dd-date-day {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: 20px;
    color: #fff;
    line-height: 1.1;
}
.o_dd-date-month {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 10px;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 1px;
}
.o_dd-option-info {
    flex: 1;
    min-width: 0;
}
.o_dd-option-info strong {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 700;
    color: var(--bf-donker, #212121);
    line-height: 1.3;
    margin-bottom: 3px;
}
.o_dd-option-info span {
    display: inline-block;
    font-size: 12px;
    color: #777;
    margin-right: 10px;
    line-height: 1.6;
}
.o_dd-option-info i {
    color: var(--bf-primary, #ED6B06);
    width: 13px;
    text-align: center;
    margin-right: 4px;
    font-size: 11px;
}
.o_dd-option-seats {
    flex-shrink: 0;
}
.o_dd-seats {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    padding: 4px 8px;
    border-radius: 3px;
    white-space: nowrap;
}
.o_dd-seats--available {
    background: #e8f5e9;
    color: #2e7d32;
}
.o_dd-seats--limited {
    background: #fff3e0;
    color: #e65100;
}
.o_dd-seats--full {
    background: #fce4ec;
    color: #c62828;
}
.o_dd-option-check {
    width: 22px;
    height: 22px;
    min-width: 22px;
    border: 2px solid #e0e0e0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: 200ms;
}
.o_dd-option-check i {
    font-size: 10px;
    color: transparent;
    transition: 200ms;
}
.o_dd-option--selected .o_dd-option-check {
    background: var(--bf-primary, #ED6B06);
    border-color: var(--bf-primary, #ED6B06);
}
.o_dd-option--selected .o_dd-option-check i {
    color: #fff;
}
.o_dd-option:hover .o_dd-option-check {
    border-color: var(--bf-primary, #ED6B06);
}
.o_dd--sidebar {
    margin-bottom: 12px;
}
.o_dd--sidebar .o_dd-trigger {
    padding: 10px 12px;
    gap: 10px;
}
.o_dd--sidebar .o_dd-trigger-icon {
    width: 32px;
    height: 32px;
    min-width: 32px;
}
.o_dd--sidebar .o_dd-trigger-icon i {
    font-size: 12px;
}
.o_dd--sidebar .o_dd-trigger-value {
    font-size: 12px;
}
.o_dd--sidebar .o_dd-option {
    padding: 10px 12px;
    gap: 10px;
}
.o_dd--sidebar .o_dd-option-date {
    min-width: 40px;
    padding: 5px 4px;
}
.o_dd--sidebar .o_dd-date-day {
    font-size: 17px;
}
.o_dd--sidebar .o_dd-option-info strong {
    font-size: 12px;
}
.o_dd--sidebar .o_dd-option-info span {
    font-size: 11px;
    display: block;
    margin-right: 0;
}
.o_dd--sidebar .o_dd-seats {
    font-size: 9px;
    padding: 3px 6px;
}
.o_dd--sidebar .o_dd-option-check {
    width: 20px;
    height: 20px;
    min-width: 20px;
}
.o_wc-inline-signup .o_dd {
    flex: 1;
    margin-bottom: 0;
}
.o_wc-cta-signup .o_dd {
    flex: 1;
    margin-bottom: 0;
}
.woocommerce-checkout .o_co, .woocommerce-checkout .o_co-form, .woocommerce-checkout .o_co-layout {
    overflow: visible !important;
}
.o_co-form .woocommerce-billing-fields > h3, .o_co-form #order_review_heading, .o_co-form .woocommerce-checkout-review-order-table, .o_co-form .woocommerce-privacy-policy-text, .o_co-form .woocommerce-form-login-toggle, .o_co-form .woocommerce-form-coupon-toggle {
    display: none !important;
}
.o_co-layout {
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 40px;
    align-items: start;
}
.o_co-block + .o_co-block {
    margin-top: 36px;
    padding-top: 36px;
    border-top: 1px solid #eee;
}
.o_co-block-head {
    display: flex;
    gap: 16px;
    align-items: flex-start;
    margin-bottom: 28px;
}
.o_co-num {
    width: 32px;
    height: 32px;
    min-width: 32px;
    background: var(--bf-donker, #212121);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: 13px;
    margin-top: 1px;
}
.o_co-block-head h3 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: var(--bf-donker, #212121);
    text-transform: uppercase;
    margin: 0 0 4px;
    line-height: 1.2;
}
.o_co-block-head p {
    font-size: 14px;
    color: #999;
    margin: 0;
    line-height: 1.5;
}
.o_co-form .woocommerce-billing-fields__field-wrapper,
.o_co-form .o_co-fields {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 22px 18px;
}
.o_co-form .form-row {
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    width: auto !important;
    clear: none !important;
    display: flex;
    flex-direction: column;
}
.o_co-form .form-row-first,
.o_co-form .form-row-last {
    width: auto !important;
    float: none !important;
}
.o_co-form .form-row-wide {
    grid-column: 1 / -1;
}
.o_co-form .form-row::before,
.o_co-form .form-row::after {
    display: none !important;
}
.o_co-form .form-row label {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: var(--bf-donker, #212121);
    text-transform: none;
    letter-spacing: 0;
    margin: 0 0 10px !important;
    display: block;
    line-height: 1;
}
.o_co-form .form-row label .required {
    color: var(--bf-primary, #ED6B06);
}
.o_co-form .form-row label .optional {
    font-weight: 400;
    color: #ccc;
    font-size: 11px;
}
.o_co-form .form-row input.input-text,
.o_co-form .form-row textarea,
.o_co-form .form-row select,
.o_co-form .form-row input[type="date"],
.o_co-form .select2-container--default .select2-selection--single {
    border: 1px solid #ddd !important;
    border-radius: 5px !important;
    padding: 14px 16px !important;
    font-size: 15px !important;
    font-family: "Open Sans", sans-serif;
    transition: border-color 200ms, box-shadow 200ms;
    height: auto !important;
    width: 100% !important;
    background: #fafafa !important;
    color: var(--bf-donker, #212121);
    box-sizing: border-box !important;
    -webkit-appearance: none;
}
.o_co-form .form-row input.input-text:focus,
.o_co-form .form-row textarea:focus,
.o_co-form .form-row select:focus,
.o_co-form .form-row input[type="date"]:focus {
    border-color: var(--bf-primary, #ED6B06) !important;
    background: #fff !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(var(--bf-primary-rgb, 237,107,6), 0.1) !important;
}
.o_co-form .woocommerce-input-wrapper {
    display: block !important;
}
.o_co-form .select2-container {
    width: 100% !important;
}
.o_co-form .select2-container--default .select2-selection--single {
    background: #fafafa !important;
}
.o_co-form .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: normal !important;
    padding: 0 !important;
    color: var(--bf-donker, #212121);
}
.o_co-form .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50% !important;
    transform: translateY(-50%);
    right: 12px !important;
}
.o_co-form #payment {
    background: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    border: none !important;
}
.o_co-form #payment::before,
.o_co-form #payment::after {
    display: none !important;
}
.o_co-form #payment .payment_methods {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 24px !important;
    border: none !important;
}
.o_co-form #payment .payment_methods li {
    padding: 16px 18px !important;
    border: 2px solid var(--bf-primary, #ED6B06) !important;
    border-radius: 5px !important;
    margin-bottom: 8px !important;
    transition: 200ms;
    background: var(--bf-primary-tint, #fef8f3) !important;
}
.o_co-form #payment .payment_methods li:hover {
    border-color: var(--bf-primary, #ED6B06) !important;
}
.o_co-form #payment .payment_methods li label {
    font-family: "Montserrat", sans-serif !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    color: var(--bf-donker, #212121) !important;
    cursor: pointer;
}
.o_co-form #payment .payment_box {
    background: none !important;
    border-radius: 4px;
    margin-top: 8px;
    padding: 0 !important;
    font-size: 13.5px;
    color: #555;
    line-height: 20px;
}
.o_co-form #payment .payment_box::before {
    display: none !important;
}
.o_co-form .woocommerce-terms-and-conditions-wrapper {
    font-size: 12px;
    color: #999;
    margin-bottom: 16px;
}
.o_co-form #place_order {
    background: var(--bf-primary, #ED6B06) !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
    padding: 18px 32px !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    text-transform: uppercase !important;
    width: 100% !important;
    cursor: pointer;
    transition: 300ms;
    letter-spacing: 0.5px;
}
.o_co-form #place_order:hover {
    background: var(--bf-primary-hover, #d45e05) !important;
}
.o_co-right {
    position: -webkit-sticky;
    position: sticky;
    top: 20px;
    align-self: start;
}
.o_co-card {
    border-radius: 5px;
    overflow: hidden;
    border: 1px solid #e8e8e8;
}
.o_co-card-img {
    height: 160px;
    background-size: cover;
    background-position: center;
}
.o_co-card-body {
    padding: 20px 22px;
    border-bottom: 1px solid #eee;
}
.o_co-card-label {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    color: #999;
    display: block;
    margin-bottom: 4px;
}
.o_co-card-title {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: var(--bf-donker, #212121);
    text-transform: uppercase;
    margin: 0 0 14px;
    line-height: 1.3;
}
.o_co-card-attr {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 8px 0;
}
.o_co-card-attr-icon {
    width: 34px;
    height: 34px;
    min-width: 34px;
    background: var(--bf-primary, #ED6B06);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.o_co-card-attr-icon i {
    color: #fff;
    font-size: 13px;
}
.o_co-card-attr-label {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 10px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    line-height: 1;
    margin-bottom: 3px;
}
.o_co-card-attr-value {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: var(--bf-donker, #212121);
    line-height: 1.2;
}
.o_co-card-pricing {
    padding: 16px 22px;
    border-bottom: 1px solid #eee;
}
.o_co-card-row {
    display: flex;
    justify-content: space-between;
    padding: 5px 0;
    font-size: 14px;
    color: var(--bf-donker, #212121);
}
.o_co-card-row--sub {
    font-size: 13px;
    color: #999;
}
/* Verwijder-kruisje per cursus/voucher in de checkout-samenvatting */
.o_co-verwijder {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    margin-right: 4px;
    border-radius: 50%;
    background: #f2f2f2;
    color: #b32d2e;
    font-size: 10px;
    text-decoration: none;
    vertical-align: 1px;
}
.o_co-verwijder:hover {
    background: #fdecea;
    color: #b32d2e;
}
.o_co-card-row--voucher {
    color: #1e7c3a;
}
.o_co-card-row--voucher .fa-tag {
    font-size: 11px;
}
/* Vouchercode-veld */
.o_co-voucher {
    padding: 14px 22px;
    border-bottom: 1px solid #eee;
}
.o_co-voucher label {
    display: block;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color: #999;
    margin-bottom: 6px;
}
.o_co-voucher-veld {
    display: flex;
    gap: 8px;
}
.o_co-voucher-veld input {
    flex: 1;
    min-width: 0;
    height: 40px;
    padding: 0 12px;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    font-size: 14px;
}
.o_co-voucher-veld input:focus {
    outline: none;
    border-color: var(--bf-primary, #ED6B06);
}
.o_co-voucher-veld button {
    height: 40px;
    padding: 0 14px;
    border: 0;
    border-radius: 5px;
    background: var(--bf-donker, #212121);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}
.o_co-voucher-veld button:hover {
    background: var(--bf-primary, #ED6B06);
}
.o_co-voucher-veld button:disabled {
    opacity: 0.6;
    cursor: wait;
}
.o_co-voucher-melding {
    margin: 8px 0 0;
    font-size: 13px;
    color: #b32d2e;
}
.o_co-card-total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 16px 22px;
    border-bottom: 1px solid #eee;
    background: #fafafa;
}
.o_co-card-total-label {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: var(--bf-donker, #212121);
}
.o_co-card-total-amount {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: var(--bf-primary, #ED6B06);
}
.o_co-card-total-amount .woocommerce-Price-amount {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: var(--bf-primary, #ED6B06);
}
.o_co-card-total-amount strong {
    font-weight: 700;
}
.o_co-card-total-amount small,
.o_co-card-total-amount .includes_tax {
    font-size: 11px;
    color: #999;
    font-weight: 400;
    font-family: "Open Sans", sans-serif;
}
.o_co-card-total-amount .includes_tax .woocommerce-Price-amount {
    font-size: 11px;
    color: #999;
    font-weight: 400;
}
.o_co-cursist {
    padding-bottom: 24px;
    margin-bottom: 24px;
    border-bottom: 1px solid #eee;
}
.o_co-cursist:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}
.o_co-cursist-title {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: var(--bf-primary, #ED6B06);
    text-transform: uppercase;
    margin: 0 0 16px;
}
.o_co-deelnemers {
    margin-top: 22px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.o_co-deelnemers label {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: var(--bf-donker, #212121);
}
.o_co-deelnemers-ctrl {
    display: flex;
    align-items: center;
    border: 1px solid #ddd;
    border-radius: 5px;
    overflow: hidden;
}
.o_co-deelnemers-btn {
    width: 40px;
    height: 42px;
    border: none;
    background: #fafafa;
    cursor: pointer;
    font-size: 12px;
    color: #555;
    transition: 200ms;
    display: flex;
    align-items: center;
    justify-content: center;
}
.o_co-deelnemers-btn:hover {
    background: #eee;
    color: var(--bf-primary, #ED6B06);
}
.o_co-deelnemers-ctrl input {
    width: 48px;
    height: 42px;
    border: none;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    text-align: center;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: var(--bf-donker, #212121);
    background: #fff;
    -moz-appearance: textfield;
}
.o_co-deelnemers-ctrl input::-webkit-inner-spin-button,
.o_co-deelnemers-ctrl input::-webkit-outer-spin-button {
    -webkit-appearance: none;
}
.o_co-card-session-attrs {
    border-top: 1px solid #eee;
}
.o_co-card-trust {
    padding: 16px 22px;
    display: flex;
    justify-content: center;
    gap: 20px;
}
.o_co-card-trust div {
    font-size: 11px;
    color: #bbb;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    white-space: nowrap;
}
.o_co-card-trust i {
    color: var(--bf-primary, #ED6B06);
    margin-right: 4px;
    font-size: 11px;
}
@media (max-width: 991px) {
.o_co-layout {
        grid-template-columns: 1fr;
    }
.o_co-right {
        position: static;
        order: -1;
        margin-bottom: 24px;
    }
.o_co-card-img {
        height: 120px;
    }
.o_co-form .woocommerce-billing-fields__field-wrapper,
    .o_co-form .o_co-fields {
        grid-template-columns: 1fr;
    }
.o_co-form .form-row-wide {
        grid-column: 1;
    }
}
.o_ty-header {
    text-align: center;
    padding: 10px 0 32px;
}
.o_ty-header-icon {
    width: 68px;
    height: 68px;
    background: var(--bf-primary, #ED6B06);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
}
.o_ty-header-icon i { color: #fff; font-size: 26px; }
.o_ty-header-icon--failed { background: #dc2626; }
.o_ty-header h1 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 28px;
    color: var(--bf-donker, #212121);
    margin-bottom: 8px;
}
.o_ty-header p {
    font-size: 15px;
    color: #777;
    line-height: 24px;
    max-width: 520px;
    margin: 0 auto;
}
.o_ty-header p strong { color: var(--bf-donker, #212121); }
.o_ty-ordernr {
    display: inline-block;
    margin-top: 12px;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 12px;
    color: #999;
    background: #f5f5f5;
    padding: 5px 14px;
    border-radius: 20px;
}
.o_ty-header-actions {
    margin-top: 20px;
    display: flex;
    gap: 12px;
    justify-content: center;
}
.o_ty-layout {
    display: grid;
    grid-template-columns: 1fr 360px; /* iets breder: contactregels passen op één regel (mail Nina 28 okt 2026) */
    gap: 36px;
    align-items: start;
}
.o_ty-course {
    display: flex;
    gap: 20px;
    background: var(--bf-donker, #212121);
    border-radius: 5px;
    padding: 22px;
    margin-bottom: 28px;
}
.o_ty-course-img {
    width: 90px;
    height: 90px;
    min-width: 90px;
    border-radius: 5px;
    overflow: hidden;
}
.o_ty-course-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.o_ty-course-body h3 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #fff;
    text-transform: uppercase;
    margin: 0 0 12px;
}
.o_ty-course-attrs {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 18px;
}
.o_ty-course-attr {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: rgba(255,255,255,0.5);
}
.o_ty-course-attr i {
    color: var(--bf-primary, #ED6B06);
    font-size: 11px;
    width: 14px;
    text-align: center;
}
.o_ty-course-attr strong {
    color: rgba(255,255,255,0.85);
}
.o_ty-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-bottom: 28px;
}
.o_ty-box {
    background: #fafafa;
    border-radius: 5px;
    padding: 20px;
}
.o_ty-box h4 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: var(--bf-donker, #212121);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e8e8e8;
}
.o_ty-box h4 i {
    color: var(--bf-primary, #ED6B06);
    margin-right: 6px;
}
.o_ty-box dl { margin: 0; }
.o_ty-box dt {
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 10px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin-top: 10px;
}
.o_ty-box dt:first-child { margin-top: 0; }
.o_ty-box dd {
    margin: 3px 0 0;
    font-size: 14px;
    color: var(--bf-donker, #212121);
    font-weight: 600;
}
.o_ty-sessie {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #fff;
    border: 2px solid var(--bf-primary, #ED6B06);
    border-radius: 5px;
    padding: 18px 20px;
    margin-bottom: 28px;
}
.o_ty-sessie-date {
    background: var(--bf-donker, #212121);
    border-radius: 5px;
    min-width: 52px;
    text-align: center;
    padding: 8px 6px;
    line-height: 1;
}
.o_ty-sessie-day {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: 22px;
    color: #fff;
    line-height: 1.1;
}
.o_ty-sessie-month {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 11px;
    color: rgba(255,255,255,0.45);
    text-transform: uppercase;
    margin-top: 2px;
}
.o_ty-sessie-info {
    flex: 1;
}
.o_ty-sessie-info strong {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: var(--bf-donker, #212121);
    margin-bottom: 4px;
}
.o_ty-sessie-info span {
    display: inline-block;
    font-size: 13px;
    color: #777;
    margin-right: 14px;
}
.o_ty-sessie-info i {
    color: var(--bf-primary, #ED6B06);
    width: 14px;
    text-align: center;
    margin-right: 4px;
    font-size: 12px;
}
.o_ty-sessie-badge {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: #2e7d32;
    background: #e8f5e9;
    padding: 6px 12px;
    border-radius: 20px;
    white-space: nowrap;
}
.o_ty-sessie-badge i {
    margin-right: 4px;
}
.o_ty-section { margin-bottom: 28px; }
.o_ty-section-title {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: var(--bf-donker, #212121);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0 0 16px;
}
.o_ty-section-title i {
    color: var(--bf-primary, #ED6B06);
    margin-right: 6px;
}
.o_ty-cursisten {
    border: 1px solid #eee;
    border-radius: 5px;
    overflow: hidden;
}
.o_ty-cursist {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid #f0f0f0;
}
.o_ty-cursist:last-child {
    border-bottom: none;
}
.o_ty-cursist-num {
    width: 30px;
    height: 30px;
    min-width: 30px;
    background: var(--bf-donker, #212121);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    font-size: 12px;
    margin-top: 2px;
}
.o_ty-cursist-data strong {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: var(--bf-donker, #212121);
    margin-bottom: 4px;
}
.o_ty-cursist-data span {
    display: block;
    font-size: 13px;
    color: #777;
    line-height: 1.6;
}
.o_ty-cursist-data span i {
    color: var(--bf-primary, #ED6B06);
    width: 16px;
    text-align: center;
    margin-right: 6px;
    font-size: 11px;
}
.o_ty-invoice { margin-bottom: 28px; }
.o_ty-invoice h4 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 12px;
    color: var(--bf-donker, #212121);
    text-transform: uppercase;
    letter-spacing: 0.3px;
    margin: 0 0 14px;
}
.o_ty-invoice table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #eee;
    border-radius: 5px;
    overflow: hidden;
}
.o_ty-invoice thead th {
    background: #fafafa;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    font-size: 11px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.3px;
    text-align: left;
    padding: 12px 18px;
    border-bottom: 1px solid #eee;
}
.o_ty-invoice thead th:last-child { text-align: right; }
.o_ty-invoice tbody td {
    padding: 14px 18px;
    font-size: 14px;
    color: var(--bf-donker, #212121);
    border-bottom: 1px solid #f0f0f0;
}
.o_ty-invoice tbody td:last-child {
    text-align: right;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    white-space: nowrap;
}
.o_ty-invoice tfoot td {
    padding: 10px 18px;
    font-size: 13px;
    color: #777;
    border: none;
}
.o_ty-invoice tfoot td:last-child {
    text-align: right;
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
    color: var(--bf-donker, #212121);
    white-space: nowrap;
}
.o_ty-invoice-total td {
    border-top: 2px solid var(--bf-donker, #212121) !important;
    padding-top: 14px !important;
    font-family: "Montserrat", sans-serif !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    color: var(--bf-donker, #212121) !important;
}
.o_ty-invoice-total td:last-child {
    color: var(--bf-primary, #ED6B06) !important;
    font-size: 18px !important;
}
.o_ty-invoice .woocommerce-Price-amount,
.o_ty-box .woocommerce-Price-amount {
    white-space: nowrap;
    display: inline;
}
.o_ty-steps {
    background: #f8f8f8;
    border-radius: 5px;
    padding: 22px;
    margin-bottom: 18px;
}
.o_ty-steps h4 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: var(--bf-donker, #212121);
    text-transform: uppercase;
    margin-bottom: 16px;
}
.o_ty-step {
    display: flex;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #eee;
}
.o_ty-step:last-child { border-bottom: none; padding-bottom: 0; }
.o_ty-step-icon {
    width: 32px; height: 32px; min-width: 32px;
    background: var(--bf-primary, #ED6B06); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
}
.o_ty-step-icon i { color: #fff; font-size: 12px; }
.o_ty-step strong {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700; font-size: 13px; color: var(--bf-donker, #212121);
    margin-bottom: 2px;
}
.o_ty-step p { font-size: 12px; color: #777; line-height: 18px; margin: 0; }
.o_ty-contact {
    background: var(--bf-donker, #212121);
    border-radius: 5px;
    padding: 22px;
}
.o_ty-contact h4 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #fff;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.o_ty-contact p {
    font-size: 13px;
    color: rgba(255,255,255,0.5);
    margin-bottom: 14px;
}
.o_ty-contact-link {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #fff;
    padding: 5px 0;
    transition: 200ms;
}
.o_ty-contact-link:hover { color: var(--bf-accent, #ED6B06); }
.o_ty-contact-link i {
    color: var(--bf-accent, #ED6B06);
    width: 18px;
    margin-right: 8px;
}
.o_ty-actions {
    display: flex;
    gap: 12px;
    justify-content: flex-start;
    padding: 20px 0 10px;
}
.o_ty-aside .o_ty-box {
    margin-bottom: 18px;
}
@media (max-width: 991px) {
.o_ty-layout { grid-template-columns: 1fr; }
.o_ty-grid { grid-template-columns: 1fr; }
.o_ty-course { flex-direction: column; }
.o_ty-course-img { width: 100%; height: 160px; }
.o_ty-sessie { flex-wrap: wrap; }
.o_ty-sessie-badge { width: 100%; text-align: center; margin-top: 8px; }
.o_ty-invoice table { font-size: 13px; }
.o_ty-invoice thead th,
    .o_ty-invoice tbody td,
    .o_ty-invoice tfoot td { padding: 10px 12px; }
.o_ty-actions { flex-direction: column; }
.o_ty-actions .btn { width: 100%; text-align: center; }
.o_ty-header h1 { font-size: 22px; }
}
@media only screen and (max-width: 991px) {
.o_wc-inline-signup .o_dd,
    .o_wc-cta-signup .o_dd {
        width: 100%;
    }
.o_dd-trigger {
        height: auto;
        padding: 12px 14px;
    }
.o_dd-panel {
        position: relative;
        border-top: 2px solid var(--bf-primary, #ED6B06);
        border-radius: 0 0 5px 5px;
        box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    }
.o_dd-option-seats .o_dd-seats {
        font-size: 8px;
        padding: 2px 5px;
    }
}
.o_c95-hero {
    position: relative;
    background-size: cover;
    background-position: center;
    background-color: #000;
    color: #fff;
    margin: 0 0 30px;
    overflow: hidden;
    border-radius: 5px;
}
.o_c95-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.65) 55%, rgba(0,0,0,0.25) 100%);
}
.o_c95-hero .container { position: relative; }
.o_c95-hero-inner {
    position: relative;
    padding: 70px 0 60px;
    max-width: 640px;
}
.o_c95-hero-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bf-primary, #ED6B06);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    padding: 8px 14px;
    border-radius: 3px;
    margin-bottom: 18px;
}
.o_c95-hero-tag i { font-size: 12px; }
.o_c95-hero-title {
    font-family: "Montserrat", sans-serif;
    font-size: 44px;
    font-weight: 800;
    color: #fff;
    margin: 0 0 14px;
    line-height: 1.1;
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
}
.o_c95-hero-sub {
    font-size: 16px;
    color: rgba(255,255,255,0.85);
    line-height: 1.55;
    margin: 0 0 22px;
    max-width: 540px;
}
.o_c95-hero-meta {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}
.o_c95-hero-meta span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
}
.o_c95-hero-meta i {
    color: var(--bf-primary, #ED6B06);
    font-size: 15px;
}
@media (max-width: 991px) {
.o_c95-hero-title { font-size: 32px; }
.o_c95-hero-inner { padding: 50px 0 45px; }
.o_c95-hero-sub { font-size: 14px; }
}
@media (max-width: 575px) {
.o_c95-hero-title { font-size: 26px; }
.o_c95-hero-inner { padding: 40px 0 35px; }
.o_c95-hero-meta { gap: 14px; }
.o_c95-hero-meta span { font-size: 12px; }
}
.o_c95-tag {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bf-donker, #212121);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 7px 14px;
    border-radius: 5px;
    margin-bottom: 12px;
}
.o_c95-tag i { color: var(--bf-accent, #ED6B06); font-size: 12px; }
.o_c95-progress-widget { text-align: center; padding: 10px 0; }
.o_c95-progress-circle {
    --pct: 0;
    position: relative;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    margin: 0 auto 14px;
    background:
      conic-gradient(var(--bf-primary, #ED6B06) calc(var(--pct) * 1%), #f0f0f0 0);
    display: flex;
    align-items: center;
    justify-content: center;
}
.o_c95-progress-inner {
    width: 110px;
    height: 110px;
    border-radius: 50%;
    background: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
}
.o_c95-progress-hours {
    font-family: "Montserrat", sans-serif;
    font-size: 32px;
    font-weight: 800;
    color: var(--bf-donker, #212121);
    line-height: 1;
}
.o_c95-progress-total {
    font-size: 11px;
    color: #777;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 4px;
}
.o_c95-progress-text {
    font-size: 13px;
    color: #555;
    margin: 10px 0 6px;
    line-height: 1.5;
}
.o_c95-progress-text strong { color: var(--bf-donker, #212121); }
.o_c95-progress-note {
    display: block;
    font-size: 11px;
    color: #999;
    font-style: italic;
}
.o_c95-widget-divider {
    text-align: center;
    margin: 10px 0;
    color: #999;
    font-size: 12px;
    position: relative;
}
.o_c95-widget-divider::before,
.o_c95-widget-divider::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 40%;
    height: 1px;
    background: #eee;
}
.o_c95-widget-divider::before { left: 0; }
.o_c95-widget-divider::after  { right: 0; }
.o_c95-needs { list-style: none; padding: 0; margin: 0; }
.o_c95-needs li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 7px 0;
    border-bottom: 1px solid #f4f4f4;
    font-size: 13px;
    color: #333;
}
.o_c95-needs li:last-child { border-bottom: 0; }
.o_c95-needs li i {
    color: var(--bf-primary, #ED6B06);
    width: 18px;
    text-align: center;
    font-size: 14px;
}
.o_c95-trust {
    text-align: center;
    background: var(--bf-donker, #212121);
    border-radius: 5px;
    padding: 22px 18px;
    color: #fff;
}
.o_c95-trust-icon {
    font-size: 32px;
    color: var(--bf-accent, #ED6B06);
    margin-bottom: 10px;
}
.o_c95-trust strong {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    color: #fff;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
}
.o_c95-trust p {
    font-size: 12px;
    color: rgba(255,255,255,0.75);
    margin: 0;
    line-height: 1.55;
}
.o_c95-bar {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 18px 20px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.03);
}
.o_c95-bar-head {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 10px;
    font-size: 14px;
    color: #555;
}
.o_c95-bar-head strong { color: var(--bf-donker, #212121); font-size: 16px; }
.o_c95-bar-head span:last-child {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--bf-primary, #ED6B06);
}
.o_c95-bar-track {
    height: 10px;
    background: #f0f0f0;
    border-radius: 999px;
    overflow: hidden;
}
.o_c95-bar-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--bf-primary, #ED6B06) 0%, #ff8a30 100%);
    border-radius: 999px;
    transition: width 600ms ease-out;
}
.o_c95-bar-foot {
    font-size: 12px;
    color: #777;
    margin-top: 10px;
}
.o_c95-selector {
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    padding: 26px 28px;
}
.o_c95-selector-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid #f0f0f0;
    flex-wrap: wrap;
}
.o_c95-selector-title {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--bf-donker, #212121);
    margin: 0 0 4px;
}
.o_c95-selector-title i { color: var(--bf-primary, #ED6B06); margin-right: 6px; }
.o_c95-selector-sub {
    font-size: 13px;
    color: #666;
    margin: 0;
}
.o_c95-selector-all {
    background: var(--bf-primary, #ED6B06);
    border: 2px solid var(--bf-primary, #ED6B06);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    padding: 9px 18px;
    border-radius: 5px;
    cursor: pointer;
    transition: all 150ms;
    white-space: nowrap;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.o_c95-selector-all:hover {
    background: var(--bf-primary-hover, #d45e05);
    color: #fff;
}
.o_c95-selector-all.is-active {
    background: var(--bf-primary-hover, #d45e05);
    color: #fff;
}
.o_c95-selector-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
}
.o_c95-pick {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    padding: 14px 18px;
    cursor: pointer;
    transition: border-color 150ms, background 150ms;
    margin: 0;
    user-select: none;
    position: relative;
}
.o_c95-pick:hover {
    border-color: #bbb;
}
.o_c95-pick-input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.o_c95-pick-box {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    border-radius: 4px;
    border: 2px solid #d0d0d0;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: transparent;
    transition: all 150ms;
}
.o_c95-pick-box i { font-size: 12px; }
.o_c95-pick--checked {
    background: var(--bf-primary-tint, #fff8f1);
    border-color: var(--bf-primary, #ED6B06);
}
.o_c95-pick--checked .o_c95-pick-box {
    background: var(--bf-primary, #ED6B06);
    border-color: var(--bf-primary, #ED6B06);
    color: #fff;
}
.o_c95-pick-icon {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 5px;
    background: #f5f5f5;
    color: var(--bf-donker, #212121);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    transition: all 150ms;
}
.o_c95-pick--checked .o_c95-pick-icon {
    /* Accent i.p.v. primair: op donkere vlakken is een donkere hoofdkleur
       (zoals Bax-blauw) onleesbaar; het accent (Bax-geel) juist niet. */
    background: var(--bf-donker, #212121);
    color: var(--bf-accent, #ED6B06);
}
.o_c95-pick-body { flex: 1; min-width: 0; }
.o_c95-pick-nr {
    display: block;
    font-size: 11px;
    font-weight: 700;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.o_c95-pick-title {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    color: var(--bf-donker, #212121);
    margin: 2px 0 3px;
    font-weight: 700;
}
.o_c95-pick-meta { font-size: 12px; color: #666; }
.o_c95-pick-meta i { color: var(--bf-primary, #ED6B06); margin-right: 3px; }
.o_c95-pick-price {
    flex-shrink: 0;
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: var(--bf-donker, #212121);
    min-width: 70px;
    text-align: right;
}
.o_c95-selector-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: var(--bf-donker, #212121);
    border-radius: 5px;
    padding: 18px 22px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.o_c95-selector-total-left { flex: 1; min-width: 240px; }
.o_c95-selector-total-right { text-align: right; }
.o_c95-selector-total-count {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 8px;
}
.o_c95-selector-bar {
    height: 6px;
    background: rgba(255,255,255,0.12);
    border-radius: 999px;
    overflow: hidden;
    max-width: 320px;
}
.o_c95-selector-bar-fill {
    height: 100%;
    background: var(--bf-primary, #ED6B06);
    border-radius: 999px;
    transition: width 400ms ease-out;
}
.o_c95-selector-total-discount {
    display: inline-block;
    margin-top: 10px;
    font-size: 11px;
    color: var(--bf-accent-tekst, #fff);
    background: var(--bf-accent, #ED6B06);
    padding: 5px 12px;
    border-radius: 3px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.o_c95-selector-total-discount i { margin-right: 4px; }
.o_c95-selector-total-old {
    display: block;
    font-size: 14px;
    color: rgba(255,255,255,0.8);
    text-decoration: line-through;
    margin-bottom: 2px;
}
.o_c95-selector-total-amount {
    font-family: "Montserrat", sans-serif;
    font-size: 34px;
    font-weight: 800;
    color: var(--bf-accent, #ED6B06);
    line-height: 1;
    display: inline-flex;
    align-items: baseline;
}
.o_c95-eur-lg {
    font-size: 18px;
    font-weight: 700;
    margin-right: 3px;
    position: relative;
    top: -6px;
}
.o_c95-eur-sm {
    font-size: 0.7em;
    margin-right: 1px;
}
.o_c95-selector-total-vat {
    display: block;
    font-size: 11px;
    color: rgba(255,255,255,0.85);
    margin-top: 4px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.o_c95-selector-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}
.o_c95-selector-cart {
    flex: 1;
    min-width: 240px;
}
.o_c95-selector-cart i { margin-right: 8px; }
.o_c95-selector-cart:disabled {
    background: #e0e0e0 !important;
    border-color: #e0e0e0 !important;
    color: #999 !important;
    cursor: not-allowed;
}
.o_c95-selector-note {
    font-size: 12px;
    color: #888;
    font-style: italic;
}
.o_c95-selector-note i { color: var(--bf-primary, #ED6B06); margin-right: 4px; }
/* De hele widgetkolom plakt als één geheel; een losse sticky samenvatting
   zou over de widgets eronder heen schuiven. Bij een viewport lager dan de
   kolom scrolt de kolom intern. */
@media (min-width: 992px) {
    .o_c95-kolom-sticky {
        position: sticky;
        top: 100px;
        max-height: calc(100vh - 120px);
        overflow-y: auto;
        scrollbar-width: thin;
    }
}
.o_c95-sum {
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    overflow: hidden;
}
.o_c95-sum-head {
    background: var(--bf-donker, #212121);
    color: #fff;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.o_c95-sum-head-label {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: rgba(255,255,255,0.7);
    text-transform: uppercase;
    letter-spacing: 1px;
}
.o_c95-sum-head-count {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 800;
    background: var(--bf-accent, #ED6B06);
    color: var(--bf-accent-tekst, #fff);
    padding: 3px 10px;
    border-radius: 3px;
    min-width: 38px;
    text-align: center;
}
.o_c95-sum-body { padding: 16px 18px 4px; }
.o_c95-sum-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 0;
    border-bottom: 1px dashed #f0f0f0;
}
.o_c95-sum-row:last-of-type { border-bottom: none; }
.o_c95-sum-row-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #666;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.o_c95-sum-row-label i {
    color: var(--bf-primary, #ED6B06);
    width: 14px;
    text-align: center;
    font-size: 12px;
}
.o_c95-sum-row-val {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: #888;
}
.o_c95-sum-row-val strong {
    font-size: 16px;
    font-weight: 800;
    color: var(--bf-donker, #212121);
    margin-right: 2px;
}
.o_c95-sum-progress {
    height: 4px;
    background: #f0f0f0;
    border-radius: 999px;
    overflow: hidden;
    margin: 10px 0 0;
}
.o_c95-sum-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--bf-primary, #ED6B06) 0%, #ff8a30 100%);
    border-radius: 999px;
    transition: width 400ms ease-out;
}
.o_c95-sum-discount {
    background: var(--bf-primary, #ED6B06);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    padding: 8px 12px;
    border-radius: 3px;
    margin-top: 12px;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    animation: o_c95_discount_pop 300ms ease-out;
}
.o_c95-sum-discount i { margin-right: 5px; }
.o_c95-sum-total {
    background: #fafafa;
    border-top: 1px solid #efefef;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}
.o_c95-sum-total-label { display: flex; flex-direction: column; }
.o_c95-sum-total-label > span:first-child {
    font-family: "Montserrat", sans-serif;
    font-size: 13px;
    color: var(--bf-donker, #212121);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}
.o_c95-sum-vat {
    font-size: 10px;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-top: 2px;
}
.o_c95-sum-price {
    display: flex;
    align-items: baseline;
    gap: 1px;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    color: var(--bf-primary, #ED6B06);
    line-height: 1;
}
.o_c95-sum-price-eur {
    font-size: 16px;
    font-weight: 700;
    margin-right: 2px;
    position: relative;
    top: -4px;
}
.o_c95-sum-price-amt { font-size: 32px; }
.o_c95-sum-cta {
    margin: 14px 18px 0 !important;
    width: calc(100% - 36px) !important;
    margin-bottom: 0 !important;
}
.o_c95-sum-cta {
    /* Lange labels ("Inschrijven & datums kiezen (5 modules)") breken op een
       tweede regel in plaats van uit de knop te lopen (mail Nina 5 nov 2026) */
    white-space: normal;
    line-height: 1.35;
    height: auto;
}
.o_c95-sum-cta:disabled {
    background: #e0e0e0 !important;
    border-color: #e0e0e0 !important;
    color: #999 !important;
    cursor: not-allowed;
    transform: none !important;
}
.o_c95-sum-cta i { margin-right: 6px; }
.o_c95-sum-jump {
    display: block;
    text-align: center;
    padding: 12px 18px 16px;
    font-size: 11px;
    font-weight: 700;
    color: #888;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    transition: color 150ms;
}
.o_c95-sum-jump i {
    font-size: 10px;
    margin-left: 4px;
    transition: transform 200ms;
}
.o_c95-sum-jump:hover {
    color: var(--bf-primary, #ED6B06);
    text-decoration: none;
}
.o_c95-sum-jump:hover i { transform: translateY(2px); }
.o_c95-floatbar {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 80;
    background: var(--bf-donker, #212121);
    color: #fff;
    padding: 12px 16px;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.25);
    transform: translateY(110%);
    transition: transform 250ms ease-out;
    align-items: center;
    gap: 12px;
    border-top: 3px solid var(--bf-accent, #ED6B06);
}
.o_c95-floatbar.is-visible { transform: translateY(0); }
.o_c95-floatbar-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.o_c95-floatbar-count {
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    color: rgba(255,255,255,0.7);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    font-weight: 600;
}
.o_c95-floatbar-count strong {
    color: #fff;
    font-weight: 800;
    font-size: 13px;
}
.o_c95-floatbar-price {
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--bf-accent, #ED6B06);
    line-height: 1;
}
.o_c95-eur-fb {
    font-size: 13px;
    font-weight: 700;
    margin-right: 1px;
    position: relative;
    top: -3px;
}
.o_c95-floatbar-cta {
    flex-shrink: 0;
    margin-bottom: 0 !important;
    padding: 10px 18px !important;
    font-size: 13px !important;
}
.o_c95-floatbar-cta i { margin-right: 6px; }
@media (max-width: 991px) {
.o_c95-summary-widget { display: none; }
.o_c95-floatbar { display: flex; }
}
@media (max-width: 767px) {
.o_c95-selector { padding: 18px; }
.o_c95-pick { padding: 12px 14px; gap: 10px; }
.o_c95-pick-icon { width: 36px; height: 36px; font-size: 15px; }
.o_c95-pick-price { font-size: 16px; min-width: 60px; }
.o_c95-selector-total { padding: 14px; }
.o_c95-selector-total-right { text-align: left; width: 100%; }
.o_c95-selector-total-amount { font-size: 28px; }
.o_c95-eur-lg { font-size: 15px; top: -5px; }
.o_c95-selector-bar { max-width: none; }
}
@media (max-width: 479px) {
.o_c95-pick {
        flex-wrap: wrap;
        padding: 12px;
        gap: 10px;
    }
.o_c95-pick-box { order: 1; }
.o_c95-pick-icon { order: 2; width: 32px; height: 32px; font-size: 14px; }
.o_c95-pick-body { order: 3; flex: 1 1 calc(100% - 90px); min-width: 0; }
.o_c95-pick-price {
        order: 4;
        flex: 1 1 100%;
        text-align: left;
        font-size: 18px;
        margin-left: 42px;
        padding-top: 4px;
        border-top: 1px dashed #eee;
        min-width: 0;
    }
.o_c95-pick-title { font-size: 14px; }
.o_c95-hero-inner { padding: 32px 0 30px; }
.o_c95-hero-title { font-size: 22px; }
.o_c95-hero-sub { font-size: 13px; margin-bottom: 16px; }
.o_c95-hero-meta { flex-direction: column; gap: 8px; }
.o_c95-hero-meta span { font-size: 11px; }
.o_c95-selector-head { gap: 12px; padding-bottom: 14px; margin-bottom: 14px; }
.o_c95-selector-title { font-size: 17px; }
.o_c95-selector-sub { font-size: 12px; }
.o_c95-selector-all { font-size: 11px; padding: 8px 12px; }
.o_c95-floatbar { padding: 10px 12px; gap: 10px; }
.o_c95-floatbar-price { font-size: 18px; }
.o_c95-floatbar-cta { padding: 9px 14px !important; font-size: 12px !important; }
.o_c95-floatbar-cta span { display: none; }
.o_c95-floatbar-cta i { margin-right: 0; }
}
.o_c95-steps {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}
.o_c95-step {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 20px;
    position: relative;
}
.o_c95-step-num {
    position: absolute;
    top: -12px;
    left: 20px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--bf-primary, #ED6B06);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
}
.o_c95-step strong {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    color: var(--bf-donker, #212121);
    margin: 6px 0 6px;
}
.o_c95-step p { font-size: 13px; color: #666; margin: 0; line-height: 1.55; }
.o_c95-package-cta {
    display: flex;
    align-items: center;
    gap: 24px;
    background: var(--bf-donker, #212121);
    border-radius: 5px;
    padding: 24px 28px;
    color: #fff;
    flex-wrap: wrap;
}
.o_c95-package-text { flex: 1; min-width: 240px; }
.o_c95-package-text h3 {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    color: #fff;
    margin: 0 0 6px;
}
.o_c95-package-text p { font-size: 14px; margin: 0; color: rgba(255,255,255,0.7); }
.o_c95-package-cta .btn { flex-shrink: 0; }
@media (max-width: 767px) {
.o_c95-steps { grid-template-columns: 1fr; }
.o_c95-module { flex-wrap: wrap; }
.o_c95-module-status { margin-left: 54px; }
.o_c95-progress-circle { width: 120px; height: 120px; }
.o_c95-progress-inner { width: 94px; height: 94px; }
.o_c95-progress-hours { font-size: 26px; }
}
.o_upsell {
    display: flex;
    align-items: center;
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    overflow: hidden;
    transition: border-color 150ms, box-shadow 150ms;
    position: relative;
}
.o_upsell:hover {
    border-color: var(--bf-primary, #ED6B06);
    box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}
.o_upsell-thumb {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 24px;
}
.o_upsell-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.o_upsell-titel {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    color: var(--bf-donker, #212121);
    line-height: 1.2;
}
.o_upsell-sub { font-size: 12px; color: #888; }
.o_upsell-desc { font-size: 13px; color: #555; line-height: 1.5; margin: 6px 0 0; }
.o_upsell-side {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}
.o_upsell-price { display: flex; flex-direction: column; align-items: flex-end; line-height: 1; }
.o_upsell-price-old { font-size: 11px; color: #999; text-decoration: line-through; margin-bottom: 2px; }
.o_upsell-price-new { font-family: "Montserrat", sans-serif; font-weight: 800; color: var(--bf-primary, #ED6B06); }
.o_upsell-cta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: var(--bf-primary, #ED6B06);
    color: #fff;
    border: 0;
    border-radius: 3px;
    padding: 7px 12px;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    cursor: pointer;
    transition: background 150ms;
    white-space: nowrap;
}
.o_upsell-cta:hover { background: var(--bf-primary-hover, #d45e05); }
.o_upsell-cta i { font-size: 10px; }
.o_upsell-badge {
    position: absolute;
    top: 0; left: 14px;
    transform: translateY(-50%);
    background: var(--bf-primary, #ED6B06);
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 4px 9px;
    border-radius: 3px;
    z-index: 2;
}
.o_upsell--upsell .o_upsell-badge { background: #27AE60; }
.o_upsell-mini-badge {
    font-family: "Montserrat", sans-serif;
    font-size: 9px;
    font-weight: 800;
    color: var(--bf-primary, #ED6B06);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 2px;
}
.o_upsell--upsell .o_upsell-mini-badge { color: #27AE60; }
.o_upsell--compact { padding: 10px; gap: 10px; }
.o_upsell--compact .o_upsell-thumb { width: 50px; height: 50px; border-radius: 4px; font-size: 20px; }
.o_upsell--compact .o_upsell-titel { font-size: 13px; }
.o_upsell--compact .o_upsell-price-new { font-size: 16px; }
.o_upsell--tile {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    gap: 0;
    margin: 0;
    overflow: hidden;
    border: 1px solid #ececec;
    box-shadow: none;
}
.o_upsell--tile:hover {
    border-color: #d8d8d8;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}
.o_upsell--tile .o_upsell-thumb {
    width: 100%;
    height: 140px;
    border-radius: 0;
    font-size: 38px;
    color: #c0c0c0;
    background: linear-gradient(135deg, #f7f7f7 0%, #f0f0f0 100%);
    position: relative;
    border-bottom: 1px solid #ececec;
    overflow: hidden;
}
.o_upsell--tile .o_upsell-thumb--image { padding: 0; }
.o_upsell--tile .o_upsell-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.o_upsell--tile .o_upsell-thumb:not(.o_upsell-thumb--image)::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        repeating-linear-gradient(45deg, rgba(0,0,0,0.015) 0, rgba(0,0,0,0.015) 1px, transparent 1px, transparent 12px);
    pointer-events: none;
}
.o_upsell--tile .o_upsell-body {
    padding: 14px 16px 6px;
    text-align: left;
    background: #fff;
    flex: 1;
}
.o_upsell--tile .o_upsell-titel {
    font-size: 14px;
    line-height: 1.3;
    color: var(--bf-donker, #212121);
    display: block;
    margin-bottom: 3px;
    font-weight: 700;
}
.o_upsell--tile .o_upsell-sub {
    font-size: 12px;
    color: #888;
    display: block;
}
.o_upsell--tile .o_upsell-desc { display: none; }
.o_upsell--tile .o_upsell-side {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 16px 14px;
    background: #fff;
    border-top: 0;
    width: 100%;
}
.o_upsell--tile .o_upsell-price {
    flex-direction: row;
    align-items: baseline;
    gap: 6px;
}
.o_upsell--tile .o_upsell-price-old {
    margin-bottom: 0;
    font-size: 12px;
}
.o_upsell--tile .o_upsell-price-new { font-size: 17px; }
.o_upsell--tile .o_upsell-cta {
    padding: 8px 14px;
    font-size: 11px;
}
.o_upsell--tile .o_upsell-badge {
    top: 12px;
    left: 12px;
    right: auto;
    transform: none;
    background: var(--bf-primary, #ED6B06);
    color: #fff;
    border: 0;
    padding: 5px 10px;
    font-size: 10px;
    letter-spacing: 0.5px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}
.o_upsell--tile.o_upsell--upsell .o_upsell-badge {
    background: #27AE60;
    color: #fff;
}
div.o_upsell-list,
.o_upsell-list {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
    margin-bottom: 8px;
    flex-direction: unset !important;
}
@media (max-width: 767px) {
div.o_upsell-list,
    .o_upsell-list {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}
.o_upsell--modal {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    padding: 20px;
    gap: 14px;
    border: 0;
    background: transparent;
}
.o_upsell--modal:hover { box-shadow: none; border-color: transparent; }
.o_upsell--modal .o_upsell-thumb { width: 90px; height: 90px; border-radius: 50%; font-size: 38px; margin: 0 auto; }
.o_upsell--modal .o_upsell-body { align-items: center; gap: 4px; }
.o_upsell--modal .o_upsell-titel { font-size: 18px; }
.o_upsell--modal .o_upsell-desc { text-align: center; max-width: 380px; margin: 8px auto 0; }
.o_upsell--modal .o_upsell-side { flex-direction: row; align-items: center; justify-content: center; gap: 14px; margin-top: 6px; }
.o_upsell--modal .o_upsell-price-new { font-size: 22px; }
.o_upsell--modal .o_upsell-cta { background: var(--bf-primary, #ED6B06); padding: 11px 22px; font-size: 13px; }
.o_upsell--modal .o_upsell-cta:hover { background: var(--bf-primary-hover, #d45e05); }
.o_upsell-modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.o_upsell-modal.is-open { display: flex; }
.o_upsell-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.55);
    animation: o_upsell_fade 200ms ease-out;
}
.o_upsell-modal-inner {
    position: relative;
    background: #fff;
    border-radius: 8px;
    max-width: 480px;
    width: 100%;
    max-height: 90vh;
    overflow-y: auto;
    box-shadow: 0 20px 60px rgba(0,0,0,0.3);
    animation: o_upsell_pop 250ms cubic-bezier(0.4, 0, 0.2, 1);
}
.o_upsell-modal-close {
    position: absolute;
    top: 12px; right: 12px;
    width: 32px; height: 32px;
    border: 0;
    background: #f0f0f0;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    z-index: 2;
    transition: background 150ms;
}
.o_upsell-modal-close:hover { background: var(--bf-donker, #212121); color: #fff; }
.o_upsell-modal-head { text-align: center; padding: 30px 30px 0; }
.o_upsell-modal-eyebrow {
    display: inline-block;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    font-weight: 800;
    color: var(--bf-primary, #ED6B06);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 6px;
}
.o_upsell-modal-head h3 {
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--bf-donker, #212121);
    margin: 0 0 6px;
}
.o_upsell-modal-head p { font-size: 13px; color: #666; margin: 0; }
.o_upsell-modal-actions { text-align: center; padding: 0 30px 24px; }
.o_upsell-modal-skip {
    background: none;
    border: 0;
    color: #888;
    font-size: 13px;
    text-decoration: underline;
    cursor: pointer;
    padding: 8px;
}
.o_upsell-modal-skip:hover { color: var(--bf-donker, #212121); }
.o_toast {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 10000;
    background: var(--bf-donker, #212121);
    color: #fff;
    padding: 14px 22px 14px 18px;
    border-radius: 5px;
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    font-weight: 600;
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
    display: flex;
    align-items: center;
    gap: 10px;
    transform: translateY(100px);
    opacity: 0;
    transition: transform 350ms cubic-bezier(0.4,0,0.2,1), opacity 250ms ease-out;
    pointer-events: none;
    max-width: 360px;
}
.o_toast.is-visible {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
}
.o_toast i { color: #27AE60; font-size: 18px; }
@media (max-width: 575px) {
.o_toast { bottom: 12px; right: 12px; left: 12px; max-width: none; }
}
.o_co-upsell { margin-top: 16px; padding-top: 16px; border-top: 1px dashed #e0e0e0; }
.o_co-upsell-eyebrow {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    font-weight: 800;
    color: var(--bf-primary, #ED6B06);
    text-transform: uppercase;
    letter-spacing: 0.6px;
    margin-bottom: 8px;
}
.o_co-upsell-eyebrow i { margin-right: 4px; }
.o_ty-upsell {
    background: #fafafa;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 24px;
    margin: 0 0 24px;
}
.o_ty-upsell-title {
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    font-weight: 800;
    color: var(--bf-donker, #212121);
    margin: 0 0 4px;
}
.o_ty-upsell-sub { font-size: 13px; color: #666; margin: 0 0 16px; }
@media (max-width: 575px) {
.o_upsell--tile .o_upsell-thumb { height: 90px; font-size: 36px; }
.o_upsell--tile .o_upsell-body { padding: 12px 14px 10px; }
.o_upsell--tile .o_upsell-titel { font-size: 13px; }
.o_upsell--tile .o_upsell-sub { font-size: 11px; }
.o_upsell--tile .o_upsell-side { padding: 9px 14px; }
.o_upsell--tile .o_upsell-price-new { font-size: 16px; }
.o_upsell--tile .o_upsell-cta { padding: 7px 10px; font-size: 10px; }
}
.o_rs {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    vertical-align: middle;
    max-width: 100%;
}
.o_rs--chip {
    background: #fff;
    border: 1px solid #e6e6e6;
    border-radius: 999px;
    padding: 3px 10px 3px 3px;
    box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.o_rs--inline {
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}
.o_rs-logo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-weight: 800;
    letter-spacing: 0.3px;
    flex-shrink: 0;
    box-shadow: 0 1px 3px rgba(0,0,0,0.18);
    text-transform: uppercase;
    line-height: 1;
    overflow: hidden;
}
.o_rs-logo--img {
    background: #fff !important;
    border: 1px solid #eee;
    padding: 2px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.o_rs-logo--img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
    display: block;
}
.o_rs-name {
    font-family: "Montserrat", sans-serif;
    font-size: 12px;
    font-weight: 600;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
}
.o_rs--chip .o_rs-name {
    font-size: 12px;
    color: var(--bf-donker, #212121);
}
.o_dd-option-rs {
    display: inline-flex !important;
    align-items: center;
    margin-top: 4px;
    color: #555 !important;
    font-size: 11px !important;
}
.o_dd-option-rs .o_rs-name {
    font-size: 11px;
    color: #555;
}
.o_dd-option--multi {
    background: linear-gradient(180deg, #fff 0%, var(--bf-primary-tint, #fff8f1) 100%);
}
.o_dd-option--multi.o_dd-option--selected,
.o_dd-option--multi:hover {
    background: var(--bf-primary-tint, #fff8f1);
}
.o_dd-date-day--range {
    font-size: 14px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.3px;
}
.o_dd-tag-multi {
    display: inline-block;
    background: var(--bf-primary, #ED6B06);
    color: #fff !important;
    font-family: "Montserrat", sans-serif;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 3px 8px;
    border-radius: 3px;
    margin-left: 8px;
    vertical-align: middle;
    line-height: 1.2;
}
.o_dd-days-strip {
    display: flex !important;
    gap: 5px;
    flex-wrap: wrap;
    margin: 6px 0 4px;
}
.o_dd-day-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 1.5px solid var(--bf-primary, #ED6B06);
    border-radius: 4px;
    padding: 3px 8px;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    line-height: 1;
}
.o_dd-day-pill-dow {
    color: #888;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.o_dd-day-pill-num {
    color: var(--bf-donker, #212121);
    font-weight: 800;
    font-size: 11px;
}
.o_dd-trigger-rs {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 2px 9px 2px 4px;
    border-radius: 999px;
    color: #fff;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 11px;
    margin-left: 8px;
    vertical-align: middle;
    box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
.o_dd-trigger-rs-init {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: rgba(255,255,255,0.25);
    font-size: 9px;
    font-weight: 800;
}
.o_dd-trigger-rs--img {
    background: #fff !important;
    color: var(--bf-donker, #212121);
    border: 1px solid #e6e6e6;
    padding: 2px 10px 2px 2px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}
.o_dd-trigger-rs-img {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    overflow: hidden;
    border: 1px solid #eee;
}
.o_dd-trigger-rs-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
}
.o_co-card-multi-tag {
    display: inline-block;
    background: var(--bf-primary, #ED6B06);
    color: #fff !important;
    font-family: "Montserrat", sans-serif;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    padding: 3px 8px;
    border-radius: 3px;
    margin-top: 6px;
    line-height: 1.2;
}
.o_co-card-days-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 8px;
}
.o_co-day-pill {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #fff;
    border: 1.5px solid var(--bf-primary, #ED6B06);
    border-radius: 4px;
    padding: 3px 8px;
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    line-height: 1;
}
.o_co-day-pill-dow {
    color: #888;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.o_co-day-pill-num {
    color: var(--bf-donker, #212121);
    font-weight: 800;
    font-size: 11px;
}
.o_co-day-pill-mo {
    color: #888;
    font-size: 9px;
    text-transform: uppercase;
}
.o_ty-sessie-day--range {
    font-size: 22px !important;
    letter-spacing: -1px;
}
.o_ty-days-strip {
    display: flex !important;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}
.o_ty-day-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #fff;
    border: 1.5px solid var(--bf-primary, #ED6B06);
    border-radius: 4px;
    padding: 4px 10px;
    font-family: "Montserrat", sans-serif;
    font-size: 11px;
    line-height: 1;
}
.o_ty-day-pill-dow {
    color: #888;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}
.o_ty-day-pill-num {
    color: var(--bf-donker, #212121);
    font-weight: 800;
    font-size: 13px;
}
.o_ty-day-pill-mo {
    color: #888;
    font-size: 10px;
    text-transform: uppercase;
}
.o_co-card-attr-icon--rs {
    background: transparent !important;
    padding: 0 !important;
    width: auto !important;
    height: auto !important;
}
.o_co-card-attr-icon--rs .o_rs-logo {
    margin: 0;
}
.o_co-card-attr-sub {
    display: block;
    font-size: 11px;
    color: #777;
    margin-top: 2px;
}
.o_co-card-attr--rs {
    align-items: center;
}
.o_co-card-attr--rs .o_rs-logo {
    box-shadow: 0 1px 4px rgba(0,0,0,0.1);
}
.o_ty-sessie-rs {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    padding-top: 6px;
    border-top: 1px dashed #eee;
    width: 100%;
}
.o_ty-sessie-rs-label {
    font-size: 11px;
    color: #888;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}
.o_ty-sessie-rs .o_rs-name {
    font-size: 12px;
    color: #333;
    font-weight: 600;
}
.o_ty-rijschool {
    display: flex;
    align-items: center;
    gap: 18px;
    background: #fff;
    border: 1px solid #eee;
    border-top: 4px solid var(--bf-primary, #ED6B06);
    border-radius: 10px;
    padding: 18px 22px;
    margin: 0 0 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);
    flex-wrap: wrap;
}
.o_ty-rijschool-logo { flex-shrink: 0; }
.o_ty-rijschool-body {
    flex: 1;
    min-width: 200px;
}
.o_ty-rijschool-label {
    display: block;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888;
}
.o_ty-rijschool-name {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--bf-donker, #212121);
    line-height: 1.2;
    margin-top: 4px;
}
.o_ty-rijschool-city {
    display: inline-block;
    font-size: 13px;
    color: #555;
    margin-top: 4px;
}
.o_ty-rijschool-city i {
    color: var(--bf-primary, #ED6B06);
    margin-right: 4px;
}
.o_ty-rijschool-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #e8f5e9;
    color: #1b5e20;
    font-size: 12px;
    font-weight: 600;
    padding: 6px 12px;
    border-radius: 999px;
}
.o_ty-rijschool-badge i {
    color: #27AE60;
}
.o_ck-rs .o_rs-name {
    color: #555;
    font-weight: 600;
}
@media (max-width: 767px) {
.o_ty-rijschool { gap: 12px; padding: 14px; }
.o_ty-rijschool-name { font-size: 18px; }
.o_ty-rijschool-badge { font-size: 11px; padding: 4px 10px; }
.o_dd-trigger-rs { font-size: 10px; padding: 2px 7px 2px 3px; }
}
.o_co-form #payment .payment_methods li label {
    display: inline-flex !important;
    align-items: center;
    gap: 10px;
    margin: 0;
}
.o_co-form #payment .payment_methods li label::before {
    content: "\f571";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: var(--bf-primary, #ED6B06);
    font-size: 16px;
}
.o_co-form #payment .payment_methods input[type="radio"] {
    accent-color: var(--bf-primary, #ED6B06);
}
.o_co-form #payment .payment_methods li:first-child:last-child input[type="radio"] {
    display: none;
}
.o_co-form .select2-hidden-accessible {
    width: 1px !important;
    left: 0 !important;
}
.o_wc-inline-signup .o_dd-incompany,
.o_wc-cta-signup .o_dd-incompany {
    flex-basis: 100%;
    order: 10;
    padding-top: 4px;
}

/* Flow-keyframes */
@keyframes o_dd_slideDown {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes o_c95_discount_pop {
    0%   { opacity: 0; transform: scale(0.85); }
    60%  { transform: scale(1.04); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes o_upsell_fade { from { opacity: 0; } to { opacity: 1; } }
@keyframes o_upsell_pop {
    0% { opacity: 0; transform: translateY(20px) scale(0.95); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}


/* Contact-widget en trust-badges (verhuisd uit child.css; ook nodig op niet-SBVO-thema's zoals Bax) */
.o_wc-contact-widget {
    background: #f8f8f8;
    padding: 0;
    border-bottom: 4px solid var(--bf-primary, #ED6B06);
    text-align: left; /* overal links uitlijnen (mail Nina 28 okt 2026) */
    overflow: hidden;
}
/* Ook als een thema- of paginaregel centreert, blijft het blok links
   uitgelijnd, net als "Vragen over Code95?" (mail Nina 5 nov 2026) */
.o_wc-contact-widget,
.o_wc-contact-body,
.o_wc-contact-widget h4,
.o_wc-contact-links,
.o_wc-contact-regel {
    text-align: left !important;
}
.o_wc-contact-photo {
    width: 100%;
    height: 180px;
    overflow: hidden;
}
.o_wc-contact-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}
.o_wc-contact-body {
    padding: 20px;
}
.o_wc-contact-widget h4 {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #212121;
    text-transform: uppercase;
    margin-bottom: 6px;
}
.o_wc-contact-name {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: var(--bf-primary, #ED6B06);
    margin-bottom: 2px;
}
.o_wc-contact-role {
    display: block;
    font-size: 13px;
    color: #999;
    margin-bottom: 16px;
}
.o_wc-contact-links {
    border-top: 1px solid #e8e8e8;
    padding-top: 14px;
    text-align: left;
}
.o_wc-contact-phone,
.o_wc-contact-email {
    display: block;
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: #212121;
    padding: 6px 0;
    transition: 300ms;
}
.o_wc-contact-phone i,
.o_wc-contact-email i {
    color: var(--bf-primary, #ED6B06);
    width: 20px;
    text-align: center;
    margin-right: 8px;
}
.o_wc-contact-phone:hover,
.o_wc-contact-email:hover {
    color: var(--bf-primary, #ED6B06);
}
.o_wc-trust-badges {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
}
.o_wc-trust-badge {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid #f0f0f0;
    border-right: 1px solid #f0f0f0;
}
.o_wc-trust-badge:nth-child(2n) {
    border-right: none;
}
.o_wc-trust-badge:nth-last-child(-n+2) {
    border-bottom: none;
}
.o_wc-trust-badge i {
    color: var(--bf-primary, #ED6B06);
    font-size: 14px;
    width: 16px;
    text-align: center;
    flex-shrink: 0;
}
.o_wc-trust-badge span {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 11px;
    color: #212121;
    text-transform: uppercase;
    letter-spacing: 0.2px;
    line-height: 1.3;
}
@media only screen and (max-width: 991px) {
.o_wc-contact-widget {
        margin-top: 0;
    }
}

/* Uitloop-beveiliging: kaarten krimpen mee in het grid en lange
   woorden breken af in plaats van uit het kader te lopen */
.o_wz-card { min-width: 0; }
.o_wz-card-titel,
.o_wz-card-sub,
.o_wz-janee-btn,
.o_wz-zij-titel,
.o_wz-zij-sub {
    overflow-wrap: break-word;
    min-width: 0;
}

/* =============================================================
   FAQ (flow-stijl). Het ONE-thema stylede dit voorheen zelf; de
   plugin levert nu de volledige styling zodat het op elk thema
   klopt (en niet terugvalt op de roze button-reset van bv.
   Hello Elementor).
   ============================================================= */
.o_wc-faq-title {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--bf-donker, #212121);
    margin: 0 0 16px;
}
.o_wc-faq-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.o_wc-faq-item {
    background: #fff;
    border: 2px solid #e8e8e8;
    border-radius: 5px;
    transition: border-color 150ms;
}
.o_wc-faq-item:hover,
.o_wc-faq-item--open {
    border-color: var(--bf-primary, #ED6B06);
}
/* Dubbelklasse-selector: de Elementor-kit stylet elke <button> met
   `.elementor-kit-N button` (padding 6px/10px, eigen font). Die selector is
   specifieker dan één klasse en won daardoor in ruststand — met als gevolg
   dat de padding pas op hover verscheen. */
.o_wc-faq-item .o_wc-faq-q,
.o_wc-faq-item .o_wc-faq-q:hover,
.o_wc-faq-item .o_wc-faq-q:focus {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: transparent;
    border: 0;
    border-radius: 5px;
    padding: 17px 18px;
    cursor: pointer;
    text-align: left;
    font-family: "Montserrat", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    color: var(--bf-donker, #212121);
}
.o_wc-faq-item .o_wc-faq-q:hover { color: var(--bf-primary, #ED6B06); }
.o_wc-faq-q i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    border-radius: 50%;
    background: var(--bf-primary-tint, #fef8f3);
    color: var(--bf-primary, #ED6B06);
    font-size: 12px;
    flex-shrink: 0;
    transition: transform 200ms, background 200ms, color 200ms;
}
.o_wc-faq-item--open .o_wc-faq-q i {
    transform: rotate(45deg);
    background: var(--bf-primary, #ED6B06);
    color: #fff;
}
.o_wc-faq-a { display: none; padding: 0 62px 18px 18px; }
.o_wc-faq-item--open .o_wc-faq-a { display: block; }
.o_wc-faq-a p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: #555;
}

/* =============================================================
   CTA-band in de content ("Klaar om je Code 95 te plannen?"):
   donker merkvlak met witte titel, zoals de andere donkere
   flow-componenten.
   ============================================================= */
.o_wc-product .o_call-to-action {
    background: var(--bf-donker, #212121);
    border-radius: 5px;
    padding: 26px 28px;
}
.o_wc-product .o_call-to-action .action-title {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: #fff;
    margin: 0;
}
/* Knop op het donkere CTA-vlak: accentkleur, want een donkere hoofdkleur
   (Bax-blauw) valt weg tegen het donkere vlak. */
.o_wc-product .o_call-to-action .o_header_btn_orange {
    background: var(--bf-accent, #ED6B06);
    border-color: var(--bf-accent, #ED6B06) !important;
    color: var(--bf-accent-tekst, #fff);
    margin-bottom: 0;
}
.o_wc-product .o_call-to-action .o_header_btn_orange:hover {
    background: #fff;
    border-color: #fff !important;
    color: var(--bf-donker, #212121);
}


/* =============================================================
   Feedbackronde september 2026 (mail Nina Verwegen, 3 september)
   ============================================================= */

/* Grijze tekst op grijs/wit leest slecht: donkerder */
.o_wz-step-sub { color: #333; }
.o_wz-card-sub { color: #444; }
.o_wz-vink-sub { color: #444; }
.o_wz-vink-label { color: #222; }
.o_wz-zij-sub { color: #444; }
.o_wz-einde-note { color: #444; }
.o_wz-overzicht-label { color: #555; }

/* Samenvattingstabel: witte achtergrond, bedrag op middenhoogte van de naam */
.o_wz-overzicht { background: #fff; }
.o_wz-overzicht-rij { align-items: center; background: #fff; }
.o_wz-overzicht-rij > strong { text-align: right; white-space: nowrap; }
.o_wz-overzicht-incl { display: block; font-size: 12px; font-weight: 400; color: rgba(255,255,255,.75); }
.o_wz-overzicht-totaal small { font-size: 12px; font-weight: 400; opacity: .8; margin-left: 6px; }

/* Prijzen excl./incl./btw-vrij */
.o_wz-card-prijs { line-height: 1.3; }
.o_wz-card-prijs small { white-space: nowrap; }
.o_wz-card-prijs small,
.o_wz-vink-prijs small,
.o_wz-zij-prijs small { font-size: 11px; font-weight: 600; color: #555; margin-left: 2px; }
.o_wz-prijs-sub { display: block; font-size: 12px; color: #555; margin-top: 2px; }
.o_wz-vink-prijzen { display: flex; flex-direction: column; align-items: flex-end; }
.o_wz-vink-prijzen .o_wz-prijs-sub { white-space: nowrap; }
.o_wz-zij-kosten { display: block; font-size: 13px; color: #222; }
.o_wz-zij-kosten .o_wz-zij-prijs { font-weight: 700; color: var(--bf-primary, #ED6B06); }
.o_wz-zij-label { display: block; font-family: "Montserrat", sans-serif; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: #555; }

/* Welke prijsvariant zichtbaar is volgt de keuze particulier/zakelijk (klasse op de root) */
.o_wz-prijs--particulier { display: none; }
.o_wz--klant-particulier .o_wz-prijs--particulier { display: inline-block; }
.o_wz--klant-particulier .o_wz-prijs--zakelijk,
.o_wz--klant-particulier .o_wz-prijs--onbekend,
.o_wz--klant-zakelijk .o_wz-prijs--onbekend { display: none; }
.o_wz-vink-prijzen .o_wz--klant-particulier .o_wz-prijs--particulier { display: block; }

/* Sidebar: bedrag incl. btw onder het totaal bij zakelijke prijzen */
.o_c95-sum-price-sub { font-size: 12px; color: #555; margin-top: 2px; }
.o_vanaf-btw { font-size: .7em; font-weight: 400; color: #555; margin-left: 4px; }

/* Vier kaarten (scooter, vaarbewijs): altijd twee naast elkaar, anders valt
   de vierde alleen op een tweede rij en is hij korter dan de rest */
@media (min-width: 768px) {
    .o_wz-cards--vier { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Akkoordverklaringen in de laatste stap */
.o_wz-akkoord { margin: 0 0 22px; padding: 16px 18px; border: 2px solid #e8e8e8; border-radius: 5px; background: #fff; }
.o_wz-akkoord-kop { font-family: "Montserrat", sans-serif; font-size: 13px; font-weight: 700; color: var(--bf-donker, #212121); margin: 0 0 10px; }
.o_wz-akkoord .o_wz-vink { margin-bottom: 8px; }
.o_wz-akkoord .o_wz-vink:last-child { margin-bottom: 0; }
.o_wz-akkoord--fout { border-color: #d63638; background: #fff5f5; }
.o_wz-akkoord--fout .o_wz-vink-box { border-color: #d63638; }

/* Dropdown in een formulierstap (voorkeursmoment ONE Day Theorie) */
.o_wz-formulier select.o_wz-select { width: 100%; }
.o_wz-veld-sub { display: block; font-size: 12px; color: #555; margin-top: 4px; }

/* De hele zijbalk plakt, niet alleen de samenvatting: die schoof anders over
   de contact- en trustwidgets eronder heen (screenshot Nina, 2 sept 14:26) */
.o_wz-side .o_c95-summary-widget { position: static; }
.o_wz-side .o_wz-sidebar { position: sticky; top: 20px; }
@media (max-width: 991px) { .o_wz-side .o_wz-sidebar { position: static; } }

/* Eindstap: de sidebar-lijst herhaalt de samenstelling; inklappen */
.o_wz-sum-einde-note { display: none; font-size: 13px; line-height: 1.5; color: #333; margin: 0; padding: 16px 18px 18px; }
.o_wz-sum-einde-note i { color: var(--bf-primary, #ED6B06); margin-right: 6px; }
.o_wz-sum-einde-note .o_wz-boven { display: none; }
.o_wz--einde #o_wz-sum-rows { display: none; }
.o_wz--einde .o_wz-sum-einde-note { display: block; }
@media (max-width: 991px) {
    .o_wz-sum-einde-note .o_wz-naast { display: none; }
    .o_wz-sum-einde-note .o_wz-boven { display: inline; }
}

/* Checkout: grijze uitleg en placeholders leesbaar */
.o_co .o_co-block-head p { color: #444; }
.o_co input::placeholder { color: #666; opacity: 1; }

/* Code 95: "Verplicht meenemen" in het gele Bax-vlak, balken lopen naar geel */
.o_c95-needs-widget { background: var(--bf-accent, #FFCD00); border-radius: 5px; padding: 18px 20px; }
.o_c95-needs-widget .widget-title { color: #112337; margin-bottom: 8px; }
.o_c95-needs-widget .o_c95-needs li { color: #112337; border-bottom-color: rgba(17,35,55,.15); }
.o_c95-needs-widget .o_c95-needs li i { color: #112337; }
.o_c95-sum-progress-fill { background: var(--bf-accent, #FFCD00); }
.o_c95-selector-bar-fill { background: var(--bf-accent, #FFCD00); }

/* Checkout: "ik ben zelf de cursist" */
.o_co-zelf { display: flex; align-items: center; gap: 8px; font-size: 14px; margin: -6px 0 12px; cursor: pointer; }
.o_co-zelf input { margin: 0; }


/* =============================================================
   Code 95-samenstelpagina: echte modules, particulier/zakelijk
   ============================================================= */
.o_c95-klant { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0 0 18px; padding: 14px 16px; background: #f5f7fa; border-radius: 5px; }
.o_c95-klant-label { font-family: "Montserrat", sans-serif; font-size: 13px; font-weight: 700; color: var(--bf-donker, #212121); margin-right: 6px; }
.o_c95-klant-optie { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: #333; cursor: pointer; margin: 0; }
.o_c95-klant-optie input { margin: 0; accent-color: var(--bf-primary, #ED6B06); }
.o_c95-klant-optie strong { color: var(--bf-donker, #212121); margin-right: 4px; }
.o_c95-portaal { font-size: 13px; color: #333; margin: 0 0 16px; }
.o_c95-portaal i { color: var(--bf-primary, #ED6B06); margin-right: 4px; }
.o_c95-groep-titel { font-family: "Montserrat", sans-serif; font-size: 15px; font-weight: 700; color: var(--bf-donker, #212121); margin: 18px 0 10px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.o_c95-groep-sub { font-family: inherit; font-size: 12.5px; font-weight: 400; color: #555; }
.o_c95-pick--uit { opacity: .6; cursor: default; }
.o_c95-pick--uit .o_c95-pick-box { visibility: hidden; }
.o_c95-pick-meta em { font-style: normal; color: #555; }
.o_c95-pick-meta a { color: var(--bf-primary, #ED6B06); }
.o_c95-pick-price { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
.o_c95-pick-price small { font-size: 11px; font-weight: 600; color: #555; margin-left: 3px; }
.o_c95-prijs--ex { display: none; }
.o_c95--klant-zakelijk .o_c95-prijs--ex { display: inline; }
.o_c95--klant-zakelijk .o_c95-prijs--vrij { display: none; }
.o_c95-selector-total-note { display: block; font-size: 12px; color: #555; margin-top: 8px; }
.o_c95-leeg { padding: 20px; background: #fff8e6; border-radius: 5px; }
.o_c95 .o_c95-sum-price-sub { font-size: 12px; color: #555; margin-top: 2px; }

/* Checkout: per module een cursusdatum */
.o_co-module { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px dashed #e0e0e0; }
.o_co-module:last-of-type { border-bottom: 0; }
.o_co-module-titel { font-family: "Montserrat", sans-serif; font-size: 14px; font-weight: 700; color: var(--bf-donker, #212121); margin: 0 0 8px; }
.o_co-card-row-datum { display: block; font-size: 12px; color: #555; margin-top: 2px; }


/* Keuzekaarten even hoog: de middelste blijft prominent (schaal en schaduw),
   maar alle kaarten rekken mee tot de hoogste; de prijs staat onderaan uitgelijnd */
@media (min-width: 768px) {
    .o_wz-cards--prominent { align-items: stretch; }
}
.o_wz-card { display: flex; flex-direction: column; }
.o_wz-card-sub { flex-grow: 1; }
.o_wz-card .o_wz-card-prijs { margin-top: auto; }
.o_wz-card .o_wz-card-prijs ~ .o_wz-card-prijs,
.o_wz-card .o_wz-card-prijs ~ .o_wz-prijs-sub { margin-top: 0; }

/* Excl./btw-vrij-label op een eigen regel, zodat "vanaf € 640,00 excl. btw"
   niet halverwege afbreekt en alle kaarten dezelfde opbouw hebben */
.o_wz-card-prijs small { display: block; margin-left: 0; margin-top: 1px; }


/* =============================================================
   Responsive fijnslijpen (audit 8 september 2026)
   ============================================================= */

/* Drie kaarten blijven op tablet naast elkaar; smallere minimumbreedte */
.o_wz-cards { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
@media (min-width: 768px) {
    .o_wz-cards--prominent { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .o_wz-cards { grid-template-columns: 1fr; }
    .o_wz-cards--vier { grid-template-columns: 1fr; }
}

/* Vinkjes met meerprijs: op smalle schermen de prijs onder de tekst */
@media (max-width: 600px) {
    .o_wz-vink--optie { flex-wrap: wrap; }
    .o_wz-vink--optie .o_wz-vink-label { flex-basis: calc(100% - 44px); }
    .o_wz-vink--optie .o_wz-vink-prijzen { flex-basis: 100%; align-items: flex-start; padding-left: 44px; }
    .o_wz-vink--optie .o_wz-info { order: 5; }
}

/* Kop, stap-titel en knoppen op telefoon */
@media (max-width: 600px) {
    .o_wz .column-title { font-size: 26px; line-height: 1.15; }
    .o_wz-step-titel { font-size: 20px; }
    .o_wz-einde-acties { flex-direction: column; align-items: stretch; }
    .o_wz-einde-acties .o_wz-inschrijven { width: 100%; justify-content: center; }
    .o_wz-einde-note { text-align: center; }
    .o_wz-overzicht-rij { flex-direction: column; align-items: flex-start; gap: 4px; }
    .o_wz-overzicht-rij > strong { text-align: left; }
    .o_wz-akkoord { padding: 14px; }
    .o_wz-zij { width: 100%; }
    .o_wz-side { margin-top: 24px; }
}

/* Code 95-samenstelpagina op telefoon: prijs onder de titel */
@media (max-width: 600px) {
    .o_c95-pick { flex-wrap: wrap; }
    .o_c95-pick-body { flex-basis: calc(100% - 96px); }
    .o_c95-pick-price { flex-basis: 100%; align-items: flex-start; padding-left: 40px; margin-top: 4px; }
    .o_c95-klant { flex-direction: column; align-items: flex-start; gap: 8px; }
}


/* Zij-optie als knop ("Deze heb ik al in bezit"), zonder icoon en ondertekst */
.o_wz-zij--knop { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; white-space: nowrap; }
.o_wz-zij--knop i { font-size: 12px; }
/* Vinkje in het geel (theorie-examen): valt op, hoort bij de theorie */
.o_wz-vink--accent { background: var(--bf-accent, #FFCD00); border-color: var(--bf-accent, #FFCD00); }
.o_wz-vink--accent .o_wz-vink-label, .o_wz-vink--accent .o_wz-vink-label strong, .o_wz-vink--accent .o_wz-vink-sub { color: #112337; }
.o_wz-vink--accent .o_wz-vink-prijs { color: #112337; }
.o_wz-vink--accent .o_wz-vink-box { background: #fff; }
.o_wz-zij-kosten .o_wz-zij-prijs small { display: inline; }


/* Code 95-samenstel: blauwe klantbalk, SOOB en aan-/afmeldkosten (Nina 8 sept) */
.o_c95-klant--blauw { background: var(--bf-blauw, #003DA6); color: #fff; padding: 16px 18px; }
.o_c95-klant--blauw .o_c95-klant-label { color: #fff; font-size: 14px; }
.o_c95-klant--blauw .o_c95-klant-optie { color: #fff; font-size: 14px; padding: 8px 14px; border: 2px solid rgba(255,255,255,.55); border-radius: 5px; transition: background .15s, border-color .15s; }
.o_c95-klant--blauw .o_c95-klant-optie:has(input:checked) { background: #fff; border-color: #fff; color: var(--bf-blauw, #003DA6); }
.o_c95-klant--blauw .o_c95-klant-optie:has(input:checked) strong { color: var(--bf-blauw, #003DA6); }
.o_c95-klant--blauw .o_c95-klant-optie strong { color: #fff; }
.o_c95-klant--blauw .o_c95-klant-optie input { accent-color: var(--bf-blauw, #003DA6); }
.o_c95-zakelijk { display: none; }
.o_c95--klant-zakelijk .o_c95-zakelijk { display: block; margin: 0 0 18px; }
.o_c95-portaal { display: flex; gap: 12px; align-items: flex-start; background: #f5f7fa; border-left: 4px solid var(--bf-blauw, #003DA6); border-radius: 5px; padding: 12px 14px; font-size: 13px; line-height: 1.5; color: #333; margin: 0 0 12px; }
.o_c95-portaal > i { color: var(--bf-blauw, #003DA6); font-size: 18px; margin-top: 2px; }
.o_c95-portaal strong { display: block; color: var(--bf-donker, #212121); }
.o_c95-portaal a { color: var(--bf-blauw, #003DA6); font-weight: 700; text-decoration: underline; }
.o_c95-soob { border: 2px solid #e8e8e8; border-radius: 5px; padding: 12px 14px; }
.o_c95-soob-vraag { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; }
.o_c95-soob-label { font-family: "Montserrat", sans-serif; font-size: 13px; font-weight: 700; color: var(--bf-donker, #212121); }
.o_c95-soob-label i { color: var(--bf-primary, #ED6B06); margin-right: 4px; }
.o_c95-soob-sub { font-size: 12.5px; color: #555; margin: 6px 0 0; }
.o_c95-soob-velden { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #eee; }
.o_c95-veld { display: flex; flex-direction: column; gap: 4px; margin: 0; font-size: 13px; }
.o_c95-veld > span { font-weight: 700; color: var(--bf-donker, #212121); }
.o_c95-veld em { color: #b32d2e; font-style: normal; }
.o_c95-veld input { border: 2px solid #e0e0e0; border-radius: 5px; padding: 8px 10px; font-size: 14px; width: 100%; }
.o_c95-veld input:focus { border-color: var(--bf-primary, #ED6B06); outline: none; }
.o_c95-veld small { color: #666; font-size: 11.5px; }
.o_c95-pick-cbr { font-size: 11.5px; font-weight: 600; color: #555; white-space: nowrap; }
.o_c95-sum-row--klein .o_c95-sum-row-label, .o_c95-sum-row--klein .o_c95-sum-row-val { font-size: 12.5px; }
.o_c95-compleet { display: flex; gap: 12px; align-items: flex-start; background: #e9f7ec; border: 2px solid #27AE60; border-radius: 5px; padding: 12px 14px; margin: 12px 0 0; font-size: 13.5px; line-height: 1.5; color: #1d3b27; }
.o_c95-compleet i { color: #27AE60; font-size: 20px; margin-top: 1px; }
.o_c95-pick--slot { opacity: .45; cursor: not-allowed; }
@media (max-width: 767px) {
  .o_c95-soob-velden { grid-template-columns: 1fr; }
  .o_c95-klant--blauw .o_c95-klant-optie { width: 100%; }
  .o_c95-pick-cbr { white-space: normal; }
}

/* hidden-attribuut wint altijd van de display-regels hierboven (compleet-melding, SOOB-velden, sidebarregels) */
.o_c95 [hidden], .o_c95-form [hidden], #o_c95-form [hidden] { display: none !important; }
/* Zij-knop volledig blauw (Nina: "blauwe knop") */
/* Specifieker dan standalone.css (:is(.o_bf-page,...) .o_wz-zij), anders blijft hij wit */
:is(.o_bf-page, .o_co, .o_ty, .o_wz-layout, body) .o_wz-zij.o_wz-zij--knop,
:is(.o_bf-page, .o_co, .o_ty, .o_wz-layout, body) .o_wz-zij.o_wz-zij--knop:focus { background: var(--bf-blauw, #003DA6); border-color: var(--bf-blauw, #003DA6); color: #fff; }
:is(.o_bf-page, .o_co, .o_ty, .o_wz-layout, body) .o_wz-zij.o_wz-zij--knop:hover { background: #002d7a; border-color: #002d7a; color: #fff; }


/* =============================================================
   Boekpagina met kalender (o_bk) - cursussen met vaste data.
   Opbouw: links de genummerde blokken (cursus, locatie en
   startdatum, inschrijving), rechts de eerstvolgende data,
   contact en veelgestelde vragen. Zie templates/wizard-kalender.php.

   Vormgeving: rustig en vlak, zoals het voorbeeld van Bax
   (westpoort.nl): dunne lijnen, rechte hoeken, weinig iconen. De
   letters komen uit de Elementor-kit van de site (koppen
   SanukOT, tekst Source Sans Pro) met de pluginletters als
   terugval. Geel is het merkgeel van Bax zelf (--bf-accent), geen
   lichtere tint: boekbare dagen, de gekozen regel, het prijslabel
   en de rand van het actieve blok.

   Knoppen staan onder .o_bk-layout met eigen hover- en focusregels:
   Hello Elementor en de Elementor-kit stylen elke <button> (roze
   hover, eigen padding) en winnen het anders van één klasse.
   ============================================================= */
.o_wz-layout.o_bk-layout {
    --bk-kop: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif;
    --bk-tekst: var(--e-global-typography-text-font-family, "Source Sans Pro"), -apple-system, "Segoe UI", sans-serif;
    --bk-lijn: #d5d9e0;
    --bk-grijs: #5a6470;
    --bk-vlak: #f1f3f6;
    --bk-geel: var(--bf-accent, #ED6B06);
    --bk-op-geel: var(--bf-accent-tekst, #fff);
    grid-template-columns: minmax(0, 1fr) 370px;
    gap: 0 48px;
    font-family: var(--bk-tekst);
    font-size: 17px;
    line-height: 1.55;
    color: #1b1f24;
}

/* Titel en inleiding in de letter van de site */
.o_wz--kalender .o_bk-layout .column-title {
    font-family: var(--bk-kop);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    text-transform: none;
    letter-spacing: 0;
    color: var(--bf-donker, #212121);
    margin: 0 0 10px;
}
.o_wz--kalender .o_bk-layout .o_wc-leadtext,
.o_wz--kalender .o_bk-layout .o_wc-leadtext p {
    font-family: var(--bk-tekst);
    font-size: 18px;
    line-height: 1.55;
    color: #1b1f24;
    margin: 0;
}

/* Kenmerken onder de titel: één regel feiten, alleen de prijs als geel label */
.o_bk-badges {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 0;
    margin: 16px 0 0;
    padding: 0;
}
.o_bk-badge {
    display: inline-block;
    padding: 0 14px;
    border-left: 1px solid var(--bk-lijn);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--bf-donker, #212121);
}
.o_bk-badge:first-child { border-left: 0; padding-left: 0; }
.o_bk-badge--prijs,
.o_bk-badge--prijs:first-child {
    margin-right: 14px;
    padding: 5px 10px 4px;
    border: 0;
    border-radius: 3px;
    background: var(--bf-accent, #ED6B06);
    color: var(--bf-accent-tekst, #fff);
    font-family: var(--bk-kop);
    font-size: 16px;
    font-weight: 700;
}
.o_bk-badge--prijs + .o_bk-badge { border-left: 0; padding-left: 0; }

.o_bk-kop {
    font-family: var(--bk-kop);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    margin: 34px 0 14px;
    color: var(--bf-donker, #212121);
}

/* ---------- Genummerde blokken ---------- */
.o_bk-blok {
    background: #fff;
    border: 1px solid var(--bk-lijn);
    margin-bottom: 12px;
    /* Ruimte voor de vaste header als de pagina naar een blok schuift */
    scroll-margin-top: 150px;
}
/* Het blok waar de bezoeker nu iets moet doen: donkere rand, geel aan de linkerkant */
.o_bk-blok:not(.is-klaar):not(.is-dicht) {
    border-color: var(--bf-donker, #212121);
    box-shadow: inset 5px 0 0 var(--bf-accent, #ED6B06);
}
.o_bk-blok.is-dicht { background: #fafbfc; }
.o_bk-blok.is-dicht .o_bk-blok-titel,
.o_bk-blok.is-dicht .o_bk-nr { color: #8a929c; border-color: #b9c0c9; }

.o_bk-blok-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 22px;
}
.o_bk-nr {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    min-width: 28px;
    border: 1.5px solid var(--bf-donker, #212121);
    border-radius: 50%;
    font-family: var(--bk-kop);
    font-size: 15px;
    font-weight: 700;
    line-height: 1;
    color: var(--bf-donker, #212121);
}
.o_bk-nr i { display: none; font-size: 12px; }
.o_bk-blok.is-klaar .o_bk-nr { border-color: #2f7d4f; color: #2f7d4f; }
.o_bk-blok.is-klaar .o_bk-nr span { display: none; }
.o_bk-blok.is-klaar .o_bk-nr i { display: block; }

.o_bk-blok-kop { flex: 1 1 auto; min-width: 0; }
.o_bk-layout .o_bk-blok-titel {
    margin: 0;
    font-family: var(--bk-kop);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--bf-donker, #212121);
}
.o_bk-blok-waarde {
    display: block;
    font-size: 16px;
    line-height: 1.45;
    color: #1b1f24;
    overflow-wrap: break-word;
}
.o_bk-blok.is-dicht .o_bk-blok-waarde { color: var(--bk-grijs); }
.o_bk-blok-waarde:empty { display: none; }

.o_bk-blok-body {
    padding: 20px 22px 22px;
    border-top: 1px solid var(--bk-lijn);
}
.o_bk-blok.is-klaar .o_bk-blok-body,
.o_bk-blok.is-dicht .o_bk-blok-body { display: none; }
.o_bk-blok-body .o_wz-terug { margin: -6px 0 12px; font-family: var(--bk-tekst); font-size: 15px; }

/* Tekstknoppen: Wijzig, Toon meer, links in de kalender */
.o_bk-layout .o_bk-wijzig,
.o_bk-layout .o_bk-wijzig:hover,
.o_bk-layout .o_bk-wijzig:focus,
.o_bk-layout .o_bk-link,
.o_bk-layout .o_bk-link:hover,
.o_bk-layout .o_bk-link:focus {
    display: inline;
    background: none;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin: 0;
    font-family: var(--bk-tekst);
    font-size: 16px;
    font-weight: 600;
    line-height: inherit;
    color: var(--bf-primary, #ED6B06);
    text-decoration: underline;
    text-underline-offset: 3px;
    text-transform: none;
    cursor: pointer;
}
.o_bk-layout .o_bk-wijzig:hover,
.o_bk-layout .o_bk-link:hover { color: var(--bf-primary-hover, #d45e05); }
.o_bk-layout .o_bk-wijzig[hidden],
.o_bk-layout .o_bk-link[hidden] { display: none; }
.o_bk-link i { font-size: 11px; margin-left: 4px; }
.o_bk-layout :is(.o_bk-wijzig, .o_bk-link, .o_bk-kal-knop, .o_bk-weergave-knop, .o_bk-rij, .o_bk-spoed-rij, .o_bk-dag):focus-visible {
    outline: 2px solid var(--bf-primary, #ED6B06);
    outline-offset: 2px;
}

/* ---------- De flowstappen binnen een blok: keuzes als lijst, niet als tegels ---------- */
.o_wz--kalender .o_bk-layout .o_wz-step-head { margin-bottom: 14px; }
.o_wz--kalender .o_bk-layout .o_wz-step-titel {
    font-family: var(--bk-kop);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--bf-donker, #212121);
    margin: 0 0 4px;
}
.o_wz--kalender .o_bk-layout .o_wz-step-sub { font-size: 16px; line-height: 1.5; color: var(--bk-grijs); }

.o_wz--kalender .o_bk-layout .o_wz-cards,
.o_wz--kalender .o_bk-layout .o_wz-cards.o_wz-cards--vier,
.o_wz--kalender .o_bk-layout .o_wz-cards.o_wz-cards--prominent {
    display: block;
    border-top: 1px solid var(--bk-lijn);
}
.o_wz--kalender .o_bk-layout .o_wz-card,
.o_wz--kalender .o_bk-layout .o_wz-card:hover,
.o_wz--kalender .o_bk-layout .o_wz-card:focus,
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen,
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen:hover,
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen:focus {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-auto-flow: dense;
    column-gap: 18px;
    align-items: start;
    width: 100%;
    margin: 0;
    padding: 14px 6px 14px 40px;
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--bk-lijn);
    border-radius: 0;
    box-shadow: none;
    transform: none;
    text-align: left;
    font-family: var(--bk-tekst);
    color: #1b1f24;
    cursor: pointer;
}
.o_wz--kalender .o_bk-layout .o_wz-card:hover { background: var(--bk-vlak); }
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen,
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen:hover,
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen:focus { background: var(--bk-geel); }
/* Keuzerondje links */
.o_wz--kalender .o_bk-layout .o_wz-card::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 17px;
    width: 18px;
    height: 18px;
    border: 1.5px solid var(--bf-donker, #212121);
    border-radius: 50%;
    background: #fff;
}
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen :is(.o_wz-card-titel, .o_wz-card-sub, .o_wz-card-badge, .o_wz-card-prijs, .o_wz-card-prijs small, .o_wz-prijs-sub) { color: var(--bk-op-geel); }
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen::before { box-shadow: inset 0 0 0 4px #fff; background: var(--bf-donker, #212121); }
.o_wz--kalender .o_bk-layout .o_wz-card-icon,
.o_wz--kalender .o_bk-layout .o_wz-card-check { display: none; }
.o_wz--kalender .o_bk-layout .o_wz-card-titel {
    grid-column: 1;
    grid-row: 1;
    font-family: var(--bk-tekst);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--bf-donker, #212121);
    margin: 0;
}
.o_wz--kalender .o_bk-layout .o_wz-card-sub {
    grid-column: 1;
    grid-row: 2;
    font-size: 15px;
    line-height: 1.45;
    color: var(--bk-grijs);
    margin: 2px 0 0;
}
.o_wz--kalender .o_bk-layout .o_wz-card-badge {
    grid-column: 1;
    grid-row: 3;
    position: static;
    justify-self: start;
    transform: none;
    margin: 4px 0 0;
    padding: 0;
    background: none;
    border-radius: 0;
    box-shadow: none;
    font-family: var(--bk-tekst);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bf-primary, #ED6B06);
}
.o_wz--kalender .o_bk-layout .o_wz-card .o_wz-card-prijs,
.o_wz--kalender .o_bk-layout .o_wz-card .o_wz-prijs-sub {
    grid-column: 2;
    margin: 0;
    text-align: right;
    white-space: nowrap;
}
.o_wz--kalender .o_bk-layout .o_wz-card .o_wz-card-prijs {
    font-family: var(--bk-kop);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--bf-donker, #212121);
}
.o_wz--kalender .o_bk-layout .o_wz-card .o_wz-card-prijs { grid-row: 1; }
.o_wz--kalender .o_bk-layout .o_wz-card .o_wz-prijs-sub { grid-row: 2; }
.o_wz--kalender .o_bk-layout .o_wz-card .o_wz-card-prijs small { display: inline; font-family: var(--bk-tekst); font-size: 13px; font-weight: 400; color: var(--bk-grijs); }
.o_wz--kalender .o_bk-layout .o_wz-card .o_wz-prijs-sub { font-size: 13px; line-height: 1.4; color: var(--bk-grijs); white-space: normal; max-width: 190px; }
.o_wz--kalender .o_bk-layout .o_wz-card .o_wz-info { position: static; grid-column: 2; justify-self: end; }

/* Ja / nee */
.o_wz--kalender .o_bk-layout .o_wz-janee { display: flex; gap: 10px; }
.o_wz--kalender .o_bk-layout .o_wz-janee-btn,
.o_wz--kalender .o_bk-layout .o_wz-janee-btn:hover,
.o_wz--kalender .o_bk-layout .o_wz-janee-btn:focus {
    flex: 0 0 auto;
    min-width: 110px;
    padding: 11px 22px;
    background: #fff;
    border: 1px solid var(--bf-donker, #212121);
    border-radius: 4px;
    box-shadow: none;
    font-family: var(--bk-tekst);
    font-size: 17px;
    font-weight: 700;
    color: var(--bf-donker, #212121);
    cursor: pointer;
}
.o_wz--kalender .o_bk-layout .o_wz-janee-btn:hover { background: var(--bk-vlak); }
.o_wz--kalender .o_bk-layout .o_wz-janee-btn.is-gekozen,
.o_wz--kalender .o_bk-layout .o_wz-janee-btn.is-gekozen:hover,
.o_wz--kalender .o_bk-layout .o_wz-janee-btn.is-gekozen:focus { background: var(--bf-donker, #212121); color: #fff; }
.o_wz--kalender .o_bk-layout .o_wz-janee-btn i { display: none; }

/* Vinkjes en formuliervelden */
.o_wz--kalender .o_bk-layout .o_wz-vink { border: 0; border-bottom: 1px solid var(--bk-lijn); border-radius: 0; background: #fff; font-family: var(--bk-tekst); font-size: 16px; }
.o_wz--kalender .o_bk-layout .o_wz-checklist { border-top: 1px solid var(--bk-lijn); margin-bottom: 16px; }
.o_wz--kalender .o_bk-layout .o_wz-formulier label { font-family: var(--bk-tekst); font-size: 16px; font-weight: 600; }
.o_wz--kalender .o_bk-layout .o_wz-formulier .input-text { border-radius: 3px; font-family: var(--bk-tekst); font-size: 16px; }

/* Hoofdknoppen: de blauwe actieknop van de Bax-site */
.o_wz--kalender .o_bk-layout .o_header_btn_orange,
.o_wz--kalender .o_bk-layout .o_header_btn_orange:focus {
    padding: 14px 24px 13px;
    border-radius: 4px;
    font-family: var(--bk-kop);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}
.o_wz--kalender .o_bk-layout .o_wz-einde-note { font-family: var(--bk-tekst); font-size: 15px; color: var(--bk-grijs); }
.o_wz--kalender .o_bk-layout .o_wz-overzicht,
.o_wz--kalender .o_bk-layout .o_wz-overzicht-totaal { border-radius: 0; font-family: var(--bk-tekst); }

/* ---------- Tip, filter en weergave ---------- */
.o_bk-tip {
    margin: 0 0 16px;
    padding: 10px 14px;
    background: var(--bk-vlak);
    box-shadow: inset 4px 0 0 var(--bk-geel);
    font-size: 15px;
    line-height: 1.5;
    color: #1b1f24;
}
.o_bk-tip a { color: var(--bf-primary, #ED6B06); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.o_bk-balk {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}
.o_bk-balk[hidden] { display: none; }
.o_bk-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    flex: 1 1 auto;
}
.o_bk-filter[hidden] { display: none; }
.o_bk-filter-kop {
    flex: 0 0 100%;
    font-size: 16px;
    font-weight: 700;
    color: var(--bf-donker, #212121);
}
.o_bk-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 16px;
    color: #1b1f24;
    cursor: pointer;
}
.o_bk-check input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--bf-donker, #212121);
}
.o_bk-weergave {
    display: flex;
    margin-left: auto;
    border: 1px solid var(--bk-lijn);
}
.o_bk-layout .o_bk-weergave-knop,
.o_bk-layout .o_bk-weergave-knop:hover,
.o_bk-layout .o_bk-weergave-knop:focus {
    width: 42px;
    height: 38px;
    padding: 0;
    background: #fff;
    border: 0;
    border-radius: 0;
    color: var(--bk-grijs);
    font-size: 15px;
    cursor: pointer;
}
.o_bk-layout .o_bk-weergave-knop:hover { color: var(--bf-donker, #212121); }
.o_bk-layout .o_bk-weergave-knop.is-actief,
.o_bk-layout .o_bk-weergave-knop.is-actief:hover,
.o_bk-layout .o_bk-weergave-knop.is-actief:focus {
    background: var(--bf-donker, #212121);
    color: #fff;
}

/* ---------- Kalender ---------- */
.o_bk-kalender[hidden] { display: none; }
.o_bk-kal-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 4px 0 10px;
}
.o_bk-kal-maand {
    font-family: var(--bk-kop);
    font-size: 22px;
    font-weight: 700;
    color: var(--bf-donker, #212121);
}
.o_bk-kal-maand::first-letter { text-transform: uppercase; }
.o_bk-layout .o_bk-kal-knop,
.o_bk-layout .o_bk-kal-knop:hover,
.o_bk-layout .o_bk-kal-knop:focus {
    width: 42px;
    height: 42px;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
    color: var(--bf-donker, #212121);
    font-size: 16px;
    cursor: pointer;
}
.o_bk-layout .o_bk-kal-knop:hover { background: var(--bk-vlak); }
.o_bk-layout .o_bk-kal-knop:disabled,
.o_bk-layout .o_bk-kal-knop:disabled:hover {
    background: none;
    color: #c5cad1;
    cursor: default;
}
.o_bk-kal-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 3px;
}
.o_bk-kal-dow {
    padding: 6px 0 8px;
    border-bottom: 1px solid var(--bk-lijn);
    margin-bottom: 3px;
    text-align: center;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bk-grijs);
}
.o_bk-dag {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    min-height: 62px;
    font-size: 17px;
    line-height: 1.1;
    color: #a3abb5;
}
.o_bk-dag.is-vandaag .o_bk-dag-nr { text-decoration: underline; text-underline-offset: 4px; }
.o_bk-dag-sub { font-size: 12px; font-weight: 400; white-space: nowrap; }
.o_bk-dag.is-vol { background: var(--bk-vlak); color: #8a929c; }
.o_bk-dag.is-vol .o_bk-dag-nr { text-decoration: line-through; }
.o_bk-dag.is-vervolg { background: var(--bf-donker, #212121); color: #fff; opacity: 0.55; }
/* Boekbare dag: het geel van Bax */
.o_bk-layout .o_bk-dag.is-vrij,
.o_bk-layout .o_bk-dag.is-vrij:focus {
    width: 100%;
    margin: 0;
    padding: 4px 2px;
    background: var(--bk-geel);
    border: 0;
    border-radius: 0;
    font-family: var(--bk-kop);
    font-size: 19px;
    font-weight: 700;
    color: var(--bf-donker, #212121);
    cursor: pointer;
    transition: background-color 120ms;
}
.o_bk-layout .o_bk-dag.is-vrij:hover {
    background: var(--bf-donker, #212121);
    color: #fff;
}
.o_bk-layout .o_bk-dag.is-vrij,
.o_bk-layout .o_bk-dag.is-vrij:focus { color: var(--bk-op-geel); }
.o_bk-dag.is-vrij .o_bk-dag-sub { font-family: var(--bk-tekst); color: inherit; opacity: 0.8; }
.o_bk-layout .o_bk-dag.is-vrij:hover .o_bk-dag-sub { color: var(--bk-geel); opacity: 1; }
.o_bk-layout .o_bk-dag.is-vrij.is-gekozen,
.o_bk-layout .o_bk-dag.is-vrij.is-gekozen:hover,
.o_bk-layout .o_bk-dag.is-vrij.is-gekozen:focus {
    background: var(--bf-donker, #212121);
    color: #fff;
}
.o_bk-dag.is-vrij.is-gekozen .o_bk-dag-sub { color: var(--bk-geel); opacity: 1; }
.o_bk-dag.is-vrij .o_bk-dag-stip { background: var(--bk-op-geel); }
.o_bk-dag.is-vrij.is-gekozen .o_bk-dag-stip,
.o_bk-layout .o_bk-dag.is-vrij:hover .o_bk-dag-stip { background: var(--bk-geel); }
/* Bijna vol: stip rechtsboven */
.o_bk-dag-stip {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--bf-donker, #212121);
}
.o_bk-dag .o_bk-dag-stip { position: absolute; top: 6px; right: 6px; }
.o_bk-kal-geen,
.o_bk-kal-noot {
    margin: 12px 0 0;
    font-size: 14px;
    line-height: 1.5;
    color: var(--bk-grijs);
}
.o_bk-kal-geen { font-size: 16px; color: #1b1f24; }

/* ---------- Rijen: lijstweergave en de gekozen dag ---------- */
.o_bk-lijst[hidden],
.o_bk-keuze[hidden] { display: none; }
.o_bk-layout .o_bk-lijst-maand {
    margin: 22px 0 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--bf-donker, #212121);
    font-family: var(--bk-kop);
    font-size: 18px;
    font-weight: 700;
    color: var(--bf-donker, #212121);
}
.o_bk-lijst-maand::first-letter { text-transform: uppercase; }
.o_bk-layout .o_bk-lijst-maand:first-child { margin-top: 0; }
.o_bk-layout .o_bk-rij,
.o_bk-layout .o_bk-rij:focus {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 18px;
    width: 100%;
    margin: 0;
    padding: 13px 8px;
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--bk-lijn);
    border-radius: 0;
    font-family: var(--bk-tekst);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
    color: #1b1f24;
    text-align: left;
    text-transform: none;
}
.o_bk-layout button.o_bk-rij { cursor: pointer; }
.o_bk-layout button.o_bk-rij:hover {
    background: var(--bk-vlak);
    color: #1b1f24;
}
.o_bk-layout .o_bk-rij.is-gekozen,
.o_bk-layout .o_bk-rij.is-gekozen:hover,
.o_bk-layout .o_bk-rij.is-gekozen:focus { background: var(--bk-geel); }
.o_bk-layout .o_bk-rij.is-gekozen :is(.o_bk-rij-meta, .o_bk-plek, .o_bk-tag, .o_bk-rij-kies) { color: var(--bk-op-geel); }
.o_bk-rij.is-vol { color: #8a929c; }
.o_bk-rij-datum { flex: 1 1 240px; display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; font-size: 17px; }
.o_bk-rij-datum strong::first-letter { text-transform: uppercase; }
.o_bk-rij-meta { flex: 2 1 200px; color: #3d4650; }
.o_bk-rij-meta i { display: none; }
.o_bk-rij-meta span + span::before { content: "\00b7"; margin: 0 8px; color: #9aa3ad; }
.o_bk-rij-kies {
    font-weight: 700;
    color: var(--bf-primary, #ED6B06);
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}
.o_bk-rij-kies i { display: none; }
.o_bk-tag { font-size: 14px; color: var(--bk-grijs); }
.o_bk-tag::before { content: "("; }
.o_bk-tag::after { content: ")"; }
.o_bk-plek { font-size: 15px; white-space: nowrap; }
.o_bk-plek--vrij { color: #2f7d4f; }
.o_bk-plek--beperkt { color: #c2410c; font-weight: 700; }
.o_bk-plek--vol { color: #8a929c; }

.o_bk-keuze {
    margin-top: 18px;
    /* Onder: de vaste knoppenbalk van het thema op mobiel */
    scroll-margin: 150px 0 110px;
}
.o_bk-keuze-kop {
    margin: 0;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--bf-donker, #212121);
    font-family: var(--bk-kop);
    font-size: 18px;
    font-weight: 700;
    color: var(--bf-donker, #212121);
}
.o_bk-keuze-kop::first-letter { text-transform: uppercase; }
.o_bk-keuze-kop i { display: none; }
.o_bk-keuze-kop small { display: block; margin-top: 2px; font-family: var(--bk-tekst); font-size: 14px; font-weight: 400; color: var(--bk-grijs); }
.o_bk-layout .o_bk-verder,
.o_bk-layout .o_bk-zonder { margin-top: 16px; }
.o_bk-layout .o_bk-verder i,
.o_bk-layout .o_bk-zonder i { margin-left: 8px; font-size: 13px; }
.o_bk-layout .o_bk-verder:disabled { opacity: 0.5; cursor: default; }
.o_bk-layout .o_dd-leeg { border: 0; border-radius: 0; background: var(--bk-vlak); font-family: var(--bk-tekst); }
.o_bk-layout .o_dd-leeg-icon { display: none; }
.o_bk-layout .o_dd-leeg-tekst { font-size: 16px; color: #1b1f24; }
.o_bk-layout .o_dd-leeg-tekst strong { font-family: var(--bk-kop); font-size: 18px; }
.o_bk-layout .o_bk-blok-body > .o_dd-incompany,
.o_bk-layout .o_bk-blok-body > .o_dd-incompany:hover,
.o_bk-layout .o_bk-blok-body > .o_dd-incompany:focus {
    margin-top: 16px;
    padding: 0;
    background: none;
    border: 0;
    font-family: var(--bk-tekst);
    font-size: 15px;
    color: var(--bf-primary, #ED6B06);
    text-decoration: underline;
    text-underline-offset: 3px;
}
.o_bk-layout .o_bk-blok-body > .o_dd-incompany i { display: none; }

/* ---------- Rechterkolom ---------- */
.o_bk-side { border-left: 1px solid var(--bk-lijn); padding-left: 36px; }
.o_bk-layout .o_bk-side-kop,
.o_bk-widget .o_bk-widget-titel {
    margin: 0 0 6px;
    font-family: var(--bk-kop, "SanukOT-Bold", "Montserrat", sans-serif);
    font-size: 24px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--bf-donker, #212121);
}
.o_bk-spoed { margin-bottom: 34px; }
.o_bk-spoed[hidden] { display: none; }
.o_bk-spoed-sub { margin: 0 0 4px; font-size: 16px; color: #1b1f24; }
.o_bk-spoed-lijst { list-style: none; margin: 0 0 10px; padding: 0; }
.o_bk-spoed-lijst li { margin: 0; padding: 0; border-bottom: 1px solid var(--bk-lijn, #d5d9e0); }
.o_bk-layout .o_bk-spoed-rij,
.o_bk-layout .o_bk-spoed-rij:focus,
.o_bk-widget .o_bk-spoed-rij {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 11px 4px;
    background: none;
    border: 0;
    border-radius: 0;
    font-family: inherit;
    font-size: 17px;
    font-weight: 400;
    line-height: 1.3;
    color: #1b1f24;
    text-align: left;
    text-decoration: none;
    text-transform: none;
    cursor: pointer;
}
.o_bk-layout .o_bk-spoed-rij:hover,
.o_bk-widget .o_bk-spoed-rij:hover {
    background: var(--bk-geel, #FFCD00);
    color: var(--bk-op-geel, #112337);
}
.o_bk-layout .o_bk-spoed-rij.is-gekozen { font-weight: 700; }
.o_bk-spoed-datum { white-space: nowrap; }

.o_bk-contact {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 34px;
    padding: 22px;
    background: var(--bk-vlak);
}
.o_bk-contact-foto { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; }
.o_bk-contact-tekst p { margin: 0; font-size: 17px; line-height: 1.6; color: #1b1f24; }
.o_bk-contact-tekst a { color: var(--bf-primary, #ED6B06); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Vragen: alleen lijnen en een plusje, geen kaartjes */
.o_bk-faq .o_wc-faq-list { gap: 0; border-top: 1px solid var(--bk-lijn); margin-top: 8px; }
.o_bk-faq .o_wc-faq-item,
.o_bk-faq .o_wc-faq-item:hover,
.o_bk-faq .o_wc-faq-item--open {
    border: 0;
    border-bottom: 1px solid var(--bk-lijn);
    border-radius: 0;
    background: none;
}
.o_bk-faq .o_wc-faq-item .o_wc-faq-q,
.o_bk-faq .o_wc-faq-item .o_wc-faq-q:hover,
.o_bk-faq .o_wc-faq-item .o_wc-faq-q:focus {
    padding: 14px 4px;
    font-family: var(--bk-tekst);
    font-size: 17px;
    font-weight: 400;
    color: #1b1f24;
}
.o_bk-faq .o_wc-faq-item .o_wc-faq-q:hover { color: var(--bf-primary, #ED6B06); }
.o_bk-faq .o_wc-faq-q i,
.o_bk-faq .o_wc-faq-item--open .o_wc-faq-q i {
    width: auto;
    min-width: 0;
    height: auto;
    background: none;
    border-radius: 0;
    color: var(--bf-donker, #212121);
    font-size: 14px;
}
.o_bk-faq .o_wc-faq-a { padding: 0 34px 16px 4px; }
.o_bk-faq .o_wc-faq-a p { font-family: var(--bk-tekst); font-size: 16px; line-height: 1.6; color: #1b1f24; }
.o_bk-faq .o_wc-faq-a a { color: var(--bf-primary, #ED6B06); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.o_bk-faq .o_bk-link { display: block; margin-top: 8px; text-align: left; }

/* ---------- Widget met eerstvolgende data ([bax_eerstvolgende_data]) ---------- */
.o_bk-widget { max-width: 460px; }
.o_bk-widget-leeg { font-size: 16px; }
.o_bk-widget-knop,
.o_bk-widget-knop:visited {
    display: inline-block;
    margin-top: 10px;
    padding: 13px 22px 12px;
    border-radius: 4px;
    background: var(--bf-primary, #ED6B06);
    color: #fff;
    font-family: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
}
.o_bk-widget-knop:hover { background: var(--bf-primary-hover, #d45e05); color: #fff; }
.o_bk-widget-knop i { margin-left: 8px; font-size: 12px; }

/* Tot 1200px is de pagina in het thema 800px breed: te smal voor twee kolommen */
@media (max-width: 1199px) {
    .o_wz-layout.o_bk-layout { grid-template-columns: 1fr; }
    .o_bk-side { border-left: 0; padding-left: 0; margin-top: 34px; }
}
@media (max-width: 600px) {
    .o_wz--kalender .o_bk-layout .column-title { font-size: 32px; }
    .o_bk-kop { font-size: 24px; margin-top: 26px; }
    .o_bk-blok-head { padding: 14px 16px; gap: 12px; }
    .o_bk-blok-body { padding: 16px; }
    .o_bk-kal-grid { gap: 2px; }
    .o_bk-dag { min-height: 54px; font-size: 16px; }
    .o_bk-layout .o_bk-dag.is-vrij,
    .o_bk-layout .o_bk-dag.is-vrij:focus { font-size: 17px; }
    .o_bk-dag-sub { font-size: 11px; }
    .o_bk-balk { align-items: flex-start; }
    .o_wz--kalender .o_bk-layout .o_wz-card .o_wz-prijs-sub { max-width: 130px; }
    .o_bk-layout .o_bk-verder,
    .o_bk-layout .o_bk-zonder { display: block; width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .o_bk-layout .o_bk-dag.is-vrij { transition: none; }
}


/* =============================================================
   Code 95-samenstelpagina: dezelfde rustige opmaak als de
   boekpagina's (letters van de site, lijnen in plaats van
   kaartjes, geen iconen per module).
   ============================================================= */
.o_wc-product.o_c95 {
    --bk-kop: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif;
    --bk-tekst: var(--e-global-typography-text-font-family, "Source Sans Pro"), -apple-system, "Segoe UI", sans-serif;
    --bk-lijn: #d5d9e0;
    --bk-grijs: #5a6470;
    --bk-vlak: #f1f3f6;
    --bk-geel: var(--bf-accent, #ED6B06);
    --bk-op-geel: var(--bf-accent-tekst, #fff);
    font-family: var(--bk-tekst);
}
.o_bf-page .o_wc-product.o_c95 .column-title {
    font-family: var(--bk-kop);
    font-size: 40px;
    line-height: 1.1;
    text-transform: none;
}
.o_wc-product.o_c95 .o_c95-tag {
    padding: 0;
    background: none;
    border-radius: 0;
    font-family: var(--bk-tekst);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: var(--bf-primary, #ED6B06);
}
.o_wc-product.o_c95 .o_c95-tag i { display: none; }
.o_wc-product.o_c95 .o_wc-leadtext,
.o_wc-product.o_c95 .o_wc-leadtext p { font-family: var(--bk-tekst); font-size: 18px; line-height: 1.55; color: #1b1f24; }
.o_wc-product.o_c95 .o_c95-selector {
    border: 1px solid var(--bk-lijn);
    border-radius: 0;
    box-shadow: none;
}
.o_wc-product.o_c95 .o_c95-selector-title { font-family: var(--bk-kop); font-size: 26px; font-weight: 700; }
.o_wc-product.o_c95 .o_c95-selector-title i { display: none; }
.o_wc-product.o_c95 .o_c95-selector-sub,
.o_wc-product.o_c95 .o_c95-portaal,
.o_wc-product.o_c95 .o_c95-soob-sub { font-family: var(--bk-tekst); font-size: 15px; line-height: 1.5; color: #3d4650; }
.o_wc-product.o_c95 .o_c95-groep-titel { font-family: var(--bk-kop); font-size: 20px; margin: 26px 0 0; padding-bottom: 8px; border-bottom: 1px solid var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-groep-sub { font-family: var(--bk-tekst); font-size: 15px; font-weight: 400; color: var(--bk-grijs); }
.o_wc-product.o_c95 .o_c95-selector-list { gap: 0; }
.o_wc-product.o_c95 .o_c95-pick,
.o_wc-product.o_c95 .o_c95-pick:hover {
    border: 0;
    border-bottom: 1px solid var(--bk-lijn);
    border-radius: 0;
    box-shadow: none;
    transform: none;
    padding: 14px 8px;
    background: #fff;
}
.o_wc-product.o_c95 .o_c95-pick:hover { background: var(--bk-vlak); }
.o_wc-product.o_c95 .o_c95-pick--uit:hover { background: #fff; }
.o_wc-product.o_c95 .o_c95-pick--checked,
.o_wc-product.o_c95 .o_c95-pick--checked:hover { background: var(--bk-geel); }
.o_wc-product.o_c95 .o_c95-pick--checked :is(.o_c95-pick-nr, .o_c95-pick-title, .o_c95-pick-meta, .o_c95-pick-eerst, .o_c95-pick-price, .o_c95-pick-price small, .o_c95-pick-cbr) { color: var(--bk-op-geel); }
.o_wc-product.o_c95 .o_c95-pick-icon { display: none; }
.o_wc-product.o_c95 .o_c95-pick-box { border: 1.5px solid var(--bf-donker, #212121); border-radius: 2px; background: #fff; }
.o_wc-product.o_c95 .o_c95-pick--checked .o_c95-pick-box { background: var(--bf-donker, #212121); border-color: var(--bf-donker, #212121); color: #fff; }
.o_wc-product.o_c95 .o_c95-pick-nr { font-family: var(--bk-tekst); font-size: 12px; letter-spacing: 0.06em; color: var(--bk-grijs); }
.o_wc-product.o_c95 .o_c95-pick-title { font-family: var(--bk-tekst); font-size: 17px; font-weight: 700; color: var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-pick-meta { font-family: var(--bk-tekst); font-size: 15px; color: #3d4650; }
.o_wc-product.o_c95 .o_c95-pick-meta i { display: none; }
.o_wc-product.o_c95 .o_c95-pick-eerst { color: #2f7d4f; font-weight: 600; }
.o_wc-product.o_c95 .o_c95-pick-price { font-family: var(--bk-kop); font-size: 18px; color: var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-pick-price small,
.o_wc-product.o_c95 .o_c95-pick-cbr { font-family: var(--bk-tekst); font-weight: 400; color: var(--bk-grijs); }
/* Zijbalk, klantkeuze en totaalbalk: ook in de letter van de site (iconen houden hun eigen font) */
.o_wc-product.o_c95 :is(.o_c95-sum, .o_c95-zakelijk, .o_c95-soob, .o_c95-selector-total, .o_wc-contact-widget, .o_sidebar .widget) *:not(i) { font-family: var(--bk-tekst); }
.o_wc-product.o_c95 :is(.o_c95-sum-price, .o_c95-sum-price *, .o_c95-selector-total-amount, .o_sidebar .widget h3, .o_sidebar .widget h4):not(i) { font-family: var(--bk-kop); }
.o_wc-product.o_c95 .o_header_btn_orange { font-family: var(--bk-kop); font-size: 17px; border-radius: 4px; }
/* Voortgang in uren: één kleur, geen verloop */
.o_wc-product.o_c95 .o_c95-sum-progress,
.o_wc-product.o_c95 .o_c95-selector-bar { height: 6px; border-radius: 0; background: #e3e6ec; }
.o_wc-product.o_c95 .o_c95-sum-progress-fill,
.o_wc-product.o_c95 .o_c95-selector-bar-fill { border-radius: 0; background: var(--bk-geel); }
/* Zijbalk en vakken: rechte hoeken, dunne lijnen, geen schaduw */
.o_wc-product.o_c95 :is(.o_c95-sum, .o_c95-sum-head, .o_c95-soob, .o_c95-portaal, .o_c95-compleet, .o_c95-selector-total, .o_wc-contact-widget, .o_sidebar .widget, .o_c95-klant, .o_c95-klant-balk) { border-radius: 0; box-shadow: none; }
.o_wc-product.o_c95 .o_c95-sum { border: 1px solid var(--bk-lijn); }
.o_wc-product.o_c95 .o_c95-soob { border: 1px solid var(--bk-lijn); }
.o_wc-product.o_c95 .o_c95-compleet { border-width: 1px; }

/* ---------- Code 95 compleet: klantkeuze, ONE-portaal en SOOB als rustige formulierregels ---------- */
.o_wc-product.o_c95 .o_c95-klant--blauw { gap: 10px 26px; margin: 0; padding: 16px 20px; }
.o_wc-product.o_c95 .o_c95-klant-label { font-family: var(--bk-kop); font-size: 19px; font-weight: 700; margin-right: 8px; }
.o_wc-product.o_c95 .o_c95-klant--blauw .o_c95-klant-optie,
.o_wc-product.o_c95 .o_c95-klant--blauw .o_c95-klant-optie:has(input:checked) {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    font-family: var(--bk-tekst);
    font-size: 17px;
    color: #fff;
}
.o_wc-product.o_c95 .o_c95-klant--blauw .o_c95-klant-optie strong,
.o_wc-product.o_c95 .o_c95-klant--blauw .o_c95-klant-optie:has(input:checked) strong { color: #fff; }
/* Keuzerondjes zoals op de cursuspagina's */
.o_wc-product.o_c95 .o_c95-klant-optie input[type="radio"] {
    -webkit-appearance: none;
    appearance: none;
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 0;
    border: 1.5px solid var(--bf-donker, #212121);
    border-radius: 50%;
    background: #fff;
    cursor: pointer;
}
.o_wc-product.o_c95 .o_c95-klant-optie input[type="radio"]:checked { background: var(--bf-donker, #212121); box-shadow: inset 0 0 0 4px #fff; }
.o_wc-product.o_c95 .o_c95-klant-optie input[type="radio"]:focus-visible { outline: 2px solid var(--bk-geel); outline-offset: 2px; }
.o_wc-product.o_c95 .o_c95-klant--blauw .o_c95-klant-optie input[type="radio"] { border-color: #fff; background: transparent; }
.o_wc-product.o_c95 .o_c95-klant--blauw .o_c95-klant-optie input[type="radio"]:checked { background: #fff; box-shadow: inset 0 0 0 4px var(--bf-blauw, #003DA6); }

.o_wc-product.o_c95 .o_c95-portaal {
    display: block;
    margin: 0;
    padding: 14px 0;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--bk-lijn);
    font-size: 16px;
    line-height: 1.5;
    color: #1b1f24;
}
.o_wc-product.o_c95 .o_c95-portaal > i { display: none; }
.o_wc-product.o_c95 .o_c95-portaal strong { display: inline; margin-right: 4px; color: var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-portaal a { color: var(--bf-primary, #ED6B06); font-weight: 600; text-underline-offset: 3px; }

.o_wc-product.o_c95 .o_c95-soob {
    padding: 14px 0 16px;
    border: 0;
    border-bottom: 1px solid var(--bk-lijn);
}
.o_wc-product.o_c95 .o_c95-soob-vraag { gap: 8px 22px; }
.o_wc-product.o_c95 .o_c95-soob-label { flex: 1 1 auto; font-family: var(--bk-tekst); font-size: 17px; font-weight: 700; color: var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-soob-label i { display: none; }
.o_wc-product.o_c95 .o_c95-soob .o_c95-klant-optie { font-size: 17px; color: #1b1f24; }
.o_wc-product.o_c95 .o_c95-soob-sub { margin: 2px 0 0; max-width: 62ch; font-size: 15px; color: var(--bk-grijs); }
.o_wc-product.o_c95 .o_c95-soob-velden { border-top: 1px solid var(--bk-lijn); }

/* ---------- Jouw selectie: een overzicht in regels, zonder donkere kop, teller en iconen ---------- */
.o_wc-product.o_c95 .o_c95-sum { padding: 20px 22px 18px; border: 1px solid var(--bk-lijn); }
.o_wc-product.o_c95 .o_c95-sum-head { padding: 0 0 10px; background: none; border-bottom: 1px solid var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-sum-head-label { font-family: var(--bk-kop); font-size: 22px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-sum-head-count { display: none; }
.o_wc-product.o_c95 .o_c95-sum-body { padding: 0; }
.o_wc-product.o_c95 .o_c95-sum-row,
.o_wc-product.o_c95 .o_c95-sum-row:last-of-type { padding: 10px 0; border-bottom: 1px solid var(--bk-lijn); }
.o_wc-product.o_c95 .o_c95-sum-row-label,
.o_wc-product.o_c95 .o_c95-sum-row--klein .o_c95-sum-row-label { font-size: 16px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #1b1f24; }
.o_wc-product.o_c95 .o_c95-sum-row-label i { display: none; }
.o_wc-product.o_c95 .o_c95-sum-row-val,
.o_wc-product.o_c95 .o_c95-sum-row--klein .o_c95-sum-row-val { font-size: 16px; color: var(--bk-grijs); }
.o_wc-product.o_c95 .o_c95-sum-row-val strong { font-size: 16px; font-weight: 700; }
.o_wc-product.o_c95 .o_c95-sum-progress { margin: -1px 0 0; }
.o_wc-product.o_c95 .o_c95-sum-total { padding: 16px 0 14px; background: none; border-top: 0; align-items: baseline; }
.o_wc-product.o_c95 .o_c95-sum-total-label > span:first-child { font-family: var(--bk-kop); font-size: 18px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-sum-vat { font-size: 14px; letter-spacing: 0; text-transform: none; color: var(--bk-grijs); }
.o_wc-product.o_c95 .o_c95-sum-price,
.o_wc-product.o_c95 .o_c95-sum-price * { color: var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-sum-price-amt { font-size: 30px; }
.o_wc-product.o_c95 .o_c95-sum-price-eur { font-size: 20px; margin-right: 3px; }
.o_wc-product.o_c95 .o_c95-sum-price-sub { font-size: 14px; color: var(--bk-grijs); }
.o_wc-product.o_c95 .o_c95-sum .o_c95-sum-cta { margin: 0 0 10px !important; }
.o_wc-product.o_c95 .o_c95-sum-cta i { display: none; }
.o_wc-product.o_c95 .o_c95-sum-jump { font-size: 15px; font-weight: 600; letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: 3px; color: var(--bf-primary, #ED6B06); }
.o_wc-product.o_c95 .o_c95-sum-jump i { display: none; }

/* Overige blokken in de zijbalk */
.o_wc-product.o_c95 .o_c95-needs-widget { padding: 20px 22px; }
.o_wc-product.o_c95 .o_c95-needs-widget .widget-title { font-family: var(--bk-kop); font-size: 22px; margin: 0 0 6px; }
.o_wc-product.o_c95 .o_c95-needs li { padding: 8px 0; font-size: 16px; }
.o_wc-product.o_c95 .o_c95-needs li { display: flex; align-items: center; gap: 12px; }
.o_wc-product.o_c95 .o_c95-needs li i { flex: 0 0 22px; width: 22px; margin: 0; font-size: 17px; text-align: center; color: #112337; }
.o_wc-product.o_c95 .o_wc-contact-widget { background: var(--bk-vlak); border-bottom: 0; text-align: left; }
.o_wc-product.o_c95 .o_wc-contact-body { padding: 20px 22px; }
.o_wc-product.o_c95 .o_wc-contact-widget h4 { font-family: var(--bk-kop); font-size: 22px; text-transform: none; color: var(--bf-donker, #212121); margin: 0 0 6px; }
.o_wc-product.o_c95 .o_wc-contact-name,
.o_wc-product.o_c95 .o_wc-contact-role { display: none; }
.o_wc-product.o_c95 .o_wc-contact-links { padding-top: 0; border-top: 0; }
.o_wc-product.o_c95 .o_wc-contact-phone,
.o_wc-product.o_c95 .o_wc-contact-email { padding: 2px 0; font-size: 17px; font-weight: 700; color: var(--bf-primary, #ED6B06); text-decoration: underline; text-underline-offset: 3px; }
.o_wc-product.o_c95 .o_wc-contact-links i { display: none; }
.o_wc-product.o_c95 .o_c95-trust { padding: 0; background: none; border: 0; text-align: left; color: #1b1f24; }
.o_wc-product.o_c95 .o_c95-trust-icon { display: none; }
.o_wc-product.o_c95 .o_c95-trust strong { font-family: var(--bk-kop); font-size: 18px; color: var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-trust p { margin: 2px 0 0; font-size: 15px; line-height: 1.5; color: var(--bk-grijs); }
.o_wc-product.o_c95 .o_c95-klant--blauw .o_c95-klant-label { flex: 0 0 100%; margin: 0; }
.o_wc-product.o_c95 .o_c95-sum-total { flex-wrap: wrap; gap: 0 12px; }
.o_wc-product.o_c95 .o_c95-sum-total-label { flex: 1 1 auto; }
.o_wc-product.o_c95 .o_c95-sum-price-sub { flex: 0 0 100%; margin: 0; text-align: right; }
.o_wc-product.o_c95 .o_c95-sum .o_c95-sum-cta { display: block; width: 100%; font-size: 16px; }
.o_wc-product.o_c95 .o_c95-sum .o_c95-sum-cta { box-sizing: border-box; width: 100% !important; max-width: none; }
/* Zwevende balk op mobiel staat buiten .o_c95: de knop kreeg daardoor de roze standaardknop van het thema */
.o_c95-floatbar .o_c95-floatbar-cta,
.o_c95-floatbar .o_c95-floatbar-cta:hover,
.o_c95-floatbar .o_c95-floatbar-cta:focus {
    background: var(--bf-accent, #ED6B06);
    border: 0 !important;
    border-radius: 4px;
    color: var(--bf-accent-tekst, #fff);
    font-family: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
}
.o_c95-floatbar .o_c95-floatbar-cta i { color: inherit; }

.o_wc-product.o_c95 .o_c95-pick-price { border-top: 0; }

/* =============================================================
   Veelgestelde vragen: open- en dichtklappen met een vloeiende
   beweging. De hoogte loopt via grid-template-rows (0fr naar 1fr),
   zodat het antwoord elke lengte mag hebben; het plusje draait mee.
   Geldt voor de cursuspagina's en voor Code 95 compleet.
   ============================================================= */
.o_wc-faq-item .o_wc-faq-a,
.o_bk-faq .o_wc-faq-a {
    display: grid;
    grid-template-rows: 0fr;
    padding: 0;
    visibility: hidden;
    transition: grid-template-rows 420ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s linear 420ms;
}
.o_wc-faq-item--open .o_wc-faq-a,
.o_bk-faq .o_wc-faq-item--open .o_wc-faq-a {
    display: grid;
    grid-template-rows: 1fr;
    visibility: visible;
    transition: grid-template-rows 420ms cubic-bezier(0.22, 1, 0.36, 1), visibility 0s;
}
.o_wc-faq-item .o_wc-faq-a > * {
    min-height: 0;
    overflow: hidden;
    padding: 0 62px 0 18px;
    opacity: 0;
    transform: translateY(-4px);
    transition: opacity 260ms cubic-bezier(0.22, 1, 0.36, 1), transform 420ms cubic-bezier(0.22, 1, 0.36, 1), padding-bottom 420ms cubic-bezier(0.22, 1, 0.36, 1);
}
.o_wc-faq-item--open .o_wc-faq-a > * {
    padding-bottom: 18px;
    opacity: 1;
    transform: none;
    transition-delay: 60ms, 0s, 0s;
}
.o_bk-faq .o_wc-faq-item .o_wc-faq-a > * { padding-left: 4px; padding-right: 34px; }
.o_bk-faq .o_wc-faq-item--open .o_wc-faq-a > * { padding-bottom: 16px; }
.o_wc-faq-item .o_wc-faq-q i,
.o_bk-faq .o_wc-faq-item .o_wc-faq-q i { transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), background-color 200ms, color 200ms; }
.o_wc-faq-item--open .o_wc-faq-q i,
.o_bk-faq .o_wc-faq-item--open .o_wc-faq-q i { transform: rotate(45deg); }
@media (prefers-reduced-motion: reduce) {
    .o_wc-faq-item .o_wc-faq-a,
    .o_wc-faq-item .o_wc-faq-a > *,
    .o_wc-faq-item .o_wc-faq-q i { transition: none; }
}
/* Code 95 compleet: vragen in dezelfde vorm als op de cursuspagina's (lijnen en een plusje) */
.o_wc-product.o_c95 .o_wc-faq-title { font-family: var(--bk-kop); font-size: 26px; font-weight: 700; margin: 0 0 8px; }
.o_wc-product.o_c95 .o_wc-faq-list { gap: 0; border-top: 1px solid var(--bk-lijn); }
.o_wc-product.o_c95 .o_wc-faq-item,
.o_wc-product.o_c95 .o_wc-faq-item:hover,
.o_wc-product.o_c95 .o_wc-faq-item--open { border: 0; border-bottom: 1px solid var(--bk-lijn); border-radius: 0; background: none; }
.o_wc-product.o_c95 .o_wc-faq-item .o_wc-faq-q,
.o_wc-product.o_c95 .o_wc-faq-item .o_wc-faq-q:hover,
.o_wc-product.o_c95 .o_wc-faq-item .o_wc-faq-q:focus { padding: 15px 4px; font-family: var(--bk-tekst); font-size: 17px; font-weight: 400; color: #1b1f24; }
.o_wc-product.o_c95 .o_wc-faq-item--open .o_wc-faq-q { font-weight: 700; }
.o_wc-product.o_c95 .o_wc-faq-item .o_wc-faq-q:hover { color: var(--bf-primary, #ED6B06); }
.o_wc-product.o_c95 .o_wc-faq-q i,
.o_wc-product.o_c95 .o_wc-faq-item--open .o_wc-faq-q i { width: auto; min-width: 0; height: auto; background: none; border-radius: 0; color: var(--bf-donker, #212121); font-size: 14px; }
.o_wc-product.o_c95 .o_wc-faq-item .o_wc-faq-a > * { padding-left: 4px; padding-right: 34px; font-family: var(--bk-tekst); font-size: 16px; line-height: 1.6; color: #1b1f24; }
.o_bk-faq .o_wc-faq-item--open .o_wc-faq-q { font-weight: 700; }

/* =============================================================
   Kiesbare regels als kader (cursuspagina's en Code 95 compleet).
   Eén gedrag overal: elke optie heeft een eigen kader; aanwijzen
   geeft een donkere rand (geen vlakkleur), gekozen is het hele
   kader in het Bax-geel met een donkere rand.
   ============================================================= */
.o_wz--kalender .o_bk-layout .o_wz-cards,
.o_wz--kalender .o_bk-layout .o_wz-cards.o_wz-cards--vier,
.o_wz--kalender .o_bk-layout .o_wz-cards.o_wz-cards--prominent { border-top: 0; }
.o_wz--kalender .o_bk-layout .o_wz-card,
.o_wz--kalender .o_bk-layout .o_wz-card:hover,
.o_wz--kalender .o_bk-layout .o_wz-card:focus,
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen,
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen:hover,
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen:focus {
    margin: 0 0 8px;
    padding: 14px 16px 14px 48px;
    border: 1px solid var(--bk-lijn);
    border-radius: 3px;
    transition: border-color 140ms cubic-bezier(0.22, 1, 0.36, 1), background-color 140ms cubic-bezier(0.22, 1, 0.36, 1);
}
.o_wz--kalender .o_bk-layout .o_wz-card:last-child { margin-bottom: 0; }
.o_wz--kalender .o_bk-layout .o_wz-card:hover { background: #fff; border-color: var(--bf-donker, #212121); }
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen,
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen:hover,
.o_wz--kalender .o_bk-layout .o_wz-card.is-gekozen:focus { background: var(--bk-geel); border-color: var(--bf-donker, #212121); }
.o_wz--kalender .o_bk-layout .o_wz-card::before { left: 16px; top: 17px; }

.o_wz--kalender .o_bk-layout .o_wz-checklist { border-top: 0; }
.o_wz--kalender .o_bk-layout .o_wz-vink,
.o_wz--kalender .o_bk-layout .o_wz-vink:hover { margin: 0 0 8px; border: 1px solid var(--bk-lijn); border-radius: 3px; background: #fff; transition: border-color 140ms cubic-bezier(0.22, 1, 0.36, 1); }
.o_wz--kalender .o_bk-layout .o_wz-vink:hover { border-color: var(--bf-donker, #212121); }

/* Datumregels: lijstweergave en de gekozen dag */
.o_bk-layout .o_bk-lijst-maand { margin: 22px 0 10px; padding-bottom: 0; border-bottom: 0; }
.o_bk-keuze-kop { margin: 0 0 10px; padding-bottom: 0; border-bottom: 0; }
.o_bk-layout .o_bk-rij,
.o_bk-layout .o_bk-rij:focus,
.o_bk-layout button.o_bk-rij:hover,
.o_bk-layout .o_bk-rij.is-gekozen,
.o_bk-layout .o_bk-rij.is-gekozen:hover,
.o_bk-layout .o_bk-rij.is-gekozen:focus {
    margin: 0 0 8px;
    padding: 13px 16px;
    border: 1px solid var(--bk-lijn);
    border-radius: 3px;
    transition: border-color 140ms cubic-bezier(0.22, 1, 0.36, 1), background-color 140ms cubic-bezier(0.22, 1, 0.36, 1);
}
.o_bk-layout button.o_bk-rij:hover { background: #fff; border-color: var(--bf-donker, #212121); }
.o_bk-layout .o_bk-rij.is-gekozen,
.o_bk-layout .o_bk-rij.is-gekozen:hover,
.o_bk-layout .o_bk-rij.is-gekozen:focus { background: var(--bk-geel); border-color: var(--bf-donker, #212121); }
.o_bk-layout .o_bk-rij.is-vol { background: var(--bk-vlak); }

/* Eerstvolgende data: een lijst met links, zonder vlak bij aanwijzen */
.o_bk-layout .o_bk-spoed-rij:hover,
.o_bk-widget .o_bk-spoed-rij:hover { background: none; color: var(--bf-primary, #ED6B06); }
.o_bk-layout .o_bk-spoed-rij:hover .o_bk-spoed-plaats,
.o_bk-widget .o_bk-spoed-rij:hover .o_bk-spoed-plaats { text-decoration: underline; text-underline-offset: 3px; }
.o_bk-layout .o_bk-spoed-rij:hover .o_bk-spoed-datum,
.o_bk-layout .o_bk-spoed-rij.is-gekozen .o_bk-spoed-datum { color: inherit; }

/* Code 95 compleet: modules als kader */
.o_wc-product.o_c95 .o_c95-groep-titel { padding-bottom: 0; border-bottom: 0; margin: 26px 0 10px; }
.o_wc-product.o_c95 .o_c95-pick,
.o_wc-product.o_c95 .o_c95-pick:hover,
.o_wc-product.o_c95 .o_c95-pick--checked,
.o_wc-product.o_c95 .o_c95-pick--checked:hover {
    margin: 0 0 8px;
    padding: 14px 16px;
    border: 1px solid var(--bk-lijn);
    border-radius: 3px;
    transition: border-color 140ms cubic-bezier(0.22, 1, 0.36, 1), background-color 140ms cubic-bezier(0.22, 1, 0.36, 1);
}
.o_wc-product.o_c95 .o_c95-pick:hover { background: #fff; border-color: var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-pick--uit,
.o_wc-product.o_c95 .o_c95-pick--uit:hover { background: var(--bk-vlak); border-color: var(--bk-lijn); }
.o_wc-product.o_c95 .o_c95-pick--checked,
.o_wc-product.o_c95 .o_c95-pick--checked:hover { background: var(--bk-geel); border-color: var(--bf-donker, #212121); }

/* Vragen: geopende vraag vet en donker, aanwijzen alleen een kleurwissel */
.o_wc-product.o_c95 .o_wc-faq-item--open .o_wc-faq-q,
.o_bk-faq .o_wc-faq-item--open .o_wc-faq-q,
.o_wc-product.o_c95 .o_wc-faq-item--open .o_wc-faq-q:focus,
.o_bk-faq .o_wc-faq-item--open .o_wc-faq-q:focus { color: var(--bf-donker, #212121); font-weight: 700; }
@media (prefers-reduced-motion: reduce) {
    .o_wz--kalender .o_bk-layout .o_wz-card, .o_bk-layout .o_bk-rij, .o_wc-product.o_c95 .o_c95-pick, .o_wz--kalender .o_bk-layout .o_wz-vink { transition: none; }
}

/* ---------- Code 95 compleet: totaalbalk, "op aanvraag" en uitleg ---------- */
.o_wc-product.o_c95 .o_c95-selector-total { margin-top: 18px; }
.o_wc-product.o_c95 .o_c95-selector-total-count { font-size: 15px; letter-spacing: 0.04em; }
.o_wc-product.o_c95 .o_c95-selector-total-note { margin-top: 10px; font-size: 15px; line-height: 1.45; color: #fff; opacity: 0.9; }
.o_wc-product.o_c95 .o_c95-selector-note { font-family: var(--bk-tekst); font-size: 15px; font-style: normal; color: var(--bk-grijs); }
.o_wc-product.o_c95 .o_c95-selector-note i { display: none; }
/* Op aanvraag: geen vinkje, smallere regels, onderaan */
.o_wc-product.o_c95 .o_c95-groep-titel--aanvraag { margin-top: 34px; }
.o_wc-product.o_c95 .o_c95-pick--uit,
.o_wc-product.o_c95 .o_c95-pick--uit:hover { opacity: 1; padding: 10px 16px; cursor: default; }
.o_wc-product.o_c95 .o_c95-pick--uit .o_c95-pick-box { display: none; }
.o_wc-product.o_c95 .o_c95-pick--uit :is(.o_c95-pick-title, .o_c95-pick-price) { font-size: 16px; color: #3d4650; }
.o_wc-product.o_c95 .o_c95-pick--uit .o_c95-pick-cbr { display: none; }
.o_wc-product.o_c95 .o_c95-pick--uit .o_c95-pick-meta a { color: var(--bf-primary, #ED6B06); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
/* Hoe werkt het: een genummerde lijst, geen kaartjes */
.o_bf-page .o_wc-product.o_c95 .column-title-small { font-family: var(--bk-kop); font-size: 26px; font-weight: 700; text-transform: none; color: var(--bf-donker, #212121); margin: 0 0 14px; }
.o_wc-product.o_c95 .o_c95-steps { gap: 18px 36px; }
.o_wc-product.o_c95 .o_c95-step { position: relative; padding: 0 0 0 44px; background: none; border: 0; border-radius: 0; box-shadow: none; }
.o_wc-product.o_c95 .o_c95-step-num {
    position: absolute;
    left: 0;
    top: 0;
    width: 28px;
    height: 28px;
    margin: 0;
    border: 1.5px solid var(--bf-donker, #212121);
    border-radius: 50%;
    background: none;
    color: var(--bf-donker, #212121);
    font-family: var(--bk-kop);
    font-size: 15px;
    line-height: 25px;
    text-align: center;
    transform: none;
}
.o_wc-product.o_c95 .o_c95-step strong { display: block; margin: 0 0 2px; font-family: var(--bk-tekst); font-size: 17px; font-weight: 700; color: var(--bf-donker, #212121); }
.o_wc-product.o_c95 .o_c95-step p { font-family: var(--bk-tekst); font-size: 16px; line-height: 1.5; color: #3d4650; }
.o_wc-product.o_c95 .o_c95-selector-actions { flex-wrap: wrap; gap: 10px 20px; }
.o_wc-product.o_c95 .o_c95-selector-cart { white-space: nowrap; }
@media (max-width: 600px) { .o_wc-product.o_c95 .o_c95-selector-cart { white-space: normal; width: 100%; } }


/* Aantal deelnemers: melding over vrije plekken onder de teller, bedrag tijdens het herrekenen */
.o_co-deelnemers { flex-wrap: wrap; }
.o_co-deelnemers-melding {
    flex: 0 0 100%;
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--bf-donker, #112337);
}
.o_co-deelnemers-melding--fout { color: #b3261e; font-weight: 600; }
.o_co-card-total-amount.o_co-bezig { opacity: .45; transition: opacity 150ms; }
.o_wz--kalender .o_bk-layout .o_bk-live {
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px solid #b3261e;
    color: #b3261e;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.45;
}

/* =============================================================
   Op aanvraag (o_av): opleidingen zonder boekbare datum.
   Zelfde opbouw en letters als de boekpagina (o_bk); hier staan
   alle blokken open, dus geen gele rand voor "het actieve blok".
   Zie templates/op-aanvraag.php.
   ============================================================= */
.o_av .o_av-waarom { max-width: 62ch; margin: 0 0 22px; font-size: 18px; line-height: 1.55; color: #1b1f24; }
.o_av .o_bk-blok.o_av-blok { border-color: var(--bk-lijn); box-shadow: none; }
.o_av .o_av-form[hidden] { display: none; }

.o_av-opties { display: grid; gap: 8px; }
.o_av-opties--locatie { grid-template-columns: 1fr 1fr; margin-bottom: 20px; }
.o_av .o_av-optie {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    padding: 14px 16px;
    border: 1px solid var(--bk-lijn);
    background: #fff;
    cursor: pointer;
    transition: border-color 120ms, background-color 120ms;
}
.o_av .o_av-optie:hover { border-color: var(--bf-donker, #112337); }
.o_av .o_av-optie:has(input:checked) { background: var(--bk-geel); border-color: var(--bf-donker, #112337); color: var(--bk-op-geel); }
.o_av .o_av-optie:has(input:focus-visible) { outline: 2px solid var(--bf-primary, #003DA6); outline-offset: 2px; }
.o_av .o_av-optie input { flex: 0 0 auto; width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--bf-donker, #112337); }
.o_av-optie-tekst { flex: 1 1 auto; min-width: 0; font-size: 16px; line-height: 1.45; }
.o_av-optie-tekst strong { display: block; font-size: 17px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_av-optie-prijs { flex: 0 0 auto; font-family: var(--bk-kop); font-size: 17px; font-weight: 700; white-space: nowrap; color: var(--bf-donker, #112337); }
.o_av-optie-prijs small { font-family: var(--bk-tekst); font-size: 13px; font-weight: 400; }

.o_wz--kalender .o_bk-layout .o_wz-formulier.o_av-velden {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
    max-width: none;
    margin: 0;
}
.o_av .o_av-velden .form-row { margin: 0; padding: 0; width: auto; float: none; }
.o_av .o_av-velden .o_av-veld--breed { grid-column: 1 / -1; }
.o_av .o_av-velden textarea.input-text { min-height: 96px; resize: vertical; }
.o_av-optioneel { font-weight: 400; color: var(--bk-grijs); }

.o_av .o_av-melding { margin: 16px 0 0; padding: 12px 14px; border: 1px solid #b3261e; color: #b3261e; font-weight: 600; font-size: 15px; }
.o_av .o_av-melding[hidden] { display: none; }
.o_wz--kalender .o_bk-layout .o_av-verstuur { margin-top: 18px; }
.o_av .o_av-noot { margin: 10px 0 0; font-size: 15px; color: var(--bk-grijs); }

.o_av-klaar { padding: 4px 0 0; scroll-margin-top: 150px; outline: 0; }
.o_av-klaar[hidden] { display: none; }
.o_av-klaar p { max-width: 62ch; font-size: 18px; line-height: 1.55; margin: 0 0 10px; }
.o_av-klaar a { color: var(--bf-primary, #003DA6); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Rechts: wat er na de aanvraag gebeurt, als genummerde lijst */
.o_av-vervolg { margin-bottom: 34px; }
.o_av .o_av-stappen { list-style: none; counter-reset: av; margin: 10px 0 0; padding: 0; border-top: 1px solid var(--bk-lijn); }
.o_av .o_av-stappen li {
    counter-increment: av;
    position: relative;
    margin: 0;
    padding: 13px 4px 13px 40px;
    border-bottom: 1px solid var(--bk-lijn);
    font-size: 16px;
    line-height: 1.45;
    color: #1b1f24;
}
.o_av .o_av-stappen li::before {
    content: counter(av);
    position: absolute;
    left: 4px;
    top: 13px;
    width: 24px;
    height: 24px;
    border: 1.5px solid var(--bf-donker, #112337);
    border-radius: 50%;
    font-family: var(--bk-kop);
    font-size: 13px;
    font-weight: 700;
    line-height: 21px;
    text-align: center;
    color: var(--bf-donker, #112337);
}
.o_av .o_av-stappen strong { display: block; font-size: 17px; color: var(--bf-donker, #112337); }
.o_av-direct { margin-bottom: 34px; }
.o_av-direct p { margin: 0; font-size: 17px; line-height: 1.55; }
.o_av-direct a { color: var(--bf-primary, #003DA6); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 640px) {
    .o_av-opties--locatie,
    .o_wz--kalender .o_bk-layout .o_wz-formulier.o_av-velden { grid-template-columns: 1fr; }
    .o_av .o_av-optie { flex-wrap: wrap; }
    .o_av-optie-prijs { flex-basis: 100%; padding-left: 30px; }
}

/* ---------- Blok 3: het overzicht van de inschrijving ----------
   Gewone regels met een lijn ertussen, labels in de leesletter (geen
   hoofdletters), bedragen in de kopletter. Het totaal staat op Bax-geel,
   net als het prijslabel bovenaan de pagina. */
.o_wz--kalender .o_bk-layout .o_wz-overzicht {
    margin: 18px 0 0;
    padding: 0;
    border: 0;
    border-top: 2px solid var(--bf-donker, #112337);
    background: none;
    box-shadow: none;
}
.o_wz--kalender .o_bk-layout .o_wz-overzicht-rij {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin: 0;
    padding: 13px 0;
    border: 0;
    border-bottom: 1px solid var(--bk-lijn);
    background: none;
    font-size: 17px;
    line-height: 1.4;
    color: #1b1f24;
}
.o_wz--kalender .o_bk-layout .o_wz-overzicht-rij > span { min-width: 0; }
.o_wz--kalender .o_bk-layout .o_wz-overzicht-label {
    display: block;
    margin: 0 0 1px;
    font-family: var(--bk-tekst);
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: var(--bk-grijs);
}
.o_wz--kalender .o_bk-layout .o_wz-overzicht-rij--hoofd > span { font-family: var(--bk-kop); font-size: 19px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_wz--kalender .o_bk-layout .o_wz-overzicht-rij > strong {
    flex: 0 0 auto;
    font-family: var(--bk-kop);
    font-size: 17px;
    font-weight: 700;
    white-space: nowrap;
    color: var(--bf-donker, #112337);
}
.o_wz--kalender .o_bk-layout .o_wz-overzicht-rij > strong:empty { display: none; }
.o_wz--kalender .o_bk-layout .o_wz-overzicht-rij > strong small { font-family: var(--bk-tekst); font-size: 13px; font-weight: 400; }

.o_wz--kalender .o_bk-layout .o_wz-overzicht-totaal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0;
    padding: 16px 18px;
    border: 0;
    background: var(--bk-geel);
    color: var(--bk-op-geel);
}
.o_wz--kalender .o_bk-layout .o_wz-overzicht-totaal > span { font-family: var(--bk-kop); font-size: 20px; font-weight: 700; color: var(--bk-op-geel); }
.o_wz--kalender .o_bk-layout .o_wz-overzicht-totaal > span small { margin-left: 6px; font-family: var(--bk-tekst); font-size: 15px; font-weight: 400; color: var(--bk-op-geel); opacity: 1; }
.o_wz--kalender .o_bk-layout .o_wz-overzicht-totaal > strong {
    font-family: var(--bk-kop);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    text-align: right;
    color: var(--bk-op-geel);
}
.o_wz--kalender .o_bk-layout .o_wz-overzicht-incl {
    display: block;
    margin-top: 3px;
    font-family: var(--bk-tekst);
    font-size: 15px;
    font-weight: 400;
    color: var(--bk-op-geel);
    opacity: 1;
}
.o_wz--kalender .o_bk-layout .o_wz-einde-acties { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 20px; }
.o_wz--kalender .o_bk-layout .o_wz-einde-acties .o_wz-inschrijven { display: inline-flex; flex-direction: row-reverse; align-items: center; gap: 10px; margin: 0; }
.o_wz--kalender .o_bk-layout .o_wz-einde-acties .o_wz-inschrijven i { margin: 0; }
.o_wz--kalender .o_bk-layout .o_wz-einde-note { margin: 0; }
.o_wz--kalender .o_bk-layout .o_wz-einde-note i { display: none; }
@media (max-width: 600px) {
    .o_wz--kalender .o_bk-layout .o_wz-overzicht-totaal > strong { font-size: 24px; }
    .o_wz--kalender .o_bk-layout .o_wz-einde-acties .o_wz-inschrijven { width: 100%; justify-content: center; }
}

/* =============================================================
   Checkout (o_co) en bedanktpagina (o_ty) in de huisstijl.
   Zelfde taal als de boekpagina (o_bk): koppen SanukOT, tekst
   Source Sans Pro, lijnen en rechte hoeken, Bax-geel voor wat
   gekozen is en voor het totaal. De dubbele klasse (.o_co.o_co)
   wint van de oudere regels hierboven en van standalone.css.
   ============================================================= */
.o_co.o_co, .o_ty.o_ty {
    --bk-kop: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif;
    --bk-tekst: var(--e-global-typography-text-font-family, "Source Sans Pro"), -apple-system, "Segoe UI", sans-serif;
    --bk-lijn: #d5d9e0;
    --bk-grijs: #5a6470;
    --bk-vlak: #f1f3f6;
    --bk-geel: var(--bf-accent, #FFCD00);
    --bk-op-geel: var(--bf-accent-tekst, #112337);
    font-family: var(--bk-tekst);
    font-size: 17px;
    line-height: 1.5;
    color: #1b1f24;
}
.o_co.o_co :is(p, span, label, li, td, th, dd, dt, small, strong, a, div, input, select, textarea, button),
.o_ty.o_ty :is(p, span, label, li, td, th, dd, dt, small, strong, a, div) { font-family: var(--bk-tekst); letter-spacing: 0; }
.o_co.o_co :is(i.fas, i.far, i.fab), .o_ty.o_ty :is(i.fas, i.far, i.fab) { font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "Font Awesome 5 Brands"; }
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message { display: none; }

/* ---------- Checkout: blokken ---------- */
.o_co.o_co .o_co-block { margin: 0 0 12px; padding: 0; border: 1px solid var(--bk-lijn); border-radius: 0; background: #fff; box-shadow: none; }
.o_co.o_co .o_co-block-head { display: flex; align-items: flex-start; gap: 14px; margin: 0; padding: 18px 22px; border: 0; border-bottom: 1px solid var(--bk-lijn); }
.o_co.o_co .o_co-num {
    display: flex; align-items: center; justify-content: center;
    width: 28px; height: 28px; min-width: 28px; margin: 0;
    border: 1.5px solid var(--bf-donker, #112337); border-radius: 50%; background: none;
    font-family: var(--bk-kop); font-size: 15px; font-weight: 700; line-height: 1; color: var(--bf-donker, #112337);
}
.o_co.o_co .o_co-block-head h3 { margin: 0; font-family: var(--bk-kop); font-size: 22px; font-weight: 700; line-height: 1.25; text-transform: none; letter-spacing: 0; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-block-head p { margin: 2px 0 0; font-size: 16px; line-height: 1.45; color: var(--bk-grijs); }
.o_co.o_co .o_co-block-body { padding: 20px 22px 22px; }

/* Velden */
.o_co.o_co .form-row label { margin: 0 0 6px; font-size: 16px; font-weight: 600; line-height: 1.3; text-transform: none; color: var(--bf-donker, #112337); }
.o_co.o_co .form-row label .optional { font-weight: 400; color: var(--bk-grijs); }
.o_co.o_co .input-text,
.o_co.o_co select,
.o_co.o_co .select2-container .select2-selection--single {
    height: 46px; padding: 0 12px;
    border: 1px solid #8a929c; border-radius: 3px; background-color: #fff; box-shadow: none;
    font-size: 16px; color: #1b1f24;
}
.o_co.o_co textarea.input-text { height: auto; padding: 10px 12px; }
.o_co.o_co .select2-container .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 44px; color: #1b1f24; }
.o_co.o_co .select2-container .select2-selection--single .select2-selection__arrow { height: 44px; right: 8px; }
.o_co.o_co .input-text:focus, .o_co.o_co select:focus { border-color: var(--bf-primary, #003DA6); outline: 2px solid var(--bf-primary, #003DA6); outline-offset: 1px; }
.o_co.o_co .input-text[readonly] { background: var(--bk-vlak); }
.o_co.o_co input[type="checkbox"], .o_co.o_co input[type="radio"] { width: 18px; height: 18px; accent-color: var(--bf-donker, #112337); }

/* Datum en aantal */
.o_co.o_co .o_dd-trigger { border: 1px solid #8a929c; border-radius: 3px; background: #fff; box-shadow: none; }
.o_co.o_co .o_dd-trigger-icon { display: none; }
.o_co.o_co .o_dd-trigger-label { font-size: 14px; font-weight: 400; text-transform: none; color: var(--bk-grijs); }
.o_co.o_co .o_dd-trigger-value { font-family: var(--bk-kop); font-size: 17px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_co.o_co .o_dd-incompany { margin-top: 12px; padding: 0; border: 0; background: none; font-size: 16px; font-weight: 700; text-transform: none; color: var(--bf-primary, #003DA6); text-decoration: underline; text-underline-offset: 3px; }
.o_co.o_co .o_dd-incompany i { display: none; }
.o_co.o_co .o_co-deelnemers { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--bk-lijn); }
.o_co.o_co .o_co-deelnemers label { font-family: var(--bk-kop); font-size: 18px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-deelnemers-ctrl { border: 1px solid #8a929c; border-radius: 3px; }
.o_co.o_co .o_co-deelnemers-btn,
.o_co.o_co .o_co-deelnemers-btn:focus { width: 46px; height: 44px; padding: 0; border: 0; border-radius: 0; background: #fff; font-size: 13px; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-deelnemers-btn:hover { background: var(--bk-geel); color: var(--bk-op-geel); }
.o_co.o_co .o_co-deelnemers-ctrl input { width: 60px; height: 44px; border: 0; border-left: 1px solid #8a929c; border-right: 1px solid #8a929c; border-radius: 0; outline: 0; font-family: var(--bk-kop); font-size: 18px; font-weight: 700; color: var(--bf-donker, #112337); background: #fff; }

/* Cursisten */
.o_co.o_co .o_co-cursist { margin: 0; padding: 18px 0 4px; border: 0; border-top: 1px solid var(--bk-lijn); background: none; }
.o_co.o_co .o_co-cursist:first-child { padding-top: 0; border-top: 0; }
.o_co.o_co .o_co-cursist-title { margin: 0 0 10px; font-family: var(--bk-kop); font-size: 18px; font-weight: 700; text-transform: none; letter-spacing: 0; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-zelf { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 16px; font-weight: 400; color: #1b1f24; }

/* Betaalwijze: elk een eigen kader, gekozen = Bax-geel */
.o_co.o_co #payment { background: none; border-radius: 0; }
.o_co.o_co #payment ul.payment_methods { margin: 0 0 18px; padding: 0; border: 0; display: grid; gap: 8px; }
.o_co.o_co #payment ul.payment_methods li { margin: 0; padding: 14px 16px; border: 1px solid var(--bk-lijn); border-radius: 0; background: #fff; box-shadow: none; }
.o_co.o_co #payment ul.payment_methods li:hover { border-color: var(--bf-donker, #112337); }
.o_co.o_co #payment ul.payment_methods li:has(input:checked) { background: var(--bk-geel); border-color: var(--bf-donker, #112337); }
.o_co.o_co #payment ul.payment_methods li label { font-family: var(--bk-kop); font-size: 18px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_co.o_co #payment ul.payment_methods li label i { display: none; }
.o_co.o_co #payment div.payment_box { margin: 8px 0 0; padding: 0 0 0 28px; border: 0; background: none; font-size: 16px; color: var(--bf-donker, #112337); }
.o_co.o_co #payment div.payment_box::before { display: none; }
.o_co.o_co #payment div.payment_box p { margin: 0; font-size: 16px; color: var(--bf-donker, #112337); }
.o_co.o_co #payment .place-order { margin: 0; padding: 0; }
.o_co.o_co .woocommerce-terms-and-conditions-wrapper { font-size: 16px; }

/* ---------- Checkout: overzicht rechts ---------- */
.o_co.o_co .o_co-card { border: 1px solid var(--bk-lijn); border-radius: 0; background: #fff; box-shadow: none; overflow: visible; }
.o_co.o_co .o_co-card-img { display: none; }
.o_co.o_co .o_co-card-body { padding: 20px 22px; border: 0; border-bottom: 1px solid var(--bk-lijn); }
.o_co.o_co .o_co-card-label,
.o_co.o_co .o_co-card-attr-label { display: block; margin: 0; font-size: 15px; font-weight: 400; text-transform: none; color: var(--bk-grijs); }
.o_co.o_co .o_co-card-title { margin: 0; font-family: var(--bk-kop); font-size: 24px; font-weight: 700; line-height: 1.2; text-transform: none; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-card-attr { display: block; margin: 0; padding: 10px 0 0; border: 0; }
.o_co.o_co .o_co-card-attr-icon { display: none; }
.o_co.o_co .o_co-card-attr-value { display: block; font-size: 17px; font-weight: 600; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-card-attr-sub { display: block; font-size: 15px; color: var(--bk-grijs); }
.o_co.o_co .o_co-card-session-attrs .o_co-card-attr:first-child { padding-top: 0; }
.o_co.o_co .o_co-card-pricing { padding: 14px 22px; border: 0; border-bottom: 1px solid var(--bk-lijn); }
.o_co.o_co .o_co-card-row { display: flex; justify-content: space-between; gap: 16px; padding: 4px 0; font-size: 17px; color: #1b1f24; }
.o_co.o_co .o_co-card-row > span:last-child { font-weight: 600; white-space: nowrap; }
.o_co.o_co .o_co-card-row--sub { font-size: 15px; color: var(--bk-grijs); }
.o_co.o_co .o_co-card-row--sub > span:last-child { font-weight: 400; }
.o_co.o_co .o_co-verwijder { margin-right: 6px; background: none; color: var(--bk-grijs); }
.o_co.o_co .o_co-voucher { padding: 14px 22px 18px; border: 0; }
.o_co.o_co .o_co-voucher label { display: block; margin: 0 0 6px; font-size: 15px; font-weight: 400; text-transform: none; color: var(--bk-grijs); }
.o_co.o_co .o_co-voucher-veld { display: flex; gap: 8px; }
.o_co.o_co .o_co-voucher-veld input { flex: 1 1 auto; min-width: 0; height: 44px; }
.o_co.o_co .o_co-voucher-veld button,
.o_co.o_co .o_co-voucher-veld button:focus { height: 44px; padding: 0 16px; border: 1px solid var(--bf-donker, #112337); border-radius: 3px; background: #fff; font-family: var(--bk-kop); font-size: 15px; font-weight: 700; text-transform: none; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-voucher-veld button:hover { background: var(--bf-donker, #112337); color: #fff; }
.o_co.o_co .o_co-card-total { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0; padding: 16px 22px; border: 0; border-radius: 0; background: var(--bk-geel); }
.o_co.o_co .o_co-card-total-label { font-family: var(--bk-kop); font-size: 20px; font-weight: 700; color: var(--bk-op-geel); }
.o_co.o_co .o_co-card-total-amount { text-align: right; line-height: 1.15; color: var(--bk-op-geel); }
.o_co.o_co .o_co-card-total-amount strong,
.o_co.o_co .o_co-card-total-amount strong * { font-family: var(--bk-kop); font-size: 26px; font-weight: 700; color: var(--bk-op-geel); }
.o_co.o_co .o_co-card-total-amount small,
.o_co.o_co .o_co-card-total-amount small * { display: block; font-size: 14px; font-weight: 400; color: var(--bk-op-geel); }

/* ---------- Bedanktpagina ---------- */
.o_ty.o_ty .o_ty-header { margin: 0 0 30px; padding: 0 0 24px; border-bottom: 2px solid var(--bf-donker, #112337); text-align: left; background: none; }
.o_ty.o_ty .o_ty-header-icon:not(.o_ty-header-icon--failed) { display: none; }
.o_ty.o_ty .o_ty-header h1 { margin: 0 0 8px; font-family: var(--bk-kop); font-size: 40px; font-weight: 700; line-height: 1.1; text-transform: none; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-header p { max-width: none; margin: 0 0 8px; font-size: 19px; line-height: 1.5; color: #1b1f24; }
.o_ty.o_ty .o_ty-ordernr { display: inline; padding: 0; border-radius: 0; background: none; font-size: 15px; color: var(--bk-grijs); }
.o_ty.o_ty .o_ty-layout { gap: 0 48px; }

.o_ty.o_ty .o_ty-course { margin: 0 0 14px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-course-img { display: none; }
.o_ty.o_ty .o_ty-course-body { padding: 0; }
.o_ty.o_ty .o_ty-course h3 { margin: 0; font-family: var(--bk-kop); font-size: 28px; font-weight: 700; line-height: 1.2; text-transform: none; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-course-attrs:empty { display: none; }
.o_ty.o_ty .o_ty-course-attr { color: #1b1f24; }
.o_ty.o_ty .o_ty-course-attr i { display: none; }

.o_ty.o_ty .o_ty-sessie { display: flex; align-items: center; gap: 18px; margin: 0 0 30px; padding: 0; border: 1px solid var(--bk-lijn); border-radius: 0; background: #fff; box-shadow: none; }
.o_ty.o_ty .o_ty-sessie-date { display: flex; flex-direction: column; align-items: center; justify-content: center; align-self: stretch; min-width: 84px; padding: 12px 10px; border-radius: 0; background: var(--bk-geel); color: var(--bk-op-geel); }
.o_ty.o_ty .o_ty-sessie-day { font-family: var(--bk-kop); font-size: 30px; font-weight: 700; line-height: 1; color: var(--bk-op-geel); }
.o_ty.o_ty .o_ty-sessie-day--range { font-size: 22px; }
.o_ty.o_ty .o_ty-sessie-month { font-size: 15px; text-transform: lowercase; color: var(--bk-op-geel); }
.o_ty.o_ty .o_ty-sessie-info { display: flex; flex-wrap: wrap; gap: 0 16px; padding: 14px 16px 14px 0; }
.o_ty.o_ty .o_ty-sessie-info strong { flex: 0 0 100%; font-family: var(--bk-kop); font-size: 20px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-sessie-info > span { font-size: 17px; color: #1b1f24; }

.o_ty.o_ty .o_ty-section { margin: 0 0 30px; }
.o_ty.o_ty .o_ty-section-title,
.o_ty.o_ty .o_ty-invoice h4,
.o_ty.o_ty .o_ty-box h4,
.o_ty.o_ty .o_ty-steps h4,
.o_ty.o_ty .o_ty-contact h4 { margin: 0 0 8px; padding: 0; border: 0; font-family: var(--bk-kop); font-size: 22px; font-weight: 700; line-height: 1.25; text-transform: none; letter-spacing: 0; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-cursisten { border: 0; border-top: 1px solid var(--bk-lijn); border-radius: 0; background: none; }
.o_ty.o_ty .o_ty-cursist { display: flex; align-items: flex-start; gap: 14px; margin: 0; padding: 12px 0; border: 0; border-bottom: 1px solid var(--bk-lijn); background: none; }
.o_ty.o_ty .o_ty-cursist-num { display: flex; align-items: center; justify-content: center; width: 26px; height: 26px; min-width: 26px; border: 1.5px solid var(--bf-donker, #112337); border-radius: 50%; background: none; font-family: var(--bk-kop); font-size: 14px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-cursist-data { display: flex; flex-wrap: wrap; gap: 0 16px; }
.o_ty.o_ty .o_ty-cursist-data strong { flex: 0 0 100%; font-size: 18px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-cursist-data span { font-size: 16px; color: #3c4450; }

.o_ty.o_ty .o_ty-invoice { margin: 0; padding: 0; border: 0; background: none; }
.o_ty.o_ty .o_ty-invoice table { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-top: 1px solid var(--bk-lijn); }
.o_ty.o_ty .o_ty-invoice :is(th, td) { padding: 10px 0; border: 0; border-bottom: 1px solid var(--bk-lijn); background: none; font-size: 17px; text-align: left; color: #1b1f24; }
.o_ty.o_ty .o_ty-invoice th { font-size: 15px; font-weight: 400; text-transform: none; color: var(--bk-grijs); }
.o_ty.o_ty .o_ty-invoice :is(th, td):last-child { text-align: right; white-space: nowrap; }
.o_ty.o_ty .o_ty-invoice tbody td:first-child { font-weight: 700; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-invoice tfoot td { color: #3c4450; }
.o_ty.o_ty .o_ty-invoice tr.o_ty-invoice-total td { padding: 16px 18px; border: 0; background: var(--bk-geel); font-family: var(--bk-kop); font-size: 20px; font-weight: 700; color: var(--bk-op-geel); }
.o_ty.o_ty .o_ty-invoice tr.o_ty-invoice-total td:last-child,
.o_ty.o_ty .o_ty-invoice tr.o_ty-invoice-total td:last-child * { font-family: var(--bk-kop); font-size: 26px; color: var(--bk-op-geel); }

.o_ty.o_ty .o_ty-aside { padding-left: 36px; border-left: 1px solid var(--bk-lijn); }
.o_ty.o_ty .o_ty-box,
.o_ty.o_ty .o_ty-steps { margin: 0 0 30px; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.o_ty.o_ty .o_ty-box dl { margin: 0; }
.o_ty.o_ty .o_ty-box dt { margin: 10px 0 0; font-size: 15px; font-weight: 400; text-transform: none; color: var(--bk-grijs); }
.o_ty.o_ty .o_ty-box dd { margin: 0; font-size: 17px; font-weight: 600; color: var(--bf-donker, #112337); overflow-wrap: anywhere; }
.o_ty.o_ty .o_ty-vervolg { list-style: none; counter-reset: ty; margin: 10px 0 0; padding: 0; border-top: 1px solid var(--bk-lijn); }
.o_ty.o_ty .o_ty-vervolg li { counter-increment: ty; position: relative; margin: 0; padding: 13px 4px 13px 40px; border-bottom: 1px solid var(--bk-lijn); font-size: 16px; line-height: 1.45; color: #1b1f24; }
.o_ty.o_ty .o_ty-vervolg li::before { content: counter(ty); position: absolute; left: 4px; top: 13px; width: 24px; height: 24px; border: 1.5px solid var(--bf-donker, #112337); border-radius: 50%; font-family: var(--bk-kop); font-size: 13px; font-weight: 700; line-height: 21px; text-align: center; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-vervolg strong { display: block; font-size: 17px; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-contact { margin: 0; padding: 22px; border: 0; border-radius: 0; background: var(--bk-vlak); color: #1b1f24; }
.o_ty.o_ty .o_ty-contact p { margin: 0 0 6px; font-size: 17px; color: #1b1f24; }
.o_ty.o_ty .o_ty-contact-link { display: inline; margin: 0; padding: 0; font-size: 17px; font-weight: 700; color: var(--bf-primary, #003DA6); text-decoration: underline; text-underline-offset: 3px; } /* op één regel met "Bel"/"Mail" (mail Nina 28 okt 2026) */
.o_ty.o_ty .o_ty-contact-regel { margin: 0; padding: 0; font-size: 17px; line-height: 1.7; color: #1b1f24; }

.o_ty.o_ty .o_ty-reminder { margin: 0 0 30px; padding: 16px 18px; border: 1px solid var(--bf-donker, #112337); border-radius: 0; background: #fff; box-shadow: inset 5px 0 0 var(--bk-geel); }
.o_ty.o_ty .o_ty-reminder-icon { display: none; }
.o_ty.o_ty .o_ty-reminder strong { font-family: var(--bk-kop); font-size: 19px; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-reminder p { margin: 4px 0 0; font-size: 17px; color: #1b1f24; }
.o_ty.o_ty .o_ty-upsell { margin-top: 40px; padding: 28px 0 0; border: 0; border-top: 1px solid var(--bk-lijn); border-radius: 0; background: none; }
.o_ty.o_ty .o_ty-upsell-title { font-family: var(--bk-kop); font-size: 28px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_ty.o_ty .o_ty-upsell-sub { font-size: 17px; color: #1b1f24; }
.o_ty.o_ty .o_ty-actions { margin-top: 30px; }

@media (max-width: 991px) {
    .o_ty.o_ty .o_ty-aside { margin-top: 30px; padding-left: 0; border-left: 0; }
}
@media (max-width: 600px) {
    .o_co.o_co .o_co-block-head { padding: 14px 16px; }
    .o_co.o_co .o_co-block-body { padding: 16px; }
    .o_co.o_co .o_co-block-head h3 { font-size: 20px; }
    .o_ty.o_ty .o_ty-header h1 { font-size: 32px; }
    .o_ty.o_ty .o_ty-sessie-date { min-width: 68px; }
}

/* Checkout en bedanktpagina: regels die het thema en de Elementor-kit met voorrang zetten */
.o_co.o_co .input-text,
.o_co.o_co select,
.o_co.o_co .select2-container .select2-selection--single { background-color: #fff !important; border: 1px solid #8a929c !important; border-radius: 3px !important; }
.o_co.o_co .input-text[readonly] { background-color: var(--bk-vlak) !important; }
.o_co.o_co .o_co-deelnemers-ctrl input { border-width: 0 1px !important; border-radius: 0 !important; }
.o_co.o_co .o_co-form #payment .payment_methods li { background: #fff !important; border: 1px solid var(--bk-lijn) !important; border-radius: 0 !important; box-shadow: none !important; }
.o_co.o_co .o_co-form #payment .payment_methods li:hover { border-color: var(--bf-donker, #112337) !important; }
.o_co.o_co .o_co-form #payment .payment_methods li:has(input:checked) { background: var(--bk-geel) !important; border-color: var(--bf-donker, #112337) !important; }
.o_co.o_co .o_co-form #payment .payment_methods li label { font-family: var(--bk-kop) !important; font-size: 18px; text-transform: none; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-form #payment .payment_methods li label i,
.o_co.o_co .o_co-form #payment .payment_methods li label::before { display: none !important; }
.o_co.o_co .o_co-form #payment .payment_box { background: none !important; border: 0 !important; padding: 0 0 0 28px; margin: 6px 0 0; }
.o_co.o_co .o_co-card-total-amount small,
.o_co.o_co .o_co-card-total-amount small * { display: inline; white-space: nowrap; }
.o_co.o_co .o_co-card-total-amount small { display: block; }
.o_ty.o_ty .o_ty-invoice :is(th, td), .o_ty.o_ty .o_ty-invoice :is(th, td) * { font-family: var(--bk-tekst) !important; }
.o_ty.o_ty .o_ty-invoice tr.o_ty-invoice-total td,
.o_ty.o_ty .o_ty-invoice tr.o_ty-invoice-total td * { font-family: var(--bk-kop) !important; border-radius: 0; }
.o_ty.o_ty .o_ty-invoice table { border-radius: 0; overflow: visible; }
.o_co.o_co .o_co-form .form-row input.input-text,
.o_co.o_co .o_co-form .form-row textarea,
.o_co.o_co .o_co-form .form-row select { background-color: #fff !important; border: 1px solid #8a929c !important; border-radius: 3px !important; font-size: 16px !important; color: #1b1f24 !important; }
.o_co.o_co .o_co-form .form-row input.input-text:focus,
.o_co.o_co .o_co-form .form-row textarea:focus { border-color: var(--bf-primary, #003DA6) !important; outline: 2px solid var(--bf-primary, #003DA6); outline-offset: 1px; }
.o_co.o_co .o_co-form .form-row input.input-text[readonly] { background-color: var(--bk-vlak) !important; }

/* Checkout: extra's onder het overzicht (Bax Dation > Extra's) */
.o_co.o_co .o_co-extras { margin-top: 22px; }
.o_co.o_co .o_co-extras-kop { margin: 0 0 8px; font-family: var(--bk-kop); font-size: 20px; font-weight: 700; line-height: 1.25; text-transform: none; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-extra { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 8px; padding: 14px 16px; border: 1px solid var(--bk-lijn); background: #fff; cursor: pointer; transition: border-color 120ms, background-color 120ms; }
.o_co.o_co .o_co-extra:hover { border-color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-extra:has(input:checked) { background: var(--bk-geel); border-color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-extra input { flex: 0 0 auto; margin: 3px 0 0; }
.o_co.o_co .o_co-extra-tekst { flex: 1 1 auto; min-width: 0; font-size: 15px; line-height: 1.4; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-extra-tekst strong { display: block; font-size: 17px; font-weight: 700; }
.o_co.o_co .o_co-extra-prijs { flex: 0 0 auto; text-align: right; font-family: var(--bk-kop); font-size: 17px; font-weight: 700; white-space: nowrap; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-extra-prijs small { display: block; font-family: var(--bk-tekst); font-size: 13px; font-weight: 400; white-space: normal; max-width: 110px; margin-left: auto; }

/* Boekpagina, blok 3: aantal deelnemers boven het totaal */
.o_wz--kalender .o_bk-layout .o_wz-aantal { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--bk-lijn); }
.o_wz--kalender .o_bk-layout .o_wz-aantal-tekst strong { display: block; font-family: var(--bk-kop); font-size: 18px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_wz--kalender .o_bk-layout .o_wz-aantal-tekst span { font-size: 15px; color: var(--bk-grijs); }
.o_wz--kalender .o_bk-layout .o_wz-aantal-ctrl { display: inline-flex; flex: 0 0 auto; border: 1px solid #8a929c; border-radius: 3px; overflow: hidden; background: #fff; }
.o_wz--kalender .o_bk-layout .o_wz-aantal-ctrl button,
.o_wz--kalender .o_bk-layout .o_wz-aantal-ctrl button:focus { width: 46px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: #fff; font-family: var(--bk-tekst); font-size: 20px; font-weight: 400; line-height: 1; color: var(--bf-donker, #112337); cursor: pointer; }
.o_wz--kalender .o_bk-layout .o_wz-aantal-ctrl button:hover { background: var(--bk-geel); color: var(--bk-op-geel); }
.o_wz--kalender .o_bk-layout .o_wz-aantal-ctrl input { width: 58px; height: 44px; margin: 0; padding: 0; border: 0; border-left: 1px solid #8a929c; border-right: 1px solid #8a929c; border-radius: 0; background: #fff; text-align: center; font-family: var(--bk-kop); font-size: 18px; font-weight: 700; color: var(--bf-donker, #112337); -moz-appearance: textfield; }
.o_wz--kalender .o_bk-layout .o_wz-aantal-ctrl input::-webkit-outer-spin-button,
.o_wz--kalender .o_bk-layout .o_wz-aantal-ctrl input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Checkout: de datumkiezer in de huisstijl (lijnen, geel datumvlak, gekozen regel geel) */
.o_co.o_co .o_dd-trigger { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 58px; padding: 8px 14px; border: 1px solid #8a929c !important; border-radius: 3px !important; background: #fff !important; box-shadow: none !important; text-align: left; }
.o_co.o_co .o_dd-trigger:hover { border-color: var(--bf-donker, #112337) !important; }
.o_co.o_co .o_dd-trigger .o_rs, .o_co.o_co .o_dd-trigger [class*="o_dd-trigger-rs"], .o_co.o_co .o_dd-option-rs { display: none !important; }
.o_co.o_co .o_dd-trigger-arrow { margin-left: auto; color: var(--bf-donker, #112337); }
.o_co.o_co .o_dd-panel { margin-top: 4px; padding: 0; border: 1px solid var(--bf-donker, #112337); border-radius: 0; background: #fff; box-shadow: 0 6px 18px rgba(17, 35, 55, .12); max-height: 380px; overflow: auto; }
.o_co.o_co .o_dd-option { display: flex; align-items: center; gap: 14px; margin: 0; padding: 10px 14px 10px 10px; border: 0; border-bottom: 1px solid var(--bk-lijn); border-radius: 0; background: #fff; cursor: pointer; }
.o_co.o_co .o_dd-option:last-child { border-bottom: 0; }
.o_co.o_co .o_dd-option:hover { background: var(--bk-geel); }
.o_co.o_co .o_dd-option--selected { background: var(--bk-geel); box-shadow: inset 4px 0 0 var(--bf-donker, #112337); }
.o_co.o_co .o_dd-option-date { display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 0 0 auto; width: 56px; height: 58px; padding: 0; border: 0; border-radius: 0; background: var(--bk-geel); line-height: 1.05; color: var(--bk-op-geel); }
.o_co.o_co .o_dd-option:hover .o_dd-option-date,
.o_co.o_co .o_dd-option--selected .o_dd-option-date { background: var(--bf-donker, #112337); color: #fff; }
.o_co.o_co .o_dd-option:hover .o_dd-option-date *,
.o_co.o_co .o_dd-option--selected .o_dd-option-date * { color: #fff; }
.o_co.o_co .o_dd-date-day { font-family: var(--bk-kop); font-size: 24px; font-weight: 700; color: var(--bk-op-geel); }
.o_co.o_co .o_dd-date-day--range { font-size: 17px; }
.o_co.o_co .o_dd-date-month { font-size: 14px; text-transform: lowercase; color: var(--bk-op-geel); }
.o_co.o_co .o_dd-option-info { display: flex; flex-wrap: wrap; flex: 1 1 auto; gap: 0 14px; min-width: 0; }
.o_co.o_co .o_dd-option-info strong { flex: 0 0 100%; font-family: var(--bk-kop); font-size: 18px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_co.o_co .o_dd-option-info > span { font-size: 16px; color: var(--bf-donker, #112337); }
.o_co.o_co .o_dd-option-info > span i { display: none; }
.o_co.o_co .o_dd-option-seats { flex: 0 0 auto; }
.o_co.o_co .o_dd-seats { padding: 0; border: 0; border-radius: 0; background: none; font-size: 15px; font-weight: 400; white-space: nowrap; color: var(--bf-donker, #112337); }
.o_co.o_co .o_dd-seats--limited, .o_co.o_co .o_dd-seats[class*="limited"] { font-weight: 700; }
.o_co.o_co .o_dd-option-check { display: none; }
.o_co.o_co .o_dd-tag-multi, .o_co.o_co .o_dd-day-pill { border-radius: 0; background: none; border: 1px solid var(--bf-donker, #112337); color: var(--bf-donker, #112337); font-size: 13px; }
.o_co.o_co .o_dd-seats, .o_co.o_co .o_dd-seats * { text-transform: none; letter-spacing: 0; }


/* =============================================================
   Rijopleidingen en andere flows zonder kalender (o_wz--stappen):
   dezelfde vormgeving als de boekpagina met kalender. De regels
   voor keuzes, vinkjes, formulieren en het overzicht hieronder
   zijn één op één overgenomen uit de sectie "Boekpagina met
   kalender" (zelfde declaraties, andere prefix); daarna volgt wat
   alleen deze opbouw heeft: voortgang, samenvatting rechts.
   ============================================================= */
.o_wz--stappen .o_wz-layout {
    --bk-kop: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif;
    --bk-tekst: var(--e-global-typography-text-font-family, "Source Sans Pro"), -apple-system, "Segoe UI", sans-serif;
    --bk-lijn: #d5d9e0;
    --bk-grijs: #5a6470;
    --bk-vlak: #f1f3f6;
    --bk-geel: var(--bf-accent, #FFCD00);
    --bk-op-geel: var(--bf-accent-tekst, #112337);
    font-family: var(--bk-tekst);
    font-size: 17px;
    line-height: 1.55;
    color: #1b1f24;
}
.o_wz--stappen .o_wz-layout .column-title {
    font-family: var(--bk-kop);
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    text-transform: none;
    letter-spacing: 0;
    color: var(--bf-donker, #212121);
    margin: 0 0 10px;
}
.o_wz--stappen .o_wz-layout .o_wc-leadtext,
.o_wz--stappen .o_wz-layout .o_wc-leadtext p {
    font-family: var(--bk-tekst);
    font-size: 18px;
    line-height: 1.55;
    color: #1b1f24;
    margin: 0;
}
.o_wz--stappen .o_wz-layout .o_wz-step-head { margin-bottom: 14px; }
.o_wz--stappen .o_wz-layout .o_wz-step-titel {
    font-family: var(--bk-kop);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.25;
    color: var(--bf-donker, #212121);
    margin: 0 0 4px;
}
.o_wz--stappen .o_wz-layout .o_wz-step-sub { font-size: 16px; line-height: 1.5; color: var(--bk-grijs); }
.o_wz--stappen .o_wz-layout .o_wz-cards,
.o_wz--stappen .o_wz-layout .o_wz-cards.o_wz-cards--vier,
.o_wz--stappen .o_wz-layout .o_wz-cards.o_wz-cards--prominent {
    display: block;
    border-top: 1px solid var(--bk-lijn);
}
.o_wz--stappen .o_wz-layout .o_wz-card,
.o_wz--stappen .o_wz-layout .o_wz-card:hover,
.o_wz--stappen .o_wz-layout .o_wz-card:focus,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen:hover,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen:focus {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-auto-flow: dense;
    column-gap: 18px;
    align-items: start;
    width: 100%;
    margin: 0;
    padding: 14px 6px 14px 40px;
    background: #fff;
    border: 0;
    border-bottom: 1px solid var(--bk-lijn);
    border-radius: 0;
    box-shadow: none;
    transform: none;
    text-align: left;
    font-family: var(--bk-tekst);
    color: #1b1f24;
    cursor: pointer;
}
.o_wz--stappen .o_wz-layout .o_wz-card:hover { background: var(--bk-vlak); }
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen:hover,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen:focus { background: var(--bk-geel); }
.o_wz--stappen .o_wz-layout .o_wz-card::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 17px;
    width: 18px;
    height: 18px;
    border: 1.5px solid var(--bf-donker, #212121);
    border-radius: 50%;
    background: #fff;
}
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen :is(.o_wz-card-titel, .o_wz-card-sub, .o_wz-card-badge, .o_wz-card-prijs, .o_wz-card-prijs small, .o_wz-prijs-sub) { color: var(--bk-op-geel); }
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen::before { box-shadow: inset 0 0 0 4px #fff; background: var(--bf-donker, #212121); }
.o_wz--stappen .o_wz-layout .o_wz-card-icon,
.o_wz--stappen .o_wz-layout .o_wz-card-check { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-card-titel {
    grid-column: 1;
    grid-row: 1;
    font-family: var(--bk-tekst);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--bf-donker, #212121);
    margin: 0;
}
.o_wz--stappen .o_wz-layout .o_wz-card-sub {
    grid-column: 1;
    grid-row: 2;
    font-size: 15px;
    line-height: 1.45;
    color: var(--bk-grijs);
    margin: 2px 0 0;
}
.o_wz--stappen .o_wz-layout .o_wz-card-badge {
    grid-column: 1;
    grid-row: 3;
    position: static;
    justify-self: start;
    transform: none;
    margin: 4px 0 0;
    padding: 0;
    background: none;
    border-radius: 0;
    box-shadow: none;
    font-family: var(--bk-tekst);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--bf-primary, #ED6B06);
}
.o_wz--stappen .o_wz-layout .o_wz-card .o_wz-card-prijs,
.o_wz--stappen .o_wz-layout .o_wz-card .o_wz-prijs-sub {
    grid-column: 2;
    margin: 0;
    text-align: right;
    white-space: nowrap;
}
.o_wz--stappen .o_wz-layout .o_wz-card .o_wz-card-prijs {
    font-family: var(--bk-kop);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.35;
    color: var(--bf-donker, #212121);
}
.o_wz--stappen .o_wz-layout .o_wz-card .o_wz-card-prijs { grid-row: 1; }
.o_wz--stappen .o_wz-layout .o_wz-card .o_wz-prijs-sub { grid-row: 2; }
.o_wz--stappen .o_wz-layout .o_wz-card .o_wz-card-prijs small { display: inline; font-family: var(--bk-tekst); font-size: 13px; font-weight: 400; color: var(--bk-grijs); }
.o_wz--stappen .o_wz-layout .o_wz-card .o_wz-prijs-sub { font-size: 13px; line-height: 1.4; color: var(--bk-grijs); white-space: normal; max-width: 190px; }
.o_wz--stappen .o_wz-layout .o_wz-card .o_wz-info { position: static; grid-column: 2; justify-self: end; }
.o_wz--stappen .o_wz-layout .o_wz-janee { display: flex; gap: 10px; }
.o_wz--stappen .o_wz-layout .o_wz-janee-btn,
.o_wz--stappen .o_wz-layout .o_wz-janee-btn:hover,
.o_wz--stappen .o_wz-layout .o_wz-janee-btn:focus {
    flex: 0 0 auto;
    min-width: 110px;
    padding: 11px 22px;
    background: #fff;
    border: 1px solid var(--bf-donker, #212121);
    border-radius: 4px;
    box-shadow: none;
    font-family: var(--bk-tekst);
    font-size: 17px;
    font-weight: 700;
    color: var(--bf-donker, #212121);
    cursor: pointer;
}
.o_wz--stappen .o_wz-layout .o_wz-janee-btn:hover { background: var(--bk-vlak); }
.o_wz--stappen .o_wz-layout .o_wz-janee-btn.is-gekozen,
.o_wz--stappen .o_wz-layout .o_wz-janee-btn.is-gekozen:hover,
.o_wz--stappen .o_wz-layout .o_wz-janee-btn.is-gekozen:focus { background: var(--bf-donker, #212121); color: #fff; }
.o_wz--stappen .o_wz-layout .o_wz-janee-btn i { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-vink { border: 0; border-bottom: 1px solid var(--bk-lijn); border-radius: 0; background: #fff; font-family: var(--bk-tekst); font-size: 16px; }
.o_wz--stappen .o_wz-layout .o_wz-checklist { border-top: 1px solid var(--bk-lijn); margin-bottom: 16px; }
.o_wz--stappen .o_wz-layout .o_wz-formulier label { font-family: var(--bk-tekst); font-size: 16px; font-weight: 600; }
.o_wz--stappen .o_wz-layout .o_wz-formulier .input-text { border-radius: 3px; font-family: var(--bk-tekst); font-size: 16px; }
.o_wz--stappen .o_wz-layout .o_header_btn_orange,
.o_wz--stappen .o_wz-layout .o_header_btn_orange:focus {
    padding: 14px 24px 13px;
    border-radius: 4px;
    font-family: var(--bk-kop);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.01em;
    text-transform: uppercase;
}
.o_wz--stappen .o_wz-layout .o_wz-einde-note { font-family: var(--bk-tekst); font-size: 15px; color: var(--bk-grijs); }
.o_wz--stappen .o_wz-layout .o_wz-overzicht,
.o_wz--stappen .o_wz-layout .o_wz-overzicht-totaal { border-radius: 0; font-family: var(--bk-tekst); }
@media (max-width: 600px) {
.o_wz--stappen .o_wz-layout .column-title { font-size: 32px; }
.o_wz--stappen .o_wz-layout .o_wz-card .o_wz-prijs-sub { max-width: 130px; }
}
.o_wz--stappen .o_wz-layout .o_wz-cards,
.o_wz--stappen .o_wz-layout .o_wz-cards.o_wz-cards--vier,
.o_wz--stappen .o_wz-layout .o_wz-cards.o_wz-cards--prominent { border-top: 0; }
.o_wz--stappen .o_wz-layout .o_wz-card,
.o_wz--stappen .o_wz-layout .o_wz-card:hover,
.o_wz--stappen .o_wz-layout .o_wz-card:focus,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen:hover,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen:focus {
    margin: 0 0 8px;
    padding: 14px 16px 14px 48px;
    border: 1px solid var(--bk-lijn);
    border-radius: 3px;
    transition: border-color 140ms cubic-bezier(0.22, 1, 0.36, 1), background-color 140ms cubic-bezier(0.22, 1, 0.36, 1);
}
.o_wz--stappen .o_wz-layout .o_wz-card:last-child { margin-bottom: 0; }
.o_wz--stappen .o_wz-layout .o_wz-card:hover { background: #fff; border-color: var(--bf-donker, #212121); }
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen:hover,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen:focus { background: var(--bk-geel); border-color: var(--bf-donker, #212121); }
.o_wz--stappen .o_wz-layout .o_wz-card::before { left: 16px; top: 17px; }
.o_wz--stappen .o_wz-layout .o_wz-checklist { border-top: 0; }
.o_wz--stappen .o_wz-layout .o_wz-vink,
.o_wz--stappen .o_wz-layout .o_wz-vink:hover { margin: 0 0 8px; border: 1px solid var(--bk-lijn); border-radius: 3px; background: #fff; transition: border-color 140ms cubic-bezier(0.22, 1, 0.36, 1); }
.o_wz--stappen .o_wz-layout .o_wz-vink:hover { border-color: var(--bf-donker, #212121); }
@media (prefers-reduced-motion: reduce) {
.o_wz--stappen .o_wz-layout .o_wz-card,
.o_wz--stappen .o_wz-layout .o_wz-vink { transition: none; }
}
.o_wz--stappen .o_wz-layout .o_wz-formulier.o_av-velden {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 18px;
    max-width: none;
    margin: 0;
}
@media (max-width: 640px) {
.o_wz--stappen .o_wz-layout .o_wz-formulier.o_av-velden { grid-template-columns: 1fr; }
}
.o_wz--stappen .o_wz-layout .o_wz-overzicht {
    margin: 18px 0 0;
    padding: 0;
    border: 0;
    border-top: 2px solid var(--bf-donker, #112337);
    background: none;
    box-shadow: none;
}
.o_wz--stappen .o_wz-layout .o_wz-overzicht-rij {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 20px;
    margin: 0;
    padding: 13px 0;
    border: 0;
    border-bottom: 1px solid var(--bk-lijn);
    background: none;
    font-size: 17px;
    line-height: 1.4;
    color: #1b1f24;
}
.o_wz--stappen .o_wz-layout .o_wz-overzicht-rij > span { min-width: 0; }
.o_wz--stappen .o_wz-layout .o_wz-overzicht-label {
    display: block;
    margin: 0 0 1px;
    font-family: var(--bk-tekst);
    font-size: 15px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: var(--bk-grijs);
}
.o_wz--stappen .o_wz-layout .o_wz-overzicht-rij--hoofd > span { font-family: var(--bk-kop); font-size: 19px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-overzicht-rij > strong {
    flex: 0 0 auto;
    font-family: var(--bk-kop);
    font-size: 17px;
    font-weight: 700;
    white-space: nowrap;
    color: var(--bf-donker, #112337);
}
.o_wz--stappen .o_wz-layout .o_wz-overzicht-rij > strong:empty { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-overzicht-rij > strong small { font-family: var(--bk-tekst); font-size: 13px; font-weight: 400; }
.o_wz--stappen .o_wz-layout .o_wz-overzicht-totaal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0;
    padding: 16px 18px;
    border: 0;
    background: var(--bk-geel);
    color: var(--bk-op-geel);
}
.o_wz--stappen .o_wz-layout .o_wz-overzicht-totaal > span { font-family: var(--bk-kop); font-size: 20px; font-weight: 700; color: var(--bk-op-geel); }
.o_wz--stappen .o_wz-layout .o_wz-overzicht-totaal > span small { margin-left: 6px; font-family: var(--bk-tekst); font-size: 15px; font-weight: 400; color: var(--bk-op-geel); opacity: 1; }
.o_wz--stappen .o_wz-layout .o_wz-overzicht-totaal > strong {
    font-family: var(--bk-kop);
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    text-align: right;
    color: var(--bk-op-geel);
}
.o_wz--stappen .o_wz-layout .o_wz-overzicht-incl {
    display: block;
    margin-top: 3px;
    font-family: var(--bk-tekst);
    font-size: 15px;
    font-weight: 400;
    color: var(--bk-op-geel);
    opacity: 1;
}
.o_wz--stappen .o_wz-layout .o_wz-einde-acties { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; margin-top: 20px; }
.o_wz--stappen .o_wz-layout .o_wz-einde-acties .o_wz-inschrijven { display: inline-flex; flex-direction: row-reverse; align-items: center; gap: 10px; margin: 0; }
.o_wz--stappen .o_wz-layout .o_wz-einde-acties .o_wz-inschrijven i { margin: 0; }
.o_wz--stappen .o_wz-layout .o_wz-einde-note { margin: 0; }
.o_wz--stappen .o_wz-layout .o_wz-einde-note i { display: none; }
@media (max-width: 600px) {
.o_wz--stappen .o_wz-layout .o_wz-overzicht-totaal > strong { font-size: 24px; }
.o_wz--stappen .o_wz-layout .o_wz-einde-acties .o_wz-inschrijven { width: 100%; justify-content: center; }
}

/* ---------- Alleen in deze opbouw ---------- */
.o_wz--stappen .o_wz-layout { grid-template-columns: minmax(0, 1fr) 370px; gap: 0 48px; }
.o_wz--stappen .o_wz-layout .o_c95-tag { display: none; }
.o_wz--stappen .o_wz-layout .o_wc-leadtext { margin-bottom: 22px; }

/* Voortgang: een dunne lijn, de stap in gewone letters */
.o_wz--stappen .o_wz-layout .o_wz-progress { margin: 0 0 22px; }
.o_wz--stappen .o_wz-layout .o_wz-progress-info { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 8px; }
.o_wz--stappen .o_wz-layout .o_wz-progress-stap { font-family: var(--bk-kop); font-size: 16px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-progress-bar { height: 4px; border-radius: 0; background: var(--bk-lijn); }
.o_wz--stappen .o_wz-layout .o_wz-progress-fill { height: 4px; border-radius: 0; background: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-progress .o_wz-terug,
.o_wz--stappen .o_wz-layout .o_wz-progress .o_wz-terug:hover,
.o_wz--stappen .o_wz-layout .o_wz-progress .o_wz-terug:focus { margin: 0; padding: 0; border: 0; background: none; font-family: var(--bk-tekst); font-size: 15px; font-weight: 600; text-transform: none; color: var(--bf-primary, #003DA6); }

/* Stapkop met de losse optie ernaast (proefles, Try The Bike) */
.o_wz--stappen .o_wz-layout .o_wz-step-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin: 0 0 16px; padding: 0; border: 0; }
.o_wz--stappen .o_wz-layout .o_wz-step-titel { font-size: 26px; }
.o_wz--stappen .o_wz-layout .o_wz-zij:not(.o_wz-zij--knop),
.o_wz--stappen .o_wz-layout .o_wz-zij:not(.o_wz-zij--knop):focus { flex: 0 0 250px; display: block; margin: 0; padding: 12px 14px; border: 1px solid var(--bk-lijn); border-radius: 0; background: #fff; box-shadow: none; text-align: left; text-transform: none; color: #1b1f24; cursor: pointer; }
.o_wz--stappen .o_wz-layout .o_wz-zij:not(.o_wz-zij--knop):hover { border-color: var(--bf-donker, #112337); background: #fff; }
.o_wz--stappen .o_wz-layout .o_wz-zij.is-gekozen:not(.o_wz-zij--knop),
.o_wz--stappen .o_wz-layout .o_wz-zij.o_wz-zij--gekozen:not(.o_wz-zij--knop) { background: var(--bk-geel); border-color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-zij-label { display: block; font-family: var(--bk-tekst); font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--bk-grijs); }
.o_wz--stappen .o_wz-layout .o_wz-zij-titel { display: block; font-family: var(--bk-kop); font-size: 18px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-zij-titel i { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-zij-sub { display: block; font-family: var(--bk-tekst); font-size: 15px; font-weight: 400; line-height: 1.4; color: #1b1f24; }
.o_wz--stappen .o_wz-layout .o_wz-zij-kosten, .o_wz--stappen .o_wz-layout .o_wz-zij-prijs { font-family: var(--bk-kop); font-size: 16px; font-weight: 700; color: var(--bf-donker, #112337); }

/* Samenvatting rechts: lijnen, het totaal op Bax-geel */
.o_wz--stappen .o_wz-side { border-left: 1px solid var(--bk-lijn); padding-left: 36px; }
.o_wz--stappen .o_wz-side .widget { margin: 0 0 30px; padding: 0; border: 0; background: none; box-shadow: none; }
.o_wz--stappen .o_wz-side .o_c95-sum { border: 0; border-radius: 0; background: none; box-shadow: none; overflow: visible; }
.o_wz--stappen .o_wz-side .o_c95-sum-head { display: block; margin: 0; padding: 0 0 8px; border: 0; border-bottom: 2px solid var(--bf-donker, #112337); border-radius: 0; background: none; }
.o_wz--stappen .o_wz-side .o_c95-sum-head-label { font-family: var(--bk-kop); font-size: 24px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-side .o_c95-sum-head-count { display: none; }
.o_wz--stappen .o_wz-side .o_c95-sum-body { margin: 0; padding: 0; border: 0; background: none; }
.o_wz--stappen .o_wz-side .o_wz-sum-leeg { margin: 0; padding: 12px 0; font-family: var(--bk-tekst); font-size: 16px; color: var(--bk-grijs); }
.o_wz--stappen .o_wz-side .o_c95-sum-row { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; margin: 0; padding: 10px 0; border: 0; border-bottom: 1px solid var(--bk-lijn); }
.o_wz--stappen .o_wz-side .o_c95-sum-row-label { font-family: var(--bk-tekst); font-size: 16px; font-weight: 400; letter-spacing: 0; text-transform: none; color: #1b1f24; }
.o_wz--stappen .o_wz-side .o_c95-sum-row-val { font-family: var(--bk-kop); font-size: 16px; font-weight: 700; white-space: nowrap; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-side .o_wz-inbegrepen { padding: 0; border: 0; border-radius: 0; background: none; font-family: var(--bk-tekst); font-size: 15px; font-weight: 400; color: var(--bk-grijs); }
.o_wz--stappen .o_wz-side .o_wz-sum-einde-note { margin: 0; padding: 12px 0; font-family: var(--bk-tekst); font-size: 16px; color: #1b1f24; }
.o_wz--stappen .o_wz-side .o_wz-sum-einde-note i { display: none; }
.o_wz--stappen .o_wz-side .o_c95-sum-total { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 14px; margin: 0; padding: 14px 16px; border: 0; border-radius: 0; background: var(--bk-geel); }
.o_wz--stappen .o_wz-side .o_c95-sum-total-label span:first-child { display: block; font-family: var(--bk-kop); font-size: 20px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--bk-op-geel); }
.o_wz--stappen .o_wz-side .o_c95-sum-vat { font-family: var(--bk-tekst); font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--bk-op-geel); }
.o_wz--stappen .o_wz-side .o_c95-sum-price,
.o_wz--stappen .o_wz-side .o_c95-sum-price-eur,
.o_wz--stappen .o_wz-side .o_c95-sum-price-amt { font-family: var(--bk-kop); font-size: 26px; font-weight: 700; line-height: 1.1; color: var(--bk-op-geel); }
.o_wz--stappen .o_wz-side .o_c95-sum-price-eur { margin-right: 3px; top: 0; }
.o_wz--stappen .o_wz-side .o_c95-sum-price-sub { flex: 0 0 100%; text-align: right; font-family: var(--bk-tekst); font-size: 14px; color: var(--bk-op-geel); }
.o_wz--stappen .o_wz-side .o_c95-sum-cta { margin: 14px 0 0; }
.o_wz--stappen .o_wz-side .o_c95-sum-cta i { display: none; }
.o_wz--stappen .o_wz-side .o_c95-sum-cta[disabled] { background: none; border: 1px solid var(--bk-lijn); color: var(--bk-grijs); font-family: var(--bk-tekst); font-size: 15px; font-weight: 400; text-transform: none; opacity: 1; cursor: default; }

/* Contact: hetzelfde vlak als op de boekpagina; de keurmerkregel met iconen vervalt */
.o_wz--stappen .o_wz-side .o_wc-contact-widget { margin: 0; padding: 22px; border: 0; border-radius: 0; background: var(--bk-vlak); box-shadow: none; text-align: left; }
.o_wz--stappen .o_wz-side .o_wc-contact-body { padding: 0; text-align: left; }
.o_wz--stappen .o_wz-side .o_wc-contact-widget h4 { margin: 0 0 6px; font-family: var(--bk-kop); font-size: 24px; font-weight: 700; line-height: 1.2; letter-spacing: 0; text-transform: none; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-side .o_wc-contact-name, .o_wz--stappen .o_wz-side .o_wc-contact-photo { display: none; }
.o_wz--stappen .o_wz-side .o_wc-contact-links { margin: 0; padding: 0; border: 0; }
.o_wz--stappen .o_wz-side .o_wc-contact-links a { display: block; margin: 0; padding: 0; border: 0; font-family: var(--bk-tekst); font-size: 17px; font-weight: 700; line-height: 1.6; color: var(--bf-primary, #003DA6); text-decoration: underline; text-underline-offset: 3px; }
.o_wz--stappen .o_wz-side .o_wc-contact-links a i { display: none; }
.o_wz--stappen .o_wz-side .widget:has(.o_wc-usps), .o_wz--stappen .o_wz-side .o_wc-usps { display: none; }

@media (max-width: 1199px) {
    .o_wz--stappen .o_wz-layout { grid-template-columns: 1fr; }
    .o_wz--stappen .o_wz-side { margin-top: 30px; padding-left: 0; border-left: 0; }
}
@media (max-width: 700px) {
    .o_wz--stappen .o_wz-layout .o_wz-step-head { flex-direction: column; }
    .o_wz--stappen .o_wz-layout .o_wz-zij:not(.o_wz-zij--knop) { flex: 0 0 auto; width: 100%; }
}
/* De vier regels onder het contactblok (teksten van Bax, mail 3 sept 2026): gewone lijst, geen iconenraster */
.o_wz--stappen .o_wz-side .o_wc-trust-badges { display: block; margin: 0; padding: 0; border: 0; border-top: 1px solid var(--bk-lijn, #d5d9e0); background: none; }
.o_wz--stappen .o_wz-side .o_wc-trust-badge { display: block; margin: 0; padding: 9px 0; border: 0; border-bottom: 1px solid var(--bk-lijn, #d5d9e0); background: none; font-family: var(--bk-tekst, "Source Sans Pro", sans-serif); font-size: 16px; font-weight: 400; line-height: 1.4; letter-spacing: 0; text-transform: none; text-align: left; color: #1b1f24; }
.o_wz--stappen .o_wz-side .o_wc-trust-badge i { display: none; }
.o_wz--stappen .o_wz-side .o_wc-trust-badge span { font: inherit; letter-spacing: 0; text-transform: none; color: inherit; }
.o_wz--stappen .o_wz-layout .o_wz-card.o_wz-card--prominent:not(.is-gekozen):not(.o_wz-card--gekozen):not(:hover) { border-color: var(--bk-lijn); box-shadow: none; transform: none; }
.o_wz--stappen .o_wz-layout .o_wz-card.o_wz-card--prominent { box-shadow: none; transform: none; }
.o_wz--stappen .o_wz-layout .o_wz-card-badge { font-family: var(--bk-tekst); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-side .o_c95-sum-cta, .o_wz--stappen .o_wz-side .o_c95-sum-cta[disabled] { display: block; width: 100%; margin: 14px 0 0; }
.o_wz--stappen .o_wz-layout .o_wz-vink-titel, .o_wz--stappen .o_wz-layout .o_wz-vink strong { font-family: var(--bk-tekst); font-size: 17px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-vink-sub { font-family: var(--bk-tekst); font-size: 15px; color: #3c4450; }
.o_wz--stappen .o_wz-layout .o_wz-vink-prijs, .o_wz--stappen .o_wz-layout .o_wz-vink-prijs * { font-family: var(--bk-kop); font-size: 17px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-inbegrepen { padding: 0; border: 0; border-radius: 0; background: none; font-family: var(--bk-tekst); font-size: 15px; font-weight: 400; color: var(--bk-grijs); }
.o_wz--stappen .o_wz-layout .o_wz-akkoord { margin: 18px 0 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
.o_wz--stappen .o_wz-layout .o_wz-akkoord-kop { margin: 0 0 8px; font-family: var(--bk-kop); font-size: 18px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-akkoord label { display: flex; align-items: flex-start; gap: 12px; margin: 0 0 8px; padding: 14px 16px; border: 1px solid var(--bk-lijn); border-radius: 0; background: #fff; font-family: var(--bk-tekst); font-size: 16px; line-height: 1.45; color: #1b1f24; }
.o_wz--stappen .o_wz-layout .o_wz-akkoord label:has(input:checked) { background: var(--bk-geel); border-color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-side .o_c95-sum-cta, .o_wz--stappen .o_wz-side .o_c95-sum-cta[disabled] { margin: 14px 0 0 !important; width: 100% !important; max-width: none; }
/* De stapkop naast de losse optie: de tekst krijgt geen vaste basis (stond op 380px, in een kolom werd dat hoogte) */
.o_wz--stappen .o_wz-layout .o_wz-step-head > div:first-child { flex: 1 1 auto; min-width: 0; }
@media (max-width: 700px) {
    .o_wz--stappen .o_wz-layout .o_wz-step-head > div:first-child { flex: 0 0 auto; }
    .o_wz--stappen .o_wz-layout .o_wz-zij:not(.o_wz-zij--knop),
    .o_wz--stappen .o_wz-layout .o_wz-zij:not(.o_wz-zij--knop):focus { flex: 0 0 auto; width: 100%; max-width: none; }
}

/* Rijopleidingen: wat al gekozen is boven de huidige vraag, en de foto van de opleiding */
.o_wz--stappen .o_wz-layout .o_wz-spoor { list-style: none; margin: 0 0 22px; padding: 0; border-top: 1px solid var(--bk-lijn); }
.o_wz--stappen .o_wz-layout .o_wz-spoor[hidden] { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-spoor li { display: flex; align-items: center; gap: 14px; margin: 0; padding: 10px 0; border-bottom: 1px solid var(--bk-lijn); }
.o_wz--stappen .o_wz-layout .o_wz-spoor-nr { display: flex; align-items: center; justify-content: center; flex: 0 0 26px; width: 26px; height: 26px; border: 1.5px solid #2f7d4f; border-radius: 50%; font-family: var(--bk-kop); font-size: 14px; font-weight: 700; line-height: 1; color: #2f7d4f; }
.o_wz--stappen .o_wz-layout .o_wz-spoor-tekst { flex: 1 1 auto; min-width: 0; font-size: 17px; font-weight: 600; line-height: 1.35; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-spoor-label { display: block; font-size: 14px; font-weight: 400; color: var(--bk-grijs); }
.o_wz--stappen .o_wz-layout .o_wz-spoor-prijs { flex: 0 0 auto; font-family: var(--bk-kop); font-size: 16px; font-weight: 700; white-space: nowrap; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-spoor-prijs small { font-family: var(--bk-tekst); font-size: 13px; font-weight: 400; }
.o_wz--stappen .o_wz-layout .o_wz-spoor-wijzig,
.o_wz--stappen .o_wz-layout .o_wz-spoor-wijzig:hover,
.o_wz--stappen .o_wz-layout .o_wz-spoor-wijzig:focus { flex: 0 0 auto; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; font-family: var(--bk-tekst); font-size: 15px; font-weight: 700; text-transform: none; color: var(--bf-primary, #003DA6); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.o_wz--stappen .o_wz-side .o_c95-sum-cta[hidden] { display: none !important; }

.o_wz--stappen .o_wz-layout .o_wz-kop--foto { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 0 28px; align-items: start; margin-bottom: 4px; }
.o_wz--stappen .o_wz-layout .o_wz-foto { margin: 0; }
.o_wz--stappen .o_wz-layout .o_wz-foto-img { display: block; width: 100%; height: 160px; object-fit: cover; border-radius: 0; }
@media (max-width: 700px) {
    .o_wz--stappen .o_wz-layout .o_wz-kop--foto { grid-template-columns: 1fr; }
    .o_wz--stappen .o_wz-layout .o_wz-foto { order: -1; margin: 0 0 16px; }
    .o_wz--stappen .o_wz-layout .o_wz-foto-img { height: 180px; }
    .o_wz--stappen .o_wz-layout .o_wz-spoor li { flex-wrap: wrap; gap: 4px 12px; }
    .o_wz--stappen .o_wz-layout .o_wz-spoor-tekst { flex: 1 1 calc(100% - 40px); }
    .o_wz--stappen .o_wz-layout .o_wz-spoor-prijs { margin-left: 40px; }
    .o_wz--stappen .o_wz-layout .o_wz-spoor-wijzig { margin-left: auto; }
}
.o_wz--stappen .o_wz-layout .o_wz-los { margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--bf-donker, #112337); font-size: 16px; line-height: 1.45; color: #1b1f24; }
.o_wz--stappen .o_wz-layout .o_wz-los[hidden] { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-los button,
.o_wz--stappen .o_wz-layout .o_wz-los button:hover,
.o_wz--stappen .o_wz-layout .o_wz-los button:focus { margin: 0 0 0 6px; padding: 0; border: 0; background: none; font-family: var(--bk-tekst); font-size: 16px; font-weight: 700; text-transform: none; color: var(--bf-primary, #003DA6); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

/* ---------- Rijopleidingen: stappen als blokken, zoals op de boekpagina ----------
   Wat gedaan is staat als gesloten blok met een groen nummer en Wijzig; de
   vraag van nu is het open blok met de donkere rand en de gele kant. Onderaan
   dat blok staat altijd dezelfde regel: links Vorige stap, rechts Verder. */
.o_wz--stappen .o_wz-layout .o_wz-progress { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-spoor { margin: 0; border: 0; }
.o_wz--stappen .o_wz-layout .o_wz-spoor li { margin: 0 0 12px; padding: 12px 22px; border: 1px solid var(--bk-lijn); background: #fff; }
.o_wz--stappen .o_wz-layout .o_wz-spoor-nr { flex-basis: 28px; width: 28px; height: 28px; font-size: 15px; }
.o_wz--stappen .o_wz-layout .o_wz-spoor-tekst { font-family: var(--bk-kop); font-size: 18px; font-weight: 700; }
.o_wz--stappen .o_wz-layout .o_wz-spoor-label { font-family: var(--bk-tekst); }

.o_wz--stappen .o_wz-layout .o_wz-step:not([hidden]) { margin: 0 0 12px; padding: 20px 22px 0; border: 1px solid var(--bf-donker, #112337); background: #fff; box-shadow: inset 5px 0 0 var(--bk-geel); scroll-margin-top: 150px; }
.o_wz--stappen .o_wz-layout .o_wz-step-titel { display: flex; align-items: center; gap: 14px; font-size: 24px; }
.o_wz--stappen .o_wz-layout .o_wz-step-titel[data-nr]::before { content: attr(data-nr); display: flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px; border: 1.5px solid var(--bf-donker, #112337); border-radius: 50%; font-family: var(--bk-kop); font-size: 15px; font-weight: 700; line-height: 1; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-step-sub { margin-left: 42px; }
.o_wz--stappen .o_wz-layout .o_wz-step-voet { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 20px -22px 0; padding: 14px 22px; border-top: 1px solid var(--bk-lijn); background: #fafbfc; }
.o_wz--stappen .o_wz-layout .o_wz-step-voet[hidden] { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-step:not([hidden]):not(:has(.o_wz-step-voet:not([hidden]))) { padding-bottom: 22px; }
.o_wz--stappen .o_wz-layout .o_wz-step-voet-hint { font-size: 15px; color: var(--bk-grijs); }
.o_wz--stappen .o_wz-layout .o_wz-step-voet .o_wz-verder { margin: 0; }
.o_wz--stappen .o_wz-layout .o_wz-step-voet .o_wz-terug,
.o_wz--stappen .o_wz-layout .o_wz-step-voet .o_wz-terug:focus { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 11px 18px; border: 1px solid var(--bf-donker, #112337); border-radius: 3px; background: #fff; font-family: var(--bk-kop); font-size: 16px; font-weight: 700; line-height: 1.2; text-transform: none; color: var(--bf-donker, #112337); cursor: pointer; }
.o_wz--stappen .o_wz-layout .o_wz-step-voet .o_wz-terug:hover { background: var(--bf-donker, #112337); color: #fff; }
.o_wz--stappen .o_wz-layout .o_wz-step-voet .o_wz-terug i { font-size: 13px; }
.o_wz--stappen .o_wz-layout .o_wz-einde-acties { margin-bottom: 0; }
@media (max-width: 600px) {
    .o_wz--stappen .o_wz-layout .o_wz-step:not([hidden]) { padding: 16px 16px 0; }
    .o_wz--stappen .o_wz-layout .o_wz-step-voet { margin: 16px -16px 0; padding: 12px 16px; }
    .o_wz--stappen .o_wz-layout .o_wz-spoor li { padding: 12px 16px; }
    .o_wz--stappen .o_wz-layout .o_wz-step-sub { margin-left: 0; }
    .o_wz--stappen .o_wz-layout .o_wz-step-voet-hint { font-size: 14px; text-align: right; }
}

/* Meeschuivende kolommen plakken onder de vaste header (hoogte gemeten, zie includes/boekpagina.php) */
.o_wz-side .o_wz-sidebar { top: calc(var(--bax-kop, 130px) + 20px); }
.o_wz--stappen .o_wz-side .o_wz-sidebar { max-height: calc(100vh - var(--bax-kop, 130px) - 40px); overflow: auto; }
.o_co.o_co .o_co-right { top: calc(var(--bax-kop, 130px) + 20px); }
@media (min-width: 992px) { .o_c95-kolom-sticky { top: calc(var(--bax-kop, 130px) + 20px); } }
@media (max-width: 1199px) { .o_wz--stappen .o_wz-side .o_wz-sidebar { position: static; max-height: none; overflow: visible; } }
@media (min-width: 992px) { .o_wc-product.o_c95 .o_c95-kolom-sticky, .o_wc-product.o_c95 > .row > .o_c95-kolom .o_c95-kolom-sticky { top: calc(var(--bax-kop, 130px) + 20px); } }
.o_wz--stappen .o_wz-layout .o_wz-step-voet .o_wz-terug, .o_wz--stappen .o_wz-layout .o_wz-step-voet .o_wz-verder { white-space: nowrap; }
@media (max-width: 700px) {
    .o_wz--stappen .o_wz-layout .o_wz-spoor li { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; gap: 0 12px; align-items: center; }
    .o_wz--stappen .o_wz-layout .o_wz-spoor-nr { grid-row: 1 / span 2; align-self: start; margin-top: 2px; }
    .o_wz--stappen .o_wz-layout .o_wz-spoor-tekst { grid-column: 2; flex: none; }
    .o_wz--stappen .o_wz-layout .o_wz-spoor-prijs { grid-column: 2; grid-row: 2; margin: 0; }
    .o_wz--stappen .o_wz-layout .o_wz-spoor-wijzig { grid-column: 3; grid-row: 1 / span 2; margin: 0; }
    .o_wz--stappen .o_wz-layout .o_wz-step-voet .o_wz-terug,
    .o_wz--stappen .o_wz-layout .o_wz-step-voet .o_wz-terug:focus { padding: 11px 14px; font-size: 15px; }
    .o_wz--stappen .o_wz-layout .o_wz-step-voet .o_wz-verder { padding-left: 18px; padding-right: 18px; }
}

/* Checkout: "datum in overleg" als gewone tekst met een kop, geen kader met icoon */
.o_co.o_co .o_dd-leeg { display: block; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; text-align: left; }
.o_co.o_co .o_dd-leeg-icon { display: none; }
.o_co.o_co .o_dd-leeg-tekst { display: block; max-width: 60ch; font-size: 17px; line-height: 1.5; color: #1b1f24; }
.o_co.o_co .o_dd-leeg-tekst strong { display: block; margin: 0 0 4px; font-family: var(--bk-kop); font-size: 20px; font-weight: 700; line-height: 1.25; color: var(--bf-donker, #112337); }

/* Checkout: adres. Postcode en huisnummer naast elkaar, daaronder wat PDOK erbij vond */
.o_co.o_co .o_co-form #billing_postcode_field,
.o_co.o_co .o_co-form #billing_address_1_field { float: left; clear: left; width: calc(50% - 9px); }
.o_co.o_co .o_co-form #billing_huisnummer_field,
.o_co.o_co .o_co-form #billing_city_field { float: right; clear: none; width: calc(50% - 9px); }
.o_co.o_co .o_co-form #billing_huisnummer_field input { width: 100%; max-width: none; }
.o_co.o_co .o_co-adres { clear: both; margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--bk-lijn); font-size: 16px; line-height: 1.45; color: #1b1f24; }
.o_co.o_co .o_co-adres[hidden] { display: none; }
.o_co.o_co .o_co-adres--gevonden { border-color: #2f7d4f; }
.o_co.o_co .o_co-adres--gevonden::before { content: "Gevonden: "; color: #2f7d4f; font-weight: 700; }
.o_co.o_co .o_co-adres--niet { border-color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-adres strong { font-weight: 700; color: var(--bf-donker, #112337); }
.o_co.o_co .o_co-adres-ook { display: block; margin-top: 4px; font-size: 15px; color: var(--bk-grijs); }
.o_co.o_co .o_co-adres button,
.o_co.o_co .o_co-adres button:focus { margin: 0 2px; padding: 2px 8px; border: 1px solid var(--bf-donker, #112337); border-radius: 3px; background: #fff; font-family: var(--bk-tekst); font-size: 15px; font-weight: 600; line-height: 1.3; text-transform: none; color: var(--bf-donker, #112337); cursor: pointer; }
.o_co.o_co .o_co-adres button:hover { background: var(--bk-geel); }
.o_co.o_co .o_co-form #billing_phone_field, .o_co.o_co .o_co-form #billing_email_field { clear: both; }
@media (max-width: 600px) {
    .o_co.o_co .o_co-form #billing_address_1_field, .o_co.o_co .o_co-form #billing_city_field { float: none; width: 100%; }
}
.o_co.o_co .o_co-form .form-row.o_co-adres { float: none; clear: both; width: 100%; margin: 0 0 16px; padding: 12px 14px; }
.o_co.o_co .o_co-form .form-row.o_co-adres[hidden] { display: none; }

/* Checkout, "Jouw gegevens": de volgorde ligt hier vast. WooCommerce herschikt de velden met script
   (per land); met order blijft de opbouw gelijk en staat de adresmelding altijd onder Plaats. */
.o_co.o_co .woocommerce-billing-fields__field-wrapper { display: flex; flex-wrap: wrap; gap: 0 18px; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > * { float: none !important; clear: none !important; flex: 0 0 100%; width: auto !important; min-width: 0; order: 20; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_company_field { order: 1; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_first_name_field { order: 2; flex-basis: calc(50% - 9px); }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_last_name_field { order: 3; flex-basis: calc(50% - 9px); }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_country_field { order: 4; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_postcode_field { order: 5; flex-basis: calc(50% - 9px); }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_huisnummer_field { order: 6; flex-basis: calc(50% - 9px); }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_address_1_field { order: 7; flex-basis: calc(50% - 9px); }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_city_field { order: 8; flex-basis: calc(50% - 9px); }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > .o_co-adres { order: 9; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_phone_field { order: 10; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_email_field { order: 11; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > .o_co-adres[hidden] { display: none; }
@media (max-width: 600px) {
    .o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_first_name_field,
    .o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_last_name_field,
    .o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_address_1_field,
    .o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_city_field { flex-basis: 100%; }
}
.o_co.o_co .woocommerce-billing-fields__field-wrapper { gap: 16px 18px; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > .form-row { margin: 0 !important; padding: 0 !important; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > .o_co-adres { margin: 0; }

/* Rijopleidingen: alle cursistgegevens bij "Jouw gegevens", in de volgorde uit
   de mail van Nina (28 okt 2026): voorletters, roepnaam, volledige voornamen,
   achternaam, meisjesnaam, adres, telefoon, geboortedatum, e-mail(s). */
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #cursist_voorletters_field { order: 2; flex-basis: calc(50% - 9px); }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_first_name_field { order: 3; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #cursist_voornamen_field { order: 4; flex-basis: calc(50% - 9px); }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_last_name_field { order: 5; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #cursist_meisjesnaam_field { order: 6; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_country_field { order: 7; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_postcode_field { order: 8; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_huisnummer_field { order: 9; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_address_1_field { order: 10; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_city_field { order: 11; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > .o_co-adres { order: 12; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_phone_field { order: 13; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper:has(> #cursist_geboortedatum_field) > #billing_phone_field { flex-basis: calc(50% - 9px); }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #cursist_geboortedatum_field { order: 14; flex-basis: calc(50% - 9px); }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_email_field { order: 15; }
.o_co.o_co .woocommerce-billing-fields__field-wrapper > #cursist_ouder_email_field { order: 16; }
@media (max-width: 600px) {
    .o_co.o_co .woocommerce-billing-fields__field-wrapper > #cursist_voorletters_field,
    .o_co.o_co .woocommerce-billing-fields__field-wrapper > #cursist_voornamen_field,
    .o_co.o_co .woocommerce-billing-fields__field-wrapper > #billing_phone_field,
    .o_co.o_co .woocommerce-billing-fields__field-wrapper > #cursist_geboortedatum_field { flex-basis: 100%; }
}

/* ---------- Rijopleidingen: kenmerken, pakketten naast elkaar, de losse proefles ---------- */
.o_wz-card-punten { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-kenmerken { margin: 0 0 26px; }
.o_wz--stappen .o_wz-layout .o_wc-leadtext { margin-bottom: 14px; }

@media (min-width: 760px) {
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card,
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card:focus { display: flex; flex-direction: column; align-items: stretch; gap: 0; margin: 0; padding: 28px 18px 16px; text-align: left; } /* meer lucht onder het "Meest gekozen"-label, titels op één lijn (mail Nina 28 okt 2026) */
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card::before { display: none; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent { margin-top: 10px; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card { position: relative; overflow: visible; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card-badge { order: 0; position: absolute; top: -12px; left: 17px; margin: 0; padding: 3px 8px; border: 0; border-radius: 3px; background: var(--bk-geel); font-family: var(--bk-tekst); font-size: 13px; font-weight: 700; color: var(--bk-op-geel); transform: none; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card-titel { order: 1; margin: 0; padding: 0; font-family: var(--bk-kop); font-size: 20px; line-height: 1.2; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card-prijs { order: 2; margin: 6px 0 0; padding: 0; font-family: var(--bk-kop); font-size: 26px; font-weight: 700; line-height: 1.1; text-align: left; color: var(--bf-donker, #112337); }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-prijs-sub { order: 2; text-align: left; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card-sub { display: none; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card-punten { order: 3; display: block; flex: 1 1 auto; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--bf-donker, #112337); }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card-punten span { display: block; position: relative; padding: 3px 0 3px 22px; font-family: var(--bk-tekst); font-size: 16px; font-weight: 400; line-height: 1.4; color: #1b1f24; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card-punten span::before { content: ""; position: absolute; left: 3px; top: 9px; width: 9px; height: 5px; border-left: 2px solid var(--bf-donker, #112337); border-bottom: 2px solid var(--bf-donker, #112337); transform: rotate(-45deg); }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card::after { content: "Kies dit pakket"; order: 4; display: block; margin: 16px 0 0; padding: 11px 12px; border-radius: 3px; background: var(--bf-primary, #003DA6); font-family: var(--bk-kop); font-size: 16px; font-weight: 700; line-height: 1.2; text-align: center; color: #fff; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card:hover::after { background: var(--bf-donker, #112337); }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card.is-gekozen::after { content: "Gekozen"; background: var(--bf-donker, #112337); }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card.is-gekozen .o_wz-card-badge { background: var(--bf-donker, #112337); color: #fff; }
    .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card-check, .o_wz--stappen .o_wz-layout .o_wz-cards--prominent .o_wz-card-icon { display: none; }
}

/* De losse optie (proefles): een eigen regel onder de pakketten */
.o_wz--stappen .o_wz-layout .o_wz-zij.o_wz-zij--band,
.o_wz--stappen .o_wz-layout .o_wz-zij.o_wz-zij--band:focus { display: flex; flex: none; align-items: center; justify-content: space-between; gap: 20px; width: 100%; margin: 12px 0 0; padding: 16px 18px; border: 1px solid var(--bk-lijn); border-radius: 0; background: var(--bk-vlak); box-shadow: none; text-align: left; text-transform: none; color: #1b1f24; cursor: pointer; }
.o_wz--stappen .o_wz-layout .o_wz-zij.o_wz-zij--band:hover { border-color: var(--bf-donker, #112337); background: var(--bk-vlak); }
.o_wz--stappen .o_wz-layout .o_wz-zij--band .o_wz-zij-band-tekst { flex: 1 1 auto; min-width: 0; }
.o_wz--stappen .o_wz-layout .o_wz-zij--band .o_wz-zij-titel { font-size: 20px; }
.o_wz--stappen .o_wz-layout .o_wz-zij--band .o_wz-zij-band-actie { display: flex; flex: 0 0 auto; align-items: center; gap: 16px; }
.o_wz--stappen .o_wz-layout .o_wz-zij--band .o_wz-zij-prijs { font-size: 20px; }
.o_wz--stappen .o_wz-layout .o_wz-zij--band .o_wz-zij-knoptekst { display: inline-block; padding: 10px 16px; border: 1px solid var(--bf-donker, #112337); border-radius: 3px; background: #fff; font-family: var(--bk-kop); font-size: 16px; font-weight: 700; line-height: 1.2; white-space: nowrap; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-zij--band:hover .o_wz-zij-knoptekst { background: var(--bf-donker, #112337); color: #fff; }
@media (max-width: 600px) {
    .o_wz--stappen .o_wz-layout .o_wz-zij.o_wz-zij--band { flex-direction: column; align-items: stretch; gap: 12px; }
    .o_wz--stappen .o_wz-layout .o_wz-zij--band .o_wz-zij-band-actie { justify-content: space-between; }
}
@media (min-width: 760px) {
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 12px !important; }
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card { width: auto; max-width: none; min-height: 0; }
}
.o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-zij.o_wz-zij--band:not(.o_wz-zij--knop),
.o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-zij.o_wz-zij--band:not(.o_wz-zij--knop):focus { display: flex !important; flex: none !important; width: 100% !important; max-width: none !important; margin: 12px 0 0; padding: 16px 18px; background: var(--bk-vlak); }
.o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-zij.o_wz-zij--band .o_wz-zij-band-tekst { display: block; flex: 1 1 auto; min-width: 0; }
.o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-zij.o_wz-zij--band .o_wz-zij-label { margin: 0 0 2px; }
@media (max-width: 600px) {
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-zij.o_wz-zij--band:not(.o_wz-zij--knop) { flex-direction: column; align-items: stretch; gap: 12px; }
}

/* Pakketten naast elkaar: ook bij aanwijzen, focus en "gekozen" dezelfde opbouw houden.
   De lijstregels hierboven zetten voor die standen display:grid en een eigen padding terug
   (hogere specificiteit); zonder deze regel klapte een gekozen kaart bij aanwijzen uit elkaar. */
@media (min-width: 760px) {
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card:hover,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card:focus,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card.is-gekozen,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card.is-gekozen:hover,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card.is-gekozen:focus {
        display: flex; flex-direction: column; align-items: stretch; gap: 0;
        width: auto; margin: 0; padding: 28px 18px 16px; /* titels op één lijn (mail Nina 28 okt 2026) */
        border: 1px solid var(--bk-lijn); border-radius: 0; box-shadow: none; transform: none; text-align: left;
    }
    /* Kaarten zonder badge kregen eerst extra padding (51px); nu staan alle titels
       op dezelfde hoogte met één vaste padding (mail Nina 28 okt 2026). */
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card:hover,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card:focus { background: #fff; border-color: var(--bf-donker, #112337); }
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card.is-gekozen,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card.is-gekozen:hover,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card.is-gekozen:focus { background: var(--bk-geel); border-color: var(--bf-donker, #112337); }
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card::after { content: "Kies deze"; }
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card.is-gekozen::after { content: "Gekozen"; }
    /* Zonder puntenlijst (bv. theoriekeuze): de gewone omschrijving tonen */
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card:not(:has(.o_wz-card-punten)) .o_wz-card-sub { display: block; order: 3; flex: 1 1 auto; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px solid var(--bf-donker, #112337); font-size: 16px; line-height: 1.4; color: #1b1f24; }
}

/* Code 95 compleet: de meeschuivende kolom past altijd binnen het venster. Hij is zo'n 640px hoog;
   op een lager scherm (of ingelogd, met de beheerbalk erbij) viel de onderkant met de knop buiten beeld. */
@media (min-width: 992px) {
    .o_wc-product.o_c95 .o_c95-kolom-sticky { max-height: calc(100vh - var(--bax-kop, 130px) - 40px); overflow-y: auto; overscroll-behavior: contain; }
}

/* ---------- Rijopleidingen: het traject boven de keuzes en "voor wie" per keuze ---------- */
.o_wz-card-voor { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-route { margin: 0 0 18px; }
.o_wz--stappen .o_wz-layout .o_wz-route-titel { display: block; margin: 0 0 8px; font-size: 14px; color: var(--bk-grijs); } /* kleiner, mail Nina 28 okt 2026 */
.o_wz--stappen .o_wz-layout .o_wz-route-fasen { display: flex; list-style: none; margin: 0; padding: 0; counter-reset: fase; }
.o_wz--stappen .o_wz-layout .o_wz-route-fasen li { counter-increment: fase; position: relative; flex: 1 1 0; min-width: 0; margin: 0; padding: 12px 6px 0 0; border-top: 4px solid var(--bk-lijn); font-size: 12.5px; font-weight: 600; line-height: 1.3; color: #3c4450; transition: border-color 150ms, color 150ms; } /* nog een maat kleiner zodat de fasen op één regel passen (mail Nina 4 nov 2026) */
.o_wz--stappen .o_wz-layout .o_wz-route-fasen li + li { margin-left: 4px; }
.o_wz--stappen .o_wz-layout .o_wz-route-fasen li span::before { content: counter(fase) ". "; color: var(--bk-grijs); font-weight: 400; }
.o_wz--stappen .o_wz-layout .o_wz-route-fasen li.is-actief { border-top-color: var(--bk-geel); color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-route-fasen li.is-actief span::before { color: var(--bf-donker, #112337); }
@media (min-width: 760px) {
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card-voor { order: 0; display: block; margin: 0 0 8px; font-family: var(--bk-tekst); font-size: 15px; font-weight: 400; line-height: 1.35; color: #3c4450; }
    /* Met een "voor wie"-regel begint elke kaart op dezelfde hoogte: het label "Meest gekozen" staat dan eronder */
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent:has(.o_wz-card-voor) .o_wz-card,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent:has(.o_wz-card-voor) .o_wz-card:hover,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent:has(.o_wz-card-voor) .o_wz-card.is-gekozen,
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent:has(.o_wz-card-voor) .o_wz-card.is-gekozen:hover { padding-top: 18px; }
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent:has(.o_wz-card-voor) .o_wz-card-voor { min-height: 2.7em; }
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent:has(.o_wz-card-voor) .o_wz-card-badge { order: 2; margin: 8px 0 0; }
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent:has(.o_wz-card-voor) .o_wz-card-prijs { order: 2; }
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card:has(.o_wz-card-punten) .o_wz-card-sub { display: none; }
}
@media (max-width: 759px) {
    .o_wz--stappen .o_wz-layout .o_wz-route-fasen { flex-wrap: wrap; gap: 6px 0; }
    .o_wz--stappen .o_wz-layout .o_wz-route-fasen li { flex: 0 0 50%; margin-left: 0 !important; padding-top: 8px; font-size: 14px; }
}
@media (min-width: 760px) {
    /* Het label "Meest gekozen" op de bovenrand van de kaart, zodat titels en prijzen op één lijn blijven */
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent:has(.o_wz-card-voor) { margin-top: 10px; }
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent:has(.o_wz-card-voor) .o_wz-card { position: relative; overflow: visible; }
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent:has(.o_wz-card-voor) .o_wz-card-badge { position: absolute; top: -12px; left: 17px; margin: 0; }
}
@media (min-width: 760px) {
    /* Namen van één of twee regels: de prijzen van de kaarten blijven op één lijn */
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card-titel { min-height: 2.4em; }
}

/* =============================================================
   Aanvullingen rond het boeken (includes/conversie.php)
   ============================================================= */
/* Link naar de cursuspagina onder de inleiding */
.o_bk-meer { margin: 6px 0 0; font-size: 16px; }
.o_bk-meer a { color: var(--bf-primary, #003DA6); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.o_wz--stappen .o_wz-layout .o_bk-meer { margin: -6px 0 14px; }

/* WhatsApp in de contactblokken */
.o_bk-whatsapp { margin: 0; font-size: 17px; line-height: 1.6; color: #1b1f24; }
.o_bk-whatsapp a { color: var(--bf-primary, #003DA6); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.o_ty.o_ty .o_ty-contact .o_bk-whatsapp { margin-top: 2px; }

/* De eerstvolgende data onder een cursuspagina */
.o_bk-cursuspagina { max-width: 520px; margin: 40px auto; padding: 0 20px; font-family: var(--e-global-typography-text-font-family, "Source Sans Pro"), sans-serif; }
.o_bk-cursuspagina .o_bk-widget { margin: 0 0 14px; }
.o_bk-cursuspagina-boek { display: inline-block; padding: 12px 20px; border-radius: 3px; background: var(--bf-primary, #003DA6); font-family: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif; font-size: 17px; font-weight: 700; line-height: 1.2; color: #fff !important; text-decoration: none; }
.o_bk-cursuspagina-boek:hover { background: var(--bf-donker, #112337); }

/* "Geen passende datum?" */
.o_gd { margin: 18px 0 0; border: 1px solid #d5d9e0; background: #fff; font-family: var(--e-global-typography-text-font-family, "Source Sans Pro"), sans-serif; }
.o_gd > summary { padding: 13px 16px; font-size: 17px; font-weight: 700; color: var(--bf-primary, #003DA6); cursor: pointer; list-style: none; text-decoration: underline; text-underline-offset: 3px; }
.o_gd > summary::-webkit-details-marker { display: none; }
.o_gd[open] > summary { color: var(--bf-donker, #112337); text-decoration: none; border-bottom: 1px solid #d5d9e0; }
.o_gd-inhoud { padding: 14px 16px 16px; }
.o_gd-inhoud[hidden] { display: none; }
.o_gd-uitleg { margin: 0 0 12px; font-size: 16px; line-height: 1.5; color: #1b1f24; }
.o_gd-velden { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.o_gd-veld { margin: 0; }
.o_gd-veld--breed { grid-column: 1 / -1; }
.o_gd-veld label { display: block; margin: 0 0 5px; font-size: 15px; font-weight: 600; color: var(--bf-donker, #112337); }
.o_gd .o_gd-veld input { display: block; width: 100%; height: 44px; padding: 0 12px; border: 1px solid #8a929c; border-radius: 3px; background: #fff; font-family: inherit; font-size: 16px; color: #1b1f24; box-shadow: none; }
.o_gd .o_gd-verstuur, .o_gd .o_gd-verstuur:focus { margin: 14px 0 0; padding: 11px 20px; border: 0; border-radius: 3px; background: var(--bf-primary, #003DA6); font-family: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif; font-size: 16px; font-weight: 700; line-height: 1.2; text-transform: none; color: #fff; cursor: pointer; }
.o_gd .o_gd-verstuur:hover { background: var(--bf-donker, #112337); color: #fff; }
.o_gd-melding { margin: 12px 0 0; padding: 10px 12px; border: 1px solid #b3261e; font-size: 15px; font-weight: 600; color: #b3261e; }
.o_gd-melding[hidden], .o_gd-klaar[hidden] { display: none; }
.o_gd-klaar { margin: 0; padding: 14px 16px; font-size: 16px; color: #1b1f24; }
.bax-kal-geendatum { margin-top: 26px; }
@media (max-width: 600px) { .o_gd-velden { grid-template-columns: 1fr; } }

/* Verdergaan waar je was */
.o_wz--stappen .o_wz-layout .o_wz-hervat { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; margin: 0 0 12px; padding: 14px 18px; border: 1px solid var(--bf-donker, #112337); background: #fff; font-size: 16px; line-height: 1.45; color: #1b1f24; }
.o_wz--stappen .o_wz-layout .o_wz-hervat[hidden] { display: none; }
.o_wz--stappen .o_wz-layout .o_wz-hervat-tekst strong { display: block; font-family: var(--bk-kop); font-size: 18px; color: var(--bf-donker, #112337); }
.o_wz--stappen .o_wz-layout .o_wz-hervat-knoppen { display: flex; gap: 8px; }
.o_wz--stappen .o_wz-layout .o_wz-hervat button,
.o_wz--stappen .o_wz-layout .o_wz-hervat button:focus { margin: 0; padding: 10px 16px; border: 1px solid var(--bf-donker, #112337); border-radius: 3px; background: #fff; font-family: var(--bk-kop); font-size: 15px; font-weight: 700; line-height: 1.2; text-transform: none; white-space: nowrap; color: var(--bf-donker, #112337); cursor: pointer; }
.o_wz--stappen .o_wz-layout .o_wz-hervat button[data-hervat="verder"] { border-color: var(--bf-primary, #003DA6); background: var(--bf-primary, #003DA6); color: #fff; }
.o_wz--stappen .o_wz-layout .o_wz-hervat button:hover { background: var(--bf-donker, #112337); border-color: var(--bf-donker, #112337); color: #fff; }

/* Vragen naast de stappen, WhatsApp in het contactblok van de stappen-opbouw */
.o_wz--stappen .o_wz-side .o_bk-faq { margin: 0; }
.o_wz--stappen .o_wz-side .o_bk-side-kop { margin: 0 0 6px; font-family: var(--bk-kop, "SanukOT-Bold", sans-serif); font-size: 24px; font-weight: 700; line-height: 1.2; color: var(--bf-donker, #112337); }

/* Telefoon: de eigen balk onderaan; de balk van het thema maakt op deze pagina's plaats */
.o_wz-balk { display: none; }
@media (max-width: 767px) {
    .o_wz-balk:not([hidden]) { display: flex; align-items: center; justify-content: space-between; gap: 14px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--bf-donker, #112337); box-shadow: 0 -4px 14px rgba(17, 35, 55, .1); font-family: var(--e-global-typography-text-font-family, "Source Sans Pro"), sans-serif; }
    .o_wz-balk-bedrag { min-width: 0; line-height: 1.2; }
    .o_wz-balk-bedrag span { display: block; font-size: 14px; color: #5a6470; }
    .o_wz-balk-bedrag strong { font-family: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif; font-size: 22px; font-weight: 700; color: var(--bf-donker, #112337); }
    .o_wz-balk-bedrag strong:empty { display: none; }
    .o_wz-balk .o_wz-balk-knop, .o_wz-balk .o_wz-balk-knop:focus, .o_wz-balk .o_wz-balk-knop:hover { flex: 0 0 auto; margin: 0; padding: 13px 24px; border: 0; border-radius: 3px; background: var(--bf-primary, #003DA6); font-family: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif; font-size: 17px; font-weight: 700; line-height: 1.2; text-transform: none; color: #fff; cursor: pointer; }
    body.bax-boekbalk .elementor-location-footer .elementor-hidden-desktop[class*="elementor-sticky"] { display: none !important; }
    body.bax-boekbalk .o_bf-page { padding-bottom: 96px; }
}
/* Datablok op de cursuspagina: een rustige strook direct onder de kop van de pagina */
.o_bk-cursuspagina { max-width: none; margin: 0; padding: 34px 20px; background: #f1f3f6; }
.o_bk-cursuspagina-in { max-width: 560px; margin: 0 auto; }
.o_bk-cursuspagina .o_bk-widget { margin: 0; }
.o_bk-cursuspagina .o_bk-spoed-rij { background: transparent; }
.o_bk-cursuspagina-actie { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 18px 0 0; font-size: 15px; color: #3c4450; }
.o_bk-cursuspagina .o_bk-cursuspagina-boek, .o_bk-cursuspagina .o_bk-cursuspagina-boek:hover { text-decoration: none; }
.o_bk-cursuspagina .o_bk-cursuspagina-alle { font-size: 16px; font-weight: 700; color: var(--bf-primary, #003DA6); text-decoration: underline; text-underline-offset: 3px; }

/* Code 95 compleet: melding over de praktijkuren (tekst met een lijn, zoals de andere meldingen op die pagina) */
/* Opvallender kader voor de praktijkuren-melding: geel vlak met donkere rand
   (mail Nina 13 okt 2026: "kun je dit kader verduidelijken met andere kleurstellingen?") */
.o_wc-product.o_c95 .o_c95-praktijk { margin: 14px 0 0; padding: 14px 16px; border: 1px solid var(--bf-donker, #112337); border-left: 6px solid var(--bf-accent, #FFCD00); background: #FFF7D6; font-size: 16px; line-height: 1.5; color: #1b1f24; }
.o_wc-product.o_c95 .o_c95-praktijk[hidden] { display: none; }

/* ===== Overleg 6 okt 2026: de samenvatting rechts als duidelijke cursusblokken ===== */
.o_co.o_co .o_co-cursusblok { display: flex; flex-direction: column; gap: 5px; padding: 12px 14px; margin: 0 0 10px; border: 1px solid var(--bk-lijn, #dde1e8); background: #fff; }
.o_co.o_co .o_co-cursusblok:last-of-type { margin-bottom: 4px; }
.o_co.o_co .o_co-cursusblok-kop { display: flex; justify-content: space-between; align-items: baseline; gap: 14px; }
.o_co.o_co .o_co-cursusblok-kop strong { font-size: 17px; line-height: 1.35; color: #1b1f24; }
.o_co.o_co .o_co-cursusblok-prijs { font-weight: 700; white-space: nowrap; color: #1b1f24; }
.o_co.o_co .o_co-cursusblok-regel { display: flex; align-items: center; gap: 7px; font-size: 15px; color: var(--bk-grijs); }
.o_co.o_co .o_co-cursusblok-regel i { font-size: 12px; color: var(--bf-primary, #003DA6); width: 14px; text-align: center; }
.o_co.o_co .o_co-cursusblok-regel .o_co-card-row-datum { font-size: 15px; color: var(--bk-grijs); }
.o_co.o_co .o_co-regel-acties { display: flex; gap: 14px; margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--bk-lijn, #dde1e8); }
.o_co.o_co .o_co-regel-acties a { display: inline-flex; align-items: center; gap: 5px; font-size: 13.5px; font-weight: 600; color: var(--bk-grijs); text-decoration: none; border-bottom: 1px solid transparent; }
.o_co.o_co .o_co-regel-acties a i { font-size: 11px; }
.o_co.o_co .o_co-regel-acties .o_co-wijzig:hover { color: var(--bf-primary, #003DA6); border-bottom-color: var(--bf-primary, #003DA6); }
.o_co.o_co .o_co-regel-acties .o_co-verwijder { width: auto; height: auto; margin: 0; border-radius: 0; background: none; }
.o_co.o_co .o_co-regel-acties .o_co-verwijder:hover { color: #b32d2e; border-bottom-color: #b32d2e; }
.o_co.o_co .o_co-module-keer { font-weight: 400; color: var(--bk-grijs); }

/* Code 95 compleet: één cursus dubbel volgen (CBR-regel, overleg Jourian 6 okt 2026) */
.o_wc-product.o_c95 .o_c95-dubbel { margin: 14px 0 0; padding: 12px 14px; border: 1px solid var(--bk-lijn, #dde1e8); background: #fff; font-size: 16px; line-height: 1.5; }
.o_wc-product.o_c95 .o_c95-dubbel[hidden] { display: none; }
.o_wc-product.o_c95 .o_c95-dubbel label { display: block; margin: 0 0 8px; font-weight: 400; }
.o_wc-product.o_c95 .o_c95-dubbel select { width: 100%; max-width: 440px; height: 44px; padding: 0 12px; border: 1.5px solid var(--bf-donker, #112337); background: #fff; font-size: 16px; }

/* Widget in het gele vlak op de landingspagina's ([bax_eerstvolgende_data stijl="geel"], overleg 6 okt 2026).
   Witte kaartregels met een donkere datumtegel, in de boxed stijl van de boekpagina's:
   aanwijzen = donkere rand, geen grijs vlak. */
.o_bk-widget--geel { max-width: none; }
.o_bk-widget--geel .o_bk-widget-titel { color: var(--bf-donker, #112337); margin-bottom: 14px; }
.o_bk-widget--geel .o_bk-spoed-lijst { display: flex; flex-direction: column; gap: 10px; list-style: none; margin: 0 0 16px; padding: 0; }
.o_bk-widget--geel .o_bk-geel-rij { display: flex; align-items: center; gap: 14px; padding: 10px 14px 10px 10px; background: #fff; border: 2px solid #fff; border-radius: 6px; color: var(--bf-donker, #112337); text-decoration: none; }
.o_bk-widget--geel .o_bk-geel-rij:hover { background: #fff; color: var(--bf-donker, #112337); border-color: var(--bf-donker, #112337); } /* de basisregel maakt rijen op hover geel; op het gele vlak moet de kaart wit blijven */
.o_bk-widget--geel .o_bk-geel-dag { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 4px; background: var(--bf-donker, #112337); color: #fff; }
.o_bk-widget--geel .o_bk-geel-dag b { font-family: "SanukOT-Bold", var(--e-global-typography-primary-font-family, "Montserrat"), sans-serif; font-size: 22px; line-height: 1; color: var(--bf-accent, #FFCD00); }
.o_bk-widget--geel .o_bk-geel-dag small { font-size: 12px; line-height: 1.3; text-transform: uppercase; letter-spacing: .04em; }
.o_bk-widget--geel .o_bk-geel-info { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
.o_bk-widget--geel .o_bk-geel-info strong { font-size: 17px; line-height: 1.3; }
.o_bk-widget--geel .o_bk-geel-info > span { font-size: 14.5px; color: #44506a; }
.o_bk-widget--geel .o_bk-geel-vol { font-style: normal; font-weight: 600; color: #b3362a; }
.o_bk-widget--geel .o_bk-geel-pijl { margin-left: auto; flex: 0 0 auto; color: var(--bf-primary, #003DA6); font-size: 15px; transition: transform .15s ease; }
.o_bk-widget--geel .o_bk-geel-rij:hover .o_bk-geel-pijl { transform: translateX(3px); }
.o_bk-widget--geel .o_bk-widget-leeg { color: var(--bf-donker, #112337); }
.o_bk-widget--geel .o_bk-widget-knop,
.o_bk-widget--geel .o_bk-widget-knop:visited { background: var(--bf-donker, #112337); color: #fff; }
.o_bk-widget--geel .o_bk-widget-knop:hover { background: var(--bf-primary, #003DA6); }
/* In een Elementor-vlak met vaste hoogte vult de widget het vlak en staat de
   knop onderaan (heftruck-landingspagina, 6 okt 2026). */
.elementor-widget:has(.o_bk-widget--geel) { flex-grow: 1; display: flex; flex-direction: column; }
.elementor-widget:has(.o_bk-widget--geel) > * { flex: 1 1 auto; display: flex; width: 100%; }
.o_bk-widget--geel { display: flex; flex-direction: column; width: 100%; }
.o_bk-widget--geel .o_bk-spoed-lijst { margin-bottom: 14px; }
.o_bk-widget--geel .o_bk-widget-knop { margin-top: auto; align-self: flex-start; }

/* ===== Betaalkeuze in de checkout (overleg 6 okt 2026): boxed zoals de rest
   van de flow. Wit kader, aanwijzen = donkere rand, gekozen = Bax-geel.
   Wint bewust van de oudere oranje regels hierboven. ===== */
.o_co .o_co-form #payment .payment_methods { display: flex; flex-direction: column; gap: 10px; margin: 0 0 22px !important; }
.o_co .o_co-form #payment .payment_methods li { position: relative; margin: 0 !important; padding: 0 !important; border: 1.5px solid var(--bk-lijn, #dde1e8) !important; border-radius: 0 !important; background: #fff !important; transition: border-color .15s ease, background .15s ease; }
.o_co .o_co-form #payment .payment_methods li:hover { border-color: var(--bf-donker, #112337) !important; }
.o_co .o_co-form #payment .payment_methods li:has(input:checked) { border-color: var(--bf-donker, #112337) !important; background: var(--bf-accent, #FFCD00) !important; }
.o_co .o_co-form #payment .payment_methods li label { display: flex !important; align-items: center; gap: 12px; width: 100%; margin: 0 !important; padding: 16px 18px 16px 49px !important; font-family: inherit !important; font-size: 17px !important; font-weight: 700 !important; color: var(--bf-donker, #112337) !important; cursor: pointer; }
.o_co .o_co-form #payment .payment_methods li label::before { display: none !important; }
.o_co .o_co-form #payment .payment_methods li label img { height: 24px !important; width: auto !important; margin-left: auto !important; }
/* WooCommerce zet de radio buiten het label: vastzetten op de labelregel */
.o_co .o_co-form #payment .payment_methods input[type="radio"] { position: absolute; left: 18px; top: 22px; width: 19px; height: 19px; margin: 0; accent-color: var(--bf-donker, #112337) !important; }
.o_co .o_co-form #payment .payment_methods li:first-child:last-child input[type="radio"] { display: inline-block !important; }
.o_co .o_co-form #payment .payment_box { margin: 0 !important; padding: 0 18px 15px 49px !important; font-size: 15px !important; line-height: 1.5 !important; color: var(--bk-grijs, #44506a) !important; }
.o_co .o_co-form #payment .payment_methods li:has(input:checked) .payment_box { color: var(--bf-donker, #112337) !important; }
.o_co .o_co-form #payment .payment_box p { margin: 0; }
/* "(op factuur)" stond hard in de totaalkop; nu als subtiele regel eronder (6 okt 2026) */
.o_co.o_co .o_co-card-total-label .o_co-card-total-sub { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: rgba(17, 35, 55, .75); }

/* Op een gekozen (gele) kaart ook de kleine prijsregels donker; de grijze
   basisregel staat later in dit bestand en won het anders (mail Nina 6 okt 2026) */
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen .o_wz-card-prijs small,
.o_wz--stappen .o_wz-layout .o_wz-card.is-gekozen .o_wz-prijs-sub { color: var(--bk-op-geel, #112337); }

/* ---------- Feedbackronde Nina 8/9 okt 2026 ---------- */

/* Contactblok rijopleidingen in dezelfde vorm als "Direct contact?" op de
   cursuspagina's: regels "Bel ... / Mail ... / Of stuur een appje: ..." */
.o_wz--stappen .o_wz-side .o_wc-contact-links p { margin: 0; padding: 0; font-family: var(--bk-tekst); font-size: 17px; line-height: 1.7; color: #1b1f24; }
.o_wz--stappen .o_wz-side .o_wc-contact-links p a { display: inline; margin: 0; padding: 0; border: 0; font-family: var(--bk-tekst); font-size: 17px; font-weight: 700; color: var(--bf-primary, #003DA6); text-decoration: underline; text-underline-offset: 3px; }

/* De uitleg bij een checkoutveld (bv. e-mailadres ouders/verzorgers) als gewone
   hulptekst onder het veld; de WooCommerce-tooltip rendert hier over het veld heen. */
.o_co-form .woocommerce-input-wrapper .description { display: block !important; position: static !important; margin: 6px 0 0; padding: 0; background: none !important; border: 0; box-shadow: none; font-size: 14px; line-height: 1.5; color: #5a6472; transform: none !important; }
.o_co-form .woocommerce-input-wrapper .description::before, .o_co-form .woocommerce-input-wrapper .description::after { display: none !important; }

/* Akkoord met de algemene voorwaarden (checkout, mail Nina 8 okt 2026) */
.o_co-voorwaarden { margin: 14px 0 0; }
.o_co-voorwaarden label { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; line-height: 1.5; color: #1b1f24; cursor: pointer; }
.o_co-voorwaarden input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--bf-primary, #003DA6); }
.o_co-voorwaarden a { color: var(--bf-primary, #003DA6); text-decoration: underline; text-underline-offset: 2px; }

/* Samenstelling in de checkout-kaart: de gekozen onderdelen onder de cursusnaam */
.o_co-card-sub { display: block; margin: 2px 0 0; font-size: 15px; color: #5a6472; }
.o_co-cursusblok-keuzes { display: block; margin: 4px 0 2px; }
.o_co-cursusblok-keuze { display: block; font-size: 13.5px; line-height: 1.5; color: #5a6472; }
.o_co-cursusblok-keuze strong { font-weight: 600; color: #1b1f24; }

/* =============================================
   Medische keuring als suggestie op de Code 95-samenstelpagina
   (overleg Nina/Jourian 6 okt 2026; gebouwd 12 okt 2026)
   ============================================= */
.o_c95-keuring { margin: 18px 0 0; }
.o_c95-keuring .o_c95-keuring-kop { margin: 0; }
/* Opvallen tussen de modules (wens Nick 12 okt: visueel goed zichtbaar, geen
   accentrand links): licht geel vlak met gele rand rondom, het Bax-accent. */
.o_wc-product.o_c95 .o_c95-keuring .o_c95-pick { border: 1px solid var(--bf-accent, #FFCD00); background: #fffbea; }
.o_wc-product.o_c95 .o_c95-keuring .o_c95-pick:hover { border-color: var(--bf-donker, #112337); background: #fffbea; }
.o_wc-product.o_c95 .o_c95-keuring .o_c95-pick.o_c95-pick--checked { border-color: var(--bf-donker, #112337); }
.o_c95-keuring .o_c95-pick-nr { color: #8a6d00; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; }
.o_c95-keuring .o_c95-keuring-input { position: absolute; opacity: 0; pointer-events: none; }
.o_c95-keuring-cat { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 12px 14px; border: 1px solid var(--bf-accent, #FFCD00); border-top: 0; background: #fffbea; font-size: 15px; }
.o_c95-keuring-cat[hidden] { display: none; }
.o_c95-keuring-cat label { margin: 0; font-weight: 600; }
/* Eigen pijltje met lucht tot de rand; het standaardpijltje plakt tegen de rand aan */
.o_c95-keuring-cat select { height: 44px; padding: 0 44px 0 12px; border: 1.5px solid var(--bf-donker, #112337); background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23112337' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center; font-size: 15px; max-width: 100%; -webkit-appearance: none; appearance: none; }
.o_c95-keuring-los { flex-basis: 100%; font-size: 13.5px; color: #5a6472; }
.o_c95-keuring-los a { text-decoration: underline; }


/* ====== Feedbackronde 13 oktober 2026 ====== */

/* VCA-examen als subvinkje onder de VCA-module (standaard aan, verplicht bij SOOB) */
.o_wc-product.o_c95 .o_c95-subvink { margin: -6px 0 10px 46px; }
.o_wc-product.o_c95 .o_c95-subvink[hidden] { display: none; }
.o_wc-product.o_c95 .o_c95-subvink label { display: flex; align-items: center; gap: 10px; margin: 0; padding: 10px 14px; border: 1px dashed var(--bf-donker, #112337); background: #f7f9fb; font-size: 15px; cursor: pointer; }
.o_wc-product.o_c95 .o_c95-subvink input { width: 18px; height: 18px; margin: 0; accent-color: var(--bf-donker, #112337); flex: 0 0 auto; }
.o_wc-product.o_c95 .o_c95-subvink input:disabled { opacity: .7; }
.o_wc-product.o_c95 .o_c95-subvink-tekst { flex: 1 1 auto; line-height: 1.4; }
.o_wc-product.o_c95 .o_c95-subvink-tekst strong { display: block; }
.o_wc-product.o_c95 .o_c95-subvink-tekst span { font-size: 13.5px; color: #5a6472; }
.o_wc-product.o_c95 .o_c95-subvink-prijs { white-space: nowrap; font-weight: 700; color: var(--bf-donker, #112337); }
.o_wc-product.o_c95 .o_c95-subvink-prijs small { font-weight: 400; color: #5a6472; }

/* Pakketkortingsregel in de samenvatting */
.o_wc-product.o_c95 .o_c95-sum-row--korting .o_c95-sum-row-label,
.o_wc-product.o_c95 .o_c95-sum-row--korting .o_c95-sum-row-val { color: #0a7a3d; font-weight: 700; }

/* Aantal plekken in de spoedlijst rechts op de boekpagina */
.o_bk-spoed-plek { font-style: normal; font-size: 13.5px; color: #5a6472; }

/* Plekken in het gele vlak: altijd zichtbaar; alleen bijna-vol krijgt nadruk */
.o_bk-geel-info em { font-style: normal; }

/* ====== Feedbackronde rijopleidingen, 16 oktober 2026 ====== */

/* Prijzen op de keuzekaarten op gelijke hoogte: de titel krijgt een vaste
   minimale hoogte, zodat een titel van één regel de prijs niet omhoog duwt */
@media (min-width: 760px) {
    .o_wz--stappen .o_wz-layout .o_wz-stappen .o_wz-cards.o_wz-cards--prominent .o_wz-card-titel { min-height: 2.9em; }
}

/* Niet-aangevinkte verplichte verklaringen: ook de kaderrand rood, niet alleen
   het vinkje (mail Nina 16 okt 2026) */
.o_wz-akkoord--fout .o_wz-vink--akkoord { border-color: #d63638 !important; background: #fff5f5; }

/* Algemene voorwaarden in de checkout: duidelijk rood als het vinkje mist */
.o_co-voorwaarden--fout { padding: 12px 14px; border: 2px solid #d63638; border-radius: 3px; background: #fff5f5; }
.o_co-voorwaarden--fout::after { content: "Vink aan dat je akkoord gaat met de algemene voorwaarden."; display: block; margin-top: 6px; font-size: 14px; font-weight: 700; color: #b32d2e; }

/* Beschikbaarheidsrooster op de laatste stap (mail Nina 16 okt 2026) */
.o_wz-rooster { margin: 18px 0 0; padding: 16px 18px; border: 1px solid var(--bk-lijn, #d5d9e0); background: var(--bk-vlak, #f5f7fa); }
.o_wz-rooster-kop { margin: 0 0 12px; font-size: 15px; line-height: 1.5; color: #1b1f24; }
.o_wz-rooster-kop strong { display: block; font-family: var(--bk-kop, "Montserrat"), sans-serif; font-size: 17px; color: var(--bf-donker, #112337); }
/* Waar het getoonde rooster voor geldt (BE: dagcursus of intest/opfrisles, feedback Nina 4 nov 2026) */
.o_wz-rooster-voor { margin: -4px 0 12px; padding: 7px 10px; border-left: 3px solid var(--bk-geel, #FFCD00); background: #fff; font-size: 13.5px; line-height: 1.45; font-weight: 600; color: var(--bf-donker, #112337); }
.o_wz-rooster-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 10px; }
/* display:grid won anders van het hidden-attribuut: bij flows met twee roostergroepen
   stonden beide roosters onder elkaar (mail Nina 4 nov 2026) */
.o_wz-rooster-grid[hidden] { display: none; }
.o_wz-rooster-dag { min-width: 0; }
.o_wz-rooster-dagnaam { display: block; margin: 0 0 6px; font-family: var(--bk-kop, "Montserrat"), sans-serif; font-size: 13.5px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_wz-rooster-dagnaam small { display: block; font-weight: 400; color: #5a6472; }
.o_wz-rooster-blok { display: flex; align-items: center; gap: 6px; margin: 0 0 4px; padding: 5px 7px; border: 1px solid var(--bk-lijn, #d5d9e0); border-radius: 3px; background: #fff; font-size: 12.5px; line-height: 1.2; white-space: nowrap; color: #1b1f24; cursor: pointer; }
.o_wz-rooster-blok:hover { border-color: var(--bf-donker, #112337); }
.o_wz-rooster-blok input { width: 14px; height: 14px; margin: 0; flex: 0 0 auto; accent-color: var(--bf-donker, #112337); }
/* Ophalen op school/werk, alleen bij B en BA (mail Nina 28 okt 2026) */
.o_wz-rooster-ophalen { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 14px 0 0; padding: 12px 0 0; border-top: 1px dashed var(--bk-lijn, #d5d9e0); }
.o_wz-rooster-ophalen-kop { margin: 0; font-family: var(--bk-kop, "Montserrat"), sans-serif; font-size: 13.5px; font-weight: 700; color: var(--bf-donker, #112337); }
.o_wz-rooster-ophalen .o_wz-rooster-blok { margin: 0; white-space: normal; }
.o_wz-rooster-blok:has(input:checked) { background: var(--bk-geel, #FFCD00); border-color: var(--bf-donker, #112337); font-weight: 600; }
@media (max-width: 600px) {
    .o_wz-rooster-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* SOOB-uitleg op de samenstelpagina (mail Nina 16 okt 2026) */
.o_wc-product.o_c95 .o_c95-soob-info { margin: 6px 0 0; font-size: 13.5px; }
.o_wc-product.o_c95 .o_c95-soob-info summary { cursor: pointer; color: var(--bf-primary, #003DA6); font-weight: 600; list-style: none; }
.o_wc-product.o_c95 .o_c95-soob-info summary::-webkit-details-marker { display: none; }
.o_wc-product.o_c95 .o_c95-soob-info p { margin: 6px 0 0; color: #3c4450; line-height: 1.5; }


/* ---------- Zoekveld in de witte headerbalk (mail Nina 28 okt 2026) ----------
   De donkere balk boven de header is weg; het zoekveld staat rechtsboven het
   menu als afgeronde pill met de zoekknop erin. Telefoon, WhatsApp, e-mail en
   vacatures staan al in de footer. !important omdat de widget-CSS van
   Elementor (.e-search …) anders wint. */
.bax-header-zoek .e-search-form { position: relative; }
.bax-header-zoek .e-search-input {
    height: 38px !important;
    width: 250px;
    padding: 8px 42px 8px 16px !important;
    border: 1px solid #d5d9e0 !important;
    border-radius: 19px !important;
    background: #f5f7fa !important;
    font-size: 14px;
    color: #112337;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.bax-header-zoek .e-search-input:focus {
    background: #fff !important;
    border-color: #112337 !important;
    box-shadow: 0 0 0 3px rgba(255, 205, 0, .35);
    outline: none;
}
.bax-header-zoek .e-search-input::placeholder { color: #5a6472; }
.bax-header-zoek .e-search-submit {
    position: absolute; top: 50%; right: 4px; transform: translateY(-50%);
    width: 30px !important; height: 30px !important; flex: 0 0 30px;
    padding: 0 !important;
    border-radius: 50% !important;
    background: #112337 !important;
}
.bax-header-zoek .e-search-submit svg,
.bax-header-zoek .e-search-submit svg path {
    width: 13px !important; height: 13px !important;
    fill: #FFCD00 !important;
}
/* Het losse vergrootglas-icoon naast het menu kwam uit de oude header en is
   dubbelop met het zoekveld */
.elementor-element-0444d2b { display: none; }
/* Menukoppen op één regel (Nick, 3 nov 2026): niet laten omvallen en iets
   compactere padding zodat alle vier de koppen naast elkaar passen */
@media (min-width: 1025px) {
    .elementor-element-4e62085 .e-n-menu-heading { flex-wrap: nowrap !important; }
    .elementor-element-4e62085 .e-n-menu-title { padding: 8px 10px !important; }
}
@media (max-width: 1024px) {
    .bax-header-zoek { display: none; } /* op kleinere schermen wint het hamburgermenu; zoeken kan via de zoekpagina */
}
