/* ─────────────────────────────────────────────────────────────
   GLOBAL STABILITY + ACCESSIBILITY DÜZELTMELERİ
   Tüm sayfalarda titreme önleme + erişilebilirlik
   ───────────────────────────────────────────────────────────── */

/* ── 1. TİTREME ÖNLEME (Layout Shift) ────────────────────── */

/* Para, rakam, yüzde gösteren tüm öğeler tabular-nums kullanır.
   Class veya ID'sinde 'money', 'amount', 'count', 'badge', 'val' geçen
   öğeler otomatik düzenlenir. */
.nav-money,
.money,
.amount,
.count,
.stat-deger,
.stat-value,
.borc-tutar,
.ilan-fiyat,
.dukkan-stats .stat-deger,
.bilgi-row .vl,
.ozet-satir .vl,
.enflasyon-badge,
.ef-val,
[data-tabular-nums],
[data-stable-text] {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}

/* Periyodik güncellenen badge'ler için sabit genişlik garanti */
[data-stable-width] {
  display: inline-block;
  text-align: center;
}

/* ── 2. AZALTILMIŞ HAREKET (Accessibility) ───────────────── */
/* Sistem ayarında "azaltılmış hareket" aktifse tüm animasyonları kapat */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── 3. ODAK GÖSTERGESI (Focus Visible) ──────────────────── */
/* Klavye ile gezenler için net odak göstergesi */
*:focus-visible {
  outline: 2px solid #1f6feb !important;
  outline-offset: 2px !important;
  border-radius: 4px;
}

/* Buton/link odakta arka plan da değişsin */
button:focus-visible,
a:focus-visible,
[role="button"]:focus-visible,
[role="tab"]:focus-visible,
[role="radio"]:focus-visible {
  outline-offset: 2px !important;
  box-shadow: 0 0 0 4px rgba(31, 111, 235, 0.2);
}

/* ── 4. EKRAN OKUYUCU (sr-only) ──────────────────────────── */
/* Görsel olarak gizli ama ekran okuyucuda okunan içerik */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ── 5. KONTRAST İYİLEŞTİRMESİ (High contrast media query) ─ */
@media (prefers-contrast: more) {
  :root {
    --text-muted: #c0c8d0 !important;  /* Daha açık gri */
    --border: #5a6470 !important;       /* Daha belirgin border */
  }
}

/* ── 6. MOBİL DOKUNMATIK ALAN GENİŞLİĞİ ──────────────────── */
/* Küçük ekranda butonlar en az 44×44 px (Apple/WCAG önerisi) */
@media (max-width: 768px) {
  button:not(.btn-sm):not(.modal-kapat),
  .btn:not(.btn-sm),
  a.btn,
  [role="button"]:not(.btn-sm) {
    min-height: 44px;
    min-width: 44px;
  }
}

/* ── 7. RESIM/IFRAME LAYOUT SHIFT ÖNLEME ─────────────────── */
img:not([width]):not([height]) {
  max-width: 100%;
  height: auto;
}

/* ── 8. HOVER ETKİLERİ DOKUNMATIK ALANA UYGUN ────────────── */
@media (hover: none) {
  .menu-btn:hover,
  .btn:hover,
  button:hover,
  a:hover {
    /* Mobil dokunmatikte hover yapışmasın */
    background-color: initial;
  }
}

/* ── 9. MOBİL SCROLL FİX (KRİTİK) ────────────────────────── */
/* Bazı mobil tarayıcılarda sayfa yukarı kaydırma çalışmıyordu —
   genellikle iOS overscroll bounce + sticky navbar etkileşimi yüzünden.
   Aşağıdaki kurallar tüm sayfalarda mobil scroll'u garanti altına alır. */

html {
  /* Belirli yükseklik vermeyelim — içerik kadar olsun */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  /* iOS momentum scroll */
  -webkit-overflow-scrolling: touch;
  /* Yatay kaymayı engelle (overflow-x kaynaklı dikey kayma kilitlenmesini çözer) */
  overflow-x: hidden;
  /* Pull-to-refresh sayfayı kilitlemesin */
  overscroll-behavior-y: auto;
  /* Dikey kayma serbest, yatay kapalı (Safari/Chrome mobile) */
  touch-action: manipulation;
}

