:root{
  --brand-primary:#202060;
  --brand-secondary:#ff9227;
  --brand-accent:#f8d008;
  --brand-bg:#ffffff;
  --brand-surface:#f7f7fb;
  --brand-text:#111827;
  --brand-muted:#6b7280;
  --brand-border:rgba(17,24,39,.12);
  --radius:14px;
}

body{
  background: var(--brand-bg);
  color: var(--brand-text);
}

.letterspace{ letter-spacing:.06em; }

.top-strip{
  background: linear-gradient(90deg, var(--brand-accent), #e59f00);
  color: #1f2937;
}

.top-link{
  color:#1f2937;
  text-decoration:none;
}
.top-link:hover{ text-decoration:underline; }

.brand-logo{
  width:44px;
  height:44px;
  object-fit:contain;
}

.brand-logo-lg{
  width:64px;
  height:64px;
}

.lahiri-thumb{
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:999px;
  border:2px solid rgba(255,255,255,.5);
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
}

.header-portrait{
  min-height: 64px;
}

.brand-name{
  font-weight:800;
  font-size:1.15rem;
  color:var(--brand-primary);
  line-height:1.1;
}
.brand-tagline{
  font-size:.75rem;
  color:var(--brand-muted);
  letter-spacing:.02em;
}

.searchbar .form-control,
.searchbar .form-select{
  border-color: var(--brand-border);
}
.searchbar-select{ max-width: 190px; }
.btn-brand{
  background: var(--brand-primary);
  border-color: var(--brand-primary);
  color:#fff;
}
.btn-brand:hover{
  filter: brightness(.95);
  color:#fff;
  background: var(--brand-secondary);
}

.icon-link{
  display:flex;
  align-items:center;
  gap:.4rem;
  text-decoration:none;
  color:var(--brand-text);
  font-weight:600;
  font-size:.95rem;
}
.icon-link:hover{ color: var(--brand-primary); }
.icon-pill{
  display:inline-flex;
  width:30px;
  height:30px;
  border-radius:999px;
  align-items:center;
  justify-content:center;
  background: var(--brand-surface);
  border:1px solid var(--brand-border);
  font-size:.9rem;
}

.nav-strip{
  background: var(--brand-surface);
  border-top: 1px solid var(--brand-border);
}
.nav-strip .nav-link{
  color: var(--brand-text);
  border-radius: 999px;
  font-weight:600;
  padding:.5rem .9rem;
}
.nav-strip .nav-link:hover{
  background: rgba(32,32,96,.08);
  color: var(--brand-primary);
}
.nav-strip .nav-link.active{
  background: var(--brand-primary);
  color:#fff;
}

.page-title{
  font-weight:800;
  margin-bottom:.25rem;
}
.breadcrumb{
  --bs-breadcrumb-divider: "›";
}

.card-book{
  border:1px solid var(--brand-border);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: 0 10px 22px rgba(17,24,39,.05);
  transition: transform .15s ease, box-shadow .15s ease;
  background:#fff;
}
.card-book:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(17,24,39,.08);
}
.book-cover{
  width:100%;
  height:240px;
  object-fit:cover;
  background: var(--brand-surface);
}
.book-meta{
  color: var(--brand-muted);
  font-size:.88rem;
}
.badge-soft{
  background: rgba(32,32,96,.08);
  color: var(--brand-primary);
  border:1px solid rgba(32,32,96,.12);
}

.site-footer{
  background: #0f172a;
  color: rgba(255,255,255,.85);
}
.site-footer .text-muted{ color: rgba(255,255,255,.65)!important; }
.footer-logo{
  width:44px;
  height:44px;
  object-fit:contain;
  background:#fff;
  border-radius:10px;
  padding:4px;
}
.footer-title{
  font-weight:800;
  margin-bottom:.5rem;
}
.footer-link{
  color: rgba(255,255,255,.78);
  text-decoration:none;
}
.footer-link:hover{ text-decoration:underline; color:#fff; }

.form-card{
  border:1px solid var(--brand-border);
  border-radius: var(--radius);
  background:#fff;
  box-shadow: 0 10px 22px rgba(17,24,39,.05);
}

.carousel-inner{
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid var(--brand-border);
}

.admin-shell{
  min-height: 100vh;
  background: var(--brand-surface);
}
.admin-nav{
  background:#fff;
  border-bottom:1px solid var(--brand-border);
}


/* Soft content card (homepage intro) */
.card-soft{
  background: var(--brand-surface);
  border: 1px solid var(--brand-border);
  border-radius: var(--radius);
}

.lahiri-hero{
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 999px;
  border: 3px solid rgba(255,255,255,.7);
  box-shadow: 0 14px 30px rgba(0,0,0,.14);
}

.price-wrap{
  display:flex;
  align-items:baseline;
  gap:.6rem;
}
.price-discount{
  font-weight:800;
}
.price-mrp{
  color:#dc3545;
  text-decoration: line-through;
  font-weight:700;
  opacity:.9;
}
