/*
Theme Name: Neriverso
Theme URI: https://neriverso.com/
Author: Neriverso
Author URI: https://neriverso.com/
Description: Tema editorial leve e modular do Neriverso, preparado para posts, produtos e integrações futuras.
Version: 0.3.0
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 8.1
Text Domain: neriverso
*/

:root {
	--nr-bg: #08101e;
	--nr-bg-soft: #0d1728;
	--nr-surface: rgba(15, 25, 43, 0.88);
	--nr-surface-solid: #101b2e;
	--nr-surface-hover: #14223a;
	--nr-border: rgba(255, 255, 255, 0.10);
	--nr-border-strong: rgba(167, 139, 250, 0.34);
	--nr-text: #f7f8fc;
	--nr-text-muted: #a9b3c6;
	--nr-text-faint: #77839a;
	--nr-accent: #a78bfa;
	--nr-accent-strong: #8b5cf6;
	--nr-accent-soft: rgba(139, 92, 246, 0.14);
	--nr-link: #b9a6ff;
	--nr-success: #53d6a0;
	--nr-radius-sm: 10px;
	--nr-radius: 18px;
	--nr-radius-lg: 26px;
	--nr-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
	--nr-content: 1180px;
	--nr-reading: 780px;
	--nr-gutter: clamp(18px, 4vw, 44px);
	--nr-font-body: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--nr-font-display: "Space Grotesk", Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
	text-size-adjust: 100%;
}

body {
	margin: 0;
	background: var(--nr-bg);
	color: var(--nr-text);
	font-family: var(--nr-font-body);
	font-size: 16px;
	line-height: 1.65;
	overflow-wrap: break-word;
}

body.admin-bar .nr-site-header {
	top: 32px;
}

img,
svg,
video {
	display: block;
	height: auto;
	max-width: 100%;
}

iframe {
	max-width: 100%;
}

a {
	color: var(--nr-link);
	text-decoration-thickness: 0.08em;
	text-underline-offset: 0.18em;
}

a:hover,
a:focus-visible {
	color: #ddd5ff;
}

button,
input,
select,
textarea {
	font: inherit;
}

button,
input[type="button"],
input[type="submit"] {
	cursor: pointer;
}

:focus-visible {
	border-radius: 4px;
	outline: 3px solid rgba(167, 139, 250, 0.78);
	outline-offset: 3px;
}

::selection {
	background: var(--nr-accent);
	color: #090d17;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	z-index: 100000;
	top: 10px;
	left: 10px;
	width: auto;
	height: auto;
	padding: 12px 16px;
	margin: 0;
	clip: auto;
	background: #fff;
	color: #111827;
	font-weight: 700;
}

.nr-site {
	position: relative;
	isolation: isolate;
	min-height: 100vh;
	overflow: clip;
}

.nr-site::before {
	position: fixed;
	z-index: -1;
	inset: -160px -80px;
	pointer-events: none;
	content: "";
	background:
		linear-gradient(90deg, transparent 49%, rgba(167, 139, 250, 0.045) 50%, transparent 51%) 0 0 / 110px 110px,
		linear-gradient(transparent 49%, rgba(255, 255, 255, 0.025) 50%, transparent 51%) 0 0 / 110px 110px,
		radial-gradient(circle at 16% 12%, rgba(124, 58, 237, 0.19), transparent 24%),
		radial-gradient(circle at 86% 34%, rgba(59, 130, 246, 0.09), transparent 20%);
	opacity: 0.75;
	animation: nr-background-drift 28s ease-in-out infinite alternate;
}

@keyframes nr-background-drift {
	from { transform: translate3d(0, -16px, 0); }
	to { transform: translate3d(0, 28px, 0); }
}

.nr-container {
	width: min(calc(100% - (2 * var(--nr-gutter))), var(--nr-content));
	margin-inline: auto;
}

.nr-site-header {
	position: sticky;
	z-index: 100;
	top: 0;
	border-bottom: 1px solid var(--nr-border);
	background: rgba(8, 16, 30, 0.86);
	backdrop-filter: blur(18px);
}

.nr-header-inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	min-height: 68px;
	gap: 28px;
}

.nr-brand {
	display: inline-flex;
	align-items: center;
	color: var(--nr-text);
	text-decoration: none;
}

