/* Canvas: CanvasGrove */

@layer custom {
:root {
	--cnvs-themecolor: #B8934A;
	--cnvs-themecolor-rgb: 184,147,74;
	--c-ground: #1E2B22;
	--c-ground-2: #E6E8DD;
	--c-ink: #F3EEE3;
	--c-muted: #4A5249;
	--c-accent: var(--cnvs-themecolor);
	--c-line: rgba(var(--cnvs-themecolor-rgb), .4);
	--space-1: 4px; --space-2: 8px; --space-3: 16px; --space-4: 24px;
	--space-5: 40px; --space-6: 64px; --space-7: 96px; --space-8: 140px;
	--band: 7rem; --band-compact: 4rem; --gutter: 2rem;
	--fs-display: clamp(3rem, 7vw, 6rem);
	--fs-h1: clamp(3rem, 7vw, 6rem);
	--fs-h2: clamp(2.2rem, 4vw, 3.4rem);
	--fs-h3: 1.75rem;
	--fs-lead: 1.25rem;
	--fs-body: 1.0625rem;
	--fs-small: 0.9375rem;
	--fs-label: 0.8125rem;
	--radius-s: 2px;
	--ease-out: cubic-bezier(0.23, 1, 0.32, 1);
	--cnvs-body-font: "Karla", sans-serif;
	--cnvs-primary-font: "Karla", sans-serif;
	--cnvs-secondary-font: "Bellefair", serif;
}
body { font-family: var(--cnvs-body-font); font-size: var(--fs-body); line-height: 1.65; }
h1, h2, h3, h4 { font-family: var(--cnvs-secondary-font); font-weight: 400; text-wrap: balance; }
p { text-wrap: pretty; }
:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; }

.gv-header #header-wrap { background: transparent; }
@media (max-width: 991.98px) { .gv-header #header-wrap { background: var(--c-ground); } }
@media (min-width: 992px) {
	.gv-header .header-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: nowrap; }
	.is-expanded-menu .gv-header #logo, .is-expanded-menu.gv-header #logo { order: 2; }
	.is-expanded-menu #header.gv-header nav.primary-menu { order: 1; flex: 1; }
	.is-expanded-menu #header.gv-header .header-misc { order: 3; flex: 1; justify-content: flex-end; }
}
#header.gv-header.dark { --cnvs-header-sticky-bg: var(--c-ground); }
@media (max-width: 575.98px) { .gv-btn-sm { display: none; } }

.gv-btn { background: var(--c-accent); color: var(--c-ground); font-family: var(--cnvs-body-font); font-size: var(--fs-small); font-weight: 600; padding: var(--space-3) var(--space-5); border-radius: var(--radius-s); min-height: 44px; line-height: 1.2; margin: 0; letter-spacing: .02em; transition: transform 160ms var(--ease-out), background-color 200ms; }
.gv-btn-sm { padding: var(--space-2) var(--space-4); min-height: 40px; }
.dark .gv-btn, #footer .gv-btn, .gv-btn:hover { color: var(--c-ground); }
.gv-btn:hover { background: #cfa95c; }
.gv-btn:active { transform: scale(.97); }
.gv-link { margin-left: var(--space-4); color: var(--c-ink); font-size: var(--fs-small); border-bottom: 1px solid var(--c-accent); padding-bottom: var(--space-1); }
.dark a.gv-link:hover { color: var(--c-ink); }

.gv-hero { position: relative; overflow: hidden; background: var(--c-ground); }
.gv-hero-photo { position: absolute; inset: 0; background-size: cover; background-position: center; }
.gv-hero-scrim { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(30,43,34,.88) 0%, rgba(30,43,34,.55) 55%, rgba(30,43,34,.15) 100%); }
.gv-hero-inner { position: relative; z-index: 1; padding-top: var(--space-6); padding-bottom: var(--space-6); }
.gv-display { font-size: var(--fs-display); line-height: 1.05; color: var(--c-ink); margin: 0 0 var(--space-4); }
.gv-lead { font-size: var(--fs-lead); line-height: 1.55; color: var(--c-ink); max-width: 50ch; margin: 0 0 var(--space-5); }
.is-expanded-menu .gv-hero-inner { padding-top: calc(var(--cnvs-header-height, 100px) + var(--space-5)); }

