*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

body{
background:#f5f5f5;
overflow-x:hidden;
padding-top:80px;
}

/* ================= NAVBAR ================= */

.navbar{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;

    height: 80px;

    background: rgba(48,67,199,0.95);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 80px;

    z-index: 9999;

    
}

/* ================= HOME DROPDOWN ================= */
.home-dropdown{
    position:absolute;

    top:100%;
    left:230%;
    

    transform:translateX(-50%);

    width:250px;
    background:#fff;

    border-left:4px solid #3145c9;
    border-bottom:4px solid #3145c9;

    border-radius:12px 12px 12px 12px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    padding:10px 0;

    visibility:hidden;
    opacity:0;

    z-index:99999;
}

.nav-item:hover .home-dropdown{
    visibility:visible;
    opacity:1;
}

.home-dropdown a{
    display:flex;
    justify-content:space-between;
    align-items:center;

    padding:11px 26px;

    text-decoration:none;

    color:#222 !important;   /* Black text */

    font-size:16px !important;
    font-weight:300;

    line-height:1.2;
}

.home-dropdown a:hover{ 
    color:#1b3dad !important;
    background:transparent;
}

.home-dropdown span{
    color:#222;
    font-size:16px;
    font-weight:400;
}

.active-link{
    color:#3145c9 !important;
    font-weight:500;
}

.nav-item{
    position:relative;
    list-style:none;
    display:flex;
    justify-content:center;
}


.recharge-menu{
    position:relative;
}

.recharge-dropdown{
    position:absolute;

    top:100%;
    left:60%;

    transform:translateX(-50%);

    width:274px;
    max-height:390px;

    background:#fff;


    border-left:4px solid #3145c9;
    border-bottom:4px solid #3145c9;

    border-radius:12px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    padding:12px 0;

    visibility:hidden;
    opacity:0;

    overflow-y:auto;

    z-index:99999;
}

/* Scroll Bar */

.recharge-dropdown::-webkit-scrollbar{
    width:6px;
}

.recharge-dropdown::-webkit-scrollbar-thumb{
    background:#d9d3ff;
    border-radius:20px;
}

.recharge-menu:hover .recharge-dropdown{
    visibility:visible;
    opacity:1;
}

.recharge-dropdown a{
    display:block;

    padding:16px 28px;

    text-decoration:none;

    color:#222 !important;

    font-size:16px !important;
    font-weight:300;

    transition:.3s;
}

.recharge-dropdown a:hover{
    color:#1b3dad !important;
    background:transparent;
}

.booking-menu{
    position:relative;
}

.booking-dropdown{
    position:absolute;

    top:100%;
    left:50%;
    right:50%;

    transform:translateX(-50%);

    width:90vw;
    max-width:1620px;
    max-height:350px;
    overflow-y:auto;
    overflow-x:hidden;

    background:#fff;

    border-left:4px solid #3145c9;
    border-bottom:4px solid #3145c9;

    border-radius:12px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    padding:0;

    display:grid;
    grid-template-columns:repeat(5,1fr);

    visibility:hidden;
    opacity:0;

    z-index:99999;
}

.booking-menu:hover .booking-dropdown{
    visibility:visible;
    opacity:1;
}

.booking-column{
    padding:28px 26px;

    border-right:1px solid #3145c9;
}

.booking-column:last-child{
    border-right:none;
}

.booking-column h4{
    font-size:18px;
    font-weight:600;

    color:#222;

    margin-bottom:22px;
}

.booking-column a{
    display:block;

    text-decoration:none;

    color:#222 !important;

    font-size:16px !important;

    font-weight:400;

    margin-bottom:22px;

    transition:.3s;
}

.booking-column a:hover{
    color:#3145c9 !important;
}

.booking-dropdown::-webkit-scrollbar{
    width:8px;
}

.booking-dropdown::-webkit-scrollbar-track{
    background:#f1f1f1;
}

.booking-dropdown::-webkit-scrollbar-thumb{
    background:#cfc6ff;
    border-radius:20px;
}

.booking-dropdown::-webkit-scrollbar-thumb:hover{
    background:#b7abff;
}

