/*==================================================
                ROOT VARIABLES
==================================================*/

:root{

    --primary:#0F766E;
    --primary-light:#CCFBF1;

    --secondary:#2563EB;

    --success:#22C55E;
    --warning:#F59E0B;
    --danger:#EF4444;

    --dark:#0F172A;
    --text:#475569;

    --white:#FFFFFF;
    --light:#F8FAFC;

    --border:#E2E8F0;

    --radius:18px;

    --transition:.35s ease;

    --shadow:0 10px 30px rgba(15,118,110,.10);

}

/*==================================================
                    RESET
==================================================*/

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Inter',sans-serif;

    background:var(--white);

    color:var(--text);

    line-height:1.7;

    overflow-x:hidden;

}

/*==================================================
                GLOBAL STYLES
==================================================*/

section{

    padding:100px 0;

}

img{

    max-width:100%;

    display:block;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

ul{

    list-style:none;

    margin:0;
    padding:0;

}

button{

    border:none;

    outline:none;

}

input,
textarea,
select{

    outline:none;

    box-shadow:none !important;

}

/*==================================================
                    TYPOGRAPHY
==================================================*/

h1,
h2,
h3,
h4,
h5,
h6{

    font-family:'Poppins',sans-serif;

    color:var(--dark);

    font-weight:700;

    margin-bottom:15px;

}

h1{

    font-size:3.3rem;

}

h2{

    font-size:2.5rem;

}

h3{

    font-size:2rem;

}

p{

    color:var(--text);

    margin-bottom:15px;

}

/*==================================================
            REUSABLE COMPONENTS
==================================================*/

.badge{

    background:var(--primary-light);

    color:var(--primary);

    font-size:.9rem;

    font-weight:600;

    padding:10px 20px;

}

.btn{

    border-radius:50px;

    padding:12px 28px;

    font-weight:600;

    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);

    border-color:var(--primary);

}

.btn-primary:hover{

    background:#0b5f58;

    border-color:#0b5f58;

    transform:translateY(-3px);

}

.btn-outline-primary{

    border:2px solid var(--primary);

    color:var(--primary);

}

.btn-outline-primary:hover{

    background:var(--primary);

    border-color:var(--primary);

    color:var(--white);

}

.card{

    border:none;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

}

/*==================================================
            CUSTOM SCROLLBAR
==================================================*/

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#EDF2F7;

}

::-webkit-scrollbar-thumb{

    background:var(--primary);

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#0b5f58;

}
/*==================================================
                    NAVBAR
==================================================*/

.custom-navbar{

    background:rgba(255,255,255,.90);

    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);

    padding:15px 0;

    transition:.35s ease;

    border-bottom:1px solid rgba(15,118,110,.08);

    z-index:1055;

}

/* Logo */

.navbar-brand img{

    height:52px;

    width:auto;

}
.navbar-brand{

    margin-right:auto;

}

.navbar-brand h5{

    font-size:1.1rem;

    margin-bottom:2px;

    color:var(--dark);

}

.navbar-brand small{

    color:var(--text);

    font-size:.85rem;

}

/* Navigation */

.navbar-nav{

    gap:10px;

}

.navbar-nav .nav-link{

    position:relative;

    font-weight:600;

    color:var(--dark);

    padding:10px 15px !important;

    transition:var(--transition);

}

/* Hover */

.navbar-nav .nav-link:hover{

    color:var(--primary);

}

/* Active */

.navbar-nav .nav-link.active{

    color:var(--primary);

}

/* Underline Animation */

.navbar-nav .nav-link::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:0;

    width:0;

    height:2px;

    background:var(--primary);

    transform:translateX(-50%);

    transition:.3s;

}

.navbar-nav .nav-link:hover::after,

.navbar-nav .nav-link.active::after{

    width:70%;

}

/* Right Buttons */

.custom-navbar .btn{

    font-size:.95rem;

    font-weight:600;

    border-radius:50px;

    padding:10px 22px;

}

/* Call Button */

.custom-navbar .btn-outline-primary{

    border:2px solid var(--primary);

    color:var(--primary);

}

.custom-navbar .btn-outline-primary:hover{

    background:var(--primary);

    color:#fff;

}

/* Appointment Button */

.custom-navbar .btn-primary{

    background:var(--primary);

    border:2px solid var(--primary);

}

.custom-navbar .btn-primary:hover{

    background:#0b5f58;

    border-color:#0b5f58;

}

/* Mobile Toggle */

.navbar-toggler{

    border:none;

    box-shadow:none !important;

}

.navbar-toggler i{

    color:var(--primary);

    font-size:2rem;

}

/* ==========================================
            Mobile Navbar
========================================== */

