.hide {
	display: none;
}

.show {
	display: block;
}

.header {
	transition: all ease .4s;
	width: 100%;
	z-index: 999;
}

.header.header-fixed {
	position: fixed;
	width: 100%;
	top: 0;
	box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
}


/* Menu responsivo */
.menu__responsivo .menu-global {
	background-color: #0E0E0E;
}

.menu__responsivo.menu-active .menu-global {
	background-color: white;
}

.menu__responsivo.active .menu-top {
	transform: rotate(45deg) translate(5px, 5px);
}

.menu__responsivo.active .menu-middle {
	opacity: 0;
}

.menu__responsivo.active .menu-bottom {
	transform: rotate(-45deg) translate(7px, -6px);
}

/* Menu mobile */
.mobile-menu {
	transition: all 0.3s ease;
}

.mobile-menu.active {
	display: block !important;
}

/* Estilos para o menu WordPress */
.header__nav__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.header__nav__menu li {
	position: relative;
}

.header__nav__menu a {
	color: #0E0E0E;
	font-weight: 500;
	transition: color 0.2s ease;
	text-decoration: none;
	padding: 0.5rem 0;
	display: block;
}

.header__nav__menu a:hover {
	color: #2DB7FF;
}

/* Submenu styles */
.header__nav__menu .has-submenu:hover .submenu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.header__nav__menu .submenu {
	position: absolute;
	top: 100%;
	left: 0;
	background: #2DB7FF;
	box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -2px rgb(0 0 0 / 0.05);
	width: 90px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: all 0.3s ease-in-out;
	z-index: 50;
	padding: 0;
}

.header__nav__menu .submenu li {
	width: 100%;
	display: block;
}

.header__nav__menu .submenu li:last-child {
	border-bottom: none;
}

.header__nav__menu .submenu a {
	padding: 6px;
	display: block;
	color: white;
	font-weight: 500;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.3px;
	transition: all 0.2s ease;
	line-height: 1.2;
}

.header__nav__menu .submenu a:hover {
	background-color: white;
	color: #2DB7FF;
}


.header__nav__menu .has-submenu:hover > a {
	color: #2DB7FF;
}

/* Botão de contato especial */
.header__nav__menu .btn-contato a {
	border-radius: 3px;
	background: linear-gradient(90deg, #2DB7FF 0%, #1AD4FA 100%);
	box-shadow: 2px 2px 1px 0 rgba(0, 0, 0, 0.25);
	color: white;
	padding: 0.5rem 1.5rem;
	transition: background-color 0.2s ease;
}

/* Mobile menu styles */
.mobile-nav-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mobile-nav-menu li {
	margin: 0;
}

.mobile-nav-menu a {
	display: block;
	padding: 0.75rem 1rem;
	color: #0E0E0E;
	font-weight: 500;
	transition: color 0.2s ease;
	text-decoration: none;
}

.mobile-nav-menu a:hover {
	color: #2DB7FF;
}

.mobile-nav-menu .btn-contato a {
	background-color: #2DB7FF;
	color: white;
	padding: 0.75rem 1.5rem;
	border-radius: 0.375rem;
	margin: 1rem;
	text-align: center;
	transition: background-color 0.2s ease;
}

.mobile-nav-menu .btn-contato a:hover {
	background-color: #1AD4FA;
	color: white;
}

/* Desktop submenu styles */
@media (min-width: 941px) {
	.header__nav__menu .submenu {
		position: absolute;
		top: 100%;
		left: 0;
		background: #2DB7FF;
		box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -2px rgb(0 0 0 / 0.05);
		width: 90px;
		opacity: 0;
		visibility: hidden;
		transform: translateY(8px);
		transition: all 0.3s ease-in-out;
		z-index: 50;
		padding: 0;
	}

	.header__nav__menu .has-submenu:hover .submenu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.header__nav__menu .submenu li {
		width: 100%;
		display: block;
	}

	.header__nav__menu .submenu a {
		padding: 6px;
		display: block;
		color: white;
		font-weight: 500;
		font-size: 12px;
		text-transform: uppercase;
		letter-spacing: 0.3px;
		transition: all 0.2s ease;
		line-height: 1.2;
	}

	.header__nav__menu .submenu a:hover {
		background-color: white;
		color: #2DB7FF;
	}

	.header__nav__menu .has-submenu:hover > a {
		color: #2DB7FF;
	}
}


/* Mobile submenu styles - Override for hamburger menu */
@media (max-width: 940px) {
	/* Reset all submenu styles for mobile hamburger menu */
	.header__nav__menu .submenu,
	.header__nav__menu .sub-menu,
	.mobile-nav-menu .submenu,
	.mobile-nav-menu .sub-menu {
		position: static !important;
		top: auto !important;
		left: auto !important;
		transform: none !important;
		opacity: 1 !important;
		visibility: visible !important;
		background: transparent !important;
		box-shadow: none !important;
		border: none !important;
		border-radius: 0 !important;
		min-width: auto !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		z-index: auto !important;
		display: none;
	}

	.header__nav__menu .sub-menu li,
	.mobile-nav-menu .sub-menu li {
		position: static !important;
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
	}

	.header__nav__menu .sub-menu a,
	.mobile-nav-menu .sub-menu a {
		position: static !important;
		padding: 20px 30px !important;
		padding-left: 60px !important;
		font-size: 16px !important;
		color: white !important;
		font-weight: 400 !important;
		text-transform: uppercase !important;
		letter-spacing: 0.3px !important;
		background: transparent !important;
		width: 100% !important;
		display: block !important;
		border: none !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
		transition: all 0.2s ease !important;
	}

	.header__nav__menu .sub-menu a:hover,
	.mobile-nav-menu .sub-menu a:hover {
		background: rgba(255, 255, 255, 0.05) !important;
		color: white !important;
	}
}

/* Logo mobile responsivo */
@media (max-width: 768px) {
	.container {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	
	header .flex-shrink-0 img {
		max-width: 200px;
		height: auto;
	}
}

@media (max-width: 480px) {
	.container {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	
	header .flex-shrink-0 img {
		max-width: 150px;
		height: auto;
	}
}