/* ==========================================================================
   Na ZL Tem — Estilos do child theme
   Fontes: Poppins (títulos) + Work Sans (corpo) — carregadas via functions.php
   ========================================================================== */

:root {
	--nzl-vermelho: #EF1E32;
	--nzl-laranja-avermelhado: #F4472B;
	--nzl-laranja: #F5821F;
	--nzl-amarelo-alaranjado: #F9A03F;
	--nzl-amarelo: #FDC02F;

	--nzl-fundo: #FAF5EE;
	--nzl-fundo-alt: #FFFFFF;
	--nzl-texto: #2B211A;
	--nzl-texto-suave: #6B5D4F;
	--nzl-borda: #E4D9CB;
	--nzl-whatsapp: #25D366;

	--nzl-fonte-titulo: 'Poppins', sans-serif;
	--nzl-fonte-corpo: 'Work Sans', sans-serif;

	--nzl-raio: 14px;
	--nzl-raio-pill: 999px;
	--nzl-sombra-suave: 0 2px 8px rgba(43, 33, 26, 0.08);
	--nzl-sombra-forte: 0 6px 20px rgba(239, 30, 50, 0.14);
}

.nazltem-btn:focus-visible,
.nazltem-pill:focus-visible,
.nazltem-card-diretorio-link:focus-visible,
a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--nzl-vermelho);
	outline-offset: 2px;
}

/* ---------- Base ---------- */

.nazltem-home,
.nazltem-painel,
.nazltem-editar-empresa,
.nazltem-cadastro-empresa,
.container-login,
.container-cadastro {
	font-family: var(--nzl-fonte-corpo);
	color: var(--nzl-texto);
	max-width: 1120px;
	margin: 0 auto;
	padding: 32px 20px 64px;
}

.nazltem-home h1, .nazltem-home h2, .nazltem-home h3,
.nazltem-painel h1, .nazltem-painel h2, .nazltem-painel h3,
.nazltem-editar-empresa h1, .nazltem-editar-empresa h2,
.nazltem-cadastro-empresa h1, .nazltem-cadastro-empresa h2,
.container-login h2, .container-cadastro h2 {
	font-family: var(--nzl-fonte-titulo);
	font-weight: 600;
	color: var(--nzl-texto);
	letter-spacing: -0.01em;
}

.nazltem-home h1 { font-size: 2rem; }
.nazltem-home h2 { font-size: 1.5rem; margin-bottom: 20px; }

/* ---------- Botões ---------- */

.nazltem-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-family: var(--nzl-fonte-titulo);
	font-weight: 600;
	font-size: 0.95rem;
	padding: 12px 22px;
	border-radius: var(--nzl-raio-pill);
	border: none;
	cursor: pointer;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease;
	background: var(--nzl-vermelho);
	color: #fff;
}

.nazltem-btn:hover {
	transform: translateY(-1px);
	box-shadow: var(--nzl-sombra-forte);
}

.nazltem-btn-nova-empresa:hover,
.nazltem-btn-salvar:hover {
	background: var(--nzl-laranja-avermelhado);
	color: #fff;
}

.nazltem-btn-editar:hover {
	background: var(--nzl-vermelho);
	color: #fff;
	border-color: var(--nzl-vermelho);
}

.nazltem-btn-ver:hover {
	background: var(--nzl-fundo);
	color: var(--nzl-texto);
	border-color: var(--nzl-texto-suave);
}

.nazltem-btn-nova-empresa,
.nazltem-btn-salvar {
	background: var(--nzl-vermelho);
}

.nazltem-btn-editar {
	background: var(--nzl-fundo-alt);
	color: var(--nzl-vermelho);
	border: 1.5px solid var(--nzl-vermelho);
}

.nazltem-btn-ver {
	background: transparent;
	color: var(--nzl-texto);
	border: 1.5px solid var(--nzl-borda);
}

.nazltem-btn-whatsapp {
	background: var(--nzl-whatsapp);
	color: #fff;
	font-family: var(--nzl-fonte-titulo);
	font-weight: 600;
	font-size: 0.85rem;
	padding: 8px 16px;
	border-radius: var(--nzl-raio-pill);
	display: inline-flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
	margin-top: 10px;
}

.nazltem-ver-todas {
	display: inline-block;
	margin-top: 20px;
	background: transparent;
	color: var(--nzl-vermelho);
	font-weight: 600;
	text-decoration: none;
	padding: 0;
	border-radius: 0;
	position: relative;
}

.nazltem-ver-todas::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 2px;
	background: var(--nzl-vermelho);
	transform: scaleX(0.3);
	transform-origin: left;
	transition: transform 0.2s ease;
}

.nazltem-ver-todas:hover::after {
	transform: scaleX(1);
}

/* ---------- Formulários (compartilhado: cadastro, edição, login) ---------- */

.nazltem-form-empresa label,
.container-login form label,
.container-cadastro form label {
	display: block;
	font-family: var(--nzl-fonte-titulo);
	font-weight: 500;
	font-size: 0.85rem;
	color: var(--nzl-texto-suave);
	margin-bottom: 18px;
}

.nazltem-form-empresa input[type="text"],
.nazltem-form-empresa input[type="url"],
.nazltem-form-empresa input[type="email"],
.nazltem-form-empresa input[type="password"],
.nazltem-form-empresa textarea,
.nazltem-form-empresa select,
.container-login input,
.container-cadastro input {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 12px 14px;
	font-family: var(--nzl-fonte-corpo);
	font-size: 1rem;
	color: var(--nzl-texto);
	background: var(--nzl-fundo-alt);
	border: 1.5px solid var(--nzl-borda);
	border-radius: 10px;
	box-sizing: border-box;
	transition: border-color 0.15s ease;
}

.nazltem-form-empresa input:focus,
.nazltem-form-empresa textarea:focus,
.nazltem-form-empresa select:focus,
.container-login input:focus,
.container-cadastro input:focus {
	outline: none;
	border-color: var(--nzl-vermelho);
}

.nazltem-tag-plano {
	display: inline-block;
	font-family: var(--nzl-fonte-titulo);
	font-size: 0.7rem;
	font-weight: 600;
	color: var(--nzl-laranja-avermelhado);
	background: rgba(244, 71, 43, 0.1);
	padding: 3px 10px;
	border-radius: var(--nzl-raio-pill);
	margin-left: 8px;
	vertical-align: middle;
}

.nazltem-bloqueado {
	background: #F3EEE6;
	border: 1.5px dashed var(--nzl-borda);
	border-radius: var(--nzl-raio);
	padding: 16px 18px;
	font-size: 0.9rem;
	color: var(--nzl-texto-suave);
	margin-bottom: 24px;
}

.nazltem-bloqueado a {
	color: var(--nzl-vermelho);
	font-weight: 600;
}

.nazltem-msg {
	padding: 12px 16px;
	border-radius: 10px;
	margin-bottom: 20px;
	font-weight: 500;
}

.nazltem-msg-sucesso {
	background: #E5F4EA;
	color: #1E6B3C;
}

