/* Uses the canonical MAXVEL tokens in tokens.css. No global resets. */
.mx-event,.mx-allergens,.mx-menu,.mx-logos,.mx-gallery{box-sizing:border-box;font-family:var(--font);color:var(--text);min-width:0;line-height:1.5}
.mx-event *,.mx-allergens *,.mx-menu *,.mx-logos *,.mx-gallery *{box-sizing:border-box}
.mx-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.mx-event a:focus-visible,.mx-menu a:focus-visible,.mx-gallery a:focus-visible,.mx-gallery button:focus-visible,.mx-logos button:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.mx-event{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-sm) var(--radius-sm);overflow:hidden;display:flex;flex-direction:column}
.mx-event>picture{display:block}
.mx-event>img,.mx-event>picture>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.mx-event__body{padding:var(--space-5);display:flex;flex:1;flex-direction:column;gap:var(--space-3)}
.mx-event h3{font-family:var(--font-heading,var(--font));font-weight:400;font-size:var(--text-xl);line-height:1.2;margin:0;overflow-wrap:anywhere}
.mx-event p{margin:0;color:var(--muted);overflow-wrap:anywhere}
.mx-event__link{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:44px;color:var(--accent);margin-top:auto;text-underline-offset:5px;overflow-wrap:anywhere}
.mx-event__link>span[aria-hidden]{font-size:1.5em}
.mx-age{display:inline-block;border:1px solid currentColor;border-radius:var(--radius-sm);padding:2px 6px;font:600 var(--text-xs)/1.4 var(--font);vertical-align:middle}
.mx-allergens__heading{margin:0 0 var(--space-2);font-size:var(--text-sm)}
.mx-status{display:inline-block;color:var(--warning);background:var(--warning-bg);padding:2px 8px;border-radius:var(--radius-sm)}
.mx-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:var(--space-2)}
.mx-tags li{background:var(--surface-2);color:var(--text);border:1px solid var(--line);padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--text-sm);max-width:100%;overflow-wrap:anywhere}
.mx-menu{position:sticky;top:var(--mx-menu-top,0px);z-index:5;padding:var(--space-2);border-block:1px solid var(--line);background:var(--bg)}
.mx-menu ul{display:flex;list-style:none;gap:var(--space-2);overflow-x:auto;padding:6px;margin:0;scrollbar-width:thin}
.mx-menu li{flex:0 0 auto;max-width:min(75vw,360px)}
.mx-menu a{display:flex;align-items:center;min-height:44px;padding:8px 16px;border:1px solid var(--control-border);border-radius:var(--radius-pill);color:var(--text);text-decoration:none;overflow-wrap:anywhere}
.mx-menu a[aria-current]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}
.mx-menu-section{scroll-margin-top:var(--mx-menu-offset,130px)}
.mx-logos__controls,.mx-gallery__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4)}
.mx-logos__controls p,.mx-gallery__header h2{margin:0}
.mx-gallery__header h2{font:400 var(--text-2xl)/1.2 var(--font-heading,var(--font))}
.mx-gallery button,.mx-logos button{font:inherit;min-height:44px;padding:8px 16px;border:1px solid var(--control-border);color:var(--text);background:var(--surface);border-radius:var(--radius-pill);cursor:pointer;overflow-wrap:anywhere;max-width:100%}
.mx-logos__viewport{overflow-x:auto;container-type:inline-size}
.mx-logos__track{display:flex;width:max-content}
.mx-logos ul{list-style:none;display:flex;align-items:center;justify-content:space-around;min-width:100cqw;padding:0;margin:0}
.mx-logos li{padding:16px 32px;width:200px;flex:0 0 200px}
.mx-logos img{display:block;width:100%;height:72px;object-fit:contain}
.mx-logos ul[aria-hidden]{display:none}
.mx-logos[data-ready] .mx-logos__viewport{overflow:hidden}
.mx-logos[data-ready] ul[aria-hidden]{display:flex}
.mx-logos[data-ready] .mx-logos__track{animation:mx-marquee 30s linear infinite}
.mx-logos[data-paused] .mx-logos__track,.mx-logos:hover .mx-logos__track,.mx-logos:focus-within .mx-logos__track{animation-play-state:paused}
.mx-logos[data-reduced] .mx-logos__track{animation:none}
.mx-logos[data-reduced] .mx-logos__viewport{overflow-x:auto}
.mx-logos[data-reduced] ul[aria-hidden]{display:none}
@keyframes mx-marquee{to{transform:translateX(-50%)}}
.mx-gallery__controls{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.mx-gallery__strip{display:flex;gap:var(--space-5);overflow-x:auto;scroll-snap-type:x mandatory;list-style:none;padding:6px 4px 16px;margin:0}
.mx-gallery__strip>li{flex:0 0 min(78vw,380px);scroll-snap-align:start;min-width:0}
.mx-gallery figure{margin:0}
.mx-gallery__strip img{display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--radius-sm)}
:where(.mx-gallery:not(.mx-gallery--editorial))>.mx-gallery__strip img{aspect-ratio:4/5}
.mx-gallery figcaption{padding-top:var(--space-3);font-size:var(--text-sm);overflow-wrap:anywhere}
.mx-lightbox{width:100%;max-width:100vw;height:100%;max-height:100dvh;margin:0;border:0;padding:clamp(12px,3vw,40px);color:var(--text);background:var(--bg)}
.mx-lightbox::backdrop{background:#000c}
.mx-lightbox[open]{display:flex;flex-direction:column;gap:var(--space-4)}
.mx-lightbox__toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2)}
.mx-lightbox figure{min-height:0;flex:1;display:flex;flex-direction:column}
.mx-lightbox img{display:block;width:100%;min-height:0;flex:1;object-fit:contain}
.mx-lightbox figcaption{flex-shrink:0;max-height:25vh;overflow:auto}
html.mx-gallery-open{overflow:hidden}
[hidden]{display:none!important}
@media(prefers-reduced-motion:reduce){.mx-logos[data-ready] .mx-logos__track{animation:none}.mx-logos[data-ready] .mx-logos__viewport{overflow-x:auto}.mx-logos[data-ready] ul[aria-hidden]{display:none}}

/* Responsive image layout remains in the shared component. No source cloning. */
.mx-picture{display:block;min-width:0}.mx-picture img{max-width:100%}
.mx-gallery--editorial>.mx-gallery__header>.mx-gallery__controls{display:none}
.mx-gallery--editorial>.mx-gallery__strip{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));overflow:visible;scroll-snap-type:none;gap:var(--space-5)}
.mx-gallery--editorial>.mx-gallery__strip>li{grid-column:span 4;min-width:0}
.mx-gallery--editorial>.mx-gallery__strip>li:nth-child(5n+1){grid-column:span 8}
/* Leave the HTML width/height aspect hint intact before lazy image bytes arrive. */
.mx-gallery--editorial>.mx-gallery__strip img{object-fit:contain}
@media(max-width:700px){.mx-gallery--editorial>.mx-gallery__strip{grid-template-columns:1fr}.mx-gallery--editorial>.mx-gallery__strip>li,.mx-gallery--editorial>.mx-gallery__strip>li:nth-child(5n+1){grid-column:auto}}
