/* BVL agenda. Huisstijl: navy #213361, teal #2199b2, lichtblauw #9ed5e1, oranje #e18532. */
.bvl-agenda { --navy:#213361; --teal:#2199b2; --teal-d:#1d879c; --lblue:#9ed5e1; --orange:#e18532; --line:#e6e6e6; --muted:#7a7f87; max-width:820px; margin:0 auto; }
.bvl-agenda * { box-sizing:border-box; }

.bvl-agenda-filter { display:flex; gap:8px; margin-bottom:22px; flex-wrap:wrap; }
.bvl-agfilter { padding:8px 18px; border:1px solid var(--line); background:#fff; color:var(--navy); border-radius:20px; font:inherit; font-weight:700; font-size:14px; cursor:pointer; transition:.15s; }
.bvl-agfilter:hover { border-color:var(--teal); }
.bvl-agfilter.is-active { background:var(--navy); border-color:var(--navy); color:#fff; }

.bvl-agenda-lijst { display:flex; flex-direction:column; gap:12px; }
.bvl-event-item { display:flex; align-items:center; gap:18px; padding:16px 18px; background:#fff; border:1px solid var(--line); border-radius:10px; text-decoration:none; color:var(--navy); transition:.15s; }
.bvl-event-item:hover { border-color:var(--teal); box-shadow:0 6px 18px rgba(33,51,97,.08); }
.bvl-event-item[hidden] { display:none; }

.bvl-event-datum { flex:0 0 54px; text-align:center; line-height:1; }
.bvl-event-dag { display:block; font-size:26px; font-weight:700; color:var(--navy); }
.bvl-event-maand { display:block; font-size:13px; text-transform:uppercase; color:var(--teal-d); font-weight:700; margin-top:2px; }

.bvl-event-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:4px; }
.bvl-event-soort { align-self:flex-start; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:2px 9px; border-radius:20px; }
.bvl-event-soort.is-intern { background:rgba(33,153,178,.12); color:var(--teal-d); }
.bvl-event-soort.is-extern { background:rgba(158,213,225,.4); color:var(--navy); }
.bvl-event-titel { font-size:17px; font-weight:700; color:var(--navy); }
.bvl-event-meta { font-size:14px; color:var(--muted); }

.bvl-event-status { flex:0 0 auto; font-size:13px; font-weight:700; padding:7px 15px; border-radius:6px; white-space:nowrap; }
.bvl-event-status.is-open { background:var(--orange); color:#fff; }
.bvl-event-status.is-dicht { background:#f2f2f2; color:var(--muted); }

.bvl-agenda-leeg { color:var(--muted); padding:34px 0; text-align:center; font-size:16px; }

@media (max-width:600px) {
  .bvl-event-item { gap:12px; padding:14px; }
  .bvl-event-status { display:none; }
}

/* ============================================================
   Aanmelden: één stijl voor het hele blok (1.0.17, 13-10-2026)
   Het betaalformulier van GetPaid, de eigen velden daarin (aantal personen, wie je meeneemt,
   hoe je erbij kwam), het gratis formulier en de deelnemerslijst zagen er elk anders uit.
   Nu overal dezelfde velden, labels, kopjes en knoppen, in de kleuren van BVL.
   ============================================================ */
.single-evenement .getpaid-payment-form, .bvl-event-aanmelden, .bvl-deelnemers {
  --a-navy: #213361; --a-licht: #9ed5e1; --a-oranje: #e18532; --a-lijn: rgba(33, 51, 97, .16); --a-veld: rgba(33, 51, 97, .38);
  --a-mist: #f4f8fa; --a-zacht: #5b6680; --a-fout: #a12b2b; color: var(--a-navy);
}
.bvl-event-aanmelden *, .bvl-deelnemers *, .single-evenement .getpaid-payment-form * { box-sizing: border-box; }
.bvl-ev-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Het kader */
.single-evenement .getpaid-payment-form, .bvl-event-aanmelden, .bvl-deelnemers {
  background: #fff; border: 1px solid var(--a-lijn); border-top: 5px solid var(--a-navy); padding: clamp(18px, 3vw, 34px); max-width: none;
}
.bvl-deelnemers { margin-top: 24px; }
.single-evenement .getpaid-payment-form .container-fluid { padding: 0; }
.single-evenement .getpaid-payment-form .container-fluid > .row { margin: 0; }
.single-evenement .getpaid-payment-form .container-fluid > .row > .col-12 { padding: 0; }

/* Kopjes */
.single-evenement h3.bvl-vorm-kop, .single-evenement .bvl-deelnemers h3, .bvl-vorm-kop, .bvl-deelnemers h3, .bvl-ev-kop {
  display: flex; align-items: center; gap: 12px; margin: 0 0 18px; font-family: inherit; font-weight: 700; font-size: 1.15rem;
  text-transform: uppercase; letter-spacing: .08em; color: var(--a-navy); line-height: 1.2;
}
.bvl-vorm-kop::before, .bvl-deelnemers h3::before, .bvl-ev-kop::before { content: ""; width: 28px; height: 6px; background: var(--a-oranje); flex: none; }
.bvl-vorm-kopvak + .col-12 ~ .bvl-vorm-kopvak .bvl-vorm-kop, .bvl-vorm-kopvak ~ .bvl-vorm-kopvak .bvl-vorm-kop { margin-top: 14px; padding-top: 26px; border-top: 1px solid var(--a-lijn); position: relative; }
.bvl-vorm-kopvak ~ .bvl-vorm-kopvak .bvl-vorm-kop::before { margin-top: 0; }

/* Labels en velden: overal gelijk */
.single-evenement .getpaid-payment-form .form-label,
.single-evenement .getpaid-payment-form .bvl-personen-keuze label,
.single-evenement .getpaid-payment-form .bvl-mee-rij label,
.bvl-hoe label, .bvl-ev-form label {
  display: block; margin: 0 0 6px; font-weight: 700; font-size: .95rem; line-height: 1.3; color: var(--a-navy);
}
.single-evenement .getpaid-payment-form .form-label .text-danger { color: var(--a-oranje) !important; }
.single-evenement .getpaid-payment-form label small { font-weight: 400; color: var(--a-zacht); }
.single-evenement .getpaid-payment-form .form-control:not(.getpaid-payment-form-submit),
.single-evenement .getpaid-payment-form select,
.single-evenement .getpaid-payment-form .bvl-mee-rij input,
.bvl-hoe select, .bvl-hoe input[type=text], .bvl-ev-form input:not([type=hidden]) {
  display: block; width: 100%; max-width: none; height: 48px; min-height: 48px; margin: 0; padding: 0 14px; font: inherit; font-size: 1rem; line-height: 1.2;
  color: var(--a-navy); background-color: #fff; border: 1.5px solid var(--a-veld); border-radius: 4px; box-shadow: none; transition: border-color .15s ease, box-shadow .15s ease;
}
.single-evenement .getpaid-payment-form select, .bvl-hoe select { padding-right: 34px; }
.single-evenement .getpaid-payment-form .form-control:not(.getpaid-payment-form-submit):focus,
.single-evenement .getpaid-payment-form select:focus,
.single-evenement .getpaid-payment-form .bvl-mee-rij input:focus,
.bvl-hoe select:focus, .bvl-hoe input[type=text]:focus, .bvl-ev-form input:focus {
  outline: none; border-color: var(--a-navy); box-shadow: 0 0 0 3px rgba(158, 213, 225, .75);
}
.single-evenement .getpaid-payment-form ::placeholder, .bvl-hoe ::placeholder { color: #8b94a9; opacity: 1; }
.single-evenement .getpaid-payment-form .mb-3 { margin-bottom: 16px !important; }
.single-evenement .getpaid-payment-form .form-text { margin-top: 6px; font-size: .84rem; color: var(--a-zacht) !important; }

/* Naam naast elkaar, postcode naast plaats */
.single-evenement .getpaid-payment-form .row.billing { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; margin: 0; }
.single-evenement .getpaid-payment-form .row.billing > [class*="col-"] { width: auto; max-width: none; flex: none; padding: 0; order: 9; }
.single-evenement .getpaid-payment-form .getpaid-address-field-wrapper__first-name,
.single-evenement .getpaid-payment-form .getpaid-address-field-wrapper__last-name { order: 1 !important; }
.single-evenement .getpaid-payment-form .getpaid-address-field-wrapper__address { order: 2 !important; grid-column: 1 / -1; }
.single-evenement .getpaid-payment-form .getpaid-address-field-wrapper__zip { order: 3 !important; }
.single-evenement .getpaid-payment-form .getpaid-address-field-wrapper__city { order: 4 !important; }
.single-evenement .getpaid-payment-form .getpaid-address-field-wrapper__company { order: 5 !important; grid-column: 1 / -1; }

/* Aantal personen */
.bvl-personen-keuze { display: flex; flex-wrap: wrap; align-items: center; gap: 0 14px; margin: 0 0 16px; }
.bvl-personen-keuze label { flex: 0 0 100%; }
.single-evenement .getpaid-payment-form .bvl-personen-keuze select { width: 7rem; }
.bvl-personen-keuze small { color: var(--a-zacht); font-size: .9rem; }
.bvl-rekent-melding { flex: 0 0 100%; margin: 8px 0 0; font-weight: 700; color: var(--a-navy); }

/* Wie je meeneemt */
.bvl-mee { margin: 0 0 16px; }
.bvl-mee-titel { margin: 4px 0 10px; font-weight: 700; font-size: .95rem; color: var(--a-navy); }
.bvl-mee-rij { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; align-items: end; margin: 0 0 10px; padding: 16px; background: var(--a-mist); border: 1px solid var(--a-lijn); border-radius: 4px; }
.bvl-mee-kop { grid-column: 1 / -1; font-weight: 700; font-size: .8rem; text-transform: uppercase; letter-spacing: .08em; color: var(--a-zacht); }
.single-evenement .getpaid-payment-form .bvl-mee-rij label { margin: 0; }
.single-evenement .getpaid-payment-form .bvl-mee-rij input, .single-evenement .getpaid-payment-form .bvl-mee-rij select { margin-top: 6px; }
.bvl-mee-fout, .bvl-hoe-fout { grid-column: 1 / -1; margin: 6px 0 0; font-weight: 700; font-size: .92rem; color: var(--a-fout); }

/* Hoe ben je bij dit event gekomen */
.bvl-hoe { margin: 0 0 16px; }
.bvl-hoe-via { margin-top: 14px; }

/* Overzicht met bedragen */
.single-evenement .getpaid-payment-form .getpaid-payment-form-items-cart { border: 1px solid var(--a-lijn) !important; border-radius: 4px; overflow: hidden; margin-bottom: 18px !important; }
.single-evenement .getpaid-payment-form .getpaid-payment-form-items-cart-header { background: var(--a-mist) !important; border-bottom: 1px solid var(--a-lijn) !important; padding: 10px 16px !important; font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; color: var(--a-zacht); }
.single-evenement .getpaid-payment-form .getpaid-payment-form-items-cart-item { padding: 14px 16px !important; border-bottom: 1px solid var(--a-lijn) !important; }
.single-evenement .getpaid-payment-form .getpaid-payment-form-items-cart .row { margin: 0; }
.single-evenement .getpaid-payment-form .getpaid-payment-form-items-cart .row > [class*="col"] { padding-left: 0; }
.single-evenement .getpaid-payment-form .getpaid-payment-form-items-cart-totals > .row > [class*="col"] { padding-right: 0; }
.single-evenement .getpaid-payment-form .getpaid-item-quantity-input { width: 64px !important; height: 40px; min-height: 40px !important; padding: 0 6px !important; border: 1.5px solid var(--a-veld) !important; border-radius: 4px !important; font-size: 1rem; color: var(--a-navy); }
.single-evenement .getpaid-payment-form .getpaid-form-cart-totals-col { border-left: 0 !important; padding: 8px 16px !important; font-weight: 400 !important; }
.single-evenement .getpaid-payment-form .getpaid-form-cart-totals-total { margin-top: 4px; padding: 14px 16px !important; background: var(--a-mist); border-top: 2px solid var(--a-navy); font-weight: 700 !important; font-size: 1.2rem; }
.single-evenement .getpaid-payment-form .getpaid-payment-form-line-totals-label { text-align: left !important; }
.single-evenement .getpaid-payment-form .getpaid-payment-form-line-totals-value { text-align: right; font-variant-numeric: tabular-nums; }

/* Betalen */
.single-evenement .getpaid-payment-form .getpaid-gateways { margin: 0 0 14px !important; }
.single-evenement .getpaid-payment-form .alert { border-radius: 4px; }
.single-evenement .getpaid-payment-form .getpaid-payment-form-submit, .bvl-ev-submit {
  display: block; width: 100%; height: 56px; padding: 0 24px; background: var(--a-oranje) !important; color: var(--a-navy) !important; border: 0 !important; border-radius: 4px !important;
  font: inherit; font-weight: 700; font-size: 1.1rem; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; transition: background-color .18s ease, color .18s ease;
}
.single-evenement .getpaid-payment-form .getpaid-payment-form-submit:hover, .single-evenement .getpaid-payment-form .getpaid-payment-form-submit:focus-visible,
.bvl-ev-submit:hover, .bvl-ev-submit:focus-visible { background: var(--a-navy) !important; color: #fff !important; }
.single-evenement .getpaid-payment-form .getpaid-payment-form-submit:focus-visible, .bvl-ev-submit:focus-visible { outline: 3px solid var(--a-licht); outline-offset: 2px; }
.single-evenement .getpaid-payment-form .getpaid-payment-form-submit[disabled] { opacity: .5; cursor: not-allowed; }
.single-evenement .getpaid-payment-form .getpaid-payment-form-element-pay_button .form-text { text-align: center; }

/* Gratis aanmelden */
.bvl-ev-form label { margin-bottom: 16px; }
.bvl-ev-form label input { margin-top: 6px; }
.bvl-ev-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.bvl-ev-form .bvl-ev-submit { margin-top: 6px; }
.bvl-ev-plekken { display: inline-block; margin: 0 0 18px; padding: 6px 12px; background: var(--a-mist); border-left: 4px solid var(--a-oranje); font-weight: 700; font-size: .95rem; color: var(--a-navy); }
.bvl-ev-dicht { margin: 0; padding: 14px 18px; background: var(--a-mist); border-left: 4px solid var(--a-navy); font-weight: 700; color: var(--a-navy); }
.bvl-ev-succes { background: #eef8f1; border: 1px solid #bfe3cb; border-radius: 4px; padding: 20px 22px; }
.bvl-ev-succes h3 { margin: 0 0 6px; color: #1f7a44; }
.bvl-ev-succes p { margin: 0; color: #2f5b41; }
.bvl-formerror { margin: 0 0 16px; padding: 12px 16px; background: #fbeeee; border-left: 4px solid var(--a-fout); color: var(--a-fout); border-radius: 4px; }
.bvl-formerror ul { margin: 0; padding-left: 1.1rem; }

/* Deelnemerslijst */
.bvl-deelnemers-lijst { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: 40px; }
.bvl-deelnemers-lijst li { break-inside: avoid; padding: 9px 0; border-bottom: 1px solid var(--a-lijn); line-height: 1.35; }
.bvl-deelnemer-naam { font-weight: 700; color: var(--a-navy); }
.bvl-deelnemer-bedrijf { color: var(--a-zacht); }
.bvl-ev-leeg { margin: 0; color: var(--a-zacht); }

@media (max-width: 640px) {
  .single-evenement .getpaid-payment-form .row.billing, .bvl-mee-rij, .bvl-ev-row { grid-template-columns: 1fr; }
  .bvl-deelnemers-lijst { columns: 1; }
}
.bvl-ev-form .bvl-hoe label { margin-bottom: 6px; }
.bvl-ev-form .bvl-hoe { margin-bottom: 22px; }

/* Keuze per persoon (1.0.19): zelfde velden als de rest */
.bvl-act { margin: 0 0 16px; }
.bvl-act label, .bvl-mee-actlabel { display: block; margin: 0 0 6px; font-weight: 700; font-size: .95rem; line-height: 1.3; color: var(--a-navy, #213361); }
.bvl-act select, .bvl-ev-form .bvl-act select {
  display: block; width: 100%; height: 48px; margin: 0; padding: 0 34px 0 14px; font: inherit; font-size: 1rem; color: var(--a-navy, #213361);
  background-color: #fff; border: 1.5px solid var(--a-veld, rgba(33,51,97,.38)); border-radius: 4px;
}
.bvl-act select:focus { outline: none; border-color: var(--a-navy, #213361); box-shadow: 0 0 0 3px rgba(158, 213, 225, .75); }
.bvl-act-uitleg { display: block; margin-top: 6px; font-size: .86rem; color: var(--a-zacht, #5b6680); }
.bvl-act-fout { margin: 6px 0 0; font-weight: 700; font-size: .92rem; color: var(--a-fout, #a12b2b); }
.bvl-mee-actlabel { grid-column: 1 / -1; margin: 0; }
.bvl-ev-form .bvl-act { margin-bottom: 22px; }
