/* ============================================================================
   NK IT Service – Referenzen-Modul (inc/nkit-referenzen.php)
   Präfix: nkr-  ·  Tokens aus nkit-design.css (:root)
   Regeln: Inhalte sofort sichtbar (keine Einblend-Animation), gleich hohe
   Karten je Reihe, keine verschachtelten Karten, keine Seitenstreifen,
   Kontrast ≥ 4,5:1, Bild- und Logoplatz vor dem Laden reserviert (kein CLS).
   Abstände immer als Kurzschreibweise: Astra setzt p/ul margin-bottom global.
   ========================================================================== */

.nkr{
  --nkr-gap:24px;
  --nkr-karte:var(--bg,#fff);
}

/* Visuell versteckt, für Screenreader lesbar */
.nkr-sr{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0;
}

/* --- Kopf --------------------------------------------------------------- */
.nkr-head{margin-bottom:44px}
.nkr-head .h-lg{margin:0}
.nkr-head .lead{margin:18px auto 0}

/* --- Kartenraster: mobil 1, Tablet 2, Desktop 6 Spalten (Leitkarten 3+3, übrige 2+2+2) */
.nkr-grid{
  list-style:none;margin:0;padding:0;
  display:grid;gap:var(--nkr-gap);
  grid-template-columns:minmax(0,1fr);
}
.nkr-grid__eintrag{display:flex;min-width:0;margin:0}
@media (min-width:700px){
  .nkr-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (min-width:1024px){
  .nkr-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .nkr-grid__eintrag{grid-column:span 2}
  .nkr-grid__eintrag--leit{grid-column:span 3}
}

.nkr-card{
  flex:1;display:flex;flex-direction:column;min-width:0;
  background:var(--nkr-karte);
  border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;
}
.nkr-card__bild{
  display:block;width:100%;height:auto;aspect-ratio:16/10;
  object-fit:cover;object-position:top center;
  background:var(--brand-050);border-bottom:1px solid var(--line);
}
/* Kleine Karten flacher (16:9), Leitkarten behalten 16:10 */
.nkr-card:not(.nkr-card--leit) .nkr-card__bild{aspect-ratio:16/9}
.nkr-card__inhalt{
  flex:1;display:flex;flex-direction:column;
  padding:20px 20px 16px;
  overflow-wrap:break-word;
}
.nkr-card__titel{
  margin:0;
  font-family:var(--ff-display);font-weight:600;
  font-size:1.15rem;line-height:1.2;letter-spacing:-.015em;
  color:var(--ink-strong);
}
.nkr-card__meta{
  margin:6px 0 0;font-size:13.5px;font-weight:500;line-height:1.45;
  color:var(--accent-ink);
}
.nkr-card__text{
  margin:12px 0 0;font-size:15px;line-height:1.6;
  color:var(--ink-soft);
}

/* Leitkarten: größeres Bild (3 von 6 Spalten), kräftigere Typo */
.nkr-card--leit .nkr-card__inhalt{padding:24px 26px 18px}
.nkr-card--leit .nkr-card__titel{font-size:clamp(1.3rem,1.1rem + .6vw,1.6rem)}
.nkr-card--leit .nkr-card__meta{font-size:14.5px}
.nkr-card--leit .nkr-card__text{font-size:16px;line-height:1.62}

/* Technik-Stichworte: ruhige Etiketten ohne Rahmen */
.nkr-tags{
  list-style:none;margin:16px 0 0;padding:0;
  display:flex;flex-wrap:wrap;gap:6px;
}
.nkr-tags li{
  margin:0;
  font-size:12.5px;font-weight:500;line-height:1.3;
  color:var(--brand-700);background:var(--brand-050);
  border-radius:100px;padding:4px 10px;
}

/* Links am Kartenfuß (immer unten, gleiche Linie über alle Karten einer Reihe) */
.nkr-card__links{
  margin:auto 0 0;padding-top:16px;
  display:flex;flex-wrap:wrap;align-items:center;gap:0 20px;
}
.nkr-card__links::before{
  content:"";flex-basis:100%;height:1px;background:var(--line);margin-bottom:8px;
}
.nkr-link{
  display:inline-flex;align-items:center;gap:6px;min-height:32px;
  font-size:14.5px;font-weight:600;line-height:1.3;
  color:var(--brand);
  text-decoration:underline;text-decoration-color:transparent;
  text-decoration-thickness:1.5px;text-underline-offset:3px;
}
.nkr-link:hover{color:var(--brand-700);text-decoration-color:currentColor}
.nkr-link:focus-visible,
.nkr .btn:focus-visible{outline:2px solid var(--brand);outline-offset:3px;border-radius:4px}
.nkr-icon{width:16px;height:16px;flex:none}

/* Mehrere Websites (LED-Gruppe) */
.nkr-sites{display:flex;flex-direction:column;gap:2px;width:100%}
.nkr-sites__label{font-size:14px;font-weight:600;color:var(--ink-strong)}
.nkr-sites__liste{
  list-style:none;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:0 18px;
}
.nkr-sites__liste li{margin:0}

/* --- Logoleisten: feste Zellen, Logos zentriert, Größenklassen je Logo ------ */
.nkr-logos{margin:64px 0 0;display:grid;gap:0}
.nkr-logos__gruppe{
  display:grid;grid-template-columns:minmax(0,1fr);
  gap:16px;align-items:center;
  padding:24px 0;border-top:1px solid var(--line);
}
.nkr-logos__titel{
  margin:0;
  font-family:var(--ff-display);font-weight:600;
  font-size:1.05rem;line-height:1.3;letter-spacing:-.01em;
  color:var(--ink-strong);
}
.nkr-logos__liste{
  list-style:none;margin:0;padding:0;
  display:grid;gap:12px 20px;align-items:center;justify-items:center;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.nkr-logos__liste li{
  margin:0;width:100%;height:52px;
  display:flex;align-items:center;justify-content:center;
}
/* Feste Höhe + Seitenverhältnis aus width/height: Platz vor dem Laden reserviert */
.nkr-logos__liste img{
  width:auto;max-width:100%;height:40px;
  object-fit:contain;object-position:center;
  filter:grayscale(1);
}
.nkr-logos__liste .nkr-logo--h48{height:48px}
.nkr-logos__liste .nkr-logo--h40{height:40px}
.nkr-logos__liste .nkr-logo--h32{height:32px}
.nkr-logos__liste .nkr-logo--h26{height:26px}
.nkr-logos__hinweis{
  margin:0;
  font-size:14px;line-height:1.55;color:var(--ink-soft);max-width:65ch;
}
/* IT-Zeile bewusst leiser als „Kunden“ (Begleittext behält vollen Kontrast) */
.nkr-logos__gruppe--leise .nkr-logos__titel{font-size:.95rem;font-weight:500;color:var(--ink-soft)}
.nkr-logos__gruppe--leise .nkr-logos__liste img{opacity:.7}

@media (min-width:420px){
  .nkr-logos__liste--n6{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (min-width:600px){
  .nkr-logos__liste--n4{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width:1024px){
  .nkr-logos__gruppe{grid-template-columns:240px minmax(0,1fr);gap:12px 32px}
  .nkr-logos__liste--n6{grid-template-columns:repeat(6,minmax(0,1fr))}
  .nkr-logos__hinweis{grid-column:2}
}

/* --- Abschluss ------------------------------------------------------------ */
.nkr-cta{margin:44px 0 0;text-align:center}

/* --- Mobil ---------------------------------------------------------------- */
@media (max-width:699px){
  .nkr-head{margin-bottom:32px}
  .nkr-grid{--nkr-gap:20px}
  .nkr-card__inhalt,
  .nkr-card--leit .nkr-card__inhalt{padding:18px 18px 14px}
  .nkr-logos{margin-top:48px}
  .nkr-logos__liste li{height:44px}
  .nkr-logos__liste .nkr-logo--h48{height:40px}
  .nkr-logos__liste .nkr-logo--h40{height:34px}
  .nkr-logos__liste .nkr-logo--h32{height:28px}
  .nkr-logos__liste .nkr-logo--h26{height:22px}
}
@media (max-width:400px){
  .nkr-cta .btn{white-space:normal;text-align:center}
}

/* --- Bewegung: nur Farbübergänge, und nur ohne Wunsch nach reduzierter Bewegung */
@media (prefers-reduced-motion:no-preference){
  .nkr-link{transition:color .25s cubic-bezier(.25,1,.5,1),text-decoration-color .25s cubic-bezier(.25,1,.5,1)}
}

/* --- Erzwungene Farben (Windows-Kontrastmodus) ---------------------------- */
@media (forced-colors:active){
  .nkr-card{border-color:CanvasText}
  .nkr-tags li{border:1px solid CanvasText}
  .nkr-logos__liste img{filter:none;opacity:1}
}