@media (max-width:991px){

    .navbar-collapse{

        position: fixed;

        top: 80px;
        left: 15px;
        right: 15px;

        background: #fff;

        border-radius: 20px;

        padding: 25px;

        box-shadow: 0 20px 45px rgba(0,0,0,.12);

        z-index: 1050;

        max-height: calc(100vh - 100px);

        overflow-y: auto;

        margin-top: 0;

    }

    .navbar-nav{

        gap: 0;

        margin-bottom: 25px;

    }

    .navbar-nav .nav-item{

        width: 100%;

    }

    .navbar-nav .nav-link{

        display: block;

        padding: 15px 5px !important;

        border-bottom: 1px solid #e9ecef;

        font-weight: 600;

    }

    .navbar-nav .nav-item:last-child .nav-link{

        border-bottom: none;

    }

    .custom-navbar .d-flex{

        flex-direction: column;

        gap: 12px;

        width: 100%;

    }

    .custom-navbar .btn{

        width: 100%;

        justify-content: center;

        border-radius: 50px;

    }

}
@media (max-width:991px){

    .custom-navbar .container{

        display:flex;
        align-items:center;
        justify-content:space-between;
        flex-wrap:nowrap;

    }

    .navbar-brand{

        flex:1;
        margin-right:0;
        min-width:0;
    }

    .navbar-brand .ms-3{

        margin-left:0 !important;

    }

    .navbar-brand h4{

        font-size:1.9rem;
        margin-bottom:2px;

    }

    .navbar-brand small{

        font-size:.9rem;

    }

    .navbar-toggler{

        margin-left:15px;
        flex-shrink:0;
        padding:0;

    }

}

/*==================================================
                    HERO SECTION
==================================================*/

#hero{

    position:relative;

    padding:180px 0 120px;

    background:linear-gradient(135deg,#F8FFFE 0%,#ECFDF5 100%);

    overflow:hidden;

}

/* Decorative Background */

#hero::before{

    content:"";

    position:absolute;

    width:450px;

    height:450px;

    border-radius:50%;

    background:rgba(15,118,110,.08);

    top:-180px;

    right:-150px;

}

#hero::after{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:rgba(37,99,235,.06);

    bottom:-120px;

    left:-120px;

}

/* Content */

.hero-content{

    position:relative;

    z-index:2;

}

.hero-badge{

    display:inline-block;

    background:var(--primary-light);

    color:var(--primary);

    padding:10px 22px;

    border-radius:50px;

    font-size:.9rem;

    font-weight:600;

    margin-bottom:20px;

}

.hero-content h1{

    font-size:3.5rem;

    line-height:1.2;

    color:var(--dark);

    margin-bottom:25px;

}

.hero-content h1 span{

    color:var(--primary);

}

.hero-content p{

    font-size:1.1rem;

    max-width:550px;

    margin-bottom:35px;

}

/* Buttons */

.hero-buttons{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.hero-buttons .btn{

    padding:14px 34px;

    border-radius:50px;

    font-weight:600;

}

/* Image */

.hero-image{

    position:relative;

    z-index:2;

}

.hero-image img{

    width:100%;

    border-radius:25px;

    box-shadow:0 20px 50px rgba(0,0,0,.12);

}

/* Floating Card */

.hero-card{

    position:absolute;

    bottom:30px;

    left:-40px;

    background:#fff;

    border-radius:20px;

    padding:18px 22px;

    box-shadow:var(--shadow);

    display:flex;

    align-items:center;

    gap:15px;

    min-width:240px;

}

.hero-card i{

    font-size:2rem;

    color:var(--primary);

}

.hero-card h6{

    margin-bottom:4px;

}

.hero-card p{

    margin:0;

    font-size:.9rem;

}

/* Trust Section */

.hero-trust{

    display:flex;

    gap:40px;

    margin-top:45px;

    flex-wrap:wrap;

}

.hero-trust h3{

    color:var(--primary);

    margin-bottom:5px;

}

.hero-trust p{

    margin:0;

    font-size:.95rem;

}

/* Responsive */

@media(max-width:991px){

    #hero{

         padding-top:140px;

        text-align:center;

    }

    .hero-content h1{

        font-size:2.6rem;

    }

    .hero-content p{

        margin:auto auto 30px;

    }

    .hero-buttons{

        justify-content:center;

    }

    .hero-image{

        margin-top:60px;

    }

    .hero-card{

        position:relative;

        left:0;

        bottom:0;

        margin-top:20px;

    }

    .hero-trust{

        justify-content:center;

    }

}

@media(max-width:768px){

    #hero{

        padding:130px 0 70px;

        text-align:center;

    }

    .hero-content h1{

        font-size:2.3rem;

        line-height:1.2;

    }

    .hero-content p{

        font-size:1rem;

    }

}

/*==================================================
            TODAY'S AVAILABILITY
==================================================*/

#availability{

    padding:80px 0;

    background:var(--white);

}

.availability-card{

    background:var(--white);

    border-radius:var(--radius);

    padding:35px;

    box-shadow:var(--shadow);

    transition:var(--transition);

    border:1px solid var(--border);

}

.availability-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(15,118,110,.12);

}

/* Left Icon */

.availability-icon{

    width:80px;

    height:80px;

    background:var(--primary-light);

    color:var(--primary);

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

    margin-bottom:25px;

}

/* Heading */

.availability-card h3{

    color:var(--dark);

    margin-bottom:10px;

}

.availability-card p{

    margin-bottom:20px;

}

/* Status Badge */

.status-badge{

    display:inline-flex;

    align-items:center;

    gap:8px;

    background:#DCFCE7;

    color:#15803D;

    padding:10px 20px;

    border-radius:50px;

    font-weight:600;

    margin-bottom:25px;

}

