/**
 * Site header — Odoo navbar (https://www.tinnongtntech.com/)
 * Menu: dynamic WP primary menu, bg #82A32C, text #FFFFFF, pill radius 45px.
 */

:root {
	--tntech-menu-bg: #82a32c;
	--tntech-menu-color: #ffffff;
	--tntech-menu-hover: rgba(255, 255, 255, 0.75);
	--tntech-menu-active: #ffffff;
	--tntech-menu-link-bg: rgba(255, 255, 255, 0.1);
	--tntech-menu-link-bg-hover: rgba(255, 255, 255, 0.2);
	--tntech-header-wave-h: max(4.1vw, 100px);

	/* Top-of-page nav — fixed 80px pill height */
	--tntech-nav-pill-px: 1.875rem;
	--tntech-nav-pill-pt: 0.5rem;
	--tntech-nav-pill-pb: 0.5rem;
	--tntech-nav-pill-py: var(--tntech-nav-pill-pt); /* legacy alias */
	--tntech-nav-pill-min-h: 80px;
	--tntech-nav-logo-w: calc(var(--tntech-nav-pill-min-h) - var(--tntech-nav-pill-pt) - var(--tntech-nav-pill-pb));
	--tntech-nav-logo-h: calc(var(--tntech-nav-pill-min-h) - var(--tntech-nav-pill-pt) - var(--tntech-nav-pill-pb));
	--tntech-nav-link-font: 1.25rem;
	--tntech-nav-link-py: 0.5rem;
	--tntech-nav-link-px: 1rem;
	--tntech-nav-item-gap: 0.25rem;
	--tntech-nav-logo-gap: 1.5rem;
	--tntech-nav-control-size: 2.5rem;
	--tntech-nav-shell-pt: 0.5rem;
	--tntech-nav-shell-pb: 0.625rem;
	--tntech-nav-transition: 0.28s ease;
}

/* Keep the same viewport position with or without the WordPress admin bar. */
#site-header.tntech-site-header {
	top: 0;
}

body.admin-bar #site-header.tntech-site-header {
	top: var(--tntech-admin-bar-offset, 32px);
}

.tntech-site-header {
	pointer-events: none;
}

.tntech-site-header a,
.tntech-site-header button {
	pointer-events: auto;
}

.tntech-header-shell {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: var(--tntech-nav-shell-pt);
	padding-bottom: var(--tntech-nav-shell-pb);
	transition: padding var(--tntech-nav-transition);
}

/* --- Shared Odoo navbar chrome --- */
.tntech-site-header .navbar.o_colored_level.o_cc {
	min-height: var(--tntech-nav-pill-min-h);
	padding: var(--tntech-nav-pill-pt) var(--tntech-nav-pill-px) var(--tntech-nav-pill-pb);
	background-color: var(--tntech-menu-bg) !important;
	color: var(--tntech-menu-color) !important;
	border: 0 !important;
	border-radius: 45px !important;
	box-shadow: rgba(0, 0, 0, 0.15) 8px 8px 8px 0 !important;
	transition:
		min-height var(--tntech-nav-transition),
		padding var(--tntech-nav-transition),
		box-shadow var(--tntech-nav-transition);
}

.tntech-site-header .o_main_nav {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0;
	width: 100%;
	min-height: calc(var(--tntech-nav-pill-min-h) - var(--tntech-nav-pill-pt) - var(--tntech-nav-pill-pb));
	transition: min-height var(--tntech-nav-transition);
}

/* --- Desktop navbar --- */
.tntech-navbar-desktop {
	width: 100%;
}

.tntech-navbar-desktop > a.shrink-0,
.tntech-navbar-desktop .navbar-brand.logo {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	margin-right: var(--tntech-nav-logo-gap);
	padding: 0;
	transition: margin var(--tntech-nav-transition);
}

.tntech-header-logo,
.tntech-navbar-desktop .navbar-brand img,
.tntech-navbar-desktop a.shrink-0 img {
	display: block;
	width: var(--tntech-nav-logo-w);
	max-width: var(--tntech-nav-logo-w);
	height: var(--tntech-nav-logo-h);
	object-fit: contain;
	border-radius: 0;
	transition:
		width var(--tntech-nav-transition),
		max-width var(--tntech-nav-transition),
		height var(--tntech-nav-transition);
}

