*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:Arial;
}

body{
    background:#f5f5f5;
}

/* HEADER */

header{
    background:#d62828;
    color:white;
    text-align:center;
    padding:25px;
}

header h1{
    font-size:40px;
}

/* HERO */

.hero{
    text-align:center;
    padding:50px 20px;
}

.hero h2{
    font-size:35px;
    margin-bottom:15px;
}

.hero p{
    font-size:18px;
    max-width:700px;
    margin:auto;
}

/* BUTTON */

#sosBtn{
    margin-top:30px;
    padding:18px 40px;
    background:red;
    color:white;
    border:none;
    border-radius:10px;
    font-size:22px;
    cursor:pointer;
}

#sosBtn:hover{
    background:darkred;
}

/* LOCATION */

.location-section{
    text-align:center;
    padding:30px;
}

/* MAP */

.map-section{
    text-align:center;
    padding:30px;
}

#map{
    width:90%;
    height:450px;
    margin:auto;
    border-radius:15px;
}

/* CONTACTS */

.contacts{
    display:flex;
    justify-content:center;
    gap:20px;
    padding:40px;
    flex-wrap:wrap;
}

.card{
    background:white;
    padding:25px;
    width:220px;
    text-align:center;
    border-radius:12px;
    box-shadow:0 4px 10px rgba(0,0,0,0.2);
}

/* FOOTER */

footer{
    background:#222;
    color:white;
    text-align:center;
    padding:20px;
}

#voiceBtn{

    margin-top:20px;
    padding:15px 30px;
    background:#003049;
    color:white;
    border:none;
    border-radius:10px;
    font-size:18px;
    cursor:pointer;
}

#smsBtn{

    margin-top:20px;
    margin-left:10px;
    padding:15px 30px;
    background:#2a9d8f;
    color:white;
    border:none;
    border-radius:10px;
    font-size:18px;
    cursor:pointer;
}

/* LOADER */

#loader{

    border:6px solid #f3f3f3;

    border-top:6px solid red;

    border-radius:50%;

    width:50px;

    height:50px;

    animation:spin 1s linear infinite;

    margin:20px auto;
}

@keyframes spin{

    0%{
        transform:rotate(0deg);
    }

    100%{
        transform:rotate(360deg);
    }
}

.hospital-list{

    text-align:center;

    padding:40px;
}

.hospital-list ul{

    list-style:none;
}

.hospital-list li{

    background:white;

    margin:10px auto;

    width:300px;

    padding:15px;

    border-radius:10px;

    box-shadow:0 4px 10px rgba(0,0,0,0.2);
}

.status-section{

    text-align:center;

    padding:30px;
}

#statusText{

    font-size:22px;

    font-weight:bold;

    color:red;
}

#darkModeBtn{

    margin-top:20px;

    padding:15px 30px;

    background:#222;

    color:white;

    border:none;

    border-radius:10px;

    cursor:pointer;
}

.dark-mode{

    background:#121212;

    color:white;
}

.dark-mode .card{

    background:#1e1e1e;

    color:white;
}

.dark-mode .hospital-list li{

    background:#1e1e1e;

    color:white;

    border:1px solid #444;

    box-shadow:0 0 10px rgba(255,0,0,0.3);
}

.dark-mode footer{

    background:black;
}

/* LOCATION CONTAINER */

.location-container{

    display:flex;

    justify-content:space-around;

    align-items:center;

    flex-wrap:wrap;

    padding:40px;
}


/* LOCATION INFO */

.location-info{

    text-align:center;
}


/* AMBULANCE IMAGE */

.ambulance-image img{

    width:350px;

    max-width:100%;

    animation:float 3s ease-in-out infinite;

    
}


/* FLOAT ANIMATION */

@keyframes float{

    0%{
        transform:translateY(0px);
    }

    50%{
        transform:translateY(-10px);
    }

    100%{
        transform:translateY(0px);
    }
}