/* IBM Plex Sans Arabic - Local Fonts */
@font-face {
    font-family: 'IBM Plex Sans Arabic';
    src: url('../assets/fonts/IBMPlexSansArabic-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans Arabic';
    src: url('../assets/fonts/IBMPlexSansArabic-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans Arabic';
    src: url('../assets/fonts/IBMPlexSansArabic-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans Arabic';
    src: url('../assets/fonts/IBMPlexSansArabic-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans Arabic';
    src: url('../assets/fonts/IBMPlexSansArabic-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans Arabic';
    src: url('../assets/fonts/IBMPlexSansArabic-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IBM Plex Sans Arabic';
    src: url('../assets/fonts/IBMPlexSansArabic-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Global Typography */
* {
    font-family: 'IBM Plex Sans Arabic', 'Arial', 'Helvetica', sans-serif;
}

/* Enhanced Typography for Arabic Text */
body {
    font-family: 'IBM Plex Sans Arabic', 'Arial', 'Helvetica', sans-serif;
    font-weight: 400;
    font-feature-settings: 'liga' 1, 'kern' 1, 'calt' 1;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-variant-ligatures: common-ligatures;
}

/* Headings with IBM Plex Sans Arabic */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.3;
    font-feature-settings: 'liga' 1, 'kern' 1;
}

h1 {
    font-weight: 700;
    font-size: 2.5rem;
}

h2 {
    font-weight: 600;
    font-size: 2rem;
}

h3 {
    font-weight: 500;
    font-size: 1.5rem;
}

h4 {
    font-weight: 500;
    font-size: 1.25rem;
}

h5 {
    font-weight: 500;
    font-size: 1.125rem;
}

h6 {
    font-weight: 500;
    font-size: 1rem;
}

/* Buttons with IBM Plex Sans Arabic */
button,
.btn,
input[type="button"],
input[type="submit"] {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-weight: 500;
    letter-spacing: 0.01em;
}

/* Form Elements */
input,
textarea,
select {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-weight: 400;
    letter-spacing: 0.01em;
}

/* Labels */
label {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-weight: 500;
    letter-spacing: 0.01em;
}

/* Links */
a {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-weight: 500;
}

/* Navigation */
nav,
.nav {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-weight: 500;
}

/* Cards and Containers */
.card,
.container,
.modal {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
}

/* Notifications */
.notification-item p,
.message {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-weight: 500;
}

/* Tables */
table,
th,
td {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
}

th {
    font-weight: 600;
}

td {
    font-weight: 400;
}

/* Lists */
ul,
ol,
li {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
}

/* Paragraphs */
p {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-weight: 400;
    line-height: 1.6;
}

/* Small text */
small,
.small {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-weight: 400;
    font-size: 0.875rem;
}

/* Strong text */
strong,
b {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-weight: 600;
}

/* Emphasized text */
em,
i {
    font-family: 'IBM Plex Sans Arabic', sans-serif;
    font-style: italic;
    font-weight: 400;
}

/* Code elements */
code,
pre {
    font-family: 'IBM Plex Sans Arabic', monospace;
    font-weight: 400;
}

/* Responsive Typography */
@media (max-width: 768px) {
    h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.75rem;
    }

    h3 {
        font-size: 1.25rem;
    }

    body {
        font-size: 0.9rem;
    }
}

@media (max-width: 480px) {
    h1 {
        font-size: 1.75rem;
    }

    h2 {
        font-size: 1.5rem;
    }

    h3 {
        font-size: 1.125rem;
    }

    body {
        font-size: 0.85rem;
    }
}

/* Print Styles */
@media print {
    * {
        font-family: 'IBM Plex Sans Arabic', sans-serif !important;
    }

    body {
        font-size: 12pt;
        line-height: 1.4;
    }

    h1 {
        font-size: 18pt;
    }

    h2 {
        font-size: 16pt;
    }

    h3 {
        font-size: 14pt;
    }
}