/*==================================================
  SPANDAN HOSPITAL WEBSITE
  STYLE.CSS
==================================================*/

/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*=========================
      ROOT VARIABLES
==========================*/

:root{

    --primary:#0B63F6;
    --primary-dark:#0046C7;

    --secondary:#00B8A9;

    --accent:#19C37D;

    --white:#ffffff;

    --black:#1B1B1B;

    --text:#5B6475;

    --heading:#12263F;

    --bg:#F6FAFF;

    --light:#F2F7FD;

    --border:#E5EDF7;

    --danger:#E53935;

    --shadow:0 15px 45px rgba(14,42,90,.10);

    --radius:18px;

    --transition:.35s ease;

}

/*=========================
      RESET
==========================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    background:var(--white);

    color:var(--text);

    line-height:1.7;

    overflow-x:hidden;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    color:inherit;

}

ul{

    list-style:none;

}

button{

    cursor:pointer;

    border:none;

    outline:none;

    font-family:'Poppins',sans-serif;

}

input,
textarea,
select{

    font-family:'Poppins',sans-serif;

    outline:none;

}

/*=========================
      COMMON
==========================*/

.container{

    width:90%;

    max-width:1280px;

    margin:auto;

}

.section{

    padding:100px 0;

}

.section-title{

    text-align:center;

    margin-bottom:60px;

}

.section-tag{

    display:inline-block;

    color:var(--primary);

    background:#EAF2FF;

    padding:8px 20px;

    border-radius:50px;

    font-size:14px;

    font-weight:600;

    margin-bottom:18px;

}

.section-title h2{

    font-size:42px;

    color:var(--heading);

    font-weight:700;

    margin-bottom:15px;

}

.section-title p{

    max-width:700px;

    margin:auto;

}

/*=========================
      BUTTONS
==========================*/

.btn{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:15px 34px;

    border-radius:60px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);

    color:#fff;

    box-shadow:0 15px 35px rgba(11,99,246,.25);

}

.btn-primary:hover{

    background:var(--primary-dark);

    transform:translateY(-3px);

}

.btn-light{

    background:#fff;

    color:var(--primary);

    border:2px solid #fff;

}

.btn-light:hover{

    background:transparent;

    color:#fff;

}

/*=========================
      CARDS
==========================*/

.card{

    background:#fff;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}

.card-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

    gap:30px;

}

/*=========================
      TOP BAR
==========================*/

.top-bar{

    background:#0C1F39;

    color:#fff;

    font-size:14px;

    padding:12px 0;

}

.top-bar-content{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:30px;

}

.top-left,
.top-right{

    display:flex;

    align-items:center;

    gap:25px;

}

.top-left span,
.top-right a{

    display:flex;

    align-items:center;

    gap:8px;

}

.top-right a{

    transition:.3s;

}

.top-right a:hover{

    color:#7CC8FF;

}
/*=========================
      MAIN HEADER
==========================*/

.main-header{
    background:#fff;
    position:sticky;
    top:0;
    z-index:999;
    box-shadow:0 8px 30px rgba(0,0,0,.06);
}

.nav-wrapper{
    height:88px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
}

.logo{
    display:flex;
    align-items:center;
    gap:14px;
}

.logo-icon{
    width:56px;
    height:56px;
    border-radius:16px;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:26px;
    box-shadow:0 12px 30px rgba(11,99,246,.25);
}

.logo-text h2{
    color:var(--heading);
    font-size:28px;
    line-height:1;
}

.logo-text p{
    font-size:13px;
    color:var(--text);
    font-weight:500;
}

.navbar{
    display:flex;
    align-items:center;
    gap:28px;
}

.navbar a{
    color:var(--heading);
    font-weight:600;
    font-size:15px;
    position:relative;
    transition:var(--transition);
}

.navbar a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-8px;
    width:0;
    height:3px;
    border-radius:10px;
    background:var(--primary);
    transition:var(--transition);
}

.navbar a:hover,
.navbar a.active{
    color:var(--primary);
}

.navbar a:hover::after,
.navbar a.active::after{
    width:100%;
}

.nav-actions{
    display:flex;
    align-items:center;
    gap:18px;
}

.menu-btn{
    display:none;
    width:46px;
    height:46px;
    border-radius:12px;
    background:#EAF2FF;
    color:var(--primary);
    font-size:22px;
}

/*=========================
      HERO SECTION
==========================*/

.hero{
    min-height:calc(100vh - 125px);
    position:relative;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
        linear-gradient(120deg,rgba(8,38,82,.92),rgba(11,99,246,.78)),
        url("../images/banner/hospital-banner.jpg");
    background-size:cover;
    background-position:center;
}

.hero::before{
    content:"";
    position:absolute;
    width:520px;
    height:520px;
    border-radius:50%;
    background:rgba(255,255,255,.10);
    right:-150px;
    top:-120px;
}

.hero::after{
    content:"";
    position:absolute;
    width:300px;
    height:300px;
    border-radius:50%;
    background:rgba(0,184,169,.22);
    left:-80px;
    bottom:-80px;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(90deg,rgba(3,18,45,.85),rgba(3,18,45,.25));
}

