.m18{background:#F2F0EA;color:#2C3742;font-family:'Inter',system-ui,sans-serif}
.m18 .tag{background:#2C3742;color:#F2F0EA}
.m18 .hd{display:flex;align-items:baseline;justify-content:space-between;gap:1.2em;
  padding-bottom:.6em;margin-bottom:.9em;border-bottom:calc(.53 * var(--u)) solid #2C3742}
.m18 .hd h3{font:600 1.5em/1 'Familjen Grotesk',sans-serif;letter-spacing:.1em;
  text-transform:uppercase;margin:0}
.m18 .hd .dt{font:500 .54em/1.7 'IBM Plex Mono',monospace;letter-spacing:.16em;
  text-transform:uppercase;color:#77808A;text-align:right;font-size:max(calc(2.2 * var(--u)),.54em)}
.m18 .col{border-right:1px solid rgba(44,55,66,.12);padding-right:.7em}
.m18 .col:last-child{border-right:0;padding-right:0}
.m18 .grp h4{font:500 .54em/1 'IBM Plex Mono',monospace;letter-spacing:.18em;
  text-transform:uppercase;text-align:center;margin:0 0 .5em;padding:.4em 0;
  background:rgba(44,55,66,.06);font-size:max(calc(2.5 * var(--u)),.54em)}
.m18 .ln{line-height:1.35}
.m18 .ln .t{flex:1 1 auto;min-width:0;font-weight:600;font-size:.9em}.m18 .ln .l{display:none}
.m18 .dsc{color:#77808A;padding:0;font-size:max(calc(2.5 * var(--u)),.76em)}
.m18 .t-vegetarien .ln .t::before{content:"";display:inline-block;width:.45em;height:.45em;
  border-radius:50%;background:#7C9A3C;margin-right:.4em;vertical-align:.08em}
.m18 .enc{background:color-mix(in srgb,#2C3742 7%,transparent);border:calc(.4 * var(--u)) solid #2C3742;margin:.9em 0 0;
  padding:.7em 1.1em .8em;display:flex;align-items:baseline;gap:1.2em;margin-inline:calc(-1 * 1.1em)}
.m18 .enc h4{flex:none;font:500 .54em/1 'IBM Plex Mono',monospace;letter-spacing:.2em;
  text-transform:uppercase;color:#2C3742;margin:0;font-size:max(calc(2.5 * var(--u)),.54em)}
.m18 .enc .it{flex:1 1 auto}
.m18 .enc .ln .t{font-weight:400;font-size:.92em}
.m18 .enc .dsc{}
.m18 .note{font:400 .58em/1.6 'IBM Plex Mono',monospace;letter-spacing:.05em;color:#77808A;font-size:max(calc(2.2 * var(--u)),.58em)}
.m18 .ft{margin-top:.8em;padding-top:.6em;border-top:1px solid rgba(44,55,66,.14)}
.m18 .ft .ad{font:500 .62em/1.5 'Inter',sans-serif;font-size:max(calc(2.2 * var(--u)),.62em)}
.m18 .ft .hr{font-family:'Inter',sans-serif;font-style:normal;color:#77808A}
.m18 .ft .tt{font:400 .52em/1.6 'IBM Plex Mono',monospace;letter-spacing:.06em;
  text-transform:uppercase;color:#77808A;margin-top:.3em;font-size:max(calc(2.2 * var(--u)),.52em)}
.m18.d-semaine-empilee .col{border-right:0;padding-right:0}
.m18.d-semaine-empilee .enc{flex-direction:column;gap:.2em}
.m18 .grp:has(>.fp)>h4{text-indent:.18em}
.m18 .ln .p{margin-left:.6em}
.m18 .t-vegetarien .ln .t{--puce:.85em}

/* L'ENCART EST UN BALLON POUR UN SEUL PLAT, ET LE MOTEUR LUI EN DONNE SIX.
   `display:flex` sur `.enc` fait de CHAQUE `.it` un element de rangee: six
   plats sortent en six colonnes d'un mot de large, illisibles, et qui
   debordent -- `flex:1 1 auto` ne descend pas sous la largeur du plus long
   mot. Le dessin d'origine est juste, son hypothese ne l'est pas: rien ne
   garantit qu'une section detachee n'ait qu'une entree.
   Des qu'il y en a deux, on empile. Et on rend la ligne NORMALE au lieu de la
   garder alignee a droite: six lignes calees a droite auraient des bords
   gauches tous differents, soit exactement l'escalier que le banc compte. */
.m18 .enc:has(.it + .it){display:block}
.m18 .enc:has(.it + .it)>h4{display:block;margin:0 0 .35em;font-size:max(calc(2.5 * var(--u)),1.15em)}
.m18 .enc:has(.it + .it) .it{text-align:left}
.m18 .enc:has(.it + .it) .ln{justify-content:space-between;gap:.4em}
.m18 .enc:has(.it + .it) .ln .l{display:block}
.m18 .enc:has(.it + .it) .dsc{text-align:left}