.nr-brand-wordmark {
	font-family: var(--nr-font-display);
	font-size: 1.14rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	line-height: 1;
}

.nr-brand-wordmark::first-letter {
	color: var(--nr-accent);
}

.custom-logo-link {
	display: inline-flex;
}

.custom-logo {
	width: auto;
	max-height: 34px;
}

.nr-nav {
	justify-self: center;
}

.nr-menu,
.nr-footer-menu {
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0;
	gap: 24px;
	list-style: none;
}

.nr-menu a {
	position: relative;
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	color: var(--nr-text-muted);
	font-size: 0.88rem;
	font-weight: 720;
	text-decoration: none;
}

.nr-menu a::after {
	position: absolute;
	right: 0;
	bottom: 5px;
	left: 0;
	height: 2px;
	content: "";
	background: var(--nr-accent);
	border-radius: 99px;
	transform: scaleX(0);
	transition: transform 160ms ease;
}

.nr-menu a:hover,
.nr-menu a:focus-visible,
.nr-menu .current-menu-item > a,
.nr-menu .current-category-ancestor > a {
	color: var(--nr-text);
}

.nr-menu a:hover::after,
.nr-menu a:focus-visible::after,
.nr-menu .current-menu-item > a::after {
	transform: scaleX(1);
}

.nr-header-actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.nr-search-link,
.nr-menu-toggle {
	display: inline-grid;
	width: 42px;
	height: 42px;
	padding: 0;
	place-items: center;
	border: 1px solid var(--nr-border);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.035);
	color: var(--nr-text);
	text-decoration: none;
}

.nr-search-link:hover,
.nr-menu-toggle:hover {
	border-color: var(--nr-border-strong);
	background: var(--nr-accent-soft);
}

.nr-menu-toggle {
	display: none;
}

.nr-menu-toggle-lines,
.nr-menu-toggle-lines::before,
.nr-menu-toggle-lines::after {
	display: block;
	width: 18px;
	height: 2px;
	background: currentcolor;
	border-radius: 99px;
	content: "";
	transition: transform 160ms ease;
}

.nr-menu-toggle-lines {
	position: relative;
}

.nr-menu-toggle-lines::before {
	position: absolute;
	top: -6px;
}

.nr-menu-toggle-lines::after {
	position: absolute;
	top: 6px;
}

.nr-menu-toggle[aria-expanded="true"] .nr-menu-toggle-lines {
	background: transparent;
}

.nr-menu-toggle[aria-expanded="true"] .nr-menu-toggle-lines::before {
	top: 0;
	transform: rotate(45deg);
}

.nr-menu-toggle[aria-expanded="true"] .nr-menu-toggle-lines::after {
	top: 0;
	transform: rotate(-45deg);
}

.nr-main {
	min-height: 65vh;
	padding-block: clamp(38px, 6vw, 76px);
}

.nr-section-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 26px;
	gap: 24px;
}

.nr-eyebrow {
	margin: 0 0 5px;
	color: var(--nr-accent);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.nr-page-title,
.nr-entry-title,
.nr-card-title,
.nr-author-title,
.nr-section-title {
	margin-top: 0;
	font-family: var(--nr-font-display);
	text-wrap: balance;
}

.nr-page-title {
	max-width: 850px;
	margin-bottom: 0;
	font-size: clamp(2rem, 5vw, 4.25rem);
	line-height: 1.02;
	letter-spacing: -0.045em;
}

.nr-page-description {
	max-width: 680px;
	margin: 12px 0 0;
	color: var(--nr-text-muted);
	font-size: 1.04rem;
}

.nr-home-intro {
	padding-bottom: 28px;
}

.nr-topic-links {
	display: flex;
	flex-wrap: wrap;
	padding: 0;
	margin: 24px 0 0;
	gap: 8px;
	list-style: none;
}

.nr-topic-links a {
	display: inline-flex;
	min-height: 36px;
	align-items: center;
	padding: 6px 12px;
	border: 1px solid var(--nr-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.025);
	color: var(--nr-text-muted);
	font-size: 0.72rem;
	font-weight: 750;
	text-decoration: none;
}

.nr-topic-links a:hover {
	border-color: var(--nr-border-strong);
	background: var(--nr-accent-soft);
	color: var(--nr-text);
}

.nr-home-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(270px, 0.85fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
	min-height: 570px;
	margin-bottom: clamp(48px, 8vw, 82px);
	gap: 18px;
}

.nr-hero-card {
	position: relative;
	min-width: 0;
	border: 1px solid var(--nr-border);
	border-radius: var(--nr-radius);
	background: var(--nr-surface);
	overflow: hidden;
}

.nr-hero-primary {
	grid-row: 1 / 3;
}

.nr-hero-media {
	position: absolute;
	inset: 0;
	background: var(--nr-bg-soft);
}

.nr-hero-media::after {
	position: absolute;
	inset: 0;
	content: "";
	background: linear-gradient(180deg, rgba(4, 9, 18, 0.02) 24%, rgba(4, 9, 18, 0.94) 100%);
}

.nr-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 420ms ease;
}

