:root{
  --tct-navy:#0b1b33;
  --tct-navy-2:#132946;
  --tct-ink:#14233b;
  --tct-muted:#6f7e93;
  --tct-line:#dfe6f0;
  --tct-bg:#eff4f9;
  --tct-card:#ffffff;
  --tct-cta:#ff642f;
  --tct-cta2:#ff8750;
  --tct-green:#0ea86b;
  --tct-soft:#f7f9fc;
}
.tct-app,.tct-voucher{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--tct-ink);max-width:1180px;margin:32px auto}
.tct-app *,.tct-voucher *{box-sizing:border-box}
.tct-app{background:linear-gradient(180deg,#f7f9fc 0%,#edf2f8 100%);border-radius:34px;padding:22px;border:1px solid #e7edf5;box-shadow:0 30px 90px rgba(14,26,47,.10)}
.tct-card{background:var(--tct-card);border:1px solid var(--tct-line);border-radius:28px;padding:32px;box-shadow:0 20px 60px rgba(11,23,42,.08)}
.tct-kicker{font-size:12px;font-weight:900;letter-spacing:.20em;color:var(--tct-cta);margin-bottom:8px;text-transform:uppercase}
.tct-card h2{font-size:clamp(30px,4vw,54px);line-height:1.02;margin:0 0 10px;color:var(--tct-navy)}
.tct-muted{color:var(--tct-muted);margin:0 0 24px;font-size:15px;line-height:1.6}
.tct-powered{display:flex;justify-content:flex-end;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:.18em;text-align:right;color:#7b728d;margin:0 4px 14px;text-transform:uppercase}
.tct-powered strong{color:var(--tct-cta)}
.tct-progress{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px auto 24px;max-width:640px;padding:0 18px}
.tct-progress span{width:38px;height:38px;border-radius:999px;background:#e6ecf4;color:#708099;display:grid;place-items:center;font-weight:900;border:1px solid #dbe3ef}
.tct-progress span.active{background:linear-gradient(135deg,var(--tct-cta),var(--tct-cta2));color:#fff;box-shadow:0 12px 24px rgba(255,90,54,.24);border-color:transparent}
.tct-progress i{height:4px;flex:1;background:#e6ecf4;border-radius:99px}
.tct-step{display:none}.tct-step.active{display:block}

/* Search step */
.tct-step-search{background:linear-gradient(135deg,#ffffff 0%,#fbfcff 55%,#f2f6fb 100%)}
.tct-search-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:22px}
.tct-search-badges{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;max-width:360px}
.tct-search-badges span{display:inline-flex;align-items:center;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #e1e8f2;color:#405268;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(13,25,45,.05)}
.tct-search-panel{background:linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%);border:1px solid #e4ebf4;border-radius:24px;padding:24px;box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 15px 35px rgba(12,23,42,.05)}
.tct-search-panel-top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:20px}
.tct-search-caption{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#8b7998;font-weight:900;text-align:right}
.tct-trip-tabs{display:inline-flex;padding:6px;background:#edf2f8;border:1px solid #dfe6f0;border-radius:16px;gap:4px}
.tct-trip-tabs button{border:0;background:transparent;padding:13px 26px;border-radius:12px;font-weight:800;color:#667289;cursor:pointer;transition:.18s;min-width:150px}
.tct-trip-tabs button.active{background:linear-gradient(135deg,var(--tct-navy),var(--tct-navy-2));color:#fff;box-shadow:0 12px 24px rgba(8,26,51,.20)}
.tct-grid{display:grid;gap:16px;margin-bottom:16px}.tct-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.tct-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.tct-grid-main{margin-bottom:18px}.tct-grid-meta{margin-bottom:0}
.tct-app label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;color:#67748a}
.tct-app input,.tct-app select,.tct-app textarea{width:100%;margin-top:7px;border:1px solid #d8e2ee;background:#fff;color:var(--tct-ink);border-radius:16px;padding:15px 16px;font:inherit;font-size:15px;outline:none;transition:.18s;min-height:56px;box-shadow:0 3px 10px rgba(14,26,47,.03)}
.tct-app input:focus,.tct-app select:focus,.tct-app textarea:focus{border-color:var(--tct-cta);box-shadow:0 0 0 4px rgba(255,95,46,.10);background:#fff}
.tct-search-footer{margin-top:18px;display:flex;justify-content:space-between;gap:18px;align-items:center;padding-top:18px;border-top:1px solid #e8eef6}
.tct-search-note-title{font-size:12px;font-weight:900;letter-spacing:.15em;text-transform:uppercase;color:var(--tct-cta);margin-bottom:4px}
.tct-search-note-text{font-size:14px;line-height:1.6;color:var(--tct-muted);max-width:620px}
.tct-autocomplete{position:relative}.tct-results{position:absolute;z-index:999;left:0;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #dce3ed;border-radius:16px;box-shadow:0 18px 44px rgba(11,23,42,.18);overflow:hidden;display:none}
.tct-result{padding:13px 15px;cursor:pointer;border-bottom:1px solid #eef1f5}.tct-result:last-child{border-bottom:0}.tct-result:hover{background:#fff6f1}.tct-result strong{display:block;color:var(--tct-navy);font-size:14px}.tct-result small{color:#8390a2;font-size:12px}
.tct-primary,.tct-secondary{border:0;border-radius:15px;padding:15px 22px;font-weight:900;font-size:15px;cursor:pointer;transition:.18s}
.tct-primary{background:linear-gradient(135deg,var(--tct-cta),var(--tct-cta2));color:#fff;box-shadow:0 14px 30px rgba(255,84,35,.24)}
.tct-primary:hover{filter:brightness(.98);transform:translateY(-1px)}.tct-secondary{background:#eef2f7;color:var(--tct-navy)}
.tct-search-footer .tct-primary{min-width:220px;justify-content:center}
.tct-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.tct-message{min-height:24px;color:#c13320;font-weight:700;margin:14px 2px 0}

/* Steps 2+ */
.tct-route-summary,.tct-checkout-summary{background:linear-gradient(135deg,var(--tct-navy),var(--tct-navy-2));color:#fff;border-radius:18px;padding:18px 20px;margin:16px 0 22px;line-height:1.6}
.tct-inline-note{margin-top:10px;padding:9px 12px;border-radius:12px;background:rgba(255,255,255,.09);font-size:13px}
.tct-vehicles,.tct-extras{display:grid;gap:15px}
.tct-vehicle{display:grid;grid-template-columns:130px 1fr auto;gap:18px;align-items:center;border:1px solid var(--tct-line);border-radius:22px;padding:18px;background:#fff;box-shadow:0 10px 24px rgba(12,23,42,.04)}
.tct-vehicle img{width:130px;height:90px;border-radius:16px;object-fit:cover;background:#eef2f7;border:1px solid #e5eaf1}.tct-vehicle .placeholder{width:130px;height:90px;border-radius:16px;background:linear-gradient(135deg,#edf3f8,#dbe4ee);display:grid;place-items:center;font-size:30px;color:#526378;border:1px solid #e5eaf1}.tct-vehicle h3{margin:0 0 6px;color:var(--tct-navy);font-size:24px}.tct-vehicle p{margin:0;color:var(--tct-muted);font-size:14px;line-height:1.55}
.tct-price{font-size:26px;font-weight:950;color:var(--tct-cta);text-align:right}.tct-price small{display:block;font-size:11px;color:#8a96a7;font-weight:700}.tct-vehicle button{margin-top:10px;min-width:154px}
.tct-extra{display:grid;grid-template-columns:1fr 140px;gap:14px;align-items:center;border:1px solid var(--tct-line);border-radius:18px;padding:16px;background:#fff}.tct-extra h3{margin:0 0 5px;color:var(--tct-navy)}.tct-extra p{margin:0;color:var(--tct-muted);font-size:14px}.tct-extra .price{font-weight:900;color:var(--tct-green);margin-top:6px}
.tct-empty-state{padding:16px 18px;border-radius:16px;background:#fff5f0;border:1px solid #ffd9cb;color:#b74224;min-height:0}
.tct-terms{display:flex!important;align-items:flex-start;gap:10px;margin-top:18px!important;font-size:13px!important}.tct-terms input{width:auto!important;min-height:0!important;margin-top:3px}
.tct-voucher .voucher-head{background:var(--tct-navy);color:#fff;border-radius:18px;padding:22px;margin-bottom:16px}.tct-voucher .voucher-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.tct-voucher .voucher-box{border:1px solid var(--tct-line);border-radius:14px;padding:14px}.tct-voucher .voucher-total{font-size:28px;font-weight:950;color:var(--tct-cta)}

@media(max-width:980px){
  .tct-search-head,.tct-search-panel-top,.tct-search-footer{flex-direction:column;align-items:flex-start}
  .tct-search-badges{justify-content:flex-start;max-width:none}
  .tct-search-caption{text-align:left}
}
@media(max-width:860px){
  .tct-app{padding:16px;border-radius:24px}
  .tct-card{padding:22px;border-radius:22px}
  .tct-grid.two,.tct-grid.four{grid-template-columns:1fr}
  .tct-trip-tabs{width:100%}
  .tct-trip-tabs button{min-width:0;flex:1}
  .tct-search-footer .tct-primary{width:100%}
  .tct-vehicle{grid-template-columns:88px 1fr}
  .tct-vehicle img,.tct-vehicle .placeholder{width:88px;height:68px}
  .tct-vehicle>div:last-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:10px}
  .tct-extra{grid-template-columns:1fr}
  .tct-voucher .voucher-grid{grid-template-columns:1fr}
  .tct-actions{flex-direction:column}
  .tct-primary,.tct-secondary{width:100%}
}
