/**
 * Header mobile custom (barra fixa + drawer). Ativo só em <=1024px; no desktop
 * fica display:none (quem manda é o header do Elementor). Paleta: verdes reais
 * do site + dourado #c9a56a + laranja #E0822E (mesma do desktop).
 */

/* Escondido por padrão (desktop usa o header do Elementor) */
.db-mnav,
.db-mnav-drawer {
	display: none;
}

@media (max-width: 1024px) {

	/* O header nativo (387/356) renderiza 0px/vazio no mobile — some para não
	   deixar wrapper fantasma; o nosso assume. */
	[data-elementor-type="header"] {
		display: none !important;
	}

	/* Empurra o conteúdo para baixo da barra fixa. */
	body {
		padding-top: 62px !important;
	}

	/* Barra fixa */
	.db-mnav {
		display: flex;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		z-index: 9990;
		height: 62px;
		align-items: center;
		justify-content: space-between;
		padding: 0 16px;
		background: rgba(8, 65, 63, 0.85);
		-webkit-backdrop-filter: blur(11px);
		backdrop-filter: blur(11px);
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
		box-sizing: border-box;
	}

	.db-mnav * {
		box-sizing: border-box;
	}

	.db-mnav__logo {
		display: inline-flex;
		align-items: center;
		line-height: 0;
	}

	.db-mnav__logo img {
		height: 36px;
		width: auto;
		display: block;
	}

	.db-mnav__wordmark {
		color: #fff;
		font-family: "Poppins", sans-serif;
		font-weight: 700;
		font-size: 17px;
		line-height: 1;
	}

	/* Empate de especificidade com o kit do Elementor (.elementor-kit-351 a),
	   que carrega depois no HTML e venceria por ordem. Reforça com seletor
	   composto + !important para não depender de ordem de enqueue. */
	.db-mnav .db-mnav__logo {
		color: #ffffff !important;
	}

	/* Hambúrguer (área tocável >=44px) */
	.db-mnav__toggle {
		width: 46px;
		height: 46px;
		margin-right: -8px;
		padding: 0;
		border: 0;
		background: transparent;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.db-mnav__bars {
		position: relative;
		width: 26px;
		height: 18px;
		display: block;
	}

	.db-mnav__bars span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background: #ffffff;
		border-radius: 2px;
		transition: transform 0.28s ease, opacity 0.28s ease, top 0.28s ease;
	}

	.db-mnav__bars span:nth-child(1) { top: 0; }
	.db-mnav__bars span:nth-child(2) { top: 8px; }
	.db-mnav__bars span:nth-child(3) { top: 16px; }

	.db-mnav__toggle.is-active .db-mnav__bars span:nth-child(1) {
		top: 8px;
		transform: rotate(45deg);
	}

	.db-mnav__toggle.is-active .db-mnav__bars span:nth-child(2) {
		opacity: 0;
	}

	.db-mnav__toggle.is-active .db-mnav__bars span:nth-child(3) {
		top: 8px;
		transform: rotate(-45deg);
	}

	/* Drawer */
	.db-mnav-drawer {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 9999;
	}

	.db-mnav-drawer[hidden] {
		display: none;
	}

	.db-mnav-drawer__backdrop {
		position: absolute;
		inset: 0;
		background: rgba(2, 20, 19, 0.55);
		opacity: 0;
		transition: opacity 0.3s ease;
	}

	.db-mnav-drawer.is-open .db-mnav-drawer__backdrop {
		opacity: 1;
	}

	.db-mnav-drawer__panel {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: min(84%, 340px);
		display: flex;
		flex-direction: column;
		padding: 20px 24px calc(28px + env(safe-area-inset-bottom, 0px));
		background: linear-gradient(180deg, #08413f 0%, #063d3b 60%, #052f2d 100%);
		box-shadow: -18px 0 50px -20px rgba(0, 0, 0, 0.6);
		transform: translateX(100%);
		transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.db-mnav-drawer.is-open .db-mnav-drawer__panel {
		transform: translateX(0);
	}

	.db-mnav-drawer__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 8px;
	}

	.db-mnav-drawer__eyebrow {
		font-family: "Poppins", sans-serif;
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.18em;
		text-transform: uppercase;
		color: #c9a56a;
	}

	.db-mnav-drawer__close {
		width: 40px;
		height: 40px;
		margin-right: -8px;
		border: 0;
		background: transparent;
		color: #fff;
		font-size: 32px;
		line-height: 1;
		cursor: pointer;
	}

	.db-mnav-drawer__list {
		list-style: none;
		margin: 8px 0 0;
		padding: 0;
		flex: 1 1 auto;
	}

	.db-mnav-drawer__list li {
		margin: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}

	.db-mnav-drawer .db-mnav-drawer__list a {
		display: block;
		padding: 15px 0;
		font-family: "Poppins", sans-serif;
		font-size: 16px;
		font-weight: 500;
		color: #ffffff !important;
		text-decoration: none;
		transition: color 0.2s ease, padding-left 0.2s ease;
	}

	.db-mnav-drawer .db-mnav-drawer__list a:hover,
	.db-mnav-drawer .db-mnav-drawer__list a:focus {
		color: #c9a56a !important;
		padding-left: 6px;
	}

	.db-mnav-drawer .db-mnav-drawer__cta {
		display: block;
		margin-top: 22px;
		padding: 15px 20px;
		border-radius: 12px;
		background: #e0822e;
		color: #ffffff !important;
		font-family: "Poppins", sans-serif;
		font-size: 15px;
		font-weight: 600;
		text-align: center;
		text-decoration: none;
		transition: background 0.2s ease;
	}

	.db-mnav-drawer .db-mnav-drawer__cta:hover,
	.db-mnav-drawer .db-mnav-drawer__cta:focus {
		background: #c86f22;
	}
}
