/* Using a string */
*{
	padding:0;
	margin:0;
	text-decoration:none;
	border:none;
	font-family: 'Montserrat', sans-serif;
}
body {
	background: #212121;
}
.wrapper{
	width:100%;
}
.sec0{
	width: 100%;
	position: relative;
	clear: both;
}
/* Hero min-height: only when <main> follows with the homepage owl banner. Booking uses .sec0 too
   but has no .bannerslider — skip the spacer there. Requires a :has(+ …) capable browser. */
.sec0:has(+ main .bannerslider)::after{
	content: '';
	display: block;
	width: 100%;
	height: 86vh;
	min-height: 620px;
}
/* Mobile: do NOT use sec0::after height — it sits *above* <main> in the flow and
   only pushes the slider down = empty band + looks like “space under the hero”.
   The slider is pulled under the bar via .bannerslider top inside main. */
@media screen and (max-width:768px){
	.sec0:has(+ main .bannerslider)::after{
		content: none;
	}
}
.navi{
	width: 100%;
	float: left;
	padding-top: 30px;
}
.navileft{
	width: 60%;
	float: left;
}
.navileft h1{
	padding-top: 20px;
	text-align: left;
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: 100px;
	line-height: 80.3%;
	text-transform: uppercase;
	color: #EB5757;
}
.naviright{
	width: 40%;
	float: left;
	text-align: right;
	padding-right: 20px;
}
.naviright ul{
	text-align: right;
	list-style: none;
}
.naviright ul li{
	padding-top: 35px;
}
.voucher{
	color: #EB5757 !important;
}
.naviright ul li a{
	font-family: Space Mono;
	font-style: normal;
	font-weight: normal;
	font-size: 18px;
	line-height: 100%;
	text-align: right;
	color: #FFFFFF;
}
.slicons{
	width: 100%;
	float: left;
	padding-top: 50px;
}
.slicons ul{
	list-style: none;
}
.slicons ul li{
	display: inline-block;
	padding: 0 15px;
}
.header{
	width: 100%;
	z-index: 2000;
	position: relative;
}
.header.menuactive{
	background: #212121;
	/* While the menupanel slides in, keep logo + hamburger above the overlay */
	position: relative;
	z-index: 10000;
}
.logo{
	float: left;
	text-align: left;
	padding-top: 12px;
}
.logo img{
	width: inherit;
	height: 60px;
}
.menus{
	float: right;
	padding-top: 20px;
	text-align: right;
}
.menus > *{
	display: inline-block;
}
.menus ul{
	color: #fff;
	list-style: none;
	top: -15px;
	margin: 0;
	position: relative;
}
.menus ul li{
	display: inline-block;
}
.menus ul li a{
	color: #fff;
}
.menus button{
	outline: none;
	cursor: pointer;
	background: none;
}
.menupanel{
	left: 0;
	right: 0;
	bottom: 0;
	/* Below header bar on all widths (tablet landscape was still using 72px) */
	top: calc(80px + env(safe-area-inset-top, 0px));
	z-index: 9999;
	display: none;
	position: fixed;
	background-color: #212121;
}
.menupanel.active{
	display: block !important;
}

/* Desktop menu-open hardening:
   remove top slider strip and keep logo fully visible. */
@media screen and (min-width: 769px){
	.header.menuactive,
	.header.sticky.menuactive{
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		background: #212121;
		padding-top: 6px;
		padding-bottom: 12px;
		z-index: 10001;
	}
	.header.menuactive .logo,
	.header.sticky.menuactive .logo{
		padding-top: 10px;
	}
	.header.menuactive .logo img,
	.header.sticky.menuactive .logo img{
		display: block;
		height: 60px;
		object-fit: contain;
	}
	.header.menuactive + .menupanel,
	.header.sticky.menuactive + .menupanel{
		top: 88px;
		z-index: 10000;
	}
}
.banner{
	width: 100%;
}

/* Desktop compacting for "CE ESTE UN JOC DE EVADARE" section */
@media screen and (min-width: 769px){
	.sec2{
		padding: 28px 0 44px;
	}
	.bannerslider{
		margin-bottom: 0;
	}
	.bannerslider .bankrobbery{
		padding: 12px 24px 14px;
		margin-bottom: 0;
	}
	/* Desktop text hierarchy:
	   room title (sec3right h3) < section headlines (ourrooms/escape) */
	.sec3right h3{
		font-size: clamp(40px, 3.2vw, 54px);
		line-height: 0.9;
		padding-top: 28px;
		margin-top: 0;
	}
	.ourrooms h2{
		font-size: clamp(46px, 3.8vw, 62px);
		line-height: 0.9;
	}
	.escape{
		padding-top: 0;
	}
	/* CE ESTE…: PC-n ~dupla méret a minimumhoz képest, arány a jobb oldali szöveghez */
	.escape h2{
		font-size: clamp(34px, 2.65vw, 54px);
		line-height: 0.72;
		margin: 0;
		display: block;
		letter-spacing: var(--col-h2-track, 0.11em);
	}
	.escape p{
		padding-top: 8px;
		margin-bottom: 0;
	}
	.littlehistory{
		padding-top: 4px;
	}
	.littlehistory p{
		padding-top: 8px;
		line-height: 1.22;
		margin-bottom: 0;
	}
}

/* Desktop hero: room title below image (not over it) */
@media screen and (min-width: 769px){
	.bannerslider{
		position: relative;
		top: auto;
		left: 0;
		right: 0;
		bottom: auto;
	}
	.bannerslider .item,
	.bannerslider .owl-item .item{
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}
	.bannerslider .item > a:first-of-type,
	.bannerslider .item > img:first-of-type,
	.bannerslider .item a img{
		display: block;
		width: 100%;
		height: auto;
	}
	.bannerslider .bankrobbery{
		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 24px 28px 28px;
		background: #212121;
		z-index: 3;
		text-align: center;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
		gap: 24px;
		flex-wrap: wrap;
	}
	.bannerslider .bankrobbery h1{
		margin: 0;
		font-size: clamp(2.6rem, 4.6vw, 4.2rem);
		line-height: 0.9;
		max-width: none;
	}
	.bannerslider .bankrobbery a{
		display: inline-block;
		margin-top: 0;
		padding: 14px 52px;
		font-size: 20px;
		font-weight: 800;
		letter-spacing: 0.03em;
		color: #ffffff;
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.42) 0%,
			rgba(255, 255, 255, 0.30) 100%
		);
		border: 1.5px solid rgba(255, 255, 255, 0.95);
		box-shadow:
			inset 0 1px 0 rgba(255, 255, 255, 0.45),
			0 2px 8px rgba(0, 0, 0, 0.22);
		border-radius: 8px;
	}
	.bannerslider .bankrobbery a:hover{
		color: #ffffff;
		background: linear-gradient(
			180deg,
			rgba(255, 255, 255, 0.5) 0%,
			rgba(255, 255, 255, 0.36) 100%
		);
		text-decoration: none;
	}
	/* Főoldal (≥769): a fejléc/sticky sáv a hero fölé rétegződik — csak ahol .bannerslider van, ne minden oldal */
	main:has(.bannerslider) {
		padding-top: calc(90px + env(safe-area-inset-top, 0px));
		box-sizing: border-box;
		/* CE ESTE (fehér) + CAMERELE NOASTRE (piros) — egy közös betűköz, egy helyen hangolható */
		--col-h2-track: 0.11em;
	}
	/* A globális .ourrooms { margin-top:50; padding:50px0 } felesleg ~100px üres: csak a kezdőlap hero után húzzuk */
	main:has(.bannerslider) .ourrooms {
		margin-top: 0;
		margin-bottom: 0;
		padding: 4px 0 0;
	}
	/* RO főoldal PC: a PROVOCĂRILE szöveg → CAMERELE NOASTRE (korábban csak a max-768 blokkban volt) */
	html:lang(ro) main:has(.bannerslider) .ourrooms h2,
	html[lang|="ro"] main:has(.bannerslider) .ourrooms h2 {
		line-height: 0;
		font-size: 0;
		color: transparent;
	}
	html:lang(ro) main:has(.bannerslider) .ourrooms h2 br,
	html[lang|="ro"] main:has(.bannerslider) .ourrooms h2 br {
		display: none;
	}
	html:lang(ro) main:has(.bannerslider) .ourrooms h2::after,
	html[lang|="ro"] main:has(.bannerslider) .ourrooms h2::after {
		content: "CAMERELE" "\A" "NOASTRE";
		white-space: pre;
		display: block;
		font-family: 'Montserrat', sans-serif;
		font-style: normal;
		font-weight: 900;
		font-size: clamp(2rem, 3.2vw, 2.75rem);
		line-height: 1.06;
		letter-spacing: var(--col-h2-track, 0.11em);
		text-transform: uppercase;
		color: #EB5757;
		text-align: left;
		text-shadow: none;
	}
	/* Kevesebb üres a „CE ESTE…” (sec2) és a szobacím között */
	main:has(.bannerslider) .sec2 {
		padding: 22px 0 28px;
	}
}
.bankrobbery{
	position: absolute;
	left: 9%;
	top: 38%;
	z-index: 3500;
	text-align: left;
}
.bankrobbery h1{
	font-family: 'Montserrat', sans-serif;
	font-weight: bold;
	font-size: 70px;
	line-height: 75.3%;
	text-transform: uppercase;
	color: #FFFFFF;
}
.bankrobbery h2{
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: bold;
	font-size: 18px;
	line-height: 90%;
	text-transform: uppercase;
	color: #FFFFFF;
	padding: 30px 0;
}
.bankrobbery a{
	font-family: 'Montserrat', sans-serif;
	color: #fff;
	border: 1px solid #fff;
	padding: 12px 70px;
	border-radius: 5px;
	font-weight: bold;
	text-transform: uppercase;
}
.bankrobbery a:hover{
	color: #fff;
	text-decoration: none;
}
.owl-dots{
	top: 37%;
	right: 20px;
	z-index: 1500;
	position: absolute;
}
.owl-dots .owl-dot{
	display: block !important;
	margin-top: 20px;
}
.bar1, .bar2, .bar3 {
  width: 40px;
  height: 3px;
  background-color: #fff;
  margin: 8px 0;
  transition: 0.4s;
}

.change .bar1 {
  -webkit-transform: rotate(-45deg) translate(-9px, 6px);
  transform: rotate(-45deg) translate(-9px, 6px);
}

.change .bar2 {opacity: 0;}

