/* Site header — mirrors SiteHeader in the Lovable design. */
.tv-header {
	--tv-navy: var(--e-global-color-primary, #051644);
	--tv-cream: var(--e-global-color-e33c8be, #fcfaf6);
	position: fixed;
	inset: 0 0 auto;
	z-index: 50;
	border-bottom: 1px solid color-mix(in oklab, var(--tv-navy) 10%, transparent);
	background: transparent;
	font-family: "Open Sans", sans-serif;
	transition: all .5s cubic-bezier(.4, 0, .2, 1);
}
.admin-bar .tv-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .tv-header { top: 46px; } }

.tv-header.is-dark {
	border-bottom-color: color-mix(in oklab, var(--tv-navy) 28%, transparent);
	background: color-mix(in oklab, var(--tv-navy) 91%, transparent);
	box-shadow: 0 12px 34px color-mix(in oklab, var(--tv-navy) 14%, transparent);
	-webkit-backdrop-filter: blur(16px);
	backdrop-filter: blur(16px);
}

.tv-header__bar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: .75rem;
	max-width: 80rem;
	height: 5rem;
	margin-inline: auto;
	padding-inline: 1.25rem;
}
.tv-header.is-compact .tv-header__bar { height: 4rem; }
.tv-header-spacer { height: 4rem; }

.tv-header .tv-header__brand {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: .625rem;
	color: var(--tv-navy);
	text-decoration: none;
}
.tv-header__brand img {
	width: 2.5rem;
	height: 2.5rem;
	flex-shrink: 0;
	object-fit: contain;
}
.tv-header__brand span {
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font: 600 1.25rem/1.75rem "Outfit", sans-serif;
}

.tv-header__nav { display: none; align-items: center; gap: 2rem; }

.tv-header .tv-header__link {
	color: var(--tv-navy);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5rem;
	text-decoration: none;
	transition: color .15s cubic-bezier(.4, 0, .2, 1);
}
.tv-header .tv-header__link:hover { color: var(--e-global-color-b1a8e7f, #44a8e7); }

.tv-header .tv-header__login {
	border: 1px solid color-mix(in oklab, var(--tv-navy) 20%, transparent);
	border-radius: 6px;
	padding: .5rem 1rem;
	color: var(--tv-navy);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5rem;
	text-decoration: none;
	transition: border-color .15s cubic-bezier(.4, 0, .2, 1), color .15s cubic-bezier(.4, 0, .2, 1);
}
.tv-header .tv-header__login:hover { border-color: var(--e-global-color-secondary, #2d6ca9); color: var(--tv-navy); }

.tv-header .tv-header__cta {
	border-radius: 6px;
	padding: .625rem 1.25rem;
	background: var(--e-global-color-accent, #e2b42c);
	color: var(--tv-navy);
	font: 500 1rem/1.5rem "Outfit", sans-serif;
	text-decoration: none;
	transition: background-color .15s cubic-bezier(.4, 0, .2, 1);
}
.tv-header .tv-header__cta:hover { background: var(--e-global-color-722ed5d, #efd686); color: var(--tv-navy); }

.tv-header.is-dark .tv-header__brand { color: var(--tv-cream); }
.tv-header.is-dark .tv-header__link { color: color-mix(in oklab, var(--tv-cream) 90%, transparent); }
.tv-header.is-dark .tv-header__link:hover { color: var(--tv-cream); }
.tv-header.is-dark .tv-header__login { border-color: color-mix(in oklab, var(--tv-cream) 30%, transparent); color: var(--tv-cream); }
.tv-header.is-dark .tv-header__login:hover { border-color: var(--tv-cream); color: var(--tv-cream); }

/* Hello Elementor styles every <button>; reset the menu toggle completely. */
.tv-header .tv-header__toggle,
.tv-header .tv-header__toggle:hover,
.tv-header .tv-header__toggle:focus {
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	place-items: center;
	border: 0;
	border-radius: 6px;
	padding: 0;
	background: transparent;
	color: var(--tv-navy);
	box-shadow: none;
}
.tv-header .tv-header__toggle:focus-visible { outline: 2px solid var(--e-global-color-b1a8e7f, #44a8e7); outline-offset: 2px; }
.tv-header.is-dark .tv-header__toggle { color: var(--tv-cream); }
.tv-header__icon-close,
.tv-header.is-open .tv-header__icon-open { display: none; }
.tv-header.is-open .tv-header__icon-close { display: block; }

.tv-header__mobile {
	border-top: 1px solid color-mix(in oklab, var(--tv-cream) 10%, transparent);
	padding: 1rem 1.25rem 1.5rem;
	background: var(--tv-navy);
	color: var(--tv-cream);
}
.tv-header__mobile[hidden] { display: none; }
.tv-header__mobile > div { display: flex; flex-direction: column; gap: 1rem; }
.tv-header .tv-header__mobile a {
	padding-block: .25rem;
	color: var(--tv-cream);
	font-weight: 500;
	text-decoration: none;
}
.tv-header .tv-header__mobile .tv-header__mobile-cta {
	margin-top: .5rem;
	border-radius: 6px;
	padding: .75rem 1.25rem;
	background: var(--e-global-color-accent, #e2b42c);
	color: var(--tv-navy);
	font-family: "Outfit", sans-serif;
	text-align: center;
}

@media (min-width: 1024px) {
	.tv-header__bar { padding-inline: 2.5rem; }
	.tv-header__nav { display: flex; }
	.tv-header .tv-header__toggle { display: none; }
	.tv-header__mobile { display: none !important; }
}
