/* ===== SteuerNest — Glossar-Ratgeber (Rubrik-Hub + Begriffs-Unterseiten) ===== */

/* ---------- Hub: klickbare Begriffskarten ---------- */
.glr-terms{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
a.glr-card{
  display:flex; flex-direction:column; gap:10px; background:var(--white); border:1px solid var(--line);
  border-radius:var(--r-lg); padding:22px 24px 20px; box-shadow:var(--shadow-sm);
  transition:transform .2s, box-shadow .25s, border-color .2s; position:relative;
}
a.glr-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--red); }
.glr-card h2{ font-size:1.12rem; letter-spacing:-.02em; line-height:1.18; color:var(--ink); }
.glr-card:hover h2{ color:var(--red); }
.glr-card .glr-badges{ display:flex; flex-wrap:wrap; gap:7px; align-items:center; }
.glr-card .gl-cat{ font-family:var(--mono); font-size:.58rem; letter-spacing:.09em; text-transform:uppercase; font-weight:700;
  padding:.35em .7em; border-radius:999px; background:var(--red-soft); color:var(--red-ink); }
.glr-card .gl-para{ font-family:var(--mono); font-size:.64rem; color:var(--muted);
  background:var(--paper-2); border:1px solid var(--line); padding:.3em .55em; border-radius:6px; }
.glr-card p{ font-size:.92rem; color:var(--ink-3); line-height:1.55; text-wrap:pretty; }
.glr-card .glr-arr{ margin-top:auto; padding-top:8px; display:inline-flex; align-items:center; gap:.4em;
  font-family:var(--mono); font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; color:var(--red); font-weight:700; }
.glr-card .glr-arr svg{ width:14px; height:14px; stroke:var(--red); transition:transform .2s; }
.glr-card:hover .glr-arr svg{ transform:translateX(4px); }
.glr-card.hide{ display:none; }

/* ---------- Subpage: "Auf einen Blick"-Definitionsstreifen ---------- */
.gl-def{ background:var(--white); border:1px solid var(--red); border-left:4px solid var(--red);
  border-radius:var(--r-lg); padding:24px 28px; box-shadow:var(--shadow-sm); margin:0 0 1.6em; }
.gl-def .gl-def-lbl{ font-family:var(--mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--red); font-weight:700; margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.gl-def .gl-def-lbl svg{ width:16px; height:16px; stroke:var(--red); }
.gl-def p{ font-size:1.12rem; line-height:1.55; color:var(--ink); margin:0; font-weight:500; text-wrap:pretty; }
.gl-def p strong{ color:var(--red-ink); }

/* Legal-basis pill row on subpage hero */
.gl-legalrow{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.gl-legalrow .gl-lpill{ display:inline-flex; align-items:center; gap:8px; font-family:var(--mono); font-size:.72rem;
  color:var(--ink-3); background:var(--paper-2); border:1px solid var(--line); padding:.55em .9em; border-radius:10px; }
.gl-legalrow .gl-lpill svg{ width:14px; height:14px; stroke:var(--red); }
.gl-legalrow .gl-lpill b{ color:var(--ink); font-weight:600; }

/* Prev/next term nav */
.gl-pager{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:2.2em 0 0; }
.gl-pager a{ display:flex; flex-direction:column; gap:4px; padding:18px 20px; background:var(--white);
  border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow-sm); transition:border-color .2s, transform .2s; }
.gl-pager a:hover{ border-color:var(--red); transform:translateY(-2px); }
.gl-pager a.next{ text-align:right; align-items:flex-end; }
.gl-pager .gp-lbl{ font-family:var(--mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); font-weight:700; }
.gl-pager .gp-term{ font-size:1.02rem; font-weight:600; color:var(--ink); letter-spacing:-.01em; }
.gl-pager a:hover .gp-term{ color:var(--red); }

/* Definition list inside prose */
.prose dl.gl-dl{ margin:1.4em 0; display:flex; flex-direction:column; gap:0; }
.prose dl.gl-dl > div{ padding:14px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:200px 1fr; gap:20px; }
.prose dl.gl-dl > div:first-child{ border-top:none; }
.prose dl.gl-dl dt{ font-weight:600; color:var(--ink); font-size:.98rem; }
.prose dl.gl-dl dd{ margin:0; color:var(--ink-3); font-size:1rem; line-height:1.6; }

@media (max-width:980px){ .glr-terms{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:680px){
  .glr-terms{ grid-template-columns:1fr; }
  .gl-pager{ grid-template-columns:1fr; }
  .prose dl.gl-dl > div{ grid-template-columns:1fr; gap:4px; }
}