.change .bar3 {
  -webkit-transform: rotate(45deg) translate(-8px, -8px);
  transform: rotate(45deg) translate(-8px, -8px);
}
/**********************************************************************/
.sec1{
	width: 100%;
	float: left;
	padding: 100px 0;
	text-align: center;
	background: #e4e4e4;
	clear: both;
}
.sec2{
	width: 100%;
	float: left;
	padding: 100px 0;
	background: #212121;
}
.escape{
	width: 100%;
	float: left;
	padding-top: 20px;
}
.escape h2{
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 900;
	font-size: clamp(22px, 3.2vw, 44px);
	line-height: 0.7;
	display: block;
	letter-spacing: var(--col-h2-track, 0.11em);
	text-transform: uppercase;
	color: #E5E5E5;
}
.escape p{
	padding-top: 15px;
	font-family: 'Space Mono', monospace;
	font-style: normal;
	font-size: 18px;
	line-height: 109.5%;
	color: #FFFFFF;
}
.loremipsum{
	display: none;
}
.littlehistory{
	width: 100%;
	float: left;
}
.littlehistory h3{
	padding-top: 15px;
	font-family: 'Space Mono', monospace;
	font-style: normal;
	font-weight: bold;
	font-size: 18px;
	line-height: 109.5%;
	color: #FFFFFF;
}
.littlehistory p{
	padding-top: 15px;
	font-family: 'Space Mono', monospace;
	font-style: normal;
	font-size: 18px;
	line-height: 109.5%;
	color: #FFFFFF;
	
}
.ourrooms{
	width: 100%;
	float: left;
	margin-top: 50px;
	padding: 50px 0 0;
}
.ourrooms h2{
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 900;
	font-size: 96px;
	line-height: 75.3%;
	text-transform: uppercase;
	color: #EB5757;
	position: relative;
}
.ourrooms h2::before{
	position: absolute;
	content: '';
	top: -50px;
	left: 0;
	width: 30%;
	height: 2px;
	background: #EB5757;
}
.borderline{
	width: 100%;
	float: left;
	background: #383838;
	height: 2px;
}
.sec3{
	width: 100%;
	float: left;
	background: #212121;
}
.sec3left{
	width: 100%;
	float: left;
}
.sec3right{
	width: 100%;
	float: left;
}
.sec3right h3{
	padding-top: 100px;
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 900;
	font-size: 72px;
	line-height: 75.3%;
	text-transform: uppercase;
	color: #E5E5E5;
}
.sec3right p{
	padding-top: 15px;
	font-family: Space Mono;
	font-style: normal;
	font-weight: normal;
	font-size: 14px;
	color: #EB5757;
}
.sec3right a{
	padding-top: 15px;
	display: block;
}
.faq{
	width: 100%;
	float: left;
	margin-top: 30px;
	padding: 30px 0;
}
.faqs{
	width: 100%;
	float: left;
	text-align: center;
	background: #353535;
	padding: 20px;
	height: 240px;
	border-radius: 7px;
}
.faqs h2{
	padding-top: 15px;
	font-family: Space Mono;
	font-style: normal;
	font-weight: bold;
	font-size: 18px;
	color: #EB5757;
	text-transform: uppercase;
}
.faqs p{
	padding-top: 15px;
	font-family: Space Mono;
	font-style: normal;
	font-weight: normal;
	font-size: 13px;
	color: #fff;
}

/* Árak oldal — FAQ kártyák: ne fix 240px magasság; hosszú kérdés kisebb betű + tördelés */
.page .faq .faqs {
	height: auto;
	min-height: 0;
	padding: 16px 18px 20px;
	box-sizing: border-box;
}
.page .faq .faqs h2 {
	font-size: 0.8125rem;
	line-height: 1.42;
	padding-top: 0;
	margin: 0 0 0.45em;
	font-weight: 700;
	letter-spacing: 0.03em;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

/* Árak oldal — elegáns árkártyák (2–3 oszlop: grid auto-fit) */
.page .price-cards-section {
	margin-bottom: 0.25rem;
}
.page .price-cards-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 17.5rem), 1fr));
	gap: 1.35rem;
	align-items: stretch;
}
.page .price-card {
	background: linear-gradient(165deg, #3d3d3d 0%, #2a2a2a 100%);
	border: 1px solid rgba(235, 87, 87, 0.35);
	border-radius: 12px;
	padding: 1.55rem 1.35rem 1.65rem;
	text-align: center;
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.38);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-height: 10.5rem;
	box-sizing: border-box;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.page .price-card:hover {
	border-color: rgba(235, 87, 87, 0.58);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
	transform: translateY(-3px);
}
.page .price-card__label {
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 0.72rem;
	line-height: 1.38;
	letter-spacing: 0.13em;
	text-transform: uppercase;
	color: #EB5757;
	margin: 0 0 0.9rem;
	max-width: 24ch;
}
.page .price-card__amount {
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: clamp(1.65rem, 4.2vw, 2.2rem);
	line-height: 1.08;
	color: #EB5757;
	margin: 0 0 0.55rem;
	letter-spacing: 0.02em;
}
.page .price-card__note {
	font-family: 'Montserrat', sans-serif;
	font-size: 0.65rem;
	line-height: 1.45;
	color: rgba(235, 87, 87, 0.88);
	text-transform: uppercase;
	letter-spacing: 0.07em;
	margin: 0;
	max-width: 30ch;
	opacity: 0.95;
}
.page .price-card--cta {
	border-color: rgba(255, 255, 255, 0.14);
	background: linear-gradient(165deg, #363636 0%, #252525 100%);
}
.page .price-card--cta:hover {
	border-color: rgba(235, 87, 87, 0.45);
}
.page .price-card--cta .price-card__label {
	font-size: clamp(0.92rem, 2.1vw, 1.08rem);
	letter-spacing: 0.07em;
	line-height: 1.28;
	color: #E5E5E5;
	max-width: 22ch;
	text-transform: none;
	font-weight: 800;
}
.page .price-card__lead {
	font-family: 'Space Mono', monospace;
	font-size: 0.8125rem;
	line-height: 1.52;
	color: rgba(255, 255, 255, 0.74);
	margin: 0 0 1.2rem;
	max-width: 34ch;
	flex-grow: 0;
}
.page .price-card__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	padding: 0.68rem 1.45rem;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	font-size: 0.74rem;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: #EB5757;
	border-radius: 8px;
	border: 2px solid transparent;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.page .price-card__btn:hover,
.page .price-card__btn:focus {
	background: #ff6565;
	color: #fff;
	text-decoration: none;
	border-color: rgba(255, 255, 255, 0.28);
}
.page .price-card__btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}
@media (prefers-reduced-motion: reduce) {
	.page .price-card:hover {
		transform: none;
	}
}
@media screen and (max-width: 768px) {
	.page .price-cards-grid {
		gap: 1rem;
	}
	.page .price-card {
		padding: 1.28rem 1.05rem 1.45rem;
		min-height: 0;
	}
	.page .price-card__label {
		font-size: 0.68rem;
	}
	.page .price-card--cta .price-card__label {
		font-size: 1rem;
	}
}

.today-cls{
	width: 100%;
	padding-top: 25px;
}
.today-cls h2{
	padding-top: 15px;
	font-style: normal;
	font-weight: 300;
	font-size: 17px;
	color: #fff;
	text-transform: uppercase;
}
.datebox:hover{
	background: #a30808 !important;
	color: #878787 !important;
	text-decoration: none;
}
.bld{
	font-weight: 700;
}
.datebox{
	margin-top: 15px;
	width: 100%;
	float: left;
	background: #353535;
	padding: 35px 0;
	text-align: center;
	color: #fff;
	font-size: 16px;
	border-radius: 5px;
	font-family: 'Montserrat', sans-serif;
}
.header.sticky {
	background: #353535;
	padding-bottom: 15px;
}
.header.sticky.menuactive {
	background: #212121;
	/* .header.sticky alone sets z-index:1000 — must stay above .menupanel (9999) when menu is open */
	z-index: 10000;
}
.nextdays{
	width: 100%;
	float: left;
	padding: 40px 0;
	text-align: center;
}
.video{
	width: 100%;
	float: left;
}
.video img{
	width: 100%;
}
.sec4{
	width: 100%;
	background: #212121;
	float: left;
	padding: 50px 0;
}
.difficulty{
	width: 100%;
	padding-top: 100px;
}
.difficulty h2{
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 900;
	font-size: 72px;
	line-height: 75.3%;
	display: flex;
	align-items: center;
	text-transform: uppercase;
	color: #fff;
	position: relative;
}
.difficulty h2::before{
	position: absolute;
	bottom: -50px;
	left: 0;
	content: '';
	width: 25%;
	height: 2px;
	background: #EB5757;
}
.group33{
	width: 100%;
	text-align: center;
	padding: 100px 0;
	background: url('../images/Group-33.png') no-repeat center; background-size: 100% auto;
	background-position: center;
}
.group33 img{
	width: 100%;
}
.bookingdetails{
	width: 100%;
}
.bookinginner{
	max-width: 570px;
	margin: auto;
	position: relative;
	width: 90%;
}
.bookdate{
	width: 100%;
}
.bookleft{
	width: 50%;
	float: left;
}
.bookleft h2{
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 900;
	font-size: 48px;
	line-height: 75%;
	text-transform: uppercase;
	color: #EB5757;
}
.bookright{
	width: 50%;
	float: left;
}
.bookright p{
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 300;
	font-size: 18px;
	line-height: 22px;
	text-transform: uppercase;
	color: #E5E5E5;
}
.fontweight900{
	font-weight: 900;
}
.frmline{
	width: 100%;
	margin-top: 20px;
	background: #74706f;
	height: 2px;
}
.frm{
	width: 100%;
	margin-top: 20px;
}
.frmleft{
	width: 15%;
	float: left;
	text-transform: uppercase;
	color: #fff;
	line-height: 20px;
	font-size: 16px;
	font-family: 'Space Mono', monospace;
	line-height: 37px;
	font-weight: bold;
}
.frmleft.frmleft-wide {
	width: 40%;
}
.frmright.formright-narrow {
	width: 60%;
}
.frmright{
	width: 85%;
	line-height: 37px;
	float: left;
	color: #fff;
}
.frm:after, .bookdate:after {
display: block;
	content:  ' ';
	clear: both;
}
.frmfield{
	width: 100%;
	background: #e4e4e4;
	height: 38px;
	padding: 0 15px;
	font-family: 'Montserrat', sans-serif;
}
.addnum{
	width: 85px !important;
	background: #e4e4e4;
	height: 34px;
	padding: 0 15px;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;

}
.sec3left img{
	max-width: 100%;
}
.plussing{
	background: #c3c3c3;
	border-radius: 0 !important;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: bold;
}
.players{
	color: #eb5757;
	padding-left: 10px;
	padding-top: 5px;
	line-height: 20px;
	font-size: 16px;
	font-family: 'Space Mono', monospace;
}
.backnext {
	width: 100%;
	padding-top: 30px;
	box-sizing: border-box;
}
.backnext:after {
	content:  ' ';
	display: block;
	clear: both;
}
.back{
	width: 48%;
	box-sizing: border-box;
	float: left;
}
.next{
	width: 48%;
	box-sizing: border-box;
	float: right;
}
.back .reset{
	width: 100%;
	border: 2px solid #767070;
	border-radius: 7px;
	padding: 12px 0;
	text-transform: uppercase;
	background: none;
	color: #fff;
	cursor: pointer;
}
.next .butn{
	width: 100%;
	border-radius: 7px;
	padding: 13px 0;
	text-transform: uppercase;
	background: #eb5757;
	color: #fff;
	cursor: pointer;
}
.footer{
	width: 100%;
	float: left;
	padding-top: 150px;
}
.ftleft{
	width: 50%;
	float: left;
	color: #818181;
	line-height: 20px;
	font-size: 16px;
	font-family: 'Space Mono', monospace;
}
.ftright{
	width: 50%;
	float: left;
}
.socialicons{
	float: right;
}
.socialicons ul{
	list-style: none;
}
.socialicons ul li{
	display: inline-block;
	padding: 10px;
}
.ftcontact{
	float: right;
}

.ftcontact ul{
	list-style: none;
	padding-top: 10px;
}
.ftcontact ul li{
	display: inline-block;
	padding: 0 10px;
	border-right: 2px solid #818181;
	margin: 0;
	line-height: 16px;
}
.ftcontact ul li:nth-child(2){
	border: none;
}
.ftcontact ul li a{
	color: #818181;
	line-height: 20px;
	font-size: 16px;
	font-family: 'Space Mono', monospace;
}
.ftcontact ul li a:hover{
	text-decoration: none;
	color: #818181;
}

/* Legal links in footer (ANPC / Terms): keep mandatory, but visually discreet */
.footer a[href*="anpc" i],
.footer a[href*="termeni" i],
.footer a[href*="conditii" i],
.footer a[href*="terms" i],
.m-footer a[href*="anpc" i],
.m-footer a[href*="termeni" i],
.m-footer a[href*="conditii" i],
.m-footer a[href*="terms" i]{
	color: #9a9a9a !important;
	font-family: 'Space Mono', monospace;
	font-size: 12px !important;
	line-height: 1.35;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	opacity: 0.86;
}
.footer a[href*="anpc" i],
.footer a[href*="termeni" i],
.footer a[href*="conditii" i],
.footer a[href*="terms" i]{
	display: inline-block;
	margin-top: 6px;
}
.m-footer a[href*="anpc" i],
.m-footer a[href*="termeni" i],
.m-footer a[href*="conditii" i],
.m-footer a[href*="terms" i]{
	display: inline-block;
	margin-top: 4px;
}
.footer a[href*="anpc" i]:hover,
.footer a[href*="termeni" i]:hover,
.footer a[href*="conditii" i]:hover,
.footer a[href*="terms" i]:hover,
.m-footer a[href*="anpc" i]:hover,
.m-footer a[href*="termeni" i]:hover,
.m-footer a[href*="conditii" i]:hover,
.m-footer a[href*="terms" i]:hover{
	color: #c8c8c8 !important;
	text-decoration: none !important;
	opacity: 1;
}

/* Fallback (live HTML may place legal links outside .footer wrappers) */
a[href*="anpc" i],
a[href*="termeni" i],
a[href*="conditii" i],
a[href*="terms" i],
a[href*="anpc.gov.ro" i],
a[href*="protectia-consumatorilor" i]{
	color: #9a9a9a !important;
	font-family: 'Space Mono', monospace !important;
	font-size: 12px !important;
	line-height: 1.35 !important;
	letter-spacing: 0.01em;
	text-decoration: none !important;
	opacity: 0.88;
}
a[href*="anpc" i]:hover,
a[href*="termeni" i]:hover,
a[href*="conditii" i]:hover,
a[href*="terms" i]:hover,
a[href*="anpc.gov.ro" i]:hover,
a[href*="protectia-consumatorilor" i]:hover{
	color: #c8c8c8 !important;
	text-decoration: none !important;
	opacity: 1;
}

/* Compact footer ending: keep social icons on one line */
.socialicons{
	float: none !important;
	width: 100%;
	text-align: center;
	margin-top: 10px;
}
.socialicons ul{
	margin: 0;
	padding: 0;
}
.socialicons ul li{
	display: inline-block !important;
	padding: 0 8px;
	vertical-align: middle;
}
a[href*="instagram.com" i],
a[href*="facebook.com" i],
a[href*="instagram" i],
a[href*="facebook" i]{
	display: inline-block;
	vertical-align: middle;
}
a[href*="instagram.com" i] img,
a[href*="facebook.com" i] img,
a[href*="instagram" i] img,
a[href*="facebook" i] img{
	display: block;
	width: 26px;
	height: 26px;
	object-fit: contain;
}

/*
 * Lábléc: NE legyen display:flex a teljes .ftright / .m-footer konténeren — az éles HTML-ben
 * a logó, fizetési ikonok, jogi+social is gyerekek lehetnek, és mind egymás mellé húzódna.
 * Csak a ftcontact + socialicons (és az ul) kapjon sor-flexet; a felső sáv (blokkos) fölötte marad.
 */
footer .ftright,
.footer .ftright,
.m-footer .ftright {
	display: block;
	text-align: center;
	overflow: auto;
}
footer .ftcontact,
footer .socialicons,
.footer .ftcontact,
.footer .socialicons,
.m-footer .ftcontact,
.m-footer .socialicons{
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
}
/* Közvetlen <a> szabályos jogi+social, ha nincs ul: egy sor (wrap) */
footer .ftright .ftcontact,
footer .ftright .socialicons,
.footer .ftright .ftcontact,
.m-footer .ftright .ftcontact,
.footer .ftright .socialicons,
.m-footer .ftright .socialicons {
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 12px;
}
footer .ftcontact ul,
footer .socialicons ul,
.footer .ftcontact ul,
.footer .socialicons ul,
.m-footer .ftcontact ul,
.m-footer .socialicons ul{
	display: inline-flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
}
footer .ftcontact ul li,
footer .socialicons ul li,
.footer .ftcontact ul li,
.footer .socialicons ul li,
.m-footer .ftcontact ul li,
.m-footer .socialicons ul li{
	display: inline-flex !important;
	align-items: center;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	line-height: 1;
}
footer a[href*="anpc" i],
footer a[href*="termeni" i],
footer a[href*="conditii" i],
footer a[href*="terms" i],
footer a[href*="instagram" i],
footer a[href*="facebook" i],
.footer a[href*="anpc" i],
.footer a[href*="termeni" i],
.footer a[href*="conditii" i],
.footer a[href*="terms" i],
.m-footer a[href*="anpc" i],
.m-footer a[href*="termeni" i],
.m-footer a[href*="conditii" i],
.m-footer a[href*="terms" i],
.footer a[href*="instagram" i],
.footer a[href*="facebook" i],
.m-footer a[href*="instagram" i],
.m-footer a[href*="facebook" i]{
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	margin: 0 !important;
	white-space: nowrap;
}
/* PC: .footer látható; a .ftright ne flex (lásd fenti komment) — itt is csak a kontakt/social+ul */
@media screen and (min-width: 769px) {
	footer .ftright,
	.footer .ftright {
		display: block !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}
	footer .ftcontact,
	footer .socialicons,
	.footer .ftcontact,
	.footer .socialicons {
		float: none !important;
		width: auto !important;
		max-width: 100% !important;
		display: inline-flex !important;
		align-items: center !important;
		flex-wrap: wrap !important;
		justify-content: center !important;
		gap: 6px 10px !important;
		margin: 0 !important;
	}
	footer .ftcontact ul,
	footer .socialicons ul,
	.footer .ftcontact ul,
	.footer .socialicons ul {
		display: inline-flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 4px 10px !important;
	}
	footer .ftcontact ul li,
	.footer .ftcontact ul li {
		border: none !important;
		padding: 0 2px !important;
	}
}
/*
 * Éles oldal: .main_footer (Bootstrap) — ANPC, Termeni, Insta, FB a megfelelő ul/li-ben, nem .footer/.ftright
 * PC + mobil: egy vízszintes (wrap-pel) sor, középre
 */
.main_footer {
	/* alul lélegző hely — az oldal vége, iOS home-sáv; kicsit több, ne „olvadjon” rá a fenti tartalom */
	padding-bottom: calc(20px + env(safe-area-inset-bottom, 0px));
	margin-top: 4px;
	box-sizing: border-box;
}
.main_footer .row .col-sm-12.text-center > ul,
.main_footer .text-center > ul,
.main_footer .col-sm-12.text-center ul {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 6px 14px;
}
.main_footer .row .col-sm-12.text-center > ul > li,
.main_footer .text-center > ul > li,
.main_footer .col-sm-12.text-center ul > li {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0 4px;
	float: none;
	list-style: none;
}
.main_footer .row .col-sm-12.text-center > ul > li > a,
.main_footer .text-center > ul > li > a,
.main_footer .col-sm-12.text-center ul > li > a {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
}
.main_footer a[href*="anpc" i],
.main_footer a[href*="termeni" i],
.main_footer a[href*="conditii" i],
.main_footer a[href*="terms" i] {
	color: #9a9a9a !important;
	font-family: 'Space Mono', monospace;
	font-size: 12px !important;
	line-height: 1.35;
	text-decoration: none !important;
	white-space: nowrap;
}
.main_footer a[href*="instagram" i] img,
.main_footer a[href*="facebook" i] img {
	display: block;
	width: 26px;
	height: 26px;
	object-fit: contain;
}
.selectdate{
	width: 100%;
	padding-top: 50px;
}
.book{
	width: 20%;
	float: left;
}
.book h2{
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 900;
	font-size: 72px;
	line-height: 75.3%;
	text-transform: uppercase;
	color: #EB5757;
}
.datepic{
	width: 40%;
	float: left;
	padding-bottom: 5px;
	border-bottom: 2px solid #74706f;
	margin-left: 2%;
	position: relative;
	margin-top: 9px;
}
.datepic::before{
	position: absolute;
	content: '';
	background: url(../images/arrow-down.png) no-repeat;
	width: 28px;
	height: 16px;
	bottom: 10px;
	right: 0;
}
.datepic::after{
	position: absolute;
	content: '';
	background: url(../images/selectdate.PNG) no-repeat;
	width: 54px;
	height: 38px;
	top: 2px;
	left: 0;
}
.datpic {
    width: 100%;
    background: none !important;
    border: none !important;
    color: #fff !important;
    text-align: center;
}
.datepic input::placeholder{
	color: #fff;
	font-weight: bold;
}
.searchbtn{
	width: 20%;
	float: left;
	margin-left: 2%;
}
#search {
    width: 100%;
    text-align: center;
    background: none;
    color: #fff;
    border: 1px solid #eb5757;
    height: 40px;
    font-size: 14px;
    text-transform: uppercase;
    cursor: pointer;
    position: relative;
    margin-top: 12px;
    border-radius: 5px;
}
#search::before{
	position: absolute;
	content: '';
	background: url(../images/search.png) no-repeat;
	width: 25px;
	height: 26px;
	left: 6px;
	top: 5px;
}
.header.sticky{
	top:0;
	left:0;
	right:0;
	z-index:1000;
	position:fixed;
	padding-bottom: 10px;
	}

