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

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

body{

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

    background:#f5f7f9;

    color:#111;

    overflow-x:hidden;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

section{
    position:relative;
}


/* =========================================
   PREMIUM NAVBAR
========================================= */

.visa-navbar{

    position:absolute;

    top:0;
    left:0;

    width:100%;

    z-index:999;

    padding:18px 0;

    background:
    linear-gradient(
    90deg,
    rgba(0,60,30,0.92),
    rgba(0,90,50,0.82)
    );

    backdrop-filter:blur(16px);

    border-bottom:
    1px solid rgba(255,255,255,0.06);
}

.visa-navbar .navbar-brand img{

    height:72px;
}

.visa-navbar .nav-link{

    color:#fff;

    font-weight:600;

    margin-left:24px;

    position:relative;

    transition:0.35s;
}

.visa-navbar .nav-link:hover{

    color:#d4af37;
}

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

    content:'';

    position:absolute;

    left:0;
    bottom:-8px;

    width:0;
    height:2px;

    border-radius:20px;

    background:#d4af37;

    transition:0.35s;
}

.visa-navbar .nav-link:hover::after,
.visa-navbar .nav-link.active::after{

    width:100%;
}

.navbar-toggler{

    border:none;
    box-shadow:none !important;
}

.navbar-toggler-icon{

    filter:invert(1);
}


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

.visa-hero{

    position:relative;

    min-height:720px;

    padding:140px 0 180px;

    display:flex;
    align-items:center;
    justify-content:center;

    overflow:hidden;
}


/* =========================================
   SLIDER
========================================= */

.hero-slider{

    position:absolute;

    inset:0;

    z-index:1;
}

.hero-slider .slide{

    position:absolute;

    inset:0;

    background-size:cover;
    background-position:center;

    opacity:0;

    transition:opacity 1.5s ease;

    filter:
    brightness(1.1)
    saturate(1.08);
}

.hero-slider .slide.active{

    opacity:1;
}


/* =========================================
   OVERLAY
========================================= */

.visa-hero::before{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    rgba(0,0,0,0.20),
    rgba(0,0,0,0.35)
    );

    z-index:2;
}


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

.visa-hero-content{

    position:relative;

    z-index:5;

    max-width:720px;

    width:92%;

    padding:45px 42px;

    text-align:center;

    border-radius:34px;

    background:
    rgba(255,255,255,0.10);

    border:
    1px solid rgba(255,255,255,0.15);

    backdrop-filter:blur(22px);

    overflow:hidden;

    box-shadow:

    0 20px 60px rgba(0,0,0,0.45),

    inset 0 1px 0 rgba(255,255,255,0.10);
}


/* GOLD LIGHT */

.visa-hero-content::before{

    content:'';

    position:absolute;

    width:320px;
    height:320px;

    background:
    radial-gradient(
    circle,
    rgba(212,175,55,0.22),
    transparent 70%
    );

    top:-120px;
    left:-100px;

    filter:blur(60px);
}


/* GLASS REFLECTION */

.visa-hero-content::after{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    120deg,
    rgba(255,255,255,0.12),
    transparent 40%,
    transparent 60%,
    rgba(255,255,255,0.05)
    );
}


/* =========================================
   BADGE
========================================= */

.hero-badge{

    display:inline-block;

    padding:10px 22px;

    border-radius:50px;

    background:
    rgba(255,255,255,0.08);

    border:
    1px solid rgba(255,255,255,0.10);

    color:#d4af37;

    font-size:13px;

    font-weight:700;

    letter-spacing:2px;

    margin-bottom:24px;

    position:relative;
    z-index:2;
}


/* =========================================
   TITLE
========================================= */

.visa-hero-content h1{

    position:relative;
    z-index:2;

    font-size:58px;

    line-height:1.05;

    font-weight:900;

    color:#fff;

    margin-bottom:24px;
}


/* =========================================
   TEXT
========================================= */

.visa-hero-content p{

    position:relative;
    z-index:2;

    color:#f2f2f2;

    font-size:18px;

    line-height:1.9;

    margin-bottom:32px;
}


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

.hero-buttons{

    position:relative;
    z-index:2;

    display:flex;

    justify-content:center;

    gap:18px;
}

.hero-btn{

    padding:16px 34px;

    border-radius:50px;

    font-weight:700;

    transition:0.4s;
}

.gold-btn{

    background:
    linear-gradient(
    135deg,
    #d4af37,
    #f6d365
    );

    color:#000;
}

.glass-btn{

    background:
    rgba(255,255,255,0.10);

    border:
    1px solid rgba(255,255,255,0.10);

    color:#fff;

    backdrop-filter:blur(10px);
}

.hero-btn:hover{

    transform:
    translateY(-5px);
}


/* =========================================
   FLOATING SEARCH
========================================= */

.floating-search-wrapper{

    position:relative;

    z-index:20;

    margin-top:-70px;
}

.floating-search-bar{

    max-width:980px;

    width:92%;

    margin:auto;

    padding:18px;

    border-radius:30px;

    display:flex;

    gap:16px;

    background:
    rgba(255,255,255,0.14);

    backdrop-filter:blur(28px);

    border:
    1px solid rgba(255,255,255,0.10);

    box-shadow:
    0 25px 60px rgba(0,0,0,0.25);
}


/* INPUTS */

.floating-search-bar input,
.floating-search-bar select{

    flex:1;

    height:62px;

    border:none;

    outline:none;

    border-radius:18px;

    padding:0 22px;

    background:
    rgba(255,255,255,0.92);

    font-weight:600;
}


/* BUTTON */

.floating-search-bar button{

    width:220px;

    border:none;

    border-radius:18px;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    font-size:18px;

    font-weight:700;

    transition:0.4s;
}

