/* Einzelseiten Aktivität + Mitgliedsfirma ([foev_aktivitaet], [foev_firma])
   und „Weitere …“-Bereiche. Alles unter .foev-b, damit nichts mit Oxygen kollidiert.
   Transparenter, fester Header in Oxygen?  :root{--foev-header-offset:76px} setzen. */

.foev-b{
	--g:#228541;--gd:#1A6A33;--gs:#E3ECE2;
	--ink:#141413;--text:#3B3C3A;--muted:#74756F;--paper:#F4F4F4;--line:rgba(20,20,19,.08);--bg:#fff;
	--fh:"Roboto Slab",Georgia,serif;--fb:"Roboto",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
	--h2:clamp(1.5rem,1.25rem + 1vw,2rem);--lead:clamp(1.075rem,1rem + .3vw,1.2rem);
	--container:var(--foev-container,1200px);--gutter:clamp(16px,4vw,40px);--section:clamp(64px,7vw,104px);
	--gap:clamp(20px,2.4vw,32px);--r:16px;--pill:999px;--offset:var(--foev-header-offset,0px);
	--ease:cubic-bezier(.2,.7,.3,1);--ease-out:cubic-bezier(.16,1,.3,1);
	font:400 1.0625rem/1.7 var(--fb);color:var(--text);-webkit-font-smoothing:antialiased;
}
/* Grundwerte mit :where(), damit die Komponenten-Klassen (Buttons usw.) immer gewinnen */
.foev-b *,.foev-b *::before,.foev-b *::after{box-sizing:border-box}
.foev-b :where(img){display:block;max-width:100%;height:auto}
.foev-b :where(a){color:inherit;text-decoration:none}
.foev-b :where(button){font:inherit;color:inherit}
.foev-b :where(h1,h2,h3){font-family:var(--fh);color:var(--ink);margin:0;text-wrap:balance;letter-spacing:0}
.foev-b :where(h2){font-size:var(--h2);line-height:1.2}
.foev-b :where(p,figure,dl,dd,ol){margin:0}
.foev-b :where(ol){padding:0;list-style:none}
.foev-b :focus-visible{outline:2px solid var(--g);outline-offset:3px;border-radius:4px}
.foev-b-container{width:100%;max-width:calc(var(--container) + 2*var(--gutter));margin:0 auto;padding:0 var(--gutter)}
.foev-b-meta{font:500 .8125rem/1.3 var(--fb);letter-spacing:.07em;text-transform:uppercase;color:var(--g)}
.foev-b-gap{margin-top:clamp(40px,5vw,64px)}

