:root{
  --avta-tw-bg:#efedee;
  --avta-tw-card:#ffffff;
  --avta-tw-border:#d2d9e3;
  --avta-tw-soft:#f6f8fb;
  --avta-tw-ink:#11233e;
  --avta-tw-muted:#46576d;
  --avta-tw-blue:#1f7ec8;
  --avta-tw-blue-dark:#123f6c;
  --avta-tw-orange:#d98b20;
  --avta-tw-green:#206f54;
  --avta-tw-live:#123f6c;
}
.avta-tw-card{
  background:var(--avta-tw-card-bg,var(--avta-tw-card));
  border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));
  border-radius:var(--avta-tw-card-radius,28px);
  padding:var(--avta-tw-card-padding,24px);
  color:var(--avta-tw-text-color,var(--avta-tw-ink));
  box-shadow:0 1px 0 rgba(17,35,62,.02);
  margin:0 0 20px;
}
.avta-tw-card--notice{background:#fff9ef;border-color:#e2b763}
.avta-tw-card--utility{background:#f8fafc}
.avta-tw-card__head{margin-bottom:18px}
.avta-tw-card__head--split{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.avta-tw-card__headcopy--icon{position:relative;padding-left:22px}
.avta-tw-card__icon{position:absolute;left:0;top:.55rem;width:12px;height:12px;border-radius:50%;background:var(--avta-tw-icon-color,var(--avta-tw-accent,var(--avta-tw-blue)))}
.avta-tw-kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted));margin-bottom:6px}
.avta-tw-title{margin:0 0 6px;font-size:28px;line-height:1.05;font-weight:900;color:var(--avta-tw-heading-color,var(--avta-tw-ink))}
.avta-tw-subtitle,.avta-tw-helper,.avta-tw-updated,.avta-tw-note{margin:0;font-size:14px;line-height:1.55;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted));max-width:780px}
.avta-tw-helper,.avta-tw-updated,.avta-tw-note{margin-top:8px}
.avta-tw-empty{margin:0;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted));font-size:14px;line-height:1.6}
.avta-tw-empty--card{padding:16px;border-radius:18px;background:var(--avta-tw-soft);border:1px solid var(--avta-tw-border-color,var(--avta-tw-border))}
.avta-tw-empty--muted{opacity:.85}
.avta-tw-switch{display:flex;gap:8px;flex-wrap:wrap}
.avta-tw-switch__button{appearance:none;border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));background:#fff;color:var(--avta-tw-text-color,var(--avta-tw-ink));padding:10px 14px;border-radius:999px;font-size:13px;font-weight:800;cursor:pointer;transition:.16s ease}
.avta-tw-switch__button.is-active,.avta-tw-switch__button[aria-pressed="true"]{background:var(--avta-tw-accent,var(--avta-tw-orange));border-color:var(--avta-tw-accent,var(--avta-tw-orange));color:#111;box-shadow:0 10px 24px rgba(17,35,62,.14)}
.avta-tw-panel+.avta-tw-panel{margin-top:20px}
.avta-tw-panel__heading{font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--avta-tw-heading-color,var(--avta-tw-blue-dark));margin-bottom:14px}
.avta-tw-map{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));background:var(--avta-tw-soft);min-height:320px}
.avta-tw-map__canvas{width:100%;min-height:320px}
.avta-tw-map__fallback{position:absolute;left:16px;right:16px;bottom:16px;background:rgba(255,255,255,.95);backdrop-filter:blur(6px);border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));border-radius:18px;padding:12px 14px;font-size:13px;line-height:1.55;color:var(--avta-tw-text-color,var(--avta-tw-ink));box-shadow:0 10px 24px rgba(17,35,62,.08);z-index:2}
.avta-tw-map__fallback strong{display:block;margin-bottom:4px}
.avta-tw-map__fallback.is-hidden{display:none}
.avta-tw-map-popup__title{font-size:14px;font-weight:900;margin-bottom:4px;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-map-popup__meta{font-size:12px;line-height:1.5;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted))}
.avta-tw-stop-list{display:grid;gap:0}
.avta-tw-stop-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid #e7ebf0}
.avta-tw-stop-row--no-time{grid-template-columns:1fr}
.avta-tw-stop-row:last-child{border-bottom:none}
.avta-tw-stop-row__name{font-size:16px;font-weight:900;line-height:1.2;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-stop-row__meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;font-size:12px;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted))}
.avta-tw-stop-row__time{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end}
.avta-tw-stop-row__time strong{font-size:15px;line-height:1;font-weight:900;color:var(--avta-tw-heading-color,var(--avta-tw-blue-dark))}
.avta-tw-badge,.avta-tw-alert__badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;background:var(--avta-tw-soft);border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));color:var(--avta-tw-subtitle-color,var(--avta-tw-muted))}
.avta-tw-badge--realtime{background:#e8f1fb;border-color:#bfd2ea;color:var(--avta-tw-live)}
.avta-tw-badge--estimated{background:#fff6e8;border-color:#f1cf8f;color:#8a5200}
.avta-tw-badge--scheduled{background:#f7f8fa;border-color:#d8e0ea;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted))}
.avta-tw-alert-stack{display:grid;gap:14px}
.avta-tw-alert{padding:18px;border-radius:22px;background:var(--avta-tw-soft);border:1px solid #d2e9fb}
.avta-tw-alert--compact{padding:14px;border-radius:18px}
.avta-tw-alert__badge{margin-bottom:10px;background:#fff;border-color:#bdd7f0;color:var(--avta-tw-blue-dark)}
.avta-tw-alert__title{font-size:18px;font-weight:900;line-height:1.15;color:var(--avta-tw-text-color,var(--avta-tw-ink));margin-bottom:6px}
.avta-tw-alert__meta{font-size:12px;font-weight:700;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted));margin-bottom:8px}
.avta-tw-alert__copy{margin:0;font-size:14px;line-height:1.6;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-chip-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.avta-tw-chip{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:#edf8ff;border:1px solid #cfeafd;color:var(--avta-tw-blue-dark);font-size:12px;font-weight:800}
.avta-tw-snapshot{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}
.avta-tw-snapshot__stop{padding:20px;border-radius:24px;background:var(--avta-tw-soft);border:1px solid #d6eefe}
.avta-tw-snapshot__stop span{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted));margin-bottom:6px}
.avta-tw-snapshot__stop strong{display:block;font-size:22px;line-height:1.1;font-weight:900;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-snapshot__stop time{display:block;font-size:30px;line-height:1;font-weight:900;color:var(--avta-tw-heading-color,var(--avta-tw-blue-dark));margin-top:10px}
.avta-tw-snapshot__arrow{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-orange)));border:3px solid var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-orange)));font-size:28px;font-weight:900}
.avta-tw-next-trip{margin-top:14px;padding:14px 16px;border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));border-radius:18px;background:var(--avta-tw-soft)}
.avta-tw-next-trip__label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted));margin-bottom:6px}
.avta-tw-next-trip__value{font-size:15px;font-weight:800;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-stat-collection{display:grid;gap:14px}
.avta-tw-stat-collection--grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.avta-tw-stat-collection--stacked,.avta-tw-stat-collection--compact{grid-template-columns:1fr}
.avta-tw-stat{background:var(--avta-tw-soft);border:1px solid #dfe6ef;border-radius:22px;padding:16px}
.avta-tw-stat--rows{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.avta-tw-stat--minimal{background:transparent;border:none;border-radius:0;padding:0}
.avta-tw-stat__value{font-size:28px;line-height:1;font-weight:900;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-stat__label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted));margin-top:8px}
.avta-tw-stat__description{margin-top:8px;font-size:13px;line-height:1.55;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted))}
.avta-tw-summary-stack{display:grid;gap:14px}
.avta-tw-summary-block{padding:18px;border-radius:22px;background:#fff;border:1px solid var(--avta-tw-border-color,var(--avta-tw-border))}
.avta-tw-summary-block__head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.avta-tw-summary-block__head strong{font-size:18px;line-height:1.1;font-weight:900;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-summary-block__head span{font-size:13px;font-weight:700;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted))}
.avta-tw-timepoint-table,.avta-tw-hook-list,.avta-tw-frequency-grid{display:grid;gap:10px}
.avta-tw-timepoint-table__row,.avta-tw-hook-list__row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #e7ebf0}
.avta-tw-timepoint-table__row:last-child,.avta-tw-hook-list__row:last-child{border-bottom:none}
.avta-tw-timepoint-table__row span,.avta-tw-hook-list__row strong{font-size:14px;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-timepoint-table__row strong{font-size:14px;font-weight:900;color:var(--avta-tw-heading-color,var(--avta-tw-blue-dark))}
.avta-tw-frequency-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.avta-tw-frequency-card{background:var(--avta-tw-soft);border:1px solid #dfe6ef;border-radius:22px;padding:16px}
.avta-tw-frequency-card span{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted));margin-bottom:8px}
.avta-tw-frequency-card strong{display:block;font-size:20px;line-height:1.2;font-weight:900;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-frequency-card small{display:block;margin-top:8px;font-size:12px;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted))}
.avta-tw-route-grid{display:grid;grid-template-columns:repeat(var(--avta-tw-route-columns,3),minmax(0,1fr));gap:14px}
.avta-tw-route-grid--list,.avta-tw-route-grid--compact{grid-template-columns:1fr}
.avta-tw-route-card{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:flex-start;padding:18px;border-radius:24px;background:var(--avta-tw-soft);border:1px solid #dfe6ef}
.avta-tw-route-card__badge{min-width:54px;height:54px;padding:0 16px;border-radius:999px;display:grid;place-items:center;background:linear-gradient(180deg,#15558f,#0f4379);color:#fff;font-size:22px;font-weight:900;box-shadow:inset 0 0 0 4px rgba(255,255,255,.12)}
.avta-tw-route-card__body strong{display:block;font-size:18px;line-height:1.2;font-weight:900;color:var(--avta-tw-text-color,var(--avta-tw-ink));margin-bottom:4px}
.avta-tw-route-card__body span{display:block;font-size:13px;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted))}
.avta-tw-route-card__alerts{margin-top:8px;font-weight:800;color:var(--avta-tw-blue-dark)}
.avta-tw-route-card__actions{grid-column:2;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.avta-tw-button{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:var(--avta-tw-accent,var(--avta-tw-orange));color:#111;text-decoration:none;font-size:13px;font-weight:800}
.avta-tw-link{font-size:13px;font-weight:800;color:var(--avta-tw-blue-dark);text-decoration:none}
.avta-tw-button:focus-visible,.avta-tw-link:focus-visible,.avta-tw-switch__button:focus-visible{outline:3px solid var(--avta-tw-blue-dark);outline-offset:2px}
.avta-tw-hook-list__row code,.avta-tw-code{display:block;max-width:100%;overflow:auto;font-size:12px;line-height:1.5;background:#f5f7fa;border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));padding:8px 10px;border-radius:12px;white-space:pre-wrap;word-break:break-word}
.mapboxgl-popup-content{border-radius:16px;padding:14px 16px;border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));box-shadow:0 14px 34px rgba(17,35,62,.12)}
@media (max-width:1100px){
  .avta-tw-route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .avta-tw-snapshot{grid-template-columns:1fr;gap:12px}
  .avta-tw-snapshot__arrow{justify-self:center;transform:rotate(90deg)}
}
@media (max-width:680px){
  .avta-tw-card{padding:20px;border-radius:24px}
  .avta-tw-title{font-size:24px}
  .avta-tw-stop-row{grid-template-columns:1fr;align-items:flex-start}
  .avta-tw-stop-row__time{align-items:flex-start;text-align:left}
  .avta-tw-stat-collection--grid,.avta-tw-route-grid{grid-template-columns:1fr}
  .avta-tw-timepoint-table__row,.avta-tw-hook-list__row{grid-template-columns:1fr}
}

/* v0.4.0 route map, stop list, and departures grid updates */
.avta-tw-switch--route-select{display:grid;gap:8px;width:100%}
.avta-tw-switch--route-select .avta-tw-switch__button{width:100%;justify-content:flex-start;display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;background:transparent;color:var(--avta-tw-text-color,var(--avta-tw-ink));box-shadow:none;border-radius:18px;font-size:18px;font-weight:900}
.avta-tw-switch--route-select .avta-tw-switch__button.is-active,.avta-tw-switch--route-select .avta-tw-switch__button[aria-pressed="true"]{background:var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-blue)));color:#fff;box-shadow:none}
.avta-tw-switch--route-select .avta-tw-switch__icon{width:24px;height:24px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(17,35,62,.10);font-size:13px;line-height:1;flex:0 0 auto}
.avta-tw-switch--route-select .avta-tw-switch__button.is-active .avta-tw-switch__icon,.avta-tw-switch--route-select .avta-tw-switch__button[aria-pressed="true"] .avta-tw-switch__icon{background:#fff;color:var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-blue)))}
.avta-tw-switch--route-select .avta-tw-switch__label{display:inline-flex;align-items:center;min-height:24px}

.avta-tw-widget--stop-list .avta-tw-switch--route-select{gap:12px}
.avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__button{padding:0;background:transparent;color:var(--avta-tw-text-color,var(--avta-tw-ink));border-radius:22px;min-height:44px}
.avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__button.is-active,.avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__button[aria-pressed="true"]{display:flex;align-items:center;gap:14px;padding:10px 18px;background:var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-blue)));color:#fff}
.avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__button.is-active .avta-tw-switch__label,.avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__button[aria-pressed="true"] .avta-tw-switch__label{background:#fff;color:#111827;padding:8px 18px;border-radius:999px;box-shadow:none}
.avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__icon{width:36px;height:36px;background:#e2e8f0;color:#0f172a;font-size:16px}
.avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__button.is-active .avta-tw-switch__icon,.avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__button[aria-pressed="true"] .avta-tw-switch__icon{background:#fff;color:var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-blue)))}
.avta-tw-widget--route-map .avta-tw-card__head--split{align-items:flex-start}
.avta-tw-switch--route-select-compact{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;margin-left:auto;padding-bottom:2px;scrollbar-width:none}
.avta-tw-switch--route-select-compact::-webkit-scrollbar{display:none}
.avta-tw-switch--route-select-compact .avta-tw-switch__button{display:inline-flex;align-items:center;gap:10px;flex:0 0 auto;padding:0;border:none;background:transparent;color:var(--avta-tw-text-color,var(--avta-tw-ink));box-shadow:none;border-radius:999px;font-size:14px;font-weight:900;min-height:38px}
.avta-tw-switch--route-select-compact .avta-tw-switch__button.is-active,.avta-tw-switch--route-select-compact .avta-tw-switch__button[aria-pressed="true"]{padding:6px 10px;background:var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-blue)));color:#fff;box-shadow:none}
.avta-tw-switch--route-select-compact .avta-tw-switch__icon{width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e2e8f0;color:#0f172a;font-size:13px;line-height:1;flex:0 0 auto}
.avta-tw-switch--route-select-compact .avta-tw-switch__button.is-active .avta-tw-switch__icon,.avta-tw-switch--route-select-compact .avta-tw-switch__button[aria-pressed="true"] .avta-tw-switch__icon{background:#fff;color:var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-blue)))}
.avta-tw-switch--route-select-compact .avta-tw-switch__label{display:inline-flex;align-items:center;min-height:28px}
.avta-tw-switch--route-select-compact .avta-tw-switch__button.is-active .avta-tw-switch__label,.avta-tw-switch--route-select-compact .avta-tw-switch__button[aria-pressed="true"] .avta-tw-switch__label{background:#fff;color:#111827;padding:6px 12px;border-radius:999px}

.avta-tw-vehicle-marker{width:36px;height:36px;display:flex;align-items:center;justify-content:center}
.avta-tw-vehicle-marker__badge{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--avta-tw-vehicle-marker-color,var(--avta-tw-route-color,var(--avta-tw-blue)));border:3px solid #fff;box-shadow:0 10px 24px rgba(17,35,62,.18)}
.avta-tw-vehicle-marker__icon{width:17px;height:17px;display:block;fill:#fff}

.avta-tw-widget--stop-list .avta-tw-stop-list--timeline{--avta-tw-stop-line-width:24px;--avta-tw-stop-line-left:20px;--avta-tw-stop-dot-size:16px;--avta-tw-stop-content-offset:calc(var(--avta-tw-stop-line-left) + var(--avta-tw-stop-line-width) + 24px);--avta-tw-stop-dot-left:calc((var(--avta-tw-stop-line-left) + (var(--avta-tw-stop-line-width) / 2) - (var(--avta-tw-stop-dot-size) / 2)) - var(--avta-tw-stop-content-offset));position:relative;padding-left:var(--avta-tw-stop-content-offset)}
.avta-tw-widget--stop-list .avta-tw-stop-list--timeline::before{content:"";position:absolute;left:var(--avta-tw-stop-line-left);top:12px;bottom:12px;width:var(--avta-tw-stop-line-width);border-radius:999px;background:var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-blue)))}
.avta-tw-widget--stop-list .avta-tw-stop-item{position:relative;padding:8px 0 14px}
.avta-tw-widget--stop-list .avta-tw-stop-item:last-child{padding-bottom:0}
.avta-tw-widget--stop-list button.avta-tw-stop-row,.avta-tw-widget--stop-list .avta-tw-stop-row{appearance:none;-webkit-appearance:none;border:1px solid #cbd5e1!important;background:#e2e4e7!important;color:#111827!important;box-shadow:none!important;text-shadow:none!important;border-radius:20px;cursor:pointer;width:100%;text-align:left;position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:18px 18px 18px 22px;margin:0;font:inherit;line-height:1.35;min-height:88px}
.avta-tw-widget--stop-list .avta-tw-stop-row:hover,.avta-tw-widget--stop-list .avta-tw-stop-row:focus-visible{background:#d8dce1!important;border-color:#94a3b8!important;outline:3px solid rgba(31,166,232,.28);outline-offset:2px}
.avta-tw-widget--stop-list .avta-tw-stop-row__dot{position:absolute;left:var(--avta-tw-stop-dot-left);top:50%;transform:translateY(-50%);width:var(--avta-tw-stop-dot-size);height:var(--avta-tw-stop-dot-size);border-radius:999px;background:#fff;box-shadow:none}
.avta-tw-widget--stop-list .avta-tw-stop-row__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.avta-tw-widget--stop-list .avta-tw-stop-row__name{font-size:18px;font-weight:900;line-height:1.25;color:#111827}
.avta-tw-widget--stop-list .avta-tw-stop-row__meta{display:block;margin-top:0;font-size:12px;color:#475569}
.avta-tw-widget--stop-list .avta-tw-stop-row__time{align-items:flex-end;text-align:right;gap:6px;min-width:116px}
.avta-tw-widget--stop-list .avta-tw-stop-row__time strong{font-size:15px;color:#111827}
.avta-tw-widget--stop-list .avta-tw-stop-row__countdown{font-size:12px;font-weight:800;color:#334155}
.avta-tw-widget--stop-list .avta-tw-stop-row__chevron{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;margin-left:6px;color:#111827;transition:transform .18s ease}
.avta-tw-widget--stop-list .avta-tw-stop-row__chevron::before{content:"⌄";font-size:18px;line-height:1}
.avta-tw-stop-row.is-open .avta-tw-stop-row__chevron{transform:rotate(180deg)}
.avta-tw-widget--stop-list .avta-tw-stop-row .avta-tw-badge{background:#334155;border-color:#334155;color:#fff}
.avta-tw-widget--stop-list .avta-tw-stop-row .avta-tw-badge--realtime{background:var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-blue)));border-color:transparent;color:#fff}
.avta-tw-widget--stop-list .avta-tw-stop-row .avta-tw-badge--estimated{background:#f59e0b;border-color:#b45309;color:#111827}
.avta-tw-widget--stop-list .avta-tw-stop-row .avta-tw-badge--scheduled{background:#334155;border-color:#334155;color:#fff}
.avta-tw-stop-accordion{overflow:hidden;height:0;transition:height .22s ease}
.avta-tw-stop-accordion__inner{padding:12px 0 16px}
.avta-tw-stop-accordion__list{display:grid;gap:10px}
.avta-tw-stop-accordion__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));border-radius:16px;background:var(--avta-tw-soft)}
.avta-tw-stop-accordion__row strong{font-size:14px;font-weight:900;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-stop-accordion__controls{display:flex;gap:14px;flex-wrap:wrap;margin-top:14px}
.avta-tw-stop-accordion__control{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 20px;border-radius:18px;border:1px solid #cbd5e1;background:#fff;color:#111827;font:inherit;font-size:15px;font-weight:900;line-height:1.2;cursor:pointer;box-shadow:none;text-decoration:none}
.avta-tw-stop-accordion__control:hover,.avta-tw-stop-accordion__control:focus-visible{border-color:#94a3b8;background:#f8fafc;outline:3px solid rgba(31,166,232,.18);outline-offset:2px}
.avta-tw-stop-accordion__control.is-active,.avta-tw-stop-accordion__control[aria-pressed="true"]{background:#eef2f7;border-color:#cbd5e1;color:#111827}
.avta-tw-stop-accordion__controls[hidden]{display:none}
.avta-tw-screen-reader{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.avta-tw-departure-grid thead th:first-child,.avta-tw-departure-grid tbody th{background-clip:padding-box}
.avta-tw-departure-grid tbody th{box-shadow:8px 0 16px -16px rgba(15,23,42,.45)}

.avta-tw-departure-grid__modes{margin:0 0 16px}
.avta-tw-departure-grid-wrap{position:relative;overflow:auto;border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));border-radius:22px;background:#fff}
.avta-tw-departure-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
.avta-tw-departure-grid thead th{position:sticky;top:0;background:#f7f9fc;color:var(--avta-tw-subtitle-color,var(--avta-tw-muted));font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;z-index:2}
.avta-tw-departure-grid th,.avta-tw-departure-grid td{padding:14px 16px;border-bottom:1px solid #e7ebf0;border-right:1px solid #eef1f5;white-space:nowrap;text-align:left;position:relative;background-clip:padding-box}
.avta-tw-departure-grid thead th:first-child{left:0;z-index:5;background:#f7f9fc}
.avta-tw-departure-grid thead th:first-child::after{content:"";position:absolute;top:0;right:-1px;bottom:0;width:18px;background:linear-gradient(to right, rgba(247,249,252,1), rgba(247,249,252,.98));pointer-events:none}
.avta-tw-departure-grid tbody th{position:sticky;left:0;background:#fff;z-index:4;min-width:240px;font-size:15px;font-weight:900;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-departure-grid tbody th::after{content:"";position:absolute;top:0;right:-1px;bottom:0;width:18px;background:linear-gradient(to right, rgba(255,255,255,1), rgba(255,255,255,.98));pointer-events:none}
.avta-tw-departure-grid td span{display:inline-flex;align-items:center;justify-content:center;padding:8px 0;border-radius:999px;background:transparent;font-size:13px;font-weight:800;color:var(--avta-tw-text-color,var(--avta-tw-ink))}
.avta-tw-departure-grid td.is-next-scheduled span{background:transparent;color:var(--avta-tw-route-color,var(--avta-tw-accent,var(--avta-tw-blue)));font-weight:900}
.avta-tw-departure-grid td.is-empty span{color:#94a0af}
.avta-tw-departure-grid th:last-child,.avta-tw-departure-grid td:last-child{border-right:none}

@media (max-width:680px){
  .avta-tw-switch--route-select .avta-tw-switch__button{font-size:16px;padding:10px 14px}
  .avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__button.is-active,.avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__button[aria-pressed="true"]{padding:10px 14px}
  .avta-tw-widget--stop-list .avta-tw-switch--route-select .avta-tw-switch__icon{width:32px;height:32px}
  .avta-tw-switch--route-select-compact{gap:8px}
  .avta-tw-switch--route-select-compact .avta-tw-switch__button{font-size:13px}
  .avta-tw-switch--route-select-compact .avta-tw-switch__icon{width:26px;height:26px}
  .avta-tw-vehicle-marker,.avta-tw-vehicle-marker__badge{width:30px;height:30px}
  .avta-tw-vehicle-marker__icon{width:14px;height:14px}
  .avta-tw-widget--stop-list .avta-tw-stop-list--timeline{--avta-tw-stop-line-left:14px;--avta-tw-stop-line-width:24px;--avta-tw-stop-dot-size:15px;--avta-tw-stop-content-offset:calc(var(--avta-tw-stop-line-left) + var(--avta-tw-stop-line-width) + 18px)}
  .avta-tw-widget--stop-list .avta-tw-stop-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"body chevron" "time time";padding:16px 16px 16px 18px;min-height:0}
  .avta-tw-widget--stop-list .avta-tw-stop-row__body{grid-area:body}
  .avta-tw-widget--stop-list .avta-tw-stop-row__time{grid-area:time;align-items:flex-start;text-align:left;min-width:0}
  .avta-tw-widget--stop-list .avta-tw-stop-row__chevron{grid-area:chevron;justify-self:end;align-self:start;margin-left:0}
  .avta-tw-widget--stop-list .avta-tw-stop-row__name{font-size:16px}
  .avta-tw-stop-accordion__controls{flex-direction:column}
  .avta-tw-stop-accordion__control{width:100%}
  .avta-tw-departure-grid tbody th{min-width:200px}
}

/* v0.6.3 trip planner classic Google handoff form */
.avta-tw-widget--trip-planner{margin:0 0 20px}
.avta-tw-planner--classic{display:grid;gap:14px;align-items:start;color:var(--avta-tw-planner-text,#fff)}
.avta-tw-planner__title{margin:0;font-size:clamp(28px,3vw,40px);line-height:1.05;font-weight:900;letter-spacing:-.03em;color:var(--avta-tw-planner-text,#fff)}
.avta-tw-planner__powered-by{margin:0;display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;font-weight:700;color:var(--avta-tw-planner-text,#fff)}
.avta-tw-planner__powered-label{text-transform:uppercase;letter-spacing:.06em}
.avta-tw-google-wordmark{display:inline-flex;align-items:center;font-size:18px;font-weight:800;letter-spacing:-.02em}
.avta-tw-google-wordmark__g1,.avta-tw-google-wordmark__g2{color:#4285f4}
.avta-tw-google-wordmark__o1,.avta-tw-google-wordmark__e{color:#ea4335}
.avta-tw-google-wordmark__o2{color:#fbbc05}
.avta-tw-google-wordmark__l{color:#34a853}
.avta-tw-planner__locations{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.avta-tw-planner-field{display:grid;gap:8px;position:relative}
.avta-tw-planner-input,.avta-tw-planner-select{width:100%;min-height:52px;padding:14px 16px;border-radius:14px;border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));background:#fff;color:var(--avta-tw-text-color,var(--avta-tw-ink));font-size:16px;font-weight:700;line-height:1.25;box-shadow:none}
.avta-tw-planner-input::placeholder{color:#64748b;font-weight:600}
.avta-tw-planner-input:focus,.avta-tw-planner-select:focus{outline:none;border-color:var(--avta-tw-accent,var(--avta-tw-blue));box-shadow:0 0 0 3px rgba(31,166,232,.14)}
.avta-tw-planner-input:focus-visible,.avta-tw-planner-select:focus-visible{outline:3px solid var(--avta-tw-blue-dark);outline-offset:2px}
.avta-tw-planner__classic-controls{display:flex;align-items:flex-end;gap:12px 16px;flex-wrap:wrap}
.avta-tw-planner__trip-type{margin:0;padding:0;border:0;display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}
.avta-tw-planner__trip-option{position:relative;display:inline-flex}
.avta-tw-planner__trip-option input{position:absolute;inset:0;opacity:0;pointer-events:none}
.avta-tw-planner__trip-option span{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:999px;border:1px solid var(--avta-tw-border-color,var(--avta-tw-border));background:#fff;color:var(--avta-tw-text-color,var(--avta-tw-ink));font-size:15px;font-weight:800;line-height:1;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}
.avta-tw-planner__trip-option input:focus + span{outline:3px solid var(--avta-tw-blue-dark);outline-offset:2px}
.avta-tw-planner__trip-option input:checked + span{background:var(--avta-tw-accent,var(--avta-tw-blue));border-color:var(--avta-tw-accent,var(--avta-tw-blue));color:#fff;box-shadow:0 8px 18px rgba(31,166,232,.18)}
.avta-tw-planner__classic-group{display:grid;gap:6px;min-width:0}
.avta-tw-planner__group-label{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--avta-tw-planner-text,#fff)}
.avta-tw-planner__group-controls{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.avta-tw-planner__time-separator{font-size:22px;font-weight:900;color:var(--avta-tw-planner-text,#fff);line-height:1}
.avta-tw-planner-select--narrow{width:88px;min-width:88px;text-align:center}
.avta-tw-planner-select--ampm{width:96px;min-width:96px}
.avta-tw-planner-select--month{min-width:190px}
.avta-tw-planner-select--day{width:88px;min-width:88px;text-align:center}
.avta-tw-planner__actions{display:flex;align-items:flex-end;justify-content:flex-end;flex:1 1 auto;min-width:180px}
.avta-tw-button--planner{min-height:52px;padding:14px 24px;border:none;cursor:pointer;min-width:190px}
.avta-tw-planner__status{margin:0;font-size:13px;font-weight:700;color:var(--avta-tw-planner-text,#fff)}
.avta-tw-planner__status.is-error{color:#fff2f2}
@media (max-width:980px){
  .avta-tw-planner__locations{grid-template-columns:1fr}
  .avta-tw-planner__classic-controls{align-items:stretch}
  .avta-tw-planner__actions{width:100%;justify-content:flex-start}
}
@media (max-width:720px){
  .avta-tw-planner__trip-type{width:100%}
  .avta-tw-planner__trip-option{flex:1 1 0}
  .avta-tw-planner__trip-option span{width:100%}
  .avta-tw-planner__group-controls{flex-wrap:wrap}
  .avta-tw-planner-select--month{flex:1 1 180px;min-width:160px}
  .avta-tw-planner__actions{align-items:stretch}
  .avta-tw-button--planner{width:100%;min-width:0}
}
@media (max-width:520px){
  .avta-tw-planner__classic-controls{gap:10px}
  .avta-tw-planner__classic-group{width:100%}
  .avta-tw-planner__group-controls{width:100%}
  .avta-tw-planner-select--narrow,.avta-tw-planner-select--ampm,.avta-tw-planner-select--day{flex:1 1 0;min-width:0;width:auto}
  .avta-tw-planner__time-separator{display:none}
}

.avta-tw-all-routes__columns{display:grid;grid-template-columns:repeat(var(--avta-tw-all-routes-columns,2),minmax(0,1fr));gap:16px 24px;align-items:start}
.avta-tw-all-routes__column{display:flex;flex-direction:column;gap:12px;min-width:0}
.avta-tw-all-routes__link,.avta-tw-all-routes__link:link,.avta-tw-all-routes__link:visited,.avta-tw-all-routes__link:hover,.avta-tw-all-routes__link:focus,.avta-tw-all-routes__link:active{display:flex;align-items:center;gap:12px;width:100%;min-height:44px;padding:10px 14px;border-radius:22px;background:var(--avta-tw-route-color,var(--avta-tw-blue));color:var(--avta-tw-route-text,#fff) !important;text-decoration:none !important;box-shadow:0px 2px 2px 0px rgba(0,0,0,0.1) !important;background-image:none !important;border-bottom:none !important;outline:none;transition:box-shadow .12s ease,background-color .12s ease;overflow:hidden}
.avta-tw-all-routes__link:hover,.avta-tw-all-routes__link:focus-visible{background:color-mix(in srgb, var(--avta-tw-route-color,var(--avta-tw-blue)) 70%, white 30%);color:var(--avta-tw-route-text,#fff) !important;text-decoration:none !important;box-shadow:0px 3px 6px 0px rgba(0,0,0,0.1) inset !important;background-image:none !important;border-bottom:none !important}
.avta-tw-all-routes__link:focus-visible{outline:3px solid var(--avta-tw-blue-dark);outline-offset:3px}
.avta-tw-all-routes__icon{width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--avta-tw-route-color,var(--avta-tw-blue));font-size:16px;line-height:1;flex:0 0 auto;font-weight:900}
.avta-tw-all-routes__pill{display:inline-flex;align-items:center;min-height:36px;min-width:0;flex:1 1 auto;padding:8px 16px;border-radius:999px;background:#fff;color:#111827 !important;font-size:16px;font-weight:900;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none !important;box-shadow:none !important;background-image:none !important;border-bottom:none !important}

.avta-tw-layer-switches{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding-bottom:2px;scrollbar-width:none}
.avta-tw-layer-switches::-webkit-scrollbar{display:none}
.avta-tw-layer-switches__button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 14px;border-radius:999px;border:1px solid #d6dde7;background:#fff;color:var(--avta-tw-text-color,var(--avta-tw-ink));font-size:14px;font-weight:900;line-height:1;box-shadow:none;cursor:pointer;flex:0 0 auto}
.avta-tw-layer-switches__button.is-active,.avta-tw-layer-switches__button[aria-pressed="true"]{background:var(--avta-tw-blue-dark);border-color:var(--avta-tw-blue-dark);color:#fff}
.avta-tw-layer-switches__button:focus-visible{outline:3px solid var(--avta-tw-blue-dark);outline-offset:2px}

.avta-tw-widget--system-map .avta-tw-card__head--split{align-items:flex-start}
.avta-tw-system-map{position:relative;border-radius:28px;overflow:hidden;background:var(--avta-tw-soft);border:1px solid #dfe6ef}
.avta-tw-system-map .avta-tw-map__fallback{border-radius:0}

@media (max-width:900px){
  .avta-tw-all-routes__columns{grid-template-columns:1fr}
}
@media (max-width:720px){
  .avta-tw-all-routes__columns{gap:14px}
  .avta-tw-all-routes__column{gap:10px}
  .avta-tw-all-routes__link,.avta-tw-all-routes__link:link,.avta-tw-all-routes__link:visited,.avta-tw-all-routes__link:hover,.avta-tw-all-routes__link:focus,.avta-tw-all-routes__link:active{gap:10px;padding:8px 12px;min-height:40px}
  .avta-tw-all-routes__icon{width:32px;height:32px;font-size:14px}
  .avta-tw-all-routes__pill{min-height:32px;padding:7px 14px;font-size:15px}
  .avta-tw-layer-switches{justify-content:flex-start}
}
