/**
 * Hotel Ancolie (hotel-ancolie.com) custom styles.
 *
 * Color palette derived from the 2019 reference (web.archive.org snapshot):
 * dark navy hero overlay and footer, sage-green serif accents on white,
 * gray body text, hairline borders, warm-white alternate sections.
 *
 * Source of truth for Astra globals is the theme setting
 * (Customizer → Global → Colors, option key global-color-palette);
 * the bridge below mirrors those values as CSS variables so custom
 * styles and Astra-generated CSS always agree.
 */
:root {
	/* Brand */
	--ha-navy:      #1f2b36; /* hero overlay, footer bg, primary buttons   */
	--ha-navy-deep: #141c24; /* footer hover states, dark blocks           */
	--ha-sage:      #a9bfad; /* decorative serif section headings          */
	--ha-sage-dark: #879e8d; /* links hover, small accents, button hover   */

	/* Surfaces */
	--ha-white:     #ffffff; /* base background                            */
	--ha-cloud:     #f6f5f2; /* alternate section background               */
	--ha-border:    #d8ddda; /* hairline borders, dividers                 */

	/* Text */
	--ha-ink:       #2c3338; /* headings, small-caps labels                */
	--ha-text:      #5f6a70; /* body text                                  */
	--ha-text-soft: #8b949a; /* meta text, captions                        */
}

/* Bridge: project palette -> Astra global color slots (0-8). */
:root {
	--ast-global-color-0: var(--ha-navy);      /* theme / accent            */
	--ast-global-color-1: var(--ha-sage-dark); /* accent hover              */
	--ast-global-color-2: var(--ha-ink);       /* headings                  */
	--ast-global-color-3: var(--ha-text);      /* body text                 */
	--ast-global-color-4: var(--ha-white);     /* background                */
	--ast-global-color-5: var(--ha-cloud);     /* alternate background      */
	--ast-global-color-6: var(--ha-navy-deep); /* dark element              */
	--ast-global-color-7: var(--ha-border);    /* borders                   */
	--ast-global-color-8: var(--ha-navy);      /* extra dark                */
}

/* Base application of the palette (kept minimal until the layout stage). */
::selection {
	background: var(--ha-sage);
	color: var(--ha-white);
}

.ha-accent {
	color: var(--ha-sage);
}

/* ===== Header ===== */

/* Logo image (from the media library) alignment; title hidden — the logo IS the wordmark. */
.ast-primary-header-bar .site-logo-img img {
	width: 139px;
	height: auto;
}
.ast-site-identity .site-title {
	display: none;
}

/* Boxed menu cells, full header height (2019 reference layout). */
@media (min-width: 922px) {
	.ast-primary-header-bar .ast-builder-grid-row {
		align-items: stretch;
	}
	.ast-primary-header-bar .site-header-section,
	.ast-primary-header-bar .ast-builder-layout-element {
		align-self: stretch;
	}
	.ast-primary-header-bar .ast-builder-menu-1 {
		flex-grow: 1;
	}
	.ast-primary-header-bar .site-navigation,
	.ast-primary-header-bar .main-navigation,
	.ast-primary-header-bar .main-header-menu {
		height: 100%;
		width: 100%;
		align-items: stretch;
	}
	.ast-primary-header-bar .ast-builder-grid-row-container-inner {
		padding-inline: 28px;
	}
	.ast-primary-header-bar .main-header-menu > .menu-item {
		display: flex;
		flex: 1 1 auto;
		border-left: 1px solid rgba(255, 255, 255, 0.14);
	}
	.ast-primary-header-bar .main-header-menu > .menu-item > .menu-link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		background: transparent;
	}
	/* Hover paints the whole tile; text flips to navy (incl. current item). */
	.ast-primary-header-bar .main-header-menu > .menu-item:hover {
		background-color: var(--ha-sage);
	}

}

/* Primary menu: white small caps, sage hover / active, single line. */
.ast-desktop .main-header-menu {
	flex-wrap: nowrap;
}
.ast-desktop .main-header-menu > .menu-item {
	flex-shrink: 0;
}
.ast-desktop .main-header-menu .menu-item > .menu-link {
	color: #ffffff;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	padding-left: 12px;
	padding-right: 12px;
	text-transform: uppercase;
	white-space: nowrap;
}
.ast-desktop .main-header-menu .menu-item:hover > .menu-link,
.ast-desktop .main-header-menu .menu-item.current-menu-item > .menu-link {
	color: var(--ha-sage);
}

/* Mobile: keep wordmark and trigger readable on navy. */
@media (max-width: 544px) {
	.ast-site-identity .site-title a {
		font-size: 18px;
		letter-spacing: 0.14em;
	}
}
.ast-header-break-point .ast-button-wrap .ast-mobile-menu-trigger-minimal {
	color: var(--ha-white);
}
.ast-header-break-point .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
	fill: var(--ha-white);
}

