/* MUNGO Fret & Transit — departs (complète styles.css ; ordre des couches déclaré dans styles.css) */
@layer pages {
  /* ---------- départs ---------- */
  .rule-cards { display: grid; gap: var(--sp-5); grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }
  .rcard { padding: 1.4rem; border-radius: var(--r-3); background: var(--c-beton); display: grid; gap: 0.75rem; align-content: start; }
  .rcard > .i { width: 2.25rem; height: 2.25rem; padding: 0.45rem; border-radius: var(--r-2); background: var(--c-marine); color: var(--c-white); }
  .rcard ul { list-style: none; padding: 0; display: grid; gap: 0.5rem; font-size: 0.9375rem; }
  .rcard li { padding-left: 1rem; position: relative; }
  .rcard li::before { content: ''; position: absolute; left: 0; top: 0.68em; width: 0.4rem; height: 2px; background: var(--c-orange); }
  .rcard b { color: var(--c-marine); }
  .departs { display: grid; gap: var(--sp-5); }
  .departs__bar { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; align-items: center; padding: 0.9rem 1rem; border-radius: var(--r-3); background: var(--c-white); }
  .departs__count { margin-left: auto; font-weight: 700; color: var(--c-marine); font-size: 0.9375rem; }
  .month { display: grid; gap: var(--sp-4); }
  .month__nav { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
  .month__nav h3 { font-size: var(--step-1); text-transform: capitalize; }
  .month__nav .btn { min-width: 2.75rem; padding-inline: 0.7rem; }
  .cal { width: 100%; table-layout: fixed; background: var(--c-white); border-radius: var(--r-3); overflow: hidden; font-size: 0.875rem; }
  .cal caption { text-align: left; font-weight: 800; color: var(--c-marine); padding-bottom: 0.5rem; caption-side: top; }
  .cal th { padding: 0.6rem 0.3rem; font-family: var(--font-mono); font-size: 0.6875rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-muted); background: var(--c-beton-2); }
  .cal td { height: 5.5rem; vertical-align: top; padding: 0.35rem; border: 1px solid var(--c-line-soft); }
  .cal__d { display: block; font-weight: 700; color: var(--c-marine); font-size: 0.8125rem; }
  .cal td.is-out .cal__d { color: var(--c-line); }
  .cal td.is-today { background: var(--c-orange-pale); }
  .cal__ev { display: block; margin-top: 0.2rem; padding: 0.1rem 0.3rem; border-radius: 3px; font-size: 0.6875rem; line-height: 1.25; font-weight: 700; background: var(--c-marine); color: var(--c-white); overflow-wrap: anywhere; }
  .cal__ev--air { background: var(--c-orange); color: var(--c-ink); }
  .cal__ev--relay { background: var(--c-sky); color: var(--c-marine); font-weight: 600; }
  .cal__legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; font-size: 0.8125rem; color: var(--c-muted); }
  .cal__legend span { display: inline-flex; align-items: center; gap: 0.4em; }
  .cal__legend i { width: 0.9rem; height: 0.9rem; border-radius: 3px; background: var(--c-marine); }
  .cal__legend i.air { background: var(--c-orange); } .cal__legend i.relay { background: var(--c-sky); border: 1px solid var(--c-line); }
  @media (max-width: 47.99em) { .cal td { height: 4.5rem; padding: 0.2rem; } .cal__ev { font-size: 0; padding: 0; height: 0.45rem; } .cal { font-size: 0.75rem; } }
  .quote { font-size: var(--step-1); font-weight: 700; color: var(--c-marine); line-height: 1.4; padding-left: 1.2rem; border-left: 4px solid var(--c-orange); margin-block: var(--sp-5); }
  .holidays { display: grid; gap: 0; margin-top: var(--sp-4); border-top: 1px solid var(--c-line-soft); }
  .holidays li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.55rem 0; border-bottom: 1px solid var(--c-line-soft); font-size: 0.9375rem; }
  .holidays time { font-weight: 600; }
  .holidays span { color: var(--c-muted); text-align: right; }

}
