#roomsGallery {position: relative;background-color: rgba(255, 255, 255, 0.5);width:calc(100% - 40px) !important;padding:20px;max-width: 1800px !important;border-radius: 10px;margin-top:40px !important; margin-bottom:40px !important; transition: 0.5s all ease-in-out; }
#roomsGallery img {
	border-radius: 10px !important;
}
.rg{ display:flex; flex-direction:column; gap:18px; }
.rg__slider{ position:relative; }

.rg__title {
	font-weight: bold;
}

.rg__track{
	display:flex;
	gap:14px;
	overflow-x:auto;
	overflow-y:hidden;
	scroll-snap-type:x mandatory;
	-webkit-overflow-scrolling:touch;
	padding:0px;
	scroll-behavior:smooth;
	scrollbar-width:none;
}
.rg__track::-webkit-scrollbar{ width:0; height:0; }

.rg__snap{ scroll-snap-align:start; flex:0 0 auto; }

/* Wenn nicht scrollbar -> zentrieren + Pfeile aus */
.rg__slider.rg__no-scroll .rg__track{ justify-content:center; }
.rg__slider.rg__no-scroll .rg__arrow{ display:none; }

/* Pfeile */
.rg__arrow{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:52px;
	height:52px;
	border-radius:999px;
	border:unset;
	background:unset !important;
	cursor:pointer;
	display:grid;
	place-items:center;
	z-index:2;
	user-select:none;
	transition: 0.3s all;
}
.rg__arrow:hover{
	background:rgba(255,255,255,0.5) !important;
}
.rg__arrow svg {
	fill:#4a6741;
}
.rg__arrow[disabled]{ opacity:.35; cursor:default; box-shadow:none; }
.rg__arrow--left{ left:-40px; }
.rg__arrow--right{ right:-40px; }

.rg__arrow--left{top:50% !important; }
.rg__arrow--right{top:50% !important;}
.rg__expand .rg__slider .rg__arrow--left{top:50% !important;}
.rg__expand .rg__slider .rg__arrow--right{top:50% !important;}

@media (max-width: 579px){
	.rg__arrow--left{ left:-10px;width:40px;height:40px;}
	.rg__arrow--right{ right:-10px;width:40px;height:40px;}
	.rg__expand .rg__slider .rg__arrow--left{ left:-30px;}
	.rg__expand .rg__slider .rg__arrow--right{ right:-30px;}
}

