/* ============URGENT DUBAI VISA - DESIGN By Koshal Jangid============== */

/* CSS Custom Properties */

:root {
    --primary: #000000;
    --primary-light: #000000;
    --primary-dark: #092d4f;
    --accent: #027c83;
    --accent-hover: #027c83;
    --bg-white: #FFFFFF;
    --bg-light: #F5F7FA;
    --bg-light-blue: #effafa;
    --text-dark: #1a1a2e;
    --text-body: #4a4a5a;
    --text-muted: #8a8a9a;
    --border-color: #e8ecf1;
    --shadow-sm: 0 2px 12px rgba(13, 59, 102, 0.06);
    --shadow: 0 4px 20px rgba(13, 59, 102, 0.08);
    --shadow-lg: 0 8px 35px rgba(13, 59, 102, 0.15);
    --shadow-accent: 0 6px 20px #effafa;
    --radius-sm: 8px;
    --radius: 16px;
    --radius-lg: 24px;
    --radius-xl: 32px;
    --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    --transition-slow: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    --font: "Saira", sans-serif;
    --container-max: 1320px;
    --header-height: 70px;
}

/* Reset & Base */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: "Roboto", sans-serif;
    color: var(--text-body);
    background: var(--bg-white);
    overflow-x: hidden;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}

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

a {
    text-decoration: none;
    color: inherit;
    transition: var(--transition);
}

a:hover {
    color: var(--accent);
}

ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Saira", sans-serif;
}

.h1,
h1 {
    font-size: clamp(2rem, 4vw, 3.5rem);
    font-weight: 900;
    line-height: 1.1;
    color: var(--primary);
}

.h2,
h2 {
    font-size: clamp(1.6rem, 3vw, 2.1rem);
    font-weight: 800;
    line-height: 1.2;
    color: var(--primary);
}

.h3,
h3 {
    font-size: clamp(1.3rem, 2vw, 1.8rem);
    font-weight: 700;
    line-height: 1.3;
    color: var(--primary);
}

.h4,
h4 {
    font-size: clamp(1.1rem, 1.5vw, 1.4rem);
    font-weight: 700;
    line-height: 1.4;
    color: var(--primary);
}

.h5,
h5 {
    font-size: clamp(1rem, 1.2vw, 1.15rem);
    font-weight: 700;
    line-height: 1.4;
    color: var(--primary);
}

.h6,
h6 {
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.4;
    color: var(--primary);
}

/* Section Spacing */
.section-padding {
    padding: 3rem 0;
}

.section-padding-sm {
    padding: 3rem 0;
}

.section-padding-lg {
    padding: 6rem 0;
}

.section-title-wrap {
    margin-bottom: 3rem;
}

.section-title-wrap .section-subtitle {
    color: var(--accent);
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0.5rem;
    display: block;
}

.section-title-wrap h2 {
    margin-bottom: 0.75rem;
}

.section-title-wrap p {
    color: #333;
    max-width: 600px;
    font-size: 14px;
    line-height: 1.7;
}

.text-accent {
    color: var(--accent) !important;
}

.text-primary-custom {
    color: var(--primary) !important;
}

.bg-light-custom {
    background: var(--bg-light);
}

.bg-light-blue {
    background: var(--bg-light-blue);
}

.bg-primary-custom {
    background: var(--primary) !important;
}

