/* Mitgliedsfirmen (Shortcodes [foev_mitgliedsfirmen] + [foev_mitgliedsfirmen_suche]).
   Self-contained, Schriften aus dem Theme (Roboto / Roboto Slab) mit Fallbacks. */
.foev-firms,.foev-firms-tools,.foev-firms-pager,.foev-firms-empty{
	font-family:"Roboto",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif
}

/* Raster */
.foev-firms{list-style:none;margin:0;padding:0;display:grid;
	grid-template-columns:repeat(var(--foev-firms-cols,4),minmax(0,1fr));gap:clamp(20px,2.4vw,32px)}
.foev-firm{min-width:0}
.foev-firm[hidden]{display:none}
.foev-firm a{display:flex;flex-direction:column;height:100%;border-radius:16px;background:#fff;
	box-shadow:0 1px 2px rgba(20,20,19,.05),0 12px 32px -14px rgba(20,20,19,.18);overflow:hidden;
	text-decoration:none;color:#3b3c3a;
	transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s cubic-bezier(.2,.7,.3,1)}
.foev-firm a:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(20,20,19,.06),0 24px 48px -18px rgba(20,20,19,.28)}
.foev-firm__logo{display:flex;align-items:center;justify-content:center;height:150px;padding:22px 28px}
.foev-firm__logo img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.foev-firm a:hover .foev-firm__logo img{transform:scale(1.05)}
.foev-firm__mono{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;
	background:#e3ece2;color:#1a6a33;font:700 1.3rem/1 "Roboto Slab",Georgia,serif}
.foev-firm__name{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;
	padding:14px 18px;border-top:1px solid rgba(20,20,19,.08);font-size:.9rem;line-height:1.35;color:#3b3c3a}
.foev-firm__name svg{flex:none;width:16px;height:16px;color:#228541;opacity:0;transform:translateX(-6px);
	transition:opacity .2s cubic-bezier(.2,.7,.3,1),transform .2s cubic-bezier(.2,.7,.3,1)}
.foev-firm a:hover .foev-firm__name svg{opacity:1;transform:none}

.foev-firms-empty{padding:40px;border-radius:16px;background:#fff;text-align:center;color:#74756f}

/* Werkzeuge: Suche + Zähler */
.foev-firms-tools{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.foev-firms-search{position:relative;display:inline-flex}
.foev-firms-search svg{position:absolute;left:16px;top:50%;width:18px;height:18px;transform:translateY(-50%);
	color:#74756f;pointer-events:none}
.foev-firms-search input{width:min(320px,80vw);height:48px;padding:0 18px 0 46px;border:0;border-radius:999px;
	background:#fff;box-shadow:inset 0 0 0 1px rgba(20,20,19,.08);font-size:.95rem;color:#141413;
	font-family:inherit;transition:box-shadow .2s cubic-bezier(.2,.7,.3,1)}
.foev-firms-search input:focus{outline:0;box-shadow:inset 0 0 0 2px #228541}
.foev-firms-count{font-size:.9rem;color:#74756f}

/* Seitennavigation */
.foev-firms-pager{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:clamp(32px,4vw,48px)}
.foev-firms-pager:empty{display:none}
.foev-firms-pager button{display:grid;place-items:center;min-width:46px;height:46px;padding:0 6px;border:0;
	border-radius:999px;background:#fff;cursor:pointer;font-weight:500;color:#3b3c3a;font-family:inherit;font-size:1rem;
	box-shadow:inset 0 0 0 1px rgba(20,20,19,.08);font-variant-numeric:tabular-nums;
	transition:background-color .2s,color .2s,box-shadow .2s}
.foev-firms-pager button:hover:not(:disabled){box-shadow:inset 0 0 0 1px #228541;color:#1a6a33}
.foev-firms-pager button[aria-current="page"]{background:#228541;color:#fff;box-shadow:none}
.foev-firms-pager button:disabled{opacity:.35;cursor:default}
.foev-firms-pager svg{width:18px;height:18px}

.foev-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.foev-is-entering{animation:foev-firm-pop 520ms cubic-bezier(.16,1,.3,1) both}
@keyframes foev-firm-pop{from{opacity:0;transform:translateY(14px)}}

@media (max-width:1080px){
	.foev-firms{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:560px){
	.foev-firms{grid-template-columns:1fr 1fr;gap:12px}
	.foev-firm__logo{height:110px;padding:16px}
}
@media (prefers-reduced-motion:reduce){
	.foev-is-entering{animation:none}
	.foev-firm a,.foev-firm__logo img{transition:none}
}
