/* ============================================================
   header-styles.css
   Extracted from nowadays-styles.css — header, nav & container
   only. No CSS reset, no form/input rules, no WooCommerce.
   ============================================================ */

/* ── Container ────────────────────────────────────────────── */
.container {
	position: relative;
	max-width: var(--lpt_container_max_width);
	margin-right: auto;
	margin-left: auto;
}

.container-fluid {
	position: relative;
	padding-left: 30px;
	padding-right: 30px;
}

@media (min-width: 1200px) {
	.container-fluid {
		padding-left: 100px;
		padding-right: 100px;
	}
}

.container-top, .container-middle, .container-bottom {
	display: flex !important;
	align-items: center;
	flex-direction: column;
	height: 100%;
}

.container-top > div, .container-middle > div, .container-bottom > div {
	width: 100%;
}

.container-top    { justify-content: flex-start; }
.container-middle { justify-content: center; }
.container-bottom { justify-content: flex-end; }

/* ── Header ───────────────────────────────────────────────── */
.header {
	position: absolute;
	top: 0;
	left: 0;
	line-height: var(--lpt_header_height);
	z-index: 2;
	transition: 0.4s top, 0.4s background;
	white-space: nowrap;
}

.header-logo {
	padding-bottom: 0;
	text-transform: uppercase;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.header-logo__link {
	display: block;
	height: var(--lpt_header_height);
	font-family: var(--lpt_font_menu_family);
	font-weight: 400;
	color: #ffffff;
}

.header-logo__img {
	vertical-align: middle;
	max-width: 100%;
	max-height: var(--lpt_header_height);
}

.header-sticky {
	position: fixed;
	top: 100px;
	transform: translateY(-100px) !important;
	will-change: transform;
}

.header-sticky-relative {
	position: relative;
	top: 0;
	transform: translateY(0) !important;
	transition: 0.4s background;
}

/* ── Menu base ────────────────────────────────────────────── */
.menu {
	font-family: var(--lpt_font_menu_family);
	display: none;
}

/* ── Menu desktop ─────────────────────────────────────────── */
.menu-desktop .menu-mobile-logo { display: none !important; }

.menu-desktop .header      { background: var(--lpt_desktop_menu_initial_bg_color); }
.menu-desktop .header-dark { background: var(--lpt_desktop_menu_sticky_bg_color); }

.menu-desktop .menu {
	display: block;
	font-size: var(--lpt_font_menu_size);
	font-weight: var(--lpt_font_menu_weight);
	font-style: var(--lpt_font_menu_style);
	letter-spacing: var(--lpt_font_menu_letter_spacing);
}

.menu-desktop .menu__item {
	display: inline-block;
	margin-right: 25px;
}

.menu-desktop .menu__item:last-child { margin-right: 0; }

@media (min-width: 768px) {
	.menu-desktop .menu__item:not(.submenu-mega) > .submenu {
		opacity: 0;
		transition: 0.3s;
		transform: translateY(20px);
	}
	.menu-desktop .menu__item:not(.submenu-mega) > .submenu .submenu {
		opacity: 0;
		transition: 0.3s;
		transform: translateX(-10px);
	}
	.menu-desktop .menu__item:not(.submenu-mega) > .submenu .submenu__item:hover > .submenu,
	.menu-desktop .menu__item:not(.submenu-mega) > .submenu .submenu__item:focus > .submenu {
		opacity: 1;
		transform: translateX(0);
	}
	.menu-desktop .menu__item.submenu-mega:hover .submenu,
	.menu-desktop .menu__item.submenu-mega:focus .submenu { visibility: visible; }
	.menu-desktop .menu__item.submenu-mega > .submenu {
		opacity: 0;
		transition: 0.3s;
		transform: translateY(20px);
	}
	.menu-desktop .menu__item:hover > .submenu,
	.menu-desktop .menu__item:focus > .submenu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}
}