.blog-menu{
    position:relative;
}

.blog-dropdown{
    position:absolute;

    top:100%;
    left:185% !important;

    transform:translateX(-50%);

    width:200px !important;

    background:#fff;

    border-left:4px solid #3145c9;
    border-bottom:4px solid #3145c9;

    border-radius:12px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    padding:16px 0;

    visibility:hidden;
    opacity:0;

    z-index:99999;
}

.blog-menu:hover .blog-dropdown{
    visibility:visible;
    opacity:1;
}

.blog-dropdown a{
    display:block;

    padding:18px 28px;

    text-decoration:none;

    color:#222 !important;

    font-size:16px !important;
    font-weight:400;

    transition:.3s;
}

.blog-dropdown a:hover{
    color:#3145c9 !important;
    background:transparent;
}

.pages-menu{
    position:relative;
}

.pages-dropdown{
    position:absolute;

    top:100%;
    left:210% !important;

    transform:translateX(-50%);

    width:310px;
    max-height:500px;

    background:#fff;

    border-left:4px solid #3145c9;
    border-bottom:4px solid #3145c9;

    border-radius:12px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    padding:12px 0;

    visibility:hidden;
    opacity:0;

    overflow-y:auto;

    z-index:99999;
}

/* Scroll Bar */

.pages-dropdown::-webkit-scrollbar{
    width:6px;
}

.pages-dropdown::-webkit-scrollbar-thumb{
    background:#d9d3ff;
    border-radius:20px;
}

.pages-menu:hover .pages-dropdown{
    visibility:visible;
    opacity:1;
}

.pages-dropdown a{
    display:flex;

    justify-content:space-between;
    align-items:center;

    padding:16px 28px;

    text-decoration:none;

    color:#222 !important;

    font-size:16px !important;
    font-weight:400;

    transition:.3s;
}

.pages-dropdown a:hover{
    color:#3145c9 !important;
    background:transparent;
}

.pages-dropdown span{
    font-size:18px;
    font-weight:400;
    color:#222;
}

.elements-menu{
    position:relative;
}

.elements-dropdown{
    position:absolute;

    top:100%;
    right:-350px;     /* right side shift */

    left:auto;
    transform:none;

    width:90vw;
    max-width:1620px;

    height:370px;     /* fixed height */

    overflow-y:auto;
    overflow-x:hidden;

    background:#fff;

    border-left:4px solid #3145c9;
    border-bottom:4px solid #3145c9;

    border-radius:12px;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    padding:24px;

    visibility:hidden;
    opacity:0;

    z-index:99999;
}

.elements-menu:hover .elements-dropdown{
    visibility:visible;
    opacity:1;
}

.elements-grid{
    display:grid;

    grid-template-columns:repeat(6,1fr);

    gap:14px;
}

.element-box{
    height:140px;      /* pehle 95px tha */

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    background:#3145c9;
    color:#fff !important;

    font-size:18px;
    font-weight:500;

    border-radius:8px;

    text-align:center;
    padding:15px;
}

.elements-dropdown::-webkit-scrollbar{
    width:6px;
}

.elements-dropdown::-webkit-scrollbar-thumb{
    background:#d7d2ff;
    border-radius:20px;
}

.elements-dropdown::-webkit-scrollbar-track{
    background:transparent;
}

.logo{
    font-size:45px;
    font-weight:600;
    color:#fff;
    cursor:pointer;

    transition:.3s ease;
}


.menu{
display:flex;
list-style:none;
gap:28px;
}

.menu li a{
    text-decoration:none;
    color:#fff;

    font-size:18px;
    font-weight:500;

    transition:.3s ease;
}



.menu li a i{
font-size:10px;
margin-left:4px;
}

.auth-buttons{
display:flex;
gap:15px;
}

.signup-btn{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 115px;
    height: 50px;

    background: #ffffff;
    color: #2f43c7;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    border-radius: 6px;

    overflow: hidden;
    z-index: 1;

    transition: color 0.4s ease;
}