.hero-content{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:60px;
    align-items:center;
    padding:90px 0;
}

.hero-badge{
    display:inline-flex;
    align-items:center;
    gap:10px;
    background:rgba(255,255,255,.14);
    color:#fff;
    padding:10px 20px;
    border-radius:50px;
    backdrop-filter:blur(12px);
    font-weight:600;
    margin-bottom:24px;
}

.hero-text h1{
    font-size:60px;
    line-height:1.12;
    color:#fff;
    font-weight:800;
    margin-bottom:24px;
    max-width:800px;
}

.hero-text p{
    color:#E8F3FF;
    font-size:18px;
    max-width:680px;
    margin-bottom:34px;
}

.hero-buttons{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin-bottom:42px;
}

.hero-stats{
    display:flex;
    gap:22px;
    flex-wrap:wrap;
}

.hero-stats div{
    min-width:140px;
    padding:20px 24px;
    border-radius:18px;
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(12px);
}

.hero-stats h3{
    color:#fff;
    font-size:28px;
    line-height:1;
}

.hero-stats p{
    margin:6px 0 0;
    color:#DCEEFF;
    font-size:14px;
}

.hero-card{
    background:rgba(255,255,255,.92);
    border-radius:28px;
    padding:36px;
    box-shadow:0 30px 80px rgba(0,0,0,.22);
    backdrop-filter:blur(18px);
    position:relative;
}

.hero-card h3{
    color:var(--heading);
    font-size:28px;
    margin-bottom:12px;
}

.hero-card p{
    color:var(--text);
    margin-bottom:24px;
}

.emergency-call{
    display:flex;
    align-items:center;
    gap:14px;
    background:#FFECEC;
    color:var(--danger);
    padding:18px 20px;
    border-radius:18px;
    font-weight:800;
    font-size:22px;
    margin-bottom:24px;
}

.emergency-call i{
    width:48px;
    height:48px;
    border-radius:50%;
    background:var(--danger);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
}

.quick-info{
    display:grid;
    gap:14px;
}

.quick-info span{
    display:flex;
    align-items:center;
    gap:10px;
    color:var(--heading);
    font-weight:600;
}

.quick-info i{
    color:var(--accent);
}
/*=========================
      ABOUT SECTION
==========================*/

.about{
    background:var(--white);
}

.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center;
}

.about-image{
    position:relative;
}

.image-placeholder{
    min-height:480px;
    border-radius:32px;
    background:linear-gradient(135deg,#EAF2FF,#F7FCFF);
    border:1px solid var(--border);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:var(--primary);
    box-shadow:var(--shadow);
}

.image-placeholder i{
    font-size:90px;
    margin-bottom:18px;
}

.image-placeholder p{
    font-weight:700;
    color:var(--heading);
}

.about-content h2{
    font-size:42px;
    line-height:1.25;
    color:var(--heading);
    margin-bottom:22px;
}

.about-content p{
    margin-bottom:28px;
}

.about-points{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-bottom:34px;
}

.about-points div{
    background:var(--bg);
    padding:16px 18px;
    border-radius:14px;
    color:var(--heading);
    font-weight:600;
}

.about-points i{
    color:var(--accent);
    margin-right:8px;
}

/*=========================
      DEPARTMENTS
==========================*/

.departments{
    background:var(--bg);
}

.service-card{
    background:#fff;
    padding:36px 30px;
    border-radius:24px;
    box-shadow:var(--shadow);
    transition:var(--transition);
    border:1px solid var(--border);
}

.service-card:hover{
    transform:translateY(-10px);
    box-shadow:0 22px 55px rgba(11,99,246,.16);
}

.service-card i{
    width:70px;
    height:70px;
    border-radius:20px;
    background:linear-gradient(135deg,var(--primary),var(--secondary));
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
    margin-bottom:24px;
}

.service-card h3{
    color:var(--heading);
    font-size:22px;
    margin-bottom:12px;
}

.service-card p{
    font-size:15px;
}

/*=========================
      DOCTORS
==========================*/

.doctors{
    background:#fff;
}

.doctor-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
    gap:30px;
}

.doctor-card{
    background:#fff;
    border-radius:26px;
    padding:28px;
    text-align:center;
    box-shadow:var(--shadow);
    border:1px solid var(--border);
    transition:var(--transition);
}

.doctor-card:hover{
    transform:translateY(-10px);
}