/* ============================= */
/* Kategorien */
/* ============================= */
.rg__categoryCard{
	border:3px solid rgba(0,0,0,0);
	border-radius:13px;
	cursor:pointer;
	overflow:hidden;
	background: #e6e0d4;
	color:#fff;
	width: var(--categoryCardW, 280px);
}
.rg__categoryCard.is-active{ border:3px solid #4a6741; }

.rg__categoryImg{
	width:100%;
	height:199px;
	object-fit:cover;
	display:block;
	background:#e6e0d4;
}

.rg__categoryBody{
	padding:14px;
}

.rg__categoryTitle{
	margin:0;
	font-weight:700;
	font-size:18px;
	line-height:1.2;
}

.rg__categoryCount{
	margin:0;
	opacity:.7;
	font-size:14px;
	line-height:1.4;
}

/* ============================= */
/* Zimmer Card */
/* ============================= */
.rg__card{
	border:3px solid rgba(0,0,0,0);
	border-radius:10px;
	cursor:pointer;
	overflow:hidden;
	background:#e6e0d4;
	color:#e6e0d4;
	width: var(--roomCardW, 300px);
}
.rg__card.is-active{ border:3px solid #4a6741; }

.rg__top{
	display:grid;
	grid-template-columns:100px 1fr;
	gap:14px;
	align-items:flex-start;
	padding:14px;
}
.rg__thumb{
	width:100px;
	height:75px;
	object-fit:cover;
	border-radius:10px;
	background:rgba(0,0,0,.06);
}
.wp-site-blocks p.rg__title{
	margin:0;
	font-weight:700;
	font-size: 1.1rem !important;
	line-height: 1.3rem;
	margin-bottom: 10px !important;
	margin-top: 0px !important;
}
.wp-site-blocks p.rg__subtitle{
	margin:0;
	opacity:0.7;
	font-size:17px !important;
	line-height:18px!important;
	margin-bottom: 0px !important;
	margin-top: 10px !important;
}
.rg__top {
	min-height: 105px !important;
}
.rg__top .rg__subtitle{color:#333 !important;}
/* ============================= */
/* Expand Bereich */
/* ============================= */
.rg__expand{

}

.rg__thumbBtn{
	border:0;
	padding:0;
	background:none;
	cursor:pointer;
	flex:0 0 auto;
	scroll-snap-align:start;
	width: var(--thumbW, 140px);
}
.rg__thumbImg{
	width:100%;
	height: var(--thumbH, 90px);
	object-fit:cover;
	border-radius:10px;
	background:rgba(0,0,0,.06);
}

.rg__thumbBtn .rg__thumbImg {
	border: 3px solid rgba(0,0,0,0);
}
.rg__thumbBtn.is-active .rg__thumbImg{
	border:3px solid #4a6741;
}

/* ============================= */
/* Preview + SLIDE Layer         */
/* ============================= */
.rg__large{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:14px;
	margin-top:30px;
	position: relative;
}

.rg__largeBtn{
	display:flex;
	justify-content:center;
	width:100%;
	border:0;
	background:none;
	padding:0;
	cursor:pointer;
}

.rg__stage{
	position:relative;
	width:min(100%,800px);
	height: var(--largeH, 380px);
	border-radius:10px;
	overflow:hidden;
	background:rgba(255,255,255,.04);
}

.rg__categoryIntro {
	margin: 0 0 12px;
	font-size: 1rem;
	line-height: 1.6;
	text-align: center;
}

.rg__stage img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:10px;
	will-change:transform, opacity;
}

.rg__stage .rg__img--current{
	transform:translateX(0);
	opacity:1;
}
.rg__stage .rg__img--next{
	opacity:1;
}

.rg__stage.is-animating .rg__img--current{
	transition: transform 420ms ease, opacity 420ms ease;
}
.rg__stage.is-animating .rg__img--next{
	transition: transform 420ms ease, opacity 420ms ease;
}

.rg__stage[data-dir="right"] .rg__img--next{ transform:translateX(100%); }
.rg__stage[data-dir="left"]  .rg__img--next{ transform:translateX(-100%); }

.rg__stage.is-animating[data-dir="right"] .rg__img--next{ transform:translateX(0); }
.rg__stage.is-animating[data-dir="right"] .rg__img--current{ transform:translateX(-35%); opacity:.15; }

.rg__stage.is-animating[data-dir="left"] .rg__img--next{ transform:translateX(0); }
.rg__stage.is-animating[data-dir="left"] .rg__img--current{ transform:translateX(35%); opacity:.15; }

/* ============================= */
/* Modal */
/* ============================= */
.rgm{ position:fixed; inset:0; display:none; background:rgba(0,0,0,.85); z-index:9999; }
.rgm--open{ display:flex; justify-content:center; align-items:center; padding:5px; }
.rgm__box{ position:relative; max-width:3000px; width:100vw; }
.rgm__content{ display:flex; flex-direction:column; align-items:center; gap:18px; }

.rgm__img{ max-width:100%; max-height:75vh; object-fit:contain; border-radius:10px; }
.rgm__close{ position:absolute; top:-10px; right:20px; background:none; border:none; color:#333; font-size:40px; font-weight: bold; cursor:pointer; }

body.rg__dragging {
	user-select: none;
	cursor: grabbing !important;
}

.rg__track.is-dragging {
	cursor: grabbing;
}

.rg img,
.rg__thumbImg,
.rg__img--current,
.rg__img--next,
.rg__title,
.rg__subtitle,
.rg__categoryTitle,
.rg__categoryCount
{
	-webkit-user-drag: none;
	user-select: none;
	pointer-events: none;
}

@media(max-width:579px){
	#roomsGallery {
		padding:10px!important;
		margin-left: -10px !important;
		margin-right: -10px !important;
		width:100% !important;

	}
	.rg__title {
		font-size: 1.6rem !important;
	}
	.rg__subtitle {
		font-size: 1.1rem !important;
	}
}
.rg__stage,
.rg__largeBtn {
	touch-action: pan-y;
}

.rg__sectionTitle {
	text-align: center;
	margin-bottom: 0 !important;
}
.rgm__box{
	max-width:100vw;
	max-height:100vh;
}

.rgm__img{
	max-width:100vw;
	max-height:95vh;
	object-fit:contain;
}
.wp-site-blocks .category_text {
	font-family: "trajan-pro-3", sans-serif !important;
	font-size: 1.5rem !important;
	text-align: center;
	display: block;
	padding:10px;
}
.wp-site-blocks .start-track {
	margin-top: 20px !important;
}

.wp-site-blocks .start-track .category_head {
	font-size: 1.1rem !important;
	font-weight: bold !important;
	text-align: center !important;
	display: block;
	padding-top:10px;
}
.wp-site-blocks .start-track .category_text {
	font-size: 1rem !important;
	padding:5px;
}
.wp-site-blocks .start-track .rg__categoryCard {
	width: 268px !important;
}
.rg__fadeOnly {
	animation: rgFadeOnly .8s ease both;
}

@keyframes rgFadeOnly {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}