.floating-search-bar button:hover{

    transform:
    translateY(-3px);
}


/* =========================================
   SECTIONS
========================================= */

.countries-section,
.visa-types-section,
.visa-process-section,
.documents-section,
.faq-section,
.visa-cta-section{

    padding:110px 0;
}


/* =========================================
   HEADING
========================================= */

.section-heading span{

    display:block;

    color:#00a651;

    font-size:13px;

    letter-spacing:3px;

    font-weight:700;

    text-transform:uppercase;

    margin-bottom:18px;
}

.section-heading h2{

    font-size:54px;

    font-weight:900;

    margin-bottom:20px;
}

.section-heading p{

    max-width:760px;

    margin:auto;

    color:#666;

    line-height:1.9;
}


/* =========================================
   COUNTRY CARDS
========================================= */

.country-card{

    background:#fff;

    padding:40px 34px;

    border-radius:28px;

    box-shadow:
    0 15px 40px rgba(0,0,0,0.08);

    transition:0.4s;
}

.country-card:hover{

    transform:
    translateY(-10px);
}

.country-flag{

    font-size:58px;

    margin-bottom:22px;
}

.country-card h3{

    font-size:32px;

    font-weight:800;

    margin-bottom:12px;
}

.country-meta{

    display:flex;

    gap:12px;

    flex-wrap:wrap;

    margin:20px 0;
}

.country-meta span{

    padding:10px 16px;

    border-radius:50px;

    background:#f4f4f4;

    font-size:13px;

    font-weight:600;
}

.country-btn{

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    padding:14px 28px;

    border-radius:50px;

    font-weight:700;
}


/* =========================================
   VISA TYPES
========================================= */

.visa-type-card{

    background:#fff;

    padding:40px 32px;

    border-radius:28px;

    text-align:center;

    box-shadow:
    0 15px 40px rgba(0,0,0,0.08);

    transition:0.4s;
}

.visa-type-card:hover{

    transform:
    translateY(-10px);
}

.visa-type-card i{

    font-size:52px;

    color:#d4af37;

    margin-bottom:24px;
}

.visa-type-card h4{

    font-size:28px;

    font-weight:800;

    margin-bottom:16px;
}


/* =========================================
   PROCESS
========================================= */

.process-wrapper{

    display:flex;

    justify-content:space-between;

    gap:25px;

    flex-wrap:wrap;

    margin-top:70px;
}

.process-step{

    flex:1;

    min-width:170px;

    text-align:center;
}

.step-number{

    width:90px;
    height:90px;

    margin:auto auto 22px;

    border-radius:50%;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    display:flex;
    align-items:center;
    justify-content:center;

    font-size:32px;

    font-weight:800;

    box-shadow:
    0 15px 35px rgba(0,200,83,0.30);
}


/* =========================================
   DOCUMENTS
========================================= */

.document-card{

    background:#fff;

    padding:38px 20px;

    border-radius:24px;

    text-align:center;

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

    transition:0.4s;
}

.document-card:hover{

    transform:
    translateY(-8px);
}

.document-card i{

    font-size:42px;

    color:#d4af37;

    margin-bottom:18px;
}


/* =========================================
   COUNTERS
========================================= */

.visa-counter-section{

    padding:110px 0;

    background:
    linear-gradient(
    135deg,
    #022b18,
    #014d2a
    );
}

.counter-card{

    background:
    rgba(255,255,255,0.08);

    backdrop-filter:blur(16px);

    border:
    1px solid rgba(255,255,255,0.08);

    border-radius:28px;

    padding:45px 20px;

    text-align:center;

    color:#fff;
}

.counter-card h2{

    font-size:54px;

    color:#d4af37;

    font-weight:900;
}


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

.visa-accordion .accordion-item{

    border:none;

    margin-bottom:20px;

    border-radius:22px !important;

    overflow:hidden;

    box-shadow:
    0 10px 30px rgba(0,0,0,0.06);
}

.visa-accordion .accordion-button{

    padding:26px 30px;

    font-weight:700;

    background:#fff;
}

.visa-accordion .accordion-body{

    padding:28px 30px;

    color:#666;

    line-height:1.9;
}


/* =========================================
   CTA
========================================= */

.cta-glass{

    background:
    linear-gradient(
    135deg,
    #014d2a,
    #0b7d48
    );

    padding:90px 40px;

    border-radius:40px;

    color:#fff;
}

.cta-glass h2{

    font-size:60px;

    font-weight:900;

    margin-bottom:22px;
}

.cta-buttons{

    margin-top:34px;

    display:flex;

    justify-content:center;

    gap:18px;
}

.cta-btn-main{

    background:#d4af37;

    color:#000;

    padding:16px 32px;

    border-radius:50px;

    font-weight:700;
}

.cta-btn-outline{

    border:
    1px solid rgba(255,255,255,0.20);

    color:#fff;

    padding:16px 32px;

    border-radius:50px;
}


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

.visa-footer{

    padding:100px 0 50px;

    background:
    linear-gradient(
    135deg,
    #012715,
    #014d2a
    );

    color:#fff;
}

.footer-logo{

    width:230px;

    margin-bottom:26px;
}

.visa-footer h4{

    color:#d4af37;

    font-weight:800;

    margin-bottom:24px;
}

.visa-footer ul{

    list-style:none;

    padding:0;
}

.visa-footer ul li{

    margin-bottom:14px;
}

.visa-footer a{

    color:#fff;

    transition:0.35s;
}

.visa-footer a:hover{

    color:#d4af37;
}

.footer-social{

    display:flex;

    gap:14px;

    margin-top:22px;
}

.footer-social a{

    width:48px;
    height:48px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    rgba(255,255,255,0.10);
}


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

