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

:root{
    --primary:#764AF1;
    --secondary:#1B1335;
    --light:#F8F5FF;
    --white:#ffffff;
    --text:#666666;
}

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

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Montserrat',sans-serif;
    color:var(--text);
    overflow-x:hidden;
    background:#fff;
}

section{
    padding:100px 0;
}

h1,h2,h3,h4,h5,h6{
    font-family:'Josefin Sans',sans-serif;
    font-weight:700;
    color:var(--secondary);
}

p{
    line-height:1.8;
}

/* ==========================
   NAVBAR
========================== */
.logo-img{
    width:230px;
    height:75px;
    object-fit:contain;
    filter: contrast(1.25) brightness(1.02);
    transition:all .4s ease;
}
.navbar{
    background:#fff !important;
    padding:18px 0;
    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.navbar-brand{
    font-size:32px;
    font-weight:700;
    color:var(--primary)!important;
}

.nav-link{
    color:#222!important;
    margin-left:20px;
    font-weight:600;
    position:relative;
}

.nav-link:hover{
    color:var(--primary)!important;
}

.nav-link::after{
    content:'';
    position:absolute;
    left:0;
    bottom:-5px;
    width:0;
    height:2px;
    background:var(--primary);
    transition:.4s;
}

.nav-link:hover::after{
    width:100%;
}

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

.hero-section{
    min-height:100vh;
    display:flex;
    align-items:center;
    padding-top:180px;
    background:linear-gradient(
    135deg,
    rgba(118,74,241,.05),
    rgba(118,74,241,.15)
    );
}

.hero-section h1{
    font-size:65px;
    line-height:1.1;
    margin-bottom:20px;
}

.hero-section p{
    font-size:18px;
    margin-bottom:30px;
}

.hero-img{
    max-width:100%;
    animation:float 4s ease-in-out infinite;
}

/* ==========================
   BUTTON
========================== */

.btn-success,
.submit-btn{

    background:linear-gradient(
    135deg,
    #764AF1,
    #9B7CFF
    )!important;

    border:none!important;
    color:#fff;
    border-radius:50px;
    padding:15px 35px;
    font-weight:600;
    transition:.4s;
}

.btn-success:hover,
.submit-btn:hover{

    transform:translateY(-5px);

    box-shadow:
    0 15px 30px rgba(118,74,241,.30);

}

.submit-btn:disabled{
    opacity:.75;
    cursor:not-allowed;
    transform:none;
}

.form-status{
    min-height:24px;
    margin:14px 0 0;
    font-weight:600;
}

.form-status.success{
    color:#198754;
}

.form-status.error{
    color:#dc3545;
}

.form-status.loading{
    color:#764AF1;
}

/* ==========================
   ABOUT
========================== */

/* #about img{
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
} */
#about{
    position:relative;
    overflow:hidden;
    background:url('../images/bg.svg') center center no-repeat;
    background-size:cover;
}
#process{
    position:relative;
    overflow:hidden;
    background:url('../images/bg.svg') center center no-repeat;
    background-size:cover;
}
#about h2{
    font-size:55px;
}

#about h3{
    color:var(--primary);
    font-size:55px
}

/* ==========================
   COUNTER
========================== */

.counter-box{
    text-align:center;
    padding:20px;
}

.counter-box h3{
    font-size:42px;
    color:var(--primary);
}

/* ==========================
   COURSE CARD
========================== */

.card{
    border:none!important;
    border-radius:20px;
    overflow:hidden;
    transition:.4s;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.card:hover{
    transform:translateY(-10px);
    box-shadow:
    0 20px 40px rgba(118,74,241,.15);
}

.card-body{
    padding:35px;
}

.card i{
    color:var(--primary);
    margin-bottom:20px;
}

.card h5{
    font-size:24px;
}
.text-success{
    background-color: rgba(25,135,84,0.07);
    padding:6px 12px;
    margin:0px 0 12px;
    display:inline-block;
}

/* ==========================
   PROCESS
========================== */
#process h2{
    font-size:55px
}
#process h4{
    font-size:55px
}
.process-box{

    background:#fff;

    padding:40px;

    border-radius:20px;

    text-align:center;

    transition:.4s;

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

}

.process-box:hover{

    background:var(--primary);

    color:#fff;

    transform:translateY(-10px);

}

