/*
Theme Name: Village QR
Theme URI: https://wordpress.org/themes/twentytwentyfour/
Template: twentytwentyfour
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Four is designed to be flexible, versatile and applicable to any website. Its collection of templates and patterns tailor to different needs, such as presenting a business, blogging and writing or showcasing work. A multitude of possibilities open up with just a few adjustments to color and typography, is fully compatible with the site editor, and takes advantage of new design tools introduced in WordPress 6.4.
Tags: one-column,custom-colors,custom-menu,custom-logo,editor-style,featured-images,full-site-editing,block-patterns,rtl-language-support,sticky-post,threaded-comments,translation-ready,wide-blocks,block-styles,style-variations,accessibility-ready,blog,portfolio,news
Version: 1.9.25

*/

:where(.wp-site-blocks)>* {
	margin-block-start: 0;
	margin-block-end: 0;
}

body:not(.editor-styles-wrapper) .wp-block-post-title {
	display: none !important;
}

body,
.wp-site-blocks {
	background-color: var(--village-color-site-background) !important;
}

.wp-site-blocks {
	min-height: 100dvh;
}

body.vqr-menu-page,
body.vqr-menu-page .wp-site-blocks {
	background-color: #003233 !important;
}

body.vqr-menu-page .village-site-header {
	background-color: #124d44 !important;
	border-bottom: 4px solid #ac9b86;
	padding-block: 0 !important;
}

body.vqr-menu-page .village-header-inner {
	align-items: start;
	grid-template-columns: minmax(0, 1fr) 42px;
	margin-inline: auto;
	max-width: 100% !important;
	min-height: 89px;
	padding: 0 16px;
}

body.vqr-menu-page .village-header-logo {
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	margin-top: 16.5px !important;
	width: 132px !important;
}

body.vqr-menu-page .village-header-logo img,
body.vqr-menu-page .village-header-logo svg {
	display: block;
	height: 48px;
	width: 132px !important;
}

body.vqr-menu-page .village-menu-toggle {
	align-items: center;
	display: flex;
	gap: 5px;
	grid-column: 2;
	grid-row: 1;
	height: 42px;
	justify-self: end;
	justify-content: center;
	margin-top: 25px;
	padding: 0;
	width: 42px;
}

body.vqr-menu-page .village-menu-toggle span {
	background: #e3e3c4;
	border-radius: 2px;
	height: 3px;
	width: 30px;
}

body.vqr-menu-page .village-header-spacer {
	display: none;
}

body.vqr-menu-page .village-menu-panel:not(.is-directory-menu) {
	max-width: 390px;
	padding: 46px 12px 28px;
	width: min(100vw, 390px);
}

.village-site-header {
	background-color: var(--village-color-site-background) !important;
	color: var(--village-color-surface);
	border-bottom: 2px solid var(--village-color-accent);
	position: relative;
}

.village-directory-page .village-site-header {
	background-color: var(--village-color-surface) !important;
	border-bottom-color: var(--village-color-border-warm);
}

.village-directory-page .village-header-logo img {
	filter: brightness(0) saturate(100%) invert(14%) sepia(34%) saturate(1958%) hue-rotate(331deg) brightness(85%);
}

.village-header-inner {
	align-items: center;
	display: grid !important;
	grid-template-columns: 34px minmax(0, 1fr) 34px;
	max-width: 1140px !important;
	min-height: 64px;
	position: relative;
	width: 100%;
	padding: 16px;
}

.village-menu-toggle,
.village-menu-close {
	appearance: none;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	outline: none !important;
}

.village-menu-toggle {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 10px 0;
	width: 34px;
}

.village-menu-toggle span {
	background: var(--village-color-accent);
	display: block;
	height: 2px;
	width: 33px;
}

.village-header-logo {
	grid-column: 2;
	justify-self: center;
	margin: 0 !important;
	position: static;
	transform: none;
}

.village-header-logo img {
	display: block;
}

.village-header-spacer {
	display: block;
	width: 34px;
}

.village-menu-panel {
	background: var(--village-color-surface) !important;
	box-shadow: var(--village-shadow-panel);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100dvh;
	left: 0;
	margin: 0 !important;
	max-width: 520px;
	overflow-x: hidden;
	padding: 46px 36px 28px;
	position: fixed !important;
	top: 0;
	transform: translateX(-105%);
	transition: transform .3s ease;
	width: min(45vw, 520px);
	z-index: 100000;
	min-height: 100dvh;
}

.village-menu-panel.is-open {
	transform: translateX(0);
}

.village-menu-backdrop {
	background: var(--village-color-overlay-strong);
	bottom: 0;
	height: 100dvh;
	left: 0;
	margin: 0 !important;
	max-width: none !important;
	opacity: 0;
	pointer-events: none;
	position: fixed !important;
	right: 0;
	top: 0;
	transition: opacity .3s ease;
	width: auto;
	z-index: 99999;
	min-height: 100dvh;
}

.village-menu-backdrop.is-visible {
	opacity: 1;
	pointer-events: auto;
}

body.village-menu-open {
	overflow: hidden;
}

.village-menu-close {
	color: var(--village-color-brand);
    font-weight: 300;
    padding: 0;
    position: absolute;
    top: 18px;
    font-size: 52px;
    height: 47px;
    line-height: 42px;
    right: 17px;
    width: 42px;
}

.village-panel-logo {
	display: block;
	margin: 0 !important;
	width: 132px;
	padding: 17px !important;
}

.village-panel-logo img {
	display: block;
	height: auto;
	width: 100%;
}

.village-panel-logo svg {
	display: block;
	height: auto;
	width: 100%;
}

.village-panel-navigation {
	align-items: flex-start !important;
	box-sizing: border-box;
	color: var(--village-color-brand);
	max-width: 100%;
	margin: 0;
	padding: 20px 17px;
	width: 100%;
}

.village-panel-navigation .wp-block-navigation-item__content {
	color: var(--village-color-brand) !important;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	padding: 7px 0;
}

.village-panel-navigation ul {
	display: grid;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
}

.village-panel-navigation a {
	align-items: flex-start;
	border-radius: 10px;
	box-sizing: border-box;
	color: var(--village-color-brand) !important;
	display: flex;
	justify-content: space-between;
	min-height: 85px;
	padding: 16px 13px 8px 9px;
	text-decoration: none;
	transition: background-color .18s ease;
	width: 100%;
}

.village-panel-navigation__copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.village-panel-navigation__copy strong {
	color: #124d44;
	font-family: var(--village-font-display);
	font-size: 36px;
	font-weight: 400;
	line-height: 35px;
	text-transform: uppercase;
}

.village-panel-navigation__copy small {
	color: #ac9b86;
	font-family: "Nunito Sans", Arial, sans-serif;
	font-size: 16px;
	font-style: italic;
	font-weight: 400;
	line-height: 26px;
}

.village-panel-navigation a>svg {
	fill: #ac9b86;
	flex: 0 0 26px;
	height: 26px;
	opacity: 0;
	transition: opacity .18s ease, transform .18s ease;
	width: 26px;
}

.village-panel-navigation a:hover,
.village-panel-navigation a:focus-visible {
	background: #e3e3c4;
}

.village-panel-navigation a:hover>svg,
.village-panel-navigation a:focus-visible>svg {
	opacity: 1;
	transform: translateX(2px);
}

.village-menu-panel.is-directory-menu {
	background: #e7e7e7 !important;
	max-width: 370px;
	overflow-y: auto;
	padding: 24px !important;
	width: min(92vw, 370px);
}

.village-menu-panel.is-directory-menu .village-panel-logo,
.village-menu-panel.is-directory-menu .village-panel-social {
	display: none;
}

.village-menu-panel.is-directory-menu .village-menu-close {
	right: 12px;
	top: 8px;
}

.village-directory-menu {
	margin-top: 0;
	width: 100%;
}

.village-directory-menu ul {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}

.village-directory-menu li {
	border-bottom: 1px solid rgba(105, 33, 33, .5);
}

.village-directory-menu a:not(.village-directory-menu__restaurant) {
	color: var(--village-color-brand) !important;
	display: flex;
	font-family: var(--village-font-body);
	font-size: .82rem;
	gap: 4px;
	line-height: 1.25;
	padding: 11px 0;
	text-decoration: none;
}

.village-directory-menu a span {
	font-weight: 700;
}

.village-directory-menu a small {
	font-size: inherit;
}

.village-directory-menu a[aria-current="page"] {
	background: rgba(105, 33, 33, .08);
	box-shadow: -24px 0 rgba(105, 33, 33, .08), 24px 0 rgba(105, 33, 33, .08);
}

.village-directory-menu__restaurant {
	background: var(--village-color-brand-action);
	border-radius: 999px;
	color: #fff !important;
	display: inline-block;
	font-family: var(--village-font-body);
	font-size: .9rem;
	font-weight: 700;
	padding: 11px 22px;
	text-decoration: none;
}

.village-panel-social {
	align-items: center;
	border-top: 2px solid var(--village-color-brand);
	display: flex;
	gap: 10px;
	margin-top: auto;
	padding: 24px 0;
	justify-content: flex-start;
}

.village-panel-social a {
	color: var(--village-color-brand);
	display: inline-flex;
}

.village-panel-social svg {
	height: 33px;
	width: 33px;
}

.village-panel-social a[aria-label="Instagram"] .village-social-bg {
	fill: transparent;
}

.village-panel-social a[aria-label="Instagram"] .village-social-mark {
	fill: none;
	stroke: #155b50;
	stroke-width: 2.5;
}

.village-panel-social a[aria-label="Facebook"] .village-social-bg {
	fill: #155b50;
}

.village-panel-social a[aria-label="Facebook"] .village-social-facebook-mark {
	fill: #f0ebe1;
}

.village-panel-social span {
	color: #155b50;
	font-size: .9rem;
}

.village-site-header a,
.village-site-header .wp-block-navigation-item__content {
	color: var(--village-color-surface);
}

.village-site-header .wp-block-image {
	margin: 0;
}

.has-global-padding {
	padding: 0 !important;
}

@media (max-width: 700px) {
	.village-menu-panel {
		padding-left: 24px;
		padding-right: 24px;
		width: min(88vw, 420px);
	}

	.village-header-logo {
		width: 145px !important;
	}
}

.village-directory-intro {
	background: transparent;
	color: var(--village-color-surface);
	min-height: 261px;
}

.village-directory-intro__content {
	margin: 0 auto;
	max-width: 1140px;
	padding: 45px 16px 48px;
}

.village-directory-intro__title {
	margin-block-end: 20px;
}

.village-directory-intro__title h1 {
	font-family: var(--village-font-heading);
	font-size: 21px;
	font-weight: 700;
	font-stretch: normal;
	font-style: normal;
	line-height: 1.14;
	letter-spacing: normal;
	text-align: left;
	color: var(--village-color-surface);
	margin: 0;
}

.village-directory-intro__title p {
	font-family: var(--village-font-heading);
	padding-bottom: 5px;
	font-size: 21px;
	font-stretch: normal;
	line-height: 1.14;
	letter-spacing: normal;
	text-align: left;
	color: var(--village-color-surface) !important;
	margin: 0;
	font-weight: 400;
	font-style: italic;
}

.village-directory-intro__title hr {
	width: 33.4px;
	background: var(--village-color-surface);
	height: 1px;
	opacity: 1;
	border: 0;
	margin: 0;
}

.village-directory-intro__button {
	appearance: none;
	background: var(--village-color-surface);
	border: 0;
	border-radius: 999px;
	color: var(--village-color-brand-ink);
	cursor: pointer;
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 317px;
	padding: 17px 51px 18px;
	text-align: left;
	transition: background-color .2s ease, color .2s ease, transform .2s ease;
}

.village-directory-intro__button:hover,
.village-directory-intro__button:focus-visible {
	background: var(--village-color-surface-muted);
	transform: translateY(-2px);
}

.village-directory-intro__button:focus-visible {
	outline: 3px solid var(--village-color-surface);
	outline-offset: 4px;
}

.village-directory-intro__button span {
	font-size: 14px;
	font-weight: normal;
	font-stretch: normal;
	font-style: normal;
	letter-spacing: 1.4px;
	color: var(--village-color-text-primary);
	text-transform: uppercase;
}

.village-directory-intro__button small {
	font-size: 11px;
	font-weight: 300;
	font-stretch: normal;
	font-style: normal;
	letter-spacing: 1.1px;
	color: var(--village-color-text-muted);
}