.nazltem-msg-erro,
.mensagem-erro {
	background: #FBE7E5;
	color: var(--nzl-vermelho);
}

/* ---------- Banners (painel) ---------- */

.nazltem-banner {
	padding: 16px 20px;
	border-radius: var(--nzl-raio);
	margin-bottom: 24px;
	font-size: 0.95rem;
}

.nazltem-banner-analise {
	background: #FFF3DD;
	color: #8A5A00;
	border: 1.5px solid var(--nzl-amarelo);
}

.nazltem-banner-erro {
	background: #FBE7E5;
	color: var(--nzl-vermelho);
	border: 1.5px solid var(--nzl-vermelho);
}

/* ---------- Painel: lista de empresas ---------- */

.nazltem-painel-topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 28px;
}

.nazltem-lista-empresas {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
}

.nazltem-card-empresa {
	background: var(--nzl-fundo-alt);
	border: 1.5px solid var(--nzl-borda);
	border-radius: var(--nzl-raio);
	padding: 18px;
}

.nazltem-card-empresa-imagem img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 10px;
}

.nazltem-sem-logo {
	width: 64px;
	height: 64px;
	border-radius: 10px;
	background: var(--nzl-fundo);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	color: var(--nzl-texto-suave);
	text-align: center;
}

.nazltem-card-empresa-info h3 {
	font-family: var(--nzl-fonte-titulo);
	font-size: 1.1rem;
	margin: 12px 0 6px;
}

.nazltem-badge {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: var(--nzl-raio-pill);
}

