/*
Theme Name: Novamira
Theme URI: https://agenciamdg.com.br/
Author: Marcelo Leal / Agencia MDG
Author URI: https://agenciamdg.com.br/
Description: Tema WordPress proprio, leve e standalone — sem page builder e sem dependencias de terceiros. Feito para sites rapidos (Core Web Vitals) com blog otimizado (indice, E-E-A-T, CTA) e layouts gerados por IA em PHP/HTML puro.
Version: 1.1.0
Requires at least: 6.9
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: novamira
Tags: blog, custom-menu, custom-logo, featured-images, translation-ready, full-width-template
*/


:root {
	--nv-max: 1200px;
	--nv-ink: #1a1a24;
	--nv-muted: #5b5b6b;
	--nv-line: #e7e7ee;
	--nv-bg-soft: #f6f6fb;
	--nv-brand: #4f46e5;
	--nv-radius: 14px;
}

/* ===== Reset leve ===== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	color: var(--nv-ink);
	line-height: 1.6;
	background: #fff;
}
img { max-width: 100%; height: auto; }
a { color: var(--nv-brand); }
h1, h2, h3 { line-height: 1.2; letter-spacing: -.01em; }

.nv-site-inner { max-width: var(--nv-max); margin: 0 auto; padding: 0 20px; }

/* ===== Cabecalho do site ===== */
.nv-site-header {
	border-bottom: 1px solid var(--nv-line);
	background: #fff;
	position: sticky;
	top: 0;
	z-index: 50;
}
.nv-site-header .nv-site-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 68px;
}
.nv-site-title { font-size: 22px; font-weight: 800; text-decoration: none; color: var(--nv-brand); }
.nv-brand img { max-height: 40px; width: auto; }
.nv-nav ul { list-style: none; display: flex; gap: 22px; margin: 0; padding: 0; flex-wrap: wrap; }
.nv-nav a { text-decoration: none; color: var(--nv-ink); font-weight: 600; font-size: 15px; }
.nv-nav a:hover { color: var(--nv-brand); }

/* ===== Rodape ===== */
.nv-site-footer {
	border-top: 1px solid var(--nv-line);
	margin-top: 64px;
	padding: 28px 0;
	color: var(--nv-muted);
	font-size: 14px;
}
.nv-site-footer .nv-site-inner { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.nv-site-footer a { color: var(--nv-muted); text-decoration: none; }

/* ===== Container padrao das paginas ===== */
.nv-main { max-width: var(--nv-max); margin: 0 auto; padding: 40px 20px 24px; }

/* ===== Listagem do blog (cards) ===== */
.nv-list-head { margin: 0 0 28px; }
.nv-list-title { font-size: clamp(26px, 4vw, 38px); margin: 0 0 6px; }
.nv-list-sub { color: var(--nv-muted); margin: 0; }
.nv-post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 28px;
}
.nv-card {
	border: 1px solid var(--nv-line);
	border-radius: var(--nv-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: #fff;
	transition: box-shadow .15s, transform .15s;
}
.nv-card:hover { box-shadow: 0 10px 30px rgba(20,20,40,.08); transform: translateY(-2px); }
.nv-card-thumb { display: block; aspect-ratio: 1200 / 630; background: var(--nv-bg-soft); }
.nv-card-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nv-card-ph {
	display: flex; align-items: center; justify-content: center;
	width: 100%; height: 100%;
	color: var(--nv-brand); font-weight: 700;
	background:
		repeating-linear-gradient(45deg, rgba(79,70,229,.06) 0 14px, transparent 14px 28px),
		var(--nv-bg-soft);
}
.nv-card-body { padding: 18px 20px 22px; display: flex; flex-direction: column; gap: 8px; }
.nv-eyebrow { text-transform: uppercase; letter-spacing: .07em; font-size: 12px; font-weight: 700; color: var(--nv-brand); }
.nv-eyebrow a { color: inherit; text-decoration: none; }
.nv-card-title { font-size: 20px; margin: 0; }
.nv-card-title a { color: var(--nv-ink); text-decoration: none; }
.nv-card-title a:hover { color: var(--nv-brand); }
.nv-card-excerpt { color: var(--nv-muted); margin: 0; font-size: 15px; }
.nv-card-meta { color: var(--nv-muted); font-size: 13px; margin-top: auto; }

/* ===== Paginacao ===== */
.pagination, .nav-links { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 36px; }
.pagination .page-numbers, .nav-links .page-numbers {
	display: inline-block; padding: 8px 14px; border: 1px solid var(--nv-line);
	border-radius: 8px; text-decoration: none; color: var(--nv-ink);
}
.pagination .current { background: var(--nv-brand); color: #fff; border-color: var(--nv-brand); }

/* ===== Pagina simples ===== */
.nv-page-main { max-width: 800px; }
.nv-page-title { font-size: clamp(28px, 4vw, 40px); margin: 0 0 20px; }
.nv-page-main .nv-entry-content p { margin: 0 0 18px; }

@media (max-width: 640px) {
	.nv-site-header .nv-site-inner { flex-wrap: wrap; min-height: 0; padding-top: 12px; padding-bottom: 12px; }
	.nv-nav ul { gap: 14px; }
}

/* ===== Busca ===== */
.nv-searchform { display: flex; gap: 8px; margin: 16px 0; max-width: 480px; }
.nv-search-field { flex: 1; padding: 11px 14px; border: 1px solid var(--nv-line); border-radius: 10px; font-size: 15px; }
.nv-search-submit { padding: 11px 18px; border: 0; border-radius: 10px; background: var(--nv-brand); color: #fff; font-weight: 700; cursor: pointer; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

/* ===== Vazio / 404 ===== */
.nv-empty, .nv-404 { text-align: center; padding: 48px 20px 64px; }
.nv-empty h2 { font-size: 24px; margin: 0 0 8px; }
.nv-404-code { font-size: clamp(64px, 14vw, 120px); font-weight: 800; color: var(--nv-brand); line-height: 1; margin: 0; }
.nv-404-title { font-size: clamp(22px, 3vw, 30px); margin: 4px 0 10px; }
.nv-404-text { color: var(--nv-muted); margin: 0 0 20px; }
.nv-404 .nv-searchform { margin: 0 auto 20px; }
.nv-btn { display: inline-block; text-decoration: none; font-weight: 700; padding: 13px 24px; border-radius: 10px; }
.nv-btn--primary { background: var(--nv-brand); color: #fff; }

/* ===== Utilitarios ===== */
.nv-center { text-align: center; margin-top: 28px; }
.nv-fullwidth > * { }