.signup-btn::before{
    content: "";
    position: absolute;

    top: 0;
    left: 50%;

    width: 0;
    height: 100%;

    background: #2f43c7;

    transform: translateX(-50%);
    transition: width 0.45s ease;

    z-index: -1;
}

.signup-btn:hover{
    color: #fff;
}

.signup-btn:hover::before{
    width: 100%;
}

.signin-btn{
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 115px;
    height: 50px;

    background: transparent;
    border: 1px solid rgba(255,255,255,0.2);

    color: #ffffff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;

    border-radius: 6px;
    overflow: hidden;

    z-index: 1;
    transition: color 0.4s ease;
}

.signin-btn::before{
    content: "";
    position: absolute;

    top: 0;
    left: 50%;

    width: 0;
    height: 100%;

    background: #5d73ff;

    transform: translateX(-50%);
    transition: width 0.45s ease;

    z-index: -1;
}

.signin-btn:hover{
    color: #2f43c7;
}

.signin-btn:hover::before{
    width: 100%;
}

/* ================= HERO ================= */

.hero{
max-width:1250px;
margin:40px auto;
display:grid;
grid-template-columns:320px 1fr 320px;
gap:25px;
align-items:start;
}

/* ================= SIDEBAR ================= */

.service-sidebar{
display:flex;
flex-direction:column;
gap:16px;
transform:translateX(-50px);
}

.service{
    height:70px;
    background:#fff;
    border:1px solid #e5e5e5;
    border-radius:5px;

    display:flex;
    align-items:center;
    gap:15px;

    padding:0 20px;

    cursor:pointer;

    color:#222;

    transition:all .3s ease;
}

.service-sidebar{
    background:#fff;
    padding:14px;
    border-radius:12px;
    box-shadow:0 5px 25px rgba(0,0,0,.05);
}

/* Hover Effect */

.service:hover{
    background:#3147cc;
    color:#fff;
}

/* Active Card */

.service.active{
    background:#3147cc;
    color:#fff;
}

/* Icon Color */

.service i{
    color:#3147cc;
    transition:.3s;
}

.service:hover i,
.service.active i{
    color:#fff;
}

/* ================= FORM CARD ================= */

.recharge-card{
background:#fff;
padding:25px 35px;
border-radius:6px;
box-shadow:0 0 15px rgba(0,0,0,.05);
min-height: 514px;
width:660px;
margin-left:-47px;
}

.recharge-card h2{
text-align:center;
font-size:20px;
font-weight:500;
margin-bottom:25px;
}

.radio-wrapper{
display:flex;
justify-content:center;
gap:25px;
margin-bottom:25px;
font-size:14px;
}

.form-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:15px;
}

.form-grid input,
.form-grid select{
height:52px;
padding:0 15px;
border:1px solid #e3e3e3;
border-radius:4px;
font-size:14px;
outline:none;
}

.form-grid input:focus,
.form-grid select:focus{
border-color:#2f43c7;
}

.continue-btn{
    display:block;
    margin:30px auto 0;
    width:260px;
    height:60px;

    background:#3553e6;
    color:#fff;

    border:none;
    border-radius:5px;

    font-size:18px;
    font-weight:600;

    cursor:pointer;

    position:relative;
    overflow:visible;    
    z-index:1;
}

.continue-btn::before{
    content:'';
    position:absolute;
    top:0;
    left:50%;
    width:0;
    height:100%;
    background:#b7c0f7;
    transform:translateX(-50%);
    transition:width .5s ease;
    z-index:-1;
}

.continue-btn:hover::before{
    width:100%;
}

/* ================= OFFER ================= */

.offer-banner{
height:710px;
}

.offer-banner img{
width:100%;
height:100%;
object-fit:cover;
border-radius:8px;
}

/* ================= PROMO ================= */

.promo-section{
max-width:1250px;
margin:10px auto 60px;
}

.promo-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:25px;
}

.promo-header h2{
font-size:24px;
font-weight:700;
}

.slider-buttons{
display:flex;
gap:10px;
}


.promo-section{
    width:655px;
    margin-top:-200px;
}

