.book-card .card-body {
    padding: 1rem;
    /* PENTING: Menggunakan Flexbox untuk menyusun item secara vertikal */
    display: flex;
    flex-direction: column;
}

.book-info {
    /* PENTING: Tinggi minimum yang dijamin untuk menampung Judul (2 baris) dan Penulis (1 baris). */
    /* Nilai 100px ini harus disesuaikan jika font size Anda berbeda, tapi ini adalah titik awal yang bagus. */
    min-height: 100px;
    margin-bottom: 0.5rem;
    
    /* Gunakan Flexbox juga di sini untuk penataan Judul dan Penulis */
    display: flex;
    flex-direction: column;
}
.book-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 0.5rem;
    overflow: hidden; 
}

.book-card:hover {
    transform: translateY(-5px); 
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15) !important;
}

.book-info .card-title {
    /* Judul: Batas 2 baris (Kode ini sudah benar dan dipertahankan) */
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    margin-bottom: 0.25rem !important;
    line-height: 1.3;
    height: calc(1.3em * 2); 
}

.book-info .card-text {
    /* Penulis: PENTING! Memotong teks agar hanya 1 baris */
    overflow: hidden;
    white-space: nowrap; /* Mencegah teks turun baris */
    text-overflow: ellipsis; /* Menambahkan '...' jika dipotong */
    line-height: 1.2;
    margin-bottom: 0; /* Menghapus margin agar tidak menambah tinggi tak terduga */
}

.book-cover {
    height: 250px; 
    object-fit: contain; 
    background-color: white;
    border-bottom: 1px solid var(--light-bg);
}

.card-body > .badge {
    /* PENTING: 'margin-top: auto' akan mendorong item ini (badge) ke dasar container flexbox */
    margin-top: auto; 
}

/* Tambahan kecil untuk Sidebar */
.sidebar-filter {
    background-color: rgb(230, 241, 241);
    margin-bottom: 2rem;
    z-index: 1;
}
.navbar-nav > .nav-item > .btn {
    background-color: #64a1d6;
    border-radius: 50px !important;
    color: white !important;
    padding: 10px 25px; /* padding horizontal lebih besar */
    font-size: 0.9rem;
    font-weight: 500;
    width: 80px; /* biarkan ukuran menyesuaikan teks */
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    display: flex;
    align-items: center;
    gap: 6px; /* jarak antara ikon dan teks */
    justify-content: center; /* memastikan ikon dan teks berada di tengah */
}
.navbar-nav > .nav-item > .btn:hover {
    background-color: #3e82bd;
    transform: translateY(-2px); 
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15) !important;
}

.navbar{
    box-shadow: 0 4px 1px rgba(0, 0, 0, 0.15) !important;
}
.navbar-nav .dropdown-menu .dropdown-item {
     border: none;
    transition: background-color 0.3s ease;
}
.navbar-nav .dropdown-toggle {
    background-color: transparent !important;
    border-radius: 50px !important;
    color: var(--dark-color) !important;
    padding: 8px 12px;
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.navbar-nav .dropdown-toggle:hover {
    background-color: rgba(0, 0, 0, 0.05) !important;
    transform: translateY(0); 
    box-shadow: none !important;
}
.navbar-nav .dropdown-item.text-danger:hover {
        background-color: #f8d7da; /* Warna merah muda lembut saat hover */
}
.profile-dropdown {
    min-width: 220px;
    border-radius: 15px;
    padding-top: 8px;
    padding-bottom: 8px;
}
.profile-dropdown .dropdown-divider {
     margin: 0.5rem auto;
    width: 80%;
 }

.profile-dropdown .btn {
    transition: all 0.2s ease-in-out;
}

.profile-dropdown .btn:hover {
     background-color: #ffc107;
    color: #fff !important;
    border-color: #ffc107;
 }
 .btn-peminjaman {
    background-color: #0004ffda;
    color: white;
    border-radius: 30px;
    border: none;
    transition: 0.3s;
}

.btn-peminjaman:hover {
    background-color: #0056b3;
    color: white;
    transform: scale(1.03);
}

.btn-pengembalian {
    background-color: #e6b106;
    color: white;
    border-radius: 30px;
    border: none;
    transition: 0.3s;
}

.btn-pengembalian:hover {
    background-color: #bb9005;
    color: white;
    transform: scale(1.03);
}
.search-input {
    width: 480px;       /* 👈 INI yang bikin jelas melebar */
    max-width: 100%;
}

@media (max-width: 768px) {
    .search-input {
        width: 100%;
    }
}




