/* VisaTrip preliminary cost calculator; safely scoped to this section. */
.vt-calc{position:relative;isolation:isolate;margin:46px 0 32px;padding:29px;background:rgba(250,253,255,.97);border:1px solid rgba(202,224,245,.95);border-radius:25px;box-shadow:0 24px 60px rgba(8,68,132,.14);overflow:hidden}
.vt-calc::before{content:"";position:absolute;z-index:-1;right:-130px;top:-170px;width:420px;height:420px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(27,143,248,.14),rgba(27,143,248,0) 69%)}
.vt-calc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:0 0 24px}
.vt-calc-kicker{display:inline-block;color:#096ddd;text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800;margin:0 0 9px}
.vt-calc-head h3{font-size:clamp(26px,2.8vw,35px);line-height:1.18;letter-spacing:-.035em;color:#082f65;font-weight:800;margin:0 0 10px}
.vt-calc-head p{font-size:14px;line-height:1.6;color:#466b90;margin:0;max-width:650px}
.vt-calc-icon{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;background:linear-gradient(135deg,#d3f0ff,#eaf4ff);border:1px solid #d4eaff;border-radius:19px;color:#0566dd;font-size:27px;font-weight:800}
.vt-calc-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);align-items:stretch;gap:20px}
.vt-calc-controls{min-width:0;padding:23px 24px;background:rgba(255,255,255,.94);border:1px solid #dbeaf8;border-radius:19px}
.vt-calc-label,.vt-calc-fieldset legend{display:block;font-size:13px;font-weight:800;color:#1a477a;margin:0 0 10px}
.vt-calc-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:0 0 23px}
.vt-calc-tab{cursor:pointer;font-family:inherit;font-weight:700;font-size:13px;line-height:1.3;border:1px solid #d3e3f2;color:#315b86;background:#f4faff;border-radius:11px;padding:12px 8px;min-height:44px}
.vt-calc-tab[aria-pressed="true"]{color:#fff;background:#0870ed;border-color:#0870ed;box-shadow:0 5px 15px rgba(4,97,203,.14)}
.vt-calc-select{width:100%;min-height:51px;padding:11px 38px 11px 14px;border:1.5px solid #cbdff3;border-radius:11px;background:#fff;color:#113e73;font-size:15px;font-family:inherit;font-weight:700;line-height:1.3}
.vt-calc-service-hint{margin:9px 0 21px;color:#6684a1;font-size:12px;line-height:1.55}
.vt-calc-fieldset{border:0;padding:0;margin:0}
.vt-calc-check{display:flex;gap:11px;align-items:flex-start;cursor:pointer;color:#294f7b;font-size:13px;line-height:1.55;margin:10px 0}
.vt-calc-check input{width:18px;height:18px;flex:0 0 auto;accent-color:#086dec;cursor:pointer;margin:1px 0 0}
.vt-calc-check strong{color:#0a3c75;display:block;font-size:14px}
.vt-calc-check small{display:block;color:#7189a3;font-size:11.5px;margin-top:1px}
.vt-calc-result{min-width:0;display:flex;flex-direction:column;align-items:stretch;padding:26px 25px 24px;background:linear-gradient(145deg,#0b61c9 0%,#083977 100%);border-radius:19px;color:#fff;box-shadow:0 14px 28px rgba(4,67,137,.13)}
.vt-calc-result-label{font-size:12px;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:#c2e6ff}
.vt-calc-amount{display:block;margin:12px 0 8px;color:#fff;line-height:1.12;font-size:clamp(30px,3.2vw,42px);letter-spacing:-.025em;font-weight:850;overflow-wrap:anywhere}
.vt-calc-amount-sub{color:#d5ecff;font-size:12.5px;line-height:1.65;min-height:38px}
.vt-calc-breakdown{margin:16px 0 18px;border-top:1px solid rgba(255,255,255,.28);padding-top:14px}
.vt-calc-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:7px 0;font-size:12.5px;line-height:1.5}
.vt-calc-row span{color:#dceeff}
.vt-calc-row strong{color:white;text-align:right;font-weight:750}
.vt-calc-disclaimer{margin:auto 0 13px;font-size:11.5px;line-height:1.65;color:#d2eaff}
.vt-calc-cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:51px;width:100%;padding:11px 13px;border:0;border-radius:11px;background:#fff;color:#0754b0;cursor:pointer;font-size:14px;font-weight:850;font-family:inherit;text-align:center;box-shadow:0 8px 20px rgba(0,22,73,.12)}
.vt-calc-cta:hover{background:#eaf7ff;color:#063c88}
.vt-calc-foot{margin:13px 0 0;font-size:11px;color:#8db0d2;text-align:center;line-height:1.4}
.vt-calc [hidden]{display:none!important}
.vt-calc button:focus-visible,.vt-calc select:focus-visible,.vt-calc input:focus-visible{outline:3px solid #65beff;outline-offset:3px}
@media(max-width:880px){.vt-calc-grid{grid-template-columns:1fr}.vt-calc{padding:23px}.vt-calc-result{padding:25px}.vt-calc-result .vt-calc-amount{font-size:35px}}
@media(max-width:520px){.vt-calc{margin:34px 0 25px;padding:16px;border-radius:19px}.vt-calc-head{gap:8px;margin-bottom:17px}.vt-calc-icon{width:42px;height:42px;flex-basis:42px;font-size:20px;border-radius:13px}.vt-calc-head h3{font-size:26px}.vt-calc-head p{font-size:12.5px}.vt-calc-grid{gap:13px}.vt-calc-controls,.vt-calc-result{padding:18px 15px;border-radius:14px}.vt-calc-tabs{gap:5px}.vt-calc-tab{font-size:11.5px;padding:10px 5px}.vt-calc-result .vt-calc-amount{font-size:31px}.vt-calc-row{font-size:12px}}
@media(prefers-reduced-motion:reduce){.vt-calc-tab,.vt-calc-cta{transition:none}}


/* Country-specific options, party size and age bands */
.vt-calc-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:13px}
.vt-calc-field{min-width:0;margin:0 0 19px}
.vt-calc-fieldset{margin-top:5px}
.vt-calc-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.vt-calc-person{min-width:0;padding:10px 10px 11px;border:1px solid #dfebf7;background:#f5faff;border-radius:12px}
.vt-calc-person label{display:block;color:#385e83;font-size:12px;font-weight:800;margin:0 0 6px}
.vt-calc-person .vt-calc-select{font-size:12px;min-height:43px;padding:9px}
.vt-calc-fieldset legend{line-height:1.55}
.vt-calc-totals{padding:13px 0 2px;margin-top:7px;border-top:1px solid rgba(255,255,255,.24);color:#e4f3ff;font-size:12px;line-height:1.65;font-weight:700}
.vt-calc-includes{background:rgba(255,255,255,.12);padding:11px 12px;margin:0 0 13px;border-radius:11px;color:#fff;font-size:12px;line-height:1.55}
.vt-calc-result .vt-calc-amount{font-size:clamp(24px,2.6vw,34px);line-height:1.25}
.vt-calc-result .vt-calc-amount-sub{min-height:0}
.vt-calc-result .vt-calc-breakdown{margin-bottom:16px}
.vt-calc-row{gap:17px}
.vt-calc-row span{flex:1}
.vt-calc-row strong{flex:0 0 auto;max-width:45%}
.vt-calc-result{align-self:stretch}
@media(max-width:650px){.vt-calc-detail{grid-template-columns:1fr}.vt-calc-people{grid-template-columns:1fr 1fr}.vt-calc-field{margin-bottom:17px}.vt-calc-result .vt-calc-amount{font-size:27px}}
@media(max-width:365px){.vt-calc-people{grid-template-columns:1fr}.vt-calc-row strong{max-width:48%}}
