/**
 * Visa Selector Widget Styles
 */

.visa-selector-widget {
    width: 100%;
    /*max-width: 800px;*/
    /*margin: 40px auto;*/
    /*padding: 20px;*/
}



.visa-selector-card {
    background: #ffffff;
    border-radius: 20px;
    padding: 40px 50px;
    transition: box-shadow 0.3s ease;
}

.visa-selector-card:hover {
    /*box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);*/
}

#source-country{
    padding-left: 60px;
}

/* 3 equal columns: From | To | Button */
.visa-selector-card-home .visa-selector-form {
    display: grid;
    grid-template-columns: 2fr 2fr 1fr; /* equal widths */
    gap: 18px;
    align-items: end; /* aligns bottoms */
}

/* Remove default spacing that breaks alignment */
.visa-selector-card-home .visa-selector-form .form-group {
    margin-bottom: 0 !important;
}

/* Make inputs/selects full width */
.visa-selector-card-home .visa-selector-form input,
.visa-selector-card-home .visa-selector-form select, #email-form {
    width: 100% !important;
    min-height: 60px !important;
    border-radius: 999px;
    padding: 0 24px;
    box-sizing: border-box;
}

#email-form{
    font-size: 16px;
    border: 1px solid #dee2e6;
}

    /* Make button full width and match height */
.visa-selector-card-home .visa-selector-form button,
.visa-selector-card-home .visa-selector-form .btn {
    width: 100% !important;
    min-height: 60px !important;
    border-radius: 999px;
    white-space: nowrap;
    box-sizing: border-box;
}

/* Add top padding to button container to align with inputs */
/* This accounts for the label height above the select fields */
.visa-selector-card-home .visa-selector-form > *:last-child {
    padding-top: 32px; /* Adjust this value to match your label + margin height */
}

/* If button is wrapped in form-group */
.visa-selector-card-home .visa-selector-form .form-group:has(button),
.visa-selector-card-home .visa-selector-form .form-group:has(.btn) {
    padding-top: 32px;
}

/* Mobile: stack vertically */
@media (max-width: 768px) {
    .visa-selector-card-home .visa-selector-form {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .visa-selector-card-home .visa-selector-form > *:last-child,
    .visa-selector-card-home .visa-selector-form .form-group:has(button),
    .visa-selector-card-home .visa-selector-form .form-group:has(.btn) {
        padding-top: 0;
    }
}

.visa-selector-header {
    text-align: center;
    margin-bottom: 20px;
}

.visa-selector-title {
    font-size: 28px;
    font-weight: 600;
    color: #1D211D;
    margin-bottom: 8px;
    line-height: 50px;
    margin-top: 0;
}

.selector-email-card .visa-selector-title {
    font-size: 22px;
    font-weight: 600;
    line-height: 30px;
    text-align: left;
}

.visa-selector-subtitle {
    font-size: 16px;
    color: #727272;
    margin: 0;
}

.visa-selector-form {
    width: 100%;
}

.visa-selector-widget .form-group {
    margin-bottom: 20px;
    position: relative;
}

.visa-selector-widget .form-label {
    display: block;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    line-height: 28px;
    margin-bottom: 8px;
}

.visa-selector-widget .select-wrapper {
    position: relative;
    width: 100%;
}

/* Make destination wrapper fully clickable */
#destination-country-wrapper {
    cursor: pointer;
    user-select: none;
}

/* Make source wrapper fully clickable */
#source-country-wrapper {
    cursor: pointer;
    user-select: none;
}

#source-country {
    pointer-events: none;
}

.visa-select {
    width: 100%;
    padding: 14px 60px 14px 60px;
    font-weight: 400;
    color: #1D1E21;
    appearance: none;
    cursor: pointer;
    transition: all 0.3s ease;
    background: #FFFFFF;
    border: 1px solid #E3DBD8;
    border-radius: 50px;
    font-size: 16px;
    line-height: 30px;

}

.visa-select:hover {
    border-color: #b0b0b0;
}

