.allergy-page{background:#f7f4ea;color:#1d2419}.allergy-header{position:absolute;background:transparent}.allergy-hero{position:relative;min-height:720px;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.55fr);gap:60px;align-items:center;overflow:hidden;padding:150px clamp(24px,7.3vw,120px) 90px;background:var(--green);color:#fff;isolation:isolate}.allergy-hero::before{content:"";position:absolute;z-index:-1;right:-10vw;top:-22vw;width:65vw;aspect-ratio:1;border:1px solid rgba(255,255,255,.09);border-radius:50%}.allergy-hero-copy{max-width:800px}.back-link{display:inline-block;margin-bottom:55px;color:rgba(255,255,255,.55);font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.allergy-hero h1{margin:0;font-family:var(--font-display),Georgia,serif;font-size:clamp(68px,8vw,126px);line-height:.82;letter-spacing:-.055em}.allergy-hero h1 em{color:var(--yellow);font-weight:500}.allergy-hero-copy>p:not(.eyebrow){max-width:620px;margin:32px 0 0;color:rgba(255,255,255,.68);font-size:15px;line-height:1.75}.allergy-actions{display:flex;align-items:center;gap:30px;margin-top:36px}.allergy-hero-mark{justify-self:end;width:min(30vw,400px);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);border-radius:50%;color:rgba(255,255,255,.6);font-family:var(--font-display),Georgia,serif;font-size:19px;font-style:italic}.allergy-hero-mark img{width:42%;margin-bottom:12px;filter:drop-shadow(0 25px 25px rgba(30,40,23,.22));transform:rotate(-9deg)}
.allergy-intro{display:grid;grid-template-columns:minmax(280px,.6fr) minmax(0,1.4fr);gap:70px;align-items:end;padding:100px clamp(24px,7.3vw,120px)}.allergy-intro h2,.dish-finder h2,.allergy-warning h2{margin:0;font-family:var(--font-display),Georgia,serif;color:var(--green-dark);font-size:clamp(48px,5vw,76px);line-height:.9;letter-spacing:-.04em}.allergen-legend-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.allergen-legend-grid span{padding:16px 14px;border:1px solid #dddcd2;border-radius:5px;background:#fff;color:#5f6759;font-size:10px;font-weight:700;text-align:center}
.allergy-workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:20px;padding:0 clamp(24px,4.5vw,76px) 110px}.dish-finder,.matrix-panel{border:1px solid #dfdfd7;border-radius:9px;background:#fff;box-shadow:0 20px 60px rgba(37,52,28,.07)}.dish-finder{align-self:start;position:sticky;top:20px;padding:30px}.dish-finder h2{font-size:44px}.dish-finder>p:not(.section-kicker):not(.result-count){color:#72796d;font-size:11px;line-height:1.65}.dish-search{display:block;margin:24px 0 14px}.dish-search>span{display:block;margin-bottom:8px;color:var(--green);font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.dish-search input{width:100%;height:48px;border:1px solid #dfe1da;border-radius:4px;padding:0 14px;outline:none;background:#fafaf7;font:500 12px var(--font-body),sans-serif}.dish-search input:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(70,90,57,.1)}.result-count{margin:10px 0;color:#92978d;font-size:9px}.dish-list{max-height:580px;overflow:auto;border-top:1px solid #ecece6}.dish-item{width:100%;display:flex;align-items:center;gap:10px;border:0;border-bottom:1px solid #ecece6;padding:12px 2px;background:none;color:#465040;font:600 10px var(--font-body),sans-serif;text-align:left;cursor:pointer}.dish-item::before{content:"";flex:0 0 7px;width:7px;height:7px;border:2px solid var(--yellow);border-radius:50%}.dish-item:hover{color:var(--green);padding-left:5px}.empty-dishes{padding:24px 0;color:#8a9085;font-size:11px;line-height:1.6}
.matrix-panel{min-width:0;overflow:hidden}.matrix-toolbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 20px;border-bottom:1px solid #e5e6df}.matrix-toolbar>div:first-child{display:flex;flex-direction:column;gap:6px}.matrix-toolbar strong{color:var(--green-dark);font-size:11px}.matrix-toolbar>div:first-child span{display:flex;align-items:center;gap:7px;color:#858b80;font-size:8px}.matrix-toolbar i{display:inline-block;width:10px;height:10px;border-radius:2px}.legend-no{background:#c6f0d4}.legend-yes{margin-left:5px;background:#ffcbd2}.zoom-controls{display:flex;align-items:center;gap:6px}.zoom-controls button{height:34px;min-width:34px;border:1px solid #dfe1da;border-radius:4px;background:#fff;color:var(--green-dark);font:800 12px var(--font-body),sans-serif;cursor:pointer}.zoom-controls button:hover{border-color:var(--green)}.zoom-controls output{min-width:49px;color:#6f776a;font-size:9px;text-align:center}.zoom-controls #zoom-reset{padding:0 12px;font-size:8px;text-transform:uppercase;letter-spacing:.07em}.matrix-scroller{height:730px;overflow:auto;padding:20px;background:#f5f4ee;overscroll-behavior:contain}.matrix-scroller img{display:block;width:1100px;max-width:none;height:auto;transition:width .2s ease}.matrix-help{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:18px 20px;border-top:1px solid #e5e6df}.matrix-help>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--yellow);color:var(--green-dark);font-size:8px;font-weight:800;text-transform:uppercase}.matrix-help p{margin:0;color:#7a8175;font-size:9px;line-height:1.5}.matrix-help a{color:var(--green);font-size:9px;font-weight:800;white-space:nowrap}
.allergy-warning{display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:30px;align-items:center;margin:0 clamp(24px,7.3vw,120px) 110px;padding:45px;border-radius:9px;background:var(--green-dark);color:#fff}.warning-icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--yellow);color:var(--green-dark);font-size:28px;font-weight:900}.allergy-warning .section-kicker{color:#fff}.allergy-warning h2{color:#fff;font-size:50px}.allergy-warning p:not(.section-kicker){max-width:720px;margin:14px 0 0;color:rgba(255,255,255,.62);font-size:11px;line-height:1.7}.warning-actions{display:flex;flex-direction:column;gap:8px}.warning-actions a{padding:13px 16px;border:1px solid rgba(255,255,255,.16);border-radius:4px;color:#fff;font-size:9px;font-weight:800;text-align:center}.warning-actions a:first-child{border-color:var(--yellow);background:var(--yellow);color:var(--green-dark)}
@media(max-width:1180px){.allergy-hero{grid-template-columns:1fr}.allergy-hero-mark{display:none}.allergy-workspace{grid-template-columns:280px minmax(0,1fr)}.allergen-legend-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.allergy-intro{grid-template-columns:1fr;gap:35px}.allergen-legend-grid{grid-template-columns:repeat(3,1fr)}.allergy-workspace{grid-template-columns:1fr}.dish-finder{position:static}.dish-list{display:grid;grid-template-columns:repeat(2,1fr);max-height:320px;gap:0 16px}.allergy-warning{grid-template-columns:60px 1fr}.warning-actions{grid-column:2;flex-direction:row}.matrix-scroller{height:620px}}
@media(max-width:620px){.allergy-header{height:86px}.allergy-page.has-announcement .allergy-hero{min-height:748px;padding:174px 22px 70px}.allergy-hero h1{font-size:clamp(58px,18vw,78px)}.back-link{margin-bottom:38px}.allergy-actions{align-items:flex-start;flex-direction:column;gap:20px}.allergy-intro{padding:75px 22px}.allergen-legend-grid{grid-template-columns:repeat(2,1fr)}.allergy-workspace{padding:0 14px 75px}.dish-finder{padding:25px 20px}.dish-list{grid-template-columns:1fr}.matrix-toolbar{align-items:flex-start;flex-direction:column}.matrix-scroller{height:520px;padding:10px}.matrix-scroller img{width:900px}.matrix-help{grid-template-columns:38px 1fr}.matrix-help a{grid-column:2}.allergy-warning{grid-template-columns:1fr;margin:0 14px 75px;padding:30px 22px}.warning-icon{width:52px;height:52px}.warning-actions{grid-column:1;flex-direction:column}.allergy-warning h2{font-size:42px}}

/* Digitale allergenenmatrix */
.matrix-total{padding:8px 11px;border-radius:999px;background:#f1f3ec;color:var(--green);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.matrix-scroller{padding:0;background:#fff;scrollbar-color:var(--green) #eceee8;scrollbar-width:thin}
.allergen-table{width:max-content;min-width:100%;border:0;border-collapse:separate;border-spacing:0;background:#fff;font-family:var(--font-body),sans-serif;font-size:9px;line-height:1.25}
.allergen-table caption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.allergen-table th,.allergen-table td{height:48px;border-right:1px solid rgba(70,90,57,.09);border-bottom:1px solid rgba(70,90,57,.09);padding:8px 9px;text-align:center}
.allergen-table thead th{position:sticky;top:0;z-index:4;min-width:82px;background:var(--yellow);color:#26331f;font-size:8px;font-weight:800;letter-spacing:.015em;box-shadow:0 1px 0 rgba(70,90,57,.16)}
.allergen-table thead th:first-child{left:0;z-index:6;min-width:235px;text-align:left;padding-left:16px}
.allergen-table tbody th{position:sticky;left:0;z-index:3;width:235px;min-width:235px;max-width:235px;padding:10px 16px;background:#fff;color:#34412f;font-size:9px;font-weight:700;text-align:left;box-shadow:8px 0 14px rgba(45,58,37,.06)}
.allergen-table td{min-width:82px;color:#354330;font-size:8px;font-weight:800;text-transform:uppercase}
.allergen-table td.clear{background:#cdf1d8}
.allergen-table td.contains{background:#ffd0d5;color:#652c33}
.allergen-table td span{display:inline-flex;align-items:center;justify-content:center;min-width:31px;padding:4px 6px;border-radius:999px;background:rgba(255,255,255,.52)}
.allergen-table tbody tr:hover th{background:#fff9d7}
.allergen-table tbody tr:hover td{filter:saturate(1.12) brightness(.98)}
.allergen-table tbody tr.selected-row th{background:#fff4ad}
.allergen-table tbody tr.selected-row th::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--yellow)}
.allergen-table .no-matrix-results td{height:180px;background:#fafaf7;color:#7a8175;font-size:10px;font-weight:600;text-align:left;text-transform:none}

@media(max-width:620px){.matrix-scroller{height:560px;padding:0}.allergen-table th,.allergen-table td{height:45px}.allergen-table thead th,.allergen-table td{min-width:74px}.allergen-table thead th:first-child,.allergen-table tbody th{width:170px;min-width:170px;max-width:170px}.allergen-table tbody th{padding:9px 12px;font-size:8px}.matrix-total{align-self:flex-start}}
