:root {
    --primary-color: #007bff; 
    --dark-color: #343a40; 
    --secondary-color: #6c757d; 
    --light-bg: #f8f9fa; 
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
    color: var(--dark-color);
}
.hero-section {
    background: 
        linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.3)),
        url('../images/BGDash.jpeg') no-repeat center center;
    background-size: cover;
    padding-top: 8rem !important; 
    padding-bottom: 8rem !important; 
    height: 700px;
}

.hero-section h1 {
    font-weight: bold 200px;
    letter-spacing: 1px;
}

.search-form {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 0.5rem;
    padding: 0.35rem; 
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1); 
}
.search-form .form-control { 
    font-size: 1rem; 
    padding: 0.5rem 1rem; 
}
.search-form .btn { 
    font-size: 1rem; 
    padding: 0.5rem 1rem; 
    line-height: 1.5; 
    height: auto; 
    background-color: var(--primary-color);
    border: none;
    transition: background-color 0.3s ease;
}

.search-form .btn-primary:hover {
    background-color: #0056b3;
}

.book-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border-radius: 0.5rem;
    overflow: hidden; 
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.20) !important;
}

.book-card:hover {
    transform: translateY(-5px); 
    box-shadow: 0 10px 2px rgba(0, 0, 0, 0.15) !important;
}

.book-cover {
    height: 250px;
    object-fit: contain;
    background-color: white;
    border-bottom: 1px solid var(--light-bg);
}

.book-card .card-body {
    padding: 1rem;
    display: flex;
    flex-direction: column;
}

.book-info {
    min-height: 80px;
    margin-bottom: 0.5rem; 
}

.book-info .card-title {
    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);
}

/* Pastikan badge status berada di bagian bawah setelah info buku */
.card-body > .badge {
    margin-top: auto; /* Ini akan mendorong badge ke bawah, memastikan sejajar */
}

.recent-collection h2 {
    color: var(--primary-color);
    font-weight: bold;
}

.footer-section {
    background-color: var(--dark-color) !important;
}

.footer-section a {
    color: #ced4da;
}

.footer-section a:hover {
    color: var(--primary-color);
}
.navbar-nav .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 .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;
}
.toast-login-success {
            background: linear-gradient(to right, #00b09b, #96c93d) !important;
            color: white !important;
            font-weight: 500;
            border-radius: 12px !important;
            padding: 12px 20px !important;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
        }
        .swal2-icon.swal2-success {
            border-color: white !important;
            color: white !important;
        }
        .swal2-icon.swal2-success [class^='swal2-success-line'],
        .swal2-icon.swal2-success [class*=' swal2-success-line'] {
            background-color: white !important;
        }
        .swal2-timer-progress-bar-success {
             background-color: rgba(255, 255, 255, 0.9) !important;
        }