.status-badge::before{

    content:"";

    width:10px;

    height:10px;

    background:#22C55E;

    border-radius:50%;

    animation:pulse 1.5s infinite;

}

/* Timings */

.time-box{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:15px 20px;

    border-radius:12px;

    background:#F8FAFC;

    border:1px solid var(--border);

    margin-bottom:15px;

}

.time-box span{

    color:var(--text);

    font-weight:500;

}

.time-box strong{

    color:var(--dark);

}

/* CTA */

.availability-actions{

    display:flex;

    gap:15px;

    margin-top:30px;

    flex-wrap:wrap;

}

.availability-actions .btn{

    border-radius:50px;

    padding:12px 26px;

}

/* Pulse Animation */

@keyframes pulse{

    0%{

        transform:scale(.9);
        opacity:.8;

    }

    70%{

        transform:scale(1.6);
        opacity:0;

    }

    100%{

        transform:scale(.9);
        opacity:0;

    }

}

/* Responsive */

@media(max-width:768px){

    .availability-card{

        padding:25px;

    }

    .availability-actions{

        flex-direction:column;

    }

    .availability-actions .btn{

        width:100%;

    }

}
/*==================================================
                DOCTOR SECTION
==================================================*/

#doctor{

    padding:100px 0;

    background:var(--light);

}

/* Doctor Image */

.doctor-image{

    position:relative;

}

.doctor-image img{

    width:100%;

    border-radius:25px;

    box-shadow:0 20px 40px rgba(0,0,0,.10);

}
/* doctor section mobile-il break*/

@media(max-width:991px){

    .doctor-image{

        margin-bottom:40px;

    }

    .doctor-content{

        padding-left:0;

        text-align:center;

    }

    .doctor-buttons{

        justify-content:center;

    }

}

/* Floating Experience Card */

.experience-card{

    position:absolute;

    right:20px;

    bottom:20px;

    background:var(--white);

    padding:20px 25px;

    border-radius:18px;

    box-shadow:var(--shadow);

    text-align:center;

}

.experience-card h2{

    color:var(--primary);

    margin-bottom:5px;

}

.experience-card p{

    margin:0;

    font-size:.9rem;

}

/* Doctor Content */

.doctor-content{

    padding-left:40px;

}

.doctor-content h2{

    margin-bottom:20px;

}

.doctor-content p{

    margin-bottom:20px;

}

/* Qualification */

.doctor-qualification{

    display:flex;

    align-items:center;

    gap:15px;

    margin-bottom:25px;

}

.doctor-qualification i{

    width:55px;

    height:55px;

    background:var(--primary-light);

    color:var(--primary);

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:1.4rem;

}

/* Specialization */

.specialization-list{

    display:flex;

    flex-wrap:wrap;

    gap:12px;

    margin:30px 0;

}

.specialization-list span{

    background:var(--primary-light);

    color:var(--primary);

    padding:10px 18px;

    border-radius:30px;

    font-weight:600;

    font-size:.9rem;

}

/* Features */

.doctor-features{

    margin-top:30px;

}

.doctor-features li{

    display:flex;

    align-items:center;

    margin-bottom:18px;

    font-weight:500;

}

.doctor-features i{

    color:var(--success);

    margin-right:12px;

    font-size:1.2rem;

}

/* CTA */

.doctor-buttons{

    display:flex;

    gap:18px;

    margin-top:35px;

    flex-wrap:wrap;

}

.doctor-buttons .btn{

    border-radius:50px;

    padding:13px 30px;

}

/* Responsive */

@media(max-width:991px){

    .doctor-content{

        padding-left:0;

        margin-top:50px;

        text-align:center;

    }

    .doctor-qualification{

        justify-content:center;

    }

    .specialization-list{

        justify-content:center;

    }

    .doctor-features{

        display:inline-block;

        text-align:left;

    }

    .doctor-buttons{

        justify-content:center;

    }

    .experience-card{

        right:15px;

        bottom:15px;

    }

}

@media(max-width:576px){

    .doctor-buttons{

        flex-direction:column;

    }

    .doctor-buttons .btn{

        width:100%;

    }

}
/*==================================================
                SERVICES SECTION
==================================================*/

#services{

    padding:100px 0;

    background:var(--white);

}

/* Service Card */

.service-card{

    background:var(--white);

    padding:35px 30px;

    border-radius:20px;

    border:1px solid var(--border);

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    transition:all .35s ease;

    position:relative;

    overflow:hidden;

}

.service-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:100%;

    height:5px;

    background:var(--primary);

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.service-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(15,118,110,.12);

}

.service-card:hover::before{

    transform:scaleX(1);

}

/* Icon */

.service-icon{

    width:80px;

    height:80px;

    border-radius:50%;

    background:var(--primary-light);

    color:var(--primary);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

    margin-bottom:25px;

    transition:.35s;

}

.service-card:hover .service-icon{

    background:var(--primary);

    color:#fff;

    transform:rotate(-8deg) scale(1.08);

}

/* Title */

.service-card h4{

    font-size:1.35rem;

    margin-bottom:15px;

    color:var(--dark);

}

/* Paragraph */

.service-card p{

    color:var(--text);

    margin-bottom:0;

}

/* CTA */

#services .btn{

    padding:14px 34px;

    border-radius:50px;

    font-weight:600;

}

