/*
Theme Name: Przystań u Ani
Theme URI: https://przystanuani.pl/
Description: Motyw potomny Almaris dla strony Przystań u Ani.
Author: Przystań u Ani
Template: almaris
Version: 2.2.82
Text Domain: przystanuani
*/

/* Local typeface for the highlights, including Polish characters. */
@font-face {
	font-family: 'Przystan Manrope';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('assets/fonts/manrope-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Przystan Manrope';
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url('assets/fonts/manrope-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--pua-navy: #074772;
	--pua-blue: #5c9abf;
	--pua-sand: #c7af92;
	--pua-cream: #f7f4ef;
	--pua-ink: #17313f;
	--pua-white: #ffffff;
}

html {
	scroll-behavior: smooth;
}

body {
	background: var(--pua-cream);
	color: var(--pua-ink);
}

.pua-site {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
}

.pua-page-main {
	flex: 1;
	background: var(--pua-cream);
}

.pua-content-wrap {
	width: min(1120px, calc(100% - 48px));
	margin-inline: auto;
}

.pua-page-hero {
	position: relative;
	overflow: hidden;
	padding: 82px 0 78px;
	background:
		radial-gradient(circle at 88% 18%, rgb(92 154 191 / 22%), transparent 34%),
		linear-gradient(120deg, #fffaf2 0%, #eef7fa 100%);
}

.pua-page-hero::after {
	content: '';
	position: absolute;
	right: -90px;
	bottom: -180px;
	width: 360px;
	height: 360px;
	border: 1px solid rgb(7 71 114 / 12%);
	border-radius: 50%;
}

.pua-page-kicker {
	margin: 0 0 13px;
	color: #b27e43;
	font-family: Manrope, Jost, Arial, sans-serif;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 2.2px;
	text-transform: uppercase;
}

.pua-page-hero h1,
.pua-error-page h1 {
	max-width: 820px;
	margin: 0;
	color: var(--pua-navy);
	font-family: 'Cormorant Garamond', Marcellus, Georgia, serif;
	font-size: clamp(46px, 6vw, 72px);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -1px;
}

.pua-page-hero--privacy {
	isolation: isolate;
	padding: 58px 0 56px;
	border-bottom: 1px solid rgb(7 71 114 / 9%);
	background:
		radial-gradient(circle at 82% 20%, rgb(255 255 255 / 82%) 0 7%, transparent 28%),
		linear-gradient(112deg, #fffdf8 0%, #f3f7f5 48%, #dcecf3 100%);
}

.pua-page-hero--privacy::before {
	content: '';
	position: absolute;
	z-index: -1;
	top: -125px;
	right: clamp(40px, 12vw, 190px);
	width: 310px;
	height: 310px;
	border: 1px solid rgb(7 71 114 / 8%);
	border-radius: 50%;
	box-shadow:
		0 0 0 34px rgb(255 255 255 / 14%),
		0 0 0 70px rgb(92 154 191 / 7%);
}

.pua-page-hero--privacy::after {
	content: '';
	position: absolute;
	z-index: -1;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(36vw, 520px);
	height: auto;
	border: 0;
	border-radius: 0;
	background: linear-gradient(135deg, transparent 18%, rgb(255 255 255 / 28%) 100%);
	clip-path: polygon(32% 0, 100% 0, 100% 100%, 0 100%);
}

.pua-page-hero--privacy .pua-content-wrap {
	position: relative;
	z-index: 1;
}

.pua-page-hero--privacy .pua-page-kicker {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 11px;
	color: #9b7040;
}

.pua-page-hero--privacy .pua-page-kicker::before {
	content: '';
	width: 30px;
	height: 1px;
	background: #c7af92;
}

.pua-page-hero--privacy h1 {
	font-size: clamp(36px, 4vw, 48px);
	line-height: 1.1;
}

.pua-entry-content {
	padding-block: 72px 96px;
	font-family: Manrope, Jost, Arial, sans-serif;
	font-size: 17px;
	line-height: 1.75;
}

.pua-entry-content > * {
	max-width: 820px;
}

.pua-entry-content h2,
.pua-entry-content h3 {
	margin-top: 1.5em;
	color: var(--pua-navy);
	font-family: 'Cormorant Garamond', Marcellus, Georgia, serif;
}

.pua-entry-content a {
	color: var(--pua-navy);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.pua-entry-content--privacy {
	width: min(1180px, calc(100% - 48px));
	padding-block: 54px 88px;
}

.pua-entry-content--privacy > * {
	max-width: none;
}

.pua-privacy-elementor {
	display: grid !important;
	grid-template-columns: minmax(220px, 260px) minmax(0, 1fr) !important;
	align-items: start !important;
	gap: clamp(34px, 5vw, 70px) !important;
}

.pua-privacy-toc {
	position: sticky !important;
	top: 108px;
	padding: 24px !important;
	border: 1px solid rgb(7 71 114 / 9%);
	border-radius: 16px;
	background: linear-gradient(145deg, #f8fcfd 0%, #e8f3f7 100%);
	box-shadow: 0 18px 42px -34px rgb(7 49 77 / 48%);
}

.pua-privacy-toc__title {
	margin: 0 0 14px !important;
}

.pua-privacy-toc__title .elementor-heading-title {
	color: var(--pua-navy) !important;
	font-family: 'Cormorant Garamond', Marcellus, Georgia, serif !important;
	font-size: 25px !important;
	font-weight: 700 !important;
}

.pua-privacy-toc__nav ol {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: privacy-toc;
}

.pua-privacy-toc__nav li {
	counter-increment: privacy-toc;
}

.pua-privacy-toc__nav a {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 7px;
	padding: 8px 0;
	border-bottom: 1px solid rgb(7 71 114 / 8%);
	color: #415866;
	font-size: 13px;
	font-weight: 650;
	line-height: 1.4;
	text-decoration: none;
}

.pua-privacy-toc__nav li:last-child a {
	border-bottom: 0;
}

.pua-privacy-toc__nav a::before {
	content: counter(privacy-toc, decimal-leading-zero);
	color: #9b7040;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.04em;
}

.pua-privacy-toc__nav a:hover,
.pua-privacy-toc__nav a:focus-visible {
	color: var(--pua-navy);
}

.pua-privacy-content {
	padding: clamp(28px, 4vw, 46px) !important;
	border: 1px solid rgb(7 71 114 / 8%);
	border-radius: 18px;
	background: rgb(255 255 255 / 78%);
	box-shadow: 0 24px 56px -46px rgb(7 49 77 / 46%);
}

.pua-privacy-content h2 {
	scroll-margin-top: 110px;
	margin: 1.7em 0 0.55em;
	color: var(--pua-navy);
	font-family: 'Cormorant Garamond', Marcellus, Georgia, serif;
	font-size: clamp(28px, 3vw, 36px);
	line-height: 1.15;
}

.pua-privacy-content h2:first-child {
	margin-top: 0;
}

.pua-privacy-content p,
.pua-privacy-content li {
	color: #415866;
	font-size: 16px;
	line-height: 1.75;
}

.pua-site-footer {
	padding: 50px 0 18px;
	background:
		radial-gradient(circle at 86% 0%, rgb(92 154 191 / 24%), transparent 32%),
		linear-gradient(135deg, #052f4d 0%, #074772 62%, #0b5a7d 100%);
	color: #e8f2f6;
	font-family: Manrope, Jost, Arial, sans-serif;
}

/*
 * The first homepage build included its own Elementor footer. Keep that
 * legacy section hidden when an older Elementor revision or cache restores it;
 * the shared footer below is rendered by the child theme.
 */
body.home .elementor-element-a700001 {
	display: none !important;
}

.pua-section {
	padding-top: 30px !important;
	padding-right: 24px !important;
	padding-bottom: 30px !important;
	padding-left: 24px !important;
}

.pua-section-kicker {
	margin-top: 0 !important;
	margin-bottom: -10px !important;
}

.pua-section-title {
	margin-top: -10px !important;
	margin-bottom: -10px !important;
}

.pua-about-intro {
	align-items: center;
}

.pua-about-collage {
	position: relative !important;
	isolation: isolate;
	min-height: 560px;
	padding: 0 !important;
}

.pua-about-shot {
	position: absolute !important;
	overflow: hidden;
	margin: 0 !important;
	border: 7px solid rgb(255 255 255 / 96%);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 38px rgb(7 49 77 / 18%);
}

.pua-about-shot,
.pua-about-shot > .elementor-widget-container,
.pua-about-shot img {
	height: 100%;
}

.pua-about-shot > .elementor-widget-container {
	overflow: hidden;
	border-radius: 17px;
}

.pua-about-shot img {
	display: block;
	width: 100%;
	max-width: none;
	object-fit: cover;
}

.pua-about-shot--main {
	top: 7%;
	left: 3%;
	z-index: 1;
	width: 69% !important;
	height: 80%;
	transform: rotate(-2.5deg);
}

.pua-about-shot--main img {
	object-position: 48% 53%;
}

.pua-about-shot--top {
	top: 2%;
	right: 1%;
	z-index: 3;
	width: 43% !important;
	height: 39%;
	transform: rotate(3deg);
}

.pua-about-shot--top img {
	object-position: 54% 54%;
}

.pua-about-shot--bottom {
	right: 3%;
	bottom: 3%;
	z-index: 4;
	width: 49% !important;
	height: 43%;
	transform: rotate(2deg);
}

.pua-about-shot--bottom img {
	object-position: 50% 50%;
}

.pua-section.pua-about-highlights {
	--content-width: 1340px !important;
	--padding-top: 28px !important;
	--padding-bottom: 28px !important;
	display: flex !important;
	flex-direction: column !important;
	padding: 28px 24px !important;
	border: 0 !important;
	background:
		radial-gradient(ellipse at 18% 0%, rgb(255 255 255 / 36%) 0%, rgb(255 255 255 / 0%) 72%),
		linear-gradient(115deg, #d4eaf7 0%, #c5e2f3 55%, #b5d7ec 100%) !important;
	box-shadow:
		inset 0 1px 0 rgb(255 255 255 / 60%),
		inset 0 -1px 0 rgb(7 71 114 / 8%) !important;
}

.pua-about-highlights > .e-con-inner {
	--padding-top: 0px !important;
	--padding-right: 0px !important;
	--padding-bottom: 0px !important;
	--padding-left: 0px !important;
	display: block !important;
	width: 100%;
	max-width: 1340px !important;
	margin-inline: auto;
	padding: 0 !important;
}

.pua-about-highlights__grid,
.pua-about-highlights__grid > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	grid-template-rows: auto !important;
	gap: 32px !important;
	width: 100%;
	min-width: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	overflow: visible;
}

.pua-about-highlights__grid > .e-con-inner {
	grid-column: 1 / -1;
	max-width: none !important;
}

.pua-about-highlights__grid {
	--pua-highlight-divider: linear-gradient(
		180deg,
		rgb(59 126 166 / 0%) 0%,
		rgb(59 126 166 / 65%) 24%,
		rgb(59 126 166 / 65%) 76%,
		rgb(59 126 166 / 0%) 100%
	);
	background-image: var(--pua-highlight-divider), var(--pua-highlight-divider), var(--pua-highlight-divider) !important;
	background-repeat: no-repeat !important;
	background-size: 2px calc(100% - 8px) !important;
	background-position: calc(25% - 8.5px) center, center, calc(75% + 8.5px) center !important;
}

.pua-about-highlight {
	width: 100% !important;
	min-width: 0;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	box-sizing: border-box;
}

.pua-about-highlight::before {
	display: none !important;
}

.pua-about-highlight > .elementor-widget-container {
	width: 100%;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.pua-about-highlight .elementor-icon-box-wrapper {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) !important;
	grid-template-rows: 28px auto !important;
	align-items: center !important;
	gap: 8px 12px !important;
	width: 100%;
	min-width: 0;
	margin: 0 !important;
}

.pua-about-highlight .elementor-icon-box-content {
	display: contents !important;
}

.pua-about-highlight .elementor-icon-box-icon {
	display: block !important;
	grid-column: 1;
	grid-row: 1;
	width: 28px;
	height: 28px;
	margin: 0 !important;
	line-height: 0;
}

.pua-about-highlight .elementor-icon {
	display: grid !important;
	width: 28px !important;
	height: 28px !important;
	box-sizing: border-box;
	place-items: center;
	padding: 0 !important;
	border: 1px solid rgb(255 255 255 / 75%) !important;
	border-radius: 8px !important;
	background-color: rgb(255 255 255 / 55%) !important;
	box-shadow: 0 4px 10px -7px rgb(7 71 114 / 25%) !important;
	color: var(--pua-navy) !important;
	font-size: 22px !important;
	line-height: 1;
	transition: background-color 180ms ease, border-color 180ms ease !important;
}

.pua-about-highlight .elementor-icon:hover {
	border-color: rgb(255 255 255 / 95%) !important;
	background-color: rgb(255 255 255 / 80%) !important;
}

.pua-about-highlight .elementor-icon svg {
	width: 22px !important;
	height: 22px !important;
	fill: var(--pua-navy) !important;
}

@supports selector(:has(*)) {
	.pua-about-highlight .elementor-icon:has(> svg:is(.e-fas-feather-alt, .e-fas-home, .e-fas-users, .e-fas-paper-plane)) {
		background-position: center !important;
		background-size: 22px 22px !important;
		background-repeat: no-repeat !important;
	}

	.pua-about-highlight .elementor-icon:has(> svg.e-fas-feather-alt) {
		background-image: url('assets/highlights/feather.svg') !important;
	}

	.pua-about-highlight .elementor-icon:has(> svg.e-fas-home) {
		background-image: url('assets/highlights/home.svg') !important;
	}

	.pua-about-highlight .elementor-icon:has(> svg.e-fas-users) {
		background-image: url('assets/highlights/together.svg') !important;
	}

	.pua-about-highlight .elementor-icon:has(> svg.e-fas-paper-plane) {
		background-image: url('assets/highlights/message.svg') !important;
	}

	.pua-about-highlight .elementor-icon:has(> svg:is(.e-fas-feather-alt, .e-fas-home, .e-fas-users, .e-fas-paper-plane)) > svg:is(.e-fas-feather-alt, .e-fas-home, .e-fas-users, .e-fas-paper-plane) {
		visibility: hidden !important;
	}
}

.pua-about-highlight .elementor-icon-box-title {
	grid-column: 2 !important;
	grid-row: 1 !important;
	margin: 0 !important;
	color: #074772 !important;
	font-family: 'Przystan Manrope', Manrope, Jost, Arial, sans-serif !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	letter-spacing: -.025em !important;
	text-align: left !important;
}

.pua-about-highlight .elementor-icon-box-description {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
	min-width: 0;
	margin: 0 !important;
	color: #415866 !important;
	font-family: 'Przystan Manrope', Manrope, Jost, Arial, sans-serif !important;
	font-size: 14px !important;
	line-height: 1.55 !important;
	text-align: left !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
	.pua-about-highlights__grid,
	.pua-about-highlights__grid > .e-con-inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 24px 36px !important;
	}

	.pua-about-highlights__grid {
		background-image: var(--pua-highlight-divider) !important;
		background-position: center !important;
	}
}

@media (max-width: 767px) {
	.pua-section.pua-about-highlights {
		--padding-top: 24px !important;
		--padding-bottom: 24px !important;
		padding: 24px 20px !important;
	}

	.pua-about-highlights__grid,
	.pua-about-highlights__grid > .e-con-inner {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto !important;
		gap: 22px !important;
	}

	.pua-about-highlights__grid {
		background-image: none !important;
	}
}

.pua-rooms-section {
	--gap: 20px !important;
	--row-gap: 20px !important;
	--column-gap: 20px !important;
}

.pua-rooms-section .pua-section-kicker,
.pua-rooms-section .pua-section-title {
	text-align: left !important;
}

.pua-room-grid {
	margin-top: 26px !important;
}

.pua-rooms-section:has(.pua-room-grid--with-video) {
	padding-block: 30px !important;
}

.pua-rooms-section:has(.pua-room-grid--with-video) > .e-con-inner,
.pua-room-grid.pua-room-grid--with-video,
.pua-room-grid--with-video > .e-con-inner {
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	padding-block: 0 !important;
}

.pua-room-grid.pua-room-grid--with-video,
.pua-room-grid--with-video > .e-con-inner {
	--e-con-grid-template-rows: none !important;
	display: grid !important;
	width: 100% !important;
	height: auto !important;
	max-width: none !important;
	min-height: 0 !important;
	align-items: stretch !important;
	flex: 0 0 auto !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	grid-template-rows: none !important;
	grid-auto-rows: auto !important;
	gap: 24px !important;
}

.pua-room-grid--with-video > .e-con-inner {
	grid-column: 1 / -1;
}

.pua-room-grid--with-video > :is(.pua-room-card, .pua-room-video-card),
.pua-room-grid--with-video > .e-con-inner > :is(.pua-room-card, .pua-room-video-card) {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	flex: none !important;
}

.pua-room-grid--with-video .pua-room-card {
	min-height: 360px !important;
	padding: 24px !important;
}

.pua-room-grid--with-video .pua-room-card h3 {
	font-size: 28px !important;
}

.pua-room-grid--with-video .pua-room-video-card {
	display: flex !important;
	height: 360px !important;
	min-height: 360px !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	flex-direction: column !important;
	gap: 12px !important;
	box-sizing: border-box;
	overflow: hidden;
	padding: 0 !important;
	border: 1px solid rgb(92 154 191 / 24%);
	border-radius: 18px;
	background: #092f49;
	box-shadow: 0 18px 45px -28px rgb(7 71 114 / 45%);
}

.pua-room-grid--with-video .pua-room-video-card > .e-con-inner {
	display: flex !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 0;
	align-items: stretch !important;
	justify-content: flex-start !important;
	flex: 1 1 auto;
	flex-direction: column !important;
	gap: 12px !important;
	padding: 0 !important;
}

.pua-room-grid--with-video .pua-room-video-card .pua-room-video-player {
	width: 100% !important;
	min-height: 0;
	flex: 1 1 0 !important;
	margin: 0 !important;
	background: #031d2d;
}

.pua-room-grid--with-video .pua-room-video-player > .elementor-widget-container,
.pua-room-grid--with-video .pua-room-video-player .elementor-wrapper {
	width: 100%;
	height: 100%;
	min-height: 0;
	aspect-ratio: auto !important;
}

.pua-room-grid--with-video .pua-room-video-player video,
.pua-room-grid--with-video .pua-room-video-player iframe {
	display: block;
	width: 100% !important;
	height: 100% !important;
	border: 0;
	background: #031d2d;
	object-fit: cover !important;
	object-position: center center;
}

.pua-room-grid--with-video .pua-room-video-player video:fullscreen {
	object-fit: contain !important;
}

.pua-room-grid--with-video .pua-room-video-caption,
.pua-room-grid--with-video .pua-room-video-caption > .e-con-inner {
	display: flex !important;
	width: 100% !important;
	min-height: 0 !important;
	align-items: stretch !important;
	flex: 0 0 auto !important;
	flex-direction: column !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
}

.pua-room-grid--with-video .pua-room-video-card .elementor-widget-heading {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0 24px !important;
}

.pua-room-grid--with-video .pua-room-video-card h3 {
	margin: 0;
	color: #fff;
	font-family: Marcellus, Georgia, serif;
	font-size: 28px !important;
	font-weight: 500;
	line-height: 1.15;
}

.pua-room-grid--with-video .pua-room-video-card .elementor-widget-text-editor {
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0 24px 24px !important;
	color: #eaf3f7;
	font-size: 14px;
	line-height: 1.5;
}

.pua-room-grid--with-video .pua-room-video-card p {
	margin: 0;
}

.pua-section-header--right,
.pua-section-header--right > .e-con-inner {
	--align-items: flex-end !important;
	align-items: flex-end !important;
}

.pua-section-header--right .elementor-element {
	text-align: right !important;
}

.pua-site-footer__main {
	display: grid;
	align-items: start;
	grid-template-columns: minmax(280px, 0.8fr) minmax(480px, 1.2fr);
	gap: clamp(54px, 7vw, 100px);
}

.pua-site-footer__brand > a {
	display: inline-block;
	color: #fff;
	font-family: 'Cormorant Garamond', Marcellus, Georgia, serif;
	font-size: 34px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}

.pua-site-footer__brand > a span {
	color: var(--pua-sand);
	font-size: 0.72em;
	font-style: italic;
	font-weight: 600;
}

.pua-site-footer__brand p {
	max-width: none;
	margin: 13px 0 0;
	color: rgb(232 242 246 / 70%);
	font-size: 14px;
	line-height: 1.6;
}

.pua-site-footer__navigation {
	display: flex;
	align-self: center;
	align-items: center;
	justify-self: end;
	padding-left: clamp(32px, 5vw, 72px);
	border-left: 1px solid rgb(255 255 255 / 13%);
}

.pua-site-footer__nav {
	display: flex;
	max-width: 610px;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px 28px;
}

.pua-site-footer__nav a,
.pua-site-footer__bottom a {
	position: relative;
	color: rgb(255 255 255 / 82%);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.pua-site-footer__nav a {
	padding: 3px 0 5px;
}

.pua-site-footer__nav a::after {
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 1px;
	background: var(--pua-sand);
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 180ms ease;
}

.pua-site-footer__nav a:hover,
.pua-site-footer__nav a:focus-visible,
.pua-site-footer__bottom a:hover,
.pua-site-footer__bottom a:focus-visible {
	color: #fff;
}

.pua-site-footer__nav a:hover::after,
.pua-site-footer__nav a:focus-visible::after {
	transform: scaleX(1);
	transform-origin: left;
}

.pua-primary-link {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 13px 23px;
	border-radius: 7px;
	background: #c49155;
	color: #fff;
	font-family: Manrope, Jost, Arial, sans-serif;
	font-size: 14px;
	font-weight: 800;
	text-decoration: none;
}

.pua-primary-link:hover,
.pua-primary-link:focus-visible {
	background: var(--pua-blue);
	color: #fff;
	transform: translateY(-2px);
}

.pua-site-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin-top: 36px;
	padding-top: 16px;
	border-top: 1px solid rgb(255 255 255 / 14%);
}

.pua-site-footer__bottom p {
	margin: 0;
	color: rgb(232 242 246 / 48%);
	font-size: 12px;
}

.pua-site-footer__credit a {
	color: inherit;
	font-weight: 600;
}

.pua-error-page {
	display: grid;
	min-height: min(690px, calc(100vh - 82px));
	place-items: center;
	padding: 80px 0;
	background:
		radial-gradient(circle at 72% 48%, rgb(92 154 191 / 18%), transparent 28%),
		linear-gradient(120deg, #fffaf2 0%, #edf7fa 100%);
}

.pua-error-page__inner {
	display: grid;
	align-items: center;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.75fr);
	gap: 64px;
}

.pua-error-page__copy > p:not(.pua-page-kicker) {
	max-width: 620px;
	margin: 24px 0 0;
	color: #4c626d;
	font-family: Manrope, Jost, Arial, sans-serif;
	font-size: 18px;
	line-height: 1.7;
}

.pua-error-page__actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 24px;
	margin-top: 34px;
}

.pua-text-link {
	color: var(--pua-navy);
	font-family: Manrope, Jost, Arial, sans-serif;
	font-size: 14px;
	font-weight: 800;
	text-decoration: underline;
	text-decoration-color: rgb(7 71 114 / 30%);
	text-underline-offset: 5px;
}

.pua-error-page__number {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pua-navy);
	font-family: 'Cormorant Garamond', Marcellus, Georgia, serif;
	font-size: clamp(120px, 15vw, 220px);
	font-weight: 700;
	letter-spacing: -16px;
	line-height: 0.8;
	text-shadow: 0 24px 50px rgb(7 71 114 / 16%);
}

.pua-error-page__number i {
	width: 0.38em;
	height: 0.38em;
	margin: 0 0.02em;
	border: 5px solid var(--pua-sand);
	border-radius: 50%;
	box-shadow: inset 0 0 0 10px rgb(255 255 255 / 65%);
}

.pua-page-hero--search h1 span {
	color: var(--pua-blue);
}

.pua-search-form {
	display: flex;
	max-width: 680px;
	gap: 10px;
	margin-top: 30px;
}

.pua-search-form label {
	flex: 1;
}

.pua-search-form input {
	width: 100%;
	min-height: 54px;
	padding: 0 17px;
	border: 1px solid rgb(7 71 114 / 18%);
	border-radius: 8px;
	background: rgb(255 255 255 / 88%);
	color: var(--pua-ink);
}

.pua-search-form button {
	min-width: 112px;
	border: 0;
	border-radius: 8px;
	background: var(--pua-navy);
	color: #fff;
	font-weight: 800;
}

.pua-search-results {
	padding-block: 72px 96px;
}

.pua-search-results__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
}

.pua-search-card,
.pua-empty-state {
	padding: 34px;
	border: 1px solid rgb(7 71 114 / 9%);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 24px 50px -42px rgb(7 71 114 / 55%);
}

.pua-search-card > p {
	margin: 0 0 9px;
	color: #b27e43;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.pua-search-card h2 {
	margin: 0 0 14px;
	font-family: 'Cormorant Garamond', Marcellus, Georgia, serif;
	font-size: 34px;
}

.pua-search-card h2 a {
	color: var(--pua-navy);
	text-decoration: none;
}

.pua-search-card > div {
	margin-bottom: 22px;
	color: #526973;
	line-height: 1.65;
}

.pua-empty-state {
	max-width: 720px;
	margin-inline: auto;
	text-align: center;
}

.pua-empty-state > span {
	display: block;
	color: var(--pua-blue);
	font-size: 58px;
	line-height: 1;
}

.pua-empty-state h2 {
	margin: 8px 0 12px;
	color: var(--pua-navy);
	font-family: 'Cormorant Garamond', Marcellus, Georgia, serif;
	font-size: 42px;
}

.pua-empty-state p {
	margin: 0 0 26px;
	color: #526973;
}

.pua-gallery-grid {
	display: grid !important;
	grid-auto-rows: 210px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	max-width: 1120px;
	margin: 32px auto 0;
}

.pua-gallery-grid > .elementor-element {
	width: auto;
	height: 100%;
	overflow: hidden;
	border-radius: 16px;
	box-shadow: 0 24px 42px -30px rgb(0 0 0 / 64%);
}

.pua-gallery-grid .elementor-widget-container,
.pua-gallery-grid img {
	width: 100%;
	height: 100%;
}

.pua-gallery-grid img {
	display: block;
	object-fit: cover;
	transition: transform 450ms cubic-bezier(0.22, 1, 0.36, 1), filter 300ms ease;
}

.pua-gallery-grid > .elementor-element:hover img {
	filter: saturate(1.08) contrast(1.03);
	transform: scale(1.045);
}

.pua-gallery-item--1 {
	grid-column: auto;
	grid-row: auto;
}

.pua-gallery-item--2 {
	grid-column: auto;
}

.pua-gallery-item--3 {
	grid-column: auto;
}

.pua-gallery-item--4 {
	grid-column: auto;
}

.pua-gallery-item--5 {
	grid-column: auto;
}

.pua-gallery-item--6 {
	grid-column: auto;
}

.pua-gallery-item--7 {
	grid-column: auto;
}

.pua-room-card {
	overflow: hidden;
	isolation: isolate;
	box-sizing: border-box;
	border: 2px solid transparent;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.pua-room-amenities {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 10px !important;
	margin: 8px 0 0 !important;
}

.pua-room-amenities > .e-con-inner {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.pua-room-amenity {
	display: flex;
	min-width: 0;
	min-height: 64px;
	box-sizing: border-box;
	padding: 12px 15px !important;
	border: 1px solid rgb(7 71 114 / 12%);
	border-radius: 12px;
	background: #f4f9fb;
	transition: border-color 180ms ease, background-color 180ms ease;
}

.pua-room-amenity:hover {
	border-color: rgb(92 154 191 / 48%);
	background: #edf7fa;
}

.pua-room-amenity .elementor-icon-box-wrapper {
	display: flex;
	align-items: center !important;
	flex-direction: row !important;
	height: 100%;
	gap: 12px;
	text-align: left !important;
}

.pua-room-amenity .elementor-icon-box-icon {
	flex: 0 0 40px;
	margin: 0 !important;
}

.pua-room-amenity .elementor-icon-box-content {
	min-width: 0;
	flex: 1 1 auto;
}

.pua-room-amenity.elementor-view-framed .elementor-icon {
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: #deedf3;
	color: var(--pua-navy);
	fill: var(--pua-navy);
}

.pua-room-amenity .elementor-icon-box-title {
	margin: 0;
	color: #244656 !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

.pua-room-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 35%, rgb(3 29 45 / 82%) 100%);
	pointer-events: none;
	z-index: 0;
	transition: background 180ms ease;
}

.pua-room-card > .e-con-inner,
.pua-room-card > .elementor-element {
	position: relative;
	z-index: 1;
}

.pua-room-card:hover {
	border-color: rgb(231 194 140 / 78%);
	box-shadow: 0 18px 42px rgb(3 29 45 / 20%);
	transform: none !important;
}

.pua-room-card:hover::before {
	background: linear-gradient(180deg, rgb(7 71 114 / 8%) 20%, rgb(3 29 45 / 76%) 100%);
}

.pua-room-card {
	cursor: pointer;
}

body:not(.elementor-editor-active) .pua-room-modals {
	display: contents !important;
}

body:not(.elementor-editor-active) .pua-room-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none !important;
	width: 100%;
	max-width: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgb(3 29 45 / 72%);
	box-sizing: border-box;
}

body:not(.elementor-editor-active) .pua-room-modal.is-open {
	display: flex !important;
}

.pua-room-modal__dialog {
	position: relative;
	width: min(920px, 100%);
	max-height: min(820px, calc(100vh - 48px));
	padding: 0 !important;
	overflow: hidden;
	isolation: isolate;
	border: 1px solid rgb(7 71 114 / 10%);
	border-radius: 22px;
	background: #fbfaf7 !important;
	color: var(--pua-ink);
	box-shadow: 0 26px 70px rgb(3 29 45 / 32%);
}

.pua-room-modal__dialog > .e-con-inner {
	display: flex;
	width: 100%;
	max-height: inherit;
	padding: 48px 52px 44px !important;
	overflow: auto;
	flex-direction: column;
	gap: 0 !important;
	background: #fbfaf7;
}

.pua-room-modal__dialog h1,
.pua-room-modal__dialog h2,
.pua-room-modal__dialog h3,
.pua-room-modal__dialog h4,
.pua-room-modal__dialog h5,
.pua-room-modal__dialog h6 {
	color: var(--pua-ink) !important;
}

.pua-room-modal__dialog p {
	color: #415866 !important;
	font-size: 16px;
	line-height: 1.72;
}

.pua-room-modal__dialog > .e-con-inner > .elementor-widget-heading,
.pua-room-modal__dialog > .e-con-inner > .elementor-widget-text-editor,
.pua-room-modal__dialog > .e-con-inner > .elementor-widget-button {
	margin: 0 !important;
}

.pua-room-modal__dialog > .e-con-inner > .elementor-widget-heading:first-child {
	margin-bottom: 8px !important;
}

.pua-room-modal__dialog > .e-con-inner > .elementor-widget-heading:nth-child(2) {
	margin-bottom: 18px !important;
}

.pua-room-modal__dialog > .e-con-inner > .elementor-widget-text-editor {
	max-width: 780px;
	margin-bottom: 28px !important;
}

.pua-room-modal__gallery {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 16px !important;
	width: 100%;
	margin: 0 0 30px !important;
}

.pua-room-modal__gallery > .elementor-element {
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	flex: none !important;
}

.pua-room-modal__image {
	cursor: zoom-in;
	transition: box-shadow 180ms ease;
}

.pua-room-modal__image:focus-visible {
	border-radius: 14px;
	outline: 3px solid rgb(92 154 191 / 58%);
	outline-offset: 3px;
}

.pua-room-modal__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	border-radius: 14px;
	object-fit: cover;
	box-shadow: 0 8px 24px rgb(3 29 45 / 10%);
}

.pua-room-modal__dialog .elementor-button-wrapper {
	text-align: left;
}

.pua-room-modal__dialog .elementor-button {
	min-height: 48px;
	padding: 14px 24px;
	border-radius: 12px !important;
	box-shadow: none;
}

.pua-room-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgb(255 255 255 / 92%);
	color: var(--pua-navy);
	font-family: Arial, sans-serif;
	font-size: 32px;
	font-weight: 400;
	line-height: 1;
	box-shadow: 0 5px 18px rgb(3 29 45 / 16%);
	cursor: pointer;
	touch-action: manipulation;
}

.pua-room-modal__close > span {
	display: block;
	transform: translateY(-1px);
}

.pua-room-modal__close:hover,
.pua-room-modal__close:focus-visible {
	background: var(--pua-navy);
	color: var(--pua-white);
}

/* Native top-layer photo viewer keeps the details gallery stationary. */
.pua-room-viewer {
	position: fixed;
	inset: 0;
	box-sizing: border-box;
	width: 100vw;
	max-width: none;
	height: 100%;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 20px clamp(16px, 3vw, 48px);
	border: 0;
	background: #071e2b;
	color: #fff;
	overflow: hidden;
}

.pua-room-viewer[open] {
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	gap: 16px;
}

.pua-room-viewer::backdrop {
	background: rgb(3 16 24 / 90%);
}

.pua-room-viewer__header,
.pua-room-viewer__navigation {
	display: flex;
	align-items: center;
	gap: 24px;
}

.pua-room-viewer__header {
	justify-content: space-between;
}

.pua-room-viewer__title {
	font-size: 16px;
	font-weight: 500;
	letter-spacing: .03em;
}

.pua-room-viewer__stage {
	width: min(1200px, 100%);
	min-height: 0;
	margin: 0 auto;
	touch-action: pan-y pinch-zoom;
}

.pua-room-viewer__stage img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 4px;
}