.promo-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:25px;
}

.promo-header h2{
    font-size:32px;
    font-weight:7400;
    color:#1d0900;
}

.slider-buttons{
    display:flex;
    gap:12px;
}

.slider-buttons button{
    width:50px;
    height:50px;
    background:#fff;
    border:1px solid #ddd;
    border-radius:6px;
    cursor:pointer;

    font-size:14px;
    font-weight:400 !important;
    color:#111;

    transition:.3s;
}

.slider-buttons button:hover{
    background:#3145c9;
    color:#fff;
    border-color:#3145c9;
}

.promo-cards{
    display:flex;
    gap:18px;
    overflow-x:hidden;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scrollbar-width:none;

    scroll-snap-type:x mandatory;
}

.promo-cards::-webkit-scrollbar{
    display:none;
}

.promo-card{
    width:320px;
    min-width:320px;

    background:#fff;
    border:1px solid #e8e8e8;
    border-radius:8px;

    padding:28px;

    display:flex;
    align-items:center;
    gap:24px;

    flex-shrink:0;
    scroll-snap-align:start;
}

.promo-card:hover{

    transform:translateY(-4px);

    box-shadow:
    0 8px 20px rgba(49,69,201,.12),
    0 0 12px rgba(49,69,201,.15);
}

.promo-card img{
    width:75px;
    height:75px;
    object-fit:contain;
}

.promo-card p{
    font-size:15px;
    margin-bottom:10px;
    color:#555;
}

.promo-card a{
    text-decoration:none;
    color:#3145c9;
    font-size:18px;
    font-weight:500;
}

/* ================= REFER EARN ================= */

.refer-section{
    position:relative;

    background:#f6f7ff;

    padding:90px 0 120px;

    overflow:hidden;
}

.refer-bg-left{
    position:absolute;

    left:0;
    top:15px;

    width:420px;

    opacity:.95;
}

.refer-bg-right{
    position:absolute;

    right:-185px;
    top:20px;

    width:520px;
    opacity:.9 !important;
}

.refer-content{
    max-width:1400px;
    margin:auto;
    text-align:center;
    position:relative;
    z-index:2;
}

.refer-content h2{
    font-size:72px;
    font-weight:700;
    color:#333;

    margin-bottom:20px;
}

.refer-content > p{
    max-width:760px;
    margin:auto;

    font-size:18px;
    font-weight:400;

    line-height:1.45;

    color:#444;

    letter-spacing:-0.3px;
}

.refer-cards{
    display:grid;
    grid-template-columns:repeat(4,1fr);

    gap:28px;

    margin-top:60px;
}

.refer-card{
    background:#fff;

    border-radius:12px;

    padding:35px 25px;

    box-shadow:0 5px 25px rgba(0,0,0,.05);

    transition:.35s;
}


.refer-icon{
    width:auto;
    height:auto;

    background:transparent;

    display:flex;
    align-items:center;
    justify-content:center;

    margin-bottom:28px;
}

.refer-icon img{
    width:68px;
    height:auto;
}

.card-title{
    display:block;

    text-decoration:none;

    color:#222;

    font-size:22px;
    font-weight:700;

    margin-bottom:15px;
}


.refer-card p{
    color:#555;

    line-height:1.8;

    font-size:17px;
}

/* BUTTON */

.earn-btn{
    display:block;

    margin:50px auto 0;

    width:250px;
    height:62px;

    background:#3145c9;
    color:#fff;

    border:none;
    border-radius:6px;

    font-size:20px;
    font-weight:600;

    cursor:pointer;

    position:relative;
    overflow:hidden;

    z-index:1;
}

/* Continue Recharge Same Hover */

.earn-btn::before{
    content:'';

    position:absolute;

    top:0;
    left:50%;

    width:0;
    height:100%;

    background:#747db5;

    transform:translateX(-50%);

    transition:.5s ease;

    z-index:-1;
}

.earn-btn:hover::before{
    width:100%;
}

/* ================= BRAND ================= */

.brand-section{
    background:#f5f5ff;
    padding:70px 0;
    overflow:hidden;
}