/* Responsive */

@media(max-width:768px){

    .service-card{

        text-align:center;

        padding:30px 25px;

    }

    .service-icon{

        margin:0 auto 25px;

    }

}
/*==================================================
            CONSULTATION SCHEDULE
==================================================*/

#schedule{

    padding:100px 0;

    background:var(--light);

}

/* Schedule Card */

.schedule-card{

    background:var(--white);

    border-radius:20px;

    padding:35px 30px;

    border:1px solid var(--border);

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    transition:all .35s ease;

    text-align:center;

    height:100%;

    position:relative;

    overflow:hidden;

}

.schedule-card::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:100%;

    height:5px;

    background:var(--primary);

    transform:scaleX(0);

    transform-origin:left;

    transition:.35s;

}

.schedule-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(15,118,110,.12);

}

.schedule-card:hover::before{

    transform:scaleX(1);

}

/* Icon */

.schedule-card i{

    color:var(--primary);

    font-size:3rem;

    transition:.35s;

}

.schedule-card:hover i{

    transform:scale(1.1);

}

/* Heading */

.schedule-card h4{

    margin:20px 0;

    color:var(--dark);

}

/* Divider */

.schedule-card hr{

    margin:20px 0;

    border-color:var(--border);

}

/* Time Row */

.schedule-card .d-flex{

    padding:12px 0;

}

.schedule-card span{

    color:var(--text);

}

.schedule-card strong{

    color:var(--dark);

}

/* Closed Text */

.schedule-card .text-danger{

    color:var(--danger)!important;

}

/* Appointment Note */

.appointment-note{

    background:var(--white);

    border-radius:20px;

    padding:35px;

    box-shadow:var(--shadow);

    border-left:6px solid var(--primary);

}

.appointment-note h4{

    color:var(--dark);

}

.appointment-note i{

    color:var(--primary);

}

.appointment-note p{

    margin-bottom:0;

}

/* Button */

.appointment-note .btn{

    border-radius:50px;

    padding:13px 30px;

}

/* Responsive */

@media(max-width:991px){

    .appointment-note{

        text-align:center;

    }

}

@media(max-width:768px){

    .schedule-card{

        padding:30px 25px;

    }

    .appointment-note{

        padding:25px;

    }

}

/*==================================================
                WHY CHOOSE US
==================================================*/

#why-us{

    padding:100px 0;

    background:linear-gradient(135deg,#F8FFFE 0%,#ECFDF5 100%);

}

/* Why Card */

.why-card{

    background:var(--white);

    padding:35px 30px;

    border-radius:20px;

    border:1px solid var(--border);

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    transition:all .35s ease;

    height:100%;

    position:relative;

    overflow:hidden;

}

.why-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:5px;

    height:100%;

    background:var(--primary);

    transform:scaleY(0);

    transform-origin:top;

    transition:.35s ease;

}

.why-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(15,118,110,.12);

}

.why-card:hover::before{

    transform:scaleY(1);

}

/* Icon */

.why-icon{

    width:75px;

    height:75px;

    border-radius:50%;

    background:var(--primary-light);

    color:var(--primary);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2rem;

    margin-bottom:25px;

    transition:.35s ease;

}

.why-card:hover .why-icon{

    background:var(--primary);

    color:var(--white);

    transform:rotate(-10deg) scale(1.08);

}

/* Heading */

.why-card h4{

    color:var(--dark);

    margin-bottom:15px;

}

/* Description */

.why-card p{

    color:var(--text);

    margin-bottom:20px;

    line-height:1.8;

}

/* Feature List */

.why-list{

    margin-top:20px;

}

.why-list li{

    display:flex;

    align-items:center;

    margin-bottom:12px;

    color:var(--text);

    font-weight:500;

}

.why-list li i{

    color:var(--success);

    margin-right:12px;

    font-size:1rem;

}

/* CTA Box */

.why-cta{

    background:var(--primary);

    color:var(--white);

    border-radius:20px;

    padding:40px;

    text-align:center;

    margin-top:60px;

    box-shadow:0 20px 40px rgba(15,118,110,.20);

}

.why-cta h3{

    color:var(--white);

    margin-bottom:15px;

}

.why-cta p{

    color:rgba(255,255,255,.9);

    margin-bottom:25px;

}

.why-cta .btn{

    background:var(--white);

    color:var(--primary);

    border:none;

    border-radius:50px;

    padding:14px 34px;

    font-weight:600;

    transition:.35s ease;

}

.why-cta .btn:hover{

    background:var(--dark);

    color:var(--white);

    transform:translateY(-3px);

}

/* Responsive */

@media(max-width:991px){

    .why-card{

        text-align:center;

    }

    .why-icon{

        margin:0 auto 25px;

    }

    .why-list li{

        justify-content:center;

    }

}

@media(max-width:576px){

    .why-card{

        padding:28px 22px;

    }

    .why-cta{

        padding:30px 20px;

    }

}

/*==================================================
                STATISTICS SECTION
==================================================*/

#statistics{

    padding:100px 0;

    background:linear-gradient(135deg,#0F766E,#115E59);

    position:relative;

    overflow:hidden;

}

/* Decorative Shapes */