.btn-accent {
    background: var(--accent);
    color: #fff;
    border: 2px solid var(--accent);
    padding: 12px 32px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.95rem;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.btn-accent:hover {
    background: #fff;
    border-color: var(--accent);
    color: var(--accent);
    transform: translateY(-2px);
    box-shadow: var(--shadow-accent);
}

.btn-primary-custom {
    background: var(--primary);
    color: #fff;
    border: 2px solid var(--primary);
    padding: 12px 32px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.95rem;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-primary-custom:hover {
    background: var(--primary-light);
    border-color: var(--primary-light);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.btn-outline-primary-custom {
    background: transparent;
    color: var(--primary);
    border: 2px solid var(--primary);
    padding: 10px 28px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-outline-primary-custom:hover {
    border: 2px solid var(--accent);
    background: var(--accent);
    color: #fff;
    transform: translateY(-2px);
}

.btn-outline-light-custom {
    background: #ffffff;
    color: var(--accent);
    border: 2px solid rgba(255, 255, 255, 0.5);
    padding: 10px 28px;
    border-radius: 10px;
    font-weight: 600;
    font-size: 0.9rem;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.btn-outline-light-custom:hover {
    background: var(--accent);
    color: #fff;
    border-color: #fff;
}

.btn-sm-custom {
    padding: 8px 20px;
    font-size: 0.85rem;
}

.btn-lg-custom {
    padding: 15px 40px;
    font-size: 1.05rem;
}

.card-custom {
    background: var(--bg-white);
    border-radius: var(--radius);
    border: none;
    box-shadow: var(--shadow-sm);
    transition: var(--transition);
    overflow: hidden;
    height: 100%;
}

.card-custom:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.card-custom .card-body {
    padding: 1.5rem;
}

.badge-accent {
    background: var(--accent);
    color: #fff;
    font-weight: 600;
    font-size: 0.7rem;
    padding: 4px 12px;
    border-radius: 50px;
}

.badge-primary {
    background: var(--primary);
    color: #fff;
    font-weight: 600;
    font-size: 0.7rem;
    padding: 4px 12px;
    border-radius: 50px;
}

.badge-light-blue {
    background: var(--accent);
    color: #fff;
    font-weight: 600;
    font-size: 0.7rem;
    padding: 6px 10px;
    border-radius: 30px;
}

.breadcrumb-custom {
    background: transparent;
    padding: 0;
    margin: 0;
}

.breadcrumb-custom .breadcrumb-item {
    font-size: 15px;
    color: rgba(255, 255, 255, 0.6);
}

.breadcrumb-custom .breadcrumb-item a {
    color: rgba(255, 255, 255, 0.8);
    font-weight: 500;
}

.breadcrumb-custom .breadcrumb-item a:hover {
    color: #fff;
}

.breadcrumb-custom .breadcrumb-item.active {
    color: var(--accent);
    font-weight: 500;
}

.breadcrumb-custom .breadcrumb-item+.breadcrumb-item::before {
    color: rgba(255, 255, 255, 0.4);
}

.card_document_bxs h2 {
    font-size: 1.8rem;
    font-weight: 700;
    color: var(--primary);
}


/* =============== TOP BAR ============== */

.top-bar {
    background: var(--accent);
    color: rgba(255, 255, 255, 0.85);
    font-size: 0.82rem;
    padding: 8px 0;
    position: relative;
    z-index: 1031;
}

.top-bar a {
    color: rgba(255, 255, 255, 0.85);
}

.top-bar a:hover {
    color: #fff;
}

.top-bar .info-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #fff;
    letter-spacing: .3px;
}

.top-bar .info-item i {
    color: var(--accent);
    font-size: 0.75rem;
    background: #fff;
    padding: 6px;
    border-radius: 50px;
    box-shadow: 0 0 2px #fff;
}

.top-bar .cta-btn-top {
    background: #fff;
    color: var(--accent);
    border: 1px solid #fff;
    padding: 5px 18px;
    border-radius: 6px;
    font-weight: 500;
    font-size: 13px;
    transition: var(--transition);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.top-bar .cta-btn-top:hover {
    background: var(--accent-hover);
    color: #fff;
    border: 1px solid #fff;
}

/* ============== HEADER / NAVIGATION ============= */

.custom_main_header {
    background: #fff;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
    position: sticky;
    top: 0;
    z-index: 1030;
    transition: var(--transition);
}

.custom_main_header.scrolled {
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.main-header .navbar {
    padding: 0;
}

.main-header .navbar-brand {
    width: 172px;
    height: 80px;
}

.main-header .navbar-brand .navabar_brand_logo_main {
    width: 100%;
    height: 100%;
}

.main-header .navbar-brand {
    font-weight: 900;
    font-size: 1.5rem;
    color: var(--primary);
    padding: 0px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.main-header .navbar-brand span {
    color: var(--accent);
}

.main-header .navbar-brand i {
    color: var(--accent);
    font-size: 1.3rem;
}

.main-header .nav-link {
    color: var(--text-dark);
    font-weight: 500;
    font-size: 0.88rem;
    padding: 29px 14px !important;
    transition: var(--transition);
    position: relative;
}

.main-header .nav-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 14px;
    right: 14px;
    height: 3px;
    background: transparent;
    transform: scaleX(0);
    transition: var(--transition);
    border-radius: 3px 3px 0 0;
}

.main-header .nav-link:hover::after,
.main-header .nav-link.active::after {
    transform: scaleX(1);
    background: var(--accent);
}

.main-header .nav-link:hover,
.main-header .nav-link.active {
    color: var(--primary);
}

.main-header .search-trigger {
    color: var(--text-dark);
    padding: 24px 10px;
    cursor: pointer;
    transition: var(--transition);
    font-size: 1.1rem;
}

.main-header .search-trigger:hover {
    color: var(--accent);
}

.main-header .dropdown-menu {
    border: none;
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-lg);
    padding: 8px;
    margin-top: 0;
    min-width: 220px;
}

.main-header .dropdown-item {
    font-size: 0.88rem;
    padding: 10px 16px;
    border-radius: 6px;
    color: var(--text-body);
    font-weight: 500;
    transition: var(--transition);
}

.main-header .dropdown-item:hover {
    background: var(--bg-light-blue);
    color: var(--primary);
}

.main-header .dropdown-item i {
    width: 20px;
    color: var(--accent);
}

.mega-menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #fff;
    box-shadow: var(--shadow-lg);
    border-radius: 0 0 var(--radius) var(--radius);
    padding: 2rem;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: var(--transition);
    z-index: 1050;
}

.nav-item:hover .mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.mega-menu h6 {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: var(--accent);
    margin-bottom: 1rem;
}

.mega-menu a {
    display: block;
    padding: 6px 0;
    font-size: 0.88rem;
    color: var(--text-body);
    font-weight: 400;
}

.mega-menu a:hover {
    color: var(--primary);
    padding-left: 4px;
}


.nav_chat_button {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 8px;
    background-color: var(--accent);
    border: 2px solid transparent;
    color: #fff;
    padding: 4px 8px;
    border-radius: 10px;
    transition: var(--transition);
    margin-left: 14px;
}
.nav_chat_button span {
    font-size: 26px;
    line-height: 26px;
}
.nav_chat_button .nav_chats_text_bx {
    line-height: 16px;
}
.nav_chat_button .nav_chats_text_bx .nav_chats_top {
    font-size: 11px;
}
.nav_chat_button .nav_chats_text_bx .nav_chats_main {
    font-size: 13px;
    font-weight: 600;
}

.nav_chat_button:hover {
  background-color: #fff;
  border: 2px solid var(--accent);
  color: var(--accent);
}

/* Desktop */
@media (min-width: 992px) {

    .custom-dropdown:hover > .dropdown-menu {
        display: block;
        margin-top: 0;
        opacity: 1;
        visibility: visible;
    }

    .custom-dropdown > .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transition: all 0.2s ease;
    }

}

/* =============== PAGE HERO / BANNER =============== */
.page-hero {
    background: linear-gradient(135deg, var(--primary) 0%, var(--accent) 100%);
    padding: 5rem 0 4rem;
    position: relative;
    /* overflow: hidden; */
}

.page-hero h1 {
    color: #fff;
    font-size: 42px;
    font-weight: 700;
    margin-top: 20px;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.page-hero p {
    color: rgb(255 255 255 / 83%);
    font-size: 15px;
    max-width: max-content;
    position: relative;
    z-index: 1;
}

/* ============== VISA SEARCH WIDGET ============== */

.visa-search-widget {
    background: #fff;
    border-radius: 12px;
    box-shadow: var(--shadow-lg);
    padding: 28px;
    margin-top: 30px;
    position: relative;
    z-index: 10;
    border: 1px dashed var(--accent);
}

.visa-search-widget .form-control,
.visa-search-widget .form-select {
    border: 2px solid var(--border-color);
    border-radius: var(--radius-sm);
    padding: 12px 16px;
    font-size: 0.9rem;
    transition: var(--transition);
}

.visa-search-widget .form-control:focus,
.visa-search-widget .form-select:focus {
    border-color: var(--primary-light);
    box-shadow: 0 0 0 3px rgba(31, 91, 153, 0.1);
}

.visa-search-widget .form-label {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--primary);
    margin-bottom: 6px;
}

/*-----select 2------*/

.select2-container {
    width: 100% !important;
    display: block;
}

.select2 .select2-selection {
    height: 50px !important;
    display: flex !important;
    align-items: center !important;
}

.select2 .select2-selection__rendered {
    font-weight: 400;
}

.select2 .select2-selection__arrow {
    height: 100% !important;
    top: 0 !important;
}

.select2-container--default .select2-selection--single {
    border-color: #dee2e6 !important;
    border-radius: 8px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-size: 14px;
}

.select2-dropdown {
    border-color: #c9c9c9 !important;
}

.select2-results__option {
    font-size: 15px;
    font-weight: 500;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #bbbbbb !important;
    color: #ffff !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #ddd !important;
    color: #000 !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    font-weight: 500;
    color: #333;
    line-height: 28px;
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 26px;
    position: absolute;
    top: 1px;
    right: 8px !important;
    width: 20px;
}

/* ===============HERO BANNER (HOME)=============== */

.hero-banner {
    background: url(..//images/hero-bg-img-2.png);
    background-position: center top;
    background-size: cover;
    background-repeat: no-repeat;
    height: 540px;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
}

.hero-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, #082137 0%, #0821377c 48%, #08213717 100%);
    pointer-events: none;
    z-index: 0;
}

.hero-banner .container {
    position: relative;
    z-index: 10;
}

.hero-banner .hero-tag {
    color: var(--accent);
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .2px;
    margin-bottom: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #fff;
    padding: 4px 10px;
    width: fit-content;
    border-radius: 30px;
    margin-bottom: 24px;
}

.hero-banner h1 {
    color: #ffffff;
    font-size: clamp(2.2rem, 4.5vw, 3rem);
    font-weight: 700;
    text-align: left;
}

.hero-banner h1 span {
    color: var(--accent);
}

.hero-banner p {
    color: #ffffff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.7;
    margin-top: 16px;
    margin-bottom: 2rem;
}

.hero-banner .hero-visa-cards {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.hero-banner .hero-visa-card {
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--radius);
    padding: 20px;
    flex: 1;
    min-width: 180px;
    transition: var(--transition);
    cursor: pointer;
}

.hero-banner .hero-visa-card:hover {
    background: rgba(255, 255, 255, 0.12);
    transform: translateY(-4px);
}

.hero-banner .hero-visa-card .flag-icon {
    font-size: 2rem;
    margin-bottom: 8px;
}

.hero-banner .hero-visa-card h5 {
    color: #fff;
    font-weight: 700;
    margin-bottom: 2px;
}

.hero-banner .hero-visa-card p {
    color: rgba(255, 255, 255, 0.5);
    font-size: 0.8rem;
    margin-bottom: 10px;
}

.hero-banner .hero-visa-card .card-cta {
    color: var(--accent);
    font-weight: 600;
    font-size: 0.82rem;
}

.hero-banner .hero-visa-card .card-cta i {
    transition: var(--transition);
}

.hero-banner .hero-visa-card:hover .card-cta i {
    transform: translateX(4px);
}

.hero_attrac_tip_bx {
    background: #fff;
    padding: 6px;
    border-radius: 30px;
}

.hero_attrac_tip_bx span {
    font-size: 13px !important;
    color: #333;
}

.urgent_trust_bar {
    position: relative;
    margin-top: -30px;
    background: #fff;
    border-radius: 10px;
    padding: 16px 20px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 25px;
    box-shadow: var(--shadow-lg);
    z-index: 2;
}

.trust_item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-weight: 600;
    border-right: 1px solid #9d9d9d;
    width: 17%;
}

.trust_item:last-child {
    border-right: 0px solid #9d9d9d;
}

.trust_item i {
    background: var(--accent);
    color: #fff;
    font-size: 16px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.trust_item span {
    font-size: 14px;
    color: #000;
}


/*=======country-covered-bx-css=======*/

.country-covered-circle {
    position: absolute;
    top: -6%;
    right: 2%;
    width: 180px;
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.country-covered-circle .circle-content {
    width: 120px;
    height: 120px;
    background: var(--accent);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    position: absolute;
    z-index: 2;
    box-shadow: 0 10px 30px rgba(235, 235, 235, 0.384);
}

.country-covered-circle .circle-content h2 {
    margin: 0;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
    color: #fff;
    margin-bottom: 4px;
}

.country-covered-circle .circle-content span {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
}

.country-covered-circle svg {
    width: 180px;
    height: 180px;
    animation: rotateCircle 15s linear infinite;
}

.country-covered-circle text {
    fill: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 2.6px;
    text-transform: uppercase;
}

@keyframes rotateCircle{
    from{
        transform:rotate(0deg);
    }
    to{
        transform:rotate(360deg);
    }
}

/* ============country section start========= */

.countries-wrapper {
    padding-top: 10px;
    overflow: hidden;
    transition: max-height .6s ease;
}

.country-card {
    background: #fff;
    border-radius: 8px !important;
    padding: 10px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #e5e5e5;
    transition: all .3s ease;
    cursor: pointer;
    box-shadow: none;
}

.country-card:hover {
    background: var(--bg-light-blue);
    color: var(--accent);
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg);
}

.countries-wrapper a {
    color: #000;
    text-decoration: none;
    transition: all .3s ease-in-out;
}

.countries-wrapper a:hover {
    color: #fff;
}

.country-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.country-left img {
    width: 22px;
    height: 16px;
    object-fit: cover;
    border-radius: 2px;
}

.country-left p {
    font-size: 15px;
    font-weight: 500;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
    -webkit-line-clamp: 1;
    line-height: 20px !important;
    margin-bottom: 0;
}

.country-card i {
    font-size: 14px;
    transition: .3s;
}

.country-card:hover i {
    transform: translateX(4px);
}

.view-all {
    text-align: right;
    margin-top: 15px;
}

.view-all a {
    text-decoration: none;
    font-weight: 500;
    color: var(--second-color);
    cursor: pointer;
}

.theme-btn {
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background: var(--primary);
    text-decoration: none;
    padding: 8px 18px;
    border-radius: 6px;
    transition: all 0.3s ease-in-out;
    gap: 6px;
}

.view-all .btn-outline-primary-custom {
    color: var(--primary);
    font-weight: 600;
}

.view-all .btn-outline-primary-custom:hover {
    color: #fff;
    font-weight: 600;
}

@media(max-width:767px) {
    .country-title {
        font-size: 24px;
    }
}

/* ============country section end========= */

/* ============page default section start========= */

.page-banner-app {
    padding: 50px 0px;
    background-color: var(--bg-light-blue);
}

.page_default_main_boxs .default_section_heading {
    font-size: 42px;
    font-weight: 600;
    color: #000;
}

.page_default_main_boxs p {
    font-size: 15px;
    color: #333;
}

/* ============page default section end========= */

/* ========== MULTI-STEP FORM ========== */

.multi-step-app {
    padding: 50px 0px;
}

.multiple_step_form_main {
    position: relative;
}

.multiple_step_form_main .form_price_top_bx {
    position: absolute;
    top: 22px;
    right: 22px;
    background-color: var(--accent);
    color: #fff;
    padding: 10px 20px;
    border-radius: 6px;
    z-index: 2;
    font-size: 16px;
    font-weight: 500;
}

.section-title-wrap .application_form_heading {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.section-title-wrap .application_form_heading img {
    margin-top: -3px !important;
    width: 50px;
    height: 28px;
    margin-right: 4px;
}

.step-progress {
    position: relative;
    width: 60%;
    margin: 0 auto;
    margin-bottom: 30px;
}

.step-progress-points {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.step_mian_poit_view_txt {
    width: auto;
    margin: 0 auto;
    font-size: 12px;
    font-weight: 600;
    margin-top: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.step-point {
    width: 32px;
    height: 32px;
    margin: 0 auto;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #d9dee2;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s ease;
}

.step-point span {
    font-size: 13px;
    font-weight: 700;
    color: #777;
}

.step-point.active {
    background: #027c83;
    border-color: #027c83;
    animation: stepPointBlink 3.2s infinite;
}

.step-point.active span,
.step-point.completed span {
    color: #fff;
}

.step-point.completed {
    background: #027c83;
    border-color: #027c83;
    animation: none;
}

.progress-track {
    position: absolute;
    top: 15px;
    left: 16px;
    right: 16px;
    height: 3px;
    background: #e5e8ea;
    z-index: 1;
}

.progress-fill {
    height: 100%;
    width: 0;
    background: #027c83;
    transition: width .4s ease;
}

.step-num {
    display: block;
    margin-top: 12px;
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    color: #027c83;
}

@keyframes stepPointBlink {

    0% {
        transform: scale(1.1);
        box-shadow: 0 0 0 0 rgba(2,124,131,.4);
    }

    50% {
        transform: scale(1.12);
        box-shadow: 0 0 0 8px rgba(2,124,131,.12);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(2,124,131,0);
    }

}
.form-step-app {
    display: none;
    animation: slideUp 0.4s ease;
}

.form-step-app.active {
    display: block;
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.form_last_cntnt_bx .file-note {
    font-size: 14px;
    line-height: 27px;
}
.form_last_cntnt_bx .file-note a {
    color: var(--accent);
    font-weight: 600;
    transition: var(--transition);
}
.form_last_cntnt_bx .file-note a:hover {
    color: var(--primary);
}

.form-card {
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    box-shadow: var(--shadow-lg);
    margin-bottom: 16px;
}

.form-card .card-icon {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, rgb(2 124 131 / 11%), rgb(2 124 131 / 15%));
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    color: var(--accent);
}

.form-card-main-form-top {
    display: flex;
    justify-content: start;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
}

.form-card h5 {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 3px;
}

.form-card .card-sub {
    font-size: 12px;
    color: #6d6d6d;
    margin-bottom: 0px;
}

.app-form-label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin-bottom: 6px;
    display: block;
}

.app-form-control {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    font-size: 14px;
    transition: all .3s ease-in-out;
    background: #fff;
    outline: none;
}
.app-form-control:placeholder {color: #aaa;}
.app-form-control:focus {
    border-color: #dee2e6;
    background: #fff;
    box-shadow: 0 0 0 4px var(--bg-light-blue);
}

.app-form-control.error {
    border-color: var(--primary);
}
.form-step-app .date-input {
    position: relative;
    z-index: 2;
}
.form-step-app .date-input::before {
    content: "\f073";
    font-family: FontAwesome;
    top: 50%;
    right: 12px;
    position: absolute;
    transform: translateY(-50%);
    font-size: 18px;
    z-index: 1;
}

.app-form-select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    font-size: 14px;
    transition: all .3s ease-in-out;
    background: #fff;
    outline: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238E94A7' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
}
.app-form-select:placeholder {color: #aaa;}
.app-form-select:focus {
    border-color: #dee2e6;
    background-color: #fff;
    box-shadow: 0 0 0 4px var(--bg-light-blue);
}

/* ========== VISA TYPE SELECT (Form) ========== */

.visa-select-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.visa-option {
    flex: 0 0 calc(16% - 1px);
    width: auto;
    min-width: 0;
    display: grid;
    background: #f1f1f1;
    border: 1px solid var(--bg-light-blue);
    border-radius: 10px;
    padding: 16px 12px;
    text-align: center;
    cursor: pointer;
    transition: var(--transition);
    gap: 2px;
    margin: 0;
}

.visa-option:active {
    transform: scale(0.96);
}

.visa-option.selected {
    border-color: var(--accent);
    background: rgb(220 237 238);
    box-shadow: var(--shadow-lg);
}

.visa-option .v-icon {
    font-size: 24px;
    color: var(--primary);
    margin-bottom: 4px;
}

.visa-option h6 {
    font-size: 13px;
    font-weight: 600;
    margin: 0;
}

.visa-option .v-price {
    font-size: 12px;
    color: var(--gray);
    margin-top: 2px;
}

/* ========== PROCESSING TOGGLE ========== */

.processing-toggle {
    width: 50%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    gap: 10px;
    background: var(--bg);
    border-radius: var(--radius);
    padding: 0px;
}

.processing-toggle .toggle-opt {
    flex: 1;
    text-align: center;
    padding: 12px;
    background: #f1f1f1;
    border: 1px solid var(--bg-light-blue);
    border-radius: 10px;
    cursor: pointer;
    transition: var(--transition);
    font-weight: 600;
    font-size: 14px;
    color: var(--primary);
}

.processing-toggle .toggle-opt.active {
    border-color: var(--accent);
    background: rgb(220 237 238);
    box-shadow: var(--shadow-lg);
    color: var(--accent);
}

.processing-toggle .toggle-opt .opt-sub {
    font-size: 11px;
    font-weight: 400;
    color: var(--gray);
    display: block;
}

.processing-toggle .toggle-opt.active .opt-sub {
    color: var(--gray);
}

/* ========== UPLOAD ZONE ========== */

.upload-zone {
    position: relative;
    min-height: 180px;
    padding: 25px 15px;
    border: 1px dashed #d7dce0;
    border-radius: 12px;
    text-align: center;
    cursor: pointer;
    transition: all 0.3s ease;
    overflow: hidden;
}

.upload-zone:hover {
    border-color: #027c83;
    background: rgba(2, 124, 131, 0.04);
}

.upload-icon {
    display: block;
    font-size: 35px;
    margin-bottom: 12px;
    color: #027c83;
}

.upload-text {
    margin: 0 0 5px;
    font-size: 14px;
    font-weight: 600;
}

.upload-info {
    font-size: 13px;
    color: #777;
}

.file-preview {
    display: none;
    position: relative;
    width: 100%;
    height: 130px;
    margin-top: 0;
}

.file-preview img {
    width: 200px;
    height: 130px;
    margin: 0 auto;
    /* object-fit: contain; */
    border-radius: 12px;
    overflow: hidden;
}

.pdf-preview {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 150px;
}

.pdf-preview i {
    font-size: 45px;
    color: #e53935;
    margin-bottom: 8px;
}

.pdf-preview span {
    max-width: 90%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
}

.upload-zone .remove-file {
    position: absolute;
    top: -8px;
    right: 21%;
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 50%;
    background: #dc3545;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 5;
}

/* ========== STICKY FORM BUTTON ========== */

.form-sticky-btn {
    background: var(--white);
    padding: 12px 16px env(safe-area-inset-bottom, 12px);
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.form-sticky-btn .btn-form {
    padding: 14px;
    border-radius: var(--radius-sm);
    font-family: var(--font);
    font-weight: 700;
    font-size: 15px;
    border: none;
    cursor: pointer;
    transition: var(--transition);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.form-sticky-btn .btn-prev {
    background: var(--accent);
    color: #fff;
    width: 200px;
}

.form-sticky-btn .btn-next {
    background: var(--primary);
    color: #fff;
    width: 200px;
}

.form-sticky-btn .btn-prev:hover {
    background: var(--primary);
    color: #fff;
}

.form-sticky-btn .btn-next:hover {
    background: var(--accent);
    color: #fff;
}

.form-sticky-btn .btn-next:active {
    transform: scale(0.97);
}

/* ========== REVIEW TABLE ========== */

.review-table { width: 100%; border-collapse: collapse; }

.review-table  {
    border: 1px solid #d2d2d2;
    border-collapse: collapse;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 0 2px #d2d2d2;
}

.review-table th {
    border: 1px solid #d2d2d2;
}

.review-table td {
    border: 1px solid #d2d2d2;
}

.review-table th { padding: 10px 10px; font-size: 14px; font-weight: 500;color: var(--primary); }

.review-table td { padding: 10px 10px; font-size: 14px; }

/* ========== PRICE SUMMARY CARD ========== */

.price-summary {
    background: var(--white);
    border-radius: var(--radius);
    padding: 20px;
    box-shadow: var(--shadow-sm);
}

.price-summary .item {
    display: flex;
    justify-content: space-between;
    padding: 8px 0;
    font-size: 14px;
}

.price-summary .item.total {
    border-top: 2px solid var(--border);
    margin-top: 8px;
    padding-top: 12px;
    font-weight: 700;
    font-size: 18px;
    color: var(--primary);
}

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

.country-card-app {
    background: var(--white);
    border-radius: var(--radius);
    padding: 20px 16px;
    text-align: center;
    box-shadow: var(--shadow-sm);
    cursor: pointer;
    transition: var(--transition);
}

.country-card-app:active {
    transform: scale(0.96);
}

.country-card-app .flag {
    font-size: 40px;
    margin-bottom: 8px;
    display: block;
}

.country-card-app h6 {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 4px;
}

.country-card-app .status-badge {
    font-size: 10px;
    padding: 3px 10px;
    border-radius: 50px;
    font-weight: 600;
    display: inline-block;
}

.country-card-app .status-badge.eligible {
    background: rgba(34, 197, 94, 0.12);
    color: #22C55E;
}

.country-card-app .status-badge.conditional {
    background: rgba(255, 193, 7, 0.12);
    color: #f59e0b;
}

.country-card-app .status-badge.not-eligible {
    background: rgba(239, 68, 68, 0.12);
    color: #ef4444;
}

.country-card-app .visa-free-tag {
    position: absolute;
    top: 8px;
    right: 8px;
    background: var(--success);
    color: var(--white);
    font-size: 9px;
    padding: 2px 8px;
    border-radius: 50px;
    font-weight: 600;
}

/* ============ VISA PRICE CARDS ========= */

/* price section start */

.price-section .tab-main {
    background-color: transparent;
    border-radius: 0px;
    padding: 6px;
    margin-top: 10px;
    height: 60px;
}

.price-section .tab-main .tabs__nav-list {
    gap: 12px;
}

.tab-main .tabs__nav-item {
    transition-property: all;
    transition-duration: 0.2s;
    transition-timing-function: linear;
    transition-delay: 0s;
    padding: 10px 20px;
    cursor: pointer;
    font-weight: 700;
    font-size: 15px;
    background: #fff;
    border: 1px solid var(--primary);
    color: var(--primary);
    border-radius: 50px;
    box-shadow: 0 0 4px #a5a5a5;
}

.tab-main .tabs__nav-item.js-active {
    transition-property: all;
    transition-duration: 0.2s;
    transition-timing-function: linear;
    transition-delay: 0.05s;
    font-weight: 700;
    background: var(--accent);
    color: #fff;
    border: 1px solid var(--accent);
    border-radius: 50px;
    box-shadow: 0 0 4px #929292;
}

.tab-main .tabs__panels {
    position: relative;
    margin-top: 30px;
}

.price-section .tabs__panel {
    display: none;
    transition: all 0.25s linear 0s;
    opacity: 0;
}

.price-section .tabs__panel.js-active {
    display: block;
    opacity: 1;
}

.pricing-card {
    border-radius: 12px;
    transition: all 0.3s ease-in-out;
    padding: 0px !important;
    box-shadow: rgb(99 99 99/20%) 0 2px 8px 0;
}

.pricing-card .price_card_top {
    padding: 20px 14px;
    background: var(--bg-light-blue);
    box-shadow: -1px 2px 4px #d2d2d2;
    border-bottom: 2px solid var(--theming1);
}

.pricing-card .pricing-body {
    padding: 12px;
}

.pricing-card:hover {
    box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.pricing-card .pricing-header {
    font-size: 13px;
    font-weight: 500;
    color: #000;
    text-align: left;
    letter-spacing: .3px;
}

.pricing-card .pricing-header span {
    font-size: 22px;
    font-weight: 700;
    color: var(--accent);
}

.pricing-card .dubai-visa-price {
    font-size: 32px;
    font-weight: 700;
    gap: 6px;
    color: #000;
}

.pricing-card .dubai-visa-price sup {
    font-size: 18px;
    font-weight: 700;
}

.pricing-card .price-card-data-inner {
    gap: 7px;
}

.pricing-card .dubai-visa-price .price-two {
    display: none;
}

.pricing-card .visa-checkbox {
    margin-bottom: 0px;
}

.pricing-card .visa-checkbox .visa-checkbox-inner {
    width: 85px;
    height: 31px;
    background: rgba(69, 90, 100, .396);
    border-radius: 30px;
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
}

.pricing-card .visa-checkbox .visa-checkbox-inner::after {
    content: "Regular";
    position: absolute;
    color: #fff;
    width: 100%;
    left: 0;
    text-align: right;
    padding: 0 8px;
    line-height: 31px;
    font-size: 12px;
    font-weight: 500;
}

.pricing-card .visa-checkbox .visa-checkbox-inner::before {
    content: "";
    position: absolute;
    width: 25px;
    height: 25px;
    background: #fff;
    border-radius: 50%;
    top: 3px;
    left: 3px;
    transition: 0.3s;
    box-shadow: -3px 0 3px rgba(0, 0, 0, .1);
}

.pricing-card .visa-checkbox input:checked~.visa-checkbox-inner {
    background: #31B63A;
}

.pricing-card .visa-checkbox input:checked~.visa-checkbox-inner::before {
    transform: translate(54px);
    transition: 0.3s;
}

.pricing-card .visa-checkbox input:checked~.visa-checkbox-inner::after {
    content: "Express";
    text-align: left;
    font-size: 12px;
}

.pricing-card .price-card-data {
    gap: 6px;
    padding-block: 10px;
    line-height: normal;
    align-items: start !important;
}

.pricing-card .price-card-data .price-check {
    height: 17px;
    width: 17px;
    min-width: 17px;
    max-width: 17px;
    font-size: 12px;
    border: 1px solid #000;
    background-color: #fff;
    color: #000;
    transition: all 0.3s ease-in-out;
    margin-top: 1px;
}

.pricing-card .price-card-data .price-check img {
    filter: grayscale(1);
}

.pricing-card .price-card-inner {
    font-size: 14px;
    display: flex;
    gap: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #000;
}

.pricing-card .price-card-inner .service-type {
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
    color: #000;
}

.pricing-card .price-apply-btn {
    font-weight: 500;
    background: var(--accent);
    border-radius: 6px;
    color: #fff;
    font-size: 15px;
    padding: 8px 20px;
    transition: all 0.3s ease-in-out;
    outline: none;
    gap: 7px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}

.pricing-card .price-apply-btn span {
    background: transparent !important;
}

.pricing-card .price-apply-btn i {
    transition: all 0.3s ease-in-out;
}

.pricing-card .price-apply-btn:hover {
    background: var(--primary);
}

.pricing-card .price-apply-btn:hover i {
    transform: translateX(10px);
    /* color: #000; */
}

.pricing-card .price-express {
    display: none;
}

.pricecard1 .price-new {
    display: block;
}

.pricecard1 .price-old {
    display: none;
}

.pricecard1 .price-card-data .price-check-two {
    background-color: #31B63A;
    color: #ffff;
}

.pricecard1 .price-express {
    display: inline;
}

.pricecard1 .price-regular {
    display: none;
}

.pricecard1 .dubai-visa-price .price-two {
    display: inline;
}

.pricecard1 .dubai-visa-price .price-one {
    display: none;
}

.price-section .price-main-heading {
    background-color: var(--accent);
    color: #ffffff;
    font-weight: 700;
    padding: 10px;
    font-size: 18px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}

.price_card_top .btn_switch {
    position: relative;
    display: flex;
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    margin-bottom: 0px;
    padding: 0px;
    border: 1px solid #c9c9c9;
}

.price_card_top .btn_switch button {
    flex: 1;
    border: none;
    padding: 6px 6px;
    background: transparent;
    z-index: 2;
    font-size: 12px;
    font-weight: 500;
}

.price_card_top .btn_switch .slider {
    position: absolute;
    top: 0px;
    width: 50%;
    height: 100%;
    background: var(--accent);
    border-radius: 0px;
    transition: 0.3s;
    left: 0;
    z-index: 1;
}

.price_card_top .btn_switch button.active {
    color: #fff;
}

/* price section end */

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

.visa-hero-section {
    background: #fff;
}

.visa-hero-section .visa-hero-wrapper {
    margin: 0 auto;
    display: flex;
    overflow: hidden;
    position: relative;
    background: #fff;
    border-radius: 0;
    box-shadow: 0 6px 28px rgba(0, 0, 0, 0.048);
}

.visa-hero-section .visa-hero-content {
    width: 58%;
    padding: 32px 24px 32px 65px;
    position: relative;
    z-index: 5;
    background: #fff;
}

.visa-hero-section .visa-trust-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 6px;
    border-radius: 50px;
    background: #027c83;
    color: #fff;
    font-size: 12px;
    line-height: 1;
    margin-bottom: 16px;
}

.visa-hero-section .visa-trust-badge strong {
    font-weight: 800;
}

.visa-hero-section .visa-trust-badge .trust-icon {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: #027c83;
    font-size: 16px;
}

.visa-hero-section .visa-hero-heading h2 {
    margin: 0 0 8px;
    color: #17242b;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
}

.visa-hero-section .visa-hero-heading h1 {
    margin: 0;
    color: #151c21;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.08;
}

.visa-hero-section .visa-hero-heading h1 span {
    color: #027c83;
}

.visa-hero-section .visa-hero-heading .heading-line {
    width: 280px;
    height: 3.2px;
    background: #027c83;
    border-radius: 100%;
    margin-top: 8px;
    transform: rotate(-2deg);
}

.visa-hero-section .visa-feature-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin-top: 24px;
}

.visa-hero-section .visa-feature-card {
    padding: 10px 12px 8px;
    background: #fff;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 8px 25px rgba(0, 0, 0, .08);
    border-bottom: 4px solid #027c83;
    transition: all .3s ease;
}

.visa-hero-section .visa-feature-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 35px rgba(2, 124, 131, .18);
}

.visa-hero-section .visa-feature-card .feature-icon {
    width: 34px;
    height: 34px;
    margin: 0 auto 8px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #027c83;
    color: #fff;
    font-size: 15px;
    box-shadow: 0 8px 15px rgba(2, 124, 131, .25);
}

.visa-hero-section .visa-feature-card h3 {
    margin: 0;
    color: #222;
    font-size: 13px;
    font-weight: 500;
}

.visa-hero-section .visa-feature-card h3 strong {
    color: #027c83;
    font-weight: 800;
}

.visa-hero-section .visa-feature-card p {
    margin: 4px 0 0;
    color: #606a70;
    font-size: 12px;
    line-height: 1.5;
}

.visa-hero-section .visa-dubai-area {
    width: 42%;
    position: relative;
    overflow: hidden;
    background: #027c83;
}

.visa-hero-section .visa-dubai-area::before {
    content: "";
    position: absolute;
    left: -105px;
    top: -5%;
    width: 210px;
    height: 110%;
    background: #fff;
    border-radius: 50%;
    z-index: 3;
}

.visa-hero-section .visa-dubai-area::after {
    content: "";
    position: absolute;
    left: -82px;
    top: -5%;
    width: 100px;
    height: 110%;
    border-radius: 50%;
    background: #07939a;
    z-index: 2;
}

.visa-hero-section .dubai-overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(255,255,255,.08) 1px,
            transparent 2px
        ),
        linear-gradient(
            180deg,
            #087b82 0%,
            #027c83 65%,
            #006970 100%
        );
    background-size: 18px 18px, 100% 100%;
}

.visa-hero-section .dubai-title {
    position: absolute;
    left: 23%;
    top: 40%;
    color: rgba(255,255,255,.10);
    font-size: 140px;
    line-height: 1;
    font-weight: 800;
    z-index: 1;
}

.visa-hero-section .dubai-skyline {
    position: absolute;
    left: 5%;
    right: 2%;
    bottom: 90px;
    height: 360px;
    z-index: 4;
}

.visa-hero-section .building {
    position: absolute;
    bottom: 0;
    background: linear-gradient(
        90deg,
        rgba(220,250,250,.45),
        rgba(255,255,255,.95),
        rgba(160,225,228,.5)
    );
    box-shadow: inset 4px 0 rgba(255,255,255,.35);
}

.visa-hero-section .building-small {
    width: 38px;
    height: 140px;
}

.visa-hero-section .building-medium {
    width: 55px;
    height: 210px;
}

.visa-hero-section .b1 {
    left: 3%;
    height: 120px;
}

.visa-hero-section .b2 {
    left: 12%;
    height: 160px;
}

.visa-hero-section .b3 {
    left: 25%;
    height: 240px;
}

.visa-hero-section .b5 {
    left: 66%;
    height: 190px;
}

.visa-hero-section .b7 {
    left: 78%;
    height: 230px;
}

.visa-hero-section .b8 {
    left: 90%;
    height: 150px;
}

.visa-hero-section .burj-al-arab {
    position: absolute;
    left: 42%;
    bottom: 0;
    width: 100px;
    height: 245px;
}

.visa-hero-section .burj-al-arab .burj-body {
    position: absolute;
    bottom: 0;
    left: 25px;
    width: 50px;
    height: 200px;
    border: 5px solid rgba(255,255,255,.9);
    border-top: 0;
    border-radius: 0 50% 0 0;
}

.visa-hero-section .burj-al-arab .burj-top {
    position: absolute;
    left: 45px;
    top: 0;
    width: 6px;
    height: 245px;
    background: #fff;
}

.visa-hero-section .burj-al-arab .burj-lines {
    position: absolute;
    left: 30px;
    bottom: 40px;
    width: 40px;
    height: 110px;
    border-top: 3px solid #fff;
    border-bottom: 3px solid #fff;
    transform: skewY(-20deg);
}

.visa-hero-section .burj-khalifa {
    position: absolute;
    left: 57%;
    bottom: 0;
    width: 85px;
    height: 530px;
}

.visa-hero-section .burj-khalifa .bk-top {
    position: absolute;
    top: 0;
    left: 40px;
    width: 4px;
    height: 70px;
    background: #fff;
}

.visa-hero-section .burj-khalifa .bk-body {
    position: absolute;
    left: 25px;
    bottom: 0;
    width: 40px;
    height: 450px;
    background: linear-gradient(
        90deg,
        rgba(255,255,255,.35),
        #fff,
        rgba(255,255,255,.4)
    );
    clip-path: polygon(
        45% 0,
        55% 0,
        60% 15%,
        75% 30%,
        85% 50%,
        100% 100%,
        0 100%,
        15% 50%,
        25% 30%,
        40% 15%
    );
}

.visa-hero-section .dubai-cloud {
    position: absolute;
    width: 60px;
    height: 20px;
    background: rgb(205 229 230);
    border-radius: 30px;
    z-index: 3;
}

.visa-hero-section .dubai-cloud::before, .visa-hero-section .dubai-cloud::after {
    content: "";
    position: absolute;
    background: rgb(205 229 230);
    border-radius: 50%;
}

.visa-hero-section .dubai-cloud::before {
    width: 28px;
    height: 28px;
    left: 12px;
    top: -13px;
}

.visa-hero-section .dubai-cloud::after {
    width: 22px;
    height: 22px;
    right: 8px;
    top: -8px;
}

.visa-hero-section .cloud-one {
    top: 28%;
    left: 28%;
}

.visa-hero-section .cloud-two {
    top: 18%;
    right: 25%;
    transform: scale(.8);
}

.visa-hero-section .cloud-three {
    top: 35%;
    right: 5%;
    transform: scale(.7);
}

.visa-hero-section .birds {
    position: absolute;
    top: 35%;
    left: 55%;
    z-index: 5;
    color: rgba(255,255,255,.7);
    display: flex;
    gap: 25px;
}

.visa-hero-section .birds span {
    font-size: 25px;
}

/* ==============TABLET============= */

@media (max-width: 991px) {

    .visa-hero-section .visa-hero-wrapper {
        flex-direction: column;
    }

    .visa-hero-section .visa-hero-content {
        width: 100%;
        padding: 40px 30px;
    }

    .visa-hero-section .visa-dubai-area {
        width: 100%;
        min-height: 450px;
    }

    .visa-hero-section .visa-dubai-area::before,
    .visa-hero-section .visa-dubai-area::after {
        display: none;
    }

    .visa-hero-section .visa-feature-row {
        grid-template-columns: repeat(2, 1fr);
    }
}


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

@media (max-width: 575px) {

    .visa-hero-section {
        padding: 15px 10px;
    }

    .visa-hero-section .visa-hero-content {
        padding: 30px 18px;
    }

    .visa-hero-section .visa-trust-badge {
        font-size: 11px;
        margin-bottom: 30px;
    }

    .visa-hero-section .visa-hero-heading h2 {
        font-size: 23px;
    }

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

    .visa-hero-section .heading-line {
        width: 180px;
    }

    .visa-hero-section .visa-feature-row {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        margin-top: 30px;
    }

    .visa-hero-section .visa-feature-card {
        min-height: 175px;
        padding: 18px 8px;
    }

    .visa-hero-section .visa-feature-card .feature-icon {
        width: 55px;
        height: 55px;
        font-size: 21px;
        margin-bottom: 14px;
    }

    .visa-hero-section .visa-feature-card h3 {
        font-size: 13px;
    }

    .visa-hero-section .visa-feature-card p {
        font-size: 11px;
    }

    .visa-hero-section .visa-dubai-area {
        min-height: 330px;
    }

    .visa-hero-section .dubai-skyline {
        transform: scale(.7);
        transform-origin: bottom center;
        left: 0;
        right: 0;
    }

    .visa-hero-section .dubai-title {
        font-size: 70px;
    }
}

/* ============VISA SERVICE CARDS========= */

.visa-service-card {
    background: #fff;
    border-radius: var(--radius);
    padding: 36px 24px;
    text-align: center;
    box-shadow: var(--shadow);
    transition: var(--transition);
    height: 100%;
    border-bottom: 4px solid transparent;
    position: relative;
    overflow: hidden;
}

.visa-service-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
    border-bottom-color: var(--accent);
}

.visa-service-card .icon-box {
    width: 72px;
    height: 72px;
    background: var(--bg-light-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    font-size: 1.8rem;
    color: var(--primary-light);
    transition: var(--transition);
}

.visa-service-card:hover .icon-box {
    background: var(--accent);
    color: #fff;
}

.visa-service-card h5 {
    margin-bottom: 10px;
}

.visa-service-card p {
    font-size: 0.9rem;
    color: var(--text-muted);
    margin-bottom: 18px;
    line-height: 1.6;
}

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

.country-card {
    background: #fff;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: var(--transition);
    height: 100%;
}

.country-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--shadow-lg);
}

.country-card .img-wrap {
    height: 200px;
    overflow: hidden;
    position: relative;
}

.country-card .img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: var(--transition);
}

.country-card:hover .img-wrap img {
    transform: scale(1.08);
}

.country-card .img-wrap .flag-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    background: var(--accent);
    color: #fff;
    font-size: 0.7rem;
    font-weight: 600;
    padding: 4px 12px;
    border-radius: 50px;
}

