/*
 * Akvagrim — typography
 *
 * Two jobs:
 *   1. Give Cyrillic a real typeface. The parent theme sets body to Barlow, which has
 *      no Cyrillic glyphs, so every Russian word rendered in the browser's fallback.
 *      Nunito carries body copy, Rubik carries headings — both have full Cyrillic.
 *   2. Raise the sizes that were set at 13–15px. At those sizes Russian text on a
 *      colourful background is simply hard to read.
 *
 * Loaded after the child theme's style.css, so plain overrides win without !important.
 */

:root {
	--akv-font-body: 'Nunito', 'Segoe UI', system-ui, -apple-system, sans-serif;
	--akv-font-display: 'Rubik', 'Nunito', 'Segoe UI', system-ui, sans-serif;
}

/* ---------- families ---------- */

body,
button,
input,
select,
optgroup,
textarea,
.pxl-item--subtitle,
.pxl-item--description {
	font-family: var(--akv-font-body);
}

h1, h2, h3, h4, h5, h6,
.pxl-item--title,
.pxl-heading .pxl-item--title,
.akv-block-title,
.akv-service-card h3,
.akv-card h3,
.pxl-btn-cta-splash,
a.pxl-btn-cta-splash {
	font-family: var(--akv-font-display);
	letter-spacing: -0.01em;
}

/* Nunito's strokes are lighter than Barlow's at the same weight, so nudge headings up. */
h1, h2, h3,
.pxl-heading .pxl-item--title,
.akv-block-title {
	font-weight: 700;
}

/* ---------- base size ---------- */

body {
	font-size: 19px;
	line-height: 1.62;
}

/* ---------- the blocks that were set too small ---------- */

.akv-service-card p {
	font-size: 17px;
	line-height: 1.55;
	opacity: 0.85;
}

.akv-service-card h3 {
	font-size: 21px;
}

.elementor-975 .elementor-element-31980fa .akv-hero-stat span,
.akv-hero-stat span {
	font-size: 15px;
	line-height: 1.45;
}

.akv-home-metrics span {
	font-size: 16px;
	line-height: 1.5;
}

.akv-home-final-box > span {
	font-size: 15px;
	line-height: 1.5;
}

.akv-card p {
	font-size: 17px;
	line-height: 1.55;
}

.akv-portfolio-excerpt {
	font-size: 17px;
	line-height: 1.55;
}

.akv-faq-a {
	font-size: 17px;
	line-height: 1.6;
}

.akv-tg-cta p {
	font-size: 16px;
	line-height: 1.55;
}

.akv-price-table td {
	font-size: 16px;
}

.akv-chip {
	font-size: 14px;
	letter-spacing: 0.02em;
}

.akv-footer-handle {
	font-size: 16px;
}

.akv-rainbow-frame-caption {
	font-size: 15px;
}

.akv-rainbow-divider-label {
	font-size: 14px;
}

.pxl-btn-cta-splash,
a.pxl-btn-cta-splash {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.01em;
}

.akv-block-lead {
	font-size: 19px;
	line-height: 1.6;
}

/* Elementor text widgets inherit 15px from some presets — keep body copy readable. */
.elementor-widget-pxl_text_editor p,
.elementor-widget-text-editor p {
	font-size: 18px;
	line-height: 1.62;
}

/* ---------- small screens ---------- */

@media (max-width: 767px) {
	body {
		font-size: 18px;
	}

	.akv-service-card p,
	.akv-card p,
	.akv-portfolio-excerpt,
	.akv-faq-a {
		font-size: 16px;
	}
}