.nr-hero-card:hover .nr-hero-media img {
	transform: scale(1.025);
}

.nr-hero-content {
	position: absolute;
	z-index: 2;
	right: 0;
	bottom: 0;
	left: 0;
	padding: clamp(20px, 4vw, 36px);
}

.nr-hero-secondary .nr-hero-content {
	padding: 20px;
}

.nr-hero-title {
	margin: 0;
	font-family: var(--nr-font-display);
	font-size: clamp(1.18rem, 2.5vw, 2.35rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

.nr-hero-secondary .nr-hero-title {
	font-size: clamp(1rem, 1.5vw, 1.28rem);
	line-height: 1.16;
}

.nr-hero-title a {
	color: #fff;
	text-decoration: none;
}

.nr-hero-title a::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: "";
}

.nr-hero-card .nr-card-category,
.nr-hero-card .nr-card-meta {
	position: relative;
	z-index: 3;
}

.nr-hero-card .nr-card-meta {
	margin-top: 12px;
	color: rgba(255, 255, 255, 0.66);
}

.nr-home-section {
	margin-top: clamp(48px, 7vw, 76px);
}

.nr-home-section:first-of-type {
	margin-top: 0;
}

.nr-home-section-head {
	display: flex;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 22px;
	gap: 20px;
}

.nr-home-section-head .nr-section-title {
	margin-bottom: 0;
}

.nr-section-description {
	max-width: 660px;
	margin: 7px 0 0;
	color: var(--nr-text-muted);
	font-size: 0.88rem;
}

.nr-home-section-link {
	color: var(--nr-text-muted);
	font-size: 0.78rem;
	font-weight: 750;
	text-decoration: none;
}

.nr-home-bridges {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(48px, 7vw, 76px);
	gap: 18px;
}

.nr-bridge-card {
	position: relative;
	min-height: 220px;
	padding: clamp(24px, 5vw, 42px);
	border: 1px solid var(--nr-border);
	border-radius: var(--nr-radius-lg);
	background:
		radial-gradient(circle at 90% 0%, rgba(139, 92, 246, 0.24), transparent 38%),
		var(--nr-surface);
	overflow: hidden;
}

.nr-bridge-card--offers {
	background:
		radial-gradient(circle at 90% 0%, rgba(83, 214, 160, 0.17), transparent 38%),
		var(--nr-surface);
}

.nr-bridge-title {
	max-width: 520px;
	margin: 0 0 10px;
	font-family: var(--nr-font-display);
	font-size: clamp(1.5rem, 3vw, 2.25rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.nr-bridge-copy {
	max-width: 530px;
	margin: 0 0 22px;
	color: var(--nr-text-muted);
	font-size: 0.9rem;
}

.nr-ad-slot {
	display: grid;
	min-height: 100px;
	margin-top: clamp(38px, 6vw, 60px);
	place-items: center;
	border-radius: var(--nr-radius);
}

.nr-post-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px 22px;
}

.nr-card {
	position: relative;
	min-width: 0;
	border: 1px solid var(--nr-border);
	border-radius: var(--nr-radius);
	background: var(--nr-surface);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.18);
	overflow: hidden;
	transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}

.nr-card:hover {
	border-color: var(--nr-border-strong);
	background: var(--nr-surface-hover);
	transform: translateY(-3px);
}

.nr-card-image-link {
	display: block;
	aspect-ratio: 16 / 9;
	background: var(--nr-bg-soft);
	overflow: hidden;
}

.nr-card-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 320ms ease;
}

.nr-card:hover .nr-card-image {
	transform: scale(1.025);
}