.nazltem-status-ativo { background: #E5F4EA; color: #1E6B3C; }
.nazltem-status-analise { background: #FFF3DD; color: #8A5A00; }
.nazltem-status-pagamento-pendente { background: #FBE7E5; color: var(--nzl-vermelho); }
.nazltem-status-pausado { background: #E8EEF3; color: #3A5A73; }
.nazltem-status-cancelado { background: #F1E3E3; color: #7A3B3B; }
.nazltem-status-gratuito { background: #EFEAE3; color: var(--nzl-texto-suave); }

.nazltem-card-empresa-acoes {
	display: flex;
	gap: 8px;
	margin-top: 14px;
}

.nazltem-card-empresa-acoes .nazltem-btn {
	padding: 8px 16px;
	font-size: 0.85rem;
}

.nazltem-card-empresa-upgrade {
	margin-top: 14px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.nazltem-card-empresa-upgrade .nazltem-btn {
	font-size: 0.82rem;
	padding: 9px 14px;
	background: var(--nzl-fundo);
	color: var(--nzl-laranja-avermelhado);
	border: 1.5px solid var(--nzl-laranja-avermelhado);
}

.nazltem-card-empresa-upgrade .nazltem-btn:hover {
	background: var(--nzl-laranja-avermelhado);
	color: #fff;
}

.nazltem-btn-assinar-premium {
	background: var(--nzl-vermelho) !important;
	color: #fff !important;
	border: none !important;
}

.nazltem-upgrade-pendente {
	margin-top: 12px;
	font-size: 0.85rem;
	color: var(--nzl-texto-suave);
}

.nazltem-link-retomar {
	background: none;
	border: none;
	padding: 0;
	color: var(--nzl-vermelho);
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
	font-size: inherit;
}

/* ---------- Home: hero + busca (larga, estilo Google) ---------- */

.nazltem-hero {
	width: 100%;
	padding: 56px 20px;
	margin-bottom: 40px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}

.nazltem-hero::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	/* Trocamos o vw por um valor fixo gigante para ignorar a barra de rolagem */
	left: -9999px;
	right: -9999px;
	background: linear-gradient(135deg, var(--nzl-amarelo-alaranjado) 0%, var(--nzl-laranja) 55%, var(--nzl-laranja-avermelhado) 100%);
	z-index: -1;
}

body {
	overflow-x: hidden;
}

.nazltem-hero-inner {
	max-width: 1120px;
	margin: 0 auto;
}

.nazltem-hero-busca {
	display: flex;
	gap: 10px;
	max-width: 720px;
	margin: 0 auto 24px;
	background: #fff;
	padding: 8px;
	border-radius: var(--nzl-raio-pill);
	box-shadow: 0 8px 24px rgba(43, 33, 26, 0.18);
}

.nazltem-hero-busca input[type="search"] {
	flex: 1;
	border: none;
	outline: none;
	font-family: var(--nzl-fonte-corpo);
	font-size: 1.05rem;
	padding: 12px 20px;
	background: transparent;
}

.nazltem-hero-busca select {
	border: none;
	background: var(--nzl-fundo);
	border-radius: var(--nzl-raio-pill);
	padding: 0 16px;
	font-family: var(--nzl-fonte-corpo);
	font-size: 0.95rem;
	max-width: 200px;
}

.nazltem-hero-busca .nazltem-btn-buscar {
	background: var(--nzl-vermelho);
	padding: 12px 28px;
}

.nazltem-hero-categorias {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
}

.nazltem-pill {
	display: inline-block;
	background: rgba(255, 255, 255, 0.85);
	color: var(--nzl-texto);
	font-family: var(--nzl-fonte-titulo);
	font-size: 0.85rem;
	font-weight: 500;
	padding: 8px 18px;
	border-radius: var(--nzl-raio-pill);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease;
}

.nazltem-pill:hover {
	background: #fff;
	color: var(--nzl-vermelho);
}

.nazltem-pill--ativo {
	background: var(--nzl-vermelho);
	color: #fff;
}

/* ---------- Home: vitrines de empresas ---------- */

.nazltem-vitrine {
	margin-bottom: 48px;
}

.nazltem-grid--destaques {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.nazltem-grid--gratis {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 14px;
}

@media (max-width: 900px) {
	.nazltem-grid--destaques { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.nazltem-grid--gratis { grid-template-columns: repeat(2, 1fr); gap: 10px; }

	.nazltem-grid--gratis .nazltem-card-diretorio-imagem {
		aspect-ratio: 4 / 3;
	}

	.nazltem-grid--gratis .nazltem-card-diretorio-nome {
		font-size: 0.8rem;
		padding: 6px 8px 2px;
	}

	.nazltem-grid--gratis .nazltem-card-diretorio-telefone {
		font-size: 0.72rem;
		padding: 0 8px 8px;
	}
}

.nazltem-card-diretorio {
	background: var(--nzl-fundo-alt);
	border-radius: var(--nzl-raio);
	overflow: hidden;
	text-align: left;
}

.nazltem-card-diretorio--destaque {
	border: none;
	box-shadow: var(--nzl-sombra-forte);
	position: relative;
}

.nazltem-card-diretorio--destaque .nazltem-card-diretorio-imagem {
	aspect-ratio: 4 / 3;
}

.nazltem-card-diretorio--destaque .nazltem-card-diretorio-nome {
	font-size: 1.15rem;
	padding: 16px 18px 6px;
}

.nazltem-card-diretorio--destaque .nazltem-card-diretorio-telefone {
	font-size: 0.95rem;
	padding: 0 18px 18px;
}

.nazltem-card-diretorio--destaque::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--nzl-amarelo), var(--nzl-laranja-avermelhado));
	z-index: 1;
}

.nazltem-card-diretorio--gratis {
	border: 1.5px solid var(--nzl-borda);
	box-shadow: none;
}

.nazltem-card-diretorio-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.nazltem-card-diretorio-imagem {
	position: relative;
	aspect-ratio: 1 / 1;
	background: var(--nzl-fundo);
}

.nazltem-card-diretorio-imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nazltem-card-diretorio-categoria {
	position: absolute;
	top: 10px;
	left: 10px;
	background: rgba(43, 33, 26, 0.75);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 600;
	padding: 4px 10px;
	border-radius: var(--nzl-raio-pill);
}

.nazltem-card-diretorio-nome {
	font-family: var(--nzl-fonte-titulo);
	font-size: 1rem;
	padding: 12px 14px 4px;
	margin: 0;
}

.nazltem-card-diretorio--gratis .nazltem-card-diretorio-nome {
	font-size: 0.88rem;
	padding: 8px 10px 2px;
}

.nazltem-card-diretorio-bairro {
	font-size: 0.78rem;
	color: var(--nzl-texto-suave);
	padding: 0 14px;
	margin: 2px 0 0;
}

.nazltem-card-diretorio--gratis .nazltem-card-diretorio-bairro {
	padding: 0 10px;
	font-size: 0.72rem;
}

.nazltem-card-diretorio-telefone {
	display: block;
	padding: 0 14px 14px;
	font-size: 0.85rem;
	color: var(--nzl-texto-suave);
}

.nazltem-card-diretorio--gratis .nazltem-card-diretorio-telefone {
	padding: 0 10px 10px;
	font-size: 0.78rem;
}

.nazltem-btn-whatsapp {
	margin: 0 14px 14px;
}

/* ---------- Home: blog + vagas (cards de post) ---------- */

.nazltem-grid--posts {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

@media (max-width: 900px) {
	.nazltem-grid--posts { grid-template-columns: repeat(2, 1fr); }
}

.nazltem-card-post {
	display: block;
	text-decoration: none;
	color: inherit;
	background: var(--nzl-fundo-alt);
	border: 1.5px solid var(--nzl-borda);
	border-radius: var(--nzl-raio);
	overflow: hidden;
}

.nazltem-card-post-imagem img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}

.nazltem-card-post-info {
	padding: 14px 16px;
}

.nazltem-card-post-data {
	font-size: 0.75rem;
	color: var(--nzl-texto-suave);
}

.nazltem-card-post-titulo {
	font-family: var(--nzl-fonte-titulo);
	font-size: 1rem;
	margin: 6px 0;
}

.nazltem-card-post-resumo {
	font-size: 0.85rem;
	color: var(--nzl-texto-suave);
	margin: 0;
}

/* ---------- Cadastro de empresa: seleção de plano ---------- */

.nazltem-planos-selecao {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-bottom: 32px;
}

@media (max-width: 700px) {
	.nazltem-planos-selecao { grid-template-columns: 1fr; }
}

.nazltem-plano-opcao {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 24px 20px;
	border-radius: var(--nzl-raio);
	border: 2px solid var(--nzl-borda);
	text-decoration: none;
	color: var(--nzl-texto);
	font-family: var(--nzl-fonte-titulo);
	transition: border-color 0.15s ease, transform 0.15s ease;
}

.nazltem-plano-opcao:hover {
	transform: translateY(-2px);
	color: var(--nzl-texto);
}

.nazltem-plano-opcao--gratis:hover { border-color: var(--nzl-texto-suave); }
.nazltem-plano-opcao--destaque:hover { border-color: var(--nzl-laranja); }
.nazltem-plano-opcao--premium:hover { border-color: var(--nzl-vermelho); }

.nazltem-plano-opcao strong { font-size: 1.15rem; }
.nazltem-plano-opcao span { font-family: var(--nzl-fonte-corpo); color: var(--nzl-texto-suave); font-size: 0.9rem; }

.nazltem-aviso-pagamento {
	background: #FFF3DD;
	color: #8A5A00;
	padding: 14px 18px;
	border-radius: var(--nzl-raio);
	font-size: 0.9rem;
	margin-bottom: 20px;
}

/* ---------- Login / Criar Conta ---------- */

.container-login,
.container-cadastro {
	max-width: 420px;
	background: var(--nzl-fundo-alt);
	border: 1.5px solid var(--nzl-borda);
	border-radius: var(--nzl-raio);
	padding: 40px 32px;
	margin-top: 48px;
	margin-bottom: 48px;
}

.container-login button,
.container-cadastro button {
	width: 100%;
	margin-top: 8px;
}

.container-login p,
.container-cadastro p {
	text-align: center;
	font-size: 0.9rem;
	margin-top: 20px;
}

.container-login a,
.container-cadastro a {
	color: var(--nzl-vermelho);
	font-weight: 600;
	text-decoration: none;
}

.esqueci-senha {
	font-size: 0.85rem;
	color: var(--nzl-texto-suave) !important;
	font-weight: 500 !important;
}

/* ---------- Logo e galeria (tela de edição) ---------- */

.nazltem-logo-atual {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 12px;
	display: block;
	margin-bottom: 12px;
}

.nazltem-cropper-modal {
	position: fixed;
	inset: 0;
	background: rgba(43, 33, 26, 0.7);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999;
}

.nazltem-cropper-caixa {
	background: #fff;
	padding: 20px;
	border-radius: var(--nzl-raio);
	max-width: 90vw;
	max-height: 90vh;
	overflow: auto;
}

.nazltem-cropper-acoes {
	display: flex;
	gap: 10px;
	margin-top: 16px;
	justify-content: flex-end;
}

.nazltem-galeria-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}

.nazltem-galeria-item {
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: 10px;
	overflow: hidden;
}

.nazltem-galeria-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nazltem-galeria-remover {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: none;
	background: rgba(43, 33, 26, 0.75);
	color: #fff;
	font-size: 0.7rem;
	cursor: pointer;
	line-height: 1;
}

.nazltem-instrucao {
	font-size: 0.85rem;
	color: var(--nzl-texto-suave);
	margin-bottom: 12px;
}

.nazltem-hero-busca input[type="search"]:focus {
	background-color: transparent !important;
	outline: none !important;
	box-shadow: none !important;
}

/* ---------- Cabeçalho e Menu ---------- */

/* Mata a margem e qualquer borda cinza do cabeçalho */
.site-header {
    margin-bottom: 0 !important;
    border-bottom: none !important;
}

/* Remove o espaço (gap) cinza do contêiner da página */
#page,
.site-content,
.separate-containers .site-main {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Força a cor do texto no menu e na setinha, matando o azul nativo */
.main-navigation .main-nav ul li a,
.main-navigation .dropdown-menu-toggle {
    font-family: var(--nzl-fonte-titulo) !important;
    font-weight: 500 !important;
    color: var(--nzl-texto) !important;
    background: transparent !important;
}

/* Cor no hover e no link ativo (página atual) */
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li[class*="current-menu-"] > a,
.main-navigation .main-nav ul li:hover > .dropdown-menu-toggle,
.main-navigation .main-nav ul li[class*="current-menu-"] > .dropdown-menu-toggle {
    color: var(--nzl-vermelho) !important;
}

/* Ajuste do Dropdown (submenu) */
.main-navigation ul ul {
    background-color: var(--nzl-fundo-alt) !important;
    border: 1.5px solid var(--nzl-borda) !important;
    border-radius: var(--nzl-raio) !important;
    box-shadow: var(--nzl-sombra-suave) !important;
    padding: 10px 0 !important;
    margin-top: 5px !important; 
}

/* Estilo dos itens dentro do Dropdown */
.main-navigation ul ul li a {
    font-family: var(--nzl-fonte-corpo) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    color: var(--nzl-texto-suave) !important;
    padding: 10px 24px !important;
}

/* Hover dentro do Dropdown */
.main-navigation ul ul li:hover > a {
    background-color: var(--nzl-fundo) !important;
    color: var(--nzl-vermelho) !important;
}

/* Força a altura do cabeçalho para ficar enxuto */
.site-header .inside-header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Reduz o line-height nativo dos links que esticava o menu */
.main-navigation .main-nav ul li a {
    line-height: normal !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

/* Mata a faixa cinza: remove o padding superior do seu próprio container */
.nazltem-home {
    padding-top: 0 !important;
}

/* Garante que o tema pai não injete margens invisíveis */
.separate-containers .site-main,
.site-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Isola o hover do botão do WhatsApp */
.nazltem-btn-whatsapp:hover {
    background-color: #20b858 !important; /* Verde um pouco mais escuro para dar feedback */
    color: #ffffff !important; /* Força o texto e o ícone a ficarem brancos */
    box-shadow: 0 6px 20px rgba(37, 211, 102, 0.4) !important; /* Sombra verde no lugar da vermelha */
}

/* Ajusta o tamanho do ícone oficial */
.nazltem-btn-whatsapp i {
    font-size: 1.15rem;
}

/* Força o texto branco em qualquer estado do link */
.nazltem-btn-whatsapp:visited,
.nazltem-btn-whatsapp:active,
.nazltem-btn-whatsapp:focus {
    color: #ffffff !important;
}

/* Muda a linha de foco vermelha global para verde nesse botão específico */
.nazltem-btn-whatsapp:focus-visible {
    outline: 2px solid #25D366 !important;
    outline-offset: 2px !important;
}

/* Estica o input de texto na página de empresas e categorias */
/* Estrutura geral do formulário de filtros */
.nzl-form-filtro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    margin-bottom: 40px;
}

/* Estica o campo de busca principal */
.nzl-form-filtro__busca {
    width: 100%;
    max-width: 720px; /* Largura igual à da home */
}

/* Estilo do input de busca */
.nzl-form-filtro__busca input[type="search"] {
    width: 100%;
    padding: 12px 20px;
    font-size: 1.05rem;
    font-family: var(--nzl-fonte-corpo);
    border: 1.5px solid var(--nzl-borda);
    border-radius: var(--nzl-raio-pill);
    box-shadow: 0 4px 12px rgba(43, 33, 26, 0.05); /* Sombra suave para destacar */
}

/* Foca na borda vermelha ao clicar */
.nzl-form-filtro__busca input[type="search"]:focus {
    border-color: var(--nzl-vermelho);
    outline: none;
}

/* Organiza os selects e o botão na linha de baixo */
.nzl-form-filtro__selects {
    display: flex;
    gap: 12px;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; /* Permite quebrar linha no celular */
}

/* Ajusta o tamanho dos selects */
.nzl-form-filtro__selects select {
    padding: 10px 16px;
    font-size: 0.95rem;
    font-family: var(--nzl-fonte-corpo);
    border: 1.5px solid var(--nzl-borda);
    border-radius: var(--nzl-raio-pill);
    background-color: var(--nzl-fundo-alt);
    min-width: 200px;
}

/* Ajusta o botão buscar */
.nzl-form-filtro__selects button {
    background-color: var(--nzl-vermelho);
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: var(--nzl-raio-pill);
    font-family: var(--nzl-fonte-titulo);
    font-weight: 600;
    font-size: 0.95rem;
    cursor: pointer;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.nzl-form-filtro__selects button:hover {
    transform: translateY(-1px);
    box-shadow: var(--nzl-sombra-forte);
}

/* Estilo do selo de empresa verificada */
.nzl-card-empresa__selo {
    color: #20b858; /* Verde de verificação */
    font-size: 0.85em;
    margin-left: 6px;
    vertical-align: middle;
}

/* Limita a largura e centraliza o layout nas páginas do diretório */
body.post-type-archive-empresa #page,
body.tax-categoria #page,
body.tax-bairro #page {
    max-width: 1120px !important;
    margin: 48px auto 64px auto !important; /* Devolve o espaço abaixo do cabeçalho */
    padding: 0 20px !important;
}

/* Centraliza o título "O que você procura?" */
body.post-type-archive-empresa .site-main header,
body.tax-categoria .site-main header,
body.tax-bairro .site-main header,
body.post-type-archive-empresa h1,
body.tax-categoria h1,
body.tax-bairro h1 {
    text-align: center !important;
    margin-bottom: 24px !important;
    width: 100%;
}

/* Força o contêiner principal flex do tema a centralizar o conteúdo */
.site-content {
    justify-content: center;
}

/* Estica o miolo do diretório para 100% e limita no eixo correto */
.nzl-diretorio {
    width: 100% !important;
    max-width: 1120px !important;
    margin: 48px auto 64px auto !important;
    padding: 0 20px;
}

/* Centraliza o bloco do cabeçalho que segura o título e a busca */
.nzl-diretorio__header {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 32px;
}

/* Centraliza o título "O que você procura?" */
.nzl-diretorio__titulo {
    font-family: var(--nzl-fonte-titulo);
    text-align: center !important;
    margin-bottom: 24px;
}

/* Centraliza a mensagem de nenhum resultado */
.nzl-diretorio__vazio {
    text-align: center;
    width: 100%;
    margin-top: 40px;
    font-size: 1.05rem;
    color: var(--nzl-texto-suave);
}

/* Container da cortina vermelha */
.nazltem-card-overlay {
    position: absolute;
    inset: 0;
    background: rgba(239, 30, 50, 0.95);
    color: #fff;
    padding: 36px 16px 16px; 
    display: flex;
    flex-direction: column;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.25s ease;
    z-index: 1;
}

/* Revela o overlay apenas no hover dos planos pagos */
.nazltem-card-diretorio--destaque:hover .nazltem-card-overlay,
.nzl-card-empresa--destaque:hover .nazltem-card-overlay,
.nzl-card-empresa--premium:hover .nazltem-card-overlay {
    opacity: 1;
}

/* Tipografia do resumo no overlay */
.nazltem-card-overlay-resumo {
    font-size: 0.85rem;
    line-height: 1.4;
    margin: 0 0 12px 0;
    color: #f1f1f1;
}

/* Tipografia e ícone do endereço no overlay */
.nazltem-card-overlay-endereco {
    font-size: 0.8rem;
    color: var(--nzl-amarelo);
    font-weight: 500;
    margin: 0;
}

.nazltem-card-overlay-endereco i {
    margin-right: 6px;
}

/* Garante que os selos fiquem visíveis acima da cortina escura */
.nazltem-card-diretorio-categoria,
.nzl-card-empresa__badge-plano {
    z-index: 2;
}

/* ---------- Card BEM (template-parts/card-empresa.php) — usado em /empresas/, categoria e bairro ---------- */

.nzl-card-empresa {
	background: var(--nzl-fundo-alt);
	border-radius: var(--nzl-raio);
	overflow: hidden;
}

.nzl-card-empresa--gratuito {
	border: 1.5px solid var(--nzl-borda);
	box-shadow: none;
}

.nzl-card-empresa--destaque,
.nzl-card-empresa--premium {
	border: none;
	box-shadow: var(--nzl-sombra-forte);
	position: relative;
}

.nzl-card-empresa--destaque::before,
.nzl-card-empresa--premium::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--nzl-amarelo), var(--nzl-laranja-avermelhado));
	z-index: 2;
}

.nzl-card-empresa__link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.nzl-card-empresa__imagem {
	aspect-ratio: 1 / 1;
	background: var(--nzl-fundo);
}

.nzl-card-empresa__imagem img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nzl-card-empresa__imagem-placeholder {
	width: 100%;
	height: 100%;
	background: var(--nzl-fundo);
}

.nzl-card-empresa__badge-plano {
	position: absolute;
	top: 10px;
	right: 10px;
	background: var(--nzl-vermelho);
	color: #fff;
	font-family: var(--nzl-fonte-titulo);
	font-size: 0.68rem;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: var(--nzl-raio-pill);
}

.nzl-card-empresa__conteudo {
	padding: 14px 16px;
}

.nzl-card-empresa--gratuito .nzl-card-empresa__conteudo {
	padding: 10px 12px;
}

.nzl-card-empresa__categoria {
	display: inline-block;
	background: rgba(43, 33, 26, 0.06);
	color: var(--nzl-texto-suave);
	font-size: 0.7rem;
	font-weight: 600;
	padding: 3px 10px;
	border-radius: var(--nzl-raio-pill);
	margin-bottom: 8px;
}

.nzl-card-empresa__titulo {
	font-family: var(--nzl-fonte-titulo);
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 6px;
	color: var(--nzl-texto);
}

.nzl-card-empresa--gratuito .nzl-card-empresa__titulo {
	font-size: 0.88rem;
}

.nzl-card-empresa__bairro {
	font-size: 0.8rem;
	color: var(--nzl-texto-suave);
	margin: 0 0 6px;
}

.nzl-card-empresa__resumo {
	font-size: 0.85rem;
	color: var(--nzl-texto-suave);
	margin: 0;
	line-height: 1.4;
}

.nzl-card-empresa--gratuito .nzl-card-empresa__resumo,
.nzl-card-empresa--gratuito .nzl-card-empresa__bairro {
	display: none; /* card pequeno do Grátis fica só com nome + categoria, sem poluir */
}

/* Força o fundo do cabeçalho da empresa a preencher 100% da tela */
.nzl-single-empresa__header {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    padding-top: 48px;
    padding-bottom: 48px;
    text-align: center;
}

/* Crava o padding superior e inferior do cabeçalho em 15px */
.site-header .inside-header {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

/* Zera as margens fantasmas que o tema injeta no logotipo */
.site-header .site-logo,
.site-header .custom-logo-link {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    display: flex;
    align-items: center;
}

/* Esconde o ícone da lupa no desktop */
@media (min-width: 769px) {
    .nzl-icone-btn { display: none; }
}

@media (max-width: 768px) {
    /* Transforma o form num container relativo para ancorar a lupa */
    .nazltem-hero-busca {
        background: transparent !important;
        box-shadow: none !important;
        padding: 0 15px !important;
        display: flex !important;
        flex-direction: column;
        gap: 12px;
        position: relative; 
    }

    /* Trava o fundo branco do input em qualquer estado (normal, clicado ou focado) */
    .nazltem-hero-busca input[type="search"],
    .nazltem-hero-busca input[type="search"]:focus,
    .nazltem-hero-busca input[type="search"]:active {
        background-color: #ffffff !important;
        border-radius: 50px !important;
        padding: 14px 60px 14px 20px !important; /* Espaço extra de 60px na direita para a lupa não atropelar o texto */
        width: 100% !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.05);
        color: #333 !important; 
    }

    /* Joga a lupa para dentro do input flutuando no canto direito */
    .nazltem-hero-busca button {
        position: absolute !important;
        top: 5px; 
        right: 21px; /* 15px do form + 6px de margem interna */
        width: 42px !important;
        height: 42px !important;
        border-radius: 50% !important;
        padding: 0 !important;
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 0 !important;
        z-index: 10;
    }

    /* Oculta o texto e mostra a lupa */
    .nzl-texto-btn { display: none; }
    .nzl-icone-btn { display: block; font-size: 1.1rem; }

    /* Joga o filtro de região para a linha de baixo com a mesma largura */
    .nazltem-hero-busca select {
        background-color: #ffffff !important;
        border-radius: 50px !important;
        width: 100% !important;
        padding: 14px 20px !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.05);
    }
}

/* Trava o overlay vermelho dentro do card e mata o buraco no rodapé */
.nazltem-card-diretorio-imagem,
.nzl-card-empresa__imagem {
    position: relative !important;
    overflow: hidden !important;
    display: block;
}

/* Estica o filtro de bairros e centraliza o texto no celular */
@media (max-width: 768px) {
    .nazltem-hero-busca select {
        width: 100% !important;
        max-width: 100% !important;
        text-align: center !important;
        text-align-last: center !important; /* Força o alinhamento no centro da caixa */
        box-sizing: border-box !important;
    }
}

/* Mantém a trava anti-rolagem apenas no corpo geral do site */
html, body {
    overflow-x: hidden !important;
}

/* Libera o contêiner do tema para permitir que o hero passe por ele */
.site.grid-container {
    overflow-x: visible !important;
}

/* Força o hero a estourar os limites e preencher 100% da tela (web e mobile) */
.nazltem-hero {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    box-sizing: border-box;
}

/* Grid de 4 colunas cravadas para o Blog e Vagas */
.nazltem-grid--posts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: 100%;
    max-width: 1120px;
    margin: 0 auto 40px auto;
}

