/*
Theme Name: Nepturnal
Description: Child theme of Frost for nepturnal.art portfolio site. Custom palette, typography, and motion signature per locked Phase 1 brand decisions.
Author: Valentina Marconi
Template: frost
Version: 0.2.0
License: GNU General Public License v3
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: nepturnal-child
*/

/* ----------------------------------------------------------------------------
   Section-accent custom property.
   Body class is set in functions.php from page slug per Phase-1 mapping.
   Default = identity (silver-blue) for unmapped pages.
   ---------------------------------------------------------------------------- */

body {
	--section-accent: var(--wp--preset--color--accent-identity);
}
body.section-identity {
	--section-accent: var(--wp--preset--color--accent-identity);
}
body.section-creation {
	--section-accent: var(--wp--preset--color--accent-creation);
}
body.section-audience {
	--section-accent: var(--wp--preset--color--accent-audience);
}

/* ----------------------------------------------------------------------------
   Site header — wordmark + nav + language switcher.
   Type calibration locked Phase 1 §4 (recalibrated 2026-05-06):
     wordmark  = Sprat  190 / 147 / 46
     nav def   = Sprat  120 / 117 / 20
     nav hover = Sprat  200 / 125 / 20  (weight-led, subtle width nudge)
   ---------------------------------------------------------------------------- */

.site-header {
	border-bottom: 1px solid var(--wp--preset--color--rule);
}

.wp-block-site-title.site-wordmark,
.wp-block-site-title.site-wordmark a {
	font-family: "Sprat", serif;
	font-size: 46px;
	font-weight: 190;
	font-stretch: 147%;
	line-height: 1;
	color: var(--wp--preset--color--fg);
	text-decoration: none;
}

.site-nav .wp-block-navigation-item__content,
.site-nav a {
	font-family: "Sprat", serif;
	font-size: 20px;
	font-weight: 120;
	font-stretch: 117%;
	color: var(--wp--preset--color--fg);
	text-decoration: none;
	transition: font-weight 180ms ease, font-stretch 180ms ease, color 180ms ease;
}

.site-nav .wp-block-navigation-item__content:hover,
.site-nav .wp-block-navigation-item__content:focus,
.site-nav .current-menu-item .wp-block-navigation-item__content,
.site-nav a:hover,
.site-nav a:focus,
.site-nav .current-menu-item a {
	font-weight: 200;
	font-stretch: 125%;
	color: var(--wp--preset--color--fg);
}

/* ----------------------------------------------------------------------------
   Polylang language switcher — neutral, smaller, blends into header/footer.
   ---------------------------------------------------------------------------- */

.site-language-switcher,
.site-language-switcher-footer {
	font-family: "Sprat", serif;
	font-size: 16px;
	font-weight: 120;
	font-stretch: 100%;
}
.site-language-switcher ul,
.site-language-switcher-footer ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 12px;
}
.site-language-switcher a,
.site-language-switcher-footer a {
	color: var(--wp--preset--color--fg);
	text-decoration: none;
	opacity: 0.6;
	transition: opacity 180ms ease, font-weight 180ms ease;
}
.site-language-switcher a:hover,
.site-language-switcher-footer a:hover,
.site-language-switcher .current-lang a,
.site-language-switcher-footer .current-lang a {
	opacity: 1;
	font-weight: 175;
}

/* ----------------------------------------------------------------------------
   Site footer.
   ---------------------------------------------------------------------------- */

.site-footer {
	border-top: 1px solid var(--wp--preset--color--rule);
}
.site-colophon {
	margin: 0;
	opacity: 0.7;
	font-size: 14px;
}

/* ----------------------------------------------------------------------------
   Page title (the H1 of an individual page) — slightly smaller than display
   per Phase-1 §4 calibration: 165 / 122 / 27.
   ---------------------------------------------------------------------------- */

.wp-block-post-title {
	font-family: "Sprat", serif;
	font-weight: 165;
	font-stretch: 122%;
	font-size: clamp(22px, 2.4vw, 27px);
	line-height: 1.1;
}

/* ----------------------------------------------------------------------------
   Body links — already set to accent-identity via theme.json. This adds the
   underline-offset polish that theme.json doesn't expose.
   ---------------------------------------------------------------------------- */

a:where(:not(.wp-element-button):not(.wp-block-navigation-item__content)) {
	text-underline-offset: 0.2em;
	text-decoration-thickness: 1px;
}

/* ----------------------------------------------------------------------------
   Mobile: collapse nav into hamburger via Frost's overlayMenu="mobile".
   Keep wordmark + lang switcher inline; navigation handled by core.
   ---------------------------------------------------------------------------- */

@media (max-width: 600px) {
	.wp-block-site-title.site-wordmark,
	.wp-block-site-title.site-wordmark a {
		font-size: 32px;
	}
}
