.wp-site-blocks .hpv-main--room { margin-block-start: 0; }
.wp-site-blocks .hpv-main--room > .hpv-hero { margin-top: -72px; }
@media (max-width: 1023px) { .wp-site-blocks .hpv-main--room > .hpv-hero { margin-top: -64px; } }
.hpv-main--room > .wp-block-post-content {
	width: min(100% - 2rem, 80rem);
	margin-inline: auto;
	padding-block: 3rem 0;
}
.hpv-room-crumbs {
	width: min(100% - 2rem, 80rem);
	margin: 1.25rem auto 0;
}
.hpv-room-crumbs ol { padding-inline: 0; }

.hpv-main--room { container-type: inline-size; }
.hpv-main--room > .wp-block-post-content > .hpv-room-gallery.alignfull {
	width: 100cqi;
	max-width: none;
	margin-inline: calc(50% - 50cqi);
	padding-inline: max(1rem, calc((100cqi - 80rem) / 2));
	box-sizing: border-box;
}
.hpv-room-gallery.hpv-gallery--carousel { margin-block: 0 2.5rem; }
.hpv-room-gallery.hpv-gallery--carousel .hpv-gallery__slide { flex-basis: min(42%, 36rem); }
.hpv-room-gallery .hpv-gallery__item { display: block; width: 100%; aspect-ratio: 16 / 10; border-radius: 1.25rem; }

.hpv-room-ideal {
	margin-top: 1rem;
	padding: 1.25rem;
	border-radius: 1.25rem;
	background: var(--wp--preset--color--grupo-mar-50);
	color: var(--wp--preset--color--tinta-700);
	line-height: 1.6;
}
.hpv-room-ideal strong { color: var(--wp--preset--color--grupo-mar-800); }

.hpv-room-columns { align-items: flex-start; gap: 2.5rem; }
.hpv-room-columns > .wp-block-column { min-width: 0; }
.hpv-room-facts h2 {
	margin: 2.5rem 0 0.5rem;
	color: var(--wp--preset--color--tinta-900);
	font-size: 1.5rem;
	font-weight: 600;
}
.hpv-room-facts__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1rem;
	margin: 2rem 0 0;
}
.hpv-room-fact {
	margin: 0;
	padding: 1rem;
	border-radius: 1.25rem;
	background: var(--wp--preset--color--areia-50);
	box-shadow: 0 8px 30px color-mix(in srgb, var(--wp--preset--color--grupo-mar-950) 8%, transparent);
}
.hpv-room-fact dt {
	color: var(--wp--preset--color--tinta-500);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.hpv-room-fact dd {
	margin: 0.25rem 0 0;
	color: var(--wp--preset--color--tinta-900);
	font-size: 1.25rem;
	font-weight: 600;
}
.hpv-room-fact__missing { color: var(--wp--preset--color--tinta-700); font-size: 1rem; font-weight: 400; }
.hpv-room-checks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem 1rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}
.hpv-room-checks li,
.hpv-room-reserve__benefits li {
	display: flex;
	align-items: flex-start;
	gap: 0.625rem;
	color: var(--wp--preset--color--tinta-700);
}
.hpv-room-check { flex: 0 0 auto; margin-top: 0.2rem; color: var(--wp--preset--color--grupo-mar-500); }
.hpv-room-courtesy { margin-top: 0.75rem; color: var(--wp--preset--color--tinta-500); font-size: 0.875rem; }
.hpv-room-config {
	margin-top: 1rem;
	padding: 1.25rem;
	border-radius: 1.25rem;
	background: var(--wp--preset--color--areia-100);
}
.hpv-room-config p { margin: 0; color: var(--wp--preset--color--tinta-900); }
.hpv-room-config-note { margin-top: 0.5rem; color: var(--wp--preset--color--tinta-700); font-size: 0.875rem; line-height: 1.6; }
.hpv-room-notes,
.hpv-room-notes p,
.hpv-room-notes li { text-align: left; }