.brand-slider{
    width:100%;
    overflow:hidden;
}

.brand-track{
    display:flex;
    gap:30px;
    width:max-content;

    animation:brandSlide 28s infinite;
}

.brand-card{
    width:210px;
    height:82px;

    background:#fff;

    border-radius:8px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    box-shadow:0 3px 10px rgba(0,0,0,.04);
}

.brand-card img{
    max-width:150px;
    max-height:45px;
}

/*
1 second stop
then move
then stop
*/

@keyframes brandSlide{

    0%{
        transform:translateX(0);
    }

    8%{
        transform:translateX(0);
    }

    12%{
        transform:translateX(-240px);
    }

    20%{
        transform:translateX(-240px);
    }

    24%{
        transform:translateX(-480px);
    }

    32%{
        transform:translateX(-480px);
    }

    36%{
        transform:translateX(-720px);
    }

    44%{
        transform:translateX(-720px);
    }

    48%{
        transform:translateX(-960px);
    }

    56%{
        transform:translateX(-960px);
    }

    60%{
        transform:translateX(-1200px);
    }

    68%{
        transform:translateX(-1200px);
    }

    72%{
        transform:translateX(-1440px);
    }

    80%{
        transform:translateX(-1440px);
    }

    100%{
        transform:translateX(-1680px);
    }
}

/* ================= HOW IT WORK ================= */

.work-section{
    padding:110px 0;
    background:#fafafa;
}

.work-heading{
    text-align:center;
    margin-bottom:70px;
}

.work-heading h2{
    font-size:60px;
    font-weight:700;
    color:#3a3a3a;
    line-height:1.1;
    margin-bottom:25px;
}

.work-heading p{
    max-width:760px;
    margin:auto;

    font-size:18px;
    line-height:1.5;
    color:#444;
}

.work-cards{
    max-width:1300px;
    margin:auto;

    display:grid;
    grid-template-columns:repeat(3,1fr);

    gap:28px;
}

.work-card{
    background:#fff;

    border-radius:12px;

    padding:12px;

    box-shadow:0 5px 25px rgba(0,0,0,.04);

    transition:.35s;
}

.work-top{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;

    margin-bottom:30px;
}

.work-icon{
    width:78px;
    height:78px;

    background:#f3f4ff;

    border-radius:14px;

    display:flex;
    align-items:center;
    justify-content:center;
}

.work-icon img{
    width:42px;
}

.work-number{
    font-size:72px;
    font-weight:700;
    color:#ececec;

    line-height:1;
}

.work-card h3{
    font-size:24px;
    font-weight:700;

    color:#1d0900;

    margin-bottom:15px;
}

.work-card p{
    font-size:16px;
    line-height:1.5;

    color:#333;
}

/* ================= APP SECTION ================= */

.app-section{
    background:#f7f7ff;

    padding:110px 0;

    overflow:hidden;
}

.app-container{
    max-width:1450px;

    margin:auto;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:80px;
}

/* LEFT */

.app-content{
    max-width:920px;

    margin-left:60px;
}

.app-content h2{
    font-size:62px;
    line-height:1.05;
    font-weight:600;
    color:#3d3d3d;

    max-width:860px;
    margin-bottom:22px;

    letter-spacing:-2px;
}

.app-content h4{
    font-size:26px;
    font-weight:500;
    color:#444;

    line-height:1.5;
    margin-bottom:22px;

    max-width:840px;
}

.app-content p{
    font-size:18px;
    line-height:1.6;

    color:#555;

    max-width:900px;

    margin-bottom:35px;
}

/* STORE BUTTONS */

.store-buttons{
    display:flex;
    gap:20px;
}

.store-buttons a{
    transition:.3s;
}


.store-buttons img{
    height:68px;
}

/* RIGHT */

.app-image{
    position:relative;

    width:700px;

    display:flex;
    justify-content:center;
    align-items:center;
}



.app-image img{
    position:relative;

    width:500px;

    z-index:2;

    animation:phoneFloat 4s ease-in-out infinite;
}

/* FLOAT ANIMATION */

