/**
 * Nikolas X — Layout: containers, sections, grids
 */

.nx-container {
	width: min(100% - (var(--nx-gutter) * 2), var(--nx-container));
	margin-inline: auto;
}

.nx-container--narrow {
	width: min(100% - (var(--nx-gutter) * 2), var(--nx-container-narrow));
}

.nx-container--wide {
	width: min(100% - (var(--nx-gutter) * 2), var(--nx-container-wide));
}

.nx-container--full {
	width: 100%;
	max-width: none;
	padding-inline: var(--nx-gutter);
}

.nx-section {
	padding-block: var(--nx-section-y);
}

.nx-section--sm {
	padding-block: var(--nx-section-y-sm);
}

.nx-section--dark {
	background: var(--nx-color-dark);
	color: var(--nx-color-text-inverse);
}

.nx-section--dark-secondary {
	background: var(--nx-color-dark-secondary);
	color: var(--nx-color-text-inverse);
}

.nx-section--light {
	background: var(--nx-color-light);
	color: var(--nx-color-text);
}

.nx-section--white {
	background: var(--nx-color-white);
	color: var(--nx-color-text);
}

.nx-section__header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--nx-space-4);
	margin-bottom: var(--nx-space-7);
}

.nx-section__header .nx-h2,
.nx-section__header h2 {
	margin-bottom: var(--nx-space-2);
}

.nx-section__intro {
	max-width: 36rem;
	color: var(--nx-color-muted);
	margin: 0;
}

.nx-section--dark .nx-section__intro,
.nx-section--dark-secondary .nx-section__intro {
	color: rgba(249, 250, 251, 0.72);
}

.nx-grid {
	display: grid;
	gap: var(--nx-space-5);
}

.nx-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nx-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.nx-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nx-stack {
	display: flex;
	flex-direction: column;
	gap: var(--nx-space-4);
}

.nx-stack--sm {
	gap: var(--nx-space-2);
}

.nx-stack--lg {
	gap: var(--nx-space-6);
}

.nx-cluster {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--nx-space-3);
}

.nx-cluster--center {
	justify-content: center;
}

.nx-split {
	display: grid;
	gap: var(--nx-space-7);
	align-items: center;
}

.nx-split--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.nx-main {
	padding: var(--nx-space-8) 0;
	min-height: 40vh;
}

.nx-main--elementor {
	padding: 0;
}

.nx-main--elementor > .elementor {
	width: 100%;
}

.nx-entry + .nx-entry {
	margin-top: var(--nx-space-6);
}

.nx-entry__title {
	margin-bottom: var(--nx-space-3);
}

.nx-entry__title a {
	color: inherit;
	text-decoration: none;
}

.nx-entry__title a:hover {
	color: var(--nx-color-primary);
}

.nx-archive-header {
	margin-bottom: var(--nx-space-6);
}

.nx-archive-header__title {
	margin-bottom: 0;
}