.bannerslider{
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	position: absolute;
	z-index: 899;
}
.tophead{
	width: 100%;
	background: #212121;
	padding: 20px 0;
	display: none;
}
.tophead h1{
	text-align: left;
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: 60px;
	line-height: 80.3%;
	text-transform: uppercase;
	color: #FECF43;
	position: relative;
}
.tophead h1::before{
	position: absolute;
	top: 0px;
	right: 15px;
	content: '';
	background: url(../images/arow_03.png) bottom;
	height: 170px;
	width: 57px;
}
.order2{
	display: none;
}
.sotryofgaem{
	width: 100%;
	float: left;
	padding-top: 100px;
	display: none;
}
.sotryofgaem h1{
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
	font-size: 60px;
	line-height: 60px;
	text-transform: uppercase;
	color: #e4e4e4;
}
.sotryofgaem p{
	padding-top: 30px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	font-size: 18px;
	color: #e4e4e4;
}
.sotryofgaem ul{
	list-style: none;
	padding-top: 20px;
}
.sotryofgaem li{
	width: 45%;
	float: left;
	background: #353535;
	padding: 50px 0;
	border-radius: 10px;
	text-align: center;
	font-family: 'Space Mono', monospace;
	color: #e4e4e4;
	line-height: 30px;
	font-size: 18px;
}
.price{
	font-weight: bold;
	font-size: 20px;
}
.sotryofgaem ul li:nth-child(2){
	margin-left: 4%;
}
.m-show{
	display: none;
}
.threeroom{
	width: 100%;
	float: left;
	text-align: center;
	padding-top: 40px;
	border-bottom: 2px solid #e4e4e4;
}
.threeroom p{
    padding-top: 15px;
    font-family: Space Mono;
    font-style: normal;
    font-weight: normal;
    font-size: 18px;
    color: #e4e4e4;
}
.term-condition{
	width: 100%;
	float: left;
	padding-top: 25px;
}
.termcheck{
	float: left;
	padding-top: 10px;
}
.checkmark.rounded {
	border-radius: 100% !important;
}
.termcnd{
	float: left;
	color: #fff;
	padding-left: 20px;
	line-height: 1;
	font-size: 14px;
}

.booking-overview-right {
	border-left: 1px solid #fff;
	padding-left: 40px;
}