.village-welcome-dialog {
	background: var(--village-color-surface);
	border: 0;
	box-shadow: var(--village-shadow-dialog);
	color: var(--village-color-text-dialog);
	max-height: min(748px, calc(100dvh - 16px));
	max-width: min(625px, calc(100vw - 32px));
	padding: 0;
	width: 100%;
}

.village-welcome-dialog::backdrop {
	background: var(--village-color-overlay);
}

.village-welcome-dialog__header {
	align-items: center;
	border-bottom: 1px solid var(--village-color-border);
	display: flex;
	justify-content: space-between;
	min-height: 80px;
	padding: 10px 20px 10px 31px;
}

.village-welcome-dialog__title {
	align-items: flex-start;
	color: var(--village-color-brand-action);
	display: flex;
	gap: 9px;
}

.village-welcome-dialog__title img {
	width: 20px;
	height: 19px;
	object-fit: cover;
	margin-top: 3px;
}

.village-welcome-dialog__title h2 {
	font-size: 1.07rem;
	font-weight: 400;
	letter-spacing: .04em;
	margin: 0;
	text-transform: uppercase;
	font-family: var(--village-font-body) !important;
}

.village-welcome-dialog__title p {
	color: var(--village-color-text-warm);
	font-size: .94rem;
	margin: 4px 0 0;
}

.village-welcome-dialog__close {
	appearance: none;
	background: transparent;
	border: 0;
	color: var(--village-color-text-subtle);
	cursor: pointer;
	font-size: 2.15rem;
	font-weight: 300;
	line-height: 1;
	padding: 0 2px 5px;
}

.village-welcome-dialog__body {
	font-size: 1.12rem;
	line-height: 1.65;
	overflow-y: auto;
	padding: 17px 32px 34px;
}

.village-welcome-dialog__body p {
	margin: 0 0 29px;
}

.village-welcome-dialog__body hr {
	border: 0;
	border-top: 1px solid var(--village-color-border-warm);
	margin: 30px 0;
	max-width: 285px;
}

.village-welcome-dialog__footer {
	border-top: 1px solid var(--village-color-border);
	display: flex;
	justify-content: center;
	padding: 14px;
}

.village-welcome-dialog__dismiss {
	appearance: none;
	background: var(--village-color-brand-action);
	border: 0;
	border-radius: 999px;
	color: var(--village-color-surface);
	cursor: pointer;
	font-size: .96rem;
	font-weight: 700;
	letter-spacing: .12em;
	min-width: 162px;
	padding: 13px 28px;
	text-transform: uppercase;
}

@media (max-width: 700px) {
	.village-directory-intro__content {
		padding: 38px 24px 45px;
	}

	.village-welcome-dialog__header {
		padding-left: 22px;
	}

	.village-welcome-dialog__body {
		font-size: 1rem;
		padding-left: 22px;
		padding-right: 22px;
	}
}

@media (max-width: 380px) {
	.village-directory-intro__button {
		min-width: 0;
		width: 100%;
	}
}

.village-services {
	background: var(--village-color-surface);
	color: var(--village-color-text-neutral);
	padding: 64px 24px 80px;
}

.village-services__inner {
	margin: 0 auto;
	max-width: 800px;
}

.village-services h2 {
	color: var(--village-color-text-strong);
	font-family: var(--village-font-heading);
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 27px;
}