@keyframes phoneFloat{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-18px);
    }

    100%{
        transform:translateY(0);
    }

}


/* ================= SUPPORT SECTION ================= */

.support-section{
    background:#f7f7ff;
    padding:100px 0;
}

.support-container{
    max-width:1450px;
    margin:auto;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:80px;
}

.support-content{
    width:48%;
    margin-left:45px;
}

.support-content h2{
    font-size:58px;
    line-height:1.05;
    font-weight:700;
    color:#3b3b3b;

    margin-bottom:25px;
}

.support-desc{
    font-size:18px;
    line-height:1.8;
    color:#444;

    margin-bottom:30px;
}

.support-item{
    display:flex;
    align-items:flex-start;

    gap:24px;

    margin-bottom:26px;
}

.support-icon{
    width:70px;
    height:70px;

    background:#eef0ff;

    border-radius:10px;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;
}

.support-icon img{
    width:42px;
}

.support-item h4{
    font-size:22px;
    font-weight:700;

    color:#222;

    margin-bottom:8px;
}

.support-item p{
    font-size:16px;
    color:#444;
    line-height:1.7;
}

.support-image{
    width:52%;
    text-align:right;
}

.support-image img{
    width:100%;
    max-width:800px;
}

/* CONTACT BUTTON */

.contact-btn{
    display:block;

    width:150px;
    height:56px;

    background:#3145c9;
    color:#fff;

    border:none;
    border-radius:6px;

    font-size:18px;
    font-weight:600;

    cursor:pointer;

    position:relative;
    overflow:hidden;

    z-index:1;

    margin-top:35px;
}

/* Same Hover as Continue Recharge */

.contact-btn::before{
    content:'';

    position:absolute;

    top:0;
    left:50%;

    width:0;
    height:100%;

    background:#b7c0f7;

    transform:translateX(-50%);

    transition:.5s ease;

    z-index:-1;
}

.contact-btn:hover::before{
    width:100%;
}

/* ================= FAQ ================= */

.faq-section{
    background:#f8f8f8;
    padding:100px 0;
}

.faq-header{
    text-align:center;
    margin-bottom:50px;
}

.faq-header h2{
    font-size:58px;
    font-weight:600;
    color:#3d3d3d;
    line-height:1.08;
    max-width:700px;
    margin:0 auto 25px;
}

.faq-header p{
    font-size:18px;
    color:#444;
    line-height:1.7;
    max-width:700px;
    margin:auto;
}

.faq-container{
    max-width:1150px;
    margin:auto;
}

.faq-item{
    background:#fff;
    border-radius:8px;
    margin-bottom:18px;
    overflow:hidden;
}

.faq-question{
    width:100%;
    border:none;
    background:#fff;

    padding:16px 28px;

    display:flex;
    justify-content:space-between;
    align-items:center;

    cursor:pointer;

    font-size:17.2px;
    font-weight:530;
    color:#222;
}

.faq-icon{
    width:34px;
    height:34px;

    border-radius:6px;

    background:#f5f5f5;

    display:flex;
    align-items:center;
    justify-content:center;

    transition:.3s;
}

.faq-answer{
    max-height:0;
    overflow:hidden;

    transition:max-height .4s ease;
}

.faq-answer p{
    padding:20px 28px 28px;
    font-size:17px;
    line-height:1.8;
    color:#444;
}

.faq-item.active .faq-answer{
    max-height:200px;
}

.faq-item.active .faq-icon{
    background:#3145c9;
    color:#fff;
}

/* ================= FOOTER ================= */

.footer-section{
    background:#f7f7ff;
    padding:100px 0 0;
}

.footer-container{
    max-width:1450px;
    margin:auto;
    padding-left:55px;

    display:grid;
    grid-template-columns:
    1.2fr
    1fr
    1fr
    1.1fr;

    gap:70px;
}

/* LOGO */

.footer-about h2{
    font-size:45px;
    font-weight:600;
    color:#3d3d3d;

    margin-bottom:25px;
}

.footer-about p{
    font-size:18px;
    line-height:1.8;
    color:#444;

    max-width:330px;

    margin-bottom:35px;
}