.doctor-photo{
    width:150px;
    height:150px;
    border-radius:50%;
    margin:0 auto 22px;
    background:linear-gradient(135deg,#EAF2FF,#F7FCFF);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--primary);
    font-size:70px;
    border:8px solid #fff;
    box-shadow:0 15px 35px rgba(11,99,246,.15);
}

.doctor-card h3{
    color:var(--heading);
    font-size:22px;
    margin-bottom:6px;
}

.doctor-card p{
    color:var(--primary);
    font-weight:600;
}

/*=========================
      FACILITIES
==========================*/

.facilities{
    background:linear-gradient(135deg,#F7FBFF,#EAF2FF);
}

.facility-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
    gap:22px;
}

.facility-grid div{
    background:#fff;
    padding:22px 24px;
    border-radius:18px;
    box-shadow:0 12px 30px rgba(14,42,90,.08);
    color:var(--heading);
    font-weight:700;
    border:1px solid var(--border);
}

.facility-grid i{
    color:var(--accent);
    margin-right:10px;
}
/*=========================
      APPOINTMENT
==========================*/

.appointment{
    background:#fff;
}

.appointment-grid{
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:50px;
    align-items:center;
    background:linear-gradient(135deg,#0B63F6,#00B8A9);
    padding:60px;
    border-radius:34px;
    color:#fff;
    box-shadow:0 25px 70px rgba(11,99,246,.22);
}

.appointment-grid h2{
    font-size:40px;
    line-height:1.2;
    margin-bottom:16px;
}

.appointment-grid p{
    color:#EAFBFF;
}

.appointment .section-tag{
    background:rgba(255,255,255,.18);
    color:#fff;
}

.appointment-form{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.appointment-form input,
.appointment-form select,
.appointment-form textarea{
    width:100%;
    border:none;
    padding:16px 18px;
    border-radius:14px;
    font-size:15px;
    background:#fff;
    color:var(--heading);
}

.appointment-form textarea{
    grid-column:1 / -1;
    min-height:120px;
    resize:none;
}

.appointment-form button{
    grid-column:1 / -1;
    justify-content:center;
    background:#0C1F39;
}

/*=========================
      CONTACT
==========================*/

.contact{
    background:var(--bg);
}

.contact-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:40px;
    align-items:stretch;
}

.contact-info{
    background:#fff;
    padding:42px;
    border-radius:28px;
    box-shadow:var(--shadow);
    border:1px solid var(--border);
}

.contact-info h2{
    color:var(--heading);
    font-size:34px;
    line-height:1.25;
    margin-bottom:24px;
}

.contact-info p{
    display:flex;
    gap:14px;
    margin-bottom:18px;
    color:var(--heading);
    font-weight:500;
}

.contact-info i{
    color:var(--primary);
    margin-top:6px;
}

.contact-info a{
    color:var(--primary);
    font-weight:700;
}

.map-box{
    min-height:430px;
    border-radius:28px;
    overflow:hidden;
    box-shadow:var(--shadow);
    border:1px solid var(--border);
}

.map-box iframe{
    width:100%;
    height:100%;
    border:0;
}

/*=========================
      FOOTER
==========================*/

.footer{
    background:#071A33;
    color:#DCE8F8;
    padding-top:70px;
}

.footer-grid{
    display:grid;
    grid-template-columns:1.4fr .8fr .8fr;
    gap:40px;
    padding-bottom:50px;
}

.footer h3,
.footer h4{
    color:#fff;
    margin-bottom:18px;
}

.footer h3{
    font-size:28px;
}

.footer a{
    display:block;
    margin-bottom:10px;
    color:#DCE8F8;
    transition:.3s;
}

.footer a:hover{
    color:#7CC8FF;
    padding-left:5px;
}

.footer-bottom{
    border-top:1px solid rgba(255,255,255,.12);
    text-align:center;
    padding:20px;
    font-size:14px;
}

/*=========================
      FLOATING BUTTONS
==========================*/

.float-btn{
    position:fixed;
    right:24px;
    width:56px;
    height:56px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:24px;
    z-index:1000;
    box-shadow:0 12px 35px rgba(0,0,0,.22);
    transition:var(--transition);
}

.float-btn:hover{
    transform:translateY(-5px) scale(1.05);
}

.call-float{
    bottom:96px;
    background:var(--primary);
}

.whatsapp-float{
    bottom:28px;
    background:#25D366;
}

/*=========================
      SIMPLE ANIMATIONS
==========================*/

.service-card,
.doctor-card,
.contact-info,
.map-box,
.hero-card{
    animation:fadeUp .8s ease both;
}

@keyframes fadeUp{
    from{
        opacity:0;
        transform:translateY(35px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}
.logo-img{
  width:78px;
  height:78px;
  object-fit:contain;
  flex-shrink:0;
}

.hero-image-box{
  position:relative;
  display:flex;
  justify-content:center;
  align-items:center;
}

.hero-building{
  width:100%;
  max-width:680px;
  border-radius:30px;
  box-shadow:0 30px 80px rgba(0,0,0,.28);
  object-fit:cover;
}

.emergency-box{
  position:absolute;
  right:20px;
  bottom:20px;
  width:280px;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-radius:24px;
  padding:24px;
  box-shadow:0 18px 45px rgba(0,0,0,.18);
}

.emergency-box h3{
  color:#e21b1b;
  font-size:20px;
  margin-bottom:10px;
}

.emergency-box p{
  color:#12263F;
  font-size:14px;
  margin-bottom:12px;
}

.emergency-box a{
  display:block;
  color:#0B63F6;
  font-weight:800;
  font-size:18px;
  margin-top:6px;
}

.about-image{
  border-radius:30px;
  overflow:hidden;
  box-shadow:var(--shadow);
}

.about-img{
  width:100%;
  height:480px;
  object-fit:cover;
}