.termcheck input:checkbox{
	padding: 20px;
}
.m-footer{
	width: 100%;
	float: left;
	padding: 50px 0;
	display: none;
}
.m-footer h1{
	font-family: 'Montserrat', sans-serif;
	color: #EB5757;
	font-size: 40px;
	font-weight: bold;
	text-transform: uppercase;

}
.m-contact{
	width: 100%;
	float: left;
	padding-top: 25px;
}
.m-contact-left{
	float: left;
	text-transform: uppercase;
	font-family: 'Montserrat', sans-serif;
	color: #e4e4e4;
	font-size: 20px;
	font-weight: bold;
}
.m-contact-right{
	float: left;
	padding-left: 8%;
	padding-top: 2px;
}
.m-contact-right a{
	font-family: 'Montserrat', sans-serif;
	color: #e4e4e4;
	font-size: 16px;
}
.m-contact-right a:hover{
	text-decoration: none;
	color: #e4e4e4;
}
.m-contact-right ul{
	list-style: none;
}
.m-contact-right ul li{
	display: inline-block;
	padding: 0 20px;
}
/*********** Check Box ***********/
/* The container */
.containercheck {
	display: block;
	position: relative;
	padding-left: 35px;
	margin-bottom: 12px;
	cursor: pointer;
	font-size: 22px;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
  }
  
  /* Hide the browser's default checkbox */
  .containercheck input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
  }
  
  /* Create a custom checkbox */
  .checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height: 25px;
	width: 25px;
	background: none !important;
	border: 2px solid #e4e4e4;
  }
  
  /* On mouse-over, add a grey background color */
  .containercheck:hover input ~ .checkmark {
	background-color: #ccc;
  }
  
  /* When the checkbox is checked, add a blue background */
  .containercheck input:checked ~ .checkmark {
	background-color: #EB5757 !important;
  }
  
  /* Create the checkmark/indicator (hidden when not checked) */
  .checkmark:after {
	content: "";
	position: absolute;
	display: none;
  }
  
  /* Show the checkmark when checked */
  .containercheck input:checked ~ .checkmark:after {
	display: block;
  }
  
  /* Style the checkmark/indicator */
  .containercheck .checkmark:after {
	left: 9px;
	top: 5px;
	width: 5px;
	height: 10px;
	border: solid white;
	border-width: 0 3px 3px 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
  }
.personsdata{
	width: 100%;
	max-width: 420px;
	float: left;
	line-height: 0;
	padding-bottom: 5px;
}
.prsnleft{
	width: 30%;
	float: left;
}
.prsnright{
	width: 70%;
	float: left;
}
.prsnright .progress {
	margin-top: 15px;
}
.linebar{
	width: 100%;
	float: left;
	margin-top: 15px;
}
.linebar1{
	width: 40%;
	float: left;
	background: #EB5757;
	height: 3px;
}
.linebar2{
	width: 60%;
	float: left;
	background: #fff;
	height: 3px;
}

.color-white {
	color: #fff;
}

@media screen and (max-width:768px){
	.term-condition{
		display: table;
	}
	/* Ne table: a flex + egy soros jogi/social (lásd fájl végi m-footer blokk) működjön */
	.m-footer {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		width: 100% !important;
		float: none !important;
		box-sizing: border-box;
	}
	.footer{
		display: none;
	}
	.players{
		display: none;
	}
	.addnum {
		margin: 0 15px;
	}
	.frmright{
		width: 80%;
	}
	.frmleft{
		width: 20%;
	}
	.bookleft {
		width: 100%;
	}
	.bookright{
		width: 100%;
	}
	.difficulty h2::before{
		width: 83%;
		bottom: -20px;
	}
	.difficulty h2{
		line-height: 96%;
	}
	.desk-show{
		display: none;
	}
	.m-show{
		display: table;
	}
	.datebox{
		font-weight: bold;
	}
	.bgwhite{
		background: #353535 !important;
		color: #fff !important;
	}
	.today2{
		display: none;
	}
	.faqs p{
		line-height: 25px;
	}
	.faqs{
		height: auto;
		background: none;
	}
	.faqs h2{
		font-size: 22px;
		font-weight: bold;
		line-height: 1.22;
		padding-top: 8px;
	}
	.sotryofgaem{
		display: table;
	}
	.order1{
		display: none;
	}
	.order2{
		display: table;
	}
	.sec3right p{
		color: #e4e4e4;
	}

	.borderline{
		display: none;
	}
	/* sec3 "our rooms" only — on homepage the line sat wrong on .ourrooms h2 */
	.sec3 .ourrooms h2::before {
		position: absolute;
		content: '';
		top: 182px;
		left: 0;
		width: 75%;
		height: 2px;
		background: #EB5757;
	}
	main:has(.bannerslider) .ourrooms h2::before {
		display: none;
	}
	/* Ne legyen -100px: a szobacím rácsúszott a képre; a cím a kép alá kerüljön */
	.sec3right h3{
		padding-top: 0.75rem;
		margin-top: 0;
	}
	.sec3right img{
		display: block;
		width: 100%;
		margin-bottom: 0;
	}
	.escape h2{
		font-size: clamp(1.65rem, 5vw, 2.25rem);
		line-height: 0.7;
		margin-bottom: 4px;
		display: block;
		letter-spacing: var(--col-h2-track, 0.11em);
		max-width: 100%;
		overflow-wrap: break-word;
		hyphens: auto;
	}
	/* sec2 alap 100px padding: főoldalon túl sok a CE ESTE és a következő blokk közt */
	main:has(.bannerslider) .sec2 {
		padding: 18px 0 24px;
	}
	.loremipsum{
		display: table;
	}
	.tophead{
		display: table;
	}
	/* Mobile: don't use panic-yellow headline + tall arrow; blend with #212121 bar */
	.tophead h1{
		color: #e4e4e4;
	}
	.tophead h1::before{
		display: none;
	}
	.sec1 img{
		width: 100%;
	}
	.navileft{
		display: none;
	}
	.naviright{
		width: 100%;
	}
	.sec0{
		/* alapból 30px sok: header és tartalom közt fölös hely sok aloldalon (rezervare, stb.) */
		padding-bottom: 14px;
	}
	/* Főoldal: hero felső offset — 5px + notch (a fejléc a flowban / fix sáv a témában) */
	main:has(.bannerslider){
		position: relative;
		z-index: 0;
		min-height: auto;
		padding-top: calc(5px + env(safe-area-inset-top, 0px));
		padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
		box-sizing: border-box;
		--col-h2-track: 0.11em;
	}
	/* kis lélegzet a tartalom és a footer között (mobil, nem főoldal is) */
	main {
		padding-bottom: 12px;
		box-sizing: border-box;
	}
	/* Slider: terv szerint a szoba címe a kép *alatt* sötét sávon, nem a képen (desktop: régi abszolút marad) */
	.bannerslider{
		position: relative;
		top: auto;
		left: 0;
		right: 0;
		bottom: auto;
		width: 100%;
		min-height: 0;
		margin-top: 0;
	}
	.bannerslider .owl-carousel{
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}
	.bannerslider .owl-stage-outer{
		order: 1;
		width: 100%;
	}
	.bannerslider .item,
	.bannerslider .owl-item .item{
		display: flex;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		min-height: 0;
	}
	.bannerslider .item > a:first-of-type,
	.bannerslider .item > img:first-of-type{
		display: block;
		order: 1;
		width: 100%;
		flex: 0 0 auto;
		height: auto;
		max-height: min(58vh, 520px);
		object-fit: cover;
		object-position: center top;
	}
	.bannerslider .item a img{
		display: block;
		width: 100%;
		max-height: min(58vh, 520px);
		object-fit: cover;
		object-position: center top;
	}
	.bannerslider .bankrobbery{
		order: 2;
		position: relative !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0.9rem 0.75rem 1.1rem !important;
		z-index: 2;
		text-align: center;
		background: #212121;
		box-sizing: border-box;
	}
	.bannerslider .bankrobbery h1{
		font-size: clamp(1.55rem, 5.1vw, 2.2rem);
		line-height: 0.95;
		max-width: 22ch;
		margin: 0 auto;
		padding: 0;
		padding-top: 0.5rem;
		overflow-wrap: break-word;
		word-wrap: break-word;
		text-align: center;
	}
	.bannerslider .bankrobbery h2{
		font-size: clamp(0.65rem, 2.2vw, 0.85rem);
		padding: 6px 0 10px;
	}
	.bannerslider .bankrobbery a{
		margin-top: 2px;
		display: inline-block;
		padding: 10px 36px;
	}
	.bannerslider .owl-dots,
	.bannerslider .owl-carousel .owl-dots{
		position: static !important;
		top: auto !important;
		right: auto !important;
		width: 100% !important;
		order: 2;
		display: flex !important;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: center;
		gap: 0.25rem;
		margin: 0 !important;
		padding: 4px 6px calc(8px + env(safe-area-inset-bottom, 0px));
		background: #212121;
		border-top: 1px solid #2d2d2d;
	}
	.bannerslider .owl-dots .owl-dot{
		display: inline-block !important;
		margin: 0 !important;
		flex: 0 0 auto;
	}
	.escape{
		padding-top: 0;
	}
	.littlehistory{
		padding-top: 12px;
	}
	/* „CAMERELE…”: a main offset után rövid tér, ne a globális 50+50px tőlünk független hézag */
	main:has(.bannerslider) .ourrooms{
		margin-top: 0;
		margin-bottom: 0;
		padding: 4px 14px 0;
		position: relative;
		z-index: 950;
		box-sizing: border-box;
	}
	.ourrooms{
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}
	.ourrooms h2{
		font-size: clamp(2.8rem, 7.4vw, 3.9rem);
		line-height: 1.08;
		max-width: 100%;
		overflow-wrap: break-word;
		word-wrap: break-word;
		padding-left: 0;
		padding-right: 0;
	}
	/* Főoldal RO: rövidebb cím, kevesebb törés — hivatalos EN/RO a lang fájlban a legjobb; itt csak ro */
	html:lang(ro) main:has(.bannerslider) .ourrooms h2,
	html[lang|="ro"] main:has(.bannerslider) .ourrooms h2 {
		line-height: 0;
		font-size: 0;
		color: transparent;
	}
	html:lang(ro) main:has(.bannerslider) .ourrooms h2 br,
	html[lang|="ro"] main:has(.bannerslider) .ourrooms h2 br {
		display: none;
	}
	html:lang(ro) main:has(.bannerslider) .ourrooms h2::after,
	html[lang|="ro"] main:has(.bannerslider) .ourrooms h2::after {
		content: "CAMERELE" "\A" "NOASTRE";
		white-space: pre;
		display: block;
		font-family: 'Montserrat', sans-serif;
		font-style: normal;
		font-weight: 900;
		font-size: clamp(2.2rem, 6.1vw, 2.9rem);
		line-height: 1.08;
		letter-spacing: var(--col-h2-track, 0.11em);
		text-transform: uppercase;
		color: #EB5757;
		text-align: left;
		text-shadow: none;
	}
	/* Szobanevek a kártyán: mobil ~4pt a korábbi 72px/414-clamp alaphoz képest */
	.sec3right h3 {
		font-size: clamp(1.65rem, 6.1vw, 2.1rem) !important;
		line-height: 0.95;
	}
	.faqs{
		margin-top: 20px;
	}
	.book{
		display: none;
	}
	.datepic{
		width: 100%;
		margin-left: 0;
	}
	.searchbtn {
		width: 100%;
		float: left;
		margin-left: 0;
		margin-top: 20px;
	}
	.ftleft{
		width: 100%;
	}
	.ftright{
		width: 100%;
		padding-top: 20px;
	}
	.m-footer .ftright {
		display: block !important;
		text-align: center !important;
		width: 100% !important;
		max-width: 100% !important;
		float: none !important;
		padding: 10px 8px 0 !important;
		box-sizing: border-box !important;
	}
	.m-footer .ftcontact,
	.m-footer .socialicons {
		float: none !important;
		width: auto !important;
		max-width: 100% !important;
		display: inline-flex !important;
		align-items: center !important;
		margin: 0 !important;
	}
	.m-footer .ftcontact ul,
	.m-footer .socialicons ul {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 4px 8px !important;
	}
	.m-footer .ftcontact ul li {
		border: none !important;
		padding: 0 2px !important;
	}
	.footer{
		padding-top: 30px;
	}
	.addnum{
		height: 34px;
	}
	.header{
		background: #212121;
		padding-bottom: 15px;
		/* Safe area (notch) + small gap so the logo (chain) is not flush/clipped to the top */
		padding-top: calc(8px + env(safe-area-inset-top, 0px));
		overflow: visible;
	}
	/* Mobil: nyitott menü — mint desktopon, fix fejléc + menupanel offset, ne vágja a logót / X-et */
	.header.menuactive,
	.header.sticky.menuactive {
		overflow: visible;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		background: #212121;
		padding-top: max(12px, calc(8px + env(safe-area-inset-top, 0px)));
		padding-bottom: 10px;
		padding-left: max(12px, env(safe-area-inset-left, 0px));
		padding-right: max(12px, env(safe-area-inset-right, 0px));
		z-index: 10001;
	}
	.header.menuactive .logo,
	.header.sticky.menuactive .logo {
		padding-top: 2px;
	}
	.header.menuactive .logo img,
	.header.sticky.menuactive .logo img {
		height: 56px;
		max-height: 56px;
		width: auto;
		object-fit: contain;
	}
	.header.menuactive .menus,
	.header.sticky.menuactive .menus {
		padding-top: 4px;
	}
	.header.menuactive + .menupanel,
	.header.sticky.menuactive + .menupanel {
		top: calc(82px + env(safe-area-inset-top, 0px));
		z-index: 10000;
		padding-top: 6px;
		box-sizing: border-box;
	}
	.header.menuactive + .menupanel > ul:first-child,
	.header.sticky.menuactive + .menupanel > ul:first-child,
	.header.menuactive + .menupanel nav > ul:first-child,
	.header.sticky.menuactive + .menupanel nav > ul:first-child {
		margin-top: 4px;
		padding-top: 0;
	}
	.logo img {
		display: block;
		object-fit: contain;
	}
	/* Rezervare: kevesebb üres a menü és a cím, illetve a cím és a szűrő között */
	.page--booking {
		margin-top: 0;
		padding-top: 0;
	}
	.page--booking .container {
		padding-top: 2px;
		padding-bottom: 0;
	}
	.page--booking h1 {
		margin: 0 0 0;
		line-height: 1.05;
	}
	.sec3--booking {
		padding-top: 0;
		margin-top: 0;
	}
	/* a globális .selectdate { padding-top: 50px } a booking űrlapon felesleges helyet ad */
	.sec3--booking .selectdate {
		padding-top: 10px !important;
	}
	.sec3--booking .today-cls {
		padding-top: 10px !important;
	}
	.sec3--booking .today-cls h2 {
		padding-top: 6px !important;
	}
	/* Bootstrap my-4/mb-4: mobilon kevesebb üres a kártyák / footer között */
	.sec3--booking .booking-room-card.my-4,
	.sec3--booking .booking-room-card.mb-4 {
		margin-bottom: 1rem !important;
	}
	.booking-scroll-anchor {
		height: 1px;
		margin: 0;
		padding: 0;
		overflow: hidden;
		clip-path: inset(50%);
		scroll-margin-top: 72px;
	}
	.sec3--booking > .container:first-of-type {
		padding-top: 6px;
	}
}

