/* تخصيصات إضافية فوق Tailwind */
body {
    scroll-behavior: smooth;
}
.hero-gradient {
    background: linear-gradient(135deg, #1306ad 0%, #3131c1 100%);
}
.glass-nav {
    backdrop-filter: blur(20px);
    background-color: rgba(250, 249, 255, 0.8);
}
.ambient-shadow {
    box-shadow: 0 10px 30px -5px rgba(25, 27, 35, 0.04), 0 20px 60px -10px rgba(25, 27, 35, 0.08);
}
.card-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.card-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.02);
}
/* تنسيق التقييم بنجمة */
.rating-star {
    cursor: pointer;
    transition: color 0.2s;
}
.rating-star:hover,
.rating-star.active {
    color: #f5b301 !important;
}
/* تنسيق شريط التمرير */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}
::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: #555;
}
/* Fix mobile horizontal scroll caused by ads/iframes and wide embeds */
html, body {
    max-width: 100%;
    overflow-x: hidden;
}
img, video, canvas, svg, iframe, embed, object {
    max-width: 100%;
}
ins.adsbygoogle,
.adsbygoogle,
.google-auto-placed,
.google-auto-placed iframe,
[id^="google_ads_iframe"],
iframe[id^="google_ads_iframe"],
iframe[src*="googlesyndication"],
iframe[src*="doubleclick"] {
    max-width: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
}
body > iframe[style*="width"] {
    max-width: 100% !important;
}
* {
    box-sizing: border-box;
}

/* ضبط عناوين H1 في كل صفحات الموقع لمنع كبر الخط وتداخل السطور */
h1 {
    font-size: clamp(1.55rem, 2.4vw + 0.75rem, 2.75rem) !important;
    line-height: 1.45 !important;
    overflow-wrap: anywhere;
    word-break: normal;
}
@media (max-width: 640px) {
    h1 {
        font-size: 1.55rem !important;
        line-height: 1.6 !important;
    }
}

/* معرض صور صفحات الملف داخل file.php */
.file-screenshot-gallery {
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
}
.file-screenshot-item {
    scroll-snap-align: start;
}
.file-screenshot-item img {
    background: #f1f5f9;
}

/* تفاعل نجوم التقييم */
.rating-star {
    position: relative;
}
.rating-stars-wrap {
    position: relative;
}
.rating-hint {
    min-height: 1.5rem;
}


/* منع السكرول الجانبي وتحسين التوافق مع إعلانات أدسنس والعناصر العريضة */
html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
}
@supports not (overflow-x: clip) {
    html,
    body { overflow-x: hidden; }
}
body {
    position: relative;
}
main,
header,
footer,
nav,
section,
article,
aside,
.max-w-7xl,
.container,
.container-fluid {
    max-width: 100%;
}
.grid > *,
.flex > *,
[class*="grid-cols"] > *,
[class*="lg:grid-cols"] > * {
    min-width: 0;
}
.prose,
.prose *,
article,
.comment-readable {
    overflow-wrap: anywhere;
    word-break: normal;
}
pre,
code,
table {
    max-width: 100%;
}
pre {
    overflow-x: auto;
}
.adsbygoogle,
ins.adsbygoogle,
.google-auto-placed,
.google-auto-placed > div,
.google-auto-placed iframe,
[id^="google_ads_iframe"],
iframe[id^="google_ads_iframe"],
iframe[src*="googlesyndication"],
iframe[src*="doubleclick"] {
    max-width: 100vw !important;
    overflow: hidden !important;
}
ins.adsbygoogle {
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
body > iframe,
body > ins,
main > iframe,
main > ins {
    max-width: 100vw !important;
}

/* تحسين تباين الوضع الليلي للعناصر العامة */
.dark input,
.dark textarea,
.dark select {
    color: #e5e7eb;
    background-color: #0f172a;
    border-color: #334155;
}
.dark input::placeholder,
.dark textarea::placeholder {
    color: #94a3b8;
}
.dark .glass-nav {
    background-color: rgba(15, 23, 42, .86);
}
.dark .bg-surface-container-high {
    background-color: #1e293b !important;
    color: #e5e7eb !important;
}
.dark .text-slate-500 {
    color: #cbd5e1 !important;
}
.dark .text-slate-600 {
    color: #d1d5db !important;
}
.dark .border-slate-100 {
    border-color: #334155 !important;
}

/* كروت روابط التعليقات وردود الإدارة */
.comment-badge {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    border-radius: 999px;
    padding: .18rem .55rem;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1.4;
}
.comment-badge-member {
    background: #dcfce7;
    color: #166534;
}
.comment-badge-admin {
    background: #dbeafe;
    color: #1d4ed8;
}
.comment-link-card {
    display: flex;
    align-items: center;
    gap: .75rem;
    width: 100%;
    max-width: 100%;
    border: 1px solid #e2e8f0;
    border-radius: 1rem;
    padding: .75rem;
    background: #fff;
    text-decoration: none;
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
    overflow: hidden;
}
.comment-link-card:hover {
    transform: translateY(-1px);
    border-color: rgba(37, 99, 235, .45);
    box-shadow: 0 10px 25px rgba(15, 23, 42, .08);
}
.comment-link-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: .9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    background: rgba(37, 99, 235, .1);
    color: #2563eb;
}
.comment-link-card strong,
.comment-link-card small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.comment-link-card strong {
    color: #0f172a;
    font-size: .9rem;
}
.comment-link-card small {
    color: #64748b;
    font-size: .75rem;
    margin-top: .15rem;
}
.comment-link-open {
    flex: 0 0 auto;
    border-radius: 999px;
    background: #f1f5f9;
    color: #2563eb;
    padding: .35rem .7rem;
    font-size: .75rem;
    font-weight: 800;
}
.dark .comment-link-card {
    background: #0f172a;
    border-color: #334155;
}
.dark .comment-link-card strong {
    color: #f8fafc;
}
.dark .comment-link-card small {
    color: #cbd5e1;
}
.dark .comment-link-open {
    background: #1e293b;
    color: #93c5fd;
}
.dark .comment-badge-member {
    background: rgba(34, 197, 94, .16);
    color: #86efac;
}
.dark .comment-badge-admin {
    background: rgba(59, 130, 246, .18);
    color: #bfdbfe;
}

