/* Visa pages (block "Visa Detail Page"): the hotel page's design (hotel-detail.css, .bm-htd) plus the few parts a visa
   needs, scoped to .bm-vsd. Breadcrumb as on the event page, "Good to know" as on the car rental page. */

/* one heading size for every section (24px, weight 600) */
.bm-vsd .sec-h,.bm-vsd .sec-head h2,.bm-vsd .nb-head h2,.bm-vsd .vsd-about-h,.bm-vsd .bm-ask .sech h2,
.bm-vsd .bmfaq-h,.bm-vsd .hrz.hrz .hrz-head h2{font-family:var(--font-ui)!important;font-size:24px!important;font-weight:600!important;line-height:1.3!important;color:var(--ink)!important;letter-spacing:0!important}
.bm-vsd .nb-head h2{color:var(--ink)!important;border-bottom:0!important;padding-bottom:0!important}
.bm-vsd .bp-title h1{font-weight:600!important}
.bm-vsd .nb-card h4,.bm-vsd .why-h{font-weight:600}

/* breadcrumb (the event page's) */
.bm-vsd .vsd-crumbs{font-size:12px;color:var(--muted);margin:0 0 4px}
.bm-vsd .vsd-crumbs ol{display:flex;flex-wrap:wrap;gap:4px 0;list-style:none;margin:0;padding:0}
.bm-vsd .vsd-crumbs li{display:inline-flex;align-items:center;min-width:0}
.bm-vsd .vsd-crumbs li+li::before{content:"\203A";margin:0 7px;color:var(--muted-2)}
.bm-vsd .vsd-crumbs a{color:var(--muted)}
.bm-vsd .vsd-crumbs a:hover{color:var(--blue)}
.bm-vsd .vsd-crumbs li[aria-current]{color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}