.menu-desktop .menu__link {
	position: relative;
	display: inline-block;
	font-family: inherit;
	transition: 0.2s;
}

.menu-desktop .menu__link:hover,
.menu-desktop .menu__link:focus { cursor: pointer; outline: none; }

.menu-desktop .menu__link:after,
.menu-desktop .menu__link_active:after {
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 1px;
	top: 50%;
	margin-top: 18px;
	background: transparent;
	transition: 0.6s;
}

.menu-desktop .menu__link:hover:after,
.menu-desktop .menu__link:focus:after,
.menu-desktop .menu__link_active:after { width: 100%; }

.menu-desktop .menu__link                   { color: var(--lpt_desktop_menu_link_color); }
.menu-desktop .menu__link:hover,
.menu-desktop .menu__link:focus             { color: var(--lpt_desktop_menu_link_hover_color); }
.menu-desktop .menu__link:hover:after,
.menu-desktop .menu__link:focus:after,
.menu-desktop .menu__link_active:after      { background: var(--lpt_desktop_menu_link_hover_color); }
.menu-desktop .menu__link_active            { color: var(--lpt_desktop_menu_link_hover_color); }

.menu-desktop .menu__item:not(.submenu-mega) .submenu {
	background: var(--lpt_desktop_submenu_bg_color);
	box-shadow: var(--lpt_desktop_submenu_css_box_box_shadow);
}
.menu-desktop .menu__item:not(.submenu-mega) .submenu__item:hover {
	background: var(--lpt_primary_color);
}

.menu-desktop .submenu {
	opacity: 1;
	visibility: hidden;
	position: absolute;
	min-width: 120px;
	text-align: left;
	border-radius: var(--lpt_desktop_submenu_css_box_border_radius);
}

.menu-desktop .submenu__item {
	position: relative;
	display: block;
	margin: 0;
	line-height: 40px;
	transition: 0.4s background-color;
}

.menu-desktop .submenu__item:hover > .submenu,
.menu-desktop .submenu__item:focus > .submenu { visibility: visible; }

.menu-desktop .submenu__item:hover > .submenu__link,
.menu-desktop .submenu__item:focus-within > .submenu__link {
	color: var(--lpt_desktop_submenu_link_hover_color);
}

.menu-desktop .submenu__link {
	display: block;
	padding: 0 25px 0 15px;
	white-space: nowrap;
	font-family: inherit;
	color: var(--lpt_desktop_submenu_link_color);
	transition: 0.4s;
}
.menu-desktop .submenu__link:hover { color: var(--lpt_desktop_submenu_link_hover_color); }

.menu-desktop .submenu .submenu { top: 0; left: 100%; }

@media (min-width: 768px) and (max-width: 991px) {
	.menu-desktop .menu__item { margin-right: 6px; }
}

/* Text-case variants */
.menu-desktop .header_menu_desktop_case_upper    { text-transform: uppercase; }
.menu-desktop .header_menu_desktop_case_lower    { text-transform: lowercase; }
.menu-desktop .header_menu_desktop_case_capitalize { text-transform: capitalize; }
.menu-desktop .header_menu_desktop_case_initial  { text-transform: initial; }

/* ── Menu mobile ──────────────────────────────────────────── */
.menu-mobile .header      { background: var(--lpt_mobile_menu_initial_bg_color); white-space: normal; transition: 0.4s left cubic-bezier(1, 0, 0.95, 1), 0s margin, 0.4s top, 0.4s background; opacity: 1; }
.menu-mobile .header-dark { background: var(--lpt_mobile_menu_sticky_bg_color); }

