/* =========================
   Custom site styles
   ========================= */

/* Neighbor popover */
.popover.neighbor-popover { max-width: 320px; }
.popover.neighbor-popover .popover-header { padding:.35rem .5rem; font-size:.875rem; }
.popover.neighbor-popover .popover-body { padding:.5rem; }

/* The preview image */
.popover.neighbor-popover .neighbor-tip-img{
  display:block;
  width:100%;
  height:auto;            /* prevents stretching */
  border-radius:.5rem;
}

/* ensure the popover can spill outside the hero card */
.hero-wrap { overflow: visible; }


/* Layout */
:root { --navbar-sticky-offset: 84px; }

@media (min-width: 992px){
  .profile-sidebar { position: sticky; top: var(--navbar-sticky-offset); }
}

.title-bar { gap: .75rem; }
.title-bar h1 { margin: 0; }

/* Chips / badges */
.stat-chip {
  background:#f8f9fa;
  border:1px solid #e9ecef;
  border-radius:999px;
  padding:.35rem .6rem;
  font-size:.84rem;
}
.badge-outline { border:1px solid #ced4da; background:#fff; color:#6c757d; }
.badge-pill { border-radius: 10rem; } /* your snippet */
.flag-emoji { font-size: 1.15em; line-height: 1; }

/* Cards & text clamping */
.card-thumb {            /* your snippet */
  aspect-ratio: 16 / 9;
  object-fit: cover;
  width: 100%;
  display: block;
}
.card-title {            /* your snippet */
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-text {             /* your snippet */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
/* Utility line clamps */
.line-clamp-1 {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:1;
  overflow:hidden;
}
.line-clamp-2 {
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;
  overflow:hidden;
}

/* Hero header */
.hero-wrap { position: relative; }
.hero-badges {
  position:absolute; left:.75rem; bottom:.75rem;
  display:flex; gap:.4rem;
}

/* Hover nav arrows on hero */
.nav-arrow{
  width: 48px; height: 48px; border-radius: 50%;
  font-size: 1.5rem; display:flex; align-items:center; justify-content:center;
  background-color: rgba(0,0,0,.25);
  border-color: rgba(255,255,255,.6);
  color:#fff; opacity:.85;
  transition: opacity .15s ease, background-color .15s ease, transform .15s ease;
}
.nav-arrow:hover{ opacity:1; background-color: rgba(0,0,0,.4); transform: translateY(-1px); }
.hero-wrap .nav-arrow { opacity: 0; }
.hero-wrap:hover .nav-arrow { opacity: .85; }

/* Enter Chat button over hero image */
.enter-chat-over-hero {
  position:absolute; right:.75rem; bottom:.75rem; z-index: 3;
}

/* Gallery */
.gallery img { aspect-ratio: 1 / 1; object-fit: cover; }
.related img.card-img-top { aspect-ratio: 4 / 3; object-fit: cover; }

/* Compact next/prev buttons in title bar */
.nav-neighbor { white-space: nowrap; }

/* Popover used for neighbor previews */
.popover { max-width: 260px; }
.popover .neighbor-tip-img{
  max-width: 240px; height:auto; display:block; border-radius:.5rem; margin-bottom:.35rem;
}
.popover .neighbor-tip-title{ margin:0; white-space: normal; }

/* Image Modal (dataset toggles + navigation) */
.modal-img-wrap {
  position: relative; background:#000;
  display:flex; align-items:center; justify-content:center;
}
.modal-img-wrap img {
  width:100%; height:auto; max-height:80vh; object-fit:contain; background:#000;
}
.modal-prev, .modal-next{
  position:absolute; top:50%; transform:translateY(-50%); z-index:2;
  width:42px; height:42px; border-radius:50%; border:0;
  background:rgba(255,255,255,.2); color:#fff; font-size:1.5rem; line-height:1;
}
.modal-prev:hover, .modal-next:hover{ background:rgba(255,255,255,.35); }
.modal-prev{ left:.5rem; } .modal-next{ right:.5rem; }
.dataset-toggle .btn{ padding:.15rem .4rem; }

/* BTC tip modal bits */
.btc-live-rate-label { opacity:.8; }
#btcQr canvas, #btcQr img { display:block; width:240px; height:240px; }

/* Small helpers */
img { height:auto; }
a.text-decoration-none:hover { text-decoration: underline; }