.whatsapp-float{

    position:fixed;

    right:24px;
    bottom:24px;

    width:68px;
    height:68px;

    border-radius:50%;

    background:#00c853;

    color:#fff;

    font-size:34px;

    display:flex;
    align-items:center;
    justify-content:center;

    z-index:999;

    box-shadow:
    0 15px 35px rgba(0,200,83,0.35);
}


/* =========================================
   MOBILE
========================================= */

@media(max-width:991px){

    .visa-navbar .navbar-brand img{

        height:58px;
    }

    .visa-navbar .navbar-collapse{

        background:#01311b;

        padding:20px;

        margin-top:15px;

        border-radius:18px;
    }

    .visa-navbar .nav-link{

        margin:12px 0;
    }

    .visa-hero-content h1{

        font-size:42px;
    }

    .visa-hero-content{

        padding:40px 26px;
    }

    .hero-buttons{

        flex-direction:column;
    }

    .floating-search-bar{

        flex-direction:column;
    }

    .floating-search-bar button{

        width:100%;
        height:62px;
    }

    .section-heading h2{

        font-size:38px;
    }

    .cta-glass h2{

        font-size:40px;
    }

    .cta-buttons{

        flex-direction:column;
    }
}
/* HERO CONTENT BOX SMALL */
.visa-hero-content{

    max-width:650px;

    padding:38px 34px;

    border-radius:32px;
}


/* TITLE SMALL */
.visa-hero-content h1{

    font-size:48px;

    line-height:1.05;

    margin-bottom:20px;
}


/* TEXT */
.visa-hero-content p{

    font-size:17px;

    line-height:1.8;

    margin-bottom:28px;
}


/* BADGE COLOR */
.hero-badge{

    background:
    rgba(90,0,20,0.18);

    border:
    1px solid rgba(120,0,30,0.25);

    color:#fbfafd;

    font-weight:800;

    letter-spacing:2px;
}


/* BUTTONS */
.hero-buttons{

    gap:16px;
}


/* COMMON BUTTON STYLE */
.hero-btn{

    padding:15px 34px;

    border-radius:50px;

    font-weight:700;

    transition:0.4s ease;

    position:relative;

    overflow:hidden;
}


/* GOLD BUTTON */
.gold-btn{

    background:
    linear-gradient(
    135deg,
    #d4af37,
    #f6d365
    );

    color:#000;
}


/* GOLD HOVER */
.gold-btn:hover{

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    transform:
    translateY(-4px)
    scale(1.03);

    box-shadow:
    0 15px 35px rgba(0,200,83,0.35);
}


/* GLASS BUTTON */
.glass-btn{

    background:
    rgba(255,255,255,0.10);

    border:
    1px solid rgba(255,255,255,0.18);

    color:#fff;

    backdrop-filter:blur(12px);
}


/* GLASS BUTTON HOVER */
.glass-btn:hover{

    background:
    linear-gradient(
    135deg,
    #d4af37,
    #f6d365
    );

    color:#000;

    transform:
    translateY(-4px)
    scale(1.03);

    border-color:transparent;

    box-shadow:
    0 15px 35px rgba(212,175,55,0.30);
}
/* =========================================
   POPULAR VISA PACKAGES
========================================= */

.popular-visa-section{

    padding:120px 0;

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


/* CARD */

.visa-package-card{

    background:
    rgba(255,255,255,0.70);

    border:
    1px solid rgba(255,255,255,0.30);

    border-radius:32px;

    overflow:hidden;

    backdrop-filter:blur(20px);

    transition:0.45s ease;

    box-shadow:
    0 15px 40px rgba(0,0,0,0.08);

    height:100%;
}


.visa-package-card:hover{

    transform:
    translateY(-12px);

    box-shadow:
    0 25px 60px rgba(0,0,0,0.14);
}


/* IMAGE */

.visa-package-card img{

    width:100%;

    height:240px;

    object-fit:cover;
}


/* CONTENT */

.package-content{

    padding:30px;
}


.package-content h3{

    font-size:28px;

    font-weight:800;

    margin-bottom:20px;
}


/* LIST */

.package-content ul{

    list-style:none;

    padding:0;

    margin:0 0 25px;
}


.package-content ul li{

    margin-bottom:14px;

    color:#555;

    font-size:15px;
}


.package-content ul li i{

    color:#00b84f;

    margin-right:10px;
}


/* PRICE */

.price-row{

    display:flex;

    align-items:center;

    justify-content:space-between;
}


.price-row h4{

    font-size:34px;

    font-weight:800;

    color:#00a548;

    margin:0;
}


/* BUTTON */

.apply-btn{

    padding:12px 24px;

    border-radius:50px;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    text-decoration:none;

    font-weight:700;

    transition:0.35s ease;
}


.apply-btn:hover{

    transform:
    translateY(-4px);

    color:#fff;

    box-shadow:
    0 15px 30px rgba(0,200,83,0.35);
}
/* =========================================
   ULTRA GLASS FAQ UI
========================================= */

.faq-section{

    padding:120px 0;

    background:#f5f5f5;
}


/* FAQ BOX */

.faq-section .accordion-item{

    position:relative;

    overflow:hidden;

    border:none !important;

    border-radius:34px !important;

    margin-bottom:30px;

background:
linear-gradient(
135deg,
rgba(250,250,255,0.90),
rgba(225,230,240,0.95)
);  ) !important;

    backdrop-filter:blur(24px);

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

    box-shadow:

    0 18px 45px rgba(0,0,0,0.18),

    inset 0 1px 0 rgba(255,255,255,0.10),

    0 0 35px rgba(120,160,255,0.15);

    border:
    1px solid rgba(255,255,255,0.10) !important;
}


