/* Xceed Header: Buchungsuebersicht und Anrufen */

.xcbh-cell {
	list-style: none;
	position: relative;
	display: inline-flex !important;
	align-items: center;
	vertical-align: middle;
	line-height: 0;
	margin: 0 0 0 10px !important;
	padding: 0 !important;
	float: none !important;
	height: auto !important;
}
.xcbh-cell::before, .xcbh-cell::after { display: none !important; content: none !important; }
.xcbh-host { display: inline-flex; align-items: center; }

.xcbh-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 42px !important;
	min-width: 42px;
	padding: 0 12px;
	background: transparent !important;
	border: 1px solid rgba(178, 140, 8, .65) !important;
	border-radius: 2px !important;
	color: #B28C08 !important;
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	letter-spacing: .14em;
	line-height: 1 !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: none !important;
	text-shadow: none !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.xcbh-btn--text { padding: 0 20px; }
.xcbh-cart .xcbh-btn { width: 42px; padding: 0; position: relative; }
.xcbh-btn svg { display: block; }

.xcbh-badge {
	display: none;
	position: absolute;
	top: -5px;
	right: -5px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #B28C08;
	box-shadow: 0 0 0 2px #FFFFFF;
}

/* Auslappbare Buchungsuebersicht */
.xcbh-panel {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	width: 388px;
	max-width: calc(100vw - 32px);
	background: #FFFFFF;
	border: 1px solid #E4E0D2;
	border-radius: 3px;
	box-shadow: 0 24px 60px rgba(40, 34, 12, .20);
	padding: 34px 36px 36px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-8px);
	transition: opacity .22s cubic-bezier(.2, .7, .3, 1), transform .22s cubic-bezier(.2, .7, .3, 1), visibility .22s;
	z-index: 10000;
	text-align: left;
	line-height: 1.6;
	cursor: default;
}
.xcbh-cell.is-open .xcbh-panel { opacity: 1; visibility: visible; transform: none; }
.xcbh-panel::before { content: ''; position: absolute; top: -14px; right: 0; left: 0; height: 14px; }
.xcbh-panel::after {
	content: '';
	position: absolute;
	top: -6px;
	right: 16px;
	width: 10px;
	height: 10px;
	background: #FFFFFF;
	border-left: 1px solid #E4E0D2;
	border-top: 1px solid #E4E0D2;
	transform: rotate(45deg);
}

