{"id":125,"date":"2026-07-24T17:11:52","date_gmt":"2026-07-24T10:11:52","guid":{"rendered":"https:\/\/tripand.app\/bus-global-search\/"},"modified":"2026-07-29T12:05:41","modified_gmt":"2026-07-29T05:05:41","slug":"visa-run","status":"publish","type":"page","link":"https:\/\/tripand.app\/ru\/visa-run\/","title":{"rendered":"Visa Run"},"content":{"rendered":"<style id=\"tripand-visarun-css\" data-noptimize=\"1\">.tvr-app{--blue:#236bff;--orange:#ffac0a;max-width:1180px;margin:0 auto;font-family:inherit;color:#172033}.tvr-app h2,.tvr-app h3{font-family:Poppins,sans-serif}.tvr-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:end;padding:22px;background:#f4f7ff;border-radius:18px;margin-bottom:32px}.tvr-filter label,.tvr-book-form>label{display:grid;gap:7px;font-weight:600}.tvr-filter select,.tvr-filter input,.tvr-book-form input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d6dbea;border-radius:10px;background:#fff}.tvr-filter button,.tvr-button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:11px 18px;border:0;border-radius:10px;background:var(--blue);color:#fff!important;text-decoration:none;font-weight:700;cursor:pointer}.tvr-list{display:grid;gap:14px}.tvr-card{display:grid;grid-template-columns:150px minmax(180px,1.25fr) minmax(190px,1fr) minmax(120px,.65fr) auto;gap:18px;align-items:center;padding:16px;border:1px solid #e4e7ec;border-radius:16px;background:#fff}.tvr-card-media{display:grid;place-items:center;overflow:hidden;width:150px;aspect-ratio:4\/3;border-radius:12px;background:#eef2f8;color:#667085;font-size:42px}.tvr-card-media img{display:block;width:100%;height:100%;object-fit:cover}.tvr-card-route,.tvr-card-transport{display:grid;gap:4px;min-width:0}.tvr-card-transport>span{color:#667085;font-size:13px}.tvr-card-features{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.tvr-card-features span{padding:4px 7px;border-radius:7px;background:#f4f7ff;color:#475467;font-size:12px;line-height:1.25}.tvr-card-price{display:grid;gap:4px}.tvr-card-price>strong{white-space:nowrap}.tvr-date{color:var(--blue);font-weight:700}.tvr-layout{display:grid;grid-template-columns:minmax(320px,1.1fr) minmax(300px,.9fr);gap:34px}.tvr-seats{display:grid;grid-template-columns:repeat(var(--columns),minmax(48px,1fr));gap:10px;padding:22px;border:1px solid #e4e7ec;border-radius:18px}.tvr-seat{min-height:54px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;cursor:pointer}.tvr-seat.is-selected{background:var(--blue);color:#fff}.tvr-seat.is-taken{background:#e5e7eb;color:#98a2b3;cursor:not-allowed}.tvr-booking[data-mode=free] .tvr-seat:not(.is-taken){opacity:.55;pointer-events:none}.tvr-book-form{display:grid;gap:14px;padding:24px;border-radius:18px;background:#f7f9fc}.tvr-book-form>label:has(input[type=radio]){display:flex;align-items:center}.tvr-book-form input[type=radio]{width:auto;min-height:auto}.tvr-total{font-size:20px;padding-top:10px}.tvr-message{font-weight:600}.tvr-message.is-error{color:#c62828}.tvr-message.is-success{color:#08783d}@media(max-width:980px){.tvr-card{grid-template-columns:130px 1fr 1fr}.tvr-card-media{width:130px}.tvr-card-price{grid-column:2}.tvr-card>.tvr-button{grid-column:3;grid-row:2}}@media(max-width:800px){.tvr-filter,.tvr-card,.tvr-layout{grid-template-columns:1fr}.tvr-card{gap:12px}.tvr-card-media{width:100%;aspect-ratio:16\/9}.tvr-card-price,.tvr-card>.tvr-button{grid-column:auto;grid-row:auto}.tvr-card>.tvr-button{width:100%}}\r\n\r\n\/* Localized catalogue date input; the submitted value remains ISO yyyy-mm-dd. *\/\r\n.tvr-search-field{display:grid;gap:7px;font-weight:600}.tvr-date-control{position:relative;min-width:0}.tvr-date-display{padding-right:46px!important;font-variant-numeric:tabular-nums}.tvr-date-picker-input{position:absolute!important;right:10px!important;bottom:5px!important;width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none}.tvr-filter .tvr-date-picker-button{position:absolute;top:50%;right:3px;display:grid;width:40px;min-height:40px;padding:0;border:0;border-radius:8px;background:transparent;color:#172033!important;transform:translateY(-50%);box-shadow:none}.tvr-filter .tvr-date-picker-button:hover,.tvr-filter .tvr-date-picker-button:focus-visible{background:#edf3ff;color:var(--blue)!important}.tvr-filter .tvr-date-picker-button:focus-visible{outline:3px solid rgba(35,107,255,.2);outline-offset:1px}.tvr-date-display:invalid{border-color:#c62828}.tvr-home-embed .tvr-date-display{min-height:44px;padding:7px 46px 7px 11px!important}\r\n.tvr-localized-datetime-control{position:relative;display:block;min-width:0}.tvr-localized-datetime-control .tvr-localized-datetime-display{width:100%;padding-right:50px!important;font-variant-numeric:tabular-nums}.tvr-localized-datetime-button{position:absolute;z-index:2;top:50%;right:3px;display:grid;place-items:center;width:42px;min-height:42px;padding:0!important;border:0!important;border-radius:9px;background:transparent!important;color:inherit!important;transform:translateY(-50%);box-shadow:none!important;cursor:pointer}.tvr-localized-datetime-button:hover,.tvr-localized-datetime-button:focus-visible{background:#edf3ff!important;color:var(--blue)!important}.tvr-localized-datetime-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.tvr-localized-picker{position:absolute!important;right:8px!important;bottom:6px!important;width:1px!important;height:1px!important;min-height:1px!important;padding:0!important;border:0!important;opacity:0!important;pointer-events:none}.tvr-localized-datetime-display:invalid{border-color:#c62828!important}\r\n\r\n.tvr-button.is-disabled{background:#aeb7c8;color:#fff!important;cursor:not-allowed;pointer-events:none}\r\n.tvr-home-embed .tvr-card-media-features .tvr-card-feature{padding:0;border-radius:0;background:transparent}\r\n.tvr-button:not(.is-disabled):hover,.tvr-button:not(.is-disabled):focus-visible,.tvr-search-submit:hover,.tvr-search-submit:focus-visible,.tvr-ai-launcher:hover,.tvr-ai-launcher:focus-visible{background:var(--orange)!important;color:#172033!important}\r\n.tvr-card-features{gap:7px;margin-top:5px}.tvr-card-features .tvr-amenity-icon{display:inline-grid;place-items:center;width:34px;height:34px;padding:0;border-radius:9px;background:#edf3ff;color:var(--blue);font-size:0;line-height:1}.tvr-amenity-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}\r\n.tvr-load-more{display:flex;justify-content:center;margin-top:24px}.tvr-load-more .tvr-button{min-width:210px}.tvr-load-more>a.tvr-button,.tvr-load-more>a.tvr-button:visited,.tvr-load-more>a.tvr-button:hover,.tvr-load-more>a.tvr-button:focus,.tvr-load-more>a.tvr-button:active{text-decoration:none!important}.tvr-load-more .tvr-button[aria-busy=\"true\"]{opacity:.65;pointer-events:none}\r\n.tvr-list.is-loading{position:relative;min-height:180px;pointer-events:none}.tvr-list.is-loading .tvr-card:not(.tvr-card-skeleton){opacity:.38;filter:grayscale(1)}.tvr-list.is-loading:before{content:\"\";position:absolute;z-index:2;top:-7px;left:0;width:38%;height:3px;border-radius:999px;background:var(--orange);transform:translateX(-100%);animation:tvr-list-progress 1s ease-in-out infinite}@keyframes tvr-list-progress{to{transform:translateX(365%)}}@media(prefers-reduced-motion:reduce){.tvr-list.is-loading:before{width:100%;transform:none;animation:none}}\r\n.tvr-catalog-loading{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.tvr-card-media-image picture{display:contents}.tvr-card-skeleton{display:grid!important;grid-template-columns:132px minmax(0,1fr)!important;height:150px!important;overflow:hidden;background:#edf2fa!important}.tvr-card-skeleton__media{background:#dfe7f4}.tvr-card-skeleton__body{margin:18px;border-radius:10px;background:#f7f9fc;opacity:.65;animation:tvr-skeleton-pulse .8s ease-in-out infinite alternate}@keyframes tvr-skeleton-pulse{to{opacity:1}}@media(prefers-reduced-motion:reduce){.tvr-card-skeleton__body{animation:none}}\r\n.tvr-seat-bundles{margin-top:18px;padding:14px;border:1px solid #dbe3f1;border-radius:14px;background:#f8faff}.tvr-seat-bundles h4{margin:0 0 10px}.tvr-seat-bundle{display:inline-flex;flex-direction:column;align-items:flex-start;gap:3px;margin:0 8px 8px 0;padding:10px 14px;border:1px solid #b9c8df;border-radius:10px;background:#fff;color:#17233a;cursor:pointer}.tvr-seat-bundle small{color:#667085}.tvr-seat-bundle.is-selected{border-color:#236bff;background:#eaf1ff;color:#1555d7}.tvr-seat-bundle.is-taken,.tvr-seat-bundle:disabled{opacity:.55;cursor:not-allowed}\r\n.tvr-search-filter{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.tvr-results-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}.tvr-results-heading h2{margin:0}.tvr-filter-menu{position:relative;z-index:8}.tvr-filter-toggle{position:relative;display:grid;place-items:center;width:48px;height:48px;border:1px solid #d6dbea;border-radius:12px;background:#fff;color:#172033;box-shadow:0 4px 14px rgba(23,32,51,.08);cursor:pointer;list-style:none}.tvr-filter-toggle::-webkit-details-marker{display:none}.tvr-filter-toggle:hover,.tvr-filter-toggle:focus-visible,.tvr-filter-menu[open]>.tvr-filter-toggle{border-color:var(--blue);color:var(--blue)}.tvr-filter-toggle:focus-visible{outline:3px solid rgba(35,107,255,.2);outline-offset:2px}.tvr-filter-toggle-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tvr-filter-count{position:absolute;top:-7px;right:-7px;display:grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border:2px solid #fff;border-radius:999px;background:var(--orange);color:#172033;font-size:12px;font-weight:800}.tvr-result-filter{position:absolute;top:calc(100% + 10px);right:0;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px;align-items:end;width:min(520px,calc(100vw - 48px));padding:18px;border:1px solid #dce4f5;border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(23,32,51,.18)}.tvr-result-filter-title{grid-column:1\/-1;font-size:17px}.tvr-result-filter label{display:grid;gap:7px;font-weight:600}.tvr-result-filter select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #d6dbea;border-radius:10px;background:#fff}.tvr-result-filter .tvr-button{grid-column:1\/-1;white-space:nowrap}\r\n.tvr-search-filter{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.tvr-filter-options{display:grid;gap:4px;min-width:0;margin:0;padding:0;border:0}.tvr-filter-options+.tvr-filter-options{margin-top:10px}.tvr-filter-options legend{margin:0 0 5px;color:#667085;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.tvr-result-filter .tvr-filter-option{display:flex;align-items:center;gap:9px;min-width:0;padding:6px 0;border:0;border-radius:0;background:transparent;font-weight:500;cursor:pointer}.tvr-filter-option input{flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:var(--blue)}.tvr-filter-option span{min-width:0}.tvr-filter-option:has(input:checked){margin:0 -8px;padding:6px 8px;border-radius:8px;background:#edf3ff;color:#1555d7}.tvr-filter-option:has(input:disabled){color:#98a2b3;cursor:not-allowed}\r\n.tvr-auth-nav{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.tvr-auth-nav button{min-width:140px}.tvr-wizard-nav .tvr-submit{margin-left:auto}@media(max-width:800px){.tvr-auth-nav{position:sticky;bottom:0;z-index:5;margin:18px -18px -18px;padding:12px 18px;background:rgba(255,255,255,.96);box-shadow:0 -4px 16px rgba(23,32,51,.08)}.tvr-auth-nav button{min-width:0;flex:1}}\r\n@media(max-width:800px){.tvr-book-form>.tvr-wizard-nav{margin:18px 0 0;padding:12px 0}}\r\n@media(min-width:1000px){.tvr-results-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;grid-template-rows:auto auto auto;gap:18px 32px;align-items:start}.tvr-results-heading{display:contents}.tvr-results-heading h2{grid-column:1;grid-row:1}.tvr-filter-menu{position:sticky;top:24px;z-index:2;grid-column:2;grid-row:2\/4}.tvr-filter-toggle{display:none}.tvr-filter-menu:not([open])>.tvr-result-filter,.tvr-filter-menu>.tvr-result-filter{position:static;display:grid;grid-template-columns:1fr;width:100%;padding:18px;box-shadow:0 8px 28px rgba(23,32,51,.08)}.tvr-result-filter-title,.tvr-result-filter .tvr-button{grid-column:auto}.tvr-list{grid-column:1;grid-row:2;min-width:0}.tvr-list .tvr-card{grid-template-columns:clamp(120px,10vw,150px) minmax(0,1.25fr) minmax(0,.75fr) max-content max-content;gap:14px;min-width:0}.tvr-list .tvr-card-media{width:clamp(120px,10vw,150px)}.tvr-list .tvr-card>.tvr-button{white-space:nowrap}.tvr-load-more{grid-column:1;grid-row:3;margin-top:6px}}\r\n@media(max-width:999px){.tvr-search-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}\r\n@media(max-width:800px){.tvr-search-filter{grid-template-columns:1fr}.tvr-results-heading{align-items:center}.tvr-result-filter{grid-template-columns:1fr;width:min(420px,calc(100vw - 32px));padding:16px}.tvr-result-filter-title,.tvr-result-filter .tvr-button{grid-column:auto}.tvr-result-filter .tvr-button{width:100%}}\r\n\r\n\/* Monday-first calendar for the localized catalogue date control. *\/\r\n.tvr-calendar[hidden]{display:none!important}.tvr-calendar{position:absolute;z-index:100;top:calc(100% + 8px);left:0;width:min(310px,calc(100vw - 32px));padding:14px;border:1px solid #dce4f5;border-radius:14px;background:#fff;color:#172033;box-shadow:0 18px 48px rgba(23,32,51,.2)}.tvr-calendar-header{display:grid;grid-template-columns:36px minmax(0,1fr) 36px;gap:8px;align-items:center;margin-bottom:10px}.tvr-calendar-month{text-align:center;text-transform:capitalize}.tvr-filter .tvr-calendar .tvr-calendar-nav{display:grid;width:36px;min-height:36px;padding:0;border:1px solid #dce4f5;border-radius:9px;background:#fff;color:#172033!important;font-size:24px;line-height:1}.tvr-filter .tvr-calendar .tvr-calendar-nav:hover,.tvr-filter .tvr-calendar .tvr-calendar-nav:focus-visible{border-color:var(--blue);background:#edf3ff;color:var(--blue)!important}.tvr-calendar-weekdays,.tvr-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.tvr-calendar-weekdays{margin-bottom:4px;color:#667085;font-size:11px;font-weight:800;text-align:center;text-transform:uppercase}.tvr-calendar-weekdays span{padding:4px 0}.tvr-calendar-blank{display:block;min-height:34px}.tvr-filter .tvr-calendar .tvr-calendar-day{display:grid;min-width:0;min-height:34px;padding:0;border:0;border-radius:8px;background:transparent;color:#172033!important;font-size:13px;font-weight:700}.tvr-filter .tvr-calendar .tvr-calendar-day:hover,.tvr-filter .tvr-calendar .tvr-calendar-day:focus-visible{background:#edf3ff;color:var(--blue)!important}.tvr-filter .tvr-calendar .tvr-calendar-day.is-selected{background:var(--blue);color:#fff!important}.tvr-filter .tvr-calendar .tvr-calendar-day[aria-current=date]:not(.is-selected){box-shadow:inset 0 0 0 1px var(--blue)}.tvr-filter .tvr-calendar .tvr-calendar-day:disabled{opacity:.35;cursor:not-allowed}\r\n\r\n\/* Three-zone trip cards: media, journey details, and booking action. *\/\r\n.tvr-card{grid-template-columns:116px minmax(0,1fr) 118px;grid-template-rows:auto;gap:0;padding:0;align-items:stretch;overflow:hidden}.tvr-card-media{grid-column:1;grid-row:1;width:100%;height:100%;min-height:218px;aspect-ratio:auto;border-radius:0}.tvr-card-details{grid-column:2;grid-row:1;display:grid;align-content:space-between;gap:18px;min-width:0;padding:18px 16px}.tvr-card-action{grid-column:3;grid-row:1;display:grid;align-content:center;gap:13px;min-width:0;padding:18px 13px;border-left:1px solid #e4e7ec;background:#f7f9fc;text-align:left}.tvr-card-legacy{display:none!important}.tvr-card-meta{display:flex;align-items:center;justify-content:flex-start;gap:8px;min-width:0;flex-wrap:wrap}.tvr-date{display:inline-flex;align-items:center;gap:7px;color:#172033;font-weight:800;white-space:nowrap}.tvr-date svg,.tvr-card-border-result svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tvr-date svg{color:var(--blue)}.tvr-card-border-result{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:5px 8px;border:0;border-radius:999px;background:#edf3ff;color:#174cae;font-size:12px;font-weight:800;white-space:nowrap}.tvr-card-timeline{display:flex;align-items:flex-start;gap:0;min-width:0;margin:8px 0 0;padding:0;list-style:none}.tvr-card-timeline li{position:relative;flex:1 1 0;min-width:0;padding:27px 4px 0;color:#667085;font-size:11px;font-weight:600;line-height:1.25;text-align:center;overflow-wrap:anywhere}.tvr-card-timeline li:before{content:\"\";position:absolute;z-index:1;top:15px;left:0;width:100%;height:2px;background:#b9ccf5}.tvr-card-timeline li:first-child:before{left:50%;width:50%}.tvr-card-timeline li:last-child:before{width:50%}.tvr-card-timeline li:after{content:\"\";position:absolute;z-index:2;top:10px;left:50%;width:11px;height:11px;border:2px solid var(--blue);border-radius:50%;background:#fff;transform:translateX(-50%)}.tvr-card-timeline li:last-child:after{border-color:var(--orange)}.tvr-card-timeline time{position:absolute;top:-5px;left:50%;color:#172033;font-size:13px;font-weight:800;white-space:nowrap;transform:translateX(-50%)}.tvr-card-bottom{display:flex;align-items:center;justify-content:flex-start;gap:14px;min-width:0}.tvr-card-features{display:flex;flex-wrap:wrap;gap:8px 11px;margin:0}.tvr-card-feature{display:inline-flex;align-items:center;gap:5px;min-width:0;color:#667085;font-size:11px;font-weight:600;line-height:1.2;white-space:nowrap}.tvr-card-features .tvr-card-feature .tvr-amenity-icon{width:18px;height:18px;padding:0;border:0;border-radius:0;background:transparent}.tvr-card-features .tvr-card-feature .tvr-amenity-icon svg{width:16px;height:16px}.tvr-card-price{display:grid;gap:2px;margin:0;white-space:nowrap}.tvr-card-price-label{color:#667085;font-size:11px;line-height:1.2}.tvr-card-price>strong{color:#172033;font-size:18px;line-height:1.2}.tvr-card-action>.tvr-button{width:100%;min-height:42px;padding:10px 9px;font-size:13px;white-space:normal;text-align:center}.tvr-card-action>.tvr-button:not(.is-disabled):after{content:\"\u2192\";margin-left:6px}.tvr-card-action>.tvr-button.is-disabled{display:inline-flex}\r\n@media(min-width:801px){.tvr-list .tvr-card{grid-template-columns:116px minmax(0,1fr) 118px;gap:0}.tvr-list .tvr-card-media{width:100%}}\r\n@media(max-width:800px){.tvr-card{grid-template-columns:1fr;grid-template-rows:auto;gap:0;padding:0}.tvr-card-media,.tvr-card-details,.tvr-card-action{grid-column:1;grid-row:auto}.tvr-card-media{width:100%;height:auto;min-height:0;aspect-ratio:16\/9}.tvr-card-details{padding:18px}.tvr-card-meta{align-items:flex-start}.tvr-card-timeline{overflow-x:auto;padding:5px 0 4px}.tvr-card-timeline li{flex:0 0 88px}.tvr-card-action{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:16px 18px;border-top:1px solid #e4e7ec;border-left:0}.tvr-card-action>.tvr-button{width:auto;min-width:118px;white-space:nowrap}}\r\n\r\n@media(min-width:801px){.tvr-list .tvr-card{height:150px;box-sizing:border-box}.tvr-list .tvr-card-media{display:grid;grid-template-rows:99px 51px;width:132px;height:150px;min-height:0;aspect-ratio:auto;align-self:stretch;border-right:1px solid #e4e7ec;background:#f7f9fc}.tvr-list .tvr-card-media-image{display:grid;place-items:center;overflow:hidden;width:100%;height:99px;background:#eef2f8}.tvr-list .tvr-card-media-image img{width:100%;height:100%;object-fit:cover}.tvr-list .tvr-card-media-features{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;align-content:center;gap:4px;overflow:hidden;margin:0;padding:6px;background:#f7f9fc}.tvr-list .tvr-card-media-features .tvr-card-feature{display:inline-flex;flex:0 0 auto}.tvr-list .tvr-card-media-features .tvr-card-feature .tvr-amenity-icon{width:20px;height:20px}.tvr-list .tvr-card-details{gap:10px;padding:12px 14px}.tvr-list .tvr-card-action{gap:10px;min-width:0;overflow:hidden;padding:12px}}\r\n.tvr-card-feature>span:not(.tvr-amenity-icon){display:none}.tvr-card-action>.tvr-button{box-sizing:border-box;max-width:100%;overflow:hidden;padding-right:8px;padding-left:8px;text-decoration:none!important;white-space:nowrap}\r\n.tvr-card-primary{min-width:0;color:inherit;text-decoration:none!important}.tvr-card-primary:focus-visible{z-index:1;outline:3px solid rgba(35,107,255,.3);outline-offset:-3px}.tvr-card-primary[href]{cursor:pointer}.tvr-card-primary[href]:hover .tvr-card-details{background:#f8faff}\r\n.tvr-card-title{display:block;min-width:0;overflow:hidden;color:#172033;font-size:16px;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.tvr-card-meta .tvr-date,.tvr-card-meta .tvr-card-border-result{font-size:14px}\r\n@media(max-width:800px){.tvr-card-media{display:grid;grid-template-rows:auto auto;aspect-ratio:auto}.tvr-card-media-image{display:grid;place-items:center;overflow:hidden;width:100%;aspect-ratio:16\/9;background:#eef2f8}.tvr-card-media-image img{width:100%;height:100%;object-fit:cover}.tvr-card-media-features{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px;overflow:hidden;margin:0;padding:10px 14px;border-top:1px solid #e4e7ec;background:#f7f9fc}}\r\n@media(max-width:800px){.tvr-card{border-radius:15px}}\r\n\r\n\/* Embedded Ask Tripand AI. *\/\r\n.tvr-ai{display:flex;align-items:center;gap:16px;margin:-6px 0 24px;padding:13px 15px;border:1px solid #dce4f5;border-radius:16px;background:linear-gradient(135deg,#fff 0,#f7f9ff 100%);box-shadow:0 8px 26px rgba(35,107,255,.06)}\r\n.tvr-ai-heading{flex:0 0 auto}.tvr-ai-heading h2{margin:0;font-size:21px;white-space:nowrap}\r\n.tvr-ai-quick{display:flex;flex:1 1 auto;gap:8px;min-width:0;overflow-x:auto;padding:2px;scrollbar-width:thin}.tvr-ai-quick[hidden]{display:none!important}\r\n.tvr-ai-card{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;min-height:40px;padding:8px 11px;border:1px solid #dce4f5;border-radius:999px;background:#fff;color:#172033;text-align:left;font:inherit;font-size:13px;font-weight:700;line-height:1.2;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}\r\n.tvr-ai-card span{color:var(--orange);font-size:15px}.tvr-ai-card:hover,.tvr-ai-card:focus-visible{border-color:var(--blue);box-shadow:0 5px 14px rgba(35,107,255,.13);transform:translateY(-1px);outline:0}\r\n.tvr-ai-launcher{position:fixed;z-index:99990;right:24px;bottom:24px;display:grid;place-items:center;width:58px;height:58px;padding:0;border:0;border-radius:50%;background:#236bff;color:#fff;font:inherit;font-size:25px;cursor:pointer;box-shadow:0 12px 30px rgba(35,107,255,.34);transition:transform .15s ease,box-shadow .15s ease}.tvr-ai-launcher:hover,.tvr-ai-launcher:focus-visible{transform:translateY(-2px);box-shadow:0 15px 34px rgba(35,107,255,.4);outline:3px solid rgba(35,107,255,.22);outline-offset:3px}.tvr-ai-launcher[aria-expanded=\"true\"]{background:#1555d7}\r\n.tvr-ai-chat{position:fixed;z-index:99991;right:24px;bottom:94px;display:grid;grid-template-rows:auto minmax(120px,1fr) auto auto;gap:12px;width:min(400px,calc(100vw - 32px));max-height:min(590px,calc(100vh - 120px));padding:16px;border:1px solid #dce4f5;border-radius:20px;background:#fff;box-shadow:0 22px 60px rgba(23,32,51,.24)}.tvr-ai-chat[hidden]{display:none!important}\r\n.tvr-ai-chat-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#172033;font-size:17px}.tvr-ai-collapse{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #dce4f5;border-radius:50%;background:#f7f9ff;color:#475467;font:inherit;font-size:25px;line-height:1;cursor:pointer}.tvr-ai-collapse:hover,.tvr-ai-collapse:focus-visible{border-color:#236bff;color:#1555d7;outline:0}\r\n.tvr-ai-messages{display:grid;align-content:start;gap:10px;max-height:340px;overflow:auto;padding:4px}.tvr-ai-message{max-width:88%;padding:11px 13px;border-radius:14px;background:#edf3ff;color:#172033}.tvr-ai-message.is-user{justify-self:end;background:#236bff;color:#fff}.tvr-ai-message strong{display:block;margin-bottom:4px;font-size:12px}.tvr-ai-message p{margin:0;white-space:pre-wrap;line-height:1.42}.tvr-ai-message.is-typing p{color:#667085;font-style:italic}.tvr-ai-message.is-error{background:#fff1f0;color:#9f1d16}.tvr-ai-retry{margin-top:9px;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}\r\n.tvr-ai-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.tvr-ai-form textarea{width:100%;min-height:78px;max-height:180px;padding:10px 11px;border:1px solid #cbd9ff;border-radius:10px;background:#fff;font:inherit;line-height:1.4;resize:vertical}.tvr-ai-send{width:46px;height:46px;min-height:46px;padding:0}.tvr-ai-send svg{display:block;width:22px;height:22px}.tvr-ai-actions{display:flex;flex-wrap:wrap;gap:8px}.tvr-ai-action{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border:1px solid #cbd9ff;border-radius:9px;background:#fff;color:#1555d7!important;font-weight:800;text-decoration:none}\r\n.tvr-ai-feedback{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.tvr-ai-feedback>button{padding:4px 8px;border:1px solid #cbd9ff;border-radius:8px;background:#fff;cursor:pointer}.tvr-ai-feedback-editor{display:grid;flex:1 0 100%;gap:6px}.tvr-ai-feedback-editor[hidden]{display:none}.tvr-ai-feedback-editor select,.tvr-ai-feedback-editor textarea{width:100%;padding:7px;border:1px solid #cbd9ff;border-radius:8px;background:#fff;font:inherit}.tvr-ai-feedback-editor button{justify-self:start;padding:7px 10px;border:0;border-radius:8px;background:#236bff;color:#fff;font:inherit;font-weight:700;cursor:pointer}\r\n@media(max-width:999px){.tvr-ai-launcher{right:16px;bottom:calc(86px + env(safe-area-inset-bottom))}.tvr-ai-chat{right:12px;bottom:calc(150px + env(safe-area-inset-bottom));width:calc(100vw - 24px);max-height:calc(100vh - 174px - env(safe-area-inset-bottom))}}\r\n@media(max-width:600px){.tvr-ai{display:grid;gap:9px;margin-top:0;padding:12px}.tvr-ai-heading h2{font-size:19px}.tvr-ai-quick{width:100%;padding-bottom:3px;scroll-snap-type:x mandatory}.tvr-ai-card{min-height:38px;scroll-snap-align:start}.tvr-ai-chat{right:0;bottom:calc(72px + env(safe-area-inset-bottom));left:0;width:100%;max-height:calc(100vh - 88px - env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.tvr-ai-form{grid-template-columns:1fr auto}.tvr-ai-message{max-width:94%}}\r\n.tvr-ai-launcher[hidden]{display:none!important}\r\n.tph-app:has(.tvr-home-embed){overflow-x:clip;overflow-y:visible}\r\n.tvr-home-embed .tvr-results-heading{justify-content:flex-end}.tvr-home-embed .tvr-results-heading h2{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\r\n.tvr-home-embed .tvr-search-filter{gap:10px;padding:10px 14px;border-radius:14px}.tvr-home-embed .tvr-search-field{position:relative;display:block}.tvr-home-embed .tvr-search-field--from .tvr-search-field-label{position:absolute;z-index:1;top:5px;left:12px;color:#667085;font-size:10px;font-weight:700;line-height:1;pointer-events:none}.tvr-home-embed .tvr-search-field--from select{min-height:44px;padding:17px 36px 3px 11px}.tvr-home-embed .tvr-search-field--date .tvr-search-field-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tvr-home-embed .tvr-search-field--date input{min-height:44px;padding:7px 11px}.tvr-home-embed .tvr-search-field--border-result .tvr-search-field-label{position:absolute;z-index:1;top:5px;left:12px;color:#667085;font-size:10px;font-weight:700;line-height:1;pointer-events:none}.tvr-home-embed .tvr-search-field--border-result select{min-height:44px;padding:17px 36px 3px 11px}.tvr-home-embed .tvr-search-filter>button{min-height:44px;padding:9px 17px}.tvr-search-submit-icon{display:none}\r\n\/* Keep the selected trip-card layout above catalogue-wide desktop rules. *\/\r\n@media(min-width:801px){.tvr-list .tvr-card{grid-template-columns:132px minmax(0,1fr) 168px;gap:0}.tvr-list .tvr-card-media{width:132px}}\r\n.tvr-home-embed .tvr-results-heading{display:none!important}\r\n\r\n\/* Keep every desktop summary inside the agreed 150px trip-card frame. *\/\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{height:150px;min-height:150px}\r\n\t.tvr-home-embed .tvr-list .tvr-card{overflow:hidden}\r\n\t.tvr-home-embed .tvr-card-details{box-sizing:border-box;grid-template-rows:20px 28px 64px;align-content:start;gap:8px;height:150px;padding:7px 14px;overflow:hidden}\r\n\t.tvr-home-embed .tvr-card-title{line-height:20px}\r\n\t.tvr-home-embed .tvr-card-meta{align-items:center;gap:6px;height:28px;overflow:hidden;flex-wrap:nowrap}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-date{flex:0 0 auto;font-size:13px}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-card-border-result{flex:0 1 auto;overflow:hidden;font-size:12px;text-overflow:ellipsis}\r\n\t.tvr-home-embed .tvr-card-timeline{align-self:end;height:64px;min-height:64px;margin:0;overflow:hidden}\r\n\t.tvr-home-embed .tvr-card-timeline li{padding-top:43px;overflow:visible;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-card-timeline li:before{top:32px}\r\n\t.tvr-home-embed .tvr-card-timeline li:after{top:27px}\r\n\t.tvr-home-embed .tvr-card-timeline time{top:3px;line-height:18px}\r\n\t.tvr-home-embed .tvr-card-timeline li span{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}\r\n}\r\n\r\n\/* Canonical homepage desktop layout. *\/\r\n@media(min-width:1000px){\r\n\t.tph-app[data-active-service=\"visa-run\"]:has(.tvr-home-embed) .tph-search-card{\r\n\t\tmin-height:0;\r\n\t\tpadding:0;\r\n\t\tborder:0;\r\n\t\tbackground:transparent;\r\n\t\tbox-shadow:none;\r\n\t}\r\n\t.tph-app[data-active-service=\"visa-run\"]:has(.tvr-home-embed) .tph-tabs{\r\n\t\tposition:relative;\r\n\t\tz-index:2;\r\n\t\tbox-sizing:border-box;\r\n\t\twidth:1014px;\r\n\t\tmax-width:100%;\r\n\t\tpadding:0 18px;\r\n\t\tborder:1px solid #e1e8f3;\r\n\t\tborder-bottom:1px solid #e1e8f3;\r\n\t\tborder-radius:20px;\r\n\t\tbackground:#fff;\r\n\t\tbox-shadow:0 12px 32px rgba(16,24,40,.07);\r\n\t}\r\n\t.tph-app[data-active-service=\"visa-run\"]:has(.tvr-home-embed) .tph-panel--visa-async{\r\n\t\tpadding-top:0;\r\n\t}\r\n\t.tvr-home-embed .tvr-app{\r\n\t\tdisplay:grid;\r\n\t\tgrid-template-columns:minmax(0,1fr) 286px;\r\n\t\tgrid-template-rows:auto auto;\r\n\t\tgap:clamp(10px, calc(100vw - 990px), 24px);\r\n\t\talign-items:start;\r\n\t\twidth:100%;\r\n\t\tmax-width:1014px;\r\n\t}\r\n\t.tvr-home-embed .tvr-search-filter{\r\n\t\tposition:sticky;\r\n\t\ttop:16px;\r\n\t\tz-index:40;\r\n\t\tbox-sizing:border-box;\r\n\t\tgrid-column:2;\r\n\t\tgrid-row:1\/-1;\r\n\t\talign-self:start;\r\n\t\twidth:100%;\r\n\t\tmax-width:100%;\r\n\t\tmargin:0;\r\n\t\tpadding:16px;\r\n\t\tborder:1px solid #e1e8f3;\r\n\t\tborder-top:1px solid #e1e8f3;\r\n\t\tborder-radius:18px;\r\n\t\tbackground:#fff;\r\n\t\tbox-shadow:0 14px 34px rgba(16,24,40,.08);\r\n\t}\r\n\t.tvr-home-embed .tvr-search-filter{grid-template-columns:minmax(0,1fr)}\r\n\t.tvr-home-embed .tvr-search-filter>.tvr-search-submit{width:100%}\r\n\tbody.admin-bar .tvr-home-embed .tvr-search-filter{top:40px}\r\n\t.tvr-home-embed .tvr-results-layout{\r\n\t\tbox-sizing:border-box;\r\n\t\tgrid-column:1;\r\n\t\tgrid-row:1\/-1;\r\n\t\tdisplay:grid;\r\n\t\tgrid-template-columns:minmax(0,1fr);\r\n\t\tgrid-template-rows:auto auto;\r\n\t\tgap:12px;\r\n\t\twidth:100%;\r\n\t\tmin-width:0;\r\n\t\tpadding:24px;\r\n\t\tborder:1px solid #e1e8f3;\r\n\t\tborder-radius:20px;\r\n\t\tbackground:#fff;\r\n\t\tbox-shadow:0 12px 32px rgba(16,24,40,.06);\r\n\t}\r\n\t.tvr-home-embed .tvr-results-heading{grid-column:1;grid-row:1;margin:0}\r\n\t.tvr-home-embed .tvr-filter-menu{position:relative;top:auto;z-index:8;grid-column:auto;grid-row:auto}\r\n\t.tvr-home-embed .tvr-filter-toggle{display:grid}\r\n\t.tvr-home-embed .tvr-filter-menu:not([open])>.tvr-result-filter{display:none}\r\n\t.tvr-home-embed .tvr-filter-menu[open]>.tvr-result-filter{position:absolute;top:calc(100% + 10px);right:0;display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));width:min(520px,calc(100vw - 48px));padding:18px;box-shadow:0 18px 48px rgba(23,32,51,.18)}\r\n\t.tvr-home-embed .tvr-result-filter-title,.tvr-home-embed .tvr-result-filter .tvr-button{grid-column:1\/-1}\r\n\t.tvr-home-embed .tvr-list{\r\n\t\tgrid-column:1;\r\n\t\tgrid-row:1;\r\n\t\tgap:14px;\r\n\t\tgrid-template-columns:minmax(0,1fr);\r\n\t\twidth:100%;\r\n\t\tmin-width:0;\r\n\t}\r\n\t.tvr-home-embed .tvr-load-more{\r\n\t\tgrid-column:1;\r\n\t\tgrid-row:2;\r\n\t\tmargin-top:6px;\r\n\t}\r\n\t.tvr-home-embed .tvr-list .tvr-card{\r\n\t\twidth:100%;\r\n\t\tmin-width:0;\r\n\t\tborder-color:#e2e9f5;\r\n\t\tborder-radius:16px;\r\n\t\tbackground:#f8faff;\r\n\t\tbox-shadow:none;\r\n\t\toverflow:hidden;\r\n\t}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action,\r\n\t.tvr-home-embed .tvr-list .tvr-card-media{\r\n\t\tbackground:#f3f6fd;\r\n\t}\r\n\t.tvr-home-embed .tvr-ai{\r\n\t\tposition:sticky;\r\n\t\tbox-sizing:border-box;\r\n\t\tgrid-column:2;\r\n\t\tgrid-row:2;\r\n\t\tdisplay:grid;\r\n\t\talign-items:stretch;\r\n\t\tgap:12px;\r\n\t\twidth:362px;\r\n\t\ttop:var(--tvr-home-sticky-offset,auto);\r\n\t\tmargin:0;\r\n\t\tpadding:24px;\r\n\t\tborder:1px solid #e1e8f3;\r\n\t\tborder-radius:20px;\r\n\t\tbackground:#fff;\r\n\t\tbox-shadow:0 12px 32px rgba(16,24,40,.06);\r\n\t}\r\n\t.tvr-home-embed .tvr-ai-heading h2{white-space:normal}\r\n\t.tvr-home-embed .tvr-ai-quick{flex-wrap:wrap;overflow:visible}\r\n\t.tvr-home-embed .tvr-ai-card{white-space:normal}\r\n\t.tvr-home-embed .tvr-ai-launcher{display:none!important}\r\n\t.tvr-home-embed .tvr-ai-chat{position:static;display:grid!important;grid-template-rows:minmax(140px,1fr) auto auto;width:100%;max-height:none;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}\r\n\t.tvr-home-embed .tvr-ai-chat-heading{display:none}\r\n\t.tvr-home-embed .tvr-ai-messages{max-height:320px}\r\n}\r\n\r\n\/* Keep sticky and anchor targets below the measured search filter. *\/\r\n@media(min-width:1000px){.tvr-home-embed{--tvr-home-sticky-gap:16px}.tvr-home-embed .tvr-results-layout,.tvr-home-embed #tvr-trip-list{scroll-margin-top:var(--tvr-home-sticky-offset,0px)}}\r\n\r\n\/* Mobile home\/TMA polish. Desktop rules remain isolated above 1000px. *\/\r\n@media(max-width:999px){\r\n\t.tvr-home-embed .tvr-app{width:100%;max-width:100%}\r\n\t.tvr-home-embed .tvr-search-filter{gap:10px;margin:0;padding:16px;border:1px solid #e3e9f4;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(23,32,51,.07)}\r\n\t.tvr-home-embed .tvr-results-layout{gap:14px;margin-top:16px}\r\n\t.tvr-home-embed .tvr-ai{display:block;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}\r\n\t.tvr-home-embed .tvr-ai-heading,.tvr-home-embed .tvr-ai-quick{display:none!important}\r\n\t.tvr-ai-launcher{bottom:calc(96px + max(env(safe-area-inset-bottom),var(--tripand-tg-content-safe-area-bottom,0px)))}\r\n\t.tvr-ai-chat{max-height:calc(var(--tripand-visual-viewport-height,100vh) - 174px - max(env(safe-area-inset-bottom),var(--tripand-tg-content-safe-area-bottom,0px)))}\r\n}\r\n@media(max-width:800px){\r\n\tbody.tripand-keyboard-open .tvr-ai-launcher{display:none!important}\r\n\tbody.tripand-keyboard-open .tvr-ai-chat{top:12px;right:12px;bottom:12px;left:12px;width:auto;max-height:calc(var(--tripand-visual-viewport-height,100vh) - 24px);border-radius:18px}\r\n\tbody.tripand-keyboard-open .tvr-wizard-nav,body.tripand-keyboard-open .tvr-auth-nav{position:static}\r\n}\r\n@media(max-width:520px){.tvr-home-embed .tvr-search-filter{padding:14px}}\r\n\r\n@media(min-width:600px) and (max-width:999px){\r\n\t.tvr-home-embed .tvr-search-filter{grid-template-columns:repeat(3,minmax(0,1fr)) 48px}\r\n\t.tvr-home-embed .tvr-search-submit{width:48px;min-width:48px;padding:0}\r\n\t.tvr-home-embed .tvr-search-submit-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\r\n\t.tvr-home-embed .tvr-search-submit-icon{display:block}\r\n}\r\n@media(max-width:599px){\r\n\t.tvr-home-embed .tvr-search-filter{grid-template-columns:1fr}\r\n\t.tvr-home-embed .tvr-search-submit{width:100%}\r\n}\r\n\r\n.tvr-card-departure{display:none}\r\n.tvr-home-embed .tvr-search-filter>.tvr-search-clear{grid-column:1\/-1;justify-self:end;display:inline-flex;width:auto;min-height:30px;margin:-2px 0 -8px;padding:3px 5px;border:0;border-radius:7px;background:transparent;color:#667085!important;box-shadow:none;font-size:12px;font-weight:600;line-height:1.2}\r\n.tvr-home-embed .tvr-search-filter>.tvr-search-clear[hidden]{display:none!important}\r\n.tvr-home-embed .tvr-search-filter>.tvr-search-clear:hover,.tvr-home-embed .tvr-search-filter>.tvr-search-clear:focus-visible,.tvr-home-embed .tvr-search-filter>.tvr-search-clear:active{background:#edf3ff;color:var(--blue)!important;box-shadow:none}\r\n.tvr-home-embed .tvr-search-filter>.tvr-search-clear:focus-visible{outline:2px solid rgba(35,107,255,.24);outline-offset:1px}\r\n.tvr-search-clear svg{flex:0 0 auto;margin-right:6px}\r\n@media(max-width:999px){.tvr-home-embed .tvr-search-filter>.tvr-search-clear{grid-column:1\/-1;justify-self:end;margin-top:0}}\r\n.tvr-card-action>.tvr-button:not(.is-disabled):after{content:none}\r\n\r\n\/* Approved compact mobile trip-card row. *\/\r\n@media(max-width:999px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{--tvr-mobile-card-media:clamp(96px,24vw,148px);position:relative;display:grid;grid-template-columns:var(--tvr-mobile-card-media) minmax(0,1fr);width:100%;height:148px;min-height:148px;aspect-ratio:auto;border-radius:18px}\r\n\t.tvr-home-embed .tvr-card-media{grid-column:1;grid-row:1;overflow:hidden;border-radius:17px 0 0 17px}\r\n\t.tvr-home-embed .tvr-card-details{grid-column:2;grid-row:1;grid-template-rows:auto auto auto;align-content:start;gap:7px;min-width:0;padding:11px 12px 63px}\r\n\t.tvr-home-embed .tvr-card-title{font-size:15px;line-height:1.2}\r\n\t.tvr-home-embed .tvr-card-meta{align-items:center;gap:6px;overflow:hidden;flex-wrap:nowrap}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-date,.tvr-home-embed .tvr-card-meta .tvr-card-border-result{font-size:11px}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-date{min-width:0;overflow:hidden;text-overflow:ellipsis}\r\n\t.tvr-home-embed .tvr-card-departure{display:inline}\r\n\t.tvr-home-embed .tvr-card-border-result{margin-left:auto;padding:4px 7px}\r\n\t.tvr-home-embed .tvr-card-timeline{display:flex;align-items:center;gap:0;min-width:0;overflow:hidden;margin:0;padding:0;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-card-timeline li{display:flex;align-items:center;flex:0 1 auto;min-width:0;padding:0;color:#667085;font-size:10px;line-height:1.2;text-align:left;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-card-timeline li span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis}\r\n\t.tvr-home-embed .tvr-card-timeline li:before{content:none}\r\n\t.tvr-home-embed .tvr-card-timeline li:after{position:static;width:auto;height:auto;margin:0 5px;border:0;border-radius:0;background:none;color:var(--blue);content:\"\u2192\";transform:none}\r\n\t.tvr-home-embed .tvr-card-timeline li:last-child:after{content:none}\r\n\t.tvr-home-embed .tvr-card-timeline time{display:none}\r\n\t.tvr-home-embed .tvr-card-media{grid-column:1;grid-row:1;grid-template-rows:minmax(0,1fr) 28px;width:100%;height:100%;min-height:0;border-right:1px solid #e4e7ec;border-left:0;background:#eef2f8}\r\n\t.tvr-home-embed .tvr-card-media-image{display:block;place-self:stretch;width:auto;height:auto;min-width:0;min-height:0;aspect-ratio:auto}\r\n\t.tvr-home-embed .tvr-card-media-features{min-height:0;padding:4px 6px;border-top:1px solid #e4e7ec}\r\n\t.tvr-home-embed .tvr-card-action{grid-column:1\/-1;grid-row:1\/-1;position:absolute;z-index:2;right:0;bottom:0;left:var(--tvr-mobile-card-media);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;height:60px;min-height:0;padding:6px 10px 7px 12px;border-top:1px solid #edf0f5;border-left:0;background:#fff}\r\n\t.tvr-home-embed .tvr-card-action .tvr-card-price{grid-column:1;grid-row:1;min-width:0}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button{grid-column:2;grid-row:1}\r\n\t.tvr-home-embed .tvr-card-price-label{font-size:9px}\r\n\t.tvr-home-embed .tvr-card-price>strong{font-size:15px}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button:not(.is-disabled){width:auto;min-width:120px;max-width:140px;height:48px;min-height:48px;padding:0 16px;border-radius:12px;font-size:14px;line-height:1;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button.is-disabled{width:auto;min-width:0;min-height:34px;padding:6px 8px;font-size:10px;white-space:normal}\r\n}\r\n@media(max-width:520px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{height:138px;min-height:138px}\r\n\t.tvr-home-embed .tvr-card-details{gap:5px;padding:9px 9px 59px}\r\n\t.tvr-home-embed .tvr-card-title{font-size:13px}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-date,.tvr-home-embed .tvr-card-meta .tvr-card-border-result{font-size:10px}\r\n\t.tvr-home-embed .tvr-card-border-result svg,.tvr-home-embed .tvr-date svg{width:14px;height:14px}\r\n\t.tvr-home-embed .tvr-card-timeline li{font-size:9px}\r\n\t.tvr-home-embed .tvr-card-action{height:56px;padding:5px 8px 6px 9px}\r\n\t.tvr-home-embed .tvr-card-price>strong{font-size:14px}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button:not(.is-disabled){min-width:120px;height:46px;min-height:46px;padding:0 14px;font-size:13px}\r\n}\r\n.tvr-ticket-groups{display:grid;gap:18px}.tvr-ticket-group{overflow:hidden;border:1px solid #dbe4f3;border-radius:18px;background:#f8faff}.tvr-ticket-group-summary{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:12px;align-items:center;padding:17px 20px;cursor:pointer;color:#17233c;font-size:18px;font-weight:800;list-style:none}.tvr-ticket-group-summary::-webkit-details-marker{display:none}.tvr-ticket-group-summary strong{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#e5edff;color:#236bff;font-size:14px}.tvr-ticket-group-toggle{width:9px;height:9px;border-right:2px solid #236bff;border-bottom:2px solid #236bff;transform:rotate(45deg) translate(-2px,-2px)}.tvr-ticket-group[open]>.tvr-ticket-group-summary .tvr-ticket-group-toggle{transform:rotate(225deg) translate(-2px,-2px)}.tvr-ticket-group>.tvr-ticket-list{padding:0 18px 18px}.tvr-ticket-group--cancelled{background:#fafafa}.tvr-ticket-group--cancelled>.tvr-ticket-group-summary strong{background:#f2f4f7;color:#667085}@media(max-width:800px){.tvr-ticket-groups{gap:14px}.tvr-ticket-group-summary{padding:15px 16px;font-size:16px}.tvr-ticket-group>.tvr-ticket-list{padding:0 12px 12px}}\r\n.tvr-field-optional{display:block;color:#667085;font-size:12px;font-weight:400;line-height:1.35}\r\n\r\n\/* Full-width mobile service sections; fields and nested result cards remain inset. *\/\r\n@media(max-width:999px){\r\n\t.tripand-service-visa-run .tvr-app{box-sizing:border-box;width:100%;max-width:none;margin-right:0;margin-left:0}\r\n\t.tripand-service-visa-run .tvr-app:not(.tvr-booking){padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left));border-top:1px solid #e4e7ec;border-bottom:1px solid #e4e7ec;background:#fff}\r\n\t.tripand-service-visa-run .tripand-account-panel--tickets .tvr-tickets{padding-right:0;padding-left:0}\r\n\t.tripand-service-visa-run .tripand-account-panel--tickets .tvr-ticket-groups{width:100vw;max-width:100vw;margin-right:calc(50% - 50vw);margin-left:calc(50% - 50vw)}\r\n\t.tripand-visa-booking-surface .tvr-booking-intro{padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left))}\r\n\t.tripand-visa-booking-surface .tvr-progress{margin-right:max(18px,env(safe-area-inset-right));margin-left:max(18px,env(safe-area-inset-left))}\r\n\t.tripand-visa-booking-surface .tvr-booking-choice,\r\n\t.tripand-visa-booking-surface .tvr-trip-description,\r\n\t.tripand-visa-booking-surface .tvr-trip-fares,\r\n\t.tripand-visa-booking-surface .tvr-route-map,\r\n\t.tripand-visa-booking-surface .tvr-booking-contact-panel,\r\n\t.tripand-visa-booking-surface .tvr-step:not(.tvr-booking-start){border-right:0;border-left:0;border-radius:0;box-shadow:none}\r\n\t.tripand-visa-booking-surface .tvr-gallery-main{border-radius:0}\r\n\t.tripand-visa-booking-surface .tvr-booking-choice,\r\n\t.tripand-visa-booking-surface .tvr-booking-contact-panel,\r\n\t.tripand-visa-booking-surface .tvr-step:not(.tvr-booking-start){padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left))}\r\n\t.tripand-visa-booking-surface .tvr-book-form>.tvr-message{padding-right:max(18px,env(safe-area-inset-right));padding-left:max(18px,env(safe-area-inset-left))}\r\n}\r\n\/* Catalogue trip card: layout reacts to the card width, not to the viewport. *\/\r\n@media(max-width:999px){.tvr-home-embed .tvr-card-return{display:none}}\r\n.tvr-list:not(.tvr-home-embed *){container-type:inline-size}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card{position:relative;z-index:0;display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-rows:auto;gap:0;height:auto;min-height:0;padding:0;overflow:visible;border-radius:16px;transition:box-shadow .18s ease,transform .18s ease}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card:hover,.tvr-list:not(.tvr-home-embed *) .tvr-card:focus-within{z-index:20}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card:hover{box-shadow:0 14px 32px rgba(23,32,51,.14);transform:translateY(-2px)}\r\n@media(prefers-reduced-motion:reduce){.tvr-list:not(.tvr-home-embed *) .tvr-card{transition:none}.tvr-list:not(.tvr-home-embed *) .tvr-card:hover{transform:none}}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media{grid-column:1;grid-row:1\/-1;display:grid;grid-template-rows:1fr 34px;width:132px;height:100%;min-height:0;aspect-ratio:auto;overflow:hidden;border-right:1px solid #e4e7ec;border-radius:15px 0 0 15px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-image{display:grid;place-items:center;width:100%;height:100%;min-height:0;overflow:hidden;background:#eef2f8}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-image img{width:100%;height:100%;object-fit:cover}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:7px;margin:0;padding:0 8px;overflow:hidden;border-top:1px solid #e4e7ec;background:#f4f7fb;color:#64758c}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features .tvr-card-feature{flex:0 0 auto;min-width:0;color:inherit;font-size:11px;overflow:hidden;text-overflow:ellipsis}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features .tvr-card-feature:first-child{flex:0 1 auto}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features .tvr-card-feature:first-child>span:not(.tvr-amenity-icon){display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features .tvr-amenity-icon{width:16px;height:16px;color:inherit}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features .tvr-amenity-icon svg{width:15px;height:15px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-details{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-content:stretch;gap:0;min-width:0;padding:11px 14px 8px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-title{margin:0 0 8px;color:#0f1c33;font-size:17px;font-weight:650;letter-spacing:-.01em;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-primary{display:inline;color:inherit;text-decoration:none!important;transition:color .15s ease}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-primary[href]:after{content:\"\";position:absolute;z-index:1;inset:0}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card:hover .tvr-card-primary[href]{color:#1d55c9}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-primary:focus-visible{outline:2px solid var(--blue);outline-offset:3px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-meta{margin-bottom:2px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline{margin:8px 0 0}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline time{overflow:hidden;max-width:100%;text-overflow:ellipsis}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return{position:relative;z-index:1;margin-top:4px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-toggle{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;width:fit-content;margin:0 auto;padding:4px 8px;color:var(--blue);font-size:13px;font-weight:700;line-height:1.2;list-style:none;cursor:pointer}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-toggle::marker{content:\"\"}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-toggle::-webkit-details-marker{display:none}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return[open] .tvr-card-return-toggle svg{transform:scaleY(-1)}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-body{position:absolute;z-index:30;top:calc(100% + 4px);right:-6px;left:-6px;display:none;margin:0;padding:10px 12px 11px;border:1px solid #d7e1f2;border-radius:12px;background:#fff;box-shadow:0 14px 32px rgba(23,32,51,.20)}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return[open] .tvr-card-return-body{display:block}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-body .tvr-card-timeline{margin:0}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-action{grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px 10px;border-top:1px solid #e4e7ec;border-left:0;background:transparent}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-price{min-width:0}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-action>.tvr-button{flex:0 1 auto;width:auto;min-width:0;padding:11px 16px;font-size:15px;white-space:nowrap;position:relative;z-index:2}\r\n@container (max-width:430px){\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card{grid-template-columns:minmax(0,1fr)}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-media{grid-column:1;grid-row:1;grid-template-rows:auto 34px;width:100%;height:auto;border-right:0;border-bottom:1px solid #e4e7ec;border-radius:15px 15px 0 0}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-media-image{aspect-ratio:16\/9;height:auto}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features{justify-content:flex-start;padding:0 14px}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-details{grid-column:1;grid-row:2}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-action{grid-column:1;grid-row:3}\r\n}\r\n@container (max-width:330px){\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-action{flex-direction:column;align-items:stretch}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-action>.tvr-button{width:100%}\r\n}\r\n\r\n\/* Home embed on desktop: the trip card follows the catalogue prototype; the\r\n   approved compact row keeps owning screens below 1000px. *\/\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list{container-type:inline-size}\r\n\t.tvr-home-embed .tvr-list .tvr-card{position:relative;z-index:0;display:grid;grid-template-columns:132px minmax(0,1fr);grid-template-rows:auto auto;gap:0;height:auto;min-height:0;padding:0;overflow:hidden;border-radius:16px;transition:box-shadow .18s ease,transform .18s ease}\r\n\t.tvr-home-embed .tvr-list .tvr-card:hover,.tvr-home-embed .tvr-list .tvr-card:focus-within{z-index:20}\r\n\t.tvr-home-embed .tvr-list .tvr-card:hover{box-shadow:0 14px 32px rgba(23,32,51,.14);transform:translateY(-2px)}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media{grid-column:1;grid-row:1\/-1;display:grid;grid-template-rows:1fr 34px;width:132px;height:100%;min-height:0;aspect-ratio:auto;overflow:hidden;border-right:1px solid #e4e7ec;border-radius:0}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-image{display:grid;place-items:center;place-self:stretch;width:100%;height:100%;min-height:0;overflow:hidden;background:#eef2f8}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-image img{width:100%;height:100%;object-fit:cover}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features{display:flex;flex-wrap:nowrap;align-items:center;justify-content:center;gap:7px;min-height:0;margin:0;padding:0 8px;overflow:hidden;border-top:1px solid #e4e7ec;background:#f4f7fb;color:#64758c}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features .tvr-card-feature{flex:0 0 auto;min-width:0;color:inherit;font-size:11px;overflow:hidden;text-overflow:ellipsis}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features .tvr-card-feature:first-child{flex:0 1 auto}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features .tvr-card-feature:first-child>span:not(.tvr-amenity-icon){display:inline;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features .tvr-amenity-icon{width:16px;height:16px;color:inherit}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-features .tvr-amenity-icon svg{width:15px;height:15px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-details{grid-column:2;grid-row:1;display:flex;flex-direction:column;gap:0;height:auto;min-width:0;padding:11px 14px 8px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-title{margin:0 0 8px;color:#0f1c33;font-size:17px;font-weight:650;letter-spacing:-.01em;line-height:1.25}\r\n\t.tvr-home-embed .tvr-list .tvr-card-primary{display:inline;color:inherit;text-decoration:none!important;transition:color .15s ease}\r\n\t.tvr-home-embed .tvr-list .tvr-card-primary[href]:after{content:\"\";position:absolute;z-index:1;inset:0}\r\n\t.tvr-home-embed .tvr-list .tvr-card:hover .tvr-card-primary[href]{color:#1d55c9}\r\n\t.tvr-home-embed .tvr-list .tvr-card-meta{height:auto;margin-bottom:2px;overflow:visible;flex-wrap:wrap}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline{align-self:auto;height:auto;min-height:0;margin:8px 0 0;overflow:visible}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li{padding:27px 4px 0}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:before{top:15px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:after{top:10px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline time{top:-5px;line-height:1.2}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return{position:relative;z-index:1;display:block;margin-top:4px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action{position:static;grid-column:2;grid-row:2;display:flex;align-items:center;justify-content:space-between;gap:10px;height:auto;padding:8px 14px 10px;border-top:1px solid #e4e7ec;border-left:0;background:transparent}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action>.tvr-button{flex:0 1 auto;position:relative;z-index:2;width:auto;min-width:0;max-width:none;height:auto;min-height:0;padding:11px 16px;border-radius:12px;font-size:15px;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action>.tvr-button.is-disabled{min-height:0;padding:11px 16px;font-size:15px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-price>strong{font-size:18px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-price-label{font-size:11px}\r\n}\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-toggle{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;width:fit-content;margin:0 auto;padding:4px 8px;color:var(--blue);font-size:13px;font-weight:700;line-height:1.2;list-style:none;cursor:pointer}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-toggle::marker{content:\"\"}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-toggle::-webkit-details-marker{display:none}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return[open] .tvr-card-return-toggle svg{transform:scaleY(-1)}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-body{display:none;margin:6px 0 2px;padding:9px 11px 10px;border:1px solid #e4e7ec;border-radius:12px;background:#f8faff}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return[open] .tvr-card-return-body{display:block}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-body .tvr-card-timeline{margin:0}\r\n}\r\n\/* One continuous route line: the first and last stops always sit on the card\r\n   edges, so the line looks identical however many cities a trip has. *\/\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline{position:relative}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline:before{content:\"\";position:absolute;z-index:1;top:14.5px;right:5.5px;left:5.5px;height:2px;background:#b9ccf5}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:before{content:none}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:first-child{text-align:left}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:last-child{text-align:right}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:first-child:after{left:0;transform:none}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:last-child:after{right:0;left:auto;transform:none}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:first-child time{left:0;transform:none;text-align:left}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-timeline li:last-child time{right:0;left:auto;transform:none;text-align:right}\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{overflow:visible}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-body{position:absolute;z-index:30;top:calc(100% + 4px);right:-6px;left:-6px;margin:0;padding:10px 12px 11px;border:1px solid #d7e1f2;border-radius:12px;background:#fff;box-shadow:0 14px 32px rgba(23,32,51,.20)}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline{position:relative}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline:before{content:\"\";position:absolute;z-index:1;top:14.5px;right:5.5px;left:5.5px;height:2px;background:#b9ccf5}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:before{content:none}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:first-child{text-align:left}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:last-child{text-align:right}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:first-child:after{left:0;transform:none}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:last-child:after{right:0;left:auto;transform:none}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:first-child time{left:0;transform:none;text-align:left}\r\n\t.tvr-home-embed .tvr-list .tvr-card-timeline li:last-child time{right:0;left:auto;transform:none;text-align:right}\r\n}\r\n\/* Home embed: the filter panel is always expanded, uses checkboxes and applies\r\n   itself without a search button. *\/\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-result-filter--standalone{position:sticky;top:16px;z-index:39;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);grid-column:2;grid-row:1\/-1;gap:16px;align-items:stretch;align-self:start;width:100%;margin:0;padding:16px;border:1px solid #e1e8f3;border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(16,24,40,.08)}\r\n\t.tvr-home-embed .tvr-search-filter{grid-row:1;padding:16px 16px 12px}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-result-filter-title{font-size:15px}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-options{display:grid;gap:7px;margin:0;padding:0;border:0}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-options legend{margin-bottom:2px;padding:0;color:#667085;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option{display:flex;align-items:center;gap:9px;min-height:26px;color:#25344c;font-size:14px;cursor:pointer}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option input{width:18px;height:18px;min-height:0;margin:0;accent-color:var(--blue);cursor:pointer}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option input:disabled{cursor:not-allowed}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option input:disabled+span{color:#98a2b3}\r\n\t.tvr-home-embed .tvr-result-filter--standalone[aria-busy=true]{opacity:.65}\r\n}\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-search-field--date{display:grid;gap:5px;min-width:0;padding:0;border:0}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-search-field-label{color:#667085;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.02em}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-date-control{display:flex;align-items:center;gap:6px;width:100%;padding:9px 11px;border:1px solid #c9d6e7;border-radius:12px;background:#fff}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-date-display{width:100%;min-height:0;padding:0;border:0;background:transparent;font:inherit}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-date-picker-button{flex:none;padding:0;border:0;background:transparent;color:#667085;cursor:pointer}\r\n}\r\n\/* The standalone filter panel keeps a single column on every width. *\/\r\n.tvr-result-filter--standalone{position:static;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;width:100%;box-shadow:none}\r\n.tvr-filter-section{min-width:0;margin:0;border:0}.tvr-filter-section-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#667085;font-size:12px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;list-style:none;cursor:pointer}.tvr-filter-section-summary::-webkit-details-marker{display:none}.tvr-filter-section-summary:after{content:\"\";flex:0 0 auto;width:8px;height:8px;margin-right:3px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .15s ease}.tvr-filter-section[open]>.tvr-filter-section-summary:after{transform:rotate(225deg)}.tvr-filter-section>.tvr-filter-options{margin-top:7px!important}\r\n.tvr-filter .tvr-result-clear{display:inline-flex;align-items:center;justify-self:start;gap:5px;width:auto;min-height:0;padding:2px 0;border:0;border-radius:0;background:transparent;color:#667085!important;font:inherit;font-size:12px;font-weight:600;line-height:1.35;text-decoration:none;box-shadow:none;cursor:pointer}.tvr-filter .tvr-result-clear:before{content:\"\\00d7\";display:inline-grid;place-items:center;width:14px;height:14px;font-size:16px;font-weight:400;line-height:1;text-decoration:none}.tvr-filter .tvr-result-clear:hover,.tvr-filter .tvr-result-clear:focus-visible{background:transparent;color:var(--blue)!important}.tvr-filter .tvr-result-clear:focus-visible{outline:2px solid rgba(35,107,255,.24);outline-offset:3px;border-radius:3px}\r\n.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-options:first-of-type .tvr-filter-option{font-family:Arial,sans-serif;font-weight:400}\r\n@media(max-width:999px){\r\n\t.tvr-home-embed .tvr-result-filter--standalone{margin:12px 0 0;padding:16px;border:1px solid #e1e8f3;border-radius:16px;background:#fff;gap:14px}\r\n\t.tvr-home-embed .tvr-filter-section-summary{min-height:36px;padding:5px 0;border-bottom:1px solid #e6ebf3}\r\n\t.tvr-home-embed .tvr-filter-section[open]>.tvr-filter-section-summary{border-bottom-color:transparent}\r\n\t.tvr-home-embed .tvr-filter-section:not([open])>.tvr-filter-options{display:none!important}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-options{display:grid;gap:8px;margin:0;padding:0;border:0}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option{display:flex;align-items:center;gap:10px;min-height:30px}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-filter-option input{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--blue)}\r\n}\r\n@media(min-width:1000px){.tvr-home-embed .tvr-filter-section-summary{cursor:default}.tvr-home-embed .tvr-filter-section-summary:after{display:none}}\r\n\/* Route line and the return toggle share one row, so the card is a line shorter. *\/\r\n.tvr-list .tvr-card-route-row{display:flex;align-items:center;gap:10px;min-width:0;margin-top:8px}\r\n.tvr-list .tvr-card-route-row>.tvr-card-timeline{flex:1 1 auto;margin:0}\r\n.tvr-list .tvr-card-route-row>.tvr-card-return{flex:0 0 auto;margin:0;align-self:flex-end;padding-bottom:2px}\r\n.tvr-list .tvr-card-route-row .tvr-card-return-toggle{margin:0;padding:4px 6px;white-space:nowrap}\r\n.tvr-list .tvr-card-route-row .tvr-card-return-body{right:0;left:auto;min-width:230px}\r\n@container (max-width:430px){\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-route-row .tvr-card-return-body{right:-6px;left:auto}\r\n}\r\n\/* The filter panel calendar matches the panel width. *\/\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-calendar{right:0;left:0;width:auto;min-width:0;box-sizing:border-box}\r\n\t.tvr-home-embed .tvr-result-filter--standalone .tvr-calendar-header{grid-template-columns:32px minmax(0,1fr) 32px}\r\n}\r\n\/* The card photo fills the whole media column, top to bottom. *\/\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{grid-template-columns:152px minmax(0,1fr)}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media{width:152px}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-image{display:block;place-self:stretch;width:100%;height:100%;min-height:0;overflow:hidden}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media-image img,.tvr-home-embed .tvr-list .tvr-card-media-image picture img{width:100%;height:100%;object-fit:cover}\r\n}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card{grid-template-columns:152px minmax(0,1fr)}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media{width:152px}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-image{display:block;width:100%;height:100%;min-height:0}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-media-image img{width:100%;height:100%;object-fit:cover}\r\n@container (max-width:430px){\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card{grid-template-columns:minmax(0,1fr)}\r\n\t.tvr-list:not(.tvr-home-embed *) .tvr-card-media{width:100%}\r\n}\r\n\/* The return popover must escape the card body. *\/\r\n.tvr-list .tvr-card-details{overflow:visible}\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card-details{overflow:visible}\r\n\t.tvr-home-embed .tvr-list .tvr-card{overflow:visible}\r\n\t.tvr-home-embed .tvr-list .tvr-card-media{border-radius:15px 0 0 15px}\r\n}\r\n\/* The return popover sits above the price row and the booking button. *\/\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-details{position:relative;z-index:3}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-route-row{position:relative;z-index:4}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return{z-index:5}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-return-body{z-index:60}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-action{position:relative;z-index:1}\r\n.tvr-list:not(.tvr-home-embed *) .tvr-card-action>.tvr-button{z-index:1}\r\n.tvr-list .tvr-card-title{font-weight:600}\r\n@media(min-width:1000px){\r\n\t.tvr-home-embed .tvr-list .tvr-card-title{font-weight:600}\r\n\t.tvr-home-embed .tvr-list .tvr-card-details{position:relative;z-index:3}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action{position:relative;z-index:1}\r\n\t.tvr-home-embed .tvr-list .tvr-card-route-row{position:relative;z-index:4}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return{z-index:5}\r\n\t.tvr-home-embed .tvr-list .tvr-card-return-body{z-index:60}\r\n\t.tvr-home-embed .tvr-list .tvr-card-action>.tvr-button{z-index:1}\r\n}\r\n\r\n\/* Trip cards expose the departure time for every configured city and the\r\n   arrival time at the outbound destination without opening the trip. *\/\r\n.tvr-list .tvr-card-timeline li.has-time time{display:block}\r\n.tvr-list .tvr-card-timeline li.is-last time{color:#a64b00}\r\n@media(max-width:999px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{--tvr-mobile-card-media:clamp(104px,25vw,148px);grid-template-columns:var(--tvr-mobile-card-media) minmax(0,1fr);grid-template-rows:auto auto;height:auto;min-height:198px;overflow:hidden}\r\n\t.tvr-home-embed .tvr-card-media{grid-column:1;grid-row:1;grid-template-rows:minmax(112px,1fr) 34px;height:100%;border-radius:17px 0 0 0}\r\n\t.tvr-home-embed .tvr-card-details{grid-column:2;grid-row:1;display:grid;grid-template-rows:auto auto minmax(58px,auto);align-content:start;gap:7px;padding:12px 13px;overflow:hidden}\r\n\t.tvr-home-embed .tvr-card-title{font-size:16px;line-height:1.25}\r\n\t.tvr-home-embed .tvr-card-meta{align-items:center;gap:6px;overflow:visible;flex-wrap:wrap}\r\n\t.tvr-home-embed .tvr-card-meta .tvr-date,.tvr-home-embed .tvr-card-meta .tvr-card-border-result{font-size:12px}\r\n\t.tvr-home-embed .tvr-card-departure{display:none}\r\n\t.tvr-home-embed .tvr-card-border-result{margin-left:0;padding:4px 8px}\r\n\t.tvr-home-embed .tvr-card-route-row{display:flex;align-items:flex-start;gap:7px;min-width:0;margin-top:2px}\r\n\t.tvr-home-embed .tvr-card-timeline{position:relative;display:flex;align-items:flex-start;flex:1 1 auto;gap:0;min-width:0;height:58px;margin:0;padding:0;overflow:visible;white-space:normal}\r\n\t.tvr-home-embed .tvr-card-timeline:before{content:\"\";position:absolute;z-index:1;top:24px;right:6px;left:6px;height:2px;background:#b9ccf5}\r\n\t.tvr-home-embed .tvr-card-timeline li{position:relative;display:block;flex:1 1 0;min-width:0;padding:36px 3px 0;color:#667085;font-size:11px;font-weight:600;line-height:1.2;text-align:center;white-space:normal}\r\n\t.tvr-home-embed .tvr-card-timeline li span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\r\n\t.tvr-home-embed .tvr-card-timeline li:before{content:none}\r\n\t.tvr-home-embed .tvr-card-timeline li:after{content:\"\";position:absolute;z-index:2;top:19px;left:50%;width:11px;height:11px;margin:0;border:2px solid var(--blue);border-radius:50%;background:#fff;transform:translateX(-50%)}\r\n\t.tvr-home-embed .tvr-card-timeline li.is-last:after{border-color:var(--orange)}\r\n\t.tvr-home-embed .tvr-card-timeline time{position:absolute;top:0;left:50%;display:block;max-width:100%;overflow:hidden;color:#172033;font-size:12px;font-weight:800;line-height:18px;text-overflow:ellipsis;white-space:nowrap;transform:translateX(-50%)}\r\n\t.tvr-home-embed .tvr-card-timeline li.is-last time{right:auto;left:50%;color:#a64b00;text-align:center;transform:translateX(-50%)}\r\n\t.tvr-home-embed .tvr-card-action{position:static;grid-column:1\/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;height:auto;min-height:60px;padding:7px 12px 8px;border-top:1px solid #e4e7ec;background:#fff}\r\n\t.tvr-home-embed .tvr-card-price-label{font-size:11px}\r\n\t.tvr-home-embed .tvr-card-price>strong{font-size:17px}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button:not(.is-disabled){min-width:128px;height:48px;min-height:48px;padding:0 16px;font-size:14px}\r\n}\r\n@media(max-width:430px){\r\n\t.tvr-home-embed .tvr-list .tvr-card{min-height:218px}\r\n\t.tvr-home-embed .tvr-card-details{grid-template-rows:auto auto auto;padding:11px 11px 9px}\r\n\t.tvr-home-embed .tvr-card-route-row{display:block}\r\n\t.tvr-home-embed .tvr-card-timeline{display:grid;gap:0;height:auto;min-height:78px;padding:0}\r\n\t.tvr-home-embed .tvr-card-timeline:before{top:6px;right:auto;bottom:6px;left:5px;width:2px;height:auto}\r\n\t.tvr-home-embed .tvr-card-timeline li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-height:26px;padding:0 0 0 18px;font-size:11px;text-align:left}\r\n\t.tvr-home-embed .tvr-card-timeline li span{grid-column:1;grid-row:1;text-align:left}\r\n\t.tvr-home-embed .tvr-card-timeline li:after{top:50%;left:0;width:10px;height:10px;transform:translateY(-50%)}\r\n\t.tvr-home-embed .tvr-card-timeline time,.tvr-home-embed .tvr-card-timeline li.is-last time{position:static;grid-column:2;grid-row:1;max-width:none;font-size:12px;text-align:right;transform:none}\r\n\t.tvr-home-embed .tvr-card-return{margin-top:5px}\r\n\t.tvr-home-embed .tvr-card-action>.tvr-button:not(.is-disabled){min-width:120px;padding:0 13px;font-size:13px}\r\n}\r\n\r\n\/* Keep the schedule readable without competing with the title, price and CTA. *\/\r\n.tvr-list .tvr-date,.tvr-list .tvr-card-border-result{font-weight:600}\r\n.tvr-list .tvr-card-timeline li,.tvr-list .tvr-card-timeline time{font-weight:500}\r\n.tvr-list .tvr-card-return-toggle{font-weight:600}\r\n\r\n\/* Amenities belong to the image area without an extra divider. *\/\r\n.tvr-home-embed .tvr-list .tvr-card-media-features,.tvr-list:not(.tvr-home-embed *) .tvr-card-media-features{border-top:0}\r\n\/* Keep every CRM Visa Run tab reachable and align each tab's content below one shared header. *\/\r\n.tvr-visabus-cabinet.tvr-bookings-list{max-width:1180px}\r\n.tvr-visabus-cabinet .tvr-bookings-list-header{display:flex;align-items:center;gap:14px;min-width:0;margin:0 0 18px;flex-wrap:nowrap}\r\n.tvr-visabus-cabinet .tvr-bookings-list-header h2{margin:0;color:var(--text,#17233c)}\r\n.tvr-visabus-cabinet .tvr-bookings-empty{margin:0}\r\n.tvr-visabus-cabinet .tvr-bookings-add{flex:0 0 auto;min-height:40px;padding:8px 14px;border:1px solid var(--blue,#236bff);border-radius:999px;background:var(--blue,#236bff);color:#fff;font-weight:600;text-decoration:none;white-space:nowrap}\r\n.tvr-visabus-cabinet .tvr-bookings-heading-main{display:flex;flex:1 1 auto;align-items:center;gap:0;min-width:0;max-width:100%;flex-wrap:nowrap}\r\n.tvr-visabus-cabinet .tvr-bookings-views{display:flex;flex:0 1 auto;flex-wrap:nowrap;gap:2px;max-width:100%;width:fit-content;padding:3px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;border:1px solid var(--line,#d8e0ee);border-radius:999px;background:var(--surface-2,#f2f5fa)}\r\n.tvr-visabus-cabinet .tvr-bookings-views::-webkit-scrollbar{display:none}\r\n.tvr-visabus-cabinet .tvr-bookings-view{flex:0 0 auto;padding:7px 13px;border-radius:999px;color:var(--muted,#526078);font-weight:700;line-height:1.25;text-align:center;text-decoration:none;white-space:nowrap;scroll-snap-align:start}\r\n.tvr-visabus-cabinet .tvr-bookings-view:hover,.tvr-visabus-cabinet .tvr-bookings-view:focus-visible{color:var(--blue,#236bff);background:var(--surface,#fff);outline:none}\r\n.tvr-visabus-cabinet .tvr-bookings-view.is-active{background:var(--blue,#236bff);color:#fff}\r\n.tvr-options-report-table-wrap{overflow:auto;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}\r\n.tvr-options-report-table{width:100%;min-width:max-content;border-collapse:collapse;color:var(--text,#17233c)}\r\n.tvr-options-report-table th,.tvr-options-report-table td{padding:9px 11px;text-align:center;white-space:nowrap;border-bottom:1px solid var(--line,#d8e0ee)}\r\n.tvr-options-report-table th{background:var(--surface-2,#f2f5fa);color:var(--muted,#526078);font-size:11px;line-height:1.2;text-transform:uppercase;white-space:normal}\r\n.tvr-options-report-table td:first-child,.tvr-options-report-table th:first-child,.tvr-options-report-table td:nth-child(4),.tvr-options-report-table th:nth-child(4){text-align:left}.tvr-options-report-table a{color:var(--blue,#236bff);font-weight:800;text-decoration:none}\r\n.tvr-options-report-table tfoot th{border-bottom:0;color:var(--text,#17233c)}\r\n.tvr-bookings-navigation{display:flex;flex:1 1 auto;align-items:center;gap:8px;min-width:0;max-width:100%}.tvr-bookings-navigation .tvr-bookings-views{flex:1 1 auto;min-width:0;width:auto}.tvr-bookings-navigation-extra{display:flex;flex:0 0 auto;align-items:center}.tvr-manifest-date-toolbar{position:relative;z-index:40;display:flex;flex:0 0 auto;align-items:center}.tvr-manifest-date-filter{position:relative;min-width:0}.tvr-manifest-date-filter>summary{display:flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:7px 12px;border:1px solid var(--line,#d8e0ee);border-radius:999px;background:var(--surface-2,#f2f5fa);color:var(--muted,#526078);font-size:13px;font-weight:700;line-height:1.25;list-style:none;white-space:nowrap;cursor:pointer;touch-action:manipulation}.tvr-manifest-date-filter>summary::-webkit-details-marker{display:none}.tvr-manifest-date-filter>summary:after{content:'\\203A';margin-left:2px;color:var(--blue,#236bff);font-size:17px;line-height:1;transform:rotate(90deg)}.tvr-manifest-date-filter[open]>summary,.tvr-manifest-date-filter>summary:hover,.tvr-manifest-date-filter>summary:focus-visible{background:var(--surface,#fff);color:var(--blue,#236bff);outline:2px solid var(--blue,#236bff);outline-offset:2px}.tvr-manifest-date-icon{display:block;flex:0 0 auto;width:20px;height:20px}.tvr-manifest-date-copy{display:flex;align-items:center;gap:5px;min-width:0}.tvr-manifest-date-copy>span{overflow:hidden;max-width:90px;text-overflow:ellipsis}.tvr-manifest-date-copy>strong{color:inherit;font-size:inherit}.tvr-manifest-date-menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;width:230px;gap:5px;padding:7px;border:1px solid var(--line,#d8e0ee);border-radius:12px;background:var(--surface,#fff);box-shadow:0 14px 32px rgba(23,35,60,.18)}.tvr-manifest-date-option{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding:9px 10px;border-radius:8px;color:var(--text,#17233c);text-decoration:none}.tvr-manifest-date-option span{overflow:hidden;color:var(--muted,#526078);font-size:12px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.tvr-manifest-date-option strong{font-size:13px;white-space:nowrap}.tvr-manifest-date-option:hover,.tvr-manifest-date-option:focus-visible{background:var(--surface-2,#f2f5fa);color:var(--blue,#236bff);outline:0}.tvr-manifest-date-option.is-active{background:var(--blue,#236bff);color:#fff}.tvr-manifest-date-option.is-active span{color:rgba(255,255,255,.82)}\r\n.tvr-bookings-navigation-extra{gap:8px}.tvr-manifest-trip-toolbar{position:relative;z-index:40;display:flex;flex:0 0 auto;align-items:center}.tvr-manifest-trip-filter{position:relative;min-width:0}.tvr-manifest-trip-filter>summary{display:flex;align-items:center;gap:7px;max-width:250px;min-height:40px;padding:7px 12px;border:1px solid var(--line,#d8e0ee);border-radius:999px;background:var(--surface-2,#f2f5fa);color:var(--muted,#526078);font-size:13px;font-weight:700;line-height:1.25;list-style:none;cursor:pointer;touch-action:manipulation}.tvr-manifest-trip-filter>summary::-webkit-details-marker{display:none}.tvr-manifest-trip-filter>summary:after{content:'\\203A';margin-left:auto;color:var(--blue,#236bff);font-size:17px;line-height:1;transform:rotate(90deg)}.tvr-manifest-trip-filter>summary svg{flex:0 0 auto;width:20px;height:20px}.tvr-manifest-trip-filter>summary span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tvr-manifest-trip-filter[open]>summary,.tvr-manifest-trip-filter>summary:hover,.tvr-manifest-trip-filter>summary:focus-visible{background:var(--surface,#fff);color:var(--blue,#236bff);outline:2px solid var(--blue,#236bff);outline-offset:2px}.tvr-manifest-trip-menu{position:absolute;z-index:30;top:calc(100% + 8px);right:0;display:grid;width:min(320px,calc(100vw - 32px));max-height:60vh;overflow-y:auto;gap:5px;padding:7px;border:1px solid var(--line,#d8e0ee);border-radius:12px;background:var(--surface,#fff);box-shadow:0 14px 32px rgba(23,35,60,.18)}.tvr-manifest-trip-option{display:block;overflow:hidden;min-height:42px;padding:11px 12px;border-radius:8px;color:var(--text,#17233c);font-size:13px;font-weight:700;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.tvr-manifest-trip-option:hover,.tvr-manifest-trip-option:focus-visible{background:var(--surface-2,#f2f5fa);color:var(--blue,#236bff);outline:0}.tvr-manifest-trip-option.is-active{background:var(--blue,#236bff);color:#fff}\r\n.tvr-manifest-scanner-toolbar{display:flex;flex:0 0 48px;align-items:center}.tvr-manifest-scanner-button{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--line,#d8e0ee);border-radius:12px;background:var(--surface-2,#f2f5fa);color:var(--muted,#526078);text-decoration:none}.tvr-manifest-scanner-button svg{display:block;width:23px;height:23px}.tvr-manifest-scanner-button:hover,.tvr-manifest-scanner-button:focus-visible{border-color:var(--blue,#236bff);background:var(--surface,#fff);color:var(--blue,#236bff);outline:2px solid var(--blue,#236bff);outline-offset:2px}\r\n.tvr-manifest-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin:0 0 8px}\r\n.tvr-manifest-summary>button{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:14px 16px;border:1px solid var(--line,#d8e0ee);border-radius:12px;background:var(--surface,#fff);color:var(--muted,#526078);font:inherit;font-weight:700;text-align:left;cursor:pointer}.tvr-manifest-summary>button:hover,.tvr-manifest-summary>button:focus-visible{border-color:var(--blue,#236bff);outline:2px solid var(--blue,#236bff);outline-offset:2px}.tvr-manifest-summary>button[aria-pressed=true]{border-color:var(--blue,#236bff);background:color-mix(in srgb,var(--blue,#236bff) 10%,var(--surface,#fff));color:var(--text,#17233c)}\r\n.tvr-manifest-summary strong{color:var(--text,#17233c);font-size:24px;line-height:1}.tvr-manifest-summary [data-summary-kind=departed] strong{color:#1f7a42}.tvr-manifest-summary [data-summary-kind=no-show] strong{color:#c33232}\r\n.tvr-manifest-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;margin:0 0 22px}.tvr-manifest-payment-summary>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:10px 16px;border-radius:10px;background:var(--surface-2,#f2f5fa);color:var(--muted,#526078);font-size:13px;font-weight:700}.tvr-manifest-payment-summary strong{color:var(--text,#17233c);font-size:15px;line-height:1.2;text-align:right;white-space:nowrap}\r\n.tvr-manifest-trip{margin:0 0 24px}.tvr-manifest-trip>h3{margin:0 0 10px;color:var(--text,#17233c)}\r\n.tvr-manifest-trip-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin:0 0 10px}.tvr-manifest-trip-heading h3{margin:0;color:var(--text,#17233c)}.tvr-manifest-approval{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;color:var(--muted,#67748a);font-size:13px;font-weight:800;text-align:right}.tvr-manifest-approval.is-approved{color:#168447}.tvr-manifest-approval.is-stale,.tvr-manifest-approval.is-error{color:#c33232}.tvr-manifest-approval button{min-height:38px;padding:8px 13px;border:1px solid var(--blue,#236bff);border-radius:9px;background:var(--blue,#236bff);color:#fff;font:inherit;cursor:pointer}.tvr-manifest-approval button:disabled{border-color:var(--line,#d8e0ee);background:var(--surface-2,#f2f5fa);color:var(--muted,#67748a);cursor:default}.tvr-manifest-editor[data-read-only=\"1\"] input:disabled,.tvr-manifest-editor[data-read-only=\"1\"] textarea:disabled,.tvr-manifest-editor[data-read-only=\"1\"] select:disabled{opacity:1;cursor:default}.tvr-manifest-editor[data-read-only=\"1\"] .tvr-manifest-attendance-reset,.tvr-manifest-editor[data-read-only=\"1\"] [data-tvr-manifest-save]{display:none}\r\n@media(max-width:700px){.tvr-manifest-trip-heading{display:grid}.tvr-manifest-approval{display:grid;justify-items:start;text-align:left}.tvr-manifest-approval button{width:100%}}\r\n.tvr-manifest-table-wrap{width:100%;max-width:100%;overflow:hidden;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}\r\n.tvr-manifest-table{width:100%;max-width:100%;table-layout:fixed;border-collapse:collapse}.tvr-manifest-table>thead th{padding:10px 24px;color:var(--muted,#67748a);font-size:11px;text-align:center;text-transform:uppercase;white-space:nowrap;border-bottom:1px solid var(--line,#d8e0ee)}.tvr-manifest-table>thead th:last-child{width:150px}\r\n.tvr-manifest-booking-row{width:100%;color:var(--text,#17233c);background:var(--surface,#fff)}.tvr-manifest-booking-row>td{min-width:0;padding:15px 24px;border-top:1px solid var(--line,#d8e0ee)}.tvr-manifest-booking-row>td:last-child{text-align:center}.tvr-manifest-booking-row.is-editable>td{padding:0}.tvr-manifest-booking-row.is-editable:hover{background:var(--surface-2,#f2f5fa)}.tvr-manifest-booking-link{display:flex;align-items:center;width:100%;height:100%;min-height:56px;padding:15px 24px;color:inherit;text-decoration:none}.tvr-manifest-booking-link-count{justify-content:center}.tvr-manifest-booking-link-primary:focus-visible{position:relative;z-index:1;outline:3px solid var(--blue,#236bff);outline-offset:-3px}.tvr-manifest-booking-customer{display:block;overflow-wrap:anywhere;font-weight:800}.tvr-manifest-booking-count{display:inline-flex;align-items:baseline;justify-content:center;gap:3px;font-size:18px}.tvr-manifest-booking-count-checked{color:#168447}.tvr-manifest-booking-count-total{color:#d9363e}.tvr-manifest-booking-count-separator{color:var(--muted,#67748a)}\r\n.tvr-manifest-save-state{display:block;min-height:20px;color:var(--muted,#67748a);font-weight:700}\r\n.tvr-manifest,.tvr-manifest-editor{width:100%;max-width:none}.tvr-manifest-editor-card{width:100%;margin-top:0;padding:22px;border:1px solid var(--line,#d8e0ee);border-radius:16px;background:var(--surface,#fff);color:var(--text,#17233c)}.tvr-manifest-editor-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:22px}.tvr-manifest-editor-card h1,.tvr-manifest-editor-card h2,.tvr-manifest-editor-card p{margin:0}.tvr-manifest-editor-card h1{font-size:25px}.tvr-manifest-editor-card header p{margin-top:5px;color:var(--muted,#67748a);font-weight:700}.tvr-manifest-editor-due{display:grid;flex:0 0 auto;gap:3px;min-width:190px;padding:14px 16px;border-radius:12px;background:var(--surface-2,#f2f5fa);text-align:right}.tvr-manifest-editor-due span,.tvr-manifest-editor-due small{color:var(--muted,#67748a);font-size:12px;font-weight:700}.tvr-manifest-editor-due strong{font-size:20px}.tvr-manifest-editor-due [data-balance=due]{color:#c33232}.tvr-manifest-editor-due [data-balance=over]{color:#946200}.tvr-manifest-editor-due [data-balance=exact]{color:#1f7a42}\r\n.tvr-visabus-cabinet>.tvr-boarding{margin-top:0}\r\n.tvr-manifest-editor-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.tvr-manifest-editor-fields label{display:grid;gap:6px;min-width:0;color:var(--text,#17233c);font-weight:700}.tvr-manifest-editor-fields input,.tvr-manifest-editor-fields select,.tvr-manifest-editor-fields textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--line,#d8e0ee);border-radius:9px;background:var(--surface,#fff);color:var(--text,#17233c);font:inherit}.tvr-manifest-editor-comment{grid-column:1\/-1}.tvr-manifest-editor-fields textarea{resize:vertical}.tvr-manifest-editor-contacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.tvr-manifest-editor-contacts>div{display:grid;gap:5px;padding:14px;border-radius:10px;background:var(--surface-2,#f2f5fa)}.tvr-manifest-editor-contacts span{color:var(--muted,#67748a);font-size:12px;font-weight:700}.tvr-manifest-editor-contacts a{color:var(--blue,#236bff);font-weight:800}.tvr-manifest-editor-passengers{margin-top:24px}.tvr-manifest-editor-passengers h2{margin-bottom:10px;font-size:20px}.tvr-manifest-editor-passengers table{width:100%;table-layout:fixed;border-collapse:collapse}.tvr-manifest-editor-passengers th,.tvr-manifest-editor-passengers td{padding:10px;text-align:left;overflow-wrap:anywhere;border-bottom:1px solid var(--line,#d8e0ee)}.tvr-manifest-editor-passengers th{color:var(--muted,#67748a);font-size:11px;text-transform:uppercase}.tvr-manifest-editor-passengers th:first-child,.tvr-manifest-editor-passengers td:first-child{width:86px;text-align:center}.tvr-manifest-passenger-checkin input{width:24px;height:24px;margin:0;accent-color:#168447;cursor:pointer}.tvr-manifest-passenger-checkin[aria-busy=true]{opacity:.55}.tvr-manifest-passenger-checkin input:disabled{cursor:wait}.tvr-manifest-editor-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:10px}.tvr-manifest-editor-actions .tvr-button{min-width:140px;text-align:center}.tvr-manifest-editor-actions .tvr-back{border:1px solid var(--line,#d8e0ee)!important;background:var(--surface,#fff)!important;color:var(--text,#17233c)!important}.tvr-manifest-editor-actions [disabled]{opacity:.65;cursor:wait}\r\n.tvr-manifest-save-state[data-state=saving]{color:#946200}.tvr-manifest-save-state[data-state=saved]{color:#1f7a42}.tvr-manifest-save-state[data-state=error]{color:#c33232}\r\n.tvr-manifest-editor-passengers th:first-child,.tvr-manifest-editor-passengers td:first-child{width:250px;text-align:left}.tvr-manifest-attendance{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}.tvr-manifest-attendance-option{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 10px;border:1px solid var(--line,#d8e0ee);border-radius:9px;background:var(--surface-2,#f2f5fa);font-size:13px;font-weight:800;cursor:pointer}.tvr-manifest-attendance-option input{width:18px;height:18px;margin:0;cursor:pointer}.tvr-manifest-attendance-option.is-departed{color:#168447}.tvr-manifest-attendance-option.is-departed input{accent-color:#168447}.tvr-manifest-attendance-option.is-no-show{color:#c33232}.tvr-manifest-attendance-option.is-no-show input{accent-color:#c33232}.tvr-manifest-attendance-option:has(input:checked){border-color:currentColor;background:color-mix(in srgb,currentColor 10%,var(--surface,#fff))}.tvr-manifest-attendance-option:has(input:focus-visible){outline:2px solid currentColor;outline-offset:2px}.tvr-manifest-passenger-checkin[aria-busy=true] .tvr-manifest-attendance{opacity:.55}\r\n.tvr-manifest-editor-passengers-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.tvr-manifest-editor-passengers-heading h2{margin:0}.tvr-manifest-attendance-reset{flex:0 0 auto;padding:2px;border:0;background:transparent;color:var(--blue,#236bff);font:inherit;font-size:12px;font-weight:800;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.tvr-manifest-attendance-reset:hover,.tvr-manifest-attendance-reset:focus-visible{color:var(--text,#17233c);outline:2px solid var(--blue,#236bff);outline-offset:2px}.tvr-manifest-attendance-reset:disabled{opacity:.55;cursor:wait}\r\n.tvr-manifest-editor-overlay[hidden]{display:none!important}.tvr-manifest-editor-overlay{position:fixed;inset:0;z-index:40;display:flex;justify-content:flex-end;background:rgba(4,9,20,.56);backdrop-filter:blur(2px)}body.is-tvr-manifest-editor-open{overflow:hidden}.tvr-manifest-editor-sheet{position:relative;width:min(900px,calc(100vw - 80px));height:100dvh;overflow:auto;overscroll-behavior:contain;background:var(--bg,#0b0f18);box-shadow:-18px 0 45px rgba(4,9,20,.32)}.tvr-manifest-editor-sheet>[data-tvr-manifest-editor-content]{min-height:100%;padding:22px}.tvr-manifest-editor-skeleton{display:grid;gap:18px;min-height:460px;padding:22px;color:var(--muted,#67748a);font-weight:800}.tvr-manifest-editor-skeleton i{display:block;height:72px;border-radius:14px;background:linear-gradient(100deg,var(--surface-2,#f2f5fa) 20%,var(--surface,#fff) 40%,var(--surface-2,#f2f5fa) 60%);background-size:220% 100%;animation:tvr-manifest-skeleton 1.2s ease-in-out infinite}.tvr-manifest-editor-skeleton i:nth-of-type(2){height:180px}.tvr-manifest-editor-skeleton i:nth-of-type(3){height:260px}@keyframes tvr-manifest-skeleton{to{background-position-x:-220%}}\r\n.tvr-manifest-editor-fields{grid-template-columns:repeat(3,minmax(0,1fr))}\r\n.tvr-manifest-booking-spacer>td{height:12px;padding:0!important;border:0!important;background:transparent!important}\r\n.tvr-manifest-status-group[hidden]{display:none!important}\r\n.tvr-manifest-date-toolbar{flex:0 0 48px}.tvr-manifest-date-filter{width:48px}.tvr-manifest-date-filter>summary{width:48px;height:48px;min-height:48px;padding:0;border-radius:12px}.tvr-manifest-date-filter>summary:after,.tvr-manifest-date-copy{display:none}.tvr-manifest-date-icon{width:22px;height:22px}\r\n@media(max-width:900px){.tvr-manifest-table-wrap{border-radius:10px}.tvr-manifest-editor-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}\r\n@media(max-width:800px){.tvr-bookings-navigation{width:100%;gap:8px}.tvr-bookings-navigation .tvr-bookings-views{flex:1 1 auto;width:auto;border-radius:12px}.tvr-bookings-navigation .tvr-bookings-view{border-radius:9px;padding:9px 10px}.tvr-manifest-date-toolbar{flex:0 0 48px}.tvr-manifest-date-filter{width:48px}.tvr-manifest-date-filter>summary{width:48px;height:48px;min-height:48px;padding:0;border-radius:12px}.tvr-manifest-date-filter>summary:after,.tvr-manifest-date-copy{display:none}.tvr-manifest-date-icon{width:22px;height:22px}.tvr-manifest-date-menu{right:0;left:auto;width:min(300px,calc(100vw - 32px));max-height:60vh;overflow-y:auto}.tvr-manifest-date-option{min-height:48px;padding:10px 12px}}\r\n@media(max-width:800px){.tvr-manifest-trip-filter>summary{justify-content:center;width:48px;max-width:48px;height:48px;min-height:48px;padding:0;border-radius:12px}.tvr-manifest-trip-filter>summary span,.tvr-manifest-trip-filter>summary:after{display:none}.tvr-manifest-trip-option{min-height:48px;padding:14px 12px}}\r\n@media(max-width:700px){body.is-crm-table-mode .tvr-manifest-date-toolbar{display:none}.tvr-visabus-cabinet .tvr-bookings-list-header,.tvr-visabus-cabinet .tvr-bookings-heading-main{gap:10px}.tvr-visabus-cabinet .tvr-bookings-views{border-radius:12px}.tvr-visabus-cabinet .tvr-bookings-view{border-radius:9px;padding:9px 10px}.tvr-manifest-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tvr-manifest-summary>button{align-items:flex-start;flex-direction:column;gap:6px;min-height:64px;padding:10px}.tvr-manifest-summary>button span{font-size:12px;line-height:1.25}.tvr-manifest-summary strong{align-self:flex-end;font-size:21px}.tvr-manifest-table>thead th{padding:9px 18px}.tvr-manifest-table>thead th:last-child{width:132px}.tvr-manifest-booking-row>td{padding:14px 18px}.tvr-manifest-editor-sheet{width:100vw;height:100dvh;box-shadow:none}.tvr-manifest-editor-sheet>[data-tvr-manifest-editor-content]{padding:0}.tvr-manifest-editor-sheet .tvr-manifest-editor{min-height:100dvh;padding:0}.tvr-manifest-editor-skeleton{min-height:100dvh;padding:18px}.tvr-manifest-editor-card{padding:15px;border-radius:0;min-height:100dvh}.tvr-manifest-editor-card>header{display:grid;gap:14px}.tvr-manifest-editor-card h1{font-size:21px}.tvr-manifest-editor-due{width:100%;min-width:0;text-align:left}.tvr-manifest-editor-fields,.tvr-manifest-editor-contacts{grid-template-columns:1fr}.tvr-manifest-editor-passengers table,.tvr-manifest-editor-passengers tbody,.tvr-manifest-editor-passengers tr,.tvr-manifest-editor-passengers td{display:block}.tvr-manifest-editor-passengers thead{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.tvr-manifest-editor-passengers tr{margin-bottom:10px;padding:8px 10px;border:1px solid var(--line,#d8e0ee);border-radius:10px;background:var(--surface-2,#f2f5fa)}.tvr-manifest-editor-passengers td,.tvr-manifest-editor-passengers td:first-child{display:grid;width:auto;grid-template-columns:minmax(90px,.45fr) minmax(0,1fr);gap:10px;padding:6px 0;border:0;text-align:left}.tvr-manifest-editor-passengers td:before{content:attr(data-label);color:var(--muted,#67748a);font-size:11px;font-weight:800;text-transform:uppercase}.tvr-manifest-editor-actions{position:sticky;bottom:0;z-index:5;margin:12px -15px -15px;padding:10px 15px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line,#d8e0ee);background:var(--surface,#fff);box-shadow:0 -8px 20px rgba(4,9,20,.12)}.tvr-manifest-editor-actions .tvr-button{flex:1 1 0;min-width:0}}\r\n@media(max-width:700px){body.is-crm-table-mode .tvr-manifest-trip-toolbar{display:none}}\r\n@media(max-width:700px){.tvr-manifest-payment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tvr-manifest-payment-summary>div{align-items:flex-start;flex-direction:column;gap:4px;padding:8px 10px;font-size:11px}.tvr-manifest-payment-summary strong{align-self:flex-end;font-size:13px}}\r\n@media(max-width:700px){.tvr-manifest-booking-row.is-editable>td{padding:0}.tvr-manifest-booking-link{padding:14px 18px}}\r\n@media(max-width:800px){.tvr-visabus-cabinet .tvr-bookings-list-header{min-height:48px}}\r\n.tvr-pickup-map-canvas{border:1px solid #dbe4f3;border-radius:12px;background:#edf3f7;cursor:default;touch-action:auto}.tvr-pickup-map-surface{position:absolute;inset:0}.tvr-pickup-map-surface .maplibregl-canvas{cursor:crosshair}.tvr-pickup-map-marker{width:22px;height:22px;margin:0;border:3px solid #fff;background:#286bff;box-shadow:0 3px 8px rgba(22,46,94,.38)}.tvr-pickup-map-status{position:absolute;z-index:4;inset:0;display:grid;place-items:center;padding:24px;background:rgba(247,249,252,.88);color:#344054;text-align:center;font-weight:700}.tvr-pickup-map-status[hidden]{display:none}.tvr-pickup-map-status[data-state=\"loading\"]:before{width:28px;height:28px;margin-right:10px;border:3px solid #bfd0ee;border-top-color:#286bff;border-radius:50%;content:\"\";animation:tvr-map-spin .8s linear infinite}.tvr-pickup-map-status[data-state=\"outside\"]{align-content:end;padding-bottom:42px;background:linear-gradient(transparent 50%,rgba(247,249,252,.94))}.tvr-pickup-map-retry{position:absolute;z-index:5;left:50%;top:58%;min-height:40px;padding:8px 18px;border:0;border-radius:9px;background:#286bff;color:#fff;font-weight:800;transform:translate(-50%,-50%);cursor:pointer}.tvr-pickup-map-retry[hidden]{display:none}.tvr-pickup-map-zoom{z-index:6;overflow:hidden;border:1px solid #b9c5d6;border-radius:9px;box-shadow:0 3px 10px rgba(22,46,94,.16)}.tvr-pickup-map-zoom button{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-bottom:1px solid #d6deea;background:#fff!important;color:#172033!important;font-size:22px;line-height:1}.tvr-pickup-map-zoom button:last-child{border-bottom:0}.tvr-pickup-map-zoom button:focus-visible{outline:3px solid rgba(40,107,255,.35);outline-offset:-3px}.tvr-pickup-map-canvas .maplibregl-ctrl-attrib{font-size:10px}.tvr-pickup-map-canvas .maplibregl-ctrl-attrib a{color:#1457d9}@keyframes tvr-map-spin{to{transform:rotate(360deg)}}\r\n.tvr-pickup-map-marker{width:32px;height:42px;border:0;border-radius:0;background:#286bff center\/contain no-repeat;box-shadow:none}\r\n.tvr-route-saved-map-loading{position:absolute;z-index:3;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border:4px solid rgba(38,107,255,.2);border-top-color:var(--blue);border-radius:50%;animation:tvr-map-spin .75s linear infinite;pointer-events:none}\r\n.tripand-car-visas-detail{display:grid;gap:18px;color:var(--text,#17233c)}.tripand-car-visas-detail>p,.tripand-car-visas-detail h2{margin:0}.tripand-car-visas-detail__readonly{align-self:center;padding:7px 11px;border-radius:999px;background:var(--surface-2,#f2f5fa);color:var(--muted,#67748a);font-size:13px;font-weight:800}.tripand-car-visas-detail__summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0;padding:18px;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}.tripand-car-visas-detail__summary>div{display:grid;gap:5px;min-width:0;padding:12px;border-radius:10px;background:var(--surface-2,#f2f5fa)}.tripand-car-visas-detail__summary strong,.tripand-car-visas-detail__documents strong{color:var(--muted,#67748a);font-size:12px;text-transform:uppercase}.tripand-car-visas-detail__summary span{overflow-wrap:anywhere}.tripand-car-visas-detail__people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tripand-car-visas-detail__person{display:grid;gap:14px;margin:0;padding:18px;border:1px solid var(--line,#d8e0ee);border-radius:14px;background:var(--surface,#fff)}.tripand-car-visas-detail__person h3,.tripand-car-visas-detail__person p{margin:0}.tripand-car-visas-detail__documents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tripand-car-visas-detail__documents>div{display:grid;align-content:start;gap:9px;min-width:0;padding:12px;border-radius:10px;background:var(--surface-2,#f2f5fa)}.tripand-car-visas-detail__documents .tvr-button{box-sizing:border-box;display:inline-flex;justify-content:center;width:100%;max-width:100%;white-space:normal;text-align:center}\r\n@media(max-width:900px){.tripand-car-visas-detail__summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tripand-car-visas-detail__people{grid-template-columns:1fr}}\r\n@media(max-width:600px){.tripand-car-visas-detail{gap:14px}.tripand-car-visas-detail .crm-page-header{align-items:flex-start}.tripand-car-visas-detail__summary,.tripand-car-visas-detail__documents{grid-template-columns:1fr}.tripand-car-visas-detail__summary,.tripand-car-visas-detail__person{padding:14px}.tripand-car-visas-detail__readonly{white-space:nowrap}}\r\n.tvr-ticket-details li.is-cancelled{opacity:.72}.tvr-passenger-status{display:inline-flex;margin-left:8px;padding:3px 8px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:12px;font-style:normal;font-weight:700}.tvr-cancel-passenger-button{align-self:end;min-height:40px;padding:8px 14px;border:1px solid #c7364f;border-radius:999px;background:#fff;color:#b4233c;font-weight:700;cursor:pointer}.tvr-cancel-passenger-button:hover,.tvr-cancel-passenger-button:focus-visible{background:#fff1f3;outline:2px solid #ffac0a;outline-offset:2px}.tvr-admin-passenger.is-cancelled{opacity:.76}.tvr-admin-passenger-status{display:inline-flex;align-self:start;padding:5px 9px;border-radius:999px;background:#f2f4f7;color:#667085;font-size:12px;font-weight:700}\r\n<\/style><div class=\"tvr-home-embed\" data-tvr-home-embed data-tvr-deferred-results=\"1\">\t\t<div class=\"tvr-app\">\r\n\t\t\t<form class=\"tvr-filter tvr-result-filter tvr-result-filter--standalone\" method=\"get\">\r\n\t\t\t\t<div class=\"tvr-search-field tvr-search-field--date\">\r\n\t\t\t\t\t<label class=\"tvr-search-field-label\" for=\"tvr-search-date\">\u0414\u0430\u0442\u0430<\/label>\r\n\t\t\t\t\t<div class=\"tvr-date-control\" data-date-separator=\".\" data-date-order=\"dmy\">\r\n\t\t\t\t\t\t<input id=\"tvr-search-date\" class=\"tvr-date-display\" type=\"text\" value=\"\" placeholder=\"\u0434\u0434.\u043c\u043c.\u0433\u0433\u0433\u0433\" autocomplete=\"off\" maxlength=\"10\" readonly aria-haspopup=\"dialog\" aria-expanded=\"false\">\r\n\t\t\t\t\t\t<input class=\"tvr-date-value\" type=\"hidden\" name=\"tvr_date\" value=\"\">\r\n\t\t\t\t\t\t<input class=\"tvr-date-picker-input\" type=\"date\" value=\"\" min=\"2026-09-05\" tabindex=\"-1\" aria-hidden=\"true\">\r\n\t\t\t\t\t\t<button class=\"tvr-date-picker-button\" type=\"button\" aria-label=\"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u0430\u0442\u0443\"><svg aria-hidden=\"true\" viewBox=\"0 0 24 24\" width=\"19\" height=\"19\"><path d=\"M7 3v3m10-3v3M4.5 9h15M6 5h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.7\" stroke-linecap=\"round\"\/><\/svg><\/button>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t<details class=\"tvr-filter-section\"><summary class=\"tvr-filter-section-summary\">\u041e\u0442\u043a\u0443\u0434\u0430<\/summary><fieldset class=\"tvr-filter-options\"><legend class=\"screen-reader-text\">\u041e\u0442\u043a\u0443\u0434\u0430<\/legend><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_from[]\" value=\"Hoi An\" ><span>Hoi An<\/span><\/label><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_from[]\" value=\"Da Nang\" ><span>Da Nang<\/span><\/label><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_from[]\" value=\"Lao Bao\" ><span>Lao Bao<\/span><\/label><\/fieldset><\/details>\r\n\t\t\t\t<details class=\"tvr-filter-section\"><summary class=\"tvr-filter-section-summary\">\u0422\u0438\u043f \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0430<\/summary><fieldset class=\"tvr-filter-options\"><legend class=\"screen-reader-text\">\u0422\u0438\u043f \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0430<\/legend><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_transport_type[]\" value=\"car\" ><span>\u041c\u0430\u0448\u0438\u043d\u0430<\/span><\/label><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_transport_type[]\" value=\"sleeper_bus\" ><span>\u0421\u043b\u0438\u043f\u0431\u0430\u0441<\/span><\/label><\/fieldset><\/details>\r\n\t\t\t\t<details class=\"tvr-filter-section\"><summary class=\"tvr-filter-section-summary\">\u0412\u0438\u0437\u0430 \u0438\u043b\u0438 \u0448\u0442\u0430\u043c\u043f<\/summary><fieldset class=\"tvr-filter-options\"><legend class=\"screen-reader-text\">\u0412\u0438\u0437\u0430 \u0438\u043b\u0438 \u0448\u0442\u0430\u043c\u043f<\/legend><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_border_result[]\" value=\"visa\" ><span>\u0412\u0438\u0437\u0430<\/span><\/label><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_border_result[]\" value=\"stamp\" ><span>\u0428\u0442\u0430\u043c\u043f<\/span><\/label><\/fieldset><\/details>\r\n\t\t\t\t<details class=\"tvr-filter-section\"><summary class=\"tvr-filter-section-summary\">\u0412\u044b\u0435\u0437\u0434<\/summary><fieldset class=\"tvr-filter-options\"><legend class=\"screen-reader-text\">\u0412\u044b\u0435\u0437\u0434<\/legend><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_departure_period[]\" value=\"night\" ><span>\u041d\u043e\u0447\u043d\u043e\u0439<\/span><\/label><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_departure_period[]\" value=\"morning\" ><span>\u0423\u0442\u0440\u0435\u043d\u043d\u0438\u0439<\/span><\/label><label class=\"tvr-filter-option\"><input type=\"checkbox\" name=\"tvr_departure_period[]\" value=\"flexible\" ><span>\u0413\u0438\u0431\u043a\u0438\u0439<\/span><\/label><\/fieldset><\/details>\r\n\t\t\t\t<button class=\"tvr-result-clear\" type=\"button\">\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c \u0444\u0438\u043b\u044c\u0442\u0440\u044b<\/button>\r\n\t\t\t<\/form>\r\n\t\t\t<div class=\"tvr-results-layout\">\r\n\t\t\t\t<div class=\"tvr-list is-loading\" id=\"tvr-trip-list\" aria-busy=\"true\"><span class=\"tvr-catalog-loading\" role=\"status\">\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043f\u043e\u0435\u0437\u0434\u043e\u043a\u2026<\/span><div class=\"tvr-card tvr-card-skeleton\" aria-hidden=\"true\"><span class=\"tvr-card-skeleton__media\"><\/span><span class=\"tvr-card-skeleton__body\"><\/span><\/div><div class=\"tvr-card tvr-card-skeleton\" aria-hidden=\"true\"><span class=\"tvr-card-skeleton__media\"><\/span><span class=\"tvr-card-skeleton__body\"><\/span><\/div><div class=\"tvr-card tvr-card-skeleton\" aria-hidden=\"true\"><span class=\"tvr-card-skeleton__media\"><\/span><span class=\"tvr-card-skeleton__body\"><\/span><\/div><div class=\"tvr-card tvr-card-skeleton\" aria-hidden=\"true\"><span class=\"tvr-card-skeleton__media\"><\/span><span class=\"tvr-card-skeleton__body\"><\/span><\/div><div class=\"tvr-card tvr-card-skeleton\" aria-hidden=\"true\"><span class=\"tvr-card-skeleton__media\"><\/span><span class=\"tvr-card-skeleton__body\"><\/span><\/div><\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<\/div><script>window.tripandVisaRunConfig={\"locale\":\"ru_RU\",\"datetime_locale\":\"ru-RU\",\"ajax_url\":\"https:\\\/\\\/tripand.app\\\/wp-admin\\\/admin-ajax.php?language=ru\\u0026tvr_language=ru\\u0026tripand_lang=ru\",\"ai_nonce\":\"db53a2f808\",\"visa_rules\":{\"version\":1,\"updated_at\":\"2026-08-16\",\"countries\":{\"laos\":{\"label\":\"\u041b\u0430\u043e\u0441\",\"exemptions\":{\"Russia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Belarus\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Brunei\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Luxembourg\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Cambodia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Malaysia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Philippines\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Switzerland\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Thailand\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Indonesia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Japan\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Mongolia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Myanmar\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Singapore\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"South Korea\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\"},\"visa_price\":\"\u0426\u0435\u043d\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u0442 \u043e\u0442 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u0442\u0432\u0430\",\"visa_method\":\"\u041d\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0435 \u0438\u043b\u0438 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0447\u0435\u0440\u0435\u0437 \u0432\u0438\u0437\u043e\u0432\u043e\u0433\u043e \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u0430\",\"source_url\":\"https:\\\/\\\/laoevisa.gov.la\\\/info\"},\"vietnam\":{\"label\":\"\u0412\u044c\u0435\u0442\u043d\u0430\u043c\",\"exemptions\":{\"Chile\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 90 \u0434\u043d\u0435\u0439\",\"Panama\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 90 \u0434\u043d\u0435\u0439\",\"Belgium\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Bulgaria\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Hungary\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Germany\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Denmark\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Spain\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Italy\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Luxembourg\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Netherlands\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Norway\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Poland\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"South Korea\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Russia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Romania\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Slovakia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Slovenia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"United Kingdom\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Finland\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"France\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Croatia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Czechia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Switzerland\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Sweden\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Japan\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 45 \u0434\u043d\u0435\u0439\",\"Belarus\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Cambodia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Indonesia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Kazakhstan\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Kyrgyzstan\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Laos\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Malaysia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Mongolia\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Myanmar\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Singapore\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Thailand\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 30 \u0434\u043d\u0435\u0439\",\"Philippines\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 21 \u0434\u043d\u0435\u0439\",\"Brunei\":\"\u0411\u0435\u0437 \u0432\u0438\u0437\u044b \u0434\u043e 14 \u0434\u043d\u0435\u0439\"},\"visa_price\":\"\u041e\u0442 25 USD\",\"visa_method\":\"\u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u0442\u0443\u0440\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0432\u0438\u0437\u0430\",\"source_url\":\"https:\\\/\\\/evisa.gov.vn\\\/\"},\"cambodia\":{\"label\":\"\u041a\u0430\u043c\u0431\u043e\u0434\u0436\u0430\",\"exemptions\":{\"Laos\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Malaysia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Philippines\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Singapore\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Vietnam\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Thailand\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Indonesia\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Brunei\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"Myanmar\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\"},\"visa_price\":\"30 USD\",\"visa_method\":\"\u0422\u0443\u0440\u0438\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f eVisa, \u043e\u043a\u043e\u043b\u043e 3 \u0440\u0430\u0431\u043e\u0447\u0438\u0445 \u0434\u043d\u0435\u0439\",\"source_url\":\"https:\\\/\\\/www.evisa.gov.kh\\\/information\\\/visa_type\\\/4?vcode=134\"}}},\"pickup_map\":{\"version\":\"2026.09.04.1\",\"archives\":[{\"id\":\"vietnam-overview\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.04.1\\\/tripand-light-vietnam-overview.pmtiles\",\"bounds\":[102,7.2,115,23.5],\"bytes\":29074325,\"sha256\":\"c8ed2df4ec3a2cf49d333ee152a95c151fdff7175004cf7928ae5587cb5d4fb9\"}],\"overview_archive\":{\"id\":\"vietnam-overview\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.04.1\\\/tripand-light-vietnam-overview.pmtiles\",\"bounds\":[102,7.2,115,23.5],\"tile_min_zoom\":6,\"tile_max_zoom\":10,\"display_min_zoom\":6,\"display_max_zoom\":17,\"bytes\":29074325,\"sha256\":\"c8ed2df4ec3a2cf49d333ee152a95c151fdff7175004cf7928ae5587cb5d4fb9\"},\"regional_archives\":[{\"id\":\"north\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.03.2\\\/tripand-light-north.pmtiles\",\"bounds\":[102,19.5,109,23.5],\"tile_min_zoom\":11,\"tile_max_zoom\":15,\"display_min_zoom\":11,\"display_max_zoom\":17,\"bytes\":284425785,\"sha256\":\"a4cd4446e9092f577348434a1f6a4b75f69a9a27cfc27b45a159c8a349423a4b\"},{\"id\":\"north-central\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.03.2\\\/tripand-light-north-central.pmtiles\",\"bounds\":[103,16.5,109,20.5],\"tile_min_zoom\":11,\"tile_max_zoom\":15,\"display_min_zoom\":11,\"display_max_zoom\":17,\"bytes\":130178476,\"sha256\":\"758369692cb9292ff9f1d677b97039e883d3bda52780169706bb5c56fe238813\"},{\"id\":\"south-central\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.03.2\\\/tripand-light-south-central.pmtiles\",\"bounds\":[105.4,12,110.2,17.5],\"tile_min_zoom\":11,\"tile_max_zoom\":15,\"display_min_zoom\":11,\"display_max_zoom\":17,\"bytes\":154348205,\"sha256\":\"89fa39763c7608e1bec227940cc7bdb1f247a78460f73527e63137607a6298f7\"},{\"id\":\"south\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.03.2\\\/tripand-light-south.pmtiles\",\"bounds\":[102.5,7.2,115,13],\"tile_min_zoom\":11,\"tile_max_zoom\":15,\"display_min_zoom\":11,\"display_max_zoom\":17,\"bytes\":211479091,\"sha256\":\"2049537c169d76d34d45e491170fda48a7469e68d844d6da211b19024ed8a668\"}],\"detail_archives\":[{\"id\":\"lao-bao-detail\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/details\\\/2026.09.03.2\\\/tripand-light-lao-bao-detail.pmtiles\",\"bounds\":[106.439,16.4869,106.72,16.7565],\"tile_min_zoom\":11,\"tile_max_zoom\":15,\"display_min_zoom\":11,\"display_max_zoom\":17,\"bytes\":1273599,\"sha256\":\"8731396fa50d7dd4ae6117912827a002a5b85dc050aaf155d17081f610f80c45\"}],\"fallback_archives\":[{\"id\":\"north\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.02.1\\\/tripand-light-north.pmtiles\",\"bounds\":[102,19.5,109,23.5],\"bytes\":215205270,\"sha256\":\"03650f9af8d984175ad69bb184dd7261d87d91250dc1f14e09f58a765ded0db9\"},{\"id\":\"north-central\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.02.1\\\/tripand-light-north-central.pmtiles\",\"bounds\":[103,16.5,109,19.5],\"bytes\":46470512,\"sha256\":\"b15ccd7c5777332aa0fa0a837cff5f226f32efd1f1b6c920acf0cf36b536f761\"},{\"id\":\"south-central\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.02.1\\\/tripand-light-south-central.pmtiles\",\"bounds\":[105.4,12,110.2,16.5],\"bytes\":98564451,\"sha256\":\"907202e3ae625dd36eb49199ed67ca8b786749d0ea6ca4eae25ffba87cc46e97\"},{\"id\":\"south\",\"url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.02.1\\\/tripand-light-south.pmtiles\",\"bounds\":[102.5,7.2,115,12],\"bytes\":138483354,\"sha256\":\"05a1b97a391988b55bca13c799919397d471d968ed0f3f1881f686ad8d0b847c\"}],\"archive_url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.04.1\\\/tripand-light-vietnam-overview.pmtiles\",\"fallback_archive_url\":\"\",\"glyphs_url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.04.1\\\/fonts\\\/{fontstack}\\\/{range}.pbf\",\"marker_url\":\"https:\\\/\\\/maps.tripand.app\\\/pickup\\\/2026.09.04.1\\\/icons\\\/pickup-marker.svg\",\"min_zoom\":6,\"max_zoom\":17,\"sha256\":\"\",\"regions\":[{\"id\":\"vietnam\",\"name\":\"Vietnam\",\"bounds\":[102,7.2,115,23.5],\"center\":[108.2022,16.0544],\"initial_zoom\":12}],\"route_overview\":{\"min_zoom\":6,\"reset_max_zoom\":10,\"bounds_padding_degrees\":0.18},\"place_labels\":[{\"coordinates\":[105.8342,21.0278],\"name\":\"Hanoi\",\"name_ru\":\"\u0425\u0430\u043d\u043e\u0439\",\"name_vi\":\"H\u00e0 N\u1ed9i\"},{\"coordinates\":[107.5909,16.4637],\"name\":\"Hue\",\"name_ru\":\"\u0425\u044e\u044d\",\"name_vi\":\"Hu\u1ebf\"},{\"coordinates\":[108.2022,16.0544],\"name\":\"Da Nang\",\"name_ru\":\"\u0414\u0430\u043d\u0430\u043d\u0433\",\"name_vi\":\"\u0110\u00e0 N\u1eb5ng\"},{\"coordinates\":[108.328,15.88],\"name\":\"Hoi An\",\"name_ru\":\"\u0425\u043e\u0439\u0430\u043d\",\"name_vi\":\"H\u1ed9i An\"},{\"coordinates\":[106.599,16.627],\"name\":\"Lao Bao\",\"name_ru\":\"Lao Bao\",\"name_vi\":\"Lao B\u1ea3o\"},{\"coordinates\":[109.1967,12.2388],\"name\":\"Nha Trang\",\"name_ru\":\"\u041d\u044f\u0447\u0430\u043d\u0433\",\"name_vi\":\"Nha Trang\"},{\"coordinates\":[108.4583,11.9404],\"name\":\"Da Lat\",\"name_ru\":\"\u0414\u0430\u043b\u0430\u0442\",\"name_vi\":\"\u0110\u00e0 L\u1ea1t\"},{\"coordinates\":[106.6297,10.8231],\"name\":\"Ho Chi Minh City\",\"name_ru\":\"\u0425\u043e\u0448\u0438\u043c\u0438\u043d\",\"name_vi\":\"Th\u00e0nh ph\u1ed1 H\u1ed3 Ch\u00ed Minh\"}],\"timeout_ms\":10000,\"assets\":{\"maplibre_js\":\"https:\\\/\\\/tripand.app\\\/wp-content\\\/plugins\\\/tripand-visa-run-v9\\\/assets\\\/pickup-map\\\/maplibre-gl.js\",\"maplibre_css\":\"https:\\\/\\\/tripand.app\\\/wp-content\\\/plugins\\\/tripand-visa-run-v9\\\/assets\\\/pickup-map\\\/maplibre-gl.css\",\"pmtiles_js\":\"https:\\\/\\\/tripand.app\\\/wp-content\\\/plugins\\\/tripand-visa-run-v9\\\/assets\\\/pickup-map\\\/pmtiles.js\",\"basemaps_js\":\"https:\\\/\\\/tripand.app\\\/wp-content\\\/plugins\\\/tripand-visa-run-v9\\\/assets\\\/pickup-map\\\/protomaps-basemaps.js\"}},\"strings\":{\"passengers\":\"\u041f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432\",\"seats\":\"\u041c\u0435\u0441\u0442\u0430\",\"extras\":\"\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u043b\u0443\u0433\u0438\",\"visa\":\"\u0412\u0438\u0437\u0430\",\"visa_cost\":\"\u0412\u0438\u0437\u0430 \u0447\u0435\u0440\u0435\u0437 Tripand\",\"visas\":\"\u0412\u0438\u0437\u044b\",\"price_per_person\":\"\u0426\u0435\u043d\u0430 \u0437\u0430 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430\",\"visa_or_stamp\":\"\u0412\u0438\u0437\u0430 \u0438\u043b\u0438 \u0448\u0442\u0430\u043c\u043f\",\"visa_own\":\"\u041e\u0444\u043e\u0440\u043c\u043b\u044e \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e\",\"visa_tripand\":\"\u0417\u0430\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 Tripand\",\"passport_file_error\":\"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u043e\u0442\u043e \u043f\u0430\u0441\u043f\u043e\u0440\u0442\u0430 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 JPEG, PNG, WebP \u0438\u043b\u0438 PDF \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0434\u043e 10 \u041c\u0411.\",\"portrait_file_error\":\"\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0435 \u0444\u043e\u0442\u043e 3\u00d74 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 JPEG, PNG, WebP \u0438\u043b\u0438 PDF \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u043c \u0434\u043e 10 \u041c\u0411.\",\"review\":\"\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430\",\"auth\":\"\u0412\u043e\u0439\u0434\u0438\u0442\u0435\",\"open_photo\":\"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0444\u043e\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044e\",\"close\":\"\u0417\u0430\u043a\u0440\u044b\u0442\u044c\",\"passenger\":\"\u041f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\",\"passenger_incomplete\":\"\u0417\u0430\u043f\u043e\u043b\u043d\u0438\u0442\u0435 \u0434\u0430\u043d\u043d\u044b\u0435\",\"stamp\":\"\u0428\u0442\u0430\u043c\u043f\",\"details\":\"\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435\",\"passenger_short\":\"\u041f\",\"reset\":\"\u0421\u0431\u0440\u043e\u0441\u0438\u0442\u044c\",\"seat_number\":\"\u041c\u0435\u0441\u0442\u043e %s\",\"seat_on_boarding\":\"\u0410\u0432\u0442\u043e\u0432\u044b\u0431\u043e\u0440\",\"seat_not_selected\":\"\u041c\u0435\u0441\u0442\u043e \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043e\",\"choose_seat_for_every_passenger\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043c\u0435\u0441\u0442\u043e \u0438\u043b\u0438 \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442 \u043c\u0435\u0441\u0442 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430.\",\"shares_parent_seat\":\"\u0411\u0435\u0437 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0441 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u043c\",\"assign_on_boarding\":\"\u0410\u0432\u0442\u043e\u0432\u044b\u0431\u043e\u0440\",\"without_seat_selection\":\"\u0411\u0435\u0437 \u0432\u044b\u0431\u043e\u0440\u0430 \u043c\u0435\u0441\u0442\",\"without_extra_options\":\"\u0411\u0435\u0437 \u0434\u043e\u043f \u043e\u043f\u0446\u0438\u0439\",\"citizenship_value\":\"\u0413\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u0442\u0432\u043e: %s\",\"adult\":\"\u0412\u0437\u0440\u043e\u0441\u043b\u044b\u0439\",\"child\":\"\u0420\u0435\u0431\u0451\u043d\u043e\u043a\",\"pickup_address_value\":\"\u0410\u0434\u0440\u0435\u0441: %s\",\"pickup_comment_value\":\"Pickup comment: %s\",\"select_citizenship\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u0442\u0432\u043e \u0438\u0437 \u0441\u043f\u0438\u0441\u043a\u0430.\",\"choose_citizenship\":\"Choose citizenship\",\"citizenship_search\":\"\u041d\u0430\u0439\u0442\u0438 \u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0441\u0442\u0432\u043e\",\"visa_required\":\"\u041d\u0443\u0436\u043d\u0430 \u0432\u0438\u0437\u0430\",\"visa_not_required\":\"\u0412\u0438\u0437\u0430 \u043d\u0435 \u043d\u0443\u0436\u043d\u0430\",\"other_countries\":\"\u0414\u0440\u0443\u0433\u0438\u0435 \u0441\u0442\u0440\u0430\u043d\u044b\",\"customer\":\"\u0417\u0430\u043a\u0430\u0437\u0447\u0438\u043a\",\"trip\":\"\u041f\u043e\u0435\u0437\u0434\u043a\u0430\",\"no_extras\":\"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043e\",\"sending\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u2026\",\"booking_processing_title\":\"\u041e\u0444\u043e\u0440\u043c\u043b\u044f\u0435\u043c \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\",\"checking_availability\":\"\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u043c\u0435\u0441\u0442\u0430\",\"booking_in_progress\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u0443\u0435\u043c\",\"almost_ready\":\"\u041f\u043e\u0447\u0442\u0438 \u0432\u0441\u0451 \u0433\u043e\u0442\u043e\u0432\u043e\",\"booking_error\":\"\u041e\u0448\u0438\u0431\u043a\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\",\"use_account_email\":\"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c email \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0430: %s\",\"booking_limit_reached\":\"\u0412\u044b \u0434\u043e\u0441\u0442\u0438\u0433\u043b\u0438 \u043b\u0438\u043c\u0438\u0442\u0430 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0431\u0440\u043e\u043d\u0435\u0439: 2. \u041e\u0442\u043c\u0435\u043d\u0438\u0442\u0435 \u043e\u0434\u043d\u0443 \u0438\u0437 \u043d\u0438\u0445, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u0443\u044e.\",\"passenger_count_mismatch\":\"\u0414\u0430\u043d\u043d\u044b\u0435 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432 \u043d\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u043c\u0443 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443. \u0412\u0435\u0440\u043d\u0438\u0442\u0435\u0441\u044c \u043a \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u0448\u0430\u0433\u0443 \u0438 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430.\",\"stale_booking_client\":\"\u0424\u043e\u0440\u043c\u0430 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u0431\u043d\u043e\u0432\u0438\u043b\u0430\u0441\u044c. \u0427\u0435\u0440\u043d\u043e\u0432\u0438\u043a \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d. \u041e\u0442\u043a\u0440\u043e\u0439\u0442\u0435 Mini App \u0437\u0430\u043d\u043e\u0432\u043e \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435.\",\"route\":\"\u041c\u0430\u0440\u0448\u0440\u0443\u0442\",\"transport\":\"\u0422\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\",\"departure\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\",\"from\":\"\u041e\u0442\u043a\u0443\u0434\u0430\",\"to\":\"\u041a\u0443\u0434\u0430\",\"price_calculation\":\"\u0420\u0430\u0441\u0447\u0451\u0442 \u0441\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u0438\",\"cost_summary\":\"\u0421\u0442\u043e\u0438\u043c\u043e\u0441\u0442\u044c\",\"ticket_cost\":\"\u0411\u0438\u043b\u0435\u0442\u044b\",\"tickets\":\"\u0411\u0438\u043b\u0435\u0442\u044b\",\"passenger_count\":\"Passengers\",\"seat_selection_fee\":\"\u041c\u0435\u0441\u0442\u0430\",\"extras_short\":\"\u0414\u043e\u043f. \u0443\u0441\u043b\u0443\u0433\u0438\",\"total\":\"\u0418\u0442\u043e\u0433\u043e\",\"grand_total\":\"\u041e\u0431\u0449\u0438\u0439 \u0438\u0442\u043e\u0433\",\"price_pending\":\"\u0426\u0435\u043d\u0430 \u0443\u0442\u043e\u0447\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0441\u0442\u0430\",\"total_price\":\"\u0418\u0442\u043e\u0433\u043e\",\"connection_error\":\"\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"contact_method_required\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 WhatsApp \u0438\u043b\u0438 Telegram \u043a\u0430\u043a \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431 \u0441\u0432\u044f\u0437\u0438.\",\"contact_phone_invalid\":\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0441 \u043a\u043e\u0434\u043e\u043c \u0441\u0442\u0440\u0430\u043d\u044b.\",\"contact_confirmation_required\":\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u0435\u0440\u0435\u0434 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\u043c.\",\"cancel_ticket_confirm\":\"\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0431\u0438\u043b\u0435\u0442 \u0438 \u043e\u0441\u0432\u043e\u0431\u043e\u0434\u0438\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0441\u0442\u0430?\",\"cancelling_ticket\":\"\u041e\u0442\u043c\u0435\u043d\u0430\u2026\",\"no_active_bookings\":\"\u0423 \u0432\u0430\u0441 \u043d\u0435\u0442 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0439\",\"telegram_offer\":\"Receive your ticket in a private Telegram message.\",\"telegram_send\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0432 Telegram\",\"telegram_sending\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0431\u0438\u043b\u0435\u0442\u2026\",\"telegram_error\":\"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0432 Telegram. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"telegram_retry\":\"\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0443 \u0432 Telegram\",\"telegram_delivery_failed_booking\":\"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0432 Telegram. \u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e; \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"telegram_ticket_sent\":\"\u0411\u0438\u043b\u0435\u0442 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u0432 Telegram.\",\"telegram_connect\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c Telegram\",\"identity_link_opened\":\"\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0432 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435.\",\"identity_link_incomplete\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u043e. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"identity_link_checking\":\"\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c \u0441\u0435\u0441\u0441\u0438\u044e\u2026\",\"identity_session_unavailable\":\"\u0421\u0435\u0441\u0441\u0438\u044f \u0438\u043b\u0438 \u0430\u043a\u043a\u0430\u0443\u043d\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u2014 \u0432\u043e\u0439\u0434\u0438\u0442\u0435 \u0447\u0435\u0440\u0435\u0437 Telegram \u0441\u043d\u043e\u0432\u0430.\",\"identity_telegram_signin\":\"\u0412\u043e\u0439\u0442\u0438 \u0447\u0435\u0440\u0435\u0437 Telegram \u0441\u043d\u043e\u0432\u0430\",\"identity_link_cancelled\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 Telegram \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e. \u0412\u0430\u0448\u0435 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u044b\u043c.\",\"identity_link_conflict\":\"\u042d\u0442\u043e\u0442 Telegram \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u0434\u0440\u0443\u0433\u043e\u043c\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443 Tripand. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u043e\u0432 \u0432 \u043e\u0442\u043a\u0440\u044b\u0432\u0448\u0435\u043c\u0441\u044f \u043e\u043a\u043d\u0435.\",\"booking_confirmed\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e\",\"ticket_safe_account\":\"\u0411\u0438\u043b\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d \u0432 \u0432\u0430\u0448\u0435\u043c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435.\",\"payment\":\"Payment\",\"payment_total\":\"\u0418\u0442\u043e\u0433\u043e\",\"payment_received\":\"Received\",\"payment_remaining\":\"Remaining\",\"payment_deposit\":\"Pay deposit\",\"payment_full\":\"Pay in full\",\"payment_bank_details\":\"Bank transfer details\",\"payment_account\":\"Account number\",\"payment_holder\":\"Account holder\",\"payment_description\":\"Transfer description\",\"payment_qr_unavailable\":\"QR is unavailable. Use the bank details below.\",\"payment_price_pending\":\"Payment will be available after the final price is confirmed.\",\"payment_closed\":\"Online payment for this booking is closed.\",\"notification_hub_title\":\"\u041d\u0435 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u0435 \u043f\u043e\u0435\u0437\u0434\u043a\u0443\",\"notification_hub_intro\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f \u0432 \u0443\u0434\u043e\u0431\u043d\u044b\u0445 \u0434\u043b\u044f \u0432\u0430\u0441 \u043a\u0430\u043d\u0430\u043b\u0430\u0445.\",\"notification_channels_connected\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e: {count} \u0438\u0437 {total}\",\"notification_channel_expand\":\"\u0420\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\",\"notification_channel_collapse\":\"\u0421\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0441\u043f\u043e\u0441\u043e\u0431 \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f\",\"channel_connected\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e\",\"channel_not_connected\":\"\u041d\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e\",\"ticket\":\"\u0411\u0438\u043b\u0435\u0442\",\"booking_reference\":\"\u041d\u043e\u043c\u0435\u0440 \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f\",\"copy_reference\":\"\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c\",\"reference_copied\":\"\u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043e\",\"view_ticket\":\"\u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u043a\u0430\u0431\u0438\u043d\u0435\u0442\u0435\",\"open_ticket\":\"\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0431\u0438\u043b\u0435\u0442\",\"telegram_notifications\":\"\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u0432 Telegram\",\"telegram_channel\":\"Telegram\",\"telegram_notifications_prompt\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Telegram, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0431\u0438\u043b\u0435\u0442 \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0438.\",\"phone_reminder\":\"\u0422\u0435\u043b\u0435\u0444\u043e\u043d \u0434\u043b\u044f \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u044f\",\"phone_reminder_prompt\":\"\u0412\u0432\u0435\u0434\u0438 \u0441\u0432\u043e\u0439 \u043d\u043e\u043c\u0435\u0440, \u0447\u0442\u043e\u0431\u044b \u043c\u044b \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u043b\u0438, \u0435\u0441\u043b\u0438 \u0442\u044b \u043f\u0440\u043e\u0441\u043f\u0438\u0448\u044c.\",\"phone_save\":\"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u043e\u043c\u0435\u0440\",\"phone_saved\":\"\u041d\u043e\u043c\u0435\u0440 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\",\"phone_change\":\"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c\",\"trip_information\":\"\u0421\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\",\"what_to_bring\":\"\u0427\u0442\u043e \u0432\u0437\u044f\u0442\u044c \u0441 \u0441\u043e\u0431\u043e\u0439\",\"meeting_points\":\"\u041c\u0435\u0441\u0442\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0438\",\"other_useful_information\":\"\u0414\u0440\u0443\u0433\u0430\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\",\"information_coming_soon\":\"\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0430 \u043f\u043e\u0437\u0436\u0435.\",\"ticket_delivery\":\"\u0413\u0434\u0435 \u043d\u0430\u0439\u0442\u0438 \u0431\u0438\u043b\u0435\u0442\",\"ticket_account_email_sent\":\"\u0411\u0438\u043b\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u043a\u0430\u0431\u0438\u043d\u0435\u0442\u0435 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443.\",\"ticket_account_email_failed\":\"\u0411\u0438\u043b\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u043b\u0438\u0447\u043d\u043e\u043c \u043a\u0430\u0431\u0438\u043d\u0435\u0442\u0435, \u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u043e \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.\",\"ticket_account_only\":\"\u0411\u0438\u043b\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0432 \u0432\u0430\u0448\u0435\u043c \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435.\",\"google_email_copy\":\"\u041a\u043e\u043f\u0438\u044f \u043d\u0430 email \u0447\u0435\u0440\u0435\u0437 Google\",\"google_email_connected\":\"\u041f\u043e\u0447\u0442\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0430 \u043a \u0432\u0430\u0448\u0435\u043c\u0443 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0443.\",\"google_email_resend\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u043e \u0435\u0449\u0451 \u0440\u0430\u0437\",\"google_email_resending\":\"\u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0438\u0441\u044c\u043c\u043e\u2026\",\"google_email_resent\":\"\u0411\u0438\u043b\u0435\u0442 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443.\",\"google_email_resend_failed\":\"\u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u0438\u0441\u044c\u043c\u043e. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"google_email_prompt\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Google, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043f\u0438\u044e \u0431\u0438\u043b\u0435\u0442\u0430 \u043d\u0430 email.\",\"google_email_connect\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c Google \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043f\u0438\u044e \u043d\u0430 email\",\"google_email_safe\":\"\u0411\u0438\u043b\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d \u0432 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435 \u0438 Telegram. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Google, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u0438\u0442\u0435 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u043f\u0438\u044e \u043d\u0430 email.\",\"google_calendar_title\":\"\u041d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0435 \u0432 Google \u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u0435\",\"google_calendar_ready\":\"\u0413\u043e\u0442\u043e\u0432\u043e \u043a \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044e\",\"google_calendar_prompt\":\"\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u043e\u0435\u0437\u0434\u043a\u0443 \u0432 Google \u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u043d\u0438\u0435 \u0437\u0430 \u0447\u0430\u0441 \u0434\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f.\",\"google_calendar_connect_prompt\":\"\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Google. \u041c\u044b \u043f\u043e\u043b\u0443\u0447\u0438\u043c \u0432\u0430\u0448\u0443 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u0443\u044e \u043f\u043e\u0447\u0442\u0443, \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u0432\u044b \u0441\u043c\u043e\u0436\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0435\u0437\u0434\u043a\u0443 \u0432 \u043a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c.\",\"google_calendar_add\":\"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 Google \u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c\",\"google_calendar_added\":\"Google \u041a\u0430\u043b\u0435\u043d\u0434\u0430\u0440\u044c \u043e\u0442\u043a\u0440\u044b\u0442 \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u043f\u043e\u0435\u0437\u0434\u043a\u0438.\",\"google_calendar_connect\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c Google \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c\",\"email_sent_connect_telegram\":\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0435 Telegram, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e \u0431\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u0442\u0430\u043c.\",\"connect_telegram_notifications\":\"\u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c Telegram \u0434\u043b\u044f \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0439\",\"notifications_sending\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e. \u041e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u0438 \u0432 Telegram\u2026\",\"notifications_sent\":\"\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443 \u0438 \u0432 Telegram.\",\"telegram_sent_email_failed\":\"\u0423\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u0432 Telegram, \u043d\u043e \u043f\u0438\u0441\u044c\u043c\u043e \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.\",\"email_sent_telegram_failed\":\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443. \u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0443\u0432\u0435\u0434\u043e\u043c\u043b\u0435\u043d\u0438\u0435 \u0432 Telegram \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c; \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"booking_confirmed_email_failed\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e, \u043d\u043e \u043f\u0438\u0441\u044c\u043c\u043e \u043d\u0430 \u043f\u043e\u0447\u0442\u0443 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c.\",\"booking_confirmed_telegram_failed\":\"\u0411\u0440\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u043e \u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u0432 \u0430\u043a\u043a\u0430\u0443\u043d\u0442\u0435. \u041d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0431\u0438\u043b\u0435\u0442 \u0432 Telegram; \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"confirmation_email_sent\":\"\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u0432\u0430\u0448\u0443 \u043f\u043e\u0447\u0442\u0443.\",\"ai_you\":\"\u0412\u044b\",\"ai_welcome\":\"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435! \u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u043c\u0435\u043d\u044f \u043e \u0432\u0438\u0437\u0430\u0440\u0430\u043d\u0430\u0445, \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0438 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 \u043f\u043e\u0435\u0437\u0434\u043a\u0438.\",\"ai_thinking\":\"Tripand AI is thinking\u2026\",\"ai_unavailable\":\"Tripand AI \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"ai_retry\":\"\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0435\u0449\u0451 \u0440\u0430\u0437\",\"ai_connection_error\":\"\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"ai_show_trips\":\"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0435\u0437\u0434\u043a\u0438\",\"choose_date\":\"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0434\u0430\u0442\u0443\",\"choose_time\":\"\u0412\u044b\u0431\u0440\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u044f\",\"previous_month\":\"\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u043c\u0435\u0441\u044f\u0446\",\"next_month\":\"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043c\u0435\u0441\u044f\u0446\",\"date_invalid\":\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0443\u044e \u0434\u0430\u0442\u0443.\",\"time_invalid\":\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.\",\"address_for_all\":\"\u0410\u0434\u0440\u0435\u0441 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u043e\u0432\",\"boarding\":\"\u041f\u043e\u0441\u0430\u0434\u043a\u0430\",\"choose_location\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u043b\u0438 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435\",\"choose_pickup_passenger\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u0430\u0441\u0441\u0430\u0436\u0438\u0440\u0430 \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0430\u0434\u0440\u0435\u0441\u0430.\",\"choose_valid_pickup\":\"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441 \u0432 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u0445 \u043f\u043e\u0438\u0441\u043a\u0430 \u0438\u043b\u0438 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435.\",\"enter_pickup_address\":\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u043f\u043e\u0441\u0430\u0434\u043a\u0438.\",\"location_selected\":\"\u041c\u0435\u0441\u0442\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043e\",\"map_loading\":\"\u0417\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u043a\u0430\u0440\u0442\u0443\u2026\",\"map_error\":\"\u041a\u0430\u0440\u0442\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.\",\"map_retry\":\"\u041f\u043e\u0432\u0442\u043e\u0440\u0438\u0442\u044c\",\"map_outside_coverage\":\"\u0410\u0434\u0440\u0435\u0441 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u043d\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u044b. \u0415\u0433\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c.\",\"nothing_found\":\"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e. \u0423\u0442\u043e\u0447\u043d\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u0438\u043b\u0438 \u0432\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u043e\u0447\u043a\u0443 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435.\",\"phone_invalid\":\"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u043d\u043e\u043c\u0435\u0440 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0430 \u0441 \u043a\u043e\u0434\u043e\u043c \u0441\u0442\u0440\u0430\u043d\u044b.\",\"pickup_address\":\"\u0410\u0434\u0440\u0435\u0441 \u043f\u043e\u0441\u0430\u0434\u043a\u0438\",\"pickup_addresses\":\"\u0410\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0441\u0430\u0434\u043a\u0438\",\"selected_point\":\"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u0430\u044f \u0442\u043e\u0447\u043a\u0430\",\"searching\":\"\u041f\u043e\u0438\u0441\u043a\u2026\"}};<\/script><script id=\"tripand-visarun-js\" data-noptimize=\"1\" data-cfasync=\"false\">function tripandVisaRunInit() {\r\n  var config = window.tripandVisaRunConfig || {};\r\n  var strings = config.strings || {};\r\n  function cleanTranslation(value) {\r\n    return String(value).replace(\/#!trpst#[^#]*#!trpen#\/g, '');\r\n  }\r\n  function tr(key, fallback) {\r\n    return cleanTranslation(Object.prototype.hasOwnProperty.call(strings, key) ? strings[key] : fallback);\r\n  }\r\n  function activeLocale() {\r\n    return String(document.documentElement.lang || config.locale || '').replace(\/_\/g, '-');\r\n  }\r\n  function dateTimeLocale() {\r\n    var locale = String(config.datetime_locale || activeLocale() || 'en-US').replace(\/_\/g, '-');\r\n    return ['ru-RU', 'en-US', 'vi-VN'].indexOf(locale) === -1 ? 'en-US' : locale;\r\n  }\r\n  function activeLanguage() {\r\n    return activeLocale().toLowerCase().split('-')[0] || 'en';\r\n  }\r\n  var aiTranslations = {\r\n    ru: {\r\n      ai_title: '\u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 Tripand AI \u2728',\r\n      ai_documents: '\u041a\u0430\u043a\u0438\u0435 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u044b \u043d\u0443\u0436\u043d\u044b?',\r\n      ai_border: '\u041a\u0430\u043a \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u0433\u0440\u0430\u043d\u0438\u0446\u044b?',\r\n      ai_bring: '\u0427\u0442\u043e \u0432\u0437\u044f\u0442\u044c \u0441 \u0441\u043e\u0431\u043e\u0439?',\r\n      ai_evisa: '\u041d\u0443\u0436\u043d\u0430 \u043b\u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u0432\u0438\u0437\u0430?',\r\n      ai_pickup: '\u0413\u0434\u0435 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043c\u0435\u0441\u0442\u0430 \u043f\u043e\u0441\u0430\u0434\u043a\u0438?',\r\n      ai_tomorrow: '\u041c\u043e\u0436\u043d\u043e \u043b\u0438 \u043f\u043e\u0435\u0445\u0430\u0442\u044c \u0437\u0430\u0432\u0442\u0440\u0430?',\r\n      ai_open: '\u041e\u0442\u043a\u0440\u044b\u0442\u044c \u0447\u0430\u0442 Tripand AI',\r\n      ai_close: '\u0417\u0430\u043a\u0440\u044b\u0442\u044c \u0447\u0430\u0442',\r\n      ai_ask: '\u0417\u0430\u0434\u0430\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441',\r\n      ai_placeholder: '\u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u043e\u0431 \u044d\u0442\u043e\u0439 \u043f\u043e\u0435\u0437\u0434\u043a\u0435',\r\n      ai_send: '\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c',\r\n      ai_disclaimer: 'Tripand AI \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u043f\u043e\u0435\u0437\u0434\u043a\u0435. \u0412\u0441\u0435\u0433\u0434\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0439\u0442\u0435 \u043c\u0438\u0433\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0434 \u043f\u043e\u0435\u0437\u0434\u043a\u043e\u0439.',\r\n      ai_you: '\u0412\u044b',\r\n      ai_welcome: '\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435! \u0421\u043f\u0440\u043e\u0441\u0438\u0442\u0435 \u043c\u0435\u043d\u044f \u043e \u0432\u0438\u0437\u0430\u0440\u0430\u043d\u0430\u0445, \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0438 \u0438 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 \u043f\u043e\u0435\u0437\u0434\u043a\u0438.',\r\n      ai_thinking: 'Tripand AI \u0434\u0443\u043c\u0430\u0435\u0442\u2026',\r\n      ai_unavailable: 'Tripand AI \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.',\r\n      ai_retry: '\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0435\u0449\u0451 \u0440\u0430\u0437',\r\n      ai_connection_error: '\u041e\u0448\u0438\u0431\u043a\u0430 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u041f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0435\u0449\u0451 \u0440\u0430\u0437.',\r\n      ai_show_trips: '\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u043e\u0435\u0437\u0434\u043a\u0438'\r\n    }\r\n  };\r\n  function aiTr(key, fallback) {\r\n    var localized = aiTranslations[activeLanguage()] || {};\r\n    return Object.prototype.hasOwnProperty.call(localized, key) ? localized[key] : tr(key, fallback);\r\n  }\r\n  function format(template, value) {\r\n    return String(template).replace('%s', value);\r\n  }\r\n\r\n  function initWideResultFilters() {\r\n    var media = window.matchMedia('(min-width: 1280px)');\r\n    function syncResultFilters(event) {\r\n      document.querySelectorAll('.tvr-filter-menu').forEach(function (menu) {\r\n        if (menu.closest('[data-tvr-home-embed]')) {\r\n          menu.open = false;\r\n          delete menu.dataset.wideManaged;\r\n          delete menu.dataset.preWideOpen;\r\n          return;\r\n        }\r\n        if (event.matches) {\r\n          if (menu.dataset.wideManaged !== '1') menu.dataset.preWideOpen = menu.open ? '1' : '0';\r\n          menu.dataset.wideManaged = '1';\r\n          menu.open = true;\r\n        } else if (menu.dataset.wideManaged === '1') {\r\n          menu.open = menu.dataset.preWideOpen === '1';\r\n          delete menu.dataset.wideManaged;\r\n          delete menu.dataset.preWideOpen;\r\n        }\r\n      });\r\n    }\r\n    syncResultFilters(media);\r\n    if (media.addEventListener) media.addEventListener('change', syncResultFilters);\r\n    else media.addListener(syncResultFilters);\r\n  }\r\n\r\n  initWideResultFilters();\r\n\r\n  function initHomeStickyOffsets() {\r\n    var media = window.matchMedia ? window.matchMedia('(min-width: 1000px)') : { matches: false };\r\n    document.querySelectorAll('.tvr-home-embed').forEach(function (embed) {\r\n      if (embed.dataset.stickyOffsetReady === '1') return;\r\n      var filter = embed.querySelector('.tvr-search-filter');\r\n      if (!filter) return;\r\n      embed.dataset.stickyOffsetReady = '1';\r\n\r\n      function syncStickyOffset() {\r\n        if (!media.matches) {\r\n          embed.style.removeProperty('--tvr-home-sticky-offset');\r\n          return;\r\n        }\r\n        var filterTop = parseFloat(window.getComputedStyle(filter).top) || 0;\r\n        var gap = parseFloat(window.getComputedStyle(embed).getPropertyValue('--tvr-home-sticky-gap')) || 0;\r\n        var bounds = filter.getBoundingClientRect();\r\n        var height = bounds.height || filter.offsetHeight || 0;\r\n        embed.style.setProperty('--tvr-home-sticky-offset', Math.ceil(filterTop + height + gap) + 'px');\r\n      }\r\n\r\n      if (window.ResizeObserver) {\r\n        var observer = new window.ResizeObserver(syncStickyOffset);\r\n        observer.observe(filter);\r\n      }\r\n      if (media.addEventListener) media.addEventListener('change', syncStickyOffset);\r\n      else if (media.addListener) media.addListener(syncStickyOffset);\r\n      window.addEventListener('resize', syncStickyOffset);\r\n      syncStickyOffset();\r\n    });\r\n  }\r\n\r\n  initHomeStickyOffsets();\r\n\r\n  var catalogHistoryInitialized = false;\r\n  var catalogRequestSequence = 0;\r\n\r\n  function catalogFragmentUrl(pageUrl) {\r\n    pageUrl = new URL(pageUrl, window.location.href);\r\n    var requestUrl = new URL(config.ajax_url || '\/wp-admin\/admin-ajax.php', window.location.origin);\r\n    requestUrl.searchParams.set('action', 'tvr_filter_catalog');\r\n    pageUrl.searchParams.forEach(function (value, key) {\r\n      if (key.indexOf('tvr_') !== 0) return;\r\n      if (\/\\[\\]$\/.test(key)) requestUrl.searchParams.append(key, value);\r\n      else requestUrl.searchParams.set(key, value);\r\n    });\r\n    if (window.matchMedia && window.matchMedia('(max-width: 999px)').matches) requestUrl.searchParams.set('tvr_mobile', '1');\r\n    return requestUrl;\r\n  }\r\n\r\n  function replaceLoadMore(nextDocument, list) {\r\n    var currentControl = document.querySelector('.tvr-load-more');\r\n    var nextControl = nextDocument.querySelector('.tvr-load-more');\r\n    if (currentControl) currentControl.remove();\r\n    if (nextControl) list.insertAdjacentElement('afterend', document.importNode(nextControl, true));\r\n  }\r\n\r\n  function isoFromLocalizedDate(value, separator, order) {\r\n    var parts = String(value).trim().split(separator);\r\n    if (parts.length !== 3 || !\/^\\d{1,2}$\/.test(parts[0]) || !\/^\\d{1,2}$\/.test(parts[1]) || !\/^\\d{4}$\/.test(parts[2])) return '';\r\n    var day = Number(order === 'mdy' ? parts[1] : parts[0]);\r\n    var month = Number(order === 'mdy' ? parts[0] : parts[1]);\r\n    var year = Number(parts[2]);\r\n    var date = new Date(Date.UTC(year, month - 1, day));\r\n    if (date.getUTCFullYear() !== year || date.getUTCMonth() !== month - 1 || date.getUTCDate() !== day) return '';\r\n    return String(year).padStart(4, '0') + '-' + String(month).padStart(2, '0') + '-' + String(day).padStart(2, '0');\r\n  }\r\n\r\n  function localizedDateFromIso(value, separator, order) {\r\n\tvar match = \/^(\\d{4})-(\\d{2})-(\\d{2})$\/.exec(String(value));\r\n\treturn match ? (order === 'mdy' ? match[2] + separator + match[3] : match[3] + separator + match[2]) + separator + match[1] : '';\r\n  }\r\n\r\n  function syncLocalizedDateControl(control) {\r\n    var hidden = control.querySelector('.tvr-date-value');\r\n    var display = control.querySelector('.tvr-date-display');\r\n    var picker = control.querySelector('.tvr-date-picker-input');\r\n\tvar separator = control.dataset.dateSeparator || '\/';\r\n\tvar order = control.dataset.dateOrder || 'dmy';\r\n    if (!hidden || !display || !picker) return;\r\n    picker.value = hidden.value;\r\n\tdisplay.value = localizedDateFromIso(hidden.value, separator, order);\r\n    display.setCustomValidity('');\r\n  }\r\n\r\n  function initLocalizedDates() {\r\n    document.querySelectorAll('.tvr-date-control').forEach(function (control) {\r\n      if (control.dataset.initialized === '1') return;\r\n      control.dataset.initialized = '1';\r\n      var hidden = control.querySelector('.tvr-date-value');\r\n      var display = control.querySelector('.tvr-date-display');\r\n      var picker = control.querySelector('.tvr-date-picker-input');\r\n      var button = control.querySelector('.tvr-date-picker-button');\r\n\t  var separator = control.dataset.dateSeparator || '\/';\r\n\t  var order = control.dataset.dateOrder || 'dmy';\r\n      var form = control.closest('form');\r\n      if (!hidden || !display || !picker || !button || !form) return;\r\n      var mobileCalendarQuery = window.matchMedia ? window.matchMedia('(max-width: 999px)') : null;\r\n      var coarsePointerQuery = window.matchMedia ? window.matchMedia('(pointer: coarse)') : null;\r\n      var telegramCalendar = \/(?:^|[?#&])tgWebApp(?:Data|Version|Platform|ThemeParams)=\/i.test(window.location.href)\r\n        || Boolean(window.Telegram && window.Telegram.WebApp);\r\n      try { telegramCalendar = telegramCalendar || sessionStorage.getItem('tripandTelegramWebApp') === '1'; } catch (error) {}\r\n\r\n      function useCalendarOnly() {\r\n        return telegramCalendar || Boolean(mobileCalendarQuery && mobileCalendarQuery.matches) || Boolean(coarsePointerQuery && coarsePointerQuery.matches);\r\n      }\r\n\r\n      function syncDateInteractionMode() {\r\n        var calendarOnly = useCalendarOnly();\r\n        display.readOnly = calendarOnly;\r\n        if (calendarOnly) {\r\n          display.setAttribute('aria-haspopup', 'dialog');\r\n          display.setAttribute('aria-expanded', calendar.hidden ? 'false' : 'true');\r\n        } else {\r\n          display.removeAttribute('aria-haspopup');\r\n          display.removeAttribute('aria-expanded');\r\n        }\r\n      }\r\n\r\n      var calendar = document.createElement('div');\r\n      calendar.className = 'tvr-calendar';\r\n      calendar.hidden = true;\r\n      calendar.setAttribute('role', 'dialog');\r\n      calendar.setAttribute('aria-label', button.getAttribute('aria-label') || tr('choose_date', 'Choose date'));\r\n      calendar.innerHTML = '<div class=\"tvr-calendar-header\">'\r\n        + '<button class=\"tvr-calendar-nav tvr-calendar-prev\" type=\"button\" aria-label=\"' + tr('previous_month', 'Previous month') + '\">\u2039<\/button>'\r\n        + '<strong class=\"tvr-calendar-month\" aria-live=\"polite\"><\/strong>'\r\n        + '<button class=\"tvr-calendar-nav tvr-calendar-next\" type=\"button\" aria-label=\"' + tr('next_month', 'Next month') + '\">\u203a<\/button>'\r\n        + '<\/div><div class=\"tvr-calendar-weekdays\"><\/div><div class=\"tvr-calendar-days\"><\/div>';\r\n      control.appendChild(calendar);\r\n      button.setAttribute('aria-haspopup', 'dialog');\r\n      button.setAttribute('aria-expanded', 'false');\r\n      syncDateInteractionMode();\r\n      [mobileCalendarQuery, coarsePointerQuery].forEach(function (query) {\r\n        if (!query) return;\r\n        if (query.addEventListener) query.addEventListener('change', syncDateInteractionMode);\r\n        else if (query.addListener) query.addListener(syncDateInteractionMode);\r\n      });\r\n\r\n      var monthLabel = calendar.querySelector('.tvr-calendar-month');\r\n      var weekdays = calendar.querySelector('.tvr-calendar-weekdays');\r\n      var days = calendar.querySelector('.tvr-calendar-days');\r\n      var previousMonthButton = calendar.querySelector('.tvr-calendar-prev');\r\n      var initialDate = \/^\\d{4}-\\d{2}-\\d{2}$\/.test(hidden.value) && (!picker.min || hidden.value >= picker.min) ? hidden.value : picker.min;\r\n      var selectedDate = initialDate ? new Date(initialDate + 'T00:00:00Z') : new Date();\r\n      var viewYear = selectedDate.getUTCFullYear();\r\n      var viewMonth = selectedDate.getUTCMonth();\r\n      var locale = dateTimeLocale();\r\n\r\n      function isoDate(year, month, day) {\r\n        return String(year).padStart(4, '0') + '-' + String(month + 1).padStart(2, '0') + '-' + String(day).padStart(2, '0');\r\n      }\r\n\r\n      function renderCalendar() {\r\n        var viewMonthKey = isoDate(viewYear, viewMonth, 1).slice(0, 7);\r\n        previousMonthButton.disabled = Boolean(picker.min && viewMonthKey <= picker.min.slice(0, 7));\r\n        monthLabel.textContent = new Intl.DateTimeFormat(locale, { month: 'long', year: 'numeric', timeZone: 'UTC' }).format(new Date(Date.UTC(viewYear, viewMonth, 1)));\r\n        weekdays.replaceChildren();\r\n        for (var weekdayIndex = 0; weekdayIndex < 7; weekdayIndex += 1) {\r\n          var weekday = document.createElement('span');\r\n          var weekdayDate = new Date(Date.UTC(2024, 0, 1 + weekdayIndex));\r\n          weekday.dataset.weekday = String((weekdayIndex + 1) % 7);\r\n          weekday.textContent = new Intl.DateTimeFormat(locale, { weekday: 'short', timeZone: 'UTC' }).format(weekdayDate);\r\n          weekdays.appendChild(weekday);\r\n        }\r\n\r\n        days.replaceChildren();\r\n        var offset = (new Date(Date.UTC(viewYear, viewMonth, 1)).getUTCDay() + 6) % 7;\r\n        var dayCount = new Date(Date.UTC(viewYear, viewMonth + 1, 0)).getUTCDate();\r\n        for (var blankIndex = 0; blankIndex < offset; blankIndex += 1) {\r\n          var blank = document.createElement('span');\r\n          blank.className = 'tvr-calendar-blank';\r\n          blank.setAttribute('aria-hidden', 'true');\r\n          days.appendChild(blank);\r\n        }\r\n        for (var day = 1; day <= dayCount; day += 1) {\r\n          var value = isoDate(viewYear, viewMonth, day);\r\n          var dayButton = document.createElement('button');\r\n          dayButton.type = 'button';\r\n          dayButton.className = 'tvr-calendar-day';\r\n          dayButton.dataset.date = value;\r\n          dayButton.textContent = String(day);\r\n          dayButton.setAttribute('aria-label', new Intl.DateTimeFormat(locale, { dateStyle: 'long', timeZone: 'UTC' }).format(new Date(value + 'T00:00:00Z')));\r\n          if (value === hidden.value) dayButton.classList.add('is-selected');\r\n          if (value === new Date().toISOString().slice(0, 10)) dayButton.setAttribute('aria-current', 'date');\r\n          if ((picker.min && value < picker.min) || (picker.max && value > picker.max)) dayButton.disabled = true;\r\n          days.appendChild(dayButton);\r\n        }\r\n      }\r\n\r\n      function closeCalendar() {\r\n        calendar.hidden = true;\r\n        button.setAttribute('aria-expanded', 'false');\r\n        if (useCalendarOnly()) display.setAttribute('aria-expanded', 'false');\r\n      }\r\n\r\n      function openCalendar() {\r\n        if (!calendar.hidden) return;\r\n        initialDate = \/^\\d{4}-\\d{2}-\\d{2}$\/.test(hidden.value) && (!picker.min || hidden.value >= picker.min) ? hidden.value : picker.min;\r\n        selectedDate = initialDate ? new Date(initialDate + 'T00:00:00Z') : new Date();\r\n        viewYear = selectedDate.getUTCFullYear();\r\n        viewMonth = selectedDate.getUTCMonth();\r\n        renderCalendar();\r\n        calendar.hidden = false;\r\n        button.setAttribute('aria-expanded', 'true');\r\n        if (useCalendarOnly()) display.setAttribute('aria-expanded', 'true');\r\n      }\r\n\r\n      function updateFromDisplay(showError) {\r\n        var entered = display.value.trim();\r\n\t\tvar iso = entered ? isoFromLocalizedDate(entered, separator, order) : '';\r\n        var outsideRange = Boolean(iso && ((picker.min && iso < picker.min) || (picker.max && iso > picker.max)));\r\n        hidden.value = outsideRange ? '' : iso;\r\n        picker.value = outsideRange ? '' : iso;\r\n        display.setCustomValidity(showError && entered && (!iso || outsideRange) ? tr('date_invalid', 'Enter a valid date.') : '');\r\n        return !entered || Boolean(iso && !outsideRange);\r\n      }\r\n\r\n      display.addEventListener('input', function () { updateFromDisplay(false); });\r\n      display.addEventListener('blur', function () { updateFromDisplay(true); });\r\n      display.addEventListener('change', function () {\r\n        if (updateFromDisplay(true)) hidden.dispatchEvent(new Event('change', { bubbles: true }));\r\n      });\r\n      picker.addEventListener('change', function () {\r\n        var outsideRange = Boolean(picker.value && ((picker.min && picker.value < picker.min) || (picker.max && picker.value > picker.max)));\r\n        hidden.value = outsideRange ? '' : picker.value;\r\n\t\tdisplay.value = outsideRange ? '' : localizedDateFromIso(picker.value, separator, order);\r\n        display.setCustomValidity(outsideRange ? tr('date_invalid', 'Enter a valid date.') : '');\r\n        if (!outsideRange) hidden.dispatchEvent(new Event('change', { bubbles: true }));\r\n      });\r\n      button.addEventListener('click', function () {\r\n        if (!calendar.hidden) {\r\n          closeCalendar();\r\n          return;\r\n        }\r\n        openCalendar();\r\n      });\r\n      display.addEventListener('click', function () {\r\n        if (useCalendarOnly()) openCalendar();\r\n      });\r\n      display.addEventListener('keydown', function (event) {\r\n        if (!useCalendarOnly() || (event.key !== 'Enter' && event.key !== ' ')) return;\r\n        event.preventDefault();\r\n        openCalendar();\r\n      });\r\n      previousMonthButton.addEventListener('click', function () {\r\n        if (previousMonthButton.disabled) return;\r\n        viewMonth -= 1;\r\n        if (viewMonth < 0) { viewMonth = 11; viewYear -= 1; }\r\n        renderCalendar();\r\n      });\r\n      calendar.querySelector('.tvr-calendar-next').addEventListener('click', function () {\r\n        viewMonth += 1;\r\n        if (viewMonth > 11) { viewMonth = 0; viewYear += 1; }\r\n        renderCalendar();\r\n      });\r\n      days.addEventListener('click', function (event) {\r\n        var dayButton = event.target.closest('[data-date]');\r\n        if (!dayButton || dayButton.disabled) return;\r\n        hidden.value = dayButton.dataset.date;\r\n        picker.value = dayButton.dataset.date;\r\n\t\tdisplay.value = localizedDateFromIso(dayButton.dataset.date, separator, order);\r\n        display.setCustomValidity('');\r\n        closeCalendar();\r\n        display.focus();\r\n        hidden.dispatchEvent(new Event('change', { bubbles: true }));\r\n      });\r\n      document.addEventListener('click', function (event) {\r\n        if (!calendar.hidden && !control.contains(event.target)) closeCalendar();\r\n      });\r\n      control.addEventListener('keydown', function (event) {\r\n        if (event.key === 'Escape' && !calendar.hidden) {\r\n          closeCalendar();\r\n          button.focus();\r\n        }\r\n      });\r\n      form.addEventListener('submit', function (event) {\r\n        if (updateFromDisplay(true)) return;\r\n        event.preventDefault();\r\n        event.stopImmediatePropagation();\r\n        display.reportValidity();\r\n        display.focus();\r\n      }, true);\r\n    });\r\n  }\r\n\r\n  function syncCatalogControls(pageUrl) {\r\n    pageUrl = new URL(pageUrl, window.location.href);\r\n    document.querySelectorAll('[name^=\"tvr_\"]').forEach(function (field) {\r\n      if (field.name === 'tvr_page') return;\r\n      if (field.type === 'checkbox') {\r\n        var baseName = field.name.replace(\/\\[\\]$\/, '');\r\n        var selectedValues = pageUrl.searchParams.getAll(field.name).concat(pageUrl.searchParams.getAll(baseName));\r\n        field.checked = selectedValues.indexOf(field.value) !== -1;\r\n      } else {\r\n        field.value = pageUrl.searchParams.get(field.name) || '';\r\n      }\r\n    });\r\n\t\tdocument.querySelectorAll('.tvr-date-control').forEach(syncLocalizedDateControl);\r\n    document.querySelectorAll('.tvr-search-filter').forEach(syncSearchClearButton);\r\n    var form = document.querySelector('.tvr-result-filter');\r\n    var summary = document.querySelector('.tvr-filter-toggle');\r\n    if (!form || !summary) return;\r\n    var count = form.querySelectorAll('input[type=\"checkbox\"][name^=\"tvr_\"]:checked').length;\r\n    var badge = summary.querySelector('.tvr-filter-count');\r\n    if (!count && badge) badge.remove();\r\n    if (count) {\r\n      if (!badge) {\r\n        badge = document.createElement('span');\r\n        badge.className = 'tvr-filter-count';\r\n        badge.setAttribute('aria-hidden', 'true');\r\n        summary.appendChild(badge);\r\n      }\r\n      badge.textContent = String(count);\r\n    }\r\n  }\r\n\r\n  function applyFacetAvailability(facets) {\r\n    var fields = {\r\n      from: 'tvr_from',\r\n      to: 'tvr_to',\r\n      transport_type: 'tvr_transport_type',\r\n      border_result: 'tvr_border_result',\r\n      departure_period: 'tvr_departure_period',\r\n      departure_time: 'tvr_departure_time',\r\n      return_time: 'tvr_return_time'\r\n    };\r\n    Object.keys(fields).forEach(function (facet) {\r\n      var inputs = document.querySelectorAll('.tvr-result-filter [name=\"' + fields[facet] + '[]\"]');\r\n      var available = Array.isArray(facets && facets[facet]) ? facets[facet] : [];\r\n      inputs.forEach(function (input) {\r\n        var unavailable = !input.checked && available.indexOf(input.value) === -1;\r\n        var option = input.closest('.tvr-filter-option');\r\n        input.disabled = !input.checked && unavailable;\r\n        if (option) option.hidden = unavailable;\r\n        else input.hidden = unavailable;\r\n      });\r\n    });\r\n  }\r\n\r\n  function loadCatalogResults(pageUrl) {\r\n    var requestId = ++catalogRequestSequence;\r\n    var currentList = document.querySelector('#tvr-trip-list');\r\n    if (!currentList) return Promise.reject(new Error('result-filter'));\r\n    currentList.classList.add('is-loading');\r\n    currentList.setAttribute('aria-busy', 'true');\r\n    return fetch(catalogFragmentUrl(pageUrl).href, { credentials: 'same-origin' }).then(function (response) {\r\n      if (!response.ok) throw new Error('result-filter');\r\n      return response.json();\r\n    }).then(function (payload) {\r\n      if (requestId !== catalogRequestSequence) return false;\r\n      if (!payload.success || !payload.data || !payload.data.html) throw new Error('result-filter');\r\n      applyFacetAvailability(payload.data.facets);\r\n      var nextDocument = new DOMParser().parseFromString(payload.data.html, 'text\/html');\r\n      var nextList = nextDocument.querySelector('#tvr-trip-list');\r\n      if (!nextList) throw new Error('result-filter');\r\n      var importedList = document.importNode(nextList, true);\r\n      currentList.replaceWith(importedList);\r\n      replaceLoadMore(nextDocument, importedList);\r\n      initCatalogAjax();\r\n      var deferredEmbed = importedList.closest('[data-tvr-deferred-results]');\r\n      if (deferredEmbed) {\r\n        deferredEmbed.dataset.deferredResultsState = 'loaded';\r\n        deferredEmbed.removeAttribute('data-tvr-deferred-results');\r\n      }\r\n      return true;\r\n    }).finally(function () {\r\n      if (requestId !== catalogRequestSequence) return;\r\n      var liveList = document.querySelector('#tvr-trip-list');\r\n      if (!liveList) return;\r\n      liveList.classList.remove('is-loading');\r\n      liveList.removeAttribute('aria-busy');\r\n    });\r\n  }\r\n\r\n  function searchFormHasActiveFilters(form) {\r\n    return ['tvr_from', 'tvr_border_result', 'tvr_date'].some(function (name) {\r\n      var field = form.querySelector('[name=\"' + name + '\"]');\r\n      return field && String(field.value || '').trim() !== '';\r\n    });\r\n  }\r\n\r\n  function syncSearchClearButton(form) {\r\n    var clearButton = form.querySelector('.tvr-search-clear');\r\n    if (clearButton) clearButton.hidden = !searchFormHasActiveFilters(form);\r\n  }\r\n\r\n  function initDeferredCatalogResults() {\r\n    document.querySelectorAll('[data-tvr-home-embed][data-tvr-deferred-results=\"1\"]').forEach(function (embed) {\r\n      if (embed.dataset.deferredResultsState) return;\r\n      embed.dataset.deferredResultsState = 'loading';\r\n      loadCatalogResults(window.location.href).then(function (applied) {\r\n        if (applied === false) return;\r\n        embed.dataset.deferredResultsState = 'loaded';\r\n        embed.removeAttribute('data-tvr-deferred-results');\r\n      }).catch(function () {\r\n        embed.dataset.deferredResultsState = 'error';\r\n        var list = embed.querySelector('#tvr-trip-list');\r\n        if (!list) return;\r\n        list.classList.remove('is-loading');\r\n        list.removeAttribute('aria-busy');\r\n        list.setAttribute('role', 'alert');\r\n      });\r\n    });\r\n  }\r\n\r\n  function initCatalogAjax() {\r\n    document.querySelectorAll('.tvr-search-filter').forEach(function (form) {\r\n      if (form.dataset.initialized === '1') return;\r\n      form.dataset.initialized = '1';\r\n      var clearButton = form.querySelector('.tvr-search-clear');\r\n      syncSearchClearButton(form);\r\n      form.addEventListener('input', function () { syncSearchClearButton(form); });\r\n      if (!form.querySelector('button[type=\"submit\"]')) {\r\n        form.addEventListener('change', function (event) {\r\n          if (!event.target.matches('[name^=\"tvr_\"]')) return;\r\n          if (typeof form.requestSubmit === 'function') form.requestSubmit();\r\n          else form.dispatchEvent(new Event('submit', { cancelable: true, bubbles: true }));\r\n        });\r\n      }\r\n      form.addEventListener('change', function () { syncSearchClearButton(form); });\r\n      form.addEventListener('submit', function (event) {\r\n        event.preventDefault();\r\n        if (form.getAttribute('aria-busy') === 'true') return;\r\n        var url = new URL(window.location.href);\r\n        var data = new FormData(form);\r\n        url.searchParams.delete('tvr_page');\r\n        ['tvr_from', 'tvr_date', 'tvr_border_result', 'tvr_border_result[]'].forEach(function (key) {\r\n          url.searchParams.delete(key);\r\n        });\r\n        data.forEach(function (value, key) {\r\n          if (value) url.searchParams.set(key, value);\r\n        });\r\n        form.setAttribute('aria-busy', 'true');\r\n        var button = form.querySelector('button[type=\"submit\"]');\r\n        if (button) button.disabled = true;\r\n        loadCatalogResults(url.href).then(function () {\r\n          window.history.pushState({}, '', url.href);\r\n          syncCatalogControls(url.href);\r\n        }).catch(function () {\r\n          var list = document.querySelector('#tvr-trip-list');\r\n          if (list) list.setAttribute('role', 'alert');\r\n        }).finally(function () {\r\n          form.removeAttribute('aria-busy');\r\n          if (button) button.disabled = false;\r\n        });\r\n      });\r\n      if (clearButton) clearButton.addEventListener('click', function () {\r\n        if (form.getAttribute('aria-busy') === 'true') return;\r\n        ['tvr_from', 'tvr_border_result', 'tvr_date'].forEach(function (name) {\r\n          var field = form.querySelector('[name=\"' + name + '\"]');\r\n          if (field) field.value = '';\r\n        });\r\n        form.querySelectorAll('.tvr-date-control').forEach(syncLocalizedDateControl);\r\n        syncSearchClearButton(form);\r\n        var url = new URL(window.location.href);\r\n        url.searchParams.delete('tvr_page');\r\n        ['tvr_from', 'tvr_date', 'tvr_border_result', 'tvr_border_result[]'].forEach(function (key) {\r\n          url.searchParams.delete(key);\r\n        });\r\n        form.setAttribute('aria-busy', 'true');\r\n        clearButton.disabled = true;\r\n        var submitButton = form.querySelector('button[type=\"submit\"]');\r\n        if (submitButton) submitButton.disabled = true;\r\n        loadCatalogResults(url.href).then(function () {\r\n          window.history.pushState({}, '', url.href);\r\n          syncCatalogControls(url.href);\r\n        }).catch(function () {\r\n          var list = document.querySelector('#tvr-trip-list');\r\n          if (list) list.setAttribute('role', 'alert');\r\n          syncCatalogControls(window.location.href);\r\n        }).finally(function () {\r\n          form.removeAttribute('aria-busy');\r\n          clearButton.disabled = false;\r\n          if (submitButton) submitButton.disabled = false;\r\n        });\r\n      });\r\n    });\r\n\r\n    document.querySelectorAll('.tvr-result-filter').forEach(function (form) {\r\n      if (form.dataset.initialized === '1') return;\r\n      form.dataset.initialized = '1';\r\n      var applyTimer;\r\n      function applyFilters() {\r\n        if (form.getAttribute('aria-busy') === 'true') {\r\n          form.dataset.pendingApply = '1';\r\n          return;\r\n        }\r\n        var url = new URL(window.location.href);\r\n        var data = new FormData(form);\r\n        url.searchParams.delete('tvr_page');\r\n        ['tvr_from', 'tvr_to', 'tvr_transport_type', 'tvr_border_result', 'tvr_departure_period', 'tvr_departure_time', 'tvr_return_time', 'tvr_date'].forEach(function (key) {\r\n          url.searchParams.delete(key);\r\n          url.searchParams.delete(key + '[]');\r\n        });\r\n        data.forEach(function (value, key) {\r\n          if (!value) return;\r\n          if (\/\\[\\]$\/.test(key)) url.searchParams.append(key, value);\r\n          else url.searchParams.set(key, value);\r\n        });\r\n        form.setAttribute('aria-busy', 'true');\r\n        loadCatalogResults(url.href).then(function () {\r\n          window.history.pushState({}, '', url.href);\r\n          syncCatalogControls(url.href);\r\n        }).catch(function () {\r\n          form.submit();\r\n        }).finally(function () {\r\n          form.removeAttribute('aria-busy');\r\n          if (form.dataset.pendingApply === '1') {\r\n            delete form.dataset.pendingApply;\r\n            applyTimer = window.setTimeout(applyFilters, 0);\r\n          }\r\n        });\r\n      }\r\n      form.addEventListener('submit', function (event) {\r\n        event.preventDefault();\r\n        applyFilters();\r\n      });\r\n      form.addEventListener('change', function (event) {\r\n        if (!event.target.matches('input[type=\"checkbox\"][name^=\"tvr_\"], .tvr-date-value[name=\"tvr_date\"]')) return;\r\n        window.clearTimeout(applyTimer);\r\n        applyTimer = window.setTimeout(applyFilters, 120);\r\n      });\r\n      var clearButton = form.querySelector('.tvr-result-clear');\r\n      if (clearButton) clearButton.addEventListener('click', function () {\r\n        if (form.getAttribute('aria-busy') === 'true') return;\r\n        form.querySelectorAll('[name^=\"tvr_\"]').forEach(function (field) {\r\n          if (field.name === 'tvr_page') return;\r\n          if (field.type === 'checkbox') field.checked = false;\r\n          else field.value = '';\r\n        });\r\n        form.querySelectorAll('.tvr-date-control').forEach(syncLocalizedDateControl);\r\n        window.clearTimeout(applyTimer);\r\n        applyFilters();\r\n      });\r\n    });\r\n\r\n    if (!catalogHistoryInitialized) {\r\n      catalogHistoryInitialized = true;\r\n      window.addEventListener('popstate', function () {\r\n        var visibleList = document.querySelector('#tvr-trip-list');\r\n        if (!visibleList || visibleList.closest('[hidden]')) return;\r\n        loadCatalogResults(window.location.href).then(function () {\r\n          syncCatalogControls(window.location.href);\r\n        }).catch(function () {\r\n          window.location.reload();\r\n        });\r\n      });\r\n    }\r\n\r\n    document.querySelectorAll('.tvr-load-more a').forEach(function (link) {\r\n      if (link.dataset.initialized === '1') return;\r\n      link.dataset.initialized = '1';\r\n      link.addEventListener('click', function (event) {\r\n        event.preventDefault();\r\n        if (link.getAttribute('aria-busy') === 'true') return;\r\n        link.setAttribute('aria-busy', 'true');\r\n        fetch(catalogFragmentUrl(link.href).href, { credentials: 'same-origin' }).then(function (response) {\r\n          if (!response.ok) throw new Error('load-more');\r\n          return response.json();\r\n        }).then(function (payload) {\r\n          if (!payload.success || !payload.data || !payload.data.html) throw new Error('load-more');\r\n          applyFacetAvailability(payload.data.facets);\r\n          var nextDocument = new DOMParser().parseFromString(payload.data.html, 'text\/html');\r\n          var currentList = document.querySelector('#tvr-trip-list');\r\n          var nextList = nextDocument.querySelector('#tvr-trip-list');\r\n          if (!currentList || !nextList) throw new Error('load-more');\r\n          var currentCount = currentList.querySelectorAll('.tvr-card').length;\r\n          Array.from(nextList.querySelectorAll('.tvr-card')).slice(currentCount).forEach(function (card) {\r\n            currentList.appendChild(document.importNode(card, true));\r\n          });\r\n          replaceLoadMore(nextDocument, currentList);\r\n          initCatalogAjax();\r\n        }).catch(function () {\r\n          window.location.href = link.href;\r\n        });\r\n      });\r\n    });\r\n  }\r\n\r\n  function initResponsiveFilterSections() {\r\n    var sections = document.querySelectorAll('.tvr-result-filter--standalone .tvr-filter-section');\r\n    if (!sections.length) return;\r\n    var mobile = window.matchMedia('(max-width: 999px)');\r\n    function syncSections(event) {\r\n      sections.forEach(function (section) {\r\n        section.open = !event.matches;\r\n        var summary = section.querySelector('.tvr-filter-section-summary');\r\n        if (summary) summary.tabIndex = event.matches ? 0 : -1;\r\n      });\r\n    }\r\n    sections.forEach(function (section) {\r\n      var summary = section.querySelector('.tvr-filter-section-summary');\r\n      if (!summary) return;\r\n      summary.addEventListener('click', function (event) {\r\n        if (!mobile.matches) event.preventDefault();\r\n      });\r\n    });\r\n    syncSections(mobile);\r\n    if (mobile.addEventListener) mobile.addEventListener('change', syncSections);\r\n    else if (mobile.addListener) mobile.addListener(syncSections);\r\n  }\r\n\r\n  initLocalizedDates();\r\n  initResponsiveFilterSections();\r\n  initCatalogAjax();\r\n  initDeferredCatalogResults();\r\n\r\n  document.querySelectorAll('[data-tvr-ai]').forEach(function (assistant) {\r\n    if (assistant.dataset.initialized === '1') return;\r\n    assistant.dataset.initialized = '1';\r\n    var quick = assistant.querySelector('[data-tvr-ai-quick]');\r\n    var chat = assistant.querySelector('[data-tvr-ai-chat]');\r\n    var messages = assistant.querySelector('[data-tvr-ai-messages]');\r\n    var form = assistant.querySelector('[data-tvr-ai-form]');\r\n    var input = assistant.querySelector('[data-tvr-ai-input]');\r\n    var collapse = assistant.querySelector('.tvr-ai-collapse');\r\n    var launcher = assistant.querySelector('[data-tvr-ai-launcher]');\r\n    var homeSidebarMedia = assistant.closest('[data-tvr-home-embed]') ? window.matchMedia('(min-width: 1000px)') : null;\r\n    var history = [];\r\n    var pending = false;\r\n    var quickLabels = {\r\n      documents: aiTr('ai_documents', 'What documents do I need?'),\r\n      border: aiTr('ai_border', 'How does the border crossing work?'),\r\n      bring: aiTr('ai_bring', 'What should I bring?'),\r\n      evisa: aiTr('ai_evisa', 'Do I need e-Visa?'),\r\n      pickup: aiTr('ai_pickup', 'Where are the pickup points?'),\r\n      tomorrow: aiTr('ai_tomorrow', 'Can I go tomorrow?')\r\n    };\r\n\r\n    var heading = assistant.querySelector('.tvr-ai-heading h2');\r\n    var inputLabel = form ? form.querySelector('label') : null;\r\n    var sendButton = form ? form.querySelector('button[type=\"submit\"]') : null;\r\n    if (heading) heading.textContent = aiTr('ai_title', 'Ask Tripand AI \u2728');\r\n    if (launcher) launcher.setAttribute('aria-label', aiTr('ai_open', 'Open Tripand AI chat'));\r\n    if (collapse) collapse.setAttribute('aria-label', aiTr('ai_close', 'Close chat'));\r\n    if (inputLabel) inputLabel.textContent = aiTr('ai_ask', 'Ask a question');\r\n    if (input) input.placeholder = aiTr('ai_placeholder', 'Ask about this trip');\r\n    if (sendButton) {\r\n      var sendLabel = aiTr('ai_send', 'Send');\r\n      var sendLabelElement = sendButton.querySelector('[data-tvr-ai-send-label]');\r\n      sendButton.setAttribute('aria-label', sendLabel);\r\n      sendButton.setAttribute('title', sendLabel);\r\n      if (sendLabelElement) sendLabelElement.textContent = sendLabel;\r\n    }\r\n    quick.querySelectorAll('[data-tvr-ai-quick-action]').forEach(function (button) {\r\n      var action = button.dataset.tvrAiQuickAction || '';\r\n      if (!quickLabels[action]) return;\r\n      button.dataset.tvrAiQuestion = quickLabels[action];\r\n      Array.from(button.childNodes).filter(function (node) { return node.nodeType === 3; }).forEach(function (node) { node.remove(); });\r\n      button.appendChild(document.createTextNode(quickLabels[action]));\r\n    });\r\n\r\n    function track(eventName, data) {\r\n      if (!window.dataLayer || !Array.isArray(window.dataLayer)) return;\r\n      window.dataLayer.push(Object.assign({ event: eventName }, data || {}));\r\n    }\r\n    function context() {\r\n      var params = new URLSearchParams(window.location.search);\r\n      var from = document.querySelector('[name=\"tvr_from\"]');\r\n      var date = document.querySelector('[name=\"tvr_date\"]');\r\n      return { trip_id: params.get('trip_id') || '', from: from ? from.value : '', to: '', date: date ? date.value : (params.get('tvr_date') || ''), locale: activeLocale() };\r\n    }\r\n    function appendMessage(role, text, isTyping) {\r\n      var item = document.createElement('div');\r\n      item.className = 'tvr-ai-message is-' + role + (isTyping ? ' is-typing' : '');\r\n      var label = document.createElement('strong');\r\n      label.textContent = role === 'assistant' ? 'Tripand AI' : aiTr('ai_you', 'You');\r\n      var body = document.createElement('p');\r\n      body.textContent = text;\r\n      item.appendChild(label); item.appendChild(body); messages.appendChild(item);\r\n      messages.scrollTop = messages.scrollHeight;\r\n      return item;\r\n    }\r\n    function expand() {\r\n      chat.hidden = false; launcher.setAttribute('aria-expanded', 'true');\r\n      if (!messages.children.length) appendMessage('assistant', aiTr('ai_welcome', 'Hi! Ask me about Visa Runs, schedules and trip details.'));\r\n      input.focus(); track('ai_opened', { trip_id: context().trip_id || undefined });\r\n    }\r\n    function collapseChat() {\r\n      if (homeSidebarMedia && homeSidebarMedia.matches) return;\r\n      chat.hidden = true; launcher.setAttribute('aria-expanded', 'false'); launcher.focus();\r\n    }\r\n    function toggleChat() {\r\n      if (chat.hidden) expand();\r\n      else collapseChat();\r\n    }\r\n    function syncHomeSidebar(event) {\r\n      if (!homeSidebarMedia) return;\r\n      launcher.hidden = event.matches;\r\n      launcher.setAttribute('aria-expanded', event.matches ? 'true' : 'false');\r\n      chat.hidden = !event.matches;\r\n      if (event.matches && !messages.children.length) appendMessage('assistant', aiTr('ai_welcome', 'Hi! Ask me about Visa Runs, schedules and trip details.'));\r\n    }\r\n    function renderActions(actions) {\r\n      if (!Array.isArray(actions) || !actions.length) return;\r\n      var box = document.createElement('div'); box.className = 'tvr-ai-actions';\r\n      actions.forEach(function (action) {\r\n        if (!action || action.type !== 'open_catalog' || typeof action.url !== 'string') return;\r\n        var url = new URL(action.url, window.location.origin);\r\n        if (url.origin !== window.location.origin || url.pathname.indexOf('\/visa-run') === -1) return;\r\n        var link = document.createElement('a'); link.className = 'tvr-ai-action'; link.href = url.href; link.textContent = aiTr('ai_show_trips', 'Show trips');\r\n        link.addEventListener('click', function () { track('ai_action_clicked', { action: action.type }); });\r\n        box.appendChild(link);\r\n      });\r\n      if (box.children.length) messages.appendChild(box);\r\n    }\r\n\tfunction renderFeedback(item, feedbackId) {\r\n\t  if (!feedbackId || !item) return;\r\n\t  var box = document.createElement('div'); box.className = 'tvr-ai-feedback';\r\n\t  var good = document.createElement('button'); good.type = 'button'; good.textContent = '\ud83d\udc4d'; good.setAttribute('aria-label', aiTr('ai_feedback_good', 'Helpful'));\r\n\t  var bad = document.createElement('button'); bad.type = 'button'; bad.textContent = '\ud83d\udc4e'; bad.setAttribute('aria-label', aiTr('ai_feedback_bad', 'Needs improvement'));\r\n\t  var editor = document.createElement('div'); editor.className = 'tvr-ai-feedback-editor'; editor.hidden = true;\r\n\t  var reason = document.createElement('select');\r\n\t  [['too_long','Too long'],['missing_clarification','Missing clarification'],['extra_question','Unnecessary question'],['wrong_fact','Wrong fact'],['ignored_context','Ignored context'],['repeated_question','Repeated known question'],['tone','Wrong tone'],['missing_knowledge','Missing knowledge']].forEach(function (entry) { var option = document.createElement('option'); option.value = entry[0]; option.textContent = aiTr('ai_feedback_' + entry[0], entry[1]); reason.appendChild(option); });\r\n\t  var correction = document.createElement('textarea'); correction.rows = 2; correction.maxLength = 4000; correction.placeholder = aiTr('ai_feedback_correction', 'Write a better reference answer (optional)');\r\n\t  var save = document.createElement('button'); save.type = 'button'; save.textContent = aiTr('ai_feedback_save', 'Save feedback');\r\n\t  function submit(rating, selectedReason) {\r\n\t\tvar data = new URLSearchParams(); data.set('action', 'tvr_ai_feedback'); data.set('nonce', config.ai_nonce || ''); data.set('journal_id', String(feedbackId)); data.set('rating', String(rating)); data.set('reason', selectedReason); data.set('corrected_answer', correction.value || '');\r\n\t\tfetch(config.ajax_url || '\/wp-admin\/admin-ajax.php', { method: 'POST', credentials: 'same-origin', headers: { 'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8' }, body: data.toString() }).then(function (response) { return response.json(); }).then(function (result) { if (result && result.success) { box.textContent = aiTr('ai_feedback_thanks', 'Thank you. Feedback saved.'); } });\r\n\t  }\r\n\t  good.addEventListener('click', function () { submit(1, 'helpful'); });\r\n\t  bad.addEventListener('click', function () { editor.hidden = false; });\r\n\t  save.addEventListener('click', function () { submit(-1, reason.value); });\r\n\t  editor.appendChild(reason); editor.appendChild(correction); editor.appendChild(save); box.appendChild(good); box.appendChild(bad); box.appendChild(editor); item.appendChild(box);\r\n\t}\r\n    function ask(message, quickAction, skipUserMessage) {\r\n      if (pending) return;\r\n      if (quick) quick.hidden = true;\r\n      expand(); pending = true;\r\n      if (message && !skipUserMessage) { appendMessage('user', message); history.push({ role: 'user', text: message }); track('ai_message_sent', { trip_id: context().trip_id || undefined }); }\r\n      if (quickAction) track('ai_quick_action_clicked', { action: quickAction, trip_id: context().trip_id || undefined });\r\n      var typing = appendMessage('assistant', aiTr('ai_thinking', 'Tripand AI is thinking\u2026'), true);\r\n      var data = new URLSearchParams();\r\n      data.set('action', 'tvr_ai_chat'); data.set('nonce', config.ai_nonce || ''); data.set('message', message || ''); data.set('quick_action', quickAction || '');\r\n      data.set('context', JSON.stringify(context())); data.set('history', JSON.stringify(history.slice(-8)));\r\n      fetch(config.ajax_url || '\/wp-admin\/admin-ajax.php', { method: 'POST', credentials: 'same-origin', headers: { 'Content-Type': 'application\/x-www-form-urlencoded; charset=UTF-8' }, body: data.toString() })\r\n        .then(function (response) { return response.json(); })\r\n        .then(function (result) {\r\n          typing.remove();\r\n          var answer = result && result.data && result.data.message ? result.data.message : aiTr('ai_unavailable', 'Tripand AI is unavailable right now. Please try again.');\r\n          if (!result || !result.success) {\r\n            var error = appendMessage('assistant', answer); error.classList.add('is-error');\r\n            var retry = document.createElement('button'); retry.type = 'button'; retry.className = 'tvr-ai-retry'; retry.textContent = aiTr('ai_retry', 'Try again'); retry.addEventListener('click', function () { retry.remove(); error.remove(); ask(message, quickAction, true); }); error.appendChild(retry);\r\n            return;\r\n          }\r\n\t\t  var answerItem = appendMessage('assistant', answer); history.push({ role: 'assistant', text: answer }); renderActions(result.data.actions); renderFeedback(answerItem, Number(result.data.feedback_id || 0));\r\n        })\r\n        .catch(function () { typing.remove(); var error = appendMessage('assistant', aiTr('ai_connection_error', 'Connection error. Please try again.')); error.classList.add('is-error'); })\r\n        .finally(function () { pending = false; });\r\n    }\r\n    if (homeSidebarMedia) {\r\n      syncHomeSidebar(homeSidebarMedia);\r\n      if (homeSidebarMedia.addEventListener) homeSidebarMedia.addEventListener('change', syncHomeSidebar);\r\n      else homeSidebarMedia.addListener(syncHomeSidebar);\r\n    }\r\n    quick.querySelectorAll('[data-tvr-ai-quick-action]').forEach(function (button) { button.addEventListener('click', function () { ask(button.dataset.tvrAiQuestion || button.textContent.trim(), button.dataset.tvrAiQuickAction || ''); }); });\r\n    launcher.addEventListener('click', toggleChat);\r\n    collapse.addEventListener('click', collapseChat);\r\n    chat.addEventListener('keydown', function (event) { if (event.key === 'Escape') collapseChat(); });\r\n    form.addEventListener('submit', function (event) { event.preventDefault(); var message = input.value.trim(); if (!message) return; input.value = ''; ask(message, ''); });\r\n  });\r\n}\r\n\r\nif (document.readyState === 'loading') {\r\n  document.addEventListener('DOMContentLoaded', tripandVisaRunInit);\r\n} else {\r\n  tripandVisaRunInit();\r\n}\r\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":"","_members_access_role":[],"_members_access_error":""},"class_list":["post-125","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/pages\/125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/comments?post=125"}],"version-history":[{"count":2,"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/pages\/125\/revisions"}],"predecessor-version":[{"id":244,"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/pages\/125\/revisions\/244"}],"wp:attachment":[{"href":"https:\/\/tripand.app\/ru\/wp-json\/wp\/v2\/media?parent=125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}