/* Route pages. Extends site.css — same Helvetica, same restraint, just wider
   because tables need room. */
.container.wide{max-width:min(92vw,720px)}

.rt{font-size:min(5.5vw,30px);line-height:1.15;letter-spacing:-.4px;font-weight:500;color:#262626;margin-bottom:4px}
.big{font-size:min(9vw,44px);line-height:1.1;letter-spacing:-1px;font-weight:500;color:#262626;margin-top:14px}
.big .unit{display:block;font-size:15px;letter-spacing:-.1px;font-weight:400;color:#939393;margin-top:7px}
.muted{color:#939393}
.warn{color:#8a6100;margin-top:10px}

/* fare distribution */
.dist{margin-top:12px}
.qrow{display:flex;align-items:center;gap:12px;padding:7px 0}
.qrow .ql{width:72px;flex:none;color:#939393;font-size:13px}
.qrow .qbar{flex:1;height:5px;border-radius:999px;background:#ececec;overflow:hidden}
.qrow .qbar i{display:block;height:100%;border-radius:999px;background:#5199de}
.qrow .qv{width:72px;flex:none;text-align:right;font-variant-numeric:tabular-nums;color:#333}

table{width:100%;border-collapse:collapse;margin-top:10px}
th{text-align:left;font-weight:500;color:#939393;font-size:13px;padding:8px 0;border-bottom:1px solid #ececec}
td{padding:10px 0;border-bottom:1px solid #ececec;color:#333}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td.good{color:#1a7f4b}
td.bad{color:#8a6100}
.rtbl a{color:#262626;text-decoration:none}
.rtbl a:hover{text-decoration:underline;text-underline-offset:2px}
.pair{color:#939393;margin-left:8px;font-size:12px}
.tag{font-size:11px;padding:2px 6px;border-radius:5px;margin-left:6px;white-space:nowrap}
.tag.flat{background:#e7f4ed;color:#1a7f4b}
.tag.rec{background:#fdf3e2;color:#8a6100}

.search{
  width:100%;margin-top:14px;padding:10px 12px;border:1px solid #e4e4e0;border-radius:9px;
  font:inherit;font-size:15px;color:#262626;background:#fff;
}
.search:focus{outline:none;border-color:#5199de}

/* waitlist */
.waitlist .wl{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.waitlist input[type=email]{
  flex:1;min-width:200px;padding:10px 12px;border:1px solid #e4e4e0;border-radius:9px;
  font:inherit;font-size:15px;background:#fff;color:#262626;
}
.waitlist input[type=email]:focus{outline:none;border-color:#5199de}
.waitlist button{
  padding:10px 16px;border:0;border-radius:9px;background:#262626;color:#fff;
  font:inherit;font-size:15px;font-weight:500;cursor:pointer;
}
.waitlist button:hover{opacity:.88}
.hp{position:absolute;left:-9999px}

/* search-first index */
.big-h{font-size:min(7vw,36px);line-height:1.12;letter-spacing:-.6px}
.sub{color:#939393;margin-top:8px}
.finder{position:relative;margin-top:22px}
.finder-label{
  display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  color:#939393;margin-bottom:6px;
}
.finder input{
  width:100%;padding:15px 16px;border:1px solid #e4e4e0;border-radius:14px;
  font:inherit;font-size:17px;color:#262626;background:#fff;
}
.finder input:focus{outline:none;border-color:#5199de}
.sug{
  position:absolute;left:0;right:0;top:100%;margin-top:7px;z-index:20;
  background:#fff;border:1px solid #e4e4e0;border-radius:14px;overflow:hidden;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.sug-row{
  display:grid;grid-template-columns:1fr auto;gap:2px 12px;
  padding:12px 16px;text-decoration:none;border-bottom:1px solid #f1f1ef;
}
.sug-row:last-child{border-bottom:0}
.sug-row:hover{background:#fafafa}
.sug-pair{color:#262626;font-weight:500}
.sug-cities{grid-column:1;color:#939393;font-size:13px}
.sug-price{grid-row:1/3;align-self:center;color:#333;font-variant-numeric:tabular-nums;white-space:nowrap}

.cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
@media(max-width:560px){.cards{grid-template-columns:1fr}}
.card{
  display:block;padding:14px;border:1px solid #e4e4e0;border-radius:13px;
  text-decoration:none;background:#fff;
}
.card:hover{border-color:#cfd4d9}
.card-pair{display:block;color:#262626;font-weight:500}
.card-cities{display:block;color:#939393;font-size:13px;margin-top:3px}
.card-foot{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:10px}
.card-foot b{color:#262626;font-weight:500;font-variant-numeric:tabular-nums}
.card-pct{color:#1a7f4b;font-size:12px}