.pua-room-viewer__navigation {
	justify-content: center;
}

.pua-room-viewer__count {
	min-width: 52px;
	text-align: center;
	font-size: 14px;
	font-variant-numeric: tabular-nums;
	color: #d4e4ed;
}

.pua-room-viewer__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgb(255 255 255 / 24%);
	border-radius: 50%;
	background: rgb(255 255 255 / 7%);
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	cursor: pointer;
	touch-action: manipulation;
}

.pua-room-viewer__button[hidden] {
	display: none;
}

.pua-room-viewer__button:hover {
	background: rgb(255 255 255 / 18%);
	color: #fff;
}

.pua-room-viewer__button:focus-visible {
	outline: 2px solid #9dcee9;
	outline-offset: 4px;
}

body.pua-room-modal-open {
	overflow: hidden;
}

body.elementor-editor-active .pua-room-modal {
	position: relative;
	display: flex;
	inset: auto;
	padding: 24px;
	background: #edf7fa;
}

body.elementor-editor-active .pua-room-modal__dialog {
	max-height: none;
}

a,
button,
input,
textarea,
select {
	transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease,
		box-shadow 180ms ease, transform 180ms ease;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--pua-blue) 55%, white);
	outline-offset: 3px;
}

.pua-contact-form .ff-el-form-control {
	min-height: 54px;
	padding: 12px 15px;
	border: 1px solid color-mix(in srgb, var(--pua-navy) 22%, white);
	border-radius: 8px;
	background: var(--pua-white);
	color: var(--pua-ink);
	font-size: 16px;
	box-shadow: none;
}

