/* =====================================================================
   BİZİM TOPRAKLAR — DESIGN SYSTEM v9 (Kırmızı / Beyaz, iOS Glass)
   ---------------------------------------------------------------------
   Bu dosya sitenin TEK ve GÜNCEL görsel katmanıdır. Diğer tüm CSS
   dosyalarından (tabler, chatnet, turkiye, index) SONRA yüklenir ve
   son sözü bu dosya söyler. Hiçbir PHP / Twig / JS dosyası bu değişiklik
   için düzenlenmedi — sadece görünüm katmanı yenilendi, davranış aynı.

   İçindekiler:
   1.  Design tokens (renk, radius, gölge, blur)
   2.  Genel sıfırlama / tipografi / scrollbar / seçim rengi
   3.  Header / navbar (masaüstü)
   4.  Alt mobil navigasyon (site + chat)
   5.  Ortak bileşenler: buton, form, badge, alert, dropdown, modal,
       popover, tooltip, tablo, pagination, toast
   6.  Ana sayfa: hero, araç çubuğu, il kartları, özellik grid'i, SSS
   7.  Auth sayfaları (giriş / kayıt / şifre)
   8.  Sohbet kabuğu: ikon rayı, kanal kenar çubuğu, üst bar
   9.  Mesaj alanı: baloncuklar, tarih ayırıcı, tepkiler, aksiyonlar
   10. Mesaj yazma alanı (room-editor) + eklentiler
   11. Sağ panel (üye / medya / dosya / link)
   12. Profil sayfası
   13. Boş / yükleniyor durumları
   14. Duyarlı (responsive) düzeltmeler
   15. Karanlık tema tamamen devre dışı (lacivert/siyah asla görünmez)
   16. Erişilebilirlik ve hareket azaltma
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. DESIGN TOKENS
   --------------------------------------------------------------------- */
:root{
  /* Kırmızı — tek vurgu rengi */
  --bt-red:        #e11d3c;
  --bt-red-dark:   #b3122c;
  --bt-red-light:  #ff5266;
  --bt-red-soft:   #fff0f2;
  --bt-red-soft-2: #ffe3e7;

  /* Nötr yüzeyler — beyaz / açık gri, LACİVERT YOK */
  --bt-canvas:     #f6f7fb;
  --bt-surface:    #ffffff;
  --bt-surface-2:  #fbfbfd;
  --bt-line:       rgba(20,24,38,.09);
  --bt-line-soft:  rgba(20,24,38,.055);

  /* Cam yüzeyler (glassmorphism) */
  --bt-glass:      rgba(255,255,255,.72);
  --bt-glass-2:    rgba(255,255,255,.86);
  --bt-glass-blur: blur(8px);

  /* Metin */
  --bt-ink:        #16192a;
  --bt-ink-2:      #4a5069;
  --bt-muted:      #7b8196;

  /* Gölgeler */
  --bt-shadow-xs:  0 2px 8px rgba(16,20,35,.05);
  --bt-shadow-sm:  0 6px 20px rgba(16,20,35,.07);
  --bt-shadow-md:  0 14px 36px rgba(16,20,35,.10);
  --bt-shadow-lg:  0 24px 60px rgba(16,20,35,.14);
  --bt-shadow-red: 0 10px 26px rgba(225,29,60,.24);

  /* Radius */
  --bt-r-xs: 10px;
  --bt-r-sm: 14px;
  --bt-r-md: 18px;
  --bt-r-lg: 24px;
  --bt-r-xl: 30px;
  --bt-r-pill: 999px;

  /* Sabitler */
  --bt-font: "Poppins", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --bt-nav-h: 66px;
  --bt-mobile-nav-h: 64px;
}


/* ---------------------------------------------------------------------
   2. GENEL SIFIRLAMA / TİPOGRAFİ
   --------------------------------------------------------------------- */
html{ scroll-behavior:smooth; background:var(--bt-canvas); }

body.tr-site-shell,
body.tr-chat-shell,
body.auth-body{
  font-family:var(--bt-font);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  color:var(--bt-ink);
}

body.tr-site-shell{
  background:
    radial-gradient(1100px 480px at 8% -6%, rgba(225,29,60,.07), transparent 55%),
    radial-gradient(900px 460px at 96% 4%, rgba(225,29,60,.045), transparent 55%),
    var(--bt-canvas) !important;
  overflow-x:hidden;
}

body.tr-site-shell ::selection,
body.tr-chat-shell ::selection,
body.auth-body ::selection{ background:var(--bt-red-soft-2); color:var(--bt-red-dark); }

/* İnce, sabit-renk kaydırma çubuğu */
body.tr-site-shell ::-webkit-scrollbar,
body.tr-chat-shell ::-webkit-scrollbar{ width:9px; height:9px; }
body.tr-site-shell ::-webkit-scrollbar-track,
body.tr-chat-shell ::-webkit-scrollbar-track{ background:transparent; }
body.tr-site-shell ::-webkit-scrollbar-thumb,
body.tr-chat-shell ::-webkit-scrollbar-thumb{
  background:rgba(20,24,38,.16); border-radius:99px; border:2px solid transparent; background-clip:content-box;
}
body.tr-site-shell ::-webkit-scrollbar-thumb:hover,
body.tr-chat-shell ::-webkit-scrollbar-thumb:hover{ background:rgba(225,29,60,.35); background-clip:content-box; }
body.tr-site-shell, body.tr-chat-shell{ scrollbar-width:thin; scrollbar-color:rgba(20,24,38,.2) transparent; }

*:focus-visible{ outline:2px solid rgba(225,29,60,.55); outline-offset:2px; border-radius:6px; }

h1,h2,h3,h4,h5,h6{ color:var(--bt-ink); letter-spacing:-.02em; font-weight:750; }
a{ color:var(--bt-red); }
a:hover{ color:var(--bt-red-dark); }
.text-muted{ color:var(--bt-muted) !important; }
hr{ border-color:var(--bt-line); }


/* ---------------------------------------------------------------------
   3. HEADER / NAVBAR (masaüstü)
   --------------------------------------------------------------------- */
body.tr-site-shell .navbar-scroll,
body.tr-site-shell .navbar-scroll.navbar-scrolled{
  background:var(--bt-glass-2) !important;
  backdrop-filter:var(--bt-glass-blur);
  -webkit-backdrop-filter:var(--bt-glass-blur);
  border-bottom:1px solid var(--bt-line) !important;
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset, var(--bt-shadow-xs);
}
body.tr-site-shell .navbar-brand{
  font-weight:800; letter-spacing:-.03em; color:var(--bt-ink);
  /* BT-FIX v9.3: logo görseli yüklenemezse tarayıcı alt metnini gösterir;
     turkiye.css bu kutuyu 150px'te overflow:hidden ile kesiyordu (kelime
     ortasından kırpılmış görünüyordu). Görsel yüklenmeye devam ederken
     hiçbir görünür değişiklik yok; sadece görsel kırılırsa daha temiz
     bir geri dönüş sağlıyor. */
  text-overflow:ellipsis; white-space:nowrap;
}
body.tr-site-shell .navbar .nav-link{
  border-radius:var(--bt-r-sm); color:var(--bt-ink-2); font-weight:600;
  transition:background .18s ease, color .18s ease, transform .18s ease;
}
body.tr-site-shell .navbar .nav-link:hover{ background:var(--bt-red-soft); color:var(--bt-red-dark); transform:translateY(-1px); }
body.tr-site-shell .navbar .nav-link.active{ background:var(--bt-red-soft); color:var(--bt-red); }
body.tr-site-shell .navbar-toggler{ border:1px solid var(--bt-line); border-radius:var(--bt-r-sm); background:#fff; }
body.tr-site-shell .offcanvas{ background:#fff; }
body.tr-site-shell .offcanvas-title{ color:var(--bt-ink); font-weight:800; }

/* Giriş/Kayıt/Dil pill butonları (navbar sağı) */
body.tr-site-shell .btn-pill{
  border-radius:var(--bt-r-pill) !important; font-weight:700; padding:8px 18px;
}
body.tr-site-shell .auth-dd-mobile .btn-pill,
body.tr-site-shell .btn-pill.btn-primary{
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)); border:none; color:#fff;
  box-shadow:var(--bt-shadow-red);
}
body.tr-site-shell .btn-pill.btn-outline-primary{
  background:#fff; color:var(--bt-red); border:1.5px solid var(--bt-red-soft-2);
}


/* ---------------------------------------------------------------------
   4. ALT MOBİL NAVİGASYON (site + sohbet)
   --------------------------------------------------------------------- */
@media(max-width:768px){
  body.tr-site-shell, body.tr-chat-shell{ padding-bottom:calc(var(--bt-mobile-nav-h) + 40px) !important; }

  .tr-mobile-nav, .tr-mobile-chat-nav{
    display:flex !important; position:fixed !important; left:10px !important; right:10px !important;
    bottom:max(10px, env(safe-area-inset-bottom)) !important; height:var(--bt-mobile-nav-h) !important;
    z-index:1030 !important; padding:6px !important; border-radius:26px !important;
    background:var(--bt-glass-2) !important; border:1px solid var(--bt-line) !important;
    box-shadow:var(--bt-shadow-lg) !important;
    /* BT-FIX v9.3: bu bar sohbet ekranında mesaj listesinin TAM ÜZERİNDE
       sabit durur ve kullanıcı her kaydırdığında tarayıcı bu alanın
       arkasındaki her kareyi yeniden bulanıklaştırmak zorunda kalır.
       20px blur + %160 saturasyon zayıf/orta seviye Android telefonlarda
       kaydırmayı "takılıyor" hissettirecek kadar pahalı. Daha hafif bir
       bulanıklık, camsı görünümü byte'lardan feragat etmeden korur ama
       kaydırma sırasında çok daha az işlemci/GPU yükü bindirir. */
    backdrop-filter:blur(9px) saturate(140%) !important; -webkit-backdrop-filter:blur(9px) saturate(140%) !important;
    transform:translateZ(0);
    align-items:center; justify-content:space-around;
  }
  .tr-mobile-nav-item, .tr-mobile-chat-nav button, .tr-mobile-chat-nav a{
    flex:1 1 25% !important; min-width:0 !important; height:100% !important;
    border-radius:19px !important; gap:2px !important; font-size:.62rem !important; font-weight:650 !important;
    color:var(--bt-muted) !important; border:0; background:transparent; text-decoration:none;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    transition:background .16s ease, color .16s ease;
  }
  .tr-mobile-nav-item i, .tr-mobile-chat-nav i{ font-size:21px !important; line-height:1 !important; }
  .tr-mobile-nav-item:active, .tr-mobile-chat-nav a:active{ transform:scale(.94); }
  .tr-mobile-nav-item.active, .tr-mobile-nav-item[aria-current="page"]{
    background:var(--bt-red-soft) !important; color:var(--bt-red) !important; font-weight:800 !important;
  }
  /* Modal/offcanvas açıkken alt nav geri planda kalmalı (mevcut davranış korunuyor) */
  body.modal-open .tr-mobile-nav, body.modal-open .tr-mobile-chat-nav,
  body:has(.offcanvas.show) .tr-mobile-nav, body:has(.offcanvas.show) .tr-mobile-chat-nav{ z-index:1 !important; }
}


/* ---------------------------------------------------------------------
   5. ORTAK BİLEŞENLER
   --------------------------------------------------------------------- */
