/* FirstMyVisa Visas Page V2 */

.fmv-visas-v2-page,
.fmv-visas-v2-page *{
    box-sizing:border-box;
}

.fmv-visas-v2-page{
    font-family:Inter,Arial,sans-serif;
    background:#f6f9ff;
    color:#0f172a;
    overflow:hidden;
}

/* HERO */
.fmv-v2-hero{
    position:relative;
    min-height:540px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:80px 24px;
    background:linear-gradient(135deg,#061735,#0a5cff);
    color:#fff;
    text-align:center;
}

.fmv-v2-hero-bg{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 15% 20%,rgba(255,255,255,.18),transparent 28%),
        radial-gradient(circle at 85% 15%,rgba(124,58,237,.28),transparent 30%),
        radial-gradient(circle at 50% 100%,rgba(14,165,233,.22),transparent 35%);
}

.fmv-v2-hero-inner{
    position:relative;
    z-index:2;
    max-width:980px;
}

.fmv-v2-hero-badge{
    display:inline-flex;
    padding:10px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.22);
    font-weight:950;
    margin-bottom:18px;
}

.fmv-v2-hero h1{
    margin:0;
    font-size:68px;
    line-height:1.02;
    letter-spacing:-.06em;
    font-weight:950;
}

.fmv-v2-hero h1 span{
    color:#bfdbfe;
}

.fmv-v2-hero p{
    max-width:780px;
    margin:20px auto 28px;
    color:#dbeafe;
    font-size:18px;
    line-height:1.8;
}

.fmv-v2-search-box{
    max-width:780px;
    margin:0 auto;
    height:72px;
    background:#fff;
    border-radius:22px;
    display:grid;
    grid-template-columns:60px 1fr 160px;
    align-items:center;
    padding:7px;
    box-shadow:0 30px 70px rgba(0,0,0,.22);
    position:relative;
}

.fmv-v2-search-box span{
    color:#64748b;
    font-size:24px;
}

.fmv-v2-search-box input{
    height:100%;
    border:0;
    outline:0;
    font-size:16px;
    font-weight:850;
    color:#0f172a;
}

.fmv-v2-search-box button{
    height:100%;
    border:0;
    border-radius:17px;
    background:#061735;
    color:#fff;
    font-weight:950;
    cursor:pointer;
}

.fmv-v2-hero-stats{
    margin-top:26px;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

.fmv-v2-hero-stats div{
    background:rgba(255,255,255,.13);
    border:1px solid rgba(255,255,255,.20);
    border-radius:18px;
    padding:18px;
    backdrop-filter:blur(12px);
}

.fmv-v2-hero-stats b{
    display:block;
    font-size:28px;
}

.fmv-v2-hero-stats small{
    color:#dbeafe;
}

/* COMMON HEAD */
.fmv-v2-section-head{
    text-align:center;
    max-width:760px;
    margin:0 auto 26px;
}

.fmv-v2-section-head span{
    display:inline-flex;
    padding:8px 15px;
    border-radius:999px;
    background:#eaf2ff;
    color:#0a5cff;
    font-size:13px;
    font-weight:950;
    margin-bottom:12px;
}

.fmv-v2-section-head h2{
    margin:0 0 10px;
    font-size:42px;
    letter-spacing:-.04em;
    color:#061735;
}

.fmv-v2-section-head p{
    margin:0;
    color:#64748b;
    font-size:16px;
    line-height:1.7;
}

/* POPULAR DESTINATIONS */

.fmv-v2-popular{
    max-width:1320px;
    margin:70px auto;
    padding:0 20px;
}

.fmv-v2-popular-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:22px;
}

.fmv-v2-popular-card{
    text-decoration:none;
    background:#fff;
    border:1px solid #e5edf7;
    border-radius:24px;
    padding:26px;
    transition:.30s;
    box-shadow:0 18px 45px rgba(15,23,42,.06);
}

.fmv-v2-popular-card:hover{
    transform:translateY(-8px);
    box-shadow:0 28px 70px rgba(15,23,42,.15);
    border-color:#0a5cff;
}

.fmv-v2-popular-flag{
    font-size:44px;
    margin-bottom:18px;
}

.fmv-v2-popular-card strong{
    display:block;
    color:#061735;
    font-size:20px;
    margin-bottom:8px;
}

.fmv-v2-popular-card small{
    color:#64748b;
    font-weight:700;
}

/* FILTERS */

.fmv-v2-filters{
    max-width:1320px;
    margin:0 auto 35px;
    padding:0 20px;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:12px;
}