/* the crest: the country's flag in the round profile badge */
.bm-vsd .vsd-crest{display:flex;align-items:center;justify-content:center;overflow:hidden}
.bm-vsd .vsd-crest .flag-icon{width:100%;height:100%;border-radius:50%;background-size:cover;line-height:1}
.bm-vsd .vsd-crest .flag-icon::before{content:none}
.bm-vsd .vsd-crest-ic{font-size:40px;color:#fff}
.bm-vsd .vsd-mini-flag{width:16px;height:16px;border-radius:50%;background-size:cover;vertical-align:-3px;margin-right:4px;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.bm-vsd .vsd-draft{color:var(--red);font-weight:600}
.bm-vsd .bp-row i{color:var(--blue);margin-right:3px}

/* the overview and the enquiry card beside it */
.bm-vsd .bp-galzone{margin-top:18px}
.bm-vsd .vsd-about-h{margin:4px 0 12px}
.bm-vsd .vsd-about-h + .inshort{margin-top:0}
.bm-vsd .inshort{margin:0 0 12px;padding:12px 14px;border-left:3px solid var(--blue-cyan);background:var(--blue-soft);border-radius:0 8px 8px 0}
.bm-vsd .inshort b{display:block;font-family:var(--font-ui);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue-dark);margin-bottom:3px}
.bm-vsd .inshort p{margin:0;font-size:13px;line-height:1.65;color:var(--ink)}
.bm-vsd .ov-text table{width:100%;border-collapse:collapse;margin:0 0 13px;font-size:12.5px}
.bm-vsd .ov-text th,.bm-vsd .ov-text td{border:1px solid var(--line);padding:7px 9px;text-align:left;vertical-align:top}
.bm-vsd .ov-text th{background:#f6f8fa;font-weight:600}
.bm-vsd .ov-text a{color:var(--blue);text-decoration:underline}
.bm-vsd .vsd-row2{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.bm-vsd .vsd-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bm-vsd .vsd-msg{margin:6px 0 8px;min-height:0}
.bm-vsd .vsd-msg:empty{display:none}
.bm-vsd .vsd-msg.is-bad{color:var(--red)}
.bm-vsd .vsd-msg.is-ok{color:var(--green);font-weight:600}
.bm-vsd .vsd-trust{margin-top:14px}
@media (min-width:992px){.bm-vsd .bp-rail{position:sticky;top:12px;align-self:start}}

/* good to know */
.bm-vsd .vsd-gtk{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bm-vsd .vsd-gtk li{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-2);border-bottom:1px dashed var(--line);padding-bottom:7px}
.bm-vsd .vsd-gtk li:last-child{border-bottom:0}
.bm-vsd .vsd-gtk i{color:var(--blue);text-align:center}
.bm-vsd .vsd-gtk b{font-weight:600;color:var(--ink);text-align:right;max-width:190px}
.bm-vsd .vsd-notes{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.bm-vsd .vsd-notes li{display:flex;gap:8px;font-size:12.5px;line-height:1.55;color:var(--ink-2)}
.bm-vsd .vsd-notes i{color:var(--blue);margin-top:3px;flex:none}
.bm-vsd .vsd-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.bm-vsd .hd-empty{flex-wrap:wrap}
.bm-vsd .hd-empty>span{flex:1 1 220px;min-width:0}

/* documents: the facilities lists in two columns */
.bm-vsd .vsd-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 26px}
.bm-vsd .vsd-docs .fac-group{margin-bottom:0}
.bm-vsd .vsd-docs li{font-size:12.5px;line-height:1.55}
.bm-vsd .vsd-docs li>i{color:var(--green)}

/* steps: numbered facility cards */
.bm-vsd .vsd-steps{list-style:none;padding:0;counter-reset:none}
.bm-vsd .vsd-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-family:var(--font-ui);font-size:13px;font-weight:600}

/* fees and where to apply */
.bm-vsd .hrz .link{color:var(--blue);text-decoration:underline;overflow-wrap:anywhere}
.bm-vsd .hrz-body p{margin:0 0 4px}
.bm-vsd .hrz-body p:last-child{margin-bottom:0}

@media (max-width:767px){
  .bm-vsd .sec-h,.bm-vsd .sec-head h2,.bm-vsd .nb-head h2,.bm-vsd .vsd-about-h,.bm-vsd .bm-ask .sech h2,
  .bm-vsd .bmfaq-h,.bm-vsd .hrz.hrz .hrz-head h2{font-size:20px!important}
  .bm-vsd .vsd-docs{grid-template-columns:1fr}
  .bm-vsd .vsd-gtk b{max-width:150px}
  .bm-vsd .vsd-crumbs li[aria-current]{max-width:160px}
}
/* the price / apply card (hotel page booking box, .bookbox) */
.bm-vsd .vsd-apply{position:relative;display:flex;flex-direction:column;gap:12px;max-width:none;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 24px rgba(20,30,45,.08);padding:22px 20px 18px;scroll-margin-top:12px}
.bm-vsd .vsd-off{position:absolute;top:-12px;left:18px;background:#e8202a;color:#fff;font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:1;padding:7px 12px;border-radius:999px;box-shadow:0 2px 6px rgba(232,32,42,.3)}
.bm-vsd .vsd-from{margin:0;font-size:13px;color:var(--muted)}
.bm-vsd .vsd-price{margin:-8px 0 2px;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;color:var(--ink)}
.bm-vsd .vsd-price s{font-size:15px;color:var(--muted)}
.bm-vsd .vsd-price b{font-family:var(--font-ui);font-size:30px;font-weight:700;line-height:1.15;color:var(--ink)}
.bm-vsd .vsd-price span{font-size:13px;color:var(--ink-2)}
.bm-vsd .vsd-price.vsd-por b{font-size:24px}
.bm-vsd .vsd-btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:0 18px;border-radius:999px;font-family:var(--font-ui);font-size:15px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}
.bm-vsd .vsd-btn-pri{background:var(--blue);border:1px solid var(--blue);color:#fff}
.bm-vsd .vsd-btn-pri:hover{background:var(--blue-dark);border-color:var(--blue-dark)}
.bm-vsd .vsd-btn-pri:disabled{opacity:.55;cursor:wait}
.bm-vsd .vsd-btn-out{background:#fff;border:1.5px solid var(--blue);color:var(--blue)}
.bm-vsd .vsd-btn-out:hover{background:var(--blue-soft)}
.bm-vsd .vsd-terms{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.bm-vsd .vsd-terms li{display:flex;gap:9px;font-size:13px;line-height:1.5;color:var(--ink-2)}
.bm-vsd .vsd-terms i{color:var(--blue);font-size:15px;margin-top:2px;flex:none}
.bm-vsd .vsd-chat{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);border-radius:999px;background:#fff;padding:7px 14px 7px 7px;text-align:left;cursor:pointer}
.bm-vsd .vsd-chat:hover{border-color:#c9d0d8}
.bm-vsd .vsd-chat-ic{flex:none;width:36px;height:36px;border-radius:50%;background:#1fae5b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px}
.bm-vsd .vsd-chat-tx{display:flex;flex-direction:column;min-width:0}
.bm-vsd .vsd-chat-tx b{font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--ink)}
.bm-vsd .vsd-chat-tx small{font-size:12px;color:var(--ink-2)}
.bm-vsd .vsd-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#1fae5b;margin-right:6px;vertical-align:1px}
/* the application / enquiry form in the site's modal */
.bm-vsd .vsd-modal .modal-dialog{max-width:520px}
.bm-vsd .vsd-modal .modal-title{font-family:var(--font-ui);font-size:17px;font-weight:600}
.bm-vsd .vsd-form{display:flex;flex-direction:column;gap:2px}
.bm-vsd .vsd-form-visa{margin:0 0 10px;font-size:13px;font-weight:600;color:var(--ink)}
.bm-vsd .vsd-form-visa i{color:var(--blue)}
.bm-vsd .vsd-form textarea{border:0;width:100%;font-size:11.5px;padding:0;background:transparent;resize:vertical;font-family:inherit}
.bm-vsd .vsd-form textarea:focus{outline:none}
.bm-vsd .vsd-form .bb-field:focus-within{border-color:var(--blue)}
.bm-vsd .vsd-form .vsd-btn{margin-top:4px}
/* ---------- country pages ---------- */
/* key facts under the title */
.bm-vsd .vsd-kbar{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bm-vsd .vsd-kbar li{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0}
.bm-vsd .vsd-kbar i{flex:none;width:34px;height:34px;border-radius:50%;background:var(--blue-soft);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:15px}
.bm-vsd .vsd-kbar span{display:flex;flex-direction:column;min-width:0}
.bm-vsd .vsd-kbar small{font-size:11px;color:var(--muted)}
.bm-vsd .vsd-kbar b{font-family:var(--font-ui);font-size:13.5px;font-weight:600;color:var(--ink);overflow-wrap:anywhere;line-height:1.35}
/* which visa: the type cards */
.bm-vsd .vsd-type-note{font-size:12.5px;color:var(--ink-2);margin:6px 0 4px;line-height:1.5}
.bm-vsd .vsd-type-req{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--blue);margin:2px 0 6px}
.bm-vsd .vsd-type-req:hover{text-decoration:underline}
/* requirements by type */
.bm-vsd .vsd-common{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:0 0 16px;background:#fbfcfd}
.bm-vsd .vsd-req-h{display:flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:15px;font-weight:600;color:var(--ink);margin:0 0 10px}
.bm-vsd .vsd-req-h i{color:var(--blue)}
.bm-vsd .vsd-req-tabs{margin:0 0 12px}
.bm-vsd .vsd-req-tabs .tb-tab{background:none;border-top:0;border-left:0;border-right:0;cursor:pointer}
.bm-vsd .vsd-req-pane{padding:4px 0 0}
.bm-vsd .vsd-check{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 26px}
.bm-vsd .vsd-check label{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.55;color:var(--ink-2);cursor:pointer;margin:0;font-weight:400}
.bm-vsd .vsd-check input{flex:none;width:17px;height:17px;margin-top:2px;accent-color:var(--blue)}
.bm-vsd .vsd-check input:checked+span{color:var(--muted);text-decoration:line-through}
.bm-vsd .vsd-req-more{margin:12px 0 0;font-size:13px}
.bm-vsd .vsd-print{display:inline-flex;align-items:center;gap:7px}
.bm-vsd .vsd-print-only{display:none}
.bm-vsd button.hd-empty-act{border:0;cursor:pointer}
/* timeline */
.bm-vsd .vsd-time{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-style:normal;font-size:11.5px;font-weight:600;color:var(--blue);background:var(--blue-soft);border-radius:999px;padding:2px 9px}
.bm-vsd .vsd-steps .tx{display:flex;flex-direction:column;align-items:flex-start}
/* on arrival / mistakes */
.bm-vsd .vsd-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 30px}
.bm-vsd .vsd-list{border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin:0}
.bm-vsd .vsd-list-h{font-family:var(--font-ui);font-size:18px;font-weight:600;color:var(--ink);margin:0 0 2px}
.bm-vsd .vsd-list li{font-size:13px;line-height:1.55}
.bm-vsd .vsd-list li>i{color:var(--blue);font-size:12px;margin-top:4px}
.bm-vsd .vsd-warn li>i{color:#d9822b}
/* plan the rest of the trip */
.bm-vsd .vsd-plan-h{font-family:var(--font-ui);font-size:16px;font-weight:600;color:var(--ink);margin:22px 0 10px}
.bm-vsd .vsd-routes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.bm-vsd .vsd-route{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;color:var(--ink)}
.bm-vsd .vsd-route:hover{border-color:var(--blue)}
.bm-vsd .vsd-route>i{color:var(--blue);font-size:16px}
.bm-vsd .vsd-route span{display:flex;flex-direction:column;min-width:0;flex:1}
.bm-vsd .vsd-route b{font-size:13.5px;font-weight:600}
.bm-vsd .vsd-route small{font-size:12px;color:var(--muted)}
.bm-vsd .vsd-route .go{color:var(--muted);font-size:11px}
.bm-vsd .vsd-cities{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.bm-vsd .vsd-city{position:relative;display:block;height:120px;border-radius:10px;overflow:hidden;background:#dfe5ec}
.bm-vsd .vsd-city img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.bm-vsd .vsd-city:hover img{transform:scale(1.05)}
.bm-vsd .vsd-city span{position:absolute;left:8px;bottom:8px;background:#fff;color:var(--ink);font-size:12.5px;font-weight:600;padding:4px 10px;border-radius:999px}
/* phones: the apply bar at the bottom */
.bm-vsd .vsd-mbar{display:none}
@media (max-width:991px){
  .bm-vsd .vsd-mbar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:900;background:#fff;border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(20,30,45,.08);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .bm-vsd .vsd-mbar-p{display:flex;flex-direction:column;min-width:0;flex:none;max-width:45%}
  .bm-vsd .vsd-mbar-p small{font-size:11px;color:var(--muted)}
  .bm-vsd .vsd-mbar-p b{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--ink);line-height:1.2}
  .bm-vsd .vsd-mbar .vsd-btn{flex:1;min-height:44px;font-size:14px}
  .bm-vsd{padding-bottom:72px}
  /* the site's chat button sits above the apply bar */
  body:has(.bm-vsd .vsd-mbar) #bmchat:not(.is-open){bottom:84px}
}
@media (max-width:767px){
  .bm-vsd .vsd-check,.bm-vsd .vsd-two{grid-template-columns:minmax(0,1fr)}
  .bm-vsd .vsd-kbar{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bm-vsd .vsd-list-h{font-size:17px}
}
/* "Print / save checklist": only the requirements, every visa type */
@media print{
  body.vsd-printing *{visibility:hidden!important}
  body.vsd-printing #requirements,body.vsd-printing #requirements *{visibility:visible!important}
  body.vsd-printing #requirements{position:absolute;left:0;top:0;width:100%}
  body.vsd-printing .vsd-req-pane[hidden]{display:block!important}
  body.vsd-printing .vsd-req-tabs,body.vsd-printing .vsd-print,body.vsd-printing .hd-empty-act{display:none!important}
  body.vsd-printing .vsd-print-only{display:flex!important;margin-top:14px}
  body.vsd-printing .vsd-check{grid-template-columns:1fr}
}