/* AI Bus Trip Departures Board
   Black/white airport-departure-board aesthetic.
   Status dots keep their traffic-light colours from TrafficLightRenderer. */
.aibus-departures-wrap {
    max-width: 1100px;
    margin: 0 auto;
    background: #000;
    color: #fff;
    font-family: 'Courier New', Courier, monospace;
    font-size: 17px;   /* 14px +20% ≈ 17px */
    line-height: 1.5;
    padding: 24px 20px;
    border-radius: 6px;
    position: relative;
}
/* Environment badge — small, positioned top-right */
.aibus-env-badge {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
    font-size: 13px;   /* was 12px +20% ≈ 14px, keep smaller to not dominate */
    margin-bottom: 4px;
}
.aibus-env-live {
    color: #2ecc71;
}
.aibus-env-test {
    color: #e74c3c;
}
a.aibus-refresh,
a.aibus-refresh:visited {
    color: var(--global-palette2, #D1A155);
    text-decoration: none;
    font-weight: 600;
}
a.aibus-refresh:hover {
    text-decoration: underline;
}
/* Day group */
.aibus-day-group {
    margin-bottom: 20px;
}
.aibus-day-header {
    margin: 0;
    padding: 1.5em 0;
    font-size: 18px;   /* was 15px +20% = 18px */
    font-weight: 700;
    color: #fff;
    font-family: inherit;
    letter-spacing: 0.06em;
}
.aibus-day-sep {
    border: none;
    border-top: 1px solid #555;
    margin: 0 0 8px 0;
}
/* Column headers row */
.aibus-column-headers {
    display: flex;
    gap: 0;
    padding: 4px 0;
    border-bottom: 1px solid #555;
    margin-bottom: 4px;
    font-size: 13px;   /* was 11px +20% ≈ 13px */
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #aaa;
}
/* Event row */
.aibus-row {
    display: flex;
    gap: 0;
    padding: 4px 0;
    border-bottom: 1px dotted #333;
    margin-bottom: 0.5em;
}
/* Override: between-row margin removed when it's also the last row of the day (last-of-type has its own larger margin) */
.aibus-day-group .aibus-row:last-of-type {
    margin-bottom: 1em;
}
.aibus-row:last-child {
    border-bottom: none;
}
/* 2em before the first trip row after column headers */
.aibus-column-headers + .aibus-row {
    margin-top: 2em;
}
/* Column widths shared by header + row */
.aibus-col-dep    { width: 8%;  min-width: 60px; }
.aibus-col-code   { width: 14%; min-width: 90px; }
.aibus-col-dest   { width: 34%; min-width: 200px; }
.aibus-col-status { width: 22%; min-width: 130px; }
.aibus-col-action { width: 22%; min-width: 100px; text-align: center; }
/* Empty day */
.aibus-empty-day {
    padding: 8px 0;
    font-style: italic;
    color: #95a5a6;
    padding-left: 22%; /* roughly below DESTINATION column */
}
/* Shared action-button wrapper — fixed dimensions, immune to AddToAny */
.aibus-action-button {
    display: inline-block !important;
    background: var(--global-palette2, #D1A155) !important;
    border-radius: 3px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
    line-height: 16px !important;
    vertical-align: middle !important;
    overflow: hidden !important;
}
/* Inner anchor — typography only, no box model */
.aibus-action-internal,
.aibus-action-internal:visited,
.aibus-action-internal:hover {
    color: var(--global-palette-btn, #fff) !important;
    text-decoration: none !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    line-height: 16px !important;
    display: block !important;
    padding: 2px 12px !important;
    margin: 0 !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
/* Hover on wrapper */
.aibus-action-button:hover {
    background: var(--global-palette-btn-bg-hover, #fff) !important;
}
.aibus-action-button:hover .aibus-action-internal,
.aibus-action-button:hover a {
    color: var(--global-palette-btn-hover, #D1A155) !important;
}
/* Gap between Book and Share */
.aibus-share-action {
    margin-left: 10px !important;
}
/* Trip code link — no underline, white hover text (background is black) */
a.aibus-trip-link,
a.aibus-trip-link:visited {
    color: var(--global-palette2, #D1A155);
    text-decoration: none;
}
a.aibus-trip-link:hover {
    color: #fff;
}
/* Admin action buttons — same size and weight as "Book" link */
.aibus-admin-action {
    display: inline-block;
    background: var(--global-palette2, #D1A155);
    color: var(--global-palette-btn, #fff);
    padding: 2px 12px;
    border-radius: 3px;
    font-weight: 700;
    font-size: 14px;
    line-height: inherit;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    cursor: pointer;
    border: none;
    font-family: inherit;
}
.aibus-admin-action:hover {
    background: var(--global-palette-btn-bg-hover, #fff);
    color: var(--global-palette-btn-hover, #D1A155);
}
.aibus-admin-action--danger {
    background: transparent;
    color: #e74c3c;
    border: 1px solid #e74c3c;
}
.aibus-admin-action--danger:hover {
    background: #e74c3c;
    color: #fff;
}

