/* ===== SteuerNest — Glossar ===== */

/* Sticky filter bar under header */
.gl-sticky{
  position:sticky; top:64px; z-index:60;
  background:rgba(252,249,247,.88); backdrop-filter:saturate(1.4) blur(12px);
  border-block:1px solid var(--line);
  padding-block:14px;
}
.gl-az-row{ display:flex; flex-wrap:wrap; gap:2px; margin-bottom:12px; }
.gl-az{ width:30px; height:30px; display:grid; place-items:center; border-radius:8px;
  font-family:var(--mono); font-size:.82rem; font-weight:600; color:var(--ink-3); transition:all .15s; }
a.gl-az:hover{ background:var(--red); color:#fff; }
.gl-az-off{ color:var(--line-2); pointer-events:none; }
.gl-catbar{ margin-bottom:0; gap:8px; overflow-x:auto; flex-wrap:wrap; padding-bottom:2px; }
.gl-catbar .fchip{ font-size:.82rem; padding:.5em .95em; white-space:nowrap; }

.gl-info-note{ display:flex; align-items:flex-start; gap:10px; margin-top:18px; max-width:38em;
  font-size:.86rem; line-height:1.5; color:var(--muted);
  background:var(--paper-2); border:1px solid var(--line); border-radius:12px; padding:12px 15px; }
.gl-info-note svg{ width:18px; height:18px; stroke:var(--red); flex-shrink:0; margin-top:1px; }
.gl-info-note strong{ color:var(--ink); font-weight:600; }

.gl-main{ padding-top:clamp(28px,4vw,44px); }
.gl-count{ font-family:var(--mono); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--muted); margin-bottom:24px; }
.gl-count b{ color:var(--red); }

/* Letter group */
.gl-letter-group{ margin-bottom:clamp(32px,5vw,56px); }
.gl-letter-group.hide{ display:none; }
.gl-letter-divider{ display:flex; align-items:baseline; gap:16px; padding-bottom:14px;
  border-bottom:2px solid var(--ink); margin-bottom:26px; scroll-margin-top:150px; }
.gl-letter-big{ font-family:var(--serif); font-size:clamp(2.6rem,5vw,3.6rem); line-height:.9; color:var(--red); font-style:italic; }
.gl-letter-count{ font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }

.gl-terms{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }

/* Term card */
.gl-term{ background:var(--white); border:1px solid var(--line); border-radius:var(--r-lg);
  padding:26px 28px 24px; box-shadow:var(--shadow-sm); scroll-margin-top:170px;
  display:flex; flex-direction:column; transition:box-shadow .25s, border-color .2s; }
.gl-term:hover{ box-shadow:var(--shadow-md); border-color:var(--line-2); }
.gl-term:target{ border-color:var(--red); box-shadow:0 0 0 3px var(--red-soft), var(--shadow-md); }
.gl-term.hide{ display:none; }
.gl-term-head{ margin-bottom:12px; }
.gl-term h2{ font-size:1.28rem; letter-spacing:-.02em; line-height:1.15; margin-bottom:10px; }
.gl-badges{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.gl-cat{ font-family:var(--mono); font-size:.6rem; letter-spacing:.09em; text-transform:uppercase; font-weight:700;
  padding:.35em .7em; border-radius:999px; background:var(--red-soft); color:var(--red-ink); }
.gl-para{ font-family:var(--mono); font-size:.68rem; letter-spacing:.02em; color:var(--muted);
  background:var(--paper-2); border:1px solid var(--line); padding:.3em .6em; border-radius:7px; }
.gl-short{ font-size:1.02rem; font-weight:600; color:var(--ink); line-height:1.4; margin-bottom:12px;
  text-wrap:pretty; }
.gl-body{ font-size:.94rem; color:var(--ink-3); line-height:1.62; text-wrap:pretty; }
.gl-body strong{ color:var(--ink); font-weight:700; }
.gl-body em{ font-style:italic; }
a.xref{ color:var(--red-ink); font-weight:500; box-shadow:inset 0 -1px 0 var(--red-soft-2); transition:box-shadow .15s, color .15s; }
a.xref:hover{ color:var(--red); box-shadow:inset 0 -2px 0 var(--red); }

.gl-related{ margin-top:18px; padding-top:16px; border-top:1px dashed var(--line-2); }
.gl-related-lbl{ font-family:var(--mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:10px; }
.gl-related-chips{ display:flex; flex-wrap:wrap; gap:7px; }
a.gl-chip{ font-size:.78rem; color:var(--ink-3); background:var(--paper-2); border:1px solid var(--line);
  border-radius:999px; padding:.4em .85em; transition:all .15s; }
a.gl-chip:hover{ background:var(--red); border-color:var(--red); color:#fff; }

.gl-nores{ text-align:center; color:var(--muted); padding:50px 0; font-size:1.05rem; }
.gl-nores a{ color:var(--red); font-weight:600; }

/* highlight matched term */
mark.gl-hi{ background:var(--red-soft); color:var(--red-ink); padding:0 .1em; border-radius:3px; }

@media (max-width:900px){
  .gl-terms{ grid-template-columns:1fr; }
  .gl-sticky{ top:60px; }
}
@media (max-width:560px){
  .gl-az-row{ gap:1px; }
  .gl-az{ width:26px; height:26px; font-size:.74rem; }
}

/* ---- Deep links to Glossar-Ratgeber subpages ---- */
.gl-guide-link{ display:inline-flex; align-items:center; gap:.5em; margin-top:16px; align-self:flex-start;
  font-family:var(--mono); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; font-weight:700;
  color:var(--red); padding:.55em .95em; border:1px solid var(--red-soft-2); border-radius:999px; transition:all .16s; }
.gl-guide-link svg{ width:14px; height:14px; stroke:var(--red); transition:transform .18s; }
.gl-guide-link:hover{ background:var(--red); border-color:var(--red); color:#fff; }
.gl-guide-link:hover svg{ stroke:#fff; transform:translateX(3px); }
.gl-rubrik-banner{ display:flex; align-items:center; gap:16px; margin-top:26px; max-width:560px;
  background:var(--white); border:1px solid var(--red); border-radius:var(--r-lg); padding:16px 20px; box-shadow:var(--shadow-sm); transition:transform .2s, box-shadow .22s; }
.gl-rubrik-banner:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.gl-rubrik-banner .grb-ic{ width:44px; height:44px; border-radius:12px; background:var(--red); display:grid; place-items:center; flex-shrink:0; }
.gl-rubrik-banner .grb-ic svg{ width:22px; height:22px; stroke:#fff; }
.gl-rubrik-banner .grb-txt{ display:flex; flex-direction:column; gap:2px; }
.gl-rubrik-banner .grb-txt b{ font-size:1rem; color:var(--ink); letter-spacing:-.01em; }
.gl-rubrik-banner .grb-txt span{ font-size:.86rem; color:var(--muted); line-height:1.45; }
.gl-rubrik-banner .grb-arr{ margin-left:auto; }
.gl-rubrik-banner .grb-arr svg{ width:20px; height:20px; stroke:var(--red); transition:transform .2s; }
.gl-rubrik-banner:hover .grb-arr svg{ transform:translateX(4px); }
