/* BVAKP self-hosted fonts (Sora + Public Sans) — no runtime CDN (BVA-KP-TS-3 §9).
   Google Fonts'tan alınan latin + latin-ext kesitleri; unicode-range ayrımı korunuyor
   ki Türkçe glifler (ı latin'de; İ ğ ş latin-ext'te) doğru dosyadan gelsin. */
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/bvakp-fonts/public-sans-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400;font-display:swap;src:url('/bvakp-fonts/public-sans-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/bvakp-fonts/public-sans-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:500;font-display:swap;src:url('/bvakp-fonts/public-sans-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/bvakp-fonts/public-sans-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:600;font-display:swap;src:url('/bvakp-fonts/public-sans-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/bvakp-fonts/public-sans-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:700;font-display:swap;src:url('/bvakp-fonts/public-sans-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('/bvakp-fonts/sora-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url('/bvakp-fonts/sora-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('/bvakp-fonts/sora-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url('/bvakp-fonts/sora-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('/bvakp-fonts/sora-800-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url('/bvakp-fonts/sora-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ==========================================================================
   Açık Veri Portalı — kurumsal tema (portal-ui tasarım sistemi)
   Palet CSS değişkeni tabanlı: rengi değiştirmek için sadece :root'u düzenleyin.
   ========================================================================== */

:root {
  /* ------------------------------------------------------------------------
     Tasarım token'ları. Değerlerin tamamı Figma FAZ 1 çıktısından ÖLÇÜLDÜ
     (mockup'lar 1440 x N px @1x, yani 1 görsel piksel = 1 CSS pikseli).
     Rengi/ölçüyü değiştirmek için yalnızca burayı düzenleyin.
     ------------------------------------------------------------------------ */

  /* Kabuk */
  --bvakp-topbar: #0e1a44;          /* üst yardımcı şerit */
  --bvakp-topbar-h: 29px;
  --bvakp-header: #182a6e;          /* masthead */
  --bvakp-header-h: 68px;

  /* Marka */
  --bvakp-primary: #182a6e;         /* header laciverti = istatistik rakamı */
  --bvakp-primary-700: #0e1a44;
  --bvakp-primary-500: #233aa0;
  --bvakp-primary-400: #424ed4;
  --bvakp-indigo: #6166e2;
  --bvakp-link: #2843c8;            /* "Tümünü gör →", kart başlıkları */
  --bvakp-accent: #d0403a;          /* Ara / İndir düğmeleri */
  --bvakp-accent-600: #b5332e;

  /* Nötrler */
  --bvakp-ink: #182034;             /* H1/H2 */
  --bvakp-body: #384154;            /* paragraf */
  --bvakp-muted: #6b7488;
  --bvakp-bg: #f5f7fb;              /* sayfa zemini */
  --bvakp-surface: #ffffff;         /* kart zemini */
  --bvakp-line: #e4e8f1;            /* kart kenarlığı */

  /* Konteyner: içerik kutusu genişlikleri. Bootstrap konteyneri border-box
     hesapladığı için genişliğe iki yandan 12'şer piksel gutter ekleniyor;
     1440 genişlikte yan boşluk anasayfada 130, diğer ekranlarda 65 çıkıyor
     (tasarımdan ölçülen değerler). */
  --bvakp-container: 1310px;
  --bvakp-container-home: 1180px;
  --bvakp-gutter: 12px;

  /* Şekil & yükselti */
  --bvakp-radius: 8px;              /* düğme */
  --bvakp-radius-sm: 6px;           /* format pill / durum çipi */
  --bvakp-radius-card-sm: 12px;     /* küçük kart (kategori) */
  --bvakp-radius-card: 16px;        /* büyük içerik kartı */
  --bvakp-radius-pill: 999px;       /* etiket pill'i */
  --bvakp-shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);
  --bvakp-shadow: 0 6px 20px -8px rgba(15, 23, 42, .14);
  --bvakp-shadow-lg: 0 16px 40px -14px rgba(15, 23, 42, .26);

  /* Hero gradyanı — ölçülen köşeler: SÜ #233aa0 · SA #424ed4 · AÜ #374abb · AA #6166e2 */
  --bvakp-hero: linear-gradient(120deg, #233aa0 0%, #6166e2 100%);

  /* Çipler */
  --bvakp-chip-cat-bg: #e9edfc;     /* kategori çipi */
  --bvakp-chip-cat-ink: #2843c8;
  --bvakp-chip-freq-bg: #e2f4ea;    /* "GÜNLÜK GÜNCELLENİR" */
  --bvakp-chip-freq-ink: #0e7a4e;

  /* Data API colour language — the standalone band is gone, but the access-list
     API row and .bvakp-embed-box both still read these. */
  --bvakp-apiband-bg: #f0f6ff;
  --bvakp-apiband-line: #d5e4fb;
  --bvakp-apiband-ink: #354ecc;

  /* Format pill'leri */
  --bvakp-fmt-csv-bg: #e2f4ea;   --bvakp-fmt-csv-ink: #0e7a4e;
  --bvakp-fmt-json-bg: #fbf0da;  --bvakp-fmt-json-ink: #a05f04;
  --bvakp-fmt-xml-bg: #e6edfc;   --bvakp-fmt-xml-ink: #2757c9;
  --bvakp-fmt-api-bg: #efe9fc;   --bvakp-fmt-api-ink: #6d3fc4;
  /* TSV sits in the CSV family (same data, different separator) but calmer;
     XLSX takes teal so it never reads as the CSV green. Both used to fall
     through to the grey "unknown format" look. */
  --bvakp-fmt-tsv-bg: #eaf4ee;   --bvakp-fmt-tsv-ink: #2f6b4f;
  --bvakp-fmt-xlsx-bg: #dcf0f2;  --bvakp-fmt-xlsx-ink: #0a6b78;
  --bvakp-fmt-other-bg: #eef1f6; --bvakp-fmt-other-ink: #4a5468;

  /* Fontlar — Sora (başlık + rakam) + Public Sans (gövde), self-hosted */
  --bvakp-font-head: "Sora", "Public Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --bvakp-font: "Public Sans", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  /* Bootstrap 5 köprüsü */
  --bs-primary: var(--bvakp-primary);
  --bs-primary-rgb: 24, 42, 110;
  --bs-link-color: var(--bvakp-link);
  --bs-link-color-rgb: 40, 67, 200;
  --bs-link-hover-color: var(--bvakp-accent);
  --bs-body-font-family: var(--bvakp-font);
  --bs-border-radius: var(--bvakp-radius);
  --bs-body-color: var(--bvakp-body);
}

/* Konteyner genişlikleri: tasarım içerik için iki farklı genişlik kullanıyor ve bu
   bilinçli. Ancak header / üst şerit / footer HER SAYFADA 1310'da kalıyor — kabuk
   ölçüsünün sayfaya göre değişmesi başlığı zıplatıyordu (madde: sabit header). */
.container { max-width: calc(var(--bvakp-container) + 2 * var(--bvakp-gutter)); }
.bvakp-home .container,
body.bvakp-home-page .container {
  max-width: calc(var(--bvakp-container-home) + 2 * var(--bvakp-gutter));
}
body.bvakp-home-page .account-masthead .container,
body.bvakp-home-page .masthead .container,
body.bvakp-home-page .site-footer .container {
  max-width: calc(var(--bvakp-container) + 2 * var(--bvakp-gutter));
}

/* ------------------------------------------------------- Breadcrumb --- */
/* Tasarım: "Ana Sayfa › Veri Setleri › X" — ikon yok, ayraç "›", son öğe koyu. */
.toolbar .breadcrumb {
  /* Ayraç core'un kendi kuralından geliyor: `.toolbar .breadcrumb
     li:not(:first-child)::before { content: var(--bs-breadcrumb-divider, "/") }`.
     O kural bizimkinden daha spesifik olduğu için ::before'u yeniden tanımlamak
     yerine okuduğu değişkeni değiştiriyoruz. */
  --bs-breadcrumb-divider: "\203A";
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
  margin: 0; padding: 18px 0 0; background: none; font-size: 14px;
}
.toolbar .breadcrumb > li { list-style: none; display: flex; align-items: center; gap: 8px; }
/* Core ayracı float'luyor; flex düzende hizayı bozuyor. */
.toolbar .breadcrumb li:not(:first-child)::before {
  float: none; padding-right: 0; color: #aab2c4; font-size: 15px; line-height: 1;
}
.toolbar .breadcrumb > li > a { color: var(--bvakp-muted); }
.toolbar .breadcrumb > li > a:hover { color: var(--bvakp-link); }
.toolbar .breadcrumb > li.active > a,
.toolbar .breadcrumb > li:last-child > a { color: var(--bvakp-ink); font-weight: 600; }

/* --------------------------------------------------------------- Base --- */
body {
  font-family: var(--bvakp-font);
  font-size: 15px;
  line-height: 1.6;
  color: var(--bvakp-body);
  background: var(--bvakp-bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, .h1, .h2, .h3 {
  font-family: var(--bvakp-font-head);
  color: var(--bvakp-ink);
  font-weight: 700;
  letter-spacing: -.01em;
}
a { color: var(--bvakp-link); text-decoration: none; }
a:hover { color: var(--bvakp-accent); }
.wrapper, .main { background: transparent; border: 0; box-shadow: none; }
[role="main"], .main { border-top: 0; }

/* ------------------------------------------------------------ Buttons --- */
.btn {
  border-radius: var(--bvakp-radius);
  font-family: var(--bvakp-font);
  font-weight: 600;
  padding: .55rem 1.1rem;
  transition: all .16s ease;
}
.btn-primary, .btn-primary:visited {
  background: var(--bvakp-primary); border-color: var(--bvakp-primary); color: #fff;
}
.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  background: var(--bvakp-primary-700) !important;
  border-color: var(--bvakp-primary-700) !important;
}
/* Vurgu kırmızısı: Ara ve İndir. Tasarımdaki tek kırmızı bu. */
.btn-danger, .btn-accent, .bvakp-btn-accent {
  background: var(--bvakp-accent); border-color: var(--bvakp-accent); color: #fff;
}
.btn-danger:hover, .btn-accent:hover, .bvakp-btn-accent:hover {
  background: var(--bvakp-accent-600); border-color: var(--bvakp-accent-600); color: #fff;
}
.btn-default, .btn-secondary {
  background: #fff; border: 1px solid var(--bvakp-line); color: var(--bvakp-ink);
}
.btn-default:hover, .btn-secondary:hover { border-color: var(--bvakp-primary); color: var(--bvakp-primary); }

/* --------------------------------------------- Shell: üst yardımcı şerit --- */
/* CKAN'ın .account-masthead'i tasarımdaki 29px'lik üst şeride dönüşüyor. */
.account-masthead {
  background: var(--bvakp-topbar) !important;
  min-height: var(--bvakp-topbar-h);
  padding: 0;
}
.account-masthead .container { display: flex; justify-content: flex-end; align-items: center; min-height: var(--bvakp-topbar-h); }
.bvakp-topbar-links { display: flex; align-items: center; gap: 18px; margin: 0; padding: 0; }
.bvakp-topbar-links li { list-style: none; }
.bvakp-topbar-links a,
.bvakp-topbar-links button {
  color: #c7d2ee; font-size: 12px; font-weight: 600; letter-spacing: .02em;
  background: none; border: 0; padding: 0; line-height: var(--bvakp-topbar-h);
}
.bvakp-topbar-links a:hover, .bvakp-topbar-links button:hover { color: #fff; }
.bvakp-topbar-links .bvakp-lang-current { color: #fff; }
.bvakp-topbar-sep { width: 1px; height: 12px; background: rgba(255,255,255,.24); }

/* ------------------------------------------------------- Shell: header --- */
.masthead, header.masthead {
  background: var(--bvakp-header) !important;
  border-bottom: 0;
  box-shadow: none;
  /* CKAN core: `.masthead { padding: .5rem !important }` — 8px alt+üst, header'ı
     68'den 84'e çıkarıyordu. !important'ı ancak !important geçer. */
  padding: 0 !important;
  height: var(--bvakp-header-h);
}
/* Header tam 68px: CKAN core hem .masthead'e hem içindeki .container/.navbar'a
   dikey padding veriyor; üçünü de sıfırlayıp yüksekliği sabitliyoruz, yoksa
   marka logosu kabı 84px'e şişiriyor ve hero tasarımdaki y=97'den aşağı kayıyor. */
.masthead .container {
  height: var(--bvakp-header-h);
  padding-top: 0; padding-bottom: 0;
  display: flex; align-items: center;
}
.masthead .navbar {
  height: var(--bvakp-header-h);
  width: 100%;
  padding: 0; margin: 0;
  flex-wrap: nowrap;
}
.masthead .navbar > hgroup { margin: 0; padding: 0; }
.masthead .navbar-nav { align-items: center; gap: 2px; }

/* Header ölçüleri sayfalar arasında DEĞİŞMEZ: yükseklik (68px), logo ve ayraç her
   ekranda aynı. Tasarım iç sayfalarda 58px'lik daha ince bir masthead çiziyordu;
   sayfa geçişlerinde başlığın zıplaması bundan daha rahatsız edici olduğu için
   tek ölçüde sabitlendi. */
.masthead .navbar-nav > li { list-style: none; }

/* Marka kilidi: [TCDD logosu] | [iki satır metin] — net ayrım, dikey ortalı.
   Not: CKAN core `.masthead .navbar .logo{display:inline-block}` (3 sınıf) bizi eziyordu;
   daha spesifik seçici + !important ile yatay flex zorunlu kılınıyor. */
.masthead .navbar a.logo.bvakp-brand {
  display: inline-flex !important;
  align-items: center; flex-wrap: nowrap; gap: 14px;
  text-decoration: none; padding: 0;
}
.bvakp-brand .bvakp-brand-mark { display: block; height: 42px; width: auto; flex: 0 0 auto; }
.bvakp-brand .bvakp-brand-divider { display: block; flex: 0 0 auto; width: 2px; height: 40px; background: rgba(255,255,255,.38); border-radius: 1px; }
.bvakp-brand .bvakp-brand-text { display: flex; flex-direction: column; justify-content: center; line-height: 1.2; }
/* İki satır: üstte kurum adı, altta portal adı (tasarım SVG'si böyle).
   SVG 58px'lik bir header üzerinde 14/10px ölçüyor; bizim header 68px ve logo
   42px olduğu için üst satır 15px'te bırakıldı, alt satır SVG ölçüsünde.
   Portal satırının rengi müşteri spec'indeki #FFFFFF9E ile aynı değer
   (0x9E = 158/255 = %62); masthead laciverti üzerinde kontrast 5,98:1.
   NOT: 2026-09-10'da bu kilit İBB tarzına (logo | AÇIK VERİ / PORTALI)
   çevrilip müşteri isteğiyle bu düzene geri alındı — yeniden denenecekse
   Public Sans'ta line-height %100 iki satırı birbirine sokuyor (cap 0,723em). */
.bvakp-brand .bvakp-brand-text .l1 {
  font-family: var(--bvakp-font-head); color: #fff;
  font-weight: 700; font-size: 15px;
  letter-spacing: -.005em; white-space: nowrap;
}
.bvakp-brand .bvakp-brand-text .l2 {
  font-family: var(--bvakp-font-head); color: rgba(255,255,255,.62);
  font-weight: 600; font-size: 10px; margin-top: 2px;
  text-transform: uppercase; letter-spacing: .16em; white-space: nowrap;
}

/* Geliştirme debug araçlarını gizle (Flask DebugToolbar + CKAN blueprint etiketi). */
[id*="flDebug"], [class*="flDebug"], .debug { display: none !important; }

/* CKAN 2.11'in build_nav_main'i düz <li><a> basıyor (nav-item/nav-link sınıfı YOK),
   bu yüzden hem Bootstrap sınıfları hem de doğrudan liste seçicileri hedefleniyor. */
.masthead .nav-link,
.masthead .navbar-nav .nav-link,
.masthead .navbar-nav > li > a {
  display: inline-block;
  color: #d7e0f5 !important;
  font-size: 14px; font-weight: 600;
  border-radius: var(--bvakp-radius);
  padding: .42rem .8rem !important;
  transition: background .15s ease, color .15s ease;
}
/* KONTRAST NOTU: statik analiz burada "yetersiz kontrast" diyor çünkü rgba
   katmanını BEYAZ üzerine bindiriyor. Gerçek zemin masthead laciverti (#182a6e);
   bileşke #34447f, beyaz metinle ölçülen oran 9,25:1 (WCAG AA eşiği 4,5:1).
   Saydamlık bilerek korunuyor: header rengi token'dan değişirse hover da
   kendiliğinden uyum sağlıyor. */
.masthead .nav-link:hover,
.masthead .navbar-nav .nav-link:hover,
.masthead .navbar-nav > li > a:hover {
  background: rgba(255,255,255,.12) !important; color: #fff !important; /* NOSONAR: bileşke #34447f, 9,21:1 */
}
/* Aktif sekme: açık lacivert dolgulu pill. */
.masthead .nav-item.active .nav-link,
.masthead .navbar-nav .active > .nav-link,
.masthead .navbar-nav .nav-link.active,
.masthead .navbar-nav > li.active > a {
  background: #2b3f8d !important; color: #fff !important;
}

/* Anasayfa dışındaki sayfalarda nav'ın sağındaki daraltılmış arama. */
/* Tasarımda iç sayfa araması dar bir pill: büyüteç + "Ara". */
.masthead .site-search {
  margin-left: 18px; align-items: center;
  background: rgba(255,255,255,.14);
  border-radius: var(--bvakp-radius-pill);
  padding: 0 6px 0 12px; height: 34px;
}
.masthead .site-search .form-control {
  border: 0; border-radius: 0; background: transparent; color: #fff;
  font-size: 13px; width: 96px; height: 32px; padding: 0 6px;
  box-shadow: none;
}
.masthead .site-search .form-control::placeholder { color: #b9c6e8; }
/* Aynı kontrast notu: bileşke #46558b, beyaz metinle 7,19:1. */
.masthead .site-search .form-control:focus { background: rgba(255,255,255,.2); box-shadow: none; color: #fff; } /* NOSONAR: bileşke #46558b, 7,16:1 */
.masthead .site-search .btn { background: transparent; border: 0; color: #d7e0f5; padding: 0 6px; }
.masthead .site-search .btn:hover { color: #fff; }

/* --------------------------------------------------------- Home: HERO --- */
.bvakp-hero {
  position: relative;
  background: var(--bvakp-hero);
  color: #fff;
  min-height: 558px;              /* ölçülen: y 97 → 655 */
  display: flex; align-items: center;
  padding: 56px 0 104px;          /* alt boşluk istatistik kartının binmesi için */
  overflow: hidden;
}
/* Tren/istasyon çizgi illüstrasyonu: tasarımda hero'nun alt 300px'inde duruyor
   (Figma'da 1440x300 @ y 1116). Şablona satır içi gömülü — tren ve çevresi ayrı
   canlandırıldığı için parçalarına CSS'ten erişebilmek gerekiyor; sahnenin
   kuruluşu snippets/hero_illustration.html'de anlatılıyor. Ölçekleme `cover`,
   çünkü 1440'tan geniş ekranda sabit genişlik bırakınca yatay zemin çizgileri
   ortada kesiliyordu. Kırpılan kısım bandın boş üst kesimi. */
.bvakp-hero-illustration {
  position: absolute; inset-inline: 0; bottom: 0;
  display: block; width: 100%; height: 300px;
  pointer-events: none;
}

/* Tren yerinde durur, çevre sağa akar. İki katman farklı hızda geçiyor: banklar
   peronun önünde, yani izleyiciye yakın; istasyon ve bayraklar arkada kalıp daha
   yavaş süzülüyor — derinlik hissi bu farktan geliyor. Öteleme mesafeleri
   illüstrasyondaki desen boyları, başka bir değer verilirse döngü dikiş tutmaz;
   hız ancak süre değiştirilerek ayarlanabilir (şu an zemin 80, banklar ~131
   birim/sn). */
.bvakp-hero-layer--ground  { animation: bvakp-hero-scroll-ground  20s linear infinite; }
.bvakp-hero-layer--benches { animation: bvakp-hero-scroll-benches 11s linear infinite; }
@keyframes bvakp-hero-scroll-ground  { to { transform: translateX(1600px); } }
@keyframes bvakp-hero-scroll-benches { to { transform: translateX(1440px); } }

/* Trenin kendisi kompozisyondaki yerinden oynamaz, yalnızca rayda titrer. Genlik
   1 birimin altında (geniş ekranda ~1 CSS px): hareket sezilsin ama arama
   kutusunun arkasında dikkat dağıtmasın. Adımlar bilerek düzensiz; eşit aralıklı
   bir salınım mekanik görünüyor. */
.bvakp-hero-train { animation: bvakp-hero-train-bob 1.4s ease-in-out infinite; }
@keyframes bvakp-hero-train-bob {
  0%   { transform: translateY(0); }
  18%  { transform: translateY(0.7px); }
  34%  { transform: translateY(-0.4px); }
  52%  { transform: translateY(0.9px); }
  71%  { transform: translateY(-0.3px); }
  88%  { transform: translateY(0.5px); }
  100% { transform: translateY(0); }
}

/* Hareketi azalt tercihinde sahne durur. Akan katmanların ikinci kopyası 0
   konumunda görüş alanının solunda kaldığı için duran kare tasarımın durağan
   illüstrasyonuyla örtüşür; tek fark, trenin üstünden geçen iki bayrak direğinin
   artık maskeyle gövdede kesilmesi (bkz. snippets/hero_illustration.html). */
@media (prefers-reduced-motion: reduce) {
  .bvakp-hero-layer--ground,
  .bvakp-hero-layer--benches,
  .bvakp-hero-train { animation: none; }
}
.bvakp-hero .container { width: 100%; position: relative; z-index: 1; }

/* Tasarım hero içeriğini ORTALAR: eyebrow, başlık, alt metin, arama ve popüler
   çipleri ortak bir eksende. */
.bvakp-hero-inner {
  display: flex; flex-direction: column; align-items: center; text-align: center;
}
/* Hero başlığı iki satır: üstte kurum adı, altta versal portal adı. Tasarımdaki
   oval çerçeveli eyebrow kaldırıldı (müşteri revizyonu). Ölçüler ekran
   görüntüsünden türetildi; anasayfa SVG'si gelince doğrulanacak. */
/* Hero başlığının iki satırı da tasarımcının verdiği tek spec'te: Sora SemiBold
   40 / satır yüksekliği %100 / harf aralığı -0.5px, ortalı. Ölçüler başlığın
   kendisine yazıldı, span'ler yalnızca satırı kırıyor. Tek fark yazım biçimi:
   kurum adı tamamı versal, portal adı normal yazımda (kaynak dizedeki gibi). */
.bvakp-hero-title {
  font-family: var(--bvakp-font-head);
  color: #fff; margin: 0;
  font-size: 40px; font-weight: 600; line-height: 100%;
  letter-spacing: -0.5px; text-align: center;
}
.bvakp-hero-title .l1,
.bvakp-hero-title .l2 { display: block; }
.bvakp-hero-title .l1 { text-transform: uppercase; }
.bvakp-hero-title .l2 { margin-top: 6px; text-transform: none; }
.bvakp-hero-sub {
  font-size: 17px; font-weight: 400; line-height: 1.6;
  color: #dde3fb; margin: 16px 0 0; max-width: 560px;
}

/* Büyük arama kutusu: beyaz alan + sağda kırmızı "Ara", tek parça. */
.bvakp-hero-search {
  width: 100%;
  display: flex; align-items: stretch;
  background: #fff;
  border-radius: var(--bvakp-radius);
  box-shadow: var(--bvakp-shadow-lg);
  max-width: 720px; margin: 30px auto 0;
  overflow: hidden;
}
.bvakp-hero-search .bvakp-hero-search-icon {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto; width: 46px; color: #97a0b5; font-size: 15px;
}
.bvakp-hero-search input {
  flex: 1 1 auto; border: 0; outline: 0;
  padding: 0 16px 0 0; height: 56px;
  font-family: var(--bvakp-font); font-size: 15px; color: var(--bvakp-ink);
  text-align: left;
}
.bvakp-hero-search input::placeholder { color: #97a0b5; }
.bvakp-hero-search button {
  flex: 0 0 auto; border: 0;
  background: var(--bvakp-accent); color: #fff;
  font-family: var(--bvakp-font); font-weight: 700; font-size: 15px;
  padding: 0 30px;
}
.bvakp-hero-search button:hover { background: var(--bvakp-accent-600); }


/* -------------------------------------------------------- Home: STATS --- */
/* 1180 x 132, hero'nun alt kenarına 16px binen (ölçülen üst kenar: y 639),
   5 eşit 236px kolon + dikey ayraç. */
.bvakp-stats { position: relative; z-index: 2; }
.bvakp-stats-inner {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  align-items: center;
  height: 132px;
  margin-top: -16px;
  background: var(--bvakp-surface);
  border: 1px solid var(--bvakp-line);
  /* Üstteki kırmızı şerit kenarlığın kendisi: border-radius'u izleyip köşelerde
     kıvrıldığı için ayrı bir katman gerekmiyor. Kutu border-box olduğundan 4px
     dışarıdan değil içeriden yeniyor — kartın dış ölçüsü 132'de kalıyor. */
  border-top: 4px solid var(--bvakp-accent);
  border-radius: var(--bvakp-radius-card);
  box-shadow: var(--bvakp-shadow);
}
.bvakp-stat { text-align: center; padding: 0 12px; }
.bvakp-stat + .bvakp-stat { border-left: 1px solid var(--bvakp-line); }
.bvakp-stat .num {
  display: block; font-family: var(--bvakp-font-head);
  font-size: 32px; font-weight: 800; line-height: 1.1; color: var(--bvakp-primary);
}
.bvakp-stat .lbl {
  display: block; margin-top: 5px;
  font-size: 11px; font-weight: 600; letter-spacing: .08em;
  text-transform: uppercase; color: var(--bvakp-muted);
}

/* Rakamın üstündeki ikon karesi. Ölçü ve renkler tasarımdan (Cards.png):
   40x40, r12, zemin #f1f3fb, çizgi #4449b2. Hangi sembolün geleceği şablondaki
   kutu listesinde duruyor (bkz. home/index.html). */
.bvakp-stat-ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 40px; height: 40px; margin-bottom: 10px;
  border-radius: 12px;
  background: #f1f3fb; color: #4449b2;
}

/* ----------------------------------------------------- Home: SECTIONS --- */
/* Bölümler yalnızca üstten nefes alıyor: tasarımda bir bölümün son kartı ile
   sonraki başlık arasındaki mesafe ~60px, iki yönlü dolgu bunu ikiye katlardı. */
.bvakp-section { padding: 60px 0 0; }
.bvakp-section-alt { background: transparent; }
.bvakp-section-head {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: 24px;
}
.bvakp-section-head h2 {
  font-family: var(--bvakp-font-head);
  font-size: 28px; font-weight: 700; color: var(--bvakp-ink); margin: 0;
}
.bvakp-section-head a { font-size: 14px; font-weight: 600; color: var(--bvakp-link); }
.bvakp-section-sub { color: var(--bvakp-muted); }

/* Kategori kartları: 4 x 280 (1180 konteynerde 1fr = 280), 20px gap, 162px, r12.
   İçerik dolgusu her yönde 25 — ikon karesinin kart köşesine uzaklığı bu. */
.bvakp-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.bvakp-cat-card {
  position: relative;
  display: flex; flex-direction: column; justify-content: flex-start;
  min-height: 162px; padding: 25px;
  background: var(--bvakp-surface);
  border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card-sm);
  box-shadow: var(--bvakp-shadow-sm);
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.bvakp-cat-card:hover { border-color: #c9d4ee; box-shadow: var(--bvakp-shadow); transform: translateY(-2px); }
.bvakp-cat-ico {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto; align-self: flex-start;
  width: 52px; height: 52px; border-radius: 15px;
  color: #fff;
}
/* Gradyanlar tasarımdan ölçüldü; hepsi 135°, kartların soldan sağa sırasına
   göre uygulanıyor (bkz. home/index.html). */
.bvakp-cat-ico--1 { background: linear-gradient(135deg, #5b6ef5, #8b5cf6); }
.bvakp-cat-ico--2 { background: linear-gradient(135deg, #17b8a6, #43af6c); }
.bvakp-cat-ico--3 { background: linear-gradient(135deg, #8b5cf6, #ec6f9e); }
.bvakp-cat-ico--4 { background: linear-gradient(135deg, #f6b254, #ee8b4f); }
.bvakp-cat-ico--5 { background: linear-gradient(135deg, #4cafe6, #5c6ff5); }
.bvakp-cat-ico--6 { background: linear-gradient(135deg, #43af6c, #17b8a6); }
.bvakp-cat-ico--7 { background: linear-gradient(135deg, #e1a933, #c98b1d); }
.bvakp-cat-ico--8 { background: linear-gradient(135deg, #ec6f9e, #ff7f6b); }
.bvakp-cat-name {
  margin: 14px 0 0; font-size: 19px; line-height: 24px;
  font-weight: 700; color: var(--bvakp-ink);
}
.bvakp-cat-name a { color: inherit; }
/* Bağlantıyı kartın tamamına yayan kaplama: kart yine tek tıklama hedefi,
   ama bağlantı metni yalnızca başlık. */
.bvakp-cat-name a::after { content: ""; position: absolute; inset: 0; }
/* Karta gelindiğinde de başlık vurgulanıyor — imleç ikonun ya da sayacın
   üzerindeyken hangi bağlantının açılacağı belli olsun diye. */
.bvakp-cat-card:hover .bvakp-cat-name a,
.bvakp-cat-name a:focus-visible {
  color: var(--bvakp-link); text-decoration: underline;
}
.bvakp-cat-count { margin-top: 4px; font-size: 13px; line-height: 18px; color: var(--bvakp-muted); }

/* Öne çıkanlar: 3 x 380 (1180 konteynerde 1fr = 380), 20px gap */
.bvakp-featured-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  margin: 0; padding: 0;
}

/* Nasıl Çalışır? — 3 kart; numara, başlık ve açıklama alt alta. */
.bvakp-how-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.bvakp-how-card {
  background: var(--bvakp-surface); border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card); padding: 26px 28px;
}
/* Rakam kendi genişliğince maviden pembeye geçiyor; gradyan metnin içine
   kırpıldığı için span yalnızca rakam kadar yer kaplamalı (inline-block). */
.bvakp-how-num {
  display: inline-block;
  font-family: var(--bvakp-font-head); font-size: 36px; font-weight: 800;
  line-height: 1;
  background: linear-gradient(90deg, #5b6ef5 0%, #8b5cf6 50%, #ec6f9e 100%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.bvakp-how-card h3 { font-size: 17px; line-height: 1.2; font-weight: 700; margin: 14px 0 0; color: var(--bvakp-ink); }
.bvakp-how-card p { font-size: 14.5px; line-height: 21px; color: var(--bvakp-body); margin: 14px 0 0; }

/* Veri talebi CTA bandı — 1180 x 132, açık renkli üç duraklı yatay geçiş. */
.bvakp-cta {
  display: flex; align-items: center; justify-content: space-between; gap: 32px;
  min-height: 132px;
  background: linear-gradient(90deg, #dfe7ff 0%, #efe6fb 55%, #ffe4ec 100%);
  border-radius: var(--bvakp-radius-card);
  padding: 34px 48px; margin: 56px 0;
}
.bvakp-cta h2 { font-family: var(--bvakp-font-head); font-size: 24px; font-weight: 700; color: var(--bvakp-ink); margin: 0; }
.bvakp-cta p { margin: 8px 0 0; color: var(--bvakp-body); font-size: 15px; }
.bvakp-cta .btn {
  flex: 0 0 auto;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 180px; height: 45px; padding: 0 20px;
  background: linear-gradient(90deg, #3f5bd0 0%, #7a52d0 100%);
  border: 0; border-radius: 10px;
  color: #fff; font-weight: 700;
}
.bvakp-cta .btn:hover { background: linear-gradient(90deg, #364fbb 0%, #6b47bb 100%); color: #fff; }

/* --------------------------------------- Format pill'leri (paylaşılan) --- */
.bvakp-formats { display: flex; flex-wrap: wrap; gap: 6px; }
.bvakp-fmt {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 42px; height: 20px; padding: 0 8px;
  border-radius: var(--bvakp-radius-sm);
  font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  background: var(--bvakp-fmt-other-bg); color: var(--bvakp-fmt-other-ink);
}
.bvakp-fmt-csv  { background: var(--bvakp-fmt-csv-bg);  color: var(--bvakp-fmt-csv-ink); }
.bvakp-fmt-json { background: var(--bvakp-fmt-json-bg); color: var(--bvakp-fmt-json-ink); }
.bvakp-fmt-xml  { background: var(--bvakp-fmt-xml-bg);  color: var(--bvakp-fmt-xml-ink); }
.bvakp-fmt-tsv  { background: var(--bvakp-fmt-tsv-bg);  color: var(--bvakp-fmt-tsv-ink); }
.bvakp-fmt-xlsx { background: var(--bvakp-fmt-xlsx-bg); color: var(--bvakp-fmt-xlsx-ink); }
.bvakp-fmt-api  { background: var(--bvakp-fmt-api-bg);  color: var(--bvakp-fmt-api-ink); }

/* --------------------------------------- Dataset card (package_item) --- */
/* Tek kart bileşeni: ızgara varyantı (anasayfa) ve satır varyantı (liste sayfası,
   İP 6) aynı işaretlemeyi paylaşır, farkı CSS'te. */
.bvakp-card {
  display: flex; flex-direction: column; height: 100%;
  background: var(--bvakp-surface);
  border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card);
  padding: 22px 22px 0;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.bvakp-card:hover { border-color: #c9d4ee; box-shadow: var(--bvakp-shadow); transform: translateY(-2px); }
.bvakp-card-org { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--bvakp-muted); }
/* Tasarımda kurum, baş harflerinden oluşan küçük bir kare rozetle gösteriliyor. */
.bvakp-avatar {
  display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto; width: 22px; height: 22px; border-radius: 6px;
  background: var(--bvakp-primary); color: #fff;
  font-family: var(--bvakp-font-head); font-size: 9px; font-weight: 700; letter-spacing: .02em;
}
.bvakp-card-org .bvakp-card-cat { color: var(--bvakp-link); font-weight: 600; }
.bvakp-card-org .sep { opacity: .5; }
.bvakp-card-title {
  font-family: var(--bvakp-font-head);
  font-size: 16px; font-weight: 700; line-height: 1.35;
  margin: 10px 0 0;
}
.bvakp-card-title a { color: var(--bvakp-ink); }
.bvakp-card-title a:hover { color: var(--bvakp-link); }
.bvakp-card-notes {
  font-size: 14px; color: var(--bvakp-body); margin: 8px 0 0;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden;
}
.bvakp-card .bvakp-formats { margin-top: 14px; margin-bottom: 16px; }
.bvakp-card-foot {
  display: flex; align-items: center; gap: 16px;
  /* auto: kart yükseklikleri ızgarada eşitlendiğinde alt meta hep dibe yapışır,
     açıklama uzunluğu değişse de ayraçlar aynı hizada kalır. */
  margin-top: auto; padding: 12px 0;
  border-top: 1px solid var(--bvakp-line);
  font-size: 12px; color: var(--bvakp-muted);
}
.bvakp-card-foot span { display: inline-flex; align-items: center; gap: 5px; }
.bvakp-card-spacer { flex: 1 1 auto; }

/* ------------------------------------------------------- Search page --- */
/* Konteyner 1310: filtre 332 + gap 26 + sonuçlar 952. */
.bvakp-search {
  display: grid;
  grid-template-columns: 332px 952px;
  gap: 26px;
  width: 100%;
}
/* CKAN'ın .row wrapper'ı Bootstrap gutter'ı yüzünden içeriği 12px içeri itiyor;
   ızgaranın sol kenarı tam 65px'e otursun diye gutter kadar geri çekiliyor.
   Sınıf şablondan (wrapper_class bloğu) geliyor — :has() gerekmiyor. */
.bvakp-search-wrapper {
  /* Bootstrap .row flex; başlık ve iki kolonlu ızgara yan yana gelmesin diye blok. */
  display: block;
  margin-left: calc(-1 * var(--bvakp-gutter));
  margin-right: calc(-1 * var(--bvakp-gutter));
  padding: 0;
}
.bvakp-page-head { margin: 4px 0 22px; }
.bvakp-page-head h1 {
  font-family: var(--bvakp-font-head);
  font-size: 32px; font-weight: 700; color: var(--bvakp-ink); margin: 0;
}
.bvakp-search > * { min-width: 0; }

/* ---- Filtre kartı ---- */
.bvakp-filters {
  align-self: start;
  background: var(--bvakp-surface);
  border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card);
  padding: 20px 22px;
}
.bvakp-filters-head {
  display: flex; align-items: baseline; justify-content: space-between;
  padding-bottom: 14px; margin-bottom: 4px;
  border-bottom: 1px solid var(--bvakp-line);
}
.bvakp-filters-head h2 {
  font-family: var(--bvakp-font-head);
  font-size: 16px; font-weight: 700; color: var(--bvakp-ink); margin: 0;
}
.bvakp-filters-head a { font-size: 13px; font-weight: 600; color: var(--bvakp-link); }

.bvakp-facet { padding: 18px 0 4px; border-bottom: 1px solid var(--bvakp-line); }
.bvakp-facet:last-of-type { border-bottom: 0; }
.bvakp-facet-title {
  font-family: var(--bvakp-font-head);
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--bvakp-muted); margin: 0 0 10px;
}
.bvakp-facet-list { margin: 0; }
.bvakp-facet-item a {
  display: flex; align-items: center; gap: 10px;
  padding: 6px 0; font-size: 14px; color: var(--bvakp-body);
}
.bvakp-facet-item a:hover { color: var(--bvakp-link); }
.bvakp-facet-box {
  flex: 0 0 auto; width: 16px; height: 16px;
  border: 1px solid #c3cbdc; border-radius: 4px; background: #fff;
  position: relative;
}
.bvakp-facet-item.is-active .bvakp-facet-box {
  background: var(--bvakp-link); border-color: var(--bvakp-link);
}
/* Onay işareti: iki kenarlıklı, döndürülmüş bir kutu — ikon fontuna bağımlı değil. */
.bvakp-facet-item.is-active .bvakp-facet-box::after {
  content: ""; position: absolute; left: 5px; top: 1px;
  width: 4px; height: 8px;
  border: solid #fff; border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.bvakp-facet-label {
  flex: 1 1 auto; min-width: 0;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.bvakp-facet-item.is-active .bvakp-facet-label { color: var(--bvakp-ink); font-weight: 600; }
.bvakp-facet-count {
  flex: 0 0 auto;
  background: #eef1f6; color: var(--bvakp-muted);
  border-radius: var(--bvakp-radius-pill);
  font-size: 11px; font-weight: 600; padding: 2px 8px;
}
.bvakp-facet-more { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--bvakp-link); }
.bvakp-facet-empty { font-size: 13px; color: var(--bvakp-muted); margin: 0; }

/* ---- Sonuç sütunu ---- */
.bvakp-results-bar {
  display: flex; align-items: center; gap: 16px;
  background: var(--bvakp-surface);
  border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card);
  padding: 12px 16px;
}
.bvakp-results-search { flex: 1 1 auto; display: flex; align-items: center; gap: 10px; margin: 0; }
.bvakp-results-search i { color: #9aa3b8; }
.bvakp-results-search input {
  flex: 1 1 auto; border: 0; outline: 0; background: transparent;
  font-family: var(--bvakp-font); font-size: 14px; color: var(--bvakp-ink);
}
.bvakp-results-tools { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.bvakp-sort { display: flex; align-items: center; gap: 8px; margin: 0; }
.bvakp-sort label { font-size: 13px; color: var(--bvakp-muted); margin: 0; }
.bvakp-sort select {
  border: 1px solid var(--bvakp-line); border-radius: var(--bvakp-radius);
  background: #fff; color: var(--bvakp-ink);
  font-family: var(--bvakp-font); font-size: 13px; font-weight: 600;
  padding: 6px 10px;
}
.bvakp-viewswitch { display: flex; border: 1px solid var(--bvakp-line); border-radius: var(--bvakp-radius); overflow: hidden; }
.bvakp-viewswitch a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 34px; height: 32px; color: var(--bvakp-muted); background: #fff;
}
.bvakp-viewswitch a + a { border-left: 1px solid var(--bvakp-line); }
.bvakp-viewswitch a.is-active { background: var(--bvakp-primary); color: #fff; }

.bvakp-results-meta {
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
  margin: 20px 0 16px;
}
.bvakp-results-count { margin: 0; font-size: 15px; color: var(--bvakp-body); }
.bvakp-results-count strong { font-family: var(--bvakp-font-head); font-size: 18px; color: var(--bvakp-ink); }
.bvakp-active-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.bvakp-filter-pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--bvakp-chip-cat-bg); color: var(--bvakp-chip-cat-ink);
  border-radius: var(--bvakp-radius-pill);
  font-size: 12px; font-weight: 600; padding: 4px 10px;
}
.bvakp-filter-pill .lbl { opacity: .7; font-weight: 500; }
.bvakp-filter-pill a { color: inherit; font-size: 15px; line-height: 1; opacity: .7; }
.bvakp-filter-pill a:hover { opacity: 1; color: var(--bvakp-accent); }

/* ---- Sonuç listesi: kart bileşeninin SATIR varyantı ---- */
.bvakp-result-list { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.bvakp-result-list .bvakp-card { height: auto; }
/* Satırda format pill'leri sağ üstte durur: başlık bloğu ile aynı hizada. */
.bvakp-result-list:not(.bvakp-result-grid) .bvakp-card { position: relative; }
.bvakp-result-list:not(.bvakp-result-grid) .bvakp-card .bvakp-formats {
  position: absolute; top: 20px; right: 22px; margin: 0;
}
.bvakp-result-list:not(.bvakp-result-grid) .bvakp-card-title { padding-right: 220px; }
.bvakp-result-list:not(.bvakp-result-grid) .bvakp-card-notes { padding-right: 220px; }
/* Izgara varyantı: anasayfadaki kartın aynısı, 3 kolon. */
.bvakp-result-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

.bvakp-empty {
  background: var(--bvakp-surface); border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card); padding: 28px;
  color: var(--bvakp-body);
}

/* ---- Sayfalama ---- */
.bvakp-pagination { display: flex; justify-content: center; margin: 28px 0 8px; }
.bvakp-pagination .pagination { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.bvakp-pagination .pagination li a,
.bvakp-pagination .pagination li span {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 36px; height: 36px; padding: 0 10px;
  background: #fff; border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius);
  font-size: 14px; font-weight: 600; color: var(--bvakp-body);
}
.bvakp-pagination .pagination li a:hover { border-color: var(--bvakp-link); color: var(--bvakp-link); }
.bvakp-pagination .pagination li.active a,
.bvakp-pagination .pagination li.active span {
  background: var(--bvakp-primary); border-color: var(--bvakp-primary); color: #fff;
}

/* -------------------------------------------------- Dataset detail --- */
/* Konteyner 1310: içerik 962 + gap 32 + künye 316. */
.bvakp-detail-wrapper {
  display: block;
  margin-left: calc(-1 * var(--bvakp-gutter));
  margin-right: calc(-1 * var(--bvakp-gutter));
  padding: 0;
}
.bvakp-detail-cols { display: grid; grid-template-columns: 962px 316px; gap: 32px; }
.bvakp-detail-cols > * { min-width: 0; }

/* ---- Başlık kartı (tam genişlik) ---- */
.bvakp-detail-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 24px;
  background: var(--bvakp-surface);
  border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card);
  padding: 26px 28px; margin-bottom: 20px;
}
.bvakp-detail-head h1 {
  font-family: var(--bvakp-font-head);
  font-size: 30px; font-weight: 700; line-height: 1.25;
  color: var(--bvakp-ink); margin: 12px 0 0;
}
.bvakp-detail-byline {
  display: flex; align-items: center; flex-wrap: wrap; gap: 6px;
  margin: 10px 0 0; font-size: 14px; color: var(--bvakp-muted);
}
.bvakp-detail-byline i { color: var(--bvakp-link); margin-right: 4px; }
.bvakp-detail-actions { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.bvakp-detail-actions .btn { white-space: nowrap; }
.bvakp-download .dropdown-menu { min-width: 140px; }

/* ---- Çipler ---- */
.bvakp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.bvakp-chip {
  display: inline-flex; align-items: center;
  border-radius: var(--bvakp-radius-sm);
  font-size: 11px; font-weight: 700; letter-spacing: .06em;
  padding: 4px 10px; text-transform: uppercase;
}
.bvakp-chip-cat { background: var(--bvakp-chip-cat-bg); color: var(--bvakp-chip-cat-ink); }
.bvakp-chip-cat:hover { background: #dde4fb; color: var(--bvakp-chip-cat-ink); }
.bvakp-chip-freq { background: var(--bvakp-chip-freq-bg); color: var(--bvakp-chip-freq-ink); }
.bvakp-chip-private { background: #fdeaea; color: #b5332e; }

/* ---- İçerik panelleri ---- */
.bvakp-panel {
  background: var(--bvakp-surface);
  border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card);
  padding: 24px 28px; margin-bottom: 20px;
}
.bvakp-panel > h2 {
  font-family: var(--bvakp-font-head);
  font-size: 18px; font-weight: 700; color: var(--bvakp-ink); margin: 0 0 16px;
}
.bvakp-prose { font-size: 15px; color: var(--bvakp-body); }
.bvakp-prose p:last-child { margin-bottom: 0; }

/* ---- Kaynak satırları (Explore dropdown'ı yok) ---- */
.bvakp-resources { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.bvakp-resource {
  display: flex; align-items: center; gap: 14px;
  border: 1px solid var(--bvakp-line); border-radius: var(--bvakp-radius-card-sm);
  padding: 14px 16px;
  transition: border-color .15s ease, background .15s ease;
}
.bvakp-resource:hover { border-color: #c9d4ee; background: #fcfdff; }
.bvakp-resource > .bvakp-fmt { flex: 0 0 auto; }
.bvakp-resource-body { flex: 1 1 auto; min-width: 0; }
.bvakp-resource-name { font-size: 15px; font-weight: 700; color: var(--bvakp-ink); }
.bvakp-resource-name:hover { color: var(--bvakp-link); }
.bvakp-resource-desc {
  margin: 4px 0 0; font-size: 13px; color: var(--bvakp-body);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.bvakp-resource-meta { margin: 4px 0 0; font-size: 12px; color: var(--bvakp-muted); }
.bvakp-resource-meta:empty { display: none; }
.bvakp-resource-actions { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.bvakp-resource-actions .btn { padding: .4rem .9rem; font-size: 13px; }

/* Panel heading that carries an action on the right (Veri ve Kaynaklar -> Önizle).
   Preview belongs to the table, not to any single format row, so it lives here
   rather than being repeated on every row. */
.bvakp-panel-head {
  display: flex; align-items: center; justify-content: space-between;
  gap: 16px; margin-bottom: 16px;
}
.bvakp-panel-head h2 { margin: 0; }
.bvakp-panel-head .btn { flex: 0 0 auto; padding: .4rem .9rem; font-size: 13px; }

/* The Data API row inherits the colour language of the old standalone API band.
   :hover must be restated because .bvakp-resource:hover forces a white-ish
   background that would flatten the tint. */
.bvakp-resource-api { background: var(--bvakp-apiband-bg); border-color: var(--bvakp-apiband-line); }
.bvakp-resource-api:hover { background: var(--bvakp-apiband-bg); border-color: var(--bvakp-apiband-line); }
.bvakp-resource-api .bvakp-resource-name { color: var(--bvakp-apiband-ink); }
.bvakp-resource-icon {
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
  width: 32px; height: 32px; border-radius: 8px;
  background: #fff; color: var(--bvakp-apiband-ink);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px; font-weight: 700;
}

/* Heading of the legacy sub-list: real uploaded files no format row covers. */
.bvakp-resources-sub-title {
  font-family: var(--bvakp-font-head); font-size: 12px; font-weight: 700;
  letter-spacing: .08em; text-transform: uppercase;
  color: var(--bvakp-muted); margin: 20px 0 10px;
}

/* ---- Ek Bilgiler tablosu ---- */
.bvakp-info-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.bvakp-info-table tr:nth-child(odd) { background: #fafbfe; }
.bvakp-info-table th, .bvakp-info-table td {
  padding: 10px 14px; text-align: left; vertical-align: top;
  border-bottom: 1px solid var(--bvakp-line);
}
.bvakp-info-table th { width: 34%; font-weight: 600; color: var(--bvakp-muted); }
.bvakp-info-table td { color: var(--bvakp-ink); }
.bvakp-info-table tr:last-child th, .bvakp-info-table tr:last-child td { border-bottom: 0; }

/* ---- Etiketler ---- */
.bvakp-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.bvakp-tag {
  display: inline-block; background: #eef1f6; color: var(--bvakp-body);
  border-radius: var(--bvakp-radius-pill); font-size: 13px; padding: 5px 12px;
}
.bvakp-tag:hover { background: var(--bvakp-chip-cat-bg); color: var(--bvakp-chip-cat-ink); }

/* ---- Künye (sağ kolon 316) ---- */
.bvakp-detail-side { display: flex; flex-direction: column; gap: 16px; align-self: start; }
.bvakp-side-counts {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  background: var(--bvakp-surface); border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card); padding: 16px 0;
}
.bvakp-side-counts > div { text-align: center; padding: 0 6px; }
.bvakp-side-counts > div + div { border-left: 1px solid var(--bvakp-line); }
.bvakp-side-counts .num {
  display: block; font-family: var(--bvakp-font-head);
  font-size: 20px; font-weight: 800; color: var(--bvakp-primary);
}
.bvakp-side-counts .lbl {
  display: block; margin-top: 3px; font-size: 10px; font-weight: 600;
  letter-spacing: .06em; text-transform: uppercase; color: var(--bvakp-muted);
}
.bvakp-side-card {
  background: var(--bvakp-surface); border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card); padding: 18px 20px;
}
.bvakp-side-card h3 {
  font-family: var(--bvakp-font-head);
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--bvakp-muted); margin: 0 0 12px;
}
.bvakp-side-org { display: flex; align-items: center; gap: 10px; }
.bvakp-side-org .bvakp-avatar { width: 34px; height: 34px; border-radius: 8px; font-size: 12px; }
.bvakp-side-org-name { font-size: 14px; font-weight: 700; color: var(--bvakp-ink); line-height: 1.3; }
.bvakp-side-org-count { display: block; font-size: 12px; font-weight: 400; color: var(--bvakp-muted); }
.bvakp-side-org:hover .bvakp-side-org-name { color: var(--bvakp-link); }
.bvakp-side-link { display: inline-block; margin-top: 12px; font-size: 13px; font-weight: 600; }
.bvakp-side-license { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; font-weight: 600; color: var(--bvakp-ink); }
.bvakp-side-license i { color: var(--bvakp-muted); margin-top: 2px; }
.bvakp-side-list-sub { display: block; margin-top: 2px; font-size: 12px; color: var(--bvakp-muted); }
.bvakp-side-note { font-size: 13px; color: var(--bvakp-muted); margin: 8px 0 0; }
.bvakp-side-list li + li { margin-top: 10px; }
.bvakp-side-list a { font-size: 14px; color: var(--bvakp-ink); }
.bvakp-side-list a:hover { color: var(--bvakp-link); }
.bvakp-side-feedback { border-style: dashed; }
.bvakp-side-feedback a { display: inline-block; margin-top: 10px; font-size: 13px; font-weight: 600; }

/* ----------------------------------------------------------- Footer --- */
.site-footer {
  background: var(--bvakp-topbar);
  color: #b9c6e8;
  padding: 48px 0 28px;
  margin-top: 0;
}
.site-footer a { color: #c7d2ee; font-size: 14px; }
.site-footer a:hover { color: #fff; }
.bvakp-footer-row { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 32px; }
.bvakp-foot-brand-lock { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.bvakp-foot-brand-lock img { height: 34px; width: auto; }
.bvakp-foot-brand-lock span {
  font-family: var(--bvakp-font-head); color: #fff; font-size: 15px; font-weight: 700;
}
.bvakp-foot-muted { color: #93a2ca; font-size: 14px; max-width: 320px; margin: 0; }
.site-footer .footer-heading {
  font-family: var(--bvakp-font-head);
  color: #fff; font-size: 11px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase; margin: 0 0 14px;
}
.site-footer ul { margin: 0; }
.site-footer ul li + li { margin-top: 8px; }
.bvakp-footer-bottom {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  border-top: 1px solid rgba(255,255,255,.12);
  margin-top: 34px; padding-top: 18px;
  font-size: 13px; color: #8d9dc6;
}
.bvakp-footer-bottom .bvakp-foot-lang a + a { margin-left: 10px; }

/* ---------------------------------------------------- Resource preview --- */
.bvakp-resource-title {
  font-family: var(--bvakp-font-head);
  font-size: 26px; font-weight: 700; color: var(--bvakp-ink); margin: 12px 0 0;
  word-break: break-word;
}

/* ---- Göm kutusu ---- */
.bvakp-embed-box {
  background: var(--bvakp-apiband-bg);
  border: 1px solid var(--bvakp-apiband-line);
  border-radius: var(--bvakp-radius-card-sm);
  padding: 16px 20px; margin-bottom: 20px;
}
.bvakp-embed-box label { display: block; font-size: 13px; font-weight: 600; color: var(--bvakp-ink); margin-bottom: 8px; }
.bvakp-embed-row { display: flex; gap: 8px; }
.bvakp-embed-row input {
  flex: 1 1 auto; border: 1px solid var(--bvakp-line); border-radius: var(--bvakp-radius);
  padding: 8px 12px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px;
  background: #fff; color: var(--bvakp-body);
}

/* ---- Sekme çubuğu ---- */
/* Tasarımda bu bir filtre değil, sayfa içi ATLAMA çubuğu: Tablo seçiliyken bile
   Veri Sözlüğü paneli aşağıda görünüyor. Bölümler alt alta akıyor, çubuk sadece
   o bölüme kaydırıyor ve görünürdeki bölümü vurguluyor. */
.bvakp-tabs {
  display: flex; gap: 26px;
  border-bottom: 1px solid var(--bvakp-line);
  margin-bottom: 20px;
  position: sticky; top: 0; z-index: 3;
  background: var(--bvakp-bg);
}
.bvakp-tabs a {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 2px; font-size: 15px; font-weight: 600; color: var(--bvakp-muted);
  border-bottom: 2px solid transparent; margin-bottom: -1px;
}
.bvakp-tabs a i { font-size: 13px; }
/* Bölümlerin sticky çubuğun altında kalmaması için kaydırma payı. */
.bvakp-section-anchor { scroll-margin-top: 64px; }
.bvakp-tabs a:hover { color: var(--bvakp-ink); }
.bvakp-tabs a.is-active { color: var(--bvakp-link); border-bottom-color: var(--bvakp-link); }

.bvakp-tabpanel {
  background: var(--bvakp-surface);
  border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card);
  padding: 20px 24px; margin-bottom: 20px;
}
.bvakp-table-toolbar {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  flex-wrap: wrap; margin-bottom: 14px;
}
.bvakp-table-hint { font-size: 14px; color: var(--bvakp-body); }
/* Tasarımda bu not tablonun ALTINDA duruyor. */
.bvakp-table-note {
  display: block; margin-top: 14px; padding-top: 12px;
  border-top: 1px solid var(--bvakp-line);
  font-size: 12px; color: var(--bvakp-muted);
}
/* CKAN'ın view sarmalayıcısı kendi "Fullscreen" + "Embed" düğmelerini basıyor ve
   core CSS'i onları konumlandırdığı için başlık kartındaki aksiyonların üstüne
   biniyorlardı. İkisi de gereksiz: "Göm" başlık kartında zaten var, "Fullscreen"
   tasarımda yok. Gizliyoruz — kaldırmak için şablonu kopyalamak gerekirdi. */
.bvakp-tabpanel .resource-view > .actions { display: none; }
.bvakp-tabpanel .resource-view > .desc:empty { display: none; }
.bvakp-tabpanel .ckanext-datapreview iframe { width: 100%; border: 0; }

/* DataTables 1.12 (bs5) kontrolleri.
   KAPSAM NOTU: bu kurallar bilerek .bvakp-tabpanel'e bağlı DEĞİL. Tablo, kaynak
   sayfasında bir <iframe> içinde duruyor; iframe kendi belgesini yükleyip temayı da
   yüklüyor, dolayısıyla dış sayfanın sarmalayıcı sınıfları orada yok. Kuralları
   sarmalayıcıya bağlamak, gördüğümüz gibi, tabloya hiç ulaşmıyordu. */
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
  display: inline-flex; align-items: center; gap: 8px;
  margin: 0; font-size: 13px; color: var(--bvakp-muted); white-space: nowrap;
}
.dataTables_wrapper .dataTables_length select,
.dataTables_wrapper .dataTables_filter input {
  width: auto; display: inline-block;
  border: 1px solid var(--bvakp-line); border-radius: var(--bvakp-radius);
  padding: 5px 9px; font-size: 13px; color: var(--bvakp-ink); background: #fff;
}
.dataTables_wrapper .dataTables_info { font-size: 13px; color: var(--bvakp-muted); padding-top: 10px; }
.dataTables_wrapper table.dataTable { font-size: 13px; }
.dataTables_wrapper table.dataTable thead th {
  background: #f7f9fd; color: var(--bvakp-ink); font-weight: 700;
  border-bottom: 1px solid var(--bvakp-line);
}
.dataTables_wrapper .dt-buttons .btn { padding: .35rem .6rem; font-size: 13px; }

/* datatables_view.css Bootstrap'in blok yerleşimi için kontrolleri negatif marj ve
   float ile üst üste bindiriyor (`#dtprv_filter{float:right;margin-top:-1.4em}`,
   `#dtprv_paginate{margin-top:-2.5em}`). Bizim araç çubuğu flex olduğu için o negatif
   marj arama kutusunu belgenin üst kenarının DIŞINA taşıyıp üst yarısını kırpıyordu.

   ÖNEMLİ — `#dtprv_filter` yazmak YETMİYOR: iframe'in <head>'inde bvakp.css 3.,
   datatables_view.css 6. sırada yükleniyor; iki seçici de tek ID olduğu için eşit
   özgüllükte SONRA yüklenen kazanıyordu. `body` ön eki özgüllüğü bir eleman artırıp
   yükleme sırasını önemsiz kılıyor. Sınıf seçicileri, tablo id'si `dtprv` olmayan
   (gömülü/başka) tablolar için yedek. */
body #dtprv_filter,
body #dtprv_paginate,
body #dtprv_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_paginate,
.dataTables_wrapper .dataTables_length {
  float: none; margin-top: 0;
}
body #dtprv_filter, .dataTables_wrapper .dataTables_filter { text-align: left; }
body #dtprv_length, .dataTables_wrapper .dataTables_length { display: flex; }
body div.dt-buttons, .dataTables_wrapper .dt-buttons { float: none; }
/* CKAN core `label:after{content:":"}` her etikete iki nokta ekliyor; DataTables'ın
   dil dosyasında noktalama zaten var ("Ara:"), sonuçta "Ara: [kutu] :" çıkıyordu. */
.dataTables_wrapper .dataTables_filter label:after,
.dataTables_wrapper .dataTables_length label:after { content: ""; }

/* Tasarımın araç çubuğu: solda "Kayıtlarda ara…", sağda
   "N kayıttan 1-50 gösteriliyor" + "Sayfada 50". datatables_view'ın `dom`
   dizisi (lBifrt...p) JS'te sabit, yani sırayı DOM'da değiştiremiyoruz;
   flex `order` ile görsel sırayı tasarıma çeviriyoruz. */
/* DİKEY DOLGU YOK. ScrollResize eklentisi kaydırma gövdesinin boyunu
   `host.height() - container.height() + scrollBody.height()` ile hesaplıyor;
   jQuery .height() dolguyu saymadığı için buraya konan her piksel sarmalayıcıyı
   taşırıyor. #resize_wrapper mutlak konumlu ve görüntü alanını kapladığından
   taşma belgeye düşüyor: iframe, hiçbir şeyi kaydırmayan ikinci bir dikey
   çubuk çiziyor. Nefes payı gerekirse çocuğa margin verilmeli. */
.dataTables_wrapper {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px;
}
.dataTables_wrapper > .dataTables_filter { order: 1; flex: 1 1 240px; margin: 0; }
.dataTables_wrapper > .resourceinfo,
.dataTables_wrapper > .dt-buttons { order: 2; margin: 0; }
.dataTables_wrapper > .dataTables_info { order: 3; margin-left: auto; padding: 0; }
.dataTables_wrapper > .dataTables_length { order: 4; margin: 0; }
.dataTables_wrapper > .dataTables_scroll,
.dataTables_wrapper > .dataTables_scrollBody,
.dataTables_wrapper > table.dataTable { order: 5; flex: 1 1 100%; }
.dataTables_wrapper > .sortinfo { order: 6; flex: 1 1 100%; }
.dataTables_wrapper > .dataTables_paginate { order: 7; margin-left: auto; }
.dataTables_wrapper > .dataTables_processing { order: 0; }
/* datatables_view tablonun altına kaynağın adını bağlantı olarak basıyor; başlık
   kartımız aynı bilgiyi zaten veriyor, mükerrer satır kaldırılıyor. */
.dataTables_wrapper > .resourceinfo { display: none; }

/* "Filtre Ekle" bloğu kaldırıldı (bkz. package/snippets/resource_view_filters.html);
   core başka bir yolla basarsa da yer kaplamasın. */
.resource-view-filters { display: none !important; }

/* ---- Veri Sözlüğü ---- */
.bvakp-dict-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.bvakp-dict-table thead th {
  text-align: left; padding: 0 14px 10px;
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--bvakp-muted); border-bottom: 1px solid var(--bvakp-line);
}
.bvakp-dict-table td { padding: 11px 14px; border-bottom: 1px solid var(--bvakp-line); vertical-align: top; }
.bvakp-dict-table tr:last-child td { border-bottom: 0; }
.bvakp-dict-name {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 13px; color: var(--bvakp-ink);
}
.bvakp-dict-desc { color: var(--bvakp-body); }
.bvakp-dict-hint { margin: 14px 0 0; padding: 0 14px; font-size: 13px; color: var(--bvakp-muted); }
.bvakp-dict-hint a { font-weight: 600; }
/* Tasarım tipleri çip değil, küçük harf renkli metin olarak yazıyor. */
.bvakp-type { font-size: 13px; font-weight: 600; color: var(--bvakp-fmt-other-ink); }
.bvakp-type-text   { color: var(--bvakp-fmt-api-ink); }
.bvakp-type-date   { color: var(--bvakp-fmt-csv-ink); }
.bvakp-type-number { color: var(--bvakp-fmt-xml-ink); }
.bvakp-type-bool   { color: var(--bvakp-fmt-json-ink); }

.bvakp-api-panel { font-size: 14px; }

/* Gömülü API paneli: modal sarmalayıcıları yokken tüm genişliği kullanır.
   Kod örnekleri iki kolona ayrılıyor — dar tek sütunda alt alta dizilince
   panelin sağ yarısı boş kalıyordu. */
.bvakp-api-panel .bvakp-api-embedded { width: 100%; max-width: none; margin: 0; }
.bvakp-api-panel .bvakp-api { box-shadow: none; border: 0; background: transparent; }
.bvakp-api-panel .bvakp-api-header {
  border-bottom: 1px solid var(--bvakp-line);
  padding: 0 0 16px; margin-bottom: 18px;
}
.bvakp-api-panel .bvakp-api-body { padding: 0; }
.bvakp-api-panel .bvakp-api-title { font-size: 18px; }
.bvakp-api-panel .bvakp-api-chips { margin-bottom: 18px; }
/* Kod örnekleri: her dil sekmesinin içindeki bloklar geniş panelde iki kolona
   yayılıyor (alt alta dizilince panelin sağ yarısı boş kalıyordu). */
.bvakp-api-panel .bvakp-api-pane.is-active {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(430px, 1fr));
  gap: 16px; align-items: start;
}
.bvakp-api-panel .bvakp-api-pane .bvakp-code { margin: 0; }
/* Kod bloğu olmayan çocuklar (ör. "Tarayıcıda dene" bağlantıları, alt not)
   ızgarada bir hücreye sıkışmasın, satırın tamamını kaplasın. */
.bvakp-api-panel .bvakp-api-pane.is-active > *:not(.bvakp-code) { grid-column: 1 / -1; }
.bvakp-api-panel .bvakp-api-examples { margin-top: 4px; }
.bvakp-api-panel pre { margin: 0; }
/* Alan listesi ve meta çipleri de tüm genişliği kullansın. */
.bvakp-api-panel .bvakp-api-fields { display: flex; flex-wrap: wrap; gap: 8px; }
.bvakp-panel-title {
  font-family: var(--bvakp-font-head);
  font-size: 18px; font-weight: 700; color: var(--bvakp-ink); margin: 0 0 16px;
}

/* ------------------------------------------------- API dokümantasyonu --- */
.bvakp-page-lede { font-size: 16px; color: var(--bvakp-body); margin: 10px 0 0; max-width: 720px; }
.bvakp-page-placeholder {
  margin-top: 18px; padding: 16px 18px;
  background: #fafbfe; border: 1px dashed var(--bvakp-line);
  border-radius: var(--bvakp-radius-card-sm);
  color: var(--bvakp-muted); font-size: 14px;
}
/* Taslak hukuki metin uyarısı — göz ardı edilemeyecek kadar belirgin olmalı. */
.bvakp-draft-notice {
  display: flex; align-items: flex-start; gap: 12px;
  background: #fdf6e3; border: 1px solid #ecd9a0;
  border-radius: var(--bvakp-radius-card-sm);
  padding: 14px 18px; margin: 0 0 20px;
  font-size: 14px; color: #6b5316;
}
.bvakp-draft-notice i { margin-top: 2px; color: #a67c11; }
.bvakp-content-page .bvakp-prose h2 {
  font-family: var(--bvakp-font-head);
  font-size: 17px; font-weight: 700; color: var(--bvakp-ink);
  margin: 24px 0 8px;
}
.bvakp-content-page .bvakp-prose h2:first-child { margin-top: 0; }
.bvakp-content-page .bvakp-prose p { margin: 0 0 10px; }

.bvakp-apidoc .bvakp-panel h3 {
  font-family: var(--bvakp-font-head);
  font-size: 14px; font-weight: 700; color: var(--bvakp-ink);
  margin: 22px 0 10px;
}
.bvakp-apidoc .bvakp-panel > p { font-size: 15px; color: var(--bvakp-body); }
/* Ad çakışmasını önlemek için `bvakp-apidoc-code`: `.bvakp-code` adını
   ajax_snippets/api_info.html'deki popup zaten kullanıyor (farklı yapı, farklı
   stil) ve aynı sınıfı iki kez tanımlamak ikisini de kırılgan hale getiriyordu. */
.bvakp-apidoc-code {
  background: #0e1a2e; color: #dbe6ff;
  border-radius: var(--bvakp-radius-card-sm);
  padding: 14px 16px; margin: 0 0 14px;
  overflow-x: auto;
}
.bvakp-apidoc-code code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12.5px; line-height: 1.65;
  background: none; color: inherit; padding: 0; white-space: pre;
}
.bvakp-param-table th[scope="row"] code,
.bvakp-api-list code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px; background: #eef1f6; color: var(--bvakp-ink);
  padding: 2px 6px; border-radius: 4px;
}
.bvakp-param-table thead th {
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--bvakp-muted); background: #fff;
}
.bvakp-param-table th[scope="row"] { width: 26%; }
.bvakp-api-list thead th {
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--bvakp-muted); background: #fff;
}
.bvakp-api-list td { font-size: 14px; }

/* ---------------------------------------- Data API popup (api_info) --- */
.bvakp-api.modal-content { border: 0; border-radius: var(--bvakp-radius-card); box-shadow: var(--bvakp-shadow-lg); }
.bvakp-api-header { align-items: flex-start; border-bottom: 1px solid var(--bvakp-line); }
.bvakp-api-heading { display: flex; gap: .85rem; align-items: center; }
.bvakp-api-flask {
  flex: 0 0 auto; width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: 12px; background: var(--bvakp-hero); color: #fff; font-size: 1.05rem;
}
.bvakp-api-title { margin: 0; font-size: 1.15rem; color: var(--bvakp-ink); line-height: 1.25; }
.bvakp-api-subtitle { font-size: .82rem; color: var(--bvakp-muted); margin-top: .1rem; }
.bvakp-api-notes { color: var(--bvakp-body); margin: 0 0 1rem; }

.bvakp-api-chips { display: flex; flex-wrap: wrap; gap: .45rem; margin-bottom: 1.1rem; }
.bvakp-api-chip {
  display: inline-flex; align-items: center; gap: .4rem; padding: .28rem .7rem;
  background: var(--bvakp-bg); border: 1px solid var(--bvakp-line); border-radius: 30px;
  font-size: .8rem; font-weight: 600; color: var(--bvakp-body);
}
.bvakp-api-chip .fa { color: var(--bvakp-primary); font-size: .78rem; }

.bvakp-api-endpoint {
  background: var(--bvakp-bg); border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius); padding: .7rem .85rem; margin-bottom: 1.2rem;
}
.bvakp-api-endpoint-row { display: flex; align-items: center; gap: .6rem; flex-wrap: wrap; }
.bvakp-api-endpoint-row + .bvakp-api-endpoint-row { margin-top: .5rem; }
.bvakp-api-method {
  flex: 0 0 auto; padding: .15rem .5rem; border-radius: var(--bvakp-radius-sm);
  background: #e7f0e7; color: #1f7a34; font-weight: 700; font-size: .72rem; letter-spacing: .04em;
}
.bvakp-api-label { flex: 0 0 auto; font-size: .72rem; font-weight: 700; color: var(--bvakp-muted); text-transform: uppercase; letter-spacing: .04em; }
.bvakp-api-url, .bvakp-api-rid {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .82rem; color: var(--bvakp-ink); word-break: break-all;
}
.bvakp-api-rid { color: var(--bvakp-primary); font-weight: 600; }

.bvakp-api-section-title {
  font-size: .74rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  color: var(--bvakp-muted); margin: 0 0 .55rem;
}
.bvakp-api-fields { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1.3rem; }
.bvakp-api-field {
  display: inline-flex; align-items: center; gap: .4rem; padding: .2rem .55rem;
  border: 1px solid var(--bvakp-line); border-radius: var(--bvakp-radius-sm); background: #fff;
}
.bvakp-api-field code { font-size: .8rem; color: var(--bvakp-ink); background: none; padding: 0; }
.bvakp-api-field-type { font-size: .68rem; color: var(--bvakp-muted); background: var(--bvakp-bg); padding: .05rem .35rem; border-radius: 4px; }

/* Sekmeler */
.bvakp-api-tabs { display: inline-flex; gap: .3rem; padding: .25rem; background: var(--bvakp-bg); border-radius: 30px; margin-bottom: .85rem; }
.bvakp-api-tab {
  border: 0; background: transparent; padding: .35rem .95rem; border-radius: 30px;
  font-size: .82rem; font-weight: 600; color: var(--bvakp-muted); cursor: pointer;
}
.bvakp-api-tab.is-active { background: var(--bvakp-primary); color: #fff; box-shadow: 0 4px 12px -6px rgba(28,68,156,.6); }
.bvakp-api-pane { display: none; }
.bvakp-api-pane.is-active { display: block; }

/* Kod blokları */
.bvakp-code { position: relative; margin-bottom: 1rem; }
.bvakp-code-caption { font-size: .82rem; color: var(--bvakp-body); margin-bottom: .35rem; }
.bvakp-code-caption code { font-size: .78rem; background: var(--bvakp-bg); padding: .05rem .3rem; border-radius: 4px; color: var(--bvakp-primary); }
.bvakp-code pre {
  margin: 0; background: #0f1b33; color: #e6edf7; border-radius: var(--bvakp-radius);
  padding: .9rem 1rem; overflow-x: auto; border: 0;
}
.bvakp-code pre code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .8rem; line-height: 1.55; color: inherit; background: none; padding: 0; white-space: pre;
}
/* Aynı kontrast notu: koyu kod bloğu (#0e1a2e) üzerinde bileşke #212c3f,
   #e6edf7 metinle 11,87:1. */
.bvakp-copy {
  position: absolute; top: 1.75rem; right: .55rem; border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.08); color: #e6edf7; border-radius: var(--bvakp-radius-sm); /* NOSONAR: bileşke #212c3f, 11,91:1 */
  font-size: .72rem; font-weight: 600; padding: .22rem .55rem; cursor: pointer;
}
.bvakp-copy:hover { background: rgba(255,255,255,.18); }
.bvakp-copy.is-copied { background: #1f7a34; border-color: #1f7a34; color: #fff; }
.bvakp-copy-inline {
  position: static; top: auto; right: auto; border-color: var(--bvakp-line);
  background: #fff; color: var(--bvakp-primary);
}
.bvakp-copy-inline:hover { background: var(--bvakp-bg); }

.bvakp-api-links { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; margin-bottom: 1.2rem; }
.bvakp-api-links a { font-size: .85rem; font-weight: 600; }
.bvakp-api-links .fa { font-size: .75rem; margin-right: .25rem; }
.bvakp-api-doc { font-size: .82rem; color: var(--bvakp-muted); margin: 0; }

/* ---------------------------------------------------- Kuruluşlar --- */
/* Tasarım SVG'si `Kuruluşlar.svg`, konteyner 1310:
   yan sütun 287 + gap 26 + ızgara 997 (SVG: 64.5→351.5 / 376.5→1375.5). */
.bvakp-orgs-wrapper {
  /* Bootstrap .row flex; başlık ve iki kolonlu ızgara yan yana gelmesin diye blok. */
  display: block;
  margin-left: calc(-1 * var(--bvakp-gutter));
  margin-right: calc(-1 * var(--bvakp-gutter));
  padding: 0;
}
.bvakp-orgs {
  display: grid;
  grid-template-columns: 287px 997px;
  gap: 26px;
  align-items: start;
}
.bvakp-orgs > * { min-width: 0; }

/* ---- Yan sütun ---- */
.bvakp-orgs-side { display: flex; flex-direction: column; gap: 17px; align-self: start; }
/* Bu sayfadaki yan kartlar detay sayfasınınkinden geniş; iç boşluk SVG'de 22px. */
.bvakp-orgs-side .bvakp-side-card { padding: 22px; }
.bvakp-side-title {
  font-family: var(--bvakp-font-head);
  font-size: 16px; font-weight: 700; color: var(--bvakp-primary); margin: 0;
}
.bvakp-side-accent {
  display: block; width: 44px; height: 3px; border-radius: 1.5px;
  background: var(--bvakp-link); margin: 14px 0 16px;
}
.bvakp-side-text { font-size: 13px; line-height: 21px; color: #5b6478; margin: 0; }

.bvakp-orgs-stats h3 { margin-bottom: 16px; }
.bvakp-orgs-stat { display: flex; align-items: baseline; gap: 9px; }
.bvakp-orgs-stat + .bvakp-orgs-stat { margin-top: 14px; }
.bvakp-orgs-stat .num {
  font-family: var(--bvakp-font-head);
  font-size: 24px; font-weight: 800; line-height: 1.1; color: var(--bvakp-primary);
}
.bvakp-orgs-stat .lbl { font-size: 13px; color: #5b6478; }
.bvakp-orgs-top {
  border-top: 1px solid #eef1f7; margin: 20px 0 0; padding-top: 17px;
  font-size: 12px; line-height: 1.5; color: var(--bvakp-muted);
}
.bvakp-orgs-top strong { color: var(--bvakp-body); font-weight: 700; }

/* ---- Arama + sıralama çubuğu ---- */
.bvakp-orgs-bar {
  display: flex; align-items: center; gap: 15px;
  background: var(--bvakp-surface); border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card);
  padding: 14px 19px;
}
.bvakp-orgs-search {
  position: relative; flex: 1 1 auto; min-width: 0;
  display: flex; align-items: center;
  height: 38px; padding: 0 14px 0 17px;
  background: var(--bvakp-bg); border: 1px solid var(--bvakp-line);
  border-radius: 10px;
}
.bvakp-orgs-search .fa { color: var(--bvakp-muted); font-size: 14px; margin-right: 11px; }
.bvakp-orgs-search input {
  flex: 1; min-width: 0; height: 36px;
  background: transparent; border: 0; box-shadow: none; outline: none;
  font-size: 14px; color: var(--bvakp-ink);
}
.bvakp-orgs-search input::placeholder { color: var(--bvakp-muted); }
.bvakp-orgs-search:focus-within { border-color: var(--bvakp-primary); }

.bvakp-orgs-sort {
  position: relative; flex: 0 0 185px;
  display: flex; align-items: center; gap: 6px;
  height: 36px; padding: 0 34px 0 14px;
  background: var(--bvakp-surface); border: 1px solid var(--bvakp-line);
  border-radius: 10px;
}
.bvakp-orgs-sort label { margin: 0; font-size: 13px; font-weight: 400; color: #5b6478; white-space: nowrap; }
.bvakp-orgs-sort label:after { content: none; }
/* Yerel select okunu gizleyip tasarımdaki chevron'u kullanıyoruz. */
.bvakp-orgs-sort select {
  flex: 1; min-width: 0; height: 34px;
  -webkit-appearance: none; appearance: none;
  background: transparent; border: 0; box-shadow: none; outline: none;
  padding: 0; cursor: pointer;
  font-size: 13px; font-weight: 600; color: var(--bvakp-ink);
}
.bvakp-orgs-sort .fa {
  position: absolute; right: 14px; pointer-events: none;
  font-size: 11px; color: #5b6478;
}

.bvakp-count-line { margin: 19px 0 13px; font-size: 14px; color: #5b6478; }
.bvakp-count-line strong { font-weight: 700; color: var(--bvakp-ink); }
.bvakp-count-line .bvakp-results-q { color: var(--bvakp-ink); font-weight: 600; }

/* ---- Kuruluş kartları ---- */
.bvakp-org-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 19px;
  margin: 0; padding: 0;
}
.bvakp-org-grid > li { list-style: none; display: flex; }
.bvakp-org-card {
  display: flex; flex-direction: column; align-items: center; text-align: center;
  width: 100%; min-height: 201px;
  background: var(--bvakp-surface);
  border: 1px solid var(--bvakp-line);
  border-radius: var(--bvakp-radius-card);
  padding: 26px 18px 30px;
  text-decoration: none;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.bvakp-org-card:hover {
  border-color: #c9d4ee; box-shadow: var(--bvakp-shadow); transform: translateY(-2px);
  text-decoration: none;
}
/* Rozet kutusu üç varyantta da 56x56 ki başlıklar kartlar arasında hizalı kalsın. */
.bvakp-org-badge {
  display: flex; align-items: center; justify-content: center;
  flex: 0 0 auto; width: 56px; height: 56px;
}
.bvakp-org-badge.is-image { object-fit: contain; }
.bvakp-org-badge.is-mono {
  background: var(--bvakp-primary); color: #fff;
  border-radius: 14px;
  font-family: var(--bvakp-font-head); font-size: 18px; font-weight: 700; letter-spacing: .02em;
}
.bvakp-org-badge.is-region {
  flex-direction: column; justify-content: center;
  border: 2px solid var(--bvakp-primary); border-radius: 50%;
  color: var(--bvakp-primary); line-height: 1;
}
.bvakp-org-badge.is-region b {
  font-family: var(--bvakp-font-head); font-size: 20px; font-weight: 700;
}
.bvakp-org-badge.is-region i {
  margin-top: 2px; font-style: normal;
  font-size: 7.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
}
.bvakp-org-name {
  font-family: var(--bvakp-font-head);
  font-size: 16px; font-weight: 700; line-height: 1.3; color: var(--bvakp-ink);
  margin: 13px 0 0;
}
.bvakp-org-sub {
  margin: 9px 0 0; font-size: 13px; line-height: 1.4; color: var(--bvakp-muted);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
/* Kartlar ızgarada eşit yükseklikte (grid stretch); pill sabit 14px boşlukla
   alt başlığın altına oturuyor (tasarımda her kartın alt başlığı tek satır). */
.bvakp-org-count {
  display: inline-flex; align-items: center; justify-content: center;
  margin: 14px auto 0; height: 22px; padding: 0 14px;
  background: #e9edfc; color: var(--bvakp-link);
  border-radius: var(--bvakp-radius-pill);
  font-size: 12px; font-weight: 600; white-space: nowrap;
}

/* ----------------------------------------------- Giriş / hesap --- */
/* Tasarım SVG'si `GirişYap.svg`: 514px'lik tek kart, yatayda ortalı,
   header'ın 144px altında. Temada bugün genel form stili yok (.form-control,
   .form-group hiçbir yerde geçmiyor); core sınıflarını boyamak yerine buradaki
   bvakp- önekli işaretlemeyi kullanıyoruz — temanın her yerdeki kalıbı bu. */
.bvakp-auth-wrapper {
  display: block;
  margin-left: calc(-1 * var(--bvakp-gutter));
  margin-right: calc(-1 * var(--bvakp-gutter));
  padding: 0;
}
.bvakp-auth { padding: 144px 0 100px; }
.bvakp-auth-card {
  max-width: 514px; margin: 0 auto;
  background: var(--bvakp-surface);
  border: 1px solid var(--bvakp-line);
  border-radius: 16px;
  box-shadow: 0 14px 40px rgba(24, 40, 110, .08);
  padding: 38px;
}
.bvakp-auth-card h1 {
  font-family: var(--bvakp-font-head);
  font-size: 28px; font-weight: 700; line-height: 1.2; color: var(--bvakp-ink);
  margin: 0;
}
.bvakp-auth-lede {
  margin: 10px 0 0; font-size: 14px; line-height: 1.65; color: #5b6478;
}

.bvakp-auth-alert {
  display: flex; align-items: flex-start; gap: 10px;
  border-radius: var(--bvakp-radius-card-sm);
  padding: 12px 14px; margin: 0 0 20px;
  font-size: 13px; line-height: 1.5;
}
.bvakp-auth-alert.is-error { background: #fdecec; border: 1px solid #f3c9c7; color: #8f2b26; }
.bvakp-auth-alert.is-info { background: #eef2ff; border: 1px solid #ccd7f7; color: #24356f; }
.bvakp-auth-alert i { margin-top: 2px; }

.bvakp-auth-form { margin-top: 26px; }
.bvakp-field + .bvakp-field { margin-top: 18px; }
.bvakp-label {
  display: block; margin: 0 0 8px;
  font-size: 13px; font-weight: 600; color: var(--bvakp-body);
}
/* CKAN core `label:after{content:":"}` her etikete iki nokta ekliyor. */
.bvakp-label:after, .bvakp-check:after { content: none; }
.bvakp-input {
  display: block; width: 100%; height: 42px;
  padding: 0 18px;
  background: var(--bvakp-surface);
  border: 1px solid #c3cadb; border-radius: 10px;
  font-family: var(--bvakp-font); font-size: 14px; color: var(--bvakp-ink);
  transition: border-color .15s ease, box-shadow .15s ease;
}
.bvakp-input::placeholder { color: var(--bvakp-muted); }
.bvakp-input:focus {
  outline: none; border-color: var(--bvakp-primary);
  box-shadow: 0 0 0 3px rgba(24, 42, 110, .1);
}

.bvakp-input-pw { position: relative; }
/* Metin, göster/gizle düğmesinin altına kaymasın. */
.bvakp-input-pw .bvakp-input { padding-right: 96px; }
.bvakp-pw-toggle {
  position: absolute; top: 50%; right: 15px; transform: translateY(-50%);
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: 0; padding: 0; cursor: pointer;
  font-family: var(--bvakp-font); font-size: 13px; font-weight: 600;
  color: var(--bvakp-link);
}
.bvakp-pw-toggle:hover { color: var(--bvakp-primary-500); }
.bvakp-pw-toggle .fa { font-size: 14px; }

.bvakp-auth-row {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-top: 19px;
}
.bvakp-check {
  display: inline-flex; align-items: center; gap: 11px; margin: 0;
  font-size: 13px; font-weight: 400; color: var(--bvakp-body); cursor: pointer;
}
.bvakp-check input {
  width: 18px; height: 18px; margin: 0;
  border: 1px solid #c3cadb; border-radius: 4px;
  accent-color: var(--bvakp-primary); cursor: pointer;
}
.bvakp-auth-link { font-size: 13px; font-weight: 600; color: var(--bvakp-link); }

.bvakp-auth-submit {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 46px; margin-top: 18px;
  border-radius: 10px;
  font-family: var(--bvakp-font-head); font-size: 15.5px; font-weight: 700;
}

/* İki yanı çizgili "veya" ayracı. */
.bvakp-auth-or {
  display: flex; align-items: center; gap: 12px;
  margin-top: 25px; color: var(--bvakp-muted); font-size: 12px;
}
.bvakp-auth-or:before, .bvakp-auth-or:after {
  content: ""; flex: 1; height: 1px; background: #eef1f7;
}
.bvakp-auth-register {
  margin: 24px 0 0; text-align: center;
  font-size: 14px; color: #5b6478;
}
.bvakp-auth-register a { font-weight: 700; color: var(--bvakp-link); }

/* Kart dışı yasal şerit. */
.bvakp-auth-legal {
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 8px 16px;
  max-width: 700px; margin: 30px auto 0;
  font-size: 12px; color: var(--bvakp-muted);
}
.bvakp-auth-legal a { color: var(--bvakp-muted); }
.bvakp-auth-legal a:hover { color: var(--bvakp-link); }
.bvakp-auth-secure { display: inline-flex; align-items: center; gap: 6px; }
/* Ayraç noktaları: aralar CSS'ten, işaretlemeye "·" karakteri koymuyoruz. */
.bvakp-auth-legal > * + *:before {
  content: "·"; margin-right: 16px; color: #c3cadb;
}

/* ------------------------------------------------------- Responsive --- */
/* Tasarım yalnızca 1440px için verildi; kırılma noktaları tasarımda YOK.
   Aşağısı mantıklı bir indirgeme (çok kolondan tek kolona) — tasarımcıya
   gösterilmesi gereken, tasarımdan türemeyen tek bölüm. */
@media (max-width: 1360px) {
  /* Kuruluşlar ızgarası tasarımda sabit 287+997; konteyner daralınca esner. */
  .bvakp-orgs { grid-template-columns: 287px minmax(0, 1fr); }
}
@media (max-width: 1200px) {
  .bvakp-how-grid { grid-template-columns: repeat(3, 1fr); }
  .bvakp-footer-row { grid-template-columns: 1fr 1fr; }
  .bvakp-orgs { grid-template-columns: 260px minmax(0, 1fr); }
  .bvakp-org-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 992px) {
  .bvakp-cat-grid { grid-template-columns: repeat(2, 1fr); }
  .bvakp-featured-grid { grid-template-columns: repeat(2, 1fr); }
  .bvakp-how-grid { grid-template-columns: 1fr; }
  .bvakp-hero-title { font-size: 34px; }
  .bvakp-stats-inner { height: auto; grid-template-columns: repeat(3, 1fr); padding: 8px 0; }
  .bvakp-stat { padding: 12px; }
  .bvakp-stat:nth-child(3n+1) { border-left: 0; }
  .masthead .site-search { display: none; }
  .bvakp-orgs { grid-template-columns: 1fr; }
  .bvakp-orgs-side { flex-direction: row; }
  .bvakp-orgs-side > * { flex: 1; }
  .bvakp-auth { padding: 64px 0 72px; }
}
@media (max-width: 820px) {
  /* Dar ekranda logo emblemi kalsın, uzun marka metni + çizgi gizlensin.
     Seçici `.bvakp-brand` ile nitelenmeli: marka kilidinin kendi kuralı
     (.bvakp-brand .bvakp-brand-text) daha özgül, medya sorgusu özgüllük
     eklemiyor — niteliksiz yazıldığında bu kural hiç uygulanmıyordu. */
  .bvakp-brand .bvakp-brand-text,
  .bvakp-brand .bvakp-brand-divider { display: none; }
  .bvakp-cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .bvakp-cat-grid, .bvakp-featured-grid { grid-template-columns: 1fr; }
  .bvakp-stats-inner { grid-template-columns: 1fr; }
  .bvakp-stat + .bvakp-stat { border-left: 0; border-top: 1px solid var(--bvakp-line); }
  .bvakp-hero { min-height: 0; padding: 40px 0 90px; }
  .bvakp-hero-title { font-size: 27px; }
  .bvakp-hero-search { flex-direction: column; }
  .bvakp-hero-search input { height: 48px; }
  .bvakp-hero-search button { height: 46px; }
  .bvakp-footer-row { grid-template-columns: 1fr; }
  .bvakp-footer-bottom { flex-direction: column; align-items: flex-start; }
  .bvakp-orgs-side { flex-direction: column; }
  .bvakp-org-grid { grid-template-columns: 1fr; }
  .bvakp-orgs-bar { flex-direction: column; align-items: stretch; gap: 12px; }
  .bvakp-orgs-sort { flex: 0 0 auto; }
  .bvakp-auth { padding: 40px 0 56px; }
  .bvakp-auth-card { padding: 26px 20px; }
  .bvakp-auth-row { flex-direction: column; align-items: flex-start; gap: 12px; }
}

/* --- Resource download-format dropdown stacking ---
 * The resource header's Download (CSV/TSV/JSON/XML/XLSX) dropdown lives in an ".actions" block that
 * shares the resource module's stacking area with the data viewer's Fullscreen/Embed controls; those
 * otherwise paint over the open menu (the last format item gets hidden). Lift the header actions —
 * and the open menu — above the viewer controls. */
.actions:has(#dropdownDownloadFormat) { position: relative; z-index: 1050; }
.dropdown-menu[aria-labelledby="dropdownDownloadFormat"] { z-index: 1051; }

/* --- DataTables view "veri hazırlanıyor" göstergesi ---
 * Yeni yayımlanan bir kaynakta XLoader DataStore'a aktarmayı bitirene kadar gösterilir. */
.bvakp-view-loading {
  display: inline-flex; align-items: center; gap: 0.5rem;
  color: var(--bvakp-primary, #1c449c); font-weight: 500;
}
.bvakp-spinner {
  width: 1rem; height: 1rem; display: inline-block; border-radius: 50%;
  border: 2px solid rgba(0, 0, 0, 0.15); border-top-color: currentColor;
  animation: bvakp-spin 0.8s linear infinite;
}
@keyframes bvakp-spin { to { transform: rotate(360deg); } }
