.kmp-crumbs {
	position: relative;
	float: none;
	margin: 0 auto;
	max-width: 58rem;
  width: calc(100% - 4rem);
  display: flex;
  gap: 0 .25em;
  flex-wrap: wrap;
}

.kmp-crumbs,
.kmp-crumbs * {
	color: var(--kmp-font-colour);
	text-decoration: none;
	font-size: .9em !important;
}

.kmp-crumbs a:hover,
.kmp-crumbs a:focus-visible {
	color: var(--kmp-hover-colour);
}

.wbm-bc-tiles {
	--gap: 60px;
	display: flex;
	gap: var(--gap);
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	width: calc(100% - 8rem) !important;
	max-width: 120rem !important;
}


.wbm-bc-tiles > .kmp-tile-box { width: 100%; }

@media(min-width: 800px)
{
	.wbm-bc-tiles > .kmp-tile-box {
		width: calc( (100% - var(--gap) ) / 2);
	}
}

@media(min-width: 1024px)
{
	.wbm-bc-tiles > .kmp-tile-box {
		width: calc( (100% - (var(--gap) * 2) ) / 3);
	}
}

.kp-swiper-wrapper {
	position: relative;
	float: left;
	width: 100%;
	clear: both;
	margin-bottom: 3em;
}

.kp-swiper-wrapper {
	--swiper-navigation-sides-offset: .5em;
	--swiper-navigation-top-offset: 50%;
	--swiper-navigation-size: 1.5em;
	--swiper-navigation-color: var(--kmp-theme-colour);
	--swiper-pagination-top: 100%;
	--swiper-pagination-bottom: -2em;
	--swiper-pagination-bullet-inactive-color: var(--kmp-hover-colour);
	--swiper-pagination-color: var(--kmp-theme-colour);
}
.swiper-button-prev,
.swiper-button-next {
	mix-blend-mode: difference;
}

.swiper-button-prev::after,
.swiper-button-next::after {
	content: '' !important;
	width: 100%;
	height: 100%;
  aspect-ratio: 1/1;
  clip-path: polygon(100% 50%,0 100%,0 0);
  background: #fff;
}
.swiper-button-prev::after {
	clip-path: polygon(0 50%,100% 100%,100% 0);
}

.kmp-tile-meta {
	position: relative;
	float: left;
	width: 100%;
}

.wbm-bc-tiles p,
.wbm-bc-tiles p *,
.kmp-tile-meta {
	font-size: .8em !important;
	color: #000 !important;
}

.wbm-bc-tiles:not(.wbm-bc-intro-tiles) .kmp-tile-box:has(img) .kmp-tile-label {
	margin-top: -90px;
}
.wbm-bc-tiles .kmp-tile-box img {
	height: 250px;
	object-fit: cover;
	object-position: 50% 50%;
}

.wbm-bc-pricelist,
.wbm-bc-pricelist-line {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
}

.wbm-bc-pricelist-line {
	display: flex;
	gap: 0 .5em;
	justify-content: space-between;
	flex-wrap: wrap;
}

.wbm-bc-pricelist {
	margin-bottom: 2em;
}
.kmp-tile-meta .wbm-bc-pricelist {
	margin-bottom: 1em;
}

.wbm-info-icon {
	width: 1em;
	display: inline-block;
	cursor: help;
}
.wbm-info-icon svg {
	width: 100% !important;
	height: auto !important;
}
.wbm-info-icon svg path { fill:var(--kmp-theme-colour) !important; }

.wbm-bc-object-page {
	position: relative;
	display: flow-root;
}

.wbm-bc-booking-summary,
.wbm-bc-booking-tarif-selecta,
.wbm-bc-booking-extras,
.wbm-bc-booking-price-summary,
.wbm-bc-booking-price-calc,
.wbm-bc-booking-price-calc-line,
.wbm-bc-booking-form-wrapper,
.wbm-bc-object-wrapper,
.wbm-bc-calendar-wrapper,
.wbm-bc-calendar,
.wbm-bc-calendar-header,
.wbm-bc-booking-form-infotext,
.wbm-bc-form-response {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
}

.wbm-bc-booking-summary,
.wbm-bc-booking-tarif-selecta,
.wbm-bc-booking-extras,
.wbm-bc-booking-price-summary,
.wbm-bc-calendar {
	margin-bottom: 1em;
}

.wbm-bc-booking-form-infotext { margin-top: 1em; }

.wbm-bc-booking-form-infotext,
.wbm-bc-form-response {
	background: var(--kmp-theme-colour);
	padding: 15px;
	border-radius: .15em;
}

.wbm-bc-booking-form-infotext,
.wbm-bc-booking-form-infotext *,
.wbm-bc-form-response,
.wbm-bc-form-response * {
	font-size: 16px !important;
	color: #fff !important;
}

.wbm-bc-booking-form-wrapper {
	margin-bottom: 4em;
}

.wbm-bc-booking-summary,
.wbm-bc-booking-price-calc {
	display: flex;
	flex-direction: column;
	gap: .25em;
	border: 0.2em var(--kmp-theme-colour) solid;
	padding: 15px;
  border-radius: .15em;
}

