:root {
	--ha-ink: #1a1916;
	--ha-brass: #a98138;
	--ha-paper: #f4f1ea;
	--ha-muted: #565146;
}

.ha-skip-link {
	position: fixed;
	top: 12px;
	left: 12px;
	z-index: 100000;
	padding: 12px 18px;
	color: #fff;
	background: #111;
	border: 2px solid #f6dfad;
	transform: translateY(-150%);
}
.ha-skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea):focus-visible {
	outline: 3px solid #d9a948 !important;
	outline-offset: 3px !important;
}

.hero .inner > .eyebrow,
.interior-hero-copy > .eyebrow {
	display: inline-flex;
	align-items: center;
	gap: clamp(10px, 1.5vw, 22px);
	max-width: min(100%, 760px);
	padding: .62rem .88rem;
	color: #f6dfad;
	font-size: clamp(12px, .74rem + .08vw, 13px);
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: .18em;
	text-shadow: 0 1px 2px rgba(0,0,0,.95), 0 0 16px rgba(0,0,0,.78);
	background: linear-gradient(90deg, rgba(13,14,16,.88), rgba(13,14,16,.64));
	border: 1px solid rgba(246,223,173,.36);
	box-shadow: 0 8px 28px rgba(0,0,0,.24);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.hero .inner > .eyebrow .l { background: currentColor; opacity: .78; }

.ha-guide,
.ha-room-guide {
	position: relative;
	isolation: isolate;
	background: linear-gradient(135deg, rgba(200,167,106,.08), transparent 42%), var(--ha-paper);
	color: var(--ha-ink);
	border-top: 1px solid rgba(26,25,22,.14);
}
.ha-guide { padding: clamp(72px, 9vw, 132px) 0; }
.ha-room-guide { padding: clamp(70px, 8vw, 118px) 0; }
.ha-guide__head,
.ha-room-guide__head {
	position: static !important;
	inset: auto !important;
	z-index: auto;
	width: auto;
	height: auto;
	max-width: 800px;
	margin-bottom: clamp(36px, 5vw, 64px);
	padding: 0 !important;
	background: none !important;
	box-shadow: none !important;
	-webkit-backdrop-filter: none !important;
	backdrop-filter: none !important;
	transform: none !important;
}
.ha-guide__kicker,
.ha-room-guide__kicker {
	margin: 0 0 15px;
	color: #7c6230;
	font-family: 'Space Mono', monospace;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.ha-guide h2,
.ha-room-guide h2 {
	margin: 0;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: clamp(42px, 5.5vw, 76px);
	font-weight: 600;
	line-height: .98;
	letter-spacing: -.02em;
	text-wrap: balance;
}
.ha-guide__intro,
.ha-room-guide__intro {
	max-width: 70ch;
	margin: 24px 0 0;
	color: var(--ha-muted);
	font-size: clamp(17px, 1.5vw, 20px);
	line-height: 1.7;
}
.ha-guide__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}
.ha-guide__card,
.ha-room-guide__card {
	padding: clamp(24px, 3vw, 36px);
	background: rgba(255,255,255,.76);
	border: 1px solid rgba(26,25,22,.13);
	box-shadow: 0 16px 38px rgba(26,25,22,.06);
}
.ha-guide__card h3,
.ha-room-guide__card h3 {
	margin: 0 0 18px;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 28px;
	font-weight: 600;
}
.ha-guide ul,
.ha-room-guide ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.ha-guide li,
.ha-room-guide li { position: relative; padding-left: 18px; color: var(--ha-muted); line-height: 1.55; }
.ha-guide li::before,
.ha-room-guide li::before { content: ''; position: absolute; left: 0; top: .68em; width: 6px; height: 6px; border-radius: 50%; background: var(--ha-brass); }
.ha-guide__facts { display: grid; gap: 14px; margin: 0; }
.ha-guide__facts div { padding-bottom: 13px; border-bottom: 1px solid rgba(26,25,22,.11); }
.ha-guide__facts dt { color: #6a665b; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ha-guide__facts dd { margin: 5px 0 0; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 21px; font-weight: 600; line-height: 1.2; }
.ha-guide__disclosure,
.ha-room-guide__note { max-width: 78ch; margin: 26px 0 0; color: #625e54; font-size: 14px; line-height: 1.65; }
.ha-guide__actions,
.ha-room-guide__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 34px; }
.ha-guide__button,
.ha-room-guide__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	color: var(--ha-paper);
	background: var(--ha-ink);
	border: 1px solid var(--ha-ink);
	font-family: 'Space Mono', monospace;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.ha-guide__link,
.ha-room-guide__link {
	color: var(--ha-ink);
	border-bottom: 1px solid var(--ha-brass);
	font-family: 'Space Mono', monospace;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.ha-room-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1px;
	margin-bottom: 30px;
	background: rgba(26,25,22,.13);
	border: 1px solid rgba(26,25,22,.13);
}
.ha-room-facts div { padding: 24px; background: #fbfaf7; }
.ha-room-facts span { display: block; margin-bottom: 7px; color: #6a665b; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ha-room-facts strong { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 25px; font-weight: 600; line-height: 1.15; }
.ha-room-guide__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.ha-room-guide__note a { color: inherit; border-bottom: 1px solid var(--ha-brass); }

.ha-review-source {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 22px;
	margin: 28px 0 0;
}
.ha-review-rating { font-family: 'Space Mono', monospace; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.ha-review-link { color: inherit; border-bottom: 1px solid currentColor; font-family: 'Space Mono', monospace; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
.ha-hours-note { display: block; margin-top: 18px; font-size: 14px; opacity: .82; }

.ha-access-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 18px 0; }
.ha-access-controls button { min-height: 42px; padding: 8px 10px; border: 1px solid currentColor; background: transparent; color: inherit; font-weight: 700; }
.ha-a11y-status { min-height: 1.5em; font-size: 13px; }
html.ha-text-large { font-size: 118%; }
html.ha-high-contrast { filter: contrast(1.18); }
html.ha-reduce-motion *,
html.ha-reduce-motion *::before,
html.ha-reduce-motion *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }

@media (max-width: 980px) {
	.ha-guide__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ha-room-guide__grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
	.hero .inner > .eyebrow,
	.interior-hero-copy > .eyebrow { font-size: 12px; letter-spacing: .11em; padding: .58rem .68rem; }
	.ha-guide__grid,
	.ha-room-facts { grid-template-columns: 1fr; }
	.ha-guide__actions,
	.ha-room-guide__actions { align-items: flex-start; flex-direction: column; }
	.ha-access-controls { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

body.login {
	min-height: 100vh;
	display: grid;
	place-items: center;
	padding: 24px;
	background: #11110f;
	color: #1a1916;
	font-family: 'DM Sans', Arial, sans-serif;
}
body.login::before {
	content: '';
	position: fixed;
	inset: 0;
	z-index: -2;
	background-image: linear-gradient(115deg, rgba(10,10,9,.91), rgba(10,10,9,.58)), var(--ha-login-bg);
	background-size: cover;
	background-position: center;
}
body.login::after {
	content: '';
	position: fixed;
	inset: 0;
	z-index: -1;
	background: radial-gradient(circle at 75% 20%, rgba(200,167,106,.17), transparent 38%);
}
.login #login { box-sizing: border-box; width: min(430px, calc(100vw - 32px)); padding: clamp(30px, 5vw, 48px); background: rgba(247,244,237,.97); border: 1px solid rgba(200,167,106,.55); box-shadow: 0 30px 80px rgba(0,0,0,.38); }
.login h1 a { width: 230px; height: 88px; margin-bottom: 16px; background-image: var(--ha-login-logo); background-size: contain; background-position: center; }
.login #login::before { content: 'PRIVATE PREVIEW · HOTEL ALICE'; display: block; margin-bottom: 22px; color: #7c6230; font-family: 'Space Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: .16em; text-align: center; }
.login #loginform { margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; }
.login #loginform::before { content: 'Welcome to the Crystal Coast'; display: block; margin-bottom: 24px; font-family: 'Cormorant Garamond', Georgia, serif; font-size: 31px; font-weight: 600; line-height: 1.05; text-align: center; }
.login label { color: #403d35; font-weight: 600; }
.login .input,
.login input[type=password],
.login input[type=text] { box-sizing: border-box; min-height: 52px; border: 1px solid rgba(26,25,22,.28); border-radius: 0; background: #fff; box-shadow: none; }
.login .input:focus,
.login input[type=password]:focus,
.login input[type=text]:focus { border-color: #9c7632; box-shadow: 0 0 0 2px rgba(156,118,50,.2); }
.wp-core-ui .button-primary { min-height: 46px; padding: 0 24px; border: 1px solid #1a1916; border-radius: 0; background: #1a1916; color: #f4f1ea; font-family: 'Space Mono', monospace; font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; box-shadow: none; }
.wp-core-ui .button-primary:hover,
.wp-core-ui .button-primary:focus { background: #7c6230; border-color: #7c6230; }
.login .wp-pwd .button { color: #7c6230; }

@media (max-width: 480px) {
	body.login { padding: 12px; }
	.login #login { padding: 28px 22px; }
	.login h1 a { width: 190px; height: 72px; }
}