.pua-contact-copy p {
	margin: 0 0 16px;
}

.pua-contact-copy ul {
	display: grid;
	gap: 10px;
	margin: 4px 0 22px;
	padding: 0;
	list-style: none;
}

.pua-contact-copy li {
	position: relative;
	padding-left: 25px;
	color: #415866;
	line-height: 1.55;
}

.pua-contact-copy li::before {
	content: '';
	position: absolute;
	top: 0.62em;
	left: 2px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--pua-blue);
}

.pua-contact-copy p:last-child {
	margin-bottom: 0;
}

.pua-protected-contact {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 4px 0 18px;
}

.pua-protected-contact__button,
.pua-protected-contact__link {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 14px;
	border: 1px solid rgb(7 71 114 / 20%);
	border-radius: 10px;
	background: rgb(255 255 255 / 72%);
	color: var(--pua-navy);
	font: 700 14px/1.25 Manrope, Jost, Arial, sans-serif;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
}

.pua-protected-contact__button {
	gap: 9px;
	width: 100%;
}

.pua-protected-contact__button svg {
	flex: 0 0 19px;
	width: 19px;
	height: 19px;
	fill: currentColor;
}

.pua-protected-contact__button:hover,
.pua-protected-contact__button:focus-visible,
.pua-protected-contact__link:hover,
.pua-protected-contact__link:focus-visible {
	border-color: var(--pua-blue);
	background: #fff;
	color: var(--pua-blue);
}

