*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Hind Siliguri',sans-serif;
    background:#f4f7fb;
    overflow-x:hidden;
}



/* CONTAINER */

.container{
    width:92%;
    max-width:1400px;
    margin:auto;
}



/* LOADER */

#loader{
    position:fixed;
    inset:0;
    background:white;
    z-index:99999;

    display:flex;
    align-items:center;
    justify-content:center;
}

.spinner{
    width:65px;
    height:65px;

    border:6px solid #eee;
    border-top:6px solid tomato;

    border-radius:50%;

    animation:spin 1s linear infinite;
}

@keyframes spin{
    100%{
        transform:rotate(360deg);
    }
}



/* HEADER */

header{
    position:sticky;
    top:0;
    z-index:999;

    backdrop-filter:blur(18px);

    background:rgba(255,255,255,0.85);

    box-shadow:0 5px 25px rgba(0,0,0,0.05);

    padding:18px 0;
}

header .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.logo{
    display:flex;
    align-items:center;
    gap:12px;
}

.logo-icon{
    width:55px;
    height:55px;

    background:linear-gradient(135deg,tomato,#ff826e);

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    color:white;
    font-size:24px;
}

.logo h1{
    font-size:34px;
    font-weight:800;
}

.contact-info{
    background:#fff1ed;

    color:tomato;

    padding:14px 24px;

    border-radius:50px;

    font-weight:700;
}



/* ANNOUNCEMENT */

.announcement-bar{
    background:linear-gradient(135deg,tomato,#ff826e);

    color:white;

    padding:12px 0;

    overflow:hidden;
}

.marquee{
    white-space:nowrap;
    animation:marquee 20s linear infinite;
}

@keyframes marquee{

    0%{
        transform:translateX(100%);
    }

    100%{
        transform:translateX(-100%);
    }

}



/* HERO */

.hero{
    position:relative;

    height:480px;

    background:url('https://images.unsplash.com/photo-1586773860418-d37222d8fce3?q=80&w=1400&auto=format&fit=crop');

    background-size:cover;
    background-position:center;

    display:flex;
    align-items:center;
    justify-content:center;

    text-align:center;

    overflow:hidden;
}

.hero-overlay{
    position:absolute;
    inset:0;

    background:rgba(0,0,0,0.55);
}

.hero-content{
    position:relative;
    z-index:10;

    color:white;
}

.hero-content h1{
    font-size:68px;
    font-weight:800;

    margin-bottom:18px;
}

.hero-content p{
    font-size:22px;
}



/* FILTER */

.filter-wrapper{
    margin-top:-50px;
    position:relative;
    z-index:20;
}

.filters{
    background:white;

    border-radius:28px;

    padding:28px;

    display:grid;
    grid-template-columns:2fr 1fr 1fr;

    gap:20px;

    box-shadow:0 20px 60px rgba(0,0,0,0.08);
}

.search-box{
    position:relative;
}

.search-box i{
    position:absolute;

    left:18px;
    top:50%;

    transform:translateY(-50%);

    color:#888;
}

.search-box input,
.filters select{
    width:100%;
    height:60px;

    border:none;
    outline:none;

    background:#f3f5f9;

    border-radius:16px;

    padding:0 20px 0 50px;

    font-size:16px;

    font-family:'Hind Siliguri',sans-serif;
}



/* HOSPITAL */

.hospital-list{
    padding:80px 0;
}

.hospital-grid{
    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:35px;
}



/* CARD */

.hospital-card{
    background:#111827;

    border-radius:30px;

    overflow:hidden;

    position:relative;

    transition:0.5s;

    box-shadow:0 20px 60px rgba(0,0,0,0.12);

    opacity:0;
    transform:translateY(50px);
}

.hospital-card.show{
    opacity:1;
    transform:translateY(0);
}

.hospital-card:hover{
    transform:translateY(-12px);
}

.hospital-card::before{
    content:'';

    position:absolute;
    inset:0;

    background:linear-gradient(135deg,rgba(255,99,71,0.15),transparent);

    opacity:0;

    transition:0.4s;
}

.hospital-card:hover::before{
    opacity:1;
}



/* IMAGE */

.hospital-image{
    height:240px;
    overflow:hidden;
}

.hospital-image img{
    width:100%;
    height:100%;

    object-fit:cover;

    transition:0.5s;
}

.hospital-card:hover img{
    transform:scale(1.08);
}



/* INFO */

.hospital-info{
    padding:28px;
}

.hospital-info h3{
    color:white;

    font-size:30px;

    margin-bottom:15px;
}

.address{
    color:#c5ccd7;

    margin-bottom:12px;
}

.rating{
    color:#ffd447;

    font-weight:700;

    margin-bottom:20px;
}

.rating span{
    color:#c5ccd7;
}



/* TAG */

.specialties{
    display:flex;
    gap:10px;

    flex-wrap:wrap;

    margin-bottom:25px;
}

.tag{
    background:#1f2937;

    color:white;

    padding:10px 16px;

    border-radius:50px;

    font-size:13px;
}



/* BUTTON */

.visit-btn{
    position:relative;

    width:100%;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;

    text-decoration:none;

    background:linear-gradient(135deg,tomato,#ff826e);

    color:white;

    padding:17px;

    border-radius:18px;

    font-weight:700;

    overflow:hidden;

    transition:0.3s;
}

.visit-btn::before{
    content:'';

    position:absolute;

    width:120px;
    height:120px;

    background:rgba(255,255,255,0.2);

    border-radius:50%;

    left:-120px;
    top:-30px;

    transition:0.6s;
}

.visit-btn:hover::before{
    left:120%;
}

.visit-btn:hover{
    transform:scale(1.03);
}



/* FOOTER */

footer{
    background:#0f172a;

    color:white;

    padding:35px 20px;

    text-align:center;
}



/* WHATSAPP */

.whatsapp-float{
    position:fixed;

    right:20px;
    bottom:20px;

    width:65px;
    height:65px;

    background:#25D366;

    color:white;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:34px;

    z-index:9999;

    box-shadow:0 10px 30px rgba(0,0,0,0.2);

    transition:0.3s;
}

.whatsapp-float:hover{
    transform:scale(1.1);
}



/* SCROLLBAR */

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-thumb{
    background:tomato;
    border-radius:50px;
}



/* MOBILE */

@media(max-width:992px){

    .filters{
        grid-template-columns:1fr;
    }

    .hero-content h1{
        font-size:46px;
    }

}

@media(max-width:768px){

    .hero{
        height:420px;
    }

    .hero-content h1{
        font-size:34px;
        line-height:1.4;
    }

    .hero-content p{
        font-size:16px;
    }

    .hospital-grid{
        grid-template-columns:1fr;
    }

    .hospital-info h3{
        font-size:24px;
    }

    .contact-info{
        display:none;
    }

    .filters{
        position:sticky;
        top:90px;
    }

}