.menu-mobile-logo {
	padding: 0 30px 50px;
	font-size: 1.25rem;
	line-height: var(--lpt_header_height) !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
@media (max-width: 767px) { .menu-mobile-logo { padding: 0 30px 10px; } }

.menu-mobile .menu {
	display: block;
	position: absolute;
	top: 0;
	height: 100vh;
	background: var(--lpt_mobile_menu_bg_color);
	font-size: 0.8125rem;
	font-weight: var(--lpt_font_menu_weight);
	overflow-y: auto;
}

.menu-mobile .menu__item { line-height: 32px; }

.menu-mobile .menu__link {
	display: block;
	color: var(--lpt_mobile_menu_link_color);
	font-family: inherit;
	transition: 0.4s;
}
.menu-mobile .menu__link:hover,
.menu-mobile .menu__link:focus { color: var(--lpt_mobile_menu_link_hover_color); background: var(--lpt_primary_color); }
.menu-mobile .menu__link_active:not(:hover):not(:focus) { color: var(--lpt_mobile_menu_link_active_color); }
.menu-mobile .menu__link_pressed { color: var(--lpt_mobile_menu_link_hover_color) !important; background: var(--lpt_primary_color); }

.menu-mobile .submenu { display: none; visibility: visible; background: var(--lpt_mobile_submenu_bg_color); }
.menu-mobile .submenu__link {
	display: block;
	color: var(--lpt_mobile_submenu_link_color);
	font-family: inherit;
	font-size: 0.75rem;
	transition: 0.4s;
}
.menu-mobile .submenu__link:hover,
.menu-mobile .submenu__link:focus { color: var(--lpt_mobile_submenu_link_hover_color); background: var(--lpt_primary_color); }

/* Text-case variants */
.menu-mobile .header_menu_mobile_case_upper      { text-transform: uppercase; }
.menu-mobile .header_menu_mobile_case_lower      { text-transform: lowercase; }
.menu-mobile .header_menu_mobile_case_capitalize { text-transform: capitalize; }
.menu-mobile .header_menu_mobile_case_initial    { text-transform: initial; }

/* Right-side mobile drawer */
.menu-mobile.menu-mobile-right .menu-nav    { text-align: right; }
.menu-mobile.menu-mobile-right .menu-toggle { transform: scale(-1, 1); }
.menu-mobile.menu-mobile-right.menu-mobile-opened .header { left: -260px; }
.menu-mobile.menu-mobile-right .menu { left: 100%; width: 260px; text-align: right !important; }
.menu-mobile.menu-mobile-right .menu__link { padding: 0 30px 0 0; }
.menu-mobile.menu-mobile-right .menu .submenu__link { padding: 0 45px 0 15px; }

/* ── Menu toggle (hamburger) ──────────────────────────────── */
.menu-nav { padding-bottom: 0; }

.menu-toggle {
	display: none;
	padding: 8px 0;
	cursor: pointer;
	vertical-align: middle;
}

.menu-toggle__inner {
	position: relative;
	width: 24px;
	height: 1px;
	transition: 0.4s background-color;
}
.menu-toggle__inner:before,
.menu-toggle__inner:after {
	content: '';
	position: absolute;
	left: 0;
	width: 24px;
	height: 1px;
	transition: 0.4s background-color;
}
.menu-toggle__inner:before { top: -7px; }
.menu-toggle__inner:after  { top:  7px; }

.menu-toggle:hover .menu-toggle__inner,
.menu-toggle:hover .menu-toggle__inner:before,
.menu-toggle:hover .menu-toggle__inner:after { background-color: var(--lpt_primary_color) !important; }

@media (max-width: 767px) { .menu-toggle { display: inline-block; } }

.header:not(.header-dark) .menu-toggle__inner,
.header:not(.header-dark) .menu-toggle__inner:before,
.header:not(.header-dark) .menu-toggle__inner:after { background: var(--lpt_mobile_menu_hamburger_color); }

.header.header-dark .menu-toggle__inner,
.header.header-dark .menu-toggle__inner:before,
.header.header-dark .menu-toggle__inner:after { background: var(--lpt_mobile_menu_hamburger_sticky_color); }
