/*
 * Sytris Global Font Fix
 * Global typography override.
 *
 * IMPORTANT:
 * Do not apply the font to icon-font elements. Astra/Elementor/Spectra
 * icon fonts and SVG icons are intentionally excluded.
 */

:root {
  --sytris-font: "Plus Jakarta Sans", Arial, Helvetica, sans-serif;
}

html,
body {
  font-family: var(--sytris-font) !important;
}

/* Normal text-bearing elements */
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body a,
body li,
body ol,
body ul,
body label,
body small,
body strong,
body b,
body em,
body i,
body blockquote,
body figcaption,
body caption,
body td,
body th,
body dt,
body dd,
body input,
body textarea,
body select,
body option,
body button {
  font-family: var(--sytris-font) !important;
}

/* Elementor */
.elementor-widget-text-editor,
.elementor-widget-text-editor *,
.elementor-heading-title,
.elementor-button,
.elementor-button-text,
.elementor-icon-list-text,
.elementor-tab-title,
.elementor-tab-content,
.elementor-accordion-title,
.elementor-accordion-content,
.elementor-field,
.elementor-field-label {
  font-family: var(--sytris-font) !important;
}

/* Spectra / UAGB */
[class*="uagb-"] h1,
[class*="uagb-"] h2,
[class*="uagb-"] h3,
[class*="uagb-"] h4,
[class*="uagb-"] h5,
[class*="uagb-"] h6,
[class*="uagb-"] p,
[class*="uagb-"] a,
[class*="uagb-"] span,
[class*="uagb-"] li,
[class*="uagb-"] label,
[class*="uagb-"] button {
  font-family: var(--sytris-font) !important;
}

/* Astra */
.ast-builder-menu,
.ast-builder-menu *,
.main-header-menu,
.main-header-menu *,
.ast-button,
.ast-custom-button,
.ast-footer-copyright,
.ast-footer-widget-area,
.ast-single-post .entry-title,
.ast-single-post .entry-content,
.site-title,
.site-description {
  font-family: var(--sytris-font) !important;
}

/*
 * Protect icon fonts and SVG icons.
 * These rules come AFTER the broad text rules.
 */
.eicon,
[class^="eicon-"],
[class*=" eicon-"],
.dashicons,
[class^="dashicons-"],
[class*=" dashicons-"],
.fa,
.fas,
.far,
.fal,
.fab,
[class^="fa-"],
[class*=" fa-"],
[class*="icon"],
[class*="Icon"],
[class*="uagb-icon"],
.elementor-icon,
.elementor-icon *,
.elementor-social-icon,
.elementor-social-icon *,
svg,
svg *,
i[class*="icon"],
span[class*="icon"] {
  font-family: inherit !important;
}

/* Keep SVG graphics independent of text font */
svg {
  font-family: initial !important;
}

/* Form controls */
input::placeholder,
textarea::placeholder {
  font-family: var(--sytris-font) !important;
}

/* Font weights */
body,
input,
textarea,
select {
  font-weight: 400;
}

h1, h2, h3, h4, h5, h6,
strong, b,
.elementor-heading-title {
  font-weight: 700;
}

/* Prevent old custom-font declarations from winning on common wrappers */
body.sytris-font-fix-active .sytris-theme,
body.sytris-font-fix-active .site,
body.sytris-font-fix-active .site-content,
body.sytris-font-fix-active .content-area,
body.sytris-font-fix-active .entry-content,
body.sytris-font-fix-active .page,
body.sytris-font-fix-active .container {
  font-family: var(--sytris-font) !important;
}

/* Mobile typography remains inherited and responsive */
@media (max-width: 768px) {
  body {
    -webkit-text-size-adjust: 100%;
  }
}