.country-card .card-body {
    padding: 20px;
}

.country-card .card-body h5 {
    margin-bottom: 6px;
}

.country-card .card-body .country-meta {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-bottom: 12px;
}

.country-card .card-body .info-row {
    display: flex;
    justify-content: space-between;
    padding: 7px 0;
    border-bottom: 1px solid var(--border-color);
    font-size: 0.85rem;
}

.country-card .card-body .info-row:last-of-type {
    border: none;
}

.country-card .card-body .info-row span:first-child {
    color: var(--text-muted);
}

.country-card .card-body .info-row span:last-child {
    font-weight: 600;
    color: var(--primary);
    font-size: 0.9rem;
}

.country-card .card-body .price-tag {
    color: var(--accent);
    font-weight: 800;
    font-size: 1.2rem;
}

/* ============FEATURE CIRCLE (Why Choose Us)=========== */

.feature-circle {
    text-align: center;
    padding: 16px;
    transition: var(--transition);
    background-color: #fff;
    border-radius: 10px;
    height: 100%;
    box-shadow: var(--shadow-lg);
}

.feature-circle .circle {
    width: 50px;
    height: 50px;
    background: var(--accent);
    border: 3px solid var(--accent);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    font-size: 20px;
    color: #fff;
    transition: var(--transition);
}

.feature-circle:hover .circle {
    background: var(--primary-light);
    color: #fff;
    border-color: var(--primary-light);
    transform: scale(1.1);
    box-shadow: 0 8px 25px rgba(31, 91, 153, 0.3);
}

.feature-circle h6 {
    font-weight: 700;
    color: var(--primary);
    font-size: 16px;
    margin-bottom: 12px;
}

.feature-circle p {
    font-size: 14px;
    color: #000;
    margin-bottom: 0;
}

/* ===========METRICS / COUNTERS=========== */
.metrics-section {
    background: linear-gradient(135deg, var(--accent) 0%, var(--bg-light-blue) 100%);
    padding: 4rem 0;
    position: relative;
}

.metrics-section .metric-item {
    text-align: center;
    padding: 16px;
}

.metrics-section .metric-item .number {
    font-size: 2.8rem;
    font-weight: 900;
    color: #fff;
    line-height: 1.1;
    margin-bottom: 4px;
}

.metrics-section .metric-item .number span {
    color: var(--primary);
}

.metrics-section .metric-item .label {
    color: #fff;
    font-size: 0.9rem;
    font-weight: 500;
}

/* =============PROCESS STEPS============= */
.process-step {
    text-align: center;
    position: relative;
    padding: 0 16px;
}

.process-step .step-number {
    width: 56px;
    height: 56px;
    background: var(--primary);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 1.2rem;
    margin: 0 auto 16px;
    position: relative;
    z-index: 2;
}

.process-step .step-number.accent {
    background: var(--accent);
}

.process-step h6 {
    font-weight: 700;
    margin-bottom: 6px;
}

.process-step p {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 0;
}

.process-step::after {
    content: '';
    position: absolute;
    top: 28px;
    left: 55%;
    width: 90%;
    height: 2px;
    background: var(--border-color);
    z-index: 0;
}

.process-step:last-child::after {
    display: none;
}

/* ============TESTIMONIALS============ */

.testimonial-card-custom {
    background: #f1f1f1;
    border-radius: var(--radius);
    padding: 32px 24px;
    box-shadow: var(--shadow);
    height: 100%;
    position: relative;
}

.swiper.testimonialSwiper .swiper-wrapper {
    margin: 10px;
}

.testimonial-card-custom::before {
    content: '\f10d';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    top: 16px;
    right: 24px;
    font-size: 3.5rem;
    color: var(--accent);
    opacity: 0.05;
    line-height: 1;
}

.testimonial-card-custom .client-img {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 12px;
    flex-shrink: 0;
}

.testimonial-card-custom .user-img {
    height: 43px;
    width: 43px;
    font-size: 18px;
    font-weight: 700;
}

.testimonial-card-custom .client-name {
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 0;
    font-size: 1rem;
}

.testimonial-card-custom .client-flag {
    font-size: 0.78rem;
    color: #595959;
    font-weight: 500;
    margin-bottom: 0px;
}

.testimonial-card-custom .review-text {
    font-size: 0.9rem;
    color: var(--text-body);
    line-height: 1.7;
    margin-top: 14px;
    font-style: italic;
}

.testimonial-card-custom .stars {
    color: #FFB800;
    font-size: 0.8rem;
    margin-top: 10px;
}

/* ============ BLOG CARDS ============ */
.blog-card-custom {
    background: #fff;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    transition: var(--transition);
    height: 100%;
    
}

.blog-card-custom:hover {
    box-shadow: var(--shadow-lg);
}

.blog-card-custom .blog-img {position: relative;transition: all 400ms ease;}
.blog-card-custom .blog-img a img {transition: all 400ms ease;}

.blog-card-custom .blog-img {
    position: relative;
    display: block;
    overflow: hidden;
}

.blog-card-custom .blog-img a:before {
    content: "";
    position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255, 255, 255, .3);
    transform: translate(-50%, -50%) rotate(-45deg);
    z-index: 1;
}

.blog-card-custom:hover .blog-img a:before {
    height: 250%;
    transition: all 700ms linear;
    background-color: transparent;
}

.blog-card-custom .blog-img {
    height: 240px;
    overflow: hidden;
}

.blog-card-custom .blog-img img {
    width: 100%;
    height: 100%;
    object-fit: fill;
    transition: var(--transition);
}

.blog-card-custom:hover .blog-img img {
    transform: scale(1.05);
}

.blog-card-custom .blog-body {
    padding: 1.25rem;
}

.blog-card-custom .blog-body .blog-date {
    font-size: 0.78rem;
    color: var(--accent);
    font-weight: 500;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.blog-card-custom .blog-body h5 {
    font-size: 16px;
    margin-bottom: 8px;
    transition: var(--transition);
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
}

.blog-card-custom .blog-body h5 .blogs_hm_click {
    color: var(--primary);
    text-decoration: none;
}
.blog-card-custom:hover .blog-body h5 .blogs_hm_click {
    color: var(--accent);
}

.blog-card-custom .blog-body p {
    font-size: 14px;
    color: var(--text-muted);
    margin-bottom: 12px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
}

.blog-card-custom .blog-body .blog-link {
    color: var(--primary-light);
    font-weight: 600;
    font-size: 0.85rem;
}

.blog-card-custom .blog-body .blog-link i {
    transition: var(--transition);
}

.blog-card-custom:hover .blog-body .blog-link i {
    transform: translateX(4px);
}


.blog_sidebar_main_cards h5 {
    font-size: 20px;
    font-weight: 700;
    color: #000;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px dashed #d2d2d2;
}
.blog-sidebar .blog-sidebar-item {
    gap: 10px;
    border-bottom: 1px solid #d1d1d1;
    padding-bottom: 12px;
}
.blog-sidebar .blog-sidebar-item-img {
    height: 70px;
    max-width: 84px;
    min-width: 84px;
    border-radius: 5px;
}
.blog-sidebar .blog-sidebar-item-title {
    font-size: 13px;
    color: #000;
    transition: all 0.3s ease-in-out;
    line-height: 20.5px;
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.blog-sidebar .blog-sidebar-item-title a {
    color: #000;
}
.blog-sidebar .blog-sidebar-item-title a:hover {
    color: var(--accent);
}
.blog-sidebar .blog-sidebar-item-details {
    gap: 15px;
    margin-top: 6px;
}
.blog-sidebar .blog-sidebar-item-detail {
    font-size: 11px;
    color: #666;
}
.blog-sidebar .blog-sidebar-item-detail i {
    margin-right: 3px;
    color: var(--accent);
    font-size: 11px;
}


/*-------- blog search input start --------*/

.blog-search-main {
    width: 100%;
    margin-bottom: 35px;
    position: relative;
}

.blog-search-main .blog-search-box {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 8px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.06);
}

.blog-search-main .blog-search-input {
    flex: 1;
    position: relative;
}

.blog-search-main .blog-search-input i {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--accent);
    font-size: 15px;
}

