/* Nieuwe stijl (testvariant) op de pagina's buiten de homepage, zoals de resultaten en het boeken.
   Overgenomen uit home.css (alle regels met body.theme-b); de class zet snippets/head.php. */
body.theme-b .site-header.is-stuck { background: rgb(255 255 255 / .94); box-shadow: 0 2px 10px rgb(27 36 28 / .06); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom-color: transparent; }
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta) { flex-direction: column; justify-content: center; gap: .3rem; width: 7rem; height: 7rem; min-height: 0; margin-block: -1.25rem; top: 1.5rem; padding: 1.5rem 0 0; border-radius: 50%; background: #fff url(../images/aar-geel.svg) no-repeat 50% 2.05rem / auto 1.5rem; color: #e39a1e; font-size: .8125rem; font-weight: 700; box-shadow: 0 8px 20px -10px rgb(10 31 14 / .35); }
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta) .site-cta-icon { display: none; }
body.theme-b .site-cta-ring { display: block; position: absolute; inset: 0; width: 100%; height: 100%; animation: hv-spin 16s linear infinite; pointer-events: none; }
body.theme-b .site-cta-ring text { fill: var(--b-green, #2f5a2b); font-size: 17px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta):hover .site-cta-ring { animation-duration: 6s; }
@media (prefers-reduced-motion: reduce) { body.theme-b .site-cta-ring { animation: none; } }
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta):hover { background-color: #fff; color: #c97f0d; }
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta)::before { display: none; }
@media (max-width: 63.99rem) { body.theme-b .site-header__actions > .site-header__cta { width: 5.25rem; height: 5.25rem; margin-block: -.5rem; top: .85rem; padding-top: 1.2rem; background-position: 50% 1.45rem; background-size: auto 1.15rem; font-size: .625rem; } }
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta) { flex-direction: row; gap: .6rem; width: auto; height: auto; min-height: 2.75rem; margin: 0; top: auto; padding: .75rem 1.35rem; border-radius: .4rem; background: #6a8f3d; color: #fff; font-size: .9375rem; font-weight: 600; box-shadow: none; }
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta)::after { content: ""; width: .85rem; height: .85rem; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain; }
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta):hover { background-color: #5a7c32; color: #fff; }
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta):hover::after { transform: translate(3px, -3px); }
body.theme-b .site-header .site-cta-ring { display: none; }
@media (max-width: 63.99rem) { body.theme-b .site-header__actions > .site-header__cta { width: auto; height: auto; margin: 0; top: auto; padding: .6rem 1rem; background-image: none; font-size: .875rem; } }
body.theme-b .site-nav__link { font-size: .9375rem; }
.hvc-search, body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta) {
  background: linear-gradient(90deg, #3f9b45 0%, #6a8f3d 50%, #6a8f3d 100%) 100% 0 / 200% 100% no-repeat; background-color: #6a8f3d;
  transition: background-position .5s cubic-bezier(.22, 1, .36, 1), box-shadow .3s cubic-bezier(.22, 1, .36, 1); }
.hvc-search:hover, .hvc-search:focus-within, body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta):is(:hover, :focus-visible) { background-position: 0 0; background-color: #6a8f3d; }
body.theme-b { --btn-fill-soft: #f5ecd6; }
body.theme-b .b-tommy { --t-accent: #6a8f3d; --t-accent-strong: #33512b; --t-accent-soft: #f5ecd6; --t-ink: #33512b; --t-border: #e3dcc6; --t-radius: .5rem; --t-radius-sm: .4rem; --t-field-radius: .4rem; --t-focus: 0 0 0 3px rgb(106 143 61 / .35); --t-free: #e7efd9; --t-free-ink: #33512b; }
body.theme-b :is(.button:not(.button--secondary), .b-tommy .tommy-zeb-btn:not(.tommy-zeb-person-categories-collapse *, .hvc-search tommy-confirm-update *), .b-tommy #TommyBookingSupport .tbs-btn-success) {
  border-radius: .4rem; color: #fff;
  background: linear-gradient(90deg, #3f9b45 0%, #6a8f3d 50%, #6a8f3d 100%) 100% 0 / 200% 100% no-repeat; background-color: #6a8f3d;
  transition: background-position .5s cubic-bezier(.22, 1, .36, 1), transform .2s cubic-bezier(.22, 1, .36, 1); }
body.theme-b :is(.button:not(.button--secondary), .b-tommy .tommy-zeb-btn:not(.tommy-zeb-person-categories-collapse *, .hvc-search tommy-confirm-update *), .b-tommy #TommyBookingSupport .tbs-btn-success):is(:hover, :focus-visible) { background-position: 0 0; background-color: #6a8f3d; color: #fff; }
body.theme-b :is(.button, .b-tommy .tommy-zeb-btn:not(.tommy-zeb-person-categories-collapse *), .b-tommy #TommyBookingSupport .tbs-btn-success)::before { display: none; }
body.theme-b .button--secondary { border-radius: .4rem; box-shadow: inset 0 0 0 1.5px #6a8f3d; color: #33512b; transition: background-color .3s cubic-bezier(.22, 1, .36, 1), transform .2s cubic-bezier(.22, 1, .36, 1); }
body.theme-b .button--secondary:is(:hover, :focus-visible) { background-color: #f5ecd6; color: #33512b; }
body.theme-b .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-person-category-mini .tommy-zeb-range { border-radius: .4rem; }
body.theme-b .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-person-category-mini .tommy-zeb-person-category-list { border-color: #e3dcc6; border-radius: .5rem; }
body.theme-b .pika-single { border-radius: .5rem; }
body.theme-b :is(.pika-button:hover, .pika-row.pick-whole-week:hover .pika-button, .is-inrange .pika-button, .ks-preview .pika-button) { background: #f5ecd6; color: #33512b; }
body.theme-b .ks-preview-end .pika-button { background: #e9dcb8; color: #33512b; }
body.theme-b .is-today .pika-button { color: #33512b; box-shadow: inset 0 0 0 1px #6a8f3d; }
body.theme-b :is(.is-selected, .is-startrange, .is-endrange, .is-startrange.is-disabled, .is-endrange.is-disabled) .pika-button { background: #6a8f3d; color: #fff; box-shadow: none; }
body.theme-b .booking-overlay .b-tommy { --t-control: 3.75rem; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini button.tommy-zeb-btn.tommy-zeb-update { display: flex; align-items: center; justify-content: space-between; padding: 0 1.4rem 0 1.75rem; font-size: .9375rem; font-weight: 500; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini button.tommy-zeb-btn.tommy-zeb-update::after { content: ""; flex: none; width: 1rem; height: 1rem; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain; transition: transform .3s cubic-bezier(.22, 1, .36, 1); will-change: transform; backface-visibility: hidden; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini button.tommy-zeb-btn.tommy-zeb-update:is(:hover, :focus-visible)::after { transform: translate(3px, -3px); }
@media (prefers-reduced-motion: reduce) { body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini button.tommy-zeb-btn.tommy-zeb-update::after { transition: none; } }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period] { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period]::before { display: none; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period] input { padding: 0 .5rem 0 1.4rem !important; text-align: left; background-image: none !important; color: #33512b; font-size: .9375rem; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period] .tommy-zeb-date-end input { padding-left: 1rem !important; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period] input::placeholder { color: #33512b; opacity: 1; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-date-end { position: relative; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-date-end::before { content: "&"; position: absolute; z-index: 1; left: -.15rem; top: 50%; color: #33512b; font-size: .9375rem; transform: translateY(-50%); pointer-events: none; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period:has(input:not(:placeholder-shown)) .tommy-zeb-date-end::before { content: "–"; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-date-begin { position: relative; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period]:has(.tommy-zeb-date-begin input:placeholder-shown) { grid-template-columns: minmax(0, 1fr) 0; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period:has(.tommy-zeb-date-begin input:placeholder-shown) .tommy-zeb-date-end { opacity: 0; overflow: hidden; pointer-events: none; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period:has(.tommy-zeb-date-begin input:placeholder-shown) .tommy-zeb-date-begin input::placeholder { color: transparent; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period:has(.tommy-zeb-date-begin input:placeholder-shown) .tommy-zeb-date-begin::after { content: "Aankomst & Vertrek"; position: absolute; z-index: 1; left: 1.4rem; top: 50%; color: #33512b; font-size: .9375rem; white-space: nowrap; transform: translateY(-50%); pointer-events: none; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-person-category-mini .tommy-zeb-person-categories-collapse button.tommy-zeb-btn { padding-left: 1.4rem !important; background-image: none !important; color: #33512b !important; font-size: .9375rem; font-weight: 400; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-person-category-mini .tommy-zeb-person-categories-collapse .tommy-zeb-travelcompany-total { background: #f5ecd6; color: #33512b; }
:is(.hvc-search, body.theme-b .booking-overlay) .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period] .tommy-zeb-date-begin input { padding-left: 3rem !important; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a8f3d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") no-repeat left 1.4rem center / 1.05rem !important; }
:is(.hvc-search, body.theme-b .booking-overlay) .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period:has(.tommy-zeb-date-begin input:placeholder-shown) .tommy-zeb-date-begin::after { left: 3rem; }
body.theme-b .booking-overlay .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-left > .tommy-zeb-date { order: 1; }
body.theme-b .booking-overlay .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-left > .tommy-zeb-person-categories { order: 2; }
body.theme-b .booking-overlay .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-left > tommy-confirm-update { order: 3; }
body.theme-b .booking-overlay__panel { width: min(calc(100% - 2 * clamp(1.25rem, 5.2vw, 5.5rem)), 64rem); max-height: calc(100dvh - 1.5rem); margin: .75rem clamp(1.25rem, 5.2vw, 5.5rem) 0 auto; padding: 1.75rem 0 .75rem; border-radius: .4rem; transform: translateY(calc(-100% - 1rem)); }
body.theme-b .booking-overlay.is-open .booking-overlay__panel { transform: none; }
body.theme-b .booking-overlay__panel > .container, body.theme-b .booking-overlay__panel .b-tommy > .container { width: auto; max-width: none; margin: 0; padding-inline: 1.75rem; }
body.theme-b .booking-overlay__close { border-radius: .4rem; border-color: #e3dcc6; }
@media (max-width: 599px) {
  body.theme-b .booking-overlay__panel { width: auto; margin: .5rem; padding-top: 1.25rem; }
  body.theme-b .booking-overlay__panel > .container, body.theme-b .booking-overlay__panel .b-tommy > .container { padding-inline: 1.25rem; }
}
body.theme-b :is(.pika-button:hover, .pika-row.pick-whole-week:hover .pika-button, .is-selected .pika-button, .is-startrange.is-endrange .pika-button, .is-today .pika-button) { border-radius: .4rem; }
body.theme-b :is(.is-inrange, .ks-preview) .pika-button { border-radius: 0; }
body.theme-b :is(.is-startrange:not(.is-endrange), .pika-table:has(.ks-preview, .ks-preview-end) .is-startrange, .pika-table:has(.ks-preview, .ks-preview-end) .is-selected) .pika-button { border-radius: .4rem 0 0 .4rem; }
body.theme-b :is(.is-endrange:not(.is-startrange), .ks-preview-end) .pika-button { border-radius: 0 .4rem .4rem 0; }
body.theme-b .pika-table:not(:has(.is-endrange, .is-inrange, .ks-preview, .ks-preview-end)) :is(.is-startrange, .is-selected) .pika-button { border-radius: .4rem; }
body.theme-b { --font-heading: "Cormorant Garamond", Georgia, serif; }
body.theme-b :is(.hv-reveal__title, .hv-cta__title, .hv-h2, .hv-reviews__score strong, .hv-nearby__h2, .hv-nearby__pinned-title, .booking-overlay__title) { font-weight: 500; letter-spacing: -.01em; }
body.theme-b :is(.hv-trip__title, .hv-trip__back-title, .site-nav__card-title, .site-nav__link, .site-nav__sublink, .hv-nearby__lead) { letter-spacing: 0; }
body.theme-b :is(.hv-trip__title, .hv-trip__back-title, .site-nav__card-title) { font-weight: 600; font-size: 1.5rem; }
@media (min-width: 64rem) { body.theme-b .site-header .site-nav__link { font-family: var(--font-body); } }
body.theme-b .booking-overlay__title { font-size: clamp(1.75rem, 3vw, 2.25rem); }
body.theme-b .booking-overlay__panel { width: min(calc(100% - 1rem), 27rem); }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-left { display: flex; grid-template-columns: none; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: .75rem; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-left > * { flex: none; width: 100%; max-width: none; margin: 0; }
body.theme-b .booking-overlay .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-left > .tommy-zeb-accommodation-types { display: none; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-person-category-mini { display: flex !important; flex-direction: column; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-person-category-mini .tommy-zeb-person-category-list { position: static !important; order: 1; width: auto !important; margin-top: .5rem; box-shadow: none; }
:is(.hvc-search, body.theme-b .booking-overlay) .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-person-category-mini .tommy-zeb-person-categories-collapse button.tommy-zeb-btn, :is(.hvc-search, body.theme-b .booking-overlay) .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-person-category-mini .tommy-zeb-person-categories-collapse button.tommy-zeb-btn:is(:hover, :focus) { padding-left: 3rem !important; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a8f3d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E") no-repeat left 1.4rem center / 1.1rem !important; }
/* Resultaten: koppen in de kopletter, het bovenschrift in de tekstletter */
body.theme-b :is(.text-eyebrow, .b-page-header__eyebrow, .b-text__eyebrow) { font-family: var(--font-body); font-weight: 600; }
body.theme-b .b-page-header__title { font-weight: 500; font-size: clamp(2.75rem, 5.5vw, 4.25rem); line-height: 1.02; letter-spacing: -.01em; }
body.theme-b .b-tommy .tommy-zeb-wrapper .tommy-zeb-left h1 { font-family: var(--font-heading) !important; font-size: 1.75rem; font-weight: 500; letter-spacing: 0; }
/* Filtervak in crème, velden en knoppen met de kleine ronding */
body.theme-b .b-tommy .tommy-zeb-wrapper:not(.tommy-zeb-wrapper-mini) .tommy-zeb-left { background-color: #f5ecd6; border-radius: .5rem; }
body.theme-b .b-tommy .tommy-zeb-wrapper :is(select, input) { border-radius: .4rem; }
body.theme-b .b-tommy .tommy-zeb-wrapper .ks-result-info { border-radius: .4rem; }
body.theme-b .b-tommy .tommy-zeb-wrapper .ks-result-info::before { display: none; }
body.theme-b .b-tommy .tommy-zeb-wrapper .ks-result-info:is(:hover, :focus-visible) { background-color: #f5ecd6; color: #33512b; }
body.theme-b .b-tommy .tommy-zeb-wrapper .ks-result-facts__icon { background: #f5ecd6; color: #6a8f3d; }
:is(.hvc-search, body.theme-b .booking-overlay) .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period] input { box-shadow: none !important; }
/* Gekozen datums dicht naast elkaar: aankomst zo breed als icoon + datum, vertrek er direct achter */
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period]:has(.tommy-zeb-date-begin input:not(:placeholder-shown)) { grid-template-columns: 8.6rem minmax(0, 1fr); }
.hvc-search .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period:has(.tommy-zeb-date-begin input:not(:placeholder-shown)) > .tommy-zeb-date-begin { flex: 0 0 8.6rem; }
:is(.hvc-search, body.theme-b .booking-overlay) .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period] .tommy-zeb-date-end input { padding-left: 1.25rem !important; }
:is(.hvc-search, body.theme-b .booking-overlay) .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-date-end::before { left: .1rem; }
:is(.hvc-search, body.theme-b .booking-overlay) .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-period[data-ks-period] .tommy-zeb-date-begin input:not(:placeholder-shown) { padding-right: .25rem !important; text-overflow: clip; }
/* Boeken bij een resultaat: pijl erachter, schuift bij hover mee */
body.theme-b .b-tommy .tommy-zeb-wrapper .tommy-zeb-result-action a.tommy-zeb-btn { gap: .6rem; }
body.theme-b .b-tommy .tommy-zeb-wrapper .tommy-zeb-result-action a.tommy-zeb-btn::after { content: ""; flex: none; width: .85rem; height: .85rem; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain; transition: transform .3s cubic-bezier(.22, 1, .36, 1); will-change: transform; backface-visibility: hidden; }
body.theme-b .b-tommy .tommy-zeb-wrapper .tommy-zeb-result-action a.tommy-zeb-btn:is(:hover, :focus-visible)::after { transform: translate(3px, -3px); }
@media (prefers-reduced-motion: reduce) { body.theme-b .b-tommy .tommy-zeb-wrapper .tommy-zeb-result-action a.tommy-zeb-btn::after { transition: none; } }
body.theme-b .b-page-header__title { font-family: var(--font-heading); }
body.theme-b .b-tommy .tommy-zeb-wrapper .ks-filter-toggle { border-radius: .4rem; }
/* Op kleine schermen het boekvenster over de volle breedte */
@media (max-width: 639px) { body.theme-b .booking-overlay__panel { width: auto; margin: .5rem; } }
/* Knoppen even hoog als "Boek nu" in het menu (2,75rem); de invulvelden blijven hoger */
body.theme-b .button, body.theme-b .b-tommy .tommy-zeb-wrapper :is(.ks-persons-done, .ks-result-info, .tommy-zeb-result-action .tommy-zeb-btn) { height: 2.75rem; min-height: 2.75rem; padding-block: 0; }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini button.tommy-zeb-btn.tommy-zeb-update { height: 2.75rem; }
@media (max-width: 599px) { .hvc-search .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-confirm-update .tommy-zeb-btn, .hvc-search .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-confirm-update .tommy-zeb-btn:hover, .hvc-search .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini .tommy-zeb-left button.tommy-zeb-btn.tommy-zeb-update { height: 2.75rem; } }
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini button.tommy-zeb-btn.tommy-zeb-update, body.theme-b .b-tommy .tommy-zeb-wrapper .tommy-zeb-person-category-list .ks-persons-done, body.theme-b .b-tommy .tommy-zeb-wrapper .ks-filter-toggle { height: 2.75rem !important; min-height: 2.75rem !important; box-sizing: border-box; }
body.theme-b .b-tommy .tommy-zeb-wrapper :is(select, input:not([type="checkbox"]):not([type="radio"])) { border-radius: .4rem !important; }
/* Filter op de resultaatpagina zoals de zoekbalk: kalendericoon links in olijfgroen, zelfde letter en kleur */
body.theme-b .b-tommy .tommy-zeb-wrapper:not(.tommy-zeb-wrapper-mini) .tommy-zeb-period :is(.tommy-zeb-date-begin-choice, .tommy-zeb-date-end-choice) input { padding: 0 1rem 0 3rem !important; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236a8f3d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E") no-repeat left 1.1rem center / 1.05rem !important; color: #33512b; font-size: .9375rem; }
body.theme-b .b-tommy .tommy-zeb-wrapper:not(.tommy-zeb-wrapper-mini) :is(.tommy-zeb-date-begin-label, .tommy-zeb-date-end-label) { color: #33512b; }
body.theme-b .b-tommy .tommy-zeb-wrapper:not(.tommy-zeb-wrapper-mini) .tommy-zeb-accommodation-person-category-choice select { border-color: #e3dcc6; color: #33512b; font-size: .9375rem; font-weight: 500; }
/* Hover bij de resultaten: eigen vloeiende overgang (Tommy's eigen hover wisselt de achtergrond pas na een vertraging) */
body.theme-b .b-tommy .tommy-zeb-wrapper .ks-result-info, body.theme-b .b-tommy .tommy-zeb-wrapper .ks-result-info:is(:hover, :focus-visible) { transition: background-color .3s cubic-bezier(.22, 1, .36, 1), transform .2s cubic-bezier(.22, 1, .36, 1) !important; }
body.theme-b .b-tommy .tommy-zeb-wrapper .ks-result-info:is(:hover, :focus-visible) { background-color: #f5ecd6 !important; box-shadow: inset 0 0 0 1.5px #6a8f3d; color: #33512b; }
body.theme-b .b-tommy .tommy-zeb-btn:not(.tommy-zeb-person-categories-collapse *), body.theme-b .b-tommy .tommy-zeb-btn:not(.tommy-zeb-person-categories-collapse *):is(:hover, :focus-visible) { transition: background-position .5s cubic-bezier(.22, 1, .36, 1), transform .2s cubic-bezier(.22, 1, .36, 1) !important; }
/* "Zoekopdracht wijzigen" als tweede knop: kleine ronding, olijfgroene rand, crème bij hover */
body.theme-b .b-tommy .tommy-zeb-wrapper .tommy-zeb-left .ks-filter-toggle { border: 0 !important; border-radius: .4rem !important; background: #fff !important; box-shadow: inset 0 0 0 1.5px #6a8f3d !important; color: #33512b !important; font-size: .9375rem; transition: background-color .3s cubic-bezier(.22, 1, .36, 1) !important; }
body.theme-b .b-tommy .tommy-zeb-wrapper .tommy-zeb-left .ks-filter-toggle:is(:hover, :focus-visible) { background: #f5ecd6 !important; }
/* Tekstletter in de testvariant: DM Sans voor alle tekst, ook h5 en h6 */
body.theme-b { --font-body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif; }
body.theme-b :is(h5, h6) { font-family: var(--font-body); }
@media (max-width: 599px) { body.theme-b .site-nav__toggle { border: 0; background: transparent; } body.theme-b .site-header__logo img { height: 3.5rem; } }
/* Zoeken in het boekvenster even hoog als de velden erboven */
body.theme-b .booking-overlay .b-tommy .tommy-zeb-wrapper.tommy-zeb-wrapper-mini tommy-confirm-update button.tommy-zeb-btn.tommy-zeb-update { height: 3.75rem !important; min-height: 3.75rem !important; }
/* Megamenu in de nieuwe stijl: losse kaart uitgelijnd met de kopbalk, kleine ronding, kaarten zoals de appartementen op de homepage */
@media (min-width: 64rem) {
  body.theme-b .site-nav__sub--mega { left: max(var(--gutter), (100% - var(--container)) / 2); right: max(var(--gutter), (100% - var(--container)) / 2); top: calc(100% + .5rem); padding: 1.5rem; border-top: 0; border-radius: .5rem; box-shadow: 0 10px 24px -14px rgb(10 31 14 / .35), 0 0 0 1px rgb(51 81 43 / .06); }
  body.theme-b .site-nav__sub--mega::before { height: 2.25rem; }
  body.theme-b .site-nav__card-media { margin-bottom: .875rem; border-radius: .4rem; background: #f5ecd6; }
  body.theme-b .site-nav__card-title { font-size: 1.75rem; font-weight: 500; line-height: 1.1; letter-spacing: 0; color: #33512b; }
  body.theme-b .site-nav__card-link:is(:hover, [aria-current="page"]) .site-nav__card-title { color: #6a8f3d; }
  body.theme-b .site-nav__card-meta { font-size: .875rem; font-weight: 500; color: #6a8f3d; }
  body.theme-b .site-nav__card-text { font-size: .875rem; line-height: 1.6; color: #33512b; }
  body.theme-b .site-nav__card-all { border-top-color: #e3dcc6; }
  body.theme-b .site-nav__card-all .site-nav__sublink, body.theme-b .site-nav__card-all .site-nav__sublink:hover { color: #33512b; }
}
/* Megamenu gelijk aan de appartementen op de homepage: crème vlak, foto met ronding en het aantal personen als wit labeltje erop, titel met olijfgroene pijl */
@media (min-width: 64rem) {
  body.theme-b .site-nav__sub--mega { background: #fff; }
  body.theme-b .site-nav__card-link { position: relative; gap: .375rem; }
  body.theme-b .site-nav__card-media { aspect-ratio: 3 / 2; margin-bottom: .5rem; border-radius: .75rem; background: #f5ecd6; }
  body.theme-b .site-nav__card-meta { position: absolute; top: .875rem; left: .875rem; padding: .3rem .7rem; border-radius: 999px; background: #fff; box-shadow: 0 1px 4px rgb(10 31 14 / .12); color: #33512b; font-size: .8125rem; font-weight: 600; }
  body.theme-b .site-nav__card-title { display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-size: clamp(1.625rem, 2.2vw, 2rem); }
  body.theme-b .site-nav__card-title::after { content: ""; flex: none; width: 1.375rem; height: 1.375rem; background: #6a8f3d; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain; transition: transform .3s cubic-bezier(.22, 1, .36, 1); }
  body.theme-b .site-nav__card-link:is(:hover, :focus-visible) .site-nav__card-title::after { transform: translate(3px, -3px); }
  body.theme-b .site-nav__card-link:is(:hover, [aria-current="page"]) .site-nav__card-title { color: #33512b; }
}
@media (prefers-reduced-motion: reduce) { body.theme-b .site-nav__card-title::after { transition: none; } }
/* Mobiel menu in de nieuwe stijl: losse kaart onder de balk, de appartementen als crème kaartjes met foto, de overige pagina's als rustige rijen */
@media (max-width: 63.99rem) {
  body.theme-b .site-nav { left: .5rem; right: .5rem; top: calc(100% + .25rem); max-height: calc(100dvh - 5.5rem); padding: 1rem 1rem 1.25rem; border-radius: .5rem; box-shadow: 0 16px 32px -16px rgb(10 31 14 / .45); }
  body.theme-b .has-js .site-nav { clip-path: inset(0 0 100% 0 round .5rem); }
  .nav-open body.theme-b .has-js .site-nav { clip-path: inset(0 0 -2rem 0 round .5rem); }
  /* Met het menu open krijgt de kopbalk een eigen achtergrond, anders kleurt hij mee met de donkere laag */
  html.nav-open body.theme-b .site-header { background: #f5ecd6 !important; box-shadow: none; }
  body.theme-b .site-nav__item { border-bottom: 1px solid #efe8d6; }
  body.theme-b .site-nav__link { display: flex; align-items: center; justify-content: space-between; padding: 1rem .25rem; font-family: var(--font-body); font-size: 1.0625rem; font-weight: 500; letter-spacing: 0; color: #33512b; }
  body.theme-b .site-nav__item:not(.site-nav__item--parent):not(.site-nav__item--button) > .site-nav__link::after { content: ""; width: 1rem; height: 1rem; background: #6a8f3d; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.25' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m9 6 6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain; }
  body.theme-b .site-nav__item.is-active:not(.site-nav__item--button) > .site-nav__link { color: #6a8f3d; font-weight: 600; }
  /* Appartementen: kopje en drie kaartjes */
  body.theme-b .site-nav__item--parent > .site-nav__label-toggle { display: none; }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) { padding: .5rem 0 1rem; }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) > .site-nav__sub { display: grid; gap: .5rem; padding: 0; }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) > .site-nav__sub::before { content: "Appartementen"; padding: .5rem .25rem .375rem; color: #33512b; font-size: 1.0625rem; font-weight: 500; }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) > .site-nav__sub > li { border-bottom: 0; }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) .site-nav__sublink { display: grid; grid-template-columns: 5rem minmax(0, 1fr) auto; grid-template-areas: "media title arrow" "media meta arrow"; align-items: center; column-gap: .875rem; padding: .5rem .875rem .5rem .5rem; border-radius: .5rem; background: #f7f1e1; color: #33512b; transition: background-color .25s cubic-bezier(.22, 1, .36, 1); }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) .site-nav__sublink:is(:hover, :focus-visible, [aria-current="page"]) { background: #f0e6cc; }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) .site-nav__card-media { display: block; grid-area: media; width: 5rem; aspect-ratio: 4 / 3; margin: 0; overflow: hidden; border-radius: .4rem; background: #ece2c7; }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) .site-nav__card-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) .site-nav__card-title { grid-area: title; align-self: end; font-family: var(--font-heading); font-size: 1.625rem; font-weight: 500; line-height: 1.05; letter-spacing: 0; }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) .site-nav__card-meta { grid-area: meta; align-self: start; margin: .2rem 0 0; color: #6a8f3d; font-family: var(--font-body); font-size: .8125rem; font-weight: 600; }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) .site-nav__sublink::after { content: ""; grid-area: arrow; width: 1.125rem; height: 1.125rem; background: #6a8f3d; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") no-repeat center / contain; transition: transform .3s cubic-bezier(.22, 1, .36, 1); }
  body.theme-b .site-nav__item--parent:has(> .site-nav__label-toggle) .site-nav__sublink:is(:hover, :focus-visible)::after { transform: translate(2px, -2px); }
}
/* Op telefoons vult het menu het hele scherm onder de kopbalk */
@media (max-width: 767px) {
  body.theme-b .site-nav { left: 0; right: 0; top: 100%; height: calc(100dvh - 73px); max-height: none; padding: 1rem var(--gutter) calc(1.5rem + env(safe-area-inset-bottom)); border-radius: 0; box-shadow: none; }
  body.theme-b .has-js .site-nav { clip-path: inset(0 0 100% 0); }
  .nav-open body.theme-b .has-js .site-nav { clip-path: inset(0); }
}


/* iOS zoomt in op velden met font-size < 16px (sprong + zijwaarts schuiven bij aantikken) */
@media (hover: none) and (pointer: coarse) {
  body.theme-b input,
  body.theme-b select,
  body.theme-b textarea { font-size: 16px !important; }
}
html:has(body.theme-b) { overflow-x: clip; }


/* Boekvenster op mobiel: als paneel onderaan het scherm, binnen bereik van de duim; schuift van onderen in beeld */
@media (max-width: 639px) {
  body.theme-b .booking-overlay__panel { position: absolute; left: 0; right: 0; bottom: 0; width: auto; max-height: calc(100dvh - 4rem); margin: 0; padding: 1.75rem 0 calc(.75rem + env(safe-area-inset-bottom)); border-radius: 1rem 1rem 0 0; box-shadow: 0 -8px 24px rgb(10 31 14 / .18); transform: translateY(calc(100% + 1rem)); }
  body.theme-b .booking-overlay.is-open .booking-overlay__panel { transform: none; }
  body.theme-b .booking-overlay__panel::before { content: ""; position: absolute; top: .6rem; left: 50%; width: 2.5rem; height: .25rem; border-radius: 1rem; background: #e3dcc6; transform: translateX(-50%); }
  body.theme-b .booking-overlay .booking-overlay__head, body.theme-b .booking-overlay .b-tommy { transform: translateY(.5rem); }
  body.theme-b .booking-overlay.is-open .booking-overlay__head, body.theme-b .booking-overlay.is-open .b-tommy { transform: none; }
}


/* Kalender even breed als het datumveld (breedte wordt per veld gezet) */
body.theme-b .pika-single.is-field-wide { box-sizing: border-box; }
body.theme-b .pika-single.is-field-wide .pika-lendar { float: none; width: auto; margin: 1rem 1.25rem; }
body.theme-b .pika-single.is-field-wide .pika-table { width: 100%; }


/* Boekvenster: de kalender staat in het venster zelf, direct onder het datumveld (geen los zwevend blok) */
body.theme-b .booking-overlay .pika-single.is-inline { position: static !important; order: 1; width: auto !important; margin: 0; border: 1px solid #e3dcc6; border-radius: .4rem; box-shadow: none; }
body.theme-b .booking-overlay .pika-single.is-inline.is-hidden { display: none; }
body.theme-b .booking-overlay .pika-single.is-inline .pika-lendar { float: none; width: auto; margin: .75rem 1rem 1rem; }
body.theme-b .booking-overlay .pika-single.is-inline .pika-table { width: 100%; }
/* Zolang hij nog niet verplaatst is (bijv. de vertrekkalender die vanzelf opent) niet los over het venster tonen */
html.booking-open body.theme-b > .pika-single:not(.is-hidden) { opacity: 0; }

/* De opmaak van Tommy binnen het venster maakt van de kalendertabel losse regels: tabel weer als tabel tonen */
body.theme-b .booking-overlay .pika-single.is-inline .pika-table { display: table !important; table-layout: fixed; border-collapse: collapse; }
body.theme-b .booking-overlay .pika-single.is-inline thead { display: table-header-group !important; }
body.theme-b .booking-overlay .pika-single.is-inline tbody { display: table-row-group !important; }
body.theme-b .booking-overlay .pika-single.is-inline tr { display: table-row !important; }
body.theme-b .booking-overlay .pika-single.is-inline :is(td, th) { display: table-cell !important; width: auto !important; padding: 1px 0; }
body.theme-b .booking-overlay .pika-single.is-inline .pika-label { display: inline-block !important; }
body.theme-b .booking-overlay .pika-single.is-inline .pika-button { display: block !important; width: 100% !important; }


/* Kalender: elke maand even hoog (altijd ruimte voor zes weken), zodat het blok niet verspringt bij het bladeren */
body.theme-b .pika-single :is(td, th) { padding-block: 1px; }
body.theme-b .pika-single .pika-lendar { min-height: calc(64.6px + 6 * 38px); }
/* Bladeren door vegen: de nieuwe maand schuift zacht in vanaf de kant waar je heen veegt */
@media (prefers-reduced-motion: no-preference) {
  body.theme-b .pika-single[data-swipe="next"] .pika-table { animation: ks-month-next .32s cubic-bezier(.22, 1, .36, 1); }
  body.theme-b .pika-single[data-swipe="prev"] .pika-table { animation: ks-month-prev .32s cubic-bezier(.22, 1, .36, 1); }
}
@keyframes ks-month-next { from { opacity: 0; transform: translateX(1.5rem); } }
@keyframes ks-month-prev { from { opacity: 0; transform: translateX(-1.5rem); } }


/* Boekvenster (breder dan mobiel): boven even ver van de rand als rechts */
@media (min-width: 640px) {
  body.theme-b .booking-overlay__panel { --edge-b: clamp(1.25rem, 5.2vw, 5.5rem); margin-top: var(--edge-b); max-height: calc(100dvh - 2 * var(--edge-b)); transform: translateY(calc(-100% - var(--edge-b) - 1rem)); }
  body.theme-b .booking-overlay.is-open .booking-overlay__panel { transform: none; }
}


/* Twee maanden (hero op brede schermen): naast elkaar binnen de breedte van het datumveld */
body.theme-b .pika-single.is-field-wide:not(.is-hidden):has(.pika-lendar + .pika-lendar) { display: flex; gap: 1.25rem; padding-inline: 1.25rem; }
body.theme-b .pika-single.is-field-wide:has(.pika-lendar + .pika-lendar) .pika-lendar { flex: 1 1 0; min-width: 0; margin-inline: 0; }
@media (min-width: 640px) and (max-width: 1199px) { body.theme-b .site-header__inner { margin-inline: var(--gutter); } }
/* Pijltje in "Boek nu" (kopbalk en menu): vloeiend meeschuiven in plaats van verspringen */
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta)::after { transition: transform .35s cubic-bezier(.22, 1, .36, 1); will-change: transform; }
body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta):is(:hover, :focus-visible)::after { transform: translate(3px, -3px); }
@media (prefers-reduced-motion: reduce) { body.theme-b :is(.site-nav__item--button > .site-nav__link, .site-header__cta)::after { transition: none; } }