#statistics::before{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:rgba(255,255,255,.05);

    top:-120px;

    left:-120px;

}

#statistics::after{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    background:rgba(255,255,255,.04);

    bottom:-100px;

    right:-100px;

}

/* Section Heading */

#statistics .section-title{

    position:relative;

    z-index:2;

}

#statistics .section-title h2{

    color:var(--white);

}

#statistics .section-title p{

    color:rgba(255,255,255,.85);

}

/* Statistics Card */

.stat-card{

    position:relative;

    z-index:2;

    background:rgba(255,255,255,.08);

    backdrop-filter:blur(12px);

    -webkit-backdrop-filter:blur(12px);

    border:1px solid rgba(255,255,255,.15);

    border-radius:22px;

    padding:40px 25px;

    text-align:center;

    transition:all .35s ease;

    height:100%;

}

.stat-card:hover{

    transform:translateY(-10px);

    background:rgba(255,255,255,.15);

}

/* Icon */

.stat-icon{

    width:85px;

    height:85px;

    margin:auto;

    border-radius:50%;

    background:rgba(255,255,255,.15);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:2.3rem;

    color:#fff;

    margin-bottom:25px;

    transition:.35s;

}

.stat-card:hover .stat-icon{

    transform:rotate(10deg) scale(1.08);

}

/* Number */

.stat-number{

    font-size:3rem;

    font-weight:800;

    font-family:'Poppins',sans-serif;

    color:#fff;

    line-height:1;

    margin-bottom:12px;

}

/* Label */

.stat-card h5{

    color:#fff;

    margin-bottom:10px;

}

/* Description */

.stat-card p{

    color:rgba(255,255,255,.85);

    margin-bottom:0;

    font-size:.95rem;

}

/* Responsive */

@media(max-width:991px){

    #statistics{

        padding:80px 0;

    }

}

@media(max-width:768px){

    .stat-card{

        padding:30px 20px;

    }

    .stat-number{

        font-size:2.4rem;

    }

    .stat-icon{

        width:70px;

        height:70px;

        font-size:2rem;

    }

}

/*==================================================
            PREMIUM PATIENT JOURNEY
==================================================*/

#patient-journey{

    padding:120px 0;

    background:linear-gradient(180deg,#ffffff,#f8fafc);

    overflow:hidden;

}

/* Timeline */

.journey-wrapper{

    position:relative;

    margin-top:80px;

}

/* Background Line */

.journey-wrapper::before{

    content:"";

    position:absolute;

    left:8%;

    right:8%;

    top:48px;

    height:4px;

    background:#dbeafe;

    border-radius:50px;

}

/* Animated Line */

.journey-progress{

    position:absolute;

    left:8%;

    top:48px;

    height:4px;

    width:0;

    background:linear-gradient(90deg,var(--primary),#14b8a6);

    border-radius:50px;

    transition:2s;

}

/* Card */

.journey-card{

    position:relative;

    text-align:center;

    background:#fff;

    padding:20px;

    transition:.45s;

    z-index:5;

}

.journey-card:hover{

    transform:translateY(-12px);

}

/* Circle */

.journey-number{

    width:70px;

    height:70px;

    border-radius:50%;

    margin:auto;

    display:flex;

    justify-content:center;

    align-items:center;

    background:#fff;

    border:4px solid var(--primary);

    color:var(--primary);

    font-weight:700;

    font-size:20px;

    transition:.4s;

    box-shadow:0 15px 35px rgba(15,118,110,.15);

}

.journey-card:hover .journey-number{

    background:var(--primary);

    color:#fff;

    transform:scale(1.08);

}

/* Icon */

.journey-icon{

    width:95px;

    height:95px;

    margin:35px auto;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:#ecfdf5;

    color:var(--primary);

    font-size:38px;

    transition:.45s;

}

.journey-card:hover .journey-icon{

    transform:rotate(15deg);

    background:var(--primary);

    color:#fff;

}

/* Heading */

.journey-card h5{

    font-weight:700;

    margin-bottom:15px;

    color:var(--dark);

}

/* Description */

.journey-card p{

    color:#64748B;

    font-size:.95rem;

    line-height:1.8;

}

/* Floating Glow */

.journey-card::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:25px;

    box-shadow:0 0 0 rgba(15,118,110,0);

    transition:.45s;

}

.journey-card:hover::after{

    box-shadow:0 20px 45px rgba(15,118,110,.15);

}

/* Mobile */

@media(max-width:992px){

    .journey-wrapper::before{

        display:none;

    }

}
.whatsapp-btn{

position:fixed;

right:25px;

bottom:25px;

width:65px;

height:65px;

border-radius:50%;

background:#25D366;

display:flex;

justify-content:center;

align-items:center;

font-size:30px;

color:#fff;

box-shadow:0 15px 35px rgba(0,0,0,.2);

z-index:999;

transition:.35s;

}

.whatsapp-btn:hover{

transform:translateY(-8px) scale(1.05);

color:white;

}
.btn-primary{

position:relative;

overflow:hidden;

}

.btn-primary::after{

content:"";

position:absolute;

width:0;

height:0;

left:50%;

top:50%;

background:rgba(255,255,255,.25);

border-radius:50%;

transform:translate(-50%,-50%);

transition:.6s;

}

