/* ==========================================================================
   Gul Traders - 100% Offline Local Self-Hosted Traditional Urdu Book Fonts
   ========================================================================== */

/* Jameel Noori Nastaleeq (Authentic Traditional Pakistani Book & Mandi Calligraphy) */
@font-face {
  font-family: 'Jameel Noori Nastaleeq';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: local('Jameel Noori Nastaleeq'),
       local('Jameel Noori Nastaleeq Kasheeda'),
       url('../fonts/jameel-noori-nastaleeq.woff2') format('woff2'),
       url('../fonts/jameel-noori-nastaleeq.ttf') format('truetype');
}

@font-face {
  font-family: 'Jameel Noori Nastaleeq Kasheeda';
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: local('Jameel Noori Nastaleeq Kasheeda'),
       local('Jameel Noori Nastaleeq'),
       url('../fonts/jameel-noori-nastaleeq.woff2') format('woff2'),
       url('../fonts/jameel-noori-nastaleeq.ttf') format('truetype');
}

/* Noto Nastaliq Urdu (Secondary Fallback) */
@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/noto-nastaliq-urdu.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+FB50-FDFF, U+FE70-FEFC;
}

@font-face {
  font-family: 'Noto Nastaliq Urdu';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('../fonts/noto-nastaliq-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Noto Sans Arabic (Tertiary Fallback) */
@font-face {
  font-family: 'Noto Sans Arabic';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url('../fonts/noto-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+FB50-FDFF, U+FE70-FEFC;
}

@font-face {
  font-family: 'Noto Sans Arabic';
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url('../fonts/noto-arabic-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Outfit English / Numbers Font */
@font-face {
  font-family: 'Outfit';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('../fonts/outfit.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   EXTRA LARGE MANDI BOOK URDU TYPOGRAPHY (PROPORTIONAL BOX-FILLING SCALING)
   ========================================================================== */
html {
  font-size: 20px !important;
}

body {
  font-family: 'Jameel Noori Nastaleeq', 'Jameel Noori Nastaleeq Kasheeda', 'Noto Nastaliq Urdu', 'Urdu Typesetting', serif !important;
  font-size: 21px !important;
  line-height: 2.2 !important;
  font-weight: 700 !important;
}

body, h1, h2, h3, h4, h5, h6, p, span, a, label, table, th, td, input, select, textarea, button {
  font-family: 'Jameel Noori Nastaleeq', 'Jameel Noori Nastaleeq Kasheeda', 'Noto Nastaliq Urdu', 'Urdu Typesetting', serif;
}

.font-nastaliq, .font-heading {
  font-family: 'Jameel Noori Nastaleeq', 'Jameel Noori Nastaleeq Kasheeda', 'Noto Nastaliq Urdu', 'Urdu Typesetting', serif !important;
  font-weight: 800 !important;
}

.urdu-bold {
  font-weight: 900 !important;
}

.urdu-num, .font-num {
  font-family: 'Outfit', 'Noto Sans Arabic', sans-serif !important;
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

/* Headings: Grand, commanding, authentic InPage look */
h1 { font-size: 36px !important; line-height: 2.2 !important; font-weight: 900 !important; }
h2 { font-size: 30px !important; line-height: 2.2 !important; font-weight: 900 !important; }
h3 { font-size: 26px !important; line-height: 2.1 !important; font-weight: 800 !important; }
h4 { font-size: 23px !important; line-height: 2.1 !important; font-weight: 800 !important; }
h5 { font-size: 21px !important; line-height: 2.0 !important; font-weight: 700 !important; }
h6 { font-size: 19px !important; line-height: 2.0 !important; font-weight: 700 !important; }

/* Overriding Tailwind text size classes across the board */
.text-\[9px\], .text-\[10px\], .text-\[11px\], .text-xs,
[class*="text-xs"], [class*="text-[11px]"], [class*="text-[10px]"], [class*="text-[9px]"] {
  font-size: 18px !important;
  line-height: 2.1 !important;
}

.text-\[12px\], .text-\[13px\], .text-sm,
[class*="text-sm"], [class*="text-[13px]"], [class*="text-[12px]"] {
  font-size: 20px !important;
  line-height: 2.1 !important;
}

.text-base, .text-\[15px\], .text-\[16px\],
[class*="text-base"] {
  font-size: 22px !important;
  line-height: 2.2 !important;
}

.text-lg, [class*="text-lg"] {
  font-size: 25px !important;
  line-height: 2.2 !important;
}

.text-xl, [class*="text-xl"] {
  font-size: 28px !important;
  line-height: 2.2 !important;
}

.text-2xl, [class*="text-2xl"] {
  font-size: 34px !important;
  line-height: 2.2 !important;
}

.text-3xl, [class*="text-3xl"] {
  font-size: 40px !important;
  line-height: 2.3 !important;
}

/* ==========================================================================
   SIDEBAR: EXTRA LARGE, BOLD, BOX-FILLING NAVIGATION
   ========================================================================== */
aside {
  width: 350px !important;
  min-width: 350px !important;
}

aside nav a, .sidebar-link {
  font-size: 21px !important;
  line-height: 2.2 !important;
  font-weight: 800 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

aside nav a span {
  font-size: 21px !important;
  font-weight: 800 !important;
}

aside nav a i {
  font-size: 22px !important;
  width: 30px !important;
}

aside h1 {
  font-size: 28px !important;
  font-weight: 900 !important;
}

aside p {
  font-size: 16px !important;
}

/* ==========================================================================
   TABLES: EXTRA LARGE, PROMINENT, CRISP DATA
   ========================================================================== */
table {
  font-size: 20px !important;
}

table th {
  font-size: 21px !important;
  font-weight: 900 !important;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  line-height: 2.2 !important;
}

table td {
  font-size: 20.5px !important;
  line-height: 2.3 !important;
  font-weight: 700 !important;
  padding-top: 14px !important;
  padding-bottom: 14px !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

table td span, table td p, table td a {
  font-size: 20.5px !important;
  line-height: 2.3 !important;
}

table td .font-num, table td span.font-num {
  font-size: 21px !important;
  font-weight: 800 !important;
}

table tfoot td, table tfoot th {
  font-size: 22px !important;
  font-weight: 900 !important;
}

/* ==========================================================================
   CARDS & STAT BOXES ACROSS ALL PAGES
   ========================================================================== */
.rounded-3xl span.font-heading,
.rounded-2xl span.font-heading,
.rounded-xl span.font-heading {
  font-size: 21px !important;
  font-weight: 800 !important;
  line-height: 2.2 !important;
}

.rounded-3xl h4.font-num,
.rounded-2xl h4.font-num,
.rounded-3xl h3.font-num,
.rounded-2xl h3.font-num {
  font-size: 32px !important;
  font-weight: 900 !important;
}

.rounded-3xl p.font-heading,
.rounded-2xl p.font-heading {
  font-size: 17px !important;
  font-weight: 700 !important;
}

/* ==========================================================================
   FORMS, FILTERS, BUTTONS & INPUTS
   ========================================================================== */
input, select, textarea {
  font-size: 19.5px !important;
  min-height: 54px !important;
  font-weight: 700 !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}

button, .btn {
  font-size: 19.5px !important;
  font-weight: 800 !important;
}

label {
  font-size: 20px !important;
  font-weight: 800 !important;
  line-height: 2.1 !important;
}

header h2 {
  font-size: 28px !important;
  font-weight: 900 !important;
}

header p {
  font-size: 17px !important;
}

/* ==========================================================================
   PRINT MEDIA STYLES: CLEAN A4 PRINTING ACROSS ALL PAGES
   ========================================================================== */
@media print {
  aside, header, nav, .no-print, [class*="no-print"] {
    display: none !important;
  }
  body, main {
    background: #ffffff !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
  }
  .shadow-xl, .shadow-lg, .shadow-md, .shadow-sm, .shadow {
    box-shadow: none !important;
  }
  .border, table {
    border-color: #cbd5e1 !important;
  }
}
