/**
 * Booking (/booking) — vizuális frissítés (csak ezen az oldalon töltődik).
 * v=bookingvisual20260602z
 */

/* Egységes arány: dátum fölött 66px, szobanév → slotok 33px (mobil + PC) */
.sec3--booking {
	--bk-phi: 1.6180339887;
	--bk-heading-total: 36px;
	/* φ: dátum = kisebb rész (~12.2), szobanév = nagyobb (~19.8) — összesen 36 */
	--bk-heading-date-size: calc(var(--bk-heading-total) / (1 + var(--bk-phi)));
	--bk-heading-name-size: calc(
		var(--bk-heading-total) * var(--bk-phi) / (1 + var(--bk-phi))
	);
	--bk-space-above-date: 66px;
	--bk-space-heading-to-slots: 33px;
	--bk-page-bg: #212121;
	--bk-nav-w: 70px;
	--bk-nav-active: #353535;
	--bk-slot-col-w: 158px;
}

.sec3--booking .today-cls.booking-room-card,
.sec3--booking .today-cls.booking-room-card.booking-room-divider,
.sec3--booking .today-cls.booking-room-card.booking-room-divider:not(:last-of-type),
.sec3--booking .today-cls.booking-room-card.booking-room-divider:last-of-type {
	border-bottom: none !important;
	padding-top: var(--bk-space-above-date) !important;
	padding-bottom: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.sec3--booking .today-cls {
	padding-top: 0 !important;
}

.sec3--booking .today-cls h2,
.sec3--booking .today-cls .booking-room-heading {
	padding-top: 0 !important;
}

/* Fejléc: dátum = Light, szobanév = Extra Bold (mockup) */
.sec3--booking .today-cls .booking-room-heading {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0 !important;
	margin-bottom: var(--bk-space-heading-to-slots) !important;
	font-weight: 400 !important;
}

.sec3--booking .booking-room-heading .booking-room-date {
	display: block !important;
	width: 100% !important;
	position: static !important;
	margin: 0 !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 300 !important;
	font-size: var(--bk-heading-date-size) !important;
	line-height: 1 !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase !important;
	opacity: 1 !important;
}

.sec3--booking .booking-room-heading .booking-room-name {
	display: block !important;
	width: 100% !important;
	position: static !important;
	margin: 0 !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 800 !important;
	font-size: var(--bk-heading-name-size) !important;
	line-height: 1 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
}

.sec3--booking .booking-room-name__link {
	color: inherit !important;
	text-decoration: none !important;
}

.sec3--booking .booking-room-name__link:hover,
.sec3--booking .booking-room-name__link:focus-visible {
	color: #eb5757 !important;
}

.sec3--booking .booking-room-media__link {
	color: inherit !important;
	text-decoration: none !important;
}

.sec3--booking .booking-room-name__link {
	color: inherit !important;
	text-decoration: none !important;
}

.sec3--booking .booking-room-name__link:hover,
.sec3--booking .booking-room-name__link:focus-visible {
	color: #eb5757 !important;
}

.sec3--booking .booking-room-media__link {
	color: inherit !important;
	text-decoration: none !important;
}

/* Kép: széltől szélig, nincs lekerekítés */
.sec3--booking .booking-room-media,
.sec3--booking .booking-room-media__picture,
.sec3--booking .booking-room-media picture,
.sec3--booking .booking-room-media img,
.sec3--booking .booking-room-media__img {
	width: 100% !important;
	max-width: 100% !important;
	border-radius: 0 !important;
}

/* Slot gombok: Montserrat normal 14pt, egyszerű állapotok (mockup) */
.sec3--booking .booking-slots .datebox {
	border-radius: 7px !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 400 !important;
	font-size: 14pt !important;
	line-height: 1.15 !important;
	letter-spacing: 0 !important;
	background: #353535 !important;
	color: #ffffff !important;
	border: 1px solid transparent !important;
	box-shadow: none !important;
	transform: none !important;
	text-decoration: none !important;
	transition: none !important;
}

.sec3--booking .booking-slots .datebox:visited {
	color: #ffffff !important;
}

.sec3--booking .booking-slots .datebox:hover {
	background: #353535 !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
	box-shadow: none !important;
	transform: none !important;
	text-decoration: none !important;
}

.sec3--booking .booking-slots .datebox:active {
	background: #c4c4c4 !important;
	color: #828282 !important;
	border-color: #ffffff !important;
	box-shadow: none !important;
	transform: none !important;
}

/* PC dátum léptető — mobilon rejtve */
.sec3--booking .booking-date-nav {
	display: none;
}

/* Mobil: slot rács = kép szélessége, 2 oszlop, nem nyúlik szét */
@media screen and (max-width: 991px) {
	.sec3--booking {
		--bk-heading-total: clamp(28px, 8.2vw, 36px);
		--bk-mobile-slot-gap: 16px;
	}

	.sec3--booking .booking-room-row--nav {
		display: block;
	}

	.sec3--booking .booking-room-row__content.row {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100% !important;
	}

	.sec3--booking .booking-room-row__content > .booking-room-media,
	.sec3--booking .booking-room-row__content > .booking-room-slots-col {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.sec3--booking .booking-room-heading .booking-room-date {
		font-weight: 300 !important;
		font-size: var(--bk-heading-date-size) !important;
		line-height: 1 !important;
	}

	.sec3--booking .booking-room-heading .booking-room-name {
		font-weight: 800 !important;
		font-size: var(--bk-heading-name-size) !important;
		line-height: 1 !important;
	}

	.sec3--booking .booking-room-media picture,
	.sec3--booking .booking-room-media img {
		border-radius: 0 !important;
	}

	.sec3--booking .booking-room-slots-col {
		height: auto !important;
		max-height: none !important;
	}

	.sec3--booking .booking-slots.row {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: none !important;
		margin: 0 !important;
	}

	.sec3--booking .booking-slots {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-flow: row !important;
		grid-auto-columns: unset !important;
		grid-template-rows: none !important;
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		column-gap: var(--bk-mobile-slot-gap) !important;
		row-gap: var(--bk-mobile-slot-gap) !important;
		justify-content: stretch !important;
	}

	.sec3--booking .booking-slots > .booking-slot-item[class*="col-"],
	.sec3--booking .booking-slots .booking-slot-item {
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: none !important;
		padding: 0 !important;
	}

	.sec3--booking .booking-slots .datebox {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 44px !important;
		min-height: 44px !important;
		max-height: 44px !important;
		margin-top: 0 !important;
		padding: 0 8px !important;
		font-family: "Montserrat", sans-serif !important;
		font-weight: 400 !important;
		font-size: 14pt !important;
		border-radius: 7px !important;
		float: none !important;
	}
}

/* Tablet + PC (≥992px): kép magassága = 2 sor slot (felülírja a stylesheet 176px fix magasságot) */
@media screen and (min-width: 992px) {
	.sec3.sec3--booking {
		/* Ugyanaz mint stylesheet „FIGMA” slot rács: 76px + 16px gap */
		--bk-slot-h: 76px;
		--bk-slot-gap: 16px;
		--bk-block-h: calc((var(--bk-slot-h) * 2) + var(--bk-slot-gap));
		--bk-image-w: 320px;
	}

	.sec3--booking .booking-date-nav {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 var(--bk-nav-w) !important;
		width: var(--bk-nav-w) !important;
		min-width: var(--bk-nav-w) !important;
		max-width: var(--bk-nav-w) !important;
		height: var(--bk-block-h) !important;
		min-height: var(--bk-block-h) !important;
		max-height: var(--bk-block-h) !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
		border-radius: 7px !important;
		background: var(--bk-nav-active) !important;
		color: #ffffff !important;
		cursor: pointer !important;
		box-sizing: border-box !important;
		transition: background 0.15s ease, color 0.15s ease;
	}

	.sec3--booking .booking-date-nav__icon {
		display: block !important;
		width: 7px !important;
		height: 12.5px !important;
		flex-shrink: 0;
	}

	.sec3--booking .booking-date-nav:hover:not(.is-disabled):not(:disabled) {
		background: #404040 !important;
	}

	.sec3--booking .booking-date-nav.is-disabled,
	.sec3--booking .booking-date-nav:disabled {
		background: var(--bk-page-bg) !important;
		color: var(--bk-page-bg) !important;
		cursor: default !important;
		pointer-events: none !important;
	}

	.sec3--booking .booking-date-nav.is-disabled .booking-date-nav__icon,
	.sec3--booking .booking-date-nav:disabled .booking-date-nav__icon {
		color: var(--bk-page-bg) !important;
	}

	.sec3--booking .booking-date-nav.is-disabled .booking-date-nav__icon path,
	.sec3--booking .booking-date-nav:disabled .booking-date-nav__icon path {
		stroke: var(--bk-page-bg) !important;
	}

	.sec3.sec3--booking .today-cls > .booking-room-row--nav {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		gap: var(--bk-slot-gap) !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	.sec3.sec3--booking .booking-date-nav--prev {
		order: 1 !important;
		flex-shrink: 0 !important;
	}

	/* Mai nap (AZI): nincs bal nyíl — ne foglaljon 70px-et, ne ugorjon a kép */
	.sec3.sec3--booking .booking-room-row--no-prev .booking-room-row__content {
		order: 1 !important;
	}

	.sec3.sec3--booking .booking-room-row--no-prev .booking-date-nav--next {
		order: 2 !important;
	}

	.sec3.sec3--booking .booking-room-row__content {
		order: 2 !important;
		display: flex !important;
		flex: 1 1 0% !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		gap: var(--bk-slot-gap) !important;
		min-width: 0 !important;
		width: auto !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.sec3.sec3--booking .booking-room-row__content.row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.sec3.sec3--booking .booking-date-nav--next {
		order: 3 !important;
		flex: 0 0 var(--bk-nav-w) !important;
		flex-shrink: 0 !important;
		margin-left: 0 !important;
	}

	.sec3.sec3--booking .booking-room-row__content > [class*="col-"],
	.sec3.sec3--booking .today-cls > .booking-room-row--nav > [class*="col-"] {
		padding-left: 0 !important;
		padding-right: 0 !important;
		max-width: none !important;
		flex: 0 0 auto !important;
		width: auto !important;
	}

	.sec3.sec3--booking .booking-room-row__content > .booking-room-slots-col {
		flex: 1 1 0% !important;
		min-width: 0 !important;
		max-width: none !important;
		width: auto !important;
	}

	.sec3.sec3--booking .booking-room-media {
		flex: 0 0 var(--bk-image-w) !important;
		width: var(--bk-image-w) !important;
		max-width: var(--bk-image-w) !important;
		height: var(--bk-block-h) !important;
		max-height: var(--bk-block-h) !important;
		overflow: hidden !important;
	}

	.sec3.sec3--booking .booking-room-media__trigger {
		display: block !important;
		width: 100% !important;
		height: var(--bk-block-h) !important;
		max-height: var(--bk-block-h) !important;
		padding: 0 !important;
		position: relative !important;
		overflow: hidden !important;
	}

	.sec3.sec3--booking .booking-room-media__picture,
	.sec3.sec3--booking .booking-room-media picture {
		display: block !important;
		width: 100% !important;
		height: var(--bk-block-h) !important;
		max-height: var(--bk-block-h) !important;
	}

	/* Bootstrap .img-fluid { height: auto } — ez növelte túl a képet */
	.sec3.sec3--booking .booking-room-media img.booking-room-media__img,
	.sec3.sec3--booking .booking-room-media .img-fluid {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		height: var(--bk-block-h) !important;
		min-height: var(--bk-block-h) !important;
		max-height: var(--bk-block-h) !important;
		object-fit: cover !important;
		border-radius: 0 !important;
		aspect-ratio: auto !important;
	}

	.sec3.sec3--booking .booking-room-media__hint {
		position: absolute !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		margin: 0 !important;
		padding: 6px 8px !important;
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, 0) 0%,
			rgba(0, 0, 0, 0.72) 100%
		) !important;
	}

	.sec3.sec3--booking .booking-room-slots-col {
		flex: 1 1 0% !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		height: var(--bk-block-h) !important;
		max-height: var(--bk-block-h) !important;
		padding-left: 0 !important;
		overflow: visible !important;
	}

	.sec3.sec3--booking .booking-slots.row {
		display: grid !important;
		margin: 0 !important;
		height: var(--bk-block-h) !important;
		max-height: var(--bk-block-h) !important;
		width: 100% !important;
		max-width: 100% !important;
		flex-wrap: unset !important;
	}

	/* Alap: fix 158px; PC stretch: booking-slot-fit.js → .is-slot-stretch */
	.sec3.sec3--booking .booking-slots {
		display: grid !important;
		grid-auto-flow: column !important;
		grid-template-rows: repeat(2, var(--bk-slot-h)) !important;
		grid-auto-columns: minmax(0, var(--bk-slot-col-w)) !important;
		column-gap: var(--bk-slot-gap) !important;
		row-gap: var(--bk-slot-gap) !important;
		justify-content: start !important;
		justify-items: stretch !important;
		align-content: start !important;
		width: max-content !important;
		max-width: 100% !important;
		height: var(--bk-block-h) !important;
		min-height: var(--bk-block-h) !important;
		max-height: var(--bk-block-h) !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.sec3.sec3--booking .booking-slots.is-slot-stretch {
		grid-template-columns: repeat(
			var(--bk-slot-cols, 3),
			minmax(0, var(--bk-slot-col-w, 158px))
		) !important;
		grid-auto-columns: unset !important;
		justify-content: stretch !important;
		width: 100% !important;
	}

	.sec3.sec3--booking .booking-slots > .booking-slot-item[class*="col-"] {
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		flex: none !important;
		padding: 0 !important;
		margin: 0 !important;
		height: auto !important;
	}

	.sec3.sec3--booking .booking-slots:not(.is-slot-stretch) > .booking-slot-item[class*="col-"],
	.sec3.sec3--booking .booking-slots:not(.is-slot-stretch) .booking-slot-item {
		width: var(--bk-slot-col-w) !important;
		min-width: var(--bk-slot-col-w) !important;
		max-width: var(--bk-slot-col-w) !important;
	}

	.sec3.sec3--booking .booking-slots .booking-slot-item {
		display: block !important;
		height: auto !important;
	}

	.sec3.sec3--booking .booking-slots .datebox {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: var(--bk-slot-h) !important;
		min-height: var(--bk-slot-h) !important;
		max-height: var(--bk-slot-h) !important;
		border-radius: 7px !important;
		font-family: "Montserrat", sans-serif !important;
		font-weight: 400 !important;
		font-size: 14pt !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}

	.sec3.sec3--booking .booking-slots:not(.is-slot-stretch) .datebox {
		width: var(--bk-slot-col-w) !important;
		max-width: var(--bk-slot-col-w) !important;
	}

	.sec3.sec3--booking .booking-slots.is-slot-fit .datebox {
		font-size: clamp(11px, 0.95vw, 14pt) !important;
		padding-left: 4px !important;
		padding-right: 4px !important;
	}
}

/* HOT / PROMO — piros alap; óra felül, kedvezmény alul kisebb betűvel */
.sec3--booking .booking-slots .datebox.is-hot {
	background: #eb5757 !important;
	color: #ffffff !important;
	border: 1px solid transparent !important;
	box-shadow: none !important;
	animation: none !important;
	text-shadow: none !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 3px !important;
	white-space: normal !important;
	text-overflow: clip !important;
	padding-top: 6px !important;
	padding-bottom: 6px !important;
	line-height: 1.1 !important;
}

.sec3--booking .booking-slots .datebox.is-hot .bk-slot-time {
	display: block;
	font-size: inherit;
	font-weight: 400;
	line-height: 1.05;
}

.sec3--booking .booking-slots .datebox.is-hot .bk-slot-discount {
	display: block;
	font-size: 0.58em;
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: 0;
	opacity: 0.95;
}

.sec3--booking .booking-slots .datebox.is-hot::before {
	display: none !important;
	content: none !important;
}

.sec3--booking .booking-slots .datebox.is-hot:hover {
	background: #eb5757 !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
	box-shadow: none !important;
	transform: none !important;
}

.sec3--booking .booking-slots .datebox.is-hot:active {
	background: #c4c4c4 !important;
	color: #828282 !important;
	border-color: #ffffff !important;
}

@media screen and (max-width: 991px) {
	.sec3--booking .booking-slots .datebox.is-hot {
		font-size: 14px !important;
		line-height: 1.1 !important;
		padding-left: 4px !important;
		padding-right: 4px !important;
		gap: 2px !important;
	}

	.sec3--booking .booking-slots .datebox.is-hot .bk-slot-discount {
		font-size: 10px !important;
	}
}

/* ===== /room/{id}/… — slot lista alul (booking vizuál, max 6 oszlop PC, nincs nyíl/kép) ===== */
.sec3--room-book {
	--bk-phi: 1.6180339887;
	--bk-heading-total: 36px;
	--bk-heading-date-size: calc(var(--bk-heading-total) / (1 + var(--bk-phi)));
	--bk-heading-name-size: calc(
		var(--bk-heading-total) * var(--bk-phi) / (1 + var(--bk-phi))
	);
	--bk-space-heading-to-slots: 33px;
	--bk-room-day-gap: 40px;
	--bk-slot-col-w: 158px;
	--bk-slot-h: 76px;
	--bk-slot-gap: 16px;
	--bk-room-pc-cols: 6;
	padding-top: 1.5rem;
	padding-bottom: 2rem;
}

/* Ne írja felül a Bootstrap .container max-width-et (100% = teljes viewport szélesség) */
.sec3--room-book .sec3--room-book__inner {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.sec3--room-book .sec3--room-book__panel {
	width: 100%;
	max-width: calc(
		(var(--bk-slot-col-w) * var(--bk-room-pc-cols)) +
			(var(--bk-slot-gap) * (var(--bk-room-pc-cols) - 1))
	);
	box-sizing: border-box;
}

.sec3--room-book .booking-scroll-anchor--room {
	display: block;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	scroll-margin-top: 88px;
}

/* Felülírja a globális .today-cls { padding-top: 25px } — NE margin:0 shorthand (az lenullázza a --follow gap-et) */
.sec3--room-book .today-cls.booking-room-day {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 0 !important;
	border: none !important;
}

.sec3.sec3--room-book .today-cls.booking-room-day.booking-room-day--follow,
.sec3.sec3--room-book .today-cls.booking-room-day + .today-cls.booking-room-day {
	margin-top: 0 !important;
	padding-top: var(--bk-room-day-gap) !important;
}

/* stylesheet.css: .sec3 .today-cls .booking-room-heading { margin: … 10px !important } — magasabb spec */
.sec3.sec3--room-book .today-cls.booking-room-day h2.booking-room-heading {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin: 0 0 var(--bk-space-heading-to-slots) 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 0 !important;
	font-weight: 400 !important;
	width: 100% !important;
	max-width: 100% !important;
	text-align: left !important;
}

.sec3.sec3--room-book .today-cls.booking-room-day .booking-room-slots-only {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.sec3--room-book .booking-room-heading .booking-room-date {
	display: block !important;
	width: 100% !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 300 !important;
	font-size: var(--bk-heading-date-size) !important;
	line-height: 1 !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
}

.sec3--room-book .booking-room-heading .booking-room-name {
	display: block !important;
	width: 100% !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 800 !important;
	font-size: var(--bk-heading-name-size) !important;
	line-height: 1 !important;
	letter-spacing: 0.02em !important;
	text-transform: uppercase !important;
	color: #ffffff !important;
}

.sec3--room-book .booking-room-slots-only {
	width: 100%;
}

.sec3--room-book .booking-slots.row {
	margin: 0 !important;
	display: grid !important;
	width: 100% !important;
	max-width: 100% !important;
	flex-wrap: unset !important;
}

.sec3--room-book .booking-slots .datebox {
	border-radius: 7px !important;
	font-family: "Montserrat", sans-serif !important;
	font-weight: 400 !important;
	font-size: 14pt !important;
	line-height: 1.15 !important;
	background: #353535 !important;
	color: #ffffff !important;
	border: 1px solid transparent !important;
	box-shadow: none !important;
	transform: none !important;
	text-decoration: none !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	margin-top: 0 !important;
	padding: 0 10px !important;
	float: none !important;
}

.sec3--room-book .booking-slots .datebox:hover {
	background: #353535 !important;
	color: #ffffff !important;
	border-color: #ffffff !important;
}

.sec3--room-book .booking-slots .datebox:active {
	background: #c4c4c4 !important;
	color: #828282 !important;
	border-color: #ffffff !important;
}

.sec3--room-book .room-book-more-days {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	text-align: center;
}

.sec3--room-book .room-book-more-days__link {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-size: 14pt;
	color: #eb5757;
	text-transform: lowercase;
	text-decoration: none;
}

.sec3--room-book .room-book-more-days__link:hover {
	text-decoration: underline;
}

.sec3--room-book .room-book-back {
	margin-top: 2rem;
}

@media screen and (max-width: 991px) {
	.sec3--room-book {
		--bk-heading-total: clamp(28px, 8.2vw, 36px);
		/* Szobanév alatt rögtön a slotok */
		--bk-space-heading-to-slots: clamp(18px, 5vw, 24px);
		--bk-space-date-to-name: clamp(8px, 2.2vw, 12px);
		--bk-mobile-slot-gap: 16px;
		/* Következő nap eleje: nagyobb szünet az előző nap slotjai után */
		--bk-room-day-gap: clamp(64px, 18vw, 88px);
		padding-top: 1.25rem;
	}

	.sec3--room-book .sec3--room-book__inner {
		padding-left: max(16px, env(safe-area-inset-left, 0px));
		padding-right: max(16px, env(safe-area-inset-right, 0px));
	}

	.sec3.sec3--room-book .today-cls.booking-room-day h2.booking-room-heading {
		margin: 0 0 var(--bk-space-heading-to-slots) 0 !important;
		gap: var(--bk-space-date-to-name) !important;
	}

	.sec3.sec3--room-book .today-cls.booking-room-day .booking-room-slots-only {
		margin: 0 !important;
		padding: 0 !important;
		clear: both;
	}

	.sec3--room-book .today-cls.booking-room-day {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.sec3.sec3--room-book .today-cls.booking-room-day.booking-room-day--follow,
	.sec3.sec3--room-book .today-cls.booking-room-day + .today-cls.booking-room-day {
		margin-top: 0 !important;
		padding-top: var(--bk-room-day-gap) !important;
		border-top: none !important;
	}

	.sec3--room-book .booking-slots {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-flow: row !important;
		column-gap: var(--bk-mobile-slot-gap) !important;
		row-gap: var(--bk-mobile-slot-gap) !important;
	}

	.sec3--room-book .booking-slot-item {
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		padding: 0 !important;
	}

	.sec3--room-book .booking-slots .datebox {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: 44px !important;
		min-height: 44px !important;
		max-height: 44px !important;
	}
}

@media screen and (min-width: 992px) {
	.sec3--room-book .sec3--room-book__panel {
		margin-left: auto;
		margin-right: auto;
	}

	.sec3--room-book .booking-slots {
		grid-template-columns: repeat(var(--bk-room-pc-cols), var(--bk-slot-col-w)) !important;
		grid-auto-flow: row !important;
		grid-auto-columns: unset !important;
		column-gap: var(--bk-slot-gap) !important;
		row-gap: var(--bk-slot-gap) !important;
		justify-content: start !important;
		align-content: start !important;
		width: 100% !important;
		max-width: calc(
			(var(--bk-slot-col-w) * var(--bk-room-pc-cols)) +
				(var(--bk-slot-gap) * (var(--bk-room-pc-cols) - 1))
		) !important;
	}

	.sec3--room-book .booking-slot-item {
		width: var(--bk-slot-col-w) !important;
		min-width: var(--bk-slot-col-w) !important;
		max-width: var(--bk-slot-col-w) !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.sec3--room-book .booking-slots .datebox {
		width: 100% !important;
		min-width: 0 !important;
		max-width: var(--bk-slot-col-w) !important;
		height: var(--bk-slot-h) !important;
		min-height: var(--bk-slot-h) !important;
		max-height: var(--bk-slot-h) !important;
	}
}

/* Lábléc — megegyezik az exitgames.ro/new megjelenésével */
.sec3--booking .eg-footer--booking {
	--eg-footer-ink: #9e9e9e;
	--eg-footer-line: #333333;
	margin-top: 2.5rem;
	padding: 1.1rem 0.75rem 2rem;
	padding-bottom: calc(2rem + env(safe-area-inset-bottom, 0px));
	background: #1a1a1a;
	border-top: 1px solid var(--eg-footer-line);
	width: 100%;
	box-sizing: border-box;
}

.sec3--booking .eg-footer--booking .eg-footer__inner {
	max-width: 420px;
	margin-inline: auto;
	text-align: center;
}

.sec3--booking .eg-footer--booking .eg-footer__guides {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.45rem 0.85rem;
	margin: 0 0 0.85rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--eg-footer-line);
}

.sec3--booking .eg-footer--booking .eg-footer__top {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.5rem 0.9rem;
	margin: 0 0 0.75rem;
}

.sec3--booking .eg-footer--booking .eg-footer__privacy {
	font-family: "Montserrat", sans-serif;
	font-size: 0.6rem;
	font-weight: 400;
	color: #b0b0b0;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.sec3--booking .eg-footer--booking .eg-footer__privacy:hover {
	color: #dcdcdc;
}

.sec3--booking .eg-footer--booking .eg-footer__icon-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	opacity: 0.85;
}

.sec3--booking .eg-footer--booking .eg-footer__icon-link:hover {
	opacity: 1;
}

.sec3--booking .eg-footer--booking .eg-footer__icon {
	width: 32px;
	height: 32px;
	object-fit: contain;
	display: block;
}

.sec3--booking .eg-footer--booking .eg-footer__copy {
	font-family: "Montserrat", sans-serif;
	font-size: 0.6rem;
	color: var(--eg-footer-ink);
	margin: 0 0 0.3rem;
	line-height: 1.3;
}

.sec3--booking .eg-footer--booking .eg-footer__legal {
	font-family: "Montserrat", sans-serif;
	font-size: 0.55rem;
	color: #8a8a8a;
	margin: 0;
	line-height: 1.4;
}

@media screen and (min-width: 992px) {
	.sec3--booking .eg-footer--booking .eg-footer__inner {
		max-width: 720px;
	}
}

/* Flash / hibaüzenetek — magas kontraszt a sötét booking oldalon */
.page--booking .eg-booking-flash {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	max-width: 42rem;
	margin: 1rem auto 0;
	padding: 1rem 1.15rem;
	border-radius: 10px;
	border: 2px solid #eb5757;
	background: #2a1215;
	box-shadow: 0 4px 20px rgba(235, 87, 87, 0.25);
}

.page--booking .eg-booking-flash--error {
	border-color: #ff6b6b;
	background: linear-gradient(135deg, #3d1518 0%, #1a0a0c 100%);
}

.page--booking .eg-booking-flash__icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.75rem;
	height: 1.75rem;
	border-radius: 50%;
	background: #eb5757;
	color: #fff;
	font-weight: 800;
	font-size: 1rem;
	line-height: 1;
}

.page--booking .eg-booking-flash__text {
	margin: 0;
	flex: 1;
	font-family: "Montserrat", sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.45;
	color: #fff8f0;
	text-align: left;
}

.sec3--booking .booking-room-card.eg-booking-room--highlight {
	outline: 2px solid rgba(143, 212, 168, 0.75);
	outline-offset: 4px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.35);
}