.blog-search-main .blog-search-input input {
    width: 100%;
    height: 40px;
    border: 0;
    outline: 0;
    padding: 0 15px 0 45px;
    font-size: 15px;
    color: #222;
    background: transparent;
}

.blog-search-main .blog-search-input input::placeholder {
    color: #999;
}

.blog-search-main .blog-search-btn {
    height: 40px;
    border: 0;
    padding: 0 14px;
    border-radius: 8px;
    background: var(--accent);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

.blog-search-main .blog-search-btn i {
    margin-left: 7px;
    font-size: 12px;
    transition: transform 0.3s ease;
}

.blog-search-main .blog-search-btn:hover {
    background: #000;
}

.blog-search-main .blog-search-btn:hover i {
    transform: translateX(4px);
}


/* Search Result Box */
.blog-search-main .blog-search-result-box {
    display: none;
    margin-top: 15px;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.07);
    position: absolute;
    top: 54px;
    left: 0;
    right: 0;
    z-index: 10;
}

.blog-search-main .blog-search-result-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding-bottom: 15px;
    margin-bottom: 15px;
    border-bottom: 1px solid #eee;
}

.blog-search-main .blog-search-result-title h5 {
    margin: 0;
    color: #222;
    font-size: 18px;
    font-weight: 700;
}

.blog-search-main .blog-search-result-title span {
    color: var(--accent);
    font-size: 13px;
    font-weight: 600;
}

.blog-search-main .blog-search-result-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
}

.blog-search-main .search-result-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px;
    border: 1px solid #eee;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.blog-search-main .search-result-item:hover {
    border-color: var(--accent);
    transform: translateY(-2px);
}

.blog-search-main .search-result-item img {
    width: 70px;
    height: 60px;
    object-fit: cover;
    border-radius: 6px;
}

.blog-search-main .search-result-content {
    flex: 1;
}

.blog-search-main .search-result-content h6 {
    margin: 0 0 5px;
    font-size: 14px;
    line-height: 1.4;
}

.blog-search-main .search-result-content h6 a {
    color: #222;
    text-decoration: none;
}

.blog-search-main .search-result-content h6 a:hover {
    color: var(--accent);
}

.blog-search-main .search-result-content span {
    font-size: 12px;
    color: #777;
}

.blog-search-main .blog-search-no-result {
    display: none;
    text-align: center;
    padding: 25px 10px;
}

.blog-search-main .blog-search-no-result i {
    color: var(--accent);
    font-size: 18px;
    margin-bottom: 10px;
}

.blog-search-main .blog-search-no-result h6 {
    margin: 0 0 5px;
    font-size: 16px;
}

.blog-search-main .blog-search-no-result p {
    margin: 0;
    color: #777;
    font-size: 13px;
    text-align: center;
    width: 100%;
    max-width: 100%;
}


/* Responsive */
@media (max-width: 767px) {

    .blog-search-main .blog-search-box {
        padding: 6px;
    }

    .blog-search-main .blog-search-btn {
        padding: 0 16px;
    }

    .blog-search-main .blog-search-result-list {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 575px) {

    .blog-search-main .blog-search-box {
        flex-direction: column;
        align-items: stretch;
    }

    .blog-search-main .blog-search-btn {
        width: 100%;
    }

}

/*-------- blog details main start --------*/

.blog-detail-section .blog-detail-img {
    border-radius: 12px;
    height: 374px;
}
.blog-detail-section .blog-detail-img img {
    object-fit: fill;
    object-position: center;
}
.blog_details_main_top_area .blog_dtls_main_top_area_bxs {
    display: block;
    justify-content: space-between;
    align-items: center;
}
.blog-detail-section .blog-detail-heading {
    font-size: 26px;
    font-weight: 600;
    color: #000;
    margin-top: 0;
    text-align: left;
    margin-bottom: 0;
}
.blog_details_main_top_area .blog_dtls_main_top_area_bxs .blog_detls_right_area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
}
.blog_details_main_top_area .blog_dtls_main_top_area_bxs .blog_detls_right_area .blog_details_main_writer_text {
    font-size: 15px;
    color: #000;
}
.blog-detail-section .blog-detail-data-list {
    justify-content: center;
    gap: 10px;
    margin-top: 0;
}
.blog-detail-section .blog-detail-data {
    font-size: 14px;
    background: #ffffff;
    padding: 4px 10px;
    border-radius: 5px;
    box-shadow: 0 0 2px #aaaaaa;
}
.blog-detail-section .blog-detail-data i {
    margin-right: 6px;
    color: var(--accent);
}
.visa-cta-parent {
    background: #8eafd10d;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
    padding: 10px 14px;
    margin: 26px 0;
    margin-bottom: 0px;
}
.visa-cta-content h5 {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: #111;
}
.visa_blog_details_right {
    flex-direction: row-reverse;
}
.visa-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--accent);
    color: #fff;
    text-decoration: none;
    padding: 12px 22px;
    border-radius: 10px;
    font-size: 14px;
    font-weight: 500;
    transition: 0.3s;
}
.visa-cta-btn:hover {
    background: var(--primary);
    color: #fff;
}
.visa-cta-users {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}
.visa-user-icons {
    display: flex;
}
.visa-user-icons .visa_user_icon {
    width: 96px;
}
.visa-cta-users .visa-user-text {
    text-align: left;
}
.visa-user-text strong {
    display: block;
    font-size: 14px;
    color: #111;
    line-height: 1.3;
}
.visa-user-text span {
    display: block;
    font-size: 13px;
    color: #666;
}
.visa_blog_social_main_bx .visa_blog_social_text {
    font-size: 16px;
    font-weight: 700;
    color: var(--accent);
    margin-bottom: 8px;
}
.visa_blog_social_main_bx ul {
    margin-bottom: 0px;
    padding: 0px;
    display: flex;
    align-items: center;
    gap: 10px;
    background: #ffffff;
    padding: 14px;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
    border-radius: 10px;
    width: fit-content;
}
.visa_blog_social_main_bx ul li {
    display: inline-block;
}
.visa_blog_social_main_bx ul li .blog_social_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #ffffff;
    height: 40px;
    width: 40px;
    font-size: 20px;
    background-color: var(--primary);
    transition: all 0.3s ease-in-out;
    box-shadow: inset rgb(194 194 194 / 30%) 0px 0px 2px 0px, rgb(255 227 227 / 15%) -1px 1px 8px 14px;
    border-radius: 6px;
    text-decoration: none;
}
.visa_blog_social_main_bx ul li .blog_social_icon:hover {
    background-color: var(--accent);
    color: #ffffff;
}


/*-----blog main view------*/

.blog_details_table, .blog_sidebar_main_cards {
    transition: transform .35s ease, opacity .35s ease;
    top: 100px;
    z-index: 100;
}
.blog-detail-content-main .accordion-item:first-of-type {
    border-top-left-radius: 14px;
    border-top-right-radius: 14px;
}
.blog-detail-content-main .accordion-item:last-of-type {
    border-bottom-right-radius: 14px;
    border-bottom-left-radius: 14px;
}
.blog-detail-content-main .accordion-button {
    padding: 12px;
    border-top-left-radius: 14px !important;
    border-top-right-radius: 14px !important;
    color: var(--primary);
}

.blog-detail-content-main .accordion-button:not(.collapsed) {
    background-color: #f1f1f1;
}
.blog-detail-content-main .accordion-button i {
    position: absolute;
    top: 14px;
    right: 14px;
    color: var(--primary);
}

.blog-detail-content-main .accordion-button:after {
    display: none;
}
.blog-detail-content-main .accordion-body {
    padding: 0;
}
.blog-detail-content-main .accordion-body #toc {
    height: 600px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #acacac #f1f1f1;
}
.blog-detail-content-main .accordion-body #toc ol {
    padding-left: 0px !important;
}
.blog-detail-content-main .accordion-body #toc ol li {
    font-size: 16px;
    color: #262626;
    transition: all 0.3s ease-in-out;
    margin-bottom: 6px;
    padding: 10px;
    border-bottom: 1px solid #d2d2d2;
}
.blog-detail-content-main .accordion-body a, .blog-detail-content-main .accordion-body span {
    font-weight: 500;
    cursor: pointer;
    font-size: 15px;
}
.blog-detail-content-main .accordion-body #toc ol li:hover {
    color: var(--accent);
}
.blog-detail-content-main .accordion-body #toc ol li.active {
    color: var(--accent);
    font-weight: 600;
}

.blog-detail-content-main .blog-detail-content p {
    font-size: 14px;
    margin-bottom: 8px;
    line-height: 27px;
    color: #3f3f3f;
    text-align: justify;
}
.blog-detail-content-main .blog-detail-content strong,
.blog-detail-content-main .blog-detail-content b {
    color: #000;
}
.blog-detail-content-main .blog-detail-content ul {
    padding-left: 22px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.blog-detail-content-main .blog-detail-content ul li {
    font-size: 14px;
    color: #3f3f3f;
    text-align: justify;
    list-style: disc;
}
.blog-detail-content-main .blog-detail-content ol {
    padding-left: 22px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.blog-detail-content-main .blog-detail-content ol li {
    font-size: 14px;
    color: #3f3f3f;
    text-align: justify;
}
.blog-detail-content-main .blog-detail-content li p {
    margin-bottom: 0;
}
.blog-detail-content-main .blog-detail-content img {
    width: 100%;
    border-radius: 8px;
}
.blog-detail-content-main .blog-detail-content h2 {
    font-size: 22px;
    font-weight: 600;
    margin-bottom: 12px;
    margin-top: 36px !important;
    margin-bottom: 16px !important;
    position: relative;
}
.blog-detail-content-main .blog-detail-content h3 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 12px;
}
.blog-detail-content-main .blog-detail-content h3 {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 12px;
}

.blog-detail-content-main .blog-detail-content table tr:first-child {
    background: var(--bg-light);
}
.blog-detail-content-main .blog-detail-content table {
    width: 100%;
    margin: 10px 0px 12px 0px;
}

.blog-detail-content-main .blog-detail-content table tr td {
    border: 1px solid#ccc; padding: 6px;
    font-size: 14px;
    color: #000; 
    padding: 8px;
}

.blog-detail-content-main .blog-detail-content table tr td p {
    font-size: 14px;
    color: #000;
    margin-bottom: 0;
    line-height: 22px;
}

.blog-detail-content-main .blog-detail-content table tr th {
    border: 1px solid#ccc;
    padding: 9px;
    font-size: 15px;
    color: #000;
    text-align:center;
}

/*-------- payment page section start --------*/

.payment-section .payment-main-sec {
    background-color: #fff;
    border-radius: 16px;
    box-shadow: var(--shadow-lg);
    padding: 20px;
}
.payment-section .payment-main-sec h2 {
    font-weight: 600;
    font-size: 26px;
    color: var(--primary);
    margin-bottom: 10px;
    text-align: center;
}

.payment-section .payment-main-sec .payment-image {
    width: 220px;
    margin: 0 auto;
}
.payment-section .payment-main-sec .payment-image img {
    width: 100%;
}

.payment-main-sec .form-label {
    font-size: 12px;
    font-weight: 600;
    color: #000;
    text-transform: uppercase;
    margin-bottom: 7px;
}
.payment-main-sec .input-icon {
    position: relative;
}
.payment-main-sec .input-icon i {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #212529;
    font-size: 14px;
}
.payment-main-sec .input-icon .form-control {
    padding-left: 42px;
}
.payment-main-sec .form-control, .payment-main-sec .form-select {
    height: 50px;
    border-radius: 5px;
    border: 1px solid #ddd;
    font-size: 14px;
    padding-left: 15px;
    box-shadow: none;
}
.payment-main-sec .form-control::placeholder,
.payment-main-sec .form-select::placeholder{
    color:#212529;
    font-size:14px;
}

.payment-main-sec .form-control:focus,
.payment-main-sec .form-select:focus{
    border-color:#d2d2d2;
    box-shadow:none;
}

.payment-main-sec .input-icon{
    position:relative;
}

.payment-main-sec .input-icon i{
    position:absolute;
    left:15px;
    top:50%;
    transform:translateY(-50%);
    color:#212529;
    font-size:14px;
}

.payment-main-sec .input-icon .form-control{
    padding-left:42px;
}

.payment-main-sec .form-check-input{
    width:16px;
    height:16px;
}

.payment-main-sec .form-check-label{
    font-size:12px;
    color:#000;
}
.payment-main-sec .form-check-label a {text-decoration: underline;font-weight: 600;}
.payment-main-sec .btn-accent {
    border-radius: 5px;
}

/*-------- content section start --------*/

.content-section .content-card {
    padding: 22px;
    border-radius: 10px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}

.content-card .read-more-btn {
	font-size: 15px;
	font-weight: 700;
	color: var(--accent);
	background-color: transparent;
	line-height: normal;
    transition: var(--transition);
}
.content-card .read-more-btn:hover {
	color: var(--primary);
}

.content-card p {
	margin-bottom: 8px;
	line-height: 28px;
	font-size: 14px;
    color: #333;
}
.content-card ul li {
	margin-bottom: 0px;
	line-height: 28px;
	font-size: 14px;
    color: #333;
    list-style: disc;
}
.content-card ol li {
	margin-bottom: 0px;
	line-height: 28px;
	font-size: 14px;
    color: #333;
}

.content-card h1 {
	font-size: 34px;
	font-weight: 700;
	color: #000;
	padding-top: 8px;
	margin-bottom: 10px;
}

.content-card h2 {
    font-size: 22px;
    font-weight: 600;
    color: #000;
    margin-top: 18px;
    margin-bottom: 12px;
}

.content-card h3 {
	font-size: 18px;
	font-weight: 600;
	color: #000;
	padding-top: 8px;
	margin-bottom: 10px;
}

.content-card strong,
.content-card b {
	font-weight: 700;
}
.content-card table {margin-bottom: 22px;}
.content-card table {
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 0 2px rgb(89 89 89);
}
.content-card table tr:first-child {
    background: #f5f7fa;
    font-weight: 700;
}
.content-card table,
.content-card th,
.content-card td {
	border: 1px solid rgb(161, 161, 161);
	border-collapse: collapse;
}

.content-card th,
.content-card td {
	padding: 8px;
    font-size: 14px;
}
.content-card th p,
.content-card td p {
	margin-bottom: 0px;
}

.content-card ul,
.content-card ol {
	padding-left: 23px;
	display: flex;
	flex-direction: column;
	gap: 9px;
    font-size: 14px;
}

.content-section .content-note {
	padding: 10px;
	font-size: 15px;
}

.content-section .content-note i {
	color: var(--accent);
}
.ellipsis3 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
}


/*-------- content section end --------*/

/*------ breadcrumb section start -------*/

.breadcrumb-section {
    padding-block: 14px;
}
.breadcrumb-section .breadcrumb-link,
.breadcrumb-section .breadcrumb-link a{
    font-weight: 600;
    font-size: 14px;
    gap: 4px;
    color: #505050;
    transition: all .3s ease-in-out;
}
.breadcrumb-section .breadcrumb-link i {
    color: #5c5c5c;
}
.breadcrumb-section .breadcrumb-list {
    gap: 8px;
    white-space: nowrap;
    display: block;
}
.breadcrumb-section .breadcrumb-link .home-icon {
    margin-top: -4px;
}
.breadcrumb-section .breadcrumb-link a:hover {
    color: var(--accent);
}
.breadcrumb-section .breadcrumb-link a:hover i {
    color: var(--accent);
}
.breadcrumb-section .breadcrumb-link.active {
    color: var(--accent);
}

/*-------- breadcrumb section end  --------*/

/* ========= country banner start ========== */

.country_banner_section {
    height: 360px;
    position: relative;
    margin-bottom: 80px;
}
.country_banner_section::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(90deg, rgb(0 0 0 / 41%) 30%, rgb(0 0 0 / 41%) 60%, rgb(0 0 0 / 41%) 100%);
    z-index: 1;
}

.country_banner_section .banner_image {
    object-fit: cover;
    object-position: center 50%;
}

.country_banner_section .country_banner_mid_main {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.country_mid_text_bx .country_banner_heading_txt {
    font-size: 44px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
}

.country_mid_text_bx p {
    font-size: 16px;
    font-weight: 500;
    color: #f7f7f7;
}

.country_banner_form {
    position: absolute;
    bottom: -68px;
    left: 0;
    right: 0;
    z-index: 10;
}

.track_page_main_banner {
    height: 540px;
    position: relative;
    margin-bottom: 0;
}

.track_visa_app_form {
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    z-index: 10;
}

/*-----track-page-main-banner-css----*/

.country_banner_section.track_page_main_banner .country_banner_mid_main {
    display: flex;
    justify-content: center;
    align-items: end;
    z-index: 2;
}

.card-mint {
    background: #fff;
    border: 1px solid var(--bg-light);
    border-radius: 12px;
    padding: 30px;
    padding-bottom: 20px;
    transition: var(--transition);
    box-shadow: var(--shadow-lg);
    position: relative;
    margin-bottom: -14px;
}

.card-mint:hover {
    box-shadow: 0 8px 30px rgba(0,0,0,0.12);
}

.form-widget-mint .form-control,.form-widget-mint .form-select {
    border: 1.5px solid #333;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 0.9rem;
    color: #595959;
    transition: var(--transition);
    background: #fff;
}

.form-widget-mint .form-control:focus,.form-widget-mint .form-select:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(142, 177, 181, 0.15);
    outline: none;
}

