html {
	box-sizing: border-box;
	scroll-behavior: smooth;
	background: var(--nmg-bg);
}

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

body.nmg-theme {
	margin: 0;
	background:
		radial-gradient(circle at 82% -10%, color-mix(in srgb, var(--nmg-accent) 10%, transparent), transparent 32rem),
		var(--nmg-bg);
	color: var(--nmg-text);
	font-family: var(--nmg-font);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.nmg-theme,
body.nmg-theme button,
body.nmg-theme input,
body.nmg-theme select,
body.nmg-theme textarea { font-family: var(--nmg-font); }

body.nmg-theme img,
body.nmg-theme svg,
body.nmg-theme video,
body.nmg-theme canvas { max-width: 100%; }

body.nmg-theme img { height: auto; }

body.nmg-theme a {
	color: #a9c8ff;
	text-decoration-thickness: 1px;
	text-underline-offset: .18em;
	transition: color var(--nmg-transition), background-color var(--nmg-transition), border-color var(--nmg-transition), transform var(--nmg-transition);
}

body.nmg-theme a:hover { color: #d6e5ff; }

body.nmg-theme :focus-visible {
	outline: 3px solid color-mix(in srgb, var(--nmg-accent) 78%, white);
	outline-offset: 3px;
}

body.nmg-theme ::selection {
	background: color-mix(in srgb, var(--nmg-accent) 42%, transparent);
	color: #fff;
}

body.nmg-theme h1,
body.nmg-theme h2,
body.nmg-theme h3,
body.nmg-theme h4,
body.nmg-theme h5,
body.nmg-theme h6 {
	margin-top: 0;
	color: var(--nmg-text);
	font-weight: 750;
	line-height: 1.2;
	letter-spacing: -.025em;
}

body.nmg-theme h1 { font-size: clamp(2rem, 4vw, 3.3rem); }
body.nmg-theme h2 { font-size: clamp(1.35rem, 2.4vw, 2.05rem); }
body.nmg-theme h3 { font-size: clamp(1.05rem, 2vw, 1.35rem); }
body.nmg-theme p,
body.nmg-theme ul,
body.nmg-theme ol { margin-top: 0; margin-bottom: 1.2rem; }

body.nmg-theme #page,
body.nmg-theme .site.grid-container {
	width: 100%;
	max-width: none;
	background: transparent;
}

body.nmg-theme .site-content {
	width: min(100% - clamp(28px, 5vw, 72px), var(--nmg-container));
	margin-inline: auto;
	padding: clamp(24px, 4vw, 52px) 0 clamp(56px, 7vw, 96px);
}

body.nmg-theme .content-area,
body.nmg-theme .site-main { width: 100%; min-width: 0; }

body.nmg-theme .inside-article,
body.nmg-theme .comments-area,
body.nmg-theme .page-header {
	background: transparent;
	padding: 0;
}

body.nmg-theme .one-container .site-content,
body.nmg-theme .separate-containers .site-main { margin: 0; }

body.nmg-theme .site-main > * + * { margin-top: var(--nmg-gap); }

body.nmg-theme .nmg-breadcrumbs-wrap {
	margin: 0 0 clamp(18px, 3vw, 28px);
}

body.nmg-theme .nmg-breadcrumbs,
body.nmg-theme .rank-math-breadcrumb {
	overflow: hidden;
	color: var(--nmg-muted);
	font-size: .86rem;
	line-height: 1.4;
}

body.nmg-theme .rank-math-breadcrumb p,
body.nmg-theme .nmg-breadcrumbs__inner {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 0;
	margin: 0;
	white-space: nowrap;
}

body.nmg-theme .nmg-breadcrumbs a,
body.nmg-theme .rank-math-breadcrumb a {
	flex: 0 0 auto;
	color: var(--nmg-text-soft);
	font-weight: 600;
	text-decoration: none;
}

body.nmg-theme .nmg-breadcrumbs a:hover,
body.nmg-theme .rank-math-breadcrumb a:hover { color: #fff; }

body.nmg-theme .nmg-breadcrumb-separator,
body.nmg-theme .rank-math-breadcrumb .separator {
	flex: 0 0 auto;
	color: #5f6d82;
	font-size: 1.1em;
}

body.nmg-theme .nmg-breadcrumbs__inner > :last-child,
body.nmg-theme .rank-math-breadcrumb p > :last-child {
	overflow: hidden;
	text-overflow: ellipsis;
}

body.nmg-theme button,
body.nmg-theme input[type="button"],
body.nmg-theme input[type="reset"],
body.nmg-theme input[type="submit"],
body.nmg-theme .button,
body.nmg-theme .wp-element-button,
body.nmg-theme .nmg-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 42px;
	border: 1px solid var(--nmg-border-strong);
	border-radius: var(--nmg-radius-sm);
	background: var(--nmg-surface-2);
	padding: 9px 15px;
	color: var(--nmg-text);
	font-size: .9rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: color var(--nmg-transition), background-color var(--nmg-transition), border-color var(--nmg-transition), transform var(--nmg-transition);
}

body.nmg-theme button:hover,
body.nmg-theme input[type="button"]:hover,
body.nmg-theme input[type="reset"]:hover,
body.nmg-theme input[type="submit"]:hover,
body.nmg-theme .button:hover,
body.nmg-theme .wp-element-button:hover,
body.nmg-theme .nmg-button:hover {
	border-color: color-mix(in srgb, var(--nmg-accent) 54%, var(--nmg-border));
	background: var(--nmg-surface-3);
	color: #fff;
	transform: translateY(-1px);
}

body.nmg-theme .nmg-button--primary,
body.nmg-theme .wp-block-button:not(.is-style-outline) .wp-element-button {
	border-color: transparent;
	background: var(--nmg-accent);
	color: #fff;
}

body.nmg-theme .nmg-button--primary:hover { background: var(--nmg-accent-hover); color: #fff; }
body.nmg-theme .nmg-button--ghost { background: transparent; }
body.nmg-theme button[disabled] { cursor: not-allowed; opacity: .55; transform: none; }

body.nmg-theme label { color: var(--nmg-text-soft); font-weight: 650; }

body.nmg-theme input[type="text"],
body.nmg-theme input[type="email"],
body.nmg-theme input[type="url"],
body.nmg-theme input[type="password"],
body.nmg-theme input[type="number"],
body.nmg-theme input[type="tel"],
body.nmg-theme input[type="search"],
body.nmg-theme select,
body.nmg-theme textarea {
	width: 100%;
	border: 1px solid var(--nmg-border-strong);
	border-radius: var(--nmg-radius-sm);
	background: var(--nmg-surface);
	padding: 10px 13px;
	color: var(--nmg-text);
	font-size: 1rem;
}

body.nmg-theme input:focus,
body.nmg-theme select:focus,
body.nmg-theme textarea:focus {
	border-color: var(--nmg-accent);
	box-shadow: 0 0 0 4px var(--nmg-accent-soft);
	outline: 0;
}

body.nmg-theme .navigation.pagination,
body.nmg-theme .paging-navigation {
	width: 100%;
	background: transparent;
	padding: 0;
}

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

body.nmg-theme .page-numbers {
	display: inline-grid;
	place-items: center;
	min-width: 44px;
	min-height: 44px;
	border: 1px solid var(--nmg-border);
	border-radius: var(--nmg-radius-sm);
	background: var(--nmg-surface);
	padding: 6px 10px;
	color: var(--nmg-text-soft);
	font-weight: 700;
	text-decoration: none;
}

body.nmg-theme .page-numbers.current,
body.nmg-theme .page-numbers:hover {
	border-color: var(--nmg-accent);
	background: var(--nmg-accent-soft);
	color: #fff;
}

body.nmg-theme .site-footer {
	border-top: 1px solid var(--nmg-border);
	background: rgba(7, 17, 31, .92);
}

body.nmg-theme .inside-site-info {
	width: min(100% - clamp(28px, 5vw, 72px), var(--nmg-container));
	min-height: 74px;
	margin-inline: auto;
	padding: 20px 0;
	color: var(--nmg-muted);
	font-size: .86rem;
}

body.nmg-theme .nmg-empty-state,
body.nmg-theme .no-results,
body.nmg-theme .nmg-404-card {
	border: 1px solid var(--nmg-border);
	border-radius: var(--nmg-radius-lg);
	background: var(--nmg-surface);
	padding: clamp(24px, 5vw, 54px);
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

body.nmg-theme .nmg-search-form,
body.nmg-theme .search-form {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 560px;
	border: 1px solid var(--nmg-border-strong);
	border-radius: 999px;
	background: var(--nmg-surface);
}
body.nmg-theme .nmg-search-form:focus-within,
body.nmg-theme .search-form:focus-within { border-color: var(--nmg-accent); box-shadow: 0 0 0 4px var(--nmg-accent-soft); }
body.nmg-theme .nmg-search-form__label { flex: 1; min-width: 0; }
body.nmg-theme .nmg-search-form .search-field { min-height: 46px; border: 0; background: transparent; box-shadow: none; }
body.nmg-theme .search-submit { display: inline-grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; min-height: 44px; border: 0; border-radius: 50%; background: transparent; padding: 0; color: var(--nmg-text-soft); }
body.nmg-theme .search-submit:hover { background: var(--nmg-accent-soft); color: #fff; transform: none; }

body.nmg-theme .nmg-empty-state__actions,
body.nmg-theme .nmg-404__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
body.nmg-theme .nmg-404 { max-width: 860px; margin-inline: auto; border: 1px solid var(--nmg-border); border-radius: var(--nmg-radius-xl); background: var(--nmg-surface); padding: clamp(28px, 6vw, 68px); text-align: center; }
body.nmg-theme .nmg-404__code { margin-bottom: 8px; color: var(--nmg-accent); font-size: clamp(4rem, 13vw, 8rem); font-weight: 850; line-height: .9; letter-spacing: -.08em; }
body.nmg-theme .nmg-404__search { display: flex; justify-content: center; margin-top: 26px; }
body.nmg-theme .nmg-404__actions { justify-content: center; }
body.nmg-theme .nmg-embed { position: relative; overflow: hidden; width: 100%; }
