.elementor-kit-115{--e-global-color-primary:#0047AB;--e-global-color-secondary:#5D5A81;--e-global-color-text:#1E293B;--e-global-color-accent:#22C55E;--e-global-color-31d747f:#F0DD64;}.elementor-kit-115 button,.elementor-kit-115 input[type="button"],.elementor-kit-115 input[type="submit"],.elementor-kit-115 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:#FFFFFF;}.elementor-kit-115 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1500px;}.e-con{--container-max-width:1500px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =========================================================
   Rijbewijskeuring formulier — v10.1 CLEAN
   Doel: rustig, responsive, toegankelijk en updatebestendig.
   Belangrijk: deze CSS neemt de interne kalenderindeling NIET over.
   ========================================================= */

/* ---------- Ontwerpvariabelen, alleen binnen het formulier ---------- */
.jet-form-builder {
  --rk-primary: #1a56db;
  --rk-primary-dark: #1341a8;
  --rk-primary-soft: #eff4ff;
  --rk-primary-border: #dbeafe;
  --rk-text: #111827;
  --rk-muted: #667085;
  --rk-subtle: #98a2b3;
  --rk-border: #d0d5dd;
  --rk-border-soft: #e4e7ec;
  --rk-surface: #f8fafc;
  --rk-white: #ffffff;
  --rk-error: #b42318;
  --rk-error-soft: #fef3f2;
  --rk-radius: 10px;
  --rk-radius-large: 14px;
  --rk-shadow: 0 1px 3px rgba(16, 24, 40, 0.08);
  --rk-focus: 0 0 0 3px rgba(26, 86, 219, 0.22);

  color: var(--rk-text);
  font-family: inherit;
}

.jet-form-builder,
.jet-form-builder *,
.jet-form-builder *::before,
.jet-form-builder *::after {
  box-sizing: border-box;
}

/* ---------- Rust en ruimte ---------- */
.jet-form-builder-row {
  margin-bottom: 22px !important;
}

.jet-form-builder__label {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  margin-bottom: 8px !important;
}

.jet-form-builder__label-text,
.jet-form-builder__required {
  margin: 0 !important;
}

.jet-form-builder__label-text {
  color: var(--rk-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.055em !important;
  text-transform: uppercase !important;
}

.jet-form-builder__required {
  color: var(--rk-primary) !important;
}

/* Verberg geen tekst of toelichting in labels. */

/* ---------- Tekstvelden, selects en textarea ---------- */
.jet-form-builder input.jet-form-builder__field:not([type="checkbox"]):not([type="radio"]),
.jet-form-builder select.jet-form-builder__field,
.jet-form-builder textarea.jet-form-builder__field,
.jet-form-builder .jet-form-builder__field.text-field,
.jet-form-builder .jet-form-builder__field.select-field,
.jet-form-builder .jet-form-builder__field.textarea-field {
  width: 100% !important;
  min-height: 46px !important;
  padding: 11px 14px !important;
  color: var(--rk-text) !important;
  background-color: var(--rk-white) !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: var(--rk-radius) !important;
  box-shadow: var(--rk-shadow) !important;
  font: inherit !important;
  font-size: 15px !important;
  line-height: 1.45 !important;
  transition:
    border-color 160ms ease,
    box-shadow 160ms ease,
    background-color 160ms ease !important;
}

.jet-form-builder textarea.jet-form-builder__field,
.jet-form-builder .jet-form-builder__field.textarea-field {
  min-height: 120px !important;
  resize: vertical;
}

.jet-form-builder select.jet-form-builder__field,
.jet-form-builder .jet-form-builder__field.select-field {
  padding-right: 42px !important;
  cursor: pointer;
}

.jet-form-builder input.jet-form-builder__field:hover,
.jet-form-builder select.jet-form-builder__field:hover,
.jet-form-builder textarea.jet-form-builder__field:hover {
  border-color: var(--rk-subtle) !important;
}

.jet-form-builder input.jet-form-builder__field:focus-visible,
.jet-form-builder select.jet-form-builder__field:focus-visible,
.jet-form-builder textarea.jet-form-builder__field:focus-visible,
.jet-form-builder .jet-form-builder__field:focus-visible {
  outline: 2px solid transparent !important;
  border-color: var(--rk-primary) !important;
  box-shadow: var(--rk-focus) !important;
}

/* ---------- Fouten ---------- */
.jet-form-builder__field-error {
  display: block !important;
  margin-top: 7px !important;
  color: var(--rk-error) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

/* ---------- Berekend bedrag ---------- */
.jet-form-builder-row.field-type-calculated-field {
  margin-bottom: 22px !important;
}

.jet-form-builder__calculated-field-val {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 36px;
  padding: 7px 12px !important;
  color: var(--rk-primary) !important;
  background: var(--rk-primary-soft) !important;
  border: 1px solid var(--rk-primary-border) !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* ---------- Checkbox ---------- */
label.jet-form-builder__field-label.for-checkbox {
  display: flex !important;
  align-items: flex-start !important;
  gap: 11px !important;
  min-height: 46px !important;
  padding: 12px 14px !important;
  color: var(--rk-text) !important;
  background: var(--rk-surface) !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: var(--rk-radius) !important;
  cursor: pointer;
  transition:
    border-color 160ms ease,
    background-color 160ms ease !important;
}

label.jet-form-builder__field-label.for-checkbox:hover {
  background: var(--rk-primary-soft) !important;
  border-color: var(--rk-primary) !important;
}

label.jet-form-builder__field-label.for-checkbox:focus-within {
  outline: 2px solid transparent;
  border-color: var(--rk-primary) !important;
  box-shadow: var(--rk-focus) !important;
}

/* =========================================================
   KALENDER
   Alleen visuele styling. Geen display:grid op calendar-body
   en geen eigen positionering van weekdagen/datums.
   ========================================================= */

.jet-apb-calendar-wrapper {
  width: 100% !important;
  overflow: hidden !important;
  background: var(--rk-white) !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: var(--rk-radius-large) !important;
  box-shadow: var(--rk-shadow) !important;
}

/* Twee duidelijke kolommen wanneer 'Slots in the sidebar' actief is. */
.jet-apb-calendar.jet-apb-calendar-layout--sidebar_slots {
  display: grid !important;
  grid-template-columns: minmax(290px, 1.15fr) minmax(230px, 0.85fr) !important;
  align-items: stretch !important;
  width: 100% !important;
  min-height: 360px !important;
}

.jet-apb-calendar-content {
  min-width: 0 !important;
  padding: clamp(16px, 3vw, 24px) !important;
  background: var(--rk-white) !important;
}

.jet-apb-calendar-layout--sidebar_slots .jet-apb-calendar-sidebar {
  min-width: 0 !important;
  padding: clamp(16px, 2.5vw, 22px) !important;
  background: var(--rk-surface) !important;
  border-inline-start: 1px solid var(--rk-border-soft) !important;
}

/* Kalenderkop */
.jet-apb-calendar-header {
  margin-bottom: 16px !important;
}

.jet-apb-calendar-header__label {
  color: var(--rk-text) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}

.jet-apb-calendar-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  color: var(--rk-muted) !important;
  background: var(--rk-white) !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: 9px !important;
  cursor: pointer;
  transition:
    color 160ms ease,
    border-color 160ms ease,
    background-color 160ms ease,
    box-shadow 160ms ease !important;
}

.jet-apb-calendar-btn:hover {
  color: var(--rk-primary) !important;
  background: var(--rk-primary-soft) !important;
  border-color: var(--rk-primary) !important;
}

.jet-apb-calendar-btn:focus-visible {
  outline: 2px solid transparent !important;
  border-color: var(--rk-primary) !important;
  box-shadow: var(--rk-focus) !important;
}

.jet-apb-calendar-btn svg {
  width: 15px !important;
  height: 15px !important;
}

/* Weekdaglabels: alleen typografie, geen grid afdwingen. */
.jet-apb-calendar-week span {
  color: var(--rk-subtle) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 0.055em !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

/*
 * NIET toevoegen:
 * .jet-apb-calendar-body { display:grid; ... }
 *
 * Crocoblock bepaalt zelf de plaats van de eerste dag van de maand.
 */

/* Datums */
.jet-apb-calendar-date {
  text-align: center !important;
}

.jet-apb-calendar-date-body {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  padding: 0 !important;
  color: var(--rk-text) !important;
  border: 2px solid transparent !important;
  border-radius: 50% !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  transition:
    color 150ms ease,
    background-color 150ms ease,
    border-color 150ms ease,
    box-shadow 150ms ease !important;
}

.jet-apb-calendar-date--disabled .jet-apb-calendar-date-body {
  color: #d0d5dd !important;
  cursor: not-allowed !important;
}

.jet-apb-calendar-date[data-status="true"]:not(.jet-apb-calendar-date--disabled)
  .jet-apb-calendar-date-body {
  color: var(--rk-primary) !important;
  background: var(--rk-primary-soft) !important;
  cursor: pointer !important;
}

.jet-apb-calendar-date[data-status="true"]:not(.jet-apb-calendar-date--disabled)
  .jet-apb-calendar-date-body:hover {
  background: var(--rk-primary-border) !important;
}

.jet-apb-calendar-date-body:focus-visible {
  outline: 2px solid transparent !important;
  box-shadow: var(--rk-focus) !important;
}

.jet-apb-calendar-date--active .jet-apb-calendar-date-body,
.jet-apb-calendar-date.is-selected .jet-apb-calendar-date-body {
  color: var(--rk-white) !important;
  background: var(--rk-primary) !important;
  border-color: var(--rk-primary) !important;
  box-shadow: 0 2px 8px rgba(26, 86, 219, 0.28) !important;
}

.jet-apb-calendar-date--today:not(.jet-apb-calendar-date--active)
  .jet-apb-calendar-date-body {
  color: var(--rk-primary) !important;
  border-color: var(--rk-primary) !important;
}

/* ---------- Beschikbare tijden in sidebar ---------- */
.jet-apb-calendar-layout--sidebar_slots .jet-apb-calendar-sidebar::before {
  content: "Beschikbare tijden";
  display: block;
  margin-bottom: 12px;
  color: var(--rk-muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

/*
 * Lege status uitsluitend binnen de echte sidebar.
 * Daardoor verschijnt deze tekst nooit tussen kalenderdagen.
 */
.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-calendar-slots:empty::before {
  content: "Kies eerst een datum";
  display: flex;
  align-items: center;
  justify-content: center;
  grid-column: 1 / -1;
  min-height: 150px;
  padding: 20px;
  color: var(--rk-subtle);
  font-size: 14px;
  font-style: italic;
  line-height: 1.5;
  text-align: center;
}

.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-calendar-slots {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(94px, 1fr)) !important;
  gap: 9px !important;
  width: 100% !important;
  max-height: 300px !important;
  margin: 0 !important;
  padding: 2px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  align-content: start !important;
  scrollbar-width: thin;
}

.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-slot,
.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-calendar-slot {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 8px !important;
  color: var(--rk-text) !important;
  background: var(--rk-white) !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: var(--rk-radius) !important;
  font: inherit !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  cursor: pointer;
  transition:
    color 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease !important;
}

.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-slot:hover,
.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-calendar-slot:hover {
  color: var(--rk-primary) !important;
  background: var(--rk-primary-soft) !important;
  border-color: var(--rk-primary) !important;
}

.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-slot:focus-visible,
.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-calendar-slot:focus-visible {
  outline: 2px solid transparent !important;
  border-color: var(--rk-primary) !important;
  box-shadow: var(--rk-focus) !important;
}

.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-slot.is-active,
.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-slot.is-selected,
.jet-apb-calendar-layout--sidebar_slots
  .jet-apb-calendar-sidebar
  .jet-apb-calendar-slot.is-active {
  color: var(--rk-white) !important;
  background: var(--rk-primary) !important;
  border-color: var(--rk-primary-dark) !important;
}

/* ---------- Geselecteerde afspraak ---------- */
.jet-apb-calendar-appointments-list-wrapper {
  padding: 14px 18px !important;
  color: var(--rk-text) !important;
  background: var(--rk-primary-soft) !important;
  border-top: 1px solid var(--rk-primary-border) !important;
}

.jet-apb-calendar-appointments-list {
  line-height: 1.55 !important;
}

.jet-apb-calendar-appointments-list-wrapper button {
  min-width: 36px !important;
  min-height: 36px !important;
  border: 1px solid var(--rk-border) !important;
  border-radius: 50% !important;
  background: var(--rk-white) !important;
  cursor: pointer;
}

.jet-apb-calendar-appointments-list-wrapper button:focus-visible {
  outline: 2px solid transparent !important;
  box-shadow: var(--rk-focus) !important;
}

/* =========================================================
   NAVIGATIE EN ACTIES
   Normale documentflow: geen absolute positionering.
   ========================================================= */

.jet-form-builder-page {
  position: relative !important;
}

.jet-form-builder__submit-wrap,
.jet-form-builder__next-page-wrap {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
  height: auto !important;
  margin-top: 26px !important;
}

.jet-form-builder__next-page,
.jet-form-builder__prev-page,
.jet-form-builder__action-button.jet-form-builder__submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 46px !important;
  padding: 11px 22px !important;
  border-radius: var(--rk-radius) !important;
  font: inherit !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  cursor: pointer;
  transition:
    color 160ms ease,
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease !important;
}

.jet-form-builder__next-page,
.jet-form-builder__action-button.jet-form-builder__submit {
  margin-left: auto !important;
  color: var(--rk-white) !important;
  background: var(--rk-primary) !important;
  border: 1px solid var(--rk-primary) !important;
  box-shadow: 0 1px 3px rgba(26, 86, 219, 0.24) !important;
}

.jet-form-builder__next-page:hover,
.jet-form-builder__action-button.jet-form-builder__submit:hover {
  background: var(--rk-primary-dark) !important;
  border-color: var(--rk-primary-dark) !important;
}

.jet-form-builder__prev-page {
  color: var(--rk-muted) !important;
  background: var(--rk-white) !important;
  border: 1px solid var(--rk-border) !important;
}

.jet-form-builder__prev-page:hover {
  color: var(--rk-text) !important;
  background: var(--rk-surface) !important;
}

.jet-form-builder__next-page:focus-visible,
.jet-form-builder__prev-page:focus-visible,
.jet-form-builder__action-button.jet-form-builder__submit:focus-visible {
  outline: 2px solid transparent !important;
  box-shadow: var(--rk-focus) !important;
}

/* Gebruik de echte knoptekst uit JetFormBuilder; verberg die niet met font-size: 0. */

/* ---------- Voorwaarden ---------- */
.jet-form-builder-row:has(.jfb-voorwaarden-tekst) {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
}

.jfb-voorwaarden-tekst {
  max-width: 680px !important;
  margin: 0 0 0 auto !important;
  color: var(--rk-muted) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  text-align: right !important;
}

.jfb-voorwaarden-tekst a {
  color: var(--rk-primary) !important;
  font-weight: 650 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* ---------- Dynamisch prijsoverzicht ---------- */
.jfb-price-summary {
  margin: 4px 0 22px;
  overflow: hidden;
  color: var(--rk-text);
  background: var(--rk-white);
  border: 1px solid var(--rk-border);
  border-radius: var(--rk-radius-large);
  box-shadow: var(--rk-shadow);
}

.jfb-price-summary__row,
.jfb-price-summary__total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 11px 16px;
}

.jfb-price-summary__row {
  border-bottom: 1px solid var(--rk-border-soft);
  font-size: 14px;
}

.jfb-price-summary__label {
  color: var(--rk-muted);
  font-size: 13px;
}

.jfb-price-summary__value {
  color: var(--rk-text);
  font-size: 14px;
  font-weight: 700;
  text-align: right;
}

.jfb-price-summary__value.surcharge {
  color: #b54708;
}

.jfb-price-summary__total {
  background: var(--rk-primary-soft);
  border-top: 1px solid var(--rk-primary-border);
}

.jfb-price-summary__total-label {
  color: var(--rk-primary);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

.jfb-price-summary__total-amount {
  color: var(--rk-primary);
  font-size: 19px;
  font-weight: 800;
  text-align: right;
}

/* ---------- Tablet en mobiel ---------- */
@media (max-width: 767px) {
  .jet-apb-calendar.jet-apb-calendar-layout--sidebar_slots {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0 !important;
  }

  .jet-apb-calendar-content {
    padding: 16px !important;
  }

  .jet-apb-calendar-layout--sidebar_slots .jet-apb-calendar-sidebar {
    padding: 16px !important;
    background: var(--rk-white) !important;
    border-inline-start: 0 !important;
    border-top: 1px solid var(--rk-border-soft) !important;
  }

  .jet-apb-calendar-date-body {
    width: 36px !important;
    height: 36px !important;
    font-size: 12px !important;
  }

  .jet-apb-calendar-layout--sidebar_slots
    .jet-apb-calendar-sidebar
    .jet-apb-calendar-slots {
    grid-template-columns: repeat(auto-fit, minmax(86px, 1fr)) !important;
    max-height: none !important;
  }

  .jfb-voorwaarden-tekst {
    margin-left: 0 !important;
    text-align: left !important;
  }
}

@media (max-width: 560px) {
  .jet-form-builder-row {
    margin-bottom: 18px !important;
  }

  .jet-form-builder__submit-wrap,
  .jet-form-builder__next-page-wrap {
    align-items: stretch !important;
    flex-direction: column-reverse !important;
  }

  .jet-form-builder__next-page,
  .jet-form-builder__prev-page,
  .jet-form-builder__action-button.jet-form-builder__submit {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .jfb-price-summary__row,
  .jfb-price-summary__total {
    align-items: flex-start;
  }

  .jfb-price-summary__value,
  .jfb-price-summary__total-amount {
    max-width: 58%;
  }
}

/* ---------- Minder beweging ---------- */
@media (prefers-reduced-motion: reduce) {
  .jet-form-builder *,
  .jet-form-builder *::before,
  .jet-form-builder *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* ---------- Windows High Contrast ---------- */
@media (forced-colors: active) {
  .jet-form-builder__field,
  .jet-apb-calendar-btn,
  .jet-apb-calendar-date-body,
  .jet-apb-slot,
  .jet-apb-calendar-slot {
    border: 2px solid ButtonText !important;
  }

  .jet-apb-calendar-date--active .jet-apb-calendar-date-body,
  .jet-apb-slot.is-active,
  .jet-apb-slot.is-selected {
    forced-color-adjust: none;
  }
}/* End custom CSS */