/* base.css - الأنماط الأساسية والتجهيزية */ /* استيراد خط Cairo من Google Fonts */ @import url('https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;500;600;700;800;900&display=swap'); *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; } html { font-size: 16px; scroll-behavior: smooth; direction: rtl; -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; } body { font-family: 'Cairo', 'Tajawal', -apple-system, sans-serif; font-size: var(--text-base); font-weight: var(--font-weight-normal); line-height: var(--line-height-relaxed); color: var(--color-neutral-800); background-color: var(--color-neutral-50); min-height: 100vh; overflow-x: hidden; text-rendering: optimizeLegibility; font-feature-settings: 'kern' 1; -webkit-font-feature-settings: 'kern' 1; -moz-font-feature-settings: 'kern' 1; } /* Typography */ h1, h2, h3, h4, h5, h6 { font-family: 'Cairo', 'Tajawal', sans-serif; font-weight: var(--font-weight-bold); line-height: var(--line-height-tight); color: var(--color-neutral-900); margin-bottom: var(--spacing-4); letter-spacing: var(--letter-spacing-tight); } h1 { font-size: var(--text-4xl); font-weight: var(--font-weight-extrabold); } h2 { font-size: var(--text-3xl); font-weight: var(--font-weight-bold); } h3 { font-size: var(--text-2xl); font-weight: var(--font-weight-bold); } h4 { font-size: var(--text-xl); font-weight: var(--font-weight-semibold); } h5 { font-size: var(--text-lg); font-weight: var(--font-weight-semibold); } h6 { font-size: var(--text-base); font-weight: var(--font-weight-semibold); } p { margin-bottom: var(--spacing-4); line-height: var(--line-height-relaxed); font-weight: var(--font-weight-normal); } small { font-size: var(--text-sm); color: var(--color-neutral-500); font-weight: var(--font-weight-normal); } strong, b { font-weight: var(--font-weight-bold); } em, i { font-style: italic; } /* Links */ a { color: var(--color-primary-600); text-decoration: none; transition: color var(--transition-duration-200) var(--transition-timing-function-ease); font-weight: var(--font-weight-medium); } a:hover { color: var(--color-primary-800); text-decoration: underline; } a:focus-visible { outline: 2px solid var(--color-primary-500); outline-offset: 2px; border-radius: var(--radius-sm); } /* Lists */ ul, ol { margin-bottom: var(--spacing-4); padding-right: var(--spacing-6); } li { margin-bottom: var(--spacing-2); line-height: var(--line-height-relaxed); } /* Images */ img, picture, video, canvas, svg { display: block; max-width: 100%; height: auto; } /* Forms */ input, button, textarea, select { font-family: 'Cairo', 'Tajawal', sans-serif; font-size: inherit; color: inherit; font-weight: var(--font-weight-medium); } button { cursor: pointer; border: none; background: none; font-weight: var(--font-weight-semibold); } /* Input Fields Enhancement */ input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], input[type="url"], input[type="search"], textarea, select { font-family: 'Cairo', 'Tajawal', sans-serif; font-weight: var(--font-weight-medium); letter-spacing: var(--letter-spacing-normal); } /* Selection */ ::selection { background-color: rgba(251, 191, 36, 0.3); color: var(--color-neutral-900); } /* Focus Styles */ :focus-visible { outline: 2px solid rgba(251, 191, 36, 0.5); outline-offset: 2px; border-radius: var(--radius-sm); } /* Remove default focus for mouse users */ :focus:not(:focus-visible) { outline: none; } /* Utility Classes for Direction */ .ltr { direction: ltr; } .rtl { direction: rtl; } /* Print Styles */ @media print { .no-print { display: none !important; } body { background: white !important; color: black !important; font-size: 12pt !important; } a { color: black !important; text-decoration: underline !important; } h1, h2, h3, h4, h5, h6 { page-break-after: avoid; page-break-inside: avoid; } img { page-break-inside: avoid; } .page-break { page-break-before: always; } } /* Reduced Motion */ @media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } } /* High Contrast Mode */ @media (prefers-contrast: high) { :root { --color-primary-500: #0000ff; --color-secondary-500: #ffa500; } }