/* Buttons */
.foev-b-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:48px;padding:0 22px;border:0;border-radius:var(--pill);cursor:pointer;font:500 .95rem/1 var(--fb);white-space:nowrap;text-decoration:none;transition:background-color .2s var(--ease),color .2s var(--ease)}
.foev-b-btn svg{width:17px;height:17px;flex:none}
.foev-b-btn--primary{background:var(--g);color:#fff}.foev-b-btn--primary:hover{background:var(--gd);color:#fff}
.foev-b-btn--soft{background:var(--bg);color:var(--ink)}.foev-b-btn--soft:hover{background:var(--gs);color:var(--gd)}
.foev-b-btn--light{width:auto;background:#fff;color:var(--gd)}.foev-b-btn--light:hover{background:var(--gs)}

/* Kopf (grün) */
.foev-b-head{position:relative;overflow:hidden;background:var(--g);color:#fff}
.foev-b-head .foev-b-container{position:relative;padding-top:calc(var(--offset) + clamp(40px,5vw,64px));padding-bottom:clamp(36px,4vw,56px)}
.foev-b-crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:.8125rem;color:rgba(255,255,255,.75)}
.foev-b-crumbs a:hover{color:#fff}
.foev-b-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.foev-b-tag{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:var(--pill);background:rgba(255,255,255,.16);color:#fff;font-size:.82rem;font-weight:500;line-height:1.3}
.foev-b-tag--light{background:#fff;color:var(--gd)}
.foev-b-tag svg{width:14px;height:14px}
.foev-b-tag i{width:7px;height:7px;border-radius:50%;background:currentColor}
.foev-b-tag--live i{animation:foev-b-pulse 2s infinite}
@keyframes foev-b-pulse{50%{opacity:.35}}
.foev-b-head h1{margin-top:16px;max-width:22ch;color:#fff;font-size:clamp(2rem,1.2rem + 3vw,3.5rem);line-height:1.08}
.foev-b-facts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:22px;color:rgba(255,255,255,.88)}
.foev-b-facts span{display:inline-flex;align-items:center;gap:8px}
.foev-b-facts svg{width:18px;height:18px;opacity:.8}

/* Firmenkopf mit Logo-Karte, die in den Inhalt ragt */
.foev-b-head--firma{overflow:visible;z-index:1}
.foev-b-head--firma .foev-b-container{padding-bottom:clamp(40px,5vw,64px)}
.foev-b-head__grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end}
.foev-b-head--firma h1{max-width:20ch}
.foev-b-logo{display:grid;place-items:center;width:clamp(180px,20vw,240px);aspect-ratio:1;margin-bottom:calc(-1 * clamp(80px,9vw,120px));padding:28px;border-radius:var(--r);background:#fff;box-shadow:0 18px 40px -28px rgba(20,20,19,.45)}
.foev-b .foev-b-logo img{width:auto;max-width:100%;max-height:100%;object-fit:contain}
.foev-b-mono{display:grid;place-items:center;width:100%;height:100%;border-radius:12px;background:var(--gs);color:var(--gd);font:700 clamp(2.5rem,2rem + 2vw,3.5rem)/1 var(--fh)}

/* Aktivität: Inhalt, Layout je nach Bildformat */
.foev-b-post{padding-block:var(--section);background:var(--bg)}
.foev-b-post__grid{display:grid;gap:clamp(28px,4vw,56px);align-items:start}
.foev-b-post--portrait .foev-b-post__grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr)}
.foev-b-post--landscape .foev-b-post__grid,.foev-b-post--noimage .foev-b-post__grid{grid-template-columns:minmax(0,7fr) minmax(0,4fr)}
.foev-b-post__wide{margin-bottom:clamp(28px,4vw,48px)}
.foev-b-post--portrait .foev-b-post__media{position:sticky;top:calc(var(--offset) + 24px)}
.foev-b-media{position:relative}
.foev-b-media button{display:block;width:100%;padding:0;border:0;border-radius:var(--r);overflow:hidden;background:var(--paper);cursor:zoom-in}
.foev-b .foev-b-media img{width:100%;height:auto;transition:transform 900ms var(--ease-out)}
.foev-b-media button:hover img{transform:scale(1.02)}
.foev-b-media__hint{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:var(--pill);background:rgba(20,20,19,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:.8rem;line-height:1.2;pointer-events:none}
.foev-b-media__hint svg{width:14px;height:14px}
.foev-b-post__content>*+*{margin-top:28px}
.foev-b-text p+p{margin-top:1em}
.foev-b-lead{font-size:var(--lead);line-height:1.65;color:var(--ink)}
.foev-b-note{display:flex;gap:12px;align-items:flex-start;padding:18px 20px;border-radius:12px;background:var(--paper);color:var(--muted);font-size:.95rem}
.foev-b-note svg{flex:none;width:20px;height:20px;margin-top:2px;color:var(--g)}

.foev-b-program ol{margin-top:18px;border-radius:var(--r);background:var(--paper);overflow:hidden}
.foev-b-program li{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:20px;padding:20px 24px}
.foev-b-program li>b:only-child{grid-column:1/-1}
.foev-b-program li+li{border-top:1px solid var(--line)}
.foev-b-program__time{font:700 1rem/1.4 var(--fh);color:var(--gd)}
.foev-b-program b{font-weight:500;color:var(--ink);line-height:1.45}

/* Infokarte */
.foev-b-info{display:grid;gap:14px}
.foev-b-post--landscape .foev-b-info,.foev-b-post--noimage .foev-b-info{position:sticky;top:calc(var(--offset) + 24px)}
.foev-b-card{padding:24px;border-radius:var(--r);background:var(--paper)}
.foev-b-card__plain{color:var(--muted);font-size:.95rem}
.foev-b-facts-list{display:grid;gap:16px}
.foev-b-facts-list>div{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center}
.foev-b-facts-list__icon{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--bg);color:var(--gd)}
.foev-b-facts-list__icon svg{width:20px;height:20px}
.foev-b-facts-list dt{font-size:.8rem;color:var(--muted);line-height:1.3}
.foev-b-facts-list dd{font-weight:500;color:var(--ink);line-height:1.35}
.foev-b-facts-list dd span{display:block;font-weight:400;color:var(--muted)}
.foev-b-actions{display:grid;gap:10px;margin-top:22px}
.foev-b-past{margin-top:22px;padding:16px 18px;border-radius:12px;background:var(--bg);font-size:.92rem;line-height:1.5;color:var(--muted)}
.foev-b-share{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-top:14px;padding-top:14px;border-top:1px solid rgba(20,20,19,.1);font-size:.88rem;color:var(--muted)}
.foev-b-share button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:0;border-radius:var(--pill);background:var(--bg);cursor:pointer;font-size:.85rem;font-weight:500;line-height:1.4}
.foev-b-share button:hover{background:var(--gs);color:var(--gd)}
.foev-b-share svg{width:15px;height:15px}

/* Bilderraster: passt sich der Anzahl an, damit nie eine Lücke bleibt */
.foev-b-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:200px;gap:12px;margin-top:18px}
.foev-b-grid button{padding:0;border:0;border-radius:12px;overflow:hidden;cursor:zoom-in;background:var(--paper)}
.foev-b-grid button:first-child{grid-column:span 2;grid-row:span 2}
.foev-b .foev-b-grid img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease-out)}
.foev-b-grid button:hover img{transform:scale(1.04)}
.foev-b-grid[data-n="1"]{grid-template-columns:1fr;grid-auto-rows:auto}
.foev-b-grid[data-n="1"] button:first-child{grid-column:auto;grid-row:auto}
.foev-b .foev-b-grid[data-n="1"] img{height:auto;max-height:70vh;object-fit:contain}
.foev-b-grid[data-n="2"]{grid-template-columns:1fr 1fr;grid-auto-rows:300px}
.foev-b-grid[data-n="2"] button:first-child,.foev-b-grid[data-n="4"] button:first-child,.foev-b-grid[data-n="wide"] button:first-child{grid-column:auto;grid-row:auto}
.foev-b-grid[data-n="4"]{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px}
.foev-b-grid[data-n="many"] button:nth-child(6n+4){grid-column:span 2}
.foev-b-grid[data-n="wide"]{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
.foev-b-grid[data-n="wide"] button{aspect-ratio:3/1}

/* Zurück / weiter */
.foev-b-pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:clamp(40px,5vw,64px)}
.foev-b-pager a{display:flex;align-items:center;gap:14px;padding:14px;border-radius:var(--r);background:var(--paper);transition:background-color .2s var(--ease)}
.foev-b-pager a:hover{background:var(--gs)}
.foev-b-pager a>span{flex:1;min-width:0}
.foev-b-pager__next{text-align:right}
.foev-b .foev-b-pager img{width:64px;height:64px;flex:none;border-radius:10px;object-fit:cover;object-position:top}
.foev-b-pager small{display:block;font-size:.78rem;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.foev-b-pager b{display:block;font:700 1rem/1.3 var(--fh);color:var(--ink)}

/* Firmenprofil */
.foev-b-profile{padding-block:clamp(56px,7vw,96px) var(--section);background:var(--bg)}
.foev-b-profile__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,4fr);gap:clamp(28px,4vw,64px);align-items:start}
.foev-b-about .foev-b-text{position:relative;margin-top:18px}
.foev-b-about .foev-b-text p:first-child{font-size:var(--lead);line-height:1.65;color:var(--ink)}
.foev-b-text.is-clamped{max-height:340px;overflow:hidden}
.foev-b-text.is-clamped::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(rgba(255,255,255,0),#fff)}
.foev-b-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:16px;padding:10px 18px;border:0;border-radius:var(--pill);background:var(--paper);cursor:pointer;font-weight:500;line-height:1.4;color:var(--gd)}
.foev-b-toggle:hover{background:var(--gs)}
.foev-b-toggle svg{width:16px;height:16px;transition:transform .3s var(--ease)}
.foev-b-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}

