/*
 * Cabañas Theme 1.3.3 — compact, theme-aware headers.
 *
 * Loaded after the home and public design layers so the fixed scroll state
 * never falls back to the legacy global green.
 */

body.cabanas-demo-home.cabanas-demo-home--showcase,
body.cabanas-design--showcase {
	--ch-bg: #181a1f;
	--ch-ink: #ffffff;
	--ch-muted: #c9cbd0;
	--ch-accent: #d7ad5d;
	--ch-accent-ink: #181a1f;
	--ch-border: rgba(255, 255, 255, .16);
	--ch-drawer: #f7f5ef;
	--ch-drawer-alt: #ebe7df;
	--ch-drawer-ink: #202228;
	--ch-drawer-border: #d7d2c8;
	--ch-drawer-radius: 12px;
}

body.cabanas-demo-home--mountain,
body.cabanas-design--mountain {
	--ch-bg: #10271c;
	--ch-ink: #ffffff;
	--ch-muted: #c5d0ca;
	--ch-accent: #e7c98c;
	--ch-accent-ink: #16251d;
	--ch-border: rgba(255, 255, 255, .16);
	--ch-drawer: #fffdf8;
	--ch-drawer-alt: #eee8dc;
	--ch-drawer-ink: #14271d;
	--ch-drawer-border: #d8cfbf;
	--ch-drawer-radius: 0px;
}

body.cabanas-demo-home--boutique,
body.cabanas-design--boutique {
	--ch-bg: #35252d;
	--ch-ink: #fff8f1;
	--ch-muted: #dacbd0;
	--ch-accent: #e2b1b7;
	--ch-accent-ink: #35252d;
	--ch-border: rgba(255, 248, 241, .18);
	--ch-drawer: #fffaf5;
	--ch-drawer-alt: #eaded6;
	--ch-drawer-ink: #3c2930;
	--ch-drawer-border: #d9c8c3;
	--ch-drawer-radius: 2px;
}

body.cabanas-demo-home--family,
body.cabanas-design--family {
	--ch-bg: #ffe2d5;
	--ch-ink: #173f3c;
	--ch-muted: #536c68;
	--ch-accent: #b73e24;
	--ch-accent-ink: #ffffff;
	--ch-border: #e7bba9;
	--ch-drawer: #fffdf8;
	--ch-drawer-alt: #f8e6da;
	--ch-drawer-ink: #173f3c;
	--ch-drawer-border: #dfc6bb;
	--ch-drawer-radius: 18px;
}

body.cabanas-demo-home--adventure,
body.cabanas-design--adventure {
	--ch-bg: #071417;
	--ch-ink: #ffffff;
	--ch-muted: #b9c5c7;
	--ch-accent: #ff6426;
	--ch-accent-ink: #091316;
	--ch-border: rgba(255, 255, 255, .17);
	--ch-drawer: #0c2024;
	--ch-drawer-alt: #17363b;
	--ch-drawer-ink: #ffffff;
	--ch-drawer-border: #3f5559;
	--ch-drawer-radius: 0px;
}

body.cabanas-demo-home--minimal,
body.cabanas-design--minimal {
	--ch-bg: #f4f3ee;
	--ch-ink: #191917;
	--ch-muted: #5f5f5a;
	--ch-accent: #191917;
	--ch-accent-ink: #ffffff;
	--ch-border: #1f1f1c;
	--ch-drawer: #f4f3ee;
	--ch-drawer-alt: #e5e4de;
	--ch-drawer-ink: #191917;
	--ch-drawer-border: #1f1f1c;
	--ch-drawer-radius: 0px;
}