.btn-primary:hover::after{

width:350px;

height:350px;

}
.hero-image{

overflow:hidden;

border-radius:25px;

}

.hero-image img{

transition:.6s;

}

.hero-image:hover img{

transform:scale(1.06);

}
.custom-navbar{

backdrop-filter:blur(18px);

-webkit-backdrop-filter:blur(18px);

background:rgba(255,255,255,.75);

}
.section-title h2{

background:linear-gradient(90deg,

#0F766E,

#14B8A6);

-webkit-background-clip:text;

-webkit-text-fill-color:transparent;

}
.service-card,

.why-card,

.stat-card,

.gallery-card{

transition:.45s;

}

.service-card:hover,

.why-card:hover,

.stat-card:hover,

.gallery-card:hover{

transform:translateY(-12px);

}
::selection{

background:var(--primary);

color:white;

}

/*==================================================
                    FAQ SECTION
==================================================*/

#faq{

    padding:100px 0;

    background:var(--light);

}

/* Accordion */

.accordion{

    --bs-accordion-border-width:0;

    --bs-accordion-bg:transparent;

}

/* Accordion Item */

.accordion-item{

    background:var(--white);

    border:1px solid var(--border);

    border-radius:18px !important;

    overflow:hidden;

    margin-bottom:20px;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    transition:all .35s ease;

}

.accordion-item:hover{

    transform:translateY(-5px);

    box-shadow:0 20px 40px rgba(15,118,110,.10);

}

/* Header */

.accordion-button{

    background:var(--white);

    color:var(--dark);

    font-size:1.05rem;

    font-weight:600;

    padding:22px 25px;

    box-shadow:none;

    border:none;

}

/* Active */

.accordion-button:not(.collapsed){

    background:var(--primary-light);

    color:var(--primary);

}

/* Remove Bootstrap Focus */

.accordion-button:focus{

    box-shadow:none;

}

/* Custom Arrow */

.accordion-button::after{

    transition:.35s;

}

.accordion-button:not(.collapsed)::after{

    transform:rotate(-180deg);

}

/* Body */

.accordion-body{

    padding:22px 25px;

    color:var(--text);

    line-height:1.8;

    background:var(--white);

}

/* CTA Box */

.faq-box{

    background:linear-gradient(135deg,var(--primary),#0d9488);

    color:#fff;

    border-radius:24px;

    padding:45px;

    text-align:center;

    margin-top:60px;

    box-shadow:0 20px 45px rgba(15,118,110,.18);

}

.faq-box h3{

    color:#fff;

    margin-bottom:15px;

}

.faq-box p{

    color:rgba(255,255,255,.90);

    margin-bottom:25px;

}

.faq-box .btn{

    background:#fff;

    color:var(--primary);

    border:none;

    border-radius:50px;

    padding:14px 35px;

    font-weight:600;

    transition:.35s;

}

.faq-box .btn:hover{

    background:var(--dark);

    color:#fff;

}

/* Responsive */

@media(max-width:768px){

    #faq{

        padding:80px 0;

    }

    .accordion-button{

        font-size:1rem;

        padding:18px 20px;

    }

    .accordion-body{

        padding:18px 20px;

    }

    .faq-box{

        padding:30px 25px;

    }

}
/*==================================================
                PATIENT REVIEWS
==================================================*/

#reviews{

    padding:100px 0;

    background:var(--white);

}

/* Review Card */

.review-card{

    background:var(--white);

    border:1px solid var(--border);

    border-radius:20px;

    padding:35px;

    height:100%;

    transition:.35s;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    position:relative;

    overflow:hidden;

}

.review-card::before{

    content:"";

    position:absolute;

    top:0;

    left:0;

    width:5px;

    height:100%;

    background:var(--primary);

    transform:scaleY(0);

    transform-origin:top;

    transition:.35s;

}

.review-card:hover{

    transform:translateY(-10px);

    box-shadow:0 20px 45px rgba(15,118,110,.12);

}

.review-card:hover::before{

    transform:scaleY(1);

}

/* Quote */

.review-card p{

    font-style:italic;

    color:var(--text);

    line-height:1.8;

}

/* Stars */

.review-card .text-warning{

    color:#FBBF24 !important;

    font-size:18px;

}

/* User */

.review-user{

    display:flex;

    align-items:center;

    gap:15px;

    margin-top:20px;

}

/* Avatar */

.review-avatar{

    width:60px;

    height:60px;

    border-radius:50%;

    background:var(--primary-light);

    display:flex;

    align-items:center;

    justify-content:center;

    color:var(--primary);

    font-size:24px;

    transition:.35s;

}

.review-card:hover .review-avatar{

    background:var(--primary);

    color:#fff;

    transform:rotate(-8deg);

}

/* Name */

.review-user h5{

    margin:0;

    font-size:1.05rem;

    color:var(--dark);

}

/* Service */

.review-user small{

    color:#64748B;

}

/* Divider */

.review-card hr{

    margin:25px 0;

    opacity:.15;

}
/*==================================================
                GALLERY SECTION
==================================================*/

#gallery{

    padding:100px 0;

    background:#ffffff;

}

/* Gallery Card */

.gallery-card{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    cursor:pointer;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.4s;

}