.foev-b-piece__card{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);margin-top:18px;border-radius:var(--r);overflow:hidden;background:var(--paper)}
.foev-b-piece__img{min-height:280px;background:var(--gs)}
.foev-b-piece__img button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}
.foev-b .foev-b-piece__img img{width:100%;height:100%;object-fit:cover}
.foev-b-piece__body{padding:clamp(24px,3vw,36px)}
.foev-b-piece__body h3{margin-top:8px;font-size:clamp(1.4rem,1.2rem + .8vw,1.8rem)}
.foev-b-piece__body p{margin-top:12px}
.foev-b-piece__body small{display:block;margin-top:16px;color:var(--muted);font-size:.88rem}

.foev-b-side{position:sticky;top:calc(var(--offset) + 24px);display:grid;gap:14px;padding-top:clamp(40px,6vw,80px)}
.foev-b-dl{display:grid;gap:14px}
.foev-b-dl dt{font-size:.8rem;color:var(--muted)}
.foev-b-dl dd{font-weight:500;color:var(--ink);line-height:1.45}
.foev-b-dl dd a{color:var(--gd);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.foev-b-side .foev-b-actions{margin-top:20px}
.foev-b-join{padding:24px;border-radius:var(--r);background:var(--g);color:rgba(255,255,255,.88)}
.foev-b-join h3{color:#fff;font-size:1.25rem}
.foev-b-join p{margin-top:8px;font-size:.95rem;line-height:1.6}
.foev-b-join .foev-b-btn{margin-top:18px}

/* Weitere Aktivitäten / Firmen */
.foev-b-more{padding-block:var(--section);background:var(--paper)}
.foev-b-more__head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 20px;margin-bottom:28px}
.foev-b-more__head a{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--gd)}
.foev-b-more__head svg{width:16px;height:16px}
.foev-b-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}
.foev-b-cards a{display:flex;flex-direction:column}
.foev-b-cards__img{display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;background:var(--bg)}
.foev-b .foev-b-cards__img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform 900ms var(--ease-out)}
.foev-b-cards a:hover img{transform:scale(1.04)}
.foev-b-cards .foev-b-meta{margin-top:18px}
.foev-b-cards h3{margin-top:6px;font-size:clamp(1.1rem,1.05rem + .3vw,1.25rem);line-height:1.3;transition:color .2s var(--ease)}
.foev-b-cards a:hover h3{color:var(--gd)}
.foev-b-firms{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:var(--gap)}
.foev-b-firm{display:flex;flex-direction:column;border-radius:var(--r);background:var(--bg);overflow:hidden;transition:transform .3s var(--ease)}
.foev-b-firm:hover{transform:translateY(-4px)}
.foev-b-firm__logo{display:flex;align-items:center;justify-content:center;height:130px;padding:20px 24px}
.foev-b .foev-b-firm__logo img{width:auto;max-width:100%;max-height:100%;object-fit:contain}
.foev-b-firm__logo .foev-b-mono{width:64px;height:64px;border-radius:50%;font-size:1.2rem}
.foev-b-firm__name{margin-top:auto;padding:14px 18px;border-top:1px solid var(--paper);font-size:.9rem;line-height:1.35;color:var(--ink)}

