:root {
  --vt-bg: #fff;
  --vt-card: #fff;
  --vt-soft: #fafafa;
  --vt-border: #e5e5e5;
  --vt-text: #1f2937;
  --vt-muted: #6b7280;
  --vt-primary: #e1306c;
  --vt-primary-d: #c13584;
  --vt-primary-l: #fdf2f8;
  --vt-ig: linear-gradient(135deg,#feda75 0%,#fa7e1e 25%,#d62976 55%,#962fbf 80%,#4f5bd5 100%);
  --vt-ig-d: linear-gradient(135deg,#fa7e1e 0%,#d62976 50%,#962fbf 100%);
  --vt-ig-soft: linear-gradient(135deg,#fff7ed 0%,#fdf2f8 50%,#f5f3ff 100%);
  --vt-danger: #dc2626;
  --vt-success: #16a34a;
  --vt-shadow: 0 2px 12px rgba(0,0,0,.04);
  --vt-shadow-lg: 0 12px 32px rgba(214,41,118,.14);
  --vt-radius: 14px;
  --vt-radius-sm: 10px;
  --vt-input-h: 46px;
  --vt-gap: 10px;
  --vt-pad: 14px;
}

.vt-wrap,.vt-wrap *,.vt-wrap *::before,.vt-wrap *::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;min-width:0}
.vt-wrap{font-family:'Times New Roman','Times',Georgia,serif;font-size:14px;color:var(--vt-text);line-height:1.5;max-width:1280px;margin:0 auto;padding:16px;position:relative;z-index:5;overflow:visible}
.vt-book-wrap{font-family:'Times New Roman','Times',Georgia,serif;overflow:visible}

.vt-card{background:var(--vt-card);border:1px solid var(--vt-border);border-radius:24px;padding:clamp(16px,3vw,28px);box-shadow:var(--vt-shadow);max-width:1040px;margin:0 auto}
.vt-tabs{display:flex;gap:14px;border-bottom:1px solid var(--vt-border);margin-bottom:10px;padding-bottom:2px}
.vt-tab{font-size:15px;font-weight:700;color:var(--vt-muted);padding:8px 4px;border-bottom:3px solid transparent;display:inline-flex;align-items:center;gap:6px}
.vt-tab.active{color:var(--vt-text);border-bottom-color:var(--vt-primary)}
.vt-trust-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:space-between;background:#fff;border:1px solid var(--vt-border);border-radius:10px;padding:6px 12px;margin:8px auto 0;max-width:1040px}
.vt-trust-strip-lb{font-size:10.5px;font-weight:800;color:#fff;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:4px 9px;background:var(--vt-ig);border-radius:6px;flex:0 0 auto}
.vt-trust-strip-logos{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1 1 auto;justify-content:center;min-width:120px}
.vt-trust-strip-logos img{height:16px;width:auto;max-width:34px;object-fit:contain;opacity:.85;transition:.15s}
.vt-trust-strip-logos img:hover{opacity:1}
.vt-trust-strip-meta{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto;justify-content:flex-end}
.vt-trust-mini{font-size:11px;font-weight:600;color:var(--vt-muted);white-space:nowrap}


.vt-options{display:flex;align-items:center;gap:10px 18px;flex-wrap:wrap;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--vt-border)}
.vt-options-sep{width:1px;height:18px;background:var(--vt-border)}
.vt-radio,.vt-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;font-weight:600;color:#475569;user-select:none;position:relative;min-height:32px}
.vt-radio input,.vt-toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}
.vt-radio-dot{width:18px;height:18px;border-radius:50%;border:2px solid #cbd5e1;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:.15s}
.vt-radio-dot::after{content:'';width:9px;height:9px;border-radius:50%;background:transparent;transition:.15s}
.vt-radio input:checked+.vt-radio-dot{border-color:var(--vt-primary-d)}
.vt-radio input:checked+.vt-radio-dot::after{background:var(--vt-primary-d)}
.vt-toggle-track{width:38px;height:20px;background:#cbd5e1;border-radius:999px;position:relative;transition:.2s;flex-shrink:0}
.vt-toggle-track::after{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.2s}
.vt-toggle input:checked+.vt-toggle-track{background:var(--vt-primary)}
.vt-toggle input:checked+.vt-toggle-track::after{left:20px}
.vt-toggle-month input:checked+.vt-toggle-track{background:var(--vt-primary-d)}

.vt-row1{display:grid;gap:var(--vt-gap);margin-bottom:var(--vt-gap);align-items:stretch}
.vt-row1.vt-ow{grid-template-columns:1.5fr auto 1.5fr 1.3fr .85fr auto}
.vt-row1.vt-rt{grid-template-columns:1.5fr auto 1.5fr 1fr 1fr .85fr auto}
.vt-row2{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--vt-gap)}

.vt-field{background:#fff;border:1.5px solid var(--vt-border);border-radius:var(--vt-radius-sm);padding:4px 12px;display:flex;align-items:center;gap:8px;min-height:var(--vt-input-h);cursor:pointer;transition:.15s;position:relative;overflow:visible}
.vt-field:hover{border-color:#cbd5e1}
.vt-field.focused{border-color:var(--vt-primary);box-shadow:0 0 0 3px rgba(250,126,30,.12)}
.vt-field.error{border-color:var(--vt-danger);box-shadow:0 0 0 3px rgba(220,38,38,.1)}
.vt-ico{font-size:18px;width:22px;text-align:center;color:var(--vt-primary);flex-shrink:0}
.vt-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;line-height:1.2}
.vt-label{font-size:12px;color:var(--vt-muted);font-weight:500;letter-spacing:.02em;margin-bottom:2px;line-height:1.1}
.vt-inp{width:100%;border:0;background:transparent;outline:none;font-size:15px;font-weight:700;color:var(--vt-text);padding:0;line-height:1.2;font-family:inherit;-webkit-appearance:none}
.vt-inp::placeholder{color:#94a3b8;font-weight:500}
.vt-inp[readonly]{cursor:pointer}
.vt-inp[type="date"]{font-weight:700;cursor:pointer;font-size:14px}
.vt-caret{color:var(--vt-muted);font-size:10px;flex-shrink:0}

.vt-swap{background:#fff;border:1.5px solid var(--vt-border);border-radius:50%;width:40px;height:40px;align-self:center;justify-self:center;cursor:pointer;color:var(--vt-primary-d);font-size:18px;font-weight:800;font-family:inherit;transition:.15s;display:flex;align-items:center;justify-content:center}
.vt-swap:hover{transform:rotate(180deg);border-color:var(--vt-primary);color:var(--vt-primary)}

.vt-submit{padding:0 20px;background:var(--vt-ig);color:#fff;border:0;border-radius:var(--vt-radius-sm);font-size:15px;font-weight:800;cursor:pointer;min-height:var(--vt-input-h);transition:.2s;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:inherit;text-shadow:0 1px 2px rgba(0,0,0,.12)}
.vt-submit:hover:not(:disabled){background:var(--vt-ig-d);transform:translateY(-1px);box-shadow:0 8px 20px rgba(214,41,118,.35)}
.vt-submit:disabled{opacity:.7;cursor:not-allowed}
.vt-submit-ico{font-size:16px}
.vt-btn-spin{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:vt-spin .7s linear infinite}
@keyframes vt-spin{to{transform:rotate(360deg)}}

.vt-mc-wrap{margin-bottom:var(--vt-gap)}
.vt-mc-segments{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.vt-mc-seg{background:#fff;border:1.5px solid var(--vt-border);border-radius:var(--vt-radius-sm);padding:8px 12px;position:relative}
.vt-mc-seg-h{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding-bottom:4px;border-bottom:1px dashed var(--vt-border)}
.vt-mc-drag{color:var(--vt-muted);font-size:14px;cursor:grab}
.vt-mc-seg-h strong{font-size:11px;font-weight:800;color:var(--vt-primary-d);letter-spacing:.06em;flex:1}
.vt-mc-del{background:transparent;border:0;font-size:16px;color:var(--vt-muted);cursor:pointer;width:22px;height:22px;border-radius:50%;line-height:1;font-family:inherit;transition:.15s;display:flex;align-items:center;justify-content:center}
.vt-mc-del:hover{background:#fee2e2;color:var(--vt-danger)}
.vt-mc-seg-grid{display:grid;grid-template-columns:1fr 40px 1fr 1fr;gap:10px;align-items:stretch}
.vt-mc-seg-grid .vt-field{min-height:48px;padding:5px 12px}
.vt-mc-seg-grid .vt-label{font-size:11px;line-height:1.1}
.vt-mc-seg-grid .vt-inp{font-size:13.5px;font-weight:600}
.vt-mc-seg-grid .vt-ico{font-size:14px;width:18px}
.vt-mc-swap{background:#fff;border:1.5px solid var(--vt-border);border-radius:50%;width:36px;height:36px;align-self:center;justify-self:center;cursor:pointer;color:var(--vt-primary-d);font-size:14px;font-weight:800;font-family:inherit;display:flex;align-items:center;justify-content:center;transition:.15s}
.vt-mc-swap:hover{transform:rotate(180deg);border-color:var(--vt-primary);color:var(--vt-primary)}
.vt-mc-actions{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.vt-mc-add{background:#fff;border:1.5px dashed var(--vt-primary);color:var(--vt-primary-d);padding:0 16px;border-radius:var(--vt-radius-sm);font-weight:700;cursor:pointer;font-family:inherit;font-size:13.5px;min-height:48px;transition:.15s;display:inline-flex;align-items:center}
.vt-mc-add:hover{background:var(--vt-primary-l)}
.vt-mc-pax{flex:1;min-width:200px;min-height:48px;padding:3px 12px}
.vt-mc-search{min-width:200px;min-height:48px;font-size:14.5px;padding:0 22px}

.vt-pax-dd,.vt-dd,.vt-rp{position:absolute;top:calc(100% + 6px);left:0;right:auto;min-width:280px;background:#fff;border:1px solid var(--vt-border);border-radius:12px;padding:8px;box-shadow:var(--vt-shadow-lg);z-index:70;display:none;opacity:0;transform:translateY(-6px);transition:opacity .18s ease, transform .18s ease;max-height:420px;overflow:auto;-webkit-overflow-scrolling:touch}
.vt-pax-dd.open,.vt-dd.open,.vt-rp.open{display:block;opacity:1;transform:translateY(0)}
.vt-pax-row{display:flex;align-items:center;justify-content:space-between;padding:8px 4px;border-bottom:1px dashed var(--vt-border)}
.vt-pax-row:last-of-type{border-bottom:0}
.vt-pax-info strong{display:block;font-size:13.5px;font-weight:700;color:var(--vt-text)}
.vt-pax-info small{font-size:11.5px;color:var(--vt-muted)}
.vt-pax-ctr{display:flex;align-items:center;gap:10px}
.vt-pax-ctr button{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--vt-border);background:#fff;color:var(--vt-text);font-size:15px;cursor:pointer;font-family:inherit;font-weight:700;transition:.15s}
.vt-pax-ctr button:not(:disabled):hover{background:var(--vt-primary-l);border-color:var(--vt-primary);color:var(--vt-primary-d)}
.vt-pax-ctr button:disabled{opacity:.4;cursor:not-allowed}
.vt-pax-num{min-width:18px;text-align:center;font-weight:800;font-size:14px}
.vt-pax-cabin{margin-top:8px;padding-top:8px;border-top:1px solid var(--vt-border)}
.vt-pax-cabin-h{font-size:11.5px;font-weight:700;color:var(--vt-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}
.vt-pax-cabin-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.vt-pax-cabin-opt{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:12.5px;font-weight:600}
.vt-pax-cabin-opt:hover{background:var(--vt-primary-l)}
.vt-pax-cabin-opt input{accent-color:var(--vt-primary-d)}

.vt-dd-item{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px}
.vt-dd-item:hover{background:var(--vt-primary-l)}
.vt-dd-item.active{background:var(--vt-primary-l);color:var(--vt-primary-d)}
.vt-al-logo{display:inline-flex;align-items:center;justify-content:center;width:30px;height:20px;background:#f1f5f9;border-radius:4px;font-size:10px;font-weight:800;color:#475569}
.vt-promo-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.vt-promo-tag{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;background:var(--vt-primary-l);color:var(--vt-primary-d);border-radius:6px;font-size:11px;font-weight:800;flex-shrink:0}
.vt-promo-inp{flex:1;padding:6px 8px;border:1.5px solid var(--vt-border);border-radius:6px;font-size:12.5px;font-family:inherit;outline:none}
.vt-promo-inp:focus{border-color:var(--vt-primary)}

.vt-rp{min-width:480px;padding:0;display:none}
.vt-rp.open{display:flex}
.vt-rp-left{flex:0 0 140px;background:#f8fafc;border-radius:12px 0 0 12px;padding:8px;overflow-y:auto;max-height:360px}
.vt-rp-region{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:12.5px;font-weight:600;color:#475569}
.vt-rp-region:hover{background:#fff}
.vt-rp-region.active{background:#fff;color:var(--vt-primary-d);font-weight:800}
.vt-rp-right{flex:1;padding:8px;overflow-y:auto;max-height:360px}
.vt-rp-item{padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}
.vt-rp-item:hover{background:var(--vt-primary-l)}
.vt-rp-empty{padding:16px;text-align:center;color:var(--vt-muted);font-size:13px}

.vt-trust{margin-top:14px;padding-top:14px;border-top:1px solid var(--vt-border);display:flex;align-items:center;gap:16px;flex-wrap:wrap;min-height:40px}
.vt-trust-lb{font-size:11px;font-weight:800;color:#fff;background:var(--vt-ig);padding:6px 12px;border-radius:8px;letter-spacing:.04em}
.vt-trust-logos{display:flex;align-items:center;gap:14px;flex-wrap:wrap;flex:1}
.vt-trust-logos img{height:24px;width:auto;opacity:.85;transition:.15s}
.vt-trust-logos img:hover{opacity:1}
.vt-trust-more{font-size:12px;font-weight:700;color:var(--vt-muted);padding:4px 10px;background:#f1f5f9;border-radius:6px}
.vt-trust-meta{display:flex;gap:12px;flex-wrap:wrap}
.vt-trust-mini{font-size:11.5px;font-weight:600;color:var(--vt-muted)}

.vt-sticky-bar{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:1px solid var(--vt-border);padding:8px 16px;display:flex;align-items:center;gap:12px;z-index:100;transform:translateY(-100%);transition:transform .25s ease;box-shadow:0 2px 12px rgba(0,0,0,.06);will-change:transform;contain:layout style}
.vt-sticky-bar.show{transform:translateY(0)}
.vt-sb-route{font-weight:800;font-size:14px;color:var(--vt-text)}
.vt-sb-meta{font-size:12px;color:var(--vt-muted);flex:1}
.vt-sb-edit{background:var(--vt-primary-l);color:var(--vt-primary-d);border:0;padding:6px 12px;border-radius:6px;font-weight:700;cursor:pointer;font-family:inherit;font-size:12.5px}
.vt-sb-close{background:transparent;border:0;font-size:22px;color:var(--vt-muted);cursor:pointer;width:30px;height:30px}

.vt-search-hidden{display:none!important}
body.vt-search-active{overflow-x:hidden}

.vt-results{display:none;margin-top:16px;overflow:visible;contain:none}
.vt-results.show{display:block}
.vt-results-col{overflow:visible;min-width:0;contain:none}
.vt-results-layout{overflow:visible;contain:none}
.vt-pricecal{margin-bottom:10px}
.vt-pricecal:empty{display:none}
.vt-pc-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 100%);border:1px solid #bfdbfe;border-radius:10px;padding:5px;box-shadow:0 1px 3px rgba(59,130,246,.06)}
.vt-pc-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:5px 4px;background:rgba(255,255,255,.65);border:1px solid transparent;border-radius:7px;cursor:pointer;font-family:inherit;color:#1e3a8a;transition:.15s ease;text-align:center;min-height:44px}
.vt-pc-date{font-size:11px;font-weight:600;color:#3b82f6;line-height:1.15}
.vt-pc-pr{font-size:11.5px;font-weight:700;color:#1e40af;line-height:1.15;letter-spacing:-.1px;white-space:nowrap}
.vt-pc-pr i{font-style:normal;font-weight:800;color:var(--vt-primary-d);margin-right:2px;font-size:10.5px}
.vt-pc-day:hover:not(.disabled):not(.active){background:#fff;border-color:#93c5fd;box-shadow:0 2px 6px rgba(59,130,246,.15)}
.vt-pc-day.active{background:#fff;border-color:#3b82f6;box-shadow:0 3px 10px rgba(59,130,246,.25)}
.vt-pc-day.active .vt-pc-date{color:#1e40af;font-weight:700}
.vt-pc-day.active .vt-pc-pr{color:#1e3a8a}
.vt-pc-day.active .vt-pc-pr i{color:#1d4ed8}
.vt-pc-day.disabled{opacity:.4;cursor:not-allowed}
.vt-pc-day.disabled .vt-pc-date,.vt-pc-day.disabled .vt-pc-pr{color:#94a3b8}
.vt-quickfilters{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;scrollbar-width:none;margin-bottom:6px;align-items:center;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.vt-quickfilters::-webkit-scrollbar{display:none}
.vt-quickfilters .vt-chip{scroll-snap-align:start;flex:0 0 auto}
.vt-mobi-filter-btn{display:none;margin-left:auto}
.vt-chip{background:#fff;border:1.5px solid var(--vt-border);padding:6px 14px;border-radius:999px;font-size:12.5px;font-weight:700;color:#475569;cursor:pointer;white-space:nowrap;font-family:inherit;transition:.18s ease}
.vt-chip:hover{border-color:var(--vt-primary);color:var(--vt-primary-d)}
.vt-chip.active{background:var(--vt-ig);border-color:transparent;color:#fff;box-shadow:0 3px 10px rgba(214,41,118,.25)}
.vt-mobi-filter-btn{display:none}
.vt-mobi-fbadge{background:#fff;color:var(--vt-primary-d);padding:1px 6px;border-radius:999px;font-size:10.5px;font-weight:800;margin-left:4px}

.vt-results-layout{display:grid;grid-template-columns:230px 1fr;gap:14px;align-items:start}
.vt-filters{background:#fff;border:1px solid var(--vt-border);border-radius:12px;padding:12px;position:sticky;top:16px;align-self:start;max-height:calc(100vh - 32px);overflow-y:auto;z-index:10;font-size:12.5px}
.vt-filters-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.vt-filters-head h3{margin:0;font-size:14px;font-weight:800}
.vt-filters-clear{background:transparent;border:0;color:var(--vt-primary-d);font-weight:700;cursor:pointer;font-size:11.5px;font-family:inherit;white-space:nowrap;padding:3px 8px;border-radius:6px}
.vt-filters-clear:hover{background:var(--vt-primary-l)}
.vt-filters-close{display:none;background:transparent;border:0;font-size:22px;cursor:pointer;color:var(--vt-muted)}
.vt-filter-sec{padding:8px 0;border-top:1px dashed var(--vt-border)}
.vt-filter-sec:first-of-type{border-top:0;padding-top:4px}
.vt-filter-h{font-size:11px;font-weight:800;color:var(--vt-text);margin-bottom:6px;text-transform:uppercase;letter-spacing:.04em}
.vt-filter-row{display:flex;align-items:center;gap:6px;padding:3px 0;cursor:pointer;font-size:11.5px;font-weight:600}
.vt-filter-row input{accent-color:var(--vt-primary-d);width:14px;height:14px}
.vt-filter-al{justify-content:space-between}
.vt-filter-al-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vt-filter-al-price{color:var(--vt-primary-d);font-weight:800;font-size:10.5px}
.vt-filter-empty{padding:6px;text-align:center;color:var(--vt-muted);font-size:11px}
.vt-range{width:100%;accent-color:var(--vt-primary-d)}
.vt-range-val{font-size:11px;color:var(--vt-muted);margin-top:4px}
.vt-filters-apply{display:none;width:100%;padding:10px;background:var(--vt-ig);color:#fff;border:0;border-radius:8px;font-weight:800;cursor:pointer;font-family:inherit;margin-top:8px}
.vt-filters-backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:99}
.vt-filters-backdrop.show{display:block}

.vt-results-col{min-width:0}
.vt-results-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:8px}
.vt-results-title{margin:0;font-size:16px;font-weight:800}
.vt-results-meta{display:flex;align-items:center;gap:10px}
.vt-results-count{font-size:12.5px;color:var(--vt-muted);font-weight:600}
.vt-sort{padding:6px 28px 6px 10px;border:1.5px solid var(--vt-border);border-radius:8px;font-size:12.5px;font-weight:600;background:#fff;cursor:pointer;font-family:inherit}

.vt-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:20px;background:#fff;border:1px solid var(--vt-border);border-radius:12px;margin-bottom:8px}
.vt-loading-mini{padding:10px;font-size:12px}
.vt-loading-spin{width:18px;height:18px;border:3px solid var(--vt-primary-l);border-top-color:var(--vt-primary-d);border-radius:50%;animation:vt-spin .7s linear infinite}
.vt-loading-text{font-size:13px;font-weight:600;color:var(--vt-muted)}
.vt-skel{pointer-events:none;background:#fff}
.vt-skel .vt-f-row{align-items:center}
.vt-skel-box,.vt-skel-line{background:linear-gradient(90deg,#f1f5f9 0%,#e2e8f0 50%,#f1f5f9 100%);background-size:200% 100%;animation:vt-skel 1.2s ease-in-out infinite;border-radius:6px}
.vt-skel-logo{width:42px;height:42px;border-radius:10px;flex-shrink:0}
.vt-skel-line{height:10px;margin:4px 0}
.vt-skel-line.vt-skel-lg{height:18px}
.vt-skel-w20{width:20%}.vt-skel-w30{width:30%}.vt-skel-w40{width:40%}.vt-skel-w50{width:50%}.vt-skel-w60{width:60%}
.vt-skel-btn{height:34px;width:90px;border-radius:8px;margin-top:6px}
@keyframes vt-skel{0%{background-position:200% 0}100%{background-position:-200% 0}}
.vt-no-results{padding:30px;background:#fff;border:1px solid var(--vt-border);border-radius:12px;text-align:center;color:var(--vt-muted)}
.vt-no-results strong{color:var(--vt-text);font-size:15px;display:block;margin-bottom:6px}

.vt-flight{background:#fff;border:1.5px solid var(--vt-border);border-radius:14px;margin-bottom:10px;overflow:hidden;transition:.18s ease;position:relative}
.vt-flight:hover{border-color:#f7c9dc;box-shadow:0 8px 24px rgba(214,41,118,.12);transform:translateY(-1px)}
.vt-flight-rec{border-color:transparent;background:linear-gradient(#fff,#fff) padding-box,var(--vt-ig) border-box;border:2px solid transparent}
.vt-f-banner{background:var(--vt-success);color:#fff;font-size:11px;font-weight:800;padding:3px 12px;letter-spacing:.04em;text-transform:uppercase}
.vt-f-seg-label{display:block;background:var(--vt-primary-d);color:#fff;padding:4px 12px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.vt-f-row{display:grid;grid-template-columns:200px 1fr 180px;gap:14px;padding:14px;align-items:center}
.vt-f-al{display:flex;align-items:center;gap:10px;min-width:0}
.vt-f-logo{position:relative;width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:11px;flex-shrink:0;overflow:hidden}
.vt-f-logo-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:4px;background:inherit}
.vt-f-logo-txt{display:none;width:100%;height:100%;align-items:center;justify-content:center}
.vt-f-alinfo{min-width:0;flex:1}
.vt-f-alinfo strong{display:block;font-size:13.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vt-f-alinfo small{font-size:11.5px;color:var(--vt-muted);display:block}
.vt-f-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.vt-f-fare{display:inline-block;background:var(--vt-ig-soft);color:var(--vt-primary-d);font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px;border:1px solid #fce7f3}
.vt-f-count{display:inline-flex;align-items:center;gap:3px;background:var(--vt-ig-soft);color:var(--vt-primary-d);font-size:10.5px;font-weight:800;padding:3px 8px;border-radius:5px;border:1px solid #fce7f3;letter-spacing:.02em}
.vt-f-count::before{content:"\2630";font-size:9px;opacity:.7}
.vt-f-seats{display:inline-block;background:#fef2f2;color:#991b1b;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px}
.vt-f-times{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}
.vt-f-end{text-align:center}
.vt-f-time{font-size:20px;font-weight:800;color:var(--vt-text);line-height:1.1}
.vt-f-route{font-size:13px;color:var(--vt-muted);font-weight:600}
.vt-f-mid{text-align:center;min-width:80px}
.vt-f-dur{font-size:11.5px;color:var(--vt-muted);font-weight:600;margin-bottom:3px}
.vt-f-line{height:2px;background:var(--vt-border);position:relative}
.vt-f-line::after{content:'';position:absolute;right:-2px;top:-3px;border-left:8px solid var(--vt-primary);border-top:4px solid transparent;border-bottom:4px solid transparent}
.vt-f-stops{font-size:11.5px;color:var(--vt-success);font-weight:700;margin-top:3px}
.vt-f-pricebox{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.vt-f-price{font-size:18px;font-weight:800;color:var(--vt-danger);line-height:1.1;letter-spacing:-.3px}
.vt-f-price-na{font-size:14px;color:var(--vt-muted)}
.vt-f-cur{font-size:11px;color:var(--vt-muted)}
.vt-f-book{padding:8px 18px;background:var(--vt-ig);color:#fff;border:0;border-radius:8px;font-weight:800;cursor:pointer;font-family:inherit;font-size:13px;transition:.15s;text-shadow:0 1px 2px rgba(0,0,0,.12)}
.vt-f-book:hover:not(:disabled){background:var(--vt-ig-d);transform:translateY(-1px);box-shadow:0 4px 12px rgba(214,41,118,.3)}

.vt-f-details{display:flex;flex-wrap:wrap;gap:0;padding:0 14px 4px;border-top:1px dashed var(--vt-border);background:#fafbfd}
.vt-f-tab{background:transparent;border:0;padding:8px 12px;font-family:inherit;font-size:12px;font-weight:600;color:#475569;cursor:pointer;display:inline-flex;align-items:center;gap:5px;border-radius:6px;transition:.12s;white-space:nowrap}
.vt-f-tab:hover{background:#fff;color:var(--vt-primary-d)}
.vt-f-tab.active{color:var(--vt-primary-d);background:#fff;box-shadow:inset 0 -2px 0 var(--vt-primary)}
.vt-f-tab-ico{font-size:13px;line-height:1}
.vt-f-tab-ok{color:var(--vt-success);font-weight:800;font-size:11px}
.vt-f-tab-no{color:var(--vt-danger);font-weight:800;font-size:11px}
.vt-f-panel{display:none;padding:0 14px;background:#fafbfd;border-top:1px dashed var(--vt-border)}
.vt-f-panel.open{display:block;padding:12px 14px}
.vt-f-pan-empty{padding:8px;text-align:center;color:var(--vt-muted);font-size:12.5px;font-style:italic}
.vt-f-pan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.vt-f-pan-fare{background:#fff;border:1px solid var(--vt-border);border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.5}
.vt-f-pan-name{font-weight:800;color:var(--vt-text);margin-bottom:4px;font-size:12.5px}
.vt-f-pan-bag{color:#475569;font-size:11.5px}
.vt-f-pan-bag span{font-weight:700;color:var(--vt-text)}
.vt-f-pan-ok{color:var(--vt-success);font-weight:700;font-size:12px}
.vt-f-pan-no{color:var(--vt-danger);font-weight:700;font-size:12px}
.vt-f-pan-seg{background:#fff;border:1px solid var(--vt-border);border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:12.5px}
.vt-f-pan-seg:last-child{margin-bottom:0}
.vt-f-pan-leg{font-weight:700;font-size:11.5px;color:var(--vt-primary-d);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.vt-f-pan-times{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.vt-f-pan-times strong{color:var(--vt-text)}
.vt-f-pan-arr{color:#475569}
.vt-f-pan-dur{margin-left:auto;color:var(--vt-muted);font-size:11.5px}

/* Chi tiết hành trình kiểu Traveloka */
.vt-f-itin{background:#fff;border:1px solid var(--vt-border);border-radius:10px;padding:14px 16px}
.vt-f-itin-row{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:flex-start}
.vt-f-itin-time{display:flex;flex-direction:column;align-items:flex-start}
.vt-f-itin-time strong{font-size:20px;font-weight:800;color:var(--vt-text);line-height:1.1}
.vt-f-itin-time small{font-size:11.5px;color:var(--vt-muted);margin-top:2px}
.vt-f-itin-place{flex:1;padding-top:2px}
.vt-f-itin-city{font-weight:700;font-size:14px;color:var(--vt-text)}
.vt-f-itin-airport{font-size:12.5px;color:var(--vt-muted);margin-top:2px}
.vt-f-itin-flight{margin:10px 0 10px 96px;padding-left:14px;border-left:2px dashed #cbd5e1;position:relative}
.vt-f-itin-flight::before{content:'';position:absolute;left:-5px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--vt-primary)}
.vt-f-itin-dur{font-size:12.5px;color:#475569;font-weight:600;margin-bottom:6px}
.vt-f-amenities{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:4px 12px}
.vt-f-amenities li{font-size:12px;line-height:1.5;display:flex;align-items:center;gap:6px}
.vt-f-amenities li.on{color:#065f46}
.vt-f-amenities li.off{color:#94a3b8;text-decoration:line-through;text-decoration-color:#e2e8f0}
.vt-f-transit{margin:8px 0;padding:8px 12px;background:#fffbeb;border-left:3px solid #fbbf24;color:#92400e;font-size:12.5px;font-weight:700;border-radius:6px}

/* Policy panels (refund/change/promo) */
.vt-f-pan-policy{background:#fff;border:1px solid var(--vt-border);border-radius:10px;padding:14px 16px;font-size:13px;line-height:1.6;color:#334155}
.vt-f-pan-policy h4{margin:0 0 8px;font-size:14.5px;font-weight:800;display:flex;align-items:center;gap:6px}
.vt-f-pol-ok{color:var(--vt-success)}
.vt-f-pol-no{color:var(--vt-danger)}
.vt-f-pan-policy p{margin:0 0 8px}
.vt-f-pan-policy p:last-child{margin-bottom:0}
.vt-f-pan-policy strong{color:var(--vt-text)}
.vt-f-pol-list{margin:6px 0 8px 18px;padding:0;font-size:12.5px}
.vt-f-pol-list li{margin-bottom:3px;color:#475569}
.vt-f-pol-important{background:#fffbeb;border:1px solid #fcd34d;padding:8px 12px;border-radius:8px;color:#92400e;font-size:12.5px}

.vt-drawer,.vt-drawer *{font-family:'Times New Roman','Times',Georgia,serif}
.vt-drawer{position:fixed;inset:0;z-index:1000;display:flex;justify-content:flex-end}
.vt-drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);opacity:0;transition:.25s}
.vt-drawer.open .vt-drawer-backdrop{opacity:1}
.vt-drawer-panel{position:relative;width:min(900px,100%);background:#fff;height:100%;overflow-y:auto;transform:translateX(100%);transition:.3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.vt-drawer.open .vt-drawer-panel{transform:translateX(0)}
.vt-drawer-head{padding:18px 22px;background:linear-gradient(135deg,#fef3c7 0%,#fff 100%);border-bottom:1px solid var(--vt-border);position:relative}
.vt-drawer-close{position:absolute;top:14px;right:14px;background:#fff;border:1px solid var(--vt-border);width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;color:var(--vt-text);font-family:inherit;display:flex;align-items:center;justify-content:center}
.vt-drawer-close:hover{background:#fef2f2;color:var(--vt-danger);border-color:var(--vt-danger)}
.vt-drawer-title{margin:0 0 12px;font-size:17px;font-weight:800;color:var(--vt-text)}
.vt-drawer-flight{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.vt-drawer-flight-info strong{display:block;font-size:14px;font-weight:800}
.vt-drawer-flight-info small{font-size:11.5px;color:var(--vt-muted)}
.vt-drawer-route{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px;align-items:center;padding:10px 14px;background:#fff;border:1px dashed var(--vt-border);border-radius:10px}
.vt-drawer-pt{text-align:center}
.vt-drawer-time{font-size:18px;font-weight:800;color:var(--vt-text)}
.vt-drawer-code{font-size:13px;color:var(--vt-muted);font-weight:700}
.vt-drawer-mid{text-align:center}
.vt-drawer-dur{font-size:11.5px;color:var(--vt-muted)}
.vt-drawer-line{height:2px;background:var(--vt-border);margin:4px 0;position:relative}
.vt-drawer-line::after{content:'';position:absolute;right:-2px;top:-3px;border-left:8px solid var(--vt-primary);border-top:4px solid transparent;border-bottom:4px solid transparent}
.vt-drawer-stops{font-size:11.5px;color:var(--vt-success);font-weight:700}
.vt-drawer-pax{margin-top:10px;padding:8px 10px;background:var(--vt-primary-l);color:var(--vt-primary-d);border-radius:8px;font-size:12px;font-weight:600}
.vt-drawer-body{flex:1;padding:18px 22px;overflow-y:auto}

.vt-fare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.vt-fc-v2{background:var(--vt-soft);border:2px solid var(--vt-border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;transition:.15s;position:relative}
.vt-fc-v2:hover{border-color:var(--vt-primary)}
.vt-fare-rec{border-color:var(--vt-primary);background:linear-gradient(180deg,#fffbeb 0%,#fff 50%);box-shadow:0 6px 22px rgba(251,191,36,.18)}
.vt-fare-rec-badge{position:absolute;top:-10px;left:14px;background:var(--vt-primary);color:#0f172a;font-size:10.5px;font-weight:800;padding:3px 10px;border-radius:6px;letter-spacing:.04em;text-transform:uppercase}
.vt-fc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:wrap}
.vt-fc-name{font-size:14.5px;font-weight:800;color:var(--vt-text);line-height:1.2}
.vt-fc-chips{display:flex;gap:5px;flex-wrap:wrap}
.vt-fc-chip{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:5px;letter-spacing:.02em;line-height:1.4;background:#f1f5f9;color:#475569}
.vt-fc-chip.vt-fc-bc{background:#fef3c7;color:#92400e}
.vt-fc-chip.vt-fc-code{background:#dbeafe;color:#1e40af;font-family:'SFMono-Regular',Consolas,monospace;font-size:10px}
.vt-fc-chip.vt-fc-src{background:#f5f5f5;color:#525252}
.vt-fc-chip.vt-fc-grp{background:#f3f4f6;color:#374151}
.vt-f-code{display:inline-block;background:#f3f4f6;color:#374151;font-family:'Courier New',monospace;font-size:10.5px;font-weight:700;padding:2px 6px;border-radius:5px;margin-left:4px}

.vt-fare-tabs{display:flex;gap:0;padding:0 22px;background:#fff;border-bottom:1px solid var(--vt-border)}
.vt-fare-tab{background:transparent;border:0;padding:14px 18px;font-family:inherit;font-size:14px;font-weight:600;color:var(--vt-muted);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-1px;transition:.15s;white-space:nowrap}
.vt-fare-tab:hover{color:var(--vt-text)}
.vt-fare-tab.active{color:var(--vt-primary-d);border-bottom-color:var(--vt-primary)}

.vt-fare-drawer .vt-fare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.vt-fc-v3{background:#fff;border:1px solid var(--vt-border);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:8px;transition:.15s}
.vt-fc-v3:hover{border-color:var(--vt-primary);box-shadow:0 4px 16px rgba(250,126,30,.12)}
.vt-fc-v3 .vt-fc-name{font-size:15px;font-weight:700;color:var(--vt-text);line-height:1.3}
.vt-fc-v3 .vt-fc-chips{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:4px}
.vt-fc-v3 .vt-fc-price{font-size:22px;font-weight:800;color:var(--vt-danger);line-height:1.1;letter-spacing:-.3px;margin-top:4px}
.vt-fc-v3 .vt-fc-cur{font-size:12px;color:var(--vt-muted);margin-top:-4px;font-weight:500}
.vt-fc-breakdown{font-size:11.5px;color:var(--vt-muted);margin-top:4px;font-style:italic;line-height:1.35}
.vt-fc-bullets{list-style:none;padding:0;margin:6px 0 12px;display:flex;flex-direction:column;gap:6px;font-size:13px}
.vt-fc-bullets li{display:flex;align-items:flex-start;gap:8px;line-height:1.4;color:#374151}
.vt-fc-bullets li.no{color:#9ca3af}
.vt-fc-bullets li span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:800;flex-shrink:0;margin-top:1px}
.vt-fc-bullets li.ok span{background:#dcfce7;color:#15803d}
.vt-fc-bullets li.no span{background:#f3f4f6;color:#9ca3af}
.vt-fc-v3 .vt-fare-pick{margin-top:auto;padding:10px;background:var(--vt-primary);color:#fff;border:0;border-radius:8px;font-weight:700;cursor:pointer;font-family:inherit;font-size:14px;transition:.15s;width:100%}
.vt-fc-v3 .vt-fare-pick:hover{background:var(--vt-primary-d)}
.vt-fc-bagrow{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.vt-fc-bag{display:flex;flex-direction:column;padding:6px 8px;border-radius:8px;line-height:1.3}
.vt-fc-bag small{font-size:10px;color:var(--vt-muted);font-weight:700;text-transform:uppercase}
.vt-fc-bag span{font-size:12px;color:var(--vt-text);font-weight:700;word-break:break-word}
.vt-fc-bag.ok{background:#dcfce7}
.vt-fc-bag.ok small{color:#166534}
.vt-fc-bag.ok span{color:#14532d}
.vt-fc-bag.no{background:#f1f5f9}
.vt-fc-bag.no span{color:#94a3b8}
.vt-fc-rules{display:flex;flex-wrap:wrap;gap:6px}
.vt-fc-tag{font-size:11.5px;font-weight:700;padding:3px 9px;border-radius:999px}
.vt-fc-tag.ok{background:#dcfce7;color:#166534}
.vt-fc-tag.no{background:#fef2f2;color:#991b1b}
.vt-fc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px dashed var(--vt-border);margin-top:auto}
.vt-fc-grand{display:flex;flex-direction:column;line-height:1.2}
.vt-fc-grand small{font-size:10.5px;color:var(--vt-muted)}
.vt-fc-grand strong{font-size:17px;color:var(--vt-danger);font-weight:800}
.vt-fare-pick{padding:8px 16px;background:var(--vt-primary);color:#0f172a;border:0;border-radius:8px;font-weight:800;cursor:pointer;font-family:inherit;font-size:13px;transition:.15s}
.vt-fare-pick:hover{background:var(--vt-primary-d);color:#fff}

.vt-book-wrap{max-width:1100px;margin:0 auto;padding:16px}
.vt-book-stepper{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--vt-border);border-radius:12px;padding:12px 16px;margin-bottom:12px;overflow-x:auto}
.vt-step{display:flex;align-items:center;gap:6px;flex-shrink:0;font-size:13px;font-weight:600;color:var(--vt-muted)}
.vt-step-no{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#f1f5f9;color:var(--vt-muted);font-size:11px;font-weight:800}
.vt-step.done .vt-step-no{background:var(--vt-success);color:#fff}
.vt-step.active{color:var(--vt-text)}
.vt-step.active .vt-step-no{background:var(--vt-primary);color:#fff}
.vt-step-sep{flex:1;min-width:20px;height:2px;background:var(--vt-border)}
.vt-book-hold-bar{background:#fff;border:1px solid #fcd34d;background:#fffbeb;padding:10px 14px;border-radius:10px;margin-bottom:12px;font-size:13px;font-weight:600;color:#92400e}
.vt-book-grid{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:flex-start}
.vt-book-main{min-width:0}
.vt-book-h{font-size:20px;font-weight:800;margin:0 0 12px;color:var(--vt-text)}
.vt-book-section{background:#fff;border:1px solid var(--vt-border);border-radius:12px;padding:14px 16px;margin-bottom:12px}
.vt-book-section-h{font-size:15px;font-weight:800;margin:0 0 10px;color:var(--vt-text)}
.vt-book-loading{padding:14px;text-align:center;color:var(--vt-muted);font-size:13px}
.vt-book-grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vt-book-fld{display:flex;flex-direction:column;gap:4px}
.vt-book-fld.vt-book-full{grid-column:1/-1}
.vt-book-fld label{font-size:12px;font-weight:600;color:#334155}
.vt-book-fld input,.vt-book-fld select,.vt-book-fld textarea{padding:10px 12px;border:1.5px solid var(--vt-border);border-radius:10px;font-size:14px;font-family:inherit;color:var(--vt-text);background:#fff;outline:none;transition:.15s;width:100%;min-height:44px}
.vt-book-fld input:focus,.vt-book-fld select:focus,.vt-book-fld textarea:focus{border-color:var(--vt-primary);box-shadow:0 0 0 3px rgba(250,126,30,.12)}
.vt-book-fld textarea{resize:vertical;min-height:60px}
.vt-req{color:var(--vt-danger)}
.vt-pax-block{background:var(--vt-soft);border:1px solid var(--vt-border);border-radius:10px;margin-bottom:8px;overflow:hidden}
.vt-pax-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;cursor:pointer;background:#fff}
.vt-pax-head:hover{background:var(--vt-primary-l)}
.vt-pax-label{font-weight:700;font-size:13.5px;color:var(--vt-text)}
.vt-pax-hint{font-size:11px;color:var(--vt-muted)}
.vt-pax-status{font-size:12px;color:var(--vt-muted);padding:3px 8px;background:#f1f5f9;border-radius:6px}
.vt-pax-status.vt-pax-done{background:#dcfce7;color:#166534;font-weight:700}
.vt-pax-body{padding:12px 14px;border-top:1px dashed var(--vt-border);display:none}
.vt-pax-block.open .vt-pax-body{display:block}

.vt-baggage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px;margin-bottom:10px}
.vt-bag-opt{display:flex;flex-direction:column;align-items:center;padding:10px 8px;background:#fff;border:1.5px solid var(--vt-border);border-radius:10px;cursor:pointer;transition:.15s;text-align:center;gap:4px}
.vt-bag-opt:has(input:checked){border-color:var(--vt-primary);background:var(--vt-primary-l)}
.vt-bag-opt input{position:absolute;opacity:0}
.vt-bag-lb{font-size:13px;font-weight:700;color:var(--vt-text)}
.vt-bag-pr{font-size:11px;color:var(--vt-primary-d);font-weight:600}
.vt-addon-list{display:flex;flex-direction:column;gap:6px}
.vt-addon-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#fff;border:1.5px solid var(--vt-border);border-radius:10px;cursor:pointer;transition:.15s}
.vt-addon-item:has(input:checked){border-color:var(--vt-primary);background:var(--vt-primary-l)}
.vt-addon-info{flex:1;min-width:0}
.vt-addon-name{font-size:13.5px;font-weight:700;color:var(--vt-text)}
.vt-addon-item small{font-size:11.5px;color:var(--vt-muted)}
.vt-addon-price{font-size:12px;color:var(--vt-primary-d);font-weight:700;white-space:nowrap}

.vt-book-agree{padding:12px 16px}
.vt-book-check{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:13px;line-height:1.5}
.vt-book-check input{margin-top:3px;accent-color:var(--vt-primary-d)}
.vt-book-check a{color:var(--vt-primary-d);font-weight:700}

.vt-book-submit{display:block;width:100%;padding:14px;background:var(--vt-ig);color:#fff;border:0;border-radius:10px;font-weight:800;font-size:15px;cursor:pointer;font-family:inherit;text-shadow:0 1px 2px rgba(0,0,0,.12);transition:.15s}
.vt-book-submit:hover:not(:disabled){background:var(--vt-ig-d)}
.vt-book-submit:disabled{opacity:.7;cursor:not-allowed}

.vt-book-side{position:sticky;top:16px}
.vt-book-summary{background:#fff;border:1px solid var(--vt-border);border-radius:12px;padding:14px 16px;margin-bottom:10px}
.vt-sum-faretype{background:var(--vt-primary-l);color:var(--vt-primary-d);padding:6px 10px;border-radius:6px;font-size:12.5px;margin-bottom:10px}
.vt-sum-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;border-bottom:1px dashed var(--vt-border)}
.vt-sum-row:last-of-type{border-bottom:0}
.vt-sum-total{font-size:15px;font-weight:800;padding-top:8px;border-top:2px solid var(--vt-border);border-bottom:0}
.vt-sum-total span:last-child{color:var(--vt-danger);font-size:17px}
.vt-sum-warn-box{margin-top:10px;padding:8px 10px;border-radius:8px;background:#fef2f2;border:1px solid #fca5a5;color:#991b1b;font-size:12px;font-weight:600;line-height:1.4}
.vt-sum-warn-box.vt-sum-warn-mild{background:#fffbeb;border-color:#fcd34d;color:#92400e}
.vt-sum-contact{padding:10px;text-align:center;font-size:13px;color:var(--vt-muted)}
.vt-book-help{background:var(--vt-primary-l);border:1px dashed var(--vt-primary);border-radius:10px;padding:12px;font-size:12.5px}
.vt-book-help strong{display:block;margin-bottom:4px;color:var(--vt-text)}
.vt-book-help a{color:var(--vt-primary-d);font-weight:800;font-size:14px}

.vt-bf{background:var(--vt-soft);border:1px solid var(--vt-border);border-radius:10px;padding:14px}
.vt-bf-header{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.vt-bf-name{flex:1;min-width:0}
.vt-bf-name strong{display:block;font-size:14px;font-weight:800}
.vt-bf-name small{font-size:11.5px;color:var(--vt-muted)}
.vt-bf-faretype{display:inline-block;margin-top:4px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:5px;background:#fef3c7;color:#92400e}
.vt-bf-date{font-size:12.5px;color:var(--vt-muted);font-weight:600}
.vt-bf-route{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px;align-items:center;padding:10px;background:#fff;border-radius:8px}
.vt-bf-pt{text-align:center}
.vt-bf-time{font-size:18px;font-weight:800}
.vt-bf-code{font-size:12.5px;color:var(--vt-muted);font-weight:700}
.vt-bf-city{font-size:11px;color:var(--vt-muted)}
.vt-bf-arrow{text-align:center}
.vt-bf-dur{font-size:11px;color:var(--vt-muted)}
.vt-bf-line{height:2px;background:var(--vt-border);margin:4px 0}
.vt-bf-stops{font-size:11.5px;color:var(--vt-success);font-weight:700}
.vt-bf-timeline{margin-top:12px;padding-top:12px;border-top:1px dashed var(--vt-border)}
.vt-bf-seg{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#fff;border-radius:8px;margin-bottom:6px}
.vt-bf-seg-line{display:flex;align-items:center;gap:10px}
.vt-bf-seg-info strong{display:block;font-size:13px}
.vt-bf-seg-info small{font-size:11px;color:var(--vt-muted)}
.vt-bf-seg-rt{font-size:12.5px;color:#1f2937}
.vt-bf-stop{font-size:11.5px;color:#92400e;background:#fffbeb;border:1px dashed #fcd34d;padding:4px 10px;border-radius:6px;margin:2px 0}

.vt-price-notice{margin:8px 0;padding:10px 12px;border-radius:10px;font-size:13px;font-weight:600;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.vt-price-notice.up{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}
.vt-price-notice.down{background:#dcfce7;color:#166534;border:1px solid #86efac}
.vt-price-accept{margin-left:auto;padding:6px 12px;background:currentColor;color:#fff;border:0;border-radius:6px;font-weight:700;font-size:12px;cursor:pointer;font-family:inherit}

.vt-book-success{background:#fff;border:1px solid var(--vt-border);border-radius:14px;padding:32px;text-align:center;max-width:520px;margin:24px auto}
.vt-book-success-icon{width:64px;height:64px;border-radius:50%;background:var(--vt-success);color:#fff;font-size:36px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:14px}
.vt-book-success h2{margin:0 0 10px;font-size:22px;font-weight:800}
.vt-book-ref strong{font-size:24px;font-weight:800;color:var(--vt-primary-d);letter-spacing:1px}
.vt-book-success-actions{display:flex;gap:10px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.vt-book-back-btn{padding:10px 18px;background:var(--vt-primary);color:#0f172a;border-radius:8px;font-weight:800;text-decoration:none;font-size:13.5px}
.vt-book-back-alt{background:#fff;border:1.5px solid var(--vt-border);color:var(--vt-text)}
.vt-book-err{background:#fff;border:1px solid #fca5a5;border-radius:14px;padding:32px;text-align:center;max-width:520px;margin:24px auto}
.vt-book-err-icon{width:50px;height:50px;border-radius:50%;background:var(--vt-danger);color:#fff;font-size:28px;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}
.vt-book-mobi-cta{display:none}

@media (max-width:1024px){
  .vt-results-layout{grid-template-columns:1fr}
  .vt-filters{position:fixed;top:0;right:0;bottom:0;left:auto;width:min(340px,92%);transform:translateX(100%);transition:.25s;z-index:100;border-radius:14px 0 0 14px;max-height:none;font-size:13px}
  .vt-filters.open{transform:translateX(0)}
  .vt-filters-close{display:block}
  .vt-filters-apply{display:block}
  .vt-mobi-filter-btn{display:inline-flex!important;align-items:center;gap:6px;background:var(--vt-ig);color:#fff;border:0;padding:8px 16px;border-radius:999px;font-weight:700;font-size:12.5px;cursor:pointer;box-shadow:0 3px 10px rgba(214,41,118,.25)}
  .vt-filter-row{font-size:13px;padding:5px 0}
  .vt-filter-h{font-size:12px;margin-bottom:8px}
  .vt-book-grid{grid-template-columns:1fr}
  .vt-book-side{position:static}
}

@media (max-width:768px){
  .vt-wrap{padding:10px;max-width:100%}
  .vt-card{padding:14px;border-radius:18px;max-width:100%;margin:0}
  .vt-trust-strip{max-width:100%;margin:10px 0 0}
  .vt-options{gap:8px 12px;margin-bottom:10px;padding-bottom:10px}
  .vt-options-sep{display:none}
  .vt-row1{gap:8px;margin-bottom:8px}
  .vt-row1.vt-ow,.vt-row1.vt-rt{grid-template-columns:1fr 1fr}
  .vt-row1 .vt-swap{display:none}
  .vt-row1 #vtOriginField,.vt-row1 #vtDestField,.vt-row1 #vtPaxField,.vt-row1 .vt-submit{grid-column:1/-1}
  .vt-row1 #vtDepartCell,.vt-row1 #vtReturnCell{grid-column:auto}
  .vt-row1.vt-ow #vtDepartCell{grid-column:1/-1}
  .vt-row2{grid-template-columns:1fr;gap:8px}
  .vt-field{min-height:48px;padding:4px 12px}
  .vt-inp{font-size:14px}
  .vt-mc-seg-grid{grid-template-columns:1fr;gap:8px}
  .vt-mc-swap{display:none}
  .vt-mc-actions{flex-direction:column;align-items:stretch;gap:8px}
  .vt-mc-add,.vt-mc-search,.vt-mc-pax{width:100%;min-width:auto}
  .vt-trust-strip{gap:8px;padding:6px 10px;justify-content:space-between;flex-direction:row;align-items:center;flex-wrap:wrap}
  .vt-trust-strip-lb{font-size:9.5px;padding:3px 7px}
  .vt-trust-strip-logos{justify-content:center;gap:8px;flex:1 1 100%;order:2;width:100%}
  .vt-trust-strip-logos img{height:14px;max-width:30px}
  .vt-trust-strip-meta{order:1;gap:8px;flex:0 0 auto}
  .vt-trust-mini{font-size:10.5px}
  .vt-pc-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:4px}
  .vt-pc-day{padding:8px 4px;min-height:54px;overflow:hidden}
  .vt-pc-date{font-size:11px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:clip;font-weight:700}
  .vt-pc-pr{font-size:11.5px;line-height:1.15;white-space:nowrap;overflow:hidden;font-weight:800}
  .vt-pc-pr i{font-size:10px;margin-right:2px}
  .vt-f-row{grid-template-columns:1fr;gap:10px;padding:12px}
  .vt-f-details{padding:0 8px 4px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .vt-f-details::-webkit-scrollbar{display:none}
  .vt-f-tab{font-size:11.5px;padding:7px 10px;flex-shrink:0}
  .vt-f-panel.open{padding:10px}
  .vt-f-itin{padding:12px}
  .vt-f-itin-row{grid-template-columns:70px 1fr;gap:10px}
  .vt-f-itin-time strong{font-size:17px}
  .vt-f-itin-flight{margin-left:70px;padding-left:10px}
  .vt-f-amenities{grid-template-columns:1fr;gap:2px}
  .vt-f-al{justify-content:flex-start;width:100%}
  .vt-f-alinfo{min-width:0;overflow:hidden}
  .vt-f-alinfo strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .vt-f-meta{flex-wrap:wrap}
  .vt-f-times{padding:8px;background:var(--vt-soft);border-radius:8px;min-width:0}
  .vt-f-time{font-size:18px}
  .vt-f-pricebox{flex-direction:row;justify-content:space-between;align-items:center;border-top:1px dashed var(--vt-border);padding-top:10px}
  .vt-f-price{font-size:17px}
  .vt-f-book{padding:8px 14px;font-size:13px;white-space:nowrap}
  .vt-rp{min-width:0;width:calc(100vw - 24px);max-width:calc(100vw - 24px);position:fixed;left:12px;right:12px;top:auto;bottom:12px;flex-direction:column;max-height:75vh;overflow:hidden}
  .vt-rp.open{display:flex}
  .vt-rp-left{flex:0 0 auto;display:flex;flex-direction:row;flex-wrap:nowrap;gap:4px;overflow-x:auto;overflow-y:hidden;max-height:none;width:100%;padding:8px;border-radius:12px 12px 0 0;background:#f8fafc;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
  .vt-rp-left::-webkit-scrollbar{height:3px}
  .vt-rp-left::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}
  .vt-rp-region{flex:0 0 auto;white-space:nowrap;padding:6px 12px;font-size:12px;border-radius:999px;background:#fff;border:1px solid var(--vt-border)}
  .vt-rp-region.active{background:var(--vt-primary);color:#fff;border-color:var(--vt-primary)}
  .vt-rp-right{flex:1 1 auto;width:100%;padding:8px;overflow-y:auto;max-height:55vh;-webkit-overflow-scrolling:touch}
  .vt-pax-dd,.vt-dd{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:auto;max-width:calc(100vw - 24px);max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch}
  .vt-drawer-panel{width:100%;border-radius:0}
  .vt-drawer-head{padding:14px 16px}
  .vt-drawer-body{padding:14px 16px}
  .vt-fare-tabs{padding:0 14px;overflow-x:auto;scrollbar-width:none}
  .vt-fare-tabs::-webkit-scrollbar{display:none}
  .vt-book-wrap{padding:8px}
  .vt-book-section{padding:12px}
  .vt-book-section-h{font-size:13px}
  .vt-book-grid2{grid-template-columns:1fr}
  .vt-book-fld input,.vt-book-fld select,.vt-book-fld textarea{font-size:16px}
  .vt-bf-route{grid-template-columns:1fr auto 1fr;gap:8px}
  .vt-bf-time{font-size:16px}
  .vt-bf-city{display:none}
  .vt-book-submit{display:none}
  .vt-book-mobi-cta{display:flex;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--vt-border);padding:10px 14px;align-items:center;gap:12px;z-index:100;box-shadow:0 -6px 20px rgba(0,0,0,.08)}
  .vt-book-mobi-price{display:flex;flex-direction:column}
  .vt-book-mobi-price small{font-size:11px;color:var(--vt-muted)}
  .vt-book-mobi-price strong{font-size:16px;font-weight:800;color:var(--vt-danger)}
  .vt-book-mobi-btn{flex:1;padding:12px;background:var(--vt-ig);color:#fff;border:0;border-radius:10px;font-weight:800;font-size:14px;cursor:pointer;min-height:46px}
  .vt-step-lb{display:none}
}

@media (max-width:480px){
  .vt-fc-bagrow{gap:4px}
  .vt-fc-bag{padding:5px 6px}
  .vt-fc-bag span{font-size:11px}
  .vt-fare-grid{grid-template-columns:1fr}
  .vt-row1.vt-rt #vtDepartCell,.vt-row1.vt-rt #vtReturnCell{grid-column:1/-1}
}
