.ticket-tfl__title{
    display:flex;
    align-items:center;
    font-weight:700;
}

.ticket-tfl__group{
    padding-top:1rem;
    margin-top:1rem;
    border-top:1px solid #eef2f7;
}

.ticket-tfl__group:first-child{
    padding-top:0;
    margin-top:0;
    border-top:0;
}

.ticket-tfl__group-head{
    display:flex;
    align-items:center;
    gap:.5rem;
    margin-bottom:.75rem;
}

.ticket-tfl__group-title{
    margin:0;
    font-size:.95rem;
    font-weight:700;
}

.ticket-tfl__group-icon{
    color:#152D75;
}

.ticket-tfl__items{
    display:grid;
    gap:.75rem;
}

.ticket-tfl__item{
    border:1px solid #e3e8f1;
    border-radius:14px;
    padding:.85rem .95rem;
    background:#fff;
}

.ticket-tfl__station{
    display:flex;
    align-items:center;
    gap:.55rem;
    flex-wrap:wrap;
    font-weight:700;
}

.ticket-tfl__station-link{
    text-decoration:none;
}

.ticket-tfl__primary{
    display:inline-flex;
    align-items:center;
    padding:.18rem .5rem;
    border-radius:999px;
    background:#f1f4fb;
    border:1px solid #dfe6f3;
    font-size:.72rem;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.03em;
}

.ticket-tfl__meta{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem .9rem;
    margin-top:.45rem;
    color:#667085;
    font-size:.9rem;
}

.ticket-tfl__meta span{
    display:inline-flex;
    align-items:center;
    gap:.3rem;
}

.ticket-tfl__lines{
    display:flex;
    flex-wrap:wrap;
    gap:.4rem;
    margin-top:.65rem;
}

.ticket-tfl__line{
    display:inline-flex;
    align-items:center;
    border-radius:999px;
    padding:.25rem .55rem;
    background:#f8f9fc;
    border:1px solid #e1e7f0;
    font-size:.8rem;
    font-weight:600;
}