.nr-card-placeholder {
	display: grid;
	height: 100%;
	place-items: center;
	background:
		linear-gradient(135deg, rgba(139, 92, 246, 0.15), transparent),
		var(--nr-bg-soft);
	color: var(--nr-text-faint);
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.12em;
}

.nr-card-body {
	padding: 18px 19px 20px;
}

.nr-card-title {
	margin-bottom: 10px;
	font-size: clamp(1.05rem, 2vw, 1.28rem);
	line-height: 1.2;
	letter-spacing: -0.022em;
}

.nr-card-title a {
	color: var(--nr-text);
	text-decoration: none;
}

.nr-card-title a::after {
	position: absolute;
	inset: 0;
	content: "";
}

.nr-card-meta,
.nr-entry-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	gap: 8px 14px;
	color: var(--nr-text-faint);
	font-size: 0.78rem;
	font-weight: 620;
}

.nr-entry-meta > span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.nr-card-category {
	position: relative;
	z-index: 1;
	display: inline-flex;
	width: fit-content;
	padding: 5px 9px;
	margin-bottom: 11px;
	border: 1px solid rgba(167, 139, 250, 0.25);
	border-radius: 999px;
	background: var(--nr-accent-soft);
	color: #cfc4ff;
	font-size: 0.67rem;
	font-weight: 820;
	letter-spacing: 0.075em;
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
}

.nr-pagination {
	margin-top: 46px;
}

.nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.page-numbers {
	display: inline-grid;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	place-items: center;
	border: 1px solid var(--nr-border);
	border-radius: 11px;
	background: var(--nr-surface);
	color: var(--nr-text-muted);
	text-decoration: none;
}

.page-numbers.current,
.page-numbers:hover {
	border-color: var(--nr-accent);
	background: var(--nr-accent);
	color: #0a0f1b;
}

.nr-single {
	width: min(calc(100% - (2 * var(--nr-gutter))), 1050px);
	margin-inline: auto;
}

.nr-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 26px;
	gap: 7px;
	color: var(--nr-text-faint);
	font-size: 0.78rem;
}

.nr-breadcrumbs a {
	color: var(--nr-text-muted);
	text-decoration: none;
}

.nr-entry-header {
	max-width: 920px;
	margin-bottom: 32px;
}

.nr-entry-categories {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 16px;
	gap: 8px;
}

.nr-entry-categories .nr-card-category {
	margin: 0;
}

.nr-entry-title {
	margin-bottom: 20px;
	font-size: clamp(2.35rem, 6vw, 4.9rem);
	line-height: 0.99;
	letter-spacing: -0.052em;
}

.nr-entry-excerpt {
	max-width: 790px;
	margin: -5px 0 22px;
	color: var(--nr-text-muted);
	font-size: clamp(1.05rem, 2.2vw, 1.28rem);
	line-height: 1.55;
}

.nr-entry-meta {
	font-size: 0.84rem;
}

.nr-entry-meta a {
	color: var(--nr-text-muted);
	text-decoration: none;
}

.nr-featured-media {
	margin: 0 0 clamp(32px, 6vw, 58px);
	border: 1px solid var(--nr-border);
	border-radius: var(--nr-radius-lg);
	background: var(--nr-surface);
	box-shadow: var(--nr-shadow);
	overflow: hidden;
}

.nr-featured-media img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.nr-article-layout {
	display: grid;
	grid-template-columns: minmax(0, var(--nr-reading)) 230px;
	align-items: start;
	justify-content: space-between;
	gap: clamp(40px, 7vw, 76px);
}

.nr-entry-content {
	min-width: 0;
	color: #e9edf6;
	font-size: clamp(1.05rem, 1vw + 0.78rem, 1.18rem);
	line-height: 1.82;
}

.nr-entry-content > * {
	margin-top: 0;
	margin-bottom: 1.4em;
}

.nr-entry-content h2,
.nr-entry-content h3,
.nr-entry-content h4 {
	margin-top: 1.75em;
	margin-bottom: 0.68em;
	color: var(--nr-text);
	font-family: var(--nr-font-display);
	line-height: 1.16;
	letter-spacing: -0.028em;
	text-wrap: balance;
}

.nr-entry-content h2 {
	font-size: clamp(1.65rem, 4vw, 2.45rem);
}