/* Mobile drawer: navy background, white links, sage active. */
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-popup-drawer.active .ast-mobile-popup-inner,
.ast-mobile-popup-drawer .ast-mobile-header-content,
.ast-mobile-popup-drawer .main-header-menu {
	background-color: var(--ha-navy) !important;
}
.ast-mobile-popup-drawer .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item > .menu-link {
	color: rgba(255, 255, 255, 0.9);
	background: transparent;
}
.ast-mobile-popup-drawer .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item:hover > .menu-link,
.ast-mobile-popup-drawer .ast-builder-menu-mobile .main-navigation .main-header-menu .menu-item.current-menu-item > .menu-link {
	color: var(--ha-sage);
	background: transparent;
}
.ast-mobile-popup-drawer .menu-toggle-close {
	color: var(--ha-white);
	border-color: rgba(255, 255, 255, 0.5);
}
.ast-mobile-popup-drawer .menu-toggle-close svg,
.ast-mobile-popup-drawer .menu-toggle-close svg * {
	fill: var(--ha-white);
	stroke: var(--ha-white);
}
.ast-mobile-popup-drawer .menu-toggle-close:hover svg,
.ast-mobile-popup-drawer .menu-toggle-close:focus svg {
	fill: var(--ha-sage);
	stroke: var(--ha-sage);
}

/* ===== Footer ===== */
.site-footer {
	color: var(--ha-text-soft);
	font-size: 13px;
	line-height: 1.7;
}
.site-footer a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
}
.site-footer a:hover,
.site-footer a:focus {
	color: var(--ha-sage);
}
.site-footer .site-primary-footer-wrap .ast-builder-grid-row {
	align-items: center;
	padding-top: 26px;
	padding-bottom: 26px;
}
@media (min-width: 922px) {
	/* Three content zones (legal | partners | address) instead of five equal slots. */
	.site-footer .site-primary-footer-wrap .ast-builder-footer-grid-columns {
		grid-template-columns: 0.9fr 2fr 1.1fr;
	}
	.site-footer .site-footer-primary-section-2,
	.site-footer .site-footer-primary-section-4 {
		display: none;
	}
	.site-footer .site-footer-primary-section-5 {
		text-align: right;
	}
}
/* Partner logos row. */
.ha-partners {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	flex-wrap: wrap;
}
.ha-partners img {
	width: auto;
	height: 28px;
	opacity: 0.85;
}

/* ===== Homepage ===== */

/* Hero: village panorama, navy overlay. */
.ha-hero {
	min-height: 82vh;
	display: flex;
	align-items: center;
}
.ha-hero .wp-block-cover__background {
	background-color: var(--ha-navy-deep) !important;
	opacity: 0.6;
}
.ha-hero h1 {
	color: var(--ha-white);
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 600;
	font-size: clamp(2.2rem, 4.5vw, 3.4rem);
	line-height: 1.15;
	letter-spacing: 0.03em;
	text-shadow: 0 2px 22px rgba(20, 28, 36, 0.55);
}
.ha-hero .wp-block-cover__inner-container > p {
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	text-shadow: 0 1px 14px rgba(20, 28, 36, 0.75);
}
@media (max-width: 544px) {
	.ha-hero .wp-block-cover__inner-container > p {
		font-size: 11px;
		letter-spacing: 0.18em;
		padding-inline: 16px;
	}
	.ha-hero h1 {
		padding-inline: 12px;
	}
}

/* Outline buttons on dark covers. */
.ha-hero .wp-block-button__link,
.ha-relax .wp-block-button__link {
	color: var(--ha-white);
	background: transparent;
	border: 1px solid var(--ha-white);
	border-radius: 0;
	padding: 14px 34px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}
.ha-hero .wp-block-button__link:hover,
.ha-hero .wp-block-button__link:focus,
.ha-relax .wp-block-button__link:hover,
.ha-relax .wp-block-button__link:focus {
	color: var(--ha-navy);
	background: var(--ha-white);
	border-color: var(--ha-white);
}

/* Relaxation cover: pool. */
.ha-relax {
	min-height: 62vh;
	display: flex;
	align-items: center;
}
.ha-relax .wp-block-cover__background {
	background-color: var(--ha-navy) !important;
	opacity: 0.5;
}
.ha-relax h2 {
	color: var(--ha-white);
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 600;
	font-size: clamp(1.8rem, 3vw, 2.6rem);
	letter-spacing: 0.02em;
}

