*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:Arial;
line-height:1.6;
}

/* Container */

.container{
width:90%;
max-width:1100px;
margin:auto;
color: white;
}

#contact{
color: rgb(277 255 212 / 70%);
}

/* Header */

header{
background:#00bcd4;
color:white;
padding:10px 0;
}

.nav-container{
display:flex;
justify-content:space-between;
align-items:center;
}

/* Navbar animation */

nav a{
color:white;
margin-left:20px;
text-decoration:none;
font-weight:bold;
position:relative;
}

nav a::after{
content:"";
position:absolute;
width:0%;
height:2px;
background:white;
left:0;
bottom:-5px;
transition:0.4s;
}

nav a:hover::after{
width:100%;
}

/* Hero */

.hero{
color:white;
text-align:center;
padding:90px 20px;
}

.hero h2{
font-size:42px;
margin-bottom:10px;
}

/* Button animation */

.btn{
background:#ff4081;
color:white;
padding:12px 28px;
border-radius:10px;
text-decoration:none;
font-weight:bold;
box-shadow:0 0 10px #ff4081,0 0 20px #ff4081;
transition:0.4s;
}

.btn:hover{
box-shadow:0 0 20px #ff4081,0 0 40px #ff4081;
transform:scale(1.1);
}

/* Sections */

.section{
padding:60px 20px;
text-align:center;
color: white;
}

.light{
/*background:#f8f8f8;*/
}

/* Services grid */

.services-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:20px;
margin-top:30px;
}

/* Card animation */

.card{
background:rgba(77,135,212,0.7);
backdrop-filter:blur(10px);
padding:25px;
border-radius:15px;
box-shadow:0 8px 25px rgba(0,0,0,0.2);
transition:0.4s;
color:white;
font-size:18px;
}

.card:hover{
transform:scale(1.08);
box-shadow:0 15px 35px rgba(0,0,0,0.4);
}
/* Form */

form{
max-width:400px;
margin:auto;
}

form input{
width:100%;
padding:12px;
margin:10px 0;
border:1px solid #ccc;
border-radius:5px;
}

/* Footer */

footer{
background:#00bcd4;
color:white;
text-align:center;
padding:20px;
}

/* Animations */

.fade-in{
animation:fadeIn 1.5s ease-in;
}

.delay{
animation-delay:0.5s;
}

.fade-up{
animation:fadeUp 1.2s ease;
}

@keyframes fadeIn{
from{
opacity:0;
transform:translateY(-20px);
}
to{
opacity:1;
transform:translateY(0);
}
}

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(40px);
}
to{
opacity:1;
transform:translateY(0);
}
}



.whatsapp-float{
position:fixed;
bottom:25px;
right:25px;
background:#25D366;
color:white;
font-size:28px;
width:60px;
height:60px;
display:flex;
align-items:center;
justify-content:center;
border-radius:50%;
text-decoration:none;
box-shadow:0 6px 15px rgba(0,0,0,0.3);
animation:float 2s infinite ease-in-out;
z-index:1000;
}

.whatsapp-float:hover{
transform:scale(1.15);
}

@keyframes float{
0%{transform:translateY(0);}
50%{transform:translateY(-8px);}
100%{transform:translateY(0);}
}

.icon{
font-size:40px;
margin-bottom:10px;
animation:bounce 2s infinite;
}

@keyframes bounce{
0%,100%{transform:translateY(0);}
50%{transform:translateY(-6px);}
}

.doctor-profile{
text-align:center;
}

.doctor-card{
background:rgb(77 135 212 / 70%);
padding:30px;
max-width:300px;
margin:auto;
border-radius:15px;
box-shadow:0 10px 25px rgba(0,0,0,0.15);
transition:0.4s;
}

.doctor-card:hover{
transform:translateY(-10px);
}

.doctor-card img{
width:150px;
height:150px;
border-radius:50%;
margin-bottom:15px;
border:5px solid #00bcd4;
transition:0.4s;
}

.doctor-card img:hover{
transform:scale(1.1);
}

.calendar-grid{
display:grid;
grid-template-columns:repeat(auto-fit,80px);
gap:15px;
justify-content:center;
margin-top:30px;
}

