.transports {
        display: flex;
        flex-direction: column;
        gap: .5rem;
}
.transport-ligne {
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: .5rem;
}

.transport-ligne > div {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem;
}

.transport-label {
    font-size: .7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    min-width: 3.5rem;
    color: #666;
}

.transport-pastilles {
    display: flex;
    gap: .25rem;
    flex-wrap: wrap;
    align-items: center;
}

.pastille {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    //padding: 0 .35rem;
    font-size: .65rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
}

.pastille-metro {
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
}
.pastille-bus {
  border-radius: 0;
  padding: .25em .5em;
}
.pastille-tram {
  border-radius: 0;
  padding: .1em .25em;
  border-style: solid;
  border-top-width: 3px;
  border-bottom-width: 3px;
  border-left-width: 0;
  border-right-width: 0;
}
.pastille-tram::before {
  content: 'T';
}

.pastille--long {
    /* border-radius: .8rem;
    padding: 0 .5rem; */
}

.transport-station {
    font-size: .8rem;
    color: #555;
}

/* ─── Métro RATP ─────────────────────────────────────────────── */
.pastille-metro    { background: #003CA6; } 
.pastille-metro-1  { background: #FFCE00; color: #000; }
.pastille-metro-2  { background: #003CA6; }
.pastille-metro-3  { background: #837902; }
.pastille-metro-3b { background: #6ECA97; color: #000; }
.pastille-metro-4  { background: #CF009E; }
.pastille-metro-5  { background: #FF7E2E; color: #000; }
.pastille-metro-6  { background: #6ECA97; color: #000; }
.pastille-metro-7  { background: #FA9ABA; color: #000; }
.pastille-metro-7b { background: #6ECA97; color: #000; }
.pastille-metro-8  { background: #E19BDF; color: #000; }
.pastille-metro-9  { background: #B6BD00; color: #000; }
.pastille-metro-10 { background: #C9910D; }
.pastille-metro-11 { background: #704B1C; }
.pastille-metro-12 { background: #007852; }
.pastille-metro-13 { background: #6EC4E8; color: #000; }
.pastille-metro-14 { background: #62259D; }/* fallback */

/* ─── Tramway RATP / IDFM ────────────────────────────────────── */
.pastille-tram     { border-color: #003ca6; color: #000;} /* fallback */
.pastille-tram-1   { border-color: #003ca6; color: #000;}
.pastille-tram-2   { border-color: #cf009e; color: #000;}
.pastille-tram-3   { border-color: #ff7e2e; color: #000; }
.pastille-tram-3a  { border-color: #ff7e2e; color: #000; }
.pastille-tram-3b  { border-color: #00ae41; color: #000;}
.pastille-tram-4   { border-color: #dc9600; color: #000; }
.pastille-tram-5   { border-color: #62259d; color: #000; }
.pastille-tram-6   { border-color: #e2231a; color: #000; }
.pastille-tram-7   { border-color: #704b1c; color: #000; }
.pastille-tram-8   { border-color: #837902; color: #000; }
.pastille-tram-9   { border-color: #3c91dc; color: #000; }
.pastille-tram-10  { border-color: #6e6e00; color: #000; }
.pastille-tram-11  { border-color: #ff5a00; color: #000; }
.pastille-tram-12  { border-color: #a50034; color: #000; }
.pastille-tram-13  { border-color: #8d653d; color: #000; }
.pastille-tram-14  { border-color: #00a092; color: #000; }

/* ─── RER ────────────────────────────────────────────────────── */
.pastille-rer   { background: #777; } /* fallback */
.pastille-rer-a { background: #E2231A; }
.pastille-rer-b { background: #4B92DB; }
.pastille-rer-c { background: #FFCD00; color: #000; }
.pastille-rer-d { background: #00814F; }
.pastille-rer-e { background: #C06DB5; }

/* ─── Bus RATP / IDFM ────────────────────────────────────────── */
/* Source : Référentiel des lignes — Île-de-France Mobilités Open Data */
.pastille-bus     { background: #0055c8; }           /* fallback */
.pastille-bus-21  { background: #82dc73; color: #000; }
.pastille-bus-25  { background: #ff1400; }
.pastille-bus-26  { background: #ff5a00; color: #000; }
.pastille-bus-27  { background: #ff5a00; color: #000; }
.pastille-bus-28  { background: #ff82b4; color: #000; }
.pastille-bus-38  { background: #0055c8; }
.pastille-bus-45  { background: #ff82b4; color: #000; }
.pastille-bus-46  { background: #d2d200; color: #000; }
.pastille-bus-47  { background: #ff82b4; color: #000; }
.pastille-bus-48  { background: #0055c8; }
.pastille-bus-57  { background: #6e6e00; }
.pastille-bus-60  { background: #ff1400; }
.pastille-bus-62  { background: #6e5b1e; }
.pastille-bus-64  { background: #82dc73; color: #000; }
.pastille-bus-68  { background: #ffbe00; color: #000; }
.pastille-bus-71  { background: #6e491e; }
.pastille-bus-72  { background: #ff1400; }
.pastille-bus-82  { background: #ff5a00; color: #000; }
.pastille-bus-84  { background: #d282be; color: #000; }
.pastille-bus-86  { background: #ff1400; }
.pastille-bus-88  { background: #d2d200; color: #000; }
.pastille-bus-91  { background: #dc9600; color: #000; }
.pastille-bus-92  { background: #ffbe00; color: #000; }
.pastille-bus-93  { background: #82dc73; color: #000; }
.pastille-bus-94  { background: #a0006e; }
.pastille-bus-102 { background: #ffbe00; color: #000; }
.pastille-bus-103 { background: #ff5a00; color: #000; }
.pastille-bus-109 { background: #d2d200; color: #000; }
.pastille-bus-115 { background: #00643c; }
.pastille-bus-117 { background: #00643c; }
.pastille-bus-122 { background: #d282be; color: #000; }
.pastille-bus-123 { background: #00643c; }
.pastille-bus-125 { background: #0055c8; }
.pastille-bus-126 { background: #82c8e6; color: #000; }
.pastille-bus-128 { background: #6e5b1e; }
.pastille-bus-129 { background: #6e6e00; }
.pastille-bus-133 { background: #82dc73; color: #000; }
.pastille-bus-145 { background: #a0006e; }
.pastille-bus-148 { background: #6e491e; }
.pastille-bus-151 { background: #a0006e; }
.pastille-bus-159 { background: #640082; }
.pastille-bus-160 { background: #00643c; }
.pastille-bus-162 { background: #0055c8; }
.pastille-bus-164 { background: #a0006e; }
.pastille-bus-168 { background: #82c8e6; color: #000; }
.pastille-bus-169 { background: #82dc73; color: #000; }
.pastille-bus-172 { background: #00643c; }
.pastille-bus-181 { background: #6e5b1e; }
.pastille-bus-183 { background: #ff1400; }
.pastille-bus-184 { background: #dc9600; color: #000; }
.pastille-bus-185 { background: #ff5a00; color: #000; }
.pastille-bus-187 { background: #640082; }
.pastille-bus-188 { background: #d282be; color: #000; }
.pastille-bus-192 { background: #82dc73; color: #000; }
.pastille-bus-194 { background: #ff5a00; color: #000; }
.pastille-bus-197 { background: #ff1400; }
.pastille-bus-215 { background: #82dc73; color: #000; }
.pastille-bus-239 { background: #a0006e; }
.pastille-bus-240 { background: #b90845; }
.pastille-bus-241 { background: #6e491e; }
.pastille-bus-244 { background: #a0006e; }
.pastille-bus-245 { background: #b6134c; }
.pastille-bus-249 { background: #d2d200; color: #000; }
.pastille-bus-256 { background: #6e5b1e; }
.pastille-bus-258 { background: #ff1400; }
.pastille-bus-260 { background: #ffbe00; color: #000; }
.pastille-bus-268 { background: #dc9600; color: #000; }
.pastille-bus-272 { background: #ff5a00; color: #000; }
.pastille-bus-275 { background: #ffbe00; color: #000; }
.pastille-bus-278 { background: #d282be; color: #000; }
.pastille-bus-281 { background: #dc9600; color: #000; }
.pastille-bus-297 { background: #a0006e; }
.pastille-bus-299 { background: #ff5a00; color: #000; }
.pastille-bus-301 { background: #d2d200; color: #000; }
.pastille-bus-302 { background: #ffbe00; color: #000; }
.pastille-bus-304 { background: #d2d200; color: #000; }
.pastille-bus-317 { background: #d2d200; color: #000; }
.pastille-bus-330 { background: #ffbe00; color: #000; }
.pastille-bus-341 { background: #ffbe00; color: #000; }
.pastille-bus-346 { background: #d2d200; color: #000; }
.pastille-bus-366 { background: #0055c8; }
.pastille-bus-368 { background: #d2d200; color: #000; }
.pastille-bus-378 { background: #00643c; }
.pastille-bus-382 { background: #8d653d; }
.pastille-bus-393 { background: #82c8e6; color: #000; }
.pastille-bus-467 { background: #6e6e00; }
.pastille-bus-564 { background: #0055c8; }
