/* Two-month trip calendar (trip-calendar.js), styled like VeXeRe's date box. */
.tc-pop{position:absolute;z-index:1300;width:768px;max-width:calc(100vw - 16px);background:#fff;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.16);color:#222;font-family:inherit;overflow:hidden;animation:tc-in .14s ease-out}
@keyframes tc-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.tc-pop *{box-sizing:border-box}
.tc-pop button{font:inherit;margin:0;cursor:pointer}
.tc-head{display:none}
.tc-nav{position:absolute;top:18px;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:none;color:#2474e5;display:grid;place-items:center}
.tc-nav:hover:not(:disabled){background:#eef5ff}.tc-nav:disabled{color:#c9ced6;cursor:default}
.tc-nav svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.tc-prev{left:14px}.tc-next{right:14px}
.tc-months{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:0 14px 14px}
.tc-month h3{margin:22px 0 18px;text-align:center;font-size:20px;font-weight:700;line-height:28px;color:#222}
.tc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px 1px}
.tc-wd{padding:0 0 8px;margin-bottom:6px;border-bottom:1px solid #eee;text-align:center;font-size:12px;color:#444}
.tc-wd.tc-wkd{color:#f05259}
.tc-day{position:relative;height:50px;padding:0;border:0;border-radius:6px;background:#fff;color:#222;text-align:center;transition:background .12s}
.tc-day:hover:not(:disabled):not(.tc-sel){background:#eef5ff}
.tc-d{display:block;font-size:16px;font-weight:600;line-height:20px}
.tc-l{position:absolute;right:6px;bottom:5px;font-size:9px;line-height:11px;color:#8b8f96;font-weight:400}
.tc-l1{color:#f05259}
.tc-day.tc-today .tc-d{color:#2474e5}
.tc-day:disabled{cursor:default;background:#fff}.tc-day:disabled .tc-d{color:#bcbcbc;font-weight:500}.tc-day:disabled .tc-l{color:#cfd3d8}
.tc-day.tc-range{background:#fff4d6;border-radius:0}
.tc-day.tc-start{background:#fff4d6}
.tc-day.tc-sel{background:#ffb51b;color:#111}.tc-day.tc-sel .tc-l{color:#1d5fd6}
.tc-day:focus-visible{outline:2px solid #2474e5;outline-offset:1px}
.tc-foot{display:flex;justify-content:center;padding:10px 16px;background:#f5f6f8;border-top:1px solid #eee}
.tc-switch{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#444;cursor:pointer;user-select:none}
.tc-switch input{position:absolute;opacity:0;width:1px;height:1px}
.tc-track{position:relative;width:36px;height:20px;border-radius:10px;background:#c6cbd2;transition:background .15s}
.tc-track::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s}
.tc-switch input:checked+.tc-track{background:#3ac463}.tc-switch input:checked+.tc-track::after{transform:translateX(16px)}
.tc-switch input:focus-visible+.tc-track{outline:2px solid #2474e5;outline-offset:2px}
/* Phones: a bottom sheet with one month at a time. */
.tc-pop.tc-sheet{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-width:none;border-radius:16px 16px 0 0;box-shadow:0 -8px 30px rgba(0,0,0,.2);animation:tc-up .18s ease-out}
@keyframes tc-up{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
.tc-sheet .tc-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 0;font-size:16px}
.tc-x{width:32px;height:32px;border:0;border-radius:50%;background:#f1f2f4;font-size:20px;line-height:1;color:#444}
.tc-sheet .tc-nav{top:62px}
.tc-sheet .tc-months{grid-template-columns:1fr;padding:0 10px 10px}
.tc-sheet .tc-month+.tc-month{display:none}
.tc-sheet .tc-month h3{font-size:17px;margin:14px 0 12px}
.tc-sheet .tc-day{height:46px}
.tc-sheet .tc-foot{padding-bottom:max(10px,env(safe-area-inset-bottom))}

/* Bus search dates on tramve.net (bus-trip-dates-v1.js). */
.bd-date,.bd-ret{cursor:pointer}
.bd-show{cursor:pointer;caret-color:transparent;text-overflow:ellipsis}
.bd-ret{position:relative}
.bd-ret .bd-body{display:flex;flex-direction:column;min-width:0;flex:1}
.bd-cap{font-size:11px;color:#667085;line-height:1.3}
.bd-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f1f2f4;color:#555;font-size:16px;line-height:1;cursor:pointer}
.bd-x:hover{background:#e3e6ea;color:#111}
.bd-add{display:none;align-self:stretch;align-items:center;color:#2474e5;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}
.bd-ret:not(.bd-round) .bd-body,.bd-ret:not(.bd-round) .bd-x,.bd-ret:not(.bd-round) .field-icon{display:none!important}
.bd-ret:not(.bd-round) .bd-add{display:flex}
.bd-ret:not(.bd-round):hover{background:#f5f9ff}
.bd-ret.bd-round{padding-right:40px!important}
.bd-choosing{box-shadow:inset 0 -2px 0 #2474e5}

/* Home page box: from | to | departure | return | search. */
#bus-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 170px 190px 148px!important}
#bus-search label:nth-child(3){border-radius:0!important;border-right:0!important}
#bus-search label.bd-ret{border:1px solid #dddfe3!important;border-radius:0 8px 8px 0!important;padding-left:14px!important;justify-content:center}
#bus-search label.bd-ret::before{display:none!important}
#bus-search .bd-ret .bd-cap{font-size:11px}
@media(max-width:1100px){#bus-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 150px 170px 130px!important}}
@media(max-width:800px){#bus-search{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}#bus-search label.bd-ret{border-radius:8px!important}}
@media(max-width:767px){html #bus-search.tv-mobile-search>label.bd-ret{display:flex!important;align-items:center;justify-content:flex-start!important;min-height:58px;padding-left:42px!important;border:1px solid #dfe5ee!important;border-radius:8px!important;background:#f8faff!important}html #bus-search.tv-mobile-search>label.bd-ret::before{display:none!important}html #bus-search .bd-ret .bd-cap{font-size:13px}}
#bus-search .bd-add{color:#2474e5!important}

/* Results page box (bus.html). */
#search-form .journey-fields{grid-template-columns:1fr 1fr 180px 210px}
#search-form #swap{left:calc((100% - 390px)/2 - 16px)}
#search-form .journey-fields .bd-date{border-right:1px solid #eee}
#search-form .bd-ret{display:flex;align-items:center;gap:10px;padding:9px 16px;min-width:0;border:0}
#search-form .bd-ret .bd-cap{color:#858b94}
#search-form .bd-ret input{margin-top:3px}
@media(max-width:950px){#search-form .journey-fields{grid-template-columns:1fr 1fr 150px 180px}#search-form #swap{left:calc((100% - 330px)/2 - 16px)}}
@media(max-width:680px){#search-form .journey-fields{grid-template-columns:1fr 1fr}#search-form .journey-fields .date-field{grid-column:auto;border-top:1px solid #eee}#search-form #swap{left:calc(50% - 14px)}#search-form .bd-ret{padding:10px;min-height:52px}}

/* Outbound / return tabs over the results. */
.bd-legs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px}
.bd-legs[hidden]{display:none}
.bd-legs a{display:grid;gap:2px;padding:12px 16px;border:1px solid #dedede;border-radius:10px;background:#fff;color:#14181f;text-decoration:none}
.bd-legs a:hover{border-color:#99b7de}
.bd-legs a.active{border-color:#2474e5;box-shadow:inset 0 0 0 1px #2474e5;background:#f5f9ff}
.bd-legs small{font-size:11px;font-weight:700;color:#2474e5;text-transform:uppercase;letter-spacing:.4px}
.bd-legs strong{font-size:15px}.bd-legs span{font-size:12px;color:#6c737d}
@media(max-width:680px){.bd-legs{gap:8px}.bd-legs a{padding:10px 12px}.bd-legs strong{font-size:13px}}
