/*
 * Hugornis Typography v0.9.9
 * All-site readability layer, applied AFTER approved HTML/WordPress adapters.
 * Does not change H1/H2, layout grids, container widths, colors or imagery.
 * Scope: frontend only. Keep Manrope installed by the existing theme.
 */
:root {
  --hg-type-body: 16px;
  --hg-type-lead: 16px;
  --hg-type-nav: 15px;
  --hg-type-paragraph: 15px;
  --hg-type-card: 14px;
  --hg-type-label: 14px;
  --hg-type-input: 15px;
  --hg-type-hint: 12.5px;
  --hg-type-footer: 14px;
  --hg-type-legal: 12.5px;
}

/* 01. Global body and primary navigation. Do not force heading inheritance. */
body { font-size: var(--hg-type-body); }
@media (min-width: 1400px) {
  .site-header .desktop-nav a { font-size: var(--hg-type-nav); }
}
.site-header .header-cta,
.site-header .mobile-nav__cta { font-size: var(--hg-type-nav); }
.site-header .mobile-nav a { font-size: 16px; }

/* 02. Reusable copy on home, manufacturing and general WordPress templates. */
.section-head__side p,
.production-copy__lead,
.capabilities-intro > p,
.process-head > p,
.hg-heading p,
.hg-page-hero p,
.hg-feature__text p,
.hg-steps__content p,
.hg-prose,
.hg-card__body p { font-size: var(--hg-type-paragraph); line-height: 1.7; }
.product-card p,
.production-list p,
.solution-card__body p,
.solution-card--compact p,
.process-step p,
.capability-card__text,
.capability-list__text,
.product-use__card p,
.product-brief__item p,
.product-faq__answer p,
.project20-card p,
.knowledge20-card p,
.knowledge-card__link,
.knowledge20-empty,
.catalog-custom__side p,
.catalog-empty p { font-size: var(--hg-type-card); line-height: 1.65; }

/* 03. Search, filters, article, product and background pages. */
.catalog-filter,
.catalog-count,
.catalog-card__meta,
.catalog-hero__note span,
.catalog-principles span,
.project20-toolbar > span,
.product-spec dt,
.product-spec dd,
.product-brief__item span,
.product-custom__copy span,
.product-cta__side p,
.knowledge20-toolbar input,
.article20-toc a,
.article20-callout p,
.legal20-layout > aside a,
.about16-clients__list p,
.about16-location__side p,
.about16-location__side a,
.about17-intro__meta strong { font-size: var(--hg-type-card); }
.catalog-filter label,
.project20-filters button,
.knowledge20-filters button,
.catalog-empty__reset,
.catalog-custom__cta,
.solution-card__link { font-size: var(--hg-type-card); }
.knowledge20-hero__grid > p,
.project20-hero__grid > p,
.article20-hero p,
.legal20-hero > div > p,
.about17-intro__content > p,
.about16-clients__head > p,
.about16-cta__side p,
.article20-copy p,
.legal20-layout article p { font-size: var(--hg-type-lead); line-height: 1.75; }

/* 04. Contact page business copy, separate from the confirmed H1/H2. */
.contact20-hero p,
.contact20-form__intro > p { font-size: var(--hg-type-paragraph); line-height: 1.75; }
.contact20-hero__card a { font-size: var(--hg-type-card); }
.contact20-hero__card small { font-size: var(--hg-type-hint); line-height: 1.55; }
.contact20-checklist div { font-size: var(--hg-type-card); line-height: 1.55; }
.contact20-checklist span { font-size: 11px; }

/* 05. WPForms controls; override earlier 9/10/11px adapter values.
   Keep form grid, input heights, uploader behavior and validation intact. */
body.page .contact20-form .contact20-wpforms .wpforms-form .wpforms-field-label {
  font-size: var(--hg-type-label) !important;
  line-height: 1.45 !important;
}
body.page .contact20-form .contact20-wpforms .wpforms-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
body.page .contact20-form .contact20-wpforms .wpforms-form select,
body.page .contact20-form .contact20-wpforms .wpforms-form textarea {
  font-size: var(--hg-type-input) !important;
  font-family: var(--font-body) !important;
  line-height: 1.45 !important;
}
body.page .contact20-form .contact20-wpforms .wpforms-form .wpforms-field-description,
body.page .contact20-form .contact20-wpforms .wpforms-form .wpforms-field-sublabel {
  font-size: var(--hg-type-hint) !important;
  line-height: 1.55 !important;
}
body.page .contact20-form .contact20-wpforms .wpforms-form .wpforms-field-checkbox .wpforms-field-label-inline,
body.page .contact20-form .contact20-wpforms .wpforms-form .wpforms-field-checkbox li label {
  font-size: 13px !important;
  line-height: 1.6 !important;
}
body.page .contact20-form .contact20-wpforms .wpforms-form .wpforms-uploader .dz-message,
body.page .contact20-form .contact20-wpforms .wpforms-form .wpforms-uploader .dz-message span {
  font-size: 13px !important;
  line-height: 1.5 !important;
}
body.page .contact20-form .contact20-wpforms .wpforms-form button.wpforms-submit,
body.page .contact20-form .contact20-wpforms .wpforms-form button[type="submit"] {
  font-size: 15px !important;
}
body.page .contact20-form .contact20-wpforms .wpforms-form .wpforms-error,
body.page .contact20-form .contact20-wpforms .wpforms-form label.wpforms-error {
  font-size: 13px !important;
}

/* 06. Footer and legal links, keeping four-column design and actual menus. */
.site-footer .footer-brand p,
.site-footer .footer-location p { font-size: var(--hg-type-footer); line-height: 1.7; }
.site-footer .footer-location strong { font-size: var(--hg-type-footer); }
.site-footer .footer-col h3 { font-size: 15px; }
.site-footer .footer-col a { font-size: var(--hg-type-footer); line-height: 1.55; }
.site-footer .footer-bottom,
.site-footer .footer-bottom a,
.site-footer .footer-legal,
.site-footer .footer-legal a { font-size: var(--hg-type-legal); line-height: 1.6; }

/* 07. Mobile: avoid iOS focus zoom and allow long Russian footer strings to wrap.
   No changes to mobile grid, cookie panel, or dropzone height/overflow. */
@media (max-width: 767.98px) {
  .site-header .mobile-nav a { font-size: 16px; }
  body.page .contact20-form .contact20-wpforms .wpforms-form input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]),
  body.page .contact20-form .contact20-wpforms .wpforms-form select,
  body.page .contact20-form .contact20-wpforms .wpforms-form textarea { font-size: 16px !important; }
  .site-footer .footer-col a,
  .site-footer .footer-location p,
  .site-footer .footer-bottom a { overflow-wrap: anywhere; }
}