.nr-entry-content h3 {
	font-size: clamp(1.35rem, 3vw, 1.82rem);
}

.nr-entry-content p,
.nr-entry-content li {
	color: #dbe1ed;
}

.nr-entry-content strong {
	color: #fff;
}

.nr-entry-content a {
	font-weight: 650;
}

.nr-entry-content ul,
.nr-entry-content ol {
	padding-left: 1.35em;
}

.nr-entry-content li + li {
	margin-top: 0.55em;
}

.nr-entry-content blockquote {
	padding: 4px 0 4px 22px;
	margin-inline: 0;
	border-left: 4px solid var(--nr-accent);
	color: var(--nr-text-muted);
	font-size: 1.13em;
}

.nr-entry-content img,
.nr-entry-content .wp-block-image img,
.nr-entry-content figure {
	border-radius: var(--nr-radius);
}

.nr-entry-content figure {
	max-width: 100%;
}

.nr-entry-content figcaption {
	margin-top: 8px;
	color: var(--nr-text-faint);
	font-size: 0.75rem;
	text-align: center;
}

.nr-entry-content .wp-block-embed__wrapper,
.nr-entry-content .wp-has-aspect-ratio {
	position: relative;
	aspect-ratio: 16 / 9;
	border-radius: var(--nr-radius);
	background: #000;
	overflow: hidden;
}

.nr-entry-content .wp-block-embed__wrapper iframe,
.nr-entry-content .wp-has-aspect-ratio iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	inset: 0;
}

.nr-entry-content .alignwide {
	width: min(100vw - (2 * var(--nr-gutter)), 980px);
	max-width: none;
	margin-left: 50%;
	transform: translateX(-50%);
}

.nr-entry-content .alignfull {
	position: relative;
	right: 50%;
	left: 50%;
	width: 100vw;
	max-width: 100vw;
	margin-right: -50vw;
	margin-left: -50vw;
}

.nr-article-aside {
	position: sticky;
	top: 100px;
}

.nr-aside-card {
	padding: 18px;
	border: 1px solid var(--nr-border);
	border-radius: var(--nr-radius);
	background: var(--nr-surface);
}

.nr-aside-label {
	margin: 0 0 7px;
	color: var(--nr-accent);
	font-size: 0.68rem;
	font-weight: 850;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.nr-aside-title {
	margin: 0 0 10px;
	font-family: var(--nr-font-display);
	font-size: 1.08rem;
	line-height: 1.2;
}

.nr-aside-copy {
	margin: 0 0 14px;
	color: var(--nr-text-muted);
	font-size: 0.79rem;
	line-height: 1.55;
}

.nr-button {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: 9px 15px;
	border: 1px solid transparent;
	border-radius: 11px;
	background: var(--nr-accent);
	color: #090e18;
	font-size: 0.78rem;
	font-weight: 850;
	text-decoration: none;
}

.nr-button:hover {
	background: #c4b5fd;
	color: #090e18;
}

.nr-entry-footer {
	max-width: var(--nr-reading);
	padding-top: 28px;
	margin-top: 44px;
	border-top: 1px solid var(--nr-border);
}

.nr-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.nr-tags a {
	display: inline-flex;
	padding: 6px 10px;
	border: 1px solid var(--nr-border);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.025);
	color: var(--nr-text-muted);
	font-size: 0.72rem;
	text-decoration: none;
}

.nr-author-box {
	display: grid;
	grid-template-columns: 72px 1fr;
	max-width: var(--nr-reading);
	padding: 22px;
	margin-top: 30px;
	gap: 18px;
	border: 1px solid var(--nr-border);
	border-radius: var(--nr-radius);
	background: var(--nr-surface);
}

.nr-author-avatar img {
	border-radius: 50%;
}

.nr-author-title {
	margin-bottom: 5px;
	font-size: 1.18rem;
}

.nr-author-bio {
	margin: 0;
	color: var(--nr-text-muted);
	font-size: 0.88rem;
}

.nr-related {
	margin-top: clamp(52px, 8vw, 90px);
	padding-top: 36px;
	border-top: 1px solid var(--nr-border);
}

.nr-section-title {
	margin-bottom: 22px;
	font-size: clamp(1.5rem, 3vw, 2.15rem);
	letter-spacing: -0.035em;
}

