/* NSM Stevnuskrá — inherits theme tokens (var --…) with red/black fallbacks */
.nsm-sv{
  --sv-card:var(--card,#fff); --sv-ink:var(--ink,#191310); --sv-soft:var(--ink-soft,#5f564f);
  --sv-faint:var(--ink-faint,#948a82); --sv-red:var(--red,#c1272d); --sv-red-tint:var(--red-tint,#f8ece9);
  --sv-line:var(--line,#e8ddd5); --sv-ground2:var(--ground-2,#efe7e1);
  --sv-fd:var(--font-display,"Avenir Next Condensed","Arial Narrow","Roboto Condensed",sans-serif);
  --sv-shadow:var(--shadow-soft,0 6px 20px -14px rgba(40,20,15,.28));
  color:var(--sv-ink);
}
.nsm-sv *{box-sizing:border-box}
.nsm-sv-controls{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.nsm-sv-search{flex:1;min-width:240px;display:flex;align-items:center;gap:.7rem;background:var(--sv-card);border:1px solid var(--sv-line);border-radius:999px;padding:.7rem 1.2rem;box-shadow:var(--sv-shadow)}
.nsm-sv-search svg{flex:none;width:18px;height:18px;stroke:var(--sv-faint)}
.nsm-sv-search input{border:0;background:none;outline:none;font:inherit;width:100%;color:var(--sv-ink)}
.nsm-sv-search button{border:0;background:none;cursor:pointer;color:var(--sv-faint);font-size:1.1rem;line-height:1;display:none}
.nsm-sv-search.has button{display:block}
.nsm-sv-count{font-family:var(--sv-fd);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.76rem;color:var(--sv-soft);white-space:nowrap}
.nsm-sv-favs{margin-top:1.4rem}
.nsm-sv-lab{font-family:var(--sv-fd);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;color:var(--sv-soft);margin:0 0 .7rem}
.nsm-sv-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.nsm-sv-fav{border:1px solid var(--sv-line);background:var(--sv-card);border-radius:999px;padding:.4rem .85rem;font-size:.86rem;cursor:pointer;display:inline-flex;gap:.45rem;align-items:center;font-family:inherit;color:inherit}
.nsm-sv-fav b{color:var(--sv-red);font-family:var(--sv-fd);font-weight:800;font-size:.82rem}
.nsm-sv-fav:hover{border-color:var(--sv-red)}
.nsm-sv-fav.active{background:var(--sv-red);color:#fff;border-color:var(--sv-red)}
.nsm-sv-fav.active b{color:#fff}
.nsm-sv-empty{display:none;padding:2rem;text-align:center;color:var(--sv-soft)}
.nsm-sv-empty.show{display:block}
.nsm-sv-empty a{color:var(--sv-red)}
.nsm-sv-dec{margin-top:2.2rem}
.nsm-sv-dec.hide{display:none}
.nsm-sv-dec h3{font-family:var(--sv-fd);font-weight:800;text-transform:uppercase;letter-spacing:.02em;font-size:1.5rem;color:var(--sv-ink);margin:0 0 1rem;display:flex;align-items:center;gap:1rem}
.nsm-sv-dec h3::after{content:"";flex:1;height:1px;background:var(--sv-line)}
.nsm-sv-card{display:grid;grid-template-columns:76px 1fr;gap:1.3rem;background:var(--sv-card);border:1px solid var(--sv-line);border-left:3px solid var(--sv-red-tint);border-radius:14px;padding:1.15rem 1.35rem;box-shadow:var(--sv-shadow);margin-bottom:12px;transition:border-left-color .2s,transform .2s}
.nsm-sv-card:hover{border-left-color:var(--sv-red);transform:translateX(2px)}
.nsm-sv-card.hide{display:none}
.nsm-sv-badge{text-align:center}
.nsm-sv-badge .yr{font-family:var(--sv-fd);font-weight:800;font-size:1.9rem;line-height:1;color:var(--sv-ink);font-variant-numeric:tabular-nums}
.nsm-sv-badge .nth{font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--sv-red);font-weight:700;margin-top:.35rem}
.nsm-sv-meta{display:flex;flex-wrap:wrap;gap:.3rem .9rem;align-items:baseline;margin-bottom:.75rem}
.nsm-sv-dir{font-family:var(--sv-fd);font-weight:800;text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;color:var(--sv-red);background:none;border:0;padding:0;cursor:pointer}
.nsm-sv-dir:hover,.nsm-sv-dir.on{text-decoration:underline}
.nsm-sv-when{font-size:.75rem;color:var(--sv-faint);letter-spacing:.01em}
.nsm-sv-pieces{display:flex;flex-wrap:wrap;gap:.5rem;align-content:flex-start}
.nsm-sv-piece{background:var(--sv-ground2);border-radius:8px;padding:.34rem .65rem;font-size:.88rem;line-height:1.25}
.nsm-sv-piece.hit{background:var(--sv-red);color:#fff}
@media(max-width:520px){.nsm-sv-card{grid-template-columns:1fr;gap:.7rem}.nsm-sv-badge{text-align:left;display:flex;align-items:baseline;gap:.6rem}.nsm-sv-badge .nth{margin-top:0}}