/* TOP LIGHT */

.faq-section .accordion-item::before{

    content:'';

    position:absolute;

    top:-80px;
    left:-50px;

    width:240px;
    height:240px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(255,255,255,0.40),
    transparent 70%
    );

    filter:blur(30px);

    z-index:1;
}


/* BOTTOM LIGHT */

.faq-section .accordion-item::after{

    content:'';

    position:absolute;

    right:-80px;
    bottom:-80px;

    width:260px;
    height:260px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(120,180,255,0.22),
    transparent 70%
    );

    filter:blur(40px);

    z-index:1;
}


/* BUTTON */

.faq-section .accordion-button{

    background:transparent !important;

    color:#ffffff !important;

    font-size:22px;

    font-weight:700;

    padding:34px 40px;

    box-shadow:none !important;

    border:none !important;

    position:relative;

    z-index:5;
}


/* COLLAPSED */

.faq-section .accordion-button.collapsed{

    background:transparent !important;

    color:#ffffff !important;
}


/* REMOVE DEFAULT BLUE */

.faq-section .accordion-button:not(.collapsed){

    background:transparent !important;

    color:#ffffff !important;
}


/* ARROW */

.faq-section .accordion-button::after{

    filter:brightness(0) invert(1);

    transform:scale(1.15);
}


/* BODY */

.faq-section .accordion-body{

    position:relative;

    z-index:5;

    color:#p2p2p2;

    font-size:17px;

    line-height:2;

    padding:

    0 40px 36px 40px;
}


/* HOVER EFFECT */

.faq-section .accordion-item:hover{

    transform:
    translateY(-4px);

    transition:0.45s ease;

    box-shadow:

    0 25px 60px rgba(0,0,0,0.24),

    0 0 45px rgba(120,180,255,0.20);
}


/* MOBILE */

@media(max-width:768px){

    .faq-section{

        padding:80px 0;
    }

    .faq-section .accordion-button{

        font-size:17px;

        padding:24px;
    }

    .faq-section .accordion-body{

        font-size:15px;

        padding:
        0 24px 24px 24px;
    }

}
/* FAQ QUESTION TEXT */

.faq-section .accordion-button{

    color:#111 !important;
}


/* COLLAPSED */

.faq-section .accordion-button.collapsed{

    color:#111 !important;
}


/* OPEN FAQ */

.faq-section .accordion-button:not(.collapsed){

    color:#111 !important;
}


/* ANSWER TEXT */

.faq-section .accordion-body{

    color:#222;
}


/* ARROW ICON BLACK */

.faq-section .accordion-button::after{

    filter:none;
}
/* =========================================
   ULTRA PREMIUM DOCUMENT UPLOAD SECTION
========================================= */

.upload-section{

    padding:120px 0;

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

    position:relative;

    overflow:hidden;
}


/* LEFT */

.upload-content .section-tag{

    display:inline-block;

    padding:10px 22px;

    border-radius:50px;

    background:
    rgba(0,200,83,0.08);

    color:#00a651;

    font-size:13px;

    font-weight:800;

    letter-spacing:2px;

    margin-bottom:25px;
}


.upload-content h2{

    font-size:58px;

    font-weight:900;

    line-height:1.1;

    margin-bottom:25px;

    color:#111;
}


.upload-content p{

    font-size:18px;

    color:#666;

    line-height:2;

    margin-bottom:40px;
}


/* DOC LIST */

.doc-list{

    display:flex;

    flex-direction:column;

    gap:20px;
}


.doc-item{

    display:flex;

    align-items:center;

    gap:18px;

    background:#fff;

    padding:22px 24px;

    border-radius:24px;

    box-shadow:
    0 10px 30px rgba(0,0,0,0.06);
}


.doc-item i{

    width:62px;
    height:62px;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    font-size:24px;
}


.doc-item h5{

    font-size:20px;

    font-weight:800;

    margin-bottom:6px;
}


.doc-item span{

    color:#666;

    font-size:14px;
}


/* RIGHT BOX */

.upload-glass-box{

    position:relative;

    padding:45px;

    border-radius:38px;

    background:
    linear-gradient(
    135deg,
    rgba(255,255,255,0.75),
    rgba(240,245,255,0.60)
    );

    backdrop-filter:blur(28px);

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

    border:
    1px solid rgba(255,255,255,0.35);

    box-shadow:

    0 25px 70px rgba(0,0,0,0.10),

    inset 0 1px 0 rgba(255,255,255,0.55);

    overflow:hidden;
}


/* GREEN GLOW */

.upload-glass-box::before{

    content:'';

    position:absolute;

    width:320px;
    height:320px;

    background:
    radial-gradient(
    circle,
    rgba(0,255,140,0.16),
    transparent 70%
    );

    top:-120px;
    right:-100px;

    filter:blur(45px);
}


/* GOLD GLOW */

.upload-glass-box::after{

    content:'';

    position:absolute;

    width:280px;
    height:280px;

    background:
    radial-gradient(
    circle,
    rgba(212,175,55,0.14),
    transparent 70%
    );

    bottom:-120px;
    left:-80px;

    filter:blur(40px);
}


/* CARD */

.upload-card{

    display:block;

    cursor:pointer;
}


/* ULTRA GLASS CARD */

.upload-inner{

    position:relative;

    background:
    linear-gradient(
    135deg,
    rgba(255,255,255,0.55),
    rgba(255,255,255,0.28)
    );

    backdrop-filter:blur(20px);

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

    border:
    1px solid rgba(255,255,255,0.35);

    border-radius:30px;

    padding:48px 25px;

    text-align:center;

    transition:0.45s ease;

    overflow:hidden;

    box-shadow:

    inset 0 1px 0 rgba(255,255,255,0.40),

    0 12px 30px rgba(0,0,0,0.08);
}