.btn{ border-radius:var(--bt-r-sm); font-weight:650; letter-spacing:-.01em; transition:transform .15s ease, box-shadow .15s ease, background .15s ease; }
.btn:active{ transform:scale(.97); }
.btn-primary, .btn-user{
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)) !important; border:none !important;
  color:#fff !important; box-shadow:var(--bt-shadow-red);
}
.btn-primary:hover, .btn-user:hover{ box-shadow:0 14px 30px rgba(225,29,60,.32); transform:translateY(-1px); }
.btn-outline-primary{ border-color:var(--bt-red-soft-2) !important; color:var(--bt-red) !important; background:#fff !important; }
.btn-outline-primary:hover{ background:var(--bt-red-soft) !important; }
.btn-light, .btn-secondary, .btn-outline-secondary, .btn-ghost-dark{
  background:#fff !important; color:var(--bt-ink-2) !important; border:1px solid var(--bt-line) !important;
}
.btn-light:hover, .btn-ghost-dark:hover{ background:var(--bt-canvas) !important; }
.btn-icon, .btn-sm-round, .action-item, .top-action, .header-action{
  background:#fff; color:var(--bt-ink-2); border:1px solid var(--bt-line); box-shadow:var(--bt-shadow-xs);
}

.form-control, .form-select, .select2-container--default .select2-selection--single{
  border-radius:var(--bt-r-sm) !important; border:1.5px solid var(--bt-line) !important;
  background:#fff !important; color:var(--bt-ink) !important; box-shadow:none !important;
  min-height:46px; transition:border-color .15s ease, box-shadow .15s ease;
}
.form-control:focus, .form-select:focus{
  border-color:rgba(225,29,60,.5) !important; box-shadow:0 0 0 4px rgba(225,29,60,.10) !important;
}
.form-label, label{ color:var(--bt-ink-2); font-weight:650; font-size:.86rem; }
textarea.form-control{ min-height:90px; }
.input-group-text{ background:#fff; border:1.5px solid var(--bt-line); color:var(--bt-muted); }

.card{ border-radius:var(--bt-r-lg); border:1px solid var(--bt-line); box-shadow:var(--bt-shadow-sm); background:#fff; }
.card-header, .card-footer{ background:transparent; border-color:var(--bt-line); }

.badge{ border-radius:var(--bt-r-pill); font-weight:650; }
.badge.bg-primary, .badge.bg-red{ background:var(--bt-red) !important; }

.alert{ border-radius:var(--bt-r-md); border:1px solid var(--bt-line); }
.alert-info{ background:var(--bt-red-soft) !important; color:var(--bt-red-dark) !important; border-color:var(--bt-red-soft-2) !important; }
.alert-danger{ background:#fff1f1 !important; color:#a4123a !important; }
.alert-success{ background:#f0fbf4 !important; color:#0f7a3d !important; }

.dropdown-menu{
  background:#fff !important; border:1px solid var(--bt-line) !important; border-radius:var(--bt-r-md) !important;
  box-shadow:var(--bt-shadow-md) !important; padding:8px; backdrop-filter:var(--bt-glass-blur);
}
.dropdown-item{ border-radius:var(--bt-r-xs); color:var(--bt-ink-2); font-weight:600; padding:9px 12px; }
.dropdown-item:hover, .dropdown-item:focus{ background:var(--bt-red-soft); color:var(--bt-red-dark); }
.dropdown-item.text-danger:hover{ background:#fff1f1; }

.modal-content{ border-radius:var(--bt-r-lg); border:none; box-shadow:var(--bt-shadow-lg); overflow:hidden; }
.modal-header{ border-bottom:1px solid var(--bt-line); }
.modal-title{ font-weight:800; color:var(--bt-ink); }
.modal-footer{ border-top:1px solid var(--bt-line); }
.modal-backdrop, .modal-blur, .uppy-Dashboard-overlay{ background:rgba(22,25,42,.42) !important; backdrop-filter:blur(3px); }

.popover{ border:1px solid var(--bt-line); border-radius:var(--bt-r-md); box-shadow:var(--bt-shadow-md); }
.popover-header{ background:#fff; border-bottom:1px solid var(--bt-line); font-weight:700; }
.tooltip .tooltip-inner{ background:var(--bt-ink); border-radius:8px; font-weight:600; }

.table{ color:var(--bt-ink-2); }
.table thead th{ background:var(--bt-canvas); color:var(--bt-ink); border-color:var(--bt-line); font-weight:700; }
.page-link{ border-radius:10px; margin:0 2px; border-color:var(--bt-line); color:var(--bt-ink-2); }
.page-item.active .page-link{ background:var(--bt-red); border-color:var(--bt-red); }

.toast{ border-radius:var(--bt-r-md); border:1px solid var(--bt-line); box-shadow:var(--bt-shadow-md); background:#fff; }
.nav-pills.bt-segmented{ background:var(--bt-canvas); border-radius:var(--bt-r-pill); padding:4px; border:1px solid var(--bt-line); }
.nav-pills.bt-segmented .nav-link{ border-radius:var(--bt-r-pill); font-weight:700; color:var(--bt-ink-2); }
.nav-pills.bt-segmented .nav-link.active{ background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)); color:#fff; box-shadow:var(--bt-shadow-red); }

.spinner-border.text-primary{ color:var(--bt-red) !important; }
.cookiealert{ background:#fff !important; border:1px solid var(--bt-line) !important; box-shadow:var(--bt-shadow-md) !important; border-radius:var(--bt-r-md); }


/* ---------------------------------------------------------------------
   6. ANA SAYFA
   --------------------------------------------------------------------- */
body.tr-site-shell .tr-hero{
  margin:calc(var(--bt-nav-h) + 14px) 0 24px; padding:36px 30px; border-radius:var(--bt-r-xl);
  background:linear-gradient(145deg, rgba(225,29,60,.09), #fff 55%);
  border:1px solid var(--bt-line); box-shadow:var(--bt-shadow-md); text-align:center;
  position:relative; overflow:hidden;
}
body.tr-site-shell .tr-hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(420px 200px at 82% 0%, rgba(225,29,60,.12), transparent 60%);
}
body.tr-site-shell .tr-hero h1{ color:var(--bt-red) !important; font-weight:850; text-wrap:balance; }
body.tr-site-shell .tr-hero-badge{
  background:var(--bt-red-soft); color:var(--bt-red-dark); font-weight:750; border-radius:var(--bt-r-pill);
}

body.tr-site-shell .tr-stats-row>div{
  background:#fff; border:1px solid var(--bt-line); border-radius:var(--bt-r-md); box-shadow:var(--bt-shadow-xs);
}
body.tr-site-shell .tr-stats-row strong{ color:var(--bt-red); }
body.tr-site-shell .tr-stats-row span{ color:var(--bt-muted); }

body.tr-site-shell .tr-toolbar{
  background:var(--bt-glass-2) !important; backdrop-filter:var(--bt-glass-blur); -webkit-backdrop-filter:var(--bt-glass-blur);
  border:1px solid var(--bt-line); border-radius:var(--bt-r-pill); padding:10px 12px !important;
  box-shadow:var(--bt-shadow-xs);
}
body.tr-site-shell .tr-region-btn{
  border-radius:var(--bt-r-pill); border:1px solid var(--bt-line); color:var(--bt-ink-2); font-weight:650;
  transition:all .16s ease;
}
body.tr-site-shell .tr-region-btn.active, body.tr-site-shell .tr-region-btn:hover{
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)); border-color:transparent; color:#fff; box-shadow:var(--bt-shadow-red);
}
body.tr-site-shell .tr-favorites-panel{ background:var(--bt-red-soft); border:1px solid var(--bt-red-soft-2); border-radius:var(--bt-r-lg); }
body.tr-site-shell .tr-fav-chip{ background:#fff; color:var(--bt-red-dark); border:1px solid var(--bt-red-soft-2); font-weight:650; }

/* İl kartları */
body.tr-site-shell .room-list-row{ display:grid !important; align-items:stretch; }
body.tr-site-shell .tr-city-card{
  height:100%; overflow:hidden; border-radius:var(--bt-r-lg); background:#fff; border:1px solid var(--bt-line);
  box-shadow:var(--bt-shadow-sm); transition:transform .2s ease, box-shadow .2s ease;
}
body.tr-site-shell .tr-city-card:hover{ transform:translateY(-5px); box-shadow:var(--bt-shadow-md), var(--bt-shadow-red); }
body.tr-site-shell .tr-city-cover{
  height:110px; background:
    radial-gradient(circle at 84% 12%, rgba(255,255,255,.22), transparent 45%),
    linear-gradient(135deg, #8c0f24 0%, var(--bt-red) 55%, var(--bt-red-light) 100%);
}
body.tr-site-shell .tr-city-code{ color:#fff; opacity:.95; font-weight:900; }
body.tr-site-shell .tr-city-online{
  background:rgba(0,0,0,.28); backdrop-filter:blur(6px); color:#fff; border-radius:var(--bt-r-pill);
}
body.tr-site-shell .tr-city-online span{ background:#4ade80; box-shadow:0 0 0 3px rgba(74,222,128,.25); }
body.tr-site-shell .tr-fav-btn, body.tr-site-shell .tr-share-btn{
  background:rgba(255,255,255,.22); backdrop-filter:blur(6px); color:#fff;
}
body.tr-site-shell .tr-fav-btn.active{ background:#fff; color:var(--bt-red); }
body.tr-site-shell .tr-city-card .card-body{ padding:18px; }
body.tr-site-shell .tr-city-card .card-title{ font-size:1.05rem; font-weight:800; color:var(--bt-ink); }
body.tr-site-shell .tr-city-icon{ background:var(--bt-red-soft); color:var(--bt-red); border-radius:var(--bt-r-sm); }
body.tr-site-shell .tr-city-region{ color:var(--bt-red); font-weight:700; }
body.tr-site-shell .tr-city-description{ color:var(--bt-muted); }
body.tr-site-shell .tr-join-label{ color:var(--bt-red); font-weight:750; }
body.tr-site-shell .room-stats{ border-top:1px dashed var(--bt-line); margin-top:12px; padding-top:10px; color:var(--bt-muted); font-size:.8rem; }

/* Özellik grid'i, SSS, footer */
body.tr-site-shell .tr-feature-grid article{
  background:#fff; border:1px solid var(--bt-line); border-radius:var(--bt-r-lg); box-shadow:var(--bt-shadow-xs);
  transition:transform .18s ease, box-shadow .18s ease;
}
body.tr-site-shell .tr-feature-grid article:hover{ transform:translateY(-3px); box-shadow:var(--bt-shadow-sm); }
body.tr-site-shell .tr-feature-grid article>i{ background:var(--bt-red-soft); color:var(--bt-red); border-radius:var(--bt-r-sm); }
body.tr-site-shell .tr-feature-grid span{ color:var(--bt-muted); }

body.tr-site-shell .tr-faq-section{
  background:#fff; border:1px solid var(--bt-line); border-radius:var(--bt-r-xl); box-shadow:var(--bt-shadow-md);
}
body.tr-site-shell .tr-faq-heading{ color:var(--bt-ink); font-weight:850; }
body.tr-site-shell .tr-faq-accordion .accordion-item{
  border:1px solid var(--bt-line); border-radius:var(--bt-r-md) !important; overflow:hidden; background:#fff;
}
body.tr-site-shell .tr-faq-accordion .accordion-button{ font-weight:700; background:#fff; color:var(--bt-ink); }
body.tr-site-shell .tr-faq-accordion .accordion-button:not(.collapsed){ background:var(--bt-red-soft); color:var(--bt-red-dark); }
body.tr-site-shell .tr-faq-accordion .accordion-button:focus{ box-shadow:none; }

body.tr-site-shell footer.footer{
  background:var(--bt-glass-2); backdrop-filter:var(--bt-glass-blur); -webkit-backdrop-filter:var(--bt-glass-blur);
  border-top:1px solid var(--bt-line); margin-top:40px;
}
body.tr-site-shell footer.footer a{ color:var(--bt-ink-2); }
body.tr-site-shell footer.footer a:hover{ color:var(--bt-red); }


/* ---------------------------------------------------------------------
   7. AUTH SAYFALARI (giriş / kayıt / şifre sıfırlama)
   --------------------------------------------------------------------- */
body.auth-body{
  min-height:100dvh; display:flex; align-items:center; justify-content:center;
  background:
    radial-gradient(900px 480px at 12% 0%, rgba(225,29,60,.10), transparent 55%),
    radial-gradient(700px 420px at 92% 100%, rgba(225,29,60,.06), transparent 55%),
    var(--bt-canvas) !important;
  padding:28px 14px;
}
body.auth-body .container-tight{
  background:var(--bt-glass-2); backdrop-filter:var(--bt-glass-blur); -webkit-backdrop-filter:var(--bt-glass-blur);
  border:1px solid var(--bt-line); border-radius:var(--bt-r-xl); box-shadow:var(--bt-shadow-lg);
  padding:36px 32px !important;
}
body.auth-body .card{ border:none; box-shadow:none; background:transparent; }
body.auth-body h2{ font-weight:850; letter-spacing:-.03em; }
body.auth-body .bt-auth-theme-toggle{
  position:fixed; top:16px; right:16px; z-index:20; width:42px; height:42px; border-radius:50%;
  background:#fff; border:1px solid var(--bt-line); box-shadow:var(--bt-shadow-sm);
  display:flex; align-items:center; justify-content:center;
}
body.auth-body .bt-auth-theme-toggle a{ color:var(--bt-ink-2); display:flex; }
@media(max-width:520px){ body.auth-body .container-tight{ padding:26px 20px !important; border-radius:var(--bt-r-lg); } }


/* ---------------------------------------------------------------------
   8. SOHBET KABUĞU — ikon rayı / kanal kenar çubuğu / üst bar
   --------------------------------------------------------------------- */
body.tr-chat-shell{ background:var(--bt-canvas) !important; color:var(--bt-ink) !important; }
body.tr-chat-shell #wrapper{ background:var(--bt-canvas) !important; }

/* İkon rayı (sol en dar sütun) */
body.tr-chat-shell .room-bar{
  background:#fff !important; border-right:1px solid var(--bt-line) !important;
}
body.tr-chat-shell .cn-tab{ color:var(--bt-muted); }
body.tr-chat-shell .cn-tab .pill{ background:var(--bt-red) !important; }
body.tr-chat-shell .mini-brand-seperator{ background:var(--bt-line) !important; }
body.tr-chat-shell .private-messages .private-item,
body.tr-chat-shell .action-item{
  color:var(--bt-ink-2); border-radius:var(--bt-r-sm); transition:background .15s ease, color .15s ease;
}
body.tr-chat-shell .cn-tab:hover .private-item,
body.tr-chat-shell .action-item:hover{ background:var(--bt-red-soft); color:var(--bt-red-dark); }
body.tr-chat-shell .cn-tab.active .private-item,
body.tr-chat-shell .action-item.active{ background:var(--bt-red-soft); color:var(--bt-red); }
body.tr-chat-shell .unread-indicator.active{ background:var(--bt-red) !important; box-shadow:0 0 0 3px var(--bt-red-soft); }
body.tr-chat-shell .radio-thumb{ border-radius:50%; overflow:hidden; box-shadow:var(--bt-shadow-xs); }
body.tr-chat-shell .gradient-anim-bg{ background:linear-gradient(135deg,var(--bt-red),var(--bt-red-light)) !important; border-radius:var(--bt-r-sm); color:#fff !important; }

/* Kanal kenar çubuğu (sidebar) */
body.tr-chat-shell .sidebar-wrapper{
  background:#fff !important; border-right:1px solid var(--bt-line) !important;
}
body.tr-chat-shell .topbar, body.tr-chat-shell .topbar-channels{
  background:var(--bt-glass-2) !important;
  /* BT-FIX v9.3: oda başlığı mesaj listesinin hemen üstünde sabit durur;
     20px blur kaydırma sırasında düşük/orta segment telefonlarda
     gecikmeye (jank) yol açıyordu. Daha hafif bulanıklık aynı camsı
     görünümü çok daha ucuza veriyor. */
  backdrop-filter:blur(8px) !important; -webkit-backdrop-filter:blur(8px) !important;
  border-bottom:1px solid var(--bt-line) !important; color:var(--bt-ink) !important;
}
body.tr-chat-shell .room-title, body.tr-chat-shell .top-channel-name{ color:var(--bt-ink) !important; font-weight:800; }
body.tr-chat-shell .channel-list, body.tr-chat-shell .channel-container{ background:transparent !important; }
body.tr-chat-shell .channel-item, body.tr-chat-shell .user-list-item, body.tr-chat-shell .member-item{
  color:var(--bt-ink-2) !important; border-radius:var(--bt-r-sm) !important; transition:background .15s ease;
}
body.tr-chat-shell .channel-item:hover, body.tr-chat-shell .user-list-item:hover{ background:var(--bt-red-soft) !important; }
body.tr-chat-shell .channel-item.active{ background:var(--bt-red-soft) !important; color:var(--bt-red-dark) !important; font-weight:700; }
body.tr-chat-shell .room-img{ border-radius:var(--bt-r-md); overflow:hidden; }
body.tr-chat-shell .ad-space{ border-radius:var(--bt-r-md); overflow:hidden; border:1px dashed var(--bt-line); }


/* ---------------------------------------------------------------------
   9. MESAJ ALANI — baloncuklar, tarih, tepkiler, aksiyonlar
   --------------------------------------------------------------------- */
body.tr-chat-shell .main-panel{ background:var(--bt-canvas) !important; }
body.tr-chat-shell .main-panel[style*="--bg-image"]{ background-color:rgba(246,247,251,.9) !important; }
body.tr-chat-shell .messages, body.tr-chat-shell .chats{ background:transparent !important; }

body.tr-chat-shell .new-date p{
  background:#fff !important; color:var(--bt-muted) !important; border:1px solid var(--bt-line);
  border-radius:var(--bt-r-pill); box-shadow:var(--bt-shadow-xs); font-weight:650; font-size:.75rem;
}

body.tr-chat-shell .cht{ display:flex; align-items:flex-end; gap:8px; }
body.tr-chat-shell .cht .avatar{ box-shadow:var(--bt-shadow-xs); border:2px solid #fff; cursor:pointer; }
/* BT-PROFILE: mesaj balonundaki isim etiketi de artık profile tıklanabilir. */
body.tr-chat-shell .cht .sender-name{ cursor:pointer; }

/* Baloncuk gövdesi */
body.tr-chat-shell .message-data{
  background:#fff !important; color:var(--bt-ink) !important;
  border:1px solid var(--bt-line) !important; border-radius:16px !important;
  /* BT-FIX ("kaba ve büyük" görünüm): gölge daha önce genel amaçlı
     --bt-shadow-xs/--bt-shadow-red değişkenlerini kullanıyordu; bunlar
     kartlar/butonlar için tasarlanmıştı ve art arda dizilen küçük sohbet
     balonlarında üst üste binip ağır/bulanık bir görünüm yaratıyordu.
     Artık balona özel, çok daha ince ve yumuşak bir gölge var. Köşeler de
     20px yerine 16px - daha az "şişkin" ve daha minimal duruyor. */
  box-shadow:0 1px 2px rgba(16,20,35,.06) !important;
  padding:8px 13px !important;
  backdrop-filter:none !important; max-width:min(66vw, 480px);
  font-size:.92rem; line-height:1.42;
}
/* Gelen mesaj: açık/beyaz, koyu okunaklı yazı */
body.tr-chat-shell .cht.replies .message-data{
  background:#ffffff !important; color:var(--bt-ink) !important;
  border-bottom-left-radius:5px !important;
}
/* Giden mesaj: Türk kırmızısı, beyaz yazı
   BT-FIX (balon hizalama): burada önceden "flex-direction:row-reverse"
   vardı. chatnet.css'teki orijinal .cht.sent kuralı zaten
   "justify-content:flex-end" ile birlikte .avatar/.message-data öğelerine
   "order" değerleri (order:2 / order:3) veriyor; üstüne row-reverse eklemek
   ana ekseni tersine çevirip flex-end'in paketleme yönünü de değiştiriyor,
   sonuçta giden mesajlar bazı durumlarda SOLA yapışıyordu. row-reverse
   kaldırıldı, sağa hizalama artık sadece justify-content:flex-end + order
   ile (çakışmadan) sağlanıyor; garanti olsun diye burada da tekrar
   belirtiliyor. */
body.tr-chat-shell .cht.sent{ justify-content:flex-end; }
body.tr-chat-shell .cht.sent .message-data{
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)) !important;
  color:#fff !important; border:none !important; border-bottom-right-radius:5px !important;
  /* BT-FIX: eskiden var(--bt-shadow-red) = 0 10px 26px - çok ağır/yayılan bir
     gölgeydi, üst üste sıralı mesajlarda "kaba" bir kütle hissi veriyordu.
     Şimdi çok daha yakın ve yumuşak bir gölge. */
  box-shadow:0 2px 8px rgba(225,29,60,.20) !important;
}
body.tr-chat-shell .cht.sent .message-data a{ color:#ffe6ea; text-decoration:underline; }
body.tr-chat-shell .cht.sent .message-time,
body.tr-chat-shell .cht.sent .message-status{ color:rgba(255,255,255,.82) !important; }
body.tr-chat-shell .cht.replies .message-time,
body.tr-chat-shell .cht.replies .message-status{ color:var(--bt-muted) !important; }
body.tr-chat-shell .message-meta-inline{ font-size:.68rem; font-weight:600; gap:6px; }
body.tr-chat-shell .sender-name, body.tr-chat-shell .message-data .sender{ color:#fff !important; font-weight:750; }
body.tr-chat-shell .sender-name .user-badge{
  display:inline-flex !important; width:16px !important; height:16px !important; min-width:16px; min-height:16px;
  vertical-align:-3px; margin-left:5px; margin-right:1px; transform:none; transform-origin:center;
  background-size:contain !important; background-position:center !important; background-repeat:no-repeat !important;
}

/* Yanıtlanan mesaj alıntısı */
body.tr-chat-shell .replied-to{
  background:rgba(20,24,38,.05) !important; border-left:3px solid var(--bt-red) !important; border-radius:10px;
}
body.tr-chat-shell .cht.sent .replied-to{ background:rgba(255,255,255,.16) !important; border-left-color:#fff !important; }

/* Bağlantı önizlemesi */
body.tr-chat-shell .message-data .link-preview, body.tr-chat-shell .message-data [class*="link-preview"]{
  background:var(--bt-canvas) !important; border:1px solid var(--bt-line) !important; border-radius:14px !important; overflow:hidden;
}

/* Tepkiler (reactions) */
/* BT-PATCH v9.14: .current-chat-reactions span seçici emoji <span>'lerini de
   kapsıyordu; background !important emoji arkaplan resmini (static_react_*.png)
   siliyor ve emoji görünmüyordu. Seçiciden çıkarıldı. */
body.tr-chat-shell .reaction{
  background:#fff !important; border:1px solid var(--bt-line) !important; color:var(--bt-ink-2) !important;
  border-radius:var(--bt-r-pill) !important; box-shadow:var(--bt-shadow-xs);
}
/* BT-FIX ("kırmızı içinde gri-siyah"): balonun köşesindeki tepki rozeti
   (.current-reacts) chatnet.css'te hâlâ eski, tasarıma hiç uymayan koyu
   gri-mavi (#607d8b) bir arka planla geliyordu - kırmızı gönderilen mesaj
   balonunun üzerinde kaba/uyumsuz duruyordu. Artık beyaz, ince kenarlıklı,
   balonun rengiyle uyumlu ince bir rozet. */
body.tr-chat-shell .current-reacts{
  background:#fff !important; border:1px solid var(--bt-line) !important;
  box-shadow:var(--bt-shadow-xs) !important; border-radius:999px !important;
  padding:2px 6px !important;
}
body.tr-chat-shell .current-reacts-count{ color:var(--bt-ink-2) !important; }
body.tr-chat-shell .reaction-box{
  background:#fff !important; border:1px solid var(--bt-line) !important; border-radius:var(--bt-r-pill) !important;
  box-shadow:var(--bt-shadow-md) !important;
}

/* Hover'da beliren aksiyon menüsü (sil / yanıtla / ilet / raporla) */
body.tr-chat-shell .chat-actions .btn-group.show-actions i{
  background:#fff; border:1px solid var(--bt-line); border-radius:50%; box-shadow:var(--bt-shadow-xs); color:var(--bt-ink-2);
}
body.tr-chat-shell .chat-actions .dropdown-menu{ background:#fff !important; }

/* Yeni mesaj rozeti + BT-YENİ (özellik 2/10) "en alta in" butonu.
   NOT: .new-messages-indicator'ın konumlandırma (position/bottom/vb.)
   kuralı codebase'de dağınık/bulunamadı; olası çakışmaları önlemek için
   ikisine de burada eksiksiz, kendi kendine yeten bir taban stil veriyoruz. */
body.tr-chat-shell .new-messages-indicator,
body.tr-chat-shell .scroll-to-bottom-btn{
  position:absolute; left:50%; bottom:16px; transform:translateX(-50%);
  z-index:15; border:none !important; cursor:pointer;
  display:flex; align-items:center; gap:6px; padding:9px 16px;
  font-size:.82rem; box-shadow:var(--bt-shadow-md);
}
body.tr-chat-shell .new-messages-indicator{
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)) !important; color:#fff !important;
  border-radius:var(--bt-r-pill) !important; box-shadow:var(--bt-shadow-red) !important; font-weight:700; border:none !important;
}
/* "En alta in" butonu: sade, yuvarlak, ikon-only - bildirim rozetiyle
   karışmasın diye daha nötr/beyaz, biraz daha sağda konumlanıyor ki ikisi
   aynı anda görünürse üst üste binmesin. */
body.tr-chat-shell .scroll-to-bottom-btn{
  left:auto; right:16px; transform:none; width:40px; height:40px; padding:0;
  border-radius:50%; justify-content:center; background:#fff !important; color:var(--bt-ink) !important;
  border:1px solid var(--bt-line) !important; font-size:1.05rem;
  transition:transform .15s ease;
}
body.tr-chat-shell .scroll-to-bottom-btn:active{ transform:scale(.92); }
.dark body.tr-chat-shell .scroll-to-bottom-btn{ background:var(--bt-surface) !important; color:var(--bt-ink) !important; }
@media(max-width:768px){
  body.tr-chat-shell .new-messages-indicator{ bottom:calc(var(--bt-mobile-nav-h) + 74px + env(safe-area-inset-bottom)) !important; }
  body.tr-chat-shell .scroll-to-bottom-btn{ bottom:calc(var(--bt-mobile-nav-h) + 74px + env(safe-area-inset-bottom)) !important; right:12px !important; }
}

/* BT-YENİ (özellik 4/10): çift dokunuşla hızlı ❤️ tepkisi - küçük "pop" animasyonu */
.bt-heart-pop{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(0.3);
  font-size:52px; color:#fff; text-shadow:0 2px 10px rgba(0,0,0,.35); pointer-events:none; z-index:20;
  opacity:0; animation:btHeartPop .7s ease forwards;
}
@keyframes btHeartPop{
  0%{ opacity:0; transform:translate(-50%,-50%) scale(0.3); }
  25%{ opacity:1; transform:translate(-50%,-50%) scale(1.15); }
  40%{ transform:translate(-50%,-50%) scale(1); }
  100%{ opacity:0; transform:translate(-50%,-50%) scale(1) translateY(-18px); }
}


/* ---------------------------------------------------------------------
   10. MESAJ YAZMA ALANI (room-editor) + eklentiler
   --------------------------------------------------------------------- */
body.tr-chat-shell .room-editor{
  background:var(--bt-glass-2) !important;
  /* BT-FIX v9.3: mesaj yazma çubuğu da mesaj listesinin üstünde sabit;
     aynı sebeple daha hafif bulanıklığa düşürüldü (bkz. topbar notu). */
  backdrop-filter:blur(8px) !important; -webkit-backdrop-filter:blur(8px) !important;
  border-top:1px solid var(--bt-line) !important;
}
body.tr-chat-shell .editor-container{
  background:#fff !important; border:1.5px solid var(--bt-line) !important; border-radius:var(--bt-r-xl) !important;
  box-shadow:var(--bt-shadow-xs) !important;
}
body.tr-chat-shell .message-input, body.tr-chat-shell .chat-input,
body.tr-chat-shell .message-composer textarea, body.tr-chat-shell [contenteditable="true"].chat-editable{
  background:transparent !important; color:var(--bt-ink) !important;
}

/* BT-YENİ (özellik 5/10): mesaj kutusu boşken "Gönder" butonu belirgin
   şekilde pasif görünür - kullanıcı boş mesaj gönderemeyeceğini önceden
   anlar. Buton yine tıklanabilir kalır (odaklanma/klavye davranışı
   bozulmasın diye disabled attribute değil, sadece görsel/soluk durum). */
body.tr-chat-shell .tr-send-message.bt-empty{
  opacity:.45; box-shadow:none !important; cursor:default;
}
body.tr-chat-shell .tr-send-message.bt-sending{ opacity:.7; pointer-events:none; }

/* BT-YENİ (özellik 6/10): mesaj karakter sayacı */
.bt-char-counter{
  position:absolute; right:6px; bottom:-18px; font-size:.68rem; color:var(--bt-muted);
  background:transparent; pointer-events:none; white-space:nowrap;
}
.bt-char-counter-warn{ color:var(--bt-red) !important; font-weight:700; }
body.tr-chat-shell .editor-col{ position:relative; }

/* BT-YENİ (özellik 9/10): sohbette henüz mesaj yoksa gösterilen karşılama */
.bt-empty-chat{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:6px; padding:60px 20px; text-align:center; color:var(--bt-muted); height:100%;
}
.bt-empty-chat i{ font-size:40px; color:var(--bt-line); margin-bottom:4px; }
.bt-empty-chat p{ margin:0; font-weight:700; color:var(--bt-ink-2); font-size:.95rem; }
.bt-empty-chat span{ font-size:.82rem; }

/* BT-YENİ (özellik 10/10): masaüstünde dosya sürüklenirken sohbet alanının
   vurgulanması */
body.tr-chat-shell .chat-scroll.bt-drag-over{
  outline:2px dashed var(--bt-red); outline-offset:-6px; background:var(--bt-red-soft) !important;
}
body.tr-chat-shell .message-input::placeholder{ color:var(--bt-muted) !important; }
body.tr-chat-shell .editor-icon-emoji, body.tr-chat-shell .editor-icon, body.tr-chat-shell .send-message-btn{
  color:var(--bt-muted); background:transparent; border-radius:50%; transition:background .15s ease, color .15s ease;
}
body.tr-chat-shell .editor-icon-emoji:hover, body.tr-chat-shell .editor-icon:hover{ background:var(--bt-red-soft); color:var(--bt-red); }
body.tr-chat-shell .send-message-btn, body.tr-chat-shell button.send-btn{
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)) !important; color:#fff !important;
  border-radius:50% !important; box-shadow:var(--bt-shadow-red) !important;
}

body.tr-chat-shell .attachments-container{
  background:#fff !important; border:1px solid var(--bt-line) !important; border-radius:var(--bt-r-lg) !important;
  box-shadow:var(--bt-shadow-md) !important;
}
body.tr-chat-shell .attachments-container button, body.tr-chat-shell .attachments-container .btn{
  background:#fff !important; color:var(--bt-ink-2) !important; border-color:var(--bt-line) !important;
}
body.tr-chat-shell .file-uploader{ background:#fff !important; color:var(--bt-ink) !important; border:1px solid var(--bt-line); border-radius:var(--bt-r-lg); box-shadow:var(--bt-shadow-md); }

/* Uppy yükleme paneli */
.uppy-Dashboard-inner{ background:#fff !important; border-radius:var(--bt-r-lg) !important; border:none !important; box-shadow:var(--bt-shadow-lg) !important; }
.uppy-DashboardContent-bar{ background:#fff !important; border-color:var(--bt-line) !important; }
.uppy-DashboardTab-btn{ color:var(--bt-ink-2) !important; }
.uppy-StatusBar{ background:#fff !important; }

/* Emoji / mention popoverları */
.cnemoji-picker, .emojione-picker, .mention-list, .tribute-container{
  background:#fff !important; border:1px solid var(--bt-line) !important; border-radius:var(--bt-r-md) !important;
  box-shadow:var(--bt-shadow-md) !important;
}

/* Sesli mesaj oynatıcı */
.green-audio-player{ background:var(--bt-canvas) !important; border-radius:var(--bt-r-pill) !important; }
.green-audio-player .volume .volume__controls{ background:#fff !important; box-shadow:var(--bt-shadow-md) !important; }

/* Görüntülü arama alanı: koyu zemin makul (video için gerekli), navy yerine nötr siyah-gri kullanılır */
body.tr-chat-shell .video-call-container{ background:#20232b !important; border-radius:var(--bt-r-lg); overflow:hidden; }


/* ---------------------------------------------------------------------
   11. SAĞ PANEL (üye / medya / dosya / link)
   --------------------------------------------------------------------- */
body.tr-chat-shell .rightbar-wrapper, body.tr-chat-shell .right-panel{
  background:#fff !important; border-left:1px solid var(--bt-line) !important; color:var(--bt-ink) !important;
}
body.tr-chat-shell .rightbar-wrapper h1, body.tr-chat-shell .rightbar-wrapper h2,
body.tr-chat-shell .rightbar-wrapper h3, body.tr-chat-shell .rightbar-wrapper h4{ color:var(--bt-ink) !important; }
body.tr-chat-shell .rightbarToggle{ background:#fff; border:1px solid var(--bt-line); border-radius:50%; color:var(--bt-ink-2); }


/* ---------------------------------------------------------------------
   12. PROFİL SAYFASI
   --------------------------------------------------------------------- */
#profile-form .bt-profile-savebar{
  background:var(--bt-glass-2) !important; backdrop-filter:var(--bt-glass-blur) !important;
  border-top:1px solid var(--bt-line) !important;
}
#profile-form .bt-profile-savebar{
  display:flex !important; align-items:center; justify-content:flex-end; gap:10px;
  flex-wrap:wrap; position:relative; z-index:3;
}
#profile-form .bt-save-btn, #profile-form .bt-profile-edit-logout-btn{
  min-height:48px; display:inline-flex !important; align-items:center; justify-content:center;
  padding:11px 18px !important; cursor:pointer; text-decoration:none !important;
}
#profile-form .bt-profile-edit-logout-btn{
  border:1px solid rgba(220,38,38,.24); background:rgba(254,242,242,.95);
  color:#dc2626 !important; border-radius:var(--bt-r-pill) !important; font-weight:750;
}
#profile-form .bt-profile-edit-logout-btn:hover{ background:#fee2e2; color:#b91c1c !important; }
#profile-form .bt-save-btn{
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)) !important; color:#fff !important;
  border-radius:var(--bt-r-pill) !important; box-shadow:var(--bt-shadow-red) !important; font-weight:750;
}


/* ---------------------------------------------------------------------
   13. BOŞ / YÜKLENİYOR DURUMLARI
   --------------------------------------------------------------------- */
.bt-empty-state{
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  gap:10px; padding:48px 20px; color:var(--bt-muted);
}
.bt-empty-state i{ font-size:38px; color:var(--bt-red-soft-2); background:var(--bt-red-soft); border-radius:50%; padding:16px; }
.bt-empty-state strong{ color:var(--bt-ink); font-size:1rem; }

.bt-skeleton{
  background:linear-gradient(90deg, var(--bt-line-soft) 25%, rgba(20,24,38,.03) 37%, var(--bt-line-soft) 63%);
  background-size:400% 100%; animation:bt-skeleton-shine 1.4s ease infinite; border-radius:var(--bt-r-sm);
}
@keyframes bt-skeleton-shine{ 0%{background-position:100% 50%} 100%{background-position:0 50%} }


/* ---------------------------------------------------------------------
   14. DUYARLI (RESPONSIVE) DÜZELTMELER
   --------------------------------------------------------------------- */
@media(max-width:768px){
  body.tr-site-shell .tr-hero{ margin-top:58px; padding:24px 18px; border-radius:var(--bt-r-lg); }
  body.tr-site-shell .tr-feature-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.tr-site-shell .tr-faq-section{ padding:18px; border-radius:var(--bt-r-lg); }

  /* Yazma alanı her zaman alt navın üstünde, hiçbir kontrol gizlenmez */
  body.tr-chat-shell .room-editor{
    position:fixed !important; left:0 !important; right:0 !important;
    bottom:calc(var(--bt-mobile-nav-h) + 14px + env(safe-area-inset-bottom)) !important;
    z-index:1020 !important; padding:8px 10px 6px !important;
  }
  body.tr-chat-shell .messages{ padding-bottom:132px !important; }
  body.tr-chat-shell .new-messages-indicator{ bottom:calc(var(--bt-mobile-nav-h) + 74px + env(safe-area-inset-bottom)) !important; z-index:1021 !important; }
  body.tr-chat-shell .chat-actions{ z-index:1022 !important; }
  body.tr-chat-shell .attachments-container{ z-index:1025 !important; max-height:60vh; overflow:auto; }
  body.tr-chat-shell .message-data{ max-width:78vw; }

  #profile-form .bt-profile-savebar{
    position:sticky !important; bottom:0 !important; z-index:1025 !important;
    margin:0 -12px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)) !important;
  }
  #profile-form .bt-save-btn, #city-profile{ min-height:48px !important; }
}
@media(max-width:430px){
  body.tr-site-shell .tr-feature-grid{ grid-template-columns:1fr; }
  body.tr-site-shell .room-list-row{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:9px; }
  body.tr-site-shell .tr-city-card .card-body{ padding:13px; }
}


/* ---------------------------------------------------------------------
   14B. CHAT UI v9.31 — düzenli mesaj hiyerarşisi / modern rozet / mobil
   --------------------------------------------------------------------- */
body.tr-chat-shell .cht{
  align-items:flex-end !important;
  gap:7px !important;
  margin:0 10px 7px !important;
  min-height:0 !important;
}
body.tr-chat-shell .cht .avatar{
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  border-radius:50% !important;
  border:1px solid rgba(255,255,255,.9) !important;
}
body.tr-chat-shell .cht.sent .avatar{ order:3; visibility:hidden; width:6px !important; min-width:6px !important; }
body.tr-chat-shell .cht .message-data{
  display:flex !important;
  flex-direction:column !important;
  width:fit-content !important;
  max-width:min(76vw,560px) !important;
  padding:6px 10px 5px !important;
  border-radius:17px !important;
  overflow:visible !important;
}
body.tr-chat-shell .cht.replies .message-data{ border-bottom-left-radius:6px !important; }
body.tr-chat-shell .cht.sent .message-data{ border-bottom-right-radius:6px !important; }
body.tr-chat-shell .cht .sender-name{ order:1 !important; display:block !important; margin:0 2px 2px !important; font-size:.72rem !important; line-height:1.1 !important; }
body.tr-chat-shell .cht.replies .sender-name{ color:#5b6472 !important; }
body.tr-chat-shell .cht.sent .sender-name{ color:rgba(255,255,255,.94) !important; }
body.tr-chat-shell .cht .message-html{ order:2 !important; overflow:visible !important; min-width:0; }
body.tr-chat-shell .cht .message-meta-inline{
  order:3 !important;
  align-self:flex-end !important;
  min-height:12px !important;
  padding:2px 2px 0 !important;
  margin:0 !important;
  font-size:9px !important;
  line-height:1 !important;
  gap:4px !important;
  white-space:nowrap !important;
}
body.tr-chat-shell .cht .message-meta-inline .message-time{ font-size:9px !important; font-weight:600 !important; opacity:.72; }
body.tr-chat-shell .cht .message-meta-inline .message-status{ font-size:9px !important; opacity:.78; }
body.tr-chat-shell .cht.replies .message-meta-inline{ color:#7b8491 !important; }
body.tr-chat-shell .cht.sent .message-meta-inline{ color:rgba(255,255,255,.9) !important; }
body.tr-chat-shell .cht.replies + .cht.replies{ margin-top:-2px !important; }
body.tr-chat-shell .cht.sent + .cht.sent{ margin-top:-2px !important; }
body.tr-chat-shell .cht.replies + .cht.replies .avatar{ visibility:hidden !important; }
body.tr-chat-shell .cht.replies + .cht.replies .sender-name{ display:none !important; }
body.tr-chat-shell .cht.sent + .cht.sent .sender-name{ display:none !important; }
body.tr-chat-shell .cht .chat-txt{ padding:2px 2px 1px !important; line-height:1.42 !important; }
body.tr-chat-shell .cht .message-data .chat-img,
body.tr-chat-shell .cht .message-data .chat-gif,
body.tr-chat-shell .cht .message-data .chat-sticker{ margin:2px 0 !important; border-radius:13px !important; }
body.tr-chat-shell .cht .current-chat-reactions{ z-index:4 !important; bottom:-9px !important; }
body.tr-chat-shell .cht .current-reacts{ font-size:12px !important; min-height:22px !important; }
body.tr-chat-shell .messages{
  padding-left:3px !important;
  padding-right:3px !important;
  overscroll-behavior-y:contain !important;
  touch-action:pan-y !important;
  scroll-behavior:auto !important;
}
body.tr-chat-shell .new-date{ margin:13px auto 10px !important; }
body.tr-chat-shell .new-date p{ padding:5px 11px !important; font-size:.7rem !important; }

/* Profilde tüm level rozetleri büyük ve görsel olarak tam; mesaj satırında ikon küçültülür. */
.bt-profile-badge-art{ width:300px !important; max-width:48vw !important; height:64px !important; background:transparent !important; }
.bt-profile-badge-art .bt-level-full-badge{ width:100% !important; max-width:290px !important; height:58px !important; object-fit:contain !important; filter:drop-shadow(0 3px 5px rgba(20,24,38,.14)); }
.cht .user-badge.chat-badge{ background-size:contain !important; background-position:center !important; background-repeat:no-repeat !important; width:16px !important; height:16px !important; min-width:16px !important; min-height:16px !important; display:inline-flex !important; vertical-align:-3px !important; margin-left:4px !important; }

@media(max-width:768px){
  body.tr-chat-shell .cht{ margin-left:6px !important; margin-right:6px !important; }
  body.tr-chat-shell .cht .message-data{ max-width:78vw !important; }
  .bt-profile-badge-art{ width:230px !important; max-width:52vw !important; height:54px !important; }
  .bt-profile-badge-art .bt-level-full-badge{ max-width:225px !important; height:50px !important; }
}

/* ---------------------------------------------------------------------
   15. KARANLIK TEMA — kaynak seviyesinde tamamen devre dışı
   ---------------------------------------------------------------------
   `settheme` geçiş rotası bozulmadı (fonksiyonel kalır); ancak tasarım
   kararı gereği hiçbir yüzeyde lacivert/siyah görünmeyecek şekilde
   `.dark` kapsamındaki tüm kurallar açık paletle eşitlenmiştir. Aşağıdaki
   seçiciler turkiye.css / chatnet.css içindeki orijinal `.dark` kuralları
   ile birebir eşleşecek şekilde yazıldı ki üzerlerine yazabilsinler.
   --------------------------------------------------------------------- */
.dark .tr-hero{ background:linear-gradient(145deg, rgba(225,29,60,.09), #fff 55%) !important; }
.dark .tr-hero h1{ color:var(--bt-red) !important; }
.dark .tr-stats-row>div{ background:#fff !important; }
.dark .tr-stats-row span{ color:var(--bt-muted) !important; }
.dark .tr-toolbar{ background:var(--bt-glass-2) !important; }
.dark .tr-mobile-nav, .dark .tr-mobile-chat-nav{ background:var(--bt-glass-2) !important; border-color:var(--bt-line) !important; }
.dark body.tr-site-shell, .dark body.tr-chat-shell{ background:var(--bt-canvas) !important; color:var(--bt-ink) !important; }
.dark body.tr-site-shell .navbar-scroll{ background:var(--bt-glass-2) !important; }
.dark .tr-city-description{ color:var(--bt-muted) !important; }
.dark body.tr-chat-shell .tr-mobile-chat-nav{ background:var(--bt-glass-2) !important; }
.dark body.auth-body{ background:var(--bt-canvas) !important; color:var(--bt-ink) !important; }
.dark body.auth-body .container-tight{ background:var(--bt-glass-2) !important; color:var(--bt-ink) !important; }
.dark .tr-mobile-chat-nav .tr-mobile-nav-item{ color:var(--bt-muted) !important; }
.dark .tr-mobile-nav-item{ color:var(--bt-muted) !important; }
.dark .tr-mobile-nav-item.active{ background:var(--bt-red-soft) !important; color:var(--bt-red) !important; }
.dark #profile-form .bt-profile-savebar{ background:var(--bt-glass-2) !important; }
.dark .cht.replies .message-data{ background:#fff !important; color:var(--bt-ink) !important; border-color:var(--bt-line) !important; }
.dark .cht.sent .message-data{ background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)) !important; color:#fff !important; }
.dark .new-date p{ color:var(--bt-muted) !important; background:#fff !important; }
.dark .alert{ background:#fff; color:var(--bt-ink); }
html[data-bs-theme="dark"]{ color-scheme:light; }
html[data-bs-theme="dark"] body{ background:var(--bt-canvas) !important; color:var(--bt-ink) !important; }


/* ---------------------------------------------------------------------
   16. ERİŞİLEBİLİRLİK
   --------------------------------------------------------------------- */
@media(prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}


/* =====================================================================
   17. EKLENTİ — v9.1 (2026-09-12)
   ---------------------------------------------------------------------
   index.html, base.index.html, base.auth.html, login/register/forgot,
   chat_room.html (profil sekmesi + grup bilgi paneli + oda breadcrumb'ı)
   ve common_menu.html içinde kullanılan "bt-*" sınıflarının HİÇBİRİ bu
   dosyada tanımlı değildi — bu yüzden bu bölümlerin tamamı stilsiz
   (çıplak tarayıcı varsayılanı) görünüyordu. Bu bölüm, üstteki tasarım
   token'larını (renk/gölge/radius/cam) kullanarak o eksik sınıfların
   tamamını tamamlar. Hiçbir mevcut kural değiştirilmedi, sadece eklendi.
   ===================================================================== */

/* --- 17.1 Üst bar sağ taraf (dil / giriş / hesabım) --- */
body.tr-site-shell .bt-header-actions{
  display:flex; align-items:center; gap:8px; margin-left:auto; order:2;
}
body.tr-site-shell .bt-header-lang-btn{
  display:flex; align-items:center; gap:6px; background:#fff; border:1px solid var(--bt-line);
  border-radius:var(--bt-r-pill); padding:7px 14px 7px 10px; font-weight:600; color:var(--bt-ink-2);
  font-size:.9rem; transition:background .15s ease, border-color .15s ease;
}
body.tr-site-shell .bt-header-lang-btn:hover{ background:var(--bt-red-soft); border-color:var(--bt-red-soft-2); color:var(--bt-red-dark); }
body.tr-site-shell .bt-header-lang-btn::after{ margin-left:2px; }
body.tr-site-shell .bt-header-lang-name{ line-height:1; }
body.tr-site-shell .bt-header-account,
body.tr-site-shell .bt-header-login,
body.tr-site-shell .bt-header-register{
  display:flex; align-items:center; gap:6px; border-radius:var(--bt-r-pill); font-weight:700;
  font-size:.9rem; padding:9px 16px; white-space:nowrap; transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
}
body.tr-site-shell .bt-header-account{ background:var(--bt-red-soft); color:var(--bt-red-dark); }
body.tr-site-shell .bt-header-account:hover{ background:var(--bt-red-soft-2); transform:translateY(-1px); }
body.tr-site-shell .bt-header-account-icon{ display:inline-flex; }
body.tr-site-shell .bt-header-login{ color:var(--bt-ink-2); }
body.tr-site-shell .bt-header-login:hover{ background:var(--bt-canvas); color:var(--bt-ink); }
body.tr-site-shell .bt-header-register{
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)); color:#fff !important;
  box-shadow:var(--bt-shadow-red);
}
body.tr-site-shell .bt-header-register:hover{ transform:translateY(-1px); box-shadow:0 14px 30px rgba(225,29,60,.32); }
@media(max-width:767px){
  body.tr-site-shell .bt-header-actions{ gap:6px; }
  body.tr-site-shell .bt-header-lang-name,
  body.tr-site-shell .bt-header-account-name{ display:none; }
  body.tr-site-shell .bt-header-account,
  body.tr-site-shell .bt-header-login,
  body.tr-site-shell .bt-header-register,
  body.tr-site-shell .bt-header-lang-btn{ padding:9px 11px; }
}

/* --- 17.2 Ortak "chip" bileşeni (profil rozet çipleri, auth görsel çipleri) --- */
.bt-chip{
  display:inline-flex; align-items:center; gap:5px; background:var(--bt-canvas); color:var(--bt-ink-2);
  border:1px solid var(--bt-line); border-radius:var(--bt-r-pill); padding:5px 12px; font-size:.78rem; font-weight:600;
}
.bt-chip i{ font-size:.9rem; }
.bt-chip-role.bt-chip-admin{ background:var(--bt-red-soft); color:var(--bt-red-dark); border-color:var(--bt-red-soft-2); }
.bt-chip-role.bt-chip-mod{ background:#fff7e0; color:#946200; border-color:#f5e2ad; }

/* --- 17.3 ANA SAYFA (bt-home-*) --- */
.bt-homepage{ display:flex; flex-direction:column; gap:56px; padding:0 0 60px; max-width:1180px; margin:0 auto; }

.bt-home-hero{
  position:relative; display:grid; grid-template-columns:1.15fr .85fr; gap:36px; align-items:center;
  margin-top:calc(var(--bt-nav-h) + 26px); padding:44px 40px; border-radius:var(--bt-r-xl);
  background:linear-gradient(160deg,#fff, var(--bt-red-soft) 130%); border:1px solid var(--bt-line-soft);
  box-shadow:var(--bt-shadow-lg); overflow:hidden;
}
.bt-home-hero-glow{ position:absolute; border-radius:50%; filter:blur(60px); pointer-events:none; z-index:0; }
.bt-home-hero-glow-1{ width:380px; height:380px; background:rgba(225,29,60,.16); top:-160px; left:-120px; }
.bt-home-hero-glow-2{ width:300px; height:300px; background:rgba(225,29,60,.10); bottom:-140px; right:10%; }
.bt-home-hero-content{ position:relative; z-index:1; }
.bt-home-kicker{
  display:inline-flex; align-items:center; gap:6px; background:#fff; color:var(--bt-red); font-weight:700;
  font-size:.8rem; padding:7px 14px; border-radius:var(--bt-r-pill); box-shadow:var(--bt-shadow-xs); margin-bottom:18px;
}
.bt-home-hero-content h1{ font-size:2.5rem; line-height:1.14; margin-bottom:14px; }
.bt-home-hero-content h1 strong{ color:var(--bt-red); }
.bt-home-hero-content > p{ color:var(--bt-ink-2); font-size:1.05rem; max-width:520px; margin-bottom:26px; }
.bt-home-search{
  position:relative; display:flex; align-items:center; gap:10px; background:#fff; border:1px solid var(--bt-line);
  border-radius:var(--bt-r-pill); padding:6px 8px 6px 20px; max-width:440px; box-shadow:var(--bt-shadow-sm); margin-bottom:22px;
}
.bt-home-search i.ti-search{ color:var(--bt-muted); font-size:1.1rem; }
.bt-home-search input{
  flex:1; border:none; outline:none; background:transparent; font-size:.98rem; color:var(--bt-ink); min-width:0;
}
.bt-home-search input::placeholder{ color:var(--bt-muted); }
.bt-home-search > span{
  background:var(--bt-red-soft); color:var(--bt-red-dark); font-weight:700; font-size:.82rem;
  padding:8px 14px; border-radius:var(--bt-r-pill); white-space:nowrap;
}
.bt-home-quick a{
  display:inline-flex; align-items:center; gap:8px; background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark));
  color:#fff; font-weight:700; padding:12px 22px; border-radius:var(--bt-r-pill); box-shadow:var(--bt-shadow-red);
  transition:transform .15s ease, box-shadow .15s ease;
}
.bt-home-quick a:hover{ color:#fff; transform:translateY(-2px); box-shadow:0 16px 34px rgba(225,29,60,.32); }

.bt-home-map-card{
  position:relative; z-index:1; background:var(--bt-glass-2); backdrop-filter:var(--bt-glass-blur); -webkit-backdrop-filter:var(--bt-glass-blur);
  border:1px solid var(--bt-line); border-radius:var(--bt-r-lg); padding:22px; box-shadow:var(--bt-shadow-md);
}
.bt-home-map-top{ display:flex; align-items:center; justify-content:space-between; font-weight:700; color:var(--bt-ink-2); margin-bottom:16px; }
.bt-home-map-art{ position:relative; height:132px; display:flex; align-items:center; justify-content:center; }
.bt-tr-map{ width:100%; max-width:300px; height:auto; filter:drop-shadow(0 12px 20px rgba(225,29,60,.28)); }
.bt-tr-map path{ fill:url(#bt-tr-map-grad); }
.bt-map-badge{
  position:absolute; right:14%; bottom:-6px; width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:1.2rem; font-weight:800; color:#fff;
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)); box-shadow:var(--bt-shadow-red);
  border:3px solid #fff;
}
.bt-home-map-art .map-dot{ position:absolute; width:10px; height:10px; border-radius:50%; background:var(--bt-red); opacity:.6; }
.bt-home-map-art .map-dot.d1{ top:10%; left:15%; } .bt-home-map-art .map-dot.d2{ top:20%; right:12%; }
.bt-home-map-art .map-dot.d3{ bottom:15%; left:22%; } .bt-home-map-art .map-dot.d4{ bottom:8%; right:20%; }
.bt-home-map-art .map-dot.d5{ top:50%; left:6%; }
.bt-home-map-bottom{ display:flex; align-items:baseline; gap:8px; justify-content:center; margin-top:14px; }
.bt-home-map-bottom strong{ font-size:1.3rem; color:var(--bt-ink); }
.bt-home-map-bottom span{ color:var(--bt-muted); font-size:.9rem; }

.bt-home-section{ padding:0 4px; }
.bt-section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.bt-section-eyebrow{ display:inline-block; color:var(--bt-red); font-weight:800; font-size:.78rem; letter-spacing:.06em; margin-bottom:6px; }
.bt-section-head h2{ margin:0 0 4px; font-size:1.6rem; }
.bt-section-head p{ margin:0; color:var(--bt-muted); }
.bt-section-link{ display:inline-flex; align-items:center; gap:6px; font-weight:700; white-space:nowrap; }

.bt-region-pills{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.bt-region-pills button{
  appearance:none; border:1px solid var(--bt-line); background:#fff; color:var(--bt-ink-2); font-weight:600;
  font-size:.88rem; padding:9px 18px; border-radius:var(--bt-r-pill); cursor:pointer;
  transition:background .15s ease, color .15s ease, border-color .15s ease, transform .15s ease;
}
.bt-region-pills button:hover{ border-color:var(--bt-red-soft-2); color:var(--bt-red-dark); transform:translateY(-1px); }
.bt-region-pills button.active{
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)); border-color:transparent; color:#fff;
  box-shadow:var(--bt-shadow-red);
}

.bt-room-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:20px; width:100%; min-width:0; }
.bt-load-more-wrap{ display:flex; justify-content:center; margin-top:26px; color:var(--bt-muted); font-weight:600; }
.bt-load-more-wrap #load-more.hidden, .bt-load-more-wrap #load-more-end.hidden{ display:none; }

.bt-home-info-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.bt-home-info-grid article{
  display:flex; gap:14px; align-items:flex-start; background:#fff; border:1px solid var(--bt-line);
  border-radius:var(--bt-r-lg); padding:22px; box-shadow:var(--bt-shadow-xs);
}
.bt-home-info-grid article span{ display:block; color:var(--bt-red); font-weight:800; font-size:.72rem; letter-spacing:.05em; margin-bottom:4px; }
.bt-home-info-grid article h3{ margin:0 0 6px; font-size:1.02rem; }
.bt-home-info-grid article p{ margin:0; color:var(--bt-muted); font-size:.9rem; }
.bt-info-icon{
  flex:none; width:46px; height:46px; border-radius:var(--bt-r-md); display:flex; align-items:center; justify-content:center;
  background:var(--bt-red-soft); color:var(--bt-red); font-size:1.25rem;
}

.bt-home-faq{
  display:grid; grid-template-columns:.9fr 1.1fr; gap:32px; background:#fff; border:1px solid var(--bt-line);
  border-radius:var(--bt-r-xl); padding:36px; box-shadow:var(--bt-shadow-sm);
}
.bt-home-faq h2{ font-size:1.5rem; margin:6px 0 8px; }
.bt-home-faq > div > p{ color:var(--bt-muted); }
.bt-faq-list{ display:flex; flex-direction:column; gap:10px; }
.bt-faq-list details{ border:1px solid var(--bt-line); border-radius:var(--bt-r-md); padding:14px 16px; }
.bt-faq-list summary{ cursor:pointer; font-weight:700; color:var(--bt-ink); display:flex; align-items:center; justify-content:space-between; list-style:none; }
.bt-faq-list summary::-webkit-details-marker{ display:none; }
.bt-faq-list details[open] summary i{ transform:rotate(180deg); }
.bt-faq-list summary i{ transition:transform .18s ease; color:var(--bt-muted); }
.bt-faq-list details p{ margin:10px 0 0; color:var(--bt-muted); }

@media(max-width:991px){
  .bt-home-hero{ grid-template-columns:1fr; padding:32px 24px; text-align:left; }
  /* BT-FIX v9.3: harita kartı artık metnin ÖNÜNE geçmiyor (eskiden
     "order:-1" ile öne alınıyordu). Böylece mobilde kullanıcı sayfayı
     açar açmaz önce başlığı/metni görür, dekoratif harita kartı ikinci
     sırada, daha küçük ve orantılı bir şekilde altında yer alıyor. */
  .bt-home-info-grid{ grid-template-columns:repeat(2,1fr); }
  .bt-home-faq{ grid-template-columns:1fr; }
}
@media(max-width:768px){
  .bt-homepage{ padding-left:12px; padding-right:12px; }
  /* Kartlar ekran genişliğine göre otomatik boyutlanır: sığdığı kadar sütun,
     asla 140px'in altına inmez (metin okunur kalır), asla taşmaz. */
  .bt-room-grid{ grid-template-columns:repeat(auto-fit, minmax(150px,1fr)); gap:12px; }
  .bt-home-map-card{ padding:16px; }
  .bt-home-map-art{ height:100px; }
  .bt-tr-map{ max-width:230px; }
  .bt-map-badge{ width:44px; height:44px; font-size:1.02rem; }
}
@media(max-width:576px){
  .bt-home-hero{ margin-top:calc(var(--bt-nav-h) + 14px); padding:26px 18px; border-radius:var(--bt-r-lg); }
  .bt-home-hero-content h1{ font-size:1.7rem; }
  .bt-home-info-grid{ grid-template-columns:1fr; }
  .bt-room-grid{ grid-template-columns:repeat(auto-fit, minmax(140px,1fr)); gap:10px; }
  .bt-homepage{ gap:40px; }
}

/* --- 17.3.1 Mobilde "il kartı" (tr-city-card) kompakt görünüm ---
   Bu kart bileşeni hem ana sayfada (.bt-room-grid) hem de sohbet içindeki
   "Gruplar" listesinde (.room-list-row) kullanılıyor. Kart genişliği
   2 sütuna düştüğünde (bkz. yukarısı ve turkiye.css) kapak yüksekliği,
   yazı boyutları ve buton boyutları da orantılı küçülmezse içerik kartın
   dışına taşıyor / üst üste biniyordu. Aşağıdaki kurallar her iki grid
   için de aynı kompakt boyutları uygular; !important gerekli çünkü bu
   sınıflar için 6. bölümde masaüstü değerleri body.tr-site-shell önekiyle
   (daha yüksek özgüllükle) tanımlı ve medya sorgusu içermiyor. */
@media(max-width:640px){
  body.tr-site-shell .bt-room-grid,
  body.tr-site-shell .room-list-row{
    grid-template-columns:repeat(auto-fit, minmax(140px,1fr)) !important; gap:10px !important;
  }
  body.tr-site-shell .bt-room-grid .tr-city-card,
  body.tr-site-shell .room-list-row .tr-city-card{ border-radius:var(--bt-r-md) !important; }
  body.tr-site-shell .bt-room-grid .tr-city-cover,
  body.tr-site-shell .room-list-row .tr-city-cover{ height:70px !important; padding:10px !important; }
  body.tr-site-shell .bt-room-grid .tr-city-code,
  body.tr-site-shell .room-list-row .tr-city-code{ font-size:1.25rem !important; }
  body.tr-site-shell .bt-room-grid .tr-fav-btn, body.tr-site-shell .bt-room-grid .tr-share-btn,
  body.tr-site-shell .room-list-row .tr-fav-btn, body.tr-site-shell .room-list-row .tr-share-btn{
    width:26px !important; height:26px !important; top:6px !important; font-size:.8rem;
  }
  body.tr-site-shell .bt-room-grid .tr-fav-btn, body.tr-site-shell .room-list-row .tr-fav-btn{ right:6px !important; }
  body.tr-site-shell .bt-room-grid .tr-share-btn, body.tr-site-shell .room-list-row .tr-share-btn{ right:36px !important; }
  body.tr-site-shell .bt-room-grid .tr-city-online,
  body.tr-site-shell .room-list-row .tr-city-online{
    font-size:.6rem !important; padding:2px 6px !important; left:6px; bottom:6px;
    max-width:calc(100% - 14px) !important;
  }
  body.tr-site-shell .bt-room-grid .tr-city-card .card-body,
  body.tr-site-shell .room-list-row .tr-city-card .card-body{ padding:10px !important; }
  body.tr-site-shell .bt-room-grid .tr-city-icon,
  body.tr-site-shell .room-list-row .tr-city-icon{ width:26px !important; height:26px !important; font-size:.8rem !important; }
  body.tr-site-shell .bt-room-grid .tr-city-card .card-title,
  body.tr-site-shell .room-list-row .tr-city-card .card-title{ font-size:.82rem !important; line-height:1.25; }
  body.tr-site-shell .bt-room-grid .tr-city-region,
  body.tr-site-shell .room-list-row .tr-city-region{ font-size:.66rem !important; }
  body.tr-site-shell .bt-room-grid .tr-city-description,
  body.tr-site-shell .room-list-row .tr-city-description{
    font-size:.68rem !important; margin-top:6px !important; line-height:1.35;
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  }
  body.tr-site-shell .bt-room-grid .room-stats,
  body.tr-site-shell .room-list-row .room-stats{
    font-size:.62rem !important; margin-top:8px !important; padding-top:8px !important; flex-wrap:wrap; gap:4px;
  }
  body.tr-site-shell .bt-room-grid .room-stats span,
  body.tr-site-shell .room-list-row .room-stats span{ white-space:nowrap; }
}

/* --- 17.4 Auth sayfaları (giriş / kayıt / şifre) --- */
.bt-auth-theme-toggle{ position:fixed; top:16px; right:16px; z-index:20; }
.bt-auth-theme-toggle a{
  display:flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%;
  background:#fff; border:1px solid var(--bt-line); color:var(--bt-ink-2); box-shadow:var(--bt-shadow-xs);
}
.bt-auth-row{ min-height:100vh; }
/* BT-FIX: giriş/kayıt/şifre sayfalarındaki sağdaki dekoratif görsel sütunu
   kaldırıldı (talep üzerine); form artık tek sütun olarak ortalanıyor.
   container-tight'ın varsayılan max-width'i formu gereğinden dar
   bırakıyordu, bu yüzden tek-sütun düzeninde biraz daha nefes payı
   veriyoruz. */
.bt-auth-row-solo{ width:100%; margin:0 auto; }
.bt-auth-row-solo .container-tight{ max-width:460px; }
.bt-glass-card{
  background:var(--bt-glass-2); backdrop-filter:var(--bt-glass-blur); -webkit-backdrop-filter:var(--bt-glass-blur);
  border:1px solid var(--bt-line); border-radius:var(--bt-r-xl); box-shadow:var(--bt-shadow-lg); padding-top:28px; padding-bottom:28px;
}
.bt-auth-image{ position:relative; overflow:hidden; }
.bt-auth-image .bg-cover{ background-size:cover; background-position:center; }
.bt-auth-image::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(20,10,15,.05), rgba(15,8,12,.55));
}
.bt-float-chip{
  position:absolute; z-index:2; display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px); color:var(--bt-ink); font-weight:700; font-size:.85rem; padding:10px 16px;
  border-radius:var(--bt-r-pill); box-shadow:var(--bt-shadow-md);
}
.bt-float-chip i{ color:var(--bt-red); }
.bt-auth-links{ text-align:center; }
.bt-auth-links a{ font-weight:600; }
.bt-auth-badge{
  display:inline-flex; align-items:center; gap:6px; background:var(--bt-red-soft); color:var(--bt-red-dark);
  font-weight:700; font-size:.8rem; padding:6px 14px; border-radius:var(--bt-r-pill); margin-bottom:10px;
}
.bt-segmented{ background:var(--bt-canvas); border-radius:var(--bt-r-pill); padding:5px; border:1px solid var(--bt-line); }
.bt-segmented .nav-link{ border-radius:var(--bt-r-pill) !important; font-weight:700; color:var(--bt-ink-2); }
.bt-segmented .nav-link.active{ background:#fff !important; color:var(--bt-red) !important; box-shadow:var(--bt-shadow-xs); }
@media(max-width:576px){ .bt-glass-card{ border-radius:var(--bt-r-lg); } }

/* Form alanları (giriş / kayıt / profil düzenleme ortak) */
.bt-field{
  position:relative; display:flex; align-items:center; background:#fff; border:1px solid var(--bt-line);
  border-radius:var(--bt-r-md); padding:0 4px 0 40px; transition:border-color .15s ease, box-shadow .15s ease;
}
.bt-field:focus-within{ border-color:var(--bt-red-light); box-shadow:0 0 0 3px var(--bt-red-soft); }
.bt-field-icon{ position:absolute; left:14px; color:var(--bt-muted); font-size:1.05rem; pointer-events:none; }
.bt-field input, .bt-field select, .bt-field textarea{
  border:none !important; background:transparent !important; box-shadow:none !important; padding-left:2px !important;
}
.bt-field input:focus, .bt-field select:focus, .bt-field textarea:focus{ outline:none; box-shadow:none !important; }
.bt-field.bt-field-select{ padding-right:4px; }
.bt-field.bt-field-textarea{ align-items:flex-start; padding:12px 12px 12px 40px; }
.bt-field.bt-field-textarea textarea{ resize:vertical; min-height:80px; width:100%; }
.bt-field.bt-field-pw .input-group{ flex:1; background:transparent; }
.bt-field.bt-field-pw .input-group .form-control{ border:none !important; background:transparent !important; box-shadow:none !important; }
.bt-field.bt-field-pw .input-group-text{ background:transparent; border:none; padding-right:12px; }
.bt-field-label{ font-weight:600; color:var(--bt-ink-2); font-size:.86rem; margin-bottom:6px; display:inline-block; }
.bt-dob-field .dob{ padding-left:2px; }
/* BT-FIX (profil "çirkin görünüm"): jquery.date-dropdowns eklentisi doğum
   tarihi için 3 adet düz (tamamen stilsiz, tarayıcı varsayılanı) <select>
   üretiyordu - bunlar diğer şık .bt-field kutularının içine hiç uymuyordu.
   Şimdi bu 3 kutuyu da site input'larıyla aynı görünüme getiriyoruz.
   NOT: özellikler !important ile veriliyor çünkü ".bt-field select" kuralı
   (yukarıda) zaten border/background/padding-left'i !important ile
   sıfırlıyor; aksi halde bu üç kutu yine kenarlıksız/şeffaf kalırdı. */
.bt-dob-field .date-dropdowns{ display:flex; gap:8px; width:100%; }
.bt-dob-field .date-dropdowns select{
  flex:1; min-width:0; appearance:none; -webkit-appearance:none;
  border:1px solid var(--bt-line) !important; border-radius:var(--bt-r-sm);
  background:var(--bt-surface) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%2394a3b8'/></svg>") no-repeat right 10px center !important;
  padding:9px 24px 9px 10px !important; font:inherit; font-size:.86rem; color:var(--bt-ink); height:auto;
}
.bt-dob-field .date-dropdowns select:focus{ outline:none; border-color:var(--bt-red-light) !important; box-shadow:0 0 0 3px var(--bt-red-soft) !important; }
.bt-dob-field .date-dropdowns select.invalid{ border-color:var(--bt-red) !important; }
.dark .bt-dob-field .date-dropdowns select{ background-color:var(--bt-surface) !important; color:var(--bt-ink); }
.bt-char-counter{ text-align:right; font-size:.78rem; color:var(--bt-muted); margin-top:4px; }
.bt-pw-toggle{ color:var(--bt-muted); }
.bt-pw-toggle i.ti-eye-off{ display:none; }
.bt-pw-toggle.active i.ti-eye{ display:none; }
.bt-pw-toggle.active i.ti-eye-off{ display:inline; }
.bt-pw-strength{ margin-top:8px; }
.bt-pw-strength-bar{ height:5px; border-radius:99px; background:var(--bt-line-soft); overflow:hidden; }
.bt-pw-strength-bar span{ display:block; height:100%; width:0%; border-radius:99px; background:var(--bt-red); transition:width .2s ease, background .2s ease; }
.bt-pw-strength-label{ display:block; margin-top:4px; color:var(--bt-muted); }
.bt-security-hint{
  display:flex; gap:10px; align-items:flex-start; background:var(--bt-red-soft); color:var(--bt-red-dark);
  border-radius:var(--bt-r-md); padding:12px 14px; font-size:.85rem; margin-bottom:16px;
}
.bt-stagger > *{ animation:bt-fade-up .35s ease both; }
.bt-stagger > *:nth-child(1){ animation-delay:.02s; } .bt-stagger > *:nth-child(2){ animation-delay:.06s; }
.bt-stagger > *:nth-child(3){ animation-delay:.10s; } .bt-stagger > *:nth-child(4){ animation-delay:.14s; }
.bt-stagger > *:nth-child(5){ animation-delay:.18s; } .bt-stagger > *:nth-child(n+6){ animation-delay:.2s; }
@keyframes bt-fade-up{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:translateY(0);} }

/* --- 17.5 Mobil ofcanvas menüde kullanıcı bağlantıları --- */
.bt-user-link .nav-link{ display:flex; align-items:center; gap:4px; }

/* --- 17.6 Profil sayfası (bt-profile-*) --- */
.bt-profile-wrap{ padding:20px 16px 40px; max-width:960px; margin:0 auto; }
.bt-profile-header{ position:relative; margin-bottom:60px; }
.bt-profile-cover{
  height:200px; border-radius:var(--bt-r-lg); background-size:cover; background-position:center;
  background-color:var(--bt-red-soft); position:relative;
}
.bt-profile-share{
  position:absolute; top:14px; right:14px; width:38px; height:38px; border-radius:50%; border:none;
  background:rgba(255,255,255,.85); backdrop-filter:blur(6px); color:var(--bt-ink); display:flex; align-items:center; justify-content:center;
  box-shadow:var(--bt-shadow-xs);
}
.bt-profile-identity{
  display:flex; align-items:flex-end; gap:18px; flex-wrap:wrap; padding:0 8px; margin-top:-56px; position:relative;
}
.bt-profile-avatar-ring{ position:relative; flex:none; }
.bt-profile-avatar{
  width:112px; height:112px; border-radius:50%; object-fit:cover; border:4px solid #fff; box-shadow:var(--bt-shadow-md); background:#fff;
}
.bt-profile-status-dot{
  position:absolute; right:6px; bottom:6px; width:16px; height:16px; border-radius:50%; background:#9aa0b4; border:3px solid #fff;
}
.bt-profile-status-dot.online{ background:#2ecc71; }
.bt-profile-name-block{ flex:1; min-width:200px; padding-bottom:6px; }
.bt-profile-name{ margin:0 0 2px; font-size:1.35rem; }
.bt-profile-username{ margin:0 0 10px; color:var(--bt-muted); }
.bt-profile-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.bt-profile-actions{ display:flex; gap:10px; padding-bottom:8px; }
.bt-profile-edit-btn{
  display:inline-flex; align-items:center; background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark));
  color:#fff !important; font-weight:700; border-radius:var(--bt-r-pill); padding:10px 20px; border:none; box-shadow:var(--bt-shadow-red);
}
.bt-profile-edit-btn.bt-admin-profile-link{ background:#fff; color:var(--bt-ink) !important; border:1px solid var(--bt-line); box-shadow:var(--bt-shadow-xs); }
/* BT-FIX: turkiye.css genel kullanıcı menüsünü (.channel-list-bottom, içinde
   Çıkış Yap linki vardı) site genelinde gizlediği için profil sayfasına
   her zaman görünen, bağımsız bir çıkış düğmesi eklendi. */
.bt-profile-actions .bt-profile-logout-btn{
  background:#fff; color:var(--bt-red) !important; border:1px solid var(--bt-line); box-shadow:var(--bt-shadow-xs);
}
.bt-profile-actions .bt-profile-logout-btn:hover{ background:#fff1f2; border-color:var(--bt-red); }
.bt-profile-savebar .bt-profile-logout-btn{
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid var(--bt-line); border-radius:var(--bt-r-pill); padding:10px 20px;
  color:var(--bt-ink-2) !important; font-weight:700; background:#fff;
}
.bt-profile-savebar .bt-profile-logout-btn:hover{ background:#fff1f2; color:var(--bt-red) !important; border-color:var(--bt-red); }

.bt-profile-grid{ display:grid; grid-template-columns:1.2fr .8fr 1fr; gap:18px; }
.bt-profile-card{ background:#fff; border:1px solid var(--bt-line); border-radius:var(--bt-r-lg); padding:20px; box-shadow:var(--bt-shadow-xs); }
.bt-profile-card-head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; color:var(--bt-red); }
.bt-profile-card-head h6{ margin:0; color:var(--bt-ink); font-size:.95rem; }
.bt-profile-about-text{ margin:0; color:var(--bt-ink-2); line-height:1.6; }
.bt-profile-about-text.bt-profile-empty{ color:var(--bt-muted); font-style:italic; }
.bt-profile-info-row{ display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--bt-line-soft); }
.bt-profile-info-row:last-child{ border-bottom:none; }
.bt-profile-info-row i{ color:var(--bt-red); font-size:1.1rem; flex:none; }
.bt-profile-info-row div{ display:flex; flex-direction:column; }
.bt-profile-info-row span{ font-size:.76rem; color:var(--bt-muted); }
.bt-profile-info-row strong{ color:var(--bt-ink); font-weight:600; }
.bt-profile-badge-row{ display:flex; flex-wrap:wrap; gap:10px; }
@media(max-width:991px){ .bt-profile-grid{ grid-template-columns:1fr 1fr; } .bt-profile-card-about{ grid-column:1 / -1; } }
@media(max-width:576px){
  .bt-profile-grid{ grid-template-columns:1fr; }
  .bt-profile-identity{ flex-direction:column; align-items:flex-start; margin-top:-40px; }
  .bt-profile-avatar{ width:88px; height:88px; }
  .bt-profile-actions{ width:100%; }
  .bt-profile-edit-btn{ flex:1; justify-content:center; }
}

/* --- 17.7 Profil düzenleme formu --- */
/* BT-PATCH v9.16: alttaki 100px boşluk, "Kaydet" çubuğu ekranın altına sabit
   (position:fixed/sticky) yapışıkken içeriğin çubuğun altında kalmaması için
   eklenmişti. v9.14 yamasıyla çubuk normal akışa (position:static) alındığı
   için bu boşluk artık kullanılmıyor ve formun altında büyük bir beyaz alan
   olarak görünüyordu. */
.bt-profile-edit-wrap{ padding:20px 16px 24px; max-width:820px; margin:0 auto; }
.bt-profile-form-card{ padding:26px; margin-bottom:20px; }

/* BT-FIX v9.4 (profil fotoğrafı alanı yeniden tasarımı): eski sürümde
   kapak ve avatar butonları aynı görsel ağırlıkta olduğu için karışık
   duruyordu. Yeni tasarımda: kapak sade bir zemin, avatar kapağın
   üzerine biniyor ve tek net "kamera" rozetiyle tıklanabilir olduğu
   anlaşılıyor; kapak butonu ise küçük, ikincil bir metin-buton. */
.bt-edit-media{ margin-bottom:28px; }
.bt-edit-cover{
  height:150px; border-radius:var(--bt-r-lg); background-size:cover; background-position:center;
  background-color:var(--bt-canvas); position:relative; display:flex; align-items:flex-start; justify-content:flex-end; padding:12px;
  overflow:hidden;
}
/* Kapak resminin altında hafif bir gradyan: hem kapak butonunu her zaman
   okunur kılar, hem de resim yoksa/açıksa alanı "boş" hissettirmez -
   önceden hiçbir görsel ayırt edici işaret yoktu. */
.bt-edit-cover-fade{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(15,23,42,.28) 0%, rgba(15,23,42,0) 45%, rgba(15,23,42,0) 70%, rgba(15,23,42,.18) 100%);
}
.bt-edit-cover-btn{
  background:rgba(255,255,255,.92); color:var(--bt-ink); font-weight:600; font-size:.78rem; padding:7px 13px;
  border-radius:var(--bt-r-pill); cursor:pointer; display:inline-flex; align-items:center; gap:6px; box-shadow:var(--bt-shadow-xs);
  position:relative; overflow:hidden; z-index:1; max-width:100%;
}
.bt-edit-cover-btn:active{ transform:scale(.97); }
.bt-edit-avatar-row{ display:flex; align-items:center; gap:16px; margin-top:-44px; padding-left:20px; position:relative; z-index:1; }
.bt-edit-avatar-wrap{ position:relative; flex:none; }
.bt-edit-avatar{ width:92px; height:92px; border-radius:50%; object-fit:cover; border:4px solid #fff; box-shadow:var(--bt-shadow-md); background:#fff; display:block; }
.dark .bt-edit-avatar{ border-color:var(--bt-surface); }
.bt-edit-avatar-btn{
  position:absolute; right:-2px; bottom:-2px; width:32px; height:32px; border-radius:50%;
  background:var(--bt-red); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer;
  box-shadow:0 0 0 3px #fff, var(--bt-shadow-xs); overflow:hidden; z-index:2; font-size:.9rem;
  transition:transform .15s ease;
}
.dark .bt-edit-avatar-btn{ box-shadow:0 0 0 3px var(--bt-surface), var(--bt-shadow-xs); }
.bt-edit-avatar-btn:active{ transform:scale(.92); }
/* BT-FIX v9.3: "Kapak resmi" / avatar butonlarının içindeki gerçek
   <input type="file"> tarayıcı tarafından STİLSİZ ("Dosya Seç / Dosya
   seçilmedi") olarak çiziliyordu; bu, butonun genişliğini içeriğe göre
   şişirip kapak/avatar alanının sol tarafından ekran dışına taşmasına
   (profil düzenleme ekranındaki karışıklığa) sebep oluyordu. Input'u
   görünmez ama tıklanabilir hale getiriyoruz (label tıklaması native
   input'u tetiklemeye devam eder), böylece sadece tasarladığımız
   ikon/metin görünür, buton boyutu sabit kalır.
   NOT: input, `hidden`/`display:none` yerine bilinçli olarak
   opacity:0 + tam kaplama ile gizlendi; bazı tarayıcılarda
   display:none input'lu label'lar dosya seçici penceresini güvenilir
   şekilde açmayabiliyor. */
.bt-edit-cover-btn input[type="file"],
.bt-edit-avatar-btn input[type="file"]{
  position:absolute; inset:0; width:100%; height:100%;
  opacity:0; cursor:pointer; margin:0; padding:0; border:0; font-size:0; z-index:3;
}
.bt-edit-avatar-name{ padding-top:14px; min-width:0; }
.bt-edit-avatar-name strong{ display:block; font-weight:700; color:var(--bt-ink); font-size:1rem; line-height:1.25; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bt-edit-avatar-name span{ display:block; color:var(--bt-muted); font-size:.84rem; margin-top:2px; }
.bt-profile-section{ padding:22px 0; border-top:1px solid var(--bt-line-soft); }
.bt-profile-section:first-of-type{ border-top:none; padding-top:0; }
.bt-profile-section-head{ display:flex; gap:12px; align-items:flex-start; margin-bottom:16px; }
.bt-profile-section-head i{ flex:none; width:38px; height:38px; border-radius:var(--bt-r-sm); background:var(--bt-red-soft); color:var(--bt-red); display:flex; align-items:center; justify-content:center; }
.bt-profile-section-head h3{ margin:0 0 2px; font-size:1.02rem; }
.bt-profile-section-head p{ margin:0; color:var(--bt-muted); font-size:.85rem; }
.bt-badge-preferences{ display:flex; flex-direction:column; gap:10px; }
.bt-badge-pref-item{ background:var(--bt-canvas); border:1px solid var(--bt-line); border-radius:var(--bt-r-md); padding:14px 16px; }
.bt-deactivate-btn{ border-radius:var(--bt-r-pill) !important; font-weight:700; }
#profile-form .bt-profile-savebar, #password-form .bt-profile-savebar{ padding:14px 4px; }
@media(max-width:576px){
  .bt-profile-form-card{ padding:18px; }
  .bt-edit-avatar-row{ padding-left:0; gap:12px; margin-top:-38px; }
  .bt-edit-avatar{ width:80px; height:80px; }
  .bt-edit-cover{ height:130px; }
}

/* --- 17.8 Sohbet: grup avatar butonu + "Grup Bilgisi" kayar paneli --- */
.bt-group-avatar-btn{
  width:38px; height:38px; border-radius:50%; overflow:hidden; border:none; padding:0; flex:none;
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)); display:flex; align-items:center; justify-content:center;
}
.bt-group-avatar-btn img{ width:100%; height:100%; object-fit:cover; }
.bt-group-avatar-fallback{ color:#fff; font-weight:800; font-size:1.05rem; }
.bt-group-title-btn{ cursor:pointer; min-width:0; }

body.tr-chat-shell .rightbar-wrapper{
  position:fixed; top:0; right:0; height:100dvh; width:340px; max-width:88vw; z-index:1200;
  transform:translateX(100%); transition:transform .25s ease; box-shadow:var(--bt-shadow-lg);
  display:flex !important; flex-direction:column;
}
body.tr-chat-shell.bt-groupinfo-open .rightbar-wrapper{ transform:translateX(0); }
body.tr-chat-shell.bt-groupinfo-open::after{
  content:""; position:fixed; inset:0; background:rgba(15,10,14,.4); z-index:1190;
}
.bt-group-info-header{
  display:flex; align-items:center; gap:10px; padding:16px 18px; border-bottom:1px solid var(--bt-line);
  font-weight:800; color:var(--bt-ink);
}
.bt-group-info-close{
  width:32px; height:32px; border-radius:50%; border:1px solid var(--bt-line); background:#fff; color:var(--bt-ink-2);
  display:flex; align-items:center; justify-content:center;
}
.bt-group-info-summary{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:26px 18px; border-bottom:1px solid var(--bt-line); }
.bt-group-info-avatar{
  width:84px; height:84px; border-radius:50%; overflow:hidden; background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark));
  display:flex; align-items:center; justify-content:center; margin-bottom:6px;
}
.bt-group-info-avatar img{ width:100%; height:100%; object-fit:cover; }
.bt-group-info-avatar .bt-group-avatar-fallback{ font-size:1.8rem; }
.bt-group-info-name{ font-weight:800; font-size:1.05rem; color:var(--bt-ink); }
.bt-group-info-count{ color:var(--bt-muted); font-size:.85rem; display:flex; align-items:center; gap:5px; }
.bt-group-info-desc{ color:var(--bt-ink-2); font-size:.88rem; margin-top:6px; }
@media(max-width:767px){ body.tr-chat-shell .rightbar-wrapper{ width:100%; max-width:100%; } }

/* --- 17.9 Oda üstü breadcrumb + il rozetleri --- */
.bt-room-breadcrumb{
  display:flex; align-items:center; flex-wrap:wrap; gap:8px; padding:10px 16px; background:#fff;
  border-bottom:1px solid var(--bt-line); font-size:.85rem; color:var(--bt-ink-2);
}
.bt-room-breadcrumb a{ display:inline-flex; align-items:center; gap:4px; color:var(--bt-ink-2); font-weight:600; }
.bt-room-breadcrumb a:hover{ color:var(--bt-red); }
.bt-room-breadcrumb-sep{ color:var(--bt-muted); font-size:.75rem; }
.bt-room-info-chip{
  display:inline-flex; align-items:center; gap:4px; background:var(--bt-red-soft); color:var(--bt-red-dark);
  font-weight:700; font-size:.76rem; padding:4px 10px; border-radius:var(--bt-r-pill); margin-left:2px;
}

/* --- 17.10 Küçük tamamlayıcılar (temel sınıfla birlikte kullanılan varyantlar) --- */
body.tr-site-shell .dropdown.bt-header-lang{ position:relative; }
.bt-float-chip.bt-chip-2{ background:rgba(255,255,255,.96); }
.bt-float-chip.bt-chip-3{ background:rgba(255,255,255,.9); }
.bt-discover-section{ scroll-margin-top:calc(var(--bt-nav-h) + 12px); }

/* --- 17.11 Genel mobil taşma (overflow) güvenliği — v9.2 ---
   Uzun il/şehir adı, uzun kullanıcı adı/soyadı ya da uzun profil metni
   dar ekranlarda satırın dışına taşıp yatay kaydırmaya (yatay scrollbar,
   kesilen/üst üste binen içerik) yol açabiliyordu. Aşağıdaki kurallar
   davranışı değiştirmez, sadece uzun metinlerin kart/konteyner dışına
   taşmadan satır kırmasını (word-wrap) garanti eder ve ana sayfa/profil
   konteynerlerinin görünüm genişliğini asla aşmamasını sağlar. */
.bt-homepage, .bt-profile-wrap, .bt-profile-edit-wrap{ max-width:100%; box-sizing:border-box; }
.bt-home-hero-content h1,
.bt-home-hero-content > p,
.bt-profile-name, .bt-profile-username,
.bt-group-info-name, .bt-group-title-btn,
.tr-city-card .card-title{
  overflow-wrap:break-word; word-break:break-word;
}
@media(max-width:576px){ .bt-profile-name-block{ min-width:0; } }
@media(max-width:400px){
  .bt-home-kicker{ font-size:.72rem; padding:6px 12px; }
  .bt-home-search{ padding:5px 6px 5px 16px; }
  .bt-home-search > span{ display:none; }
}

/* --- 17.12 Profil altı çıkış + canlı il sayaçları --- */
.bt-profile-logout-wrap{
  margin:28px 0 8px; padding-top:20px; border-top:1px solid var(--bt-line);
  display:flex; justify-content:center;
}
.bt-profile-logout-btn{
  width:100%; max-width:520px; min-height:48px; padding:12px 18px; border-radius:14px;
  display:flex; align-items:center; justify-content:center; gap:9px;
  border:1px solid rgba(220,38,38,.22); background:rgba(254,242,242,.9);
  color:#dc2626; font-weight:800; text-decoration:none; transition:all .18s ease;
}
.bt-profile-logout-btn:hover{ background:#fee2e2; color:#b91c1c; transform:translateY(-1px); }
.bt-profile-logout-btn i{ font-size:20px; }
.tr-city-online{ transition:opacity .2s ease; }
.tr-city-online.is-refreshing{ opacity:.55; }
@media(max-width:576px){ .bt-profile-logout-wrap{ margin-top:22px; } .bt-profile-logout-btn{ max-width:none; } }


/* ---------------------------------------------------------------------
   18. SİTE GENELİ TAŞMA / SIKIŞMA GÜVENLİK AĞI — v9.4
   ---------------------------------------------------------------------
   17.11'deki kurallar sadece belirli ana sayfa/profil bileşenlerini
   kapsıyordu. Aşağıdaki kurallar davranışı DEĞİŞTİRMEZ (renk, boyut,
   yerleşim aynı kalır); sadece uzun metin/dar ekran kombinasyonlarında
   herhangi bir buton, çip, sekme veya kartın konteynerinin dışına
   taşmasını / yatay kaydırma çubuğu doğurmasını engeller. Bu dosya
   sitede en son yüklenen katman olduğu için bu kurallar her zaman
   geçerli olur. --------------------------------------------------- */

/* 18.1 — auth (giriş/kayıt/şifre) kabuğu da diğer kabuklar gibi yatay
   taşmaya karşı korunsun; sadece tr-site-shell / tr-chat-shell için
   tanımlıydı. */
html{ overflow-x:hidden; }
body.auth-body{ overflow-x:hidden; width:100%; }

/* 18.2 — Buton / pill / rozet / sekme / dropdown öğesi: içeriği uzun
   olduğunda (uzun il adı, uzun kullanıcı adı, uzun dil/menü metni)
   satır kırmak yerine konteynerden taşmasın ya da bitişik öğeleri
   sıkıştırmasın. */
.btn, .badge, .bt-chip, .bt-float-chip, .nav-link, .dropdown-item,
.bt-region-pills button, .page-link, .tr-mobile-nav-item{
  max-width:100%; overflow-wrap:break-word; word-break:break-word;
}
/* Tek satırda yan yana dizilen (flex) buton/aksiyon grupları: biri uzun
   metinli olduğunda kardeşlerini ekran dışına itmesin, gerekirse alt
   satıra sarsın. */
.d-flex > .btn, .d-flex > .bt-chip, .btn-list, .card-actions, .form-footer{
  flex-wrap:wrap;
}
.btn-list, .form-footer{ row-gap:8px; }

/* 18.3 — Form/kart/konteyner içindeki tüm görseller ve iframe'ler,
   sabit piksel genişlikli gelseler bile kapsayıcılarını asla aşmasın
   (varsayılan boyutları/oranları KORUNUR — sadece bir üst sınır). */
.card img, .bt-glass-card img, .bt-homepage img, .bt-profile-wrap img,
.modal-body img, .message-content img{ max-width:100%; height:auto; }

/* 18.4 — Grid/flex hücrelerinde uzun tek kelime (URL, e-posta, uzun
   kullanıcı adı) satırı genişletip kartı sıkıştırmasın. */
.card-title, .card-subtitle, .card-body, .form-control, .form-select{
  min-width:0;
}

/* 18.5 — select2 arama kutusu (ülke seçimi vb.) dar ekranlarda
   kapsayıcısından taşabiliyordu; genişliğini her zaman %100 ile
   sınırlıyoruz (var olan yükseklik/görünüm aynı kalır). */
.select2-container{ max-width:100% !important; }

/* 18.6 — Yatay taşmaya en sık yol açan büyük/duyarlı olmayan tablo ve
   `<pre>/<code>` blokları: davranış aynı kalsın, sadece taştığında
   sayfayı değil kendini kaydırsın. */
.table-responsive, table{ max-width:100%; }
pre, code{ overflow-x:auto; white-space:pre-wrap; word-break:break-word; }

/* =====================================================================
   BT-DM — Özel Mesajlar (DM) kutusu sıfırdan tasarım
   Modern iOS Mesajlar tarzı: sohbet listesi + "Yeni Mesaj" ekranı.
   ===================================================================== */

/* ---- Sol panel başlığı + "Yeni Mesaj" (kalem) butonu ---- */
.dm-list-topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px 4px; flex-shrink:0;
}
.dm-list-title{
  font-size:1.4rem; font-weight:800; color:var(--bt-ink); margin:0; letter-spacing:-.02em;
}
.btn-dm-compose{
  width:36px; height:36px; border-radius:50%; border:none;
  background:linear-gradient(135deg,var(--bt-red),var(--bt-red-dark)); color:#fff;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  box-shadow:var(--bt-shadow-red); cursor:pointer; transition:transform .15s ease;
}
.btn-dm-compose:hover{ transform:scale(1.06); }
.btn-dm-compose i{ font-size:18px; }

.dm-list-search-row{ padding:6px 14px 10px; flex-shrink:0; }
.dm-list-search-row .form-control{
  border-radius:var(--bt-r-pill) !important; background:var(--bt-canvas) !important;
  border:1px solid var(--bt-line) !important; font-size:.86rem;
}

.private-list-scroll{ position:relative; flex:1 1 auto; min-height:0; overflow-y:auto; overflow-x:hidden; }

/* BT-DM: "Yeni Mesaj" overlay'inin (position:absolute) doğru şekilde
   sidebar-private'a göre konumlanması için konumlandırma bağlamı gerekli.
   Ayrıca başlık/arama kutusu sabit kalsın, sadece liste kendi içinde kaysın
   diye sidebar-private'ı flex sütuna çeviriyoruz (kendi overflow:auto'sunu
   kapatıp kaydırmayı iç .private-list-scroll'a devrediyoruz). */
/* BT-FIX v9.35: KÖK NEDEN — eskiden burada koşulsuz display:flex vardı; bu kural
   chatnet.css'teki '.sidebar-private{display:none}' kuralını ezip Mesajlar panelini
   HER sayfada (profil dahil) görünür yapıyordu. Mobilde JS paneli kapatana kadar
   (birkaç yüz ms) Mesajlar ekranı "yanıp sönüyordu". Artık varsayılan GİZLİ;
   yalnızca jQuery .show() / sunucunun yazdığı inline display:block ile flex olur. */
.sidebar-private.sidebar-height-fix-mt48{ display:none; flex-direction:column; overflow:hidden; }
.sidebar-private.sidebar-height-fix-mt48[style*="display: block"],
.sidebar-private.sidebar-height-fix-mt48[style*="display:block"],
.sidebar-private.sidebar-height-fix-mt48[style*="display: flex"],
.sidebar-private.sidebar-height-fix-mt48[style*="display:flex"]{ display:flex !important; }
.sidebar-private{ position:relative; }

/* ---- Sohbet listesi satırı (iOS Mesajlar tarzı) ---- */
.private-list .dm-row{
  display:flex; align-items:center; gap:10px; padding:10px 14px;
  cursor:pointer; position:relative; transition:background .15s ease;
  border-bottom:1px solid var(--bt-line-soft);
}
.private-list .dm-row:hover, .private-list .dm-row:focus{
  background:var(--bt-canvas); outline:none;
}
.private-list .dm-row.dm-row-pinned{ background:var(--bt-red-soft); }
.private-list .dm-row.dm-row-blocked{ opacity:.55; }

.dm-row-avatar{ position:relative; flex-shrink:0; width:50px; height:50px; }
.dm-row-avatar img.img-profile{
  width:50px; height:50px; border-radius:50%; object-fit:cover; object-position:center;
}
.dm-row-avatar .online-status{
  position:absolute; right:0; bottom:0; width:13px; height:13px; border-radius:50%;
  border:2px solid var(--bt-surface); background:#c7cbd6; display:flex; align-items:center; justify-content:center;
}
.dm-row-avatar .online-status.online{ background:#22c55e; }
.dm-row-avatar .online-status.busy{ background:#f59e0b; }
.dm-row-avatar .online-status.away{ background:#a3a7b4; }
.dm-row-avatar .online-status i{ display:none; }

.dm-row-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.dm-row-top{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.dm-row-name{
  font-weight:750; color:var(--bt-ink); font-size:.95rem; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; display:flex; align-items:center; gap:4px;
}
.dm-pin-icon{ font-size:12px; color:var(--bt-red); transform:rotate(35deg); }
.dm-row-time{ font-size:.72rem; color:var(--bt-muted); flex-shrink:0; }

.dm-row-bottom{ display:flex; align-items:center; gap:6px; min-width:0; }
.dm-row-preview{
  flex:1; min-width:0; font-size:.82rem; color:var(--bt-muted); white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis;
}
.dm-row-preview i{ font-size:12px; margin-right:2px; }
.dm-row-preview-empty{ font-style:italic; }
.dm-mute-icon{ font-size:13px; color:var(--bt-muted); flex-shrink:0; }
.dm-unread-badge{
  flex-shrink:0; min-width:19px; height:19px; padding:0 6px; border-radius:var(--bt-r-pill);
  background:var(--bt-red); color:#fff; font-size:.7rem; font-weight:800;
  display:flex; align-items:center; justify-content:center;
}

.dm-row-actions{ flex-shrink:0; }
.dm-row-action-btn{
  width:28px; height:28px; border:none; background:transparent; color:var(--bt-muted);
  border-radius:50%; display:flex; align-items:center; justify-content:center; cursor:pointer;
  opacity:0; transition:opacity .12s ease, background .12s ease;
}
.private-list .dm-row:hover .dm-row-action-btn{ opacity:1; }
.dm-row-action-btn:hover{ background:var(--bt-line-soft); }
@media (max-width:768px){
  .dm-row-action-btn{ opacity:1; } /* dokunmatikte hover olmadığı için her zaman görünür */
}

/* Hızlı işlem menüsü (sabitle/sessize al/sil) */
.dm-row-menu{
  position:fixed; z-index:2000; min-width:190px; background:#fff; border:1px solid var(--bt-line);
  border-radius:var(--bt-r-md); box-shadow:var(--bt-shadow-lg); padding:6px; backdrop-filter:var(--bt-glass-blur);
}
.dm-row-menu-item{
  display:flex; align-items:center; gap:8px; padding:9px 12px; border-radius:var(--bt-r-xs);
  color:var(--bt-ink-2); font-weight:650; font-size:.86rem; text-decoration:none; cursor:pointer;
}
.dm-row-menu-item:hover{ background:var(--bt-red-soft); color:var(--bt-red-dark); text-decoration:none; }
.dm-row-menu-item.text-danger:hover{ background:#ffe3e7; color:var(--bt-red-dark); }

/* ---- Boş durumlar ---- */
.dm-empty-state, .bt-dm-noselect{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:50px 24px; gap:6px; color:var(--bt-muted); height:100%;
}
.dm-empty-icon, .bt-dm-noselect-icon{
  width:64px; height:64px; border-radius:50%; background:var(--bt-red-soft); color:var(--bt-red);
  display:flex; align-items:center; justify-content:center; font-size:28px; margin-bottom:8px;
}
.dm-empty-state h3, .bt-dm-noselect h3{ font-size:1.1rem; font-weight:800; color:var(--bt-ink); margin:0; }
.dm-empty-state p, .bt-dm-noselect p{ font-size:.86rem; margin:0 0 8px; max-width:260px; }
.dm-empty-state .btn, .bt-dm-noselect .btn{ border-radius:var(--bt-r-pill); font-weight:700; }
.bt-dm-noselect{ position:absolute; inset:0; background:var(--bt-surface-2); z-index:1; }
.dm-no-results{ text-align:center; padding:40px 20px; color:var(--bt-muted); font-size:.86rem; }

/* ---- "Yeni Mesaj" ekranı (compose overlay) ---- */
.dm-compose-panel{
  position:absolute; inset:0; background:var(--bt-surface); z-index:5;
  display:flex; flex-direction:column;
}
.dm-compose-header{
  display:flex; align-items:center; justify-content:space-between; padding:14px 14px 10px;
  border-bottom:1px solid var(--bt-line);
}
.dm-compose-header h3{ font-size:1rem; font-weight:800; color:var(--bt-ink); margin:0; }
.dm-compose-cancel{
  border:none; background:transparent; color:var(--bt-red); font-weight:700; font-size:.9rem;
  cursor:pointer; padding:4px 6px;
}
.dm-compose-header-spacer{ width:52px; } /* başlığı ortalamak için */
.dm-compose-to{
  display:flex; align-items:center; gap:8px; padding:12px 16px; border-bottom:1px solid var(--bt-line);
}
.dm-compose-to-label{ color:var(--bt-muted); font-weight:650; font-size:.86rem; flex-shrink:0; }
.dm-compose-to .form-control{ border:none !important; box-shadow:none !important; padding-left:0 !important; }
.dm-compose-results{ flex:1; overflow-y:auto; }

.dm-search-row{
  display:flex; align-items:center; gap:10px; padding:10px 16px; cursor:pointer;
  transition:background .15s ease;
}
.dm-search-row:hover, .dm-search-row:focus{ background:var(--bt-canvas); outline:none; }
.dm-search-row .dm-row-preview{ color:var(--bt-muted); }
.dm-search-existing{ color:var(--bt-muted); font-size:15px; flex-shrink:0; }

@media (max-width:768px){
  .dm-compose-panel{ position:fixed; top:0; left:0; right:0; bottom:0; z-index:1500; }
}

/* --- BT PATCH v9.14: profil kaydet çubuğu içerik üstüne binmesin --- */
#profile-form .bt-profile-savebar,
#password-form .bt-profile-savebar{
  position:static !important; bottom:auto !important; margin:0 !important;
  padding:14px 0 !important; background:transparent !important;
  backdrop-filter:none !important; border-top:1px solid var(--bt-line) !important;
}

/* --- BT PATCH v9.17 --- */
/* [hidden] özniteliği .bt-room-info-chip{display:inline-flex} tarafından ezilmesin
   (breadcrumb'ta plaka/bölge boşsa JS bu chip'leri gizler). */
.bt-room-breadcrumb [hidden], .bt-room-breadcrumb[hidden]{ display:none !important; }

/* Profil / diğer sekmeler: yükseklik JS'in hesapladığı (bayatlayabilen) --vh yerine
   tarayıcının dinamik viewport'una (dvh) bağlanır. Telefonda klavye/adres çubuğu/sekme
   geçişi sonrası --vh küçük kalıp sayfanın alt yarısını boş bırakıyordu. */
@supports (height:100dvh){
  #main-profile{ height:100dvh; }
}
/* Kaydet çubuğu her genişlikte normal akışta kalır (form alanlarının üstüne binmesin). */
@media(max-width:768px){
  #profile-form .bt-profile-savebar,
  #password-form .bt-profile-savebar{
    position:static !important; bottom:auto !important; margin:0 !important;
    padding:14px 0 !important; background:transparent !important;
    backdrop-filter:none !important;
  }
}


/* ---------- PERFORMANS (v9.29) ----------
   Kaydırılan büyük alanlardaki blur kapatıldı; sadece sabit üst/alt bar hafif blur kullanır. */
body.tr-site-shell footer.footer,
body.tr-site-shell .tr-toolbar,
.bt-home-map-card,.bt-glass-card,
#profile-form .bt-profile-savebar,
body.tr-chat-shell .room-editor,
.dropdown-menu,.dm-row-menu{
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
}
.bt-glass-card,.bt-home-map-card{ background:rgba(255,255,255,.97) !important; }
.modal-backdrop,.modal-blur,.uppy-Dashboard-overlay{ backdrop-filter:none !important; }
/* profil sekmesi: bağımsız katman + dokunmatik kaydırma */
#v-profile-home,#main-profile{ contain:layout style; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; }
.bt-profile-card{ contain:layout paint; }
@media (prefers-reduced-motion:reduce){ *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }

/* BT v9.40 founder promo: additive styles */
.bt-founder-promo{display:flex;align-items:center;gap:20px;margin:26px 0;padding:clamp(20px,4vw,34px);border:1px solid rgba(255,255,255,.8);border-radius:26px;background:linear-gradient(115deg,rgba(255,255,255,.84),rgba(255,235,239,.8));box-shadow:0 14px 40px rgba(151,25,49,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.bt-founder-promo-icon{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#b91e3b,#e76a7e);color:#fff;font-size:29px;box-shadow:0 0 24px #d83c5c33}.bt-founder-promo-copy{flex:1;min-width:0}.bt-founder-promo-copy>span{font-size:10px;letter-spacing:1.7px;font-weight:800;color:#b51e39}.bt-founder-promo-copy h2{margin:7px 0;font-size:clamp(18px,3vw,26px);letter-spacing:-.5px}.bt-founder-promo-copy p{margin:0;color:#6e7075;line-height:1.5;font-size:14px}.bt-founder-promo-button{flex-shrink:0;display:inline-flex;gap:8px;align-items:center;padding:13px 17px;border-radius:14px;background:linear-gradient(110deg,#b51e39,#df465d);color:white!important;text-decoration:none!important;font-weight:750;box-shadow:0 9px 20px #b51e392b}@media(max-width:600px){.bt-founder-promo{align-items:flex-start;flex-wrap:wrap;gap:13px;border-radius:21px}.bt-founder-promo-icon{flex-basis:46px;height:46px;font-size:23px;border-radius:14px}.bt-founder-promo-copy{flex-basis:calc(100% - 60px)}.bt-founder-promo-button{width:100%;justify-content:center}}

/* BT v9.41 — Founder identity + clear chat recovery state */
.bt-founder-name{background:linear-gradient(100deg,#f59e0b 0%,#f43f5e 18%,#a855f7 38%,#06b6d4 58%,#22c55e 76%,#f59e0b 100%);background-size:240% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:btFounderSpectrum 4.8s linear infinite;font-weight:850!important;filter:drop-shadow(0 0 8px rgba(168,85,247,.12))}
.bt-founder-mini-badge{display:inline-flex;align-items:center;gap:3px;margin-left:5px;padding:2px 6px;border-radius:999px;font-size:9px;line-height:1.5;font-weight:850;letter-spacing:.35px;color:#fff;background:linear-gradient(110deg,#f59e0b,#f43f5e,#8b5cf6);box-shadow:0 0 12px rgba(217,70,239,.22);vertical-align:middle}
.bt-chat-load-error{max-width:420px;margin:24px auto;padding:24px 20px;border:1px solid rgba(244,63,94,.18);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,244,247,.92));box-shadow:0 16px 44px rgba(190,24,93,.09);text-align:center}
.bt-chat-load-error-icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto 12px;border-radius:16px;background:linear-gradient(135deg,#fff1f2,#fce7f3);color:#e11d48;font-size:24px}
.bt-chat-load-error strong{display:block;color:#27212a;font-size:15px}.bt-chat-load-error p{margin:7px 0 16px;color:#77717d;font-size:13px}.bt-chat-load-error-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.bt-chat-load-error-actions a,.bt-chat-load-error-actions button{border:0;border-radius:11px;padding:10px 14px;font-weight:750;font-size:12px;text-decoration:none;cursor:pointer}.bt-chat-load-error-actions a{background:linear-gradient(110deg,#e11d48,#a855f7);color:#fff}.bt-chat-load-error-actions button{background:#f4f4f5;color:#3f3f46}
@keyframes btFounderSpectrum{to{background-position:240% 0}}
@media(prefers-reduced-motion:reduce){.bt-founder-name{animation:none!important;background-position:50% 0!important}}

.bt-founder-promo-icon i{font-size:29px;line-height:1}.bt-founder-promo-icon{display:grid;place-items:center}

/* BT founder Premium styles — user-selectable animated username themes */
.bt-premium-name{display:inline-block;font-weight:900!important;background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:btFounderSpectrum 3.8s linear infinite;filter:drop-shadow(0 0 9px rgba(225,29,72,.22))}
.bt-premium-spectrum{background-image:linear-gradient(100deg,#f59e0b,#f43f5e,#a855f7,#06b6d4,#22c55e,#f59e0b)}
.bt-premium-ruby{background-image:linear-gradient(100deg,#7f1d1d,#ef4444,#fb7185,#fda4af,#7f1d1d)}
.bt-premium-ocean{background-image:linear-gradient(100deg,#0e7490,#38bdf8,#2563eb,#818cf8,#0e7490)}
.bt-premium-aurora{background-image:linear-gradient(100deg,#10b981,#06b6d4,#8b5cf6,#ec4899,#10b981)}
.bt-premium-sunset{background-image:linear-gradient(100deg,#f97316,#f43f5e,#c026d3,#f59e0b)}
.bt-premium-emerald{background-image:linear-gradient(100deg,#065f46,#10b981,#a3e635,#059669)}
.bt-premium-violet{background-image:linear-gradient(100deg,#6d28d9,#a78bfa,#ec4899,#7c3aed)}
.bt-premium-gold{background-image:linear-gradient(100deg,#92400e,#fbbf24,#fff7ad,#d97706)}
.bt-premium-ice{background-image:linear-gradient(100deg,#0e7490,#bae6fd,#fff,#60a5fa)}
.bt-premium-neon{background-image:linear-gradient(100deg,#22c55e,#a3e635,#06b6d4,#22c55e);filter:drop-shadow(0 0 10px rgba(34,197,94,.32))}
.bt-premium-rose{background-image:linear-gradient(100deg,#be185d,#fb7185,#f0abfc,#e11d48)}
.bt-premium-cosmic{background-image:linear-gradient(100deg,#312e81,#8b5cf6,#ec4899,#38bdf8,#312e81)}
.bt-premium-lava{background-image:linear-gradient(100deg,#7f1d1d,#ea580c,#facc15,#ef4444)}
.bt-premium-mint{background-image:linear-gradient(100deg,#0f766e,#5eead4,#a7f3d0,#14b8a6)}
.bt-premium-royal{background-image:linear-gradient(100deg,#1e3a8a,#6366f1,#c4b5fd,#7c3aed)}
@media(prefers-reduced-motion:reduce){.bt-premium-name{animation:none!important;background-position:50% 0!important}}

/* Bizim Topraklar V11.3.2 — Premium kimlik her yerde okunabilir kalsın */
.bt-premium-mini-badge{display:inline-flex;align-items:center;margin-left:4px;padding:1px 5px;border-radius:999px;background:linear-gradient(120deg,#be123c,#e11d48);color:#fff!important;font:800 9px/1.55 system-ui,sans-serif;letter-spacing:.25px;vertical-align:middle;white-space:nowrap}
.bt-founder-mini-badge{display:inline-flex;align-items:center;gap:3px;margin-left:4px;padding:1px 5px;border-radius:999px;background:#fff1f4;border:1px solid #fecdd3;color:#9f1239!important;font:800 9px/1.55 system-ui,sans-serif;vertical-align:middle;white-space:nowrap}
