/* RODOSTO marka katmanı: online araçlar. Her sayfanın <head>'inde son stil olarak statik
   <link data-rd-brand> ile gelir (ilk boyamadan önce uygulanır; geç gelirse düzen kayar, CLS).
   shared-layout.js yalnız bu bağlantı yoksa dinamik ekler.
   Kurumsal site (rodostoteknoloji.com) ile aynı görsel dil: RODOSTO wordmark,
   lacivert zemin, sakin tipografi. Tailwind derlemesine bağımlı değildir. */

:root {
  --rd-navy: #0A1220;
  --rd-ink: #10182e;
  --rd-primary: #0057B8;
  --rd-accent: #1FA6FF;
  --rd-line: rgba(148, 178, 230, .16);
}

/* ---- Inter yüklenene kadar ölçüsü eşlenmiş yedek yazı tipi (display=swap takasında satır kırılmasın) ----
   size-adjust: Inter/Arial genişlik oranı (TR, EN, RU, ES metinlerde ölçüldü; ağırlık başına).
   ascent/descent: Inter'in dikey ölçüleri (0,96875 / 0,2412 em) size-adjust'a bölünmüş hâli.
   Arial yoksa (Linux/Android) metrik eşi Liberation Sans/Arimo, o da yoksa system-ui (eski davranış). */
@font-face { font-family: 'Inter Fallback'; font-weight: 1 450; src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('LiberationSans'), local('Arimo');
  size-adjust: 106.2%; ascent-override: 91.22%; descent-override: 22.71%; line-gap-override: 0%; }
@font-face { font-family: 'Inter Fallback'; font-weight: 451 550; src: local('Arial'), local('ArialMT'), local('Liberation Sans'), local('LiberationSans'), local('Arimo');
  size-adjust: 107.4%; ascent-override: 90.2%; descent-override: 22.46%; line-gap-override: 0%; }
@font-face { font-family: 'Inter Fallback'; font-weight: 551 650; src: local('Arial Bold'), local('Arial-BoldMT'), local('Liberation Sans Bold'), local('LiberationSans-Bold'), local('Arimo Bold');
  size-adjust: 101%; ascent-override: 95.92%; descent-override: 23.88%; line-gap-override: 0%; }
@font-face { font-family: 'Inter Fallback'; font-weight: 651 750; src: local('Arial Bold'), local('Arial-BoldMT'), local('Liberation Sans Bold'), local('LiberationSans-Bold'), local('Arimo Bold');
  size-adjust: 102.1%; ascent-override: 94.88%; descent-override: 23.62%; line-gap-override: 0%; }
@font-face { font-family: 'Inter Fallback'; font-weight: 751 1000; src: local('Arial Bold'), local('Arial-BoldMT'), local('Liberation Sans Bold'), local('LiberationSans-Bold'), local('Arimo Bold');
  size-adjust: 103.6%; ascent-override: 93.51%; descent-override: 23.28%; line-gap-override: 0%; }
body { font-family: Inter, 'Inter Fallback', system-ui, sans-serif; }

/* ---- İçerik haritası yer tutucusu (shared-layout.js <main>'den önce koyar, breadcrumb.js doldurur):
   dolmadan da tek satır yüksekliğinde (pt-2 8 px + 20 px satır), <main> yerinden oynamaz ---- */
nav[aria-label="Breadcrumb"][data-rd-bc] { min-height: 28px; }

/* ---- Başlık üstü simge (lucide <i>, gövde sonunda <svg 24×24> olur): yeri baştan ayrılır ---- */
.tool-eyebrow > i[data-lucide] { display: inline-block; flex: none; width: 24px; height: 24px; }