.gallery-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(0,0,0,.15);

}

/* Image */

.gallery-card img{

 width:100%;

    aspect-ratio:4/3;

    object-fit:cover;

    transition:.6s;

}

.gallery-card:hover img{

    transform:scale(1.1);

}

/* Overlay */

.gallery-overlay{

    position:absolute;

    inset:0;

    background:linear-gradient(

    rgba(15,118,110,.10),

    rgba(15,118,110,.88)

    );

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    align-items:center;

    text-align:center;

    padding:25px;

    color:#fff;

    opacity:0;

    transition:.4s;

}

.gallery-card:hover .gallery-overlay{

    opacity:1;

}

/* Title */

.gallery-overlay h5{

    font-weight:700;

    margin-bottom:18px;

}

/* Icon */

.gallery-overlay span{

    width:60px;

    height:60px;

    border-radius:50%;

    background:#fff;

    color:var(--primary);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    transition:.35s;

}

.gallery-card:hover .gallery-overlay span{

    transform:rotate(180deg) scale(1.1);

}

/* Button */

#gallery .btn{

    border-radius:50px;

    padding:12px 35px;

    font-weight:600;

}

/*==================================================
                EMERGENCY SECTION
==================================================*/

#emergency{

    padding:110px 0;

    background:linear-gradient(135deg,#f8fffe,#eefaf8);

}

/* Heading */

#emergency h2{

    font-size:2.5rem;

    font-weight:700;

    color:var(--dark);

}

#emergency p{

    color:#64748B;

    line-height:1.9;

}

/*==================================
        Feature Box
===================================*/

.emergency-feature{

    display:flex;

    align-items:flex-start;

    gap:18px;

    background:#fff;

    padding:22px;

    border-radius:18px;

    transition:.35s;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    border:1px solid rgba(15,118,110,.08);

}

.emergency-feature:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 40px rgba(15,118,110,.12);

}

.emergency-feature i{

    width:60px;

    height:60px;

    border-radius:50%;

    background:rgba(15,118,110,.10);

    color:var(--primary);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:24px;

    flex-shrink:0;

    transition:.35s;

}

.emergency-feature:hover i{

    background:var(--primary);

    color:#fff;

    transform:rotate(-12deg);

}

.emergency-feature h5{

    margin-bottom:8px;

    font-weight:600;

}

.emergency-feature p{

    margin:0;

    font-size:.95rem;

}

/*==================================
        Emergency Card
===================================*/

.emergency-card{

    background:rgba(255,255,255,.75);

    backdrop-filter:blur(18px);

    -webkit-backdrop-filter:blur(18px);

    border-radius:28px;

    padding:40px;

    box-shadow:0 25px 60px rgba(15,118,110,.12);

    border:1px solid rgba(255,255,255,.6);

    transition:.35s;

}

.emergency-card:hover{

    transform:translateY(-10px);

}

.emergency-card .display-2{

    color:var(--primary);

    animation:pulseHeart 2.5s infinite;

}

@keyframes pulseHeart{

    0%{

        transform:scale(1);

    }

    50%{

        transform:scale(1.08);

    }

    100%{

        transform:scale(1);

    }

}

.emergency-card h3{

    font-weight:700;

    margin-bottom:15px;

}

.emergency-card p{

    color:#64748B;

}

/*==================================
        Buttons
===================================*/

.emergency-card .btn{

    border-radius:50px;

    padding:14px 20px;

    font-weight:600;

    transition:.35s;

}

.emergency-card .btn:hover{

    transform:translateY(-4px);

}

.emergency-card .btn-success{

    background:#25D366;

    border:none;

}

.emergency-card .btn-success:hover{

    background:#1fa855;

}

/*==================================
        Alert
===================================*/

.emergency-card .alert{

    border:none;

    border-radius:18px;

    background:#FFF8E6;

    color:#8A5A00;

    line-height:1.8;

    font-size:.95rem;

}

/*==================================
        Divider
===================================*/

.emergency-card hr{

    opacity:.08;

    margin:30px 0;

}

/*==================================
        Responsive
===================================*/

@media(max-width:991px){

    #emergency{

        padding:80px 0;

    }

    #emergency h2{

        font-size:2rem;

    }

    .emergency-card{

        margin-top:40px;

        padding:30px;

    }

}

@media(max-width:576px){

    .emergency-feature{

        flex-direction:column;

        text-align:center;

        align-items:center;

    }

    .emergency-feature div{

        text-align:center;

    }

}
.status-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:#ECFDF5;

    color:#0F766E;

    padding:10px 18px;

    border-radius:50px;

    font-weight:600;

    margin-bottom:20px;

}

.status-dot{

    width:10px;

    height:10px;

    border-radius:50%;

    background:#22C55E;

    animation:blink 1.5s infinite;

}

@keyframes blink{

    0%,100%{

        opacity:1;

    }

    50%{

        opacity:.3;

    }

}

/*==================================================
                CONTACT SECTION
==================================================*/

#contact{

    padding:110px 0;

    background:#F8FAFC;

}

/*==================================
        Contact Form
===================================*/

#contact form{

    background:#fff;

    padding:40px;

    border-radius:24px;

    box-shadow:0 15px 40px rgba(15,118,110,.08);

    border:1px solid rgba(15,118,110,.08);

}