/* MULTI COLOR BUBBLES */

.upload-inner::before{

    content:'';

    position:absolute;

    width:180px;
    height:180px;

    background:
    radial-gradient(
    circle,
    rgba(0,255,170,0.22),
    transparent 70%
    );

    top:-60px;
    left:-50px;

    animation:
    bubbleMove 6s infinite alternate ease-in-out;
}


.upload-inner::after{

    content:'';

    position:absolute;

    width:180px;
    height:180px;

    background:
    radial-gradient(
    circle,
    rgba(130,80,255,0.18),
    transparent 70%
    );

    bottom:-70px;
    right:-50px;

    animation:
    bubbleMove2 7s infinite alternate ease-in-out;
}


/* EXTRA COLOR LAYER */

.upload-card:nth-child(1) .upload-inner{

    box-shadow:
    0 0 35px rgba(0,255,150,0.10);
}

.upload-card:nth-child(2) .upload-inner{

    box-shadow:
    0 0 35px rgba(80,120,255,0.12);
}

.upload-card:nth-child(3) .upload-inner{

    box-shadow:
    0 0 35px rgba(255,180,50,0.12);
}

.upload-card:nth-child(4) .upload-inner{

    box-shadow:
    0 0 35px rgba(255,80,200,0.12);
}


/* HOVER */

.upload-inner:hover{

    transform:
    translateY(-10px)
    scale(1.02);

    background:
    linear-gradient(
    135deg,
    rgba(255,255,255,0.75),
    rgba(255,255,255,0.45)
    );

    box-shadow:

    0 25px 55px rgba(0,0,0,0.14),

    0 0 50px rgba(0,255,170,0.18);
}


/* ICON */

.upload-inner i{

    position:relative;

    z-index:5;

    width:95px;
    height:95px;

    border-radius:30px;

    margin:auto auto 28px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    font-size:36px;

    box-shadow:
    0 18px 40px rgba(0,200,83,0.28);
}


/* TEXT */

.upload-inner h4{

    position:relative;

    z-index:5;

    font-size:28px;

    font-weight:900;

    margin-bottom:12px;

    color:#111;
}


.upload-inner p{

    position:relative;

    z-index:5;

    color:#666;

    font-size:16px;

    margin:0;
}


/* BUTTON */

.submit-doc-btn{

    border:none;

    padding:18px 48px;

    border-radius:60px;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    font-size:18px;

    font-weight:800;

    transition:0.45s ease;

    box-shadow:
    0 18px 45px rgba(0,200,83,0.25);
}


/* BUTTON HOVER */

.submit-doc-btn:hover{

    transform:
    translateY(-5px)
    scale(1.03);

    background:
    linear-gradient(
    135deg,
    #d4af37,
    #f6d365
    );

    color:#111;

    box-shadow:
    0 22px 50px rgba(212,175,55,0.35);
}


/* ANIMATION */

@keyframes bubbleMove{

    0%{

        transform:
        translateY(0)
        translateX(0)
        scale(1);
    }

    100%{

        transform:
        translateY(25px)
        translateX(15px)
        scale(1.1);
    }
}


@keyframes bubbleMove2{

    0%{

        transform:
        translateY(0)
        translateX(0)
        scale(1);
    }

    100%{

        transform:
        translateY(-20px)
        translateX(-15px)
        scale(1.12);
    }
}


/* MOBILE */

@media(max-width:768px){

    .upload-section{

        padding:80px 0;
    }

    .upload-content h2{

        font-size:40px;
    }

    .upload-glass-box{

        padding:28px;
    }

    .upload-inner{

        padding:35px 18px;
    }

}
/* =========================================
   LIVE VISA TRACKER
========================================= */

.visa-tracker-section{

    position:relative;

    padding:140px 0;

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

    overflow:hidden;
}


/* LEFT */

.tracker-content .tracker-tag{

    display:inline-block;

    padding:12px 24px;

    border-radius:50px;

    background:
    rgba(0,200,83,0.08);

    color:#00a651;

    font-size:13px;

    font-weight:800;

    letter-spacing:2px;

    margin-bottom:28px;
}


.tracker-content h2{

    font-size:62px;

    font-weight:900;

    line-height:1.05;

    color:#111;

    margin-bottom:28px;
}


.tracker-content p{

    font-size:18px;

    color:#666;

    line-height:2;

    margin-bottom:40px;
}


/* FEATURES */

.tracker-features{

    display:flex;

    flex-direction:column;

    gap:18px;
}


.tracker-feature{

    display:flex;

    align-items:center;

    gap:16px;

    padding:18px 22px;

    border-radius:22px;

    background:#fff;

    box-shadow:
    0 10px 30px rgba(0,0,0,0.05);
}


.tracker-feature i{

    width:56px;
    height:56px;

    border-radius:18px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    font-size:20px;

    box-shadow:
    0 10px 25px rgba(0,200,83,0.25);
}


.tracker-feature span{

    font-size:17px;

    font-weight:700;

    color:#111;
}


/* RIGHT BOX */

.tracker-glass-box{

    position:relative;

    padding:55px;

    border-radius:40px;

    background:
    linear-gradient(
    135deg,
    rgba(255,255,255,0.75),
    rgba(240,245,255,0.55)
    );

    border:
    1px solid rgba(255,255,255,0.30);

    backdrop-filter:blur(24px);

    overflow:hidden;

    box-shadow:

    0 20px 60px rgba(0,0,0,0.10),

    inset 0 1px 0 rgba(255,255,255,0.40);
}


/* GLOW */