.village-services__grid {
	display: grid;
	gap: 27px 49px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.village-service-card {
	background: var(--village-color-surface);
	border-radius: 18px;
	box-shadow: var(--village-shadow-card);
	color: var(--village-color-text-service);
	display: block;
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow .2s ease, transform .2s ease;
}

.village-service-card:hover,
.village-service-card:focus-visible {
	box-shadow: var(--village-shadow-card-hover);
	transform: translateY(-3px);
}

.village-service-card:focus-visible {
	outline: 3px solid var(--village-color-brand);
	outline-offset: 4px;
}

.village-service-card__image {
	align-items: center;
	background-color: var(--village-color-placeholder);
	background-position: center;
	background-size: cover;
	display: flex;
	height: 122px;
	justify-content: center;
	position: relative;
}

/* Add the future Media Library URL to the matching .village-service-card__image. */
.village-service-card__image::before {
	background: var(--village-color-overlay-image);
	content: "";
	inset: 0;
	position: absolute;
}

.village-service-card__icon {
	filter: brightness(0) invert(1);
	max-height: 63px;
	max-width: 72px;
	object-fit: contain;
	position: relative;
	width: auto;
	z-index: 1;
}

.village-service-card__icon--fallback {
	color: var(--village-color-surface);
	font-family: var(--village-font-body);
	font-size: 3.1rem;
	font-weight: 300;
	line-height: 1;
}

.village-service-card__content {
	align-items: center;
	display: flex;
	flex-direction: column;
	padding: 28px 15px 24px;
	text-align: center;
}

.village-service-card__content h3,
.village-service-card__content h4 {
	margin: 0;
}

.village-service-card__content h3 {
	color: var(--village-color-text-service);
	font-family: var(--village-font-body) !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
}

.village-service-card__content h4 {
	color: var(--village-color-text-soft);
	font-family: var(--village-font-body) !important;
	font-size: 11px;
	font-weight: 400;
	letter-spacing: .03em;
	line-height: 1.2;
	margin-top: 7px;
}

@media (max-width: 700px) {
	.village-services {
		padding-left: 20px;
		padding-right: 20px;
	}

	.village-services__grid {
		gap: 20px;
	}

	.village-service-card__image {
		height: 125px;
	}
}

@media (max-width: 360px) {
	.village-services__grid {
		grid-template-columns: 1fr;
	}
}

.village-service-page {
	background: var(--village-color-brand);
	color: var(--village-color-text-body);
	padding: 48px 0 90px;
}

.village-service-page__hero,
.village-service-list {
	margin: 0 auto;
	max-width: 800px;
}

.village-service-page__hero {
	align-items: center;
	color: var(--village-color-surface);
	display: flex;
	gap: 20px;
	padding: 0 7px 35px;
}

.village-service-page__hero>img {
	filter: brightness(0) invert(1);
	height: 42px;
	object-fit: contain;
	width: 42px;
}

.village-service-page__hero h1 {
	color: var(--village-color-surface);
	font-family: var(--village-font-heading) !important;
	font-size: clamp(2rem, 4vw, 2.55rem);
	font-weight: 700;
	line-height: 1;
	margin: 0;
}

.village-service-page__hero p {
	color: var(--village-color-surface);
	font-family: var(--village-font-heading);
	font-size: 1.45rem;
	font-style: italic;
	line-height: 1.1;
	margin: 5px 0 0;
}

.village-service-page__hero hr {
	background: var(--village-color-divider);
	border: 0;
	height: 1px;
	margin: 5px 0 0;
	opacity: 1;
	width: 33.4px;
}

.village-service-list {
	overflow: hidden;
}

.village-service-row {
	align-items: flex-start;
	display: flex;
	padding: 34px 66px 34px 20px;
	position: relative;
	row-gap: 11px;
	flex-direction: column;
	justify-content: center;
}

.village-service-row+.village-service-row {
	border-top: 2px solid var(--village-color-brand);
}

.village-service-row--light {
	background: var(--village-color-surface-soft);
}

.village-service-row--gray {
	background: var(--village-color-surface-gray);
}

.village-service-row__icon {
	fill: #155B50;
	height: 38px;
	max-width: 42px;
	object-fit: contain;
	width: 42px;
}

img.village-service-row__icon {
	filter: brightness(0) saturate(100%) invert(29%) sepia(20%) saturate(1359%) hue-rotate(120deg) brightness(91%) contrast(91%);
}

.village-service-row>div {
	grid-column: 1;
}

.village-service-row__icon {
	grid-column: 1;
	grid-row: 1;
}

.village-service-row h2,
.village-service-row p {
	margin: 0;
}

.village-service-row h2 {
	color: var(--village-color-text-body);
	font-family: var(--village-font-body) !important;
	font-size: clamp(1.05rem, 2vw, 1.28rem);
	font-weight: 700;
	line-height: 1.18;
}

.village-service-row p {
	color: var(--village-color-text-body);
	font-family: var(--village-font-body);
	font-size: 1rem;
	font-style: italic;
	line-height: 1.35;
	margin-top: 5px;
}

.village-service-row__trigger {
	align-items: center;
	background: var(--village-color-brand-action);
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	height: 44px;
	justify-content: center;
	justify-self: end;
	grid-column: 2;
	grid-row: 1 / span 2;
	padding: 0;
	transition: transform .2s ease, background-color .2s ease;
	width: 44px;
	position: absolute;
	right: 22px;
}

.village-service-row__trigger:hover,
.village-service-row__trigger:focus-visible {
	background: var(--village-color-brand-deep);
	transform: scale(1.06);
}

.village-service-row__trigger:focus-visible {
	outline: 3px solid var(--village-color-accent);
	outline-offset: 4px;
}

.village-service-row__trigger img {
	filter: brightness(0) invert(1);
	height: 25px;
	width: 25px;
}

.village-room-dialog {
	background: var(--village-color-surface);
	border: 0;
	box-shadow: var(--village-shadow-dialog-soft);
	color: var(--village-color-text-body);
	flex-direction: column;
	margin: auto;
	max-height: calc(100dvh - 48px);
	max-width: min(650px, calc(100vw - 30px));
	overflow: hidden;
	padding: 0;
	width: 100%;
}

.village-room-dialog[open] {
	display: flex;
}

.village-room-dialog::backdrop {
	background: var(--village-color-overlay-medium);
}

.village-room-dialog__header {
	align-items: center;
	border-bottom: 1px solid var(--village-color-border);
	display: flex;
	gap: 15px;
	min-height: 85px;
	padding: 15px 25px;
	flex: 0 0 auto;
}

.village-room-dialog__header>img {
	filter: brightness(0) saturate(100%) invert(14%) sepia(34%) saturate(1958%) hue-rotate(331deg) brightness(85%);
	height: 38px;
	object-fit: contain;
	width: 38px;
}

.village-room-dialog__header h2 {
	color: var(--village-color-brand-action);
	font-family: var(--village-font-body) !important;
	font-size: 1.1rem;
	font-weight: 700;
	line-height: 1.15;
	margin: 0;
}

.village-room-dialog__header p {
	color: var(--village-color-text-muted);
	font-family: var(--village-font-body);
	font-size: .95rem;
	font-style: italic;
	margin: 4px 0 0;
}

.village-room-dialog__header button {
	background: transparent;
	border: 0;
	color: var(--village-color-text-subtle);
	cursor: pointer;
	font-size: 2rem;
	font-weight: 300;
	line-height: 1;
	margin-left: auto;
	padding: 0;
}

.village-room-dialog__body {
	flex: 0 1 auto;
	font-family: var(--village-font-body);
	font-size: 1rem;
	line-height: 1.6;
	min-height: 0;
	overflow-y: auto;
	padding: 25px;
}

.village-room-dialog__body p {
	margin: 0 0 22px;
}

.village-room-dialog__body hr {
	border: 0;
	border-top: 1px solid var(--village-color-border-warm);
	margin: 26px 0;
	max-width: 285px;
}

.village-room-dialog__link {
	background: var(--village-color-brand-action);
	border-radius: 999px;
	color: var(--village-color-surface);
	display: inline-block;
	font-weight: 700;
	padding: 9px 20px;
	text-decoration: none;
}

.village-room-dialog__footer {
	border-top: 1px solid var(--village-color-border);
	display: flex;
	flex: 0 0 auto;
	justify-content: center;
	padding: 13px;
}

.village-room-dialog__footer button {
	background: var(--village-color-brand-action);
	border: 0;
	border-radius: 999px;
	color: var(--village-color-surface);
	cursor: pointer;
	font-family: var(--village-font-body);
	font-size: .9rem;
	font-weight: 700;
	letter-spacing: .1em;
	padding: 12px 35px;
	text-transform: uppercase;
}

.village-room-channels {
	border-collapse: collapse;
	font-size: .85rem;
	width: 100%;
}

.village-room-channels th,
.village-room-channels td {
	border-bottom: 1px solid var(--village-color-border-soft);
	padding: 6px 8px;
	text-align: left;
}

.village-room-channels th {
	background: var(--village-color-brand-action);
	color: var(--village-color-surface);
}

@media (max-width: 700px) {
	.village-service-page {
		padding-top: 35px;
	}

	.village-service-page__hero {
		padding-left: 20px;
	}

	.village-service-row {
		grid-template-columns: 1fr 52px;
		padding: 24px 18px;
	}

	.village-service-row__icon {
		height: 32px;
		width: 34px;
	}
}

/* Directory redesign */
.village-directory-page {
	--directory-green: #155b50;
	--directory-green-dark: #124d44;
	--directory-cream: #fbf8f2;
	--directory-cream-dark: #f0ebe1;
	--directory-sand: #ac9b86;
	--directory-highlight: #e3e3c4;
	--directory-heading: "Literata", Georgia, serif;
	--directory-body: "Nunito Sans", Arial, sans-serif;
}

.village-directory-home-page {
	background: var(--directory-cream);
}

.village-directory-home-page .wp-site-blocks {
	background: var(--directory-cream);
	max-width: none;
}

.village-directory-home-page .wp-site-blocks>* {
	margin-block-start: 0;
}

.village-directory-page .village-site-header {
	background: #124d44 !important;
	border: 0;
	padding-block: 0 !important;
}

.village-directory-page .village-header-inner {
	grid-template-columns: minmax(0, 1fr) 42px;
	margin-inline: auto;
	max-width: 480px !important;
	min-height: 93px;
	padding: 16px;
}

.village-directory-page .village-header-logo {
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	width: auto !important;
}

.village-directory-page .village-header-logo img {
	filter: none;
	width: 131px !important;
}

.village-directory-page .village-menu-toggle {
	display: block;
	grid-column: 2;
	grid-row: 1;
	height: 42px;
	justify-self: end;
	padding: 0;
	width: 42px;
}

.village-directory-page .village-menu-toggle svg {
	height: 42px;
	width: 42px;
}

.village-directory-page .village-header-spacer {
	display: none;
}

.village-directory-home,
.village-directory-home * {
	box-sizing: border-box;
}

.village-directory-home {
	background: var(--directory-cream);
	color: #000;
	font-family: var(--directory-body);
}

.village-directory-hero {
	background: #124d44;
	color: #e0d0bb;
	min-height: 81px;
	position: relative;
}

.village-directory-hero__inner {
	margin-inline: auto;
	max-width: 480px;
	padding: 0 16px 10px;
}

.village-directory-hero h1 {
	color: inherit;
	font-family: var(--directory-heading) !important;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.62;
	margin: 0 0 2px;
}

.village-directory-hero p {
	color: #f2e1cd;
	font-family: var(--directory-heading);
	font-size: 15px;
	font-style: italic;
	font-weight: 300;
	margin: 0;
}

.village-directory-welcome,
.village-directory-section,
.village-directory-feature {
	padding-inline: max(16px, calc((100% - 480px) / 2 + 16px));
}

.village-directory-welcome {
	padding-block: 19px 26px;
}

.village-directory-welcome__heading {
	color: var(--directory-green-dark);
	margin-bottom: 17px;
}

.village-directory-welcome__heading h2,
.village-directory-welcome__heading p {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-directory-welcome__heading h2 {
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	color: var(--green70, #155B50);
}

.village-directory-welcome__heading p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
}

.village-directory-home-page .village-directory-intro__button {
	align-items: center;
	appearance: none;
	background: var(--directory-cream-dark);
	border: 0;
	border-radius: 6px;
	color: #000;
	cursor: pointer;
	display: grid;
	font-family: var(--directory-body);
	grid-template-columns: 38px minmax(0, 1fr) 24px;
	min-height: 56px;
	min-width: 0;
	padding: 9px 10px;
	text-align: left;
	transition: background-color .2s ease, transform .2s ease;
	width: 100%;
}

.village-directory-home-page .village-directory-intro__button:hover {
	background: #e9e2d7;
	transform: translateY(-1px);
}

.village-directory-home-page .village-directory-intro__button:focus-visible,
.village-directory-home a:focus-visible {
	outline: 3px solid var(--directory-green);
	outline-offset: 3px;
}

.village-directory-home-page .village-directory-intro__button span {
	color: inherit;
	font-size: inherit;
	letter-spacing: normal;
	text-transform: none;
}

.village-directory-intro__icon {
	align-items: center;
	background: #f2e1cd;
	border-radius: 6px;
	display: flex;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.village-directory-intro__icon img {
	height: 21px;
	object-fit: contain;
	width: 21px;
}

.village-directory-intro__copy {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding-left: 4px;
}

.village-directory-intro__copy strong {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.25;
}

.village-directory-home-page .village-directory-intro__copy small {
	color: inherit;
	font-size: 12px;
	font-weight: 300;
	letter-spacing: normal;
	line-height: 1.35;
	margin-top: 2px;
}

.village-directory-intro__button>svg {
	fill: none;
	height: 24px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.5;
	width: 24px;
}

.village-directory-section {
	padding-block: 20px 28px;
}

.village-directory-section--main {
	padding-top: 26px;
}

.village-directory-section--main::before,
.village-directory-section--main+.village-directory-section::before {
	background: var(--directory-green);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 11px;
	width: 58px;
}

.village-directory-section__heading {
	margin-bottom: 15px;
}

.village-directory-section__heading h2,
.village-directory-section__heading p {
	font-family: var(--directory-heading) !important;
	margin: 0;
}

.village-directory-section__heading h2 {
	color: #202020;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.25;
}

.village-directory-section__heading p {
	color: var(--directory-green);
	font-size: 13px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.35;
	margin-top: 2px;
}

.village-directory-photo-grid {
	display: grid;
}

.village-directory-photo-grid--three {
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.village-directory-photo-grid--two {
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.village-directory-photo-card {
	color: #000;
	display: block;
	min-width: 0;
	transform: translateY(0) scale(1);
	transition: transform .2s ease;
	text-decoration: none;
}

.village-directory-photo-card img {
	border-radius: 6px;
	display: block;
	object-fit: cover;
	transition: filter .2s ease, transform .2s ease;
	width: 100%;
}

.village-directory-photo-grid--three img {
	aspect-ratio: 101 / 86;
}

.village-directory-photo-grid--two img {
	aspect-ratio: 167 / 86;
}

.village-directory-photo-card:hover,
.village-directory-photo-card:focus-visible {
	transform: translateY(-2px) scale(1.018);
}

.village-directory-photo-card:hover img,
.village-directory-photo-card:focus-visible img {
	filter: brightness(1.05);
	transform: scale(1.015);
}

.village-directory-photo-card:active,
.village-directory-photo-card.is-navigating {
	transform: translateY(1px) scale(.985);
}

.village-directory-photo-card:focus-visible {
	border-radius: 6px;
	outline: 3px solid #155b50;
	outline-offset: 3px;
}

.village-navigation-progress {
	background: rgba(21, 91, 80, .16);
	height: 4px;
	left: 0;
	overflow: hidden;
	pointer-events: none;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 100001;
}

.village-navigation-progress span {
	background: #155b50;
	display: block;
	height: 100%;
	transform: translateX(-100%);
	transition: transform 4s cubic-bezier(.1, .7, .2, 1);
	width: 92%;
}

.village-navigation-progress.is-active span {
	transform: translateX(0);
}

@media (prefers-reduced-motion: reduce) {
	.village-directory-photo-card,
	.village-directory-photo-card img,
	.village-navigation-progress span {
		transition-duration: .01ms;
	}
}

.village-directory-photo-card h3,
.village-directory-photo-card p {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-directory-photo-card h3 {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 7px;
}

.village-directory-photo-card p {
	font-size: 10px;
	font-weight: 300;
	line-height: 1.35;
	margin-top: 2px;
}

.village-directory-feature {
	padding-block: 20px 30px;
}

.village-directory-feature a {
	align-items: stretch;
	background: var(--directory-highlight);
	border-radius: 6px;
	color: #202020;
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	min-height: 86px;
	overflow: hidden;
	text-decoration: none;
}

.village-directory-feature img {
	height: 100%;
	min-height: 86px;
	object-fit: cover;
	width: 94px;
}

.village-directory-feature span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 12px;
}

.village-directory-feature strong,
.village-directory-feature small {
	font-family: var(--directory-heading);
}

.village-directory-feature strong {
	font-size: 20px;
	font-weight: 500;
	line-height: 1.2;
}

.village-directory-feature small {
	font-size: 9px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.3;
	margin-top: 6px;
}

.village-directory-section--useful {
	background: var(--directory-cream-dark);
	margin-block: 0 9px;
	padding-block: 29px 28px;
	position: relative;
}

.village-directory-section--useful::before,
.village-directory-section--useful::after {
	background: var(--directory-cream-dark);
	content: "";
	height: 9px;
	left: 0;
	position: absolute;
	width: 100%;
}

.village-directory-section--useful::before {
	clip-path: polygon(0 65%, 4% 35%, 10% 56%, 17% 28%, 24% 59%, 31% 33%, 38% 61%, 46% 30%, 54% 55%, 62% 31%, 70% 63%, 78% 35%, 86% 58%, 94% 31%, 100% 60%, 100% 100%, 0 100%);
	top: -8px;
}

.village-directory-section--useful::after {
	clip-path: polygon(0 0, 100% 0, 100% 42%, 95% 68%, 88% 40%, 80% 69%, 72% 43%, 64% 66%, 56% 39%, 48% 70%, 39% 42%, 31% 68%, 22% 39%, 13% 65%, 6% 42%, 0 64%);
	bottom: -8px;
}

.village-directory-section--useful .village-directory-section__heading p {
	color: #1e1e1e;
}

.village-directory-link-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.village-directory-link {
	align-items: center;
	color: #000;
	display: grid;
	grid-template-columns: clamp(82px, 24vw, 94px) minmax(0, 1fr);
	text-decoration: none;
}

.village-directory-link__icon {
	align-items: center;
	background: var(--directory-sand);
	border-radius: 6px;
	display: flex;
	height: 86px;
	justify-content: center;
	transition: filter .2s ease, transform .2s ease;
	width: clamp(82px, 24vw, 94px);
}

.village-directory-link--green .village-directory-link__icon {
	background: var(--directory-green);
}

.village-directory-link:hover .village-directory-link__icon {
	filter: brightness(1.06);
	transform: translateX(2px);
}

.village-directory-link__icon img {
	height: 60px;
	object-fit: contain;
	width: 60px;
}

.village-directory-link>span:last-child {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding-left: 12px;
}

.village-directory-link strong,
.village-directory-link small {
	font-family: var(--directory-body);
}

.village-directory-link strong {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
}

.village-directory-link small {
	font-size: 11px;
	font-weight: 300;
	line-height: 1.35;
	margin-top: 6px;
}

.village-directory-assistance {
	padding: 20px max(16px, calc((100% - 480px) / 2 + 16px)) 24px;
}

.village-directory-assistance header {
	margin-bottom: 17px;
}

.village-directory-assistance h2,
.village-directory-assistance header p {
	font-family: var(--directory-heading) !important;
	margin: 0;
}

.village-directory-assistance h2 {
	color: #303030;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
}

.village-directory-assistance header p {
	color: #303030;
	font-size: 13px;
	font-style: italic;
	font-weight: 300;
	line-height: 1.35;
}

.village-directory-assistance__intro {
	margin-bottom: 16px;
}

.village-directory-assistance__intro p {
	font-family: var(--directory-body);
	font-size: 10px;
	font-weight: 400;
	line-height: 1.45;
	margin: 0;
}

.village-directory-assistance__actions {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.village-directory-assistance__action {
	border-radius: 6px;
	display: flex;
	font-family: var(--directory-body);
	min-height: 59px;
	text-decoration: none;
}

.village-directory-assistance__action strong,
.village-directory-assistance__action small {
	display: block;
}

.village-directory-assistance__action strong {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
}

.village-directory-assistance__action small {
	font-size: 12px;
	font-weight: 300;
	line-height: 1.3;
	margin-top: 2px;
}

.village-directory-assistance__action--call {
	background: #e8ec8e;
	color: #000;
	flex-direction: column;
	justify-content: center;
	padding: 9px 16px;
}

.village-directory-assistance__action--manager {
	align-items: center;
	background: var(--directory-green);
	color: #fff;
	justify-content: space-between;
	padding: 9px 16px;
}

.village-directory-assistance__action--manager svg {
	fill: none;
	height: 24px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.5;
	width: 24px;
}

:is(.village-directory-page, body.home) .vqr-front-footer {
	--directory-green: #155b50;
	--directory-cream: #fbf8f2;
	--directory-sand: #ac9b86;
	--directory-heading: 'Literata', Georgia, serif;
	--directory-body: 'Nunito Sans', Arial, sans-serif;
	--vqr-footer-wine: var(--directory-green);
	--vqr-footer-sand: var(--directory-sand);
	display: flex;
	flex-direction: column;
	font-family: var(--directory-body);
	max-width: none;
}

:is(.village-directory-page, body.home) .vqr-front-footer-inner {
	max-width: 480px;
}

:is(.village-directory-page, body.home) .vqr-front-footer-reviews {
	background: var(--directory-cream);
	box-shadow: 0 0 0 100vmax var(--directory-cream);
	order: 1;
	padding: 34px max(16px, calc((100% - 480px) / 2 + 16px)) 18px;
}

:is(.village-directory-page, body.home) .vqr-front-footer-reviews h3 {
	font-family: var(--directory-heading) !important;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.25;
	margin: 0;
}

:is(.village-directory-page, body.home) .vqr-front-footer-reviews p {
	color: #303030;
	font-family: var(--directory-heading);
	font-size: 11px;
	font-style: italic;
	font-weight: 300;
	line-height: 1.35;
	margin: 2px 0 24px;
}

:is(.village-directory-page, body.home) .vqr-front-tripadvisor {
	background: #22aa6d;
	border: 0;
	height: 77px;
	padding: 7px;
	width: 168px;
}

:is(.village-directory-page, body.home) .vqr-front-tripadvisor>span {
	background: #fff;
	color: #000;
	font-size: 12px;
	font-weight: 700;
	height: 26px;
}

:is(.village-directory-page, body.home) .vqr-front-tripadvisor b {
	background: #22aa6d;
	color: #000;
	font-size: 12px;
	height: 37px;
}

:is(.village-directory-page, body.home) .vqr-front-tripadvisor b svg,
:is(.village-directory-page, body.home) .vqr-front-tripadvisor>strong {
	display: none;
}

:is(.village-directory-page, body.home) .TA_rated {
	min-height: 77px;
}

:is(.village-directory-page, body.home) .vqr-front-footer-social {
	background: var(--directory-cream);
	box-shadow: 0 0 0 100vmax var(--directory-cream);
	color: #303030;
	order: 2;
	padding: 5px max(16px, calc((100% - 480px) / 2 + 16px)) 25px;
}

:is(.village-directory-page, body.home) .vqr-front-footer-social p {
	color: #303030;
	font-family: var(--directory-heading);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
}

:is(.village-directory-page, body.home) .vqr-front-social-links {
	gap: 22px;
	margin-top: 10px;
}

:is(.village-directory-page, body.home) .vqr-front-social-links a,
:is(.village-directory-page, body.home) .vqr-front-social-links img {
	height: 33px;
	width: 33px;
}

:is(.village-directory-page, body.home) .vqr-front-footer-brands {
	background: linear-gradient(to bottom, #fbf8f2 50%, #AC9B86 50%);
	box-shadow: none;
	order: 3;
	overflow: hidden;
	padding: 29px max(16px, calc((100% - 480px) / 2 + 16px)) 22px;
	position: relative;
}

:is(.village-directory-page, body.home) .vqr-front-footer-brands__background {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}

:is(.village-directory-page, body.home) .vqr-front-footer-brands .vqr-front-footer-inner {
	min-height: 88px;
	position: relative;
	z-index: 1;
}

:is(.village-directory-page, body.home) .vqr-front-footer-logo {
	display: block;
	height: 48px;
	width: 132px;
}

:is(.village-directory-page, body.home) .vqr-front-footer-certification {
	width: 82px;
}

.village-directory-home-page .village-welcome-dialog {
	background: #fff;
	box-shadow: 0 16px 32px -8px rgba(12, 12, 13, .4);
	border-radius: 6px;
	color: #003233;
	font-family: var(--directory-body);
	inset: 0;
	margin: auto;
	max-height: min(675px, calc(100dvh - 40px));
	max-width: min(358px, calc(100vw - 32px));
	overflow: hidden;
	padding: 0;
	position: fixed;
	width: 100%;
}

.village-directory-home-page .village-welcome-dialog[open] {
	display: flex;
	flex-direction: column;
}

.village-directory-home-page .village-welcome-dialog::backdrop {
	backdrop-filter: blur(10px);
	background: rgba(61, 61, 61, .2);
	-webkit-backdrop-filter: blur(10px);
}

.village-directory-home-page .village-welcome-dialog__header {
	align-items: center;
	border: 0;
	flex: 0 0 auto;
	min-height: 72px;
	padding: 15px 24px;
	position: relative;
}

.village-directory-home-page .village-welcome-dialog__header::after {
	background: #ac9b86;
	bottom: 0;
	content: "";
	height: 1px;
	left: 24px;
	position: absolute;
	right: 24px;
}

.village-directory-home-page .village-welcome-dialog__title {
	align-items: center;
	color: #000;
	gap: 10px;
}

.village-directory-home-page .village-welcome-dialog__icon {
	align-items: center;
	background: #f2e1cd;
	border-radius: 6px;
	display: flex;
	flex: 0 0 37px;
	height: 37px;
	justify-content: center;
	width: 37px;
}

.village-directory-home-page .village-welcome-dialog__icon img {
	height: 21px;
	margin: 0;
	object-fit: contain;
	width: 21px;
}

.village-directory-home-page .village-welcome-dialog__title h2 {
	font-family: var(--directory-body) !important;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.25;
	text-transform: none;
}

.village-directory-home-page .village-welcome-dialog__title p {
	color: #000;
	font-family: var(--directory-body);
	font-size: 14px;
	font-weight: 300;
	line-height: 1.25;
	margin: 1px 0 0;
}

.village-directory-home-page .village-welcome-dialog__close {
	align-items: center;
	color: #003233;
	display: flex;
	height: 32px;
	justify-content: center;
	padding: 4px;
	width: 32px;
}

.village-directory-home-page .village-welcome-dialog__close svg {
	fill: none;
	height: 24px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.5;
	width: 24px;
}

.village-directory-home-page .village-welcome-dialog__body {
	flex: 1 1 auto;
	font-size: 14px;
	font-family: var(--directory-body);
	line-height: 1.45;
	min-height: 0;
	overscroll-behavior: contain;
	padding: 18px 26px 32px;
}

.village-directory-home-page .village-welcome-dialog__body p {
	margin: 0 0 20px;
}

.village-directory-home-page .village-welcome-dialog__body p:last-child {
	margin-bottom: 0;
}

.village-directory-home-page .village-welcome-dialog__body hr {
	border: 0;
	height: 0;
	margin: 10px 0 30px;
}

.village-directory-home-page .village-welcome-dialog__body strong {
	font-weight: 700;
}

.village-directory-home-page .village-welcome-dialog__close:focus-visible {
	outline: 3px solid var(--directory-green);
	outline-offset: 1px;
}

body.village-dialog-open {
	box-sizing: border-box;
	left: 0;
	overflow: hidden;
	padding-right: var(--village-scrollbar-compensation, 0);
	position: fixed;
	right: 0;
	top: var(--village-locked-scroll-position, 0);
	width: 100%;
}

/* Rooms page */
body.village-directory-page:not(.village-directory-home-page),
body.village-directory-page:not(.village-directory-home-page) .wp-site-blocks {
	background: #fff !important;
}

.village-rooms-page,
.village-rooms-page * {
	box-sizing: border-box;
}

.village-rooms-page {
	background: #fff;
	color: #000;
	font-family: var(--directory-body);
}

.village-rooms-page__services,
.village-rooms-page__experiences,
.village-rooms-page__food {
	padding-inline: max(16px, calc((100% - 480px) / 2 + 16px));
}

.village-rooms-page__services {
	padding-block: 20px 30px;
}

.village-rooms-page__heading {
	margin-bottom: 18px;
}

.village-rooms-page__heading h1,
.village-rooms-page__heading p {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-rooms-page__heading h1 {
	color: var(--directory-green);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.village-rooms-page__heading h1 span {
	white-space: nowrap;
}

.village-rooms-page__heading p {
	color: var(--directory-green-dark);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 3px;
}

.village-rooms-list {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.village-room-card {
	appearance: none;
	background: #f0ebe1;
	border: 0;
	border-radius: 6px;
	color: #000;
	cursor: pointer;
	display: block;
	font-family: var(--directory-body);
	min-height: 57px;
	padding: 10px;
	text-align: left;
	transition: background-color .2s ease, transform .2s ease;
	width: 100%;
}

.village-room-card__inner {
	align-items: center;
	display: flex;
	gap: 13px;
	width: 100%;
}

.village-room-card:hover {
	background: #e9e2d7;
	transform: translateY(-1px);
}

.village-room-card:focus-visible {
	outline: 3px solid var(--directory-green);
	outline-offset: 3px;
}

.village-room-card__icon {
	align-items: center;
	background: #f2e1cd;
	border-radius: 6px;
	box-sizing: content-box;
	display: flex;
	flex: 0 0 37px;
	height: 21px;
	justify-content: center;
	overflow: hidden;
	width: 37px;
	height: 37px;
}

.village-room-card__icon .village-service-row__icon {
	fill: var(--directory-green);
	height: 27px;
	max-height: 27px;
	max-width: 27px;
	width: 27px;
}

.village-room-card[data-room-dialog="room-cleaning"] .village-service-row__icon,
#room-cleaning .village-room-dialog__icon .village-service-row__icon {
	height: 28px;
	max-height: 28px;
	max-width: 14px;
	width: 14px;
}

.village-room-card__copy {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}

.village-room-card__copy strong {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
}

.village-room-card__copy small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.25;
	margin-top: 2px;
}

.village-rooms-page__experiences {
	padding-block: 62px 20px;
}

.village-rooms-page__experiences::before {
	background: var(--directory-green);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 24px;
	width: 65px;
}

.village-rooms-page__experiences .village-directory-section__heading h2 {
	font-size: 22px;
}

.village-rooms-page__experiences .village-directory-section__heading p {
	font-size: 14px;
}

.village-rooms-page__food {
	padding-block: 25px 80px;
}

.village-rooms-page__food a {
	align-items: stretch;
	background: #e3e3c4;
	border-radius: 6px;
	color: #000;
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	min-height: 86px;
	overflow: hidden;
	text-decoration: none;
}

.village-rooms-page__food img {
	height: 86px;
	object-fit: cover;
	width: 94px;
}

.village-rooms-page__food span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 14px;
}

.village-rooms-page__food strong,
.village-rooms-page__food small {
	font-family: var(--directory-body);
}

.village-rooms-page__food strong {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.village-rooms-page__food small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	margin-top: 6px;
}

.village-directory-page .village-room-dialog {
	background: #fff;
	border: 0;
	border-radius: 6px;
	box-shadow: 0 16px 32px -8px rgba(12, 12, 13, .4);
	color: #003233;
	font-family: var(--directory-body);
	max-height: min(675px, calc(100dvh - 32px));
	max-width: min(358px, calc(100vw - 32px));
	overflow: hidden;
	padding: 0;
	width: 100%;
}

.village-directory-page .village-room-dialog[open] {
	display: flex;
	flex-direction: column;
}

.village-directory-page .village-room-dialog::backdrop {
	backdrop-filter: blur(10px);
	background: rgba(61, 61, 61, .2);
	-webkit-backdrop-filter: blur(10px);
}

.village-directory-page .village-room-dialog__header {
	align-items: center;
	border: 0;
	display: flex;
	flex: 0 0 auto;
	gap: 10px;
	min-height: 72px;
	padding: 15px 24px;
	position: relative;
}

.village-directory-page .village-room-dialog__header::after {
	background: var(--directory-sand);
	bottom: 0;
	content: "";
	height: 1px;
	left: 24px;
	position: absolute;
	right: 24px;
}

.village-directory-page .village-room-dialog__icon {
	align-items: center;
	background: #f2e1cd;
	border-radius: 6px;
	display: flex;
	flex: 0 0 37px;
	height: 37px;
	justify-content: center;
	overflow: hidden;
	width: 37px;
}

.village-directory-page .village-room-dialog__icon .village-service-row__icon {
	fill: var(--directory-green);
	height: 29px;
	max-width: 29px;
	width: 29px;
}

.village-directory-page .village-room-dialog__header>div {
	min-width: 0;
}

.village-directory-page .village-room-dialog__header h2 {
	color: #000;
	font-family: var(--directory-body) !important;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
	margin: 0;
}

.village-directory-page .village-room-dialog__header p {
	color: #000;
	font-family: var(--directory-body);
	font-size: 14px;
	font-style: normal;
	font-weight: 300;
	line-height: 1.25;
	margin: 1px 0 0;
}

.village-directory-page .village-room-dialog__header button {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	color: #003233;
	cursor: pointer;
	display: flex;
	flex: 0 0 32px;
	height: 32px;
	justify-content: center;
	margin-left: auto;
	padding: 4px;
	width: 32px;
}

.village-directory-page .village-room-dialog__header button svg {
	fill: none;
	height: 24px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-width: 1.5;
	width: 24px;
}

.village-directory-page .village-room-dialog__header button:focus-visible {
	outline: none;
	outline-offset: 0;
}

.village-directory-page .village-room-dialog__body {
	color: #003233;
	flex: 1 1 auto;
	font-family: var(--directory-body);
	font-size: 14px;
	line-height: 1.45;
	min-height: 0;
	overscroll-behavior: contain;
	overflow-y: auto;
	padding: 18px 26px 32px;
}

.village-directory-page .village-room-dialog__body p {
	margin: 0 0 20px;
}

.village-directory-page .village-room-dialog__body> :last-child {
	margin-bottom: 0;
}

.village-directory-page .village-room-dialog__body hr {
	border: 0;
	height: 0;
	margin: 10px 0 30px;
}

.village-directory-page #room-cleaning .village-room-dialog__body>p:first-child,
.village-directory-page #room-cleaning .village-room-dialog__body hr+p {
	font-weight: 700;
}

.village-directory-page .village-room-dialog__link {
	background: var(--directory-green);
	border-radius: 6px;
	color: #fff;
	font-size: 13px;
	letter-spacing: 0;
	padding: 9px 14px;
	text-transform: none;
}

.village-directory-page .village-room-channels th {
	background: var(--directory-green-dark);
}

/* Food and beverages page */
.village-food-page,
.village-food-page * {
	box-sizing: border-box;
}

.village-food-page {
	background: #fff;
	color: #003233;
	font-family: var(--directory-body);
}

.village-food-page__heading,
.village-food-page__hours,
.village-food-page__menu,
.village-food-page__early,
.village-food-page__experiences,
.village-food-page__room {
	padding-inline: max(16px, calc((100% - 480px) / 2 + 16px));
}

.village-food-page__heading {
	padding-block: 20px 25px;
}

.village-food-page__heading h1,
.village-food-page__heading p {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-food-page__heading h1 {
	color: var(--directory-green);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.village-food-page__heading p {
	color: var(--directory-green-dark);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 3px;
}

.village-food-page__hours {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding-block: 24px 20px;
}

.village-food-page__hours p {
	font-family: var(--directory-body);
	margin: 0;
}

.village-food-page__hours strong,
.village-food-page__hours span {
	display: block;
}

.village-food-page__hours strong {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

.village-food-page__hours span {
	font-size: 16px;
	font-weight: 300;
	line-height: 1.35;
	margin-top: 2px;
}

.village-food-page__menu {
	padding-block: 20px;
}

.village-food-page__menu a,
.village-food-page__room a {
	align-items: stretch;
	background: #e3e3c4;
	border-radius: 6px;
	color: #000;
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	min-height: 86px;
	overflow: hidden;
	text-decoration: none;
}

.village-food-page__menu img,
.village-food-page__room img {
	height: 86px;
	object-fit: cover;
	width: 94px;
}

.village-food-page__menu span,
.village-food-page__room span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 14px;
}

.village-food-page__menu strong,
.village-food-page__menu small,
.village-food-page__room strong,
.village-food-page__room small {
	font-family: var(--directory-body);
}

.village-food-page__menu strong,
.village-food-page__room strong {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.village-food-page__menu small,
.village-food-page__room small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	margin-top: 6px;
}

.village-food-page__menu a:hover,
.village-food-page__room a:hover {
	filter: brightness(1.03);
}

.village-food-page__menu a:focus-visible,
.village-food-page__room a:focus-visible {
	outline: 3px solid var(--directory-green);
	outline-offset: 3px;
}

.village-food-page__early {
	font-size: 14px;
	line-height: 1.45;
	padding-block: 40px;
}

.village-food-page__early p {
	font-family: var(--directory-body);
	margin: 0 0 28px;
}

.village-food-page__early p:last-child {
	margin-bottom: 0;
}

.village-food-page__early strong,
.village-food-page__early em {
	display: inline-block;
	font-style: normal;
	font-weight: 700;
	margin-bottom: 2px;
}

.village-food-page__experiences {
	padding-block: 58px 20px;
}

.village-food-page__experiences::before {
	background: var(--directory-green);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 24px;
	width: 65px;
}

.village-food-page__experiences .village-directory-section__heading h2 {
	font-size: 22px;
}

.village-food-page__experiences .village-directory-section__heading p {
	font-size: 14px;
}

.village-food-page__room {
	padding-block: 25px 80px;
}

/* Reception page */
.village-reception-page,
.village-reception-page * {
	box-sizing: border-box;
}

.village-reception-page {
	background: #fff;
	color: #003233;
	font-family: var(--directory-body);
}

.village-reception-page__heading,
.village-reception-page__content,
.village-reception-page__experiences,
.village-reception-page__links {
	padding-inline: max(16px, calc((100% - 480px) / 2 + 16px));
}

.village-reception-page__heading {
	padding-block: 20px 25px;
}

.village-reception-page__heading h1,
.village-reception-page__heading p {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-reception-page__heading h1 {
	color: var(--directory-green);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.village-reception-page__heading p {
	color: var(--directory-green-dark);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 3px;
}

.village-reception-page__content {
	padding-block: 10px 22px;
}

.village-reception-page__call {
	background: #e6ea96;
	border-radius: 6px;
	color: #000;
	display: flex;
	flex-direction: column;
	min-height: 61px;
	justify-content: center;
	padding: 10px 16px;
	text-decoration: none;
}

.village-reception-page__call strong {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
}

.village-reception-page__call b {
	font-weight: 800;
}

.village-reception-page__call small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.25;
	margin-top: 2px;
}

.village-reception-page__call:focus-visible,
.village-reception-page__links a:focus-visible {
	outline: 3px solid var(--directory-green);
	outline-offset: 3px;
}

.village-reception-page__hours {
	font-size: 18px;
	line-height: 1.35;
	margin: 21px 0;
}

.village-reception-page__hours strong {
	font-weight: 700;
}

.village-reception-page__hours span {
	font-weight: 500;
}

.village-reception-page__hours b {
	font-weight: 700;
}

.village-reception-page__copy {
	font-size: 16px;
	line-height: 1.5;
}

.village-reception-page__copy p {
	margin: 0 0 6px;
}

.village-reception-page__copy p:first-child {
	font-weight: 700;
}

.village-reception-page__copy ul {
	/* list-style: none;
	margin: 0; */
	padding-left: 20px;
}

.village-reception-page__copy li {
	margin: 0;
}

.village-reception-page__copy--english {
	border-top: 1px solid #ac9b86;
	margin-top: 38px;
	padding-top: 30px;
}

.village-reception-page__experiences {
	padding-block: 42px 20px;
}

.village-reception-page__experiences::before {
	background: var(--directory-green);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 24px;
	width: 65px;
}

.village-reception-page__experiences .village-directory-section__heading h2 {
	font-size: 22px;
}

.village-reception-page__experiences .village-directory-section__heading p {
	font-size: 14px;
}

.village-reception-page__links {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding-block: 20px 80px;
}

.village-reception-page__links a {
	align-items: stretch;
	background: #e3e3c4;
	border-radius: 6px;
	color: #000;
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	min-height: 86px;
	overflow: hidden;
	text-decoration: none;
	transform: translateY(0) scale(1);
	transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.village-reception-page__links img {
	height: 86px;
	object-fit: cover;
	transition: filter .2s ease, transform .2s ease;
	width: 94px;
}

.village-reception-page__links a:hover,
.village-reception-page__links a:focus-visible {
	background: #e8e8ce;
	box-shadow: 0 5px 14px rgba(0, 50, 51, .1);
	transform: translateY(-2px) scale(1.008);
}

.village-reception-page__links a:hover img,
.village-reception-page__links a:focus-visible img {
	filter: brightness(1.04);
	transform: scale(1.025);
}

.village-reception-page__links a:active,
.village-reception-page__links a.is-navigating {
	box-shadow: none;
	transform: translateY(1px) scale(.992);
}

.village-reception-page__links span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 14px;
}

.village-reception-page__links strong {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.village-reception-page__links small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	margin-top: 6px;
}

@media (prefers-reduced-motion: reduce) {
	.village-reception-page__links a,
	.village-reception-page__links img {
		transition-duration: .01ms;
	}
}

/* Recreation page */
.village-recreation-page,
.village-recreation-page * {
	box-sizing: border-box;
}

.village-recreation-page {
	background: #fff;
	color: #003233;
	font-family: var(--directory-body);
}

.village-recreation-page__heading,
.village-recreation-page__content,
.village-recreation-page__experiences,
.village-recreation-page__room {
	padding-inline: max(16px, calc((100% - 480px) / 2 + 16px));
}

.village-recreation-page__heading {
	padding-block: 20px 25px;
}

.village-recreation-page__heading h1,
.village-recreation-page__heading p {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-recreation-page__heading h1 {
	color: var(--directory-green);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.village-recreation-page__heading p {
	color: var(--directory-green-dark);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 3px;
}

.village-recreation-page__content {
	padding-block: 10px 20px;
}

.village-recreation-page__intro {
	display: flex;
	flex-direction: column;
	font-size: 16px;
	line-height: 1.35;
	margin: 0 0 24px;
}

.village-recreation-page__intro strong {
	font-weight: 700;
}

.village-recreation-page__intro span {
	font-weight: 300;
	margin-top: 2px;
}

.village-recreation-page__content .village-directory-section__heading {
	margin-bottom: 22px;
}

.village-recreation-page__content .village-directory-section__heading h2 {
	font-size: 22px;
}

.village-recreation-page__content .village-directory-section__heading p {
	font-size: 14px;
}

.village-recreation-page__copy {
	font-size: 14px;
	line-height: 1.5;
}

.village-recreation-page__copy p {
	margin: 0 0 20px;
}

.village-recreation-page__copy strong {
	font-weight: 700;
}

.village-recreation-page__copy .village-directory-button {
	background: var(--directory-green);
	border-radius: 6px;
	font-family: var(--directory-body);
	font-size: 13px;
	letter-spacing: 0;
	padding: 10px 14px;
	text-transform: none;
}

.village-recreation-page__copy--english {
	border-top: 1px solid #ac9b86;
	margin-top: 34px;
	padding-top: 30px;
}

.village-recreation-page__experiences {
	padding-block: 42px 20px;
}

.village-recreation-page__experiences::before {
	background: var(--directory-green);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 24px;
	width: 65px;
}

.village-recreation-page__experiences .village-directory-section__heading h2 {
	font-size: 22px;
}

.village-recreation-page__experiences .village-directory-section__heading p {
	font-size: 14px;
}

.village-recreation-page__room {
	padding-block: 25px 80px;
}

.village-recreation-page__room a {
	align-items: stretch;
	background: #e3e3c4;
	border-radius: 6px;
	color: #000;
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	min-height: 86px;
	overflow: hidden;
	text-decoration: none;
}

.village-recreation-page__room img {
	height: 86px;
	object-fit: cover;
	width: 94px;
}

.village-recreation-page__room span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 14px;
}

.village-recreation-page__room strong {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.village-recreation-page__room small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	margin-top: 6px;
}

@media (max-width: 350px) {
	.village-directory-photo-grid--three {
		gap: 9px;
	}

	.village-directory-photo-card h3 {
		font-size: 12px;
	}

	.village-directory-intro__copy strong {
		font-size: 13px;
	}

	.village-directory-feature {
		padding-inline: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {

	.village-directory-home *,
	.village-directory-home *::before,
	.village-directory-home *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

.imagen-linea {
	background-image: url("/wp-content/uploads/2026/09/fondotextura.png");
	background-position: left center;
	background-repeat: repeat-x;
	background-size: auto 100%;
	height: 16px;
	width: 100%;
}

/* Directory navigation palette */
.village-directory-page .village-menu-panel.is-directory-menu {
	background: #fbf8f2 !important;
	box-shadow: 8px 0 24px rgba(18, 77, 68, .18);
	color: #124d44;
}

.village-directory-page .village-menu-panel.is-directory-menu .village-menu-close {
	color: #124d44;
	height: 42px;
	right: 16px;
	top: 14px;
	width: 42px;
}

.village-directory-page .village-menu-panel.is-directory-menu .village-menu-close:focus-visible {
	outline: 0 !important;
	outline-offset: 0;
}

.village-directory-page .village-directory-menu li {
	border-bottom-color: rgba(172, 155, 134, .7);
}

.village-directory-page .village-directory-menu a:not(.village-directory-menu__restaurant) {
	color: #124d44 !important;
	font-family: var(--directory-body, "Nunito Sans", Arial, sans-serif);
	font-size: 14px;
	gap: 5px;
	line-height: 1.3;
	padding: 13px 10px;
}

.village-directory-page .village-directory-menu a span {
	font-weight: 700;
}

.village-directory-page .village-directory-menu a small {
	color: #155b50;
	font-size: inherit;
	font-weight: 400;
}

.village-directory-page .village-directory-menu a[aria-current="page"] {
	background: #e3e3c4;
	box-shadow: -24px 0 #e3e3c4, 24px 0 #e3e3c4;
}

.village-directory-page .village-directory-menu__main a:not(.village-directory-menu__restaurant):hover,
.village-directory-page .village-directory-menu__main a:not(.village-directory-menu__restaurant):focus-visible {
	background: #e3e3c4;
}

.village-directory-page .village-directory-menu a:focus-visible {
	outline: 3px solid #155b50;
	outline-offset: -2px;
}

.village-directory-page .village-directory-menu__restaurant {
	background: #155b50;
	border-radius: 6px;
	color: #e3e3c4 !important;
	display: block;
	font-family: var(--directory-body, "Nunito Sans", Arial, sans-serif);
	font-size: 15px;
	margin-top: 18px;
	padding: 12px 16px;
	text-align: center;
	font-weight: 500;
	display: flex;
    gap: 8px;
    align-items: center;
}

.village-directory-page .village-directory-menu__restaurant:hover,
.village-directory-page .village-directory-menu__restaurant:focus-visible {
	background: #124d44;
	color: #e3e3c4 !important;
}

/* Directory menu */
.village-directory-page .village-menu-panel.is-directory-menu {
	background: #f0ebe1 !important;
	box-shadow: none;
	max-width: 390px;
	overflow-y: auto;
	padding: 16px 8px 42px !important;
	width: min(100vw, 390px);
}

@media (min-width: 701px) {
	.village-directory-page .village-menu-panel.is-directory-menu {
		max-width: 430px;
		padding-right: 0 !important;
		scrollbar-color: rgba(21, 91, 80, .35) transparent;
		scrollbar-width: thin;
		width: min(42vw, 430px);
	}

	.village-directory-page .village-menu-panel.is-directory-menu::-webkit-scrollbar {
		width: 6px;
	}

	.village-directory-page .village-menu-panel.is-directory-menu::-webkit-scrollbar-track {
		background: transparent;
	}

	.village-directory-page .village-menu-panel.is-directory-menu::-webkit-scrollbar-thumb {
		background: rgba(21, 91, 80, .35);
		border-radius: 999px;
	}

	.village-directory-page .village-menu-panel.is-directory-menu::-webkit-scrollbar-thumb:hover {
		background: rgba(21, 91, 80, .55);
	}
}

.village-directory-page .village-menu-panel.is-directory-menu .village-panel-logo {
	display: block;
	margin: 0 0 26px !important;
	padding: 0 !important;
	width: 132px !important;
}

.village-directory-page .village-menu-panel.is-directory-menu .village-menu-close {
	font-size: 52px;
	height: 52px;
	line-height: 42px;
	right: 17px;
	width: 42px;
}

.village-directory-page .village-directory-menu li {
	border: 0;
}

.village-directory-page .village-directory-menu__main {
	display: grid;
	gap: 4px;
}

.village-directory-page .village-directory-menu__main a:not(.village-directory-menu__restaurant) {
	align-items: baseline;
	border-radius: 10px;
	font-size: 14px;
	line-height: 26px;
	padding: 8px 10px;
}

.village-directory-page .village-directory-menu__main a span {
	font-size: 18px;
}

.village-directory-page .village-directory-menu__main a[aria-current="page"] {
	box-shadow: none;
}

.village-directory-page .village-directory-menu__featured {
	/* border-block: 4px solid rgba(172, 155, 134, .2); */
	display: grid;
	gap: 10px;
	padding-top: 23px;
	margin-top: 23px;
	padding-block: 20px;
	position: relative;
}


.village-directory-page .village-directory-menu__featured:after,
.village-directory-page .village-directory-menu__featured::before{
	content: '';
	background: #DDD8D2;
    height: 4px;
    width: 115px;
	position: absolute;
	left: 0;
	top:0;
}

.village-directory-page .village-directory-menu__featured:after{
	bottom: 0;
	top: auto;
}

.village-directory-page .village-directory-menu__featured a:not(.village-directory-menu__restaurant) {
	align-items: center;
	font-size: 16px;
	gap: 13px;
	line-height: 24px;
	padding: 0;
}

.village-directory-page .village-directory-menu__featured a:hover,
.village-directory-page .village-directory-menu__featured a:focus-visible,
.village-directory-page .village-directory-menu__featured a[aria-current="page"] {
	background: transparent;
	box-shadow: none;
}

.village-directory-menu__icon {
	align-items: center;
	background: #ac9b86;
	border-radius: 6px;
	display: flex;
	flex: 0 0 48px;
	height: 44px;
	justify-content: center;
}

.village-directory-menu__icon img {
	filter: brightness(0) invert(1);
	height: 35px;
	object-fit: contain;
	width: 35px;
}

.village-directory-page .village-directory-menu__featured strong {
	font-weight: 600;
}

.village-directory-page .village-directory-menu__restaurant {
	border-radius: 10px;
	font-size: 16px;
	margin-top: 31px;
	padding: 12px 24px;
	text-align: left;
	width: fit-content;
	font-weight: 500;
}

.village-directory-page .village-directory-menu__footer {
	display: grid;
	gap: 20px;
	margin-top: 29px;
	width: 254px;
}

.village-directory-page .village-directory-menu__footer a:not(.village-directory-menu__restaurant) {
	color: #000 !important;
	font-size: 14px;
	line-height: 24px;
	padding: 0;
}

.village-directory-page .village-directory-menu__footer a:hover{
	text-decoration: underline;
}

.village-directory-page .village-menu-panel.is-directory-menu .village-panel-social {
	border: 0;
	display: flex;
	font-family: var(--directory-heading);
	gap: 10px;
	margin-top: 31px;
	padding: 0;
}

.village-directory-page .village-menu-panel.is-directory-menu .village-panel-social a {
	flex: 0 0 33px;
}

.village-directory-page .village-menu-panel.is-directory-menu .village-panel-social svg {
	height: 33px;
	width: 33px;
}

.village-directory-page .village-menu-panel.is-directory-menu .village-panel-social span {
	font-family: var(--directory-heading);
	font-weight: 500;
	line-height: 26px;
}

/* Health and safety page */
.village-health-page, .village-health-page * { box-sizing: border-box; }
.village-health-page { background: #fff; color: #003233; font-family: var(--directory-body); }
.village-health-page__heading, .village-health-page__cards, .village-health-page__experiences, .village-health-page__room { padding-inline: max(16px, calc((100% - 480px) / 2 + 16px)); }
.village-health-page__heading { padding-block: 20px 25px; }
.village-health-page__heading h1, .village-health-page__heading p { font-family: var(--directory-body) !important; margin: 0; }
.village-health-page__heading h1 { color: var(--directory-green); font-size: 18px; font-weight: 700; line-height: 1.25; }
.village-health-page__heading p { color: var(--directory-green-dark); font-size: 16px; font-weight: 500; line-height: 1.35; margin-top: 3px; }
.village-health-page__cards { display: flex; flex-direction: column; gap: 14px; padding-block: 10px 60px; }
.village-health-page .village-room-card__icon img, .village-directory-page .village-room-dialog__icon img { filter: brightness(0) saturate(100%) invert(27%) sepia(19%) saturate(1377%) hue-rotate(120deg) brightness(89%) contrast(93%); height: 27px; object-fit: contain; width: 27px; }
.village-health-page__experiences { padding-block: 42px 20px; }
.village-health-page__experiences::before { background: var(--directory-green); border-radius: 999px; content: ""; display: block; height: 3px; margin-bottom: 24px; width: 65px; }
.village-health-page__experiences .village-directory-section__heading h2 { font-size: 22px; }
.village-health-page__experiences .village-directory-section__heading p { font-size: 14px; }
.village-health-page__room { padding-block: 25px 80px; }
.village-health-page__room a { align-items: stretch; background: #e3e3c4; border-radius: 6px; color: #000; display: grid; grid-template-columns: 94px minmax(0, 1fr); min-height: 86px; overflow: hidden; text-decoration: none; }
.village-health-page__room img { border-radius: 6px; height: 86px; object-fit: cover; width: 94px; }
.village-health-page__room a > span { display: flex; flex-direction: column; justify-content: center; padding: 10px 14px; }
.village-health-page__room strong { font-size: 16px; font-weight: 600; line-height: 1.25; }
.village-health-page__room small { font-size: 14px; font-weight: 300; line-height: 1.3; margin-top: 6px; }

/* Recreation page revision */
.village-recreation-page__content { padding-bottom: 40px; }
.village-recreation-page__hours { display: flex; flex-direction: column; gap: 20px; }
.village-recreation-page__hours p { margin: 0; }
.village-recreation-page__hours strong, .village-recreation-page__hours span { display: block; font-size: 16px; line-height: 1.4; }
.village-recreation-page__hours strong { font-weight: 700; }
.village-recreation-page__hours span { font-weight: 500; }
.village-recreation-page__feature, .village-recreation-page__other { padding-inline: max(16px, calc((100% - 480px) / 2 + 16px)); }
.village-recreation-page__feature { padding-block: 20px; }
.village-recreation-page__feature .village-directory-section__heading, .village-recreation-page__other .village-directory-section__heading { margin-bottom: 22px; }
.village-recreation-page__feature .village-directory-section__heading h2, .village-recreation-page__other .village-directory-section__heading h2 { font-size: 22px; }
.village-recreation-page__feature .village-directory-section__heading p, .village-recreation-page__other .village-directory-section__heading p { font-size: 14px; }
.village-recreation-page__feature > img { border-radius: 6px; display: block; height: 64px; object-fit: cover; width: 100%; }
.village-recreation-page__feature > div, .village-recreation-page__feature > p { font-size: 16px; line-height: 1.45; margin: 22px 0 0; }
.village-recreation-page__feature > div p { margin: 0 0 28px; }
.village-recreation-page__feature > div p:last-child { margin-bottom: 0; }
.village-recreation-page__button { background: #124d44; border-radius: 999px; color: #e3e3c4; display: inline-block; font-size: 16px; font-weight: 700; line-height: 24px; margin-top: 10px; padding: 12px 24px; text-decoration: none; }
.village-recreation-page__other { padding-block: 28px 80px; }
.village-recreation-page__other::before { background: var(--directory-green); border-radius: 999px; content: ""; display: block; height: 3px; margin-bottom: 24px; width: 65px; }
.village-recreation-page__links { display: flex; flex-direction: column; gap: 10px; }
.village-recreation-page__links a { align-items: stretch; background: #e3e3c4; border-radius: 6px; color: #000; display: grid; grid-template-columns: 94px minmax(0, 1fr); min-height: 86px; overflow: hidden; text-decoration: none; }
.village-recreation-page__links img { border-radius: 6px; height: 86px; object-fit: cover; width: 94px; }
.village-recreation-page__links span { display: flex; flex-direction: column; justify-content: center; padding: 10px 14px; }
.village-recreation-page__links strong { font-size: 16px; font-weight: 600; line-height: 1.25; }
.village-recreation-page__links small { font-size: 14px; font-weight: 300; line-height: 1.3; margin-top: 6px; }

/* Petfriendly regulations page */
.village-petfriendly-page,
.village-petfriendly-page * {
	box-sizing: border-box;
}

.village-petfriendly-page {
	background: #fff;
	color: #003233;
	font-family: var(--directory-body);
}

.village-petfriendly-page__heading,
.village-petfriendly-page__content,
.village-petfriendly-page__experiences,
.village-petfriendly-page__room {
	padding-inline: max(16px, calc((100% - 480px) / 2 + 16px));
}

.village-petfriendly-page__heading {
	padding-block: 20px 25px;
}

.village-petfriendly-page__heading h1,
.village-petfriendly-page__heading p {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-petfriendly-page__heading h1 {
	color: var(--directory-green);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.village-petfriendly-page__heading p {
	color: var(--directory-green-dark);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 3px;
}

.village-petfriendly-page__content {
	padding-block: 20px 44px;
}

.village-petfriendly-page__content .village-directory-section__heading {
	margin-bottom: 22px;
}

.village-petfriendly-page__content .village-directory-section__heading h2,
.village-petfriendly-page__experiences .village-directory-section__heading h2 {
	font-size: 22px;
}

.village-petfriendly-page__content .village-directory-section__heading p,
.village-petfriendly-page__experiences .village-directory-section__heading p {
	font-size: 14px;
}

.village-petfriendly-page__copy {
	font-size: 16px;
	line-height: 1.5;
}

.village-petfriendly-page__copy p {
	margin: 0 0 24px;
}

.village-petfriendly-page__copy p:last-child {
	margin-bottom: 0;
}

.village-petfriendly-page__copy .village-directory-button {
	background: var(--directory-green-dark);
	border-radius: 999px;
	color: #e3e3c4 !important;
	font-family: var(--directory-body);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 24px;
	padding: 12px 24px;
	text-transform: none;
}

.village-petfriendly-page__experiences {
	padding-block: 42px 20px;
}

.village-petfriendly-page__experiences::before {
	background: var(--directory-green);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 24px;
	width: 65px;
}

.village-petfriendly-page__room {
	padding-block: 25px 80px;
}

.village-petfriendly-page__room a {
	align-items: stretch;
	background: #e3e3c4;
	border-radius: 6px;
	color: #000;
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	min-height: 86px;
	overflow: hidden;
	text-decoration: none;
}

.village-petfriendly-page__room img {
	border-radius: 6px;
	height: 86px;
	object-fit: cover;
	width: 94px;
}

.village-petfriendly-page__room span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 14px;
}

.village-petfriendly-page__room strong {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.village-petfriendly-page__room small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	margin-top: 6px;
}

/* Spa and wellness page */
.village-spa-page,
.village-spa-page * {
	box-sizing: border-box;
}

.village-spa-page {
	background: #fff;
	color: #003233;
	font-family: var(--directory-body);
}

.village-spa-page__heading,
.village-spa-page__intro,
.village-spa-page__service,
.village-spa-page__experiences {
	padding-inline: max(16px, calc((100% - 480px) / 2 + 16px));
}

.village-spa-page__heading {
	padding-block: 20px 25px;
}

.village-spa-page__heading h1,
.village-spa-page__heading p {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-spa-page__heading h1 {
	color: var(--directory-green);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.village-spa-page__heading p {
	color: var(--directory-green-dark);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 3px;
}

.village-spa-page__intro {
	font-size: 16px;
	line-height: 1.4;
	margin: 10px 0 0;
	padding-block: 0 24px;
}

.village-spa-page__intro strong,
.village-spa-page__intro span,
.village-spa-page__booking strong,
.village-spa-page__booking span,
.village-spa-page__hours strong,
.village-spa-page__hours span,
.village-spa-page__gym-copy p > span {
	display: block;
}

.village-spa-page__intro strong {
	font-weight: 700;
}

.village-spa-page__intro span {
	font-weight: 300;
}

.village-spa-page__service {
	padding-block: 0 20px;
}

.village-spa-page__service .village-directory-section__heading {
	margin-bottom: 22px;
}

.village-spa-page__service .village-directory-section__heading h2,
.village-spa-page__experiences .village-directory-section__heading h2 {
	font-size: 22px;
}

.village-spa-page__service .village-directory-section__heading p,
.village-spa-page__experiences .village-directory-section__heading p {
	font-size: 14px;
}

.village-spa-page__image {
	aspect-ratio: 358 / 64;
	border-radius: 6px;
	display: block;
	height: 64px;
	object-fit: cover;
	width: 100%;
}

.village-spa-page__booking {
	font-size: 16px;
	line-height: 1.4;
	margin: 22px 0;
}

.village-spa-page__booking strong {
	font-weight: 700;
}

.village-spa-page__booking span {
	font-weight: 400;
}

.village-spa-page__button {
	background: var(--directory-green-dark);
	border-radius: 999px;
	color: #e3e3c4 !important;
	display: flex;
	flex-direction: column;
	font-family: var(--directory-body);
	font-size: 16px;
	justify-content: center;
	line-height: 24px;
	min-height: 69px;
	padding: 10px 24px;
	text-align: center;
	text-decoration: none;
	width: min(255px, 100%);
}

.village-spa-page__button strong {
	font-weight: 700;
}

.village-spa-page__button span {
	font-weight: 300;
	text-transform: none;
}

.village-spa-page__gym {
	padding-top: 0;
}

.village-spa-page__gym-copy {
	font-size: 16px;
	line-height: 1.4;
	padding-top: 22px;
}

.village-spa-page__gym-copy p,
.village-spa-page__gym-copy h3 {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-spa-page__hours {
	margin-bottom: 25px !important;
}

.village-spa-page__hours strong,
.village-spa-page__hours span {
	font-weight: 700;
}

.village-spa-page__gym-copy h3 {
	font-size: 16px;
	font-weight: 700;
}

.village-spa-page__translation,
.village-spa-page__gym-copy p > span {
	font-style: italic;
	font-weight: 400;
}

.village-spa-page__translation {
	margin-bottom: 25px !important;
}

.village-spa-page__gym-copy p:not(.village-spa-page__hours, .village-spa-page__translation) {
	font-weight: 500;
	margin-bottom: 23px;
}

.village-spa-page__experiences {
	padding-block: 54px 80px;
}

.village-spa-page__experiences::before {
	background: var(--directory-green);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 18px;
	width: 65px;
}

.village-spa-page__links {
	display: grid;
	gap: 20px;
	margin-top: 28px;
}

.village-spa-page__links a {
	align-items: stretch;
	background: #e3e3c4;
	border-radius: 6px;
	color: #000;
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	min-height: 86px;
	overflow: hidden;
	text-decoration: none;
}

.village-spa-page__links img {
	border-radius: 6px;
	height: 86px;
	object-fit: cover;
	width: 94px;
}

.village-spa-page__links span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 14px;
}

.village-spa-page__links strong {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.village-spa-page__links small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	margin-top: 6px;
}

/* Maintenance page */
.village-maintenance-page,
.village-maintenance-page * {
	box-sizing: border-box;
}

.village-maintenance-page {
	background: #fff;
	color: #003233;
	font-family: var(--directory-body);
}

.village-maintenance-page__heading,
.village-maintenance-page__content,
.village-maintenance-page__experiences,
.village-maintenance-page__room {
	padding-inline: max(16px, calc((100% - 480px) / 2 + 16px));
}

.village-maintenance-page__heading {
	padding-block: 20px 25px;
}

.village-maintenance-page__heading h1,
.village-maintenance-page__heading p {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-maintenance-page__heading h1 {
	color: var(--directory-green);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.village-maintenance-page__heading p {
	color: var(--directory-green-dark);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 3px;
}

.village-maintenance-page__content {
	padding-block: 20px 44px;
}

.village-maintenance-page__copy {
	font-size: 16px;
	line-height: 1.5;
}

.village-maintenance-page__copy p {
	margin: 0;
}

.village-maintenance-page__copy strong {
	font-weight: 700;
}

.village-maintenance-page__call {
	background: #e6ea96;
	border-radius: 6px;
	color: #000;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin-top: 28px;
	min-height: 61px;
	padding: 10px 16px;
	text-decoration: none;
}

.village-maintenance-page__call strong {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.25;
}

.village-maintenance-page__call b {
	font-weight: 800;
}

.village-maintenance-page__call small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.25;
	margin-top: 2px;
}

.village-maintenance-page__call:focus-visible,
.village-maintenance-page__room a:focus-visible {
	outline: 3px solid var(--directory-green);
	outline-offset: 3px;
}

.village-maintenance-page__copy--english {
	border-top: 1px solid #ac9b86;
	margin-top: 38px;
	padding-top: 30px;
}

.village-maintenance-page__experiences {
	padding-block: 42px 20px;
}

.village-maintenance-page__experiences::before {
	background: var(--directory-green);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 24px;
	width: 65px;
}

.village-maintenance-page__experiences .village-directory-section__heading h2 {
	font-size: 22px;
}

.village-maintenance-page__experiences .village-directory-section__heading p {
	font-size: 14px;
}

.village-maintenance-page__room {
	padding-block: 25px 80px;
}

.village-maintenance-page__room a {
	align-items: stretch;
	background: #e3e3c4;
	border-radius: 6px;
	color: #000;
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	min-height: 86px;
	overflow: hidden;
	text-decoration: none;
}

.village-maintenance-page__room img {
	border-radius: 6px;
	height: 86px;
	object-fit: cover;
	width: 94px;
}

.village-maintenance-page__room span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 14px;
}

.village-maintenance-page__room strong {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.village-maintenance-page__room small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	margin-top: 6px;
}

/* Internet and other services page */
.village-internet-page, .village-internet-page * { box-sizing: border-box; }
.village-internet-page { background: #fff; color: #003233; font-family: var(--directory-body); }
.village-internet-page__heading, .village-internet-page__cards, .village-internet-page__experiences, .village-internet-page__room { padding-inline: max(16px, calc((100% - 480px) / 2 + 16px)); }
.village-internet-page__heading { padding-block: 20px 25px; }
.village-internet-page__heading h1, .village-internet-page__heading p { font-family: var(--directory-body) !important; margin: 0; }
.village-internet-page__heading h1 { color: var(--directory-green); font-size: 18px; font-weight: 700; line-height: 1.25; }
.village-internet-page__heading p { color: var(--directory-green-dark); font-size: 16px; font-weight: 500; line-height: 1.35; margin-top: 3px; }
.village-internet-page__cards { display: flex; flex-direction: column; gap: 14px; padding-block: 10px 60px; }
.village-internet-page .village-room-card__icon img { filter: brightness(0) saturate(100%) invert(27%) sepia(19%) saturate(1377%) hue-rotate(120deg) brightness(89%) contrast(93%); height: 27px; object-fit: contain; width: 27px; }
.village-internet-page__experiences { padding-block: 42px 20px; }
.village-internet-page__experiences::before { background: var(--directory-green); border-radius: 999px; content: ""; display: block; height: 3px; margin-bottom: 24px; width: 65px; }
.village-internet-page__experiences .village-directory-section__heading h2 { font-size: 22px; }
.village-internet-page__experiences .village-directory-section__heading p { font-size: 14px; }
.village-internet-page__room { padding-block: 25px 80px; }
.village-internet-page__room a { align-items: stretch; background: #e3e3c4; border-radius: 6px; color: #000; display: grid; grid-template-columns: 94px minmax(0, 1fr); min-height: 86px; overflow: hidden; text-decoration: none; }
.village-internet-page__room img { border-radius: 6px; height: 86px; object-fit: cover; width: 94px; }
.village-internet-page__room span { display: flex; flex-direction: column; justify-content: center; padding: 10px 14px; }
.village-internet-page__room strong { font-size: 16px; font-weight: 600; line-height: 1.25; }
.village-internet-page__room small { font-size: 14px; font-weight: 300; line-height: 1.3; margin-top: 6px; }

/* Responsible tourist decalogue page */
.village-decalogue-page,
.village-decalogue-page * {
	box-sizing: border-box;
}

.village-decalogue-page {
	background: #fff;
	color: #003233;
	font-family: var(--directory-body);
}

.village-decalogue-page__heading,
.village-decalogue-page__content,
.village-decalogue-page__experiences,
.village-decalogue-page__room {
	padding-inline: max(16px, calc((100% - 480px) / 2 + 16px));
}

.village-decalogue-page__heading {
	padding-block: 20px 25px;
}

.village-decalogue-page__heading h1,
.village-decalogue-page__heading p {
	font-family: var(--directory-body) !important;
	margin: 0;
}

.village-decalogue-page__heading h1 {
	color: var(--directory-green);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.25;
}

.village-decalogue-page__heading p {
	color: var(--directory-green-dark);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.35;
	margin-top: 3px;
}

.village-decalogue-page__content {
	padding-block: 20px 44px;
}

.village-decalogue-page__copy {
	font-size: 16px;
	line-height: 1.5;
}

.village-decalogue-page__copy > p {
	margin: 0 0 24px;
}

.village-decalogue-page__copy .village-directory-poster {
	margin: 32px auto 0;
	max-width: 358px;
}

.village-decalogue-page__copy .village-directory-poster a,
.village-decalogue-page__copy .village-directory-poster img {
	display: block;
	width: 100%;
}

.village-decalogue-page__copy .village-directory-poster img {
	border-radius: 6px;
	height: auto;
}

.village-decalogue-page__copy .village-directory-poster a:focus-visible,
.village-decalogue-page__room a:focus-visible {
	outline: 3px solid var(--directory-green);
	outline-offset: 3px;
}

.village-decalogue-page__experiences {
	padding-block: 42px 20px;
}

.village-decalogue-page__experiences::before {
	background: var(--directory-green);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 24px;
	width: 65px;
}

.village-decalogue-page__experiences .village-directory-section__heading h2 {
	font-size: 22px;
}

.village-decalogue-page__experiences .village-directory-section__heading p {
	font-size: 14px;
}

.village-decalogue-page__room {
	padding-block: 25px 80px;
}

.village-decalogue-page__room a {
	align-items: stretch;
	background: #e3e3c4;
	border-radius: 6px;
	color: #000;
	display: grid;
	grid-template-columns: 94px minmax(0, 1fr);
	min-height: 86px;
	overflow: hidden;
	text-decoration: none;
}

.village-decalogue-page__room img {
	border-radius: 6px;
	height: 86px;
	object-fit: cover;
	width: 94px;
}

.village-decalogue-page__room span {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 10px 14px;
}

.village-decalogue-page__room strong {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
}

.village-decalogue-page__room small {
	font-size: 14px;
	font-weight: 300;
	line-height: 1.3;
	margin-top: 6px;
}

/* Quality assurance page */
.village-quality-page, .village-quality-page * { box-sizing: border-box; }
.village-quality-page { background: #fff; color: #003233; font-family: var(--directory-body); }
.village-quality-page__heading, .village-quality-page__content, .village-quality-page__experiences, .village-quality-page__room { padding-inline: max(16px, calc((100% - 480px) / 2 + 16px)); }
.village-quality-page__heading { padding-block: 20px 25px; }
.village-quality-page__heading h1, .village-quality-page__heading p { font-family: var(--directory-body) !important; margin: 0; }
.village-quality-page__heading h1 { color: var(--directory-green); font-size: 18px; font-weight: 700; line-height: 1.25; }
.village-quality-page__heading p { color: var(--directory-green-dark); font-size: 16px; font-weight: 500; line-height: 1.35; margin-top: 3px; }
.village-quality-page__content { padding-block: 20px 44px; }
.village-quality-page__copy { font-size: 16px; line-height: 1.5; }
.village-quality-page__copy p { margin: 0; }
.village-quality-page__copy strong { font-weight: 700; }
.village-quality-page__copy--english { border-top: 1px solid #ac9b86; margin-top: 38px; padding-top: 30px; }
.village-quality-page__experiences { padding-block: 42px 20px; }
.village-quality-page__experiences::before { background: var(--directory-green); border-radius: 999px; content: ""; display: block; height: 3px; margin-bottom: 24px; width: 65px; }
.village-quality-page__experiences .village-directory-section__heading h2 { font-size: 22px; }
.village-quality-page__experiences .village-directory-section__heading p { font-size: 14px; }
.village-quality-page__room { padding-block: 25px 80px; }
.village-quality-page__room a { align-items: stretch; background: #e3e3c4; border-radius: 6px; color: #000; display: grid; grid-template-columns: 94px minmax(0, 1fr); min-height: 86px; overflow: hidden; text-decoration: none; }
.village-quality-page__room img { border-radius: 6px; height: 86px; object-fit: cover; width: 94px; }
.village-quality-page__room span { display: flex; flex-direction: column; justify-content: center; padding: 10px 14px; }
.village-quality-page__room strong { font-size: 16px; font-weight: 600; line-height: 1.25; }
.village-quality-page__room small { font-size: 14px; font-weight: 300; line-height: 1.3; margin-top: 6px; }

/* Sustainability and CSR page */
.village-sustainability-page, .village-sustainability-page * { box-sizing: border-box; }
.village-sustainability-page { background: #fff; color: #003233; font-family: var(--directory-body); }
.village-sustainability-page__heading, .village-sustainability-page__content, .village-sustainability-page__experiences, .village-sustainability-page__room { padding-inline: max(16px, calc((100% - 480px) / 2 + 16px)); }
.village-sustainability-page__heading { padding-block: 20px 25px; }
.village-sustainability-page__heading h1, .village-sustainability-page__heading p { font-family: var(--directory-body) !important; margin: 0; }
.village-sustainability-page__heading h1 { color: var(--directory-green); font-size: 18px; font-weight: 700; line-height: 1.25; }
.village-sustainability-page__heading p { color: var(--directory-green-dark); font-size: 16px; font-weight: 500; line-height: 1.35; margin-top: 3px; }
.village-sustainability-page__content { padding-block: 20px 44px; }
.village-sustainability-page__copy { font-size: 16px; line-height: 1.5; }
.village-sustainability-page__copy p { margin: 0; }
.village-sustainability-page__copy .village-directory-featured { margin: 0 auto 30px; max-width: 220px; }
.village-sustainability-page__copy .village-directory-featured img { display: block; height: auto; width: 100%; }
.village-sustainability-page__copy--english { border-top: 1px solid #ac9b86; margin-top: 38px; padding-top: 30px; }
.village-sustainability-page__experiences { padding-block: 42px 20px; }
.village-sustainability-page__experiences::before { background: var(--directory-green); border-radius: 999px; content: ""; display: block; height: 3px; margin-bottom: 24px; width: 65px; }
.village-sustainability-page__experiences .village-directory-section__heading h2 { font-size: 22px; }
.village-sustainability-page__experiences .village-directory-section__heading p { font-size: 14px; }
.village-sustainability-page__room { padding-block: 25px 80px; }
.village-sustainability-page__room a { align-items: stretch; background: #e3e3c4; border-radius: 6px; color: #000; display: grid; grid-template-columns: 94px minmax(0, 1fr); min-height: 86px; overflow: hidden; text-decoration: none; }
.village-sustainability-page__room img { border-radius: 6px; height: 86px; object-fit: cover; width: 94px; }
.village-sustainability-page__room span { display: flex; flex-direction: column; justify-content: center; padding: 10px 14px; }
.village-sustainability-page__room strong { font-size: 16px; font-weight: 600; line-height: 1.25; }
.village-sustainability-page__room small { font-size: 14px; font-weight: 300; line-height: 1.3; margin-top: 6px; }

/* Manager contact page */
.village-manager-page, .village-manager-page * { box-sizing: border-box; }
.village-manager-page { background: #fff; color: #003233; font-family: var(--directory-body); }
.village-manager-page__heading, .village-manager-page__content, .village-manager-page__experiences, .village-manager-page__room { padding-inline: max(16px, calc((100% - 480px) / 2 + 16px)); }
.village-manager-page__heading { padding-block: 20px 25px; }
.village-manager-page__heading h1, .village-manager-page__heading p { font-family: var(--directory-body) !important; margin: 0; }
.village-manager-page__heading h1 { color: var(--directory-green); font-size: 18px; font-weight: 700; line-height: 1.25; }
.village-manager-page__heading p { color: var(--directory-green-dark); font-size: 16px; font-weight: 500; line-height: 1.35; margin-top: 3px; }
.village-manager-page__content { padding-block: 20px 48px; }
.village-manager-page__card { align-items: flex-start; background: #f0ebe1; border-radius: 6px; display: grid; gap: 13px; grid-template-columns: 37px minmax(0, 1fr); padding: 16px; }
.village-manager-page__icon { align-items: center; background: #f2e1cd; border-radius: 6px; display: flex; height: 37px; justify-content: center; width: 37px; }
.village-manager-page__icon svg { fill: none; height: 23px; stroke: var(--directory-green); stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.5; width: 23px; }
.village-manager-page__copy { min-width: 0; }
.village-manager-page__copy address { font-size: 16px; font-style: normal; line-height: 1.45; }
.village-manager-page__copy address strong:first-child { display: block; font-size: 18px; margin-bottom: 12px; }
.village-manager-page__copy address br { display: none; }
.village-manager-page__copy address a { background: var(--directory-green-dark); border-radius: 6px; color: #fff; display: block; font-size: 14px; margin-top: 8px; overflow-wrap: anywhere; padding: 11px 13px; text-decoration: none; }
.village-manager-page__copy address a:focus-visible, .village-manager-page__room a:focus-visible { outline: 3px solid var(--directory-green); outline-offset: 3px; }
.village-manager-page__experiences { padding-block: 42px 20px; }
.village-manager-page__experiences::before { background: var(--directory-green); border-radius: 999px; content: ""; display: block; height: 3px; margin-bottom: 24px; width: 65px; }
.village-manager-page__experiences .village-directory-section__heading h2 { font-size: 22px; }
.village-manager-page__experiences .village-directory-section__heading p { font-size: 14px; }
.village-manager-page__room { padding-block: 25px 80px; }
.village-manager-page__room a { align-items: stretch; background: #e3e3c4; border-radius: 6px; color: #000; display: grid; grid-template-columns: 94px minmax(0, 1fr); min-height: 86px; overflow: hidden; text-decoration: none; }
.village-manager-page__room img { border-radius: 6px; height: 86px; object-fit: cover; width: 94px; }
.village-manager-page__room span { display: flex; flex-direction: column; justify-content: center; padding: 10px 14px; }
.village-manager-page__room strong { font-size: 16px; font-weight: 600; line-height: 1.25; }
.village-manager-page__room small { font-size: 14px; font-weight: 300; line-height: 1.3; margin-top: 6px; }

/* Mini Golf page */
.village-golf-page, .village-golf-page * { box-sizing: border-box; }
.village-golf-page { background: #fff; color: #003233; font-family: var(--directory-body); }
.village-golf-page__heading, .village-golf-page__content, .village-golf-page__experiences, .village-golf-page__room { padding-inline: max(16px, calc((100% - 480px) / 2 + 16px)); }
.village-golf-page__heading { padding-block: 20px 25px; }
.village-golf-page__heading h1, .village-golf-page__heading p { font-family: var(--directory-body) !important; margin: 0; }
.village-golf-page__heading h1 { color: var(--directory-green); font-size: 18px; font-weight: 700; }
.village-golf-page__heading p { color: var(--directory-green-dark); font-size: 16px; font-weight: 500; margin-top: 3px; }
.village-golf-page__content { padding-block: 20px 44px; }
.village-golf-page__content > img { border-radius: 6px; display: block; height: 64px; object-fit: cover; width: 100%; }
.village-golf-page__intro { font-size: 16px; line-height: 1.5; margin: 24px 0; }
.village-golf-page__rules details { border-bottom: 1px solid #ac9b86; }
.village-golf-page__rules summary { align-items: center; cursor: pointer; display: flex; font-size: 16px; font-weight: 700; justify-content: space-between; list-style: none; padding: 18px 0; }
.village-golf-page__rules summary::-webkit-details-marker { display: none; }
.village-golf-page__rules summary span { align-items: center; background: #124d44; border-radius: 50%; color: #fff; display: flex; flex: 0 0 30px; height: 30px; justify-content: center; margin-left: 12px; }
.village-golf-page__rules details[open] summary span { transform: rotate(45deg); }
.village-golf-page__rules details > div { font-size: 14px; line-height: 1.5; padding: 0 0 20px; }
.village-golf-page__rules ul { padding-left: 20px; }
.village-golf-page__experiences { padding-block: 42px 20px; }
.village-golf-page__experiences::before { background: var(--directory-green); border-radius: 9px; content: ""; display: block; height: 3px; margin-bottom: 24px; width: 65px; }
.village-golf-page__experiences .village-directory-section__heading h2 { font-size: 22px; }
.village-golf-page__room { padding-block: 25px 80px; }
.village-golf-page__room a { align-items: stretch; background: #e3e3c4; border-radius: 6px; color: #000; display: grid; grid-template-columns: 94px 1fr; min-height: 86px; overflow: hidden; text-decoration: none; }
.village-golf-page__room img { border-radius: 6px; height: 86px; object-fit: cover; width: 94px; }
.village-golf-page__room span { display: flex; flex-direction: column; justify-content: center; padding: 10px 14px; }
.village-golf-page__room strong { font-size: 16px; font-weight: 600; }
.village-golf-page__room small { font-size: 14px; font-weight: 300; margin-top: 6px; }
