/* Let the fixed header float over the hero at every screen size: drop the
   invisible sticky placeholders (for the bar and for any sticky widget in it)
   that otherwise push content around. */
[data-elementor-type="header"] .elementor-sticky__spacer { display: none !important; }

/* The header's Elementor entrance animation (fadeInUp) waits for a trigger
   that never fires on a fixed header, leaving it - and the logo - hidden.
   Always show it. */
[data-elementor-type="header"] > .e-con.elementor-invisible:not(.elementor-sticky__spacer) {
	visibility: visible !important;
	opacity: 1 !important;
}

/* A site-wide script fades the whole header out after 300px of scrolling;
   on these pages the bar stays available. */
.elementor-location-header {
	opacity: 1 !important;
	pointer-events: auto !important;
}

/* ---------- Header at the top: plain, directly on the hero photo ---------- */
/* Always fixed (Elementor only pins the mobile header after the first scroll,
   which would leave it taking up space above the hero). Sits well inside the
   hero card's top edge. */
[data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) {
	position: fixed !important;
	z-index: 999 !important;
	top: 48px !important;
	left: 0 !important;
	right: 0 !important;
	inset-inline-start: 0 !important;
	width: calc(100% - 96px) !important;
	max-width: none !important;
	margin: 0 auto !important;
	padding: 6px 12px 6px 20px !important;
	min-height: 0 !important;
	align-items: center !important;
	border-radius: 0 !important;
	background: transparent !important;
	border: 1px solid transparent;
	box-shadow: none;
	transition: top 0.35s ease, background-color 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, border-radius 0.35s ease;
}
/* Soft shadows keep the white menu and gold logo legible over the photo. */
[data-elementor-type="header"] .elementor-nav-menu--main > .elementor-nav-menu > li > a.elementor-item {
	text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
}
[data-elementor-type="header"] .elementor-widget-theme-site-logo img,
[data-elementor-type="header"] .elementor-widget-image img,
[data-elementor-type="header"] .elementor-widget-icon i,
[data-elementor-type="header"] .elementor-widget-icon svg,
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart a {
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.45));
}
body.admin-bar [data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) { top: 80px !important; }