.fmv-v2-filters button{
    height:50px;
    padding:0 22px;
    border-radius:999px;
    border:1px solid #d9e5f3;
    background:#fff;
    color:#061735;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    transition:.25s;
}

.fmv-v2-filters button:hover{
    transform:translateY(-2px);
}

.fmv-v2-filters button.active{
    background:#061735;
    color:#fff;
    border-color:#061735;
}

/* COUNTRY GRID */

.fmv-v2-country-grid{
    max-width:1320px;
    margin:auto;
    padding:0 20px 70px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:28px;
}

.fmv-v2-card{
    background:#fff;
    border-radius:30px;
    overflow:hidden;
    border:1px solid #e2e8f0;
    transition:.30s;
    box-shadow:0 20px 55px rgba(15,23,42,.08);
}

.fmv-v2-card:hover{
    transform:translateY(-8px);
    box-shadow:0 34px 80px rgba(15,23,42,.18);
}

.fmv-v2-card-img{
    display:block;
    height:300px;
    background-size:cover;
    background-position:center;
    position:relative;
    text-decoration:none;
}

.fmv-v2-card-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.86));
}

.fmv-v2-card-top{
    position:absolute;
    left:20px;
    right:20px;
    top:18px;
    display:flex;
    justify-content:space-between;
    z-index:2;
}

.fmv-v2-flag{
    width:60px;
    height:60px;
    border-radius:20px;
    background:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:30px;
}

.fmv-v2-mode{
    padding:10px 16px;
    border-radius:999px;
    color:#fff;
    background:rgba(255,255,255,.16);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.25);
    font-size:12px;
    font-weight:900;
}

.fmv-v2-ribbon{
    position:absolute;
    left:20px;
    top:95px;
    z-index:2;
    padding:8px 14px;
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,#ff5f45,#ff9800);
    font-size:12px;
    font-weight:900;
}

.fmv-v2-card-content{
    position:absolute;
    left:22px;
    right:22px;
    bottom:22px;
    z-index:2;
}

.fmv-v2-card-content h3{
    margin:0 0 8px;
    color:#fff;
    font-size:32px;
    letter-spacing:-.04em;
}

.fmv-v2-card-content p{
    margin:0 0 16px;
    color:#dbeafe;
}

/* PRICE */

.fmv-v2-price{
    display:inline-flex;
    align-items:center;
    gap:14px;
    padding:12px 16px;
    border-radius:18px;
    background:rgba(255,255,255,.14);
    backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.25);
}

.fmv-v2-price small{
    display:block;
    color:#dbeafe;
    font-size:11px;
    font-weight:900;
}

.fmv-v2-price strong{
    display:block;
    color:#fff;
    font-size:28px;
    line-height:1;
}

/* INFO */

.fmv-v2-card-info{
    padding:16px;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:10px;
}

.fmv-v2-card-info span{
    text-align:center;
    padding:10px;
    border-radius:999px;
    background:#f8fbff;
    border:1px solid #e5e7eb;
    color:#475569;
    font-size:12px;
    font-weight:900;
}

/* BUTTONS */

.fmv-v2-card-actions{
    padding:0 16px 16px;
    display:grid;
    grid-template-columns:1fr 1.2fr;
    gap:12px;
}

.fmv-v2-card-actions a{
    height:50px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    text-decoration:none;
    font-size:14px;
    font-weight:900;
    border:1px solid #dbe3ef;
    color:#061735;
    transition:.25s;
}

.fmv-v2-card-actions a:hover{
    transform:translateY(-2px);
}