.tracker-glow{

    position:absolute;

    width:340px;
    height:340px;

    background:
    radial-gradient(
    circle,
    rgba(0,255,140,0.18),
    transparent 70%
    );

    top:-120px;
    right:-120px;

    filter:blur(40px);
}


/* INPUT */

.tracker-input{

    height:72px;

    border:none;

    border-radius:22px;

    padding:0 24px;

    background:
    rgba(255,255,255,0.75);

    font-size:16px;

    font-weight:600;

    color:#111;

    box-shadow:
    0 10px 25px rgba(0,0,0,0.06);
}


.tracker-input:focus{

    box-shadow:
    0 0 0 3px rgba(0,200,83,0.15);

    border:none;
}


/* BUTTON */

.track-btn{

    border:none;

    height:68px;

    padding:0 38px;

    border-radius:60px;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    font-size:18px;

    font-weight:800;

    transition:0.4s ease;

    box-shadow:
    0 18px 40px rgba(0,200,83,0.25);
}


.track-btn i{

    margin-right:10px;
}


.track-btn:hover{

    transform:
    translateY(-5px);

    background:
    linear-gradient(
    135deg,
    #d4af37,
    #f6d365
    );

    color:#111;

    box-shadow:
    0 25px 50px rgba(212,175,55,0.35);
}


/* PROGRESS */

.visa-progress-wrap{

    position:relative;

    display:flex;

    justify-content:space-between;

    margin-top:70px;
}


/* LINE */

.progress-line{

    position:absolute;

    top:34px;
    left:8%;

    width:84%;
    height:6px;

    border-radius:50px;

    background:#dfe5eb;
}


.progress-active{

    position:absolute;

    top:34px;
    left:8%;

    width:42%;

    height:6px;

    border-radius:50px;

    background:
    linear-gradient(
    90deg,
    #00c853,
    #00ff99
    );

    box-shadow:
    0 0 20px rgba(0,255,140,0.50);
}


/* STEP */

.visa-step{

    position:relative;

    z-index:5;

    text-align:center;

    width:25%;
}


.step-circle{

    width:72px;
    height:72px;

    margin:auto;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#e8edf2;

    color:#777;

    font-size:24px;

    transition:0.4s ease;
}


.visa-step.active .step-circle{

    background:
    linear-gradient(
    135deg,
    #00c853,
    #00a651
    );

    color:#fff;

    box-shadow:
    0 0 25px rgba(0,255,140,0.45);
}


.visa-step span{

    display:block;

    margin-top:18px;

    font-size:15px;

    font-weight:700;

    color:#111;
}


/* MOBILE */

@media(max-width:768px){

    .visa-tracker-section{

        padding:90px 0;
    }

    .tracker-content h2{

        font-size:40px;
    }

    .tracker-glass-box{

        padding:30px;
    }

    .visa-progress-wrap{

        flex-wrap:wrap;

        gap:30px;
    }

    .visa-step{

        width:45%;
    }

    .progress-line,
    .progress-active{

        display:none;
    }

}
/* =========================================
   ULTRA PREMIUM COUNTRY GRID
========================================= */

.ultra-country-section{

    padding:140px 0;

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


/* HEADING */

.ultra-heading span{

    color:#00a651;

    font-size:13px;

    font-weight:800;

    letter-spacing:3px;
}


.ultra-heading h2{

    font-size:64px;

    font-weight:900;

    margin:18px 0;
}


.ultra-heading p{

    color:#666;

    font-size:18px;
}


/* CARD */

.ultra-country-card{

    position:relative;

    border-radius:40px;

    overflow:hidden;

    background:
    linear-gradient(
    135deg,
    rgba(255,255,255,0.55),
    rgba(255,255,255,0.18)
    );

    border:
    1px solid rgba(255,255,255,0.55);

    backdrop-filter:blur(30px);

    transition:0.5s ease;

    box-shadow:

    0 25px 60px rgba(0,0,0,0.08),

    inset 0 1px 0 rgba(255,255,255,0.40);
}


/* HOVER */

.ultra-country-card:hover{

    transform:
    translateY(-14px)
    scale(1.02);

    box-shadow:

    0 35px 80px rgba(0,0,0,0.15);
}


/* IMAGE */

.ultra-country-image{

    height:290px;

    overflow:hidden;
}


.ultra-country-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:0.7s ease;
}


.ultra-country-card:hover img{

    transform:scale(1.08);
}


/* CONTENT */

.ultra-country-content{

    padding:35px;
}


/* CODE */

.country-code{

    display:inline-block;

    padding:10px 18px;

    border-radius:50px;

    background:
    rgba(0,200,83,0.12);

    color:#00a651;

    font-size:13px;

    font-weight:800;

    margin-bottom:18px;
}


/* TITLE */

.ultra-country-content h3{

    font-size:34px;

    font-weight:900;

    margin-bottom:14px;

    line-height:1.2;
}


.ultra-country-content p{

    color:#666;

    font-size:17px;

    margin-bottom:24px;
}


/* PRICE */

.country-price{

    font-size:42px;

    font-weight:900;

    color:#00a651;

    margin-bottom:30px;
}


/* BUTTON */

.ultra-country-content a{

    display:inline-flex;

    align-items:center;
    justify-content:center;

    width:100%;

    height:64px;

    border-radius:60px;

    text-decoration:none;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #009245
    );

    color:#fff;

    font-size:18px;

    font-weight:800;

    transition:0.4s ease;

    box-shadow:
    0 15px 35px rgba(0,200,83,0.25);
}


.ultra-country-content a:hover{

    transform:
    translateY(-4px);

    background:
    linear-gradient(
    135deg,
    #d4af37,
    #f6d365
    );

    color:#111;
}
/* =========================================
   ULTRA PREMIUM VISA MODAL
========================================= */