.nr-empty,
.nr-search-form-wrap,
.nr-page-surface {
	padding: clamp(24px, 5vw, 48px);
	border: 1px solid var(--nr-border);
	border-radius: var(--nr-radius-lg);
	background: var(--nr-surface);
}

.search-form {
	display: flex;
	gap: 8px;
}

.search-field {
	width: 100%;
	min-height: 46px;
	padding: 10px 13px;
	border: 1px solid var(--nr-border);
	border-radius: 11px;
	background: #0b1424;
	color: var(--nr-text);
}

.search-submit {
	min-height: 46px;
	padding: 10px 17px;
	border: 0;
	border-radius: 11px;
	background: var(--nr-accent);
	color: #080d17;
	font-weight: 800;
}

.nr-page-surface {
	width: min(calc(100% - (2 * var(--nr-gutter))), 940px);
	margin-inline: auto;
}

.nr-page-surface .nr-entry-content {
	max-width: var(--nr-reading);
	margin-inline: auto;
}

.nr-catalog-shell {
	width: min(calc(100% - (2 * var(--nr-gutter))), var(--nr-content));
	margin-inline: auto;
}

.nr-catalog-header {
	max-width: 830px;
	margin-bottom: clamp(30px, 5vw, 52px);
}

.nr-catalog-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.nr-catalog-single {
	width: min(calc(100% - (2 * var(--nr-gutter))), 980px);
	margin-inline: auto;
}

.nr-catalog-single .nr-entry-header {
	max-width: 880px;
}

.nr-catalog-single .nr-entry-title {
	font-size: clamp(2.25rem, 6vw, 4.6rem);
}

.nr-catalog-single .nr-entry-content {
	max-width: none;
	font-size: 1rem;
}

.nr-catalog .nr-products,
.nr-catalog .nr-product-single,
.nr-home-section .nr-products {
	--nrp-accent: var(--nr-accent-strong);
	--nrp-bg: var(--nr-surface-solid);
	--nrp-border: var(--nr-border);
	--nrp-muted: var(--nr-text-muted);
	--nrp-text: var(--nr-text);
}

.nr-catalog .nr-product-card,
.nr-home-section .nr-product-card {
	border-radius: var(--nr-radius);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.16);
}

.nr-catalog .nr-product-card__cover,
.nr-home-section .nr-product-card__cover {
	background:
		linear-gradient(145deg, rgba(139, 92, 246, 0.14), transparent),
		var(--nr-bg-soft);
}

.nr-catalog .nr-product-card__body h3,
.nr-home-section .nr-product-card__body h3 {
	font-family: var(--nr-font-display);
	letter-spacing: -0.018em;
}

.nr-site-footer {
	padding-block: 34px;
	border-top: 1px solid var(--nr-border);
	background: rgba(5, 11, 22, 0.72);
}

.nr-footer-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.nr-footer-copy {
	margin: 0;
	color: var(--nr-text-faint);
	font-size: 0.78rem;
}

.nr-footer-menu {
	gap: 16px;
}

.nr-footer-menu a {
	color: var(--nr-text-muted);
	font-size: 0.78rem;
	text-decoration: none;
}

.comments-area {
	max-width: var(--nr-reading);
	margin-top: 50px;
}

.comment-list {
	padding: 0;
	list-style: none;
}

.comment-body {
	padding: 20px;
	margin-bottom: 14px;
	border: 1px solid var(--nr-border);
	border-radius: var(--nr-radius);
	background: var(--nr-surface);
}

.comment-form input:not([type="submit"]),
.comment-form textarea {
	width: 100%;
	padding: 12px;
	border: 1px solid var(--nr-border);
	border-radius: 10px;
	background: #0b1424;
	color: var(--nr-text);
}

/* O Elementor Canvas não recebe header/footer do tema. Esta camada replica
 * apenas as regras globais que já atingiam a landing page no tema anterior. */
body.elementor-template-canvas {
	background: #0b1220;
	color: rgba(255, 255, 255, 0.92);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, Arial, sans-serif;
	overflow-x: clip;
}

body.elementor-template-canvas a:not(.elementor-button):not(.elementor-button-link) {
	color: #93c5fd !important;
}

