 :root {
      --primary: #003366;
      
      --primary-600: #00264d;
      
      --accent: #0b74de;
      --muted: #6c757d;
      --card-bg: #ffffff;
      --page-bg: #f4f7fb;
    }

    body {
      font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
      background: var(--page-bg);
      color: #1b2330;
      margin: 0;
    }

 
    .site-header {
      background: linear-gradient(90deg, var(--primary), #024975);
      color: #fff;
      padding: 24px 0;
      box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08);
    }

    .site-header .brand-title {
      font-weight: 700;
      font-size: 1.25rem;
      letter-spacing: 0.2px;
    }

    .site-header .brand-sub {
      font-size: .94rem;
      opacity: .95;
    }

    
    .search-bar .form-control {
      border-radius: 0.5rem;
    }

    .search-bar .btn {
      border-radius: 0.5rem;
    }

   
    .book-card {
      border: 1px solid rgba(0, 0, 0, 0.06);
      border-radius: .75rem;
      background: var(--card-bg);
      box-shadow: 0 8px 18px rgba(10, 20, 40, 0.04);
      transition: transform .14s ease, box-shadow .14s ease;
      height: 100%;
      display: flex;
      flex-direction: column;
      padding: 1rem;
    }

    .book-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 18px 40px rgba(2, 6, 23, 0.08);
    }

    .book-cover {
      background: linear-gradient(180deg, #e9f1fb, #fff);
      height: 120px;
      border-radius: .5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      font-weight: 700;
      color: var(--primary-600);
      font-size: 1.05rem;
      margin-bottom: .9rem;
    }

    .book-title {
      font-size: 1rem;
      font-weight: 600;
      margin-bottom: .25rem;
      line-height: 1.2;
    }

    .book-meta {
      font-size: .87rem;
      color: var(--muted);
      margin-bottom: .6rem;
    }

    .book-footer {
      margin-top: auto;
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 8px;
    }

    .topic-badge {
      font-size: .78rem;
      padding: .28rem .5rem;
      border-radius: 999px;
      background: rgba(0, 51, 102, 0.06);
      color: var(--primary);
      font-weight: 600;
    }

    
    .site-footer {
      background: var(--primary);
      color: #fff;
      padding: 28px 0;
    }

    .footer-inner {
      border-top: 6px solid rgba(0, 0, 0, 0.08);
      padding-top: 20px;
    }

    .footer-top {
      display: flex;
      gap: 20px;
      align-items: flex-start;
    }

    .footer-logo {
      width: 88px;
      height: auto;
      background: #fff;
      padding: 8px;
      border-radius: 8px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .footer-info h5 {
      margin: 0 0 .25rem 0;
      font-size: 1rem;
      font-weight: 700;
    }

    .footer-info p {
      margin: 0;
      font-size: .92rem;
      opacity: .95;
      line-height: 1.4
    }

    /* bottom dark strip */
    .footer-bottom {
      background: var(--primary-600);
      color: #eaf4ff;
      padding: 10px 0;
      margin-top: 14px;
      text-align: center;
      font-size: .92rem;
    }

    .book-cover-img {
      width: 100%;
      height: 160px;
      object-fit: cover;
      border-radius: .5rem;
      margin-bottom: .9rem;
      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
    }
.navbar-nav .nav-link {
    color: #fff !important;
    transition: 0.3s;
    font-size: 1.05rem;
    letter-spacing: 0.3px;
  }

  .navbar-nav .nav-link:hover {
    background-color: #0a2642;
    color: #ffc107 !important;
  }

  .navbar-nav .nav-link.active {
    border-bottom: 3px solid #ffc107;
  }

  nav.navbar {
    font-family: 'Segoe UI', sans-serif;
  }
.carousel-inner img {
  height: 600px;
  object-fit: cover;
  border-radius: 20px;
}

.carousel-indicators [data-bs-target] {
  background-color: #444;
  width: 12px;
  height: 12px;
  border-radius: 50%;
}

.carousel-indicators .active {
  background-color: #ffffff; 
}



    
    @media (max-width:767px) {
      .footer-top {
        flex-direction: column;
        align-items: center;
        text-align: center
      }

      .footer-info {
        max-width: 520px
      }
    }