.fmv-v2-card-actions .apply{
    color:#fff;
    border:0;
    background:linear-gradient(135deg,#061735,#0A5CFF);
    box-shadow:0 18px 35px rgba(10,92,255,.25);
}

/* WHY */

.fmv-v2-why{
    max-width:1320px;
    margin:80px auto;
    padding:0 20px;
}

.fmv-v2-why-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.fmv-v2-why-grid div{
    background:#fff;
    border-radius:24px;
    padding:28px;
    border:1px solid #e5edf7;
    box-shadow:0 16px 45px rgba(15,23,42,.06);
}

.fmv-v2-why-grid span{
    font-size:42px;
    display:block;
    margin-bottom:14px;
}

.fmv-v2-why-grid b{
    display:block;
    color:#061735;
    font-size:20px;
    margin-bottom:8px;
}

.fmv-v2-why-grid small{
    color:#64748b;
    line-height:1.8;
}

/* FAQ */

.fmv-v2-faq{
    max-width:980px;
    margin:90px auto;
    padding:0 20px;
}

.fmv-v2-faq details{
    margin-bottom:18px;
    background:#fff;
    border-radius:18px;
    border:1px solid #e5edf7;
    overflow:hidden;
}

.fmv-v2-faq summary{
    cursor:pointer;
    list-style:none;
    padding:22px;
    font-size:17px;
    font-weight:900;
    color:#061735;
}

.fmv-v2-faq p{
    margin:0;
    padding:0 22px 22px;
    color:#64748b;
    line-height:1.8;
}

/* CTA */

.fmv-v2-cta{
    margin-top:80px;
    background:linear-gradient(135deg,#061735,#0A5CFF);
    color:#fff;
    text-align:center;
    padding:90px 20px;
}

.fmv-v2-cta-content{
    max-width:760px;
    margin:auto;
}

.fmv-v2-cta span{
    display:inline-block;
    margin-bottom:14px;
    padding:8px 18px;
    border-radius:999px;
    background:rgba(255,255,255,.15);
    border:1px solid rgba(255,255,255,.20);
    font-weight:900;
}

.fmv-v2-cta h2{
    margin:0 0 18px;
    font-size:52px;
    line-height:1.08;
}

.fmv-v2-cta p{
    color:#dbeafe;
    line-height:1.8;
    margin-bottom:30px;
}

.fmv-v2-cta-buttons{
    display:flex;
    justify-content:center;
    gap:16px;
    flex-wrap:wrap;
}

.fmv-v2-btn-primary,
.fmv-v2-btn-outline{
    min-width:220px;
    height:56px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:16px;
    text-decoration:none;
    font-weight:900;
}

.fmv-v2-btn-primary{
    background:#fff;
    color:#061735;
}

.fmv-v2-btn-outline{
    border:2px solid rgba(255,255,255,.25);
    color:#fff;
}

/* MOBILE */

@media(max-width:1100px){

.fmv-v2-popular-grid,
.fmv-v2-country-grid,
.fmv-v2-why-grid{
grid-template-columns:repeat(2,1fr);
}

.fmv-v2-hero h1{
font-size:50px;
}

}

@media(max-width:768px){

.fmv-v2-hero{
padding:60px 18px;
min-height:auto;
}

.fmv-v2-hero h1{
font-size:36px;
}

.fmv-v2-search-box{
grid-template-columns:45px 1fr;
height:auto;
padding:10px;
}

.fmv-v2-search-box button{
grid-column:1/-1;
margin-top:10px;
height:48px;
}

.fmv-v2-hero-stats,
.fmv-v2-popular-grid,
.fmv-v2-country-grid,
.fmv-v2-why-grid{
grid-template-columns:1fr;
}

.fmv-v2-card-actions{
grid-template-columns:1fr;
}

.fmv-v2-card-info{
grid-template-columns:1fr;
}

.fmv-v2-cta h2{
font-size:34px;
}

}

.fmv-v2-hero{
min-height:360px!important;
padding:55px 24px!important;
background:
linear-gradient(90deg,rgba(6,23,53,.94),rgba(10,92,255,.55)),
url('https://images.unsplash.com/photo-1488646953014-85cb44e25828?auto=format&fit=crop&w=1800&q=80') center/cover no-repeat!important;
}

.fmv-v2-hero h1{
font-size:52px!important;
}

.fmv-v2-hero h1 br{
display:none!important;
}

.fmv-v2-hero p{
margin:14px auto 22px!important;
}

.fmv-v2-search-box{
height:60px!important;
}

.fmv-v2-hero-stats{
max-width:640px!important;
margin:20px auto 0!important;
}

.fmv-v2-hero-stats div{
padding:12px!important;
}

.fmv-v2-hero-stats b{
font-size:22px!important;
}

/* VISAS PAGE FINAL SPACING FIX */

.fmv-v2-hero{
margin-bottom:42px!important;
}

.fmv-v2-filters{
margin-top:0!important;
margin-bottom:38px!important;
position:relative!important;
z-index:5!important;
}

.fmv-v2-country-grid{
padding-top:0!important;
}

.fmv-v2-breadcrumb{
max-width:1320px;
margin:22px auto 0;
padding:0 20px;
font-size:13px;
font-weight:800;
color:#64748b;
}

.fmv-v2-breadcrumb a{
color:#0A5CFF;
text-decoration:none;
}