    :root{
      --br-bg:#f4f1ea;
      --br-surface:#ffffff;
      --br-border:#e6e0d6;
      --br-text:#222;
      --br-muted:#6b6b6b;
      --br-link:#00635d;
      --br-accent:#756452;
      --br-radius:14px;
      --br-shadow: 0 1px 0 rgba(0,0,0,.06);
    }

    body{ background: var(--br-bg); color: var(--br-text); }
    a{ color: var(--br-link); text-decoration: none; }
    a:hover{ opacity: .9; }

    /* Genel kart hissi */
    .br-card{
      background: var(--br-surface);
      border: 1px solid var(--br-border);
      border-radius: var(--br-radius);
      box-shadow: var(--br-shadow);
    }

    /* Navbar */
    .navbar{
      background: rgba(244,241,234,.92) !important;
      backdrop-filter: blur(8px);
      border-bottom: 1px solid var(--br-border);
    }
    .brand{
      font-weight: 900;
      letter-spacing: .2px;
      font-size: 1.2rem;
      color:#111 !important;
    }
    .brand span{ color: var(--br-accent); }

    /* Hero */
    .hero{
      background: linear-gradient(110deg, rgba(237,239,226,0.95), rgba(207,224,218,0.95));
      border: 1px solid var(--br-border);
      border-radius: var(--br-radius);
      box-shadow: var(--br-shadow);
      overflow: hidden;
      position: relative;
    }
    .hero::after{
      content:"";
      position:absolute; inset:0;
      background-image: url("https://images.unsplash.com/photo-1524995997946-a1c2e315a42f?q=80&w=1600&auto=format&fit=crop");
      background-size: cover;
      background-position: center;
      opacity:.12;
      pointer-events:none;
    }
    .hero > .inner{ position: relative; z-index: 1; }
    .hero h1{ font-weight:900; letter-spacing:-.3px; }
    .hero p{ color:#333; }

    /* Search */
    .search-wrap{
      background: rgba(255,255,255,.85);
      border: 1px solid var(--br-border);
      border-radius: 999px;
      padding: 6px;
    }
    .search-wrap .form-control{
      border:0;
      box-shadow:none !important;
      background: transparent;
      height: 46px;
    }
    .search-wrap .btn{
      border-radius: 999px;
      height: 46px;
      background: var(--br-accent);
      border-color: var(--br-accent);
      font-weight: 800;
    }

    /* Book cards */
    .book-card{
      border: 1px solid var(--br-border);
      border-radius: 12px;
      overflow: hidden;
      background: #fff;
      box-shadow: var(--br-shadow);
      transition: transform .15s ease;
      height: 100%;
    }
    .book-card:hover{ transform: translateY(-2px); }
    .book-card img{
      width: 100%;
      height: 220px;
      object-fit: cover;
      background: #fafafa;
    }
    .book-title{
      font-weight: 900;
      font-size: .95rem;
      line-height: 1.2;
      margin-bottom: 6px;
    }
    .book-meta{ color: var(--br-muted); font-size: .85rem; }

    /* Carousel */
    .carousel .carousel-inner{
      border-radius: var(--br-radius);
      overflow: hidden;
    }
    .carousel-item{
      padding: 10px 8px 14px;
    }
    .rec-row{
      display:flex;
      gap: 14px;
      overflow-x:auto;
      padding: 6px 2px 2px;
      scroll-snap-type: x mandatory;
    }
    .rec-row::-webkit-scrollbar{ height: 8px; }
    .rec-row::-webkit-scrollbar-thumb{ background: #cdbfb0; border-radius: 8px; }
    .rec-mini{
      flex: 0 0 auto;
      width: 140px;
      scroll-snap-align: start;
    }
    .rec-mini img{
      width: 140px;
      height: 200px;
      object-fit: cover;
      border-radius: 10px;
      border: 1px solid var(--br-border);
      background:#fff;
      box-shadow: var(--br-shadow);
      transition: transform .15s ease;
    }
    .rec-mini:hover img{ transform: scale(1.02); }
    .rec-mini .t{
      font-size: .85rem;
      font-weight: 900;
      margin-top: 8px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      width: 140px;
    }
    .rec-mini .a{
      font-size: .78rem;
      color: var(--br-muted);
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
      width: 140px;
    }

    /* Side widgets */
    .widget-title{
      font-weight: 900;
      font-size: 1.05rem;
      margin-bottom: 10px;
    }
    .quote-item{
      border: 1px solid var(--br-border);
      border-radius: 12px;
      padding: 12px;
      background:#fafafa;
    }
    .quote-item p{
      margin:0;
      color:#333;
      font-size: .95rem;
    }
    .quote-item .src{
      margin-top: 8px;
      font-weight: 800;
      color: var(--br-accent);
      font-size: .9rem;
      display:block;
    }
    .comment-item{
      border: 1px solid var(--br-border);
      border-radius: 12px;
      padding: 12px;
      background:#fff;
    }
    .comment-item strong{ color: var(--br-accent); }

    /* Footer */
    footer{
      border-top: 1px solid var(--br-border);
      color: var(--br-muted);
    }



.book-title{
  font-weight: 900;
  font-size: .95rem;
  line-height: 1.3;

  display: -webkit-box;
  -webkit-line-clamp: 2;        /* 👈 max 2 satır */
  -webkit-box-orient: vertical;

  overflow: hidden;
  text-overflow: ellipsis;

  min-height: calc(1.3em * 2); /* kart hizası bozulmasın */
}

    /* Sol kolon sticky */
.sticky-left{
  position: sticky;
  top: 88px;              /* header yüksekliğine göre ayarla */
  align-self: start;      /* bootstrap row içinde sticky'nin şartı */
}





/* Mobilde sticky kapat (istersen) */
@media (max-width: 991.98px){
  .sticky-left{
    position: static;
    top: auto;
  }
}


    /* Responsive tweaks */
    @media (max-width: 576px){
      .hero h1{ font-size: 1.5rem; }
      .rec-mini{ width: 120px; }
      .rec-mini img{ width: 120px; height: 175px; }
      .rec-mini .t, .rec-mini .a{ width: 120px; }
    }







    /* === Book Detail Pro Layout === */
.br-detail .fw-black{ font-weight: 900; }
.br-title{ font-weight: 900; letter-spacing:-.2px; margin:0; }
.br-h1{ font-weight: 900; font-size: 1.05rem; line-height: 1.2; }
.br-muted{ color: var(--br-muted, #6b6b6b); }
.br-link{ color: var(--br-link, #00635d); text-decoration:none; }
.br-link:hover{ opacity:.9; }

.br-dot{ display:inline-block; width:4px; height:4px; border-radius:50%; background:#b9b0a3; margin: 0 .55rem; transform: translateY(-2px); }

.br-card{
  background: var(--br-surface, #fff);
  border: 1px solid var(--br-border, #e6e0d6);
  border-radius: var(--br-radius, 14px);
  box-shadow: var(--br-shadow, 0 1px 0 rgba(0,0,0,.06));
}

.br-pill{
  background:#f4f1ea;
  border:1px solid var(--br-border, #e6e0d6);
  border-radius: 999px;
  padding:.35rem .7rem;
  font-weight: 800;
  font-size: .82rem;
}

.br-cover{
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--br-border, #e6e0d6);
  background:#fafafa;
}
.br-cover img{
  width:100%;
  height:auto;
  display:block;
}



/* Description */
.br-desc{ font-size: .98rem; color:#222; }
.br-clamp-1,
.br-clamp-2,
.br-clamp-6{
  display:-webkit-box;
  -webkit-box-orient: vertical;
  overflow:hidden;
}
.br-clamp-1{ -webkit-line-clamp: 1; }
.br-clamp-2{ -webkit-line-clamp: 2; }
.br-clamp-6{ -webkit-line-clamp: 6; }

/* Tabs */
.br-tabs .nav-link{ color:#333; }
.br-tabs .nav-link.active{
  font-weight: 900;
  color:#111;
}

/* Comment blocks */
.br-comment{
  border:1px solid var(--br-border, #e6e0d6);
  border-radius: 12px;
  padding: 12px;
  background:#fff;
}
.br-quote{
  border:1px solid var(--br-border, #e6e0d6);
  border-radius: 12px;
  padding: 12px;
  background:#fafafa;
}

/* Status buttons wrap */
.br-status{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.br-status .btn{ border-radius: 10px; }

/* Tags */
.br-tag{
  display:inline-flex;
  align-items:center;
  padding:.35rem .6rem;
  border:1px solid var(--br-border, #e6e0d6);
  border-radius:999px;
  background:#fff;
  font-weight: 800;
  font-size:.82rem;
  color:#333;
  text-decoration:none;
}
.br-tag:hover{ background:#fafafa; }

/* Contributors list */
.br-user{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px;
  border:1px solid var(--br-border, #e6e0d6);
  border-radius: 12px;
  background:#fff;
  text-decoration:none;
  color:#222;
}
.br-user:hover{ background:#fafafa; }
.br-user-avatar{
  width:30px; height:30px;
  border-radius: 10px;
  background: linear-gradient(135deg, #d6c7b6, #efe7dc);
  border:1px solid var(--br-border, #e6e0d6);
}
.br-user-name{ font-weight: 900; font-size:.92rem; }


/* 6 satır sabitle */
.br-desc{
  overflow: hidden;
  transition: max-height .45s ease, opacity .25s ease;
  line-height: 1.6;
}

/* Kapalı hali (yaklaşık 6 satır) */
.br-desc.br-collapsed{
  max-height: 9.6em; /* 6 satır x 1.6 line-height */
  position: relative;
}

/* Açık hali */
.br-desc.br-expanded{
  max-height: 2000px; /* güvenli büyük değer */
}

/* Alt fade efekti (çok yakışıyor) */
.br-desc.br-collapsed::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3em;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0),
    #fff 85%
  );
}



:root{
  --br-sticky-top: 84px; /* navbar yüksekliğin */
}

@media (min-width: 992px){
  .br-sticky{
    position: sticky;
    top: var(--br-sticky-top);
    align-self: flex-start;
  }
  .br-sticky-scroll{
    max-height: calc(100vh - var(--br-sticky-top) - 18px);
    overflow: auto;
    padding-right: 4px;
  }
}

@media (max-width: 991.98px){
  .br-sticky{ position: static; top:auto; }
  .br-sticky-scroll{ max-height:none; overflow: visible; padding-right:0; }
}

/* Bookrate pagination */
.br-pagination .page-link{
  border-radius: 12px !important;
  border: 1px solid rgba(0,0,0,.15);
  color: #111;
  background: #fff;
  font-weight: 700;
  padding: .45rem .75rem;
}

.br-pagination .page-item.active .page-link{
  background: #111;
  border-color: #111;
  color: #fff;
}

.br-pagination .page-link:hover{
  background: rgba(0,0,0,.06);
  color: #111;
}

.br-pagination .page-item.disabled .page-link{
  opacity: .45;
}

.br-pagination .page-link:focus{
  box-shadow: 0 0 0 .2rem rgba(245, 140, 0, .25); /* turuncu focus */
}