.gv-band { padding: var(--band) 0; position: relative; }
@media (max-width: 767.98px) { .gv-band { padding: calc(var(--band) / 2) 0; } }
.gv-light { background: var(--c-ground-2); color: var(--c-ground); }
.gv-green { background: var(--c-ground); color: var(--c-ink); }
.gv-gold { background: var(--c-accent); color: var(--c-ground); }
.gv-h2 { font-size: var(--fs-h2); line-height: 1.1; margin: 0 0 var(--space-3); color: inherit; }
.gv-h3 { font-size: var(--fs-h3); line-height: 1.2; margin: 0 0 var(--space-3); color: inherit; }
.gv-h4 { font-size: 1.375rem; margin: var(--space-2) 0; color: inherit; }
.gv-sub { font-size: var(--fs-lead); color: var(--c-muted); max-width: 62ch; margin: 0 0 var(--space-5); }
.gv-img { width: 100%; height: auto; border-radius: var(--radius-s); display: block; }
.gv-img-stay { aspect-ratio: 3 / 2; object-fit: cover; }

.gv-tabs { border-bottom: 1px solid var(--c-line); margin-bottom: var(--space-5); gap: var(--space-4); flex-wrap: wrap; }
.gv-tabs .nav-link { background: none; border: 0; border-bottom: 2px solid transparent; border-radius: 0; color: var(--c-muted); font-size: var(--fs-small); font-weight: 600; padding: var(--space-3) 0; min-height: 44px; }
.gv-tabs .nav-link.active { color: var(--c-ground); border-bottom-color: #8a6a2e; background: none; }
.gv-price { font-family: var(--cnvs-secondary-font); font-size: var(--fs-h3); color: #7a5c22; margin: 0 0 var(--space-3); }
.gv-price span { font-family: var(--cnvs-body-font); font-size: var(--fs-small); color: var(--c-muted); }

.gv-list { list-style: none; padding: 0; margin: var(--space-5) 0 0; }
.gv-list li { display: flex; gap: var(--space-3); padding: var(--space-4) 0; border-bottom: 1px solid var(--c-line); }
.gv-list li:first-child { border-top: 1px solid var(--c-line); }
.gv-list i { color: var(--c-accent); font-size: 1.4rem; }
.gv-list strong { display: block; font-family: var(--cnvs-secondary-font); font-weight: 400; font-size: 1.375rem; color: var(--c-ink); }

.gv-detox-word { font-family: var(--cnvs-secondary-font); font-size: clamp(3rem, 10vw, 8rem); line-height: 1; margin: 0 0 var(--space-4); color: var(--c-ground); }
.gv-detox-copy { font-size: var(--fs-lead); max-width: 56ch; margin: 0 auto; border-top: 1px solid var(--c-ground); padding-top: var(--space-4); color: var(--c-ground); }

.gv-figs > div { border-top: 1px solid var(--c-line); padding-top: var(--space-4); }
.gv-fig { display: block; font-family: var(--cnvs-secondary-font); font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1; color: var(--c-ground); margin-bottom: var(--space-3); }
.gv-figs strong { display: block; font-family: var(--cnvs-secondary-font); font-weight: 400; font-size: 1.375rem; }
.gv-figs p { color: var(--c-muted); font-size: var(--fs-small); margin: var(--space-2) 0 0; }

.gv-panels { display: flex; gap: var(--gutter); height: 28rem; margin-top: var(--space-5); }
.gv-panel { position: relative; flex: 1 1 0; overflow: hidden; border-radius: var(--radius-s); transition: flex-grow 500ms var(--ease-out); }
.gv-panel img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gv-panel-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--space-4); background: rgba(30,43,34,.82); }
.gv-panel-cap p { margin: 0; font-size: var(--fs-small); color: var(--c-ink); }
@media (hover: hover) and (pointer: fine) { .gv-panels:hover .gv-panel { flex-grow: .6; } .gv-panels .gv-panel:hover { flex-grow: 2.2; } }
.gv-panels:focus-within .gv-panel { flex-grow: .6; }
.gv-panels .gv-panel:focus-within, .gv-panels .gv-panel:focus { flex-grow: 2.2; }
@media (max-width: 767.98px) { .gv-panels { flex-direction: column; height: auto; } .gv-panel { height: 18rem; flex: none; } }
.gv-act-row { margin-top: var(--space-5); }
.gv-act-row i { color: var(--c-accent); font-size: 1.6rem; }
.gv-act-row p { margin: 0; color: var(--c-ink); }

