.text-blue-dark { color: #1e3a8a !important; }
.btn-blue { background-color: #1e3a8a; color: white; transition: 0.3s; border-radius: 50px; border: none; }
.btn-blue:hover { background-color: #162a63; color: white; transform: scale(1.05); }

/* Search UI Styling */
.page-header { margin-top: 150px; margin-bottom: 40px; text-align: center; }
.search-wrapper { max-width: 650px; margin: 0 auto 50px auto; padding: 0 15px; }
.search-pill { 
    background: rgba(255, 255, 255, 0.9); 
    backdrop-filter: blur(10px);
    padding: 8px; border-radius: 50px; 
    box-shadow: 0 15px 35px rgba(0,0,0,0.05); 
    display: flex; align-items: center; 
    border: 1px solid rgba(255,255,255,0.5); 
}
.search-pill input { border: none; background: transparent; padding-left: 20px; font-size: 1rem; flex: 1; }
.search-pill input:focus { outline: none; box-shadow: none; }
.search-pill button { border-radius: 50px; padding: 12px 30px; font-weight: 600; background: #dc3545; color: white; border: none; transition: 0.3s; }

@media (max-width: 576px) {
    .search-pill { flex-direction: column; border-radius: 20px; padding: 15px; }
    .search-pill input { width: 100%; text-align: center; margin-bottom: 10px; }
    .search-pill button { width: 100%; }
    .page-header { margin-top: 120px; }
}

/* --- Doctor Card Alignment Logic --- */
.doctor-card { 
    background: rgba(255, 255, 255, 0.9); 
    backdrop-filter: blur(5px);
    border-radius: 30px; 
    padding: 30px 20px; 
    text-align: center; 
    transition: all 0.4s ease; 
    border: 1px solid #fff;
    display: flex;
    flex-direction: column;
    height: 100%; 
}
.doctor-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(30,58,138,0.1); }

.doc-img-container {
    width: 130px; height: 130px; margin: 0 auto 20px auto;
    position: relative; padding: 5px; border-radius: 50%;
    background: linear-gradient(135deg, #1e3a8a, #28a745);
}
.doc-img-container img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; border: 4px solid white; }
.doc-title { font-weight: 700; color: #1e3a8a; font-size: 1.1rem; }
.doc-spec { color: #28a745; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 12px; display: block; }

/* This pushes the button to the bottom consistently */
.doc-info-text { flex-grow: 1; margin-bottom: 20px; }

.btn-book {
    background-color: #1e3a8a; color: white; border-radius: 50px;
    padding: 10px; font-weight: 600; width: 100%;
    text-decoration: none; display: block; transition: 0.3s;
}
.btn-book:hover { background-color: #dc3545; color: white; }

/* --- No Results Found Styling --- */
.no-results-container {
    display: none; /* Initially Hidden */
    border: 2px dashed #ccc;
    border-radius: 20px;
    background: rgba(255,255,255,0.6);
    padding: 50px 20px;
    animation: fadeIn 0.5s ease;
}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

/* Pagination */
.custom-pagination { display: flex; gap: 10px; justify-content: center; list-style: none; margin-top: 50px; padding: 0; }
.custom-pagination li a, .custom-pagination li span {
    width: 45px; height: 45px; display: flex; align-items: center; justify-content: center;
    background: white; color: #1e3a8a; text-decoration: none; border-radius: 12px;
    font-weight: 700; box-shadow: 0 5px 15px rgba(0,0,0,0.05); transition: 0.3s;
}
.custom-pagination li.active a, .custom-pagination li.active span { background: #1e3a8a; color: white; }
