/* ============================================================================
   Arapça sayfalar için RTL katmanı — yalnızca /ar altındaki sayfalara yükleniyor.

   Ana stil dosyası (styles.css) olduğu gibi duruyor; burada yalnızca sağdan
   sola akışta yanlış tarafa düşen kurallar geri çevriliyor. Yerleşimin büyük
   bölümü flex/grid olduğu için `dir="rtl"` işin çoğunu kendisi hallediyor —
   805 kuralın yaklaşık 55'i yön bağımlı, aşağıdakiler de anasayfada
   kullanılanların karşılıkları.

   Yön düzeltmeleri `[dir="rtl"]` ile başlıyor, dolayısıyla bu dosya İngilizce
   bir sayfaya yüklense bile yerleşimi etkilemez.
   ============================================================================ */

/* ── Arapça yazı tipleri ────────────────────────────────────────────────────
   Arap harfleri, sitenin *mevcut* aile adları altında ve yalnızca Arap
   unicode aralığı için tanımlanıyor. Böylece `font-family: "Inter"` yazan
   onlarca kuralın hiçbirine dokunmaya gerek kalmıyor: tarayıcı karakter
   bazında yüz seçtiği için Latin harfler Google Fonts'tan gelen asıl yüze,
   Arap harfler buradaki yüze düşüyor.

   Eşleştirme: Inter → IBM Plex Sans Arabic (aynı nötr grotesk duruş),
   Playfair Display ve Cormorant Garamond → Amiri (klasik nesih, yüksek
   kontrast, iki serifin de karşılığı). */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/ibm-plex-sans-arabic-400-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('/fonts/ibm-plex-sans-arabic-500-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
/* Plex Arabic 700/800 ağırlığında yüz sunmuyor; 600 bu aralığı da karşılıyor,
   aksi hâlde tarayıcı sentetik kalın üretip harf bağlarını bozuyor. */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url('/fonts/ibm-plex-sans-arabic-600-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url('/fonts/amiri-400-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
@font-face {
  font-family: "Playfair Display";
  font-style: normal;
  font-weight: 600 800;
  font-display: swap;
  src: url('/fonts/amiri-700-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}
/* Amiri italik yüz sunmuyor. Playfair italik başlıklardaki vurgu için
   kullanılıyor; Arapçada eğik yazı zaten bir vurgu biçimi değil, bu yüzden
   italik istekleri de dik yüze düşüyor. */
@font-face {
  font-family: "Playfair Display";
  font-style: italic;
  font-weight: 300 500;
  font-display: swap;
  src: url('/fonts/amiri-400-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

@font-face {
  font-family: "Cormorant Garamond";
  font-style: normal;
  font-weight: 300 500;
  font-display: swap;
  src: url('/fonts/amiri-400-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+0750-077F, U+0870-088E, U+0890-0891, U+0897-08E1, U+08E3-08FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE70-FE74, U+FE76-FEFC;
}

/* Nesih harfler Latin'e göre daha kısa gövdeli ve yoğun; başlıkta nefes,
   gövdede biraz fazladan satır aralığı olmadan sıkışık duruyor. */
[dir="rtl"] h1,
[dir="rtl"] h2,
[dir="rtl"] h3 { line-height: 1.35; }
[dir="rtl"] p,
[dir="rtl"] li { line-height: 1.95; }

/* Arapça bitişik yazıldığı için harf aralığı kelimeyi bozuyor: versal
   etiketlerdeki letter-spacing sıfırlanıyor. */
[dir="rtl"] .eyebrow,
[dir="rtl"] .btn,
[dir="rtl"] .news-label,
[dir="rtl"] .footer-heading,
[dir="rtl"] .footer-coe-eyebrow,
[dir="rtl"] .blog-card-cat,
[dir="rtl"] .blog-card-date,
[dir="rtl"] .revwall-date,
[dir="rtl"] .stat-title,
[dir="rtl"] .form-label { letter-spacing: 0; }

/* ── Üst şerit ve gezinme ──────────────────────────────────────────────────
   Haber şeridi yalnızca kayan bir duyuru bandı; animasyonu translateX(-50%)
   ile soldan sola akıyor. Şeridi LTR bırakmak animasyonu olduğu gibi koruyor
   ve RTL için ikinci bir @keyframes gerektirmiyor — içindeki Arapça metin
   kendi yönünde diziliyor. */
[dir="rtl"] .news-viewport,
[dir="rtl"] .news-track { direction: ltr; }
[dir="rtl"] .news-item,
[dir="rtl"] .news-label { direction: rtl; }
[dir="rtl"] .news-track { padding-left: 0; padding-right: 24px; }
[dir="rtl"] .news-item s { margin-left: 0; margin-right: 2px; }

/* ── Hero ve rakamlar ──────────────────────────────────────────────────── */
[dir="rtl"] .hero-media { margin-left: 0; margin-right: auto; }
[dir="rtl"] .stat-item { text-align: right; }

/* Rakam kaydırıcısı RTL'de ters yöne kayıyor; işaret figures-slider.js'te
   yönden okunuyor, burada yalnızca ok ikonları çevriliyor. */
[dir="rtl"] .stats-nav svg { transform: scaleX(-1); }

/* ── Eğitmen bölümü ────────────────────────────────────────────────────── */
[dir="rtl"] .educator-badge { right: auto; left: -22px; }
[dir="rtl"] .educator-list li { padding-left: 0; padding-right: 30px; }
[dir="rtl"] .educator-list li::before { left: auto; right: 0; }

/* ── Referanslar ve yorumlar ───────────────────────────────────────────── */
[dir="rtl"] .references-flag { left: auto; right: -18px; }
[dir="rtl"] .references-chip { text-align: right; }
[dir="rtl"] .revwall-mark { right: auto; left: 22px; }
/* Yıldız dizileri ve Google harf dizisi sabit sıralı görsel öğeler. */
[dir="rtl"] .revwall-stars,
[dir="rtl"] .rb-stars,
[dir="rtl"] .rb-brand,
[dir="rtl"] .references-mark { direction: ltr; unicode-bidi: isolate; }

/* ── Blog ve pencere ───────────────────────────────────────────────────── */
[dir="rtl"] .blog-card-cat { left: auto; right: 14px; }
[dir="rtl"] .modal-close { right: auto; left: 12px; }

/* ── Altbilgi ──────────────────────────────────────────────────────────── */
[dir="rtl"] .footer-col a { transition: color .2s ease, padding-right .2s ease; }
[dir="rtl"] .footer-col a:hover { padding-left: 0; padding-right: 6px; }
[dir="rtl"] .footer-coe-support { padding-left: 0; padding-right: 40px; border-left: 0; border-right: 1px solid #2c2c29; }

/* ── Yüzen düğmeler ────────────────────────────────────────────────────── */
[dir="rtl"] .floating-actions { right: auto; left: 26px; }
[dir="rtl"] .fab-tip { right: auto; left: calc(100% + 12px); }

/* ── Tedavi sayfaları (tx-* / pj-*) ────────────────────────────────────── */
[dir="rtl"] .tx-hero-img { margin-left: 0; margin-right: auto; }
[dir="rtl"] .tx-hero-badges { left: auto; right: -92px; }
[dir="rtl"] .tx-band-head--left { margin-right: 0; margin-left: auto; text-align: right; }
[dir="rtl"] .tx-faq-item summary::after { right: auto; left: 6px; }
[dir="rtl"] .tx-price-table td { text-align: right; }
[dir="rtl"] .tx-tab-features li { padding-left: 0; padding-right: 26px; }
[dir="rtl"] .tx-tab-features li::before { left: auto; right: 0; }

/* Yolculuk şeridi: dolgu sağ kenardan başladığı için renk geçişi de ters
   yönde ilerlemeli. Uçak ikonu RTL'de sola doğru uçuyor. */
[dir="rtl"] .pj-fill { background: linear-gradient(270deg, #b79a68, #997d4d); }
[dir="rtl"] .pj-plane svg { transform: scaleX(-1); }

/* Fiyat tablosunda para tutarları ve versal etiketler. */
[dir="rtl"] .tx-price-hl-name,
[dir="rtl"] .tx-price-hl-sub,
[dir="rtl"] .tx-tl-when,
[dir="rtl"] .tx-hero-stat-label,
[dir="rtl"] .tx-hero-eyebrow,
[dir="rtl"] .tx-step-title,
[dir="rtl"] .tx-after-title { letter-spacing: 0; }

/* ── Galeri (gal-*) ────────────────────────────────────────────────────── */
/* Büyütücü. Kapatma düğmesi modal-close gibi karşı köşeye geçiyor; oklar da
   yer değiştiriyor, çünkü RTL'de "önceki" sağda okunuyor. Ok İŞARETLERİ
   şablonda ters yazılıyor (bkz. views/gallery-ar.ejs), burada yalnızca
   konumları çevriliyor. */
[dir="rtl"] .gal-lb-close { right: auto; left: 26px; }
[dir="rtl"] .gal-lb-prev { left: auto; right: 10px; }
[dir="rtl"] .gal-lb-next { right: auto; left: 10px; }

/* Versal küçük etiketler: Arap harfleri harf aralığıyla dağılıyor. */
[dir="rtl"] .gal-stats-title,
[dir="rtl"] .gal-stat-label,
[dir="rtl"] .gal-veil-label,
[dir="rtl"] .gal-veil-hint { letter-spacing: 0; }

/* Izgaradaki rakam ve yüzdeler her zaman soldan sağa. */
[dir="rtl"] .gal-stat-num,
[dir="rtl"] .gal-lb-count { direction: ltr; unicode-bidi: isolate; }

/* ── İki yönlü metin ───────────────────────────────────────────────────── */
/* Arapça cümle içindeki Latin terim: kendi yönünde, bölünmeden. Parantez ve
   tire iki yönlü algoritmada yönsüz sayıldığı için yalıtımsız bırakıldığında
   satır sonunda parçalanıyor. */
.ltr-term { direction: ltr; unicode-bidi: isolate; white-space: nowrap; }
/* Uzun Latin öbek (kurs adı, alan adı): kendi yönünde ama satır sonunda
   bölünebilir. */
.ltr-phrase { direction: ltr; unicode-bidi: isolate; }
/* Telefon, e-posta ve saat aralıkları her zaman soldan sağa okunur. */
[dir="rtl"] .ig-handle,
[dir="rtl"] .footer-coe-support-phone,
[dir="rtl"] input[type="tel"],
[dir="rtl"] input[type="email"] { direction: ltr; text-align: right; unicode-bidi: isolate; }

/* ── Dar ekran ─────────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  [dir="rtl"] .educator-badge { right: auto; left: 20px; }
  [dir="rtl"] .footer-coe-support { padding-right: 0; border-right: 0; }
}
/* Not: dil seçicinin yerleşimi styles.css'te ve tamamen mantıksal özelliklerle
   (`order`, `margin-inline-*`) yazıldığı için RTL'e kendiliğinden uyuyor;
   burada ayrıca çevrilmesi gereken bir şey kalmıyor. */
