@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Readex+Pro:wght@160..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Tienne:wght@400;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+Arabic:wght@100..900&display=swap');
html,
body,
#root,
#root > div {
  width: 100%;
  height: 100%;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: 'Montserrat', sans-serif !important;
}

/* Force fonts globally across all elements */
* {
  font-family: 'Montserrat', sans-serif !important;
}

/* Arabic font support - force GE SS Two for RTL */
html[dir="rtl"] *,
html[dir="rtl"] body,
body[dir="rtl"] *,
body[dir="rtl"] {
  font-family: 'GE-SS-Two-Medium', sans-serif !important;
}

/* Override any specific font declarations for Arabic */
[dir="rtl"] * {
  font-family: 'GE-SS-Two-Medium', sans-serif !important;
}

/* Strong override for all common text elements in LTR */
html:not([dir="rtl"]) h1,
html:not([dir="rtl"]) h2,
html:not([dir="rtl"]) h3,
html:not([dir="rtl"]) h4,
html:not([dir="rtl"]) h5,
html:not([dir="rtl"]) h6,
html:not([dir="rtl"]) p,
html:not([dir="rtl"]) span,
html:not([dir="rtl"]) div,
html:not([dir="rtl"]) label,
html:not([dir="rtl"]) input,
html:not([dir="rtl"]) textarea,
html:not([dir="rtl"]) button,
html:not([dir="rtl"]) select,
html:not([dir="rtl"]) a,
html:not([dir="rtl"]) li,
html:not([dir="rtl"]) td,
html:not([dir="rtl"]) th {
  font-family: 'Montserrat', sans-serif !important;
}

/* Strong override for all common text elements in RTL */
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] h4,
html[dir="rtl"] h5,
html[dir="rtl"] h6,
html[dir="rtl"] p,
html[dir="rtl"] span,
html[dir="rtl"] div,
html[dir="rtl"] label,
html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] button,
html[dir="rtl"] select,
html[dir="rtl"] a,
html[dir="rtl"] li,
html[dir="rtl"] td,
html[dir="rtl"] th {
  font-family: 'GE-SS-Two-Medium', sans-serif !important;
}

/* Additional specific overrides for typography components and Material-UI */
html:not([dir="rtl"]) .MuiTypography-root,
html:not([dir="rtl"]) .css-*,
html:not([dir="rtl"]) [class*="Text"],
html:not([dir="rtl"]) [class*="typography"],
html:not([dir="rtl"]) [class*="font"] {
  font-family: 'Montserrat', sans-serif !important;
}

html[dir="rtl"] .MuiTypography-root,
html[dir="rtl"] .css-*,
html[dir="rtl"] [class*="Text"],
html[dir="rtl"] [class*="typography"],
html[dir="rtl"] [class*="font"] {
  font-family: 'GE-SS-Two-Medium', sans-serif !important;
}

/* Override for styled-components and inline styles */
html:not([dir="rtl"]) * {
  font-family: 'Montserrat', sans-serif !important;
}

html[dir="rtl"] * {
  font-family: 'GE-SS-Two-Medium', sans-serif !important;
}

@font-face {
  font-family: 'Lato-Light';
  src: local('Lato-Light'),
    url('./assets/Fonts/lato.light.ttf') format('truetype');
}

@font-face {
  font-family: 'Lato-SemiBold';
  src: local('Lato-SemiBold'),
    url('./assets/Fonts/lato.semibold.ttf') format('truetype');
}

@font-face {
  font-family: 'Lato-LightItalic';
  src: local('Lato-LightItalic'),
    url('./assets/Fonts/lato.light-italic.ttf') format('truetype');
}

@font-face {
  font-family: 'Lato-Italic';
  src: local('Lato-Italic'),
    url('./assets/Fonts/lato.italic.ttf') format('truetype');
}