/* Großansicht */
.foev-b-lightbox{width:min(1100px,94vw);max-width:none;max-height:92vh;padding:0;border:0;border-radius:var(--r);overflow:hidden;background:#111;color:#fff}
.foev-b-lightbox::backdrop{background:rgba(12,16,14,.85)}
.foev-b .foev-b-lightbox img{width:100%;max-height:84vh;object-fit:contain}
.foev-b-lightbox__bar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;color:rgba(255,255,255,.8);font-size:.9rem}
.foev-b-lightbox__bar button{display:grid;place-items:center;flex:none;width:36px;height:36px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;cursor:pointer}
.foev-b-lightbox__bar svg{width:16px;height:16px}

@media (prefers-reduced-motion:reduce){
	.foev-b *,.foev-b *::before,.foev-b *::after{animation:none!important;transition:none!important}
}
@media (max-width:900px){
	.foev-b-post--portrait .foev-b-post__grid,.foev-b-post--landscape .foev-b-post__grid,.foev-b-post--noimage .foev-b-post__grid,.foev-b-profile__grid{grid-template-columns:1fr}
	.foev-b-post--portrait .foev-b-post__media,.foev-b-post .foev-b-info,.foev-b-side{position:static}
	.foev-b-post--portrait .foev-b-post__media{max-width:520px}
	.foev-b-cards,.foev-b-firms{grid-template-columns:1fr 1fr}
	.foev-b-head__grid{grid-template-columns:1fr}
	.foev-b-logo{order:-1;width:120px;margin:0;padding:16px}
	.foev-b-side{padding-top:0}
	.foev-b-piece__card{grid-template-columns:1fr}
}
@media (max-width:560px){
	.foev-b-program li{grid-template-columns:1fr;gap:4px}
	.foev-b-grid,.foev-b-grid[data-n]{grid-template-columns:1fr 1fr;grid-auto-rows:140px}
	.foev-b-grid[data-n="1"],.foev-b-grid[data-n="wide"]{grid-template-columns:1fr;grid-auto-rows:auto}
	.foev-b-pager,.foev-b-cards{grid-template-columns:1fr}
}
