:root {
	--accent: #061148;
	--accent-ink: #ffffff;
	--bg: #f3f3f6;
	--surface: #ffffff;
	--surface-2: #ebebf0;
	--ink: #14172b;
	--muted: #6b6f85;
	--line: rgba(20, 23, 43, 0.08);

	--r-xl: 28px;
	--r-lg: 22px;
	--r-md: 16px;
	--r-pill: 999px;

	--shadow-sm: 0 1px 2px rgba(20, 23, 43, 0.04), 0 4px 14px -6px rgba(20, 23, 43, 0.10);
	--shadow-md: 0 2px 4px rgba(20, 23, 43, 0.05), 0 18px 40px -16px rgba(20, 23, 43, 0.22);

	--ease: cubic-bezier(0.22, 0.8, 0.24, 1);
	--ease-sheet: cubic-bezier(0.32, 0.72, 0, 1);
	--t-fast: 0.18s;
	--t: 0.32s;

	--font: 'Inter', -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', Roboto, sans-serif;
	--gutter: clamp(16px, 4vw, 40px);
	--max: 1240px;
	--header-h: 60px;
	--bottom-h: 0px;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); }

body {
	margin: 0;
	font-family: var(--font);
	font-size: 16px;
	line-height: 1.5;
	color: var(--ink);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
	padding-bottom: calc(var(--bottom-h) + env(safe-area-inset-bottom));
}

body.is-locked { overflow: hidden; }

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; background: none; border: 0; padding: 0; -webkit-tap-highlight-color: transparent; }
h1, h2, h3, p, ul { margin: 0; padding: 0; }
ul { list-style: none; }
[hidden] { display: none !important; }

h1, h2, h3 { letter-spacing: -0.02em; line-height: 1.12; font-weight: 700; }

.sr-only {
	position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

.site-main { min-height: 60vh; }

.container { width: min(100% - var(--gutter) * 2, var(--max)); margin-inline: auto; }

.kicker { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
.section-title { font-size: clamp(26px, 4vw, 38px); margin-bottom: 20px; }

/* Все блоки главной держат единую ширину и ритм */
.collection, .categories, .catalog, .banner, .about, .faq, .text-block {
	width: min(100% - var(--gutter) * 2, var(--max));
	margin-inline: auto;
	margin-top: clamp(40px, 6vw, 72px);
}

@media (max-width: 767px) {
	:root { --bottom-h: 76px; --header-h: 56px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