.process-box h4{
    color:var(--primary);
    font-size:40px;
}

.process-box:hover h4{
    color:#fff;
}
.process-box{
    border-radius:15px;
    transition:.4s;
}

.process-box:hover{
    background:#764AF1;
    color:#fff;
    transform:translateY(-10px);
}

.process-box:hover h4,
.process-box:hover h5{
    color:#fff;
}
#courses h2{
    font-size:55px;
}
/*==========================
 COURSE SECTION
==========================*/

.courses-section{
    padding:100px 0;
    background:#f8f5ff;
}

.course-modes{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
    margin-top:18px;
}

.course-modes span{
    display:inline-flex;
    align-items:center;
    gap:8px;
    background:#fff;
    color:#333;
    padding:12px 18px;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(118,74,241,.08);
    font-weight:600;
}

.course-modes i{
    color:#764AF1;
}

.courses-section .row{
    display:flex;
    flex-wrap:wrap;
}

.courses-section .col-lg-3,
.courses-section .col-lg-4,
.courses-section .col-md-6{
    display:flex;
}

/*==========================
 COURSE CARD FIXED HEIGHT
==========================*/

.course-card{
    background:#fff;
    border-radius:20px;
    padding:30px;
    width:100%;
    text-align:center;
    height:340px; /* First box के अनुसार fix करें */
    display:flex;
    flex-direction:column;
    box-shadow:0 10px 30px rgba(118,74,241,.08);
    transition:.4s;
}

.course-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(118,74,241,.18);
}

.course-card i{
    font-size:45px;
    color:#764AF1;
    margin-bottom:15px;
}

.course-card h4{
    margin-bottom:20px;
    flex-shrink:0;
}

.course-card ul{
    list-style:none;
    padding:0;
    margin:0;
    overflow-y:auto;
    flex:1;
}

.course-card ul li{
    padding:8px 0;
    border-bottom:1px solid #eee;
}

/* Scrollbar */

.course-card ul::-webkit-scrollbar{
    width:5px;
}

.course-card ul::-webkit-scrollbar-thumb{
    background:#764AF1;
    border-radius:10px;
}

.course-card ul::-webkit-scrollbar-track{
    background:#f3f3f3;
}
@media(max-width:768px){

    .courses-section .col-lg-3,
    .courses-section .col-md-6{
        display:block;
    }

    .course-card{
        height:100%;
        margin-bottom:20px;
    }

}
/* ==========================
   CONTACT
========================== */

.contact-section{
    background:#F8F5FF;
}

.contact-card{
    background:#fff;
    padding:40px;
    border-radius:25px;
    box-shadow:
    0 15px 40px rgba(118,74,241,.10);
}

.contact-card .badge{
    white-space:normal;
    line-height:1.45;
    overflow-wrap:anywhere;
    text-align:center;
}

.contact-card .badge i{
    flex:0 0 auto;
}

.contact-info h2{
    font-size:48px;
}

.founder-list{
    background:#F8F5FF;
    border-left:4px solid var(--primary);
    padding:16px 20px;
    margin:20px 0;
    border-radius:12px;
}

.founder-list p{
    margin:0;
    color:#333;
    font-weight:500;
}

.founder-list p + p{
    margin-top:8px;
}

.info-box{
    display:flex;
    align-items:center;
    margin-top:20px;
}

.info-box i{
    width:50px;
    height:50px;
    background:var(--primary);
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:15px;
}

.form-control,
.form-select{
    height:55px;
    border-radius:12px;
}

textarea.form-control{
    min-height:150px;
}

.form-control:focus,
.form-select:focus{
    border-color:var(--primary);
    box-shadow:
    0 0 15px rgba(118,74,241,.15);
}

/* ==========================
   REVIEWS
========================== */

.review-section{
    background:#fff;
}

.review-form-card{
    background:#F8F5FF;
    border-radius:8px;
    padding:30px;
    box-shadow:0 15px 40px rgba(118,74,241,.10);
}

.review-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
}

.review-card,
.review-empty{
    background:#fff;
    border:1px solid #ece7f8;
    border-radius:8px;
    padding:22px;
    box-shadow:0 10px 28px rgba(27,19,53,.08);
}

.review-card p{
    margin:10px 0 14px;
    color:#555;
}

.review-card strong{
    color:var(--secondary);
}

