/* Préparer mon rendez-vous : fil conducteur en sept étapes, objectifs toujours visibles. Variables et composants du logiciel ; aucune couleur seule porteuse de sens. */
.rdv-fil { margin: 0 0 1rem; }
.rdv-fil ol { list-style: none; margin: 0 0 .4rem; padding: 0; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .4rem; counter-reset: rdv; }
.rdv-fil li a { display: flex; flex-direction: column; gap: .1rem; height: 100%; padding: .55rem .6rem; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); color: var(--ink); text-decoration: none; position: relative; }
.rdv-fil li a:hover { border-color: var(--accent); }
.rdv-fil li a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.rdv-fil .n, .rdv-etape h2 .n { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--accent); color: var(--on-accent); font-size: .78rem; font-weight: 700; flex: none; }
.rdv-fil b { font-size: .86rem; line-height: 1.2; } .rdv-fil small { color: var(--slate); font-size: .74rem; }
.rdv-fil li:not(:last-child) a::after { content: "›"; position: absolute; right: -.42rem; top: 1rem; color: var(--muted); font-size: 1rem; }
.rdv-etape { scroll-margin-top: 1rem; }
.rdv-etape h2 { display: flex; align-items: center; gap: .6rem; }
.rdv-etape h2 .meth { margin-left: auto; }
.rdv-cote { position: sticky; top: 1rem; align-self: start; display: grid; gap: .8rem; }
.rdv-cote .card { margin: 0; }
@media (max-width: 900px) { .rdv-fil ol { grid-template-columns: repeat(4, minmax(0, 1fr)); } .rdv-cote { position: static; } }
@media (max-width: 560px) { .rdv-fil ol { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rdv-fil li:not(:last-child) a::after { display: none; } }