.wbm-bc-booking-summary > div,
.wbm-bc-booking-price-calc-line {
	display: flex;
	gap: .25em;
	justify-content: space-between;
	flex-wrap: wrap;
}

.wbm-bc-booking-tarif-selecta,
.wbm-bc-booking-extras {
	display: flex;
	gap: .25em;
	justify-content: space-between;
	align-items: baseline;
	flex-wrap: wrap;	
}

.wbm-bc-booking-extras {
	align-items: flex-start;
}

.wbm-bc-booking-tarif-selecta > div {
	display: flex;
	gap: 0 .25em;
	align-items: baseline;
	flex-wrap: wrap;
}

.wbm-bc-booking-extras label {
	position: relative;
	float: left;
	clear: both;
	display: flex;
	gap: .5em;
	color: #000;
}
.wbm-bc-booking-extras label span { user-select: none; }

.wbm-bc-booking-extras label input[type="checkbox"] {
	border-width: 2.5px !important;
	box-sizing: border-box;
	width: 2rem;
	height: 2rem;
}
.wbm-bc-booking-extras label input[type="checkbox"]:checked::before {
	margin: -0.1rem 0 0 -0.2rem;
}

.wbm-bc-booking-tarif-selecta h3,
.wbm-bc-booking-extras h3 { margin:0 !important; }

.wbm-bc-booking-price-summary h3 {
	margin: 0 0 .5em !important;
}

.wbm-bc-booking-price-calc-line[data-type="extras"] { display: none; }


.wbm-bc-booking-price-calc-line[data-type="total"]::before {
	content: '';
	position: absolute;
	top: 0;
	left: -17px;
	right: -17px;
	bottom: -17px;
	background: var(--kmp-theme-colour);
	z-index: -1;
}

.wbm-bc-booking-price-calc-line[data-type="total"] {
	margin-top: 0.75em;
	padding-top: 1em;
}

.wbm-bc-booking-price-calc-line[data-type="total"],
.wbm-bc-booking-price-calc-line[data-type="total"] * {
	font-weight: bold !important;
	color: #fff !important;
}

.wbm-bc-booking-form-wrapper h3 {
	margin: 1em 0 1em !important;
}

.wbm-bc-form-wrapper select,
.wbm-bc-form-wrapper input,
.wbm-bc-form-wrapper textarea {
	max-width: 100%;
}

.wbm-bc-form-wrapper {
	position: relative;
	width: 100%;
	display: flow-root;
}

/* transfer margin.. */
.wbm-bc-calendar-header h2,
.wbm-bc-booking-object-selection-header h2 { margin: 0 !important; }

.wbm-bc-calendar-header,
.wbm-bc-booking-object-selection-header { margin: 3.5rem auto 2rem; }

@media (min-width: 700px){ .wbm-bc-calendar-header, .wbm-bc-booking-object-selection-header { margin: 6rem auto 3rem; } }

.wbm-bc-calendar-header {
	display: flex;
	gap: 1em;
	justify-content: space-between;
	flex-wrap: wrap;
}

.wbm-bc-booking-object-selection,
.wbm-bc-booking-object-selection-header {
	position: relative;
	float: left;
	clear: both;
	width: 100%;
}

.wbm-bc-booking-object-selection,
.wbm-bc-booking-object-selection .wbm-bc-tiles > .kmp-tile-box {
	display: none;
}

.wbm-bc-booking-object-selection .wbm-bc-tiles {
	width: 100% !important;
}
.wbm-bc-booking-object-selection .wbm-bc-tiles > .kmp-tile-box {
	width: 100% !important;
}

.wbm-bc-booking-object-selection .kmp-theme-btn {
	position: relative;
	float: right;
	clear: both;
	font-size: 14pt;
	padding: 5px 10px;
}


/* acf form hacks */
.acf-fields > .acf-field,
.acf-fields .acf-fields > .acf-field {
	padding: 10px 0 !important;
}
.acf-fields > .acf-field.acf-field-group > .acf-label { display: none; }

.acf-fields > .acf-field.acf-field-group .acf-fields {
	border: none !important;
	display: flex;
	gap: 0 1em;
	flex-wrap: wrap;
}
.acf-fields > .acf-field.acf-field-group .acf-fields::after { display: none !important; }

.acf-fields > .acf-field.acf-field-group .acf-field[data-name="plz"] { flex-basis: 100%; }
.acf-fields > .acf-field.acf-field-group .acf-field[data-name="ort"] { flex-basis: 100%; }

@media(min-width:379px)
{
	.acf-fields > .acf-field.acf-field-group .acf-field[data-name="plz"] { flex-basis: 120px; }
	.acf-fields > .acf-field.acf-field-group .acf-field[data-name="ort"] { flex-basis: calc( 100% - 120px - 1em ); min-width: 200px; }
}

.wbm-bc-form-response {
	text-align: center;
	margin: 2em 0;
}
.wbm-bc-form-response,
.wbm-bc-form-response * {
	font-weight: bold !important;
}

.wbm-bc-form-response[data-status="ok"] {
	text-align: left;
	background-color: #35ac00;
}