.form-widget-mint label {
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-size: 14px;
    font-weight: 600;
    color: var(--accent);
    margin-bottom: 6px;
}

.form-widget-mint .btn-outline-primary-custom {
    background-color: var(--primary);
    color: #fff;
}
.form-widget-mint .btn-outline-primary-custom:hover {
    background-color: var(--accent);
    color: #fff;
}

.card-mint .card-mint-top {
    padding-bottom: 10px;
    margin-bottom: 12px;
    border-bottom: 1px dashed #d2d2d2;
    text-align: center;
}

.card-mint .card-mint-top h5 {
    font-size: 20px;
    font-weight: 600;
    color: var(--primary);
    margin-bottom: 3px;
    margin-top: 6px;
}
.card-mint .card-mint-top p {
    font-size: 13px;
    color: #333;
    margin-bottom: 0px;
}

.card_mint_search_icon {
    position: absolute;
    top: -26px;
    left: 0;
    right: 0;
    width: 50px;
    height: 50px;
    margin: 0 auto;
    border-radius: 50px;
    background-color: var(--accent);
    box-shadow: 0 0 4px #4d4d4d;
}

.card_mint_search_icon .search_icon {
    /* width: 36px; */
    /* height: 36px; */
    margin: 0 auto;
    vertical-align: middle;
    padding: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.track_listing_main_bx {
    padding: 0px;
    margin-top: 20px;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.track_listing_main_bx .track_listing_view_txt {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
}
.track_listing_main_bx .track_listing_view_txt span {
    background-color: #fff;
    color: var(--accent);
    padding: 2px;
    border-radius: 30px;
    font-size: 14px;
    display: inline-block;
    width: 24px;
    min-width: 24px;
    height: 24px;
    line-height: 22px;
    margin-right: 4px;
}

.widget_mint_form_texts p {
    font-size: 13px;
    color: #333;
}
.widget_mint_form_texts p i {
    font-size: 13px;
    color: var(--accent);
}

/* ========= country banner end ========== */

/* ========= PROMO BLOCKS ========== */

.promo-block-custom {
    border-radius: var(--radius);
    padding: 28px 22px;
    text-align: center;
    height: 100%;
    transition: all .3s ease-in-out;
    position: relative;
    overflow: hidden;
}

.promo-block-custom:hover {
    transform: translateY(-4px);
}

.promo-block-custom .promo-icon {
    width: 56px;
    height: 56px;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    font-size: 1.4rem;
    color: #fff;
}

.promo-block-custom h5 {
    color: #fff;
    font-weight: 700;
    margin-bottom: 6px;
}

.promo-block-custom p {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.85rem;
    margin-bottom: 12px;
}

.promo-block-custom .promo-link {
    color: #fff;
    font-weight: 600;
    font-size: 0.82rem;
}

.promo-block-custom .promo-link i {
    transition: all .3s ease-in-out;
}

.promo-block-custom:hover .promo-link i {
    transform: translateX(4px);
}

.promo-gradient-1 {
    background: linear-gradient(135deg, var(--accent), var(--accent));
    transition: all .3s ease-in-out;
}

.promo-gradient-2 {
    background: linear-gradient(135deg, var(--primary), var(--primary));
    transition: all .3s ease-in-out;
}

.promo-gradient-3 {
    background: linear-gradient(135deg, var(--accent), var(--accent));
    transition: all .3s ease-in-out;
}

.promo-gradient-4 {
    background: linear-gradient(135deg, var(--primary), var(--primary));
    transition: all .3s ease-in-out;
}

.promo-gradient-1:hover {
    background: #0199a1;
}

.promo-gradient-2:hover {
    background: #3b3b3b;
}

.promo-gradient-3:hover {
    background: #0199a1;
}

.promo-gradient-4:hover {
    background: #3b3b3b;
}

/* ==========ACCORDION========== */
.accordion-custom .accordion-item {
    border: 1px solid var(--border-color);
    border-radius: var(--radius-sm) !important;
    margin-bottom: 10px;
    overflow: hidden;
}

.accordion-custom .accordion-button {
    font-weight: 600;
    color: var(--primary);
    padding: 16px 20px;
    background: #fff;
    box-shadow: none !important;
    font-size: 0.95rem;
}

.accordion-custom .accordion-button:not(.collapsed) {
    background: var(--primary);
    color: #fff;
}

.accordion-custom .accordion-button:not(.collapsed)::after {
    filter: brightness(10);
}

.accordion-custom .accordion-body {
    padding: 20px;
    font-size: 0.92rem;
    color: var(--text-body);
    line-height: 1.7;
}

/* =========== FORM WIDGETS ============ */
.form-widget {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 2rem;
}

.form-widget h2 {
    font-size: 22px;
    font-weight: 700;
    color: var(--accent);
    margin-top: 20px;
}

.form-widget h3 {
    font-size: 20px;
    font-weight: 700;
    color: var(--primary);
}

.form-widget p {
    font-size: 15px;
    line-height: 1.5;
    color: #333;
    margin-bottom: 12px;
}

.form-widget ul li, .form-widget ol li {
    font-size: 15px;
    line-height: 1.5;
    color: #333;
    margin-bottom: 12px;
}

.form-widget .form-control,
.form-widget .form-select {
    border: 2px solid var(--border-color);
    border-radius: var(--radius-sm);
    padding: 12px 16px;
    font-size: 0.9rem;
    transition: var(--transition);
}

.form-widget .form-control:focus,
.form-widget .form-select:focus {
    border-color: var(--primary-light);
    box-shadow: 0 0 0 3px rgba(31, 91, 153, 0.1);
}

.form-widget .form-label {
    font-weight: 600;
    font-size: 0.85rem;
    color: var(--primary);
}

/* =========== CATEGORY FILTER / TABS =========== */
.filter-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 2rem;
}

.filter-tabs .filter-btn {
    padding: 8px 20px;
    border: 2px solid var(--border-color);
    border-radius: 50px;
    background: #fff;
    color: var(--text-body);
    font-weight: 500;
    font-size: 0.85rem;
    cursor: pointer;
    transition: var(--transition);
}

.filter-tabs .filter-btn:hover,
.filter-tabs .filter-btn.active {
    background: var(--primary);
    color: #fff;
    border-color: var(--primary);
}

/* ============= TIMELINE ============= */
.timeline {
    position: relative;
    padding-left: 2rem;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 8px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--border-color);
}

.timeline-item {
    position: relative;
    padding-bottom: 2rem;
}

.timeline-item:last-child {
    padding-bottom: 0;
}

.timeline-item::before {
    content: '';
    position: absolute;
    left: -30px;
    top: 6px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-radius: 50%;
    border: 3px solid var(--accent);
}

.timeline-item .timeline-title {
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 4px;
}

.timeline-item .timeline-text {
    font-size: 0.88rem;
    color: var(--text-muted);
}

/* ============== PRICING TABLE ============== */
.pricing-card {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 2rem;
    text-align: center;
    height: 100%;
    transition: var(--transition);
    position: relative;
    overflow: hidden;
}

.pricing-card.featured {
    border: 2px solid var(--accent);
    transform: scale(1.02);
}

.pricing-card.featured .popular-badge {
    position: absolute;
    top: 16px;
    right: -32px;
    background: var(--accent);
    color: #fff;
    padding: 4px 40px;
    font-size: 0.7rem;
    font-weight: 600;
    transform: rotate(45deg);
}

.pricing-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.pricing-card .price {
    font-size: 2.5rem;
    font-weight: 900;
    color: var(--accent);
}

.pricing-card .price span {
    font-size: 1rem;
    font-weight: 400;
    color: var(--text-muted);
}

.pricing-card ul {
    text-align: left;
    margin: 1.5rem 0;
}

.pricing-card ul li {
    padding: 6px 0;
    font-size: 0.88rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.pricing-card ul li i {
    color: #22c55e;
    font-size: 0.8rem;
}

/* ============== PAGINATION ============== */
.pagination-custom .page-link {
    border: 2px solid var(--border-color);
    color: var(--text-body);
    font-weight: 500;
    padding: 8px 16px;
    margin: 0 3px;
    border-radius: var(--radius-sm) !important;
    transition: var(--transition);
}

.pagination-custom .page-link:hover,
.pagination-custom .page-item.active .page-link {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

/* ============== FOOTER ============= */
.footer {
    background: url(..//images/footer-2.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    padding: 4rem 0 0;
    color: rgba(255, 255, 255, 0.65);
    position: relative;
}
.footer:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #000000cf;
    z-index: 1;
}
.footer .container {position: relative;z-index: 4;}

.footer h5 {
    color: #fff;
    font-weight: 700;
    margin-bottom: 20px;
    font-size: 1.05rem;
    padding-bottom: 12px;
    position: relative;
}

.footer h5::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 36px;
    height: 3px;
    background: var(--accent);
    border-radius: 3px;
}

.footer p {
    font-size: 0.88rem;
    line-height: 1.7;
}

.footer ul li {
    margin-bottom: 8px;
}

.footer ul li a {
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    font-weight: 500;
    transition: var(--transition);
}

.footer ul li a:hover {
    color: #fff;
    padding-left: 4px;
}

.footer .contact-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.88rem;
    margin-bottom: 12px;
}

.footer .contact-list li i {
    color: var(--accent);
    /* margin-top: 4px; */
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
}

.footer .footer_logo_brand {
    font-size: 1.5rem;
    font-weight: 900;
    color: #fff;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 192px;
    margin-bottom: 20px;
}

.footer .footer_logo_brand .footer_brand_logo_img {
    filter: invert(1) brightness(10.5);
}


.footer .social-links {
    display: flex;
    gap: 8px;
    margin-top: 22px;
}

.social_line_text {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    text-transform: uppercase;
}

.footer .social-links a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    font-size: 19px;
    transition: var(--transition);
}

.footer .social-links a:hover {
    background: var(--accent);
    color: #fff;
    transform: translateY(-6px);
}

.footer .footer-bottom {
    border-top: 1px solid rgb(255 255 255 / 35%);
    padding: 14px 0;
    margin-top: 3rem;
    font-size: 0.83rem;
    text-align: center;
}

.footer .footer-bottom p {
    font-size: 14px;
    color: #fff;
}

.footer .footer-bottom a {
    color: #fff;
    text-decoration: underline;
    transition: all .3s ease-in-out;
}
.footer .footer-bottom a:hover {
    color: var(--accent);
    text-decoration: underline;

}

.payment_method_bxs {
    background: #fff;
    margin-top: 24px;
    padding: 12px;
    border-radius: 8px;
}
.payment_method_bxs .payment_method_txt {
    font-size: 14px;
    font-weight: 600;
    color: var(--primary);
    text-transform: uppercase;
    margin-bottom: 12px;
}
.payment_method_bxs .payment_method_img {
    width: 240px;
}
.payment_method_bxs .payment_method_img .payment_img {width: 100%;}

/* ============ BACK TO TOP =========== */

.back-to-top {
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 46px;
    height: 46px;
    border: 2px solid #fff;
    background: var(--accent);
    color: #fff;
    border-radius: 50%;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
    z-index: 999;
    box-shadow: 0 4px 15px rgba(0, 162, 255, 0.3);
}

.back-to-top.show {
    opacity: 1;
    visibility: visible;
}

.back-to-top:hover {
    background: var(--primary);
    transform: translateY(-3px);
    border: 2px solid #fff;
}

/* ============= NEWSLETTER ============= */

.newsletter-form .form-control {
    border: 2px solid rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
    padding: 12px 16px;
    border-radius: 50px;
    font-size: 0.9rem;
}

.newsletter-form .form-control::placeholder {
    color: rgba(255, 255, 255, 0.4);
}

.newsletter-form .form-control:focus {
    border-color: var(--accent);
    background: rgba(255, 255, 255, 0.12);
    box-shadow: none;
}

/* ============== STATUS / PROGRESS TRACKER ============= */

.status-tracker {
    padding: 2rem;
}

.status-tracker .status-step {
    display: flex;
    gap: 16px;
    padding-bottom: 2rem;
    position: relative;
}

.status-tracker .status-step::before {
    content: '';
    position: absolute;
    left: 20px;
    top: 42px;
    bottom: 0;
    width: 2px;
    background: var(--border-color);
}

.status-tracker .status-step:last-child::before {
    display: none;
}

.status-tracker .status-step.completed::before {
    background: #22c55e;
}

.status-tracker .status-step .status-dot {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    color: #fff;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
}

.status-tracker .status-step.completed .status-dot {
    background: #22c55e;
}

.status-tracker .status-step.active .status-dot {
    background: var(--accent);
}

.status-tracker .status-step .status-content h6 {
    margin-bottom: 2px;
    font-size: 0.95rem;
}

.status-tracker .status-step .status-content p {
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-bottom: 0;
}

/* ================ PROGRESS BAR ============== */

.progress-tracker {
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 2rem;
}

.progress-tracker::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--border-color);
    transform: translateY(-50%);
    z-index: 0;
}

.progress-tracker .progress-fill {
    position: absolute;
    top: 50%;
    left: 0;
    height: 3px;
    background: var(--accent);
    transform: translateY(-50%);
    transition: var(--transition-slow);
    z-index: 1;
    border-radius: 3px;
}

.progress-tracker .step {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--border-color);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    color: #fff;
    position: relative;
    z-index: 2;
    transition: var(--transition);
}

.progress-tracker .step.completed {
    background: #22c55e;
}

.progress-tracker .step.active {
    background: var(--accent);
    transform: scale(1.15);
    box-shadow: 0 0 0 5px rgba(0, 217, 255, 0.2);
}

/* ============== TEAM CARDS ============= */

.team-card {
    background: #fff;
    border-radius: var(--radius);
    overflow: hidden;
    box-shadow: var(--shadow);
    text-align: center;
    transition: var(--transition);
    height: 100%;
}

.team-card:hover {
    transform: translateY(-5px);
    box-shadow: var(--shadow-lg);
}

.team-card .team-img {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    object-fit: cover;
    margin: 2rem auto 1rem;
}

.team-card .team-body {
    padding: 0 1.5rem 1.5rem;
}

.team-card .team-body h5 {
    margin-bottom: 2px;
}

.team-card .team-body .role {
    font-size: 0.82rem;
    color: var(--accent);
    font-weight: 500;
}

.team-card .team-body p {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin: 10px 0;
}

.team-card .team-body .social-links {
    display: flex;
    justify-content: center;
    gap: 8px;
}

.team-card .team-body .social-links a {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    color: var(--text-muted);
    transition: var(--transition);
}

.team-card .team-body .social-links a:hover {
    background: var(--accent);
    color: #fff;
}

/* =============== CONTACT CARDS ============== */

.contact-card {
    background: #fff;
    border-radius: var(--radius);
    padding: 1.5rem;
    box-shadow: var(--shadow);
    text-align: center;
    height: 100%;
    transition: var(--transition);
}

.contact-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.contact-card .icon-wrap {
    width: 56px;
    height: 56px;
    background: var(--bg-light-blue);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    font-size: 1.4rem;
    color: var(--primary-light);
    transition: var(--transition);
}

.contact-card:hover .icon-wrap {
    background: var(--accent);
    color: #fff;
}

.contact-card h6 {
    margin-bottom: 6px;
}

.contact-card p {
    font-size: 0.88rem;
    color: var(--text-muted);
    margin-bottom: 0;
}

/* ============== JOB / CAREER CARDS ============= */

.job-card {
    background: #fff;
    border-radius: var(--radius);
    padding: 1.5rem;
    box-shadow: var(--shadow);
    transition: var(--transition);
    height: 100%;
    border-left: 4px solid var(--accent);
}

.job-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-lg);
}

.job-card h5 {
    margin-bottom: 6px;
}

.job-card .job-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    font-size: 0.82rem;
    color: var(--text-muted);
    margin-bottom: 12px;
}

.job-card .job-meta span {
    display: flex;
    align-items: center;
    gap: 4px;
}

.job-card .job-meta i {
    color: var(--accent);
}

/* ============ TABLE CUSTOM ============= */

.table-custom {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.table-custom thead th {
    background: var(--primary);
    color: #fff;
    font-weight: 600;
    font-size: 0.88rem;
    padding: 14px 18px;
    border: none;
}

.table-custom thead th:first-child {
    border-radius: var(--radius-sm) 0 0 0;
}

.table-custom thead th:last-child {
    border-radius: 0 var(--radius-sm) 0 0;
}

.table-custom tbody td {
    padding: 14px 18px;
    font-size: 0.88rem;
    border-bottom: 1px solid var(--border-color);
    vertical-align: middle;
}

.table-custom tbody tr:hover {
    background: var(--bg-light);
}

/* =========== VALUE / ICON BOXES ========== */

.value-box {
    text-align: center;
    padding: 1.5rem;
    transition: var(--transition);
}

.value-box .value-icon {
    width: 64px;
    height: 64px;
    background: var(--bg-light-blue);
    border-radius: var(--radius-sm);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    font-size: 1.5rem;
    color: var(--primary-light);
    transition: var(--transition);
}

.value-box:hover .value-icon {
    background: var(--accent);
    color: #fff;
}

.value-box h6 {
    margin-bottom: 6px;
}

.value-box p {
    font-size: 0.85rem;
    color: var(--text-muted);
    margin-bottom: 0;
}

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

.cta-section {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);
    padding: 4.5rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}

.cta-section::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, transparent 70%);
    border-radius: 50%;
}

.cta-section h2 {
    color: #fff;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 800;
    margin-bottom: 1rem;
    position: relative;
    z-index: 1;
}

.cta-section p {
    color: rgba(255, 255, 255, 0.75);
    font-size: 1.05rem;
    max-width: 540px;
    margin: 0 auto 2rem;
    position: relative;
    z-index: 1;
}

