/* ============================================================
   SpOki.ro - stratul de tokeni. Singurul loc unde traiesc
   culorile, fonturile si scara de spatiere.
   ============================================================ */

/* Fonturi variabile, subseturi latin + latin-ext (diacritice romanesti). */

@font-face {
	font-family: 'Fredoka';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url('../fonts/fredoka-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Fredoka';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url('../fonts/fredoka-latin-ext.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
	font-family: 'Nunito Sans';
	font-style: normal;
	font-weight: 200 1000;
	font-display: swap;
	src: url('../fonts/nunito-sans-latin.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: 'Nunito Sans';
	font-style: normal;
	font-weight: 200 1000;
	font-display: swap;
	src: url('../fonts/nunito-sans-latin-ext-ro.woff2') format('woff2');
	/* Subset: doar diacriticele romanesti plus literele central-europene care apar in
	   nume de marci. Fisierul complet avea 43 KB si intra in fereastra LCP la prioritate
	   VeryHigh, adica lua latime de banda chiar de la fotografia produsului.
	   Masurat pe site: din tot Latin Extended se folosesc doar a-breve, s-virgula si
	   t-virgula. Ce nu este in interval cade pe fontul de sistem, nu pe patratele goale. */
	unicode-range: U+0100-0107, U+010C-0113, U+0118-011B, U+012A-012B, U+0139-013A, U+013D-013E, U+0141-0144, U+0147-0148, U+0150-0151, U+0158-015B, U+015E-0165, U+016A-016B, U+016E-0171, U+017B-017E, U+0218-021B;
}

:root {
	/* Paleta SpOki - aprobata in design system, nu se improvizeaza. */
	/* Turcoazul marcii, luat din logo (#01A8AE) si coborat un ton pentru
	   contrast: text alb pe #018287 = 4.62:1, trece WCAG AA. */
	--spoki-primary: #018287;
	--spoki-primary-dark: #016A6E;
	--spoki-primary-soft: #E3F4F5;
	--spoki-logo-teal: #01A8AE;
	--spoki-text: #1F2937;
	--spoki-text-soft: #4B5563;
	/* Fundalul paginii. A fost crem (#FFFDF8) pana la 07.09.2026; proprietarul l-a
	   vrut alb. Numele tokenului ramane, ca sa nu se rupa nimic care il foloseste. */
	--spoki-bg-warm: #FFFFFF;
	--spoki-bg-neutral: #F1F5F9;
	--spoki-promo: #C2410C;
	--spoki-accent: #F59E0B;
	--spoki-accent-soft: #FEF3C7;
	--spoki-white: #FFFFFF;

	--spoki-success: #15803D;
	--spoki-warning: #B45309;
	--spoki-error: #B91C1C;

	--spoki-font-display: 'Fredoka', 'Segoe UI', system-ui, sans-serif;
	--spoki-font-body: 'Nunito Sans', 'Segoe UI', system-ui, sans-serif;

	--spoki-space-1: 4px;
	--spoki-space-2: 8px;
	--spoki-space-3: 16px;
	--spoki-space-4: 24px;
	--spoki-space-5: 40px;
	--spoki-space-6: 64px;
	--spoki-space-7: 96px;

	--spoki-radius: 14px;
	--spoki-radius-lg: 22px;
	--spoki-radius-pill: 999px;
	/* Semnatura "squish": raza organica, moale, ca un squishy adevarat. */
	--spoki-radius-blob: 46% 54% 57% 43% / 45% 42% 58% 55%;
	--spoki-shadow: 0 1px 2px rgba(31, 41, 55, 0.06), 0 6px 20px -8px rgba(31, 41, 55, 0.12);
	--spoki-shadow-lift: 0 2px 4px rgba(31, 41, 55, 0.08), 0 14px 32px -10px rgba(31, 41, 55, 0.18);
}

/* Bazele: corp de text citet si pentru bunica. */
body {
	background-color: var(--spoki-bg-warm);
	color: var(--spoki-text);
	font-family: var(--spoki-font-body);
	font-size: 17px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

@media (max-width: 689px) {
	body { font-size: 16px; }
}

h1, h2, h3, h4 {
	font-family: var(--spoki-font-display);
	font-weight: 600;
	color: var(--spoki-text);
	line-height: 1.15;
	letter-spacing: -0.01em;
}

a { color: var(--spoki-primary); }
a:hover { color: var(--spoki-primary-dark); }

::selection { background: var(--spoki-accent-soft); }

/* Fundalul cald castiga peste tema. */
html body { background-color: var(--spoki-bg-warm); }