.review-stars{
    color:#F7BE71;
    font-size:20px;
    letter-spacing:0;
}

.review-empty{
    grid-column:1/-1;
    color:#666;
    font-weight:600;
}

@media(max-width:768px){

    .review-list{
        grid-template-columns:1fr;
    }

    .review-form-card{
        padding:22px;
    }

}
.text-success{
    color:#F7BE71 !important;
}
/* ==========================
   FOOTER
========================== */

footer{
    background:#1B1335;
    color:#fff;
    text-align:center;
    padding:25px;
}

/* ==========================
   MAPS
========================== */

.map-section{
    background:#fff;
    padding:0;
}

.map-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:0;
}

.map-box{
    background:#fff;
}

.map-box h4{
    margin:0;
    padding:18px 24px;
    background:#1B1335;
    color:#fff;
    font-size:22px;
}

.map-box iframe{
    display:block;
    width:100%;
}

@media(max-width:768px){
    .map-grid{
        grid-template-columns:1fr;
    }
}

/* ==========================
   WHATSAPP
========================== */

.whatsapp-btn{

    position:fixed;

    right:20px;

    bottom:20px;

    width:60px;

    height:60px;

    background:#25D366;

    color:#fff;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    z-index:9999;

    text-decoration:none;

    animation:pulse 2s infinite;

}

/* ==========================
   ANIMATION
========================== */

@keyframes float{

0%{
transform:translateY(0);
}

50%{
transform:translateY(-15px);
}

100%{
transform:translateY(0);
}

}

@keyframes pulse{

0%{
box-shadow:0 0 0 0 rgba(37,211,102,.7);
}

70%{
box-shadow:0 0 0 20px rgba(37,211,102,0);
}

100%{
box-shadow:0 0 0 0 rgba(37,211,102,0);
}

}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:991px){

.hero-section{
text-align:center;
}

.hero-section h1{
font-size:45px;
}

.hero-img{
margin-top:40px;
}

}

@media(max-width:768px){

.hero-section h1{
font-size:34px;
}

section{
padding:70px 0;
}

.contact-info h2{
font-size:32px;
}

.card{
margin-bottom:20px;
}
.contact-info{
        text-align:center;
        margin-bottom:40px;
    }

    .contact-info h2{
        text-align:center;
    }

    .contact-info p{
        text-align:center;
    }

    .info-box{
        justify-content:center;
        text-align:left;
    }


 .info-box{
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        text-align:center;
    }

    .info-box i{
        margin-right:0;
        margin-bottom:10px;
    }

}



@media(max-width:576px){

.hero-section h1{
font-size:28px;
line-height:1.3;
}

.hero-section p{
font-size:14px;
}
.process-box{
    height:auto;
}
.btn-success,
.submit-btn{
width:100%;
}

.contact-card{
padding:25px;
}
 .contact-info{
        text-align:center;
        padding:0 15px;
    }

    .info-box{
        justify-content:center;
        margin-top:15px;
    }

    .info-box i{
        margin-right:10px;
    }
    h2{
        font-size:32px!important
    }

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

.why-us{
    margin-top:-140px;
    position:relative;
    z-index:10;
    margin-bottom:-40px
}

.why-box{
    background:#fff;
    padding:35px 25px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 15px 40px rgba(118,74,241,.12);
    transition:.4s;
    height:100%;
}

.why-box:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 50px rgba(118,74,241,.20);
}

.why-icon{
    width:80px;
    height:80px;
    margin:auto;
    border-radius:50%;
    background:linear-gradient(135deg,#764AF1,#9B7CFF);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
}

.why-icon i{
    color:#fff;
    font-size:32px;
}

.why-box h4{
    font-family:'Josefin Sans',sans-serif;
    color:#1B1335;
    margin-bottom:15px;
    font-size:24px;
}

.why-box p{
    color:#666;
    margin:0;
    line-height:1.8;
}

@media(max-width:991px){

    .why-us{
        margin-top:20px;
    }

}

@media(max-width:768px){

    .why-us{
        margin-top:20px;
    }

    .why-box{
        margin-bottom:20px;
    }

}

/* ==========================
   SOCIAL ICONS
========================== */
.social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
    background: rgba(118, 74, 241, 0.08);
    color: #764AF1;
}

footer .social-icon {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.social-icon:hover {
}

}