@font-face {
  font-family: 'Playfair-Regular';
  src: local('Playfair-Regular'),
    url('./assets/Fonts/playfair-display.regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Playfair-BoldItalic';
  src: local('Playfair-BoldItalic'),
    url('./assets/Fonts/playfair-display.bold-italic.ttf')
      format('truetype');
}

@font-face {
  font-family: 'Playfair-Italic';
  src: local('Playfair-Italic'),
    url('./assets/Fonts/playfair-display.italic.ttf') format('truetype');
}
@font-face {
  font-family: 'Noto-Sans-Regular';
  src: local('Noto-Sans-Regular'),
    url('./assets/Fonts/noto-sans.regular.ttf') format('truetype');
}

@font-face {
  font-family: 'Noto-Sans-Bold';
  src: local('Noto-Sans-Bold'),
    url('./assets/Fonts/noto-sans.bold.ttf') format('truetype');
}

@font-face {
  font-family: 'Noto-Sans-Italic';
  src: local('Noto-Sans-Italic'),
    url('./assets/Fonts/noto-sans.italic.ttf') format('truetype');
}

@font-face {
  font-family: 'ReadexPro-Light';
  src: local('ReadexPro-Light'),
    url('./assets/Fonts/ReadexPro-Light.ttf') format('truetype');
}

@font-face {
  font-family: 'ReadexPro-Medium';
  src: local('ReadexPro-Medium'),
    url('./assets/Fonts/ReadexPro-Medium.ttf') format('truetype');
}

@font-face {
  font-family: 'ReadexPro-Bold';
  src: local('ReadexPro-Bold'),
    url('./assets/Fonts/ReadexPro-bold.ttf') format('truetype');
}

@font-face {
  font-family: 'GE-SS-Two-Light';
  src: local('GE-SS-Two-Light'),
    url('./assets/Fonts/ge_ss_two_light.otf') format('opentype');
}

@font-face {
  font-family: 'GE-SS-Two-Medium';
  src: local('GE-SS-Two-Medium'),
    url('./assets/Fonts/ge_ss_two_medium.otf') format('opentype');
}

@font-face {
  font-family: 'GE-SS-Two-Bold';
  src: local('GE-SS-Two-Bold'),
    url('./assets/Fonts/ge_ss_two_bold.otf') format('opentype');
}

/* COMPREHENSIVE FONT OVERRIDE SYSTEM */
/* High specificity overrides to ensure font consistency across all components */

/* Base font override for all elements (highest specificity) */
html body * {
  font-family: 'Montserrat', sans-serif !important;
}

/* RTL language support with maximum specificity */
html[dir="rtl"] body *,
html[dir="rtl"] * {
  font-family: 'GE-SS-Two-Medium', sans-serif !important;
}

/* Override Material-UI and styled components with extreme specificity */
html body .MuiTypography-root,
html body .css-*,
html body [class*="makeStyles"],
html body [class*="MuiTypography"],
html body [class*="MuiButton"],
html body [class*="MuiTextField"],
html body [class*="MuiInputBase"],
html body [class*="typography"],
html body [class*="text"],
html body [class*="label"],
html body span,
html body p,
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body div,
html body button,
html body input,
html body textarea,
html body select,
html body a,
html body li,
html body td,
html body th {
  font-family: 'Montserrat', sans-serif !important;
}

/* RTL specific overrides with maximum specificity */
html[dir="rtl"] body .MuiTypography-root,
html[dir="rtl"] body .css-*,
html[dir="rtl"] body [class*="makeStyles"],
html[dir="rtl"] body [class*="MuiTypography"],
html[dir="rtl"] body [class*="MuiButton"],
html[dir="rtl"] body [class*="MuiTextField"],
html[dir="rtl"] body [class*="MuiInputBase"],
html[dir="rtl"] body [class*="typography"],
html[dir="rtl"] body [class*="text"],
html[dir="rtl"] body [class*="label"],
html[dir="rtl"] body span,
html[dir="rtl"] body p,
html[dir="rtl"] body h1,
html[dir="rtl"] body h2,
html[dir="rtl"] body h3,
html[dir="rtl"] body h4,
html[dir="rtl"] body h5,
html[dir="rtl"] body h6,
html[dir="rtl"] body div,
html[dir="rtl"] body button,
html[dir="rtl"] body input,
html[dir="rtl"] body textarea,
html[dir="rtl"] body select,
html[dir="rtl"] body a,
html[dir="rtl"] body li,
html[dir="rtl"] body td,
html[dir="rtl"] body th {
  font-family: 'GE-SS-Two-Medium', sans-serif !important;
}

/* Final fallback with attribute selectors for inline styles */
html:not([dir="rtl"]) [style*="font-family"] {
  font-family: 'Montserrat', sans-serif !important;
}

html[dir="rtl"] [style*="font-family"] {
  font-family: 'GE-SS-Two-Medium', sans-serif !important;
}