.bus-detail-loading,
.bus-detail-load-error {
    width: 100%;
    max-width: 460px;
    margin: 0 auto;
    box-sizing: border-box;
}
.bus-detail-loading__status {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
}
.bus-detail-loading__toolbar {
    display: flex;
    justify-content: space-between;
    margin-bottom: var(--space-4);
}
.bus-detail-loading__circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--surface-muted);
}
.bus-detail-loading__card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-4);
    min-height: 600px;
    min-width: 0;
}
.bus-detail-loading__line,
.bus-detail-loading__photo {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
    background: var(--border-subtle);
    border-radius: var(--radius-sm);
}
.bus-detail-loading__line { height: 20px; }
.bus-detail-loading__heading,
.bus-detail-loading__info { display: grid; gap: var(--space-4); min-width: 0; }
.bus-detail-loading__title { width: 65%; height: 32px; }
.bus-detail-loading__subtitle { width: 45%; }
.bus-detail-loading__photo { width: 100%; aspect-ratio: 4 / 3; }
@media (min-width: 769px) {
    .bus-detail-loading,
    .bus-detail-load-error { max-width: 820px; }
    .bus-detail-loading__card {
        min-height: 340px;
        grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
        grid-template-rows: auto 1fr;
        grid-template-areas: "media name" "media info";
        column-gap: 22px;
    }
    .bus-detail-loading__heading { grid-area: name; }
    .bus-detail-loading__info { grid-area: info; align-self: start; }
    .bus-detail-loading__photo { grid-area: media; align-self: center; }
}
