:root {
    --font-readable-xs: 12px;
    --font-readable-sm: 13px;
    --font-readable-base: 15px;
}

body { line-height: 1.55; }
p, li, dd { line-height: 1.65; }
small, time, dt { font-size: var(--font-readable-xs) !important; }

/* Служебные подписи остаются компактными, но не мельче 12px. */
.section-kicker,
.preview-label,
.rating-origin,
.footer-bottom,
.full-review-head span,
.full-review-head time,
.review-detail-meta small,
.review-detail-meta time,
.review-company-link small,
.live-company-card small,
.live-result small,
.live-result-score span,
.company-created-note span,
.category-field-hint,
.field-hint,
.form-rating small,
.form-progress,
.create-step span,
.create-message,
.review-path small,
.picker-result-note,
.review-company-choice small,
.review-company-choice em,
.review-new-company-strip span,
.source-note,
.address-list span,
.review-locations small,
.review-data-grid dt,
.details-grid dt,
.rules-nav strong,
.rule-number,
.moderation-steps b,
.moderation-steps small,
.demo-label,
.demo-review small,
.demo-answer small,
.claim-form-head p,
.claim-check small,
.admin-company,
.admin-review-meta,
.admin-rating span,
.admin-company-summary small,
.admin-company-count small,
.admin-visibility,
.admin-review-rating small,
.admin-review-copy > small {
    font-size: var(--font-readable-xs) !important;
}

.company-facts dt,
.rating-main span,
.watch-head,
.cta-copy > span,
.write-card-label,
.review-detail-footer > a,
.add-company-copy li small,
.review-rating small {
    font-size: var(--font-readable-xs) !important;
}

/* Основной текст карточек, списков и пояснений. */
.live-company-card p,
.live-result p,
.live-score span,
.live-score small,
.review-meta,
.review-company p,
.review-footer,
.trust-item small,
.watch-name small,
.rules-content p,
.rule-good li,
.rule-bad li,
.moderation-steps strong,
.rule-note,
.benefit-grid p,
.claim-grid ul,
.demo-review p,
.demo-answer p,
.review-data-grid dd,
.review-locations strong,
.facts-card dl > div,
.mini-facts > div,
.business-card p,
.review-company-description,
.form-principles small,
.check-field,
.picker-hint p,
.picker-empty p,
.admin-review-copy p,
.admin-empty-reviews {
    font-size: var(--font-readable-sm) !important;
}

/* Все интерактивные элементы должны читаться без увеличения страницы. */
.button,
.read-review-link,
.helpful-button,
.aside-link,
.text-button,
.rules-nav a,
.directory-sidebar > a,
.chip,
.category-suggestions button,
.result-review-button,
.admin-nav a,
.admin-filters a,
.admin-entity-actions .button,
.admin-review-actions > a,
.admin-review-actions button {
    font-size: var(--font-readable-xs) !important;
}

.field-label,
.claim-field > span,
.claim-check b,
.form-principles strong,
.add-company-copy li strong,
.review-company-choice strong,
.review-new-company-strip strong {
    font-size: var(--font-readable-sm) !important;
}

.text-field,
.claim-field input,
.review-company-search input,
.search-input input,
textarea,
select {
    font-size: var(--font-readable-base) !important;
}

.site-footer .footer-grid p,
.site-footer .footer-grid a,
.site-footer .footer-grid strong {
    font-size: var(--font-readable-sm);
    line-height: 1.55;
}

.site-footer .footer-bottom { font-size: var(--font-readable-xs); }

@media (max-width: 760px) {
    :root {
        --font-readable-xs: 13px;
        --font-readable-sm: 14px;
        --font-readable-base: 16px;
    }

    .mobile-nav a { font-size: 15px; }
    .section-kicker { letter-spacing: .09em; }
    .footer-bottom { flex-direction: column; gap: 8px; }
}