/* ---- Üst menü: wordmark ---- */
.rd-brand { display: flex; align-items: center; gap: 12px; flex-shrink: 0; text-decoration: none; }
.rd-wm { display: block; height: 17px; width: auto; }
.rd-wm-dark { display: none; }
html.dark .rd-wm-light { display: none; }
html.dark .rd-wm-dark { display: block; }
.rd-brand-sub { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #6b7a90; padding-left: 12px; border-left: 1px solid rgba(100, 116, 139, .3); line-height: 1.2; }
html.dark .rd-brand-sub { color: #93A3BC; }
@media (max-width: 420px) { .rd-brand-sub { display: none; } }
/* 1024–1099 px: masaüstü menüsü 4 öğeyle (satış girişi) dar; alt etiket gizlenir ki RU/ES etiketleri iki satıra kırılmasın */
@media (min-width: 1024px) and (max-width: 1099px) { .rd-brand-sub { display: none; } }

/* ---- Dil seçici ---- */
.rd-langs { display: flex; align-items: center; background: #f1f4f8; border-radius: 10px; overflow: hidden; }
html.dark .rd-langs { background: #1e293b; }
.rd-lang { min-width: 36px; min-height: 36px; display: inline-flex; align-items: center; justify-content: center; font-size: 11.5px; font-weight: 800; letter-spacing: .04em; color: #64748b; text-decoration: none; }
.rd-lang:hover { color: var(--rd-ink); }
.rd-lang.is-on { background: var(--rd-accent); color: #fff; }
#themeToggle { width: 36px; height: 36px; }

/* ---- İçerik haritası (breadcrumb) üst menünün altında görünsün ---- */
nav[aria-label="Breadcrumb"] { position: relative; margin-top: 64px; }
nav[aria-label="Breadcrumb"] + main, nav[aria-label="Breadcrumb"] ~ main { padding-top: 0; }

/* ---- Bağlama duyarlı bant ---- */
.rd-cta { max-width: 1024px; margin: 56px auto 0; padding: 0 16px; }
.rd-cta-in { display: flex; align-items: center; gap: 28px; justify-content: space-between; background: var(--rd-navy); border: 1px solid var(--rd-line); border-radius: 18px; padding: 30px 32px; }
.rd-cta-copy h2 { margin: 0 0 8px; font-size: 21px; line-height: 1.3; font-weight: 800; letter-spacing: -.015em; color: #fff; }
.rd-cta-copy p { margin: 0; font-size: 15px; line-height: 1.6; color: #93A3BC; max-width: 60ch; }
.rd-cta-btn { flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; background: var(--rd-primary); color: #fff !important; padding: 13px 22px; border-radius: 12px; font-weight: 800; font-size: 15px; text-decoration: none; transition: background .2s, transform .2s; }
.rd-cta-btn:hover { background: #0a67d0; transform: translateY(-1px); }
.rd-cta-links { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: 14px; padding: 0 4px; font-size: 13.5px; }
.rd-cta-links span { color: #64748b; font-weight: 700; margin-right: 2px; }
.rd-cta-links a { color: var(--rd-primary); font-weight: 700; text-decoration: none; border-bottom: 1px solid rgba(0, 87, 184, .25); }
html.dark .rd-cta-links a { color: #8FBAFF; border-color: rgba(143, 186, 255, .3); }
.rd-cta-links a:hover { border-color: currentColor; }
@media (max-width: 720px) { .rd-cta-in { flex-direction: column; align-items: flex-start; padding: 24px; } }

/* ---- Altlık ---- */
.rd-footer { background: var(--rd-navy); color: #C9D7EC; margin-top: 72px; border-top: 1px solid var(--rd-line); }
.rd-footer-in { max-width: 1200px; margin: 0 auto; padding: 56px 24px 28px; }
.rd-f-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr 1.2fr; gap: 40px 32px; }
.rd-f-brand img { height: 20px; width: auto; display: block; }
.rd-f-brand p { font-size: 14px; line-height: 1.65; color: #8A9BB8; margin: 18px 0 0; max-width: 34ch; }
.rd-f-brand .rd-f-partner { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6E85A8; margin-top: 14px; }
.rd-f-social { display: flex; gap: 8px; margin-top: 18px; }
.rd-f-social a { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; border-radius: 10px; border: 1px solid var(--rd-line); color: #8A9BB8; }
.rd-f-social a:hover { color: #fff; border-color: rgba(148, 178, 230, .4); }
.rd-footer h4 { margin: 0 0 16px; font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #E7EEF9; }
.rd-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.rd-footer ul a { font-size: 14px; color: #8A9BB8; text-decoration: none; }
.rd-footer ul a:hover { color: #fff; }
.rd-footer ul a.rd-more { color: #8FBAFF; font-weight: 700; }
.rd-f-cta { margin-top: 18px; padding: 16px; border: 1px solid var(--rd-line); border-radius: 12px; }
.rd-f-cta b { display: block; font-size: 14px; line-height: 1.45; color: #E7EEF9; margin-bottom: 8px; }
.rd-f-cta a { font-size: 14px; font-weight: 800; color: #8FBAFF; text-decoration: none; }
.rd-f-note { margin: 36px 0 0; font-size: 12.5px; color: #6E85A8; }
.rd-f-bottom { margin-top: 14px; padding-top: 18px; border-top: 1px solid var(--rd-line); display: flex; flex-wrap: wrap; gap: 10px 24px; justify-content: space-between; font-size: 12.5px; color: #6E85A8; }
.rd-f-legal { display: flex; flex-wrap: wrap; gap: 6px 16px; }
.rd-f-legal a { color: #8A9BB8; text-decoration: underline; text-underline-offset: 2px; }
.rd-f-legal a:hover { color: #fff; }
@media (max-width: 1100px) { .rd-f-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } .rd-f-brand { grid-column: 1 / -1; } }
@media (max-width: 960px) { .rd-f-grid { grid-template-columns: 1fr 1fr; } .rd-f-brand { grid-column: 1 / -1; } }
@media (max-width: 480px) { .rd-f-grid { grid-template-columns: 1fr; } }

/* ---- Çerez bandı ---- */
.rd-cookie { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9999; max-width: 760px; margin: 0 auto; display: flex; align-items: center; gap: 18px; background: #0E1A2E; color: #C9D7EC; border: 1px solid rgba(148, 178, 230, .22); border-radius: 16px; padding: 14px 16px; box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .45); font-size: 13.5px; line-height: 1.55; }
.rd-cookie p { margin: 0; }
.rd-cookie a { color: #8FBAFF; text-decoration: underline; text-underline-offset: 2px; }
.rd-cookie-actions { display: flex; gap: 8px; flex-shrink: 0; }
.rd-cookie button { font: inherit; font-size: 14px; font-weight: 700; padding: 9px 16px; border-radius: 10px; border: 1px solid rgba(148, 178, 230, .35); background: rgba(255, 255, 255, .06); color: #fff; cursor: pointer; }
.rd-cookie button:hover { background: rgba(255, 255, 255, .12); }
/* Dar ekranda kısa bant (390 px'te ~101 px, 360 px'te 3 satırla ≤ 120 px): metin üstte, iki düğme tek satırda; dokunma hedefi ≥ 40 px */
@media (max-width: 640px) {
  .rd-cookie { left: 10px; right: 10px; bottom: 10px; flex-direction: column; align-items: stretch; gap: 8px; padding: 8px 12px; border-radius: 14px; font-size: 12.5px; line-height: 1.4; }
  .rd-cookie-actions button { flex: 1; min-height: 40px; padding: 0 12px; font-size: 13.5px; }
}
/* Çerez bandı açıkken WhatsApp düğmesi bandın üstünde kalsın */
body:has(.rd-cookie) .whatsapp-float-btn { bottom: 150px; }

/* ---- Harita atfı: kütüphane öneki gizlenir, veri atıfları (Esri, OSM, AWS) görünür kalır ---- */
.leaflet-control-attribution > a[href^="https://leafletjs.com"],
.leaflet-control-attribution > a[href^="https://leafletjs.com"] + span[aria-hidden="true"] { display: none; }

/* ---- Üst menü: satış sayfaları açılır menüsü (Uydu & Arazi Raporu) ---- */
.rd-sales-menu { left: 0; width: 320px; }
.group:focus-within > .rd-sales-menu { display: block; }
.rd-sales-panel { background: #fff; border: 1px solid #f1f5f9; border-radius: 16px; padding: 8px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25); }
html.dark .rd-sales-panel { background: #1e293b; border-color: #334155; }
.rd-sales-item { display: block; padding: 10px 12px; border-radius: 10px; text-decoration: none; transition: background .15s; }
.rd-sales-item:hover, .rd-sales-item:focus-visible { background: #f8fafc; }
html.dark .rd-sales-item:hover, html.dark .rd-sales-item:focus-visible { background: rgba(51, 65, 85, .5); }
.rd-sales-item b { display: block; font-size: 13.5px; font-weight: 700; color: #1e293b; }
.rd-sales-item small { display: block; margin-top: 2px; font-size: 12px; line-height: 1.45; color: #64748b; }
.rd-sales-item:hover b, .rd-sales-item.is-on b { color: var(--rd-accent); }
html.dark .rd-sales-item b { color: #e2e8f0; }
html.dark .rd-sales-item small { color: #94a3b8; }
html.dark .rd-sales-item:hover b, html.dark .rd-sales-item.is-on b { color: var(--rd-accent); }

/* ---- Araçlar menüsü: 4 sütun ---- */
.rd-mega-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; max-height: calc(100vh - 140px); overflow-y: auto; }

/* ---- Ana sayfa: kimin için filtresi ---- */
.rd-aud { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin: 0 0 1.4rem; }
.rd-aud__l { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #64748b; margin-right: 4px; }
.rd-aud__b { font: inherit; font-size: 13.5px; font-weight: 700; padding: 8px 14px; border-radius: 999px; border: 1px solid rgba(100, 116, 139, .3); background: #fff; color: #334155; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.rd-aud__b:hover { border-color: var(--rd-primary); color: var(--rd-primary); }
.rd-aud__b.is-on { background: var(--rd-navy); border-color: var(--rd-navy); color: #fff; }
html.dark .rd-aud__b { background: #1e293b; color: #cbd5e1; border-color: rgba(148, 163, 184, .25); }
html.dark .rd-aud__b.is-on { background: var(--rd-accent); border-color: var(--rd-accent); color: #0A1220; }
@media (max-width: 480px) { .rd-aud__l { width: 100%; text-align: center; margin: 0 0 2px; } .rd-aud__b { font-size: 13px; padding: 7px 12px; } }

/* ---- İçerik metnindeki uzun adres/kod parçaları dar ekranda taşmasın ---- */
main p code, main li code, main td code { overflow-wrap: anywhere; word-break: break-word; }
/* Mega panel #rodosto-nav'a (sabit konumlu, tam genişlik) göre ortalanır; Araçlar grubu relative değildir.
   Böylece düğme sola kaysa da panel her genişlikte [24 px, genişlik − 24 px] aralığında kalır. */
.rd-mega { left: 50%; transform: translateX(-50%); width: min(1120px, calc(100% - 48px)); }
/* Açılır menü grupları satır boyunca uzar: panel satırın hemen altında başlar, aradaki boşlukta hover kopmaz. */
.rd-nav-desk { align-self: stretch; }
.rd-nav-dd { align-self: stretch; display: flex; align-items: center; }
.rd-mega, .rd-sales-menu { padding-top: 6px; }

/* ---- Masaüstü araç düzeni: harita ekran boyunda ve kaydırırken görünür kalır ----
   Sol panel uzadığında haritanın altında boşluk kalmaz; harita, panelin
   yanında sabit durur (sticky). Mobil düzen değişmez. */
@media (min-width: 1024px) {
  /* Grid alanı panel boyunca uzar; yapışkan olan içteki harita kartıdır. Böylece harita
     kendi alanında kalır, alttaki tam genişlik grafik/sonuç kartlarının üstüne binmez. */
  .tool-layout [data-area="map"] { align-self: stretch; }
  .tool-layout [data-area="map"] > :first-child { position: sticky; top: 76px; z-index: 1; }
  .tool-layout .tool-map > .rds-card > div,
  .tool-layout .tool-map .leaflet-container { height: calc(100vh - 110px); min-height: 520px; max-height: 860px; }
}
