/* GeoData Nexus — In-page layout (dark locked, Arabic RTL) */
html { scroll-behavior: smooth; color-scheme: dark; }
html.dark { color-scheme: dark; }
html[lang="ar"] { direction: rtl; }
body.gdn-body { font-family: 'Cairo', sans-serif; line-height: 1.8; background: rgb(2 6 23); direction: rtl; text-align: right; }

.gdn-container { max-width: 80rem; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }

.gdn-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 1024px) {
  .gdn-layout {
    grid-template-columns: 17.5rem minmax(0, 1fr);
    gap: 2.5rem;
    align-items: start;
  }
  .gdn-inpage-sidebar { position: sticky; top: 5.5rem; }
  .gdn-mobile-nav-btn { display: none !important; }
  #mobile-nav-panel { display: block !important; }
}

.gdn-main-column { min-width: 0; }
.gdn-content-area { min-height: 12rem; }
.gdn-content-loading { opacity: 0.55; pointer-events: none; transition: opacity 0.2s; }

@supports (scrollbar-width: thin) {
  .gdn-nav-scroll {
    scrollbar-width: thin;
    scrollbar-color: rgb(51 65 85) transparent;
  }
}
.gdn-nav-scroll::-webkit-scrollbar { width: 4px; }
.gdn-nav-scroll::-webkit-scrollbar-thumb { background: rgb(51 65 85); border-radius: 4px; }

/* Typography */
.prose-ar h2 { scroll-margin-top: 5rem; font-size: 1.55rem; font-weight: 700; margin-top: 2.5rem; margin-bottom: 1rem; color: rgb(248 250 252); }
.prose-ar h3 { scroll-margin-top: 5rem; font-size: 1.2rem; font-weight: 600; margin-top: 2rem; margin-bottom: 0.75rem; color: rgb(226 232 240); }
.prose-ar h4 { font-size: 1.05rem; font-weight: 600; margin-top: 1.5rem; color: rgb(203 213 225); }
.prose-ar p { margin-bottom: 1rem; color: rgb(203 213 225); }
.prose-ar ul, .prose-ar ol { margin-bottom: 1rem; padding-right: 1.5rem; color: rgb(203 213 225); }
.prose-ar li { margin-bottom: 0.35rem; }

/* Arabic + English mixed text (BiDi) — RTL block + isolated LTR spans */
.gdn-mixed-text,
html[lang="ar"] .prose-ar p,
html[lang="ar"] .prose-ar li,
html[lang="ar"] .gdn-career-scope p {
  direction: rtl;
  text-align: right;
  unicode-bidi: isolate;
}
.gdn-en-inline, .gdn-en-cell {
  direction: ltr;
  unicode-bidi: isolate;
  font-family: 'JetBrains Mono', 'Cairo', sans-serif;
}
.gdn-en-cell {
  text-align: left;
  font-size: 0.88em;
  letter-spacing: 0.01em;
}
.prose-ar .gdn-en-inline:not(code) { font-size: 0.92em; color: rgb(186 230 253); }
.prose-ar strong .gdn-en-inline, .prose-ar strong code { color: inherit; }
.resource-card .resource-title, .resource-card .resource-source { direction: ltr; unicode-bidi: isolate; text-align: left; }
.prose-ar table { width: 100%; border-collapse: collapse; margin: 1.25rem 0; font-size: 0.88rem; }
.prose-ar th, .prose-ar td { border: 1px solid rgb(51 65 85); padding: 0.65rem 0.85rem; text-align: right; vertical-align: top; }
.prose-ar th { background: rgb(30 41 59); font-weight: 600; color: rgb(226 232 240); }
.prose-ar td { background: rgb(15 23 42 / 0.5); }
.prose-ar pre { direction: ltr; text-align: left; overflow-x: auto; background: rgb(2 6 23); color: rgb(226 232 240); padding: 1.1rem; border-radius: 0.75rem; font-size: 0.78rem; border: 1px solid rgb(51 65 85); margin: 1rem 0; }
.prose-ar code { font-family: 'JetBrains Mono', monospace; direction: ltr; font-size: 0.85em; color: rgb(167 243 208); }
.prose-ar pre code { color: inherit; }
html[dir="ltr"] .prose-ar th, html[dir="ltr"] .prose-ar td { text-align: left; }
html[dir="ltr"] .prose-ar ul, html[dir="ltr"] .prose-ar ol { padding-right: 0; padding-left: 1.5rem; }

/* Sidebar nav inside page */
.nav-module-header {
  font-size: 0.65rem; font-weight: 800; letter-spacing: 0.04em;
  color: rgb(129 140 248); padding: 0.4rem 0.6rem 0.25rem;
  border-right: 3px solid rgb(79 70 229); margin-bottom: 0.1rem;
  font-family: 'Cairo', sans-serif; line-height: 1.35;
}
html[dir="ltr"] .nav-module-header { border-right: none; border-left: 3px solid rgb(79 70 229); }
.nav-module-active .nav-module-header { background: rgb(49 46 129 / 0.3); border-radius: 0.375rem; }
.nav-sub-link { font-family: 'Cairo', sans-serif; }
.nav-hub { font-family: 'Cairo', sans-serif; border: 1px solid rgb(51 65 85); }

