/* Jägerhof Schnellzugriff. Desktop: Reiter am rechten Rand. Handy: Leiste unten.
 * Positions-Regeln mit !important, weil das Theme Navigations- und Wrapper-Stile setzt.
 * Die Leiste wird per Skript direkt unter <body> gehängt (kein transformierter Vorfahr). */
.jha-qb {
	--jha-accent: #b99470;
	position: fixed !important;
	top: auto !important;
	bottom: 22vh !important;
	right: 0 !important;
	left: auto !important;
	transform: none !important;
	z-index: 9990 !important; /* unter Popups (9999) und Header-Suche */
	display: flex !important;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none;
	font-family: Dosis, Arial, Helvetica, sans-serif;
	line-height: 1.15;
}
.jha-qb, .jha-qb * { box-sizing: border-box; }
.jha-qb .jha-qb__item {
	position: relative;
	display: flex !important;
	align-items: center;
	gap: 10px;
	width: 204px;
	min-height: 44px;
	margin: 0 !important;
	padding: 11px 16px 11px 14px !important;
	float: none !important;
	border: 0 !important;
	border-radius: 0;
	background: rgba(43, 39, 35, .92);
	color: #fff !important;
	text-decoration: none !important;
	font-size: 14px !important;
	letter-spacing: .08em;
	text-transform: uppercase;
	line-height: 1.15 !important;
	white-space: nowrap;
	transform: translateX(158px);
	transition: transform .2s ease, background .2s ease;
	box-shadow: -2px 2px 10px rgba(0, 0, 0, .12);
}
.jha-qb .jha-qb__item span { color: inherit !important; font: inherit !important; }
.jha-qb .jha-qb__item svg { width: 22px; height: 22px; flex: 0 0 22px; }
.jha-qb .jha-qb__item:hover, .jha-qb .jha-qb__item:focus-visible { transform: translateX(0); background: var(--jha-accent); outline: none; }
.jha-qb .jha-qb__item--inquiry { background: var(--jha-accent); }
.jha-qb .jha-qb__item--inquiry:hover { filter: brightness(.95); }
.jha-qb .jha-qb__preview {
	margin-top: 4px;
	padding: 3px 8px;
	background: #d63638;
	color: #fff;
	font: 11px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	letter-spacing: 0;
	text-transform: none;
}

/* Auf breiten Bildschirmen ist genug Platz: Beschriftung immer sichtbar */
@media (min-width: 1200px) {
	.jha-qb .jha-qb__item { transform: none; }
}

@media (max-width: 767px) {
	.jha-qb {
		bottom: 0 !important;
		left: 0 !important;
		right: 0 !important;
		flex-direction: row;
		align-items: stretch;
		gap: 1px;
		width: 100% !important;
		background: rgba(43, 39, 35, .97);
		padding-bottom: env(safe-area-inset-bottom) !important;
		box-shadow: 0 -2px 12px rgba(0, 0, 0, .15);
	}
	.jha-qb .jha-qb__item {
		flex: 1 1 0;
		width: auto;
		min-height: 58px;
		flex-direction: column;
		justify-content: center;
		gap: 4px;
		padding: 8px 4px !important;
		font-size: 11px !important;
		letter-spacing: .04em;
		text-align: center;
		white-space: normal;
		transform: none;
		background: transparent;
		box-shadow: none;
	}
	.jha-qb .jha-qb__item:hover, .jha-qb .jha-qb__item:focus-visible { transform: none; }
	.jha-qb .jha-qb__item--inquiry { background: var(--jha-accent); }
	.jha-qb .jha-qb__preview { position: absolute; bottom: 100%; right: 0; margin: 0; }

	body.jha-has-quickbar { padding-bottom: calc(58px + env(safe-area-inset-bottom)); }
	/* Cookie-Button und „nach oben“ über die Leiste heben */
	body.jha-has-quickbar .cky-btn-revisit-wrapper { bottom: calc(72px + env(safe-area-inset-bottom)) !important; }
	body.jha-has-quickbar #slide_top,
	body.jha-has-quickbar .cmsmasters_theme_icon_slide_top { bottom: calc(72px + env(safe-area-inset-bottom)) !important; }
}

@media print { .jha-qb { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .jha-qb .jha-qb__item { transition: none; } }

/* Ladehinweis auf der Buchungsseite */
.jha-loader {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 40px auto;
	padding: 18px 22px;
	max-width: 420px;
	color: #7a726b;
	font-size: 16px;
	transition: opacity .3s;
}
.jha-loader::before {
	content: "";
	width: 22px;
	height: 22px;
	border: 2px solid #e4ded6;
	border-top-color: var(--jha-accent);
	border-radius: 50%;
	animation: jha-spin .8s linear infinite;
}
.jha-loader--fixed { position: fixed; left: 50%; top: 45%; transform: translate(-50%, -50%); margin: 0; background: #fff; box-shadow: 0 4px 20px rgba(0,0,0,.08); z-index: 50; }
@keyframes jha-spin { to { transform: rotate(360deg); } }