@media(max-width:768px){

.hero-section h1{
font-size:34px;
}

section{
padding:70px 0;
}

.contact-info h2{
font-size:32px;
}

.card{
margin-bottom:20px;
}
.contact-info{
        text-align:center;
        margin-bottom:40px;
    }

    .contact-info h2{
        text-align:center;
    }

    .contact-info p{
        text-align:center;
    }

    .info-box{
        justify-content:center;
        text-align:left;
    }


 .info-box{
        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        text-align:center;
    }

    .info-box i{
        margin-right:0;
        margin-bottom:10px;
    }

}



@media(max-width:576px){

.hero-section h1{
font-size:28px;
line-height:1.3;
}

.hero-section p{
font-size:14px;
}
.process-box{
    height:auto;
}
.btn-success,
.submit-btn{
width:100%;
}

.contact-card{
padding:25px;
}
 .contact-info{
        text-align:center;
        padding:0 15px;
    }

    .info-box{
        justify-content:center;
        margin-top:15px;
    }

    .info-box i{
        margin-right:10px;
    }
    h2{
        font-size:32px!important
    }

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

.why-us{
    margin-top:-140px;
    position:relative;
    z-index:10;
    margin-bottom:-40px
}

.why-box{
    background:#fff;
    padding:35px 25px;
    border-radius:20px;
    text-align:center;
    box-shadow:0 15px 40px rgba(118,74,241,.12);
    transition:.4s;
    height:100%;
}

.why-box:hover{
    transform:translateY(-10px);
    box-shadow:0 25px 50px rgba(118,74,241,.20);
}

.why-icon{
    width:80px;
    height:80px;
    margin:auto;
    border-radius:50%;
    background:linear-gradient(135deg,#764AF1,#9B7CFF);
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:20px;
}

.why-icon i{
    color:#fff;
    font-size:32px;
}

.why-box h4{
    font-family:'Josefin Sans',sans-serif;
    color:#1B1335;
    margin-bottom:15px;
    font-size:24px;
}

.why-box p{
    color:#666;
    margin:0;
    line-height:1.8;
}

@media(max-width:991px){

    .why-us{
        margin-top:20px;
    }

}

@media(max-width:768px){

    .why-us{
        margin-top:20px;
    }

    .why-box{
        margin-bottom:20px;
    }

}

/* ==========================
   SOCIAL ICONS
========================== */
.social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    font-size: 18px;
    text-decoration: none;
    transition: all 0.3s ease;
    background: rgba(118, 74, 241, 0.08);
    color: #764AF1;
}

footer .social-icon {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.social-icon:hover {
    color: #fff !important;
    transform: translateY(-4px);
    box-shadow: 0 8px 15px rgba(118, 74, 241, 0.2);
}

.facebook-icon:hover {
    background: #1877F2 !important;
}

.instagram-icon:hover {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;
}

/* ==========================
   ANNOUNCEMENT BAR
========================== */
.offer-announcement-bar {
    background: linear-gradient(135deg, #764AF1, #9B7CFF);
    color: #fff;
    padding: 10px 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1040;
    box-shadow: 0 4px 15px rgba(118, 74, 241, 0.2);
    font-size: 14px;
    transition: all 0.3s ease;
}

.offer-announcement-bar .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.announcement-content {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.announcement-badge {
    background: #F7BE71;
    color: #1B1335;
    padding: 3px 8px;
    font-weight: 700;
    border-radius: 4px;
    font-size: 11px;
    text-transform: uppercase;
    animation: pulse 2s infinite;
}

.announcement-text {
    font-weight: 500;
}

.announcement-btn {
    background: #fff;
    color: #764AF1 !important;
    padding: 4px 12px;
    border-radius: 4px;
    font-weight: 600;
    text-decoration: none;
    font-size: 12px;
    transition: all 0.2s;
}

.announcement-btn:hover {
    background: #f1ebff;
    transform: translateY(-1px);
}

.close-announcement-btn {
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 20px;
    font-weight: 300;
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
    transition: opacity 0.2s;
}

.close-announcement-btn:hover {
    opacity: 0.8;
}

body.has-announcement-bar .navbar {
    top: var(--announcement-height, 42px);
}

body.has-announcement-bar .hero-section {
    padding-top: calc(180px + var(--announcement-height, 42px));
}
