/* wj-bookzo — accommodatiepagina's en overzicht in de huisstijl van het thema.
   Gebruikt de variabelen van het thema (--paars, --donker, --roze, --mint,
   --licht, --radius); valt terug op neutrale waarden als die ontbreken. */

.wj-bookzo {
  --wjb-donker: var(--donker, #2E1352);
  --wjb-paars:  var(--paars, #8438DF);
  --wjb-roze:   var(--roze, #F7148B);
  --wjb-mint:   var(--mint, #C7FDBB);
  --wjb-licht:  var(--licht, #D1D1E6);
  --wjb-radius: var(--radius, 15px);
  --wjb-vlak:   #F5F3FB;
}

/* Kop ---------------------------------------------------------------------- */
.wj-bookzo__kop { max-width: 860px; margin-bottom: clamp(24px, 4vw, 48px); }
.wj-bookzo__kop h1 { font-size: clamp(32px, 5vw, 56px); line-height: 1.05; margin: 0 0 .4em; }
.wj-bookzo__locatie {
  display: inline-flex; align-items: center; gap: .5em;
  margin: 0 0 .8em; font-family: var(--font-body-bold, inherit); font-size: 15px;
  letter-spacing: .04em; text-transform: uppercase; color: var(--wjb-paars);
}
.wj-bookzo__locatie::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--wjb-roze); }
.wj-bookzo__intro { font-size: clamp(18px, 1.6vw, 22px); line-height: 1.5; margin: 0; }

/* Galerij ------------------------------------------------------------------ */
.wj-bookzo__galerij { display: grid; gap: 12px; margin: 0 0 clamp(32px, 5vw, 64px); }
.wj-bookzo__galerij--meer { grid-template-columns: repeat(2, 1fr); }
.wj-bookzo__foto { display: block; overflow: hidden; border-radius: var(--wjb-radius); background: var(--wjb-vlak); }
.wj-bookzo__foto img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 3 / 2; transition: transform .4s ease; }
.wj-bookzo__foto:hover img { transform: scale(1.03); }
.wj-bookzo__foto--groot { grid-column: 1 / -1; }
@media (min-width: 720px) {
  .wj-bookzo__galerij--meer { grid-template-columns: 3fr 1fr 1fr; grid-auto-rows: minmax(0, 1fr); }
  .wj-bookzo__foto--groot { grid-column: 1; grid-row: 1 / 3; }
  .wj-bookzo__foto--groot img { aspect-ratio: auto; }
  /* Precies twee foto's: naast elkaar, zonder leeg vak. */
  .wj-bookzo__galerij--twee { grid-template-columns: 2fr 1fr; }
  .wj-bookzo__galerij--twee .wj-bookzo__foto--groot { grid-row: 1; }
  .wj-bookzo__galerij--twee .wj-bookzo__foto:not(.wj-bookzo__foto--groot) img { aspect-ratio: auto; }
  /* Drie foto's: de twee kleine onder elkaar naast de grote. */
  .wj-bookzo__galerij--drie { grid-template-columns: 2fr 1fr; }
  .wj-bookzo__galerij--drie .wj-bookzo__foto:not(.wj-bookzo__foto--groot) { grid-column: 2; }
}

.wj-bookzo__foto--verborgen { display: none; }
.wj-bookzo__foto[data-meer] { position: relative; }
.wj-bookzo__foto[data-meer]::after {
  content: attr(data-meer); position: absolute; inset: 0; display: grid; place-items: center;
  background: rgba(46, 19, 82, .55); color: #fff; font-family: var(--font-head, inherit); font-size: clamp(16px, 1.6vw, 22px);
}

/* Lightbox ----------------------------------------------------------------- */
.wj-lightbox-open { overflow: hidden; }
.wj-lightbox { border: 0; padding: 0; margin: 0; width: 100vw; max-width: 100vw; height: 100vh; max-height: 100vh; background: transparent; color: #fff; }
.wj-lightbox::backdrop { background: rgba(20, 8, 40, .92); }
.wj-lightbox[open] { display: grid; grid-template-columns: 64px minmax(0, 1fr) 64px; grid-template-rows: 1fr; align-items: center; }
.wj-lightbox__figuur { grid-column: 2; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 100vh; padding: 56px 0 40px; }
.wj-lightbox__foto { max-width: 100%; max-height: calc(100vh - 140px); width: auto; height: auto; object-fit: contain; border-radius: var(--radius, 15px); box-shadow: 0 30px 60px rgba(0,0,0,.4); }
.wj-lightbox__onderschrift { margin-top: 14px; font-size: 15px; opacity: .8; text-align: center; min-height: 1.4em; }
.wj-lightbox button {
  appearance: none; border: 0; cursor: pointer; background: rgba(255,255,255,.12); color: #fff;
  width: 48px; height: 48px; border-radius: 50%; font-size: 34px; line-height: 1; display: grid; place-items: center;
  transition: background .2s ease;
}
.wj-lightbox button:hover, .wj-lightbox button:focus-visible { background: var(--roze, #F7148B); outline: none; }
.wj-lightbox__vorige { grid-column: 1; justify-self: center; }
.wj-lightbox__volgende { grid-column: 3; justify-self: center; }
.wj-lightbox__sluit { position: fixed; top: 16px; right: 16px; font-size: 30px; }
.wj-lightbox__teller { position: fixed; top: 26px; left: 24px; margin: 0; font-size: 15px; opacity: .8; }
.wj-lightbox--enkel .wj-lightbox__vorige, .wj-lightbox--enkel .wj-lightbox__volgende, .wj-lightbox--enkel .wj-lightbox__teller { display: none; }
@media (max-width: 640px) {
  .wj-lightbox[open] { grid-template-columns: 1fr; }
  .wj-lightbox__figuur { grid-column: 1; padding: 56px 12px 90px; }
  .wj-lightbox__vorige, .wj-lightbox__volgende { position: fixed; bottom: 20px; }
  .wj-lightbox__vorige { left: calc(50% - 60px); }
  .wj-lightbox__volgende { left: calc(50% + 12px); }
}

/* Lees meer ---------------------------------------------------------------- */
.wj-bookzo__beschrijving { --wjb-leesmeer-hoogte: 320px; position: relative; }
.wj-bookzo__beschrijving--dicht .wj-bookzo__beschrijving-inhoud {
  max-height: var(--wjb-leesmeer-hoogte); overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 90px), transparent);
          mask-image: linear-gradient(to bottom, #000 calc(100% - 90px), transparent);
}
.wj-bookzo__leesmeer {
  appearance: none; border: 2px solid var(--wjb-donker); background: transparent; color: var(--wjb-donker);
  border-radius: 99px; padding: 10px 22px; margin: 4px 0 0; cursor: pointer;
  font-family: var(--font-head, inherit); font-size: 15px; transition: background .2s ease, color .2s ease;
}
.wj-bookzo__leesmeer:hover { background: var(--wjb-donker); color: #fff; }
.wj-bookzo__beschrijving--dicht .wj-bookzo__leesmeer { position: relative; z-index: 1; margin-top: -8px; }

/* Tekst en zijkolom -------------------------------------------------------- */
.wj-bookzo__kolommen { display: grid; gap: clamp(32px, 5vw, 64px); align-items: start; }
@media (min-width: 900px) { .wj-bookzo__kolommen { grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr); } }
.wj-bookzo__tekst { font-size: 18px; }
.wj-bookzo__tekst h2 { font-size: clamp(24px, 2.6vw, 32px); margin-top: 1.4em; }
.wj-bookzo__tekst p { margin-bottom: 1.1em; }
.wj-bookzo__tekst ul { margin: 0 0 1.2em; padding: 0; }
.wj-bookzo__tekst li { position: relative; padding-left: 1.6em; margin-bottom: .5em; }
.wj-bookzo__tekst li::before {
  content: ""; position: absolute; left: 0; top: .45em; width: 1em; height: 1em; border-radius: 50%;
  background: var(--wjb-mint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%232E1352' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center / 62% no-repeat;
}
.wj-bookzo__usps { margin-top: 1.5em; padding: 1.4em 1.6em; background: var(--wjb-vlak); border-radius: var(--wjb-radius); }
.wj-bookzo__usps ul { margin: 0; }
.wj-bookzo__usps li:last-child { margin-bottom: 0; }
.wj-bookzo__blok { margin-top: 2em; }

.wj-bookzo__zij { position: sticky; top: 24px; }
.wj-bookzo__praktisch {
  padding: 28px; border-radius: var(--wjb-radius); background: var(--wjb-donker); color: #fff;
  box-shadow: 0 20px 40px rgba(46, 19, 82, .18);
}
.wj-bookzo__praktisch h3 { margin: 0 0 .8em; font-size: 22px; }
.wj-bookzo__praktisch dl { margin: 0 0 1.4em; }
.wj-bookzo__praktisch dl > div { display: flex; justify-content: space-between; gap: 1em; padding: .55em 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.wj-bookzo__praktisch dl > div:last-child { border-bottom: 0; }
.wj-bookzo__praktisch dt { opacity: .7; }
.wj-bookzo__praktisch dd { margin: 0; text-align: right; font-family: var(--font-body-bold, inherit); }
.wj-bookzo__kaartlink { display: inline-block; margin-bottom: 1.2em; color: var(--wjb-mint); text-decoration: underline; text-underline-offset: 3px; }
.wj-bookzo__praktisch-knop { display: block; text-align: center; }

/* Kenmerken ---------------------------------------------------------------- */
.wj-bookzo__kenmerken { margin-top: 2.5em; }
.wj-bookzo__kenmerkgroepen { display: grid; gap: 20px 32px; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); }
.wj-bookzo__kenmerkgroep h3 { font-size: 16px; margin: 0 0 .5em; color: var(--wjb-paars); }
.wj-bookzo__kenmerkgroep ul { margin: 0; }
.wj-bookzo__kenmerkgroep li { margin-bottom: .35em; font-size: 17px; }
.wj-bookzo__kenmerkgroep strong { font-family: var(--font-body-bold, inherit); font-weight: 400; }

/* Boekblok (realtime uit Bookzo) ------------------------------------------- */
.wj-bookzo__boeken h2 { color: #fff; }
.wj-bookzo__boeken .label { margin: 0 0 .5em; }
.wj-bookzo__boekkaart { background: #fff; color: var(--wjb-donker); border-radius: var(--wjb-radius); padding: clamp(16px, 3vw, 32px); }

/* Elementen: ruimte reserveren, ze renderen pas na het laden --------------- */
.wj-bookzo__element { min-height: 12rem; }
.wj-bookzo__element--object,
.wj-bookzo__element--results,
.wj-bookzo__element--booking { min-height: 32rem; }
.wj-bookzo__element--calendar { min-height: 22rem; }
.wj-bookzo__element--search { min-height: 5rem; }
.wj-bookzo__element--confirmation { min-height: 8rem; }

/* Overzicht ---------------------------------------------------------------- */
.wj-bookzo__kop--overzicht { max-width: 760px; }
.wj-bookzo__zoekbalk {
  margin: 0 0 clamp(40px, 6vw, 72px); padding: clamp(20px, 3vw, 32px);
  background: var(--wjb-vlak); border-radius: var(--wjb-radius);
}
.wj-bookzo__zoekbalk-label { margin: 0 0 .6em; font-family: var(--font-head, inherit); font-size: 20px; }
.wj-bookzo__zoekbalk .wj-bookzo__element { margin: 0; }
.wj-bookzo__resultaten { margin-bottom: clamp(40px, 6vw, 72px); }
.wj-bookzo__resultaten[hidden], .wj-bookzo__overzicht[hidden] { display: none; }
.wj-bookzo__resultaten-kop { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 1em; }
.wj-bookzo__resultaten-kop h2 { margin: 0; }
.wj-bookzo__resultaten-terug { font-family: var(--font-body-bold, inherit); color: var(--wjb-roze); text-decoration: none; }
.wj-bookzo__resultaten-terug::before { content: "← "; }
.wj-bookzo__resultaten-grid { display: grid; gap: 2rem; }
@media (min-width: 900px) { .wj-bookzo__resultaten-grid { grid-template-columns: minmax(240px, 1fr) minmax(0, 3fr); } }
@media (max-width: 899px) { .wj-bookzo__filters { display: none; } }

.wj-bookzo__rastertitel { margin-bottom: .8em; }
.wj-bookzo__raster { display: grid; gap: 28px; }
@media (min-width: 640px) { .wj-bookzo__raster { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .wj-bookzo__raster { grid-template-columns: repeat(3, 1fr); } }
.wj-bookzo__kaart {
  display: flex; flex-direction: column; overflow: hidden; border-radius: var(--wjb-radius);
  background: var(--wjb-vlak); transition: transform .25s ease, box-shadow .25s ease;
}
.wj-bookzo__kaart:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(46, 19, 82, .16); }
.wj-bookzo__kaart-foto { display: block; overflow: hidden; background: var(--wjb-licht); }
.wj-bookzo__kaart-foto img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .4s ease; }
.wj-bookzo__kaart:hover .wj-bookzo__kaart-foto img { transform: scale(1.04); }
.wj-bookzo__kaart-body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 26px; }
.wj-bookzo__kaart-locatie { margin: 0 0 .4em; font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--wjb-paars); }
.wj-bookzo__kaart h3 { font-size: 22px; margin: 0 0 .5em; }
.wj-bookzo__kaart h3 a { text-decoration: none; }
.wj-bookzo__kaart h3 a::after { content: ""; position: absolute; inset: 0; }
.wj-bookzo__kaart { position: relative; }
.wj-bookzo__kaart-tekst { margin: 0 0 1em; font-size: 16px; line-height: 1.55; opacity: .85; }
.wj-bookzo__kaart-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: auto 0 1.2em; }
.wj-bookzo__kaart-meta li { padding: 4px 12px; border-radius: 99px; background: #fff; font-size: 14px; }
.wj-bookzo__kaart-link {
  align-self: flex-start; font-family: var(--font-body-bold, inherit); color: var(--wjb-roze);
  text-decoration: none; display: inline-flex; align-items: center; gap: .4em;
}
.wj-bookzo__kaart-link::after { content: "→"; transition: transform .2s ease; }
.wj-bookzo__kaart:hover .wj-bookzo__kaart-link::after { transform: translateX(4px); }

/* ==========================================================================
   Bookzo-elementen in de huisstijl. Bookzo levert bewust geen knop- en
   formulieropmaak; alles hieronder is prefixed met .bookzo.bookzo-bootstrap
   zoals hun docs voorschrijven, zodat het alleen binnen de elementen geldt.
   ========================================================================== */

.bookzo.bookzo-bootstrap {
  font-family: var(--font-body, inherit);
  color: var(--donker, #2E1352);
  --wjb-donker: var(--donker, #2E1352);
  --wjb-paars:  var(--paars, #8438DF);
  --wjb-roze:   var(--roze, #F7148B);
  --wjb-mint:   var(--mint, #C7FDBB);
  --wjb-lila:   #EFEAFB;
  --wjb-lijn:   #E2DDF2;
  --wjb-radius: var(--radius, 15px);
}

/* Knoppen ------------------------------------------------------------------ */
.bookzo.bookzo-bootstrap .btn {
  cursor: pointer; border: 2px solid transparent; border-radius: 99px;
  padding: 12px 26px; font-family: var(--font-head, inherit); font-size: 16px; line-height: 1.2;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .15s ease;
}
.bookzo.bookzo-bootstrap .btn-primary { background: var(--wjb-roze); color: #fff; border-color: var(--wjb-roze); }
.bookzo.bookzo-bootstrap .btn-primary:hover:not(:disabled) { background: var(--wjb-donker); border-color: var(--wjb-donker); color: #fff; }
.bookzo.bookzo-bootstrap .btn-secondary { background: #fff; color: var(--wjb-donker); border-color: var(--wjb-donker); }
.bookzo.bookzo-bootstrap .btn-secondary:hover:not(:disabled) { background: var(--wjb-mint); border-color: var(--wjb-mint); }
.bookzo.bookzo-bootstrap .btn-link { background: transparent; color: var(--wjb-paars); text-decoration: underline; text-underline-offset: 3px; padding: 8px 12px; }
.bookzo.bookzo-bootstrap .btn:disabled { opacity: .35; cursor: default; }
.bookzo.bookzo-bootstrap .btn:focus-visible { outline: 3px solid var(--wjb-mint); outline-offset: 2px; }

/* Velden ------------------------------------------------------------------- */
.bookzo.bookzo-bootstrap label { font-family: var(--font-body-bold, inherit); font-size: 14px; letter-spacing: .03em; text-transform: uppercase; color: var(--wjb-paars); margin-bottom: 6px; }
.bookzo.bookzo-bootstrap .form-control {
  height: 52px; padding: 10px 16px; font-size: 17px; font-family: inherit; color: var(--wjb-donker);
  background: #fff; border: 2px solid var(--wjb-lijn); border-radius: 12px; box-shadow: none; transition: border-color .2s ease;
}
.bookzo.bookzo-bootstrap .form-control:focus { border-color: var(--wjb-paars); outline: none; box-shadow: 0 0 0 4px rgba(132, 56, 223, .12); }
.bookzo.bookzo-bootstrap .form-control[readonly] { background: #fff; cursor: pointer; }
.bookzo.bookzo-bootstrap .input-group { flex-wrap: nowrap; }
.bookzo.bookzo-bootstrap .input-group > .form-control:first-child:not(:last-child) { border-radius: 12px 0 0 12px; border-right-width: 1px; }
.bookzo.bookzo-bootstrap .input-group > .form-control:last-child:not(:first-child) { border-radius: 0 12px 12px 0; border-left-width: 1px; }
.bookzo.bookzo-bootstrap .form-control-datepicker { min-width: 120px; }

/* Zoekbalk ----------------------------------------------------------------- */
.bookzo.bookzo-bootstrap .bookzo-search .form-inline { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 20px; }
.bookzo.bookzo-bootstrap .bookzo-search .form-group-inline { display: flex; flex-direction: column; margin: 0 !important; flex: 1 1 220px; }
.bookzo.bookzo-bootstrap .bookzo-search .bookzo-search-arrival-departure { flex: 2 1 280px; }
.bookzo.bookzo-bootstrap .bookzo-search .bookzo-search-submit { height: 52px; flex: 0 0 auto; }
.bookzo.bookzo-bootstrap .bookzo-search .form-control-composition { min-width: 160px; }
@media (max-width: 640px) {
  .bookzo.bookzo-bootstrap .bookzo-search .bookzo-search-submit { width: 100%; }
}

/* Uitklappers (datumkiezer en personen in de zoekbalk) --------------------- */
.bookzo-bootstrap .dropdown-menu, .bookzo-bootstrap.dropdown-menu,
.bookzo-bootstrap .datepicker-wrapper.floating {
  border: 0; border-radius: var(--radius, 15px); padding: 16px; background: #fff;
  box-shadow: 0 24px 48px rgba(46, 19, 82, .18);
}

/* Kalender (ng-bootstrap datepicker) --------------------------------------- */
.bookzo-bootstrap ngb-datepicker { border: 0; }
.bookzo-bootstrap .datepicker-wrapper.inline { border: 2px solid #E2DDF2; border-radius: var(--radius, 15px); padding: 12px 8px; }
.bookzo-bootstrap .ngb-dp-header { background: transparent; padding: 0 0 10px; border: 0; }
.bookzo-bootstrap .ngb-dp-month-name { font-family: var(--font-head, inherit); font-size: 19px; color: var(--wjb-donker); height: auto; line-height: 1.3; }
.bookzo-bootstrap .ngb-dp-arrow-btn { padding: 4px 8px; color: var(--wjb-paars); }
.bookzo-bootstrap .ngb-dp-navigation-chevron { border-width: 2px 2px 0 0; width: .7em; height: .7em; }
.bookzo-bootstrap .ngb-dp-weekdays { background: transparent; border: 0; }
.bookzo-bootstrap .ngb-dp-weekday { font-family: var(--font-body-bold, inherit); font-style: normal; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--wjb-paars); }
.bookzo-bootstrap .ngb-dp-month { padding: 0 8px; }
.bookzo-bootstrap .ngb-dp-day, .bookzo-bootstrap .ngb-dp-weekday, .bookzo-bootstrap .ngb-dp-week-number { width: 2.4rem; height: 2.4rem; }
.bookzo-bootstrap .custom-day { display: block; width: 100%; height: 100%; }
.bookzo-bootstrap .custom-day-circle {
  display: grid; place-items: center; width: 2.2rem; height: 2.2rem; margin: .1rem; border-radius: 50%;
  font-size: 15px; font-family: var(--font-body-bold, inherit); color: var(--wjb-donker); transition: background .15s ease, color .15s ease;
}
.bookzo-bootstrap .ngb-dp-day:not(.disabled) .custom-day-circle:hover { background: var(--wjb-lila); }
.bookzo-bootstrap .custom-day.disabled .custom-day-circle { color: #B9B3C9; text-decoration: line-through; font-family: inherit; }
.bookzo-bootstrap .ngb-dp-today .custom-day-circle { box-shadow: inset 0 0 0 2px var(--wjb-lila); }
/* Geselecteerde periode: eerste en laatste dag roze, de dagen ertussen lila.
   Klassen zoals Bookzo ze zet: first-date, second-date, range (ook op
   uitgeschakelde dagen binnen de periode). */
.bookzo-bootstrap .custom-day.range { background: var(--wjb-lila, #EFEAFB); }
.bookzo-bootstrap .custom-day.range .custom-day-circle { color: var(--wjb-donker, #2E1352); text-decoration: none; }
.bookzo-bootstrap .custom-day.first-date, .bookzo-bootstrap .custom-day.second-date { background: transparent; }
.bookzo-bootstrap .custom-day.first-date .custom-day-circle,
.bookzo-bootstrap .custom-day.second-date .custom-day-circle,
.bookzo-bootstrap .custom-day.first-selected .custom-day-circle,
.bookzo-bootstrap .custom-day.second-selected .custom-day-circle { background: var(--wjb-roze, #F7148B) !important; color: #fff !important; text-decoration: none; }
.bookzo-bootstrap .custom-day.first-date { border-radius: 50% 0 0 50%; background: var(--wjb-lila, #EFEAFB); }
.bookzo-bootstrap .custom-day.second-date { border-radius: 0 50% 50% 0; background: var(--wjb-lila, #EFEAFB); }

/* Boekblok: kalender en personen naast elkaar, personen als kaart ---------- */
.bookzo.bookzo-bootstrap .calendar-persons { display: flex; flex-wrap: wrap; gap: 24px; align-items: flex-start; }
.bookzo.bookzo-bootstrap .calendar-persons .spacer { display: none; }
.bookzo.bookzo-bootstrap .no-departure-selected { flex: 1 1 520px; }
.bookzo.bookzo-bootstrap .persons-wrapper { flex: 0 1 320px; }
.bookzo.bookzo-bootstrap .card { border: 0; border-radius: var(--wjb-radius); background: var(--wjb-lila); }
.bookzo.bookzo-bootstrap .card-body { padding: 20px 22px; }
.bookzo.bookzo-bootstrap .persons-item + .persons-item { margin-top: 12px; }
.bookzo.bookzo-bootstrap .number-control { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bookzo.bookzo-bootstrap .number-control .label { font-family: var(--font-body-bold, inherit); font-size: 15px; text-transform: uppercase; letter-spacing: .03em; color: var(--wjb-donker); }
.bookzo.bookzo-bootstrap .number-control .label b { font-weight: normal; }
.bookzo.bookzo-bootstrap .number-control .numbers { display: flex; align-items: center; gap: 8px; }
.bookzo.bookzo-bootstrap .number-control .form-control { width: 60px; height: 44px; text-align: center; padding: 6px; -moz-appearance: textfield; }
.bookzo.bookzo-bootstrap .number-control .form-control::-webkit-inner-spin-button { -webkit-appearance: none; }
.bookzo.bookzo-bootstrap .btn-circle { width: 44px; height: 44px; padding: 0; border-radius: 50%; display: grid; place-items: center; font-size: 20px; }
.bookzo.bookzo-bootstrap .btn-circle b { font-weight: normal; font-family: var(--font-head, inherit); }

/* Prijzen en boekknop verschijnen pas na een datumkeuze: tot die tijd geen
   lege kaart tonen. */
.bookzo.bookzo-bootstrap .card-alternative-prices { margin-top: 24px !important; }
.bookzo.bookzo-bootstrap .card-alternative-prices:has(.alternative-prices-container:empty) { display: none; }

/* Zoekresultaten (bookzo-results) en filters (bookzo-filters) -------------- */
.bookzo.bookzo-bootstrap .badge { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 99px; font-family: var(--font-body-bold, inherit); font-size: 13px; font-weight: normal; }
.bookzo.bookzo-bootstrap .badge-secondary { background: var(--wjb-lila); color: var(--wjb-donker); }
.bookzo.bookzo-bootstrap .results-badges-sort-options { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 16px; }
.bookzo.bookzo-bootstrap .filter-button .btn-link { padding: 6px 10px; }
@media (min-width: 900px) { .bookzo.bookzo-bootstrap .filter-button-wrapper { display: none; } }

.bookzo.bookzo-bootstrap .result-items { display: grid; gap: 24px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); padding: 0; margin: 0 !important; max-width: none; flex: none; }
.bookzo.bookzo-bootstrap .card.result-item {
  border: 0; border-radius: var(--wjb-radius); overflow: hidden; background: var(--wjb-lila);
  transition: transform .25s ease, box-shadow .25s ease; margin: 0 !important;
}
.bookzo.bookzo-bootstrap .card.result-item:hover { transform: translateY(-4px); box-shadow: 0 20px 40px rgba(46, 19, 82, .16); }
.bookzo.bookzo-bootstrap .result-item .card-img-top { border-radius: 0; }
.bookzo.bookzo-bootstrap .result-item .slider-wrapper, .bookzo.bookzo-bootstrap .result-item .slider-panel { aspect-ratio: 4 / 3; }
.bookzo.bookzo-bootstrap .result-item .card-body { padding: 20px 22px 24px; text-align: left; }
.bookzo.bookzo-bootstrap .result-item .card-body p, .bookzo.bookzo-bootstrap .result-item .card-text { text-align: left; }
.bookzo.bookzo-bootstrap .result-item h3.object-name { font-family: var(--font-head, inherit); font-size: 22px; line-height: 1.15; margin: 0 0 4px; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.bookzo.bookzo-bootstrap .result-item .group-name { font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--wjb-paars) !important; }
.bookzo.bookzo-bootstrap .result-item .card-icons, .bookzo.bookzo-bootstrap .result-item .icons { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 15px; }
.bookzo.bookzo-bootstrap .result-item .card-text { font-size: 16px; line-height: 1.55; }
.bookzo.bookzo-bootstrap .result-item .price, .bookzo.bookzo-bootstrap .result-item .prices, .bookzo.bookzo-bootstrap .result-item .card-prices { font-family: var(--font-body-bold, inherit); }
.bookzo.bookzo-bootstrap .result-item .btn { width: 100%; margin-top: 12px; }
.bookzo.bookzo-bootstrap .slider-button { background: rgba(255,255,255,.85); border-radius: 50%; width: 36px; height: 36px; display: grid; place-items: center; }
.bookzo.bookzo-bootstrap .slider-page.is-active { background: var(--wjb-roze); }

.bookzo-bootstrap .filters-wrapper.inline .filters { margin: 0 !important; }
.bookzo-bootstrap .filters h5 { font-family: var(--font-body-bold, inherit); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--paars, #8438DF); margin: 0 0 8px; }
.bookzo-bootstrap .filters .form-group, .bookzo-bootstrap .filters .feature-group { margin-bottom: 22px; }
.bookzo-bootstrap .filters .form-control { height: 46px; font-size: 16px; }
.bookzo-bootstrap .filters .form-check { display: flex; align-items: center; gap: 10px; padding: 0; margin: 0 0 8px; }
.bookzo-bootstrap .filters .form-check-input { position: static; margin: 0; width: 20px; height: 20px; accent-color: var(--roze, #F7148B); }
.bookzo-bootstrap .filters .form-check-label { font-size: 16px; cursor: pointer; }
/* Bookzo levert omschrijvingen soms met inline "text-align: justify". */
.bookzo.bookzo-bootstrap .result-item .card-text [style*="text-align"],
.bookzo.bookzo-bootstrap .result-item .card-text p { text-align: left !important; }

/* Personen-popup bij de zoekbalk (staat los in <body>, buiten .bookzo) ------ */
.bookzo-bootstrap .objects-to-book-wrapper.floating {
  border: 0; border-radius: var(--radius, 15px); padding: 20px; background: #fff;
  box-shadow: 0 24px 48px rgba(46, 19, 82, .18); font-family: var(--font-body, inherit); color: var(--donker, #2E1352);
}
.bookzo-bootstrap .objects-to-book-wrapper .object-to-book.card { border: 0; border-radius: 12px; background: #EFEAFB; margin: 0 0 16px !important; }
.bookzo-bootstrap .objects-to-book-wrapper .card-body { padding: 18px 20px; }
.bookzo-bootstrap .objects-to-book-wrapper .object-to-book-title:empty { display: none; }
.bookzo-bootstrap .objects-to-book-wrapper .persons { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 28px; }
@media (max-width: 560px) { .bookzo-bootstrap .objects-to-book-wrapper .persons { grid-template-columns: 1fr; } }
.bookzo-bootstrap .objects-to-book-wrapper .persons-item { margin: 0 !important; flex: none !important; width: auto !important; max-width: none !important; }
.bookzo-bootstrap .objects-to-book-wrapper .number-control { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bookzo-bootstrap .objects-to-book-wrapper .number-control .label { text-align: left; }
.bookzo-bootstrap .objects-to-book-wrapper .number-control .label b { display: block; font-family: var(--font-body-bold, inherit); font-weight: normal; font-size: 14px; text-transform: uppercase; letter-spacing: .03em; }
.bookzo-bootstrap .objects-to-book-wrapper .age-wrapper { font-size: 13px; opacity: .65; }
.bookzo-bootstrap .objects-to-book-wrapper .numbers { display: flex; align-items: center; gap: 6px; }
.bookzo-bootstrap .objects-to-book-wrapper .form-control { width: 54px; height: 40px; padding: 4px; text-align: center; font-size: 16px; border: 2px solid #E2DDF2; border-radius: 10px; -moz-appearance: textfield; }
.bookzo-bootstrap .objects-to-book-wrapper .form-control::-webkit-inner-spin-button { -webkit-appearance: none; }
.bookzo-bootstrap .objects-to-book-wrapper .btn-circle {
  width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center;
  background: var(--roze, #F7148B); color: #fff; font-size: 18px; cursor: pointer; transition: background .2s ease;
}
.bookzo-bootstrap .objects-to-book-wrapper .btn-circle b { font-weight: normal; font-family: var(--font-head, inherit); }
.bookzo-bootstrap .objects-to-book-wrapper .btn-circle:hover:not(:disabled) { background: var(--donker, #2E1352); }
.bookzo-bootstrap .objects-to-book-wrapper .btn-circle:disabled { opacity: .3; cursor: default; }
.bookzo-bootstrap .objects-to-book-buttons { display: flex; justify-content: flex-end; align-items: center; gap: 8px; }
.bookzo-bootstrap .objects-to-book-buttons .btn {
  border-radius: 99px; padding: 12px 24px; border: 2px solid transparent; cursor: pointer;
  font-family: var(--font-head, inherit); font-size: 15px; line-height: 1.2; margin: 0 !important; transition: background .2s ease, color .2s ease;
}
.bookzo-bootstrap .objects-to-book-buttons .btn-primary { background: var(--roze, #F7148B); color: #fff; }
.bookzo-bootstrap .objects-to-book-buttons .btn-primary:hover { background: var(--donker, #2E1352); }
.bookzo-bootstrap .objects-to-book-buttons .btn-link { background: transparent; color: var(--paars, #8438DF); text-decoration: underline; text-underline-offset: 3px; }

/* Reviews-module ----------------------------------------------------------- */
.wj-reviews { margin: clamp(32px, 5vw, 64px) 0 0; }
.wj-reviews__kop { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; margin-bottom: 20px; }
.wj-reviews__kop h2 { margin: 0; }
.wj-reviews__score { display: inline-flex; align-items: center; gap: 14px; padding: 10px 18px 10px 10px; border-radius: 99px; background: var(--donker, #2E1352); color: #fff; }
.wj-reviews__score-cijfer { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--mint, #C7FDBB); color: var(--donker, #2E1352); font-family: var(--font-head, inherit); font-size: 22px; }
.wj-reviews__score-uitleg { font-size: 14px; line-height: 1.25; opacity: .9; }
.wj-reviews--score .wj-reviews__score { margin: 0; }

.wj-review { position: relative; height: 100%; padding: 26px 26px 22px; border-radius: var(--radius, 15px); background: #F5F3FB; display: flex; flex-direction: column; }
.wj-review__cijfer { position: absolute; top: 18px; right: 18px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--mint, #C7FDBB); font-family: var(--font-head, inherit); font-size: 16px; }
.wj-review__titel { font-size: 19px; margin: 0 56px .5em 0; }
.wj-review__tekst { margin: 0 0 1em; font-size: 16px; line-height: 1.55; display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden; }
.wj-review__voet { margin-top: auto; font-size: 14px; opacity: .85; }
.wj-review__datum::before { content: "· "; }
.wj-review__accommodatie { color: var(--paars, #8438DF); }

.wj-reviews__carrousel { position: relative; }
.wj-reviews__spoor { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding: 4px 2px 8px; }
.wj-reviews__spoor::-webkit-scrollbar { display: none; }
.wj-reviews__slide { flex: 0 0 min(100%, 340px); scroll-snap-align: start; }
.wj-reviews__knop {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 1;
  width: 44px; height: 44px; border: 0; border-radius: 50%; background: var(--donker, #2E1352); color: #fff;
  font-size: 30px; line-height: 1; cursor: pointer; display: grid; place-items: center; box-shadow: 0 8px 20px rgba(46, 19, 82, .2);
}
.wj-reviews__knop--vorige { left: -14px; }
.wj-reviews__knop--volgende { right: -14px; }
.wj-reviews__knop:disabled { opacity: .25; cursor: default; }
.wj-reviews__knop:hover:not(:disabled) { background: var(--roze, #F7148B); }

.wj-reviews--willekeurig { padding: clamp(24px, 4vw, 40px); border-radius: var(--radius, 15px); background: var(--donker, #2E1352); color: #fff; margin-bottom: clamp(40px, 6vw, 72px); }
.wj-reviews--willekeurig h2 { color: #fff; }
.wj-reviews--willekeurig .wj-reviews__score { background: rgba(255,255,255,.1); }
.wj-reviews--willekeurig .wj-review { background: rgba(255,255,255,.08); color: #fff; }
.wj-reviews--willekeurig .wj-review__tekst { -webkit-line-clamp: 10; font-size: 18px; }
.wj-reviews--willekeurig .wj-review__accommodatie { color: var(--mint, #C7FDBB); }
.wj-reviews__andere { margin-top: 16px; appearance: none; border: 2px solid rgba(255,255,255,.5); background: transparent; color: #fff; border-radius: 99px; padding: 9px 20px; cursor: pointer; font-family: var(--font-head, inherit); font-size: 14px; }
.wj-reviews__andere:hover { background: #fff; color: var(--donker, #2E1352); }

/* Module in een eigen sectie (bijv. homepage): geen extra ruimte erboven. */
.wj-bookzo--home-reviews .wj-reviews { margin-top: 0; }

/* Eigen zoek- en filterbalk ------------------------------------------------ */
.wj-zoek__velden { display: grid; gap: 14px 16px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); align-items: end; }
.wj-zoek__veld { display: flex; flex-direction: column; gap: 6px; }
.wj-zoek__veld--klein { max-width: 130px; }
.wj-zoek__veld--breed { grid-column: span 2; }
.wj-zoek__veld span { font-family: var(--font-body-bold, inherit); font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--wjb-paars); }
.wj-zoek__veld input, .wj-zoek__veld select {
  height: 52px; padding: 10px 14px; font: inherit; font-size: 17px; color: var(--wjb-donker);
  background: #fff; border: 2px solid var(--wjb-lijn, #E2DDF2); border-radius: 12px; transition: border-color .2s ease;
}
.wj-zoek__veld input:focus, .wj-zoek__veld select:focus { outline: none; border-color: var(--wjb-paars); box-shadow: 0 0 0 4px rgba(132, 56, 223, .12); }
.wj-zoek__acties { display: flex; align-items: center; gap: 16px; }
.wj-zoek__acties .btn { height: 52px; display: inline-flex; align-items: center; }
.wj-zoek__wis { white-space: nowrap; font-family: var(--font-body-bold, inherit); color: var(--wjb-paars); text-decoration: underline; text-underline-offset: 3px; }
.wj-zoek__fout { margin: 14px 0 0; padding: 12px 16px; border-radius: 12px; background: #FFE9F3; color: #A5104F; }
.wj-zoek__kop { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: .8em; }
.wj-zoek__kop .wj-bookzo__rastertitel { margin: 0; }
.wj-zoek__sorteer label { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; }
.wj-zoek__sorteer select { height: 40px; padding: 4px 12px; font: inherit; border: 2px solid var(--wjb-lijn, #E2DDF2); border-radius: 10px; background: #fff; }
.wj-zoek__leeg { padding: 32px; border-radius: var(--wjb-radius); background: var(--wjb-vlak); text-align: center; }
.wj-zoek__paginering { display: flex; align-items: center; justify-content: center; gap: 20px; margin-top: 40px; }
.wj-zoek__paginering .btn--outline { border-color: var(--wjb-donker); color: var(--wjb-donker); }
.wj-zoek__paginering .btn--outline:hover { background: var(--wjb-donker); color: #fff; }
.wj-bookzo__kaart-score { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--wjb-mint); color: var(--wjb-donker); font-family: var(--font-head, inherit); font-size: 15px; }
.wj-bookzo__kaart-foto { position: relative; }
.wj-bookzo__kaart-voet { margin-top: auto; display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 8px 16px; }
.wj-bookzo__kaart-prijs { margin: 0; display: flex; flex-direction: column; line-height: 1.25; }
.wj-bookzo__kaart-prijs strong { font-family: var(--font-head, inherit); font-size: 22px; }
.wj-bookzo__kaart-prijs span { font-size: 13px; opacity: .75; }
.wj-bookzo__kaart-korting { text-decoration: line-through; }
.wj-bookzo__kaart-meta { margin-bottom: 1em !important; }

/* Prijsblok onder de kalender na een datumkeuze (bookzo-prices) ------------ */
.bookzo.bookzo-bootstrap .object-calendar-prices { margin-top: 24px; }
.bookzo.bookzo-bootstrap .object-calendar-prices > .mt-4 { margin-top: 0 !important; padding: 22px 24px; border-radius: var(--wjb-radius); background: var(--wjb-lila); }
.bookzo.bookzo-bootstrap .price-arrival-departure { display: flex; flex-wrap: wrap; gap: 6px; font-family: var(--font-body-bold, inherit); color: var(--wjb-donker) !important; margin-bottom: 4px; }
.bookzo.bookzo-bootstrap .price-per-night-wrapper { font-size: 15px; margin-bottom: 10px; }
.bookzo.bookzo-bootstrap .price-discount { text-decoration: line-through; opacity: .6; }
.bookzo.bookzo-bootstrap .total-price-wrapper { font-family: var(--font-head, inherit); font-size: 24px; margin: 6px 0 12px !important; }
.bookzo.bookzo-bootstrap .total-price-wrapper .price-discount { font-size: 16px; }
.bookzo.bookzo-bootstrap .object-calendar-prices .badge { margin: 0 6px 6px 0; }
.bookzo.bookzo-bootstrap .object-calendar-prices .btn-primary { margin-top: 12px; }
.bookzo.bookzo-bootstrap .card-alternative-prices .table, .bookzo.bookzo-bootstrap .card-alternative-prices table { font-size: 14px; }
.bookzo.bookzo-bootstrap .card-alternative-prices th, .bookzo.bookzo-bootstrap .card-alternative-prices td { padding: 8px 6px; text-align: center; border-color: var(--wjb-lijn, #E2DDF2); }
.bookzo.bookzo-bootstrap .card-alternative-prices .btn-link { padding: 4px 8px; }

/* ==========================================================================
   Boekstandaard (sinds 1.3.0) — opt-in: werkt alleen met de snippets
   wj-bookzo/zoekbalk (.zoekbalk-wrap/.zoekbalk-bz) en wj-bookzo/boekblok
   (.wjb-boeken), of met html.wjb-standaard (zet wj-bookzo.js) voor de popups.
   Gebaseerd op De Bremakker / smederijtexel (okt 2026).
   Kleuren/fonts per site via --merk-* op :root (zie README in de skill);
   zonder --merk-* vallen ze terug op de thema-variabelen van wj-bookzo.
   ========================================================================== */
:where(:root) {
  --wjbm-accent: var(--merk-accent, var(--paars, #8438DF));
  --wjbm-accent-tekst: var(--merk-accent-tekst, var(--paars, #8438DF));
  --wjbm-knop: var(--merk-knop, var(--roze, #F7148B));
  --wjbm-hover: var(--merk-hover, var(--donker, #2E1352));
  --wjbm-ink: var(--merk-ink, var(--donker, #2E1352));
  --wjbm-zacht: var(--merk-zacht, #EFEAFB);
  --wjbm-bereik: var(--merk-bereik, #EFEAFB);
  --wjbm-lijn: var(--merk-lijn, #E2DDF2);
  --wjbm-font-kop: var(--merk-font-kop, var(--font-head, inherit));
  --wjbm-font-tekst: var(--merk-font-tekst, var(--font-body, inherit));
}

/* Bookzo plaatst kalenderdagen absoluut; .custom-day staat hierboven op 100% →
   zonder positie-anker werden ze paginagroot (grijze vlakken). Fix voor iedereen. */
.bookzo-bootstrap .ngb-dp-day { position: relative; }
.bookzo-bootstrap .ngb-dp-day .custom-day { top: 0; left: 0; }

/* ---- Terugval-formulier + eigen datumkiezer (wj-bookzo-datum.js) ---- */
/* ---- 2/3. Zoekbalk-basis, terugval-formulier en datumkiezer ---- */
/* --- Zoekbalk in de glazen header-balk --- */
.zoekbalk-wrap .zoekbalk { position: relative; display: grid; grid-template-columns: 1fr 2fr auto; align-items: end; }
.zoekbalk__periode { display: grid; grid-template-columns: 1fr 1fr; }
.zoekbalk__label {
  display: block;
  padding: 0 0 4px 20px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, .6);
}
.zoekbalk__invoer {
  width: 100%;
  height: 52px;
  margin: 0;
  padding: 0 14px 0 20px;
  border: 0;
  border-right: 1px solid rgba(0, 0, 0, .08);
  border-radius: 0;
  background-color: rgba(255, 255, 255, .92);
  color: #000;
  font: inherit;
  font-size: 15px;
  text-align: left;
  appearance: none;
  -webkit-appearance: none;
  outline-offset: -3px;
}
select.zoekbalk__invoer {
  border-radius: 8px 0 0 8px;
  background: rgba(255, 255, 255, .92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23444' stroke-width='1.6' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") right 16px center no-repeat;
  cursor: pointer;
}
.zoekbalk__datum { display: flex; align-items: center; justify-content: space-between; gap: 10px; cursor: pointer; }
.zoekbalk__datum svg { flex: none; width: 20px; height: 20px; color: var(--wjbm-accent); }
.zoekbalk__veld:last-of-type .zoekbalk__datum { border-right: 0; border-radius: 0 8px 8px 0; }
.zoekbalk__datum[aria-expanded="true"] { background-color: #fff; box-shadow: inset 0 -3px 0 var(--wjbm-knop); }
.zoekbalk__knop {
  height: 52px;
  margin-left: 12px;
  padding: 0 1.6em;
  border: 0;
  border-radius: 8px;
  background: var(--wjbm-knop);
  font-family: var(--wjbm-font-kop);
  font-size: clamp(22px, 2.2vw, 28px);
  line-height: 1;
  color: #fff;
  cursor: pointer;
  transition: background-color .3s;
}
.zoekbalk__knop:hover { background: var(--wjbm-hover); }
.zoekbalk__knop:focus-visible, .zoekbalk__datum:focus-visible { outline: 3px solid var(--wjbm-hover); outline-offset: 2px; }

/* --- Datumkiezer (assets/js/datum.js) --- */
.kalender {
  position: absolute; top: calc(100% + 10px); left: 50%; z-index: 60; width: 640px; max-width: calc(100vw - 32px);
  transform: translateX(-50%);
  padding: 16px 18px 14px; background: #fff; border-radius: 18px; box-shadow: 0 24px 60px -12px rgba(0, 0, 0, .35);
  color: var(--wjbm-ink); text-align: left; text-transform: none;
  animation: kalenderIn .2s var(--ease-out) both;
}
@keyframes kalenderIn { from { opacity: 0; } to { opacity: 1; } }
.kalender[hidden], .kalender-achter[hidden] { display: none; }
.kalender__kop { display: grid; grid-template-columns: 40px 1fr 40px auto; align-items: center; gap: 6px; margin-bottom: 6px; }
.kalender__status { margin: 0; text-align: center; color: var(--wjbm-accent); font: 600 14px var(--wjbm-font-tekst); }
.kalender__nav, .kalender__sluit { display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: var(--wjbm-zacht); color: var(--wjbm-ink); font-size: 22px; line-height: 1; cursor: pointer; }
.kalender__nav:hover { background: var(--wjbm-knop); color: #fff; }
.kalender__nav:disabled { opacity: .35; cursor: default; background: var(--wjbm-zacht); color: var(--wjbm-ink); }
.kalender__sluit { display: none; }
.sluit-icoon { width: 14px; height: 14px; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; fill: none; }
.kalender__dagnamen { display: none; }
.kalender__maanden { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.kalender__maand h3 { margin: 4px 0 8px; text-align: center; font: 400 22px/1.1 var(--wjbm-font-kop); text-transform: capitalize; color: var(--wjbm-ink); }
.kalender__raster { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px 0; }
.kalender__wd { display: grid; grid-template-columns: repeat(7, 1fr); margin-bottom: 4px; color: #8a8a85; font: 600 11px var(--wjbm-font-tekst); text-align: center; text-transform: capitalize; }
.kalender__dag { position: relative; height: 40px; border: 0; background: none; color: var(--wjbm-ink); font: 500 14px var(--wjbm-font-tekst); cursor: pointer; }
.kalender__dag:hover:not([disabled]) { background: var(--wjbm-zacht); border-radius: 10px; }
.kalender__dag[disabled] { color: #c4c6c0; cursor: default; text-decoration: line-through; text-decoration-color: rgba(0, 0, 0, .15); }
.kalender__dag.is-vandaag { font-weight: 800; color: var(--wjbm-accent); }
.kalender__dag.is-tussen { background: var(--wjbm-zacht); border-radius: 0; }
.kalender__dag.is-start, .kalender__dag.is-eind { background: var(--wjbm-accent) !important; color: #fff; font-weight: 700; }
.kalender__dag.is-start { border-radius: 10px 0 0 10px; }
.kalender__dag.is-eind { border-radius: 0 10px 10px 0; }
.kalender__dag.is-start:last-child, .kalender__dag.is-start:not(:has(~ .is-tussen, ~ .is-eind)) { border-radius: 10px; }
.kalender__voet { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #eee; }
.kalender__wis { border: 0; background: none; color: var(--wjbm-accent); font: 600 14px var(--wjbm-font-tekst); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.kalender__ok { min-height: 44px; border: 0; cursor: pointer; background-image: none; }
.kalender__ok:disabled { opacity: .45; cursor: default; }
.kalender-achter { position: fixed; inset: 0; z-index: 900; background: rgba(0, 0, 0, .4); }
html.kalender-open { overflow: hidden; }

@media (max-width: 760px) {
  .zoekbalk { grid-template-columns: 1fr; gap: 12px; }
  .zoekbalk__periode { gap: 0; }
  select.zoekbalk__invoer { border-radius: 8px; border-right: 0; }
  .zoekbalk__periode .zoekbalk__veld:first-child .zoekbalk__datum { border-radius: 8px 0 0 8px; }
  .zoekbalk__label { padding-left: 4px; font-size: 12px; }
  .zoekbalk__invoer { padding: 0 12px; font-size: 14px; }
  .zoekbalk__knop { margin: 6px 0 0; }
}
@media (max-width: 759px) {
  .kalender {
    position: fixed; top: auto; left: 0; right: 0; bottom: 0; z-index: 901; width: 100%; max-width: none; max-height: 88vh;
    transform: none;
    display: flex; flex-direction: column; padding: 14px 14px calc(14px + env(safe-area-inset-bottom)); border-radius: 22px 22px 0 0;
    animation: kalenderOmhoog .3s cubic-bezier(.2, .8, .2, 1) both;
  }
  .kalender[hidden] { display: none; }
  .kalender__kop { grid-template-columns: 1fr auto; }
  .kalender__nav { display: none; }
  .kalender__status { text-align: left; font-size: 16px; padding-left: 4px; }
  .kalender__sluit { display: grid; }
  .kalender__wd { display: none; }
  .kalender__dagnamen { display: grid; grid-template-columns: repeat(7, 1fr); padding: 6px 0; border-bottom: 1px solid #eee; color: #8a8a85; font: 600 12px var(--wjbm-font-tekst); text-align: center; text-transform: capitalize; }
  .kalender__maanden { grid-template-columns: 1fr; gap: 18px; overflow-y: auto; overscroll-behavior: contain; padding: 6px 2px; flex: 1; }
  .kalender__maand h3 { text-align: left; padding-left: 6px; }
  .kalender__dag { height: 46px; font-size: 16px; }
  .kalender__voet { margin-top: 8px; }
  .kalender__ok { flex: 1; max-width: 60%; }
}
@keyframes kalenderOmhoog { from { transform: translateY(100%); } to { transform: none; } }
.kalender__dag:focus-visible { outline: 2px solid var(--wjbm-hover); outline-offset: -2px; border-radius: 10px; }


/* Terugval pas tonen als Bookzo niet laadt (wj-bookzo.js zet .is-terugval) */
.zoekbalk-wrap .zoekbalk { display: none; }
.zoekbalk-wrap.is-terugval .zoekbalk, .no-js .zoekbalk-wrap .zoekbalk { display: grid; }

/* ---- <bookzo-search>: plaatshouders "–" en actief veld ---- */
/* "–" tot er een periode gekozen is (Bookzo vult zelf standaarddatums in) */
.zoekbalk-ph {
  position: absolute; left: 0; right: 0; bottom: 0; height: var(--wjb-veld-h, 52px);
  display: grid; grid-template-columns: 1fr 1fr;
  pointer-events: none;
}
.zoekbalk-ph span { display: flex; align-items: center; padding-left: 20px; color: #000; font-size: 15px; }
/* zolang er niets gekozen is: Bookzo's standaarddatums onzichtbaar, "–" erover */
.zoekbalk-wrap:not(.heeft-datum) .zoekbalk-bz .bookzo.bookzo-bootstrap .bookzo-search-arrival-departure .form-control { color: transparent !important; }
.zoekbalk-wrap.heeft-datum .zoekbalk-ph { display: none; }
/* actief veld: wit met een rand in merkkleur binnenin (Bookzo zet zelf een zwarte rand + gloed met !important) */
.zoekbalk-bz .bookzo.bookzo-bootstrap .bookzo-search .form-inline .form-group-inline .form-control:focus,
.zoekbalk-bz .bookzo.bookzo-bootstrap .bookzo-search .form-inline .form-group-inline .form-control.form-control-active {
  background-color: #fff !important;
  box-shadow: inset 0 0 0 2px var(--wjbm-knop) !important;
  outline: none !important;
  border-color: transparent !important;   /* Bookzo inline: border 1px solid black !important */
}

/* ---- Boekblok (.wjb-boeken), prijstabel, boekformulier ---- */
/* Bremakker-tokens → merk-tokens */
.wjb-boeken, .boeken-terugval, .zoekbalk-bz,
html.wjb-standaard .datepicker-wrapper.floating, html.wjb-standaard .objects-to-book-wrapper.floating {
  --color-primary: var(--wjbm-accent);
  --color-primary-hover: var(--wjbm-ink);
  --color-primary-text: var(--wjbm-accent-tekst);
  --color-text: var(--wjbm-ink);
  --color-green-50: var(--wjbm-zacht);
  --color-green-600: var(--wjbm-accent);
  --color-green-700: var(--wjbm-accent-tekst);
  --color-sand-200: var(--wjbm-lijn);
  --color-sand-300: #cfcfc8;
  --color-sand-600: #6d6d68;
  --color-sand-700: #4f4f4a;
  --color-sand-900: var(--wjbm-ink);
  --color-yellow-200: var(--wjbm-hover);
  --color-yellow-400: color-mix(in srgb, var(--wjbm-hover) 80%, #000);
  --color-background: #fff;
  --color-page: #fff;
  --bz-donker: var(--wjbm-ink);
  --bz-accent: var(--wjbm-accent);
  --bz-accent-tekst: #fff;
  --bz-accent-donker: var(--wjbm-accent-tekst);
  --bz-zacht: var(--wjbm-zacht);
  --bz-kaart: #fff;
  --bz-lijn: var(--wjbm-lijn);
  --bz-ink: var(--wjbm-ink);
  --bz-radius-klein: 8px;
  --bz-font: var(--wjbm-font-tekst);
  --bz-focus-ring: color-mix(in srgb, var(--wjbm-accent) 20%, transparent);
}
.wjb-boeken { container: boekdeel / inline-size; }

/* ---- overgenomen van De Bremakker ---- */
.wjb-boeken .bookzo.bookzo-bootstrap,.wjb-boeken .bookzo-bootstrap { --wjb-lila:var(--bz-zacht);
    --wjb-roze:var(--bz-accent);
    --wjb-donker:var(--bz-ink);
    --wjb-lijn:var(--bz-lijn);
    color:var(--bz-ink);
    font-family:var(--bz-font) }
.wjb-boeken .bookzo.bookzo-bootstrap label,.wjb-boeken .bookzo-bootstrap .ngb-dp-weekday { color:var(--bz-accent-donker);
    font-weight:600 }
.wjb-boeken .bookzo.bookzo-bootstrap .btn { border-radius:var(--bz-radius-klein);
    font-weight:600 }
.wjb-boeken .bookzo.bookzo-bootstrap .btn-primary,.wjb-boeken .bookzo-bootstrap .objects-to-book-buttons .btn-primary,.wjb-boeken .bookzo-bootstrap .objects-to-book-wrapper .btn-circle { background:var(--bz-accent);
    border-color:var(--bz-accent);
    color:var(--bz-accent-tekst) }
.wjb-boeken .bookzo.bookzo-bootstrap .btn-primary:hover:not(:disabled),.wjb-boeken .bookzo-bootstrap .objects-to-book-buttons .btn-primary:hover,.wjb-boeken .bookzo-bootstrap .objects-to-book-wrapper .btn-circle:hover:not(:disabled) { background:var(--bz-donker);
    border-color:var(--bz-donker);
    color:#fff }
.wjb-boeken .bookzo-bootstrap .custom-day.first-selected .custom-day-circle,.wjb-boeken .bookzo-bootstrap .custom-day.second-selected .custom-day-circle { background:var(--bz-accent)!important;
    color:#fff!important }
.wjb-boeken .bookzo.bookzo-bootstrap .form-control:focus { box-shadow:0 0 0 4px var(--bz-focus-ring) }
.wjb-boeken .bookzo-bootstrap .datepicker-wrapper.inline,.wjb-boeken .bookzo-bootstrap .objects-to-book-wrapper .form-control { border-color:var(--bz-lijn) }
.wjb-boeken .bookzo-bootstrap .objects-to-book-wrapper .object-to-book.card { background:var(--bz-kaart) }
.boeken-terugval { background:var(--color-green-50);
    border-radius:1.5rem;
    flex-direction:column;
    align-items:flex-start;
    gap:1.25rem;
    margin-top:1.25rem;
    padding:1.5rem }
.boeken-terugval:not([hidden]) { display:flex }
@media (min-width:40rem) {
  .boeken-terugval { padding:2rem }
}
.wjb-boeken .bookzo-bootstrap .ngb-dp-day { position:relative }
.wjb-boeken .bookzo-bootstrap .custom-day { top:0;
    left:0 }
.wjb-boeken .wj-bookzo__element { min-height:0 }
.wjb-boeken .bookzo.bookzo-bootstrap { --bz-blok-pad:1.25rem;
    --bz-blok-radius:1.5rem }
@media (min-width:64rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap { --bz-blok-pad:1.75rem }
}
.wjb-boeken .bookzo.bookzo-bootstrap .calendar-persons { grid-template-columns:minmax(0,1fr);
    align-items:stretch;
    gap:1rem;
    display:grid }
.wjb-boeken .bookzo.bookzo-bootstrap .calendar-persons>* { flex:none;
    width:auto;
    min-width:0;
    max-width:none;
    margin:0 }
.wjb-boeken .bookzo-bootstrap .datepicker-wrapper.inline { border:1px solid var(--color-sand-200);
    border-radius:var(--bz-blok-radius);
    height:100%;
    padding:var(--bz-blok-pad) calc(var(--bz-blok-pad) * .6);
    background:#fff }
.wjb-boeken .bookzo-bootstrap ngb-datepicker { width:100% }
.wjb-boeken .bookzo-bootstrap .ngb-dp-months { justify-content:space-around;
    gap:1.5rem }
.wjb-boeken .bookzo-bootstrap .ngb-dp-month { padding:0 }
.wjb-boeken .bookzo.bookzo-bootstrap .persons-wrapper .card { height:100% }
.wjb-boeken .bookzo.bookzo-bootstrap .persons-wrapper .card-body { flex-direction:column;
    justify-content:center;
    display:flex }
@media (min-width:64rem) {
  .wjb-boeken .bookzo-bootstrap .ngb-dp-day,.wjb-boeken .bookzo-bootstrap .ngb-dp-weekday { width:2.125rem!important;
    height:2.125rem!important }
  .wjb-boeken .bookzo-bootstrap .custom-day-circle { width:2rem;
    height:2rem;
    margin:.0625rem;
    font-size:.875rem }
  .wjb-boeken .bookzo.bookzo-bootstrap .persons-item+.persons-item { margin-top:1.25rem }
}
.wjb-boeken .bookzo.bookzo-bootstrap .card { border-radius:var(--bz-blok-radius);
    background:var(--color-green-50);
    border:0 }
.wjb-boeken .bookzo.bookzo-bootstrap .card-body,.wjb-boeken .bookzo.bookzo-bootstrap .card-body.p-4 { padding:var(--bz-blok-pad)!important }
.wjb-boeken .bookzo.bookzo-bootstrap .number-control { grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:.75rem;
    display:grid }
.wjb-boeken .bookzo.bookzo-bootstrap .number-control .label { text-align:left;
    font-size:.875rem;
    line-height:1.35 }
.wjb-boeken .bookzo.bookzo-bootstrap .number-control .numbers { align-items:center;
    gap:.375rem;
    display:flex }
.wjb-boeken .bookzo.bookzo-bootstrap .number-control .btn-circle { width:2.25rem;
    height:2.25rem;
    font-size:1rem }
.wjb-boeken .bookzo.bookzo-bootstrap .number-control .form-control { border-radius:.625rem;
    width:2.75rem;
    height:2.25rem;
    padding:0;
    font-size:1rem }
.wjb-boeken .bookzo.bookzo-bootstrap .number-control .label b { color:var(--color-text) }
.wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices { padding:var(--bz-blok-pad);
    border-radius:var(--bz-blok-radius);
    background:var(--color-green-50);
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:1rem 2rem;
    display:flex;
    margin-top:1rem!important }
.wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices:not(:has(.total-price-wrapper)) { display:none }
.wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices>* { margin:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices>.mt-4 { flex:18rem }
.wjb-boeken .bookzo-bootstrap .price-arrival-departure { flex-wrap:wrap;
    gap:0 .25rem;
    font-size:1rem;
    font-weight:600;
    display:flex;
    color:var(--color-text)!important }
.wjb-boeken .bookzo-bootstrap .price-arrival-departure>div { white-space:nowrap;
    flex:none;
    width:auto;
    max-width:none;
    padding:0 }
.wjb-boeken .bookzo-bootstrap .price-per-night { font-size:.9375rem;
    color:var(--color-sand-600)!important }
.wjb-boeken .bookzo-bootstrap .total-price-wrapper { color:var(--color-text);
    font-size:1.375rem;
    margin-top:.5rem!important }
.wjb-boeken .bookzo-bootstrap .total-wrapper { align-items:center;
    gap:.375rem;
    display:inline-flex }
.wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices .btn { height:3rem;
    padding:0 2rem;
    font-size:1rem }
.wjb-boeken .bookzo.bookzo-bootstrap .card-alternative-prices { margin-top:1rem!important }
.wjb-boeken .bookzo-bootstrap .alternative-prices-info-container { display:none }
.wjb-boeken .bookzo-bootstrap .table-responsive { overscroll-behavior-x:contain;
    overflow-x:auto }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table th,.wjb-boeken .bookzo-bootstrap .alternative-prices-table td { white-space:nowrap }
@media (max-width:47.99rem) {
  .wjb-boeken { max-width:100%;
    overflow-x:clip }
  .wjb-boeken .bookzo-bootstrap .ngb-dp-months { flex-direction:column;
    align-items:center;
    gap:1rem }
  .wjb-boeken .bookzo-bootstrap .row { margin-inline:0 }
  .wjb-boeken .bookzo-bootstrap [class*=col-] { padding-inline:0 }
  .wjb-boeken .bookzo.bookzo-bootstrap .btn-circle { width:2.5rem;
    height:2.5rem }
  .wjb-boeken .bookzo.bookzo-bootstrap .number-control .form-control { width:3rem;
    height:2.5rem }
  .wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices>.mt-2,.wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices .btn { width:100% }
}
@media (max-width:22.49rem) {
  .wjb-boeken .bookzo-bootstrap .ngb-dp-day,.wjb-boeken .bookzo-bootstrap .ngb-dp-weekday { width:2.1rem;
    height:2.1rem }
  .wjb-boeken .bookzo-bootstrap .custom-day-circle { width:2rem;
    height:2rem;
    line-height:2rem }
}
.wjb-boeken .bookzo-book { flex:none;
    width:100%;
    max-width:none;
    margin:0;
    padding:0 }
.wjb-boeken .bookzo.bookzo-bootstrap .bookzo-book .card { margin-top:1rem!important }
.wjb-boeken .bookzo.bookzo-bootstrap .bookzo-book>.card:first-child { margin-top:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .card-title { color:var(--color-text);
    text-transform:none;
    letter-spacing:0;
    font-size:1.1875rem;
    font-weight:600;
    line-height:1.4;
    margin:0 0 1rem!important }
.wjb-boeken .bookzo.bookzo-bootstrap .card .card { background:0 0;
    border-radius:0;
    margin:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .card .card>.card-body { padding:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .card .card .card-title { font-size:1rem;
    margin-bottom:.25rem!important }
.wjb-boeken .bookzo-bootstrap .select-arrangement-container { flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:.75rem 1.5rem;
    display:flex }
.wjb-boeken .bookzo-bootstrap .stay-info-list { color:var(--color-text);
    gap:.125rem;
    margin:0;
    padding:0;
    font-size:1rem;
    list-style:none;
    display:grid }
.wjb-boeken .bookzo-bootstrap .stay-info-list .arrival-departure-date { font-weight:600 }
.wjb-boeken .bookzo-bootstrap .book-add-accommodation { margin-top:.75rem }
.wjb-boeken .bookzo-bootstrap .book-accommodation-infos img { border-radius:1rem }
.wjb-boeken .bookzo-bootstrap .optional-cost+.optional-cost { border-top:1px solid var(--color-sand-200) }
.wjb-boeken .bookzo-bootstrap .optional-cost-description { grid-template-columns:3.5rem minmax(0,1fr) auto;
    align-items:center;
    gap:.75rem 1rem;
    padding:.875rem 0;
    display:grid;
    margin:0!important }
.wjb-boeken .bookzo-bootstrap .optional-cost-description>* { margin:0!important }
.wjb-boeken .bookzo-bootstrap .optional-cost-description:not(:has(.optional-cost-image)) .optional-cost-text { grid-column:1/3 }
.wjb-boeken .bookzo-bootstrap .optional-cost-image .images-thumb { object-fit:cover;
    border-radius:.625rem;
    width:3.5rem;
    height:3.5rem;
    display:block }
.wjb-boeken .bookzo-bootstrap .optional-cost-name { font-size:.9375rem;
    line-height:1.4 }
.wjb-boeken .bookzo-bootstrap .optional-cost-name b { font-weight:600 }
.wjb-boeken .bookzo-bootstrap .optional-cost-price { color:var(--color-sand-600);
    font-size:.875rem }
.wjb-boeken .bookzo-bootstrap .optional-cost-selection { justify-self:end }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-selection .btn:not(.btn-circle):not(.btn-link),.wjb-boeken .bookzo.bookzo-bootstrap .book-select-arrangements .btn:not(.btn-circle):not(.btn-link),.wjb-boeken .bookzo.bookzo-bootstrap .book-accommodations .btn:not(.btn-circle):not(.btn-link) { border:1px solid var(--color-sand-300);
    height:2.5rem;
    color:var(--color-text);
    white-space:nowrap;
    background:#fff;
    border-radius:999px;
    padding:0 1.25rem;
    font-size:.875rem;
    font-weight:600 }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-selection .btn.active:not(.btn-circle),.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-selection .btn[aria-pressed=true],.wjb-boeken .bookzo.bookzo-bootstrap .book-select-arrangements .btn.active { background:var(--color-primary);
    border-color:var(--color-primary);
    color:#fff }
.wjb-boeken .bookzo-bootstrap .reservation-form-wrapper { margin-top:1.5rem }
.wjb-boeken .bookzo.bookzo-bootstrap .reservation-form .form-group,.wjb-boeken .bookzo.bookzo-bootstrap .terms-and-conditions,.wjb-boeken .bookzo.bookzo-bootstrap .payment-info { margin:0 0 1.25rem;
    display:block }
.wjb-boeken .bookzo.bookzo-bootstrap .reservation-form label:not(.form-check-label) { text-transform:none;
    letter-spacing:0;
    color:var(--color-text);
    margin:0 0 .375rem;
    font-size:.9375rem;
    font-weight:600;
    display:block }
.wjb-boeken .bookzo.bookzo-bootstrap .reservation-form .form-control,.wjb-boeken .bookzo.bookzo-bootstrap .payment-info select.form-control { border-width:1px;
    border-color:var(--color-sand-300);
    border-radius:.75rem;
    width:100%;
    max-width:100%;
    height:3rem;
    font-size:1rem }
.wjb-boeken .bookzo.bookzo-bootstrap .reservation-form .form-row { grid-template-columns:minmax(0,1fr);
    gap:.5rem;
    margin:0;
    display:grid }
.wjb-boeken .bookzo.bookzo-bootstrap .reservation-form .form-row>[class*=col] { flex:none;
    width:auto;
    max-width:none;
    padding:0 }
@media (min-width:40rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap .form-group-name .form-row { grid-template-columns:minmax(0,1fr) minmax(0,2.5fr) }
  .wjb-boeken .bookzo.bookzo-bootstrap .form-group-name .form-row>:first-child { grid-column:1/-1 }
}
.wjb-boeken .bookzo-bootstrap .int-tel-input { width:100%;
    display:flex }
.wjb-boeken .bookzo-bootstrap .int-tel-input .form-control { flex:auto }
.wjb-boeken .bookzo.bookzo-bootstrap .terms-and-conditions .form-check { align-items:flex-start;
    gap:.75rem;
    padding:0;
    display:flex }
.wjb-boeken .bookzo.bookzo-bootstrap .terms-and-conditions .form-check-input { width:1.25rem;
    height:1.25rem;
    accent-color:var(--color-primary);
    flex:none;
    margin:.15rem 0 0;
    position:static }
.wjb-boeken .bookzo.bookzo-bootstrap .terms-and-conditions .form-check-label { text-transform:none;
    letter-spacing:0;
    color:var(--color-text);
    font-size:.9375rem;
    font-weight:400;
    line-height:1.5 }
.wjb-boeken .bookzo-bootstrap .payment-details-text,.wjb-boeken .bookzo-bootstrap .payment-second-amount-text { color:var(--color-sand-600);
    margin-top:.5rem;
    font-size:.875rem;
    font-style:normal }
.wjb-boeken .bookzo.bookzo-bootstrap .form-group-book-button .btn { height:3.25rem;
    padding:0 2.5rem;
    font-size:1rem }
@media (max-width:47.99rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap .form-group-book-button .btn { width:100% }
}
.wjb-boeken .bookzo-bootstrap .object-info { flex-wrap:wrap;
    align-items:flex-start;
    gap:1.25rem;
    display:flex }
.wjb-boeken .bookzo-bootstrap .object-info>.p-2 { display:none }
.wjb-boeken .bookzo-bootstrap .object-image { flex:0 18.75rem;
    max-width:100%;
    height:auto!important;
    margin:0!important }
.wjb-boeken .bookzo-bootstrap .object-image .carousel-wrapper,.wjb-boeken .bookzo-bootstrap .object-image .slider-wrapper { border-radius:1rem;
    overflow:hidden }
.wjb-boeken .bookzo-bootstrap .object-data { flex:14rem;
    min-width:14rem;
    max-width:none;
    padding:0 }
@media (max-width:47.99rem) {
  .wjb-boeken .bookzo-bootstrap .object-image { flex-basis:100% }
}
.wjb-boeken .bookzo.bookzo-bootstrap .object-data .persons-wrapper { flex:none;
    margin-bottom:1rem!important }
.wjb-boeken .bookzo.bookzo-bootstrap .btn-circle { width:2.25rem;
    height:2.25rem;
    padding:0;
    font-size:1rem }
.wjb-boeken .bookzo-bootstrap .number-of-items-input { align-items:center;
    gap:.375rem;
    display:flex }
.wjb-boeken .bookzo-bootstrap .number-of-items-input .btn { margin:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .number-of-items-input .form-control { text-align:center;
    border-width:1px;
    border-color:var(--color-sand-300);
    -moz-appearance:textfield;
    border-radius:.625rem;
    width:2.75rem;
    height:2.25rem;
    padding:0;
    font-size:1rem }
.wjb-boeken .bookzo-bootstrap .terms-and-conditions .form-check { align-items:center }
.wjb-boeken .bookzo-bootstrap .optional-costs .optional-cost-description { display:grid!important }
.wjb-boeken .bookzo-bootstrap .optional-cost-name-wrapper { justify-content:flex-start;
    align-items:center;
    gap:.375rem;
    display:flex }
.wjb-boeken .bookzo-bootstrap .optional-cost-name-icon { color:var(--color-sand-600);
    flex:none;
    margin:0!important }
@media (max-width:47.99rem) {
  .wjb-boeken .bookzo-bootstrap .optional-cost-description { grid-template-columns:3rem minmax(0,1fr) auto;
    gap:.625rem .75rem }
  .wjb-boeken .bookzo-bootstrap .optional-cost-image .images-thumb { width:3rem;
    height:3rem }
  .wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-selection .btn:not(.btn-circle):not(.btn-link) { padding:0 1rem }
  .wjb-boeken .bookzo.bookzo-bootstrap .number-of-items-input .btn-circle { width:2rem;
    height:2rem }
  .wjb-boeken .bookzo.bookzo-bootstrap .number-of-items-input .form-control { width:2.25rem;
    height:2rem }
}
.wjb-boeken .bookzo-bootstrap .book-select-arrangements .card-body :not(svg):not(path) { min-width:0 }
.wjb-boeken .bookzo-bootstrap .book-select-arrangements .d-flex { gap:.75rem 1.25rem;
    flex-wrap:wrap!important }
.wjb-boeken .bookzo.bookzo-bootstrap .terms-and-conditions .form-check-label { padding:0;
    display:block }
.wjb-boeken .bookzo.bookzo-bootstrap .terms-and-conditions .btn-link { vertical-align:baseline;
    white-space:normal;
    text-align:left;
    height:auto;
    font-size:inherit;
    color:var(--color-primary-text);
    text-underline-offset:3px;
    border:0;
    padding:0;
    font-weight:600;
    text-decoration:underline;
    display:inline }
.wjb-boeken .bookzo.bookzo-bootstrap .calendar-persons .persons-wrapper,.wjb-boeken .bookzo.bookzo-bootstrap .calendar-persons .persons-wrapper .card { margin:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .number-control .label { overflow-wrap:normal;
    word-break:normal;
    -webkit-hyphens:none;
    hyphens:none }
.wjb-boeken .bookzo-bootstrap .optional-cost-text { min-width:0!important }
.wjb-boeken .bookzo-bootstrap .optional-cost-name-wrapper { flex-wrap:wrap }
.wjb-boeken .bookzo-bootstrap .optional-cost-name { overflow-wrap:break-word;
    min-width:0 }
.wjb-boeken .bookzo-bootstrap .optional-cost-price,.wjb-boeken .bookzo-bootstrap .optional-cost-price-text { white-space:normal }
.wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices bookzo-prices>*,.wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices .price-per-night-wrapper { margin-top:0;
    margin-bottom:0 }
.wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices .price-per-night-wrapper { margin-top:.25rem }
.wjb-boeken .bookzo-bootstrap .datepicker-wrapper.inline,.wjb-boeken .bookzo-bootstrap bookzo-arrival-departure-dates-picker,.wjb-boeken .bookzo-bootstrap ngb-datepicker { width:100%;
    display:block }
@media (max-width:63.99rem) {
  .wjb-boeken .bookzo-bootstrap .ngb-dp-months,.wjb-boeken .bookzo-bootstrap .ngb-dp-month { width:100% }
  .wjb-boeken .bookzo-bootstrap .ngb-dp-week,.wjb-boeken .bookzo-bootstrap .ngb-dp-weekdays { width:100%;
    display:flex }
  .wjb-boeken .bookzo-bootstrap .ngb-dp-day,.wjb-boeken .bookzo-bootstrap .ngb-dp-weekday { flex:1 1 0;
    min-width:0;
    width:auto!important }
  .wjb-boeken .bookzo-bootstrap .custom-day { justify-content:center;
    align-items:center;
    display:flex }
  .wjb-boeken .bookzo-bootstrap .custom-day-circle { margin:0 auto }
}
.wjb-boeken .bookzo-bootstrap .stay-info-list { flex-wrap:wrap;
    gap:.25rem 0;
    display:flex }
.wjb-boeken .bookzo-bootstrap .stay-info-list .arrival-departure-date { white-space:nowrap;
    flex:1 0 100% }
.wjb-boeken .bookzo-bootstrap .stay-info-list .number-of-nights+li:before { content:"·";
    color:var(--color-sand-600);
    margin-inline:.5rem }
.wjb-boeken .bookzo-bootstrap .stay-info-list .arrival-departure-date>div { display:inline }
.wjb-boeken .bookzo-bootstrap .stay-info-list .arrival-departure-date>div+div:before { content:" " }
@media (max-width:21.99rem) {
  .wjb-boeken .bookzo-bootstrap .stay-info-list .arrival-departure-date { white-space:normal }
}
.wjb-boeken .bookzo.bookzo-bootstrap .optional-costs .optional-cost-description { grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:"foto naam naam""foto prijs actie";
    align-items:center;
    gap:.5rem .875rem;
    padding:1rem 0 }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-costs .optional-cost:first-child .optional-cost-description { padding-top:.25rem }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-costs .optional-cost:last-child .optional-cost-description { padding-bottom:0 }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-image { grid-area:foto }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-text { display:contents }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-name-wrapper { grid-area:naam;
    margin:0;
    display:block }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-name { font-size:1rem;
    line-height:1.4;
    display:inline }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-name-icon { vertical-align:-.2em;
    cursor:help;
    display:inline-flex;
    margin-left:.25rem!important }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-name-icon .bookzo-icon { width:1.0625rem!important;
    margin:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-price-wrapper { grid-area:prijs;
    margin:0 }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-selection { grid-area:actie;
    justify-self:end }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-price,.wjb-boeken .bookzo.bookzo-bootstrap .arrangement-price-difference { color:var(--color-sand-600);
    white-space:nowrap;
    font-size:.9375rem;
    line-height:1.4 }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-price .bookzo-currency,.wjb-boeken .bookzo.bookzo-bootstrap .arrangement-price-difference .bookzo-currency { color:var(--color-text);
    font-weight:600 }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-selection .btn:not(.btn-circle):not(.btn-link),.wjb-boeken .bookzo.bookzo-bootstrap .book-select-arrangements .btn:not(.btn-circle):not(.btn-link) { height:2.5rem;
    padding:0 1.125rem }
.wjb-boeken .bookzo.bookzo-bootstrap .number-of-items-input .btn-circle { width:2.5rem;
    height:2.5rem;
    font-size:1.125rem }
.wjb-boeken .bookzo.bookzo-bootstrap .number-of-items-input .btn-circle:disabled { border:1px solid var(--color-sand-300);
    color:var(--color-sand-600);
    opacity:.6;
    background:0 0 }
.wjb-boeken .bookzo.bookzo-bootstrap .number-of-items-input .form-control { width:2.75rem;
    height:2.5rem;
    font-weight:600 }
@media (min-width:48rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap .optional-costs .optional-cost-description { grid-template-areas:"foto naam actie""foto prijs actie";
    gap:.125rem 1rem }
  .wjb-boeken .bookzo.bookzo-bootstrap .optional-costs .optional-cost-description:not(:has(.optional-cost-image)) { grid-template-areas:"naam actie""prijs actie" }
  .wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-name-wrapper { align-self:end }
  .wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-price-wrapper { align-self:start }
}
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-container { display:block }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-selection-description { margin:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-description .card-title { font-size:1rem;
    line-height:1.4;
    margin:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-description .card-text { color:var(--color-sand-600);
    font-size:.9375rem;
    line-height:1.55;
    margin:.25rem 0 0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-description .card-text p { margin:0 }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-description a { color:var(--color-primary-text);
    text-underline-offset:3px;
    font-weight:600;
    text-decoration:underline }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-buttons-price { flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:.75rem;
    display:flex;
    margin-top:1rem!important }
.wjb-boeken .bookzo.bookzo-bootstrap .arrangement-price-difference-container { order:-1 }
.wjb-boeken .bookzo.bookzo-bootstrap .arrangement-price-difference { margin:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .arrangement-price-difference b { font-weight:inherit }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-buttons { align-items:center;
    gap:1rem;
    margin-left:auto;
    display:flex }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-buttons .btn { margin:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-buttons .btn-link { height:auto;
    color:var(--color-primary-text);
    text-underline-offset:3px;
    border:0;
    order:-1;
    padding:0;
    font-size:.875rem;
    font-weight:600;
    text-decoration:underline }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-buttons-price { width:100% }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-price-text { white-space:normal }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-buttons { justify-content:flex-end }
.wjb-boeken .bookzo.bookzo-bootstrap .number-of-items-input { gap:.25rem }
.wjb-boeken .bookzo.bookzo-bootstrap .number-of-items-input .form-control { width:2.5rem }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-costs .optional-cost-description,.wjb-boeken .bookzo.bookzo-bootstrap .optional-costs .optional-cost-description:has(.optional-cost-image) { grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-areas:"naam naam naam""foto prijs actie";
    gap:.625rem .875rem }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-costs .optional-cost-description:not(:has(.optional-cost-image)) { grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:"naam naam""prijs actie" }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-name-wrapper,.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-price-wrapper { align-self:center }
.wjb-boeken { overflow-clip-margin:.5rem }
.wjb-boeken .bookzo.bookzo-bootstrap .form-control:focus,.wjb-boeken .bookzo.bookzo-bootstrap .custom-select:focus,.wjb-boeken .bookzo.bookzo-bootstrap select:focus { border-color:var(--color-primary);
    outline:none;
    box-shadow:0 0 0 4px #4e7a522e }
.wjb-boeken .bookzo.bookzo-bootstrap .int-tel-input input[type=tel] { padding-left:4rem }
.wjb-boeken .bookzo.bookzo-bootstrap .int-tel-input-dial-code-select-wrapper { align-items:center;
    padding-left:.5rem;
    display:flex;
    top:0;
    bottom:0;
    left:0;
    margin:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .int-tel-input-dial-code-select { cursor:pointer;
    align-items:center;
    gap:.25rem;
    display:flex }
.wjb-boeken .bookzo.bookzo-bootstrap .bookzo-int-tel-input-flag { border-radius:2px;
    width:1.375rem;
    height:auto }
.wjb-boeken .bookzo.bookzo-bootstrap .slider-button { width:2.25rem;
    height:2.25rem;
    color:var(--color-text);
    opacity:1;
    background:#ffffffe6;
    border-radius:50%;
    place-items:center;
    display:grid;
    top:50%;
    bottom:auto;
    transform:translateY(-50%);
    box-shadow:0 1px 4px #00000026 }
.wjb-boeken .bookzo.bookzo-bootstrap .slider-button.left { left:.625rem }
.wjb-boeken .bookzo.bookzo-bootstrap .slider-button.right { right:.625rem }
.wjb-boeken .bookzo.bookzo-bootstrap .slider-button:hover { color:var(--color-text);
    background:#fff }
.wjb-boeken .bookzo.bookzo-bootstrap .slider-button svg { fill:currentColor;
    width:1rem!important;
    height:1rem!important;
    margin:0!important;
    position:static!important;
    transform:none!important }
.wjb-boeken .bookzo.bookzo-bootstrap .slider-button.right svg { transform:scaleX(-1)!important }
.wjb-boeken .bookzo.bookzo-bootstrap .book-prices .price-arrival-departure { flex-wrap:wrap;
    justify-content:flex-start;
    column-gap:0 }
.wjb-boeken .bookzo.bookzo-bootstrap .book-prices .price-arrival-departure>span { white-space:nowrap;
    flex:none;
    width:auto;
    max-width:none }
.wjb-boeken { container:boekdeel/inline-size }
@container boekdeel (min-width:56rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap .calendar-persons { grid-template-columns:minmax(0,1fr) 19rem }
}
@container boekdeel (min-width:36rem) and (max-width:55.99rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap .persons-wrapper .card-body>* { width:100% }
}
.wjb-boeken .bookzo-bootstrap .custom-day.range.first-date { background:linear-gradient(90deg,#0000 50%,var(--wjbm-bereik) 50%)!important }
.wjb-boeken .bookzo-bootstrap .custom-day.range.second-date { background:linear-gradient(90deg,var(--wjbm-bereik) 50%,#0000 50%)!important }
.wjb-boeken .bookzo-bootstrap .custom-day.range.first-date.second-date { background:0 0!important }
.wjb-boeken .bookzo-bootstrap .custom-day.range:after { display:none!important }
@container boekdeel (min-width:56rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap .persons-wrapper .card-body { justify-content:flex-start }
}
.wjb-boeken .bookzo.bookzo-bootstrap .datepicker-buttons { flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:.75rem 1rem;
    padding-inline:.5rem;
    display:flex;
    margin:1rem 0 0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .datepicker-buttons>* { margin:0!important }
.wjb-boeken .eerst-vrij { border:1px solid var(--color-sand-300);
    height:2.5rem;
    color:var(--color-text);
    white-space:nowrap;
    cursor:pointer;
    background:#fff;
    border-radius:999px;
    align-items:center;
    gap:.5rem;
    margin-left:auto;
    padding:0 1.125rem;
    font-size:.875rem;
    font-weight:600;
    transition:border-color .2s,background-color .2s;
    display:inline-flex }
.wjb-boeken .eerst-vrij:hover { border-color:var(--color-primary);
    background:var(--color-green-50) }
.wjb-boeken .eerst-vrij:focus-visible { outline:2px solid var(--color-primary);
    outline-offset:2px }
.wjb-boeken .eerst-vrij svg { width:1.125rem;
    height:1.125rem;
    color:var(--color-primary-text);
    flex:none }
.wjb-boeken .eerst-vrij-meld { color:var(--color-sand-600);
    flex-basis:100%;
    margin:0;
    font-size:.875rem }
.wjb-boeken .eerst-vrij-meld:empty { display:none }
html.wjb-standaard .datepicker-wrapper.floating { color:var(--color-text);
    font-family:inherit;
    z-index:30!important;
    border:1px solid var(--color-sand-200)!important;
    background:#fff!important;
    border-radius:1.5rem!important;
    padding:1.25rem 1rem 1rem!important;
    box-shadow:0 24px 48px -16px #0000002e,0 2px 8px #0000000a!important }
html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-header { padding:0 0 .5rem;
    background:0 0!important;
    border:0!important }
html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-month-name { color:var(--color-text);
    text-transform:lowercase;
    font-size:1.0625rem;
    font-weight:600;
    background:0 0!important }
html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-arrow-btn { color:var(--color-primary-text)!important }
html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-navigation-chevron { border-width:.15em .15em 0 0!important;
    width:.6em!important;
    height:.6em!important }
html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-weekdays { background:0 0!important;
    border:0!important }
html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-weekday { text-transform:uppercase;
    letter-spacing:.04em;
    color:var(--color-primary-text)!important;
    font-size:.75rem!important;
    font-style:normal!important;
    font-weight:600!important }
html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-months { gap:1.5rem }
html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-day,html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-weekday { position:relative;
    width:2.375rem!important;
    height:2.375rem!important }
html.wjb-standaard .datepicker-wrapper.floating .custom-day { top:0;
    left:0 }
html.wjb-standaard .datepicker-wrapper.floating .custom-day-circle { width:2.125rem;
    height:2.125rem;
    font-size:.9375rem }
html.wjb-standaard .datepicker-wrapper.floating .custom-day-circle.selected,html.wjb-standaard .datepicker-wrapper.floating .custom-day.first-selected .custom-day-circle,html.wjb-standaard .datepicker-wrapper.floating .custom-day.second-selected .custom-day-circle { background:var(--color-primary)!important;
    color:#fff!important }
html.wjb-standaard .datepicker-wrapper.floating .custom-day.range { background:var(--wjbm-bereik)!important }
html.wjb-standaard .datepicker-wrapper.floating .custom-day.range.first-date { background:linear-gradient(90deg,#0000 50%,var(--wjbm-bereik) 50%)!important }
html.wjb-standaard .datepicker-wrapper.floating .custom-day.range.second-date { background:linear-gradient(90deg,var(--wjbm-bereik) 50%,#0000 50%)!important }
html.wjb-standaard .datepicker-wrapper.floating .custom-day.range.first-date.second-date { background:0 0!important }
html.wjb-standaard .datepicker-wrapper.floating .custom-day.range:after { display:none!important }
html.wjb-standaard .datepicker-wrapper.floating .datepicker-buttons { border-top:1px solid var(--color-sand-200);
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    padding:.75rem .25rem 0;
    display:flex;
    margin:.75rem 0 0!important }
html.wjb-standaard .datepicker-wrapper.floating .datepicker-buttons>* { margin:0!important }
html.wjb-standaard .datepicker-wrapper.floating .btn { letter-spacing:0!important;
    text-transform:none!important;
    box-shadow:none!important;
    font-family:inherit!important }
html.wjb-standaard .datepicker-wrapper.floating .btn-link { text-underline-offset:3px;
    text-decoration:underline;
    color:var(--color-primary-text)!important;
    background:0 0!important;
    border:0!important;
    padding:0!important;
    font-size:.875rem!important;
    font-weight:600!important }
html.wjb-standaard .datepicker-wrapper.floating .btn:not(.btn-link) { height:2.5rem;
    background:var(--color-primary)!important;
    color:#fff!important;
    border:0!important;
    border-radius:999px!important;
    padding:0 1.5rem!important;
    font-size:.875rem!important;
    font-weight:600!important }
html.wjb-standaard .datepicker-wrapper.floating .btn:not(.btn-link):hover { background:var(--color-primary-text)!important }
html.wjb-standaard bookzo-arrival-departure-picker .datepicker-wrapper.floating .custom-day .custom-day-circle.selected,html.wjb-standaard bookzo-arrival-departure-picker .datepicker-wrapper.floating .custom-day.first-date .custom-day-circle,html.wjb-standaard bookzo-arrival-departure-picker .datepicker-wrapper.floating .custom-day.second-date .custom-day-circle { background:var(--color-primary)!important;
    color:#fff!important }
html.wjb-standaard bookzo-arrival-departure-picker .datepicker-wrapper.floating .ngb-dp-day:not(.disabled) .custom-day:hover .custom-day-circle:not(.selected) { background:var(--color-green-50)!important;
    color:var(--color-text)!important }
html.wjb-standaard .objects-to-book-wrapper.floating { max-width:calc(100vw - 2rem);
    color:var(--color-text);
    font-family:inherit;
    z-index:30!important;
    border:1px solid var(--color-sand-200)!important;
    background:#fff!important;
    border-radius:1.5rem!important;
    width:22rem!important;
    padding:1.25rem 1.25rem 1rem!important;
    box-shadow:0 24px 48px -16px #0000002e,0 2px 8px #0000000a!important }
html.wjb-standaard .objects-to-book-wrapper.floating .objects-to-book,html.wjb-standaard .objects-to-book-wrapper.floating .object-to-book { margin:0!important }
html.wjb-standaard .objects-to-book-wrapper.floating .card { box-shadow:none!important;
    background:0 0!important;
    border:0!important }
html.wjb-standaard .objects-to-book-wrapper.floating .card-body { padding:0!important }
html.wjb-standaard .objects-to-book-wrapper.floating .object-to-book-title:empty { display:none }
html.wjb-standaard .objects-to-book-wrapper.floating .persons-item-accommodations { display:none!important }
html.wjb-standaard .objects-to-book-wrapper.floating .number-control { grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:.75rem;
    display:grid!important }
html.wjb-standaard .objects-to-book-wrapper.floating .number-control .label { text-align:left;
    font-size:.9375rem;
    line-height:1.35 }
html.wjb-standaard .objects-to-book-wrapper.floating .number-control .label b { color:var(--color-text);
    font-weight:600 }
html.wjb-standaard .objects-to-book-wrapper.floating .age-wrapper { font-size:.8125rem;
    color:var(--color-sand-600)!important }
html.wjb-standaard .objects-to-book-wrapper.floating .numbers { align-items:center;
    gap:.375rem;
    display:flex }
html.wjb-standaard .objects-to-book-wrapper.floating .btn-circle { place-items:center;
    font-size:1rem;
    display:grid;
    background:var(--color-primary)!important;
    color:#fff!important;
    width:2.25rem!important;
    height:2.25rem!important;
    box-shadow:none!important;
    border:0!important;
    border-radius:50%!important;
    padding:0!important }
html.wjb-standaard .objects-to-book-wrapper.floating .btn-circle:disabled { opacity:.6;
    border:1px solid var(--color-sand-300)!important;
    color:var(--color-sand-600)!important;
    background:0 0!important }
html.wjb-standaard .objects-to-book-wrapper.floating .numbers .form-control { text-align:center;
    -moz-appearance:textfield;
    font-weight:600;
    border:1px solid var(--color-sand-300)!important;
    width:2.75rem!important;
    height:2.25rem!important;
    box-shadow:none!important;
    border-radius:.625rem!important;
    padding:0!important;
    font-size:1rem!important }
html.wjb-standaard .objects-to-book-wrapper.floating .numbers .form-control::-webkit-outer-spin-button { -webkit-appearance:none;
    margin:0 }
html.wjb-standaard .objects-to-book-wrapper.floating .numbers .form-control::-webkit-inner-spin-button { -webkit-appearance:none;
    margin:0 }
html.wjb-standaard .objects-to-book-wrapper.floating .objects-to-book-buttons { border-top:1px solid var(--color-sand-200);
    justify-content:space-between;
    align-items:center;
    gap:1rem;
    margin-top:1rem;
    padding-top:.875rem;
    display:flex }
html.wjb-standaard .objects-to-book-wrapper.floating .btn { letter-spacing:0!important;
    text-transform:none!important;
    box-shadow:none!important;
    margin:0!important;
    font-family:inherit!important }
html.wjb-standaard .objects-to-book-wrapper.floating .btn-link { text-underline-offset:3px;
    text-decoration:underline;
    color:var(--color-primary-text)!important;
    background:0 0!important;
    border:0!important;
    padding:0!important;
    font-size:.875rem!important;
    font-weight:600!important }
html.wjb-standaard .objects-to-book-wrapper.floating #searchButtonObjectsToBook { height:2.5rem;
    background:var(--color-yellow-200)!important;
    color:var(--color-sand-700)!important;
    border:0!important;
    border-radius:999px!important;
    padding:0 1.5rem!important;
    font-size:.9375rem!important;
    font-weight:600!important }
html.wjb-standaard .objects-to-book-wrapper.floating #searchButtonObjectsToBook:hover { background:var(--color-yellow-400)!important }
html.wjb-standaard .objects-to-book-wrapper.floating .persons { columns:auto!important;
    display:block!important }
html.wjb-standaard .objects-to-book-wrapper.floating .persons-item { width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:0!important }
html.wjb-standaard .objects-to-book-wrapper.floating .number-control .label,html.wjb-standaard .objects-to-book-wrapper.floating .number-control .label * { text-align:left!important;
    text-transform:none!important;
    letter-spacing:0!important;
    font-family:inherit!important }
html.wjb-standaard .objects-to-book-wrapper.floating .number-control .label b { font-size:.9375rem!important }
html.wjb-standaard .objects-to-book-wrapper.floating bookzo-persons .persons.large-persons { grid-template-columns:none!important;
    width:100%!important;
    display:block!important }
html.wjb-standaard .objects-to-book-wrapper.floating bookzo-persons { display:block }
html.wjb-standaard .objects-to-book-wrapper.floating .persons-item+.persons-item { margin-top:.875rem!important }
html.wjb-standaard .datepicker-wrapper.floating,html.wjb-standaard .objects-to-book-wrapper.floating { max-width:calc(100vw - 2rem)!important }
@media (max-width:30rem) {
  html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-day,html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-weekday { width:2.25rem!important;
    height:2.25rem!important }
}
.wjb-boeken .bookzo.bookzo-bootstrap .my-reservations-login { background:var(--color-green-50);
    border-radius:1.5rem;
    max-width:30rem;
    padding:1.5rem }
@media (min-width:64rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap .my-reservations-login { padding:2rem }
}
.wjb-boeken .bookzo.bookzo-bootstrap .my-reservations-toolbar:not(:has(* *)) { display:none }
.wjb-boeken .bookzo.bookzo-bootstrap bookzo-login label,.wjb-boeken .bookzo.bookzo-bootstrap .my-reservations label:not(.form-check-label) { text-transform:none;
    letter-spacing:0;
    color:var(--color-text);
    margin:0 0 .375rem;
    font-size:.9375rem;
    font-weight:600;
    display:block }
.wjb-boeken .bookzo.bookzo-bootstrap bookzo-login .form-group { margin-bottom:1rem }
.wjb-boeken .bookzo.bookzo-bootstrap bookzo-login .form-control { background:#fff;
    width:100%;
    max-width:none }
.wjb-boeken .bookzo.bookzo-bootstrap bookzo-login .btn-primary { border-radius:999px;
    height:3rem;
    padding:0 1.75rem;
    font-size:1rem }
.wjb-boeken .bookzo.bookzo-bootstrap .persons-item .label b,html.wjb-standaard .objects-to-book-wrapper.floating .persons-item .label b { font-size:.9375rem;
    font-weight:600;
    text-transform:none!important;
    letter-spacing:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap .persons-item-adults .age-wrapper,.wjb-boeken .bookzo.bookzo-bootstrap .persons-item-children .age-wrapper,html.wjb-standaard .objects-to-book-wrapper.floating .persons-item-adults .age-wrapper,html.wjb-standaard .objects-to-book-wrapper.floating .persons-item-children .age-wrapper { display:none!important }
.wjb-boeken .bookzo.bookzo-bootstrap .price-discount,.wjb-boeken .bookzo-bootstrap .alternative-prices-container .text-discount,.wjb-boeken .bookzo-bootstrap .price-discount { text-decoration-thickness:1px;
    color:var(--color-sand-700)!important;
    opacity:1!important }
.wjb-boeken .bookzo-bootstrap .badge-primary { font-weight:600;
    background-color:var(--color-yellow-200)!important;
    color:var(--color-sand-900)!important }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.text-muted { color:var(--color-sand-600)!important }
.wjb-boeken .bookzo.bookzo-bootstrap .select-arrangement-buttons .btn-link,.wjb-boeken .bookzo.bookzo-bootstrap .object-info .btn-secondary { display:none!important }
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-image .images-thumb { border-radius:.75rem;
    width:3.5rem;
    height:3.5rem }
@media (min-width:48rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-image .images-thumb { border-radius:1rem;
    width:7rem;
    height:7rem }
}
.wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-image .images-thumb { max-width:none!important;
    max-height:none!important }
@media (max-width:47.99rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-description:has(.optional-cost-image) .option-cost-price-text-type { display:block }
  .wjb-boeken .bookzo.bookzo-bootstrap .optional-costs .optional-cost-description:has(.optional-cost-image) { column-gap:.75rem }
  .wjb-boeken .bookzo.bookzo-bootstrap .optional-cost-description:has(.optional-cost-image) .option-cost-price-text-type { white-space:nowrap;
    font-size:.8125rem }
}
.wjb-boeken .bookzo.bookzo-bootstrap select.form-control { appearance:none;
    border:1px solid var(--color-sand-300);
    width:100%;
    max-width:100%;
    height:3rem;
    color:var(--color-sand-900);
    cursor:pointer;
    text-overflow:ellipsis;
    background-color:#fff;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A593A' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-position:right 1rem center;
    background-repeat:no-repeat;
    background-size:1.125rem;
    border-radius:.75rem;
    padding:0 3rem 0 1rem;
    font-size:1rem;
    line-height:1.25;
    transition:border-color .2s }
@media (hover:hover) {
  .wjb-boeken .bookzo.bookzo-bootstrap select.form-control:hover { border-color:var(--color-sand-600) }
}
.wjb-boeken .bookzo.bookzo-bootstrap select.form-control:focus { border-color:var(--color-green-600);
    outline:none;
    box-shadow:0 0 0 3px #4a593a33 }
@supports (color:color-mix(in lab, red, red)) {
  .wjb-boeken .bookzo.bookzo-bootstrap select.form-control:focus { box-shadow:0 0 0 3px color-mix(in srgb, var(--color-green-600) 20%, transparent) }
}
.wjb-boeken .bookzo.bookzo-bootstrap .preference-accommodation-form-group { margin-top:1.25rem;
    margin-bottom:.5rem }
.wjb-boeken .bookzo.bookzo-bootstrap .preference-accommodation-select-group { width:100%;
    max-width:24rem }
.wjb-boeken .bookzo.bookzo-bootstrap .card-title { flex-wrap:wrap;
    align-items:center;
    gap:.5rem .75rem;
    display:flex }
.wjb-boeken .bookzo.bookzo-bootstrap .badge.badge-preference-accommodation { border:1.5px solid var(--color-green-600);
    color:var(--color-green-700);
    letter-spacing:0;
    white-space:nowrap;
    background:#fff;
    border-radius:9999px;
    justify-content:center;
    align-items:center;
    padding:.5625rem .875rem .3125rem;
    font-size:1rem;
    font-weight:700;
    line-height:1;
    display:inline-flex;
    margin-left:0!important }
.wjb-boeken .bookzo.bookzo-bootstrap label.voorkeur-label { color:var(--color-sand-900);
    margin-bottom:.5rem;
    font-weight:600;
    display:block;
    text-transform:none!important;
    letter-spacing:0!important;
    font-size:1rem!important }

/* ---- WJ-aanvullingen ---- */
/* Knoppen in de kopletter van de site (zoals de zoekknop) */
.wjb-boeken .bookzo.bookzo-bootstrap .btn-primary,
.wjb-boeken .bookzo.bookzo-bootstrap .form-group-book-button .btn {
  font-family: var(--wjbm-font-kop); font-weight: 400; font-size: 22px; letter-spacing: .02em; padding-top: 0; padding-bottom: 0;
}
.wjb-boeken .bookzo.bookzo-bootstrap .object-calendar-prices .btn { height: 3rem; padding: 0 2rem; font-size: 22px; line-height: 1; }
.wjb-boeken .bookzo.bookzo-bootstrap .btn-primary:hover:not(:disabled) { background: var(--wjbm-hover); border-color: var(--wjbm-hover); }
.wjb-boeken .bookzo-bootstrap .ngb-dp-month-name { font-family: var(--wjbm-font-kop); font-weight: 400; font-size: 22px; text-transform: capitalize; }
.wjb-boeken .bookzo-bootstrap .total-price-wrapper { font-family: var(--wjbm-font-kop); font-size: 28px; }
.boeken-terugval p { margin: 0; }
/* "Wis datums", "Eerder"/"Later": tekstlinks, zoals De Bremakker */
.wjb-boeken .bookzo.bookzo-bootstrap .btn-link:not(.ngb-dp-arrow-btn) {
  padding: 0; border: 0; background: none; box-shadow: none;
  font-family: var(--wjbm-font-tekst); font-size: 14px; font-weight: 600; letter-spacing: 0; text-transform: none;
  color: var(--wjbm-accent-tekst); text-decoration: underline; text-underline-offset: 3px;
}
.boeken-terugval .btn { background-image: none; }



/* Zwevende popups (Bookzo hangt ze onderaan <body>): boven de inhoud, onder de vaste header */
html.wjb-standaard .datepicker-wrapper.floating, html.wjb-standaard .objects-to-book-wrapper.floating { z-index: 95 !important; }
html.wjb-standaard .datepicker-wrapper.floating .ngb-dp-month-name { font-family: var(--wjbm-font-kop); font-weight: 400; font-size: 22px !important; text-transform: capitalize !important; }
html.wjb-standaard .datepicker-wrapper.floating .btn:not(.btn-link),
html.wjb-standaard .objects-to-book-wrapper.floating #searchButtonObjectsToBook {
  border-radius: 8px !important; font-family: var(--wjbm-font-kop) !important; font-weight: 400 !important; font-size: 20px !important; line-height: 1 !important; padding-top: 0 !important; padding-bottom: 0 !important;
}
html.wjb-standaard .objects-to-book-wrapper.floating #searchButtonObjectsToBook { background: var(--wjbm-knop) !important; color: #fff !important; }
html.wjb-standaard .objects-to-book-wrapper.floating #searchButtonObjectsToBook:hover { background: var(--wjbm-hover) !important; }


/* ---- Kalenderdagen: cijfers optisch midden in de cirkel ---- */
.wjb-boeken .bookzo-bootstrap .custom-day-circle,
html.wjb-standaard .datepicker-wrapper.floating .custom-day-circle { line-height: 1 !important; display: grid !important; place-items: center; }

/* ---- Prijstabel ("andere aankomstdagen"): rustige tegels i.p.v. bootstrap-raster ---- */
.wjb-boeken .bookzo-bootstrap .alternative-prices-table { border-collapse: separate !important; border-spacing: 6px !important; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table th,
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td { border: 0 !important; padding: 0 !important; vertical-align: middle !important; background: none; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table thead td { padding: 0 0 6px !important; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-earlier-later { display: flex; justify-content: space-between; align-items: center; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-earlier-later .btn-link { display: inline-flex; align-items: center; gap: .15rem; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table thead th { padding: 0 0 4px !important; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table .week-day { font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--color-sand-600); line-height: 1.4; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table .short-date { font-size: 14px; font-weight: 600; color: var(--color-text); line-height: 1.4; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table th[scope="row"] { padding-right: 8px !important; text-align: left !important; font-size: 14px; font-weight: 600; color: var(--color-sand-600); }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.text-muted,
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.price-cell { height: 46px; border-radius: 10px; text-align: center; }
/* niet beschikbaar: "---" van Bookzo als een rustig streepje */
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.text-muted { font-size: 0 !important; color: #b5b8af !important; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.text-muted::before { content: "–"; font-size: 14px; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.price-cell {
  background: #fff !important;
  box-shadow: inset 0 0 0 1px var(--color-sand-200);
  cursor: pointer;
  transition: background-color .2s, box-shadow .2s, color .2s;
}
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.price-cell h5 { margin: 0 !important; padding: 0; font: 600 14px/1 var(--wjbm-font-tekst) !important; color: var(--color-text); letter-spacing: 0; text-transform: none; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.price-cell:hover { background: var(--wjbm-zacht) !important; box-shadow: inset 0 0 0 1px var(--wjbm-knop); }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.price-cell.table-active { background: var(--wjbm-accent) !important; box-shadow: none; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.price-cell.table-active h5 { color: #fff; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-table td.pb-0 { padding: 2px 0 0 !important; }
.wjb-boeken .bookzo-bootstrap .alternative-prices-up-down-btn { padding: 4px !important; color: var(--wjbm-accent-tekst); }

/* ---- +/− in de ronde knoppen: getekend i.p.v. tekst, dus exact in het midden ---- */
.wjb-boeken .bookzo-bootstrap .btn-circle,
html.wjb-standaard .objects-to-book-wrapper.floating .btn-circle { position: relative; display: grid !important; place-items: center; padding: 0 !important; line-height: 1 !important; }
.wjb-boeken .bookzo-bootstrap .btn-circle > b,
html.wjb-standaard .objects-to-book-wrapper.floating .btn-circle > b { position: absolute; inset: 0; font-size: 0 !important; }
.wjb-boeken .bookzo-bootstrap .btn-circle > b::before,
.wjb-boeken .bookzo-bootstrap .btn-circle:last-of-type > b::after,
html.wjb-standaard .objects-to-book-wrapper.floating .btn-circle > b::before,
html.wjb-standaard .objects-to-book-wrapper.floating .btn-circle:last-of-type > b::after {
  content: ""; position: absolute; left: 50%; top: 50%;
  width: 12px; height: 2px; margin: -1px 0 0 -6px; border-radius: 1px; background: currentColor;
}
.wjb-boeken .bookzo-bootstrap .btn-circle:last-of-type > b::after,
html.wjb-standaard .objects-to-book-wrapper.floating .btn-circle:last-of-type > b::after { width: 2px; height: 12px; margin: -6px 0 0 -1px; }
@media (max-width: 600px) {
  .wjb-boeken .bookzo.bookzo-bootstrap .card-alternative-prices .card-body { padding: 14px 8px !important; }
  .wjb-boeken .bookzo-bootstrap .alternative-prices-table { border-spacing: 3px !important; }
  .wjb-boeken .bookzo-bootstrap .alternative-prices-table th[scope="row"] { padding-right: 4px !important; font-size: 12px; }
  .wjb-boeken .bookzo-bootstrap .alternative-prices-table .week-day { font-size: 10px; letter-spacing: .04em; }
  .wjb-boeken .bookzo-bootstrap .alternative-prices-table .short-date { font-size: 12px; }
  .wjb-boeken .bookzo-bootstrap .alternative-prices-table td.price-cell,
  .wjb-boeken .bookzo-bootstrap .alternative-prices-table td.text-muted { height: 40px; border-radius: 8px; }
  .wjb-boeken .bookzo-bootstrap .alternative-prices-table td.price-cell h5 { font-size: 12px !important; letter-spacing: -.01em; }
}
.wjb-boeken .eerst-vrij { font-family: var(--wjbm-font-tekst); line-height: 1; }
.wjb-boeken .bookzo.bookzo-bootstrap .datepicker-buttons .btn-link { white-space: nowrap; }

/* ---- Kaart om het boekblok + boek-/bevestigingspagina (optioneel; op een gekleurde
        pagina-achtergrond kan de kaart weg, zoals op De Bremakker) ---- */
.wjb-boekkaart { padding: clamp(18px, 3vw, 34px); border: 1px solid var(--wjbm-lijn); border-radius: 18px; background: #fff; box-shadow: 0 4px 16px rgba(0, 0, 0, .06); }
@media (max-width: 600px) { .wjb-boekkaart { padding: 10px; } }
.bookzo-sectie__kop { max-width: 760px; margin: 0 auto clamp(20px, 3vw, 30px); text-align: center; }
.bookzo-sectie__tekst { max-width: 760px; margin: 0 auto clamp(20px, 3vw, 30px); text-align: center; }
.bookzo-sectie--boeken .wjb-boekkaart,
.bookzo-sectie--bevestiging .wjb-boekkaart { max-width: 760px; margin: 0 auto; }

/* ==========================================================================
   1.3.2 — boekformulier (naam/adres in Bookzo's eigen verdeling) en
   bevestigingspagina in de standaardopmaak (opgesteld op smederijtexel).
   ========================================================================== */
/* Boekformulier: naam- en adresvelden in Bookzo's eigen verdeling (Aanhef | Voornaam,
   Tussenvoegsel | Achternaam, Straat | Huisnummer | Toevoeging, Postcode | Plaats).
   De boekstandaard (wj-bookzo 1.3.0) zet de aanhef over de volle breedte; met het
   tussenvoegsel (alleen NL) viel de achternaam daardoor op een eigen, smalle regel. */
.wjb-boeken .bookzo.bookzo-bootstrap .reservation-form .form-row + .form-row { margin-top: .5rem; }
@media (min-width: 48rem) {
  .wjb-boeken .bookzo.bookzo-bootstrap .form-group-name .form-row { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
  .wjb-boeken .bookzo.bookzo-bootstrap .form-group-name .form-row > :first-child { grid-column: auto; }
  /* zonder tussenvoegsel (DE/EN): achternaam over de volle breedte */
  .wjb-boeken .bookzo.bookzo-bootstrap .form-group-name .form-row:not(:has([formcontrolname="customerMiddleName"])) > :last-child { grid-column: 1 / -1; }
  .wjb-boeken .bookzo.bookzo-bootstrap .form-group-address .form-row:first-of-type { grid-template-columns: minmax(0, 6fr) minmax(0, 3fr) minmax(0, 3fr); }
  .wjb-boeken .bookzo.bookzo-bootstrap .form-group-address .form-row + .form-row { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
}

/* ---- Bevestigingspagina (bookzo-confirmation) ---- */
/* Meldingen in de huisstijl i.p.v. bootstrap-groen/-blauw */
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .alert {
  display: flex; align-items: flex-start; gap: 12px;
  margin: 0 0 12px; padding: 16px 20px;
  border: 0; border-left: 3px solid var(--wjbm-accent); border-radius: 0 12px 12px 0;
  background: var(--wjbm-zacht); color: var(--wjbm-ink);
  font-size: 16px; line-height: 1.5;
}
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .alert-success { font-weight: 600; }
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .alert-success::before {
  content: ""; flex: none; width: 22px; height: 22px; margin-top: 1px; border-radius: 50%;
  background: var(--wjbm-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4L18 8' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .alert-info { border-left-color: var(--wjbm-hover); background: #f6f6f3; }

/* "U heeft geboekt" + reserveringsnummer */
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation h2 {
  margin: 28px 0 6px; font-family: var(--wjbm-font-kop); font-weight: 400; font-size: clamp(28px, 3vw, 36px); line-height: 1.1; color: var(--wjbm-ink);
}
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation h2 + p { margin: 0; font-size: 16px; color: #4f4f4a; }

/* Verblijf (links) en kamer met foto's (rechts) als één rustige kaart */
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation { display: grid; grid-template-columns: minmax(0, 1fr); }
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation > .mb-4:has(bookzo-book-stay-info),
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation > .mb-4:has(.accommodation-title) {
  margin: 0 !important; padding: 22px 24px; background: var(--wjbm-zacht);
}
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation > .mb-4:has(bookzo-book-stay-info) { border-radius: 16px 16px 0 0; padding-bottom: 6px; }
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation > .mb-4:has(.accommodation-title) { border-radius: 0 0 16px 16px; }
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .stay-info-list { display: flex; flex-wrap: wrap; gap: 4px 0; font-size: 16px; color: var(--wjbm-ink); }
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .stay-info-list .arrival-departure-date { flex: 1 0 100%; font-weight: 600; font-size: 17px; white-space: normal !important; }
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .stay-info-list .number-of-nights + li::before { content: "·"; margin-inline: .5rem; color: #6d6d68; }
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .accommodation-title { margin: 0 0 12px; }
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .accommodation-title h4 {
  font-family: var(--wjbm-font-kop); font-weight: 400; font-size: 26px; line-height: 1; color: var(--wjbm-ink);
}
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .carousel-wrapper {
  width: 100%; max-width: 400px; height: auto; aspect-ratio: 8 / 5; border-radius: 12px; overflow: hidden;
}
.wjb-boeken .bookzo-bootstrap .bookzo-confirmation .slider-wrapper { height: 100%; }
@media (min-width: 48rem) {
  .wjb-boeken .bookzo-bootstrap .bookzo-confirmation { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .wjb-boeken .bookzo-bootstrap .bookzo-confirmation > * { grid-column: 1 / -1; }
  /* verblijf links (incl. kamernaam), foto rechts */
  .wjb-boeken .bookzo-bootstrap .bookzo-confirmation > .mb-4:has(bookzo-book-stay-info) { grid-column: 1; border-radius: 16px 0 0 16px; padding-bottom: 22px; }
  .wjb-boeken .bookzo-bootstrap .bookzo-confirmation > .mb-4:has(.accommodation-title) {
    grid-column: 2; border-radius: 0 16px 16px 0; padding-left: 0;
  }
  .wjb-boeken .bookzo-bootstrap .bookzo-confirmation h2 { margin-top: 32px; }
  .wjb-boeken .bookzo-bootstrap .bookzo-confirmation > .mb-4:has(h2) { margin-bottom: 20px !important; }
}