/* Pedagogical blocks */
.block-tier1, .block-concept { background: linear-gradient(135deg, rgb(30 27 75 / 0.45), rgb(49 46 129 / 0.2)); border-right: 4px solid rgb(99 102 241); border-radius: 0.75rem; padding: 1.35rem; margin: 1.5rem 0; }
.block-tier2, .block-field { background: linear-gradient(135deg, rgb(6 78 59 / 0.35), rgb(6 95 70 / 0.15)); border-right: 4px solid rgb(16 185 129); border-radius: 0.75rem; padding: 1.35rem; margin: 1.5rem 0; }
.block-tier3, .block-steps { background: linear-gradient(135deg, rgb(30 41 59 / 0.65), rgb(15 23 42 / 0.45)); border-right: 4px solid rgb(100 116 139); border-radius: 0.75rem; padding: 1.35rem; margin: 1.5rem 0; }
.block-tier4, .block-challenge { background: linear-gradient(135deg, rgb(120 53 15 / 0.35), rgb(69 26 3 / 0.2)); border-right: 4px solid rgb(245 158 11); border-radius: 0.75rem; padding: 1.35rem; margin: 1.5rem 0; }
.block-pitfall { background: linear-gradient(135deg, rgb(127 29 29 / 0.25), rgb(69 10 10 / 0.15)); border-right: 4px solid rgb(239 68 68); border-radius: 0.75rem; padding: 1.35rem; margin: 1.5rem 0; }
html[dir="ltr"] .block-tier1, html[dir="ltr"] .block-concept,
html[dir="ltr"] .block-tier2, html[dir="ltr"] .block-field,
html[dir="ltr"] .block-tier3, html[dir="ltr"] .block-steps,
html[dir="ltr"] .block-tier4, html[dir="ltr"] .block-challenge,
html[dir="ltr"] .block-pitfall { border-right: none; border-left: 4px solid; }
.block-title { font-weight: 700; font-size: 0.95rem; margin-bottom: 0.75rem; }
.block-tier1 .block-title, .block-concept .block-title { color: rgb(165 180 252); }
.block-tier2 .block-title, .block-field .block-title { color: rgb(110 231 183); }
.block-tier3 .block-title, .block-steps .block-title { color: rgb(203 213 225); }
.block-tier4 .block-title, .block-challenge .block-title { color: rgb(252 211 77); }
.block-pitfall .block-title { color: rgb(252 165 165); }

.resource-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.85rem; margin: 1.5rem 0; }
.resource-card { display: block; padding: 1rem; background: rgb(30 41 59 / 0.5); border: 1px solid rgb(51 65 85); border-radius: 0.75rem; text-decoration: none; transition: border-color 0.2s; }
.resource-card:hover { border-color: rgb(99 102 241); }
.resource-source { display: block; font-size: 0.62rem; font-weight: 700; text-transform: uppercase; color: rgb(129 140 248); margin-bottom: 0.3rem; }
.resource-title { display: block; font-size: 0.8rem; font-weight: 600; color: rgb(226 232 240); }
.resource-desc { display: block; font-size: 0.7rem; color: rgb(148 163 184); margin-top: 0.3rem; }

.section-check { accent-color: #10b981; width: 1.1rem; height: 1.1rem; }
mjx-container { direction: ltr !important; }

/* Search */
.gdn-search-results-list { list-style: none; margin: 0; padding: 0.35rem; }
.gdn-search-hit { display: block; padding: 0.65rem 0.85rem; border-radius: 0.5rem; text-decoration: none; transition: background 0.15s; }
.gdn-search-hit:hover { background: rgb(30 41 59); }
.gdn-search-hit-title { display: block; font-size: 0.85rem; font-weight: 600; color: rgb(226 232 240); }
.gdn-search-hit-file { display: block; font-size: 0.65rem; color: rgb(100 116 139); margin-top: 0.15rem; }

/* Video embeds */
.gdn-video-embed .aspect-video { aspect-ratio: 16 / 9; }
.gdn-video-embed iframe { border: 0; }

/* Quiz */
.gdn-quiz-mount:empty { display: none; }

/* Paywall */
.gdn-paywall { animation: gdn-fade-in 0.25s ease; }
.gdn-nav-locked { cursor: not-allowed; }
@keyframes gdn-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* Freemium preview */
.gdn-freemium-locked { min-height: 8rem; overflow: hidden; }
.gdn-freemium-overlay { border-radius: inherit; }

/* Certificate */
.gdn-certificate-doc { max-width: 42rem; margin: 0 auto; }

/* Print / PDF export */
@media print {
  .gdn-topbar, .gdn-inpage-sidebar, .gdn-mobile-nav-btn, .gdn-footer,
  #gdn-search-input, #gdn-search-results, #gdn-export-pdf, #gdn-cert-link,
  #gdn-quiz-mount, .gdn-quiz, nav.flex.flex-wrap { display: none !important; }
  body, .gdn-body { background: white !important; color: #111 !important; }
  .prose-ar h2, .prose-ar h3, .prose-ar p, .prose-ar li { color: #111 !important; }
  .prose-ar pre { background: #f5f5f5 !important; color: #222 !important; border-color: #ccc; }
  .block-tier1, .block-tier2, .block-tier3, .block-tier4, .block-concept, .block-field,
  .block-steps, .block-challenge, .block-pitfall { break-inside: avoid; border-color: #999 !important; }
  .gdn-layout { display: block !important; }
  .gdn-main-column { max-width: 100% !important; }
}
body.gdn-print-mode .gdn-inpage-sidebar { display: none; }
body.gdn-print-mode .gdn-layout { grid-template-columns: 1fr !important; }