/* Hiçbir alt eleman gereksiz yatay genişlik aşmamalı */
@media (max-width: 768px) {
  body * {
    max-width: 100vw;
  }
  /* Geniş tablolar/kartlar için yatay scroll kapsayıcısı */
  table, .yatay-scroll {
    max-width: 100%;
    overflow-x: auto;
  }
  /* Sticky elementler scroll'u kilitlemesin — sadece navbar */
  .navbar, .navbar-* {
    position: sticky !important;
    top: 0;
  }
  /* Modal'lar açıkken arka sayfa scroll yapışıyorsa modal'ın kendisi scrollable */
  .modal-overlay.acik,
  .modal-overlay.open {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .modal-overlay .modal {
    max-height: 90vh;
    overflow-y: auto;
  }
  /* Onboarding paneli mobilde tam ekran kaplamasın — yer aç */
  .onb-panel {
    max-height: 80vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Eski iOS Safari bounce engeli — body fixed yapan kötü pratiği önle */
@supports (-webkit-touch-callout: none) {
  body {
    /* iOS specific: position fixed yapma! */
    position: relative !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   ── 10. MOBİL RESPONSIVE PAKET (KRİTİK)
   Tüm oyun sayfalarında dikey/portre modunda rahat kullanım
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* ─── Navbar mobilde compact ─── */
  .navbar {
    padding: 0 12px !important;
    height: 52px !important;
    gap: 8px !important;
  }
  .navbar-brand {
    font-size: 18px !important;
  }
  .navbar-title {
    /* Çok uzun başlıkları gizle, sadece breadcrumb kalsın */
    font-size: 13px !important;
    max-width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .navbar-right {
    gap: 6px !important;
  }
  .nav-money {
    font-size: 13px !important;
  }
  .back-btn {
    padding: 5px 10px !important;
    font-size: 12px !important;
  }

  /* ─── Container/main padding küçük ─── */
  .container, main, .main {
    padding: 14px 10px !important;
  }

  /* ─── Sayfa başlıkları daha küçük ─── */
  .sayfa-baslik, h1 {
    font-size: 22px !important;
  }
  .sayfa-alt {
    font-size: 13px !important;
    margin-bottom: 14px !important;
  }
  h2 { font-size: 18px !important; }
  h3 { font-size: 16px !important; }

  /* ─── Grid'ler mobilde tek sütun ─── */
  .ozet-grid,
  .istatistik,
  .stats-grid,
  .menu-grid,
  .ilan-grid,
  .mulk-grid,
  .arac-grid,
  .ozet-grid,
  .plan-grid,
  .kategori-grid,
  .kazanım-grid,
  .form-satir {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Bazı kompakt grid'ler 2 sütun kalsın (örn. ödül butonları) */
  .adim-grid,
  .hiz-secenekler,
  .filter-groups,
  .flags-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  /* ─── Kartlar tam genişlik ─── */
  .kart, .ozet-kart, .tasiyici-kart, .ilan-kart, .mulk-kart, .arac-kart,
  .borc-kart, .stat-kart, .plan-kart, .adim-kart, .sefer-kart {
    padding: 12px !important;
  }

  /* ─── Modal'lar mobilde tam ekran ─── */
  .modal-overlay,
  .panel-hiz-modal {
    padding: 0 !important;
  }
  .modal-overlay .modal,
  .panel-hiz-modal .panel-hiz-icerik {
    max-width: 100% !important;
    width: 100% !important;
    max-height: 100vh !important;
    min-height: 100vh !important;
    border-radius: 0 !important;
    margin: 0 !important;
  }
  .modal-baslik, .panel-hiz-baslik {
    padding: 14px !important;
  }
  .modal-govde {
    padding: 14px !important;
  }
  .modal-alt {
    padding: 12px 14px !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .modal-btn, .modal-alt button {
    flex: 1 1 calc(50% - 4px) !important;
    min-width: 0 !important;
  }

  /* ─── Form input'lar dokunmatik dostu ─── */
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="number"],
  input[type="search"],
  input[type="tel"],
  input[type="date"],
  input[type="url"],
  textarea,
  select,
  .form-input,
  .form-select {
    font-size: 16px !important; /* iOS zoom engeli için min 16px */
    min-height: 44px !important;
    padding: 10px 12px !important;
  }
  textarea {
    min-height: 80px !important;
  }

  /* ─── Butonlar dokunmatik ─── */
  .btn, button:not(.modal-kapat):not(.dropdown-toggle):not(.tab-btn) {
    min-height: 44px !important;
    font-size: 14px !important;
  }
  .btn-sm {
    min-height: 36px !important;
    font-size: 12px !important;
  }

  /* ─── Tab navigation yatay scroll ─── */
  .tab-nav {
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .tab-btn {
    flex-shrink: 0;
    padding: 10px 14px !important;
    font-size: 13px !important;
    min-width: auto !important;
  }

  /* ─── Tablolar yatay scroll ─── */
  table {
    display: block !important;
    overflow-x: auto !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch;
  }

  /* ─── Liste satırları dikey ─── */
  .liste-satir, .yuk-satir, .ilan-satir {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
  }
  .liste-satir .sag {
    justify-content: space-between !important;
    width: 100% !important;
  }

  /* ─── Onboarding panel mobilde alt-yarı ─── */
  .onb-panel {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    max-height: 70vh !important;
    border-radius: 16px 16px 0 0 !important;
  }
  .onb-step-list {
    flex-wrap: wrap !important;
    gap: 4px !important;
  }
  .onb-actions {
    flex-direction: column !important;
    gap: 6px !important;
  }
  .onb-actions .onb-btn {
    width: 100% !important;
  }

  /* ─── Admin panel sidebar yatay ─── */
  .sidebar {
    width: 100% !important;
    height: auto !important;
    position: relative !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    border-right: none !important;
    border-bottom: 1px solid var(--border) !important;
  }
  .sidebar [role="tablist"] {
    display: flex !important;
    flex-direction: row !important;
    gap: 0 !important;
    width: 100% !important;
  }
  .sidebar [role="tab"] {
    flex-shrink: 0;
    border-radius: 0 !important;
    padding: 10px 14px !important;
    font-size: 13px !important;
  }
  .sidebar-header {
    display: none !important; /* mobilde gereksiz yer kaplıyor */
  }
  .main {
    margin-left: 0 !important;
    width: 100% !important;
  }

  /* ─── User dropdown menu mobilde tam genişlik ─── */
  .dropdown-menu {
    min-width: 200px !important;
    max-width: calc(100vw - 20px) !important;
  }

  /* ─── Toast mobilde alt orta ─── */
  .toast {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    width: auto !important;
    max-width: none !important;
  }

  /* ─── Çok uzun metinleri sar ─── */
  .username, .email, .meslek_ad, .firma_ad, .arac-ad {
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
  }

  /* ─── İstatistik değerleri biraz küçült ─── */
  .stat-deger, .ozet-deger {
    font-size: 18px !important;
  }
}

/* ── DROPDOWN/POPOVER SCROLL FİX (genel) ─────────────────── */
/* Açılır menüler içinde overflow:hidden olduğunda parmak menüye değiyor
   ve sayfa scroll'u kilitleniyor. Tüm dropdown'lar scroll edilebilir olsun. */
.dropdown-menu,
.popover,
.tooltip-content,
[role="listbox"],
[role="menu"] {
  max-height: calc(100vh - 80px) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;  /* parent sayfayı tetiklemesin */
}

/* Mobilde dropdown'lar daha kompakt */
@media (max-width: 768px) {
  .dropdown-menu, [role="menu"] {
    max-height: 70vh !important;
  }
}

/* Çok dar ekran (≤480px) için ekstra optimizasyon */
@media (max-width: 480px) {
  .navbar-title { display: none !important; }
  .container, main, .main {
    padding: 10px 8px !important;
  }
  .adim-grid,
  .hiz-secenekler,
  .flags-grid {
    grid-template-columns: 1fr !important;  /* tek sütuna düş */
  }
  .modal-btn, .modal-alt button {
    flex: 1 1 100% !important;
  }
}

/* ─────────────────────────────────────────────────────────
   ZİYARET EDİLMİŞ LİNK RENGİNİ SIFIRLA — global
   Kullanıcı menü/buton linklerine "her yere gitmiş" izlenimi
   vermeyelim. Sadece ŞU AN içinde olunan sayfa (aria-current)
   belirgin olur.
   ───────────────────────────────────────────────────────── */
a.menu-btn:visited,
a.tab-btn:visited,
a.btn:visited,
a.nav-link:visited,
a.sidebar-link:visited,
a.dropdown-item:visited {
  color: inherit;
}
[aria-current="page"] {
  font-weight: 700;
  outline-offset: -2px;
}

/* ═══════════════════════════════════════════════════════════════
   GLOBAL RESPONSIVE + ERİŞİLEBİLİRLİK İYİLEŞTİRMELERİ
   ═══════════════════════════════════════════════════════════════ */

/* 1) Touch-friendly: tüm tıklanabilir öğeler en az 44×44 px */
button, a.btn, .menu-btn, .tab-btn, .room-btn,
input[type="submit"], input[type="button"], input[type="reset"],
.dropdown-item, [role="button"], [role="tab"], [role="menuitem"] {
  min-height: 40px;
  touch-action: manipulation;  /* mobilde 300ms tıklama gecikmesini kaldır */
}

/* 2) Form alanları mobilde okunaklı (16px+ ile zoom önle) */
@media (max-width: 768px) {
  input[type="text"], input[type="email"], input[type="password"],
  input[type="number"], input[type="search"], input[type="tel"],
  textarea, select {
    font-size: 16px !important;  /* iOS Safari otomatik zoom yapmasın */
  }
  /* Mobilde tablo taşmasın */
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  /* Modal/popup mobilde tam ekran */
  .modal-overlay .modal, .hiz-modal { max-width: 100% !important; max-height: 100vh !important; }
}

/* 3) Çok küçük telefonlar (< 380px) için compact yapı */
@media (max-width: 380px) {
  body { font-size: 14px; }
  .container, main, .navbar { padding-left: 12px !important; padding-right: 12px !important; }
  h1 { font-size: 22px !important; }
  h2 { font-size: 18px !important; }
  /* Yan yana grid'ler tek sütuna */
  .menu-grid, .stats-grid, .ozet-grid, .aksiyon-grid, .ehliyet-grid,
  .kurulus-grid, .plan-grid, .form-row {
    grid-template-columns: 1fr !important;
  }
}

/* 4) Tablet (480-1024px) — orta genişlik optimizasyonu */
@media (min-width: 481px) and (max-width: 1024px) {
  .container, main { max-width: 100% !important; padding: 16px !important; }
}

/* 5) Büyük ekran (> 1400px) — içerik fazla yayılmasın */
@media (min-width: 1400px) {
  .container { max-width: 1300px; margin: 0 auto; }
}

/* 6) Klavye odağı görünür ve net */
*:focus-visible {
  outline: 3px solid #ffd400 !important;
  outline-offset: 2px !important;
  border-radius: 4px;
}

/* 7) Skip link KALDIRILDI - kullanici istegi: gorsel rahatsizlik veriyor */
.skip-link { display: none !important; }

/* 7b) Mobil dokunma alanlari - tum buton/link minimum 44x44 px (Apple HIG, Google MD) */
@media (pointer: coarse) {
  button, a[role="button"], input[type="button"], input[type="submit"], .btn {
    min-height: 44px !important;
    min-width: 44px !important;
  }
  /* Yan yana butonlar arasi minimum 8px bosluk - yanlislikla yan butona basmamak icin */
  button + button, a + a, .btn + .btn {
    margin-left: 8px !important;
  }
}

/* 7c) Sticky nav - mobil scroll'da nav yukarda kalsin */
nav.navbar, .top-nav, header[role="banner"] > nav {
  position: sticky;
  top: 0;
  z-index: 100;
  background: inherit;
}

/* 7d) Scroll-margin - link tikladiginda hedef nav arkasinda kalmasin */
:target, h1, h2, h3 {
  scroll-margin-top: 80px;
}

/* 7e) Mobil menu acildiginda body scroll dondur */
body.menu-acik {
  overflow: hidden;
}

/* 7f) Buton hover/active geri bildirim - mobilde de gorulsun */
button:active, .btn:active, a[role="button"]:active {
  transform: scale(0.97);
  transition: transform 0.05s;
}

/* 8) Ekran okuyucuya gizli içerik (bilgi amaçlı) */
.sr-only:not(:focus):not(:active) {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* 9) Mobil yatay/dikey kaydırma engellensin */
html, body {
  max-width: 100vw;
  overflow-x: hidden;
}

/* 10) Yüksek kontrast tercihi olan kullanıcı için */
@media (prefers-contrast: more) {
  body { background: #000 !important; color: #fff !important; }
  .card, .kart { border-color: #fff !important; background: #111 !important; }
  button, a.btn { border: 2px solid #fff !important; }
}

/* 11) Hareket azaltma tercihi */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* 12) Dropdown'lar mobilde tam genişlik */
@media (max-width: 480px) {
  .dropdown-menu {
    position: fixed !important;
    left: 8px !important;
    right: 8px !important;
    top: auto !important;
    bottom: 8px !important;
    max-height: 70vh;
    overflow-y: auto;
  }
}

/* ═══════════════════════════════════════════════════════════════
   KULLANICI A11Y TERCİHLERİ — body'ye eklenen sınıflar
   ═══════════════════════════════════════════════════════════════ */

/* Mobil görünüm zorla — bilgisayarda da mobile özel düzen */
body.a11y-mobil-gorunum .container,
body.a11y-mobil-gorunum main,
body.a11y-mobil-gorunum .right-panel,
body.a11y-mobil-gorunum .left-panel {
  grid-template-columns: 1fr !important;
  max-width: 100% !important;
  padding: 12px !important;
}
body.a11y-mobil-gorunum .menu-grid,
body.a11y-mobil-gorunum .stats-grid,
body.a11y-mobil-gorunum .ozet-grid,
body.a11y-mobil-gorunum .aksiyon-grid,
body.a11y-mobil-gorunum .ehliyet-grid,
body.a11y-mobil-gorunum .kurulus-grid,
body.a11y-mobil-gorunum .plan-grid {
  grid-template-columns: 1fr !important;
}
body.a11y-mobil-gorunum input[type="text"],
body.a11y-mobil-gorunum input[type="email"],
body.a11y-mobil-gorunum input[type="password"],
body.a11y-mobil-gorunum input[type="number"],
body.a11y-mobil-gorunum textarea,
body.a11y-mobil-gorunum select {
  font-size: 16px !important;
  min-height: 44px !important;
}
body.a11y-mobil-gorunum button,
body.a11y-mobil-gorunum a.btn {
  min-height: 44px !important;
  padding: 12px 18px !important;
}

/* Ekran okuyucu modu — animasyonsuz, sade */
body.a11y-sr-mod *, body.a11y-sr-mod *::before, body.a11y-sr-mod *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  scroll-behavior: auto !important;
}
body.a11y-sr-mod .ticker { animation: none !important; }
/* Bildirim sayaç rozetleri SR modunda dimden çıksın — bunlar zaten aria-live'da var */
body.a11y-sr-mod .ticker-wrap { display: none; }

/* Bildirim sesini kapatma JS'te ele alınıyor (online_tracker.js); CSS'te sadece flag */

/* Uzun bildirim süresi — script'in setTimeout süresi */

/* Bağlantı altı çiz */
body.a11y-underline-links a { text-decoration: underline !important; }

/* Büyük tıklama hedefleri (44×44 minimum) */
body.a11y-large-click button,
body.a11y-large-click a.btn,
body.a11y-large-click .menu-btn,
body.a11y-large-click .tab-btn,
body.a11y-large-click input[type="checkbox"],
body.a11y-large-click input[type="radio"] {
  min-width: 44px !important;
  min-height: 44px !important;
}
body.a11y-large-click input[type="checkbox"],
body.a11y-large-click input[type="radio"] {
  transform: scale(1.4);
  margin: 8px;
}

/* Belirgin imleç */
body.a11y-heavy-cursor, body.a11y-heavy-cursor * {
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='32' height='32'><polygon points='4,2 4,28 11,21 16,30 21,28 16,18 28,18' fill='black' stroke='white' stroke-width='2'/></svg>") 4 2, auto !important;
}

/* ───────────────────────────────────────────────────────────
   AÇILIR MENÜLER — TÜM SİTE GENELİ DİKEY (alt alta) DAVRANIŞ
   Tüm açılır menülerde linkler/butonlar tek sütunda, alt alta gösterilir.
   Yan yana grid-2-sütun düzen kullanılmaz. Klavye gezintisi (yukarı/aşağı
   ok tuşu) `menu_kapatici.js` tarafından otomatik sağlanır.
   ─────────────────────────────────────────────────────────── */
.dropdown-menu,
[role="menu"],
.user-menu,
.popup,
.menu-grup > .menu-grid {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
/* Açık olduğunda görünür (display:none olan dropdown'lar için flex'e dönüş) */
.dropdown-menu.open,
.dropdown-menu.acik,
[role="menu"].open,
.menu.open,
.menu.acik,
.popup.open,
[data-menu].open {
  display: flex !important;
  flex-direction: column !important;
}
/* İçindeki linkler/butonlar tam genişlik, sol hizalı */
.dropdown-menu > *,
[role="menu"] > *,
.user-menu > *,
.popup > *,
.dropdown-item {
  width: 100%;
  box-sizing: border-box;
  text-align: left;
}
/* Klavye gezintisi için belirgin focus halkası */
.dropdown-menu a:focus-visible,
.dropdown-menu button:focus-visible,
[role="menu"] a:focus-visible,
[role="menu"] button:focus-visible,
[role="menuitem"]:focus-visible,
.dropdown-item:focus-visible,
.menu-grup .menu-btn:focus-visible {
  outline: 2px solid var(--accent2, #1f6feb);
  outline-offset: -2px;
  background: var(--bg3, rgba(110, 168, 254, 0.12));
}