.visa-modal-overlay{

    position:fixed;

    inset:0;

    background:
    rgba(8,10,20,0.72);

    backdrop-filter:blur(18px);

    z-index:999999;

    display:flex;

    align-items:center;
    justify-content:center;

    padding:30px;

    opacity:0;

    visibility:hidden;

    transition:0.45s ease;
}


.visa-modal-overlay.active{

    opacity:1;

    visibility:visible;
}


/* =========================================
   MAIN MODAL BOX
========================================= */




.visa-modal-overlay.active .visa-modal-box{

    transform:
    translateY(0)
    scale(1);
}


/* CUSTOM SCROLL */

.visa-modal-box::-webkit-scrollbar{

    width:8px;
}

.visa-modal-box::-webkit-scrollbar-thumb{

    background:#00c853;

    border-radius:20px;
}


/* =========================================
   TOP IMAGE
========================================= */

.visa-modal-image{

    position:relative;

    height:300px;

    overflow:hidden;
}


.visa-modal-image img{

    width:100%;
    height:100%;

    object-fit:cover;

    transform:scale(1.05);
}


.visa-modal-image::after{

    content:'';

    position:absolute;

    inset:0;

    background:
    linear-gradient(
    180deg,
    rgba(0,0,0,0.05),
    rgba(0,0,0,0.70)
    );
}


/* =========================================
   LIGHT EFFECTS
========================================= */

.visa-modal-box::before{

    content:'';

    position:absolute;

    width:320px;
    height:320px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(0,255,180,0.20),
    transparent 70%
    );

    top:-120px;
    left:-120px;

    filter:blur(50px);

    z-index:0;
}


.visa-modal-box::after{

    content:'';

    position:absolute;

    width:300px;
    height:300px;

    border-radius:50%;

    background:
    radial-gradient(
    circle,
    rgba(255,180,0,0.18),
    transparent 70%
    );

    bottom:-120px;
    right:-120px;

    filter:blur(50px);

    z-index:0;
}


/* =========================================
   COUNTRY BADGE
========================================= */

.visa-modal-badge{

    position:absolute;

    top:30px;
    left:30px;

    z-index:5;

    padding:12px 28px;

    border-radius:60px;

    background:
    rgba(255,255,255,0.12);

    border:
    1px solid rgba(255,255,255,0.25);

    backdrop-filter:blur(18px);

    color:#fff;

    font-size:14px;

    font-weight:800;

    letter-spacing:2px;

    text-transform:uppercase;

    box-shadow:
    0 10px 25px rgba(0,0,0,0.18);
}


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

.visa-modal-close{

    position:absolute;

    top:25px;
    right:25px;

    width:56px;
    height:56px;

    border:none;

    border-radius:50%;

    background:
    rgba(255,255,255,0.12);

    border:
    1px solid rgba(255,255,255,0.18);

    color:#fff;

    font-size:22px;

    z-index:10;

    backdrop-filter:blur(10px);

    transition:0.45s ease;
}


.visa-modal-close:hover{

    background:#ff3b30;

    transform:
    rotate(180deg)
    scale(1.08);
}


/* =========================================
   CONTENT
========================================= */

.visa-modal-content{

    position:relative;

    z-index:5;

    padding:55px;
}




.visa-modal-content p{

    font-size:18px;

    line-height:2;

    color:rgba(255,255,255,0.82);

    margin-bottom:45px;
}


/* =========================================
   INFO GRID
========================================= */

.visa-info-grid{

    display:grid;

    grid-template-columns:
    repeat(4,1fr);

    gap:22px;

    margin-bottom:45px;
}


/* GLASS CARDS */

.visa-info-card{

    position:relative;

    padding:28px 20px;

    border-radius:30px;

    text-align:center;

    overflow:hidden;

    background:
    linear-gradient(
    135deg,
    rgba(255,255,255,0.16),
    rgba(255,255,255,0.08)
    );

    border:
    1px solid rgba(255,255,255,0.15);

    backdrop-filter:blur(20px);

    transition:0.45s ease;

    box-shadow:
    0 10px 30px rgba(0,0,0,0.15);
}


/* SHINE */

.visa-info-card::before{

    content:'';

    position:absolute;

    width:180px;
    height:180px;

    background:
    radial-gradient(
    circle,
    rgba(255,255,255,0.18),
    transparent 70%
    );

    top:-90px;
    left:-90px;

    filter:blur(20px);
}


.visa-info-card:hover{

    transform:
    translateY(-10px)
    scale(1.03);

    border-color:
    rgba(255,255,255,0.28);

    box-shadow:
    0 20px 50px rgba(0,0,0,0.30);
}


/* ICON */

.visa-info-card i{

    width:82px;
    height:82px;

    border-radius:26px;

    margin:auto auto 22px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #00a651
    );

    color:#fff;

    font-size:30px;

    box-shadow:
    0 15px 35px rgba(0,200,83,0.35);
}


/* TEXT */

.visa-info-card h5{

    color:#fff;

    font-size:22px;

    font-weight:800;

    margin-bottom:12px;
}


.visa-info-card span{

    color:#ffe082;

    font-size:18px;

    font-weight:700;
}


/* =========================================
   DOCUMENTS
========================================= */

.visa-documents h4{

    color:#fff;

    font-size:34px;

    font-weight:900;

    margin-bottom:25px;
}


.visa-doc-tags{

    display:flex;

    flex-wrap:wrap;

    gap:16px;

    margin-bottom:45px;
}


.visa-doc-tags span{

    padding:14px 22px;

    border-radius:60px;

    background:
    rgba(255,255,255,0.12);

    border:
    1px solid rgba(255,255,255,0.18);

    color:#fff;

    font-size:14px;

    font-weight:700;

    backdrop-filter:blur(12px);
}