/* ============= COUNTRY GRID FILTER ============== */

.country-filter-bar {
    background: #fff;
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    padding: 1.5rem;
    margin-bottom: 2rem;
}

/* ============ TEAM / ABOUT IMAGE WRAP ============== */

.about-img-wrap {
    border-radius: 14px;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.about-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about_right_text_bxs .section-subtitle {
    color: var(--accent);
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0.5rem;
    display: block;
}

.about_right_text_bxs p {
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

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

.search-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(7, 34, 64, 0.97);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: var(--transition);
}

.search-overlay.show {
    opacity: 1;
    visibility: visible;
}

.search-overlay .search-close {
    position: absolute;
    top: 30px;
    right: 30px;
    color: #fff;
    font-size: 2rem;
    cursor: pointer;
    transition: var(--transition);
}

.search-overlay .search-close:hover {
    color: var(--accent);
}

.search-overlay .search-input {
    width: 600px;
    max-width: 90%;
    background: transparent;
    border: none;
    border-bottom: 3px solid var(--accent);
    color: #fff;
    font-size: 2rem;
    padding: 12px 0;
    outline: none;
    font-family: var(--font);
}

.search-overlay .search-input::placeholder {
    color: rgba(255, 255, 255, 0.3);
}

/* ============ 404 PAGE ============ */

.page-404 {
    min-height: 70vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 4rem 0;
}

.page-404 .error-code {
    font-size: clamp(5rem, 12vw, 10rem);
    font-weight: 900;
    color: var(--primary);
    line-height: 1;
    margin-bottom: 0.5rem;
}

.page-404 .error-code span {
    color: var(--accent);
}

.page-404 h2 {
    margin-bottom: 0.75rem;
}

.page-404 p {
    color: var(--text-muted);
    font-size: 1.05rem;
    max-width: 450px;
    margin: 0 auto 2rem;
}



/* ===========VISA TRACK PROCESS SECTION========== */

.visa-track-process-section {
    padding: 70px 0;
    background: #fff;
    color: #000;
}

.visa-track-process-section .visa-track-process-title {
    margin-bottom: 50px;
}

.visa-track-process-section .visa-track-process-title h2 {
    margin: 0;
    color: #000;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
}

.visa-track-process-section .visa-track-process-title span {
    display: block;
    width: 46px;
    height: 3px;
    margin: 12px auto 0;
    background: var(--accent);
    border-radius: 5px;
}

.visa-track-process-section .visa-track-process-row {
    position: relative;
}

.visa-track-process-section .visa-track-process-row::before {
    content: "";
    position: absolute;
    top: 43px;
    left: 13%;
    right: 13%;
    border-top: 1px dashed rgba(2, 124, 131, 0.35);
    z-index: 0;
}

.visa-track-process-section .visa-track-process-item {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: 0 15px;
}

.visa-track-process-section .visa-track-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto;
    margin-bottom: 12px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eef8f8;
    color: var(--accent);
    font-size: 30px;
    transition: all 0.3s ease;
}

.visa-track-process-section .visa-track-number {
    width: 25px;
    height: 25px;
    margin: -3px auto 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    position: relative;
    z-index: 2;
}

.visa-track-process-section .visa-track-process-item:hover .visa-track-icon {
    background: var(--accent);
    color: #fff;
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(2, 124, 131, 0.2);
}

.visa-track-process-section .visa-track-process-item h4 {
    margin: 0 0 4px;
    color: #000;
    font-size: 17px;
    font-weight: 700;
}

.visa-track-process-section .visa-track-process-item p {
    margin: 0;
    color: #333;
    font-size: 13px;
    line-height: 1.6;
}

.visa-track-process-section .visa-track-feature-wrapper {
    margin-top: 55px;
    padding: 12px;
    background: #f1f8f8;
    border-radius: 14px;
}

.visa-track-process-section .visa-track-feature-card {
    height: 100%;
    padding: 25px 18px;
    text-align: center;
    background: #fff;
    border: 1px solid #edf1f1;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.visa-track-process-section .visa-track-feature-card:hover {
    transform: translateX(5px);
    border-color: rgba(2, 124, 131, 0.3);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.07);
}

.visa-track-process-section .visa-track-feature-icon {
    height: 55px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--accent);
    font-size: 36px;
    margin-bottom: 12px;
}

.visa-track-process-section .visa-track-feature-card h4 {
    margin: 0 0 8px;
    color: var(--primary);
    font-size: 16px;
    font-weight: 700;
}

.visa-track-process-section .visa-track-feature-card p {
    max-width: 190px;
    margin: 0 auto;
    color: #555;
    font-size: 13px;
    line-height: 1.6;
}

.visa-track-process-section .visa-track-help-box {
    margin-top: 18px;
    padding: 20px 35px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    background: #f1f8f8;
    border-radius: 14px;
}

.visa-track-process-section .visa-track-help-content {
    display: flex;
    align-items: center;
    gap: 22px;
}

.visa-track-process-section .visa-track-help-icon {
    width: 70px;
    height: 70px;
    flex: 0 0 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e4f3f3;
    color: var(--accent);
    font-size: 30px;
}

.visa-track-process-section .visa-track-help-text h3 {
    margin: 0 0 5px;
    color: #000;
    font-size: 19px;
    font-weight: 700;
}

.visa-track-process-section .visa-track-help-text p {
    max-width: 600px;
    margin: 0;
    color: #444;
    font-size: 14px;
    line-height: 1.6;
}

.visa-track-process-section .visa-track-help-btn a {
    min-width: 180px;
    padding: 11px 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 2px solid var(--accent);
    border-radius: 7px;
    color: var(--accent);
    background: transparent;
    text-decoration: none;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.visa-track-process-section .visa-track-help-btn a i {
    font-size: 12px;
}

.visa-track-process-section .visa-track-help-btn a:hover {
    background: var(--accent);
    color: #fff;
    box-shadow: 0 8px 20px rgba(2, 124, 131, 0.2);
}

@media (max-width: 991px) {
    .visa-track-process-section {
        padding: 55px 0;
    }

    .visa-track-process-section .visa-track-process-row::before {
        display: none;
    }

    .visa-track-process-section .visa-track-process-item {
        margin-bottom: 35px;
    }

    .visa-track-process-section .visa-track-feature-wrapper {
        margin-top: 20px;
    }

    .visa-track-process-section .visa-track-help-box {
        padding: 22px;
    }
}

@media (max-width: 767px) {
    .visa-track-process-section {
        padding: 45px 0;
    }

    .visa-track-process-section .visa-track-process-title {
        margin-bottom: 35px;
    }

    .visa-track-process-section .visa-track-process-title h2 {
        font-size: 27px;
    }

    .visa-track-process-section .visa-track-process-item {
        margin-bottom: 35px;
    }

    .visa-track-process-section .visa-track-icon {
        width: 70px;
        height: 70px;
        font-size: 26px;
    }

    .visa-track-process-section .visa-track-feature-wrapper {
        margin-top: 10px;
        padding: 8px;
    }

    .visa-track-process-section .visa-track-feature-card {
        margin-bottom: 8px;
    }

    .visa-track-process-section .visa-track-help-box {
        flex-direction: column;
        align-items: flex-start;
        padding: 22px;
    }

    .visa-track-process-section .visa-track-help-content {
        align-items: flex-start;
        gap: 15px;
    }

    .visa-track-process-section .visa-track-help-icon {
        width: 55px;
        height: 55px;
        flex: 0 0 55px;
        font-size: 23px;
    }

    .visa-track-process-section .visa-track-help-text h3 {
        font-size: 18px;
    }

    .visa-track-process-section .visa-track-help-text p {
        font-size: 13px;
    }

    .visa-track-process-section .visa-track-help-btn {
        width: 100%;
    }

    .visa-track-process-section .visa-track-help-btn a {
        width: 100%;
    }
}

@media (max-width: 575px) {
    .visa-track-process-section .visa-track-process-item {
        padding: 0 10px;
    }

    .visa-track-process-section .visa-track-process-item h4 {
        font-size: 16px;
    }

    .visa-track-process-section .visa-track-process-item p {
        font-size: 13px;
    }

    .visa-track-process-section .visa-track-feature-card {
        padding: 22px 15px;
    }
}


/* ============ how to apply start ============ */

.howto-apply .how-apply-inner {
    gap: 40px;
}
.howapply-card {
    padding: 15px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
    border-radius: 8px;
}
.howto-apply .step-count {
    height: 45px;
    width: 125px;
    margin-bottom: 15px;
    background-color: var(--accent);
    border-radius: 9px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    gap: 7px;
}
.howto-apply .step-count-number {
    height: 41px;
    width: 41px;
    border-radius: 9px !important;
    border: 2px solid #fff;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
    margin-left: 2px;
}
.howto-apply .step-count-number .step-count-number-inner {
    height: 30px;
    width: 30px;
    font-size: 20px;
    font-weight: 800;
    color: var(--accent);
}
.howto-apply .step-count-text {
    font-size: 17px;
}
.howapply-card .howapply-card-title {
    font-size: 17px;
    font-weight: 700;
    line-height: 28px;
    color: #000;
}
.howapply-card .howapply-card-content p {
    font-size: 15px;
    line-height: 29px;
    margin-bottom: 10px;
    color: #333;
}

.howapply-img {
    cursor: pointer;
    border-radius: 8px;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}

/* ========== how to apply end ========== */

/*--payment details css start--*/

.visa_checkout_page {
    background: #fff;
}

.visa_checkout_main_left {
    background-color: #fff;
    padding: 12px;
    border-radius: 12px;
    box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.08), 12px 12px 88px 0 rgba(0, 0, 0, 0.08);
}

.visa_checkout_main_top .visa_pay_applicant_icon {
    width: 34px;
}

.visa_checkout_main_top .visa_checkout_users_icon {
    background-color: var(--bg-light-blue);
    color: var(--accent);
    padding: 12px;
    border-radius: 6px;
    margin-right: 4px;
    font-size: 18px;
    width: 44px;
    min-width: 44px;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-shadow: 0 0 2px;
}

.visa_checkout_main_top h6 {
    font-size: 17px;
    font-weight: 600;
    color: #000;
    margin-bottom: 2px;
}

.visa_checkout_main_top small {
	font-size: 13px;
	color: #333;
}

.visa_checkout_main_left button {
	outline: none;
	box-shadow: none;
    transform: unset;
}
.visa_checkout_main_left button:hover {
	outline: none;
	box-shadow: none;
    transform: unset;
}
.visa_checkout_main_left button:focus {
	border: 0px;
	outline: none;
	box-shadow: none;
}

.visa_checkout_page .applicant_card {
    background: #fff;
    padding: 0;
    border-radius: 10px;
}

.visa_checkout_page .applicant_top {
    border-bottom: 0;
    padding: 14px 12px;
    margin-bottom: 0;
    background: #ececec;
    border-radius: 8px 8px 0px 0px;
}

.visa_checkout_page .applicant_card .collapse .card-body {
    border-radius: 0px 0px 8px 8px;
    background: #fcfcfc;
    padding-bottom: 0px;
}

.visa_checkout_page .info_block {
    border-bottom: 1px solid #cfcfcf;
    padding: 10px 0;
}

.visa_checkout_page .info_block:last-child {
    border-bottom: 0px solid #cfcfcf;
}

.applicant_top_name_txt {
    color: #000;
    font-size: 16px;
}

.visa_checkout_page .info_block h6 {
    font-size: 14px;
    font-weight: 700;
    color: #000;
}
.visa_checkout_page .info_block h6 i {
    font-size: 14px;
    color: var(--accent);
	margin-right: 4px;
}

.visa_checkout_page .info_block small {
    color: #888;
    font-size: 13px;
}

.visa_checkout_page .info_block .info_block_text {
	font-size: 16px;
	font-weight: 600;
	color: #000;
}

.applicant_top_right .btn.btn-primary {
    background: transparent;
    border: 0px;
    padding: 0px;
    color: #000;
    margin-left: 12px;
    box-shadow: none;
    outline: none;
	transition: all .3s ease-in-out;
}
.applicant_top_right .btn.btn-primary:focus {
    background: transparent;
    border: 0px;
    padding: 0px;
    color: #000;
    margin-left: 8px;
    box-shadow: none;
    outline: none;
}

.applicant_top_right .edit_btn {
	background-color: var(--accent);
	color: #fff;
	padding: 6px 8px;
	border-radius: 4px;
	text-decoration: none;
	transition: all .3s ease-in-out;
}
.applicant_top_right .edit_btn:hover {
	background-color: var(--primary);
	color: #fff;
}

.applicant_top_right .delete_btn {
	background-color: var(--primary);
	color: #fff;
	padding: 6px 8px;
	border-radius: 4px;
	text-decoration: none;
	transition: all .3s ease-in-out;
}
.applicant_top_right .delete_btn:hover {
	background-color: var(--accent);
	color: #fff;
}


.pricing_section h5 {
	font-size: 19px;
	font-weight: 600;
	color: #000;
}
.pricing_section .pricing-card {
    position: relative;
    display: block;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 15px !important;
    padding-top: 15px !important;
    cursor: pointer;
    transition: 0.3s;
    background: #ffffff;
}

.pricing_main_md_left_bx h6 {
    font-size: 15px;
    color: #000;
    margin-bottom: 2px;
}
.pricing_main_md_left_bx small {
    font-size: 13px;
}

.pricing_section .pricing-insurance {
    position: relative;
    display: block;
    border: 1px solid #eee;
    border-radius: 12px;
    padding: 15px;
    padding-top: 15px;
    cursor: pointer;
    transition: 0.3s;
    background: #ffffff;
    box-shadow: rgb(99 99 99/20%) 0 2px 8px 0;
}

.pricing_section .badge_price {
    border: 1px solid #FFD152;
    background: #FFFDF6;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 10px;
    border-radius: 6px;
	
}
.pricing_section .badge_price i {
	background: linear-gradient(90deg, #EAAC00 22.12%, #F80 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.pricing_section .badge_price p {
    background: linear-gradient(90deg, #EAAC00 22.12%, #F80 100%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 12px;
    font-weight: 700;
    display: inline-block;
    letter-spacing: .2px;
}

.pricing_section .pricing-card input {
    display: block;
    width: 15px;
    height: 15px;
}
.pricing_section .pricing-card input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    border-radius: 50px;
    border: 1px solid #828282;
    outline: 1px solid #828282;
    outline-offset: 2px;
}
.pricing_section .pricing-insurance input {
    display: block;
    width: 15px;
    height: 15px;
    border-radius: 50px;
}
.pricing_section .pricing-card input:checked {
    background-color:  var(--accent);
    border-color:  var(--accent);
}
.pricing_section .pricing-card input[type="radio"]:checked {
    -webkit-appearance: none; /* For WebKit (Chrome, Safari, Opera) browsers */
    -moz-appearance: none; /* For Mozilla Firefox */
    appearance: none; /* For standard browsers */
    background-color: var(--accent); /* Change the background color */
    border-radius: 50px;
    outline: 1px solid var(--accent);
    outline-offset: 2px;
}
.pricing_section .pricing-insurance input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    border-radius: 50px;
    border: 1px solid #828282;
    outline: 1px solid #828282;
    outline-offset: 2px;
}
.pricing_section .pricing-insurance input[type="checkbox"]:checked {
    -webkit-appearance: none; /* For WebKit (Chrome, Safari, Opera) browsers */
    -moz-appearance: none; /* For Mozilla Firefox */
    appearance: none; /* For standard browsers */
    background-color: var(--accent); /* Change the background color */
    color: var(--accent);
    border-radius: 50px;
    border: 1px solid var(--accent);
    outline: 1px solid var(--accent);
    outline-offset: 2px;
}

.pricing_section .pricing-insurance.active, 
.pricing_section .pricing-card.active {
	background-color: #fff;
    border-color: var(--accent);
}

.pricing_section .pricing-insurance:hover, 
.pricing_section .pricing-card:hover {
    border-color: rgb(194, 227, 233);
}

.pricing_section .pricing-insurance.active:hover, 
.pricing_section .pricing-card.active:hover {
	background-color: #fff;
    border-color: var(--accent);
}

.pricing_section .top-badge {
    position: absolute;
    top: 10px;
    right: -1px;
    background: #08cb141a;
    color: #028202;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 6px 0px 0px 6px;
}

.pricing_section .popular {
    position: absolute;
    top: -2px;
    right: 16px;
    background: orange;
    color: #fff;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 0px 0px 6px 6px;
}

.pricing_section .icon {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    margin: auto;
    background: #e0e0e0;
}

.pricing_section .pricing-insurance.active .icon, 
.pricing_section .pricing-card.active .icon {
    background: var(--accent);
    color: #fff;
}

.pricing_section .price {
    font-size: 28px;
    color: var(--accent);
    font-weight: 700;
}

.pricing_section .bottom {
    margin-top: 15px;
    padding-top: 10px;
    border-top: 1px dashed #d2d2d2;
    font-size: 14px;
    text-align: center;
}

.pricing_section .pricing-insurance.active .bottom, 
.pricing_section .pricing-card.active .bottom {
	border-top: 1px dashed #d3d3d3;
	color: #000;
}

.pricing-card .check-icon {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    opacity: 0;
    transform: scale(0.5);
    transition: 0.2s ease;
}

.pricing-card input[type="radio"]:checked ~ .check-icon {
    opacity: 1;
    transform: scale(1);
}

.js-insurance-card .check-icon {
    position: absolute;
    top: 15px;
    left: 15px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    opacity: 0;
    transform: scale(0.5);
    transition: 0.2s ease;
}


.js-insurance-card input[type="checkbox"]:checked ~ .check-icon {
    opacity: 1;
    transform: scale(1);
}

/*--right-section start--*/

.visa_checkout_page .payment_details_section {
    top: 20px;
}

.visa_checkout_page .offer_box {
    background: #f4a940;
    padding: 10px;
    border-radius: 8px;
    margin-bottom: 10px;
    font-size: 13px;
	box-shadow: 0 0 4px #333;
}

