/* =========================================================
   Nuuvm — estilos do tema
   ========================================================= */
:root {
	--nv-blue: #009ECF;
	--nv-teal: #009A90;
	--nv-grad: linear-gradient(90deg, #009ECF 0%, #009A90 100%);
	--nv-grad-light: linear-gradient(90deg, #3FC6F2 0%, #1ED3BC 100%);
	--nv-navy: #0A1A2F;
	--nv-navy-2: #102A47;
	--nv-navy-3: #071425;
	--nv-ink: #0F1E33;
	--nv-text: #52617A;
	--nv-muted: #8A97AB;
	--nv-line: #E3EAF2;
	--nv-soft: #F3F7FB;
	--nv-wa: #25D366;
	--nv-radius: 16px;
	--nv-shadow: 0 10px 30px rgba(15, 30, 51, .08);
	--nv-shadow-lg: 0 24px 60px rgba(15, 30, 51, .16);
	--nv-font: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--nv-max: 1200px;
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body.nv-site {
	margin: 0;
	overflow-x: clip;
	font-family: var(--nv-font);
	font-size: 16px;
	line-height: 1.7;
	color: var(--nv-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}
body.nv-site img { max-width: 100%; height: auto; }
body.nv-site a { color: var(--nv-blue); text-decoration: none; transition: color .2s; }
body.nv-site a:hover { color: var(--nv-teal); }
body.nv-site h1, body.nv-site h2, body.nv-site h3, body.nv-site h4 { font-family: var(--nv-font); color: var(--nv-ink); line-height: 1.2; margin: 0 0 .5em; }
.nv-wrap { width: 100%; max-width: var(--nv-max); margin: 0 auto; padding: 0 20px; }
.nv-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; background: #fff; padding: 10px 16px; }
.nv-skip:focus { left: 10px; top: 10px; }
.nv-ico { width: 1.15em; height: 1.15em; flex: none; vertical-align: middle; }

/* ---------- Topbar ---------- */
.nv-topbar { background: var(--nv-navy-3); color: #B7C4D6; font-size: 13.5px; }
.nv-topbar-in { display: flex; align-items: center; justify-content: space-between; min-height: 42px; gap: 16px; }
.nv-topbar-contacts { display: flex; gap: 26px; flex-wrap: wrap; }
body.nv-site .nv-topbar a { color: #B7C4D6; display: inline-flex; align-items: center; gap: 8px; }
body.nv-site .nv-topbar a:hover { color: #fff; }
.nv-topbar .nv-ico { color: #3FC6F2; }
.nv-social { display: flex; gap: 6px; }
body.nv-site .nv-social a { display: inline-flex; width: 32px; height: 32px; align-items: center; justify-content: center; border-radius: 50%; color: #B7C4D6; transition: background .2s, color .2s; }
body.nv-site .nv-social a:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.nv-social .nv-ico { width: 16px; height: 16px; color: inherit; }

/* ---------- Header ---------- */
.nv-header { position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, .97); backdrop-filter: saturate(180%) blur(10px); border-bottom: 1px solid transparent; transition: box-shadow .25s, border-color .25s; }
body.admin-bar .nv-header { top: 32px; }
.nv-header.is-scrolled { box-shadow: 0 6px 24px rgba(15, 30, 51, .08); border-color: var(--nv-line); }
.nv-header-in { display: flex; align-items: center; justify-content: space-between; min-height: 80px; gap: 24px; }
.nv-logo { display: inline-flex; align-items: center; }
body.nv-site .nv-logo img { height: 36px; width: auto; display: block; }
.nv-nav { display: flex; align-items: center; gap: 28px; }
.nv-menu { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.nv-menu li { position: relative; }
body.nv-site .nv-menu a { display: block; white-space: nowrap; padding: 10px 14px; color: var(--nv-ink); font-weight: 500; font-size: 15px; border-radius: 8px; }
body.nv-site .nv-menu a:hover,
body.nv-site .nv-menu .current-menu-item > a,
body.nv-site .nv-menu .current_page_item > a { color: var(--nv-blue); }
.nv-menu .sub-menu { list-style: none; margin: 0; padding: 8px; position: absolute; top: 100%; left: 0; min-width: 220px; background: #fff; border-radius: 12px; box-shadow: var(--nv-shadow-lg); opacity: 0; visibility: hidden; transform: translateY(8px); transition: .2s; }
.nv-menu li:hover > .sub-menu, .nv-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
body.nv-site a.nv-btn-header { display: inline-flex; align-items: center; gap: 8px; background: var(--nv-grad); color: #fff; padding: 12px 22px; border-radius: 999px; font-weight: 600; font-size: 14.5px; box-shadow: 0 8px 20px rgba(0, 158, 207, .28); transition: transform .2s, box-shadow .2s; white-space: nowrap; }
body.nv-site a.nv-btn-header:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0, 158, 207, .36); }
.nv-burger { display: none; background: none; border: 0; padding: 8px; color: var(--nv-ink); cursor: pointer; }
.nv-burger .nv-ico { width: 28px; height: 28px; }
.nv-burger .nv-ico-close { display: none; }

/* ---------- Seções (containers do Elementor) ---------- */
body.nv-site .e-con.nv-sec { padding: 100px 20px !important; }
body.nv-site .e-con.nv-sec > .e-con-inner { max-width: var(--nv-max) !important; gap: 56px !important; padding: 0 !important; }
body.nv-site .e-con.nv-sec--alt { background: var(--nv-soft); }
body.nv-site .e-con.nv-sec--dark { background: radial-gradient(800px 400px at 15% 20%, rgba(0, 158, 207, .18), transparent 70%), radial-gradient(700px 400px at 90% 90%, rgba(0, 154, 144, .16), transparent 70%), var(--nv-navy); color: #C9D5E4; }
body.nv-site .nv-sec--dark .nv-title .elementor-heading-title { color: #fff; }
body.nv-site .nv-sec--dark .nv-sub, body.nv-site .nv-sec--dark .nv-sub p { color: #B7C4D6; }

/* Containers internos: zera padding padrão do Elementor */
body.nv-site .e-con.nv-head,
body.nv-site .e-con.nv-split-copy,
body.nv-site .e-con.nv-hero-copy,
body.nv-site .e-con.nv-cta-copy,
body.nv-site .e-con.nv-contact-info,
body.nv-site .e-con.nv-btns { padding: 0 !important; }

/* Cabeçalho de seção */
body.nv-site .e-con.nv-head { gap: 14px !important; max-width: 760px !important; margin: 0 auto !important; width: 100% !important; }
body.nv-site .nv-center, body.nv-site .nv-center .elementor-heading-title { text-align: center; }
.nv-eyebrow { display: inline-block; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--nv-blue); background: rgba(0, 158, 207, .09); padding: 7px 14px; border-radius: 999px; }
.nv-eyebrow--light { color: #7FDBF7; background: rgba(63, 198, 242, .12); border: 1px solid rgba(63, 198, 242, .25); }
body.nv-site .nv-title .elementor-heading-title { font-family: var(--nv-font); font-size: clamp(28px, 3.4vw, 42px); font-weight: 700; line-height: 1.18; color: var(--nv-ink); letter-spacing: -.01em; }
body.nv-site .nv-sub, body.nv-site .nv-sub p { font-family: var(--nv-font); font-size: 17px; color: var(--nv-text); line-height: 1.75; }
body.nv-site .nv-sub p { margin: 0 0 12px; }
body.nv-site .nv-sub p:last-child { margin-bottom: 0; }

/* ---------- Grids ---------- */
body.nv-site .e-con.nv-grid { display: grid !important; gap: 28px !important; padding: 0 !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body.nv-site .e-con.nv-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.nv-site .e-con.nv-grid > .e-con { width: auto !important; max-width: none !important; }
body.nv-site .e-con.nv-split { display: grid !important; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 64px !important; align-items: center; padding: 0 !important; }
body.nv-site .e-con.nv-split > * { width: auto !important; max-width: none !important; }
body.nv-site .e-con.nv-split-copy, body.nv-site .e-con.nv-hero-copy { gap: 20px !important; }

/* ---------- Botões ---------- */
body.nv-site .e-con.nv-btns { flex-direction: row !important; flex-wrap: wrap; gap: 14px !important; align-items: center; width: auto; }
body.nv-site .nv-btn .elementor-button,
body.nv-site .nv-form .wpcf7-submit {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	font-family: var(--nv-font); font-size: 15.5px; font-weight: 600; line-height: 1;
	padding: 17px 30px; border-radius: 999px; border: 2px solid transparent;
	background: var(--nv-grad); color: #fff; fill: #fff;
	box-shadow: 0 10px 24px rgba(0, 158, 207, .28);
	transition: transform .2s, box-shadow .2s, background .2s, color .2s;
	cursor: pointer; text-decoration: none;
}
body.nv-site .nv-btn .elementor-button:hover,
body.nv-site .nv-form .wpcf7-submit:hover { transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0, 158, 207, .38); color: #fff; }
body.nv-site .nv-btn--ghost .elementor-button { background: transparent; color: var(--nv-blue); border-color: rgba(0, 158, 207, .45); box-shadow: none; }
body.nv-site .nv-btn--ghost .elementor-button:hover { background: var(--nv-grad); color: #fff; border-color: transparent; }
body.nv-site .nv-btn--outline-light .elementor-button { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .45); box-shadow: none; }
body.nv-site .nv-btn--outline-light .elementor-button:hover { background: #fff; color: var(--nv-navy); border-color: #fff; }
body.nv-site .nv-btn--white .elementor-button { background: #fff; color: var(--nv-ink); box-shadow: 0 10px 24px rgba(0, 0, 0, .15); }
body.nv-site .nv-btn--white .elementor-button:hover { color: var(--nv-blue); }
body.nv-site .nv-btn--full, body.nv-site .nv-btn--full .elementor-button-wrapper, body.nv-site .nv-btn--full .elementor-button { width: 100%; }
body.nv-site .nv-link .elementor-button { background: none; padding: 0; color: var(--nv-blue); font-family: var(--nv-font); font-weight: 600; font-size: 15px; border-radius: 0; box-shadow: none; }
body.nv-site .nv-link .elementor-button:hover { color: var(--nv-teal); }

/* ---------- Hero ---------- */
body.nv-site .e-con.nv-hero,
body.nv-site .e-con.nv-page-hero,
.nv-page-hero--simple {
	position: relative; overflow: hidden; color: #C9D5E4;
	background:
		radial-gradient(900px 500px at 85% 15%, rgba(0, 158, 207, .28), transparent 65%),
		radial-gradient(700px 500px at 0% 100%, rgba(0, 154, 144, .22), transparent 65%),
		radial-gradient(rgba(255, 255, 255, .06) 1px, transparent 1px) 0 0 / 26px 26px,
		linear-gradient(160deg, #0A1A2F 0%, #0D2440 100%);
}
body.nv-site .e-con.nv-hero { padding: 90px 20px 110px !important; }
body.nv-site .e-con.nv-hero-grid { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
body.nv-site .nv-hero-title .elementor-heading-title, .nv-page-hero--simple .nv-hero-title { font-family: var(--nv-font); color: #fff; font-weight: 700; font-size: clamp(34px, 5vw, 58px); line-height: 1.1; letter-spacing: -.02em; margin: 0; }
.nv-grad { background: var(--nv-grad-light); -webkit-background-clip: text; background-clip: text; color: transparent; }
body.nv-site .nv-hero-text, body.nv-site .nv-hero-text p { font-family: var(--nv-font); font-size: 18px; line-height: 1.75; color: #B7C4D6; margin: 0; max-width: 620px; }
body.nv-site .e-con.nv-page-hero { padding: 96px 20px 100px !important; text-align: center; }
body.nv-site .e-con.nv-page-hero > .e-con-inner { gap: 18px !important; align-items: center; max-width: 860px !important; }
body.nv-site .nv-page-hero .nv-hero-title .elementor-heading-title { font-size: clamp(32px, 4.4vw, 52px); }
body.nv-site .nv-page-hero .nv-hero-text p { margin: 0 auto; }
.nv-page-hero--simple { padding: 80px 0; text-align: center; }
.nv-art { width: 100%; height: auto; display: block; }
.nv-hero-art .nv-art { filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .35)); }
.nv-art-dark { background: linear-gradient(160deg, #0A1A2F, #102A47); border-radius: 24px; padding: 28px; box-shadow: var(--nv-shadow-lg); }

/* Animações sutis */
@keyframes nvFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes nvBlink { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
@keyframes nvFlow { to { stroke-dashoffset: -20; } }
@keyframes nvSpin { to { transform: rotate(360deg); } }
.nv-float { animation: nvFloat 4s ease-in-out infinite; }
.nv-blink { animation: nvBlink 1.8s ease-in-out infinite; }
.nv-flow { animation: nvFlow 1.2s linear infinite; }
.nv-spin { animation: nvSpin 8s linear infinite; }
@media (prefers-reduced-motion: reduce) { .nv-float, .nv-blink, .nv-flow, .nv-spin { animation: none; } }

/* ---------- Checklist ---------- */
.nv-checks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.nv-checks li { display: flex; align-items: flex-start; gap: 12px; color: var(--nv-ink); font-weight: 500; }
.nv-ico-check { width: 22px; height: 22px; flex: none; padding: 4px; border-radius: 50%; color: #fff; background: var(--nv-grad); stroke-width: 3; margin-top: 2px; }
.nv-checks--light li { color: #DDE6F1; }
.nv-checks--inline .nv-checks { display: flex; flex-wrap: wrap; gap: 12px 26px; }
.nv-checks--inline li { font-size: 14.5px; }

/* ---------- Cards ---------- */
body.nv-site .e-con.nv-card,
body.nv-site .e-con.nv-step {
	background: #fff; border: 1px solid var(--nv-line); border-radius: var(--nv-radius);
	padding: 34px 30px !important; gap: 14px !important; justify-content: flex-start;
	transition: transform .25s, box-shadow .25s, border-color .25s;
}
body.nv-site .e-con.nv-card:hover { transform: translateY(-6px); box-shadow: var(--nv-shadow-lg); border-color: transparent; }
.nv-card-ico { display: inline-flex; width: 58px; height: 58px; border-radius: 14px; align-items: center; justify-content: center; background: var(--nv-grad); color: #fff; box-shadow: 0 10px 22px rgba(0, 158, 207, .28); }
.nv-card-ico .nv-ico { width: 28px; height: 28px; }
body.nv-site .nv-card-title .elementor-heading-title { font-family: var(--nv-font); font-size: 20px; font-weight: 600; color: var(--nv-ink); line-height: 1.3; }
body.nv-site .nv-card-text, body.nv-site .nv-card-text p { font-family: var(--nv-font); font-size: 15.5px; color: var(--nv-text); line-height: 1.7; margin: 0; }
body.nv-site .nv-card .nv-link { margin-top: auto; }

/* Passos */
.nv-step-n { display: inline-flex; width: 48px; height: 48px; border-radius: 50%; align-items: center; justify-content: center; font-weight: 700; font-size: 20px; color: #fff; background: var(--nv-grad); }

/* ---------- Planos ---------- */
body.nv-site .e-con.nv-plans { align-items: stretch; }
body.nv-site .e-con.nv-plan {
	position: relative; background: #fff; border: 1px solid var(--nv-line); border-radius: 20px;
	padding: 36px 28px 30px !important; gap: 14px !important; box-shadow: var(--nv-shadow);
	transition: transform .25s, box-shadow .25s;
}
body.nv-site .e-con.nv-plan:hover { transform: translateY(-6px); box-shadow: var(--nv-shadow-lg); }
body.nv-site .e-con.nv-plan--featured { border: 2px solid transparent; background: linear-gradient(#fff, #fff) padding-box, var(--nv-grad) border-box; box-shadow: 0 24px 60px rgba(0, 158, 207, .22); }
.nv-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--nv-grad); color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 6px 14px; border-radius: 999px; white-space: nowrap; }
body.nv-site .nv-badge-w { position: static !important; height: 0; margin-bottom: -14px; }
body.nv-site .nv-plan-name .elementor-heading-title { font-family: var(--nv-font); font-size: 21px; font-weight: 600; color: var(--nv-ink); }
body.nv-site .nv-plan-desc, body.nv-site .nv-plan-desc p { font-size: 14.5px; color: var(--nv-muted); margin: 0; line-height: 1.5; }
.nv-price { display: flex; align-items: baseline; gap: 4px; color: var(--nv-ink); padding: 6px 0 14px; border-bottom: 1px solid var(--nv-line); }
.nv-price small { font-size: 18px; font-weight: 600; }
.nv-price strong { font-size: 48px; font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.nv-price span { font-size: 15px; color: var(--nv-muted); }
.nv-price--text strong { font-size: 32px; line-height: 1.5; }
body.nv-site .nv-plan-feats ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
body.nv-site .nv-plan-feats li { position: relative; padding-left: 28px; font-size: 15px; color: var(--nv-text); }
body.nv-site .nv-plan-feats li::before { content: ""; position: absolute; left: 0; top: 5px; width: 17px; height: 17px; border-radius: 50%; background: var(--nv-grad); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12'/%3E%3C/svg%3E") center/contain; }
body.nv-site .nv-plan-feats li::after { content: ""; position: absolute; left: 5.5px; top: 9px; width: 6px; height: 3.5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }
body.nv-site .nv-plan-feats b { color: var(--nv-ink); }
body.nv-site .nv-plan .nv-btn { margin-top: auto; padding-top: 10px; }

/* ---------- CTA ---------- */
body.nv-site .e-con.nv-cta { padding: 20px 20px 100px !important; }
body.nv-site .e-con.nv-cta-box {
	flex-direction: row !important; align-items: center; justify-content: space-between; gap: 32px !important;
	padding: 56px 60px !important; border-radius: 28px; color: #fff; position: relative; overflow: hidden;
	background: radial-gradient(500px 300px at 100% 0%, rgba(255, 255, 255, .18), transparent 70%), var(--nv-grad);
	box-shadow: 0 30px 60px rgba(0, 158, 207, .25);
}
body.nv-site .e-con.nv-cta-copy { gap: 10px !important; max-width: 640px; }
body.nv-site .nv-cta-title .elementor-heading-title { font-family: var(--nv-font); color: #fff; font-size: clamp(26px, 3vw, 36px); font-weight: 700; line-height: 1.2; }
body.nv-site .nv-cta-text, body.nv-site .nv-cta-text p { color: rgba(255, 255, 255, .9); font-size: 17px; margin: 0; }
body.nv-site .e-con.nv-cta-btns { flex: none; }

/* ---------- Sobre ---------- */
.nv-logo-card { background: linear-gradient(160deg, #fff, var(--nv-soft)); border: 1px solid var(--nv-line); border-radius: 28px; padding: 60px; display: flex; align-items: center; justify-content: center; box-shadow: var(--nv-shadow); }
.nv-logo-card img { width: 60%; max-width: 280px; }

/* ---------- Contato ---------- */
body.nv-site .e-con.nv-contact { align-items: start; }
body.nv-site .e-con.nv-contact-info { gap: 24px !important; }
.nv-contact-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; }
.nv-contact-list li { display: flex; gap: 16px; align-items: flex-start; }
.nv-contact-list .nv-ico { width: 48px; height: 48px; padding: 12px; border-radius: 12px; background: rgba(0, 158, 207, .1); color: var(--nv-blue); }
.nv-contact-list div { display: flex; flex-direction: column; line-height: 1.5; }
.nv-contact-list b { color: var(--nv-ink); font-weight: 600; }
body.nv-site .e-con.nv-contact-form { background: #fff; border: 1px solid var(--nv-line); border-radius: 20px; padding: 36px !important; box-shadow: var(--nv-shadow); gap: 16px !important; }
.nv-form .wpcf7 br { display: none; }
.nv-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.nv-form label { display: block; font-size: 14px; font-weight: 500; color: var(--nv-ink); margin-bottom: 14px; }
.nv-form input:not([type=submit]), .nv-form select, .nv-form textarea {
	display: block; width: 100%; margin-top: 6px; font-family: var(--nv-font); font-size: 15px; color: var(--nv-ink);
	padding: 13px 15px; border: 1px solid var(--nv-line); border-radius: 10px; background: var(--nv-soft); transition: border-color .2s, box-shadow .2s, background .2s;
}
.nv-form textarea { min-height: 130px; resize: vertical; }
.nv-form input:focus, .nv-form select:focus, .nv-form textarea:focus { outline: none; border-color: var(--nv-blue); background: #fff; box-shadow: 0 0 0 4px rgba(0, 158, 207, .12); }
.nv-form .wpcf7-submit { width: 100%; }
.nv-form .wpcf7-spinner { display: none; }
body.nv-site .e-con.nv-map-sec { padding: 0 20px 100px !important; }
.nv-map { border-radius: 20px; overflow: hidden; box-shadow: var(--nv-shadow); line-height: 0; }
.nv-map iframe { width: 100%; height: 400px; border: 0; }

/* ---------- Conteúdo simples (páginas sem Elementor) ---------- */
.nv-prose { padding-top: 64px; padding-bottom: 80px; max-width: 860px; }
.nv-prose .nv-post { padding: 24px 0; border-bottom: 1px solid var(--nv-line); }

/* ---------- Rodapé ---------- */
.nv-footer { background: var(--nv-navy-3); color: #9FB0C6; font-size: 15px; }
.nv-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 48px; padding-top: 80px; padding-bottom: 56px; }
body.nv-site .nv-footer-about .nv-logo img { height: 34px; }
.nv-footer-about p { margin: 20px 0; max-width: 340px; line-height: 1.75; }
body.nv-site .nv-footer h4 { color: #fff; font-size: 16px; font-weight: 600; margin: 6px 0 20px; }
.nv-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
body.nv-site .nv-footer a { color: #9FB0C6; }
body.nv-site .nv-footer a:hover { color: #fff; }
.nv-footer-contact li { display: flex; gap: 12px; align-items: flex-start; line-height: 1.55; }
.nv-footer-contact .nv-ico { color: #3FC6F2; margin-top: 3px; }
.nv-social--footer { margin-left: -6px; }
body.nv-site .nv-social--footer a { width: 38px; height: 38px; background: rgba(255, 255, 255, .06); }
body.nv-site .nv-social--footer a:hover { background: var(--nv-grad); }
.nv-footer-bottom { border-top: 1px solid rgba(255, 255, 255, .08); padding: 22px 0; font-size: 14px; color: #74859C; }

/* Botão flutuante do WhatsApp */
body.nv-site a.nv-wa-float { position: fixed; right: 22px; bottom: 22px; z-index: 90; width: 60px; height: 60px; border-radius: 50%; background: var(--nv-wa); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 28px rgba(37, 211, 102, .45); transition: transform .2s; }
body.nv-site a.nv-wa-float:hover { transform: scale(1.08); color: #fff; }
.nv-wa-float .nv-ico { width: 32px; height: 32px; }

/* ---------- Fallback (página sem Elementor ativo) ---------- */
.nv-fallback .e-con { display: flex; flex-direction: column; gap: 20px; padding: 10px; width: 100%; }
.nv-fallback .e-con.nv-dir-row { flex-direction: row; }
.nv-fallback .e-con-boxed > .e-con-inner { display: flex; flex-direction: column; width: 100%; margin: 0 auto; gap: 20px; }
.nv-fallback .elementor-heading-title { margin: 0; }
.nv-fallback .elementor-button-wrapper { display: block; }
.nv-fallback .elementor-button { display: inline-flex; }

/* ---------- Responsivo ---------- */
@media (max-width: 1100px) {
	body.nv-site .e-con.nv-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nv-footer-grid { grid-template-columns: 1fr 1fr; }
	.nv-menu { gap: 0; }
	body.nv-site .nv-menu a { padding: 10px 10px; font-size: 14.5px; }
	.nv-nav { gap: 16px; }
}
@media (max-width: 960px) {
	.nv-burger { display: inline-flex; }
	.nv-header { backdrop-filter: none; background: #fff; }
	.nv-nav { visibility: hidden; }
	body.nv-menu-open .nv-nav { visibility: visible; }
	.nv-nav {
		position: fixed; inset: 0 0 0 auto; width: min(340px, 86vw); flex-direction: column; align-items: stretch; gap: 20px;
		background: #fff; padding: 96px 24px 32px; box-shadow: -20px 0 60px rgba(15, 30, 51, .2);
		transform: translateX(105%); transition: transform .3s ease, visibility .3s; z-index: 99; overflow-y: auto;
	}
	body.nv-menu-open .nv-nav { transform: none; }
	body.nv-menu-open .nv-burger .nv-ico-open { display: none; }
	body.nv-menu-open .nv-burger .nv-ico-close { display: block; }
	.nv-burger { position: relative; z-index: 101; }
	.nv-menu { flex-direction: column; }
	body.nv-site .nv-menu a { padding: 14px 8px; font-size: 17px; border-bottom: 1px solid var(--nv-line); border-radius: 0; }
	.nv-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; padding: 0 0 0 14px; }
	body.nv-site a.nv-btn-header { justify-content: center; }
	body.nv-site .e-con.nv-split, body.nv-site .e-con.nv-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 44px !important; }
	body.nv-site .e-con.nv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.nv-site .e-con.nv-cta-box { flex-direction: column !important; align-items: flex-start; padding: 44px 32px !important; }
	.nv-hero-art { max-width: 520px; margin: 0 auto; }
}
@media (max-width: 767px) {
	body.nv-site .e-con.nv-sec { padding: 72px 16px !important; }
	body.nv-site .e-con.nv-sec > .e-con-inner { gap: 40px !important; }
	body.nv-site .e-con.nv-hero { padding: 60px 16px 80px !important; }
	body.nv-site .e-con.nv-page-hero { padding: 70px 16px !important; }
	body.nv-site .e-con.nv-grid, body.nv-site .e-con.nv-grid-4 { grid-template-columns: minmax(0, 1fr); gap: 20px !important; }
	body.nv-site .e-con.nv-plans { gap: 28px !important; }
	body.nv-site .e-con.nv-cta { padding: 0 16px 72px !important; }
	body.nv-site .e-con.nv-cta-box { padding: 40px 24px !important; border-radius: 22px; }
	body.nv-site .e-con.nv-btns, body.nv-site .e-con.nv-btns > .elementor-widget { width: 100%; }
	body.nv-site .nv-btns .elementor-button { width: 100%; }
	.nv-topbar-contacts a:first-child span { display: none; }
	.nv-topbar .nv-social { display: none; }
	.nv-header-in { min-height: 68px; }
	body.nv-site .nv-logo img { height: 30px; }
	.nv-footer-grid { grid-template-columns: 1fr; gap: 36px; padding-top: 60px; }
	.nv-form-grid { grid-template-columns: 1fr; }
	body.nv-site .e-con.nv-contact-form { padding: 26px 20px !important; }
	body.nv-site .e-con.nv-map-sec { padding: 0 16px 72px !important; }
	.nv-map iframe { height: 300px; }
	.nv-logo-card { padding: 40px; }
	body.nv-site a.nv-wa-float { width: 54px; height: 54px; right: 16px; bottom: 16px; }
}
@media (max-width: 782px) { body.admin-bar .nv-header { top: 46px; } }
@media (max-width: 600px) { body.admin-bar .nv-header { top: 0; } }