.xcbh-panel-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.xcbh-panel-title {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #B28C08;
}
.xcbh-timer {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif;
	font-size: 10.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #8B8471;
	white-space: nowrap;
}
.xcbh-timer b { color: #000000; font-weight: 400; font-variant-numeric: tabular-nums; }
.xcbh-panel.is-urgent .xcbh-timer, .xcbh-panel.is-urgent .xcbh-timer b { color: #A3301B; }

.xcbh-track { height: 2px; background: #EFEDE4; border-radius: 2px; overflow: hidden; margin-bottom: 28px; }
.xcbh-track span { display: block; height: 100%; width: 100%; background: #B28C08; transition: width 1s linear; }
.xcbh-panel.is-urgent .xcbh-track span { background: #A3301B; }

.xcbh-rows { margin: 0; padding: 0; display: grid; gap: 18px; }
.xcbh-rows > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 16px; align-items: start; }
.xcbh-rows dt {
	margin: 0;
	font-family: 'Average Sans', Helvetica, Arial, sans-serif;
	font-size: 9.5px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #8B8471;
	padding-top: 4px;
	line-height: 1.4;
}
.xcbh-rows dd {
	margin: 0;
	font-family: 'Average Sans', Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.55;
	color: #16150F;
	overflow-wrap: anywhere;
}

.xcbh-price { border-top: 1px solid #EFEDE4; margin-top: 28px; padding-top: 22px; display: grid; gap: 10px; }
.xcbh-price > div { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.xcbh-price span {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif;
	font-size: 10px;
	color: #8B8471;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.xcbh-price b { font-family: 'Average Sans', Helvetica, Arial, sans-serif; font-size: 15px; font-weight: 400; color: #16150F; }
.xcbh-price-gross b { color: #B28C08; font-size: 21px; }

.xcbh-rule { height: 1px; background: #EFEDE4; margin-bottom: 28px; }
.xcbh-empty { padding-bottom: 2px; }
.xcbh-empty p {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif;
	font-size: 14.5px;
	line-height: 1.75;
	color: #45402F;
	margin: 0 0 30px;
	max-width: 30ch;
}

.xcbh-cta {
	display: block;
	margin-top: 30px;
	text-align: center;
	background: #B28C08;
	color: #FFFFFF !important;
	border: 1px solid #B28C08;
	border-radius: 2px;
	padding: 15px 20px;
	font-family: 'Average Sans', Helvetica, Arial, sans-serif;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background-color .2s ease, border-color .2s ease;
}
.xcbh-cta:hover { background: #8F7006; border-color: #8F7006; color: #FFFFFF !important; }
.xcbh-empty .xcbh-cta { margin-top: 0; }

#header-outer .xcbh-panel a { text-transform: uppercase !important; }
#header-outer .xcbh-panel dd, #header-outer .xcbh-panel dt { text-transform: none; }
#header-outer .xcbh-rows dt { text-transform: uppercase; }

@media (max-width: 690px) {
	.xcbh-cell { margin-left: 6px !important; }
	.xcbh-btn { height: 38px !important; }
	.xcbh-cart .xcbh-btn { width: 38px; }
	.xcbh-btn--text { padding: 0 12px; font-size: 11px !important; letter-spacing: .1em; }
	.xcbh-panel { right: -70px; width: 324px; padding: 24px 22px 26px; }
	.xcbh-panel::after { right: 84px; }
	.xcbh-track { margin-bottom: 22px; }
	.xcbh-rows { gap: 15px; }
	.xcbh-price { margin-top: 22px; padding-top: 18px; }
	.xcbh-cta { margin-top: 24px; }
}

/* Zustaende des Headers: ruhend gold bzw. weiss, beim Hover immer Gold gefuellt mit weisser Schrift */
#header-outer .xcbh-btn {
	border-color: rgba(178, 140, 8, .7) !important;
	color: #B28C08 !important;
	background: transparent !important;
}
#header-outer .xcbh-btn svg { stroke: #B28C08 !important; }
#header-outer.transparent .xcbh-btn {
	border-color: rgba(255, 255, 255, .8) !important;
	color: #FFFFFF !important;
	background: transparent !important;
}
#header-outer.transparent .xcbh-btn svg { stroke: #FFFFFF !important; }
#header-outer.transparent .xcbh-badge { box-shadow: 0 0 0 2px rgba(0, 0, 0, .4); }

/* ==========================================================================
   Unterseiten: helle Flaechen, Georgia nur in Ueberschriften
   ========================================================================== */

.xcb-page-hero-badge { margin-bottom: 22px !important; }
.xcb-page-eyebrow p, .xcb-page-eyebrow {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 11px;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: #E6C558;
	margin: 0 0 18px;
}
.xcb-page-lead p {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 19px;
	line-height: 1.65;
	color: #F4F1E8;
	margin: 22px 0 0;
	max-width: 48ch;
}

.xcb-page-intro p {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 19px;
	line-height: 1.8;
	color: #3A362B;
	margin: 0;
	max-width: 62ch;
}

.xcb-page-block { border-radius: 2px; }
.xcb-page-block .wpb_wrapper > *:last-child { margin-bottom: 0; }
.xcb-page-block h3 {
	font-family: Georgia, serif !important;
	font-size: 21px;
	line-height: 1.25;
	color: #12110D;
	margin: 0 0 14px !important;
	padding-top: 18px;
	position: relative;
}
.xcb-page-block h3::before {
	content: '';
	position: absolute;
	left: 0; top: 0;
	width: 34px; height: 2px;
	background: #B28C08;
}
.xcb-page-block p {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 15px;
	line-height: 1.8;
	color: #57523F;
	margin: 0 !important;
}

.xcb-page-detail h2 {
	font-family: Georgia, serif !important;
	font-size: 30px;
	line-height: 1.2;
	color: #12110D;
	margin: 0 0 24px !important;
}
.xcb-page-detail p, .xcb-page-detail li {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 16px;
	line-height: 1.8;
	color: #3A362B;
}
.xcb-page-detail p { margin: 0 0 18px !important; max-width: 58ch; }
.xcb-page-detail p:last-child { margin-bottom: 0 !important; }

#ajax-content-wrap .xcb-page-detail ul,
#ajax-content-wrap .xcb-page-detail ol,
body .xcb-page-detail ul,
body .xcb-page-detail ol {
	list-style: none !important;
	list-style-type: none !important;
	margin: 0 !important;
	padding: 0 !important;
	counter-reset: xcbstep;
}
#ajax-content-wrap .xcb-page-detail li,
body .xcb-page-detail li {
	list-style: none !important;
	list-style-type: none !important;
	position: relative;
	margin: 0 !important;
	padding: 13px 0 13px 26px !important;
	border-bottom: 1px solid #E4DFCF;
}
#ajax-content-wrap .xcb-page-detail li::marker,
body .xcb-page-detail li::marker { content: '' !important; font-size: 0 !important; color: transparent !important; }
.xcb-page-detail li:last-child { border-bottom: 0; }
#ajax-content-wrap .xcb-page-detail ul li::before,
body .xcb-page-detail ul li::before {
	content: '' !important;
	position: absolute !important;
	left: 0 !important;
	top: 23px !important;
	width: 5px !important;
	height: 5px !important;
	border-radius: 50% !important;
	background: #B28C08 !important;
	border: 0 !important;
	margin: 0 !important;
	font-size: 0 !important;
}
#ajax-content-wrap .xcb-page-detail ol li,
body .xcb-page-detail ol li { padding-left: 36px !important; counter-increment: xcbstep; }
#ajax-content-wrap .xcb-page-detail ol li::before,
body .xcb-page-detail ol li::before {
	content: counter(xcbstep) !important;
	position: absolute !important;
	left: 0 !important;
	top: 13px !important;
	width: auto !important;
	height: auto !important;
	background: none !important;
	border-radius: 0 !important;
	font-family: Georgia, serif !important;
	font-size: 15px !important;
	line-height: 1.8 !important;
	color: #B28C08 !important;
}

.xcb-page-model {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 13px !important;
	letter-spacing: .08em;
	color: #B28C08 !important;
	margin: -14px 0 20px !important;
}
.xcb-specs { display: grid; grid-template-columns: 40% 1fr; gap: 0; margin: 26px 0 0; }
.xcb-specs dt, .xcb-specs dd {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 14px;
	line-height: 1.6;
	padding: 11px 0;
	border-bottom: 1px solid #E4DFCF;
	margin: 0;
}
.xcb-specs dt { color: #8B8471; }
.xcb-specs dd { color: #12110D; }

.xcb-page-cta h2 {
	font-family: Georgia, serif !important;
	font-size: 34px;
	line-height: 1.15;
	color: #FFFFFF;
	margin: 0 0 16px !important;
}
.xcb-page-cta p {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 17px;
	line-height: 1.75;
	color: #CFCABA;
	margin: 0 !important;
	max-width: 58ch;
}
.xcb-page-note p, .xcb-page-note {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 13px;
	line-height: 1.7;
	color: #8B8471;
	margin: 0;
}

@media (max-width: 690px) {
	.xcb-page-lead p { font-size: 17px; }
	.xcb-page-intro p { font-size: 16.5px; }
	.xcb-page-detail h2 { font-size: 25px; }
	.xcb-page-cta h2 { font-size: 27px; }
	.xcb-specs { grid-template-columns: 1fr; }
	.xcb-specs dt { padding-bottom: 0; border-bottom: 0; }
}

/* Rechtstexte, helle Flaeche */
.xcb-legal-page h3 {
	font-family: Georgia, serif !important;
	font-size: 21px;
	line-height: 1.3;
	color: #12110D;
	margin: 40px 0 14px !important;
}
.xcb-legal-page h3:first-child { margin-top: 0 !important; }
.xcb-legal-page p, .xcb-legal-page li {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 15.5px;
	line-height: 1.85;
	color: #3A362B;
}
.xcb-legal-page p { margin: 0 0 16px !important; max-width: 76ch; }
.xcb-legal-page ul { margin: 0 0 18px !important; padding: 0 0 0 20px !important; }
.xcb-legal-page li { margin-bottom: 7px; }
.xcb-legal-page a { color: #B28C08; border-bottom: 1px solid rgba(178,140,8,.4); text-decoration: none; }
.xcb-legal-page strong { color: #12110D; font-family: 'Average Sans', Helvetica, Arial, sans-serif !important; }
.xcb-legal-stand { color: #8B8471 !important; font-size: 13px !important; margin-top: 36px !important; }

/* ==========================================================================
   Fusszeile: Rechtslinks im bestehenden Footer, weiss
   ========================================================================== */
.nectar-global-section.nectar_hook_global_section_footer .nectar-cta .link_text,
.nectar-global-section.nectar_hook_global_section_footer .nectar-cta a,
.nectar-global-section.nectar_hook_global_section_footer .nectar-cta a span {
	color: #FFFFFF !important;
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	letter-spacing: .04em;
}
.nectar-global-section.nectar_hook_global_section_footer .nectar-cta a:hover,
.nectar-global-section.nectar_hook_global_section_footer .nectar-cta a:hover span { color: #E6C558 !important; }

/* ==========================================================================
   Off-Canvas Menue
   ========================================================================== */
#slide-out-widget-area .off-canvas-menu-container li a,
#slide-out-widget-area .menu li a,
.slide-out-widget-area-toggle ~ #slide-out-widget-area .menu li a {
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: clamp(17px, 2.6vw, 30px) !important;
	line-height: 1.45 !important;
	letter-spacing: .01em !important;
	white-space: nowrap !important;
	word-break: keep-all !important;
	overflow-wrap: normal !important;
	hyphens: none !important;
	text-transform: none !important;
}
#slide-out-widget-area .off-canvas-menu-container ul { max-width: 100%; }
#slide-out-widget-area .off-canvas-menu-container li { margin-bottom: 0; }

.xcb-ocm-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid rgba(0, 0, 0, .12);
}
.xcb-ocm-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 26px;
	border: 1px solid #B28C08 !important;
	border-radius: 2px;
	background: #B28C08 !important;
	color: #FFFFFF !important;
	font-family: 'Average Sans', Helvetica, Arial, sans-serif !important;
	font-size: 12px !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	white-space: nowrap;
	line-height: 1 !important;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.xcb-ocm-btn--solid:hover, .xcb-ocm-btn--solid:focus-visible {
	background: #8F7006 !important;
	border-color: #8F7006 !important;
	color: #FFFFFF !important;
}
.xcb-ocm-btn--line {
	height: 30px !important;
	padding: 0 2px !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(178, 140, 8, .75) !important;
	border-radius: 0 !important;
	color: #B28C08 !important;
}
.xcb-ocm-btn--line:hover, .xcb-ocm-btn--line:focus-visible {
	background: transparent !important;
	border-bottom-color: #12110D !important;
	color: #12110D !important;
}

/* Kategorie-Verlinkung auf der Startseite */
.xcb-cat-link { color: inherit !important; text-decoration: none !important; border-bottom: 0 !important; padding-bottom: 2px; transition: color .2s ease; }
.xcb-cat-link:hover { color: #B28C08 !important; }

/* Salient-Buttons als durchgaengiges Stilelement */
.xcb-cta-col .nectar-cta { display: inline-block !important; vertical-align: middle; margin: 0 34px 12px 0 !important; }
.xcb-page-hero .nectar-cta { margin-bottom: 0 !important; }
.xcb-page-hero h1 { line-height: 1.04 !important; margin: 0 !important; }

/* Farbdurchsetzung gegen Theme-Defaults */
html body .xcb-page-lead p { color: #F4F1E8 !important; }
html body .xcb-page-intro p { color: #3A362B !important; }
html body .xcb-page-block h3 { color: #12110D !important; }
html body .xcb-page-block p { color: #57523F !important; }
html body .xcb-page-detail h2 { color: #12110D !important; }
html body .xcb-page-detail p, html body .xcb-page-detail li { color: #3A362B !important; }
html body .xcb-page-cta h2 { color: #FFFFFF !important; }
html body .xcb-page-cta p { color: #CFCABA !important; }
html body .xcb-legal-page p, html body .xcb-legal-page li { color: #3A362B !important; }
html body .xcb-legal-page h3 { color: #12110D !important; }
html body .xcb-specs dd { color: #12110D !important; }
html body .xcb-specs dt { color: #8B8471 !important; }

/* Typografie: Georgia nur in Ueberschriften, feste Groessen gegen die responsive Heading-Typografie */
html body .xcb-page-hero h1 { font-family: Georgia, serif !important; font-size: clamp(38px, 5.6vw, 72px) !important; line-height: 1.05 !important; color: #FFFFFF !important; margin: 0 !important; letter-spacing: 0 !important; }
html body .xcb-page-block h3 { font-family: Georgia, serif !important; font-size: 21px !important; line-height: 1.3 !important; letter-spacing: 0 !important; overflow-wrap: break-word; }
html body .xcb-page-detail h2 { font-family: Georgia, serif !important; font-size: 30px !important; line-height: 1.2 !important; letter-spacing: 0 !important; }
html body .xcb-page-cta h2 { font-family: Georgia, serif !important; font-size: 34px !important; line-height: 1.15 !important; letter-spacing: 0 !important; }
html body .xcb-legal-page h3 { font-family: Georgia, serif !important; font-size: 21px !important; line-height: 1.3 !important; letter-spacing: 0 !important; }
html body .xcb-page-block p,
html body .xcb-page-detail p,
html body .xcb-page-detail li,
html body .xcb-page-intro p,
html body .xcb-page-lead p,
html body .xcb-legal-page p,
html body .xcb-legal-page li,
html body .xcb-specs dt,
html body .xcb-specs dd { font-family: 'Average Sans', Helvetica, Arial, sans-serif !important; }
html body .xcb-page-block strong, html body .xcb-page-detail strong, html body .xcb-legal-page strong { font-family: 'Average Sans', Helvetica, Arial, sans-serif !important; }
@media only screen and (max-width: 999px) {
	html body .xcb-page-block h3 { font-size: 20px !important; }
	html body .xcb-page-detail h2 { font-size: 26px !important; }
	html body .xcb-page-cta h2 { font-size: 28px !important; }
}
@media only screen and (max-width: 690px) {
	html body .xcb-page-block h3 { font-size: 19px !important; }
	html body .xcb-page-detail h2 { font-size: 24px !important; }
	html body .xcb-page-cta h2 { font-size: 25px !important; }
}

/* Fusszeile immer dunkel, damit die weissen Links auf jeder Seite lesbar sind */
html body .nectar-global-section.nectar_hook_global_section_footer { background-color: #000000 !important; }
html body .nectar-global-section.nectar_hook_global_section_footer .nectar-responsive-text,
html body .nectar-global-section.nectar_hook_global_section_footer p,
html body .nectar-global-section.nectar_hook_global_section_footer span { color: #A8A49A !important; }
html body .nectar-global-section.nectar_hook_global_section_footer .nectar-cta a,
html body .nectar-global-section.nectar_hook_global_section_footer .nectar-cta a span,
html body .nectar-global-section.nectar_hook_global_section_footer .nectar-cta .link_text { color: #FFFFFF !important; -webkit-text-fill-color: #FFFFFF !important; }
html body .nectar-global-section.nectar_hook_global_section_footer .nectar-cta a:hover,
html body .nectar-global-section.nectar_hook_global_section_footer .nectar-cta a:hover span { color: #E6C558 !important; -webkit-text-fill-color: #E6C558 !important; }
html body .nectar-global-section.nectar_hook_global_section_footer i,
html body .nectar-global-section.nectar_hook_global_section_footer i::before { color: #B28C08 !important; }

/* Panel auch dann korrekt, wenn es in Salients ul.buttons.sf-menu haengt (dort setzt das Theme Dropdown-Regeln) */
html body #header-outer .xcbh-cell .xcbh-panel {
	position: absolute !important;
	top: calc(100% + 14px) !important;
	right: 0 !important;
	left: auto !important;
	width: 388px !important;
	max-width: calc(100vw - 32px) !important;
	padding: 34px 36px 36px !important;
	background: #FFFFFF !important;
	border: 1px solid #E4E0D2 !important;
	border-radius: 3px !important;
	box-shadow: 0 24px 60px rgba(40, 34, 12, .20) !important;
	text-align: left !important;
	line-height: 1.6 !important;
}
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-panel-head { display: flex !important; margin: 0 0 20px !important; padding: 0 !important; gap: 18px !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-track { margin: 0 0 28px !important; padding: 0 !important; height: 2px !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-rule { margin: 0 0 28px !important; padding: 0 !important; height: 1px !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-rows { display: grid !important; gap: 18px !important; margin: 0 !important; padding: 0 !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-rows > div { display: grid !important; grid-template-columns: 92px minmax(0, 1fr) !important; gap: 16px !important; margin: 0 !important; padding: 0 !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-rows dt { margin: 0 !important; padding: 4px 0 0 !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-rows dd { margin: 0 !important; padding: 0 !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-price { margin: 28px 0 0 !important; padding: 22px 0 0 !important; display: grid !important; gap: 10px !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-price > div { margin: 0 !important; padding: 0 !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-empty { padding: 0 0 2px !important; margin: 0 !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-empty p { margin: 0 0 30px !important; padding: 0 !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-cta { display: block !important; margin: 30px 0 0 !important; padding: 15px 20px !important; text-align: center !important; }
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-empty .xcbh-cta { margin-top: 0 !important; }
html body #header-outer ul.buttons > li.xcbh-cell { padding: 0 !important; margin: 0 0 0 10px !important; }
@media (max-width: 690px) {
	html body #header-outer .xcbh-cell .xcbh-panel { right: -70px !important; width: 324px !important; padding: 24px 22px 26px !important; }
	html body #header-outer .xcbh-cell .xcbh-panel .xcbh-track { margin-bottom: 22px !important; }
	html body #header-outer .xcbh-cell .xcbh-panel .xcbh-rows { gap: 15px !important; }
	html body #header-outer .xcbh-cell .xcbh-panel .xcbh-price { margin-top: 22px !important; padding-top: 18px !important; }
	html body #header-outer .xcbh-cell .xcbh-panel .xcbh-cta { margin-top: 24px !important; }
}

/* Ecken der Buttons mit vollem Rand wie der Weissbereich der Buchungsstrecke */
html body #header-outer .xcbh-cell .xcbh-btn,
html body .xcbh-btn { border-radius: 10px !important; }
html body #slide-out-widget-area .xcb-ocm-actions a.xcb-ocm-btn--solid,
html body .xcb-ocm-btn--solid { border-radius: 10px !important; }
html body #slide-out-widget-area .xcb-ocm-actions a.xcb-ocm-btn--line,
html body .xcb-ocm-btn--line { border-radius: 0 !important; }

/* Buchungsuebersicht: Panel wie der Weissbereich gerundet, CTA buendig an der Unterkante */
html body #header-outer .xcbh-cell .xcbh-panel,
html body .xcbh-panel { border-radius: 10px !important; }

html body #header-outer .xcbh-cell .xcbh-panel .xcbh-cta,
html body .xcbh-panel .xcbh-cta {
	display: block !important;
	margin: 30px -36px -36px !important;
	padding: 18px 20px !important;
	border-radius: 0 0 10px 10px !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-top: 1px solid #B28C08 !important;
}
html body #header-outer .xcbh-cell .xcbh-panel .xcbh-empty .xcbh-cta,
html body .xcbh-panel .xcbh-empty .xcbh-cta { margin-top: 30px !important; }

@media (max-width: 690px) {
	html body #header-outer .xcbh-cell .xcbh-panel .xcbh-cta,
	html body .xcbh-panel .xcbh-cta { margin: 24px -22px -26px !important; padding: 16px 18px !important; }
	html body #header-outer .xcbh-cell .xcbh-panel .xcbh-empty .xcbh-cta,
	html body .xcbh-panel .xcbh-empty .xcbh-cta { margin-top: 24px !important; }
}

/* Scrollbalken in Markengold (global) */
html {
	scrollbar-width: thin;
	scrollbar-color: #B28C08 rgba(178, 140, 8, .10);
}
html::-webkit-scrollbar { width: 12px; height: 12px; }
html::-webkit-scrollbar-track { background: rgba(178, 140, 8, .10); }
html::-webkit-scrollbar-thumb {
	background: #B28C08;
	border-radius: 99px;
	border: 3px solid transparent;
	background-clip: padding-box;
}
html::-webkit-scrollbar-thumb:hover { background: #C9A11A; background-clip: padding-box; }

/* Schriftgroessen Desktop: ANRUFEN im Primaermenue und Offcanvas-Buttons */
@media (min-width: 1000px) {
	html body #header-outer .xcbh-cell .xcbh-btn,
	html body #header-outer .xcbh-cell .xcbh-btn--text,
	html body #header-outer ul.buttons .xcbh-btn,
	html body .xcbh-btn { font-size: 14px !important; line-height: 1.2 !important; }

	html body #slide-out-widget-area .xcb-ocm-btn,
	html body .xcb-ocm-actions .xcb-ocm-btn,
	html body .xcb-ocm-btn,
	html body .xcb-ocm-btn--solid,
	html body .xcb-ocm-btn--line { font-size: 14px !important; line-height: 1.2 !important; }
}


/* Hervorgehobene Textfelder: gleiche Hoehe, gerundete Aussenkanten */
html body .xcb-page-block { display: flex !important; flex-direction: column !important; }
html body .xcb-page-block > .vc_column-inner {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
}
html body .xcb-page-block > .vc_column-inner > .wpb_wrapper { flex: 1 1 auto; }
html body .xcb-page-block > .vc_column-inner,
html body .xcb-page-block .column-bg-overlay-wrap,
html body .xcb-page-block .column-bg-overlay,
html body .xcb-page-block .column-image-bg-wrap,
html body .xcb-page-block .column-image-bg { border-radius: 10px !important; overflow: hidden; }

/* Weissrand unter der CTA im Warenkorb entfernen */
@media (min-width: 691px) {
	html body #header-outer .xcbh-cell .xcbh-panel .xcbh-empty,
	html body .xcbh-panel .xcbh-empty { padding-bottom: 0 !important; }
}

/* Suchergebnisse ohne Vorschaubild nicht als leerer Kasten */
html body .nectar-search-results .post-featured-img:not([style]) { display: none !important; }
html body .nectar-search-results .post-featured-img { border-radius: 6px; }

/* Suchoverlay: Schreibweise und Ebene */
html body #search-outer input[name="s"],
html body #search-outer #s,
html body #search-outer input[type="text"] { text-transform: none !important; }
html body #search-outer input::placeholder { text-transform: none !important; }

/* Geoeffnete Suche liegt vor Banner, Kopfzeile und Offcanvas.
   #search-outer haengt in #header-outer, deshalb muss die Kopfzeile selbst nach vorn. */
html body #header-outer.material-search-open { z-index: 100001 !important; }
html body #header-outer.material-search-open #search-outer { z-index: 100002 !important; }
html body:has(#search-outer.material-open) .nectar-global-section,
html body:has(#header-outer.material-search-open) .nectar-global-section { z-index: 1 !important; }
html body:has(#search-outer.material-open) #slide-out-widget-area,
html body:has(#search-outer.material-open) .slide-out-widget-area-toggle.slide-out-hover-icon-effect { z-index: 1 !important; }

@media (max-width: 1000px) {
	html body #header-outer.material-search-open,
	html body #header-outer.material-search-open #search-outer { z-index: 100002 !important; }
	html body:has(#search-outer.material-open) .nectar-global-section { z-index: 1 !important; position: relative !important; }
}

/* Mobil: geoeffnete Suche sicher sichtbar, unabhaengig von der Einblendanimation */
@media (max-width: 1000px) {
	html body #search-outer.material-open { overflow: visible !important; }
	html body #search-outer.material-open #search { transform: none !important; overflow: visible !important; }
	html body #search-outer.material-open #search-box { transform: none !important; opacity: 1 !important; visibility: visible !important; }
	html body #search-outer.material-open #search-box input[name="s"] { opacity: 1 !important; }
}

/* Offcanvas: Buttons ohne Trennlinie, buendig zum Menuesymbol */
html body #slide-out-widget-area .xcb-ocm-actions,
html body .xcb-ocm-actions {
	border-top: 0 !important;
	margin-top: 33px !important;
	padding-top: 0 !important;
	padding-left: 0 !important;
}

@media (min-width: 1000px) {
	html body #slide-out-widget-area { padding-left: 40px !important; }
}

/* Ausgleich fuer die vertikale Zentrierung des Panelinhalts,
   damit der obere Abstand trotz groesserem Buttonabstand bleibt */


/* Kategorie-Links ohne zusaetzliche Linie */
html body a.xcb-cat-link,
html body a.xcb-cat-link:hover { border-bottom: 0 !important; }

/* ==========================================================================
   Off-Canvas: fester Abstand unter dem Menuesymbol.
   Der Startpunkt kommt aus der gemessenen Position des Symbols und ist so
   gross wie der Abstand zwischen Kontakt und dem Button darunter.
   Reicht die Hoehe nicht, wird die Schrift kleiner statt zu verrutschen.
   ========================================================================== */

html body #slide-out-widget-area {
	padding-top: var(--xcb-ocm-start, 102px) !important;
	padding-bottom: 34px !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	overflow-y: auto !important;
	overscroll-behavior: contain !important;
}
html body #slide-out-widget-area .inner-wrap {
	top: 0 !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	align-self: flex-start !important;
}
html body #slide-out-widget-area .off-canvas-menu-container,
html body #slide-out-widget-area .off-canvas-menu-container ul {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
html body #slide-out-widget-area .off-canvas-menu-container > ul > li:first-child { margin-top: 0 !important; }
html body #slide-out-widget-area .off-canvas-menu-container li { margin-bottom: 0 !important; }

/* Schriftgroesse folgt Breite und Hoehe */
/* Auf flachen Bildschirmen wird die Schrift kleiner, damit nichts ueberlappt.
   Die vom Theme gesetzten Breitenstufen bleiben sonst unberuehrt. */
@media (max-height: 800px) {
	html body #slide-out-widget-area[id] .inner-wrap > .inner .off-canvas-menu-container li > a,
	html body #slide-out-widget-area[id] .off-canvas-menu-container li a,
	html body #slide-out-widget-area[id] .menu li a {
		font-size: clamp(15px, 3.15vh, 26px) !important;
		line-height: 1.34 !important;
	}
	html body #slide-out-widget-area[id] .off-canvas-menu-container li { margin-bottom: 0 !important; }
}
@media (max-height: 620px) {
	html body #slide-out-widget-area[id] .xcb-ocm-btn { height: 40px !important; }
}