:root{--visa-ink:#101820;--visa-gold:#b58a2c;--visa-red:#c92f36;--visa-line:#e4e7ec;--visa-muted:#667085;--visa-soft:#f6f7f8}
.visa-page-hero,.visa-country-hero,.visa-detail-hero{position:relative;overflow:hidden;background:#0c151d;color:#fff}.visa-page-hero{padding:150px 0 76px;background:radial-gradient(circle at 80% 20%,#b58a2c33,transparent 34%),#0c151d}.visa-country-hero{min-height:510px;display:flex;align-items:end;background-image:linear-gradient(#06111bb8,#06111be8),var(--visa-cover);background-size:cover;background-position:center}.visa-country-hero .container{position:relative;padding-top:150px;padding-bottom:74px}.visa-detail-hero{padding:150px 0 82px;background:radial-gradient(circle at 76% 18%,#b58a2c38,transparent 30%),linear-gradient(135deg,#0b151e,#172733)}.visa-page-hero nav,.visa-country-hero nav,.visa-detail-hero nav{display:flex;flex-wrap:wrap;gap:9px;color:#ffffffa8;font-size:13px;margin-bottom:24px}.visa-page-hero nav a,.visa-country-hero nav a,.visa-detail-hero nav a{color:inherit}.visa-page-hero h1,.visa-country-hero h1,.visa-detail-hero h1{max-width:880px;margin:8px 0 14px;font:700 clamp(38px,6vw,76px)/1.02 Georgia,serif;letter-spacing:-.035em}.visa-page-hero>div>p,.visa-country-hero>div>span,.visa-detail-hero>div>p{color:#d9b765;font-size:12px;font-weight:800;letter-spacing:.16em}.visa-page-hero>div>span,.visa-country-hero p,.visa-detail-hero>div>span{display:block;max-width:720px;color:#ffffffc7;font-size:18px;line-height:1.7}.visa-country-hero .container>a{display:inline-flex;margin-top:25px;color:#fff;font-weight:800}.visa-public-main{padding:56px 0 90px;background:#fff}.visa-public-filters{display:grid;grid-template-columns:1.35fr repeat(3,1fr) auto auto auto;gap:12px;align-items:end;margin-bottom:35px;padding:20px;border:1px solid var(--visa-line);border-radius:18px;background:#fff;box-shadow:0 15px 45px #1018280b}.visa-public-filters label>span{display:block;margin-bottom:7px;font-size:12px;font-weight:800;color:#344054}.visa-public-filters input,.visa-public-filters select{width:100%;height:46px;border:1px solid #d0d5dd;border-radius:10px;padding:0 12px;background:#fff}.visa-public-filters button,.visa-public-filters>a{display:grid;place-items:center;height:46px;padding:0 17px;border-radius:10px;font-weight:800}.visa-public-filters button{border:0;background:var(--visa-ink);color:#fff}.visa-public-filters>a{border:1px solid var(--visa-line);color:var(--visa-ink)}.visa-public-filters .visa-check{display:flex;align-items:center;gap:8px;height:46px}.visa-public-filters .visa-check input{width:18px;height:18px}.visa-public-filters .visa-check span{margin:0}.visa-country-grid,.visa-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.visa-country-card{overflow:hidden;border:1px solid var(--visa-line);border-radius:18px;background:#fff;box-shadow:0 8px 30px #1018280b;transition:transform .3s ease,box-shadow .3s ease}.visa-country-card:hover{transform:translateY(-6px);box-shadow:0 25px 60px #10182818}.visa-country-media{position:relative;display:grid;place-items:center;height:178px;background:linear-gradient(135deg,#edf0f3,#dfe5e9);overflow:hidden}.visa-country-media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.visa-country-card:hover .visa-country-media img{transform:scale(1.045)}.visa-country-media>span{font:800 42px/1 Georgia,serif;color:#172733}.visa-country-media>b{position:absolute;top:13px;left:13px;padding:6px 9px;border-radius:999px;background:#101820d9;color:#fff;font-size:11px}.visa-country-copy{padding:19px}.visa-country-copy h3{margin:0 0 4px;font-size:22px}.visa-country-copy h3 a{color:var(--visa-ink)}.visa-country-copy>small{color:var(--visa-muted)}.visa-type-chips{display:flex;flex-wrap:wrap;gap:6px;margin:13px 0}.visa-type-chips a{padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#344054;font-size:11px;font-weight:750}.visa-country-copy>p{min-height:38px;margin:10px 0;color:var(--visa-muted);font-size:13px;line-height:1.5}.visa-country-copy>strong{display:block;color:var(--visa-gold);font-size:15px}.visa-card-actions{display:flex;gap:8px;margin-top:17px}.visa-card-actions a,.visa-service-grid article>div a{flex:1;padding:10px;border:1px solid var(--visa-line);border-radius:9px;text-align:center;color:var(--visa-ink);font-size:12px;font-weight:800}.visa-card-actions a.primary,.visa-service-grid article>div a.primary{background:var(--visa-ink);border-color:var(--visa-ink);color:#fff}.visa-empty{grid-column:1/-1;padding:36px;border:1px dashed #c9ced6;border-radius:16px;text-align:center;background:var(--visa-soft);color:var(--visa-muted)}.visa-empty b{display:block;color:var(--visa-ink);margin-bottom:12px}.visa-empty div{display:flex;justify-content:center;gap:10px}.visa-empty a{display:inline-flex;padding:9px 13px;border-radius:8px;background:var(--visa-ink);color:#fff}.visa-answer-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:-86px;position:relative;z-index:2;border-radius:18px;background:#fff;box-shadow:0 24px 70px #10182818}.visa-answer-strip article{padding:24px;border-right:1px solid var(--visa-line)}.visa-answer-strip article:last-child{border:0}.visa-answer-strip small{display:block;color:var(--visa-muted);margin-bottom:7px}.visa-answer-strip strong{font-size:20px;color:var(--visa-ink)}.visa-content-section{padding-top:66px}.visa-content-section header{max-width:700px;margin-bottom:24px}.visa-content-section header>p{margin:0 0 8px;color:var(--visa-gold);font-size:11px;font-weight:800;letter-spacing:.14em}.visa-content-section h2{margin:0;font:700 clamp(28px,4vw,45px)/1.08 Georgia,serif;color:var(--visa-ink)}.visa-service-grid article{padding:24px;border:1px solid var(--visa-line);border-radius:16px}.visa-service-grid article>span{display:inline-flex;padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:11px}.visa-service-grid h3{font-size:22px;margin:15px 0 7px}.visa-service-grid p{color:var(--visa-muted);line-height:1.6}.visa-service-grid ul{padding:0;list-style:none;color:#344054;font-size:13px;line-height:1.8}.visa-service-grid article>div{display:flex;gap:8px}.visa-process ol{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;padding:0}.visa-process li{padding:22px;border-radius:14px;background:var(--visa-ink);color:#fff}.visa-process li span{display:block;margin-bottom:23px;color:#d9b765;font:700 28px/1 Georgia,serif}.visa-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px}.visa-detail-layout .visa-answer-strip{margin-top:-85px}.visa-detail-aside{position:relative}.visa-detail-aside>div{position:sticky;top:110px;padding:27px;border:1px solid var(--visa-line);border-radius:18px;box-shadow:0 18px 55px #10182812}.visa-detail-aside>div>span{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--visa-ink);color:#fff;font-weight:800}.visa-detail-aside h2{font-size:25px}.visa-detail-aside strong{display:block;color:var(--visa-gold);font-size:22px}.visa-detail-aside p{color:var(--visa-muted);font-size:12px;line-height:1.6}.visa-primary-cta{display:inline-flex;justify-content:center;padding:13px 20px;border-radius:10px;background:var(--visa-red);color:#fff;font-weight:800}.visa-detail-aside .visa-primary-cta{display:flex;margin-top:18px}.visa-fact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.visa-fact-grid article{padding:17px;border:1px solid var(--visa-line);border-radius:12px}.visa-fact-grid small{display:block;color:var(--visa-muted);margin-bottom:5px}.visa-note{padding:18px;border-left:3px solid var(--visa-gold);background:#fffbf0;color:#475467}.visa-document-group{margin-bottom:10px;border:1px solid var(--visa-line);border-radius:13px;background:#fff}.visa-document-group summary{display:flex;justify-content:space-between;padding:17px 19px;cursor:pointer;font-weight:800}.visa-document-group summary b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#f2f4f7}.visa-document-group ul{list-style:none;margin:0;padding:0 19px 12px}.visa-document-group li{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-top:1px solid #eef0f3}.visa-document-group li p,.visa-document-group li small{display:block;margin:5px 0 0;color:var(--visa-muted)}.visa-document-group li>span{height:max-content;padding:4px 7px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:10px}.visa-vfs-card{display:grid;grid-template-columns:1fr 1fr auto;gap:22px;padding:22px;border:1px solid var(--visa-line);border-radius:14px;margin-bottom:12px}.visa-vfs-card span{color:var(--visa-gold);font-size:11px;font-weight:800;text-transform:uppercase}.visa-vfs-card h3{margin:7px 0}.visa-vfs-card p{color:var(--visa-muted)}.visa-vfs-card dl{margin:0}.visa-vfs-card dl>div{margin-bottom:8px}.visa-vfs-card dt{font-size:11px;color:var(--visa-muted)}.visa-vfs-card dd{margin:2px 0}.visa-vfs-card>a{align-self:center;color:var(--visa-ink);font-weight:800}.visa-mobile-apply{display:none}
.cms-visa-carousel-wrap{position:relative}.cms-visa-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(255px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px 3px 25px}.cms-visa-carousel::-webkit-scrollbar{display:none}.cms-visa-carousel .visa-country-card{scroll-snap-align:start}.cms-visa-arrows{display:flex;justify-content:flex-end;gap:8px;margin-bottom:12px}.cms-visa-arrows button{width:42px;height:42px;border:1px solid var(--visa-line);border-radius:50%;background:#fff;font-size:20px;cursor:pointer}.cms-visa-arrows button:hover{background:var(--visa-ink);color:#fff}
@media(max-width:1050px){.visa-public-filters{grid-template-columns:repeat(3,1fr)}.visa-country-grid,.visa-service-grid{grid-template-columns:repeat(2,1fr)}.visa-detail-layout{grid-template-columns:1fr}.visa-detail-aside{display:none}}
@media(max-width:700px){.visa-page-hero,.visa-detail-hero{padding:125px 0 60px}.visa-country-hero .container{padding-top:130px}.visa-public-main{padding:36px 0 78px}.visa-public-filters{grid-template-columns:1fr;padding:15px}.visa-country-grid,.visa-service-grid,.visa-answer-strip,.visa-fact-grid,.visa-process ol{grid-template-columns:1fr}.visa-answer-strip{margin-top:-62px}.visa-answer-strip article{border-right:0;border-bottom:1px solid var(--visa-line)}.visa-country-grid{gap:15px}.visa-country-media{height:155px}.visa-detail-layout .visa-answer-strip{margin-top:-62px}.visa-vfs-card{grid-template-columns:1fr}.visa-mobile-apply{position:fixed;z-index:90;left:14px;right:14px;bottom:14px;display:flex;justify-content:center;padding:14px;border-radius:12px;background:var(--visa-red);color:#fff;font-weight:800;box-shadow:0 12px 35px #0005}.cms-visa-carousel{grid-auto-columns:82%;}.cms-visa-arrows{display:none}}
.visa-apply-review{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:950px;margin:-85px auto 0;position:relative;z-index:2}.visa-apply-review>section,.visa-apply-review>form{padding:28px;border:1px solid var(--visa-line);border-radius:18px;background:#fff;box-shadow:0 20px 55px #10182812}.visa-apply-review h2{margin-top:0}.visa-apply-review dl>div{display:flex;justify-content:space-between;gap:20px;padding:12px 0;border-bottom:1px solid #eef0f3}.visa-apply-review dt{color:var(--visa-muted)}.visa-apply-review dd{margin:0;text-align:right;font-weight:750}.visa-apply-review label{display:block;margin-bottom:15px;font-weight:750}.visa-apply-review input,.visa-apply-review textarea{box-sizing:border-box;display:block;width:100%;margin-top:7px;border:1px solid #d0d5dd;border-radius:10px;padding:12px}.visa-apply-review form p{color:var(--visa-muted);font-size:12px;line-height:1.6}@media(max-width:700px){.visa-apply-review{grid-template-columns:1fr;margin-top:-35px}}
.visa-public-filters{grid-template-columns:repeat(6,minmax(0,1fr))}.visa-public-filters>label:first-child{grid-column:span 2}.field-error{display:block;margin-top:6px;color:#b42318}.visa-primary-cta:disabled{opacity:.65;cursor:wait}@media(max-width:1050px){.visa-public-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.visa-public-filters>label:first-child{grid-column:span 2}}@media(max-width:700px){.visa-public-filters{grid-template-columns:1fr}.visa-public-filters>label:first-child{grid-column:auto}}
/* =====================================================
   HOMEPAGE VISA CARDS - COMPACT SINGLE ROW
   ===================================================== */

.v3-visa-section{
    padding-top:42px !important;
    padding-bottom:42px !important;
}

.v3-visa-section .v3-section-head{
    margin-bottom:18px !important;
}


/* 6 cards in ONE ROW */
.v3-visa-rail{
    display:grid !important;
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
}


/* card */
.v3-visa-rail .visa-country-card{
    min-width:0 !important;
    width:auto !important;
    border-radius:14px !important;
}


/* top image / country code area */
.v3-visa-rail .visa-country-media{
    height:105px !important;
}

.v3-visa-rail .visa-country-media > span{
    font-size:30px !important;
}


/* content */
.v3-visa-rail .visa-country-copy{
    padding:12px !important;
}

.v3-visa-rail .visa-country-copy h3{
    margin:0 0 3px !important;
    font-size:16px !important;
    line-height:1.2 !important;
}

.v3-visa-rail .visa-country-copy > small{
    font-size:9px !important;
}


/* visa chip */
.v3-visa-rail .visa-type-chips{
    margin:7px 0 !important;
    gap:4px !important;
}

.v3-visa-rail .visa-type-chips a{
    padding:3px 6px !important;
    font-size:8px !important;
}


/* processing text */
.v3-visa-rail .visa-country-copy > p{
    min-height:28px !important;
    margin:6px 0 !important;
    font-size:9px !important;
    line-height:1.35 !important;
}


/* fee */
.v3-visa-rail .visa-country-copy > strong{
    font-size:10px !important;
    line-height:1.3 !important;
}


/* buttons */
.v3-visa-rail .visa-card-actions{
    gap:5px !important;
    margin-top:8px !important;
}

.v3-visa-rail .visa-card-actions a{
    padding:7px 3px !important;
    border-radius:7px !important;
    font-size:8px !important;
    white-space:nowrap !important;
}


/* Tablet = horizontal scroll instead of second row */
@media(max-width:1100px){

    .v3-visa-rail{
        display:flex !important;
        gap:12px !important;
        overflow-x:auto !important;
        overflow-y:hidden !important;
        scroll-snap-type:x mandatory;
        scrollbar-width:none;
        padding-bottom:8px;
    }

    .v3-visa-rail::-webkit-scrollbar{
        display:none;
    }

    .v3-visa-rail .visa-country-card{
        flex:0 0 190px !important;
        scroll-snap-align:start;
    }
}


/* Mobile */
@media(max-width:620px){

    .v3-visa-section{
        padding-top:32px !important;
        padding-bottom:32px !important;
    }

    .v3-visa-rail .visa-country-card{
        flex:0 0 78% !important;
    }
}
/* ==========================================================
   PUBLIC VISA APPLICATION V2
   ========================================================== */

.visa-application-v2{
    padding-top:28px;
}

.visa-apply-summary{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:30px;
    align-items:center;

    margin-bottom:16px;
    padding:20px 22px;

    border:1px solid #e4e9ef;
    border-radius:16px;

    background:#fff;
    box-shadow:0 7px 24px rgba(16,35,63,.045);
}

.visa-apply-summary-kicker{
    display:block;
    margin-bottom:5px;

    color:#a97b16;
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
}

.visa-apply-summary h2{
    margin:0;
    color:#10233f;
    font-size:23px;
    line-height:1.2;
}

.visa-apply-summary h2 span{
    margin:0 5px;
    color:#b58a2b;
}

.visa-apply-summary p{
    max-width:650px;
    margin:7px 0 0;
    color:#667085;
    font-size:12px;
    line-height:1.6;
}

.visa-apply-summary-meta{
    display:grid;
    grid-template-columns:repeat(3,minmax(110px,1fr));
    gap:10px;
}

.visa-apply-summary-meta>div{
    min-width:120px;
    padding:10px 12px;

    border-left:1px solid #e5e9ef;
}

.visa-apply-summary-meta small,
.visa-apply-summary-meta strong{
    display:block;
}

.visa-apply-summary-meta small{
    margin-bottom:3px;
    color:#7b8493;
    font-size:9px;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.visa-apply-summary-meta strong{
    color:#10233f;
    font-size:12px;
}


/* FLEXIBLE SUBMISSION NOTICE */

.visa-apply-flexible-notice{
    display:flex;
    align-items:flex-start;
    gap:12px;

    margin-bottom:18px;
    padding:13px 16px;

    border:1px solid #ead9a8;
    border-radius:12px;

    background:#fffaf0;
}

.visa-apply-flexible-icon{
    display:grid;
    place-items:center;

    width:25px;
    height:25px;
    flex:0 0 25px;

    border-radius:50%;
    background:#b58a2b;
    color:#fff;

    font-size:12px;
    font-weight:900;
}

.visa-apply-flexible-notice strong{
    display:block;
    margin-bottom:2px;
    color:#6d5014;
    font-size:12px;
}

.visa-apply-flexible-notice p{
    margin:0;
    color:#796638;
    font-size:11px;
    line-height:1.55;
}


/* FORM */

.visa-application-form-v2{
    display:grid;
    gap:14px;
}

.visa-form-section{
    padding:20px 22px;

    border:1px solid #e4e9ef;
    border-radius:16px;

    background:#fff;
    box-shadow:0 7px 22px rgba(16,35,63,.035);
}

.visa-form-section-head{
    display:flex;
    align-items:flex-start;
    gap:12px;

    margin-bottom:17px;
    padding-bottom:13px;

    border-bottom:1px solid #edf0f4;
}

.visa-form-section-head>span{
    display:grid;
    place-items:center;

    width:29px;
    height:29px;
    flex:0 0 29px;

    border-radius:8px;

    background:#10233f;
    color:#fff;

    font-size:10px;
    font-weight:900;
}

.visa-form-section-head h3{
    margin:0;
    color:#10233f;
    font-size:16px;
}

.visa-form-section-head p{
    margin:3px 0 0;
    color:#7a8492;
    font-size:10px;
}


/* INPUT GRID */

.visa-form-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:13px 16px;
}

.visa-form-grid label,
.visa-document-upload label{
    display:grid;
    gap:5px;
    margin:0;
}

.visa-form-grid label>span,
.visa-document-upload label>span{
    color:#344054;
    font-size:10px;
    font-weight:800;
}

.visa-form-grid input,
.visa-form-grid textarea{
    width:100%;
    margin:0;
    padding:10px 11px;

    border:1px solid #d4dbe4;
    border-radius:8px;

    background:#fff;

    color:#101828;
    font-size:12px;

    box-sizing:border-box;
}

.visa-form-grid input:focus,
.visa-form-grid textarea:focus{
    outline:0;
    border-color:#b58a2b;
    box-shadow:0 0 0 3px rgba(181,138,43,.1);
}

.visa-form-grid input:disabled{
    background:#f6f8fa;
    color:#667085;
}

.visa-form-full{
    grid-column:1/-1;
}


/* SAVED CUSTOMER */

.visa-saved-customer{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}

.visa-saved-customer>div{
    padding:11px 13px;
    border:1px solid #e4e9ef;
    border-radius:9px;
    background:#f8fafc;
}

.visa-saved-customer small,
.visa-saved-customer strong{
    display:block;
}

.visa-saved-customer small{
    margin-bottom:3px;
    color:#7a8492;
    font-size:9px;
}

.visa-saved-customer strong{
    color:#10233f;
    font-size:12px;
}


/* PASSPORT */

.visa-passport-status{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;

    padding:14px 16px;

    border:1px dashed #d5dce5;
    border-radius:11px;

    background:#fafbfc;
}

.visa-passport-status small,
.visa-passport-status strong{
    display:block;
}

.visa-passport-status small{
    margin-bottom:2px;
    color:#7a8492;
    font-size:9px;
}

.visa-passport-status strong{
    color:#10233f;
    font-size:13px;
}

.visa-passport-status p{
    margin:4px 0 0;
    color:#667085;
    font-size:10px;
}

.visa-passport-status>span{
    padding:5px 8px;
    border-radius:999px;
    background:#fff2d6;
    color:#876014;
    font-size:9px;
    font-weight:850;
}

.visa-passport-status.is-available>span{
    background:#e8f7ee;
    color:#157347;
}


/* DOCUMENT CHECKLIST */

.visa-document-checklist{
    display:grid;
    gap:9px;
}

.visa-document-item{
    display:grid;
    grid-template-columns:minmax(0,1fr) 260px;
    gap:20px;
    align-items:center;

    padding:14px 15px;

    border:1px solid #e5e9ef;
    border-radius:11px;

    background:#fbfcfd;
}

.visa-document-title-row{
    display:flex;
    align-items:center;
    gap:8px;
}

.visa-document-title-row h4{
    margin:0;
    color:#10233f;
    font-size:12px;
}

.visa-requirement-badge{
    display:inline-flex;
    padding:3px 6px;

    border-radius:999px;

    font-size:8px;
    font-weight:850;
    text-transform:uppercase;
}

.visa-requirement-badge.required{
    background:#fff0e8;
    color:#a44917;
}

.visa-requirement-badge.optional{
    background:#eef2f7;
    color:#667085;
}

.visa-document-info p{
    margin:5px 0 3px;
    color:#596474;
    font-size:10px;
    line-height:1.5;
}

.visa-document-info>small{
    color:#8a939f;
    font-size:9px;
}

.visa-document-upload{
    display:grid;
    gap:4px;
}

.visa-document-upload input[type=file]{
    width:100%;
    margin:0;
    padding:7px;

    border:1px solid #d5dbe4;
    border-radius:7px;

    background:#fff;

    font-size:9px;
}

.visa-document-upload>small{
    color:#8a939f;
    font-size:8px;
}

.visa-missing-documents-note{
    display:flex;
    justify-content:space-between;
    gap:20px;

    margin-top:11px;
    padding:10px 12px;

    border-radius:8px;

    background:#f5f7fa;

    color:#667085;
    font-size:9px;
}

.visa-missing-documents-note strong{
    color:#344054;
}


/* EMPTY REQUIREMENTS */

.visa-no-requirements{
    padding:18px;

    border:1px dashed #d7dde5;
    border-radius:10px;

    background:#fafbfc;
}

.visa-no-requirements strong{
    color:#10233f;
    font-size:12px;
}

.visa-no-requirements p{
    margin:5px 0 0;
    color:#667085;
    font-size:10px;
}


/* SUBMIT */

.visa-submit-review{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:9px;

    margin-bottom:13px;
}

.visa-submit-review>div{
    padding:10px 12px;
    border-radius:8px;
    background:#f6f8fa;
}

.visa-submit-review small,
.visa-submit-review strong{
    display:block;
}

.visa-submit-review small{
    margin-bottom:2px;
    color:#7b8492;
    font-size:8px;
    text-transform:uppercase;
}

.visa-submit-review strong{
    color:#10233f;
    font-size:11px;
}

.visa-submit-disclaimer{
    max-width:760px;
    margin:0 0 14px;

    color:#667085;
    font-size:10px;
    line-height:1.55;
}

.visa-final-submit{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:12px;

    width:auto;
    min-width:220px;

    padding:11px 17px;
}


/* MOBILE */

@media(max-width:780px){

    .visa-application-v2{
        padding-top:18px;
    }

    .visa-apply-summary{
        grid-template-columns:1fr;
        gap:15px;

        padding:17px;
    }

    .visa-apply-summary-meta{
        grid-template-columns:1fr 1fr;
    }

    .visa-apply-summary-meta>div{
        padding-left:0;
        border-left:0;
    }

    .visa-form-section{
        padding:16px;
    }

    .visa-form-grid,
    .visa-saved-customer{
        grid-template-columns:1fr;
    }

    .visa-form-full{
        grid-column:auto;
    }

    .visa-document-item{
        grid-template-columns:1fr;
        gap:12px;
    }

    .visa-submit-review{
        grid-template-columns:1fr;
    }

    .visa-missing-documents-note{
        display:grid;
        gap:4px;
    }

    .visa-final-submit{
        width:100%;
    }
}


/* ==========================================================
   VISA APPLY PAGE — COMPACT HERO
   ========================================================== */

@media (min-width:781px){

    .visa-detail-hero:has(+ .visa-application-v2){
        min-height:0 !important;
        height:auto !important;
        padding:54px 0 46px !important;
    }

    .visa-detail-hero:has(+ .visa-application-v2) .container{
        min-height:0 !important;
    }

    .visa-detail-hero:has(+ .visa-application-v2) nav{
        margin-bottom:17px !important;
    }

    .visa-detail-hero:has(+ .visa-application-v2) > .container > p{
        margin:0 0 7px !important;
    }

    .visa-detail-hero:has(+ .visa-application-v2) h1{
        margin:0 0 8px !important;
        font-size:clamp(42px,4.2vw,58px) !important;
        line-height:.98 !important;
    }

    .visa-detail-hero:has(+ .visa-application-v2) h1 + span{
        display:block !important;
        margin:0 !important;
    }
}

@media (max-width:780px){

    .visa-detail-hero:has(+ .visa-application-v2){
        min-height:0 !important;
        height:auto !important;
        padding:36px 0 32px !important;
    }

    .visa-detail-hero:has(+ .visa-application-v2) nav{
        margin-bottom:13px !important;
    }

    .visa-detail-hero:has(+ .visa-application-v2) h1{
        margin:0 0 7px !important;
        font-size:40px !important;
        line-height:1 !important;
    }
}


/* Country-specific Visa Application Form */

.visa-dynamic-form-intro{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;

    padding:12px 15px;
    border:1px solid #dfe5ec;
    border-radius:11px;
    background:#f8fafc;
}

.visa-dynamic-form-intro span,
.visa-dynamic-form-intro strong{
    display:block;
}

.visa-dynamic-form-intro span{
    margin-bottom:2px;
    color:#a47a18;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
}

.visa-dynamic-form-intro strong{
    color:#10233f;
    font-size:14px;
}

.visa-dynamic-form-intro small{
    color:#667085;
    font-size:10px;
}

.visa-official-required{
    color:#c92f38;
}

.visa-choice-group{
    display:flex;
    flex-wrap:wrap;
    gap:8px 15px;
    min-height:40px;
    align-items:center;
    padding:7px 10px;
    border:1px solid #d4dbe4;
    border-radius:8px;
}

.visa-choice-group label{
    display:flex;
    align-items:center;
    grid-template-columns:auto 1fr;
    gap:5px;
    margin:0;
}

.visa-choice-group input{
    width:auto!important;
    height:auto!important;
    min-height:0!important;
}

.visa-field-help{
    color:#7a8492;
    font-size:9px;
    font-weight:400;
}

.visa-form-completion-note{
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:10px 13px;
    border-radius:9px;
    background:#fff8e8;
    color:#6d5828;
    font-size:9px;
}

@media(max-width:780px){
    .visa-dynamic-form-intro,
    .visa-form-completion-note{
        display:grid;
        gap:5px;
    }
}


/* Dynamic Visa Form conditional fields */
.visa-dynamic-field[hidden],
[data-visa-dynamic-field][hidden] {
    display: none !important;
}


/* =========================================================
   PASSPORT SCAN
   ========================================================= */

.passport-scan-panel{
    margin:0 0 16px;
    padding:14px;
    border:1px solid #dfe5ec;
    border-radius:11px;
    background:#f8fafc;
}

.passport-scan-copy{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:12px;
}

.passport-scan-copy strong{
    color:#10233f;
    font-size:13px;
}

.passport-scan-copy span{
    max-width:520px;
    color:#667085;
    font-size:10px;
    line-height:1.5;
}

.passport-scan-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.passport-scan-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border:1px solid #10233f;
    border-radius:8px;
    background:#10233f;
    color:#fff;
    font-size:11px;
    font-weight:800;
    cursor:pointer;
}

.passport-scan-btn.secondary{
    border-color:#d2dae4;
    background:#fff;
    color:#10233f;
}

.passport-scan-preview{
    display:grid;
    grid-template-columns:110px minmax(0,1fr);
    gap:12px;
    margin-top:12px;
    padding:10px;
    border:1px solid #dfe5ec;
    border-radius:9px;
    background:#fff;
}

.passport-preview-image{
    display:grid;
    place-items:center;
    min-height:76px;
    overflow:hidden;
    border-radius:7px;
    background:#eef2f6;
}

.passport-preview-image img{
    width:100%;
    height:76px;
    object-fit:cover;
}

.passport-preview-image div{
    font-size:18px;
    font-weight:900;
    color:#667085;
}

.passport-preview-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:3px;
}

.passport-preview-meta > strong{
    color:#10233f;
    font-size:11px;
}

.passport-preview-meta > small{
    color:#667085;
    font-size:9px;
}

.passport-preview-status{
    margin-top:4px;
}

.passport-preview-status span{
    display:inline-block;
    margin-right:5px;
    color:#18794e;
    font-size:9px;
    font-weight:900;
}

.passport-preview-meta button{
    margin-top:5px;
    padding:0;
    border:0;
    background:none;
    color:#b42318;
    font-size:9px;
    font-weight:800;
    cursor:pointer;
}

.passport-scan-note{
    margin-top:10px;
    color:#667085;
    font-size:9px;
}

@media(max-width:700px){
    .passport-scan-copy{
        display:block;
    }

    .passport-scan-copy span{
        display:block;
        margin-top:4px;
    }

    .passport-scan-preview{
        grid-template-columns:82px minmax(0,1fr);
    }
}


/* Passport preview must respect the HTML hidden state */
.passport-scan-preview[hidden],
[data-passport-preview][hidden],
[data-passport-preview-image][hidden],
[data-passport-pdf-preview][hidden] {
    display: none !important;
}
