/**
 * Beto — Layer 1 base stylesheet.
 *
 * Minimal, intentional styling for native chrome only (container, header,
 * footer, skip link, basic entry layout). This is NOT the scoped block
 * baseline — that arrives in Layer 2 as blocks.css. Nothing here is global or
 * aggressive enough to fight a page builder.
 */

:root {
	--nu-container-width: 1440px; /* Site content container (Build Guide standard). */
	--nu-wide-width: 1440px;       /* Site chrome + wide layouts (header, footer, documents). */
	/* Site-wide side gutters — Single Post / .sp-wrap is the source of truth. */
	--nu-gutter: clamp(1.25rem, 4vw, 3rem); /* 20px → 48px */
	--nu-gap: 1.5rem;
	/* Site canvas — Contact / Single Post neutral tone (#F6F5F1). */
	--nu-canvas: #F6F5F1;
	--nu-paper: #FFFFFF; /* Raised surfaces (cards, header, footer chrome). */
}

html {
	background-color: var(--nu-canvas);
}

body {
	background-color: var(--nu-canvas);
	color: var(--wp--preset--color--foreground, #141b1a);
}

.nu-container {
	width: 100%;
	max-width: var(--nu-container-width);
	margin-inline: auto;
	padding-inline: var(--nu-gutter);
	padding-block: 3rem;
}

/* Skip link — visible only on focus. */
.nu-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
}
.nu-skip-link:focus {
	left: 8px;
	top: 8px;
	padding: 0.5rem 1rem;
	background: var(--wp--preset--color--background, #fff);
	color: var(--wp--preset--color--foreground, #141b1a);
	border: 2px solid var(--wp--preset--color--secondary, #0b1f1c);
	border-radius: 4px;
}

/* Site header (native fallback; suppressed when Elementor owns the location). */
.nu-site-header {
	border-bottom: 1px solid var(--wp--preset--color--border, #e2e6e2);
}
.nu-site-header__inner {
	max-width: var(--nu-wide-width);
	margin-inline: auto;
	padding: 1rem var(--nu-gutter);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--nu-gap);
}
.nu-site-title {
	font-weight: 700;
	font-size: 1.25rem;
	text-decoration: none;
	color: var(--wp--preset--color--foreground, #141b1a);
}

/* No gap between Theme Builder header and page content. */
.elementor-location-header {
	margin: 0;
	padding: 0;
}
.nu-site-main {
	margin-top: 0;
	padding-top: 0;
}
.nu-menu,
.nu-footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--nu-gap);
}
.nu-menu a,
.nu-footer-menu a {
	text-decoration: none;
	color: var(--wp--preset--color--secondary, #0b1f1c);
}
.nu-menu a:hover,
.nu-footer-menu a:hover {
	text-decoration: underline;
}

/* Site footer. */
.nu-site-footer {
	border-top: 1px solid var(--wp--preset--color--border, #e2e6e2);
	margin-top: 3rem;
}
.nu-site-footer__inner {
	max-width: var(--nu-wide-width);
	margin-inline: auto;
	padding: 2rem var(--nu-gutter);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--nu-gap);
}
.nu-site-footer__credit {
	margin: 0;
	color: var(--wp--preset--color--muted, #5b6660);
	font-size: 0.875rem;
}

/* Minimal entry layout for the native fallback. */
.nu-entry + .nu-entry {
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: 1px solid var(--wp--preset--color--border, #e2e6e2);
}
.nu-entry-title {
	margin: 0 0 1rem;
}
.nu-entry-title a {
	text-decoration: none;
	color: inherit;
}
.nu-entry-thumbnail {
	margin: 0 0 1.5rem;
}
.nu-entry-thumbnail img {
	height: auto;
	max-width: 100%;
	border-radius: 8px;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
}
