.vis {
    margin: 0;
    position: relative;
    background: #333;
    color: #FFFFFFDD;
    overflow: hidden;
    height: 100vh;
}

.card {
    position: absolute;
    left: 0;
    top: 0;
    background-position: center;
    background-size: cover;
    box-shadow: 6px 6px 10px 2px rgba(0, 0, 0, 0.6);
}

#btn {
    position: absolute;
    top: 690px;
    left: 16px;
    z-index: 99;
}

.card-content {
    position: absolute;
    left: 0;
    top: 0;
    color: #FFFFFFDD;
    padding-left: 16px;
}

.content-place {
    margin-top: 6px;
    font-size: 13px;
    font-weight: 500;
}

.content-place {
    font-weight: 500;
}

.content-title-1,
.content-title-2 {
    font-weight: 600;
    font-size: 20px;
    display: none;
}

.content-start {
    width: 30px;
    height: 5px;
    border-radius: 99px;
    background-color: #FFFFFFDD;
}

.details {
    z-index: 22;
    position: absolute;
    top: 240px;
    left: 60px;
}



.details .place-box {
    height: 46px;
    overflow: hidden;
}

.details .place-box .text {
    padding-top: 16px;
    font-size: 20px;
}

.details .place-box .text:before {
    top: 0;
    left: 0;
    position: absolute;
    content: "";
    width: 30px;
    height: 4px;
    border-radius: 99px;
    background-color: white;
}

.details .title-1,
.details .title-2 {
    font-weight: 600;
    font-size: 60px;
    text-shadow: 2px 2px 2px #000;
}

.details .title-box-1,
.details .title-box-2 {
    margin-top: 2px;
    height: 86px;
    letter-spacing: -1px;
    overflow: hidden;
}

.details>.desc {
    margin-top: 30px;
    width: 580px;
    font-size: 18px;
    line-height: 165%;
    text-shadow: 2px 2px 2px #000;
}

.details>.cta {
    width: 530px;
    margin-top: 50px;
    display: flex;
    align-items: center;
}

.details>.cta>.bookmark {
    border: none;
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --tw-gradient-from: #25CBD6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(37 203 214 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: #00EE8A var(--tw-gradient-to-position);
    width: 36px;
    height: 36px;
    border-radius: 99px;
    color: white;
    display: grid;
    place-items: center;
}

.details>.cta>.bookmark svg {
    width: 20px;
    height: 20px;
}






.details>.cta>.discover {
    border: 1px solid #ffffff;
    background-color: transparent;
    height: 36px;
    border-radius: 99px;
    color: #ffffff;
    padding: 4px 24px;
    font-size: 14px;
    margin-left: 16px;
    text-transform: uppercase;
    display: flex;
        align-items: center;
}

.details>.cta>.discover:hover{
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --tw-gradient-from: #25CBD6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(37 203 214 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: #00EE8A var(--tw-gradient-to-position);
    outline-width: 2px;
    border-color: transparent;
    outline-color: transparent;
    display: flex ;
        align-items: center;
        justify-content: center;
        border-radius: 16px;
        --tw-text-opacity: 1;
        color: rgb(0 0 0 / var(--tw-text-opacity, 1));
        outline-style: solid;
}


/* nav styles scoped to .vis only (slider page nav) */
.vis-nav {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 36px;
    font-weight: 500;
}

.vis-nav svg {
    width: 20px;
    height: 20px;
}

.vis-nav .svg-container {
    width: 20px;
    height: 20px;
}

.vis-nav>div {
    display: inline-flex;
    align-items: center;
    text-transform: uppercase;
    font-size: 14px;
}

.vis-nav>div:first-child {
    gap: 10px;
}

.vis-nav>div:last-child {
    gap: 24px;
}

.vis-nav>div:last-child>.active {
    position: relative;
}

.vis-nav>div:last-child>.active:after {
    bottom: -8px;
    left: 0;
    right: 0;
    position: absolute;
    content: "";
    height: 3px;
    border-radius: 99px;
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --tw-gradient-from: #25CBD6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(37 203 214 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: #00EE8A var(--tw-gradient-to-position);
}

.indicator {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    height: 5px;
    z-index: 60;
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --tw-gradient-from: #25CBD6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(37 203 214 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: #00EE8A var(--tw-gradient-to-position);
}

.pagination {
    position: absolute;
    left: 0px;
    top: 0px;
    display: inline-flex;
}

.pagination>.arrow {
    z-index: 60;
    width: 50px;
    height: 50px;
    border-radius: 999px;
    border: 2px solid #ffffff55;
    display: grid;
    place-items: center;
}

.pagination>.arrow:nth-child(2) {
    margin-left: 20px;
}

.pagination>.arrow svg {
    width: 24px;
    height: 24px;
    stroke-width: 2;
    color: #ffffff99;
}

.pagination .progress-sub-container {
    margin-left: 24px;
    z-index: 60;
    width: 530px;
    height: 50px;
    display: flex;
    align-items: center;
}

.pagination .progress-sub-container .progress-sub-background {
    width: 530px;
    height: 3px;
    background-color: #ffffff33;
}

.pagination .progress-sub-container .progress-sub-background .progress-sub-foreground {
    height: 3px;
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    --tw-gradient-from: #25CBD6 var(--tw-gradient-from-position);
    --tw-gradient-to: rgb(37 203 214 / 0) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
    --tw-gradient-to: #00EE8A var(--tw-gradient-to-position);
}

.pagination .slide-numbers {
    width: 50px;
    height: 50px;
    overflow: hidden;
    z-index: 60;
    position: relative;
}

.pagination .slide-numbers .item {
    width: 50px;
    height: 50px;
    position: absolute;
    color: white;
    top: 0;
    left: 0;
    display: grid;
    place-items: center;
    font-size: 32px;
    font-weight: bold;
}

.cover {
    position: absolute;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    z-index: 100;
}

/* ======================================================
   RESET & BASE
   ====================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans KR", sans-serif; color: #333; line-height: 1.6; word-break: keep-all; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
ul, ol { list-style: none; }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; border: none; background: none; font: inherit; }
h1,h2,h3,h4,h5,h6 { line-height: 1.3; }

/* ======================================================
   LAYOUT
   ====================================================== */
.wrap { width: 100%; max-width: 1300px; margin: 0 auto; padding: 0 20px; }
.wrap2 { width: 100%; max-width: 1600px; margin: 0 auto; }
.wrap3 { width: 100%; max-width: 1300px; margin: 0 auto; padding: 0 20px; }

/* ======================================================
   HEADER & NAV
   ====================================================== */
