/* Font Support CSS for ERPNext Custom Theme */

/* Base font loading support */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* Font face declarations for better loading */
@font-face {
  font-family: 'System';
  src: local('system-ui'), local('-apple-system'), local('BlinkMacSystemFont'), 
       local('Segoe UI'), local('Roboto'), local('Helvetica Neue'), local('Arial');
  font-display: swap;
}

/* Default font stack */
:root {
  --font-stack-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-stack-serif: Georgia, 'Times New Roman', Times, serif;
  --font-stack-mono: 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
}

/* Base typography */
body {
  font-family: var(--font-stack-sans);
  font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Font weight utilities */
.font-thin { font-weight: 100; }
.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }
.font-black { font-weight: 900; }

/* Font size utilities */
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-base { font-size: 1rem; line-height: 1.5rem; }
.text-lg { font-size: 1.125rem; line-height: 1.75rem; }
.text-xl { font-size: 1.25rem; line-height: 1.75rem; }
.text-2xl { font-size: 1.5rem; line-height: 2rem; }
.text-3xl { font-size: 1.875rem; line-height: 2.25rem; }
.text-4xl { font-size: 2.25rem; line-height: 2.5rem; }

/* Arabic text support */
.arabic-text {
  direction: rtl;
  text-align: right;
  font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1, 'ccmp' 1;
}

/* Font loading animation */
@keyframes fontLoad {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

.font-loading {
  animation: fontLoad 0.3s ease-in-out;
}

/* Prevent flash of unstyled text */
.font-display-swap {
  font-display: swap;
}

/* Better font rendering for different screens */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  body {
    -webkit-font-smoothing: subpixel-antialiased;
  }
}

/* Print styles */
@media print {
  body {
    font-family: Georgia, 'Times New Roman', Times, serif;
  }
}
/* Enhanced Arabic Font Support for Noto Fonts */

/* Noto Naskh Arabic - Traditional calligraphic style */
.font-noto-naskh-arabic {
    font-family: 'Noto Naskh Arabic', 'Amiri', 'Times New Roman', serif !important;
    font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1, 'ccmp' 1, 'mark' 1, 'mkmk' 1;
    line-height: 1.8 !important;
    letter-spacing: 0.02em !important;
}

/* Noto Kufi Arabic - Modern geometric style */
.font-noto-kufi-arabic {
    font-family: 'Noto Kufi Arabic', 'Cairo', 'Tajawal', sans-serif !important;
    font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 1, 'ccmp' 1;
    line-height: 1.6 !important;
    letter-spacing: 0.01em !important;
}

/* Enhanced Arabic text rendering for Noto fonts */
.noto-arabic-enhanced {
    /* Better text shaping for Arabic */
    text-rendering: optimizeLegibility;
    -webkit-font-feature-settings: 'kern', 'liga', 'clig', 'calt', 'ccmp', 'mark', 'mkmk';
    font-feature-settings: 'kern', 'liga', 'clig', 'calt', 'ccmp', 'mark', 'mkmk';
    
    /* Improved spacing for Arabic text */
    word-spacing: 0.1em;
    
    /* Better line height for Arabic readability */
    line-height: 1.75;
}

/* Noto Naskh specific styling for different text elements */
.font-noto_naskh_arabic h1,
.font-noto_naskh_arabic h2,
.font-noto_naskh_arabic h3,
.font-noto_naskh_arabic h4,
.font-noto_naskh_arabic h5,
.font-noto_naskh_arabic h6 {
    font-weight: 700 !important;
    line-height: 1.4 !important;
    margin-bottom: 0.8em !important;
}

.font-noto_naskh_arabic p,
.font-noto_naskh_arabic div,
.font-noto_naskh_arabic span {
    line-height: 1.8 !important;
}

/* Noto Kufi specific styling for different text elements */
.font-noto_kufi_arabic h1,
.font-noto_kufi_arabic h2,
.font-noto_kufi_arabic h3,
.font-noto_kufi_arabic h4,
.font-noto_kufi_arabic h5,
.font-noto_kufi_arabic h6 {
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: 0.02em !important;
}

.font-noto_kufi_arabic .btn,
.font-noto_kufi_arabic button {
    font-weight: 500 !important;
    letter-spacing: 0.025em !important;
}

/* Enhanced form styling for Noto Arabic fonts */
.font-noto_naskh_arabic .form-control,
.font-noto_naskh_arabic input,
.font-noto_naskh_arabic textarea,
.font-noto_kufi_arabic .form-control,
.font-noto_kufi_arabic input,
.font-noto_kufi_arabic textarea {
    direction: rtl !important;
    text-align: right !important;
    padding-right: 12px !important;
    padding-left: 8px !important;
}

/* Table styling for Noto Arabic fonts */
.font-noto_naskh_arabic .table th,
.font-noto_naskh_arabic .table td,
.font-noto_kufi_arabic .table th,
.font-noto_kufi_arabic .table td {
    text-align: right !important;
    direction: rtl !important;
}

/* Navigation styling for Arabic fonts */
.font-noto_naskh_arabic .navbar-nav,
.font-noto_kufi_arabic .navbar-nav {
    direction: rtl !important;
}

.font-noto_naskh_arabic .sidebar-menu .sidebar-item a,
.font-noto_kufi_arabic .sidebar-menu .sidebar-item a {
    text-align: right !important;
    direction: rtl !important;
    padding-right: 20px !important;
    padding-left: 10px !important;
}

/* Responsive font sizing for Arabic fonts */
@media (max-width: 768px) {
    .font-noto_naskh_arabic,
    .font-noto_kufi_arabic {
        font-size: 0.95em !important;
        line-height: 1.6 !important;
    }
    
    .font-noto_naskh_arabic h1,
    .font-noto_kufi_arabic h1 {
        font-size: 1.8rem !important;
    }
    
    .font-noto_naskh_arabic h2,
    .font-noto_kufi_arabic h2 {
        font-size: 1.5rem !important;
    }
}

/* Print styles for Noto Arabic fonts */
@media print {
    .font-noto_naskh_arabic,
    .font-noto_kufi_arabic {
        font-size: 12pt !important;
        line-height: 1.5 !important;
        color: black !important;
    }
}

/* Loading states for Noto fonts */
.noto-font-loading {
    font-family: 'Arial Unicode MS', Arial, sans-serif;
    opacity: 0.7;
}

.noto-font-loaded {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}