.visa-select:focus {
    outline: none;
    border-color: #1b365d;
    box-shadow: 0 0 0 3px rgba(43, 92, 230, 0.1);
}

.select-wrapper::after {
    content: '';
    position: absolute;
    right: 25px;
    top: 45%;
    width: 10px;
    height: 10px;
    border-right: 1px solid #E3DBD8;
    border-bottom: 1px solid #E3DBD8;
    transform: translateY(-50%) rotate(45deg);
    pointer-events: none;
}

/* Hide native dropdown arrow for destination select with custom dropdown */
#destination-country {
    pointer-events: none;
}

#destination-country + .select-flag {
    pointer-events: none;
}

/* Hide native dropdown for source country too */
#source-country {
    pointer-events: none;
}

#source-country + .select-flag {
    pointer-events: none;
}

.form-group .select-wrapper {
    cursor: pointer;
}

.select-flag {
    position: absolute;
    left: 25px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

.flag-icon {
    display: inline-block;
    font-size: 26px;
}

.d-none{
    display: none !important;
}

/* All Country Flags */
.flag-AF::before { content: '🇦🇫'; } /* Afghanistan */
.flag-AL::before { content: '🇦🇱'; } /* Albania */
.flag-DZ::before { content: '🇩🇿'; } /* Algeria */
.flag-AD::before { content: '🇦🇩'; } /* Andorra */
.flag-AO::before { content: '🇦🇴'; } /* Angola */
.flag-AG::before { content: '🇦🇬'; } /* Antigua and Barbuda */
.flag-AR::before { content: '🇦🇷'; } /* Argentina */
.flag-AM::before { content: '🇦🇲'; } /* Armenia */
.flag-AU::before { content: '🇦🇺'; } /* Australia */
.flag-AT::before { content: '🇦🇹'; } /* Austria */
.flag-AZ::before { content: '🇦🇿'; } /* Azerbaijan */
.flag-BS::before { content: '🇧🇸'; } /* Bahamas */
.flag-BH::before { content: '🇧🇭'; } /* Bahrain */
.flag-BD::before { content: '🇧🇩'; } /* Bangladesh */
.flag-BB::before { content: '🇧🇧'; } /* Barbados */
.flag-BY::before { content: '🇧🇾'; } /* Belarus */
.flag-BE::before { content: '🇧🇪'; } /* Belgium */
.flag-BZ::before { content: '🇧🇿'; } /* Belize */
.flag-BJ::before { content: '🇧🇯'; } /* Benin */
.flag-BT::before { content: '🇧🇹'; } /* Bhutan */
.flag-BO::before { content: '🇧🇴'; } /* Bolivia */
.flag-BA::before { content: '🇧🇦'; } /* Bosnia and Herzegovina */
.flag-BW::before { content: '🇧🇼'; } /* Botswana */
.flag-BR::before { content: '🇧🇷'; } /* Brazil */
.flag-BN::before { content: '🇧🇳'; } /* Brunei */
.flag-BG::before { content: '🇧🇬'; } /* Bulgaria */
.flag-BF::before { content: '🇧🇫'; } /* Burkina Faso */
.flag-BI::before { content: '🇧🇮'; } /* Burundi */
.flag-KH::before { content: '🇰🇭'; } /* Cambodia */
.flag-CM::before { content: '🇨🇲'; } /* Cameroon */
.flag-CA::before { content: '🇨🇦'; } /* Canada */
.flag-CV::before { content: '🇨🇻'; } /* Cape Verde */
.flag-CF::before { content: '🇨🇫'; } /* Central African Republic */
.flag-TD::before { content: '🇹🇩'; } /* Chad */
.flag-CL::before { content: '🇨🇱'; } /* Chile */
.flag-CN::before { content: '🇨🇳'; } /* China */
.flag-CO::before { content: '🇨🇴'; } /* Colombia */
.flag-KM::before { content: '🇰🇲'; } /* Comoros */
.flag-CG::before { content: '🇨🇬'; } /* Congo */
.flag-CD::before { content: '🇨🇩'; } /* Congo (DRC) */
.flag-CR::before { content: '🇨🇷'; } /* Costa Rica */
.flag-CI::before { content: '🇨🇮'; } /* Côte d'Ivoire */
.flag-HR::before { content: '🇭🇷'; } /* Croatia */
.flag-CU::before { content: '🇨🇺'; } /* Cuba */
.flag-CY::before { content: '🇨🇾'; } /* Cyprus */
.flag-CZ::before { content: '🇨🇿'; } /* Czech Republic */
.flag-DK::before { content: '🇩🇰'; } /* Denmark */
.flag-DJ::before { content: '🇩🇯'; } /* Djibouti */
.flag-DM::before { content: '🇩🇲'; } /* Dominica */
.flag-DO::before { content: '🇩🇴'; } /* Dominican Republic */
.flag-EC::before { content: '🇪🇨'; } /* Ecuador */
.flag-EG::before { content: '🇪🇬'; } /* Egypt */
.flag-SV::before { content: '🇸🇻'; } /* El Salvador */
.flag-GQ::before { content: '🇬🇶'; } /* Equatorial Guinea */
.flag-ER::before { content: '🇪🇷'; } /* Eritrea */
.flag-EE::before { content: '🇪🇪'; } /* Estonia */
.flag-ET::before { content: '🇪🇹'; } /* Ethiopia */
.flag-FJ::before { content: '🇫🇯'; } /* Fiji */
.flag-FI::before { content: '🇫🇮'; } /* Finland */
.flag-FR::before { content: '🇫🇷'; } /* France */
.flag-GA::before { content: '🇬🇦'; } /* Gabon */
.flag-GM::before { content: '🇬🇲'; } /* Gambia */
.flag-GE::before { content: '🇬🇪'; } /* Georgia */
.flag-DE::before { content: '🇩🇪'; } /* Germany */
.flag-GH::before { content: '🇬🇭'; } /* Ghana */
.flag-GR::before { content: '🇬🇷'; } /* Greece */
.flag-GD::before { content: '🇬🇩'; } /* Grenada */
.flag-GT::before { content: '🇬🇹'; } /* Guatemala */
.flag-GN::before { content: '🇬🇳'; } /* Guinea */
.flag-GW::before { content: '🇬🇼'; } /* Guinea-Bissau */
.flag-GY::before { content: '🇬🇾'; } /* Guyana */
.flag-HT::before { content: '🇭🇹'; } /* Haiti */
.flag-HN::before { content: '🇭🇳'; } /* Honduras */
.flag-HU::before { content: '🇭🇺'; } /* Hungary */
.flag-IS::before { content: '🇮🇸'; } /* Iceland */
.flag-IN::before { content: '🇮🇳'; } /* India */
.flag-ID::before { content: '🇮🇩'; } /* Indonesia */
.flag-IR::before { content: '🇮🇷'; } /* Iran */
.flag-IQ::before { content: '🇮🇶'; } /* Iraq */
.flag-IE::before { content: '🇮🇪'; } /* Ireland */
.flag-IL::before { content: '🇮🇱'; } /* Israel */
.flag-IT::before { content: '🇮🇹'; } /* Italy */
.flag-JM::before { content: '🇯🇲'; } /* Jamaica */
.flag-JP::before { content: '🇯🇵'; } /* Japan */
.flag-JO::before { content: '🇯🇴'; } /* Jordan */
.flag-KZ::before { content: '🇰🇿'; } /* Kazakhstan */
.flag-KE::before { content: '🇰🇪'; } /* Kenya */
.flag-KI::before { content: '🇰🇮'; } /* Kiribati */
.flag-KP::before { content: '🇰🇵'; } /* North Korea */
.flag-KR::before { content: '🇰🇷'; } /* South Korea */
.flag-KW::before { content: '🇰🇼'; } /* Kuwait */
.flag-KG::before { content: '🇰🇬'; } /* Kyrgyzstan */
.flag-LA::before { content: '🇱🇦'; } /* Laos */
.flag-LV::before { content: '🇱🇻'; } /* Latvia */
.flag-LB::before { content: '🇱🇧'; } /* Lebanon */
.flag-LS::before { content: '🇱🇸'; } /* Lesotho */
.flag-LR::before { content: '🇱🇷'; } /* Liberia */
.flag-LY::before { content: '🇱🇾'; } /* Libya */
.flag-LI::before { content: '🇱🇮'; } /* Liechtenstein */
.flag-LT::before { content: '🇱🇹'; } /* Lithuania */
.flag-LU::before { content: '🇱🇺'; } /* Luxembourg */
.flag-MK::before { content: '🇲🇰'; } /* North Macedonia */
.flag-MG::before { content: '🇲🇬'; } /* Madagascar */
.flag-MW::before { content: '🇲🇼'; } /* Malawi */
.flag-MY::before { content: '🇲🇾'; } /* Malaysia */
.flag-MV::before { content: '🇲🇻'; } /* Maldives */
.flag-ML::before { content: '🇲🇱'; } /* Mali */
.flag-MT::before { content: '🇲🇹'; } /* Malta */
.flag-MH::before { content: '🇲🇭'; } /* Marshall Islands */
.flag-MR::before { content: '🇲🇷'; } /* Mauritania */
.flag-MU::before { content: '🇲🇺'; } /* Mauritius */
.flag-MX::before { content: '🇲🇽'; } /* Mexico */
.flag-FM::before { content: '🇫🇲'; } /* Micronesia */
.flag-MD::before { content: '🇲🇩'; } /* Moldova */
.flag-MC::before { content: '🇲🇨'; } /* Monaco */
.flag-MN::before { content: '🇲🇳'; } /* Mongolia */
.flag-ME::before { content: '🇲🇪'; } /* Montenegro */
.flag-MA::before { content: '🇲🇦'; } /* Morocco */
.flag-MZ::before { content: '🇲🇿'; } /* Mozambique */
.flag-MM::before { content: '🇲🇲'; } /* Myanmar */
.flag-NA::before { content: '🇳🇦'; } /* Namibia */
.flag-NR::before { content: '🇳🇷'; } /* Nauru */
.flag-NP::before { content: '🇳🇵'; } /* Nepal */
.flag-NL::before { content: '🇳🇱'; } /* Netherlands */
.flag-NZ::before { content: '🇳🇿'; } /* New Zealand */
.flag-NI::before { content: '🇳🇮'; } /* Nicaragua */
.flag-NE::before { content: '🇳🇪'; } /* Niger */
.flag-NG::before { content: '🇳🇬'; } /* Nigeria */
.flag-NO::before { content: '🇳🇴'; } /* Norway */
.flag-OM::before { content: '🇴🇲'; } /* Oman */
.flag-PK::before { content: '🇵🇰'; } /* Pakistan */
.flag-PW::before { content: '🇵🇼'; } /* Palau */
.flag-PS::before { content: '🇵🇸'; } /* Palestine */
.flag-PA::before { content: '🇵🇦'; } /* Panama */
.flag-PG::before { content: '🇵🇬'; } /* Papua New Guinea */
.flag-PY::before { content: '🇵🇾'; } /* Paraguay */
.flag-PE::before { content: '🇵🇪'; } /* Peru */
.flag-PH::before { content: '🇵🇭'; } /* Philippines */
.flag-PL::before { content: '🇵🇱'; } /* Poland */
.flag-PT::before { content: '🇵🇹'; } /* Portugal */
.flag-QA::before { content: '🇶🇦'; } /* Qatar */
.flag-RO::before { content: '🇷🇴'; } /* Romania */
.flag-RU::before { content: '🇷🇺'; } /* Russia */
.flag-RW::before { content: '🇷🇼'; } /* Rwanda */
.flag-KN::before { content: '🇰🇳'; } /* Saint Kitts and Nevis */
.flag-LC::before { content: '🇱🇨'; } /* Saint Lucia */
.flag-VC::before { content: '🇻🇨'; } /* Saint Vincent and the Grenadines */
.flag-WS::before { content: '🇼🇸'; } /* Samoa */
.flag-SM::before { content: '🇸🇲'; } /* San Marino */
.flag-ST::before { content: '🇸🇹'; } /* Sao Tome and Principe */
.flag-SA::before { content: '🇸🇦'; } /* Saudi Arabia */
.flag-SN::before { content: '🇸🇳'; } /* Senegal */
.flag-RS::before { content: '🇷🇸'; } /* Serbia */
.flag-SC::before { content: '🇸🇨'; } /* Seychelles */
.flag-SL::before { content: '🇸🇱'; } /* Sierra Leone */
.flag-SG::before { content: '🇸🇬'; } /* Singapore */
.flag-SK::before { content: '🇸🇰'; } /* Slovakia */
.flag-SI::before { content: '🇸🇮'; } /* Slovenia */
.flag-SB::before { content: '🇸🇧'; } /* Solomon Islands */
.flag-SO::before { content: '🇸🇴'; } /* Somalia */
.flag-ZA::before { content: '🇿🇦'; } /* South Africa */
.flag-SS::before { content: '🇸🇸'; } /* South Sudan */
.flag-ES::before { content: '🇪🇸'; } /* Spain */
.flag-LK::before { content: '🇱🇰'; } /* Sri Lanka */
.flag-SD::before { content: '🇸🇩'; } /* Sudan */
.flag-SR::before { content: '🇸🇷'; } /* Suriname */
.flag-SE::before { content: '🇸🇪'; } /* Sweden */
.flag-CH::before { content: '🇨🇭'; } /* Switzerland */
.flag-SY::before { content: '🇸🇾'; } /* Syria */
.flag-TW::before { content: '🇹🇼'; } /* Taiwan */
.flag-TJ::before { content: '🇹🇯'; } /* Tajikistan */
.flag-TZ::before { content: '🇹🇿'; } /* Tanzania */
.flag-TH::before { content: '🇹🇭'; } /* Thailand */
.flag-TL::before { content: '🇹🇱'; } /* Timor-Leste */
.flag-TG::before { content: '🇹🇬'; } /* Togo */
.flag-TO::before { content: '🇹🇴'; } /* Tonga */
.flag-TT::before { content: '🇹🇹'; } /* Trinidad and Tobago */
.flag-TN::before { content: '🇹🇳'; } /* Tunisia */
.flag-TR::before { content: '🇹🇷'; } /* Turkey */
.flag-TM::before { content: '🇹🇲'; } /* Turkmenistan */
.flag-TV::before { content: '🇹🇻'; } /* Tuvalu */
.flag-UG::before { content: '🇺🇬'; } /* Uganda */
.flag-UA::before { content: '🇺🇦'; } /* Ukraine */
.flag-AE::before { content: '🇦🇪'; } /* United Arab Emirates */
.flag-GB::before { content: '🇬🇧'; } /* United Kingdom */
.flag-US::before { content: '🇺🇸'; } /* United States */
.flag-UY::before { content: '🇺🇾'; } /* Uruguay */
.flag-UZ::before { content: '🇺🇿'; } /* Uzbekistan */
.flag-VU::before { content: '🇻🇺'; } /* Vanuatu */
.flag-VA::before { content: '🇻🇦'; } /* Vatican City */
.flag-VE::before { content: '🇻🇪'; } /* Venezuela */
.flag-VN::before { content: '🇻🇳'; } /* Vietnam */
.flag-YE::before { content: '🇾🇪'; } /* Yemen */
.flag-ZM::before { content: '🇿🇲'; } /* Zambia */
.flag-ZW::before { content: '🇿🇼'; } /* Zimbabwe */

/* Special/Regional Flags */
.flag-EU::before { content: '🇪🇺'; } /* European Union */
.flag-SCHENGEN::before { content: '🇪🇺'; } /* Schengen */
.flag-UN::before { content: '🇺🇳'; } /* United Nations */
.flag-ENGLAND::before { content: '🏴󠁧󠁢󠁥󠁮󠁧󠁿'; } /* England */
.flag-SCOTLAND::before { content: '🏴󠁧󠁢󠁳󠁣󠁴󠁿'; } /* Scotland */
.flag-WALES::before { content: '🏴󠁧󠁢󠁷󠁬󠁳󠁿'; } /* Wales */

.visa-options-dropdown {
    position: absolute;
    left: 0;
    right: 0;
    margin-top: 4px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    z-index: 1000;
    max-height: 400px;
    overflow-y: auto;
    display: none;
}

.visa-options-dropdown.active {
    display: block;
}

/* Dropdown positioned below (default) */
.visa-options-dropdown.dropdown-below {
    top: 100%;
    bottom: auto;
}

/* Dropdown positioned above */
.visa-options-dropdown.dropdown-above {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: 4px;
}

/* Prevent body scroll */
body.dropdown-open {
    /*overflow: hidden;*/
    /*position: fixed;*/
    /*width: 100%;*/
}

/* Smooth scrolling inside dropdown */
.visa-options-dropdown {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

/* Animations */
@keyframes slideUp {
    from {
        opacity: 0;
        transform: translate(-50%, -40%);
    }
    to {
        opacity: 1;
        transform: translate(-50%, -50%);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Responsive adjustments */
@media (max-height: 600px) {
    .visa-options-dropdown {
        max-height: 300px;
    }

    .visa-options-dropdown.dropdown-mobile {
        max-height: 60vh !important;
    }
}

@media (max-width: 480px) {
    .visa-options-dropdown.dropdown-mobile {
        width: 95%;
    }
}

.visa-option {
    display: flex;
    align-items: center;
    padding: 8px 16px;
    cursor: pointer;
    transition: background-color 0.2s ease;
    border-bottom: 1px solid #f5f5f5;
}

.visa-option:last-child {
    border-bottom: none;
}

.visa-option:hover {
    background-color: #f8f9fa;
}

.visa-option .flag-icon {
    margin-right: 12px;
}

.visa-option-content {
    flex: 1;
}

.visa-option-name {
    font-size: 16px;
    font-weight: 400;
    color: #1D1E21;
    margin-bottom: 2px;
}

.visa-option-details {
    font-size: 13px;
    color: #727272;
}

.visa-option-check {
    color: #1b365d;
    font-size: 18px;
    font-weight: bold;
}

.visa-info {
    background: #eff6ff;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
}

.visa-info-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.visa-info-left,
.visa-info-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

.visa-info-left .visa-info-icon{
    color: #245ee2;
}

.visa-info-right .visa-info-icon{
    color: #16a34a;
}

.visa-info-text {
    font-size: 14px;
    font-weight: 400;
    color: #727272;
}

.guaranteed-text {
    color: #727272;
}

.visa-info-title {
    display: flex;
    margin-bottom: 12px;
    justify-content: space-between;
    align-items: center;
}

#visa-title {
    font-size: 16px;
    font-weight: 500;
    color: #111827;
}

.visa-price {
    font-size: 12px;
    font-weight: 600;
    color: #020817;
}

.visa-submit-btn {
    width: 100%;
    /*padding: 20px 30px;*/
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
    line-height: 30px;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    /*margin-bottom: 24px;*/
    background: #1b365d;
    border-radius: 50px;
    min-height: 60px !important;
}

.visa-submit-btn:hover {
    background: #ffff;
    color: #1b365d;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 60, 0, 0.05);
}

.visa-security-features {
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-wrap: wrap;
}

.security-feature {
    display: flex;
    align-items: center;
    gap: 6px;
}

.security-icon {
    color: #10b981;
}

.security-text {
    font-size: 14px;
    color: #6B7280;
}

@media (max-width: 768px) {
    .visa-selector-card {
        padding: 32px 24px;
    }

    .visa-info-content {
        flex-direction: column;
        gap: 12px;
    }
}