/* Content sections. */
.ha-section {
	padding-top: 72px;
	padding-bottom: 72px;
}
.ha-section h2 {
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 600;
	color: var(--ha-sage-dark);
	font-size: clamp(1.7rem, 2.6vw, 2.3rem);
	letter-spacing: 0.02em;
}
.ha-section h3 {
	font-family: Georgia, 'Times New Roman', serif;
	font-weight: 600;
	color: var(--ha-sage-dark);
	font-size: 1.35rem;
	letter-spacing: 0.02em;
}
.ha-section-cloud ul {
	max-width: 560px;
	margin-inline: auto;
	color: var(--ha-text);
}
.ha-section-cloud li {
	padding-block: 6px;
}
.ha-section-cloud li::marker {
	color: var(--ha-sage-dark);
}
.ha-section-cloud {
	background: var(--ha-cloud);
}
.ha-section .wp-block-columns {
	row-gap: 40px;
}
.ha-features {
	color: var(--ha-text);
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
/* Service cards. */
.ha-section .wp-block-image img {
	border-radius: 2px;
	transition: transform 0.3s ease;
}
.ha-section .wp-block-image a {
	display: block;
	overflow: hidden;
	border-radius: 2px;
}
.ha-section .wp-block-image a:hover img,
.ha-section .wp-block-image a:focus img {
	transform: scale(1.04);
}
.ha-section .wp-block-button__link {
	color: var(--ha-navy);
	background: transparent;
	border: 1px solid var(--ha-navy);
	border-radius: 0;
	padding: 12px 26px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.ha-section .wp-block-button__link:hover,
.ha-section-cloud .wp-block-button__link:focus {
	color: var(--ha-white);
	background: var(--ha-navy);
	border-color: var(--ha-navy);
}

/* ===== Restaurant & bar page ===== */
.page-id-46 .ha-section {
	padding-inline: max(24px, calc((100% - 1080px) / 2));
}
.page-id-46 .ha-section > .has-text-align-center {
	max-width: 860px;
	margin-inline: auto;
}
.page-id-46 .ha-section .wp-block-columns {
	align-items: center;
}
.page-id-46 .ha-section .wp-block-columns .wp-block-image img {
	border-radius: 3px;
}
/* Opening hours as a menu card. */
.ha-hours {
	border-top: 1px solid var(--ha-border);
	margin-top: 1.4em;
}
.ha-hours li {
	border-bottom: 1px solid var(--ha-border);
	padding-block: 14px;
}
.ha-hours li::marker {
	color: var(--ha-sage-dark);
}
.ha-hours strong {
	color: var(--ha-sage-dark);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
/* Good-to-know: two balanced columns. */
.ha-info {
	columns: 2;
	column-gap: 48px;
	max-width: 760px;
	margin-inline: auto;
}
.ha-info li {
	break-inside: avoid;
	padding-block: 8px;
}
.ha-info li::marker {
	color: var(--ha-sage-dark);
}
@media (max-width: 782px) {
	.ha-info {
		columns: 1;
	}
}

/* ===== Price tables ===== */
.ha-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.ha-table table {
	width: 100%;
	min-width: 640px;
	border-collapse: collapse;
	font-size: 14px;
}
.ha-table th {
	background: var(--ha-navy);
	color: var(--ha-white);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 12px 14px;
	text-align: left;
	white-space: normal;
}
.ha-table td {
	border-bottom: 1px solid var(--ha-border);
	padding: 12px 14px;
	color: var(--ha-text);
	vertical-align: top;
}
.ha-table tbody tr:nth-child(even) td {
	background: var(--ha-cloud);
}
.ha-table td strong {
	color: var(--ha-navy);
	font-weight: 600;
}

/* ===== Article page (budget guide) ===== */
.ha-article-hero h1 {
	font-size: clamp(1.8rem, 3.6vw, 2.9rem);
	max-width: 900px;
	margin-inline: auto;
}
.ha-section h2.wp-block-heading {
	margin-top: 2.2em;
}
.ha-section h2.wp-block-heading:first-child {
	margin-top: 0;
}
.ha-section table {
	margin-bottom: 2em;
}
/* Budget guide article: darker body text for long-form reading. */
.page-id-81 .entry-content p,
.page-id-81 .entry-content li {
	color: var(--ha-ink);
}
.page-id-81 .entry-content h2,
.page-id-81 .entry-content h3 {
	color: var(--ha-navy);
}

/* ===== Contact form & map ===== */
.ha-form label {
	display: block;
	color: var(--ha-navy);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-bottom: 6px;
}
.ha-form .ha-form-row {
	margin-bottom: 16px;
}
.ha-form input,
.ha-form textarea {
	width: 100%;
	border: 1px solid var(--ha-border);
	border-radius: 0;
	background: var(--ha-white);
	color: var(--ha-ink);
	font: inherit;
	padding: 10px 12px;
}
.ha-form input:focus,
.ha-form textarea:focus {
	border-color: var(--ha-navy);
	outline: none;
}
.ha-form button {
	color: var(--ha-navy);
	background: transparent;
	border: 1px solid var(--ha-navy);
	border-radius: 0;
	padding: 12px 30px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
}
.ha-form button:hover,
.ha-form button:focus {
	color: var(--ha-white);
	background: var(--ha-navy);
}

/* Menu tile hover: text flips to navy over the sage tile (incl. current item). */
@media (min-width: 922px) {
	.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item:hover > .menu-link,
	.ast-desktop .ast-primary-header-bar .main-header-menu > .menu-item.current-menu-item:hover > .menu-link {
		color: var(--ha-navy) !important;
		background: transparent !important;
	}
}