/* Allergen symbols, shared by every Mawimbi menu (Dion, 18 Oct). Colour follows each menu's allergen text. */
.algs { display: inline-flex; flex-wrap: wrap; gap: 6px 10px; align-items: center; vertical-align: middle; }
.alg { display: inline-grid; place-items: center; width: calc(22px * var(--fs, var(--s, 1))); height: calc(22px * var(--fs, var(--s, 1))); }
.alg svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.algs.none { font-style: italic; text-transform: none; letter-spacing: .02em; opacity: .8; }
.alg-key { display: none; flex-wrap: wrap; justify-content: center; gap: 8px 14px; max-width: 34rem; margin: 6px auto 4px; padding: 0 12px; }
[aria-pressed="true"] + .alg-key { display: flex; }
.alg-key span { display: inline-flex; align-items: center; gap: 6px; font: 400 calc(10px * var(--fs, var(--s, 1)))/1.2 "Jost", system-ui, sans-serif;
  letter-spacing: .12em; text-transform: uppercase; opacity: .85; }
.alg-key svg { width: calc(18px * var(--fs, var(--s, 1))); height: calc(18px * var(--fs, var(--s, 1))); fill: none; stroke: currentColor; stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; }
@media (prefers-reduced-motion: no-preference) { [aria-pressed="true"] + .alg-key { animation: alg-key-in 260ms cubic-bezier(.22,1,.36,1) both; } }
@keyframes alg-key-in { from { opacity: 0; transform: translateY(-4px); } }

/* Always-visible menus: static rows and keys, sized below the dish descriptions. */
.allergens-visible { --allergen-ink: var(--glass, var(--paper-3)); }
.allergens-visible:has(.sec-head) { --allergen-ink: var(--brass-text); }
.allergens-visible .algs { gap: 3px 7px; }
.allergens-visible .alg { width: calc(14px * var(--fs, var(--s, 1))); height: calc(14px * var(--fs, var(--s, 1))); }
.allergens-visible :is(.allergy, .allergen-detail) { color: var(--allergen-ink); }
.allergens-visible :is(.allergy, .allergen-detail) p { color: inherit; padding: 4px 0 0; margin: 0; }
.allergens-visible .algs.none { font-size: calc(10px * var(--fs, var(--s, 1))); letter-spacing: 0; }
.allergens-visible .allergen-legend { max-width: 34rem; margin: 18px auto 0; padding: 4px 8px; color: var(--allergen-ink); text-align: center; }
.allergens-visible .alg-key-title { margin: 0 0 6px; font: 400 calc(10px * var(--fs, var(--s, 1)))/1.4 var(--sans, var(--caps)); letter-spacing: .04em; }
.allergens-visible .alg-key { display: flex; gap: 6px 12px; margin: 0 auto; padding: 0; }
.allergens-visible .alg-key span { font-family: var(--sans, var(--caps)); font-size: calc(10px * var(--fs, var(--s, 1))); letter-spacing: .02em; text-transform: none; opacity: 1; gap: 4px; }
.allergens-visible .alg-key svg { width: calc(14px * var(--fs, var(--s, 1))); height: calc(14px * var(--fs, var(--s, 1))); flex: none; }
.allergens-visible .alg-guest { margin: 8px 0 0; font: italic calc(14px * var(--fs, var(--s, 1)))/1.4 var(--serif, var(--display)); color: inherit; text-wrap: balance; }
