/* ==========================================================================
   TEXAN MOSQUITO SYSTEMS — Global Header (Elementor Native)
   Custom CSS that works alongside the Elementor Theme Builder template.
   The template uses css_classes: tms-header, tms-topbar, tms-nav.
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@500;600&display=swap');

:root {
	--tms-green-dark: #0D2B1E;
	--tms-green-lime: #6DBF47;
	--tms-green-muted: #B8D4C0;
	--tms-green-glow: rgba(109, 191, 71, 0.2);
	--tms-topbar-h: 40px;
	--tms-nav-h: 72px;
	--tms-header-h: calc(var(--tms-topbar-h) + var(--tms-nav-h));
	--tms-transition: 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}


/* ---------- Sticky: collapse top bar ---------- */
.tms-topbar {
	transition: height var(--tms-transition),
	            opacity var(--tms-transition),
	            transform var(--tms-transition),
	            min-height var(--tms-transition);
	will-change: height, opacity, transform;
	overflow: hidden;
}

.tms-header.is-sticky .tms-topbar {
	height: 0 !important;
	min-height: 0 !important;
	opacity: 0;
	transform: translateY(-100%);
	pointer-events: none;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}


/* ---------- Sticky: main nav border ---------- */
.tms-nav {
	transition: border-color var(--tms-transition);
	border-bottom: 1px solid transparent;
}

.tms-header.is-sticky .tms-nav {
	border-bottom-color: var(--tms-green-glow);
}


/* ---------- Sticky: logo scale ---------- */
.tms-nav .tms-nav__logo img,
.tms-nav .tms-nav__logo .elementor-image img {
	transition: height var(--tms-transition), transform var(--tms-transition);
}

.tms-header.is-sticky .tms-nav__logo img,
.tms-header.is-sticky .tms-nav__logo .elementor-image img {
	transform: scale(0.85);
	transform-origin: left center;
}


/* ---------- Nav menu link overrides ---------- */
.tms-nav .elementor-nav-menu a.elementor-item {
	color: var(--tms-green-muted);
	font-family: 'Inter', sans-serif;
	font-weight: 600;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.8px;
	transition: color var(--tms-transition);
}

.tms-nav .elementor-nav-menu a.elementor-item:hover,
.tms-nav .elementor-nav-menu a.elementor-item:focus,
.tms-nav .elementor-nav-menu a.elementor-item.elementor-item-active {
	color: #FFFFFF;
}


/* ---------- Dropdown styling ---------- */
.tms-nav .elementor-nav-menu--dropdown {
	background: var(--tms-green-dark);
	border: 1px solid var(--tms-green-glow);
	border-radius: 8px;
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.4),
	            0 0 0 1px rgba(109, 191, 71, 0.08);
}

.tms-nav .elementor-nav-menu--dropdown a.elementor-sub-item {
	color: var(--tms-green-muted);
	font-family: 'Inter', sans-serif;
	font-weight: 500;
	font-size: 13px;
	transition: color 0.15s ease, background 0.15s ease, padding-left 0.15s ease;
}

.tms-nav .elementor-nav-menu--dropdown a.elementor-sub-item:hover {
	color: #FFFFFF;
	background: rgba(109, 191, 71, 0.08);
	padding-left: 24px;
}

/* Dropdown location section dividers (items with # href act as headings) */
.tms-nav .elementor-nav-menu--dropdown li > a[href="#"] {
	color: var(--tms-green-lime) !important;
	font-size: 10px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	pointer-events: none;
	cursor: default;
	border-top: 1px solid var(--tms-green-glow);
	margin-top: 4px;
	padding-top: 12px;
}

.tms-nav .elementor-nav-menu--dropdown li:first-child > a[href="#"] {
	border-top: none;
	margin-top: 0;
}


/* ---------- CTA button hover glow ---------- */
.tms-nav .elementor-button {
	transition: background var(--tms-transition),
	            transform 0.15s ease,
	            box-shadow var(--tms-transition);
}

.tms-nav .elementor-button:hover {
	box-shadow: 0 4px 20px rgba(109, 191, 71, 0.35);
}


/* ---------- Phone icon-list link color ---------- */
.tms-nav .elementor-icon-list-item a {
	color: var(--tms-green-lime) !important;
	transition: opacity var(--tms-transition);
}

.tms-nav .elementor-icon-list-item a:hover {
	opacity: 0.8;
}

.tms-nav .elementor-icon-list-icon i {
	color: var(--tms-green-lime) !important;
}


/* ---------- Admin bar offset ---------- */
.admin-bar .tms-header {
	top: 32px;
}

@media (max-width: 782px) {
	.admin-bar .tms-header {
		top: 46px;
	}
}


/* ---------- Responsive: hide top bar phone on small screens ---------- */
@media (max-width: 600px) {
	.tms-topbar .elementor-button-wrapper {
		display: none;
	}
}

/* ---------- Mobile dropdown scrollable locations ---------- */
@media (max-width: 1024px) {
	.tms-nav .elementor-nav-menu--dropdown {
		max-height: 70vh;
		overflow-y: auto;
		scrollbar-width: thin;
		scrollbar-color: var(--tms-green-lime) transparent;
	}
}