/* SOCIAL */

.social-icons{
    display:flex;
    gap:18px;
}

.social-icons a{
    text-decoration:none;
    width:56px;
    height:56px;

    border-radius:50%;

    background:#eef0ff;

    color:#3145c9;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:22px;

    transition:.35s;
}

.social-icons a:hover{
    background:#3145c9;
    color:#fff;
}

/* HEADINGS */

.footer-col h3{
    font-size:32px;
    font-weight:700;
    color:#333;

    margin-bottom:28px;
}

/* LINKS */

.footer-links{
    display:flex;
    flex-direction:column;
    gap:18px;
}

.address-links{
    display:flex;
    flex-direction:column;
    gap:8px;
    line-height:1.4;
}

.footer-links a,
.address-links a{
    text-decoration:none;
    color:#333;

    font-size:18px;

    position:relative;

    width:fit-content;

    transition:.3s;
}

.address-links a{
    display:block;
    margin-bottom:2px;
}

.footer-links{
    list-style:none;
    padding:0;
    margin:0;
}
/* BLUE LINE HOVER */

.footer-links a::after,
.address-links a::after{
    content:"";

    position:absolute;

    left:0;
    top:50%;

    width:0;
    height:2px;

    background:#3145c9;

    transform:rotate(25deg);

    transition:.35s;
}

.footer-links a:hover,
.address-links a:hover{
    color:#3145c9;
}

.footer-links a:hover::after{
    width:45px;
    height:1px;
}

.address-links a:hover::after{
    width:70px;
    height:1px;
}

/* NEWSLETTER */

.newsletter-text{
    font-size:18px;
    color:#444;
    line-height:1.8;

    margin-bottom:28px;
}

.newsletter-form{
    display:flex;
}

.newsletter-form input{
    flex:1;

    height:62px;

    border:1px solid #e4e4e4;

    padding:0 22px;

    font-size:17px;

    outline:none;
}

.newsletter-form button{
    width:80px;
    border:none;
    background:#3145c9;
    color:#fff;

    cursor:pointer;

    position:relative;
    overflow:hidden;

    z-index:1;

    transition:.3s;
}

.newsletter-form button::before{
    content:'';

    position:absolute;

    top:0;
    left:50%;

    width:0;
    height:100%;

    background:#b7c0f7;

    transform:translateX(-50%);

    transition:.5s ease;

    z-index:-1;
}

.newsletter-form button .material-symbols-outlined{
    font-size:32px;
    color:#fff;
    transition:.35s;
}

.newsletter-form button:hover .material-symbols-outlined{
    transform:
    translate(4px,-4px)
    rotate(-15deg);
}

.newsletter-form button:hover::before{
    width:100%;
}

/* BOTTOM */

.footer-bottom{
    max-width:1450px;

    margin:90px auto 0;

    padding:35px 0;

    border-top:1px solid #e7e7e7;

    display:flex;
    justify-content:space-between;
    align-items:center;
}

.footer-bottom p{
    font-size:18px;
    color:#333;
}

.footer-bottom span{
    color:#3145c9;
}

.bottom-links{
    display:flex;
    gap:40px;
}

.bottom-links a{
    text-decoration:none;
    color:#333;
    font-size:18px;
}


/* ================= RESPONSIVE ================= */

@media(max-width:1100px){

.hero{
grid-template-columns:1fr;
}

.offer-banner{
height:350px;
}

.promo-cards{
grid-template-columns:1fr;
}

}

@media(max-width:768px){

.navbar{
padding:0 20px;
}

.menu{
display:none;
}

.logo{
font-size:26px;
}

.auth-buttons{
gap:8px;
}

.signin-btn,
.signup-btn{
padding:10px 15px;
font-size:12px;
}

.form-grid{
grid-template-columns:1fr;
}

.recharge-card{
padding:25px;
}

}

@media(max-width:1200px){

    .work-cards{
        grid-template-columns:1fr;
        max-width:700px;
    }

    .work-heading h2{
        font-size:50px;
    }

}