.note-source { font-size: .92rem; color: var(--doux); max-width: 70ch; }
.cycle-entete { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; flex-wrap: wrap; margin-bottom: 8px; }
.cycle-entete .titre-section { margin-bottom: 20px; }
.couloirs { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.couloir { display: grid; grid-template-columns: 180px 1fr; align-items: center; gap: 24px; padding: 20px 24px; border-radius: var(--rayon-carte); background: var(--fond-carte); border: var(--bord-carte, 0) solid var(--bleu); }
.couloir-code { font-size: clamp(2.6rem, 5vw, 4rem); font-weight: 900; line-height: 1; letter-spacing: -.03em; color: transparent; -webkit-text-stroke: 2.5px var(--bleu); border-right: 3px dashed rgba(15, 61, 110, .35); padding-right: 20px; }
.couloir h3 { font-size: 1.35rem; margin-bottom: 8px; }
.couloir-age { font-size: .95rem; font-weight: 600; color: var(--doux); letter-spacing: 0; }
.couloir-sous { margin: 0 0 4px; font-weight: 700; font-size: .88rem; color: var(--doux); }
.couloir .liste-matieres { display: flex; flex-wrap: wrap; gap: 6px 22px; padding-left: 18px; }
.section-sable .teinte-douce { --fond-carte: #fff; }
@media (max-width: 640px) { .couloir { grid-template-columns: 1fr; gap: 8px; } .couloir-code { border-right: 0; padding: 0; } }