/* Centraliza o botão Carregar Mais na parte inferior */
.nzl-btn-wrapper {
    text-align: center;
    width: 100%;
    margin-bottom: 64px;
    display: block;
}

/* Responsivo para tablets (2 colunas) e celulares (1 coluna) */
@media (max-width: 1024px) {
    .nazltem-grid--posts {
        grid-template-columns: repeat(2, 1fr);
        padding: 0 20px;
    }
}

@media (max-width: 768px) {
    .nazltem-grid--posts {
        grid-template-columns: 1fr;
    }
}

/* Estrutura principal do post limitando a largura para leitura fluida */
.nzl-single-post {
    max-width: 800px; 
    margin: 48px auto 80px auto;
    padding: 0 20px;
}

/* Cabeçalho centralizado */
.nzl-single-post__header {
    text-align: center;
    margin-bottom: 40px;
}

.nzl-single-post__categorias {
    margin-bottom: 16px;
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* Remove o comportamento de clique da pílula visual */
.nzl-single-post__categorias .nazltem-pill {
    font-size: 0.85rem;
    padding: 6px 16px;
    pointer-events: none; 
}

.nzl-single-post__titulo {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 16px;
    color: #222;
}

.nzl-single-post__meta {
    font-size: 0.95rem;
    color: #666;
}

/* Tratamento da imagem destacada */
.nzl-single-post__imagem {
    margin-bottom: 40px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}

.nzl-single-post__imagem img {
    width: 100%;
    height: auto;
    display: block;
}

/* Formatação do corpo do texto */
.nzl-single-post__conteudo {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #444;
}

.nzl-single-post__conteudo h2,
.nzl-single-post__conteudo h3 {
    margin-top: 40px;
    margin-bottom: 16px;
    color: #222;
}

/* Arredonda qualquer imagem inserida no meio do post */
.nzl-single-post__conteudo img {
    border-radius: 8px;
    margin: 24px 0;
    max-width: 100%;
    height: auto;
}

/* Mantém os links no tom vermelho da marca */
.nzl-single-post__conteudo a {
    color: #EF1E32;
    font-weight: 600;
    text-decoration: underline;
}

/* Ajustes mobile */
@media (max-width: 768px) {
    .nzl-single-post {
        margin-top: 32px;
    }
    .nzl-single-post__titulo {
        font-size: 1.8rem;
    }
}

/* Container que segura o ícone e o botão no cabeçalho */
.nzl-header-extras {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-left: 24px;
}

/* Ícone do Instagram redimensionado para empatar com a altura do botão */
.nzl-header-ig {
    font-size: 1.8rem !important; 
    color: #333;
    transition: transform 0.2s ease, color 0.2s ease;
    display: flex;
    align-items: center;
    line-height: 1;
}

/* Efeito de hover atualizado para dar um pequeno salto, já que o ícone está maior */
.nzl-header-ig:hover {
    color: #EF1E32;
    transform: scale(1.05);
}

/* Ajustes para caber bem na tela do celular */
@media (max-width: 768px) {
    .nzl-header-extras {
        gap: 16px;
        margin-left: 12px;
    }
    
    .nzl-header-ig {
        font-size: 1.8rem; /* Reduz um pouco no mobile para acompanhar o botão menor */
    }

    .nzl-header-btn {
        padding: 8px 16px;
        font-size: 0.85rem;
    }
}

/* Botão Cadastrar Negócio */
.nzl-header-btn {
    padding: 10px 24px;
    font-size: 0.95rem;
    border-radius: 50px;
    background-color: #EF1E32; /* O vermelho da marca */
    color: #ffffff !important;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    border: none;
    line-height: 1;
}

.nzl-header-btn:hover {
    background-color: #d11a2c;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 30, 50, 0.2);
}

/* Ajustes para caber bem na tela do celular */
@media (max-width: 768px) {
    .nzl-header-extras {
        gap: 16px;
        margin-left: 12px;
    }
    
    .nzl-header-ig {
        font-size: 1.2rem;
    }

    .nzl-header-btn {
        padding: 8px 16px;
        font-size: 0.85rem;
    }
}

/* Prepara os itens do menu para receber a barra */
.main-navigation .main-nav ul li > a {
    position: relative;
}

/* Cria a linha oculta com o efeito de fade e expansão */
.main-navigation .main-nav ul li > a::after {
    content: '';
    position: absolute;
    bottom: 5px; /* Reduzido para dar o respiro abaixo do texto */
    left: 20px; 
    right: 20px;
    height: 2px;
    background-color: #EF1E32;
    transform: scaleX(0);
    opacity: 0;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* Revela a linha quando passa o mouse ou quando a página está ativa */
.main-navigation .main-nav ul li:hover > a::after,
.main-navigation .main-nav ul li.current-menu-item > a::after {
    transform: scaleX(1);
    opacity: 1;
}

/* =========================================
   RODAPÉ CUSTOMIZADO - NA ZL TEM
   ========================================= */
.nzl-custom-footer {
    width: 100%;
    display: block;
    margin-top: 40px;
}

/* Contêiner centralizador reaproveitado */
.nzl-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* Área dos 4 Widgets */
.nzl-footer-widgets {
    background-color: #eee;
    padding: 60px 0;
}

.nzl-widgets-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

/* Formatação base para textos dentro dos widgets */
.nzl-widget-coluna {
    color: #444;
    font-size: 0.95rem;
    line-height: 1.6;
}

.nzl-widget-coluna h2, 
.nzl-widget-coluna .widget-title {
    font-size: 1.2rem;
    color: #222;
    margin-bottom: 20px;
}

.nzl-widget-coluna ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.nzl-widget-coluna ul li {
    margin-bottom: 10px;
}

.nzl-widget-coluna a {
    color: #444;
    text-decoration: none;
    transition: color 0.2s ease;
}

.nzl-widget-coluna a:hover {
    color: #EF1E32;
}

/* Barra Branca do Copyright */
.nzl-footer-bottom {
    background-color: #ffffff;
    padding: 32px 0;
}

.nzl-bottom-flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.nzl-copyright p {
    margin: 0 0 4px 0;
    font-size: 0.9rem;
    color: #555;
    line-height: 1.4;
}

/* Assinatura do Desenvolvedor */
.nzl-desenvolvedor {
    display: flex;
    align-items: center;
    gap: 12px;
}

.nzl-desenvolvedor span {
    font-size: 0.85rem;
    color: #777;
}

.nzl-desenvolvedor img {
    max-width: 90px;
    height: auto;
    display: block;
    transition: transform 0.2s ease;
}

.nzl-desenvolvedor a:hover img {
    transform: scale(1.05);
}

/* Responsividade Mobile */
@media (max-width: 1024px) {
    .nzl-widgets-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .nzl-widgets-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    
    .nzl-bottom-flex {
        flex-direction: column;
        text-align: center;
    }
    
    .nzl-desenvolvedor {
        justify-content: center;
        margin-top: 16px;
    }
}

@media (max-width: 768px) {
    /* Permite que o menu aberto caia para a linha de baixo (wrap) */
    .site-header .inside-header {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important; 
        align-items: center !important;
        justify-content: space-between !important;
        padding: 10px 15px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 1. Logo na esquerda */
    .site-header .site-logo {
        flex: 0 0 auto !important;
        margin: 0 !important;
        order: 1 !important;
    }
    
    .site-header .site-logo img,
    .site-header .custom-logo-link img {
        max-width: 95px !important; 
        height: auto !important;
    }

    /* 2. Instagram e Botão centralizados */
    .nzl-header-extras {
        display: flex !important;
        flex: 1 1 auto !important;
        justify-content: center !important;
        align-items: center !important;
        margin: 0 10px !important; 
        gap: 14px !important;
        order: 2 !important;
    }

    .nzl-header-ig {
        font-size: 1.6rem !important; 
        margin: 0 !important;
    }

    .nzl-header-btn {
        padding: 8px 14px !important; 
        font-size: 0.85rem !important;
        white-space: nowrap !important;
        margin: 0 !important;
    }

    /* 3. Wrapper do botão hambúrguer na direita */
    .site-header .mobile-menu-control-wrapper {
        flex: 0 0 auto !important;
        margin: 0 !important;
        order: 3 !important;
    }

    /* Formata o quadrado do botão hambúrguer */
    .main-navigation .menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 44px !important;
        height: 44px !important;
        padding: 0 !important;
        margin: 0 !important;
        border-radius: 8px !important; 
    }

    /* Esconde a palavra "Menu" nativa do GeneratePress */
    .main-navigation .menu-toggle .mobile-menu {
        display: none !important;
    }

	/* Mata o botão hambúrguer duplicado (o intruso) */
    #site-navigation .menu-toggle {
        display: none !important;
    }

    /* Centraliza perfeitamente o ícone (barrinhas ou o X) */
    .main-navigation .menu-toggle .gp-icon {
        font-size: 1.4rem !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* 4. Força o menu aberto a ocupar a linha inteira abaixo do cabeçalho */
    .site-header #site-navigation,
    .site-header .main-navigation.toggled {
        order: 4 !important;
        width: 100% !important;
        flex: 1 1 100% !important;
        margin-top: 10px !important;
    }
}

/* =========================================
   ESTILIZAÇÃO DA PÁGINA DE PLANOS
   ========================================= */
/* Força espaçamento brutal e limpa herança do tema no topo */
.nzl-pagina-planos {
    max-width: 1200px !important;
    margin: 60px auto 80px auto !important;
    padding: 0 20px !important;
}

.nzl-planos-header {
    text-align: center !important;
    margin-bottom: 80px !important; /* Joga os cards lá para baixo, longe da subheadline */
    margin-top: 20px !important;
    display: block !important;
    width: 100% !important;
}

/* Cabeçalho da página de planos herdando a tipografia do tema pai */
.nzl-planos-header h1, 
.entry-title {
    font-family: var(--nzl-fonte-titulo) !important;
    font-weight: 600 !important;
    font-size: 2.5rem !important;
    color: var(--nzl-texto) !important;
    margin-bottom: 12px !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
}

.nzl-planos-header p {
    font-family: var(--nzl-fonte-corpo) !important;
    font-size: 1.1rem !important;
    color: var(--nzl-texto-suave) !important;
    margin: 0 !important;
}

/* Padronização do link de voltar para todas as páginas do painel */
.nzl-link-voltar {
    display: inline-block;
    margin-top: 24px;
    color: var(--nzl-vermelho) !important;
    font-family: var(--nzl-fonte-titulo) !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    font-size: 1rem;
    text-align: center;
    transition: opacity 0.2s ease;
}

.nzl-link-voltar:hover {
    opacity: 0.8;
}

.nzl-wrapper-voltar {
    text-align: center;
    width: 100%;
}

/* Grid de 3 colunas */
.nzl-planos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    align-items: stretch; /* Garante altura uniforme para os cards */
    margin-bottom: 48px;
}

/* Estrutura Base do Card */
.nzl-plano-card {
    border-radius: 16px;
    padding: 36px 28px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    transition: transform 0.3s ease;
}

.nzl-plano-card:hover {
    transform: translateY(-6px);
}

/* 1. Plano Grátis */
.nzl-plano-gratis {
    background-color: #ffffff;
    color: #333;
    border: 1px solid #eaeaea;
}

/* 2. Plano Destaque (Elevado) */
.nzl-plano-destaque {
    background-color: #f39c12; 
    color: #ffffff;
    transform: scale(1.03); 
    box-shadow: 0 16px 40px rgba(243, 156, 18, 0.25);
    z-index: 2;
}

.nzl-plano-destaque:hover {
    transform: scale(1.03) translateY(-6px);
}

.nzl-badge-destaque {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #222;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    padding: 6px 16px;
    border-radius: 50px;
    letter-spacing: 0.5px;
}

/* 3. Plano Premium */
.nzl-plano-premium {
    background-color: #EF1E32;
    color: #ffffff;
}

/* Topo do Card */
.nzl-plano-topo h3 {
    font-size: 1.5rem;
    margin-bottom: 12px;
    font-weight: 700;
}

.nzl-preco {
    font-size: 2.2rem;
    font-weight: 800;
    margin-bottom: 4px;
}

.nzl-preco span {
    font-size: 0.9rem;
    font-weight: 400;
    opacity: 0.8;
}

.nzl-subpreco {
    font-size: 0.9rem;
    opacity: 0.85;
    margin-bottom: 24px;
}

/* Lista de Funcionalidades */
.nzl-funcionalidades {
    list-style: none;
    padding: 0;
    margin: 0 0 28px 0;
    border-top: 1px solid rgba(0,0,0,0.1);
    padding-top: 20px;
    flex-grow: 1;
}

.nzl-plano-destaque .nzl-funcionalidades,
.nzl-plano-premium .nzl-funcionalidades {
    border-top: 1px solid rgba(255,255,255,0.2);
}

.nzl-funcionalidades li {
    font-size: 0.88rem; /* Tamanho otimizado para caber todos os novos textos perfeitamente */
    margin-bottom: 12px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    line-height: 1.4;
}

.nzl-funcionalidades li i {
    font-size: 0.85rem;
    margin-top: 3px;
}

.nzl-plano-gratis .nzl-funcionalidades li i.fa-check {
    color: #27ae60;
}

.nzl-plano-destaque .nzl-funcionalidades li i,
.nzl-plano-premium .nzl-funcionalidades li i {
    color: #ffffff;
}

/* Destaque inicial da lista ("Inclui tudo de...") */
.nzl-destaque-topo-lista {
    font-weight: 600;
    margin-bottom: 16px !important;
    padding-bottom: 8px;
    border-bottom: 1px dashed rgba(255,255,255,0.25);
}

.nzl-plano-gratis .nzl-destaque-topo-lista {
    border-bottom: 1px dashed rgba(0,0,0,0.1);
}

/* Nota de rodapé asterisco */
.nzl-nota-rodape {
    font-size: 0.75rem !important;
    opacity: 0.85;
    margin-top: -6px;
    margin-bottom: 12px !important;
    font-style: italic;
}

/* Sub-lista do Premium */
.nzl-sub-lista {
    list-style: disc;
    padding-left: 18px;
    margin: 6px 0 0 0;
}

.nzl-sub-lista li {
    font-size: 0.8rem;
    margin-bottom: 4px;
    opacity: 0.9;
}

/* Botão "Quero Este" */
.nzl-plano-footer {
    text-align: center;
    margin-top: auto;
}

.nzl-btn-plano {
    display: block;
    width: 100%;
    padding: 14px;
    border-radius: 50px;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

.nzl-plano-gratis .nzl-btn-plano {
    background-color: #222;
    color: #fff;
}

.nzl-plano-destaque .nzl-btn-plano {
    background-color: #ffffff;
    color: #f39c12;
}

.nzl-plano-premium .nzl-btn-plano {
    background-color: #ffffff;
    color: #EF1E32;
}

.nzl-btn-plano:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

/* Link de voltar */
.nzl-planos-voltar {
    text-align: center;
    margin-top: 32px;
}

.nzl-planos-voltar a {
    color: #EF1E32;
    font-weight: 600;
    text-decoration: none;
}

/* Responsivo */
@media (max-width: 900px) {
    .nzl-planos-grid {
        grid-template-columns: 1fr;
        max-width: 450px;
        margin: 0 auto 48px auto;
    }
    
    .nzl-plano-destaque {
        transform: scale(1); 
    }
    .nzl-plano-destaque:hover {
        transform: translateY(-6px);
    }
}

/* =========================================
   PÁGINA DA EMPRESA (Layout e Galeria)
   ========================================= */

/* Divide o corpo da página em 2 colunas */
.nzl-single-empresa__corpo {
    display: grid;
    grid-template-columns: 2fr 1fr; /* Esquerda ocupa 2 partes, direita ocupa 1 */
    gap: 40px;
    margin-top: 40px;
    align-items: start;
}

/* Responsivo para celulares (empilha as colunas) */
@media (max-width: 768px) {
    .nzl-single-empresa__corpo {
        grid-template-columns: 1fr;
    }
}

/* Formata o grid da galeria para ficar lado a lado */
.nzl-single-empresa__galeria {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 16px;
    margin-top: 32px;
}

.nzl-single-empresa__galeria img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    transition: transform 0.2s ease;
}

.nzl-single-empresa__galeria img:hover {
    transform: translateY(-4px);
}

/* =========================================
   LIGHTBOX DA GALERIA (Carrossel)
   ========================================= */
.nzl-lightbox {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.nzl-lightbox.ativo {
    opacity: 1;
    visibility: visible;
}

.nzl-lightbox-overlay {
    position: absolute;
    inset: 0;
    background: rgba(43, 33, 26, 0.92); /* Tom escuro da marca com transparência */
    backdrop-filter: blur(4px);
}

.nzl-lightbox-content {
    position: relative;
    z-index: 2;
    max-width: 90%;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.nzl-lightbox-content img {
    max-width: 100%;
    max-height: 85vh;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.5);
    object-fit: contain;
}

.nzl-lightbox-fechar,
.nzl-lightbox-prev,
.nzl-lightbox-next {
    position: absolute;
    background: var(--nzl-vermelho);
    color: #fff;
    border: none;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.3rem;
    cursor: pointer;
    transition: transform 0.2s ease, background 0.2s ease;
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
}

.nzl-lightbox-fechar:hover,
.nzl-lightbox-prev:hover,
.nzl-lightbox-next:hover {
    background: var(--nzl-laranja-avermelhado);
    transform: scale(1.1);
}

/* Posições dos botões no Desktop */
.nzl-lightbox-fechar {
    top: -24px;
    right: -24px;
}

.nzl-lightbox-prev {
    left: -70px;
}

.nzl-lightbox-next {
    right: -70px;
}

/* Ajustes para caber bem no celular */
@media (max-width: 768px) {
    .nzl-lightbox-fechar {
        top: -60px;
        right: 0;
    }
    
    .nzl-lightbox-prev {
        left: 10px;
    }
    
    .nzl-lightbox-next {
        right: 10px;
    }
}

/* =========================================
   BLOCO DE CONTATO LATERAL (Página da Empresa)
   ========================================= */
.nzl-single-empresa__contato {
    background-color: var(--nzl-fundo);
    padding: 32px 24px;
    border-radius: 16px;
    font-family: var(--nzl-fonte-corpo);
    color: var(--nzl-texto);
    border: 1px solid var(--nzl-borda);
}

/* Espaçamento e alinhamento das linhas */
.nzl-single-empresa__contato p {
    margin: 0 0 16px 0;
    font-size: 1rem;
    line-height: 1.5;
    display: flex;
    align-items: center;
    gap: 8px; /* Dá um respiro entre o ícone e o texto */
}

/* Formatação dos links (Telefone, Instagram, Site) */
.nzl-single-empresa__contato a {
    color: var(--nzl-texto) !important;
    text-decoration: none !important;
    font-weight: 500;
    transition: color 0.2s ease;
    box-shadow: none !important; /* Mata sombras nativas de links do tema */
}

/* Hover nos links */
.nzl-single-empresa__contato p a:hover {
    color: var(--nzl-vermelho) !important;
}

/* Ajuste específico para o botão do WhatsApp não herdar as regras acima */
.nzl-single-empresa__contato a.nazltem-btn-whatsapp {
    color: #ffffff !important;
    margin-top: 8px;
    margin-bottom: 24px;
    width: 100%;
    justify-content: center;
    padding: 14px;
    font-size: 1rem;
}

/* Arredondamento e borda do mapa do Google */
.nzl-single-empresa__mapa {
    margin-top: 32px;
    border-radius: 12px;
    overflow: hidden; /* Força o iframe a respeitar os cantos arredondados */
    border: 1.5px solid var(--nzl-borda);
    box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.nzl-single-empresa__mapa iframe {
    display: block;
    width: 100%;
}

a.nazltem-btn.nzl-btn-sair {
    background: transparent;
    color: #EF1E32 !important;
    border: 2px solid #EF1E32;
}

a.nazltem-btn.nzl-btn-sair:hover {
    background: #EF1E32;
    color: #fff !important;
}

/* No mobile, o "Sair" vira um círculo com X — o pill com texto
   estourava a largura de .nzl-header-extras e empurrava tudo
   (Instagram, Cadastrar negócio, menu) para a linha de baixo do logo */
@media (max-width: 768px) {
    a.nazltem-btn.nzl-btn-sair {
        position: relative !important;
        width: 34px !important;
        height: 34px !important;
        padding: 0 !important;
        border-radius: 50% !important;
        font-size: 0 !important;
        line-height: 1 !important;
        flex: 0 0 auto !important;
    }

    /* X desenhado com duas barras cruzadas (mais grosso e sempre
       centralizado, em vez de depender do glyph "×" da fonte) */
    a.nazltem-btn.nzl-btn-sair::before,
    a.nazltem-btn.nzl-btn-sair::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 14px;
        height: 2.5px;
        background: currentColor;
        border-radius: 2px;
    }

    a.nazltem-btn.nzl-btn-sair::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    a.nazltem-btn.nzl-btn-sair::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
}