@font-face {
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100 900;
  font-stretch: 75% 100%;
  font-display: swap;
  src: url("../fonts/Roboto/Roboto-VariableFont_wdth,wght.d02795fd3195.ttf") format('truetype');
}

@font-face {
  font-family: 'Barlow Semi Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/Barlow_Semi_Condensed/BarlowSemiCondensed-SemiBold.b2fb11b97fdf.ttf") format('truetype');
}

/* Arabic-capable fonts. Roboto and Barlow Semi Condensed above have no Arabic
   glyphs, so :lang(ar) below repoints body text to Alan Sans and headings to
   Zain (both cover Arabic and Latin). These @font-face rules cost German
   visitors nothing: a browser only downloads a font once something on the
   page is styled to use it, and no German page selector matches :lang(ar). */
@font-face {
  font-family: 'Alan Sans';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url("../fonts/Alan_Sans/AlanSans-VariableFont_wght.6102ae3001ba.ttf") format('truetype');
}

@font-face {
  font-family: 'Zain';
  font-style: normal;
  font-weight: 200;
  font-display: swap;
  src: url("../fonts/Zain/Zain-ExtraLight.fac6672c450a.ttf") format('truetype');
}

@font-face {
  font-family: 'Zain';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/Zain/Zain-Light.df86a7cbffe4.ttf") format('truetype');
}

@font-face {
  font-family: 'Zain';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/Zain/Zain-LightItalic.28615bcac862.ttf") format('truetype');
}

@font-face {
  font-family: 'Zain';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Zain/Zain-Regular.c98c1ab3ed1f.ttf") format('truetype');
}

@font-face {
  font-family: 'Zain';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/Zain/Zain-Italic.3d30bea36445.ttf") format('truetype');
}

@font-face {
  font-family: 'Zain';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/Zain/Zain-Bold.123b5bd36bc6.ttf") format('truetype');
}

@font-face {
  font-family: 'Zain';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/Zain/Zain-ExtraBold.e548f4397358.ttf") format('truetype');
}

@font-face {
  font-family: 'Zain';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/Zain/Zain-Black.5fa378f7f043.ttf") format('truetype');
}

/* Same selectors Astra itself uses for body/control and heading text
   (astra-inline.css), so these win on specificity regardless of source
   order. Arabic script carries more diacritics and taller ascenders/descenders
   than Latin, so body copy also gets extra line-height; headings keep their
   own hand-tuned line-height (hero, courses) rather than a global override. */
:lang(ar) body,
:lang(ar) button,
:lang(ar) input,
:lang(ar) select,
:lang(ar) textarea,
:lang(ar) .ast-button,
:lang(ar) .ast-custom-button {
  font-family: 'Alan Sans', 'Roboto', sans-serif;
  line-height: 1.9;
}

:lang(ar) h1,
:lang(ar) h2,
:lang(ar) h3,
:lang(ar) h4,
:lang(ar) h5,
:lang(ar) h6,
:lang(ar) .site-title,
:lang(ar) .site-title a {
  font-family: 'Zain', 'Barlow Semi Condensed', sans-serif;
  font-weight: 700;
}