.pua-protected-contact__button.is-loading {
	cursor: wait;
	opacity: 0.68;
}

.pua-protected-contact__status {
	grid-column: 1 / -1;
	color: #8d3434;
	font-size: 13px;
	line-height: 1.4;
}

.pua-protected-contact__status:empty {
	display: none;
}

.pua-contact-location {
	color: #415866;
}

.pua-contact-section > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 43fr) minmax(0, 57fr);
	gap: 42px 70px !important;
}

.pua-contact-section > .e-con-inner > .elementor-element {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0;
}

.pua-contact-map {
	grid-column: 1 / -1;
	width: 100% !important;
	min-width: 0;
	margin-top: 4px;
}

.pua-contact-map__title {
	margin-bottom: 8px !important;
}

.pua-contact-map__canvas {
	position: relative;
	overflow: hidden;
	border: 1px solid rgb(7 71 114 / 10%);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 22px 50px -30px rgb(7 71 114 / 28%);
}

.pua-contact-map__card {
	padding: 22px 24px !important;
	border: 1px solid rgb(7 71 114 / 12%);
	border-radius: 14px;
	background: rgb(255 255 255 / 96%);
	box-shadow: 0 16px 35px -24px rgb(7 49 77 / 55%);
}

body:not(.elementor-editor-active) .pua-contact-map__card {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 3;
	width: min(360px, calc(100% - 36px)) !important;
	min-height: 122px;
}