@media screen and (max-width:414px){
	.difficulty h2{
		font-size: 50px;
	}
	.sec3right img{
		width: 100%;
	}
	.sec3right h3 {
		font-size: clamp(1.5rem, 5.6vw, 1.95rem) !important;
		line-height: 0.95;
	}
	.ourrooms h2{
		font-size: clamp(2.6rem, 7vw, 3.35rem);
		line-height: 1.02;
	}
	html:lang(ro) main:has(.bannerslider) .ourrooms h2::after {
		font-size: clamp(2.05rem, 5.5vw, 2.6rem);
		line-height: 1.04;
		letter-spacing: var(--col-h2-track, 0.11em);
	}
	.escape h2{
		font-size: clamp(1.55rem, 5.4vw, 2rem);
		line-height: 0.7;
		letter-spacing: var(--col-h2-track, 0.11em);
	}
	.tophead h1 {
		font-size: 50px;
	}
}
@media screen and (max-width:350px){

	.tophead h1 {
		font-size: 40px;
	}
}

.btn.btn-primary {
	background: transparent;
	border: 1px solid #fff;
	border-radius: 7px;
	width: 100%;
	height: 40px;
	line-height: 40px;
	text-align: center;
	font-family: Space Mono;
	padding: 0;
	color: #fff !important;
	text-transform: uppercase;
}
.btn.btn-primary.btn-primary-red {
	border: 1px solid #EB5757;
}

.btn.btn-secondary {
	width: 100%;
	background: #353535;
	border-color: #353535;

	line-height: 48px;
	text-align: center;
	padding: 0;
}

.btn.btn-secondary:hover {
	background: #353535;
	border-color: #fff;
}

.progress{
	height: 3px;
	line-height: 3px;
	border-radius: 0px;
	background: #f0f0f0;
	box-shadow: none;
	overflow: visible;
}

.progress-bar{
	position: relative;
	border-radius: 0;
	opacity: 0;
}

.progress .progress-value{
	display: block;
	font-size: 0px;
	color: #fff;
	position: absolute;
	top: 0;
	right: 8px;
	text-indent: -5em;
}

@-webkit-keyframes animate-positive{
	0% { width: 0%; }
}
@keyframes animate-positive{
	0% { width: 0%; }
}

img {
	max-width: 100%;
}
.page h1{
	font-size: 48px;
	line-height: 85.3%;
	text-transform: uppercase;
	color: #EB5757;
	font-weight: 900;
}
.page p{
	color: #fff;
}
.page h3{
	padding-top: 50px;
	font-family: 'Montserrat', sans-serif;
	font-style: normal;
	font-weight: 900;
	font-size: 65px;
	line-height: 85.3%;
	text-transform: uppercase;
	color: #E5E5E5;
}

/* Voucher: SEO <h1> — világos szöveg (a .page h1 globál piros/nagybetű itt nem illik) */
.page.voucher-hero h1.voucher-nav-title {
	color: #E5E5E5;
	font-size: clamp(1.05rem, 2.4vw, 1.35rem);
	line-height: 1.35;
	text-transform: none;
	font-weight: 700;
	font-family: 'Montserrat', sans-serif;
	padding-top: 1.25rem;
	margin: 0;
	letter-spacing: 0.03em;
}

/* Árak oldal: csak a valós ár, nagy betű, nincs áthúzott „régi” ár */
.page .faqs h1.price-page-amount {
	font-size: clamp(2.25rem, 4.2vw, 3.25rem);
	line-height: 1.1;
	margin: 0.35em 0 0.2em;
	font-weight: 800;
	letter-spacing: 0.02em;
}
.page .faqs .price-cut-of,
.page .faqs del {
	display: none;
}

@media screen and (max-width:768px){
	.page h1{
		font-size: 28px;
	}
	.page p{
		color: #fff;
	}
	.page h3{
		font-size: 35px;
	}
}

/* Bootstrap modals: light panel (legible); site body is dark — do not inherit */
.modal-content {
	background: #ffffff;
	color: #212121;
	border: 1px solid #e4e4e4;
	border-radius: 10px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}
.modal-content p,
.modal-content li,
.modal-content label,
.modal-content .form-control,
.modal-content .form-text {
	color: #212121;
}
.modal-content a {
	color: #0b57d0;
	text-decoration: underline;
}
.modal-content a:hover {
	color: #0842a0;
}
.modal-content h1,
.modal-content h2,
.modal-content h3,
.modal-content h4,
.modal-content h5,
.modal-content h6 {
	color: #212121;
}
.modal-header {
	border-bottom: 1px solid #e4e4e4;
	color: #212121;
}
.modal-header .close {
	color: #212121;
	opacity: 0.55;
	text-shadow: none;
}
.modal-header .close:hover {
	opacity: 1;
}
.modal-footer {
	border-top: 1px solid #e4e4e4;
}
/* Global .btn is white-outline for dark pages; in modals use readable filled style */
.modal-content .btn.btn-primary {
	background: #EB5757;
	border: 1px solid #EB5757;
	color: #ffffff !important;
}
.modal-content .btn.btn-primary:hover {
	background: #d44a4a;
	border-color: #d44a4a;
	color: #ffffff !important;
}
.modal-content .btn.btn-secondary {
	background: #353535;
	border: 1px solid #353535;
	color: #ffffff !important;
}
.modal-content .btn.btn-secondary:hover {
	background: #212121;
	border-color: #212121;
	color: #ffffff !important;
}
.modal {
	position: fixed;
	top: 3%;
	right: 3%;
	left: 3%;
	width: auto;
	margin: 0;
}

.modal-body {
	max-height: 90%;
	padding: 15px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	color: #212121;
}

body.modal-open {
	overflow: hidden;
	position: fixed;
	width: 100%;
}

.modal.fade {
	z-index: 99999;
}

