/**
 * Nemus Blog — token + atmosfera.
 * Allineato a public/css/style.css di nemus.studio.
 */

:root {
	--forest-deep: #1a2e1a;
	--forest-mid: #2d4a2d;
	--forest-light: #3d6b30;
	--moss: #5a8f4a;
	--moss-bright: #6ba85a;
	--moss-glow: #7bc46a;

	--bark: #4a3228;
	--bark-dark: #2a1f18;
	--bark-mid: #3d2e24;

	--parchment: #e8dcc8;
	--parchment-dim: #c4b8a4;

	--amber: #d4a843;
	--amber-dark: #b08a2a;
	--mushroom-red: #c45c3a;
	--mushroom-gold: #d4a843;

	--bg-base: var(--forest-deep);
	--bg-warm: #243824;
	--bg-card: var(--forest-mid);
	--bg-hero: #1e321e;
	--text-primary: var(--parchment);
	--text-muted: var(--parchment-dim);

	--shadow-soft: rgba(0, 0, 0, 0.25);
	--shadow: rgba(0, 0, 0, 0.4);
	--pixel: 4px;
	--radius-squircle: 16px;
	--border-width: 1.7px;

	--font-header: 'SF Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
	--font-header-variations: "wght" 600, "wdth" 130;
	--font-body: 'Fraunces', 'Georgia', 'Times New Roman', serif;

	/* Atmosfera — grain SVG editoriale (come nemus.studio) */
	--atmos-grain-opacity: 0.40;
	--atmos-grain-size: 180px 180px;
	--atmos-grain-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='0.4'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	--atmos-glow: rgba(90, 143, 74, 0.11);
	--atmos-warm: rgba(212, 168, 67, 0.06);
	--atmos-vignette: rgba(0, 0, 0, 0.20);
	--atmos-fade-color: var(--bg-warm);
}

html {
	scroll-behavior: smooth;
	width: 100%;
	overflow-x: clip;
	/* Solo colore per rubber-band: niente grain sull’html */
	background-color: #162816;
}

body {
	position: relative;
	color: var(--parchment);
	background-color: #162816;
	background-image: none;
	min-height: 100vh;
	min-height: 100dvh;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

/*
 * Grain + overlay su layer fixed a viewport
 * (evita paint spezzato su pagine lunghe).
 */
.page-atmos {
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-color: #162816;
	background-image:
		var(--atmos-grain-image),
		radial-gradient(ellipse 120% 80% at 50% 50%, transparent 35%, var(--atmos-vignette) 100%),
		radial-gradient(ellipse 50% 40% at 0% 100%, var(--atmos-warm) 0%, transparent 55%),
		radial-gradient(ellipse at 20% 0%, rgba(90, 143, 74, 0.15) 0%, transparent 50%),
		radial-gradient(ellipse at 80% 100%, rgba(45, 74, 45, 0.2) 0%, transparent 50%),
		linear-gradient(180deg, #1e321e 0%, #1a2e1a 45%, #162816 100%);
	background-size:
		var(--atmos-grain-size),
		auto,
		auto,
		auto,
		auto,
		auto;
	background-repeat: repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
	background-blend-mode: overlay, normal, normal, normal, normal, normal;
}

/* Contenuto sopra l’atmosfera */
.wp-site-blocks {
	position: relative;
	z-index: 1;
	background: transparent;
}

.wp-site-blocks > main,
.wp-site-blocks > .wp-block-group:not(.footer):not(.header) {
	background: transparent;
}

/* Link moss solo nel contenuto articoli (header/footer hanno stili sito) */
.nemus-main a:not(.wp-block-post-title__link),
.nemus-article__content a {
	color: var(--moss-bright);
}

.nemus-main a:not(.wp-block-post-title__link):hover,
.nemus-main a:not(.wp-block-post-title__link):focus-visible,
.nemus-article__content a:hover,
.nemus-article__content a:focus-visible {
	color: var(--moss-glow);
}

/* Admin bar WordPress resta sopra */
#wpadminbar {
	z-index: 99999;
}
