/* Auto light / dark — follows device prefers-color-scheme */
:root {
	color-scheme: light dark;

	--hg-bg: #f7f4ef;
	--hg-bg-elevated: #ffffff;
	--hg-bg-muted: #efeae3;
	--hg-surface: #ffffff;
	--hg-text: #1c1917;
	--hg-text-muted: #57534e;
	--hg-text-soft: #78716c;
	--hg-accent: #9a7b2f;
	--hg-accent-strong: #7a6124;
	--hg-border: rgba(28, 25, 23, 0.1);
	--hg-shadow: rgba(28, 25, 23, 0.08);
	--hg-header-text: #1c1917;
	--hg-header-sticky: rgba(247, 244, 239, 0.96);
	--hg-hero-bg: linear-gradient(135deg, #f3eee6 0%, #ebe4d8 45%, #e3d9c8 100%);
	--hg-hero-text: #1c1917;
	--hg-hero-lead: rgba(28, 25, 23, 0.78);
	--hg-stats-bg: #1c1917;
	--hg-stats-label: rgba(255, 255, 255, 0.72);
	--hg-banner-bg: linear-gradient(135deg, #2a241c 0%, #1c1917 100%);
	--hg-banner-text: #ffffff;
	--hg-banner-lead: rgba(255, 255, 255, 0.75);
	--hg-footer-bg: #1c1917;
	--hg-card-bg: #ffffff;
	--hg-curve: #f7f4ef;
	--hg-btn-outline: #9a7b2f;
}

@media (prefers-color-scheme: dark) {
	:root {
		--hg-bg: #0f0e0d;
		--hg-bg-elevated: #171513;
		--hg-bg-muted: #1a1714;
		--hg-surface: #1a1714;
		--hg-text: #f5f0e8;
		--hg-text-muted: #c4b8a8;
		--hg-text-soft: #a89884;
		--hg-accent: #c9a227;
		--hg-accent-strong: #e0b83a;
		--hg-border: rgba(255, 255, 255, 0.1);
		--hg-shadow: rgba(0, 0, 0, 0.35);
		--hg-header-text: #f5f0e8;
		--hg-header-sticky: rgba(15, 14, 13, 0.96);
		--hg-hero-bg: linear-gradient(135deg, #0d0d0d 0%, #1a1512 45%, #2a1f18 100%);
		--hg-hero-text: #ffffff;
		--hg-hero-lead: rgba(255, 255, 255, 0.82);
		--hg-stats-bg: #0d0d0d;
		--hg-stats-label: rgba(255, 255, 255, 0.7);
		--hg-banner-bg: linear-gradient(135deg, #1a1512 0%, #0d0d0d 100%);
		--hg-banner-text: #ffffff;
		--hg-banner-lead: rgba(255, 255, 255, 0.75);
		--hg-footer-bg: #12100e;
		--hg-card-bg: #1a1714;
		--hg-curve: #0f0e0d;
		--hg-btn-outline: #c9a227;
	}
}

html {
	background: var(--hg-bg);
}

body {
	background: var(--hg-bg) !important;
	color: var(--hg-text-muted) !important;
}

/* Text logo */
.site-name {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1.1;
	text-decoration: none !important;
	gap: 2px;
	max-width: none !important;
	width: auto !important;
}

.navbar-header .navbar-brand.site-name {
	max-width: none !important;
	width: auto !important;
	overflow: visible !important;
}

.site-name__main {
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.05rem, 2.2vw, 1.35rem);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--hg-header-text);
	white-space: nowrap;
}

.site-name__sub {
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--hg-accent);
}

header#header .site-name__main,
header#header .navbar-brand.site-name {
	color: var(--hg-header-text);
}

header#header {
	background: transparent;
}

header#header.sticky {
	background: var(--hg-header-sticky) !important;
	box-shadow: 0 1px 0 var(--hg-border) !important;
	backdrop-filter: blur(10px);
}

header#header .nav.navbar-nav > li > a {
	color: var(--hg-header-text) !important;
}

header#header .call-icon a,
header#header .call-icon .link-text {
	color: var(--hg-header-text) !important;
}

header#header .navbar-toggle span {
	background: var(--hg-header-text) !important;
}

/* Dark page banners (Contact, etc.): keep logo + menu readable */
body:has(.page-banner) header#header:not(.sticky) .site-name__main,
body:has(.page-banner) header#header:not(.sticky) .nav.navbar-nav > li > a {
	color: #fff !important;
}

body:has(.page-banner) header#header:not(.sticky) .site-name__sub {
	color: #e0b83a !important;
}

body:has(.page-banner) header#header:not(.sticky) .navbar-toggle span {
	background: #fff !important;
}

/* Homepage light hero: dark logo/menu; dark-mode hero: light logo/menu already via vars */
@media (prefers-color-scheme: dark) {
	body:not(:has(.page-banner)) header#header:not(.sticky) .site-name__main,
	body:not(:has(.page-banner)) header#header:not(.sticky) .nav.navbar-nav > li > a {
		color: #fff !important;
	}
}

.headding-part .headding-title {
	color: var(--hg-text) !important;
}

.headding-part .headding-sub {
	color: var(--hg-accent) !important;
}

.com-btn {
	background: var(--hg-accent) !important;
	border-color: var(--hg-accent) !important;
	color: #fff !important;
}

.com-btn:hover {
	background: var(--hg-accent-strong) !important;
	border-color: var(--hg-accent-strong) !important;
	color: #fff !important;
}

footer.site-footer {
	background: var(--hg-footer-bg) !important;
}

.site-footer__logo.site-name {
	margin-bottom: 14px;
}

.site-footer__logo .site-name__main {
	color: #fff;
	font-size: 1.35rem;
}

.site-footer__logo .site-name__sub {
	color: var(--hg-accent);
}

/* Reservation / page banner stays dark for contrast */
.page-banner .page-headding {
	color: #fff;
}
