:root{--brand:#0d6efd}
body{background:#f8f9fa}
.navbar-brand{letter-spacing:.2px}
.hero{background:linear-gradient(180deg,#ffffff, #f3f6fb); border-bottom:1px solid #e9ecef}
.card-book{transition:transform .15s ease, box-shadow .15s ease}
.card-book:hover{transform:translateY(-2px); box-shadow:0 .4rem 1.25rem rgba(0,0,0,.08)}
.badge-soft{background:rgba(13,110,253,.1); color:#0d6efd}
.badge-free{background:rgba(25,135,84,.12); color:#198754}
.badge-paid{background:rgba(255,193,7,.18); color:#ab7d00}
.text-truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ratio-2x3{--bs-aspect-ratio:calc(3/2*100%)}
footer .muted{color:#8b98a5}
footer a{color:inherit}
.brand{
  display:flex;
  align-items:center;
  gap:.7rem;
  text-decoration:none;
}

.brand-v1 .brand-text{
  font-weight: 900;
  letter-spacing: .15px;
  color:#111;
  line-height: 1;
}

.mark{ display:inline-block; }

.mark-book{
  width: 20px;
  height: 20px;
  border-radius: 7px;
  position: relative;
  background:
    linear-gradient(
      90deg,
      rgba(13,110,253,.95) 0 34%,
      rgba(13,110,253,.30) 34% 38%,
      rgba(13,110,253,.14) 38% 100%
    );
  box-shadow: 0 12px 26px rgba(13,110,253,.18);
  transform: translateY(-.5px);
}

.mark-book::after{
  content:"";
  position:absolute;
  right: 3px;
  top: 4px;
  width: 7px;
  height: 12px;
  border-radius: 5px;
  background: rgba(255,255,255,.62);
}
.brand-v1:hover .mark-book{
  box-shadow: 0 14px 30px rgba(13,110,253,.22);
}
.brand-v1:hover .brand-text{
  color: rgba(17,17,17,.92);
}
.hero{
  border-radius: 18px;
  padding: 18px;
  border: 1px solid rgba(0,0,0,.06);
  background:
    radial-gradient(600px 200px at 10% 0%, rgba(13,110,253,.18), transparent 60%),
    radial-gradient(600px 200px at 90% 0%, rgba(25,135,84,.16), transparent 60%),
    #fff;
}

/* Filter pills */
.pill{
  display:inline-flex; align-items:center;
  padding: .48rem .85rem;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.10);
  background: rgba(255,255,255,.82);
  text-decoration:none;
  color:#111;
  font-size:.9rem;
  transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.pill:hover{
  transform: translateY(-1px);
  border-color: rgba(0,0,0,.18);
  box-shadow: 0 .5rem 1.2rem rgba(0,0,0,.08);
}
.pill-active{
  border-color: rgba(13,110,253,.35);
  background: rgba(13,110,253,.10);
  color:#0d6efd;
}

/* Card */
.card-book{
  border-radius: 18px;
  overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease;
}
.card-book:hover{
  transform: translateY(-3px);
  box-shadow: 0 1.2rem 2.2rem rgba(0,0,0,.12) !important;
}

/* Badges */
.badge-free{
  background: rgba(25,135,84,.12);
  color: #198754;
  border: 1px solid rgba(25,135,84,.25);
}
.badge-paid{
  background: rgba(255,193,7,.18);
  color: #8a6d00;
  border: 1px solid rgba(255,193,7,.30);
}

/* “X indirildi” chip */
.meta-chip{
  display:inline-flex; align-items:center;
  padding: .22rem .55rem;
  border-radius: 999px;
  background: rgba(13,110,253,.08);
  border: 1px solid rgba(13,110,253,.18);
  color: rgba(13,110,253,.95);
  font-size: .78rem;
  white-space: nowrap;
}
.text-truncate-3{
  display:-webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.site-footer{
  border-top: 1px solid rgba(0,0,0,.07);
  background: #fff;
}
.site-footer a{ text-decoration:none; }
.site-footer a:hover{ text-decoration:underline; }
.footer-title{ font-weight: 700; font-size: .95rem; margin-bottom: .6rem; }
.footer-link{ display:block; color: rgba(33,37,41,.72); padding: .12rem 0; }
.footer-link:hover{ color: rgba(13,110,253,.95); }

/* Buttons small lift */
.btn-success{ box-shadow: 0 .6rem 1.4rem rgba(25,135,84,.18); }
.btn-warning{ box-shadow: 0 .6rem 1.4rem rgba(255,193,7,.18); }
.isbn-pill{
  display:inline-flex;
  padding: .22rem .55rem;
  border-radius: 999px;
  font-size: .78rem;
  color: rgba(33,37,41,.75);
  background: rgba(33,37,41,.06);
  border: 1px solid rgba(33,37,41,.10);
  white-space: nowrap;
}
.download-meta{
  margin-top: .25rem;
  margin-bottom: .6rem;
  padding: .35rem .6rem;
  border-radius: 12px;
  background: rgba(13,110,253,.06);
  border: 1px solid rgba(13,110,253,.12);
  color: rgba(33,37,41,.75);
  font-size: .82rem;
  line-height: 1.2;
}
/* Detail page */
.book-hero{
  border-radius: 18px;
  padding: 16px;
  border: 1px solid rgba(0,0,0,.06);
  background:
    radial-gradient(700px 240px at 10% 0%, rgba(13,110,253,.14), transparent 60%),
    radial-gradient(700px 240px at 90% 0%, rgba(25,135,84,.12), transparent 60%),
    #fff;
}

.book-desc{
  color: rgba(33,37,41,.85);
  line-height: 1.65;
  font-size: 1.02rem;
}
@media (min-width: 992px){
  .book-cta{
    position: sticky;
    top: 88px; 
  }
}
/* Minimal footer */
.footer-minimal{
  border-top: 1px solid rgba(0,0,0,.06);
  background: #fff;
}

.footer-legal-link{
  color: rgba(33,37,41,.65);
  text-decoration: none;
}

.footer-legal-link:hover{
  color: rgba(13,110,253,.95);
  text-decoration: underline;
}
.brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; }
.brand .brand-text{ font-weight:900; letter-spacing:.15px; color:#111; }

.mark{ display:inline-block; }
.mark-book{
  width:18px; height:18px; border-radius:6px;
  background:
    linear-gradient(90deg, rgba(13,110,253,.95) 0 32%, rgba(13,110,253,.25) 32% 36%, rgba(13,110,253,.12) 36% 100%);
  box-shadow: 0 10px 24px rgba(13,110,253,.18);
  position: relative;
}
.mark-book::after{
  content:"";
  position:absolute;
  right:3px; top:4px;
  width:6px; height:10px;
  border-radius:4px;
  background: rgba(255,255,255,.65);
}