.previous-date.datebox {
	height: 100%;
	box-sizing: border-box;
	line-height: 100%;
	margin-top: 0;
	padding: 0;
	font-size: 40px;
}
.previous-date.datebox svg{
	top: calc(50% - 20px);
	position: relative;
}
@media screen and (min-width:768px) {
	.booking-slots .datebox {
		margin-top: 0;
	}
}
/* Booking (rezervare) refinement */
.booking-slots{
	margin-left: 0;
	margin-right: 0;
}
.booking-slots .datebox{
	width: 100%;
	/* ne örökölje a globális .datebox { padding: 35px 0; } függőleges törpítést */
	padding: 0 10px;
	float: none;
	border-radius: 12px;
	box-sizing: border-box;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.006em;
	background: #353535;
	color: #e0e0e0;
	border: 1px solid transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2;
	text-align: center;
}
.booking-slots .datebox:hover{
	background: #3b3b3b !important;
	color: #f2f2f2 !important;
}
/* Keep slots centered in each grid cell */
.booking-slots .col-md-4{
	display: flex;
	justify-content: center;
	padding-bottom: 0 !important;
}
/* Mobile slot buttons (Figma proportion scaled down) */
@media screen and (max-width:767px){
	.booking-slots .datebox{
		width: 136px !important;
		max-width: 136px !important;
		height: 44px !important;
		min-height: 44px !important;
		padding: 0 8px !important;
		border-radius: 10px;
		font-size: 14px;
		font-weight: 600;
		letter-spacing: 0;
		color: #e0e0e0;
		background: #353535;
	}
	.booking-slots .col-md-4{
		flex: 0 0 calc((100% - 16px) / 2);
		max-width: calc((100% - 16px) / 2);
		padding-left: 0;
		padding-right: 0;
	}
	.booking-slots{
		column-gap: 16px;
		row-gap: 16px;
	}
}
/* Desktop slot buttons (designer spec): 170x85 */
@media screen and (min-width:768px){
	.booking-slots .datebox{
		max-width: 170px;
		height: 85px;
		min-height: 85px;
		border-radius: 12px;
		font-size: 16px;
	}
}
.sec3 .booking-room-media picture,
.sec3 .booking-room-media img{
	display: block;
	width: 100%;
}
.sec3 .booking-room-media img{
	border-radius: 10px;
}
/* Desktop booking: kép|gap|slotok — a column-gap a képnél ugyanaz, mint a slotok közti gap (egy változó) */
/* Keskeny container (~930px) alá általában nem fér a nagy 42px gap; kisebb gap + méretek = nem takar a slot a képre */
@media screen and (min-width: 992px){
	.sec3{
		--booking-slot-w: 131px;
		--booking-slot-h: 76px;
		--booking-slot-gap: 14px;
		--booking-image-w: 290px;
		/* PC slot szélesség: oszlop-párok (grid-auto-flow: column + 2 sor) */
		--booking-image-h: calc((var(--booking-slot-h) * 2) + var(--booking-slot-gap));
		--booking-slots-w: 100%;
		--booking-row-w: calc(var(--booking-image-w) + var(--booking-slot-gap) + var(--booking-slots-w));
	}
	.sec3 .today-cls{
		padding-top: 16px;
		padding-bottom: 22px !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	.sec3 .today-cls .booking-room-heading{
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		text-align: left;
		padding-left: 0;
		box-sizing: border-box;
	}
	.sec3 .today-cls > .booking-room-row{
		display: grid;
		grid-template-columns: var(--booking-image-w) minmax(0, 1fr);
		column-gap: 0;
		align-items: start;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		box-sizing: border-box;
	}
	.sec3 .today-cls > .booking-room-row > [class*="col-"]{
		max-width: none;
		padding-left: 0;
		padding-right: 0;
	}
	.sec3 .booking-room-media{
		min-width: 0;
		position: relative;
		z-index: 2;
	}
	.sec3 .booking-room-slots-col{
		min-width: 0;
		position: relative;
		z-index: 1;
		width: 100%;
		max-width: none;
		padding-left: var(--booking-slot-gap);
		box-sizing: border-box;
	}
	.sec3 .booking-room-media img{
		width: 100%;
		max-width: var(--booking-image-w);
		height: var(--booking-image-h);
		object-fit: cover;
		border-radius: 12px;
	}
	/* PC: 2 magas oszlopok — lefelé tölt, majd jobbra (2+2+2…), nem 5+1 „foghíjas” sor */
	.sec3 .booking-slots{
		display: grid;
		grid-auto-flow: column;
		grid-template-rows: repeat(2, var(--booking-slot-h));
		grid-auto-columns: minmax(118px, 1fr);
		column-gap: var(--booking-slot-gap);
		row-gap: var(--booking-slot-gap);
		margin: 0;
		justify-content: start;
		align-content: start;
	}
	/* Grid cell: teljes oszlopszélesség — ne zsugorítson a tartalomra (nem „kapszula” gomb) */
	.sec3 .booking-slots .booking-slot-item{
		margin: 0 !important;
		padding: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		display: block;
		box-sizing: border-box;
	}
	/* Figma: 170×85, széles téglalap, enyhén lekerekítve — felülírja a globális .datebox padding: 35px 0; */
	.sec3 .booking-slots .datebox{
		box-sizing: border-box;
		float: none;
		margin: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: var(--booking-slot-h) !important;
		min-height: var(--booking-slot-h) !important;
		max-height: var(--booking-slot-h) !important;
		padding: 0 10px !important;
		white-space: nowrap;
		line-height: 1.15;
		font-size: clamp(13px, 1.1vw, 15px);
		border-radius: 12px;
	}
}
/* Közepes desktop: Figma-hoz közelebb, még mindig ugyanaz a kép|slot = slot|slot gap */
@media screen and (min-width: 1200px){
	.sec3{
		--booking-slot-w: 142px;
		--booking-slot-h: 82px;
		--booking-slot-gap: 18px;
		--booking-image-w: 330px;
		/* PC slot szélesség: oszlop-párok (grid-auto-flow: column + 2 sor) */
		--booking-image-h: calc((var(--booking-slot-h) * 2) + var(--booking-slot-gap));
		--booking-slots-w: 100%;
		--booking-row-w: calc(var(--booking-image-w) + var(--booking-slot-gap) + var(--booking-slots-w));
	}
}
/* Nagy képernyő: bővebb, de a teljes sáv még férjen */
@media screen and (min-width: 1400px){
	.sec3{
		--booking-slot-w: 149px;
		--booking-slot-h: 84px;
		--booking-slot-gap: 22px;
		--booking-image-w: 360px;
		/* PC slot szélesség: oszlop-párok (grid-auto-flow: column + 2 sor) */
		--booking-image-h: calc((var(--booking-slot-h) * 2) + var(--booking-slot-gap));
		--booking-slots-w: 100%;
		--booking-row-w: calc(var(--booking-image-w) + var(--booking-slot-gap) + var(--booking-slots-w));
	}
}
.today-cls h2{
	font-weight: 400;
}
/* Day can be wrapped as <strong>, <b> or .bld in template */
.today-cls h2 strong,
.today-cls h2 b,
.today-cls h2 .bld{
	font-weight: 700;
}
/* Ne írja felül a Rezervare szoba címét / dátumát — csak a régebbi h2 span szerkezetre */
.today-cls h2 > span:not(.booking-room-date):not(.booking-room-name) {
	font-weight: 400;
}
.sec3 .booking-room-heading{
	font-family: 'Montserrat', sans-serif;
	font-size: clamp(1.45rem, 2.15vw, 2rem);
	line-height: 1.08;
	font-weight: 800;
	text-transform: uppercase;
	color: #f3f3f3;
	letter-spacing: 0.01em;
	margin-bottom: 14px;
	text-align: left;
}
.sec3 .booking-room-heading .booking-room-name{
	font-weight: 900;
	display: inline;
}
.sec3 .booking-room-heading .booking-room-meta{
	font-size: clamp(1.1rem, 1.55vw, 1.36rem);
	font-weight: 700;
	opacity: 0.96;
	letter-spacing: 0.005em;
}
@media screen and (max-width: 991px){
	.sec3 .booking-room-heading{
		font-size: clamp(1.12rem, 6vw, 1.68rem);
		line-height: 1.14;
		margin-bottom: 10px;
	}
	.sec3 .booking-room-heading .booking-room-name{
		display: block;
		margin-bottom: 2px;
	}
	.sec3 .booking-room-heading .booking-room-meta{
		display: block;
		font-size: clamp(0.98rem, 4.1vw, 1.2rem);
		font-weight: 700;
	}
}

.select-hidden {
	display: none;
	visibility: hidden;
	padding-right: 10px;
}

.select {
	cursor: pointer;
	display: inline-block;
	position: relative;
	font-size: 16px;
	color: #fff;
	width: 100%;
	height: 52px;
	line-height: 47px;
	border-bottom: 2px solid #74706f;
}

.select-styled {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #212121;
	padding: 8px 15px;
	-moz-transition: all 0.1s ease-in;
	-o-transition: all 0.1s ease-in;
	-webkit-transition: all 0.1s ease-in;
	transition: all 0.1s ease-in;
}
.select-styled:after {
	content: "";

	position: absolute;
	content: '';
	background: url(../images/arrow-down.png) no-repeat;
	width: 28px;
	height: 16px;
	bottom: 10px;
	right: 0;
}
.select-styled:hover {
	background-color: #212121;
}
.select-styled:active, .select-styled.active {
	background-color: #212121;
}
.select-styled:active:after, .select-styled.active:after {
	transform: rotate(180deg);
}

.select-options {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 999;
	margin: 0;
	padding: 0;
	list-style: none;
	line-height: 23px;
	background-color: #212121;
	border-bottom: 2px solid #74706f;
}
.select-options li {
	margin: 0;
	padding: 12px 0;
	text-indent: 15px;
	border-top: 1px solid #212121;
	-moz-transition: all 0.05s ease-in;
	-o-transition: all 0.05s ease-in;
	-webkit-transition: all 0.05s ease-in;
	transition: all 0.05s ease-in;
}
.select-options li:hover {
	color: #777;
	background: #fff;
}
.select-options li[rel="all"] {
	display: none;
}
#timer div {
	display: inline-block;
	line-height: 1;
	padding: 0 20px;
	font-size: 45px;
}

#timer span {
	display: block;
	font-size: 20px;
	color: white;
}

#days {
	font-size: 100px;
	color: #db4844;
}
#hours {
	font-size: 100px;
	color: #f07c22;
}
#minutes {
	font-size: 100px;
	color: #EB5757;
}
#seconds {
	font-size: 50px;
	color: #EB5757;
}
.difficulty-before:hover {
	max-width: 147px;
	height: 149px;
	margin-top: 0px;
}
.difficulty-before.down:hover {
	top: 149px;
}
.difficulty-before {
	display: inline-block;
	width: 100%;
	max-width: 107px;
	height: 109px;
	position: relative;
	overflow: hidden;
	margin-bottom: 109px;
	top : -20px;
	margin-top: 40px;
}
.difficulty-before.down {
	top: 109px;
}
.difficulty-before:before {
	background: url("../images/difficulty-before.png") ;
	background-size: 100% 100%;
	width: 100%;
	height: 100%;
	content:  ' ';
	display: block;
	position: absolute;
	left: 0;
	top: 0;
}

.difficulty-before.down:before {
	transform: rotate(180deg);
}

.personsdata.collapse.show + .order2, .personsdata.collapse.show + .order2 + .order1 {
	display: none;
}

/* jquery.ihavecookies: plugin ships without layout — without fixed, the bar sits at document end */
#gdpr-cookie-message {
	position: fixed !important;
	z-index: 100000 !important;
	left: 12px;
	right: auto;
	bottom: 12px;
	max-width: min(400px, calc(100vw - 24px));
	margin: 0;
	box-sizing: border-box;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.35);
	background: #ffffff !important;
	color: #212121 !important;
	padding: 16px 18px !important;
	border-radius: 10px;
	border: 1px solid #e4e4e4;
}
#gdpr-cookie-message a {
	color: #0b57d0 !important;
}
#gdpr-cookie-message button {
	color: #212121 !important;
	background: #f0f0f0 !important;
	border: 1px solid #b8b8b8 !important;
	border-radius: 6px;
	padding: 8px 14px !important;
	font-weight: 600;
}
#gdpr-cookie-message button:hover {
	background: #e4e4e4 !important;
	border-color: #999 !important;
}

@media screen and (max-width: 576px) {
	/* Keep a card above the footer instead of a full-width strip over content */
	#gdpr-cookie-message {
		left: 10px;
		right: 10px;
		bottom: calc(10px + env(safe-area-inset-bottom, 0px));
		max-width: none;
	}
}

/* Ruin typography profiles:
   - default: elegant ruin (white-first)
   - optional stronger variant: add class `ruin-raw` on body */
:root {
	--ruin-stripe-soft: rgba(232, 232, 232, 0.5);
	--ruin-stripe-hard: rgba(246, 246, 246, 0.3);
	--ruin-spray-a: rgba(238, 238, 238, 0.36);
	--ruin-spray-b: rgba(248, 248, 248, 0.2);
	--ruin-wave-duration: 5.6s;
	--ruin-breath-duration: 6.2s;
	--ruin-jitter-duration: 7.4s;
}
body.ruin-raw {
	--ruin-stripe-soft: rgba(224, 224, 224, 0.66);
	--ruin-stripe-hard: rgba(242, 242, 242, 0.44);
	--ruin-spray-a: rgba(236, 236, 236, 0.48);
	--ruin-spray-b: rgba(248, 248, 248, 0.3);
	--ruin-wave-duration: 4.6s;
	--ruin-breath-duration: 5.2s;
	--ruin-jitter-duration: 5.8s;
}

