:root {
	--fa-icon-zoom: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 640" fill="%23fff"><path d="M356.7 260.7C350.5 266.9 350.5 277.1 356.7 283.3C362.9 289.5 373.1 289.5 379.3 283.3L544 118.6L544 224C544 232.8 551.2 240 560 240C568.8 240 576 232.8 576 224L576 80C576 71.2 568.8 64 560 64L416 64C407.2 64 400 71.2 400 80C400 88.8 407.2 96 416 96L521.4 96L356.7 260.7zM283.3 379.3C289.5 373.1 289.5 362.9 283.3 356.7C277.1 350.5 266.9 350.5 260.7 356.7L96 521.4L96 416C96 407.2 88.8 400 80 400C71.2 400 64 407.2 64 416L64 560C64 568.8 71.2 576 80 576L224 576C232.8 576 240 568.8 240 560C240 551.2 232.8 544 224 544L118.6 544L283.3 379.3z"/></svg>');
}

.nst21-widget {
	z-index: 2000;
}

.gallery-roomdetail__gallery {
	display: grid;
	position: relative;
}

.gallery-roomdetail__gallery-item {
	position: relative;
	grid-area: 1/1/2/2;
}

:where(.gallery-roomdetail__gallery:not(.custom-slider-active)) .gallery-roomdetail__gallery-item:nth-child(n + 2) {
	display: none;
}

.gallery-roomdetail__gallery-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gallery-roomdetail__gallery-item img[loading="lazy"] {
	display: none;
}

.gallery-roomdetail {
	display: grid;
	gap: 2.5rem;
}

.gallery-roomdetail__gallery-item {
	transition: all 1s ease;
	opacity: 0;
	pointer-events: none;
}

.gallery-roomdetail__gallery-item--active {
	opacity: 1;
	pointer-events: initial;
}

.gallery-roomdetail__zoom {
	position: absolute;
	top: 1rem;
	right: 1rem;
	z-index: 20;
	width: 2.75rem;
	height: 2.75rem;
	line-height: 2.75rem;
	display: grid;
	place-items: center;
	color: #fff;
	background-color: rgb(255 255 255 / 10%);
	border: none;
	border-radius: 999px;
	text-decoration: none;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease, transform .25s ease, background-color .25s ease;
	transform: translateY(-4px);
	z-index: 20;
}

.gallery-roomdetail__zoom::before {
	content: "";
	width: 24px;
	aspect-ratio: 1;
	background: var(--fa-icon-zoom) center center no-repeat;
}

.gallery-roomdetail__gallery:hover .gallery-roomdetail__gallery-item--active .gallery-roomdetail__zoom,
.gallery-roomdetail__gallery:focus-within .gallery-roomdetail__gallery-item--active .gallery-roomdetail__zoom,
.gallery-roomdetail__zoom:focus-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}

.gallery-roomdetail__zoom:hover,
.gallery-roomdetail__zoom:focus-visible {
	background-color: rgb(255 255 255 / 20%);
}

.gallery-roomdetail__nav {
	appearance: none;
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	z-index: 10;
	font: inherit;
	background: 0 0;
	color: #fff;
	border: none;
	cursor: pointer;
	transition: all .4s ease;
	animation: opacity-in-deferred 1s ease;
}

.room-detail-2026__slogan {
	font-size: clamp(1.375rem, 2.5vw, 1.875rem);
	letter-spacing: .07em;
}

.room-detail-2026__usp-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
	gap: 1.25rem clamp(1.25rem, 2vw, 2.5rem);
	padding-block: clamp(2rem, 5vw, 5rem);
	letter-spacing: .15em;
}

.room-detail-2026__usp-box {
	background-color: var(--template-color-bright);
	text-align: center;
	align-content: center;
	padding: 1.75em 3.125em;
	min-height: 100px;
}

.room-detail-2026__usp-box strong {
	display: block;
	text-align: center;
	font-weight: inherit;
	font-size: clamp(1.375rem, 2.5vw, 1.875rem);
	letter-spacing: .07em;
	line-height: 1.375;
	margin-bottom: .5em;
}

.room-detail-2026__grid {
	display: grid;
	gap: clamp(2.5rem, 5vw, 5rem);
	padding-block: clamp(2.5rem, 5vw, 5rem);
}

.room-detail-2026__accordion > summary {
	list-style: none;
	cursor: pointer;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .2em;
	transition: all .4s;
	border-bottom: 1px solid #fff;
	cursor: pointer;
	margin: calc(2em - 2px) 0 0;
    display: block;
    max-width: max-content;
	padding: 0;
	transition: border-color .4s;
}