.pua-contact-map__card-title h4 {
	margin: 0;
	color: var(--pua-navy);
	font-family: 'Cormorant Garamond', Marcellus, Georgia, serif;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.05;
}

.pua-contact-map__card-copy,
.pua-contact-map__card-copy p {
	margin: 0;
	color: #415866;
	font-family: Manrope, Jost, Arial, sans-serif;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.45;
}

.pua-contact-map__widget {
	margin: 0 !important;
	background: #fff;
}

.pua-contact-map__widget .elementor-widget-container,
.pua-contact-map__widget .elementor-custom-embed,
.pua-contact-map__widget iframe {
	display: block;
	width: 100%;
}

.pua-contact-map__widget iframe {
	height: 360px;
	border: 0;
}

.pua-google-map {
	display: block;
	width: 100%;
	height: 360px;
}

.pua-contact-form .ff-el-group {
	margin-bottom: 18px;
}

.pua-contact-form .ff-el-input--label label {
	margin-bottom: 7px;
	color: var(--pua-navy);
	font-size: 14px;
	font-weight: 800;
}

.pua-contact-form textarea.ff-el-form-control {
	min-height: 150px;
	resize: vertical;
}

.pua-contact-form .ff-el-form-control:focus {
	border-color: var(--pua-blue);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--pua-blue) 18%, transparent);
}