/* ---------- Sticky state: rounded deep-green glass bar ---------- */
body.ry-scrolled [data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) {
	top: 12px !important;
	width: calc(100% - 48px) !important;
	max-width: 78rem !important;
	border-radius: 18px !important;
	background: rgba(18, 53, 43, 0.92) !important;
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	backdrop-filter: blur(14px) saturate(140%);
	border-color: rgba(255, 255, 255, 0.08);
	box-shadow: 0 20px 40px -20px rgba(18, 53, 43, 0.6);
}
body.ry-scrolled [data-elementor-type="header"] .elementor-nav-menu--main > .elementor-nav-menu > li > a.elementor-item { text-shadow: none; }
body.ry-scrolled [data-elementor-type="header"] .elementor-widget-theme-site-logo img,
body.ry-scrolled [data-elementor-type="header"] .elementor-widget-image img,
body.ry-scrolled [data-elementor-type="header"] .elementor-widget-icon i,
body.ry-scrolled [data-elementor-type="header"] .elementor-widget-icon svg,
body.ry-scrolled [data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart a { filter: none; }
body.admin-bar.ry-scrolled [data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) { top: 44px !important; }

/* The logo widget has its own Elementor sticky setting, which pins it to a
   fixed spot of its own on scroll. Keep it inside the bar instead. */
[data-elementor-type="header"] > .e-con .elementor-widget.elementor-sticky {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	inset: auto !important;
	margin: 0 !important;
	transform: none !important;
}

/* Let the bar's contents shrink to fit the bar, never spill past it. */
[data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) > .e-con {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
}
[data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) .e-con-inner {
	max-width: none !important;
	width: 100% !important;
}
[data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) .e-con,
[data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) .e-con-inner {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	min-height: 0 !important;
	align-items: center !important;
	background: transparent !important;
}
[data-elementor-type="header"] .elementor-widget-nav-menu,
[data-elementor-type="header"] .elementor-widget-woocommerce-menu-cart,
[data-elementor-type="header"] .elementor-widget-icon {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
[data-elementor-type="header"] .elementor-widget-theme-site-logo img,
[data-elementor-type="header"] .elementor-widget-image img {
	height: 52px !important;
	width: auto !important;
	max-width: none !important;
}
[data-elementor-type="header"] .elementor-widget-theme-site-logo,
[data-elementor-type="header"] .elementor-widget-image { width: auto !important; flex-shrink: 0 !important; }

/* Lime hover on the top menu, matching the page accents. */
[data-elementor-type="header"] .elementor-nav-menu--main > .elementor-nav-menu > li > a.elementor-item:hover { color: #c5ee3a !important; }

@media (max-width: 1024px) {
	[data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) {
		width: calc(100% - 44px) !important;
		top: 34px !important;
		padding: 6px 10px 6px 14px !important;
	}
	body.admin-bar [data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) { top: 66px !important; }
	body.ry-scrolled [data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) { width: calc(100% - 24px) !important; }
	[data-elementor-type="header"] .elementor-widget-theme-site-logo img,
	[data-elementor-type="header"] .elementor-widget-image img { height: 44px !important; }
}
@media (max-width: 782px) {
	body.admin-bar [data-elementor-type="header"] > .e-con:not(.elementor-sticky__spacer) { top: 80px !important; }
}

/* Logged-in editors see the WordPress admin bar; give the hero the same room. */
body.admin-bar .ry-hero { padding-top: 48px !important; }

/* ---------- Footer in the page's deep green ---------- */
[data-elementor-type="footer"] [data-id="4acc56c"] { background-color: #12352b !important; }

/* ---------- Menu hover + dropdowns: green & lime instead of the old purple ---------- */
/* The header template still carries the old #C400D6 hover/underline and a lilac
   dropdown; these replace them with the page palette. */
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item:hover,
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item:focus,
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item.highlighted {
	color: #c5ee3a !important;
	fill: #c5ee3a !important;
}
[data-elementor-type="header"] .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #ffffff !important; }
[data-elementor-type="header"] .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item::before,
[data-elementor-type="header"] .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item::after { background-color: #c5ee3a !important; }
[data-elementor-type="header"] .e--pointer-framed .elementor-item::before,
[data-elementor-type="header"] .e--pointer-framed .elementor-item::after { border-color: #c5ee3a !important; }

/* Dropdown panel: the Services submenu and the mobile menu */
[data-elementor-type="header"] .elementor-nav-menu--dropdown {
	padding: 8px !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 16px !important;
	background-color: #12352b !important;
	box-shadow: 0 24px 48px -20px rgba(9, 32, 25, 0.6) !important;
	overflow: hidden;
}
[data-elementor-type="header"] .elementor-nav-menu--dropdown .elementor-nav-menu--dropdown {
	padding: 2px 0 2px 12px !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}
[data-elementor-type="header"] .elementor-nav-menu--dropdown li { border: 0 !important; }
[data-elementor-type="header"] .elementor-nav-menu--dropdown a {
	padding: 12px 16px !important;
	border-radius: 10px !important;
	background: transparent !important;
	color: rgba(255, 255, 255, 0.85) !important;
	fill: rgba(255, 255, 255, 0.85) !important;
	font-family: "DM Sans", sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	transition: background-color 0.2s ease, color 0.2s ease;
}
[data-elementor-type="header"] .elementor-nav-menu--dropdown a:hover,
[data-elementor-type="header"] .elementor-nav-menu--dropdown a:focus,
[data-elementor-type="header"] .elementor-nav-menu--dropdown a.highlighted,
[data-elementor-type="header"] .elementor-nav-menu--dropdown a.elementor-item-active {
	background: rgba(197, 238, 58, 0.14) !important;
	color: #c5ee3a !important;
	fill: #c5ee3a !important;
}
[data-elementor-type="header"] .elementor-menu-toggle:hover,
[data-elementor-type="header"] .elementor-menu-toggle:focus { color: #c5ee3a !important; }
[data-elementor-type="header"] .elementor-menu-toggle:hover svg { fill: #c5ee3a !important; }

/* Mobile menu: a full-width floating panel under the bar. The menu widget is
   only ~100px wide, which squeezed the links and pushed the logo down. */
@media (max-width: 1024px) {
	[data-elementor-type="header"] nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
		position: fixed !important;
		top: 104px !important;
		left: 22px !important;
		right: 22px !important;
		width: auto !important;
		max-width: none !important;
		max-height: calc(100vh - 130px);
		overflow-y: auto !important;
		margin: 0 !important;
		z-index: 1000 !important;
	}
	body.admin-bar [data-elementor-type="header"] nav.elementor-nav-menu--dropdown.elementor-nav-menu__container { top: 150px !important; }
	body.ry-scrolled [data-elementor-type="header"] nav.elementor-nav-menu--dropdown.elementor-nav-menu__container { top: 82px !important; left: 12px !important; right: 12px !important; }
	[data-elementor-type="header"] nav.elementor-nav-menu--dropdown .elementor-nav-menu a { white-space: normal; }
}

/* Mini-cart buttons in the header cart panel */
.elementor-menu-cart__footer-buttons .elementor-button {
	border-radius: 999px !important;
	font-family: "DM Sans", sans-serif !important;
	font-weight: 600 !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--view-cart {
	border: 1px solid #12352b !important;
	background: transparent !important;
	color: #12352b !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout {
	background: #12352b !important;
	color: #ffffff !important;
}
.elementor-menu-cart__footer-buttons .elementor-button--checkout:hover { background: #c5ee3a !important; color: #12352b !important; }