/* Szobanevek: feher alap, toredezett vilagosszurke ruin/glitch */
@keyframes exit-text-glitch-scan {
	0% { background-position: 170% 50%, 0 0, 48% 45%; }
	100% { background-position: -170% 50%, 120% 0, 54% 55%; }
}
@keyframes exit-soft-text-breath {
	0%, 100% {
		filter: drop-shadow(0 0 0 rgba(255, 255, 255, 0));
		text-shadow:
			0 1px 1px rgba(0, 0, 0, 0.24),
			0 0 4px rgba(255, 255, 255, 0.12);
	}
	50% {
		filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.14));
		text-shadow:
			0 1px 1px rgba(0, 0, 0, 0.26),
			0 0 7px rgba(255, 255, 255, 0.2);
	}
}
@keyframes exit-text-tv-jitter {
	0%, 18%, 100% {
		transform: translateX(0);
		opacity: 1;
	}
	19% {
		transform: translateX(-0.45px);
		opacity: 0.985;
	}
	20% {
		transform: translateX(0.55px);
		opacity: 1;
	}
	52% {
		transform: translateX(-0.35px);
	}
	53% {
		transform: translateX(0.35px);
	}
	77% {
		transform: translateX(-0.6px);
	}
	78% {
		transform: translateX(0);
	}
}
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.bannerslider .bankrobbery h1,
	.sec3right h3 {
		color: transparent;
		background-image:
			linear-gradient(
				108deg,
				#ffffff 0%,
				#ffffff 36%,
				#f6f6f6 44%,
				#ececec 48%,
				#f8f8f8 53%,
				#ffffff 64%,
				#ffffff 100%
			),
			repeating-linear-gradient(
				132deg,
				rgba(255, 255, 255, 0) 0%,
				rgba(255, 255, 255, 0) 5.6%,
				rgba(237, 237, 237, 0.26) 6.1%,
				rgba(255, 255, 255, 0) 6.8%,
				rgba(230, 230, 230, 0.18) 7.2%,
				rgba(255, 255, 255, 0) 7.9%
			),
			repeating-linear-gradient(
				90deg,
				rgba(255, 255, 255, 0) 0%,
				rgba(255, 255, 255, 0) 7.2%,
				var(--ruin-stripe-soft) 7.5%,
				var(--ruin-stripe-hard) 8.1%,
				rgba(255, 255, 255, 0) 9%
			),
			radial-gradient(
				ellipse at 52% 46%,
				var(--ruin-spray-a) 0%,
				var(--ruin-spray-b) 14%,
				rgba(255, 255, 255, 0) 33%
			);
		background-size: 340% 100%, 170% 170%, 230% 100%, 165% 180%;
		background-position: 50% 50%, 42% 58%, 0 0, 52% 46%;
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
		animation: none;
		/* If you later want motion back, add `ruin-animate` on body */
		will-change: auto;
	}
	body.ruin-animate .bannerslider .bankrobbery h1,
	body.ruin-animate .sec3right h3 {
		animation:
			exit-text-glitch-scan var(--ruin-wave-duration) ease-in-out infinite,
			exit-soft-text-breath var(--ruin-breath-duration) ease-in-out infinite,
			exit-text-tv-jitter var(--ruin-jitter-duration) steps(1, end) infinite;
		will-change: background-position, transform;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bannerslider .bankrobbery h1,
	.sec3right h3 {
		animation: none;
		color: #ffffff;
		-webkit-text-fill-color: #ffffff;
		background: none;
		-webkit-background-clip: initial;
		background-clip: initial;
	}
}