body.elementor-template-canvas .elementor-button,
body.elementor-template-canvas .elementor-button:visited,
body.elementor-template-canvas .elementor-button:hover,
body.elementor-template-canvas .elementor-button:focus,
body.elementor-template-canvas .elementor-button .elementor-button-text,
body.elementor-template-canvas .elementor-button .elementor-button-icon,
body.elementor-template-canvas .elementor-button .elementor-button-icon i {
	color: #fff;
}

body.elementor-template-canvas .elementor-button svg {
	fill: currentcolor;
}

body.elementor-template-canvas h1,
body.elementor-template-canvas h2,
body.elementor-template-canvas h3,
body.elementor-template-canvas h4,
body.elementor-template-canvas h5,
body.elementor-template-canvas h6 {
	font-family: "Space Grotesk", Inter, system-ui, sans-serif !important;
	font-weight: 100 !important;
	letter-spacing: -0.02em !important;
}

body.elementor-template-canvas h1 {
	line-height: 1.22 !important;
}

body.elementor-template-canvas h2 {
	font-size: clamp(16px, calc(10px + 1.15vw), 27px) !important;
	line-height: 1.37 !important;
}

body.elementor-template-canvas h3 {
	font-size: clamp(15px, calc(9px + 1vw), 21px) !important;
	line-height: 1.28 !important;
}

@media (max-width: 960px) {
	.nr-header-inner {
		grid-template-columns: 1fr auto;
	}

	.nr-menu-toggle {
		display: inline-grid;
	}

	.nr-nav {
		position: absolute;
		top: 100%;
		right: 0;
		left: 0;
		display: none;
		padding: 10px var(--nr-gutter) 18px;
		border-bottom: 1px solid var(--nr-border);
		background: rgba(8, 16, 30, 0.97);
	}

	.nr-nav.is-open {
		display: block;
	}

	.nr-menu {
		width: min(100%, var(--nr-content));
		flex-direction: column;
		align-items: stretch;
		margin-inline: auto;
		gap: 0;
	}

	.nr-menu a {
		min-height: 48px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	}

	.nr-article-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.nr-article-aside {
		position: static;
		max-width: var(--nr-reading);
	}

	.nr-home-hero {
		grid-template-columns: minmax(0, 1.25fr) minmax(240px, 0.75fr);
		min-height: 500px;
	}

	.nr-catalog-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	body.admin-bar .nr-site-header {
		top: 46px;
	}

	.nr-header-inner {
		min-height: 62px;
		gap: 12px;
	}

	.nr-search-link {
		display: none;
	}

	.nr-post-grid {
		grid-template-columns: 1fr;
		gap: 17px;
	}

	.nr-home-intro {
		padding-bottom: 20px;
	}

	.nr-home-hero {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
		min-height: 0;
		gap: 14px;
	}

	.nr-hero-primary,
	.nr-hero-secondary {
		grid-row: auto;
		min-height: 360px;
	}

	.nr-hero-secondary {
		min-height: 240px;
	}

	.nr-home-bridges {
		grid-template-columns: 1fr;
	}

	.nr-catalog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	.nr-card {
		display: grid;
		grid-template-columns: 38% 1fr;
	}

	.nr-card-image-link {
		height: 100%;
		aspect-ratio: 1 / 1;
	}

	.nr-card-body {
		align-self: center;
		padding: 14px;
	}

	.nr-card-category {
		margin-bottom: 8px;
		font-size: 0.6rem;
	}

	.nr-card-title {
		margin-bottom: 8px;
		font-size: 1rem;
	}

	.nr-entry-title {
		font-size: clamp(2.15rem, 12vw, 3.5rem);
	}

	.nr-featured-media {
		margin-inline: calc(-1 * var(--nr-gutter));
		border-right: 0;
		border-left: 0;
		border-radius: 0;
	}

	.nr-footer-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	body.elementor-template-canvas h2 {
		font-size: 17px !important;
		line-height: 1.28 !important;
	}

	body.elementor-template-canvas h3 {
		font-size: 16px !important;
		line-height: 1.3 !important;
	}

	body.elementor-template-canvas h4 {
		font-size: 15px !important;
	}
}

@media (max-width: 460px) {
	.nr-card {
		grid-template-columns: 42% 1fr;
	}

	.nr-card-meta .nr-card-reading {
		display: none;
	}

	.nr-author-box {
		grid-template-columns: 52px 1fr;
		padding: 17px;
	}

	.nr-catalog-grid {
		grid-template-columns: 1fr;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