header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; transition: background 0.3s; }
header.scrolled { background: rgba(10,15,30,0.92); backdrop-filter: blur(10px); }
header nav { padding: 0; }
header .container { max-width: 1400px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; padding: 12px 30px; }
header .logo { display: flex; align-items: center; gap: 12px; color: #fff; }
header .logo-icon { width: 48px; height: 48px; }
header .logo-zone { display: flex; flex-direction: column; }
header .logo-top-txt { font-size: 16px; font-weight: 700; color: #fff; letter-spacing: -0.5px; }
header .logo-bottom-txt { font-size: 12px; color: rgba(255,255,255,0.7); margin-top: 2px; }
.visa-nav-menu { display: flex; list-style: none; gap: 8px; align-items: center; }
.visa-nav-menu li a { color: rgba(255,255,255,0.85); font-size: 14px; font-weight: 500; padding: 8px 14px; border-radius: 8px; transition: all 0.2s; white-space: nowrap; }
.visa-nav-menu li a:hover { color: #fff; background: rgba(255,255,255,0.1); }
.menu-toggle { display: none; font-size: 1.8rem; color: #fff; padding: 8px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }

@media (max-width: 1100px) {
    .menu-toggle { display: block; }
    .visa-nav-menu { display: none; position: absolute; top: 100%; left: 0; right: 0; background: rgba(0,0,0,0.95); flex-direction: column; padding: 20px; }
    .visa-nav-menu.open { display: flex; }
    .visa-nav-menu li a { display: block; padding: 14px 20px; border-bottom: 1px solid rgba(255,255,255,0.1); border-radius: 0; }
    header .container { padding: 10px 16px; }
}

/* ======================================================
   TRUST BAR
   ====================================================== */
.trust-bar { background: linear-gradient(135deg, #0b3947, #0d4a5e); color: #fff; padding: 20px 0; }
.trust-bar-inner { max-width: 1300px; margin: 0 auto; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
.trust-stat { font-size: 15px; color: rgba(255,255,255,0.85); }
.trust-stat strong { color: #00EE8A; font-size: 1.5rem; font-weight: 800; margin-right: 4px; }
.trust-stars { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.trust-stars .stars { display: flex; gap: 2px; }
.trust-stars .stars img { width: 24px; height: 24px; display: inline-block; }
.trust-stars span { font-size: 13px; color: rgba(255,255,255,0.6); }

@media (max-width: 768px) {
    .trust-bar-inner { flex-direction: column; text-align: center; }
}

/* ======================================================
   WHY CHOOSE US
   ====================================================== */
.why-choose { padding: 80px 0; background: #f5f8fa; }
.why-choose-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.why-choose-left h2 { font-size: 2rem; font-weight: 800; color: #0b3947; margin: 24px 0 16px; }
.why-choose-left p { font-size: 16px; color: #555; line-height: 1.7; margin-bottom: 24px; }
.why-choose-img { border-radius: 16px; width: 100%; max-width: 500px; }
.btn-apply { display: inline-block; padding: 16px 40px; background: linear-gradient(135deg, #25CBD6, #00EE8A); color: #000; font-weight: 700; font-size: 1.1rem; border-radius: 50px; transition: all 0.3s; box-shadow: 0 4px 15px rgba(37,203,214,0.3); }
.btn-apply:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(37,203,214,0.4); }
.why-choose-right { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.feature-card { background: #fff; border-radius: 16px; padding: 28px 24px; text-align: center; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: transform 0.2s, box-shadow 0.2s; }
.feature-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.1); }
.feature-icon { width: 36px; height: 36px; color: #25CBD6; margin: 0 auto 12px; display: block; }
.feature-card h6 { font-size: 1.05rem; font-weight: 700; color: #0b3947; margin-bottom: 8px; }
.feature-card p { font-size: 14px; color: #666; line-height: 1.6; }

@media (max-width: 900px) {
    .why-choose-grid { grid-template-columns: 1fr; }
    .why-choose-right { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
    .why-choose-right { grid-template-columns: 1fr; }
}

/* ======================================================
   HOW IT WORKS (TABS)
   ====================================================== */
.how-it-works { padding: 80px 0; background: #fff; }
.section-header { text-align: center; margin-bottom: 40px; }
.section-header h2 { font-size: 2rem; font-weight: 800; color: #0b3947; margin-bottom: 12px; }
.section-header p { font-size: 16px; color: #666; }
.tab-nav { display: flex; justify-content: center; gap: 8px; border-bottom: 2px solid #e5e5e5; margin-bottom: 40px; overflow-x: auto; }
.tab-nav button { font-size: 1rem; padding: 12px 24px; color: #888; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: all 0.2s; white-space: nowrap; }
.tab-nav button.active { color: #0b3947; border-bottom-color: #25CBD6; font-weight: 700; }
.tab-nav button:hover { color: #0b3947; }
.tab-body { display: grid; grid-template-columns: 1fr 400px; gap: 48px; align-items: start; }
.tab-pane { display: none; }
.tab-pane.active, .tab-pane.show { display: block; }
.step-item { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 28px; }
.step-num { width: 52px; height: 52px; min-width: 52px; border-radius: 50%; background: linear-gradient(135deg, #25CBD6, #00EE8A); color: #000; font-weight: 800; font-size: 1.15rem; display: flex; align-items: center; justify-content: center; box-shadow: 0 3px 10px rgba(37,203,214,0.3); }
.step-text h3 { font-size: 1.15rem; font-weight: 700; color: #0b3947; margin-bottom: 4px; }
.step-text p { font-size: 15px; color: #555; line-height: 1.6; }
.tab-image img { border-radius: 16px; width: 100%; object-fit: cover; }

@media (max-width: 900px) {
    .tab-body { grid-template-columns: 1fr; }
    .tab-image { display: none; }
}

/* ======================================================
   COUNTRIES GRID
   ====================================================== */
.visa_etias_countries { padding: 60px 0; background: linear-gradient(180deg, #f0f4f8, #e8edf2); }
.title-section { font-size: 2rem; font-weight: 800; text-align: center; color: #111; margin-bottom: 10px; }
.title-section b { color: #0b3947; }
.copete { text-align: center; color: #666; font-size: 16px; margin-bottom: 20px; }
.flex_zone13 { display: flex; gap: 16px; flex-wrap: wrap; justify-content: center; padding: 20px 0; }
.flex_zone13 .country-name { width: calc(100%/6 - 14px); background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; font-size: 14px; color: #444; text-align: center; padding: 12px 8px; transition: all 0.2s; }
.flex_zone13 .country-name:hover { background: #e8f4f8; border-color: #25CBD6; }

@media (max-width: 1200px) { .flex_zone13 .country-name { width: calc(100%/4 - 12px); } }
@media (max-width: 768px) { .flex_zone13 .country-name { width: calc(100%/3 - 11px); } }
@media (max-width: 500px) { .flex_zone13 .country-name { width: calc(100%/2 - 8px); } }

/* ======================================================
   FAQ
   ====================================================== */
.visa_faq { padding: 80px 0; background: #fff; }
.visa_faq h2 { text-align: center; font-size: 2rem; font-weight: 800; color: #111; margin-bottom: 40px; }
.visa_faq h2::before { content: "\2605  \2605  \2605"; display: block; color: #d4a853; font-size: 1.2rem; margin-bottom: 12px; letter-spacing: 8px; }
.visa_faq h2::after { content: ""; display: block; width: 60px; height: 3px; background: linear-gradient(90deg, #25CBD6, #00EE8A); margin: 16px auto 0; }
.faq_list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.visa_faq_item { background: #fff; border: 1px solid #e8e8e8; border-radius: 16px; overflow: hidden; transition: all 0.3s; box-shadow: 0 1px 8px rgba(0,0,0,0.04); }
.visa_faq_item:hover { border-color: #25CBD6; box-shadow: 0 4px 20px rgba(37,203,214,0.15); transform: translateY(-2px); }
.visa_faq_item a { display: block; padding: 28px; color: #333; }
.faq_category { display: inline-block; background: linear-gradient(135deg, #e0f7fa, #b2ebf2); color: #00796b; padding: 5px 14px; border-radius: 20px; font-size: 13px; font-weight: 700; margin-bottom: 14px; }
.faq_question { font-size: 17px; font-weight: 700; color: #1a1a1a; line-height: 1.5; margin-bottom: 12px; }
.visa_faq_answer { color: #555; }
.visa_faq_answer p { font-size: 14px; color: #666; line-height: 1.7; }
.more { text-align: center; margin-top: 36px; }
.more a { display: inline-block; background: linear-gradient(135deg, #0b3947, #0d4a5e); color: #fff; padding: 14px 36px; border-radius: 30px; font-weight: 600; font-size: 16px; transition: all 0.3s; }
.more a:hover { background: linear-gradient(135deg, #25CBD6, #00EE8A); color: #000; transform: translateY(-2px); }

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

/* ======================================================
   ETA STATUS & SERVICE SECTIONS
   ====================================================== */
.visa_our_service { padding: 80px 0; text-align: center; }
.visa_our_service h2 { font-size: 2rem; font-weight: 800; margin-bottom: 20px; }
.visa_our_service p { font-size: 16px; color: #555; line-height: 1.7; max-width: 800px; margin: 0 auto; }
.contact_btn { text-align: center; margin-top: 30px; }
.contact_btn a { display: inline-block; padding: 16px 48px; background: linear-gradient(135deg, #25CBD6, #00EE8A); color: #000; font-weight: 700; border-radius: 50px; font-size: 18px; transition: all 0.3s; box-shadow: 0 4px 15px rgba(37,203,214,0.3); }
.contact_btn a:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(37,203,214,0.4); }

.visa_info_step_key { padding: 80px 0; background: linear-gradient(135deg, #f1f5f9, #e2e8f0); }
.visa_info_step_key .wrap { display: flex; gap: 40px; align-items: center; }
.visa_info_step_key_img_box { flex: 0 0 340px; }
.visa_info_step_key_txtbox { flex: 1; }
.visa_info_step_key_txtbox h2 { font-size: 1.6rem; font-weight: 700; color: #0b3947; margin-bottom: 24px; }
.visa_info_step_key_txtbox ul { list-style: none; }
.visa_info_step_key_txtbox li p { font-size: 16px; color: #444; line-height: 1.8; padding: 8px 0; border-bottom: 1px solid rgba(0,0,0,0.06); }

@media (max-width: 768px) {
    .visa_info_step_key .wrap { flex-direction: column; }
    .visa_info_step_key_img_box { flex: none; text-align: center; }
}

/* ======================================================
   FOOTER
   ====================================================== */
footer.site-footer { background: #0a0f1e; color: rgba(255,255,255,0.7); }
footer .footer-top { max-width: 1312px; margin: 0 auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 40px; padding: 60px 40px; border-bottom: 1px solid rgba(255,255,255,0.1); }
footer .footer-col h4 { color: #fff; font-size: 16px; font-weight: 600; margin-bottom: 20px; }
footer .footer-col ul { list-style: none; }
footer .footer-col li { margin-bottom: 12px; }
footer .footer-col li a { color: rgba(255,255,255,0.6); font-size: 14px; transition: color 0.2s; }
footer .footer-col li a:hover { color: #25CBD6; }
footer .footer-brand-logo { max-width: 200px; margin-bottom: 20px; }
footer .footer-brand-desc { font-size: 14px; line-height: 1.6; color: rgba(255,255,255,0.5); }
footer .footer-bottom-bar { max-width: 1312px; margin: 0 auto; padding: 24px 40px; font-size: 13px; color: rgba(255,255,255,0.4); display: flex; flex-wrap: wrap; gap: 8px; }

@media (max-width: 900px) { footer .footer-top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 600px) { footer .footer-top { grid-template-columns: 1fr; padding: 30px 20px; } footer .footer-bottom-bar { padding: 20px; flex-direction: column; } }

/* ======================================================
   SLIDER RESPONSIVE
   ====================================================== */
@media (max-width: 1500px) {
    .details { top: 140px; left: 30px; }
    .details .title-1, .details .title-2 { font-size: 36px; }
    .details .title-box-1, .details .title-box-2 { height: 56px; }
    .details>.desc { width: 90vw; font-size: 14px; margin-top: 16px; }
    .details>.cta { width: 90vw; margin-top: 24px; flex-wrap: wrap; gap: 8px; }
    .pagination { display: none; }
}
@media (max-width: 768px) {
    .details { top: 100px; left: 20px; }
    .details .title-1, .details .title-2 { font-size: 26px; }
    .details .title-box-1, .details .title-box-2 { height: 42px; }
    .details .place-box .text { font-size: 16px; }
    .details>.desc { font-size: 13px; line-height: 150%; }
    .details>.cta>.discover { font-size: 13px; padding: 4px 16px; }
}

/* ======================================================
   SUB-PAGE COMMON (visa-page-header, payment, etc.)
   ====================================================== */
.visa-page-header { background: url(./images/page-header-bg.avif) center/cover no-repeat; padding: 140px 0 60px; text-align: center; color: #fff; position: relative; }
.visa-page-header::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
.visa-page-header * { position: relative; z-index: 1; }
.visa-page-header h1 { font-size: 32px; font-weight: 700; }
.visa-page-header p { font-size: 16px; margin-top: 12px; color: rgba(255,255,255,0.8); }
.main-banner { background: linear-gradient(135deg, #0b1631, #1a3a5c); padding: 140px 0 60px; color: #fff; }
.main-banner_title h1 { font-size: 32px; font-weight: 700; }
.main-banner_title h2 { font-size: 20px; font-weight: 400; margin-top: 12px; color: rgba(255,255,255,0.8); }
.main-banner_title p { font-size: 16px; margin-top: 16px; color: rgba(255,255,255,0.7); line-height: 1.6; }
.main_service_info { margin-top: 40px; background: rgba(255,255,255,0.1); border-radius: 16px; padding: 30px; }
.main_service_info h2 { font-size: 22px; font-weight: 600; margin-bottom: 20px; }
.main_service_info ul { display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 20px; }
.cus_flex_z2 { display: flex; align-items: center; gap: 10px; }
.circle { width: 28px; height: 28px; background: #25CBD6; color: #000; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 14px; }
.visa_step_zone { padding: 80px 0; background: #f8f9fa; }
.visa_step_zone .visa_step_zone_title { display: flex; align-items: center; gap: 12px; margin-bottom: 40px; }
.visa_step_zone .visa_step_zone_title h2 { font-size: 28px; font-weight: 700; color: #111; }
.visa_step_zone ul { display: flex; gap: 30px; flex-wrap: wrap; justify-content: center; }
.visa_step_zone ul li { flex: 1; min-width: 280px; background: #fff; border-radius: 16px; padding: 30px; box-shadow: 0 2px 12px rgba(0,0,0,0.06); }
.visa_step_zone .cus_flex_z { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.visa_step_zone .cus_flex_z span { font-size: 18px; font-weight: 600; color: #111; }
.visa_step_zone .cus_flex_z p { font-size: 15px; color: #666; line-height: 1.6; }
.page-content { padding: 60px 0; max-width: 900px; margin: 0 auto; }
.page-content h1 { font-size: 32px; font-weight: 700; margin-bottom: 24px; color: #111; }
.page-content h2 { font-size: 24px; font-weight: 600; margin: 32px 0 16px; color: #222; }
.page-content p { font-size: 16px; line-height: 1.7; color: #444; margin-bottom: 16px; }
.page-content li { font-size: 16px; line-height: 1.7; color: #444; margin-bottom: 8px; list-style: disc; }
.payment-result { padding: 40px 0; }
.contact_page_zone { padding: 60px 0; }
.class_bhj6 h6 { font-size: 18px; font-weight: 600; }

/* Loading overlay */
#loading-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.4); z-index: 9999; display: flex; align-items: center; justify-content: center; }
.loading-spinner { background: #fff; padding: 20px 30px; border-radius: 8px; box-shadow: 0 0 10px rgba(0,0,0,0.2); font-size: 16px; font-weight: bold; color: #333; }

@media (max-width: 768px) {
    .main-banner { padding: 120px 0 40px; }
    .main-banner_title h1 { font-size: 24px; }
    .visa-page-header { padding: 120px 0 40px; }
    .visa-page-header h1 { font-size: 24px; }
    .visa_step_zone ul { flex-direction: column; }
}


/* ======================================================
   SUB-PAGE CSS (from original - application, FAQ, etc.)
   ======================================================*/

.visa-page-header{background:url(../images/page-header-bg.avif) no-repeat center; margin-top: 95px; min-height: 200px; box-sizing: border-box;
  padding-top: 20px; color: #fff; background-size: cover;
}

.visa-page-header .breadcrumb a{color: #fff; text-decoration: underline; font-size: 14px;}
.visa-page-header .breadcrumb span{font-size: 14px;}

.breadcrumb{margin-bottom: 34px;}

.main-overview h2{font-size: 42px; font-weight: 600; line-height: 135%; color: #333;}
.visa-page-content-area p{font-size: 18px; line-height: 160%; margin-top: 20px; color: #435d87;}

.visa_over_view_zone{margin-top: 40px;}

.visa-page-content-area p b{color: #4574a1; text-decoration: underline; font-weight: 600;}

.overview ul{margin-top: 30px;}
.overview ul li{line-height: 145%; font-size: 18px; position: relative; padding-left: 25px;}

.visa-page-content-area h3{font-size: 32px; padding-left: 50px; position: relative; font-weight: 600;  line-height: 135%; position: relative;}

.main-overview h2{
  font-size: 32px; position: relative; font-weight: 600;  line-height: 135%; position: relative;
}


.overview h2{
  font-size: 29px; position: relative; font-weight: 600;  line-height: 135%; position: relative;
}
.overview h2::after{
  position: absolute;
  width: 19px;
  height: 12px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  margin-left: -40px;
  content: "";
  background: url(../images/pointer_zeo2.png) no-repeat center;
}


.overview .form-title h2::after{display: none !important;}


.visa-page-content-area .faq-item h3{font-size: 22px;}


.confirmation-section  .details-summary h3{font-size: 25px;}


.overview{margin-top: 50px; }

.b_bolck_zone b{display: block;}


.visa-page-content-area h3::after {
  position: absolute;
  width: 19px;
  height: 12px;
  left: 0; top: 50%; transform: translateY(-50%);
  content: "";
  padding-left: 30px;
  background: url(../images/pointer_zeo2.png) no-repeat center;
}



.overview > ul li:before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: '';
  display: inline-block;
  width: 10px;
  height: 3px;
  background-color: #0b3974;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}


.form-section .inquiry-select-cus {
  width: 100%;
  max-width: 550px;
  border-radius: 10px;
  height: 50px;
  border: 1px solid #ebebeb;
  padding: 0 20px;
  background: #f4f4f6;
  font-size: 16px;
}





.main-overview .lnb_tit{background: url(../images/pointer_zeo.png) no-repeat center; width: 280px; height: 6px; margin-top: 10px;}

.page-title{padding-left: 60px; box-sizing: border-box; position: relative; height: auto; padding-bottom: 20px;
  width: 100%; max-width: 1080px; margin: 0 auto;
}
.page-title::after{position: absolute; left: 0; background: #c1a783; width: 1px; height: 100%; content: ""; top: 0;}
.page-title h1{font-size: 45px; font-weight: 800; line-height: 135%;}


.visa-page-content-area{width: 100%; max-width: 960px; margin: 0 auto; box-sizing: border-box; padding:60px 0; color: #333;}


.star_point{
  background: url(../images/star.svg) 0 0 repeat;
  content: "";
  display: block;
  font-size: 12px;
  height: 18px;
  left: 0;
  line-height: 1;
  max-width: 53px;
  width: 53px;
}

.zero_after h2::after{display: none !important;}

.cus_flex_z ul li .cus_flex_z2{display: flex; align-items: center; justify-content: center}

.txt_indent{padding-left: 30px; position: relative;}
.txt_indent::before{position: absolute; left: 10px; width: 7px; height: 2px; background: #0c3975; top: 13px; content: "";}


.visa-nav-menu li:last-of-type img{margin-left: 10px;}


.input_box{display: flex; flex-direction: column; width: 100%; max-width: 550px;}

.form-section{padding: 0; display: flex; justify-content: space-between; }
.form-section.width_cotrols label{width: 70%; box-sizing: border-box; padding-right: 30px;}
.form-section.width_cotrols .input_box{width: 30%;}

.input_box .cus_flex_z{display: flex; justify-content: space-between; align-items: center; gap: 20px; position: relative;}
.cus_flex_z{justify-content: space-between; align-items: center; gap: 20px;}

.form-section label{width: 36%;}

.form-section input{width: 100%; max-width: 550px; border-radius: 10px; height: 50px; border: 1px solid #ebebeb; padding: 0 20px;
  background: #f4f4f6; font-size: 16px;
}

.form-section .upload-btn{width: 100%; max-width: 550px; border-radius: 10px; height: 50px; border: 1px solid #ebebeb; padding: 0 20px;
  background: #f4f4f6; font-size: 16px; color: #5A5A5A; text-align: left;
}

.popup{position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; max-width: 550px; height: auto; border: 15px;
background: #f0f6fd;  padding: 30px; z-index: 10; padding-top: 15px;
}
.popup p{font-size: 18px; text-align: center; margin-top: 0; margin-bottom: 15px;}


.flex_pop{display: flex; flex-direction: column; gap: 15px;}
.flex_pop button{width:100%; box-sizing: border-box; padding: 20px; font-size: 18px; border: 1px solid #ddd;}
#passport-photo-preview{max-height: 600px; overflow: hidden;}


.form-section input:focus{border-color: #d3ebfd; background-color: #e7f4fe;}
.form-section input.valid{border-color: #d8eedd; 
  background: #eaf6ec url(../images/chek_suss.svg) no-repeat; background-size: contain; background-position: 95% 50%; background-size: 23px 23px;}
.form-section input.error{border-color: #fcdfd9;
  background: #fdefec url(../images/faile_omg.svg) no-repeat;  background-size: contain; background-position: 95% 50%; background-size: 23px 23px;
}

form-section .upload-btn.valid {
  border-color: #d8eedd;
  background: #eaf6ec url(../images/chek_suss.svg) no-repeat;
  background-size: contain;
  background-position: 95% 50%;
  background-size: 23px 23px;
}

.form-section button.valid {
  border-color: #d8eedd;
  background: #eaf6ec url(../images/chek_suss.svg) no-repeat;
  background-size: contain;
  background-position: 95% 50%;
  background-size: 23px 23px;
}
.form-section .upload-btn.error {border-color: #fcdfd9;
  background: #fdefec url(../images/faile_omg.svg) no-repeat;  background-size: contain; background-position: 95% 50%; background-size: 23px 23px;
}


.form-section button.error {border-color: #fcdfd9;
  background: #fdefec url(../images/faile_omg.svg) no-repeat;  background-size: contain; background-position: 95% 50%; background-size: 23px 23px;
}

input.error + .error-message {
  display: block; /* 오류 상태에서 표시 */
}

#passport-info-section .form-section{margin-bottom: 15px;}
#employer-section .form-section{margin-bottom: 15px;}
#transit-section .form-section{margin-bottom: 15px;}
#us-address-section .form-section{margin-bottom: 15px;}

#us-address-section .form-section:last-of-type{margin-bottom: 0;}
#transit-section .form-section:last-of-type{margin-bottom: 0;}
#passport-info-section .form-section:last-of-type{margin-bottom: 0;}
#employer-section .form-section:last-of-type{margin-bottom: 0;}

#other-citizenship-section .form-section:first-of-type,
#alias-name-section .form-section:first-of-type{margin-bottom: 15px;}
.make-known {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  margin-top: 0;
  min-height: 10px;
}
.error-message{font-size: 14px; font-weight: 400; color: #de3412; margin-bottom: 5px; margin-top: 5px;}
.make-known p{font-size: 14px;  font-weight: 400; margin-top: 0;}

.form-help a{width: 25px; height: 25px; border-radius: 100%; display: flex; align-items: center; justify-content: center; background: #0b3974; color: #fff;}


.form-title{width: 100%; padding: 16px;  background: #1b3b6f url(../images/pointer2.webp) no-repeat right; border-radius: 10px; 
  background-size: cover; margin-top: 20px; box-sizing: border-box;
}
.form-title h2{font-size: 20px; font-weight: 400; color: #fff;}

.form_contents{padding: 20px; display: flex; flex-direction: column; gap: 20px; box-sizing: border-box;}
.required{color: #ff1100;}
.form_contents label{font-size: 18px; font-weight: 400; margin-top: 0; line-height: 145%;}


.help-text-close-btn{position: absolute; right: 15px; top: 15px;}
.help-text-gu{background: #fff; border-radius: 15px; box-shadow: 2px 2px 2px #222; padding: 20px; font-size: 14px; font-weight: 400;
  box-shadow: 1px 2px 6px 1px #10182830; line-height: 145%; padding-right: 50px; position: relative; margin-top: 15px; display: none; word-wrap: break-word
}

.btn-close{background: url(../images/close-btn.svg) no-repeat center; width: 18px; height: 18px; background-size: contain;}

.cus_flex_z.flex_zone_left{ justify-content: flex-end;margin-top: 0;}


.pop_up{position: fixed; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 100%; max-width: 550px; height: auto; background: #00588f; box-sizing: border-box; 
  box-shadow: 1px 2px 7px #222; border-radius: 15px; color: #fff;
}

.pop_up_content{position: relative;}
.pop_up_content p{margin-top: 0; padding: 40px 30px; box-sizing: border-box; color: #fff;}


.close-pop-up{position: absolute; top: 10px; right: 10px; 
    background: url(../images/close-btn.svg) no-repeat center;
    width: 18px;
    height: 18px;
    background-size: contain;
}


.description{margin-bottom: 15px;}

.form-section.down_flex_zone{flex-direction: column;}
.form-section.down_flex_zone .input_box{max-width: 100%;}
.form-section.down_flex_zone label{width: 100%;}

.overview ul.disease-list{margin-top: 0;
  display: flex; gap: 20px; flex-direction: column;
}

.overview ul.disease-list li{color: #435d87;}

.overview ul.disease-list li{position: relative; font-size: 16px;}
.overview ul.disease-list li::after{position: absolute; width: 8px; height: 8px; background: #1b3b6f; border-radius: 100%; left: 0; content: ""; top: 9px;}


.submit-section button{width: 250px; height: 55px; margin: 0 auto; background: #0F6E80; color: #fff; border-radius: 15px;
  font-size: 20px;
}

.submit-section a{width: 250px; height: 55px; margin: 0 auto; background: #0F6E80; color: #fff; border-radius: 15px;
  font-size: 20px; display: flex; align-items: center; justify-content: center; margin-top: 50px;
}

.submit-section button:hover{background: #1590A3;}
.submit-section a:hover{background: #1590A3;}
#passport-photo-preview{padding-top: 15px;}



.form-section label.radio-label{display: flex; align-items: center;gap: 5px; width: auto; margin-top: 0;}
.radio-label input{ height: 21px; width: 21px;}

#issuing-country-input {
  width: 100%;
  border-radius: 5px;
}

.custom-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  max-height: 180px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 5px;
  display: none;
  z-index: 10;
}

.custom-dropdown .dropdown-list {
  display: flex;
  list-style: none;
  flex-direction: column;
  padding: 0;
  margin: 0;
}

.custom-dropdown .dropdown-list li {
  padding: 10px 20px;
  cursor: pointer;
  width: 100% !important;
  font-size: 16px;
  border-bottom: 1px solid #eee;
  box-sizing: border-box;
}
.custom-dropdown .dropdown-list li:last-of-type{border-bottom: 0;}



.custom-dropdown .dropdown-list li span img{border: 1px solid #ddd; margin-right: 20px;}


.custom-dropdown .dropdown-list li.hover{
  background: #f9f9f9 url(../images/check-red.svg) no-repeat;
  background-position: 95% 50%;
  color: #0b3974;
}



input:disabled, select:disabled, textarea:disabled {
  opacity: 0.4;
}

.form_contents label.no-focus-label {
  pointer-events: none;
  margin-top: 10px;
}

.form-section.width_cotrols .no-focus-label{
  margin-top: 0;
}

.visually-hidden{display: none;}

.top_cont_zone{display: flex; justify-content: space-between; gap: 20px;}


.top_cont_zone .form-section {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: calc(100% / 2 - 10px)
}

.bottom_cont_zone .form-section {
  display: flex;
  flex-direction: column;
}


.daterangepicker .calendar-table th font, .daterangepicker .calendar-table td font{pointer-events: none;}

.details-summary{margin-bottom: 20px;}
.details-summary h3{margin-bottom: 20px;}
.check_info_box {
  background-color: #f7f8f9;
  border: 1px solid #dfdfdf;
  padding: 30px 35px;
  box-sizing: border-box;
}

.water_box2 ul li span{font-size: 18px; font-weight: 400;}
.water_box2 ul li p:first-of-type{font-size: 16px;}
.water_box2 ul li p:last-of-type{font-size: 16px; text-align: right; color: tomato;}


.check_info_box .li_width_100{
  display: flex;
  align-items: center;
  gap: 15px;
  line-height: 160%;
  justify-content: space-between;
  border-bottom: 1px solid #ddd;
  padding: 10px 0;
}
.check_info_box .li_width_100 p{margin-top: 0;}

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

.title_details_cof a{background: #0c3975; color: #fff; display: flex; align-items: center; justify-content: center; padding: 10px 20px;}


.share_three_box ul{display: flex; gap: 21px; flex-wrap: wrap;}
.share_three_box ul li{width: calc(100% / 3 - 14px);}
.share_three_box ul li span{font-size: 14px; font-weight: 400; line-height: 145%;}
.share_three_box ul li.li_width_100{width: 100%; display: flex; gap: 15px; border-bottom: 1px solid #ddd;}
.share_three_box ul li.li_width_100 span{font-size: 17px;}
.share_three_box ul li.li_width_100 p{margin-top: 0;}


.confirm-checkbox{display: flex; align-items: center; gap: 10px; margin-top: 10px !important;}
.confirm-checkbox label{font-size: 20px;}
.confirm-checkbox input{width: 20px; height: 20px;}

.form-submit.submit-section{margin: 0 auto;text-align: center;}
.share_two_box ul{display: flex; gap: 21px; flex-wrap: wrap;}
.share_two_box ul li{width: calc(100% / 2 - 10.5px);}
.share_two_box ul li span{font-size: 14px; font-weight: 400; line-height: 145%;}
.share_two_box ul li.li_width_100{width: 100%; display: flex; gap: 15px; border-bottom: 1px solid #ddd;}
.share_two_box ul li.li_width_100 span{font-size: 18px;}
.share_two_box ul li.li_width_100 p{margin-top: 0;}

.bottom_cont_zone{display: flex; justify-content: space-between;}

.top_cont_zone .form-section label,
.bottom_cont_zone .form-section label{width: 100%;}

.bottom_cont_zone{gap: 20px;}
.bottom_cont_zone > .form-section {
  flex-direction: column;
  justify-content: space-between;
  width: calc(100% / 2 - 10px);
}

.card_img_zone {box-sizing: border-box; padding: 20px;}

.confirmation-section{margin-top: 30px;}

.paysong.submit-section{text-align: center;}


.left_zibe{ color: #a3a3a3; margin-bottom: 10px;}


.height-xus{min-height: 191px; height: auto !important; display: flex; align-items: flex-start;
width: 100%; background: #f4f4f6; border: 1px solid #ebebeb; box-sizing: border-box; padding: 20px;
border-radius: 10px;
}



.visa_info_step_key_txtbox ul{display: flex; flex-direction: column; gap: 15px;}
.visa-table {
  width: 100%;
  border-collapse: collapse;
  margin: 20px 0;
  font-family: Arial, sans-serif;
}

.visa-table tr:hover{background: #2f417a;}


.visa-table th,
.visa-table td {
  padding: 10px;
  text-align: left;
  line-height: 145%;
  box-sizing: border-box;
  border-bottom: 1px solid #213164;
}

.visa-table td:first-of-type{text-align: center;}

.visa-table thead {
  background-color: #213164;
  border-top: 2px solid #6276b6;
}




@media screen and (max-width: 1660px) {
  .wrap2{width: 100%; box-sizing: border-box; padding: 0 50px;}
}

@media screen and (max-width: 1050px) {
  .visa-page-content-area{width: 100%; max-width: 100%; box-sizing: border-box; padding: 60px 50px;}
}


@media screen and (max-width: 1340px) {
  .main-banner_title h1{font-size: 30px; line-height: 135%;}
  .main-banner_title h2{font-size: 24px;}
  .main-banner_title p{font-size: 16px; line-height: 135%;}
  .main_service_info h2{font-size: 28px;}
  .cus_flex_z ul li span{font-size: 18px;}
  .circle{font-size: 16px; width: 20px; height: 20px; min-width: 20px}
  .cus_flex_z ul li{padding: 15px;}
  .visa-nav-menu li a{line-height: 145%;}
  .visa_step_zone h2{font-size: 30px;}
  .visa_step_zone .logo-icon{max-height: 45px;}
  .visa_step_zone_title{margin-bottom: 38px;}
  .visa_step_zone ul li p{font-size: 18px;}
  .visa_step_zone ul li span{font-size: 18px;}
  .visa_step_zone ul li img{max-height: 50px;}
  .visa_step_zone ul li{height: 280px;}
  .visa_info_step_key_img_box{width: 340px;}
  .visa_info_step_key .wrap{gap: 30px;}
  .visa_info_step_key_txtbox{width:100%; margin: 0 auto; text-align: center;}

  .visa_info_step_key2 .visa_info_step_key_txtbox ul,
  .visa_step_zone ul{flex-wrap: wrap;}
  .visa_info_step_key2 .visa_info_step_key_txtbox ul li{width: calc(100%/3 - 10px);}
  .visa_info_step_key_img_box{display: none;}
  .visa_step_zone.visa_step_zone2 p{text-align: center; line-height: 135%;}
}


@media screen and (max-width: 1040px) {
  .top_cont_zone {
    flex-direction: column;
  }
  .bottom_cont_zone {
    flex-direction: column;
    width: calc(100%);
  }
  .top_cont_zone .form-section{
    width: calc(100%);
  }
  .bottom_cont_zone .form-section{
    width: calc(100%);
  }
}
@media screen and (max-width: 900px) {
  .bottom_cont_zone{gap: 10px;}
  .form-section {
    padding: 0;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 15px;
  }
  .form-section label{width: 100%;}

  .form-section.width_cotrols label{width: 100%; box-sizing: border-box; padding-right: 0;}
  .form-section.width_cotrols .input_box{width: 100%;}


  .pop_up{width: 95%;}

  .popup{width: 90%;}
  .flex_pop button{padding: 10px; font-size: 15px;}
}


@media screen and (max-width: 800px) {
  .visa_info_step_key2 .visa_info_step_key_txtbox ul li{width: calc(100%);}
  .visa_step_zone_title > p{font-size: 16px;}
  .visa_over_view_zone{margin-top: 30px;}
  .visa-page-content-area h3{font-size: 20px; padding-left: 25px;}
  .visa-page-content-area h3::after{padding-left: 0;}
  .visa-page-content-area p{font-size: 16px;}
  .visa-main-overview h2{font-size: 28px;}
  .visa-page-content-area{padding: 20px;}
  .page-title{padding-left: 20px;}
  .page-title h1{font-size: 25px;}
  .visa-page-header{margin-top: 75px;}
  br{display: none !important;}

  .share_three_box ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }
  .share_two_box ul {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
  }
  .share_three_box ul li,
  .share_two_box ul li{width: calc(100%);}


  
  .footer-nav ul {
      display: flex;
      flex-wrap: wrap;
      padding: 10px 0;
      box-sizing: border-box;
  }

  .title_details_cof {
      align-items: normal;
      justify-content: space-between;
      flex-direction: column;
  }
  .footer-nav ul li{padding: 0 10px; box-sizing: border-box; margin-bottom: 10px;}
  .footer-nav ul li:nth-of-type(2){border-right: 0;}
  .footer-nav ul li:nth-of-type(4){border-right: 0;}
  .footer-nav ul li{width: 50%;}
  .contents_travel_authorization{padding: 50px 0;}
  .contents_travel_authorization .wrap2{padding: 0 30px;}
  .contents_travel_authorization h2{font-size: 30px;}
  .contents_travel_authorization p{font-size: 16px;}
  .visa_info_step_key h2{font-size: 30px;}
  .visa_info_step_key p{font-size: 16px;}
  .visa_info_step_key .wrap {flex-direction: column;}
  .visa_info_step_key_img_box{width: 100%; text-align: center; padding: 20px; box-sizing: border-box;}
  .visa_info_step_key_img_box img{width: 100%; height: auto;}
  .visa_info_step_key{padding: 50px 0;}
  .visa_info_step_key_txtbox{width: calc(100%);}
  header{height: 75px;}
  .contact_btn a,
  .main_service_info h2,
  .main-banner_title h1{line-height: 135%;}
  nav, .wrap{padding: 0 30px;}
  .menu-toggle{right: 30px;}
  .cus_flex_z > ul {
    display: flex;
    gap: 21px;
    flex-direction: column;
  }
  .cus_flex_z ul li{width: 100%; text-align: left; box-sizing: border-box;}
  .main-banner_title h2{font-size: 17px;}
  .main-banner{background-size: cover;}
  .visa_step_zone h2{font-size: 20px; letter-spacing: -0.5px;}
  .visa_step_zone ul{flex-direction: column;}
  .visa_step_zone ul li{width: calc(100%); height: 220px;}
  .visa_step_zone_title {margin-bottom: 30px;}
  .visa_step_zone .logo-icon{height: 38px;}
  .visa_step_zone {padding: 50px 0;}
  .visa_info_step_key h2,
  .visa_our_service h2{font-size: 22px;}
  .visa_our_service p{font-size: 16px;}
  .visa-page-content-area{padding-bottom: 50px;}
  .check_info_box{padding: 15px;}
  .confirmation-section .title_details_cof h3{font-size: 20px; padding-left: 35px;}
  .share_three_box ul{gap: 11px;}
  .check_info_box ul li p{margin-top: 2px;}
  .confirm-checkbox label{font-size: 15px; line-height: 135%;}
  .confirm-checkbox input{width: 27px; height: 27px;}
  .share_two_box ul{gap: 10px;}
  .share_two_box ul li.li_width_100 {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }
  .share_two_box ul li.li_width_100 span{font-size: 15px;}

  .check_info_box .li_width_100{
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }
  .check_info_box .li_width_100 span{font-size: 14px;}
  .share_three_box ul{gap: 10px;}
  .share_three_box ul li.li_width_100 {
    flex-direction: column;
    align-items: flex-start;
    gap: 3px;
  }
  .share_three_box ul li.li_width_100 span{font-size: 15px;}
  .mo_rit li p{margin-left: auto;}
  .water_box2 ul li span{font-size: 16px; margin-bottom: 10px; display: block;}
  .water_box2 ul li p:first-of-type{font-size: 14px;}
  .water_box2 ul li p:last-of-type{margin-bottom: 20px;}
  .breadcrumb.breadcrumb33{display: none;}
  .breadcrumb{display: none;}
}

@media screen and (max-width: 500px) {
  .form-section input{font-size: 15px; padding: 0 12px;}
  .form-section input.valid,
  .form-section input.error{background-size: 18px;}
  .help-text-gu{padding: 15px; font-size: 13px; padding-right: 35px;}
  .form_contents label{font-size: 15px;}
  .overview ul.disease-list li{font-size: 14px;}
  .visa-page-content-area p{font-size: 14px;}
  .form_contents label{margin-top: 0;}
  .form_contents{padding: 20px 0;}
  .form-title h2{font-size: 16px; line-height: 145%;}
  .input_box .cus_flex_z{gap: 10px;}
  .overview ul.disease-list li::after{width: 5px; height: 5px; top: 8px;}


  .mo_mini_size{margin-top: 25px;}
  .contents_travel_authorization{background-position: 40%;}
  .contents_travel_authorization .wrap2{padding: 0 15px;}
  .contents_travel_authorization h2{font-size: 24px;}
  .visa_our_service{padding: 50px 0;}
  .mobile_block{display: block;}
  .main-banner{height: auto; padding: 100px  0; margin-top: 0;}
  nav, .wrap{padding: 0 9px;}
  .menu-toggle{right: 15px;}
  .main_service_info{padding: 15px;}
  .logo-top-txt{font-size: 14px;}
  .logo-bottom-txt{font-size: 14px;}
  .logo{gap: 10px;}

  .main-banner_title h1{font-size: 23px;}
  .main-banner_title h2{font-size: 16px;}
  .main-banner_title p{font-size: 14px; line-height: 135%;}
  .main_service_info{margin-top: 30px;}
  .main_service_info h2{font-size: 18px;}
  .cus_flex_z ul li span{font-size: 14px;}
  .main_service_info h2{margin-bottom: 15px;}
  .cus_flex_z > ul{gap: 15px;}
  .contact_btn a{font-size: 14px; }
  .contact_btn{margin-top: 15px;}
  .visa-nav-menu li a{font-size: 16px;}
  .cus_flex_z2{width: 238px; text-align: left;}
  .cus_flex_z ul li .cus_flex_z2{    justify-content: flex-start; }

  .cus_flex_z ul li{display: flex; justify-content: center;}
  .cus_flex_z ul li span {letter-spacing: -0.4px;}
  .visa_step_zone h2{text-align: left; line-height: 135%;}
  .visa_step_zone ul li{height: 180px; padding: 15px;}
  .visa_step_zone ul li p{font-size: 16px;}
  .visa_step_zone ul li span{font-size: 16px; margin-top: 0;}
  .visa_step_zone ul li img {max-height: 40px;}
  .visa_step_zone_title{margin-bottom: 20px;}
  .visa_step_zone{padding: 30px 0;}
  .radio-label input {
      height: 19px;
      width: 19px;
  }
  .form-section label.radio-label{gap: 3px;}
}

.contact_btn a:hover {
  background: #1590A3;
}

.more a{display: flex; align-items: center; justify-content: center; padding: 15px 25px; background: #127487; border-radius: 50px; text-align: center; color: #fff; font-size: 18px;}
.more{display:flex; margin: 0 auto; margin-top: 20px;     justify-content: center;}

.more a:nth-of-type(2){background: #0D2E3F ; margin-left: 10px;}


.visa_faq{padding: 80px 0;}
.visa_faq h2{text-align: center; font-size: 32px; color: #333; font-weight: 800; margin-bottom: 60px;
  position: relative;padding: 30px 0;
}

.more a:hover{background: #1590A3;}

.visa_faq h2::before {
  content: "★ ★ ★";
  letter-spacing: 4px;
  color: #c1a783;
  display: block;
  font-size: 16px;
  padding-bottom: 14px;
}

.visa_faq h2::after {
  background: #c1a783;
  bottom: 0;
  content: "";
  height: 2px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 200px;
}


.visa_faq .wrap{max-width: 1400px;}
.visa_faq {
  padding: 50px 20px;
  background: url(./images/faq-background.webp) repeat;
  filter: brightness(1.03);
}
.faq_list {
  max-width: 1400px;
  margin: 0 auto;
  list-style: none;
  padding: 0;
  display: flex;
  gap: 24px;
}
.visa_faq_item {
  border-bottom: 1px solid #ccc; box-sizing: border-box;
  padding: 30px; border-radius: 15px; padding-bottom: 50px; cursor: pointer; transition: all 0.5s;
}

.visa_faq_item:hover{background: #FFF; transition: all 0.5s;}


.visa_faq_item span{
  color: #666;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  line-height: 1.5833333333;
  padding-left: 49px;
  position: relative;
  margin-bottom: 12px;
  display: inline-block;
}


.visa_faq_item span:before {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%);
  border-bottom: 1px solid #c1a783;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  width: 30px;
}


.faq_question {
  width: 100%;
  text-align: left;
  font-size: 20px;
  cursor: pointer;
  display: flex;
  border-bottom-color: rgba(69, 116, 161, 0);
  color: #0e2855;
  transition: all .2s;
  text-decoration: underline;
  font-weight: 400;
  margin-bottom: 10px;
  position: relative;
  line-height: 145%;
}

.faq_question font{text-decoration: none !important;     vertical-align: super !important;}




.visa_faq_answer{color: #222; font-size: 18px;}
.visa_faq_answer p,.visa_faq_answer li{line-height: 190%; font-weight: 400;}

.visa_faq_item.active .visa_faq_answer {
  opacity: 1;
}



.flex_down_sa{display: flex; flex-direction: column; gap: 15px; font-size: 16px;}
.visa_step_zone.visa_step_zone_flus ul li{align-items: flex-start}
.visa_step_zone.visa_step_zone_flus  ul li p{line-height: 145%; font-size: 18px;}





.margin_tops{margin-top: 50px;}

.Responsibility-overview {
  min-height: 200px;
  overflow: hidden;
}

.Responsibility-overview .visa_over_view_zone ul{display: flex; flex-direction: column; gap: 30px;}
.visa_over_view_zone ul li{padding-left: 0;}


.flex_p_on{display: flex;}

.sub_faq .overview ul li{padding-left: 0; }


.overview h3{font-size: 20px; font-weight: 600;}


.overview h4{font-size: 20px; font-weight: 600;}

.main-overview h4 {
  font-size: 20px;
  font-weight: 600;
  line-height: 135%;
  margin-top: 30px;
}


.overview h4{margin-top: 20px;}

.faq-item{padding: 30px 0;}


.visa_faq_item{
  width: calc(100% / 3 - 16px);
  display: flex;
  box-sizing: border-box;
  height: auto;
  flex-direction: column;
}

.passport_info_tit.passport_info_tit3{margin-top: 50px; margin-bottom: 15px;}

.passport_info_tit h2{font-size: 20px; position: relative; padding-left: 30px; font-weight: 400;}
.passport_info_tit_top{margin-top: 15px;}
.passport_info_tit_top p{padding-left: 30px; font-size: 16px;}

.passport_info_tit_bottom h4{font-size: 20px; position: relative; padding-left: 30px; font-weight: 400;}
.passport_info_tit_bottom{margin-top: 15px;}
.passport_info_tit_bottom p{padding-left: 30px; font-size: 16px;}

.passport_info_tit_bottom h4::after {
  position: absolute;
  width: 19px;
  height: 12px;
  left: 0; top: 50%; transform: translateY(-50%);
  content: "";
  padding-left: 0;
  background: url(../images/icon_tit_md.png) no-repeat center;
}

#passport-photo-preview img{max-width: 550px; width: 100%;}
.flex_center_cus{align-items: center;}

.passport_info_tit_bottom.passport_info_tit_bottom2 p{padding-left: 0;}

.passport_info_tit h2::after{display: none !important;}

.passport_img_txt{margin-top: 15px;}


#face-photo-preview{text-align: right;}
#face-photo-preview img{max-width: 550px; width: 100%;}

.passport_img_list ul li img{width: 100%;}

.passport_img_list ul{display: flex; gap: 24px; flex-wrap: wrap}
.passport_img_list ul li{width: calc(100% / 3 - 16px); padding-left: 0; text-align: center;}
.passport_img_list ul li p{font-size: 16px; }
.passport_img_list ul li p.txt_pas_ing_list{font-weight: 400; font-size: 18px; color: #333;}

.passport_img_list{margin-bottom: 30px;}



.visa_table{
  width: 100%;
  border-top: 2px solid #222;
  table-layout: fixed;
  line-height: 1.375;
  /* color: #222; */
}

.visa_table th {
  font-size: 16px;
  word-break: keep-all;
  font-weight: 400;
  background-color: #f1f2f4;
  border-bottom: 1px solid #dfdfdf;
}

.visa_table td:first-of-type {
  border-left: 0;
  border-right: 1px solid #dfdfdf;
}
.visa_table td {
  border-left: 1px solid #dfdfdf;
  padding: 13px 20px;
  border-bottom: 1px solid #dfdfdf;
  text-align: center;
}


.visa_table th:first-of-type {
  border-left: 0;
  border-right: 1px solid #dfdfdf;
}
.visa_table th{
  border-left: 1px solid #dfdfdf;
  padding: 13px 20px;
  border-bottom: 1px solid #dfdfdf;
}

.visa_table td span{display: inline-block; padding: 5px 15px; border: 1px solid #ddd; background: #fff; border-radius: 5px;}

.visa_table td span.sus{
  color: #367511;
  background: #e2f6d6;
  border-color:#d5efc5;
}
.visa_table td span.arr{
  background-color: #ffebe5;
  color: #ff5b32;
  border-color:#ffdcd2;
}
.visa_table td span.bos{
  color: #1c95ad;
  background: #d3f4fa;
  border-color:#c4f0f7;
}

.visa_table th:nth-child(6),
.visa_table td:nth-child(6) {
    width: 120px;
    text-align: center;
}

.visa_table td:nth-child(5) {
font-size: 14px;
padding: 10px;
}









@media screen and (max-width: 1350px) {
  .faq_list {
    flex-direction: column;
  }
  .visa_faq_item{width: calc(100%);}
  .visa_faq{background: #f9f9f9;}
  .faq_question{min-height: auto;}
  .visa_faq_item{height: auto; padding-bottom: 50px;}

  .visa_step_zone.visa_step_zone_flus ul li{height: auto;}
  .visa_step_zone.visa_step_zone_flus ul li p{ font-size: 16px;}
  .visa_step_zone.visa_step_zone_flus ul li img{max-height: 68px !important; }
}


@media screen and (max-width: 1020px) {
.table_wraps{overflow-x: auto;}
.visa_table{min-width: 960px; border-collapse: collapse;}
}










@media screen and (max-width: 800px) {
.visa_faq h2{font-size: 22px; line-height: 145%; padding: 15px 0;}
.visa_faq h2::before{padding-bottom: 0;}
.visa_faq{padding: 20px 10px;}
.visa_faq h2{margin-bottom: 35px;}
.faq_question{font-size: 20px;}
.visa_faq h2::before{font-size: 14px;}
.visa_faq_item{padding-bottom: 35px;}
.more a{font-size: 16px; margin-bottom: 4dvh;}
.visa_faq .wrap{padding: 0 15px;}
.visa_faq_item{padding: 0; border-radius: 0; background: none; padding-bottom: 30px;}
.visa_faq_item:hover{background: none;}
.sub_faq .overview ul li{font-size: 14px; padding-left: 0;}
.visa_faq_answer{font-size: 14px;}
.visa_step_zone.visa_step_zone_flus ul li p{ font-size: 14px;}
.visa_step_zone.visa_step_zone_flus .cus_flex_z{margin-top: 0;}
.visa_step_zone .logo-icon{height: 55px; max-height: 55px;}
.overview ul li h4{font-size: 15px;}
.passport_info_tit h2{font-size: 18px; line-height: 145%;}
.passport_info_tit_top p,.passport_info_tit_bottom p{padding-left: 0;}
.margin_tops{margin-top: 30px;}
.main-overview h2 {
  font-size: 20px; line-height: 135%;
}
.main-overview h4{font-size: 15px; line-height: 135%;}
.overview h4{font-size: 15px; line-height: 135%;}
.overview h2{font-size: 20px;   padding-left: 35px;}
.main-overview h2::after{margin-left: 0;}
.overview h2::after{margin-left: 0;}
.overview{margin-top: 35px;}

.passport_img_list ul li p.txt_pas_ing_list{font-size: 16px;}
.passport_img_list ul li p{font-size: 14px;}
.footer-notice p{padding: 0 10px; box-sizing: border-box;}
}

@media screen and (max-width: 500px) {
  .passport_info_tit h2{font-size: 15px;}
  .passport_info_tit_top p{font-size: 14px;}

  .passport_img_list ul{gap: 16px;}
  .passport_img_list ul li {
    width: calc(100% / 2 - 8px);
    padding-left: 0;
    text-align: center;
  }
  .passport_img_list ul li p.txt_pas_ing_list{font-size: 15px;}
  .passport_img_list ul li p{font-size: 14px;}
  .passport_img_list{margin-bottom: 0;}
  .visa-page-content-area .faq-item h3{font-size: 15px; font-weight: 400; line-height: 145%;}
  
}

.visa_step_zone h2 b{
  color: #213365;
  font-weight: 800;
}

.visa_step_zone.visa_step_zone2{
  background: #dee4f0 url(../images/map_vis_cons.webp) no-repeat;
  width: 100%;
}


/* ETIAS 여행 가능 국가 섹션 */
.visa_etias_countries {
  background: #dee4f0 url(../images/map_vis_cons.webp) no-repeat;
  height: auto;
  width: 100%;
  max-width: 1450px;
  margin: 0 auto;

  padding: 60px 50px;
  border-radius: 50px;
  text-align: center;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 100px;
  box-sizing: border-box;
}



.visa_etias_countries h2 {
  font-size: 50px;
  margin-bottom: 15px;
  color: #323234;
  font-weight: 800;
  
}

.visa_etias_countries b{color: #213365; font-weight: 800;}

.visa_etias_countries p {
  font-size: 22px;
  color: #243a61;
  margin:20px 0
}

.etias-country-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 20px;
  padding: 0;
  list-style: none;
  max-width: 800px;
  margin: 40px auto 40px;
}

.etias-country-list li {
  font-size: 18px;
  color: #444;
  background-color: #fff;
  padding: 12px 20px;
  border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease-in-out;
  cursor: pointer;
}

.etias-country-list li:hover {
  background-color: #e7f3ff;
  color: #0056b3;
}

/* 안내 문구 스타일 */
.etias-note {
  font-size: 14px;
  color: #777;
  margin-top: 10px;
}

.etias-note a {
  color: #0056b3;
  font-weight: 800;
  text-decoration: none;
}

.etias-note a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 1800px) {
  .visa_etias_countries{max-width: 90%; background-size: cover; background-position: center; height: auto;}
}

@media screen and (max-width: 1400px) {
  .visa_etias_countries h2{font-size: 35px; line-height: 145%;}
  .visa_etias_countries p{font-size: 20px;}
  .etias-country-list li{font-size: 16px;}
  .visa_etias_countries{height: auto; padding: 100px 0;}
}

@media screen and (max-width: 1000px) {
  .visa_over_view_table{overflow-x: auto;}
  .visa_over_view_table .visa_table{min-width: 500px; border-collapse: collapse;}
  .visa_over_view_table .visa_table.visa_table2{min-width: 900px; border-collapse: collapse;}
}

@media screen and (max-width: 800px) {
  .visa_etias_countries{height: auto; padding: 50px 0; border-radius: 25px;}
  .visa_etias_countries h2{font-size: 23px;}
  .visa_etias_countries p{font-size: 18px; line-height: 145%;}
}

@media screen and (max-width: 500px) {
  .visa_etias_countries h2{font-size: 19px;}
  .visa_etias_countries p{font-size: 15px;}
  .etias-country-list li{font-size: 14px; padding: 8px 10px;}
  .etias-country-list{margin: 20px 0;}
  .visa_etias_countries{padding: 25px 0;}
  .visa_etias_countries{margin-bottom: 15px;}
}

.visa-page-content-area.sub_applysxon{max-width: 1060px;}
.sub_applysxon .passport_img_txt2{width: 50%;}

.color_table{color: tomato;}

.tit_mini_cusw{font-size: 24px; margin-top: 30px;}
.Responsibility-overview .form-section{gap: 30px;}
.passport_img_txt2{width: 40%;}

.img_pas_txtsa{width: 60%; border: 1px solid #ddd; border-radius: 15px; overflow: hidden; box-sizing: border-box;}
.img_pas_txtsa img{width: 100%;}

.Responsibility-overview .form-section{margin-bottom: 30px;}
.center_table{text-align: center;}

@media screen and (max-width: 1200px) {
  .Responsibility-overview .form-section {
    flex-direction: column;
  }
  .sub_applysxon .passport_img_txt2{width: 100%;}
  .passport_img_txt2{width: 100%;}
  .img_pas_txtsa{width: 100%;}

}

@media screen and (max-width: 800px) {
  .tit_mini_cusw{font-size: 16px; margin-top: 0;}
  .margin-top-sonm{margin-top: 30px;}
  .Responsibility-overview .form-section p{font-size: 14px;}
  .Responsibility-overview .form-section{gap: 10px;}

}

.sns .xl .btn .label{display:none !important;}
.sns{margin-bottom: 20px;
display: flex; align-items: center; gap: 10px; justify-content: center;
}

.flex_box_con img{box-sizing: border-box; border: 1px solid #ccc; border-radius: 15px; width: 100%;}




.daterangepicker {
  position: absolute;
  color: inherit;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #ddd;
  width: 278px;
  max-width: none;
  padding: 0;
  margin-top: 7px;
  top: 100px;
  left: 20px;
  z-index: 3001;
  display: none;
  font-family: arial;
  font-size: 15px;
  line-height: 1em;
}

.daterangepicker:before, .daterangepicker:after {
  position: absolute;
  display: inline-block;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  content: '';
}

.daterangepicker:before {
  top: -7px;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-bottom: 7px solid #ccc;
}

.daterangepicker:after {
  top: -6px;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
  border-left: 6px solid transparent;
}

.daterangepicker.opensleft:before {
  right: 9px;
}

.daterangepicker.opensleft:after {
  right: 10px;
}

.daterangepicker.openscenter:before {
  left: 0;
  right: 0;
  width: 0;
  margin-left: auto;
  margin-right: auto;
}

.daterangepicker.openscenter:after {
  left: 0;
  right: 0;
  width: 0;
  margin-left: auto;
  margin-right: auto;
}

.daterangepicker.opensright:before {
  left: 9px;
}

.daterangepicker.opensright:after {
  left: 10px;
}

.daterangepicker.drop-up {
  margin-top: -7px;
}

.daterangepicker.drop-up:before {
  top: initial;
  bottom: -7px;
  border-bottom: initial;
  border-top: 7px solid #ccc;
}

.daterangepicker.drop-up:after {
  top: initial;
  bottom: -6px;
  border-bottom: initial;
  border-top: 6px solid #fff;
}

.daterangepicker.single .daterangepicker .ranges, .daterangepicker.single .drp-calendar {
  float: none;
}

.daterangepicker.single .drp-selected {
  display: none;
}

.daterangepicker.show-calendar .drp-calendar {
  display: block;
}

.daterangepicker.show-calendar .drp-buttons {
  display: block;
}

.daterangepicker.auto-apply .drp-buttons {
  display: none;
}

.daterangepicker .drp-calendar {
  display: none;
  max-width: 270px;
}

.daterangepicker .drp-calendar.left {
  padding: 8px 0 8px 8px;
  box-sizing: border-box;
}

.daterangepicker .drp-calendar.right {
  padding: 8px;
}

.daterangepicker .drp-calendar.single .calendar-table {
  border: none;
}

.daterangepicker .calendar-table .next span, .daterangepicker .calendar-table .prev span {
  color: #fff;
  border: solid black;
  border-width: 0 2px 2px 0;
  border-radius: 0;
  display: inline-block;
  padding: 3px;
}

.daterangepicker .calendar-table .next span {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.daterangepicker .calendar-table .prev span {
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.daterangepicker .calendar-table th, .daterangepicker .calendar-table td {
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  min-width: 32px;
  width: 32px;
  height: 24px;
  line-height: 24px;
  font-size: 12px;
  border-radius: 4px;
  border: 1px solid transparent;
  white-space: nowrap;
  cursor: pointer;
}

.daterangepicker .calendar-table {
  border: 1px solid #fff;
  border-radius: 4px;
  background-color: #fff;
}

.daterangepicker .calendar-table table {
  width: 100%;
  margin: 0;
  border-spacing: 0;
  border-collapse: collapse;
  table-layout: fixed;
}

.daterangepicker td.available:hover, .daterangepicker th.available:hover {
  background-color: #eee;
  border-color: transparent;
  color: inherit;
}

.daterangepicker td.week, .daterangepicker th.week {
  font-size: 80%;
  color: #ccc;
}

.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date {
  background-color: #fff;
  border-color: transparent;
  color: #999;
}

.daterangepicker td.in-range {
  background-color: #ebf4f8;
  border-color: transparent;
  color: #000;
  border-radius: 0;
}

.daterangepicker td.start-date {
  border-radius: 4px 0 0 4px;
}

.daterangepicker td.end-date {
  border-radius: 0 4px 4px 0;
}

.daterangepicker td.start-date.end-date {
  border-radius: 4px;
}

.daterangepicker td.active, .daterangepicker td.active:hover {
  background-color: #357ebd;
  border-color: transparent;
  color: #fff;
}

.daterangepicker th.month {
  width: auto;
}

.daterangepicker td.disabled, .daterangepicker option.disabled {
  color: #999;
  cursor: not-allowed;
  text-decoration: line-through;
}

.daterangepicker select.monthselect, .daterangepicker select.yearselect {
  font-size: 12px;
  padding: 1px;
  height: auto;
  margin: 0;
  cursor: default;
}

.daterangepicker select.monthselect {
  margin-right: 2%;
  width: 56%;
}

.daterangepicker select.yearselect {
  width: 40%;
}

.daterangepicker select.hourselect, .daterangepicker select.minuteselect, .daterangepicker select.secondselect, .daterangepicker select.ampmselect {
  width: 50px;
  margin: 0 auto;
  background: #eee;
  border: 1px solid #eee;
  padding: 2px;
  outline: 0;
  font-size: 12px;
}

.daterangepicker .calendar-time {
  text-align: center;
  margin: 4px auto 0 auto;
  line-height: 30px;
  position: relative;
}

.daterangepicker .calendar-time select.disabled {
  color: #ccc;
  cursor: not-allowed;
}

.daterangepicker .drp-buttons {
  clear: both;
  text-align: right;
  padding: 8px;
  border-top: 1px solid #ddd;
  display: none;
  line-height: 12px;
  vertical-align: middle;
}

.daterangepicker .drp-selected {
  display: inline-block;
  font-size: 12px;
  padding-right: 8px;
}

.daterangepicker .drp-buttons .btn {
  margin-left: 8px;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 8px;
}

.daterangepicker.show-ranges.single.rtl .drp-calendar.left {
  border-right: 1px solid #ddd;
}

.daterangepicker.show-ranges.single.ltr .drp-calendar.left {
  border-left: 1px solid #ddd;
}

.daterangepicker.show-ranges.rtl .drp-calendar.right {
  border-right: 1px solid #ddd;
}

.daterangepicker.show-ranges.ltr .drp-calendar.left {
  border-left: 1px solid #ddd;
}

.daterangepicker .ranges {
  float: none;
  text-align: left;
  margin: 0;
}

.daterangepicker.show-calendar .ranges {
  margin-top: 8px;
}

.daterangepicker .ranges ul {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

.daterangepicker .ranges li {
  font-size: 12px;
  padding: 8px 12px;
  cursor: pointer;
}

.daterangepicker .ranges li:hover {
  background-color: #eee;
}

.daterangepicker .ranges li.active {
  background-color: #08c;
  color: #fff;
}

/*  Larger Screen Styling */
@media (min-width: 564px) {
  .daterangepicker {
    width: auto;
  }

  .daterangepicker .ranges ul {
    width: 140px;
  }

  .daterangepicker.single .ranges ul {
    width: 100%;
  }

  .daterangepicker.single .drp-calendar.left {
    clear: none;
  }

  .daterangepicker.single .ranges, .daterangepicker.single .drp-calendar {
    float: left;
  }

  .daterangepicker {
    direction: ltr;
    text-align: left;
  }

  .daterangepicker .drp-calendar.left {
    clear: left;
    margin-right: 0;
  }

  .daterangepicker .drp-calendar.left .calendar-table {
    border-right: none;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }

  .daterangepicker .drp-calendar.right {
    margin-left: 0;
  }

  .daterangepicker .drp-calendar.right .calendar-table {
    border-left: none;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }

  .daterangepicker .drp-calendar.left .calendar-table {
    padding-right: 8px;
  }

  .daterangepicker .ranges, .daterangepicker .drp-calendar {
    float: left;
  }
}

@media (min-width: 730px) {
  .daterangepicker .ranges {
    width: auto;
  }

  .daterangepicker .ranges {
    float: left;
  }

  .daterangepicker.rtl .ranges {
    float: right;
  }

  .daterangepicker .drp-calendar.left {
    clear: none !important;
  }
}


.daterangepicker{
  width: 100%; max-width: 400px;
}
.daterangepicker .drp-calendar{
  width: 100%; max-width: 400px; font-size: 18px;
}

.daterangepicker .calendar-table th, .daterangepicker .calendar-table td{font-size: 16px; padding: 10px;
color: #0c0c0c; font-weight: 500;
}
.daterangepicker .calendar-table th{color: #0b3974;}
.daterangepicker .calendar-table .month{padding: 0;}

.daterangepicker select.monthselect, .daterangepicker select.yearselect{min-height: 40px; font-size: 16px; padding: 0 20px; font-weight: 500;
  border-radius: 10px; border-color: #e0e0e0; color: #000; min-width: 105px;
}

.daterangepicker td.off, .daterangepicker td.off.in-range, .daterangepicker td.off.start-date, .daterangepicker td.off.end-date{
  color: #b6b6b6;
}

.daterangepicker td.active, .daterangepicker td.active:hover{
  color: #fff; background: #0b3974;
}

.daterangepicker select.monthselect{width: 40%;}

.daterangepicker .drp-buttons{display: flex !important; gap: 10px; margin: 0; border-top: 0;}
.daterangepicker .drp-buttons .btn{width: calc(100% / 2 - 5px); box-sizing: border-box; border: 1px solid #e0e0e0; margin: 0;
  min-height: 45px; border-radius: 10px; font-size: 16px; font-weight: 500; color: #1a1a1a;
}

.daterangepicker .drp-buttons .btn.applyBtn{background-color: #0b3974; color: #fff;}


.pho-apps{ padding: 60px 20px;  box-sizing: border-box; text-align: center; background: #fff; width: calc(100% / 2 - 10px) ;
  box-shadow: 2px 2px 2px #dfe9f3;     margin: 0 auto;
}
.pho-apps ul{margin-top: 0; padding: 30px 0; border-top: 3px solid #ddd;}
.pho-apps ul li{padding-left: 0;}
.pho-apps p{font-size: 16px; color: #333;  margin-bottom: 5px;}

.pho-apps img{max-width: 100px; margin: 0 auto; margin-bottom: 30px;}
.flex_pop.flex_pop2{flex-direction: row; gap: 20px;}



.txt_oop_pass{margin-bottom: 0; padding: 15px 0;}

.flex_pop.flex_pop2 button{margin-top: 15px; padding: 8px; font-size: 16px; border: 0; border-radius: 8px;}
.flex_pop.flex_pop2 .pho-apps:nth-of-type(1) button{background: #0983d0; color: #fff;}
.flex_pop.flex_pop2 .pho-apps:nth-of-type(2) button{background: #0b3974; color: #fff;}

.flex_pop.flex_pop2 .pho-apps:nth-of-type(1) ul{border-color: #0983d0;}
.flex_pop.flex_pop2 .pho-apps:nth-of-type(2) ul{border-color: #0b3974;}

.title_pop_pass{position: relative;}
.popup-close{position: absolute; top: 50%;transform: translateY(-50%); right: 0; padding: 10px; border-radius: 5px; background: #e0eaf4; color: #4574a1; font-weight: 500;}


@media screen and (max-width: 600px) {
  .popup{width: 100%;}
  .flex_pop.flex_pop2 {flex-direction: column;gap: 20px;}
  .popup{box-sizing: border-box; padding-top: 30px; padding: 15px; border-radius: 10px;}
  .pho-apps ul{padding: 10px 0; font-size: 14px; border-top: 0;}
  .pho-apps{width: 100%; padding: 15px;}
  .pho-apps img{margin-bottom: 0; max-width: 64px;}
  .flex_pop.flex_pop2 button{font-size: 14px; padding: 6px;}
  .txt_oop_pass{display: none;}
  .popup{padding-top: 20px; z-index: 10;}
  .pho-apps p{font-size: 14px;}
  .title_pop_pass{text-align: center;}
  .popup-close{position: relative; transform: none; top: auto; right: auto; margin-top: 10px;}
  .flex_pop.flex_pop2 button{border-radius: 15px; margin-top: 0;}
  .pho-apps{border-radius: 10px;}
  .popup .popup-content{display: flex; flex-direction: column-reverse;}
}


/**
 * Copyright (c) Microblink Ltd. All rights reserved.
 */


 #screen-initial,
 #screen-scanning
 {
     display: block;
     width: 100%;
     height: 100%;
 }
 
 /* Rules for better readability */

 
 video
 {
     width: 100%;
     height: 100%;
 }
 
 textarea
 {
     display: block;
 }
 
 /* Camera feedback */
 #screen-scanning
 {
     position: relative;
 }
 



 #screen-scanning-camera {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 94%;       /* 양옆 여백 */
  height: 90vh;     /* 상하 여백 */
  margin: 5vh 3%;   /* 가운데 정렬 */
  box-sizing: border-box;
  z-index: 9999;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 0 15px rgba(0,0,0,0.3);
  background: #000;
}



 #camera-feedback
 {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     bottom: 0;
 
     width: 100%;
     height: 100%;
 }
 
 #camera-guides
 {
     position: absolute;
     top: 0;
     left: 0;
     right: 0;
     text-align: center;
     font-weight: bold;
 }
 
 /* Auxiliary classes */
 .hidden
 {
     display: none !important;
 }
 
 .flex_pop.flex_pop2 .pho-apps:nth-of-type(2) .popup-btn {
  background: #0b3974;
  color: #fff;
  margin-top: 15px;
  padding: 8px;
  font-size: 16px;
  border: 0;
  border-radius: 8px;
  width: 100%;
  box-sizing: border-box;
}
 

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

.payment-result {
  padding: 60px 0;
}
.payment-result .card {
  max-width: 480px;
  margin: 0 auto;
  padding: 32px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.08);
  text-align: center;
}
.payment-result .card h2 {
  font-size: 26px;
  margin-bottom: 24px;
  color: #2c3e50;
}
.payment-result .card p {
  font-size: 16px;
  margin: 8px 0;
  color: #555;
}
.payment-result .card p strong {
  color: #000;
}
.payment-result .btn-home {
  display: inline-block;
  margin-top: 28px;
  padding: 12px 28px;
  background-color: #0066cc;
  color: #fff;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color .2s ease;
}
.payment-result .btn-home:hover {
  background-color: #005bb5;
}

.payment-result{display: flex; align-items: center; justify-content: center;}




.payment-form-container {
    display: none;
    padding: 20px;
    background: #f9f9f9;
    margin-top: 20px;
    border-radius: 15px;
}

.payment-methods {
    margin-bottom: 20px;
}

.section-title {
    font-weight: bold;
    display: block;
    margin-bottom: 10px;
    font-size: 16px;
}

#payment-method-select {
    width: 100%;
    padding: 8px;
    font-size: 1rem;
    border: 1px solid #ccc;
}


.payment-methods select{
    font-family: 'Noto Sans KR', sans-serif;
    width: 100%;
    background-color: #fff;
    border-color: #0b3947;
    border-width: 1px;
    border-radius: 0;
    padding: .5rem .75rem;
    font-size: 1rem;
    line-height: 1.5rem;
    --tw-shadow: 0 0 #0000;
    min-height: 42px;
}

.left_ing{margin-top: 100px;}
.card_img{display: flex; gap: 10px; justify-content: flex-end; min-width: 200px;}
.card_img img{max-width: 60px; padding: 10px 0;}



  .payment-method-container {
    display: flex;
    justify-content: center;
    padding: 30px;
    font-family: sans-serif;
    width: 100%;
    max-width: 1280px;
  }

  .payment-option {
    width: 360px;
    border: 1px solid #ddd;
    border-radius: 12px;
    text-align: center;
    padding: 25px 20px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.2s ease;
  }

  .payment-option:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
  }

  .payment-icon {
    font-size: 38px;

    color: #0052cc;
  }

  .btn-payletter {
    display: inline-block;
    width: 100%;
    padding: 14px 0;
    background-color: #02b9ad;
    color: #fff;
    font-size: 17px;
    font-weight: 500;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    margin-bottom: 10px;
    transition: background-color 0.2s;
  }

  .btn-payletter:hover {
    background-color: #003f99;
  }

  .pay-desc {
    font-size: 14px;
    color: #666;
  }

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

  #cit_opt_prc2{display: flex; align-items: center; justify-content: space-between; width: 100%; font-size: 18px; margin-top: 20px;}
  #cit_opt_prc2 span{display: inline-block;}

.payment-option .btn-payletter{margin-top: 25px;}
.payment-method-container{background: #f5f5f5;}

@media screen and (max-width: 600px) {
    .payment-method-container{padding: 0; width: 100%;}
.flex_zonesq {
    display: flex
;
    justify-content: space-between;
    align-items: center;
}
    .card_img img {
        max-width: 50px;
    }
    .btn-payletter{font-size: 15px;}
    .card_img{width: 36px; min-width: 36px}
    #payment-form{padding: 5px !important;}
}


.flex_res p{width: 100%; display: flex; padding: 10px 0; justify-content: space-between;}

.failes{
    background: #fff3f3;
    padding: 10px 0;
    font-weight: 500;
    font-size: 18px;
    color: tomato;
}

.susses_ct{
    background: #e1fffd;
    padding: 10px 0;
    font-weight: 500;
    font-size: 18px;
    color: #009e94;
}

.visa-page-content-area p.txt_sop{
      font-size: 14px;
    color: #000;
    line-height: 145%;
    margin-top: 20px;
}

@media screen and (max-width: 500px) {
.visa-page-header{min-height: auto;}
.payment-result{padding: 20px 0;}
.failes{font-size: 15px; margin-top: 10px;}
.susses_ct{font-size: 15px; margin-top: 10px;}
}
.class_bhj6 h6{font-size: 18px; font-weight:600;}


.Responsibility-overview.ul_p_zone .visa_over_view_zone ul{margin-top: 0; gap: 0;}

.visa_over_view_zone ul li h6{font-size: 20px; font-weight: 600;}


.lang_guge a{padding: 7px 15px; border-radius: 20px; background: #0b1631; color: #fff;}
.lang_guge a:hover{background: #1590A3;}



.contrty_customs_sevice{text-align: center; padding: 100px 0;}




/* 안내 문구 스타일 */
.etias-note {
  font-size: 14px;
  color: #777;
  margin-top: 10px;
}

.etias-note a {
  color: #0056b3;
  font-weight: 800;
  text-decoration: none;
}

.etias-note a:hover {
  text-decoration: underline;
}

.fi{margin-right: 5px;}

.flex_zone13{display: flex; gap: 24px; flex-wrap: wrap; text-align: left; padding: 30px 0; font-size: 16px;}

.flex_zone13 .country-name{
    width: calc(100%/8 - 21px); box-sizing: border-box; border: 1px solid #fff; 
    font-size: 16px;
    color: #444;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease-in-out;
    cursor: pointer;
    text-align: center;
    padding: 10px 5px;

}
.flex_zone13 .country-name a{box-sizing: border-box;}

.flex_zone13 .country-name:hover {
  background-color: #e7f3ff;
    text-decoration: underline;
    
}
.flex_zone13 .country-name:hover a{color: #051d45;}
.visa_etias_countries h2{padding-top: 20px;}

.flex_zone13 .country-name a{display: inline-block; padding: 12px 20px; width: 100%;}

@media screen and (max-width: 1800px) {
  .flex_zone13 .country-name span{display: block; margin: 0 auto; padding-bottom: 10px;}
  .flex_zone13 .country-name{text-align: center;}
}

@media screen and (max-width: 1500px) {

.flex_zone13 .country-name a{padding: 5px;}
.flex_zone13 .country-name{font-size: 14px;}
}

@media screen and (max-width: 1400px) {
.wrap3{padding: 0 50px;}
}

@media screen and (max-width: 1240px) {
  .visa_etias_countries{padding: 30px 0;}
.flex_zone13{gap: 15px;}
.flex_zone13 .country-name{width: calc(100%/3 - 10px);}
}

@media screen and (max-width: 500px) {
.wrap3{padding: 0 15px;}
.flex_zone13{padding: 0;}
}

@media screen and (max-width: 374px) {
.flex_zone13 .country-name{width: calc(100%/2 - 5px);}
.flex_zone13{gap: 10px;}
}


