/* Lingo.am — design tokens, self-hosted fonts, components */

@font-face {
	font-family: 'Noto Sans Armenian';
	src: url('../fonts/nsa-armenian-400.woff2') format('woff2'),
	     url('../fonts/nsa-latin-400.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Noto Sans Armenian';
	src: url('../fonts/nsa-armenian-600.woff2') format('woff2'),
	     url('../fonts/nsa-latin-600.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Noto Sans Armenian';
	src: url('../fonts/nsa-armenian-800.woff2') format('woff2'),
	     url('../fonts/nsa-latin-800.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
	font-display: swap;
}

:root {
	--c-bg: #FFFFFF;
	--c-surface: #F5F7FA;
	--c-ink: #12181F;
	--c-navy: #0B1424;
	--c-accent: #2E6BFF;
	--c-accent-dark: #1F4FD1;
	--c-support: #12B76A;
	--c-border: #E2E8F0;
}

html {
	scroll-behavior: auto; /* Lenis owns smooth scroll */
}

body {
	font-family: 'Noto Sans Armenian', sans-serif;
	color: var(--c-ink);
	background: var(--c-bg);
}

h1, h2, h3, h4 {
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.01em;
}

/* Neutralize any UA/theme resets without fighting specificity */
:where(body) :where(h1, h2, h3, h4, h5, h6) {
	font-family: 'Noto Sans Armenian', sans-serif;
}

/* Reveal-on-scroll base state; degrades to visible if JS never runs */
[data-reveal] {
	opacity: 1;
	transform: none;
}
html.js [data-reveal] {
	opacity: 0;
	transform: translateY(24px);
}
html.js [data-reveal].is-revealed {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	html.js [data-reveal] {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Nav menu link spacing (wp_nav_menu output has no classes by default) */
header nav ul,
footer nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: inherit;
	flex-direction: inherit;
}
header nav ul li a {
	color: var(--c-ink);
	opacity: 0.75;
	text-decoration: none;
	transition: opacity 0.15s ease, color 0.15s ease;
}
header nav ul li a:hover,
header nav ul li.current-menu-item a {
	opacity: 1;
	color: var(--c-accent);
}
footer nav ul li a {
	color: rgba(255,255,255,0.6);
	text-decoration: none;
	transition: color 0.15s ease;
}
footer nav ul li a:hover { color: #fff; }

/* Calculator chips */
.cal-chip {
	border: 1px solid var(--c-border);
	border-radius: 999px;
	padding: 0.55rem 0.9rem;
	font-size: 13.5px;
	font-weight: 500;
	color: var(--c-ink);
	background: #fff;
	text-align: center;
	transition: all 0.15s ease;
	cursor: pointer;
}
.cal-chip[aria-pressed="true"] {
	background: var(--c-accent);
	border-color: var(--c-accent);
	color: #fff;
}
.cal-chip:hover:not([aria-pressed="true"]) {
	border-color: var(--c-accent);
	color: var(--c-accent);
}

.cal-unit-btn {
	color: rgba(18,24,31,0.5);
	transition: all 0.15s ease;
}
.cal-unit-btn[aria-pressed="true"] {
	background: #fff;
	color: var(--c-navy);
	box-shadow: 0 1px 3px rgba(11,20,36,0.12);
}

/* Form feedback */
.aura-form-msg { min-height: 1.1em; }
.aura-form-msg[data-state="ok"] { color: var(--c-support); }
.aura-form-msg[data-state="error"] { color: #DC2626; }

/* Generic page content (privacy/terms/about) */
.prose-aura {
	font-size: 16px;
	line-height: 1.75;
	color: rgba(18,24,31,0.75);
}
.prose-aura h2 {
	font-size: 22px;
	font-weight: 800;
	color: var(--c-navy);
	margin-top: 2em;
	margin-bottom: 0.6em;
}
.prose-aura p { margin-bottom: 1.1em; }
.prose-aura ul { list-style: disc; padding-left: 1.4em; margin-bottom: 1.1em; }
.prose-aura li { margin-bottom: 0.4em; }
.prose-aura a { color: var(--c-accent); text-decoration: underline; }

/* Mobile menu button state */
#aura-menu-btn[aria-expanded="true"] { border-color: var(--c-accent); }

/* Floating buttons: keep above Lenis wrapper */
#aura-floating a { text-decoration: none; }