.hpv-room-reserve__card {
	padding: 1.5rem;
	border-radius: 1.25rem;
	background: var(--wp--preset--color--areia-50);
	box-shadow: 0 8px 30px color-mix(in srgb, var(--wp--preset--color--grupo-mar-950) 8%, transparent);
}
.hpv-room-reserve__benefits { margin: 0; padding: 0; list-style: none; }
.hpv-room-reserve__benefits li + li { margin-top: 0.5rem; }
.hpv-room-reserve__go {
	display: inline-flex;
	width: 100%;
	min-height: 3.25rem;
	align-items: center;
	justify-content: center;
	margin-top: 1.5rem;
	border: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--grupo-mar-800);
	color: var(--wp--preset--color--branco);
	font-size: 1rem;
	font-weight: 800;
	text-align: center;
	cursor: pointer;
}
.hpv-room-reserve__go:hover,
.hpv-room-reserve__go:focus-visible { background: var(--wp--preset--color--grupo-mar-700); color: var(--wp--preset--color--branco); }
.hpv-room-reserve__note { margin: 0.5rem 0 0; color: var(--wp--preset--color--tinta-500); font-size: 0.75rem; line-height: 1.6; text-align: center; }
.hpv-room-reserve__compare { margin: 1rem 0 0; text-align: center; }
.hpv-room-reserve__compare a { color: var(--wp--preset--color--grupo-mar-800); font-weight: 800; }

.hpv-listing--room-related { margin-top: 3rem; }
.hpv-listing--room-related .hpv-room-related {
	display: flex;
	flex: 0 0 16rem;
	flex-direction: column;
	overflow: hidden;
	border-radius: 1.25rem;
	background: var(--wp--preset--color--areia-50);
	box-shadow: 0 8px 30px color-mix(in srgb, var(--wp--preset--color--grupo-mar-950) 8%, transparent);
	color: inherit;
	text-decoration: none;
	scroll-snap-align: start;
}
.hpv-room-related__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--wp--preset--color--areia-100); }
.hpv-room-related__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hpv-room-related__body { display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem; }
.hpv-room-related__title { color: var(--wp--preset--color--tinta-900); font-weight: 800; line-height: 1.3; }
.hpv-room-related:hover .hpv-room-related__title,
.hpv-room-related:focus-visible .hpv-room-related__title { color: var(--wp--preset--color--grupo-mar-800); }
.hpv-room-related__caption { color: var(--wp--preset--color--tinta-500); font-size: 0.75rem; }

.hpv-main--room .hpv-room-cta { padding-top: 1rem; padding-bottom: clamp(3rem, 6vw, 5rem); }
.hpv-room-cta .hpv-home-cta__links a:last-child {
	min-height: 3.5rem;
	padding: 1rem 1.5rem;
	border: 0;
	background: color-mix(in srgb, var(--wp--preset--color--branco) 12%, transparent);
	text-decoration: none;
}

body.hpv-unit-praia-do-frances .hpv-room-gallery .hpv-gallery__item,
body.hpv-unit-praia-do-frances .hpv-room-related,
body.hpv-unit-praia-do-frances .hpv-room-related__media,
body.hpv-unit-praia-do-frances .hpv-room-related__media img,
body.hpv-unit-praia-do-frances .hpv-room-fact,
body.hpv-unit-praia-do-frances .hpv-room-ideal,
body.hpv-unit-praia-do-frances .hpv-room-config,
body.hpv-unit-praia-do-frances .hpv-room-reserve__card { border-radius: 0; }

@media (min-width: 900px) {
	.hpv-room-columns { flex-wrap: nowrap; }
	.hpv-room-columns > .wp-block-column:first-child { flex-basis: 0 !important; flex-grow: 1 !important; }
	.hpv-room-reserve-col { flex-basis: 22rem !important; flex-grow: 0 !important; position: sticky; top: 6rem; align-self: flex-start; }
}
@media (max-width: 1280px) {
	.hpv-room-facts__grid { gap: 0.75rem; }
}
@media (max-width: 899px) {
	.hpv-room-columns { flex-direction: column !important; }
	.hpv-room-columns > .wp-block-column { flex-basis: 100% !important; }
	.hpv-room-facts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hpv-room-gallery.hpv-gallery--carousel .hpv-gallery__slide { flex-basis: 85vw; }
}
@media (max-width: 767px) {
	.hpv-main--room > .wp-block-post-content { padding-block: 2rem 0; }
	.hpv-room-facts__grid,
	.hpv-room-checks { grid-template-columns: 1fr; }
}