.day{
padding:15px;
border-radius:10px;
font-weight:bold;
}

.available{
background:#4CAF50;
color:white;
}

.booked{
background:#e74c3c;
color:white;
opacity:0.7;
}

.calendar-note{
margin-top:20px;
font-size:14px;
}

.reviews{
display:flex;
overflow-x:auto;
gap:20px;
padding:20px;
}

.review{
min-width:250px;
background:rgb(77 135 212 / 47%);
padding:20px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.1);
}

.gallery-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:15px;
margin-top:30px;
}

.gallery-grid img{
width:100%;
border-radius:12px;
transition:0.5s;
}

.gallery-grid img:hover{
transform:scale(3) rotate(2deg);
filter:brightness(1.2);
}

.dark-btn{
background:white;
border:none;
padding:8px 12px;
border-radius:5px;
cursor:pointer;
margin-left:20px;
}

.dark-mode{
background:#121212;
color:white;
}

.dark-mode header{
/*background:#1f1f1f;*/
}

.dark-mode footer{
background:#1f1f1f;
}

.dark-mode .card,
.dark-mode .review{
background:#2a2a2a;
color:white;
}

body{
font-family:Arial, sans-serif;
background:linear-gradient(-45deg,#00bcd4,#4dd0e1,#7e57c2,#ff8a65);
background-size:400% 400%;
animation:gradientBG 12s ease infinite;
}

@keyframes gradientBG{
0%{background-position:0% 50%;}
50%{background-position:100% 50%;}
100%{background-position:0% 50%;}
}

.floating-shapes{
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
z-index:-1;
overflow:hidden;
}

.shape{
position:absolute;
border-radius:50%;
opacity:0.3;
animation:floatShape 12s infinite linear;
}

.s1{
width:200px;
height:200px;
background:#ff4081;
top:10%;
left:10%;
}

.s2{
width:150px;
height:150px;
background:#ffd54f;
top:60%;
left:70%;
}

.s3{
width:180px;
height:180px;
background:#4caf50;
top:30%;
left:80%;
}

.s4{
width:120px;
height:120px;
background:#2196f3;
top:80%;
left:20%;
}

@keyframes floatShape{
0%{transform:translateY(0);}
50%{transform:translateY(-40px);}
100%{transform:translateY(0);}
}

.hero{
text-align:center;
padding:120px 20px;
color:white;
text-shadow:0 0 10px rgba(0,0,0,0.5);
}

.hero h2{
font-size:50px;
animation:heroGlow 3s infinite alternate;
}

@keyframes heroGlow{
from{ text-shadow:0 0 10px #fff; }
to{ text-shadow:0 0 30px #fff; }
}

header{
background:rgba(255,255,255,0.2);
backdrop-filter:blur(8px);
top:0;
z-index:100;
}

.balloons{
position:fixed;
bottom:-150px;
width:100%;
pointer-events:none;
z-index:-1;
}

.balloon{
width:60px;
height:80px;
border-radius:50%;
position:absolute;
animation:balloonFloat 15s infinite linear;
}

.b1{background:#ff6b6b; left:10%; animation-delay:0s;}
.b2{background:#ffd93d; left:30%; animation-delay:3s;}
.b3{background:#6bcB77; left:60%; animation-delay:6s;}
.b4{background:#4d96ff; left:80%; animation-delay:9s;}

@keyframes balloonFloat{
0%{transform:translateY(0);}
100%{transform:translateY(-120vh);}
}

.wave-container{
margin-top:50px;
}

.appointment-booking{
text-align:center;
padding:60px 20px;
}

.booking-box{
background:rgba(255,255,255,0.2);
backdrop-filter:blur(10px);
padding:30px;
border-radius:15px;
max-width:500px;
margin:auto;
box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

.slots{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
gap:10px;
margin-top:20px;
}

.slot{
padding:10px;
border:none;
border-radius:20px;
background:#00bcd4;
color:white;
cursor:pointer;
transition:0.3s;
}

.slot:hover{
background:#008fa1;
transform:scale(1.05);
}

.slot.selected{
background:#ff4081;
}

.book-btn{
margin-top:20px;
padding:12px 25px;
border:none;
border-radius:25px;
background:#4CAF50;
color:white;
font-weight:bold;
cursor:pointer;
transition:0.3s;
}

.book-btn:hover{
transform:scale(1.1);
}

.appointment-booking{
text-align:center;
padding:60px 20px;
}

.booking-box{
background:rgba(255,255,255,0.2);
backdrop-filter:blur(10px);
padding:30px;
border-radius:15px;
max-width:500px;
margin:auto;
box-shadow:0 10px 25px rgba(0,0,0,0.2);
}

.slots{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
gap:10px;
margin-top:20px;
}

.slot{
padding:10px;
border:none;
border-radius:20px;
background:#00bcd4;
color:white;
cursor:pointer;
transition:0.3s;
}

.slot:hover{
background:#008fa1;
transform:scale(1.05);
}

.slot.selected{
background:#ff4081;
}

.book-btn{
margin-top:20px;
padding:12px 25px;
border:none;
border-radius:25px;
background:#4CAF50;
color:white;
font-weight:bold;
cursor:pointer;
transition:0.3s;
}

.book-btn:hover{
transform:scale(1.1);
}

.top-banner{
display:flex;
flex-direction:row;
width:100%;
position:relative;
z-index:999;
font-family:Arial;
}

.banner-left{
display:flex;
align-items:center;
background:#999;
padding:10px 20px;
flex:1;
}

.logo{
height:45px;
margin-right:10px;
font-size: 0.88em;
}

.banner-box{
display:flex;
align-items:center;
gap:10px;
padding:12px 20px;
color:white;
min-width:240px;
}

.banner-box .icon{
font-size:22px;
}

.blue{
background:#5b84b1;
}

.red{
background:#e31b23;
}

.green{
background:#3c5f66;
}


.social-float{
position:fixed;
right:0;
top:40%;
transform:translateY(-50%);
z-index:9999;
}

.social-float a{
display:flex;
align-items:center;
justify-content:center;
width:50px;
height:50px;
color:white;
font-size:20px;
text-decoration:none;
transition:0.3s;
}

.social-float a:hover{
width:60px;
}

.facebook{
background:#3b5998;
}

.linkedin{
background:#0077b5;
}

.youtube{
background:#ff0000;
}

.instagram{
background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4);
}

/* LEFT MENU BUTTON */

.menu-button{
position:fixed;
left:0;
top:300px;
width:62px;
height:70px;
background:#2f6da5;
color:white;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
cursor:pointer;
z-index:9999;
}

.menu-lines{
width:35px;
height:3px;
background:white;
position:relative;
margin-bottom:10px;
}

.menu-lines::before,
.menu-lines::after{
content:"";
position:absolute;
width:35px;
height:3px;
background:white;
left:0;
}

.menu-lines::before{ top:-10px; }
.menu-lines::after{ top:10px; }

.menu-text{
letter-spacing:3px;
font-size:12px;
}

/* SIDE MENU PANEL */




.side-menu{
position:fixed;
left:-400px;
top:0;
width:400px;
height:100%;
background:#f5f5f5;
transition:0.4s;
z-index:9998;
padding-top:100px;
overflow-y:auto;
}

/* CLOSE BUTTON */

.close-btn{
position:absolute;
left:20px;
top:30px;
font-weight:bold;
cursor:pointer;
color:#2f6da5;
}

/* MENU LIST */

.menu-list{
list-style:none;
padding:20px;
}

.menu-list li{
padding:12px 0;
border-bottom:1px solid #ddd;
font-size:16px;
cursor:pointer;
color: blue;
}

.menu-list li:hover{
color:#2f6da5;
padding-left:10px;
transition:0.2s;
}

/* MOBILE RESPONSIVE */



img{
max-width:100%;
height:auto;
}


.why-choose{
/*background:#0c4d86;*/
color:white;
text-align:center;
padding:80px 20px;
}

.why-choose h2{
font-size:36px;
margin-bottom:50px;
letter-spacing:2px;
}

.why-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:40px;
max-width:1100px;
margin:auto;
color: white;
}

.why-box{
padding:20px;
}

.why-icon{
width:70px;
height:70px;
background:#2c6fb3;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:32px;
margin:auto;
margin-bottom:20px;
}

.why-box h3{
margin-bottom:15px;
font-size:20px;
}

.why-box p{
line-height:1.7;
font-size:20px;
}

.hospital-stats{
/*background:#f3f3f3;*/
text-align:center;
}

.stats-container{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
gap:40px;
max-width:1100px;
margin:auto;
}

.stat-box h2{
font-size:40px;
color:#444;
font-weight:bold;
}

.stat-box p{
font-size:18px;
color:#666;
margin-top:5px;
}

.stat-icon{
font-size:40px;
color:#2f6da5;
margin-bottom:15px;
}

.stat-box{
text-align:center;
}

.event-modal{
display:none;
position:fixed;
z-index:10000;
left:0;
top:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.6);
}

.event-content{
background:white;
margin:12% auto;
padding:30px;
width:90%;
max-width:450px;
max-height:80vh;     /* limits height */
overflow-y:auto;     /* enables vertical scroll */
text-align:center;
border-radius:10px;
}

.close-event{
float:right;
font-size:25px;
cursor:pointer;
}

.event-btn{
display:inline-block;
margin-top:15px;
padding:10px 20px;
background:#2f6da5;
color:white;
text-decoration:none;
border-radius:5px;
}

svg.svg-inline--fa.fa-envelope {
    height: 1em;
}

.number a{
color:white;
}

.page-container {
    color: white;
}

h2.fade-in {
    font-size: 2.5em;
}

/* ================= MOBILE RESPONSIVE ================= */

@media (max-width:768px){

/* Container */

.container{
width:95%;
padding:0 10px;
}

/* Header */

.nav-container{
flex-direction:column;
text-align:center;
}

nav{
display:flex;
flex-direction:column;
gap:10px;
margin-top:10px;
}

nav a{
margin:5px 0;
}

/* Hero */

.hero{
padding:60px 15px;
}

.hero h2{
font-size:28px;
}

/* Doctor profile */

.doctor-card{
max-width:90%;
}

/* Top banner becomes stacked */

.top-banner{
flex-direction:column;
}

.banner-left,
.banner-box{
width:100%;
justify-content:center;
text-align:center;
padding:10px;
}

/* Services grid */

.services-grid{
grid-template-columns:1fr;
}

/* Why choose grid */

.why-container{
grid-template-columns:1fr;
gap:25px;
}

/* Gallery */

.gallery-grid{
grid-template-columns:1fr 1fr;
}

.gallery-grid img:hover{
transform:scale(1.2);
}

/* Reviews scroll */

.review{
min-width:200px;
}

/* Appointment section */

.booking-box{
width:100%;
padding:20px;
}

.slots{
grid-template-columns:repeat(2,1fr);
}

/* Side menu */

.side-menu{
width:85%;
left:-85%;
}

/* Floating menu button */

.menu-button{
top:200px;
}

/* WhatsApp button */

.whatsapp-float{
bottom:15px;
right:15px;
width:55px;
height:55px;
font-size:24px;
}

/* Social float icons */

.social-float a{
width:40px;
height:40px;
font-size:16px;
}

/* Doctor intro video */

.doctor-video-player{
width:100%;
height:auto;
}

/* Counters */

.stat-box h2{
font-size:30px;
}

}

/* ================= SMALL PHONE ================= */

@media (max-width:480px){

.hero h2{
font-size:24px;
}

.gallery-grid{
grid-template-columns:1fr;
}

.slots{
grid-template-columns:1fr;
}

.banner-box{
font-size:14px;
}

}

.doctor-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
margin-top:30px;
}

.doctor-card{
text-align:center;
}

@media (max-width:768px){

.doctor-grid{
grid-template-columns:1fr;
}

}

.doctor-intro-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:30px;
margin-top:30px;
}

.doctor-intro-card{
background:rgba(255,255,255,0.2);
backdrop-filter:blur(10px);
padding:20px;
border-radius:15px;
text-align:center;
}

.doctor-video-player{
width:100%;
border-radius:10px;
margin-bottom:15px;
}

@media (max-width:768px){

.doctor-intro-grid{
grid-template-columns:1fr;
}

}