.visa_checkout_page .summary_card {
    background: #ffffff;
    color: #000000;
    padding: 15px;
    border-radius: 10px;
    box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.08), 12px 12px 88px 0 rgba(0, 0, 0, 0.08);
}

.visa_checkout_page .summary_card .total {
    font-size: 18px;
    margin-top: 5px;
    box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.08), 12px 12px 88px 0 rgba(0, 0, 0, 0.08);
    padding: 10px;
    border-radius: 6px;
}


.visa_checkout_page .payment_box {
    background: #fff;
    padding: 15px;
    border-radius: 10px;
    margin-top: 10px;
	box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.08), 12px 12px 88px 0 rgba(0, 0, 0, 0.08);
}

.visa_checkout_page .method {
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 6px;
    margin-top: 8px;
    cursor: pointer;
}

.visa_checkout_page .payment_box .theme-btn {
	outline: none;
	border: 0px;
	box-shadow: none;
}
.visa_checkout_page .payment_box .theme-btn:focus {
	outline: none;
	border: 0px;
	box-shadow: none;
}

.visa_checkout_page .method.active {
    border-color: var(--accent);
}

.visa_checkout_page .payment_box h6 {
	margin-bottom: 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid #d3d3d3;
	font-size: 18px;
	font-weight: 600;
	color: #000;
}

.payment-detail-header i {
    background-color: var(--bg-light-blue);
    color: var(--accent);
    padding: 12px;
    border-radius: 6px;
    margin-right: 4px;
    font-size: 18px;
    box-shadow: 0 0 2px;
}


.visa_checkout_page .secure_note {
    font-size: 12px;
    text-align: center;
    margin-top: 6px;
    color: #666;
}


.visa_checkout_page .support_box {
    background: #fff;
    padding: 10px;
    border-radius: 10px;
    margin-top: 10px;
    font-size: 13px;
}

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

@media (max-width: 991px) {
    .visa_checkout_page .payment_details_section {
        position: relative !important;
        top: 0 !important;
    }
}

/*--payment details css end--*/

/* payment detail section start */

.payment-detail-card {
  box-shadow: 1px 1px 6px 0 rgba(0, 0, 0, 0.08), 12px 12px 88px 0 rgba(0, 0, 0, 0.08);
}
.payment-detail-card .payment-detail-heading {
  font-size: 19px;
  font-weight: 700;

}
.payment-detail-card .payment-detail-header {
    padding: 14px;
    color: var(--primary);
}
.payment-detail-card .payment-detail-subheading {
    font-size: 12px;
    font-weight: 500;
    color: #333;
}
.payment-detail-card .payment-price-total {
  font-size: 16px;
  font-weight: 700;
  color: var(--accent);
}
.payment-detail-card .edit-btn {
    background-color: var(--accent)1c;
    color: var(--accent);
    border: 0;
    font-weight: 600;
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 4px;
    transition: all 0.3s ease-in-out;
    gap: 4px;
}
.payment-detail-card .edit-btn i {
    transition: all 0.3s ease-in-out;
}
.payment-detail-card .edit-btn:hover {
    background-color: #06163a21;
    border: 0;
    color: var(--accent);
}
.payment-detail-card .delete-btn {
    background-color: #06163a21;
    border: 0;
    color: var(--accent);
    font-weight: 600;
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 4px;
    transition: all 0.3s ease-in-out;
    gap: 4px;
}
.payment-detail-card .delete-btn i {
    transition: all 0.3s ease-in-out;
}
.payment-detail-card .delete-btn:hover {
    background-color: var(--accent)1c;
    color: var(--accent);
    border: 0;
}

.payment-detail-card .table td {
    font-size: 15px;
}
.payment-detail-card .table td,
.payment-detail-card .table th {
    padding:10px 13px;
}
.payment-detail-card .payment-detail-body {
    padding: 12px;
}
.payment-detail-card .payment-detail-title {
    font-size: 16px;
    font-weight: 700;
}
.payment-detail-card .payment-detail-title-two {
    font-weight: 500;
    font-size: 15px;
}
.payment-detail-card .payment-detail-data {
    padding-block: 8px;
}
.payment-detail-card .payment-inner-heading {
    font-size: 18px;
    font-weight: 700;
    padding-top: 10px;
}
.payment-detail-card .payment-check-card {
    border-radius:7px ;
    border: 1.5px solid #c9c9c9;
    cursor: pointer;
    transition: all 0.1s ease-in-out;
    gap: 10px;
    padding: 10px;
}
.payment-detail-input:checked ~ .payment-check-card {
    border: 2px solid var(--accent);
}
.payment-check-card .express-check {
    height: 16px;
    max-width: 16px;
    min-width: 16px;
    font-size: 12px;
    color: #ffff;
    background-color: #838383;
    margin-top: 5px;
}

.payment-detail-input:checked ~ .payment-check-card .express-check {
    background-color: var(--accent);
}

.payment-check-card .payment-check-title {
    font-weight: 700;
}

.payment-check-card .payment-check-price {
    color: var(--accent);
    font-weight: 700;
    font-size: 15px;
}

.payment-check-card .payment-check-para {
    font-size: 14px;
    font-weight: 500;
    margin-top: 1px;
}
.payment-detail-card .payment-total-main {
    padding: 8px;
    margin-top: 18px;
}
.payment-detail-card .payment-total-title {
    font-size: 17px;
    font-weight: 700;
}
.payment-detail-card .payment-total-price {
    font-size: 18px;
    font-weight: 700;
    color: var(--accent);
}
.payment-sidebar-card {
    padding:13px 10px;
    border: 1px solid #c9c9c9;
    cursor: pointer;
    gap: 10px;
    transition: all 0.1s ease-in-out;
}
.payment-sidebar-card img {
    height: 33px;
}
.payment-sidebar-card .payment-sidebar-check {
    height: 20px;
    min-width: 20px;
    max-width: 20px;
    border: 1px solid #b9b8b8;
}
.payment-sidebar-card .payment-sidebar-check::before {
    content: '';
    position: absolute;
    right: -3px;
    top: -1px;
    height: 0px;
    width: 9px;
    background-color: #f8f9fa;
    transition: all 0.3s ease-in-out;
}
.payment-sidebar-card .payment-sidebar-check img {
    height: 125%;
    width: 0%;  
    left: 2px;
    position: absolute;
    top: -6px;
    transition: all 0.3s ease-in-out;
}
.sidebar-input:checked ~ .payment-sidebar-card .payment-sidebar-check::before {
    height: 9px;
}
.sidebar-input:checked ~ .payment-sidebar-card .payment-sidebar-check img {
    width: 125%;
}
.sidebar-input:checked ~ .payment-sidebar-card {
    border: 1.8px solid var(--accent);
}
.payment-sidebar .payment-sidebar-inner {
    gap: 10px;
}
.payment-sidebar .payment-sidebar-terms {
    font-size: 14px;
}
.payment-sidebar .payment-sidebar-trusted {
    font-size: 13px;
    font-weight: 500;
    padding-top: 12px;
    margin-top: 12px;
}

.payment_details_main_applicant_vw {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 14px;
    box-shadow: 0 0 4px #dcdcdc;
    margin: 14px;
    border-radius: 10px;
}

.payment_details_main_applicant_vw .payment_details_main_applicant_left {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.payment_details_main_applicant_vw .payment_details_main_applicant_left .pay_dtls_mn_app_left_no {
    font-size: 16px;
    background: var(--accent);
    color: #fff;
    padding: 1px 8px;
    border-radius: 50px;
}

.payment_details_main_applicant_vw .payment_details_main_applicant_left .pay_dtls_mn_app_left_icon {
    background: #06163a21;
    color: var(--accent);
    padding: 10px 17px;
    border-radius: 50px;
    font-size: 22px;
}

.payment_details_main_applicant_vw .payment_details_main_applicant_left .pay_dtls_mn_app_infor span {
    font-size: 16px;
    font-weight: 700;
    color: #000;
    margin-bottom: 4px;
}

.payment_details_main_applicant_vw .payment_details_main_applicant_left .pay_dtls_mn_app_infor ul {
    padding: 0px;
    margin: 0;
    margin-top: 6px;
}

.payment_details_main_applicant_vw .payment_details_main_applicant_left .pay_dtls_mn_app_infor ul li {
    font-size: 14px;
    font-weight: 400;
    display: block;
    padding-bottom: 3px;
}

.payment_details_main_applicant_vw .payment_details_main_applicant_left .pay_dtls_mn_app_infor ul li i {
    padding-right: 4px;
    color: var(--accent);
}

.payment_details_main_applicant_vw .payment_details_main_applicant_left .pay_dtls_mn_app_infor ul li:last-child {
    padding-bottom: 0px;
}

.payment-detail-head {
    border-bottom: 1px dashed #d1d1d1;
    padding: 18px;
    margin-bottom: 12px;
    background: var(--accent);
    border-radius: 10px 10px 0px 0px;
}

.payment-detail-head i {
    background-color: var(--bg-light-blue);
    color: var(--accent);
    padding: 12px;
    border-radius: 6px;
    margin-right: 4px;
    font-size: 18px;
}

.payment-sidebar .payment-detail-head h6 {
    font-size: 19px;
    font-weight: 600;
    color: #fff;
    margin-bottom: 0;
    line-height: 36px;
}

.payment-detail-head .payment_details_types_trp {
    padding-left: 0;
    margin-bottom: 0;
    margin-top: 22px;
}

.payment-detail-head .payment_details_types_trp li {
    padding-bottom: 12px;
}

.payment-detail-head .payment_details_types_trp li:last-child {
    padding-bottom: 0px;
}

.payment-detail-head .payment_details_types_trp li span {
    font-size: 14px;
    color: #fff;
}

.payment-detail-head .payment_details_types_trp li strong {
    font-size: 14px;
    color: #fff;
}

.payment-detail-head .payment_details_types_trp li .pay_dtls_typ_last {
    font-size: 13px;
    border: 1px solid #fff;
    padding: 4px 10px;
    border-radius: 6px;
    color: var(--accent);
    background: #fff;
}

.payment_booking_bx .payment_booking_text {
	padding-bottom: 10px;
}

.payment_booking_bx .payment_booking_text span {
    font-size: 14px;
    color: #000;
}

.payment_booking_bx .payment_booking_text strong {
	font-size: 15px;
	color: #000;
}

.payment_booking_bx .payment_booking_total {
    border-top: 1px solid #d3d3d3;
    padding: 12px 0px;
    padding-bottom: 0;
    margin-top: 12px;
    margin-bottom: 0;
}

.payment_booking_bx .payment_booking_total span {
	font-size: 16px;
	color: #000;
}

.payment_booking_bx .payment_booking_total .total_prices {
	font-size: 22px;
	color: #000;
}

.payment_booking_bx .payment_booking_total strong {
	font-size: 15px;
	color: #000;
}

/*--payment-custome-checkbox--*/

.payment_checkbox{
    margin-top:12px;
    margin-bottom:16px;
}

.payment_checkbox input{
    display:none;
}

.payment_checkbox label {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    border-radius: 12px;
    background: #fff;
    font-size: 14px;
    font-weight: 500;
    transition: 0.3s ease;
}

.payment_checkbox .checkmark {
    width: 20px;
    height: 20px;
    border: 2px solid #cfcfcf;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    transition: 0.3s ease;
    flex-shrink: 0;
}

.payment_checkbox .checkmark i {
    color: #fff;
    font-size: 14px;
    transform: scale(0);
    transition: 0.3s ease;
}

.payment_checkbox input:checked + label{
    background:#fff;
    border-color:var(--accent);
    color:#000;
}

.payment_checkbox input:checked + label .checkmark{
    background:var(--accent);
    border-color:var(--accent);
}

.payment_checkbox input:checked + label .checkmark i{
    transform:scale(1);
}

/* payment detail section end */

/* document page section start */

.document-required-page-section {
    padding: 60px 0px;
    padding-top: 20px;
}
.document_page_main_img {
    padding: 10px 50px;
    box-shadow: var(--shadow-lg);
    border-radius: 20px;
}

.doc-main {
    padding: 65px 0;
}

.doc-check-card {
    background: #fff;
    border: 1px solid #e2e5e9;
    border-radius: 16px;
    padding: 25px;
    box-shadow: 0 8px 30px rgba(0,0,0,.07);
}

.doc-check-head {
    text-align: center;
    padding-bottom: 20px;
    border-bottom: 1px solid #eee;
}

.doc-check-icon {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    font-size: 27px;
}

.doc-check-head h2 {
    font-size: 25px;
    margin-bottom: 8px;
    color: #000;
}

.doc-check-head p {
    color: #727b88;
    font-size: 13px;
    line-height: 1.6;
    margin-bottom: 0;
}

.doc-card-title {
    background: var(--accent);
    color: #fff;
    text-align: center;
    border-radius: 7px;
    padding: 11px;
    font-size: 14px;
    font-weight: 700;
    margin: 22px 0;
}

.doc-item {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 13px 0;
    border-bottom: 1px dashed #ddd;
}

.doc-item:last-child {
    border-bottom: 0;
}

.doc-item-icon {
    min-width: 42px;
    height: 42px;
    border-radius: 10px;
    background: #f6f7f9;
    color: var(--accent);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.doc-item h4 {
    font-size: 14px;
    margin-bottom: 4px;
    color: #000;
}

.doc-item p {
    font-size: 12px;
    line-height: 1.5;
    color: #737b86;
    margin: 0;
}

.doc-contact-box {
    margin-top: 20px;
    background: #000;
    color: #fff;
    border-radius: 10px;
    padding: 17px;
    text-align: center;
}

.doc-contact-box p {margin: 0px 0;}
.doc-contact-box p a {
    margin: 6px 0;
    font-size: 14px;
    font-weight: 700;
}
.doc-contact-box p a:hover {
    text-decoration: underline;
}

.doc-content {
    padding-top: 5px;
}

.doc-content .doc-intro {
    font-size: 14px;
    color: #5e6672;
    line-height: 1.8;
    margin-bottom: 12px;
}

.doc-content h2 {
    font-size: 29px;
    line-height: 1.3;
    margin-bottom: 10px;
    color: #000;
}

.doc-content h2 span {
    color: #027c83;
}

.doc-content > p {
    color: #69727e;
    font-size: 14px;
    line-height: 1.8;
}

.doc-required-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
    margin-top: 25px;
}

.doc-required-box {
    border: 1px solid #e4e7eb;
    border-radius: 12px;
    padding: 20px;
    background: #fff;
    transition: .3s;
}

.doc-required-box:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0,0,0,.08);
    border-color: var(--accent);
}

.doc-required-number {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 13px;
}

.doc-required-box h3 {
    font-size: 17px;
    margin-bottom: 7px;
}

.doc-required-box p {
    font-size: 13px;
    color: #727a85;
    line-height: 1.6;
    margin: 0;
}

/* document page section end */

/* country search input section start */

.country_search_box {
    position: relative;
    width: 50%;
    margin: 0 auto 35px;
}

.country_search_box input {
    width: 100%;
    height: 52px;
    padding: 0 60px 0 20px;
    border: 1px solid #dfe5e7;
    border-radius: 30px;
    outline: none;
    font-size: 14px;
    transition: .3s ease;
}

.country_search_box input:focus {
    border-color: #027c83;
    box-shadow: 0 5px 20px rgba(2,124,131,.12);
}

.country_search_btn {
    position: absolute;
    right: 5px;
    top: 5px;
    width: 72px;
    height: 42px;
    border: 0;
    border-radius: 20px;
    background: #027c83;
    color: #fff;
    transition:all .4s ease-in-out;
}

.country_search_btn:hover {
    background: #000;
}

.country_card {
    padding: 22px 15px;
    margin-bottom: 20px;
    text-align: center;
    background: #fff;
    border: 1px solid #e4e8e9;
    border-radius: 12px;
    transition: .3s ease;
}

.country_card:hover {
    border-color: #027c83;
    transform: translateY(-4px);
    box-shadow: 0 8px 20px rgba(2,124,131,.12);
}

.country_card i {
    color: #027c83;
    font-size: 24px;
    margin-bottom: 10px;
}

.country_card h4 {
    margin: 0;
    font-size: 15px;
    color: #222;
}

.country_no_result {
    display: none;
    text-align: center;
    padding: 30px;
    color: #777;
}

.country_no_result i {
    color: #027c83;
    font-size: 30px;
    margin-bottom: 10px;
}

.country_no_result p {
    margin: 0;
    font-size: 14px;
}

/* country search input section end */

/* apply form card start */

.visa_price_section {
    padding-top: 30px;
    background: #fff;
}

.visa_price_section .visa_price_card {
    height: 100%;
    padding: 18px 16px;
    background: #fff;
    border: 1px solid #e2e7e8;
    border-radius: 12px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all .35s ease;
}

.visa_price_section .visa_price_card:hover {
    transform: translateY(-5px);
    border-color: var(--accent);
    box-shadow: 0 15px 35px rgba(2, 124, 131, .13);
}

.visa_price_section .visa_price_featured {
    border: 1px solid var(--accent);
    box-shadow: 0 10px 30px rgba(2, 124, 131, .12);
}

.visa_price_section .visa_price_featured:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--accent);
}

.visa_price_section .visa_price_badge {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 6px 11px;
    background: #027c83;
    color: #fff;
    border-radius: 20px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .4px;
}

.visa_price_section .visa_price_badge i {
    font-size: 9px;
    margin-right: 3px;
}

.visa_price_section .visa_price_top {
    margin-bottom: 13px;
}

.visa_price_section .visa_price_tag {
    color: #027c83;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
}

.visa_price_section .visa_price_card h3 {
    color: #111;
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 10px;
}

.visa_price_section .visa_price_card h3 em {
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    color: #777;
}

.visa_price_section .visa_price_desc {
    min-height: 46px;
    color: #60686b;
    font-size: 13px;
    line-height: 1.65;
    margin-bottom: 10px;
}

.visa_price_section .visa_price_amount {
    color: #111;
    font-size: 30px;
    font-weight: 800;
    line-height: 1;
    margin-bottom: 16px;
}

