
.visa-page { color: var(--mtt-navy, #122b4c); }.visa-page [hidden] { display: none; }.visa-app { scroll-margin-top: 6rem; }.visa-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 1rem; padding: 1.5rem; background: #f0f6ff; border-radius: 12px; }.visa-form-intro { grid-column: 1/-1; }.visa-form h2,.visa-overview h2 { margin: 0 0 .5rem; font-size: clamp(1.4rem,3vw,2rem); }.visa-form p { margin: .2rem 0; }.visa-page label { display: grid; gap: .4rem; font-weight: 500; font-size: .92rem; min-width: 0; }.visa-page input,.visa-page select { min-height: 48px; width: 100%; min-width: 0; padding: .65rem .8rem; border: 1px solid #bbcadf; border-radius: 8px; background: #fff; color: #142c50; font: inherit; }.visa-page button { min-height: 48px; }.visa-page :is(a,button,input,select):focus-visible { outline: 3px solid #286acc; outline-offset: 3px; }.visa-feedback { margin: .65rem 0; min-height: 1.4rem; color: #864613; }.visa-overview { display: grid; grid-template-columns: minmax(220px,1fr) 2fr; align-items: center; gap: 2rem; padding: 1.25rem 0; }.visa-overview p { color: #536580; font-size: .9rem; }.visa-summary { display: flex; flex-wrap: wrap; gap: .8rem 1.6rem; margin: 0; }.visa-summary dt { font-size: .8rem; color: #536580; }.visa-summary dd { margin: .25rem 0 0; font-size: 1.65rem; font-weight: 500; }.visa-result { background: #f3f7fc; padding: 1.5rem; border-radius: 12px; margin: .75rem 0 1.7rem; animation: visa-reveal 350ms ease-out; scroll-margin-top: 6rem; }.visa-result:focus { outline: 2px solid #286acc; outline-offset: 3px; }.visa-result-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; }.visa-result-heading h2 { margin: 0; font-size: clamp(1.5rem,3vw,2.2rem); overflow-wrap: anywhere; }.visa-result-heading p { margin: .35rem 0; }.visa-result-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; margin: 1.4rem 0; }.visa-result-facts dt { color: #536580; font-size: .84rem; margin-bottom: .3rem; }.visa-result-facts dd { margin: 0; font-weight: 500; overflow-wrap: anywhere; }.visa-freshness { color: #854817; font-size: .9rem; }.visa-provenance,.visa-source-note { font-size: .86rem; color: #536580; }.visa-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1.5rem; margin-top: 1rem; }.visa-actions a { min-height: 44px; display: inline-flex; align-items: center; }.visa-filter-controls { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 1rem; }.visa-map { background: #f7faff; border-radius: 10px; margin: 1.1rem 0 .6rem; padding: .4rem; }.visa-map svg { display: block; width: 100%; height: auto; max-height: 400px; }.visa-map path { stroke: #fff; stroke-width: 1; cursor: pointer; transition: opacity 160ms ease; }.visa-map path:hover,.visa-map path.is-selected { stroke: #142c50; stroke-width: 2.5; }.visa-map .is-filtered-out { opacity: .12; }.visa-map-note { color: #536580; font-size: .8rem; }.visa-legend { display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-size: .78rem; color: #536580; }.visa-legend span { display: flex; align-items: center; gap: .35rem; }.visa-legend i { width: 10px; height: 10px; border-radius: 50%; }.visa-list-count { padding-top: .8rem; border-top: 1px solid #dce5f0; color: #536580; }.visa-routes { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.8rem; max-height: 620px; overflow-y: auto; scrollbar-gutter: stable; padding: 3px; }.visa-route { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .2rem .5rem; border-bottom: 1px solid #e2e9f1; padding: .9rem .4rem; color: inherit; text-decoration: none; min-height: 64px; }.visa-route:hover,.visa-route.is-selected { background: #f0f6ff; }.visa-country { display: flex; align-items: center; gap: .5rem; min-width: 0; }.visa-country strong { overflow-wrap: anywhere; font-size: .95rem; }.visa-country img { width: 26px; height: 18px; object-fit: contain; flex-shrink: 0; }.visa-status { align-self: center; font-size: .78rem; font-weight: 500; color: #536580; }.visa-status-large { font-size: 1rem; flex-shrink: 0; border-radius: 6px; padding: .5rem .75rem; background: #fff; }.visa-stay { grid-column: 1/-1; font-size: .8rem; color: #536580; }.visa-page [data-status="visa_free"] .visa-status,.visa-status[data-status="visa_free"] { color: #1e725c; }.visa-page [data-status="eta"] .visa-status,.visa-status[data-status="eta"] { color: #6948a5; }.visa-page [data-status="evisa"] .visa-status,.visa-status[data-status="evisa"] { color: #905611; }.visa-page [data-status="visa_required"] .visa-status,.visa-status[data-status="visa_required"] { color: #994556; }.visa-guidance { margin: 2.5rem 0; max-width: 850px; }.visa-guidance p { color: #536580; }.visa-initial { padding: 1rem 0 2rem; color: #536580; }@keyframes visa-reveal { from { opacity: .5; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }@media (max-width: 820px) { .visa-form { grid-template-columns: 1fr 1fr; }.visa-form button { grid-column: 1/-1; }.visa-overview { grid-template-columns: 1fr; gap: .5rem; }.visa-filter-controls { grid-template-columns: 1fr 1fr; }.visa-filter-controls label:first-child { grid-column: 1/-1; } }@media (max-width: 560px) { .visa-form { grid-template-columns: 1fr; padding: 1rem; }.visa-result { padding: 1rem; }.visa-result-heading { flex-direction: column; }.visa-result-facts { grid-template-columns: 1fr; gap: .8rem; }.visa-routes { grid-template-columns: 1fr; max-height: 530px; }.visa-filter-controls { grid-template-columns: 1fr; }.visa-summary { gap: .7rem 1.2rem; }.visa-summary dd { font-size: 1.4rem; } }@media (prefers-reduced-motion: reduce) { .visa-page * { animation: none; transition: none; scroll-behavior: auto; } }.visa-page { width: min(1140px, calc(100% - 2rem)); margin: 0 auto; }.visa-page .mtt-page-hero { width: 100%; }.visa-page :where(section) { padding-block: 0; }