/* Hotel photographs and distinct daily-life facilities. */
.xinoble-photo-note {
	position: absolute;
	top: 1rem;
	right: 1rem;
	left: auto;
	bottom: auto;
	z-index: 2;
	display: inline-block;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-width: calc(100% - 2rem);
	padding: .35rem .65rem;
	border: 1px solid rgba(247,237,220,.36);
	background: rgba(48,39,30,.78);
	color: #fff5e5;
	font: 400 .7rem/1.5 var(--xinoble-body);
	letter-spacing: .04em;
	text-align: center;
	white-space: nowrap;
	pointer-events: none;
}

.editorial-hero-media .xinoble-photo-note {
	top: calc(var(--xinoble-header-height) + 1rem);
}

.editorial-gallery--rooms .editorial-gallery-grid {
	grid-template-columns: repeat(2,minmax(0,1fr));
	align-items: start;
	gap: clamp(1.5rem,3vw,3rem);
}

.editorial-gallery--rooms[data-photo-count="3"] .editorial-gallery-grid {
	grid-template-columns: repeat(3,minmax(0,1fr));
}

.editorial-gallery--rooms[data-photo-count="5"] .editorial-gallery-grid {
	grid-template-columns: repeat(6,minmax(0,1fr));
}

.editorial-gallery--rooms[data-photo-count="5"] .editorial-gallery-grid figure {
	grid-column: span 2;
}

.editorial-gallery--rooms[data-photo-count="5"] .editorial-gallery-grid figure:nth-child(-n+2) {
	grid-column: span 3;
}

.editorial-gallery--rooms .editorial-gallery-grid figure,
.editorial-gallery--rooms .editorial-gallery-grid figure:nth-child(2) {
	min-width: 0;
	margin: 0;
}

.editorial-gallery--rooms .editorial-gallery-media,
.editorial-gallery--rooms .editorial-gallery-grid figure:nth-child(2) .editorial-gallery-media {
	height: auto;
	aspect-ratio: 4 / 3;
	background: #e9dfd1;
}

.editorial-gallery--rooms .editorial-gallery-media img {
	object-fit: contain;
}

.editorial-gallery--rooms figcaption {
	display: block;
	padding-top: 1rem;
}

.hotel-facility-stories {
	display: grid;
	gap: clamp(3.5rem,6vw,6rem);
}

.hotel-facility-story {
	min-width: 0;
	padding-top: clamp(2rem,4vw,3rem);
	border-top: 1px solid var(--xinoble-line);
	scroll-margin-top: calc(var(--xinoble-header-height) + 1.5rem);
}

.hotel-facility-heading {
	display: grid;
	grid-template-columns: minmax(12rem,.8fr) minmax(0,1.2fr);
	gap: 2rem;
	align-items: end;
	margin-bottom: 2rem;
}

.hotel-facility-heading h3 {
	margin: .8rem 0 0;
	font-family: var(--xinoble-display);
	font-size: var(--xinoble-type-h3);
	font-weight: 400;
	line-height: 1.3;
}

.hotel-facility-heading > p {
	max-width: 42rem;
	margin: 0;
	color: #716456;
	font-size: var(--xinoble-type-body);
	line-height: 1.9;
}

.hotel-facility-views {
	display: grid;
	grid-template-columns: minmax(0,1.4fr) minmax(0,1fr);
	gap: clamp(1rem,2vw,2rem);
	align-items: start;
}

.hotel-facility-views figure {
	min-width: 0;
	margin: 0;
	background: #eee5d8;
}

.hotel-facility-views figure > div {
	position: relative;
	overflow: hidden;
}

.hotel-facility-views img {
	display: block;
	width: 100%;
	height: auto;
}

.hotel-facility-views figcaption {
	padding: 1rem 1.25rem;
	color: #6a5640;
	font-size: .9rem;
	line-height: 1.7;
}

.hotel-facility-views--single {
	grid-template-columns: minmax(0,1fr);
	max-width: 62rem;
}

.hotel-facility-facts {
	display: grid;
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 1.5rem;
	margin: 2rem 0 0;
	padding-top: 1.5rem;
	border-top: 1px solid var(--xinoble-line);
}

.hotel-facility-facts > div {
	min-width: 0;
}

.hotel-facility-facts dt {
	margin-bottom: .6rem;
	color: #977546;
	font-size: .8rem;
}

.hotel-facility-facts dd {
	margin: 0;
	color: #514535;
	font-size: var(--xinoble-type-body);
	line-height: 1.9;
}

@media (max-width:68rem) {
	.hotel-facility-facts {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
}

@media (max-width:48rem) {
	.hotel-facility-heading,
	.hotel-facility-views {
		grid-template-columns: minmax(0,1fr);
	}

	.hotel-facility-heading {
		gap: 1.25rem;
	}

	.hotel-facility-facts {
		grid-template-columns: minmax(0,1fr);
		gap: 1.25rem;
	}

	.editorial-gallery--rooms .editorial-gallery-grid,
	.editorial-gallery--rooms[data-photo-count="3"] .editorial-gallery-grid,
	.editorial-gallery--rooms[data-photo-count="5"] .editorial-gallery-grid {
		grid-template-columns: minmax(0,1fr);
	}

	.editorial-gallery--rooms[data-photo-count="5"] .editorial-gallery-grid figure,
	.editorial-gallery--rooms[data-photo-count="5"] .editorial-gallery-grid figure:nth-child(-n+2) {
		grid-column: auto;
	}

	.xinoble-photo-note {
		top: .7rem;
		right: .7rem;
		font-size: .65rem;
	}
}