.tntech-navbar-desktop #top_menu,
.tntech-navbar-desktop .top_menu,
.tntech-navbar-desktop ul.menu {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: var(--tntech-nav-item-gap);
	margin: 0;
	padding: 0;
	min-width: 0;
	list-style: none;
}

.tntech-navbar-desktop .nav-item,
.tntech-navbar-desktop .menu-item {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.tntech-navbar-desktop .nav-link,
.tntech-navbar-desktop .nav-pill,
.tntech-navbar-desktop .nav-pill-active {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2rem;
	padding: var(--tntech-nav-link-py) var(--tntech-nav-link-px) !important;
	border-radius: 9999px;
	color: var(--tntech-menu-color) !important;
	font-size: var(--tntech-nav-link-font);
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
	background-color: transparent;
	transition:
		color 0.2s ease,
		background-color 0.2s ease,
		font-size var(--tntech-nav-transition),
		padding var(--tntech-nav-transition),
		min-height var(--tntech-nav-transition);
}

.tntech-navbar-desktop .nav-link:hover,
.tntech-navbar-desktop .nav-pill:hover {
	color: var(--tntech-menu-hover) !important;
	background-color: var(--tntech-menu-link-bg-hover) !important;
}

.tntech-navbar-desktop .nav-item.active > .nav-link,
.tntech-navbar-desktop .current-menu-item > .nav-link,
.tntech-navbar-desktop .current_page_item > .nav-link,
.tntech-navbar-desktop .nav-link.active,
.tntech-navbar-desktop .nav-pill-active {
	color: var(--tntech-menu-active) !important;
	background-color: var(--tntech-menu-link-bg) !important;
}

/* --- Mobile navbar --- */
.o_header_mobile {
	position: relative;
	width: 100%;
}

.o_main_nav--mobile {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	width: 100%;
	min-height: calc(var(--tntech-nav-pill-min-h) - var(--tntech-nav-pill-pt) - var(--tntech-nav-pill-pb));
}

.o_header_mobile .tntech-header-logo,
.o_header_mobile a.shrink-0 img {
	width: var(--tntech-nav-logo-w);
	max-width: var(--tntech-nav-logo-w);
	height: var(--tntech-nav-logo-h);
}

.o_header_mobile_buttons_wrap {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	margin-left: auto;
	padding: 0;
	list-style: none;
}

.tntech-navbar-toggler {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: var(--tntech-nav-control-size);
	height: var(--tntech-nav-control-size);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 9999px;
	background: transparent;
	color: var(--tntech-menu-color);
	cursor: pointer;
}

.tntech-navbar-toggler:hover {
	background-color: var(--tntech-menu-link-bg-hover);
}

.navbar-toggler-icon {
	display: block;
	width: 1.25rem;
	height: 1.25rem;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
}

/* Mobile offcanvas */
#mobile-menu-panel.tntech-mobile-offcanvas {
	top: var(--tntech-site-header-offset, 5rem);
	right: 1rem;
	left: 1rem;
	width: auto;
	max-width: none;
	height: auto;
	max-height: calc(100dvh - var(--tntech-site-header-offset, 5rem) - 1rem);
	background: transparent;
	box-shadow: none;
}

body.admin-bar #mobile-menu-panel.tntech-mobile-offcanvas {
	top: calc(var(--tntech-admin-bar-offset, 32px) + var(--tntech-site-header-offset, 5rem));
	max-height: calc(100dvh - var(--tntech-admin-bar-offset, 32px) - var(--tntech-site-header-offset, 5rem) - 1rem);
}

.tntech-mobile-offcanvas__body {
	margin: 0;
	padding: 0.25rem 0;
	max-height: inherit;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 12px 28px rgb(0 0 0 / 0.18);
	overflow: hidden;
}

.tntech-mobile-offcanvas .tntech-navbar-toggler {
	color: #374151;
}