/* =========================================
   BUTTONS
========================================= */

.visa-modal-buttons{

    display:flex;

    gap:20px;

    flex-wrap:wrap;
}


/* APPLY BUTTON */

.visa-apply-btn{

    flex:1;

    min-width:220px;

    height:68px;

    border-radius:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    background:
    linear-gradient(
    135deg,
    #00c853,
    #00a651
    );

    color:#fff;

    font-size:18px;

    font-weight:800;

    transition:0.45s ease;

    box-shadow:
    0 15px 35px rgba(0,200,83,0.35);
}


.visa-apply-btn:hover{

    transform:
    translateY(-5px);

    background:
    linear-gradient(
    135deg,
    #ffd54f,
    #ffb300
    );

    color:#111;

    box-shadow:
    0 20px 45px rgba(255,193,7,0.35);
}


/* WHATSAPP */

.visa-whatsapp-btn{

    flex:1;

    min-width:220px;

    height:68px;

    border-radius:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    background:
    rgba(255,255,255,0.10);

    border:
    1px solid rgba(255,255,255,0.18);

    color:#fff;

    font-size:18px;

    font-weight:800;

    transition:0.45s ease;

    backdrop-filter:blur(15px);
}


.visa-whatsapp-btn:hover{

    transform:
    translateY(-5px);

    background:#25d366;

    color:#fff;

    box-shadow:
    0 20px 45px rgba(37,211,102,0.35);
}


/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

    .visa-modal-content{

        padding:35px 24px;
    }

    .visa-modal-content h2{

        font-size:38px;
    }

    .visa-info-grid{

        grid-template-columns:
        repeat(2,1fr);
    }

    .visa-modal-buttons{

        flex-direction:column;
    }

    .visa-apply-btn,
    .visa-whatsapp-btn{

        width:100%;
    }

}
/* =========================================
   MODAL SCROLL FIX
========================================= */

/* MAIN MODAL */

.visa-modal-box{

    height:90vh;

    overflow:hidden;

    display:flex;

    flex-direction:column;
}


/* BODY SCROLL AREA */

.visa-modal-body{

    flex:1;

    overflow-y:auto;

    overflow-x:hidden;

    padding-bottom:40px;

    scroll-behavior:smooth;
}


/* CUSTOM SCROLLBAR */

.visa-modal-body::-webkit-scrollbar{

    width:10px;
}


.visa-modal-body::-webkit-scrollbar-track{

    background:
    rgba(40,15,15,0.55);

    border-radius:30px;
}


.visa-modal-body::-webkit-scrollbar-thumb{

    background:
    linear-gradient(
    180deg,
    #3b0d0d,
    #6d1f1f,
    #2b0707
    );

    border-radius:30px;

    border:
    2px solid rgba(255,255,255,0.08);
}


.visa-modal-body::-webkit-scrollbar-thumb:hover{

    background:
    linear-gradient(
    180deg,
    #5a1111,
    #8a2020,
    #3a0909
    );
}

/* =========================================
   SCROLL HINT SHADOW
========================================= */

.visa-modal-body::after{

    content:'';

    position:sticky;

    bottom:0;

    display:block;

    width:100%;

    height:40px;

    background:
    linear-gradient(
    to top,
    rgba(0,0,0,0.45),
    transparent
    );

    pointer-events:none;
}



/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

    .visa-modal-box{

        height:95vh;

        border-radius:28px;
    }

}
/* =========================================
   FINAL MODAL FIX
========================================= */

.visa-modal-box{

    width:100%;

    max-width:980px;

    height:82vh;

    border-radius:34px;

    overflow:hidden;

    display:flex;

    flex-direction:column;
}


/* SCROLL AREA */

.visa-modal-body{

    flex:1;

    overflow-y:auto;

    overflow-x:hidden;

    padding-bottom:120px;

    scroll-behavior:smooth;
}


/* DARK SCROLLBAR */

.visa-modal-body::-webkit-scrollbar{

    width:12px;
}


.visa-modal-body::-webkit-scrollbar-track{

    background:
    rgba(0,40,20,0.55);

    border-radius:30px;
}


.visa-modal-body::-webkit-scrollbar-thumb{

    background:
    linear-gradient(
    180deg,
    #021b12,
    #0b5d3b,
    #021b12
    );

    border-radius:30px;

    border:
    2px solid rgba(255,255,255,0.06);
}


.visa-modal-body::-webkit-scrollbar-thumb:hover{

    background:
    linear-gradient(
    180deg,
    #000,
    #087443,
    #000
    );
}


/* CONTENT */

.visa-modal-content{

    padding:38px 42px 20px;
}


/* SMALLER HEADING */

.visa-modal-content h2{

    font-size:42px;

    line-height:1.1;

    margin-bottom:18px;

    font-weight:900;

    color:#fff;
}


/* DESCRIPTION */

.visa-modal-content p{

    font-size:17px;

    line-height:1.8;

    margin-bottom:35px;

    color:
    rgba(255,255,255,0.82);
}


/* IMAGE SMALL */

.visa-modal-image{

    height:250px;
}


/* BUTTON AREA */

.visa-modal-buttons{

    position:relative;

    margin-top:40px;

    padding-top:10px;

    background:none;

    z-index:10;
}


/* BUTTONS */

.visa-apply-btn,
.visa-whatsapp-btn{

    height:62px;

    font-size:17px;
}


/* MOBILE */

@media(max-width:768px){

    .visa-modal-box{

        height:90vh;

        border-radius:24px;
    }

    .visa-modal-content{

        padding:28px 22px;
    }

    .visa-modal-content h2{

        font-size:32px;
    }

    .visa-modal-image{

        height:180px;
    }

}