.room-detail-2026__accordion > summary:hover {
	border-color: currentColor;
}

.room-detail-2026__accordion[open] > summary {
	border-color: currentColor;
	margin-bottom: 1em;
	--_icon: "\f106";
}

.room-detail-2026__accordion > summary::-webkit-details-marker {
	display: none;
}

.room-detail-2026__accordion > summary::marker {
	content: "";
}

.room-detail-2026__accordion > summary::after {
	content: var(--_icon, "\f107");
	font-family: var(--font-family-icons);
	font-weight: var(--font-family-icons-weight);
	display: inline-block;
	margin-left: 2em;
	scale: 1.5;
}

.room-detail-2026__right {
	text-align: center;
	font-size: 1.375em;
	letter-spacing: .07em;
	line-height: normal;
}

.room-detail-2026__quote::before,
.room-detail-2026__quote::after {
	content: "“";
	display: block;
	text-align: center;
	margin-bottom: .75em;
	font-size: 1.125em;
	font-weight: bold;
}

.room-detail-2026__quote::after {
	content: "”";
	margin-block: .75em 0;
}



@keyframes opacity-in-deferred {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

.gallery-roomdetail__nav::before {
	content: "";
	width: clamp(40px, 2vw, 60px);
	height: clamp(40px, 2vw, 60px);
	display: inline-block;
	border-top: 2px solid currentColor;
	border-left: 2px solid currentColor;
	transform: var(--_rotate, rotate(-45deg));
}

.gallery-roomdetail__nav--prev {
	left: 0;
	padding-left: 5%;
	text-align: left;
}

.gallery-roomdetail__nav--next {
	right: 0;
	padding-right: 5%;
	text-align: right;
	--_rotate: rotate(135deg);
	cursor: pointer;
}

.gallery-roomdetail__nav:focus-visible::before {
	outline: 2px solid currentColor;
	outline-offset: 4px;
}

.gallery-roomdetail__contents {
	padding: clamp(1.25rem, 2vw, 6.25rem);
	margin-block: auto;
}

.gallery-roomdetail__headline {
	font-size: clamp(1.75rem, 2vw, 2.5rem);
	text-transform: uppercase;
	letter-spacing: .07em;
}

.gallery-roomdetail__meta {
	display: grid;
	gap: 1.25em;
	padding-block: 2em;
	letter-spacing: .15em;
}

@media (max-width: 480px) {

	.gallery-roomdetail__gallery-item {
		aspect-ratio: 4/5;
	}

	.gallery-roomdetail__contents.cst-detail {
		margin-left: 40px;
		padding-left: 0;
	}
}

@media (min-width: 481px) and (max-width: 768px) {

	.gallery-roomdetail__gallery-item {
		aspect-ratio: 1;
	}
}

@media (max-width: 959px) {

	.gallery-roomdetail__spacer {
		display: none;
	}
}

/* CSS only loaded on new room detail pages, so it can hard overwrite */
@media (min-width: 960px) {

	.site:not([data-page-level='0']):not(.moved) header .menu-icon-part {
		background-color: var(--template-color-ink);
	}

	.site header .quernavi a,
	.site .banner .icons ::before,
	.site header .actions-right span,
	.site header .actions-right .lang-menu::after {
		color: var(--template-color-ink);
	}

	.site header .actions-right .langs .current {
		border-color: var(--template-color-ink);
	}

	.site .gallery {
		z-index: initial;
	}

	.site .level1-logo {
		margin-top: 10px;
		filter: none;
		scale: .5;
	}

	.gallery-roomdetail {
		grid-template-columns: repeat(2, 1fr);
		gap: 0 2.5rem;
	}

	.site .gallery-roomdetail__spacer {
		background-color: var(--template-color-bright);
		height: 160px;
		grid-column: 1/-1;
	}

	.websline-debug {
		opacity: 0 !important;
pointer-events: none !important;
	}
}

@media (min-width: 1280px) {

	.site .gallery-roomdetail {
		grid-template-columns: 6fr 4fr;
	}

	.site .gallery-roomdetail__spacer {
		height: 240px;
	}

	.site .level1-logo {
		margin-top: 60px;
		filter: none;
		scale: initial;
	}

	.gallery-roomdetail__contents {
		padding: 100px;
	}

	.room-detail-2026__grid {
		grid-template-columns: 1fr 1fr;
		align-content: start;
	}

	.room-detail-2026__right {
		max-width: 465px;
		margin: 1.25rem 0 auto auto;
	}
}