/* Zusammenspiel der Leistungen: Mini-Zeile (Hubs) und Landkarte (Leistungen) */
.zm { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:26px; }
.zm-i { position:relative; display:flex; flex-direction:column; gap:2px; padding:12px 16px; border:1px solid var(--line); border-radius:6px; background:var(--card); text-decoration:none; transition:border-color .25s, background .25s, transform .25s; }
.zm-i:hover { border-color:var(--accent); background:rgba(56,171,255,.08); transform:translateY(-2px); }
.zm-r { font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-weight:600; }
.zm-i b { font-family:var(--display); font-size:1.02rem; line-height:1.25; }
.zm-i.cur { border-color:var(--accent); background:rgba(56,171,255,.12); box-shadow:0 0 0 1px var(--accent) inset; }
.zm-i.cur::after { content:attr(data-here); align-self:flex-start; margin-top:6px; font-size:.66rem; font-weight:600; color:var(--btn-fg); background:var(--accent); border-radius:999px; padding:0 8px; line-height:1.6; }
.zm-note { color:var(--muted); font-size:.88rem; margin:12px 0 0; }

.zmap { display:grid; gap:10px; margin-top:34px; }
.zmz { position:relative; border:1px solid var(--line); border-radius:8px; background:var(--card); padding:18px; transition:border-color .25s, background .25s; }
.zmz:hover { border-color:var(--accent); background:rgba(56,171,255,.06); }
.zmz h3 { font-size:1.25rem; margin:2px 0 4px; }
.zmz h3 a { text-decoration:none; }
.zmz h3 a::after { content:""; position:absolute; inset:0; z-index:0; }
.zmz p { margin:0; color:var(--muted); font-size:.97rem; max-width:70ch; }
.zmp { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:14px; position:relative; z-index:1; }
.zmp a { position:relative; display:block; padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:var(--bg); text-decoration:none; font-family:var(--display); font-weight:700; font-size:.95rem; line-height:1.25; transition:border-color .2s, background .2s; }
.zmp a small { display:block; font-family:var(--body); font-weight:600; font-size:.7rem; color:var(--accent); letter-spacing:.1em; }
.zmp a:hover { border-color:var(--accent); background:rgba(56,171,255,.1); }
.zmp a:not(:last-child)::after { content:"\203A"; position:absolute; right:-12px; top:50%; transform:translateY(-50%); color:var(--accent); font-size:1.2rem; }
.zmrow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-inline:19px; }
.zmrow .zmz { grid-column:2 / 4; }
.zmov { border:1px dashed var(--accent); border-radius:6px; padding:8px 12px; font-size:.88rem; color:var(--muted); line-height:1.45; align-self:stretch; }
.zmov b { display:block; font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--accent); font-weight:600; }
.zmap-note { color:var(--muted); font-size:.92rem; margin:16px 0 0; max-width:80ch; }

@media (max-width:980px) {
  .zm { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zmp { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zmp a:not(:last-child)::after { display:none; }
  .zmrow { grid-template-columns:minmax(0,1fr); margin-inline:0; }
  .zmrow .zmz { grid-column:auto; order:-1; }
}
@media (prefers-reduced-motion:reduce) { .zm-i, .zmz, .zmp a { transition:none; } }

/* Nicht verlinkte Einträge (Sprachfassungen ohne Unterseiten) */
.zmp .static { position:relative; display:block; padding:10px 12px; border:1px solid var(--line); border-radius:6px; background:var(--bg); font-family:var(--display); font-weight:700; font-size:.95rem; line-height:1.25; }
.zmp .static small { display:block; font-family:var(--body); font-weight:600; font-size:.7rem; color:var(--accent); letter-spacing:.1em; }
.zmp .static:not(:last-child)::after { content:"\203A"; position:absolute; right:-12px; top:50%; transform:translateY(-50%); color:var(--accent); font-size:1.2rem; }
@media (max-width:980px) { .zmp .static:not(:last-child)::after { display:none; } }