/* Compact dimensions for Elementor and classic fallback headers. */
body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-header {
	--padding-top: 5px;
	--padding-bottom: 5px;
	min-height: 64px !important;
	padding-block: 5px !important;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .site-header__inner {
	min-height: 64px;
	padding-block: 5px;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .custom-logo {
	max-height: 42px;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) :is(.site-brand__mark, .ct32-site-brand-widget .site-brand__mark) {
	width: 34px !important;
	height: 34px !important;
	border-radius: 9px;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-site-brand-widget {
	gap: 1px;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-site-brand-widget__tagline {
	font-size: .66rem;
	line-height: 1.2;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-elementor-menu--horizontal > li > a {
	min-height: 40px;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-button--header .elementor-button {
	min-height: 40px;
	padding: 9px 16px !important;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation__toggle {
	width: 40px;
	height: 40px;
	padding: 8px;
}

/*
 * Scroll state: the variables above define the identity.  Explicit !important
 * declarations neutralize the old global green rule and Elementor page CSS.
 */
body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-header-shell.is-scrolled,
body:is(.cabanas-demo-home, .cabanas-demo-public) .site-header.is-scrolled {
	width: 100% !important;
	margin: 0 !important;
	border-color: var(--ch-border) !important;
	border-radius: 0 !important;
	background: var(--ch-bg) !important;
	box-shadow: 0 10px 30px rgba(14, 18, 24, .16) !important;
	backdrop-filter: blur(18px) saturate(125%);
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-header-shell.is-scrolled :is(
	.ct32-layout-header .site-brand__text,
	.ct32-elementor-menu--horizontal > li > a
),
body:is(.cabanas-demo-home, .cabanas-demo-public) .site-header.is-scrolled :is(
	.site-brand__text,
	.site-menu > li > a
) {
	color: var(--ch-ink) !important;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-header-shell.is-scrolled .ct32-site-brand-widget__tagline {
	color: var(--ch-muted) !important;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-header-shell.is-scrolled .ct32-navigation__toggle {
	border-color: color-mix(in srgb, var(--ch-ink) 32%, transparent) !important;
	background: color-mix(in srgb, var(--ch-ink) 9%, transparent) !important;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-header-shell.is-scrolled .ct32-navigation__toggle span:not(.screen-reader-text),
body:is(.cabanas-demo-home, .cabanas-demo-public) .site-header.is-scrolled .site-menu-toggle span:not(.screen-reader-text) {
	background: var(--ch-ink) !important;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-header-shell.is-scrolled .ct32-button--header .elementor-button,
body:is(.cabanas-demo-home, .cabanas-demo-public) .site-header.is-scrolled .header-booking-button {
	border-color: var(--ch-accent) !important;
	background: var(--ch-accent) !important;
	color: var(--ch-accent-ink) !important;
}

/* Desktop dropdowns use the same contrast-safe palette as their theme. */
body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-render--header .ct32-elementor-menu--horizontal .sub-menu,
body:is(.cabanas-demo-home, .cabanas-demo-public) .site-header .site-menu .sub-menu {
	border-color: var(--ch-drawer-border) !important;
	border-radius: var(--ch-drawer-radius) !important;
	background: var(--ch-drawer) !important;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-render--header .ct32-elementor-menu--horizontal .sub-menu::before {
	border-color: var(--ch-drawer-border) !important;
	background: var(--ch-drawer) !important;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-render--header .ct32-elementor-menu--horizontal .sub-menu a,
body:is(.cabanas-demo-home, .cabanas-demo-public) .site-header .site-menu .sub-menu a {
	background: transparent !important;
	color: var(--ch-drawer-ink) !important;
}

body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-render--header .ct32-elementor-menu--horizontal .sub-menu :is(a:hover, a:focus-visible),
body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-render--header .ct32-elementor-menu--horizontal .sub-menu :is(.current-menu-item, .current-menu-ancestor) > a,
body:is(.cabanas-demo-home, .cabanas-demo-public) .site-header .site-menu .sub-menu :is(a:hover, a:focus-visible) {
	background: var(--ch-drawer-alt) !important;
	color: var(--ch-drawer-ink) !important;
}

@media (max-width: 1180px) {
	body.cabanas-demo-home .ct32-layout-render--header {
		top: 0;
		right: 0;
		left: 0;
	}

	body.admin-bar.cabanas-demo-home .ct32-layout-render--header {
		top: 32px;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-layout-header {
		width: calc(100% - 20px) !important;
		min-height: 58px !important;
		padding-block: 4px !important;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .site-header__inner {
		min-height: 58px;
		padding-block: 4px;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation__toggle {
		width: 38px;
		height: 38px;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation .ct32-elementor-menu--horizontal {
		top: 64px !important;
		max-height: calc(100svh - 76px) !important;
		padding: 12px !important;
		border: 1px solid var(--ch-drawer-border) !important;
		border-radius: var(--ch-drawer-radius) !important;
		background: var(--ch-drawer) !important;
		color: var(--ch-drawer-ink) !important;
		box-shadow: 0 22px 60px rgba(15, 20, 27, .22) !important;
	}

	body.admin-bar:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation .ct32-elementor-menu--horizontal {
		top: 96px !important;
		max-height: calc(100svh - 108px) !important;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation .ct32-elementor-menu--horizontal > li {
		border-color: var(--ch-drawer-border) !important;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation .ct32-elementor-menu--horizontal a {
		padding: 10px 9px !important;
		background: transparent !important;
		color: var(--ch-drawer-ink) !important;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation .ct32-elementor-menu--horizontal .sub-menu {
		margin: 0 0 8px !important;
		padding: 6px !important;
		border: 1px solid var(--ch-drawer-border) !important;
		border-radius: var(--ch-drawer-radius) !important;
		background: var(--ch-drawer-alt) !important;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation .ct32-elementor-menu--horizontal .sub-menu a {
		padding: 8px 11px !important;
		background: transparent !important;
		color: var(--ch-drawer-ink) !important;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation .ct32-elementor-menu--horizontal :is(a:hover, a:focus-visible),
	body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation .ct32-elementor-menu--horizontal :is(.current-menu-item, .current-menu-ancestor) > a {
		background: var(--ch-drawer) !important;
		color: var(--ch-drawer-ink) !important;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .site-navigation.is-open {
		border-color: var(--ch-drawer-border);
		background: var(--ch-drawer);
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .site-navigation.is-open .site-menu a,
	body:is(.cabanas-demo-home, .cabanas-demo-public) .site-navigation.is-open .site-menu .sub-menu a {
		color: var(--ch-drawer-ink);
	}
}

@media (max-width: 782px) {
	body.admin-bar.cabanas-demo-home .ct32-layout-render--header {
		top: 46px;
	}

	body.admin-bar:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-navigation .ct32-elementor-menu--horizontal {
		top: 110px !important;
		max-height: calc(100svh - 122px) !important;
	}
}

@media (max-width: 680px) {
	body:is(.cabanas-demo-home, .cabanas-demo-public) .ct32-site-brand-widget__tagline {
		display: none;
	}

	body:is(.cabanas-demo-home, .cabanas-demo-public) .custom-logo {
		max-height: 38px;
	}
}
