/* Facilities page (Figma 2834:3180). */
/* Sliders: only the active slide is shown (first one before JS runs). */
.tm-facilities-slides { position: relative; }
.tm-facilities-slides > .tm-facilities-slide { transition: opacity .45s ease; }
.tm-facilities-slides > .tm-facilities-slide ~ .tm-facilities-slide { display: none; }
.tm-facilities-slider.is-ready .tm-facilities-slides > .tm-facilities-slide { display: none; opacity: 0; }
.tm-facilities-slider.is-ready .tm-facilities-slides > .tm-facilities-slide.is-active { display: flex; opacity: 1; }
.tm-facilities-slider--top .tm-facilities-slide img { box-shadow: 9px 12px 20.2px -6px rgba(0, 0, 0, .19); }
.tm-facilities-label { top: auto !important; bottom: 42px; pointer-events: none; }
.tm-facilities-label .elementor-heading-title { white-space: nowrap; }
.tm-facilities-nav { z-index: 3; width: auto !important; }
.tm-facilities-arrow { display: block; width: 40px; height: 48px; padding: 0; margin: 0; border: 0; background: none; cursor: pointer; line-height: 0; transition: transform .2s; }
.tm-facilities-arrow:hover, .tm-facilities-arrow:focus { background: none; }
.tm-facilities-arrow:hover { transform: scale(1.08); }
.tm-facilities-arrow:focus-visible { outline: 2px solid #A4988B; outline-offset: 2px; border-radius: 50%; }
.tm-facilities-arrow img { display: block; width: 40px; height: 48px; }
.tm-facilities-arrow--next img { transform: rotate(180deg); }
.tm-facilities-slider.is-single .tm-facilities-nav { display: none; }
.tm-facilities-pool-row > .tm-facilities-tile { flex: 1 1 0; min-width: 0; }
.tm-facilities-book .elementor-button { background-color: transparent; }
.tm-facilities-book .elementor-button:hover { background-color: #fff; color: #A4988B; }

@media (max-width: 1024px) {
	/* Arrows sit inside the image edges on tablet / mobile. */
	.tm-facilities-nav { top: 50% !important; transform: translateY(-50%); }
	.tm-facilities-nav--prev { left: 52px !important; right: auto !important; }
	.tm-facilities-nav--next { right: 52px !important; left: auto !important; }
	.tm-facilities-label { bottom: 24px; }
	/* Over a photo the 33%-grey Figma arrow needs a light disc behind it to stay visible. */
	.tm-facilities-arrow, .tm-facilities-arrow:hover, .tm-facilities-arrow:focus { background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .8) 0, rgba(255, 255, 255, .8) 19.5px, rgba(255, 255, 255, 0) 20px); }
}
@media (max-width: 767px) {
	.tm-facilities-nav--prev { left: 24px !important; }
	.tm-facilities-nav--next { right: 24px !important; }
	.tm-facilities-arrow, .tm-facilities-arrow img { width: 32px; height: 38px; }
	.tm-facilities-arrow, .tm-facilities-arrow:hover, .tm-facilities-arrow:focus { background: radial-gradient(circle at 50% 50%, rgba(255, 255, 255, .8) 0, rgba(255, 255, 255, .8) 15.5px, rgba(255, 255, 255, 0) 16px); }
	.tm-facilities-label { bottom: 12px; width: auto !important; right: 16px !important; }
	.tm-facilities-label .elementor-heading-title { padding: 0 8px; }
	.tm-facilities-slider--top .tm-facilities-slide img { box-shadow: 4px 6px 12px -4px rgba(0, 0, 0, .19); }
}
.tm-facilities-pool-img { align-self: stretch !important; width: 100%; }
.tm-facilities-pool-img img { display: block; width: 100%; }
/* Designer line breaks only make sense at the desktop measure. */
@media (max-width: 1024px) {
	.tm-facilities-text p br, .tm-facilities-quote .elementor-heading-title br { display: none; }
	.tm-facilities-text p:has(> br:only-child) br { display: inline; }
}
/* Elementor editor: show every slide stacked so each one can be edited. */
.elementor-editor-active .tm-facilities-slides > .tm-facilities-slide { display: flex !important; opacity: 1 !important; margin-bottom: 8px; }
.elementor-editor-active .tm-facilities-nav { display: none; }