/* ===== Booking desktop hard reset (stabil, no overlap) ===== */
@media screen and (min-width: 992px){
	.sec3 .today-cls .booking-room-heading{
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		text-align: left !important;
	}
	.sec3 .today-cls > .booking-room-row{
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		gap: 16px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.sec3 .booking-room-media{
		flex: 0 0 300px !important;
		max-width: 300px !important;
		min-width: 300px !important;
		position: relative;
		z-index: 2;
	}
	.sec3 .booking-room-media img{
		width: 100% !important;
		height: 170px !important;
		object-fit: cover !important;
		border-radius: 12px !important;
	}
	.sec3 .booking-room-slots-col{
		flex: 1 1 auto !important;
		min-width: 0 !important;
		max-width: none !important;
		padding-left: 0 !important;
		position: relative;
		z-index: 1;
	}
	.sec3 .booking-slots{
		display: grid !important;
		grid-auto-flow: column !important;
		grid-template-rows: repeat(2, 72px) !important;
		grid-auto-columns: minmax(110px, 1fr) !important;
		column-gap: 16px !important;
		row-gap: 16px !important;
		margin: 0 !important;
		justify-content: start !important;
		align-content: start !important;
	}
	.sec3 .booking-slots .booking-slot-item{
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.sec3 .booking-slots .datebox{
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 72px !important;
		min-height: 72px !important;
		max-height: 72px !important;
		margin: 0 !important;
		padding: 0 8px !important;
		float: none !important;
		white-space: nowrap !important;
		line-height: 1.1 !important;
		font-size: 14px !important;
		border-radius: 10px !important;
	}
}

/* Booking title hierarchy + softer separators (desktop + mobile) */
.sec3 .booking-room-card.booking-room-divider{
	border-bottom: 1px solid rgba(255, 255, 255, 0.35);
}
.sec3 .booking-room-heading{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
}
.sec3 .booking-room-heading .booking-room-date{
	font-size: clamp(0.86rem, 0.95vw, 0.98rem);
	line-height: 1.05;
	font-weight: 500;
	opacity: 0.82;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}
.sec3 .booking-room-heading .booking-room-name{
	font-size: clamp(2rem, 2.85vw, 2.45rem);
	line-height: 0.95;
	font-weight: 900;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}
@media screen and (max-width: 991px){
	.sec3 .booking-room-heading .booking-room-date{
		font-size: 0.82rem;
	}
	.sec3 .booking-room-heading .booking-room-name{
		font-size: clamp(1.55rem, 7vw, 2rem);
		line-height: 0.96;
	}
}

@media screen and (min-width: 1200px){
	.sec3 .today-cls > .booking-room-row{
		gap: 18px !important;
	}
	.sec3 .booking-room-media{
		flex-basis: 320px !important;
		max-width: 320px !important;
		min-width: 320px !important;
	}
	.sec3 .booking-room-media img{
		height: 176px !important;
	}
	.sec3 .booking-slots{
		column-gap: 18px !important;
		row-gap: 18px !important;
	}
	.sec3 .booking-slots .datebox{
		height: 76px !important;
		min-height: 76px !important;
		max-height: 76px !important;
	}
}

/* ===== Final desktop booking layout (Figma-oriented, stable) ===== */
@media screen and (min-width: 992px){
	.sec3{
		--final-booking-image-w: 300px;
		--final-booking-image-h: 170px;
		--final-booking-slot-w: 132px;
		--final-booking-slot-h: 72px;
		--final-booking-gap: 14px;
	}
	.sec3 .today-cls .booking-room-heading{
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 10px 0 !important;
		text-align: left !important;
	}
	.sec3 .today-cls > .booking-room-row{
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		gap: var(--final-booking-gap) !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}
	.sec3 .booking-room-media{
		flex: 0 0 var(--final-booking-image-w) !important;
		max-width: var(--final-booking-image-w) !important;
		min-width: var(--final-booking-image-w) !important;
	}
	.sec3 .booking-room-media img{
		width: var(--final-booking-image-w) !important;
		height: var(--final-booking-image-h) !important;
		object-fit: cover !important;
		border-radius: 12px !important;
	}
	.sec3 .booking-room-slots-col{
		flex: 1 1 auto !important;
		min-width: 0 !important;
		max-width: none !important;
		padding-left: 0 !important;
	}
	.sec3 .booking-slots{
		display: grid !important;
		grid-auto-flow: column !important;
		grid-template-rows: repeat(2, var(--final-booking-slot-h)) !important;
		grid-auto-columns: minmax(120px, 1fr) !important;
		column-gap: var(--final-booking-gap) !important;
		row-gap: var(--final-booking-gap) !important;
		justify-content: start !important;
		align-content: start !important;
		margin: 0 !important;
	}
	.sec3 .booking-slots .booking-slot-item{
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block !important;
	}
	.sec3 .booking-slots .datebox{
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: var(--final-booking-slot-h) !important;
		min-height: var(--final-booking-slot-h) !important;
		max-height: var(--final-booking-slot-h) !important;
		margin: 0 !important;
		padding: 0 8px !important;
		float: none !important;
		background: #353535 !important;
		color: #e0e0e0 !important;
		border: 1px solid transparent !important;
		border-radius: 10px !important;
		white-space: nowrap !important;
		line-height: 1.1 !important;
		font-size: 14px !important;
	}
}

@media screen and (min-width: 1200px){
	.sec3{
		--final-booking-image-w: 320px;
		--final-booking-image-h: 176px;
		--final-booking-slot-w: 140px;
		--final-booking-slot-h: 76px;
		--final-booking-gap: 16px;
	}
}

/* ===== Desktop booking recovery (authoritative override) ===== */
@media screen and (min-width: 992px){
	.sec3 .today-cls .booking-room-heading{
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}
	.sec3 .today-cls > .booking-room-row{
		display: grid !important;
		grid-template-columns: 320px minmax(0, 1fr) !important;
		column-gap: 18px !important;
		align-items: start !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 35px 0 70px 0 !important;
	}
	.sec3 .today-cls > .booking-room-row > [class*="col-"]{
		max-width: none !important;
		padding: 0 !important;
	}
	.sec3 .booking-room-media{
		grid-column: 1 !important;
		width: 320px !important;
		min-width: 320px !important;
		max-width: 320px !important;
	}
	.sec3 .booking-room-media picture,
	.sec3 .booking-room-media img{
		width: 320px !important;
		height: 176px !important;
		max-width: 320px !important;
		min-width: 320px !important;
		object-fit: cover !important;
		border-radius: 12px !important;
		display: block !important;
	}
	.sec3 .booking-room-slots-col{
		grid-column: 2 !important;
		min-width: 0 !important;
		max-width: none !important;
		width: 100% !important;
		padding: 0 !important;
	}
	.sec3 .booking-slots{
		display: grid !important;
		grid-auto-flow: column !important;
		grid-template-rows: repeat(2, 72px) !important;
		grid-auto-columns: minmax(118px, 1fr) !important;
		column-gap: 14px !important;
		row-gap: 14px !important;
		margin: 0 !important;
		justify-content: start !important;
		align-content: start !important;
	}
	.sec3 .booking-slots .booking-slot-item{
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.sec3 .booking-slots .datebox{
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 72px !important;
		min-height: 72px !important;
		max-height: 72px !important;
		margin: 0 !important;
		padding: 0 8px !important;
		float: none !important;
		border-radius: 10px !important;
		font-size: 14px !important;
		line-height: 1.1 !important;
		white-space: nowrap !important;
		box-sizing: border-box !important;
	}
}

/* ===== FIGMA START BASELINE (restore point) ===== */
@media screen and (min-width: 992px){
	.sec3 .today-cls .booking-room-heading{
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 14px 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}
	.sec3 .today-cls > .booking-room-row{
		display: grid !important;
		grid-template-columns: 320px 1fr !important;
		column-gap: 16px !important;
		align-items: start !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 35px 0 70px 0 !important;
	}
	.sec3 .today-cls > .booking-room-row > [class*="col-"]{
		max-width: none !important;
		padding: 0 !important;
	}
	.sec3 .booking-room-media{
		width: 320px !important;
		min-width: 320px !important;
		max-width: 320px !important;
	}
	.sec3 .booking-room-media picture,
	.sec3 .booking-room-media img{
		display: block !important;
		width: 320px !important;
		min-width: 320px !important;
		max-width: 320px !important;
		height: 176px !important;
		min-height: 176px !important;
		max-height: 176px !important;
		object-fit: cover !important;
		border-radius: 10px !important;
	}
	.sec3 .booking-room-slots-col{
		min-width: 0 !important;
		max-width: none !important;
		width: 100% !important;
		padding: 0 !important;
	}
	.sec3 .booking-slots{
		display: grid !important;
		grid-auto-flow: column !important;
		grid-template-rows: repeat(2, 76px) !important;
		grid-auto-columns: minmax(124px, 1fr) !important;
		column-gap: 16px !important;
		row-gap: 16px !important;
		justify-content: start !important;
		align-content: start !important;
		margin: 0 !important;
	}
	.sec3 .booking-slots .booking-slot-item{
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.sec3 .booking-slots .datebox{
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		height: 76px !important;
		min-height: 76px !important;
		max-height: 76px !important;
		margin: 0 !important;
		padding: 0 8px !important;
		float: none !important;
		border-radius: 12px !important;
		font-size: 14px !important;
		line-height: 1.1 !important;
		white-space: nowrap !important;
		box-sizing: border-box !important;
	}
}

/* ===== Booking mobil (Figma): szöveg → kép → 2 oszlop slotok; egy gap változó ===== */
@media screen and (max-width: 991px) {
	.sec3 {
		/* Minden irányban ugyanaz a rácsvonal-távolság (slot–slot, kép–slot blokk) */
		--booking-mobile-gap: clamp(11px, 3.2vw, 16px);
	}
	.sec3 .today-cls > .booking-room-row {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: var(--booking-mobile-gap) !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 28px 0 !important;
	}
	.sec3 .today-cls > .booking-room-row > [class*="col-"] {
		max-width: 100% !important;
		flex: 0 0 auto !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.sec3:not(.sec3--room-book) .today-cls .booking-room-heading {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 0 clamp(6px, 1.8vw, 10px) 0 !important;
		padding: 0 !important;
		text-align: left !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 6px !important;
	}
	.sec3 .booking-room-heading .booking-room-date {
		display: block !important;
		width: 100% !important;
		font-size: clamp(0.6875rem, 3vw, 0.8125rem) !important;
		line-height: 1.3 !important;
		font-weight: 600 !important;
		opacity: 0.9 !important;
		letter-spacing: 0.02em !important;
	}
	.sec3 .booking-room-heading .booking-room-name {
		display: block !important;
		width: 100% !important;
		margin-top: 0 !important;
		font-size: clamp(1.05rem, 4.3vw, 1.2rem) !important;
		line-height: 1.18 !important;
		font-weight: 800 !important;
		letter-spacing: 0.03em !important;
	}
	.sec3 .booking-room-media picture,
	.sec3 .booking-room-media img {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: 16 / 9 !important;
		object-fit: cover !important;
		border-radius: 12px !important;
		display: block !important;
	}
	.sec3 .booking-room-slots-col {
		padding: 0 !important;
		min-width: 0 !important;
		width: 100% !important;
	}
	.sec3 .booking-slots.row {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.sec3 .booking-slots {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		align-items: stretch !important;
		justify-items: stretch !important;
		column-gap: var(--booking-mobile-gap) !important;
		row-gap: var(--booking-mobile-gap) !important;
		margin: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	/* Bootstrap .col-*: flex 50% / max-width 50% ütközik a 2 oszlopos griddel */
	.sec3 .booking-slots > .booking-slot-item[class*="col-"] {
		display: block !important;
		grid-column: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		flex: 0 1 auto !important;
		align-self: stretch !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.sec3 .booking-slots .booking-slot-item {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	.sec3 .booking-slots .datebox {
		box-sizing: border-box !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		min-height: 56px !important;
		height: auto !important;
		margin: 0 !important;
		padding: 10px 10px !important;
		border-radius: 12px !important;
		font-size: clamp(13px, 3.5vw, 15px) !important;
		font-weight: 600 !important;
		line-height: 1.15 !important;
		text-align: center !important;
		white-space: normal !important;
		word-break: break-word !important;
		background: #353535 !important;
		color: #f0f0f0 !important;
		float: none !important;
	}
	/* Látogatott / más állapot: ugyanaz a box, ne csússzon a rács (Safari) */
	.sec3 .booking-slots a.datebox:visited {
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
		min-height: 56px !important;
	}
	/* Szobás üzemmód: csak „10:00” — egy sor, fix magasság */
	.sec3[data-booking-slots="time"] .booking-slots .datebox,
	.sec3[data-booking-slots="time"] .booking-slots a.datebox:visited {
		white-space: nowrap !important;
		height: 56px !important;
		min-height: 56px !important;
	}
}

/* Mobile: Árak + FAQ — a globális .faqs h2 { 45px } (768px alatt) túl nagy a .page aloldalakon */
@media screen and (max-width: 768px) {
	.page .faqs h2 {
		font-size: 0.9375rem;
		line-height: 1.35;
		padding-top: 8px;
		font-weight: 700;
	}
	.page .faq .faqs h2 {
		font-size: 0.875rem;
		line-height: 1.4;
		padding-top: 6px;
		margin-bottom: 0.35em;
	}
	.page .faqs h1.price-page-amount {
		font-size: clamp(1.6rem, 6.8vw, 2.1rem);
		line-height: 1.1;
		margin: 0.25em 0 0.15em;
	}
	.page .faqs p {
		font-size: 0.875rem;
		line-height: 1.45;
	}

	/* Room oldal mobil slotok: ugyanaz a méret, mint /booking oldalon */
	.sec3:not(.sec3--booking) .today-cls .row > [class*="col-"] .datebox {
		width: 136px !important;
		max-width: 100% !important;
		height: 44px !important;
		min-height: 44px !important;
		max-height: 44px !important;
		padding: 0 8px !important;
		margin: 0 auto !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		border-radius: 10px !important;
		font-size: 14px !important;
		line-height: 1 !important;
		white-space: nowrap !important;
		box-sizing: border-box !important;
	}
}

/* YouTube / beágyazott videók: rögzített 16:9, teljes szélesség, ne lógjon ki a viewporton (Events / Teambuilding) */
main iframe[src*="youtube.com"],
main iframe[src*="youtube-nocookie"],
main iframe[src*="youtu.be"],
article iframe[src*="youtube.com"],
section iframe[src*="youtube.com"] {
	display: block;
	max-width: 100% !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0;
	aspect-ratio: 16 / 9;
	border: 0;
	box-sizing: border-box;
}
.embed-responsive iframe,
.wp-block-embed iframe,
.ratio > iframe {
	max-width: 100%;
}

/* Szoba oldal galéria (Slick): max 400×400 négyzet, középre vág (cover); 10px rések; fehér scroll-pöttyök */
.room-gallery-slider.slick-slider-detail {
	width: 100%;
	max-width: min(100%, 1240px);
	margin-left: auto;
	margin-right: auto;
}

.room-gallery-slider .slick-list {
	margin-left: -5px;
	margin-right: -5px;
}

.room-gallery-slider .slick-slide {
	padding-left: 5px;
	padding-right: 5px;
	box-sizing: border-box;
}

.room-gallery-slider .slick-slide > div {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.room-gallery-slider .room-gallery-slide {
	position: relative;
	width: min(100%, 400px);
	aspect-ratio: 1 / 1;
	max-width: 400px;
	max-height: 400px;
	overflow: hidden;
	background: #1a1a1a;
	flex-shrink: 0;
}

.room-gallery-slider .room-gallery-slide img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	max-width: none !important;
	max-height: none !important;
}

.room-gallery-slider .slick-dots {
	bottom: auto;
	position: relative;
	margin-top: 14px;
}

.room-gallery-slider .slick-dots li button:before {
	color: #fff !important;
	opacity: 0.4;
	font-size: 10px;
}

.room-gallery-slider .slick-dots li.slick-active button:before {
	color: #fff !important;
	opacity: 1;
}

@media (max-width: 575px) {
	.room-gallery-slider.slick-slider-detail {
		max-width: 100%;
	}
}

/* Booking: egyenletes slot oszlopszélesség, fehér elválasztó szobák között, szobanév külön sor + φ nagyítás */
.sec3--booking .today-cls.booking-room-card.booking-room-divider:not(:last-of-type) {
	border-bottom: 1px solid #ffffff !important;
	padding-bottom: clamp(1.25rem, 3vw, 2rem) !important;
	margin-bottom: clamp(1.25rem, 3vw, 2rem) !important;
}

.sec3--booking .today-cls.booking-room-card.booking-room-divider:last-of-type {
	border-bottom: none !important;
}

@media screen and (min-width: 992px) {
	.sec3--booking .booking-slots {
		display: grid !important;
		grid-auto-flow: column !important;
		grid-template-rows: repeat(2, 76px) !important;
		grid-auto-columns: 132px !important;
		column-gap: 16px !important;
		row-gap: 16px !important;
		justify-content: start !important;
		align-content: start !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.sec3--booking .booking-slots .booking-slot-item {
		width: 132px !important;
		min-width: 132px !important;
		max-width: 132px !important;
		flex: none !important;
		padding: 0 !important;
		margin: 0 !important;
		box-sizing: border-box !important;
	}

	.sec3--booking .booking-slots .datebox {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}

/* Booking: kép kattintás → szoba leírás modal + webp thumb */
body.eg-book-room-modal-open {
	overflow: hidden;
}

.eg-book-room-modal[hidden] {
	display: none !important;
}

.eg-book-room-modal {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
}

.eg-book-room-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(4, 6, 12, 0.82);
	backdrop-filter: blur(4px);
}

.eg-book-room-modal__panel {
	position: relative;
	z-index: 1;
	width: min(36rem, 100%);
	max-height: min(85vh, 32rem);
	overflow-y: auto;
	padding: 1.35rem 1.5rem 1.5rem;
	border-radius: 12px;
	border: 1px solid rgba(255, 255, 255, 0.18);
	background: #111318;
	box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
	color: #f5f5f5;
}

.eg-book-room-modal__close {
	position: absolute;
	top: 0.65rem;
	right: 0.75rem;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: none;
	background: transparent;
	color: rgba(255, 255, 255, 0.65);
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
	border-radius: 6px;
}

.eg-book-room-modal__close:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.08);
}

.eg-book-room-modal__body .eg-book-room-detail__title {
	margin: 0 2rem 0.75rem 0;
	font-size: 1.15rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

.eg-book-room-modal__body .eg-book-room-detail__lead {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.82);
}

.eg-book-room-modal__body .eg-book-room-detail__content {
	margin: 0 0 1rem;
	font-size: 0.88rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.78);
}

.eg-book-room-modal__body .eg-book-room-detail__content p:last-child {
	margin-bottom: 0;
}

.eg-book-room-modal__body .eg-book-room-detail__meta {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.85rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.72);
}

.eg-book-room-modal__body .eg-book-room-detail__meta li + li {
	margin-top: 0.35rem;
}

.sec3--booking .booking-room-media__trigger {
	display: block;
	width: 100%;
	padding: 0;
	border: none;
	background: transparent;
	cursor: pointer;
	text-align: left;
	position: relative;
}

.sec3--booking .booking-room-media__trigger:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.55);
	outline-offset: 3px;
	border-radius: 10px;
}

.sec3--booking .booking-room-media__hint {
	display: block;
	margin-top: 0.45rem;
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.55);
}

.sec3--booking .booking-room-media__trigger:hover .booking-room-media__img {
	opacity: 0.92;
}

.sec3--booking .booking-room-media__img {
	transition: opacity 0.2s ease;
}

