:root {
	--booking-green: #0f6e56;
	--booking-border: #e5e7eb;
	--booking-muted: #57534e;
	color-scheme: light;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: #1c1917;
	background: #fff;
	line-height: 1.6;
}
body { margin: 0; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
.site-header, .site-main, .site-footer { box-sizing: border-box; }
.site-header { padding: clamp(1.25rem, 4vw, 2.5rem) 1.25rem; text-align: center; border-bottom: 1px solid var(--booking-border); }
.custom-logo-link { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; min-height: 44px; }
.site-header .custom-logo { display: block; width: auto; height: auto; max-width: min(280px, 75vw); max-height: 110px; object-fit: contain; }
.site-wordmark { display: inline-block; max-width: 100%; overflow-wrap: anywhere; padding: .4rem; color: inherit; font-size: 1.5rem; font-weight: 650; text-decoration: none; }
.site-main { width: 100%; max-width: 1160px; min-width: 0; margin-inline: auto; padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 4vw, 2rem); flex: 1 0 auto; }
.site-main > h1 { font-size: clamp(1.5rem, 4vw, 2rem); line-height: 1.25; margin-block: 0 1.5rem; }
.site-footer { padding: 1.5rem 1rem; text-align: center; color: var(--booking-muted); font-size: .875rem; overflow-wrap: anywhere; }
.site-footer p { margin: 0; }
a { color: var(--booking-green); text-underline-offset: .2em; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible { outline: 3px solid var(--booking-green); outline-offset: 3px; }
#main-content:focus { outline: none; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; width: 1px; margin: -1px; padding: 0; overflow: hidden; position: absolute !important; white-space: nowrap; }
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; margin: 0; padding: .75rem 1rem; top: 1rem; left: 1rem; z-index: 100000; background: #fff; box-shadow: 0 0 0 2px var(--booking-green); }
/* Content media only: leave SlotSmith's form components and layout untouched. */
.site-main > :where(figure, .wp-block-image) img { max-width: 100%; height: auto; }
.alignwide { width: 100%; }
.alignfull { width: 100%; margin-inline: 0; }
@media (prefers-reduced-motion: reduce) {
	.site-header *, .site-footer *, .woocommerce *, .wc-block-checkout * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
