/* ==========================================
   HOSPITAL ARCHIVE
========================================== */


.hospital-archive {

    padding: 80px 0;

}



.hospital-grid {

    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 30px;

}






/* ==========================================
   HOSPITAL CARD
========================================== */


.hospital-card {

    background: #ffffff;

    border-radius: 18px;

    overflow: hidden;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);

    transition: all .3s ease;

}



.hospital-card:hover {

    transform: translateY(-8px);

    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);

}





/* IMAGE */


.hospital-card-image {

    height: 240px;

    overflow: hidden;

}


.hospital-card-image img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    transition: .4s ease;

}



.hospital-card:hover img {

    transform: scale(1.08);

}





/* CONTENT */


.hospital-card-content {

    padding: 25px;

}



.hospital-card-content h2 {

    font-size: 24px;

    margin-bottom: 12px;

}



.hospital-card-content h2 a {

    color: #1b3c53;

    text-decoration: none;

}



.hospital-description {

    color: #666;

    line-height: 1.7;

    margin-bottom: 18px;

}





/* LOCATION */


.hospital-location {

    color: #555;

    font-size: 15px;

    margin-bottom: 18px;

}







/* TAGS */


.hospital-tags {

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 20px;

}



.hospital-tags span {


    background: #e8f5f5;

    color: #007c7c;

    padding: 6px 12px;

    border-radius: 30px;

    font-size: 13px;

}





/* STATS */


.hospital-stats {


    display: flex;

    gap: 20px;

    padding: 15px 0;

    border-top: 1px solid #eee;

    border-bottom: 1px solid #eee;

    margin-bottom: 20px;


}



.hospital-stats div {


    flex: 1;

    text-align: center;


}



.hospital-stats strong {


    display: block;

    font-size: 22px;

    color: #1b3c53;


}



.hospital-stats small {


    color: #777;

}





/* BUTTON */


.hospital-btn {


    display: inline-block;

    padding: 10px 20px;

    background: #0d9488;

    color: #fff;

    border-radius: 24px;

    text-decoration: none;

    transition: .3s ease;

    font-size: 14px;


}



.hospital-btn:hover {


    background: #08766d;

    color: #fff;

}




/* Hospital Filter */


.hospital-filter-form {

    display: flex;

    gap: 12px;

    background: #fff;

    padding: 16px;

    border-radius: 16px;

    border: 1px solid #e6edf5;

    margin-bottom: 40px;

}



.hospital-search-box {

    flex: 1;

}



.hospital-search-box input {


    width: 100%;

    height: 42px;

    padding: 0 16px;

    border-radius: 24px;

    border: 1px solid #dbe4ee;

    font-size: 14px;

}



.hospital-filter-form button {


    height: 42px;

    padding: 0 20px;

    border: none;

    border-radius: 24px;

    background: #0d9488;

    color: #fff;

    cursor: pointer;

    font-size: 14px;

}



.hospital-filter-form button:hover {


    background: #087f75;


}


/* Hospital Filter Dropdown */


.hospital-filter-field {

    flex: 1;

}



.hospital-filter-field select {


    width: 100%;

    height: 42px;

    padding: 0 16px;

    border-radius: 24px;

    border: 1px solid #dbe4ee;

    background: #fff;

    font-size: 14px;

    cursor: pointer;


}



.hospital-filter-field select:focus {


    border-color: #0d9488;


}








/* ==========================================
   RESPONSIVE
========================================== */


@media(max-width:1024px) {


    .hospital-grid {

        grid-template-columns: repeat(2, 1fr);

    }


}





@media(max-width:768px) {


    .hospital-archive {

        padding: 45px 0;

    }


    .hospital-filter-form {

        flex-wrap: wrap;

        padding: 14px;

        gap: 10px;

    }


    .hospital-search-box,
    .hospital-filter-field {

        flex: 1 1 100%;

    }


    .hospital-filter-form button {

        flex: 1 1 100%;

        width: 100%;

    }

}





@media(max-width:600px) {


    .hospital-grid {

        grid-template-columns: 1fr;

    }


    .hospital-card-image {

        height: 220px;

    }


    .hospital-card-content {

        padding: 18px;

    }


    .hospital-card-content h2 {

        font-size: 20px;

    }


    .hospital-stats strong {

        font-size: 18px;

    }


    .hospital-btn {

        display: block;

        text-align: center;

        width: 100%;

    }

}