.visa_price_section .visa_price_amount small {
    color: #7a8184;
    font-size: 12px;
    font-weight: 500;
}

.visa_price_section .visa_price_delivery {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #3f4749;
    font-size: 12px;
    margin-bottom: 22px;
}

.visa_price_section .visa_price_delivery span {
    width: 8px;
    height: 8px;
    background: #fff;
    padding: 3px;
    border: 2px solid #18a957;
    border-radius: 50%;
    flex-shrink: 0;
}

.visa_price_section .visa_price_btn {
    margin-top: auto;
    height: 47px;
    border: 1px solid #027c83;
    border-radius: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: #027c83;
    background: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    box-shadow: none;
    outline: none;
    transition: all .3s ease;
}

.visa_price_section .visa_price_btn i {
    font-size: 12px;
    transition: transform .3s ease;
}

.visa_price_section .visa_price_btn:focus {
    box-shadow: none;
    outline: none;
}
.visa_price_section .visa_price_btn:hover {
    background: #027c83;
    color: #fff;
}

.visa_price_section .visa_price_btn:hover i {
    transform: translateX(4px);
}

.visa_price_section .visa_price_featured .visa_price_btn {
    background: #027c83;
    color: #fff;
}

.visa_price_section .visa_price_featured .visa_price_btn:hover {
    background: #000;
    border-color: #000;
}

@media (max-width: 767px) {

    .visa_price_section {
        padding: 35px 0;
    }

    .visa_price_section .visa_price_card {
        min-height: 340px;
        padding: 23px 20px;
    }

    .visa_price_section .visa_price_card h3 {
        font-size: 20px;
    }

    .visa_price_section .visa_price_amount {
        font-size: 27px;
    }

}

/* apply form card end */

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

@media (max-width:991px){

.price-section .tab-main .tabs__nav-list {
    gap: 12px;
    display: block !important;
    white-space: nowrap;
    overflow: scroll !important;
}
.tab-main .tabs__nav-item {
    display: inline-block;
    width: fit-content !important;
}

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

    .price-section .tab-main {
        width: 100%;
    }
    .price-section .tab-main .tabs__nav-list {
        gap: 10px;
    }
    .tab-main .tabs__nav-item {
        font-size: 15px;
    }
    .pricing-card .pricing-header {
        font-size: 15px;
    }
    .pricing-card .pricing-header span {
        font-size: 22px;
    }
    .pricing-card {
        padding: 0;
    }
    .pricing-card .price-card-data {
        padding-block: 11px;
    }
    .pricing-card .dubai-visa-price {
        font-size:35px;
    }
    .visa-form-section .form-btn {
        font-size: 15px;
        height: 43px;
        width: 236px;
    }
}

@media (max-width:480px){
	
	.pricing-card .price-card-inner {
		font-size: 13px;
	}
	.pricing-card .dubai-visa-price {
		font-size: 30px;
	}
	.pricing-card .price-apply-btn {
		font-size: 15px;
	}
	.tab-main .tabs__nav-item {
		font-size: 15px;
		padding: 8px 16px;
	}

}

/* price section media query end */

/* =========== Custom Navbar - 1199px Breakpoint =========== */

.custom-navbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.custom-navbar .navbar-brand {
    padding-top: 0;
    padding-bottom: 0;
}

.custom-navbar .navbar-toggler {
    padding: 6px 10px;
    border: 0;
    box-shadow: none !important;
}

.custom-navbar .navbar-collapse {
    flex-basis: 100%;
    flex-grow: 1;
}


/* =========== Desktop - 1200px & Above ============ */

@media (min-width: 1200px) {

    .navbar-expand-lg .navbar-collapse {
        display: flex;
        flex-basis: auto;
    }

    .custom-navbar {
        flex-wrap: nowrap;
    }

    .custom-navbar .navbar-toggler {
        display: none;
    }

    .custom-navbar .navbar-collapse {
        display: flex !important;
        flex-basis: auto;
    }

    .custom-navbar .navbar-nav {
        display: flex;
        flex-direction: row;
        align-items: center;
        margin-left: auto;
    }
}


/* ============ Tablet + Mobile - Below 1200px ============ */

@media (max-width: 1199.98px) {

    .custom-navbar .navbar-toggler {
        display: block;
    }

    .custom-navbar .navbar-collapse {
        width: 100%;
    }

    .custom-navbar .navbar-nav {
        width: 100%;
        margin-top: 15px;
    }

    .custom-navbar .nav-item {
        width: 100%;
    }

    .custom-navbar .nav-link {
        padding: 10px 0;
    }

    .custom-navbar .nav_chat_button {
        display: inline-flex;
        margin-top: 10px;
        margin-bottom: 10px;
    }
}

@media (max-width: 1199.98px) {
    .hero-banner {
        min-height: auto;
        padding: 5rem 0;
    }

    .process-step::after {
        width: 80%;
    }
    .trust_item span {
        font-size: 13px;
    }
    .trust_item i {
        font-size: 15px;
        width: 30px;
        height: 30px;
    }
}

@media (max-width: 991.98px) {
    .main-header .navbar {
        padding: 0;
        position: relative;
    }
    .main-header .navbar #mainNav {
        position: absolute;
        top: 75px;
        left: 0;
        right: 0;
        background: #fff;
        z-index: 100;
        width: 100%;
        padding: 10px;
        padding-bottom: 20px;
        border-radius: 0px 0px 10px 10px;
        box-shadow: 0 0 4px #333;
    }
    .nav_chat_button {
        margin-left: 4px;
        width: fit-content;
    }
    .main-header .nav-link {
        padding: 12px 14px !important;
        padding-left: 6px !important;
    }
    .main-header .navbar-brand {
        width: 152px;
        height: 72px;
    }
    .navbar-toggler {
        box-shadow: none;
        outline: none;
    }
    .navbar-toggler:focus {
        box-shadow: none;
        outline: none;
    }
    .top-bar {
        display: none;
    }

}

@media (max-width: 991.98px) {
    .section-padding {
        padding: 3.5rem 0;
    }

    .section-padding-lg {
        padding: 4rem 0;
    }

    .page-hero {
        padding: 3.5rem 0;
    }

    .main-header .nav-link {
        padding: 12px 14px !important;
    }

    .main-header .nav-link::after {
        display: none;
    }

    .main-header .search-trigger {
        padding: 12px 10px;
    }

    .hero-banner .hero-visa-cards {
        flex-direction: column;
    }

    .hero-banner .hero-visa-card {
        min-width: 100%;
    }

    .visa-search-widget {
        margin-top: 1.5rem;
    }

    .metrics-section .metric-item .number {
        font-size: 2rem;
    }

    .mega-menu {
        display: none;
    }

    .process-step::after {
        display: none;
    }

    .trust_item {
        width: 50%;
        padding: 10px;
        border-bottom: 1px solid #9d9d9d;
    }
    .trust_item.trust_mobile_border {
        border-right: 0px;
        border-bottom: 1px solid #9d9d9d;
    }
    .trust_item span {
        font-size: 12px;
    }
    .urgent_trust_bar {
        position: relative;
        margin-top: -34px;
        background: #fff;
        border-radius: 10px;
        padding: 0;
        gap: 0;
        justify-content: start;
        width: 100%;
    }
    .urgent_trust_bar .trust_item:nth-child(3) {
        border-bottom: 0px solid #027c83;
    }

    .urgent_trust_bar .trust_item:nth-child(5) {
        border-bottom: 0px solid #027c83;
    }
    .trust_item.trust_mobile_view {display: none;}
    .trust_item span {
        font-size: 13px;
    }
    .trust_item i {
        font-size: 14px;
        width: 32px;
        height: 32px;
    }
    .country-covered-circle {
        position: absolute;
        top: -2%;
        right: 0%;
        width: 120px;
        height: 120px;
    }
    .country-covered-circle .circle-content {
        width: 82px;
        height: 82px;
    }
    .country-covered-circle .circle-content h2 {
        margin: 0;
        font-size: 22px;
    }
    .country-covered-circle .circle-content span {
        font-size: 9px;
    }
    .country-covered-circle svg {
        width: 170px;
        height: 170px;
        animation: rotateCircle 15s linear infinite;
    }
    .feature-circle .circle {
        width: 46px;
        height: 46px;
    }
    .feature-circle h6 {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .feature-circle p {
        font-size: 13px;
    }
    .hero-banner {
        height: 580px;
    }
    .hero-banner h1 {
        font-size: 2.4rem;
    }
    .hero-banner p {
        font-size: 14px;
        margin-bottom: 1rem;
    }

    .page-hero h1 {
        font-size: 36px;
    }
    .document-required-page-section {
        padding: 36px 0px;
        padding-top: 10px;
    }

    .document_page_main_img {
        padding: 0px;
        box-shadow: none;
        border-radius: 20px;
    }

}

@media (max-width: 767.98px) {

    .trust_item {
        width: 50%;
        padding: 10px;
        border-bottom: 1px solid #9d9d9d;
    }
    .trust_item.trust_mobile_border {
        border-right: 0px;
        border-bottom: 1px solid #9d9d9d;
    }
    .trust_item span {
        font-size: 12px;
    }
    .urgent_trust_bar {
        position: relative;
        margin-top: 24px;
        background: #fff;
        border-radius: 10px;
        padding: 0;
        gap: 0;
        justify-content: start;
        width: 100%;
    }
    .urgent_trust_bar .trust_item:nth-child(3) {
        border-bottom: 0px solid #027c83;
    }
    .urgent_trust_bar .trust_item:nth-child(5) {
        border-bottom: 0px solid #027c83;
    }
    .trust_item.trust_mobile_view {display: none;}
    .trust_item span {
        font-size: 13px;
    }
    .trust_item i {
        font-size: 14px;
        width: 32px;
        height: 32px;
    }
    .section-padding {
        padding: 2.5rem 0;
    }
    .hero-banner {
        height: 560px;
    }
    .hero-banner h1 {
        font-size: 1.7rem;
    }
    .hero-banner p {
        font-size: 14px;
        margin-bottom: 1rem;
    }
    .visa-search-widget {
        padding: 20px;
    }
    .country-covered-circle {
        position: absolute;
        top: -2%;
        right: 0%;
        width: 120px;
        height: 120px;
    }
    .country-covered-circle .circle-content {
        width: 82px;
        height: 82px;
    }
    .country-covered-circle .circle-content h2 {
        margin: 0;
        font-size: 22px;
    }
    .country-covered-circle .circle-content span {
        font-size: 9px;
    }
    .country-covered-circle svg {
        width: 170px;
        height: 170px;
        animation: rotateCircle 15s linear infinite;
    }
    .feature-circle .circle {
        width: 46px;
        height: 46px;
    }
    .feature-circle h6 {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .feature-circle p {
        font-size: 13px;
    }

    .page-hero {
        padding: 2.5rem 0 2rem;
    }

    .hero-banner {
        padding: 3rem 0;
    }

    .top-bar .info-text {
        font-size: 0.72rem;
    }

    .top-bar .cta-btn-top {
        font-size: 0.7rem;
        padding: 3px 10px;
    }

    .metrics-section .metric-item .number {
        font-size: 1.6rem;
    }

    .footer {
        padding-top: 2.5rem;
    }

    .cta-section {
        padding: 3rem 0;
    }

    .search-overlay .search-input {
        font-size: 1.5rem;
    }

    .pricing-card.featured {
        transform: none;
    }

    .pricing_section_toparea {
        display: block !important;
    }

    .pricing_section h5 {
        font-size: 18px;
        display: block;
        margin-bottom: 12px !important;
    }

    .pricing_section .badge_price {
        display: block;
        width: fit-content;
        margin-left: auto;
    }

    .pricing_section .price {
        font-size: 26px;
    }

    .payment-sidebar .payment-detail-head h6 {
        font-size: 18px;
    }

    .payment-detail-card .payment-detail-heading {
        font-size: 18px;
    }

    .breadcrumb-section .breadcrumb-list {
        gap: 8px;
        white-space: nowrap;
        overflow: scroll;
        display: block;
    }

    .blog-detail-section .blog-detail-img {
        height: 310px;
    }

    .blog-detail-section .blog-detail-heading {
        font-size: 22px;
    }

    .blog_details_main_top_area .blog_dtls_main_top_area_bxs .blog_detls_right_area {
        display: block;
    }

    .blog_details_main_top_area .blog_dtls_main_top_area_bxs .blog_detls_right_area .blog_details_main_writer_text {
        font-size: 15px;
        margin-bottom: 12px;
    }

    .visa_blog_details_right {
        flex-direction: row-reverse;
        display: block !important;
    }

    .visa-cta-btn {
        margin-bottom: 12px;
        width: 100%;
        text-align: center;
        display: inline-flex;
        justify-content: center;
        align-items: center;
    }

    .section-padding.blog-detail-content-main {
        padding-top: 20px;
    }

    .blog-detail-content-main .accordion-body #toc {
        height: auto;
        overflow-y: auto;
        scrollbar-width: thin;
        scrollbar-color: #acacac #f1f1f1;
    }

    .blog_details_table.sticky-top {
        margin-bottom: 22px;
    }

    .card-custom.blog_sidebar_main_cards {
        margin-top: 22px;
    }

    .footer .footer_logo_brand {
        width: 128px;
        margin-bottom: 20px;
    }

    .footer h5 {
        font-size: 1.02rem;
    }

    .footer p {
        font-size: 0.80rem;
        line-height: 1.7;
    }

    .accordion-custom .accordion-button {
        font-size: 0.86rem;
    }

    .accordion-custom .accordion-body {
        font-size: 0.84rem;
    }

    .accordion-custom .accordion-body P {
        font-size: 0.84rem;
    }
    .accordion-custom .accordion-body ul li {
        font-size: 0.84rem;
    }
    .accordion-custom .accordion-body ol li {
        font-size: 0.84rem;
    }

    .document-required-page-section {
        padding: 36px 0px;
        padding-top: 10px;
    }

    .document_page_main_img {
        padding: 0px;
        box-shadow: none;
        border-radius: 20px;
    }

}

@media (max-width: 575.98px) {

    .document-required-page-section {
        padding: 36px 0px;
        padding-top: 10px;
    }

    .document_page_main_img {
        padding: 0px;
        box-shadow: none;
        border-radius: 20px;
    }
    .section-title-wrap h2 {
        font-size: 1.3rem;
    }

    .hero-banner h1 {
        font-size: 1.5rem;
    }

    .hero-banner p {
        font-size: 13px;
        margin-bottom: 1rem;
    }

    .visa-search-widget {
        padding: 1rem;
    }

    .page-hero h1 {
        font-size: 1.4rem;
    }

    .page-hero p {
        font-size: 13px;
    }

    .contact-card {
        padding: 1rem;
    }

    .team-card .team-img {
        width: 90px;
        height: 90px;
    }
    .trust_item {
        width: 50%;
        padding: 10px;
        border-bottom: 1px solid #9d9d9d;
    }
    .trust_item.trust_mobile_border {
        border-right: 0px;
        border-bottom: 1px solid #9d9d9d;
    }
    .trust_item span {
        font-size: 12px;
    }
    .urgent_trust_bar {
        position: relative;
        margin-top: 24px;
        background: #fff;
        border-radius: 10px;
        padding: 0;
        gap: 0;
        justify-content: start;
        width: 100%;
    }

    .urgent_trust_bar .trust_item:nth-child(3) {
        border-bottom: 0px solid #027c83;
    }

    .urgent_trust_bar .trust_item:nth-child(5) {
        border-bottom: 0px solid #027c83;
    }

    .hero-banner .hero-tag {
        font-size: 11px;
    }

    .country-covered-circle {
        position: absolute;
        top: -2%;
        right: 3%;
        width: 82px;
        height: 82px;
    }
    .country-covered-circle .circle-content {
        width: 56px;
        height: 56px;
    }
    .country-covered-circle .circle-content h2 {
        margin: 0;
        font-size: 15px;
    }
    .country-covered-circle .circle-content span {
        font-size: 7px;
    }

    .section-title-wrap p {
        font-size: 13px;
    }
    .section-title-wrap {
        margin-bottom: 2rem;
    }

    .visa_checkout_page .info_block .info_block_text {
        font-size: 15px;
    }
    .visa_checkout_main_toparea {
        display: block !important;
    }
    .visa_checkout_main_toparea .visa_checkout_main_top {
        margin-bottom: 12px;
    }
    .visa_checkout_mian_boxs {
        line-height: 21px;
    }
    .visa_checkout_main_top h6 {
        font-size: 16px;
    }
    .visa_checkout_main_top .visa_checkout_users_icon {
        font-size: 17px;
        width: 40px;
        min-width: 40px;
        height: 40px;
    }
    .visa_checkout_main_left button {
        outline: none;
        box-shadow: none;
        transform: unset;
        display: block;
        width: 100%;
    }
    .applicant_top_name_txt {
        font-size: 15px;
    }
    .pricing_section .icon {
        width: 40px;
        height: 40px;
        border-radius: 8px;
        font-size: 18px;
    }

    .pricing_section .price {
        font-size: 24px;
    }

    .payment-detail-head .payment_details_types_trp li span {
        font-size: 13px;
    }
    .payment-detail-head .payment_details_types_trp li .pay_dtls_typ_last {
        font-size: 12px;
        padding: 4px 6px;
    }
    .payment_booking_bx .payment_booking_text span {
        font-size: 13px;
    }
    .payment-sidebar .payment-detail-head h6 {
        font-size: 17px;
    }
    .payment-detail-card .payment-detail-heading {
        font-size: 17px;
    }
    .payment-detail-head i {
        padding: 10px;
    }
    .payment-detail-header i {
        padding: 10px;
    }
    .payment-detail-card .payment-detail-subheading {
        font-size: 11px;
    }

    .content-card h2 {
        font-size: 20px;
    }
    .content-card h3 {
        font-size: 18px;
    }

    .blog-detail-section .blog-detail-img {
        height: 310px;
    }
    .blog-detail-section .blog-detail-heading {
        font-size: 20px;
    }

    .footer ul li a {
        font-size: 13px;
    }

}