/* أزرار مشاركة ملف التعليم */
.share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    border-radius: 999px;
    padding: .65rem .95rem;
    background: #f1f5f9;
    color: #0f172a;
    font-size: .85rem;
    font-weight: 800;
    text-decoration: none;
    max-width: 100%;
    transition: transform .2s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.share-btn:hover {
    transform: translateY(-1px);
    background: #2563eb;
    color: #fff;
    box-shadow: 0 10px 25px rgba(37, 99, 235, .18);
}
.file-screenshot-gallery,
.file-screenshot-item,
.content-card-heading {
    max-width: 100%;
}
.file-screenshot-gallery a,
.file-screenshot-gallery img {
    max-width: 100%;
}
.dark .share-btn {
    background: #0f172a;
    color: #e5e7eb;
    border: 1px solid #334155;
}
.dark .share-btn:hover {
    background: #2563eb;
    color: #fff;
    border-color: #2563eb;
}

/* منع ظهور الخط السفلي أسفل الروابط في جميع صفحات الموقع */
a,
a:hover,
a:focus,
a:active,
a:visited {
  text-decoration: none !important;
}

a *,
a:hover *,
a:focus *,
a:active * {
  text-decoration: none !important;
}

/* تحسين ظهور السهم داخل select في RTL ومنع تغطيته على النص */
select,
.form-select,
select.form-control,
.class-filter-form select,
.search-filter-select,
.teachers-filter select,
.teacher-filter select {
  padding-inline-start: 1rem !important;
  padding-inline-end: 2.75rem !important;
  background-position: left .85rem center !important;
  background-size: 1.15em 1.15em !important;
}

/* Pagination موحد ومتوافق مع الجوال */
.nezakr-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  flex-wrap: wrap;
  max-width: 100%;
}
.nezakr-pagination a,
.nezakr-pagination span {
  min-width: 2.45rem;
  height: 2.45rem;
  padding: 0 .75rem;
  border-radius: .9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  text-decoration: none !important;
}
.nezakr-page-jump {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: .75rem;
}
.nezakr-page-jump select {
  min-width: 8rem;
}
@media (max-width: 640px) {
  .nezakr-pagination {
    gap: .35rem;
  }
  .nezakr-pagination a,
  .nezakr-pagination span {
    min-width: 2.15rem;
    height: 2.15rem;
    padding: 0 .55rem;
    font-size: .85rem;
  }
}
