/* Upper GI Endoscopy course page (course-git.html, course-git-ar.html). Builds on course.css. */
body { --c: var(--drape); }
.git-lang { font-size: 15px; text-underline-offset: 3px; color: var(--muted); }
.git-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 72px); align-items: start; }
@media (max-width: 900px) { .git-split { grid-template-columns: minmax(0, 1fr); } }
.git-points, .git-creds { list-style: none; margin: 22px 0 0; padding: 0; }
.git-points li, .git-creds li { position: relative; padding: 12px 0 12px 30px; border-top: 1px solid var(--line); }
.git-points li::before, .git-creds li::before { content: ""; position: absolute; left: 4px; top: 21px; width: 12px; height: 7px; border: 2px solid var(--c); border-top: 0; border-right: 0; transform: rotate(-45deg); }

/* Photo stations bench */
.git-route { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: clamp(20px, 4vw, 48px); align-items: center; }
@media (max-width: 760px) { .git-route { grid-template-columns: minmax(0, 1fr); } .git-route svg { max-width: 260px; margin: 0 auto; } }
.git-route svg { width: 100%; height: auto; }
.git-route .tube { fill: none; stroke: #3A2738; stroke-width: 28; stroke-linecap: round; stroke-linejoin: round; }
.git-route .tube-in { fill: none; stroke: #5A3D57; stroke-width: 2; stroke-dasharray: 4 7; }
.git-route .organ { fill: #3A2738; stroke: #5A3D57; stroke-width: 2; }
.git-route .st { cursor: pointer; }
.git-route .st circle { fill: var(--theatre); stroke: var(--monitor); stroke-width: 2; transition: fill .25s, r .25s; }
.git-route .st text { fill: var(--monitor); font-family: var(--f-mono); font-size: 12px; text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.git-route .st[aria-pressed="true"] circle { fill: var(--monitor); r: 15px; }
.git-route .st[aria-pressed="true"] text { fill: var(--theatre); }
.git-route .st:focus-visible circle { stroke-width: 4; }
.git-route .st:focus { outline: none; }
.git-panel h3 { font-size: clamp(26px, 2.6vw, 36px); color: #F4EAF1; margin: 6px 0 14px; }
.git-panel p { color: #CDBBC9; margin: 0 0 12px; max-width: 52ch; }
.git-step { color: var(--monitor); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; margin: 0; }
.git-miss { padding: 12px 14px; border-left: 3px solid var(--monitor); background: rgba(231, 179, 221, .06); border-radius: 0 var(--r-s) var(--r-s) 0; }
.git-miss b { color: #F4EAF1; font-weight: 600; }
.git-nav { display: flex; gap: 8px; margin-top: 18px; }
.git-nav button { border: 1px solid var(--theatre-line); background: transparent; color: #E9DEE6; border-radius: 999px; padding: 0 18px; min-height: 40px; cursor: pointer; font-size: 14px; }
.git-nav button:hover { border-color: var(--monitor); }
.git-count { font-family: var(--f-mono); font-size: 11px; color: #AE9AAB; }

/* Programme and session steps */
.git-learn { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ink); counter-reset: learn; }
.git-learn li { counter-increment: learn; padding: 24px 24px 28px 0; border-bottom: 1px solid var(--line); }
.git-learn li:not(:nth-child(3n+1)) { padding-left: 24px; border-left: 1px solid var(--line); }
.git-learn li::before { content: counter(learn, decimal-leading-zero); font-family: var(--f-mono); font-size: 11px; color: var(--c); }
.git-learn h3 { font-size: clamp(21px, 1.8vw, 25px); margin: 10px 0 8px; }
.git-learn p { color: var(--muted); font-size: 15px; margin: 0; }
@media (max-width: 900px) { .git-learn { grid-template-columns: 1fr 1fr; } .git-learn li:not(:nth-child(3n+1)) { padding-left: 0; border-left: 0; } .git-learn li:nth-child(2n) { padding-left: 20px; border-left: 1px solid var(--line); } }
@media (max-width: 560px) { .git-learn { grid-template-columns: 1fr; } .git-learn li:nth-child(2n) { padding-left: 0; border-left: 0; } }
.git-steps { list-style: none; margin: 0; padding: 0; grid-template-columns: repeat(5, 1fr); }
.git-steps li { padding: 22px 22px 0 0; }
.git-steps li + li { padding-left: 22px; border-left: 1px solid var(--line); }
@media (max-width: 1000px) { .git-steps { grid-template-columns: 1fr 1fr; row-gap: 24px; } .git-steps li:nth-child(odd) { border-left: 0; padding-left: 0; } }
@media (max-width: 520px) { .git-steps { grid-template-columns: 1fr; } .git-steps li { border-left: 0 !important; padding-left: 0 !important; } }

/* Instructor */
.git-fac { align-items: start; }
.git-portrait { width: 100%; max-width: 180px; aspect-ratio: 1; object-fit: cover; border-radius: 50%; }
.git-role { font-family: var(--f-display); font-style: italic; font-size: 19px; color: var(--ink-2); margin: 6px 0 14px; }

/* Booking */
.git-facts { margin: 26px 0 0; }
.git-facts div { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 16px; padding: 12px 0; border-top: 1px solid var(--line); }
.git-facts dt { font-family: var(--f-mono); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding-top: 4px; }
.git-facts dd { margin: 0; }
.git-guar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.git-guar li { background: var(--card); border: 1px solid var(--line); border-radius: var(--r-m); padding: 20px; }
.git-guar b { font-family: var(--f-display); font-weight: 400; font-size: 21px; }
.git-guar p { color: var(--muted); font-size: 15px; margin: 6px 0 0; }
@media (max-width: 520px) { .git-guar { grid-template-columns: 1fr; } }

/* FAQ and disclaimer */
.git-faq details { border-top: 1px solid var(--line); }
.git-faq details:last-child { border-bottom: 1px solid var(--line); }
.git-faq summary { cursor: pointer; list-style: none; padding: 18px 36px 18px 0; position: relative; font-family: var(--f-display); font-size: clamp(19px, 1.7vw, 23px); }
.git-faq summary::-webkit-details-marker { display: none; }
.git-faq summary::after { content: "+"; position: absolute; right: 4px; top: 16px; font-family: var(--f-mono); font-size: 18px; color: var(--c); }
.git-faq details[open] summary::after { content: "−"; }
.git-faq details p { color: var(--ink-2); margin: 0 0 20px; max-width: 64ch; }
.git-disc { font-size: 13px; color: var(--muted); max-width: 100ch; padding: 0 0 clamp(40px, 6vw, 72px); margin: 0; }

/* Arabic page */
html[lang="ar"] { --f-display: "Noto Naskh Arabic", "Newsreader", serif; --f-body: "IBM Plex Sans Arabic", "Schibsted Grotesk", system-ui, sans-serif; }
html[lang="ar"] body { line-height: 1.8; }
html[lang="ar"] h1, html[lang="ar"] h2, html[lang="ar"] h3 { letter-spacing: 0; line-height: 1.35; }
html[lang="ar"] .c-hero .kicker, html[lang="ar"] .label, html[lang="ar"] .git-facts dt, html[lang="ar"] .c-stats span { letter-spacing: 0; text-transform: none; font-family: var(--f-body); font-size: 13px; }
[dir="rtl"] .git-points li, [dir="rtl"] .git-creds li { padding: 12px 30px 12px 0; }
[dir="rtl"] .git-points li::before, [dir="rtl"] .git-creds li::before { left: auto; right: 4px; }
[dir="rtl"] .c-stats div + div { border-left: 0; padding-left: 0; border-right: 1px solid var(--line); padding-right: 18px; }
[dir="rtl"] .outcomes div + div, [dir="rtl"] .git-steps li + li { border-left: 0; padding-left: 0; border-right: 1px solid var(--line); padding-right: 22px; }
[dir="rtl"] .git-steps li { padding: 22px 0 0 22px; }
[dir="rtl"] .git-learn li { padding: 24px 0 28px 24px; }
[dir="rtl"] .git-learn li:not(:nth-child(3n+1)) { padding-left: 24px; padding-right: 24px; border-left: 0; border-right: 1px solid var(--line); }
[dir="rtl"] .git-miss { border-left: 0; border-right: 3px solid var(--monitor); border-radius: var(--r-s) 0 0 var(--r-s); }
[dir="rtl"] .git-faq summary { padding: 18px 0 18px 36px; }
[dir="rtl"] .git-faq summary::after { right: auto; left: 4px; }
[dir="rtl"] .crumbs, [dir="rtl"] .c-actions { direction: rtl; }
@media (max-width: 1000px) { [dir="rtl"] .git-steps li:nth-child(odd) { border-right: 0; padding-right: 0; } }
@media (max-width: 900px) { [dir="rtl"] .git-learn li:not(:nth-child(3n+1)) { padding-right: 0; border-right: 0; } [dir="rtl"] .git-learn li:nth-child(2n) { padding-right: 20px; border-right: 1px solid var(--line); } }
@media (max-width: 560px) { [dir="rtl"] .git-learn li:nth-child(2n) { padding-right: 0; border-right: 0; } }

/* Arabic page header and footer (the shared shell is English-only) */
html[lang="ar"] .git-step, html[lang="ar"] .git-count, html[lang="ar"] .crumbs { font-family: var(--f-body); letter-spacing: 0; text-transform: none; }