#contact .form-control,
#contact .form-select{

    height:55px;

    border-radius:14px;

    border:1px solid #D1D5DB;

    padding:0 18px;

    font-size:.95rem;

    box-shadow:none;

    transition:.3s;

}

#contact textarea.form-control{

    height:160px;

    padding:18px;

    resize:none;

}

#contact .form-control:focus,
#contact .form-select:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 .18rem rgba(15,118,110,.15);

}

/*==================================
        Submit Button
===================================*/

#contact .btn-primary{

    border-radius:50px;

    padding:14px 30px;

    font-weight:600;

    transition:.35s;

}

#contact .btn-primary:hover{

    transform:translateY(-3px);

}

/*==================================
        Contact Card
===================================*/

.contact-card{

    background:#fff;

    border-radius:24px;

    padding:40px;

    height:100%;

    box-shadow:0 15px 40px rgba(15,118,110,.08);

    border:1px solid rgba(15,118,110,.08);

}

.contact-card h4{

    font-weight:700;

    margin-bottom:25px;

}

.contact-card hr{

    opacity:.08;

    margin-bottom:25px;

}

.contact-card p{

    display:flex;

    align-items:flex-start;

    gap:15px;

    color:#475569;

    line-height:1.8;

    margin-bottom:22px;

}

.contact-card p i{

    width:48px;

    height:48px;

    background:rgba(15,118,110,.10);

    color:var(--primary);

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:20px;

    flex-shrink:0;

}

/*==================================
        Contact Buttons
===================================*/

.contact-card .btn{

    border-radius:50px;

    padding:14px;

    font-weight:600;

    transition:.35s;

}

.contact-card .btn:hover{

    transform:translateY(-3px);

}

.contact-card .btn-success{

    background:#25D366;

    border:none;

}

.contact-card .btn-success:hover{

    background:#1FA855;

}

/*==================================
        Google Map
===================================*/

#contact iframe{

    border-radius:24px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(15,118,110,.08);

    border:0;

}

/*==================================
        Responsive
===================================*/

@media(max-width:991px){

    #contact{

        padding:80px 0;

    }

    #contact form{

        margin-bottom:35px;

    }

}

@media(max-width:576px){

    #contact form,
    .contact-card{

        padding:25px;

    }

}
/*==================================================
                    FOOTER
==================================================*/

footer{

    background:#0F172A;

    color:#CBD5E1;

    padding:80px 0 30px;

}

/* Logo */

footer img{

    margin-bottom:15px;

}

/* Paragraph */

footer p{

    color:#94A3B8;

    line-height:1.9;

    font-size:.96rem;

}

/* Headings */

footer h5{

    color:#ffffff;

    font-weight:700;

    margin-bottom:25px;

    position:relative;

}

footer h5::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-10px;

    width:45px;

    height:3px;

    background:var(--primary);

    border-radius:20px;

}

/* Links */

footer ul{

    padding:0;

    margin:0;

}

footer ul li{

    list-style:none;

    margin-bottom:14px;

}

footer ul li a{

    color:#94A3B8;

    text-decoration:none;

    transition:.3s;

}

footer ul li a:hover{

    color:var(--primary);

    padding-left:8px;

}

/* Contact */

footer p i{

    color:var(--primary);

    margin-right:10px;

    font-size:17px;

}

/* Social Icons */

footer .d-flex a{

    width:45px;

    height:45px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:rgba(255,255,255,.06);

    color:#ffffff;

    transition:.35s;

    text-decoration:none;

}

footer .d-flex a:hover{

    background:var(--primary);

    transform:translateY(-6px) rotate(8deg);

    color:#fff;

}

/* Divider */

footer hr{

    border-color:rgba(255,255,255,.08);

}

/* Bottom */

footer .row:last-child p{

    color:#94A3B8;

    font-size:.95rem;

}

footer strong{

    color:#ffffff;

    font-weight:700;

}

/* Copyright */

footer .copyright{

    border-top:1px solid rgba(255,255,255,.08);

    margin-top:40px;

    padding-top:25px;

}

/* Responsive */

@media(max-width:991px){

    footer{

        text-align:center;

    }

    footer h5::after{

        left:50%;

        transform:translateX(-50%);

    }

    footer .d-flex{

        justify-content:center;

    }

}

@media(max-width:576px){

    footer{

        padding:60px 0 25px;

    }

}
.clinic-badge span{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:rgba(15,118,110,.15);

    color:#7DD3C7;

    padding:10px 18px;

    border-radius:50px;

    font-size:.9rem;

    font-weight:600;

}

.clinic-badge i{

    color:#34D399;

}

/*==================================
        Developer Credit
===================================*/

.developer-credit{

    display:flex;

    align-items:center;

    justify-content:flex-end;

    gap:8px;

    flex-wrap:wrap;

}

.developer-logo{

    display:inline-flex;

    align-items:center;

    transition:.35s;

}

.developer-logo img{

    height:34px;

    width:auto;

    transition:.35s;

}

.developer-logo:hover img{

    transform:scale(1.08);

    opacity:.9;

}

@media(max-width:991px){

    .developer-credit{

        justify-content:center;

        margin-top:15px;

    }

}