.pua-contact-form .ff-btn-submit {
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: 8px;
	background: var(--pua-navy);
	color: var(--pua-white);
	font-weight: 700;
}

.pua-contact-form .ff-btn-submit:hover,
.pua-contact-form .ff-btn-submit:focus {
	background: var(--pua-blue);
	transform: translateY(-1px);
}

.pua-contact-form .ff-el-is-error .ff-el-form-control {
	border-color: #a74646;
}

.pua-contact-form .error.text-danger {
	margin-top: 5px;
	color: #8d3434;
	font-size: 13px;
}

@media (max-width: 1024px) {
	.pua-room-grid.pua-room-grid--with-video,
	.pua-room-grid--with-video > .e-con-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.pua-room-grid--with-video .pua-room-video-card {
		grid-column: 1 / -1;
	}

	.pua-contact-section > .e-con-inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.pua-contact-map {
		grid-column: 1;
	}

	body:not(.elementor-editor-active) .pua-room-modal__dialog,
	body:not(.elementor-editor-active) .pua-room-modal__dialog > .e-con-inner {
		align-items: stretch !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
	}

	body:not(.elementor-editor-active) .pua-room-modal__dialog > .e-con-inner {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
		overflow-x: hidden;
	}

	body:not(.elementor-editor-active) .pua-room-modal__dialog > .e-con-inner > * {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
		flex: 0 0 auto !important;
	}

	body:not(.elementor-editor-active) .pua-room-modal__dialog .pua-room-modal__gallery {
		display: grid !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		align-self: stretch !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.pua-room-amenities,
	.pua-room-amenities > .e-con-inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.pua-site-footer__main {
		grid-template-columns: minmax(230px, 0.8fr) minmax(420px, 1.2fr);
	}

	.pua-error-page__inner {
		grid-template-columns: 1fr;
	}

	.pua-error-page__number {
		grid-row: 1;
		font-size: 150px;
	}

	.pua-gallery-grid {
		grid-auto-rows: 190px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pua-gallery-grid > .elementor-element,
	.pua-gallery-item--1,
	.pua-gallery-item--2,
	.pua-gallery-item--3,
	.pua-gallery-item--4,
	.pua-gallery-item--5,
	.pua-gallery-item--6,
	.pua-gallery-item--7 {
		grid-column: auto;
		grid-row: auto;
	}

}

@media (max-width: 767px) {
	.pua-room-grid.pua-room-grid--with-video,
	.pua-room-grid--with-video > .e-con-inner {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.pua-room-grid--with-video .pua-room-card,
	.pua-room-grid--with-video .pua-room-video-card {
		min-height: 320px !important;
	}

	.pua-room-grid--with-video .pua-room-video-card {
		height: 320px !important;
	}

	.pua-protected-contact {
		grid-template-columns: 1fr;
	}

	.pua-contact-map__canvas {
		border-radius: 14px;
	}

	body:not(.elementor-editor-active) .pua-contact-map__card {
		top: 12px;
		left: 12px;
		width: calc(100% - 24px) !important;
		min-height: 108px;
		padding: 17px 19px !important;
	}

	.pua-contact-map__card-title h4 {
		font-size: 24px;
	}

	.pua-contact-map__widget iframe {
		height: 280px;
	}

	.pua-google-map {
		height: 280px;
	}

	.pua-room-amenities,
	.pua-room-amenities > .e-con-inner {
		grid-template-columns: 1fr !important;
	}

	.pua-section {
		padding-top: 30px !important;
		padding-right: 18px !important;
		padding-bottom: 30px !important;
		padding-left: 18px !important;
	}

	.pua-about-collage {
		width: min(100%, 540px) !important;
		min-height: 450px;
		margin-inline: auto;
	}

	.pua-about-shot {
		border-width: 5px;
		border-radius: 19px;
	}

	.pua-about-shot > .elementor-widget-container {
		border-radius: 14px;
	}
}

@media (max-width: 700px) {
	.pua-content-wrap {
		width: min(100% - 30px, 1120px);
	}

	.pua-page-hero {
		padding: 58px 0 54px;
	}

	.pua-page-hero--privacy {
		padding: 42px 0 40px;
	}

	.pua-page-hero--privacy::before {
		top: -72px;
		right: -90px;
		width: 220px;
		height: 220px;
	}

	.pua-page-hero--privacy::after {
		width: 50vw;
	}

	.pua-page-hero--privacy h1 {
		font-size: 34px;
	}

	.pua-entry-content,
	.pua-search-results {
		padding-block: 52px 68px;
	}

	.pua-entry-content--privacy {
		width: min(100% - 30px, 1180px);
		padding-block: 34px 58px;
	}

	.pua-privacy-elementor {
		grid-template-columns: 1fr !important;
		gap: 24px !important;
	}

	.pua-privacy-toc {
		position: static !important;
		padding: 20px !important;
	}

	.pua-privacy-content {
		padding: 24px 20px !important;
	}

	.pua-site-footer {
		padding-top: 50px;
	}

	.pua-site-footer__main,
	.pua-search-results__grid {
		grid-template-columns: 1fr;
		gap: 30px;
	}

	.pua-site-footer__navigation {
		justify-self: stretch;
		padding: 24px 0 0;
		border-top: 1px solid rgb(255 255 255 / 13%);
		border-left: 0;
	}

	.pua-site-footer__nav {
		justify-content: flex-start;
		gap: 10px 24px;
	}

	.pua-site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 12px;
	}

	.pua-error-page {
		min-height: auto;
		padding: 58px 0 70px;
	}

	.pua-error-page__number {
		font-size: 112px;
	}

	.pua-error-page__actions,
	.pua-search-form {
		align-items: stretch;
		flex-direction: column;
	}

	.pua-gallery-grid {
		grid-auto-rows: 132px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
		margin-top: 26px;
	}

	.pua-gallery-grid > .elementor-element {
		grid-column: auto;
		grid-row: auto;
	}

	.pua-gallery-grid > .elementor-element {
		border-radius: 10px;
	}

	.pua-room-modal {
		align-items: flex-end;
		padding: 12px;
	}

	.pua-room-modal__dialog {
		max-height: calc(100vh - 24px);
		border-radius: 18px;
	}

	.pua-room-modal__dialog > .e-con-inner {
		padding: 52px 22px 28px !important;
	}

	.pua-room-modal__dialog > .e-con-inner > .elementor-widget-text-editor {
		margin-bottom: 22px !important;
	}

	.pua-room-modal__gallery > .elementor-element {
		width: 100% !important;
	}

	.pua-room-modal__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px !important;
		margin-bottom: 24px !important;
	}

	.pua-room-modal__image img {
		aspect-ratio: 4 / 3;
	}


	.pua-room-modal__close {
		top: 9px;
		right: 9px;
	}

}

@media (max-width: 420px) {
	.pua-about-collage {
		min-height: 380px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