.tntech-mobile-offcanvas .top_menu,
.tntech-mobile-offcanvas ul.menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tntech-mobile-offcanvas .nav-item,
.tntech-mobile-offcanvas .menu-item {
	list-style: none;
	border-top: 1px solid #e5e7eb;
}

.tntech-mobile-offcanvas .nav-link,
.tntech-mobile-offcanvas a.block {
	display: block;
	min-height: 2.75rem;
	padding: 0.75rem 1rem !important;
	color: #374151 !important;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.35;
	text-decoration: none !important;
}

.tntech-mobile-offcanvas .nav-link:hover,
.tntech-mobile-offcanvas a.block:hover,
.tntech-mobile-offcanvas .current-menu-item > .nav-link {
	color: var(--tntech-menu-bg) !important;
	background-color: #f9fafb;
}

/* Scrolled (compact) nav — logo still fills pill inner height */
.tntech-site-header.is-scrolled {
	--tntech-nav-pill-px: 1.25rem;
	--tntech-nav-pill-pt: 0.4rem;
	--tntech-nav-pill-pb: 0.35rem;
	--tntech-nav-pill-min-h: 64px;
	--tntech-nav-logo-w: calc(var(--tntech-nav-pill-min-h) - var(--tntech-nav-pill-pt) - var(--tntech-nav-pill-pb));
	--tntech-nav-logo-h: calc(var(--tntech-nav-pill-min-h) - var(--tntech-nav-pill-pt) - var(--tntech-nav-pill-pb));
	--tntech-nav-link-font: 1rem;
	--tntech-nav-link-py: 0.35rem;
	--tntech-nav-link-px: 0.75rem;
	--tntech-nav-logo-gap: 1rem;
	--tntech-nav-control-size: 2rem;
	--tntech-nav-shell-pt: 0.35rem;
	--tntech-nav-shell-pb: 0.35rem;
}

.tntech-site-header.is-scrolled .navbar.o_colored_level.o_cc {
	box-shadow: rgba(0, 0, 0, 0.2) 8px 10px 12px 0 !important;
}

.tntech-site-header.is-scrolled .tntech-navbar-desktop .nav-link,
.tntech-site-header.is-scrolled .tntech-navbar-desktop .nav-pill,
.tntech-site-header.is-scrolled .tntech-navbar-desktop .nav-pill-active {
	min-height: 1.75rem;
}

@media (min-width: 1024px) {
	.tntech-header-shell {
		--tntech-nav-shell-pt: 0.625rem;
		--tntech-nav-shell-pb: 0.75rem;
	}

	.tntech-site-header.is-scrolled .tntech-header-shell {
		--tntech-nav-shell-pt: 0.4rem;
		--tntech-nav-shell-pb: 0.4rem;
	}

	.tntech-navbar-desktop {
		display: block !important;
	}

	.o_header_mobile {
		display: none !important;
	}
}

@media (max-width: 1023px) {
	:root {
		--tntech-nav-pill-min-h: 80px;
		--tntech-nav-pill-pt: 0.5rem;
		--tntech-nav-pill-pb: 0.5rem;
		--tntech-nav-logo-w: calc(var(--tntech-nav-pill-min-h) - var(--tntech-nav-pill-pt) - var(--tntech-nav-pill-pb));
		--tntech-nav-logo-h: calc(var(--tntech-nav-pill-min-h) - var(--tntech-nav-pill-pt) - var(--tntech-nav-pill-pb));
	}

	.tntech-site-header.is-scrolled {
		--tntech-nav-pill-min-h: 56px;
		--tntech-nav-pill-pt: 0.35rem;
		--tntech-nav-pill-pb: 0.3rem;
		--tntech-nav-logo-w: calc(var(--tntech-nav-pill-min-h) - var(--tntech-nav-pill-pt) - var(--tntech-nav-pill-pb));
		--tntech-nav-logo-h: calc(var(--tntech-nav-pill-min-h) - var(--tntech-nav-pill-pt) - var(--tntech-nav-pill-pb));
	}

	.tntech-navbar-desktop {
		display: none !important;
	}

	.o_header_mobile {
		display: block !important;
	}
}