.gv-cal { display: grid; grid-template-columns: repeat(6, 1fr); gap: var(--space-3); }
.gv-cal-m { padding: var(--space-4); border: 1px solid var(--c-line); border-radius: var(--radius-s); }
.gv-cal-m strong { display: block; font-family: var(--cnvs-secondary-font); font-weight: 400; font-size: var(--fs-h3); }
.gv-cal-m span { font-size: var(--fs-small); color: var(--c-muted); }
.gv-cal-m.gv-busy { background: rgba(var(--cnvs-themecolor-rgb), .28); }
.gv-cal-m.gv-busy span { color: var(--c-ground); }
.gv-note { margin: var(--space-4) 0 0; font-size: var(--fs-small); color: var(--c-muted); }
@media (max-width: 991.98px) { .gv-cal { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 575.98px) { .gv-cal { grid-template-columns: repeat(3, 1fr); } .gv-cal-m { padding: var(--space-3); } }

#vouchers p, #vouchers .toggle-content { color: var(--c-ink); }
#vouchers .toggle { border-bottom: 1px solid var(--c-line); margin: 0; }
#vouchers .toggle-header { padding: var(--space-3) 0; min-height: 48px; }
#vouchers .toggle-title { color: var(--c-ink); font-size: var(--fs-body); }
.gv-form { border: 1px solid var(--c-line); border-radius: var(--radius-s); padding: var(--space-5); }
.gv-form label { font-size: var(--fs-label); text-transform: uppercase; letter-spacing: .14em; font-weight: 600; color: var(--c-ink); margin-bottom: var(--space-2); }
.gv-form .form-control:where(:not(.form-select)), .gv-form .form-select { background: var(--c-ink); color: var(--c-ground); border: 1px solid var(--c-line); border-radius: var(--radius-s); min-height: 48px; font-size: var(--fs-body); }
.gv-form .cnvs-form-group { margin-bottom: var(--space-4); }

#footer.gv-footer { --cnvs-footer-bg: #16201A; }
.gv-footer .footer-widgets-wrap { padding: var(--space-6) 0; }
.gv-footer .row > div { border-top: 1px solid var(--c-line); padding-top: var(--space-4); }
.gv-fh { font-size: var(--fs-label); font-family: var(--cnvs-body-font); text-transform: uppercase; letter-spacing: .14em; font-weight: 600; color: var(--c-accent); margin: 0 0 var(--space-3); }
#footer .footer-widgets-wrap a { color: var(--c-ink); }
#footer #copyrights { color: var(--c-ink); }
#footer #copyrights a { color: var(--c-accent); }

@media (min-width: 992px) and (max-width: 1199.98px) {
	#header .header-misc { display: none; }
	#header.gv-header .menu-container { gap: 0; }
	#header.gv-header .cnvs-menu-link { padding-left: 12px; padding-right: 12px; }
}
.gv-header .header-row { flex-wrap: nowrap; }

.gv-hero-card { align-self: center; padding: var(--space-4); border: 1px solid var(--c-line); border-radius: var(--radius-s); background: rgba(30,43,34,.8); color: var(--c-ink); }
.gv-hc-price { font-family: var(--cnvs-secondary-font); font-size: var(--fs-h3); margin: 0 0 var(--space-3); color: var(--c-ink); }
.gv-hc-price span { font-family: var(--cnvs-body-font); font-size: var(--fs-small); }
.gv-hero-card ul { list-style: none; margin: 0; padding: 0; }
.gv-hero-card li { padding: var(--space-2) 0; border-top: 1px solid var(--c-line); font-size: var(--fs-small); color: var(--c-ink); }

.gv-figs .gv-fig, .gv-figs .gv-fig span, .gv-figs .gv-fig .counter { font-family: var(--cnvs-secondary-font); font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1; font-weight: 400; color: var(--c-ground); display: inline; }
.gv-figs .gv-fig { display: block; }

.gv-season-fig { margin: 0; }
.gv-img-season { aspect-ratio: 4 / 5; object-fit: cover; }
.gv-season-fig figcaption { margin-top: var(--space-3); font-size: var(--fs-small); color: var(--c-muted); }

.gv-hero-copy { padding-right: var(--gutter); }
.gv-doors > div { border-top: 1px solid var(--c-line); padding-top: var(--space-4); }
.gv-foot-lead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-4); padding-bottom: var(--space-6); }
.gv-foot-line { font-family: var(--cnvs-secondary-font); font-size: var(--fs-h2); line-height: 1.1; margin: 0; max-width: 20ch; color: var(--c-ink); }
.gv-door-main { font-family: var(--cnvs-secondary-font); font-size: 1.5rem; display: block; margin: 0 0 var(--space-2); color: var(--c-ink); }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

@media (max-width: 991.98px) { #header .header-row, #header #header-wrap .header-row { flex-wrap: wrap; row-gap: 0; } }

html body #footer a.button:not(:hover):not(:focus-visible) { color: #212529; }

:where(img[width][height]){height:auto}

:is(.content-wrap,.section):has([data-cx]){overflow-x:clip;overflow-y:visible}

.content-wrap {
	padding-top: 0;
	padding-bottom: 0;
}

.section {
	margin-top: 0;
	margin-bottom: 0;
}
#copyrights a:not(.button) { text-decoration: underline !important; text-underline-offset: 0.2em; }
#header { --cnvs-primary-menu-hover-color: #E6CC94; }
}
