/* SIMVERSE · seiten.css – Unterseiten: Kategorie, Bezirk, Spiel, Ratgeber, Impressum, Datenschutz, 404, Suche */
.sv-unterseite main { padding-top: calc(var(--kopf-h) + clamp(22px, 1.6vw, 52px)); }

/* ---------- Held (Grundlage der Foto-Karte, Ausbau in bezirk.css) ---------- */
.sv-held { position: relative; width: var(--breite); margin: 0 auto; min-height: clamp(520px, 70vh, 1500px); border-radius: clamp(26px, 2vw, 64px); overflow: hidden; box-shadow: var(--plastik), 0 50px 100px -50px rgba(29, 43, 69, .6); border: 3px solid #fff; display: grid; isolation: isolate; background: var(--papier-2); }
.sv-held__panel { position: relative; z-index: 4; align-self: end; margin: clamp(20px, 1.6vw, 56px); max-width: clamp(480px, 38vw, 1300px); background: rgba(255, 251, 242, .95); border-radius: var(--r-l); border: 2px solid #fff; box-shadow: var(--plastik); padding: clamp(22px, 1.8vw, 60px); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.sv-held__panel .sv-h1 { font-size: clamp(30px, 2.3vw + 2px, 92px); }
.sv-held__chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sv-held__hinweis { position: absolute; right: clamp(18px, 1.4vw, 46px); bottom: clamp(18px, 1.4vw, 46px); z-index: 4; display: inline-flex; align-items: center; gap: .5em; font-family: var(--f-display); font-weight: 600; font-size: var(--t-klein); background: rgba(29, 43, 69, .82); color: #fff; padding: .55em 1em; border-radius: 999px; margin: 0; pointer-events: none; }
.sv-held__hinweis .sv-i { color: var(--gelb); }

/* Bezirks-Icon in den Filterknöpfen (die Pins der Foto-Karte stehen in bezirk.css) */
.sv-pin__icon { width: 1.9em; height: 1.9em; border-radius: 50%; display: grid; place-items: center; background: var(--farbe); color: var(--auf); flex: none; }
.sv-pin__icon .sv-i { width: 1.1em; height: 1.1em; }

/* ---------- Info-Tafeln ---------- */
.sv-tafelreihe { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: clamp(16px, 1.6vw, 56px); align-items: start; }
.sv-tafelreihe--eins { grid-template-columns: minmax(0, 1fr); }

/* ---------- Kategorie: Werkzeugleiste & Raster ---------- */
.sv-werkzeug { position: sticky; top: calc(var(--kopf-oben) + var(--kopf-h) + clamp(14px, 1vw, 30px)); z-index: 20; display: grid; grid-template-columns: auto 1fr auto auto auto auto; grid-template-areas: "titel leer status sort suche zahl" "filter filter filter filter filter filter"; row-gap: clamp(8px, .6vw, 16px); column-gap: clamp(8px, .6vw, 18px); align-items: center; padding: clamp(10px, .7vw, 22px) clamp(12px, .9vw, 28px); background: rgba(255, 251, 242, .95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: var(--r-l); border: 2px solid #fff; box-shadow: var(--plastik); margin-bottom: clamp(18px, 1.4vw, 44px); }
.sv-werkzeug__titel { grid-area: titel; font-family: var(--f-display); font-weight: 600; font-size: var(--t-h3); margin: 0 .4em 0 .2em; white-space: nowrap; }
.sv-filter { grid-area: filter; display: flex; flex-wrap: nowrap; gap: 6px; overflow-x: auto; padding: 2px 2px 6px; scrollbar-width: thin; }
.sv-filter__knopf { flex: none; display: inline-flex; align-items: center; gap: .4em; border: 0; background: #fff; border-radius: 999px; padding: .5em .85em .5em .5em; font-family: var(--f-display); font-weight: 600; font-size: var(--t-klein); cursor: pointer; box-shadow: inset 0 -2px 0 rgba(29, 43, 69, .06), 0 0 0 1.5px rgba(29, 43, 69, .08); transition: transform .25s var(--feder), background .2s, box-shadow .2s; color: var(--tinte); }
.sv-filter__knopf .sv-pin__icon { width: 1.7em; height: 1.7em; }
.sv-filter__knopf:hover { transform: translateY(-2px); }
.sv-filter__knopf[aria-pressed="true"] { background: var(--farbe, var(--tinte)); color: var(--auf, #fff); box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .18); }
.sv-filter__knopf small { opacity: .75; font-size: .85em; }
.sv-auswahl { display: flex; align-items: center; gap: .5em; font-size: var(--t-klein); font-weight: 700; color: var(--tinte-2); margin: 0; }
.sv-auswahl--status { grid-area: status; } .sv-auswahl--sort { grid-area: sort; } .sv-auswahl--suche { grid-area: suche; }
.sv-auswahl select, .sv-feld { font: inherit; font-size: var(--t-klein); font-weight: 700; color: var(--tinte); border: 2px solid rgba(29, 43, 69, .12); background: #fff; border-radius: 999px; padding: .5em 1em; cursor: pointer; }
.sv-feld { cursor: text; width: clamp(150px, 10vw, 360px); font-weight: 600; }
.sv-feld:focus, .sv-auswahl select:focus { outline: none; border-color: var(--gelb-2); box-shadow: 0 0 0 4px rgba(255, 200, 61, .35); }
.sv-zaehler { grid-area: zahl; font-family: var(--f-display); font-weight: 600; font-size: var(--t-klein); background: var(--tinte); color: #fff; border-radius: 999px; padding: .45em .9em; white-space: nowrap; margin: 0; justify-self: end; }
.sv-leer { text-align: center; padding: 3em 1em; font-family: var(--f-display); font-size: var(--t-h3); color: var(--tinte-3); }
.sv-leer[hidden] { display: none; }

/* Bezirks-Statistik */
.sv-statistik__titel { font-size: var(--t-h3); }
.sv-balken { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sv-balken__zeile { width: 100%; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto; align-items: center; gap: .8em; border: 0; background: none; padding: .45em .5em; border-radius: 12px; cursor: pointer; font: inherit; font-size: var(--t-klein); color: var(--tinte); text-align: left; transition: background .2s; }
html:not(.sv-js) .sv-balken__zeile { cursor: default; }
.sv-balken__zeile:hover, .sv-balken__zeile[aria-pressed="true"] { background: #fff; box-shadow: 0 0 0 2px var(--farbe); }
.sv-balken__name { display: flex; align-items: center; gap: .5em; font-family: var(--f-display); font-weight: 600; min-width: 0; }
.sv-balken__name .sv-i { color: var(--tinte-2); }
.sv-balken__spur { height: .8em; border-radius: 999px; background: var(--papier-3); overflow: hidden; box-shadow: inset 0 1px 2px rgba(29, 43, 69, .15); }
.sv-balken__spur span { display: block; height: 100%; width: var(--w); background: var(--farbe); border-radius: inherit; box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .15); }
.sv-balken__zeile b { font-family: var(--f-display); font-size: 1.1em; min-width: 1.6em; text-align: right; }

/* ---------- Spiel ---------- */
.sv-grundstueck { position: relative; width: var(--breite); margin: 0 auto clamp(30px, 3vw, 110px); display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(18px, 1.6vw, 56px); align-items: stretch; isolation: isolate; }
.sv-grundstueck__hg { position: absolute; inset: -40px 52% -40px -60px; z-index: -1; border-radius: 60px; overflow: hidden; opacity: .55; filter: blur(30px) saturate(1.3); pointer-events: none; }
.sv-grundstueck__hg img { width: 100%; height: 100%; object-fit: cover; }
.sv-inspektor { position: relative; background: var(--papier); border-radius: var(--r-l); border: 2px solid #fff; box-shadow: var(--plastik), 0 50px 90px -50px rgba(29, 43, 69, .55); padding: clamp(22px, 1.8vw, 60px); display: flex; flex-direction: column; gap: clamp(12px, .9vw, 28px); }
.sv-inspektor .sv-krume { margin: 0; }
.sv-inspektor__kopf { display: flex; gap: clamp(14px, 1.1vw, 36px); align-items: flex-start; }
.sv-inspektor__bild { width: clamp(150px, 11vw, 420px); flex: none; border-radius: var(--r-m); overflow: hidden; box-shadow: var(--plastik-klein); border: 3px solid #fff; transform: rotate(-2deg); transition: transform .5s var(--feder); background: var(--papier-2); }
.sv-inspektor__bild:hover { transform: rotate(0) scale(1.03); }
.sv-inspektor__bild img { width: 100%; aspect-ratio: 300 / 220; object-fit: cover; }
.sv-inspektor .sv-h1 { font-size: clamp(28px, 2vw + 6px, 86px); margin-bottom: .25em; }
.sv-inspektor .sv-h1 .sv-status { font-size: .3em; vertical-align: .45em; }
.sv-inspektor__auszug { font-size: clamp(16px, .42vw + 10.6px, 25px); color: var(--tinte-2); margin: 0; }
.sv-werte { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 0; }
.sv-wert { background: #fff; border-radius: var(--r-m); padding: .7em .9em; box-shadow: inset 0 -3px 0 rgba(29, 43, 69, .06), 0 0 0 1.5px rgba(29, 43, 69, .06); min-width: 0; }
.sv-wert dt { font-size: clamp(11px, .2vw + 8.5px, 17px); font-weight: 800; text-transform: uppercase; letter-spacing: .07em; color: var(--tinte-3); margin-bottom: .2em; }
.sv-wert dd { margin: 0; font-family: var(--f-display); font-weight: 600; font-size: clamp(15px, .4vw + 10px, 27px); line-height: 1.2; }
.sv-inspektor__badges { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.sv-inspektor__bau { display: flex; align-items: center; gap: clamp(12px, 1vw, 30px); margin-top: auto; padding-top: clamp(10px, .8vw, 24px); border-top: 2px dashed rgba(29, 43, 69, .12); flex-wrap: wrap; }
.sv-bauknopf { font-size: clamp(19px, .8vw + 9px, 40px); padding: .85em 1.5em .85em 1.1em; border-radius: var(--r-l); }
.sv-bauknopf .sv-i { width: 1.3em; height: 1.3em; }
.sv-inspektor__zuf { display: inline-flex; align-items: center; gap: .6em; text-decoration: none; background: #fff; border-radius: var(--r-m); padding: .5em .9em; box-shadow: inset 0 -2px 0 rgba(29, 43, 69, .06), 0 0 0 1.5px rgba(29, 43, 69, .07); transition: transform .25s var(--feder); }
.sv-inspektor__zuf:hover { transform: translateY(-2px); }
.sv-inspektor__zuf > .sv-i { width: 1.8em; height: 1.8em; color: var(--gelb-2); }
.sv-inspektor__zuf b { display: block; font-family: var(--f-display); font-size: clamp(18px, .5vw + 10px, 32px); line-height: 1; }
.sv-inspektor__zuf small { display: block; font-size: var(--t-klein); color: var(--tinte-3); font-weight: 700; }

/* 3D-Vitrine */
.sv-vitrine { position: relative; border-radius: var(--r-l); overflow: hidden; border: 3px solid #fff; box-shadow: var(--plastik); min-height: clamp(420px, 31vw, 1050px); background: radial-gradient(ellipse at 50% 30%, #fffaf0, #f1e6cc 60%, #e2d2ae); cursor: grab; touch-action: pan-y; }
.sv-vitrine.ist-ziehen { cursor: grabbing; }
.sv-vitrine.ist-nacht { background: radial-gradient(ellipse at 50% 30%, #2a3a6e, #121c3e 60%, #070d24); }
.sv-vitrine__flaeche { position: absolute; inset: 0; }
.sv-vitrine__flaeche canvas { display: block; width: 100%; height: 100%; opacity: 0; transition: opacity .6s var(--ease); }
.sv-vitrine.ist-3d .sv-vitrine__flaeche canvas { opacity: 1; }
.sv-vitrine__ersatz { position: absolute; inset: 12%; display: grid; place-items: center; transition: opacity .5s var(--ease); }
.sv-vitrine__ersatz img { border-radius: 12px; box-shadow: 0 20px 40px -10px rgba(29, 43, 69, .5); border: 6px solid #fff; transform: perspective(800px) rotateY(-14deg); width: min(100%, 520px); }
.sv-vitrine.ist-3d .sv-vitrine__ersatz { opacity: 0; pointer-events: none; }
.sv-vitrine__label { position: absolute; left: clamp(14px, 1vw, 30px); bottom: clamp(14px, 1vw, 30px); display: inline-flex; align-items: center; gap: .5em; font-family: var(--f-display); font-weight: 600; font-size: var(--t-klein); background: rgba(29, 43, 69, .85); color: #fff; padding: .5em 1em; border-radius: 999px; margin: 0; pointer-events: none; }
.sv-vitrine__label .sv-i { color: var(--gelb); }
.sv-vitrine.ist-nacht .sv-vitrine__label { background: rgba(255, 255, 255, .14); }
html:not(.sv-js) .sv-vitrine__label { display: none; }

/* Bauplan + Artikel */
.sv-plan { display: grid; grid-template-columns: clamp(300px, 21vw, 720px) minmax(0, 1fr); gap: clamp(24px, 2.6vw, 100px); align-items: start; }
.sv-plan--ohne { grid-template-columns: minmax(0, 1fr); }
.sv-bauplan { position: sticky; top: calc(var(--kopf-oben) + var(--kopf-h) + clamp(22px, 1.4vw, 44px)); background: #1f3b6e; background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(rgba(255, 255, 255, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .03) 1px, transparent 1px); background-size: 40px 40px, 40px 40px, 10px 10px, 10px 10px; color: #eaf2ff; border-radius: var(--r-l); padding: clamp(18px, 1.3vw, 44px); box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .18), 0 5px 0 #13284f, 0 30px 60px -30px rgba(19, 40, 79, .8); max-height: calc(100vh - var(--kopf-oben) - var(--kopf-h) - 60px); overflow: auto; scrollbar-width: thin; }
.sv-bauplan__titel { display: flex; align-items: center; gap: .5em; font-size: var(--t-h3); margin-bottom: .2em; color: #fff; }
.sv-bauplan__titel .sv-i { color: var(--gelb); }
.sv-bauplan__stand { font-size: var(--t-klein); color: #b8cbef; margin: 0 0 .7em; }
.sv-bauplan__balken { height: 12px; border-radius: 999px; background: rgba(255, 255, 255, .12); overflow: hidden; margin-bottom: 1em; box-shadow: inset 0 1px 3px rgba(0, 0, 0, .4); }
.sv-bauplan__balken span { display: block; height: 100%; width: 0; background: repeating-linear-gradient(-45deg, #ffc83d 0 10px, #ffd970 10px 20px); border-radius: inherit; transition: width .6s var(--ease); }
.sv-quests { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.sv-quest a { display: flex; align-items: flex-start; gap: .7em; padding: .55em .6em; border-radius: 12px; text-decoration: none; color: #dbe6ff; font-size: clamp(14px, .3vw + 10px, 22px); line-height: 1.35; transition: background .2s, color .2s; }
.sv-quest--unter a { padding-left: 1.8em; font-size: clamp(13px, .26vw + 9.5px, 20px); }
.sv-quest a:hover { background: rgba(255, 255, 255, .08); color: #fff; }
.sv-quest a:focus-visible { box-shadow: 0 0 0 3px var(--gelb); outline: none; }
.sv-quest__haken { width: 1.5em; height: 1.5em; border-radius: 7px; border: 2px dashed rgba(255, 255, 255, .5); flex: none; display: grid; place-items: center; margin-top: -.05em; transition: background .3s, border-color .3s; }
.sv-quest__haken .sv-i { width: .95em; height: .95em; opacity: 0; transform: scale(.3); transition: .35s var(--feder); color: var(--tinte); }
.sv-quest.ist-erledigt .sv-quest__haken { background: var(--gelb); border: 2px solid var(--gelb); }
.sv-quest.ist-erledigt .sv-quest__haken .sv-i { opacity: 1; transform: none; }
.sv-quest.ist-aktiv a { background: rgba(255, 200, 61, .16); color: #fff; box-shadow: inset 3px 0 0 var(--gelb); }
.sv-artikel { min-width: 0; background: var(--papier); border-radius: var(--r-l); border: 2px solid #fff; box-shadow: var(--plastik); padding: clamp(26px, 2.6vw, 100px) clamp(26px, 3vw, 120px); }
.sv-plan > #toc { position: sticky; top: calc(var(--kopf-oben) + var(--kopf-h) + 30px); background: var(--papier); border-radius: var(--r-l); padding: 1.2em; box-shadow: var(--plastik); }

/* Zufriedenheit (Bewertung) */
.sv-zufriedenheit { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(20px, 2vw, 70px); align-items: center; background: var(--papier); border-radius: var(--r-l); border: 2px solid #fff; box-shadow: var(--plastik); padding: clamp(24px, 2vw, 70px); scroll-margin-top: calc(var(--kopf-oben) + var(--kopf-h) + 40px); }
.sv-zufriedenheit__uhr { position: relative; width: clamp(200px, 13vw, 480px); aspect-ratio: 1; }
.sv-zufriedenheit__uhr svg { width: 100%; height: 100%; overflow: visible; }
.sv-seg { transition: opacity .4s; }
.sv-zufriedenheit__wert { position: absolute; inset: 0; display: grid; place-items: center; align-content: center; text-align: center; font-family: var(--f-display); font-weight: 700; font-size: clamp(36px, 2.6vw + 6px, 110px); line-height: 1; padding-top: 6%; }
.sv-zufriedenheit__wert small { display: block; font-size: .3em; font-weight: 600; color: var(--tinte-3); margin-top: .3em; }
.sv-zufriedenheit h2 { font-size: var(--t-h2); }
.sv-zufriedenheit__text { font-size: clamp(16px, .45vw + 10px, 26px); font-weight: 700; margin-bottom: .8em; }
.sv-stimmform { margin: 0; }
.sv-stimmen { margin: 0 0 1em; padding: 0; border: 0; min-width: 0; }
.sv-stimmen legend { font-family: var(--f-display); font-weight: 600; font-size: var(--t-h3); margin-bottom: .6em; padding: 0; }
.sv-stimmen__reihe { display: flex; flex-wrap: wrap; gap: clamp(5px, .4vw, 12px); }
.sv-stimme-wahl { position: relative; display: block; }
.sv-stimme-wahl input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; z-index: 1; }
.sv-stimme { width: clamp(44px, 2.4vw + 12px, 100px); aspect-ratio: 1; border-radius: var(--r-m); display: grid; place-items: center; cursor: pointer; font-family: var(--f-display); font-weight: 600; font-size: clamp(17px, .6vw + 9px, 34px); background: #fff; color: var(--tinte); box-shadow: inset 0 -4px 0 rgba(29, 43, 69, .08), 0 0 0 2px rgba(29, 43, 69, .08), 0 4px 0 rgba(29, 43, 69, .1); transition: transform .25s var(--feder), background .2s; }
.sv-stimme-wahl:hover .sv-stimme, .sv-stimme.ist-vor, .sv-stimme-wahl input:focus-visible + .sv-stimme { transform: translateY(-4px); background: hsl(calc(var(--n) * 12), 85%, 72%); }
.sv-stimme-wahl input:focus-visible + .sv-stimme { outline: 3px solid var(--gelb-2); outline-offset: 3px; }
.sv-stimme-wahl input:checked + .sv-stimme { background: var(--gelb); box-shadow: inset 0 -4px 0 rgba(150, 95, 0, .3), 0 0 0 3px var(--gelb-2); }
.sv-stimmform__senden { font-size: clamp(15px, .35vw + 10.5px, 24px); }
.sv-stimmform.ist-sendend { opacity: .6; pointer-events: none; }
.sv-zufriedenheit__meldung { font-weight: 700; color: #2f6a20; margin: .6em 0 0; min-height: 1.6em; }

/* Weitere Spiele */
.sv-titelzeile { display: flex; align-items: end; justify-content: space-between; gap: 1em; margin-bottom: clamp(16px, 1.2vw, 40px); flex-wrap: wrap; }
.sv-titelzeile h2 { font-size: var(--t-h2); margin: 0; }
.sv-weitere { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(260px, 15vw, 520px); gap: clamp(14px, 1.2vw, 40px); overflow-x: auto; padding: 14px 6px 30px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.sv-weitere .sv-karte { scroll-snap-align: start; }

/* ---------- Ratgeber (Lesemodus) ---------- */
.sv-lesefortschritt { position: fixed; left: 0; right: 0; top: var(--kopf-oben); height: 8px; z-index: 55; pointer-events: none; }
.sv-lesefortschritt__spur { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: repeating-linear-gradient(90deg, #8a7a66 0 6px, transparent 6px 12px); opacity: .5; }
.sv-lesefortschritt__balken { position: absolute; left: 0; bottom: 0; height: 4px; width: 0; background: var(--gelb-2); }
.sv-lesefortschritt__fahrzeug { position: absolute; bottom: -2px; left: 0; width: 46px; transform: translateX(-50%); }
.sv-lesefortschritt__fahrzeug svg { display: block; width: 100%; height: auto; }
html:not(.sv-js) .sv-lesefortschritt { display: none; }
.sv-lesehilfe { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 1em; }
.sv-lesehilfe button { display: inline-flex; align-items: center; gap: .4em; border: 0; background: #fff; border-radius: 999px; padding: .5em .9em; font-family: var(--f-display); font-weight: 600; font-size: var(--t-klein); cursor: pointer; box-shadow: inset 0 -2px 0 rgba(29, 43, 69, .06), 0 0 0 1.5px rgba(29, 43, 69, .08); color: var(--tinte); }
.sv-lesehilfe button[aria-pressed="true"] { background: var(--tinte); color: #fff; }
.sv-route { position: sticky; top: calc(var(--kopf-oben) + var(--kopf-h) + clamp(22px, 1.4vw, 44px)); background: var(--papier); border-radius: var(--r-l); border: 2px solid #fff; box-shadow: var(--plastik); padding: clamp(18px, 1.3vw, 44px); max-height: calc(100vh - var(--kopf-oben) - var(--kopf-h) - 60px); overflow: auto; scrollbar-width: thin; }
.sv-route__titel { display: flex; align-items: center; gap: .5em; font-size: var(--t-h3); }
.sv-route ol { list-style: none; margin: 0; padding: 0 0 0 .4em; position: relative; }
.sv-route ol::before { content: ''; position: absolute; left: calc(.4em + 9px); top: 14px; bottom: 14px; width: 4px; background: repeating-linear-gradient(180deg, var(--tinte-4) 0 8px, transparent 8px 14px); border-radius: 2px; }
.sv-route li a { display: flex; align-items: flex-start; gap: .8em; padding: .45em .3em; text-decoration: none; font-size: clamp(14px, .3vw + 10px, 22px); line-height: 1.35; color: var(--tinte-2); border-radius: 10px; position: relative; }
.sv-route li a::before { content: ''; width: 22px; height: 22px; border-radius: 50%; background: #fff; border: 4px solid var(--tinte-4); flex: none; position: relative; z-index: 1; transition: .3s var(--feder); box-sizing: border-box; }
.sv-route li.sv-route__unter a { font-size: clamp(13px, .26vw + 9.5px, 20px); }
.sv-route li.sv-route__unter a::before { width: 14px; height: 14px; margin: 4px 4px 0; border-width: 3px; }
.sv-route li a:hover { color: var(--tinte); background: rgba(29, 43, 69, .05); }
.sv-route li.ist-aktiv a { color: var(--tinte); font-weight: 800; }
.sv-route li.ist-aktiv a::before { border-color: var(--gelb-2); background: var(--gelb); transform: scale(1.2); }
.sv-route li.ist-erledigt a::before { border-color: var(--gruen); background: #dff3d2; }
.sv-lesemodus .sv-artikel { background: #fbf3df; }
.sv-lesemodus .sv-lesen { font-family: Georgia, 'Times New Roman', serif; font-size: calc(var(--lese-skala, 1) * clamp(17px, .5vw + 11px, 28px)); line-height: 1.8; }
.sv-ratgeber__held { position: relative; width: var(--breite); margin: 0 auto; border-radius: clamp(26px, 2vw, 64px); overflow: hidden; border: 3px solid #fff; box-shadow: var(--plastik); min-height: clamp(460px, 62vh, 1400px); display: grid; align-items: end; isolation: isolate; background: linear-gradient(135deg, #e9dcc0, #c9dde6); }
.sv-ratgeber__held > figure { position: absolute; inset: 0; margin: 0; z-index: -1; }
.sv-ratgeber__held > figure img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; box-shadow: none; max-width: none; }
.sv-ratgeber__held::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(7, 13, 36, 0) 40%, rgba(7, 13, 36, .45)); pointer-events: none; z-index: 0; }
.sv-ratgeber__held--ohne-bild { min-height: 0; }
.sv-ratgeber__held--ohne-bild::after { display: none; }
.sv-ratgeber__held .sv-held__panel { z-index: 2; }

/* ---------- Impressum ---------- */
.sv-rathaus { position: relative; width: var(--breite); margin: 0 auto; border-radius: clamp(26px, 2vw, 64px); overflow: hidden; border: 3px solid #fff; box-shadow: var(--plastik), 0 60px 100px -50px rgba(29, 43, 69, .6); height: clamp(560px, 72vh, 1600px); background: var(--papier-2); }
.sv-rathaus__bild { position: absolute; inset: -6% 0; }
.sv-rathaus__bild picture, .sv-rathaus__bild img { width: 100%; height: 100%; }
.sv-rathaus__bild img { object-fit: cover; }
.sv-rathaus__uhr { position: absolute; z-index: 1; pointer-events: none; left: 0; top: 0; width: 0; height: 0; }
.sv-rathaus__panel { position: absolute; left: clamp(20px, 1.6vw, 56px); bottom: clamp(20px, 1.6vw, 56px); z-index: 2; max-width: clamp(420px, 30vw, 1100px); margin: 0; }
.sv-urkunde-buehne { position: relative; padding: clamp(40px, 3vw, 120px) 0; }
.sv-urkunde { position: relative; max-width: clamp(880px, 56vw, 2000px); margin: 0 auto; padding: clamp(40px, 4vw, 150px) clamp(40px, 5vw, 190px) clamp(60px, 5vw, 200px); background: #fbf1d8; background-image: radial-gradient(ellipse at 20% 10%, rgba(255, 255, 255, .7), transparent 50%), radial-gradient(ellipse at 80% 90%, rgba(196, 160, 100, .25), transparent 55%), repeating-linear-gradient(0deg, rgba(150, 110, 60, .035) 0 2px, transparent 2px 5px); border-radius: 10px; box-shadow: 0 2px 0 #e6d3a6, 0 6px 0 #d9c18c, 0 40px 80px -30px rgba(80, 50, 10, .55); color: #3b2a14; font-family: Georgia, 'Times New Roman', serif; transform-origin: top center; }
.sv-urkunde::before { content: ''; position: absolute; inset: clamp(14px, 1.2vw, 40px); border: 3px double #b8924f; border-radius: 6px; pointer-events: none; }
.sv-urkunde::after { content: ''; position: absolute; inset: calc(clamp(14px, 1.2vw, 40px) + 8px); border: 1px solid rgba(184, 146, 79, .5); border-radius: 4px; pointer-events: none; }
.sv-urkunde__kopf { text-align: center; margin-bottom: clamp(24px, 2vw, 70px); }
.sv-urkunde__wappen { width: clamp(70px, 4vw + 20px, 180px); margin: 0 auto .6em; display: block; }
.sv-urkunde__titel { font-family: var(--f-display); font-weight: 600; font-size: clamp(30px, 2.2vw + 4px, 96px); color: #3b2a14; margin: 0; letter-spacing: .02em; line-height: 1.1; }
.sv-urkunde__unter { font-style: italic; color: #7a5a2e; margin: .3em 0 0; font-size: clamp(15px, .45vw + 10px, 26px); }
.sv-urkunde__vorspann { font-size: clamp(16px, .45vw + 10.5px, 26px); line-height: 1.65; margin-bottom: 1.2em; }
.sv-urkunde__inhalt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(18px, 1.6vw, 60px) clamp(30px, 3vw, 110px); font-size: clamp(16px, .45vw + 10.5px, 26px); line-height: 1.65; }
.sv-urkunde__abschnitt { min-width: 0; overflow-wrap: anywhere; }
.sv-urkunde__abschnitt h2 { font-family: var(--f-display); font-weight: 600; font-size: clamp(18px, .7vw + 9px, 36px); color: #6b4a1e; margin: 0 0 .35em; padding-bottom: .3em; border-bottom: 1px solid rgba(184, 146, 79, .45); }
.sv-urkunde__abschnitt p, .sv-urkunde__abschnitt ul { margin: 0; }
.sv-urkunde__abschnitt p + p { margin-top: .6em; }
.sv-urkunde__abschnitt ul { list-style: none; padding: 0; }
.sv-urkunde__abschnitt ul span:first-child { font-weight: 700; margin-right: .4em; }
.sv-urkunde__abschnitt--breit { grid-column: 1 / -1; }
.sv-urkunde a { color: #2b3f6e; }
.sv-urkunde__fuss { display: flex; align-items: flex-end; justify-content: space-between; gap: 2em; margin-top: clamp(30px, 3vw, 110px); }
.sv-unterschrift { flex: 1; max-width: 46%; }
.sv-unterschrift svg { width: 100%; height: auto; overflow: visible; display: block; }
.sv-unterschrift p { border-top: 1.5px solid #8a6a3a; margin: 0; padding-top: .4em; font-size: var(--t-klein); color: #7a5a2e; font-style: italic; }
.sv-siegel-wrap { position: relative; width: clamp(150px, 8vw + 40px, 360px); aspect-ratio: 1; flex: none; margin-bottom: 2em; }
.sv-siegel { position: absolute; inset: 0; border: 0; padding: 0; background: none; cursor: pointer; border-radius: 50%; }
html:not(.sv-js) .sv-siegel { cursor: default; }
.sv-siegel svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 10px 14px rgba(90, 10, 10, .45)); display: block; }
.sv-siegel:hover svg { transform: rotate(-4deg) scale(1.04); transition: transform .4s var(--feder); }
.sv-siegel__hinweis { position: absolute; left: 50%; top: 100%; transform: translate(-50%, 10px); white-space: nowrap; font-family: var(--f-display); font-weight: 600; font-size: var(--t-klein); color: #8a1f1f; text-align: center; margin: 0; }
.sv-siegel-wrap.ist-gebrochen .sv-siegel__hinweis { color: #2f6a20; }
.sv-stempel { position: absolute; right: 2%; bottom: 3%; width: 120%; pointer-events: none; opacity: 0; transform: rotate(-14deg) scale(1.8); }
.sv-brett-buehne { padding: clamp(30px, 2vw, 80px) 0 clamp(50px, 4vw, 140px); }
.sv-brett { position: relative; background: #b98a55; background-image: radial-gradient(circle at 20% 30%, rgba(255, 255, 255, .08) 0 2px, transparent 3px), radial-gradient(circle at 70% 60%, rgba(0, 0, 0, .08) 0 2px, transparent 3px), radial-gradient(circle at 40% 80%, rgba(255, 255, 255, .06) 0 1.5px, transparent 2.5px); background-size: 23px 19px, 31px 27px, 17px 21px; border-radius: 18px; border: clamp(14px, 1vw, 34px) solid #7a4f2a; box-shadow: inset 0 0 0 3px #5e3b1d, inset 0 10px 30px rgba(0, 0, 0, .35), 0 8px 0 #4f3117, 0 40px 80px -30px rgba(60, 30, 5, .6); padding: clamp(40px, 3vw, 110px) clamp(24px, 2.4vw, 90px) clamp(30px, 2.4vw, 90px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2vw, 70px); }
.sv-brett__schild { position: absolute; z-index: 4; left: 50%; top: 0; transform: translate(-50%, -60%); background: var(--papier); border-radius: 999px; padding: .5em 1.4em; font-family: var(--f-display); font-weight: 600; font-size: var(--t-h3); box-shadow: var(--plastik); border: 2px solid #fff; white-space: nowrap; margin: 0; }
.sv-aushang { position: relative; background: #fffdf4; padding: clamp(26px, 1.8vw, 66px) clamp(20px, 1.4vw, 52px) clamp(22px, 1.4vw, 52px); box-shadow: 0 2px 0 rgba(0, 0, 0, .08), 0 18px 30px -12px rgba(40, 20, 0, .55); transform: rotate(var(--dreh, -1.2deg)); transition: transform .5s var(--feder), box-shadow .3s; font-size: clamp(15px, .4vw + 10px, 24px); line-height: 1.6; min-width: 0; }
.sv-aushang:nth-child(3) { background: #fdf8e6; }
.sv-aushang:nth-child(4) { background: #f6fbff; }
.sv-aushang:hover, .sv-aushang:focus-within { transform: rotate(0) translateY(-6px) scale(1.02); box-shadow: 0 2px 0 rgba(0, 0, 0, .08), 0 30px 40px -16px rgba(40, 20, 0, .6); z-index: 2; }
.sv-aushang::before { content: ''; position: absolute; left: 50%; top: 10px; width: 22px; height: 22px; margin-left: -11px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #ff8a80, #d32f2f 60%, #8e1b1b); box-shadow: 0 4px 4px rgba(0, 0, 0, .35); }
.sv-aushang h3 { font-size: var(--t-h3); margin: .4em 0 .6em; }
.sv-aushang p:last-child { margin-bottom: 0; }
.sv-aushang.ist-gelesen::after { content: 'gelesen'; position: absolute; right: 14px; top: 12px; font-family: var(--f-display); font-weight: 600; font-size: var(--t-klein); color: #2f6a20; border: 2px solid #2f6a20; border-radius: 6px; padding: .1em .5em; transform: rotate(8deg); opacity: .8; }

/* ---------- Datenschutz (Grundversion, Phase 2 ersetzt sie) ---------- */
.sv-ds-held { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: clamp(18px, 1.6vw, 56px); align-items: center; }
.sv-ds-held__bild { border-radius: clamp(26px, 2vw, 64px); overflow: hidden; border: 3px solid #fff; box-shadow: var(--plastik); max-height: 78vh; }
.sv-ds-held__bild img { width: 100%; height: 100%; max-height: 78vh; object-fit: cover; }
.sv-ds-held__panel { margin: 0; max-width: none; align-self: center; }
.sv-ds__untertitel { font-family: var(--f-display); font-weight: 600; font-size: var(--t-h2); line-height: 1.12; margin: 0 0 .6em; }
.sv-artikel--recht .sv-lesen h2 { padding-top: .6em; border-top: 2px dashed rgba(29, 43, 69, .12); }
.sv-artikel--recht .sv-lesen h2:first-of-type { border-top: 0; padding-top: 0; }
.sv-artikel--recht .sv-lesen { overflow-wrap: anywhere; }

/* ---------- 404 ---------- */
.sv-irrfahrt { position: relative; width: var(--breite); margin: 0 auto; border-radius: clamp(26px, 2vw, 64px); overflow: hidden; border: 3px solid #fff; box-shadow: var(--plastik); display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr); gap: clamp(18px, 1.6vw, 56px); padding: clamp(20px, 1.6vw, 56px); min-height: clamp(600px, 78vh, 1700px); isolation: isolate; background: var(--papier-2); }
.sv-irrfahrt__bild { position: absolute; inset: 0; z-index: -1; }
.sv-irrfahrt__bild picture, .sv-irrfahrt__bild img { width: 100%; height: 100%; }
.sv-irrfahrt__bild img { object-fit: cover; }
.sv-irrfahrt__bild::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255, 251, 242, .2), rgba(255, 251, 242, 0) 50%); }
.sv-irrfahrt__text { align-self: center; margin: 0; max-width: none; }
.sv-irrfahrt__code { font-family: var(--f-display); font-weight: 700; font-size: clamp(80px, 7vw, 300px); line-height: .9; margin: 0; color: var(--gelb); -webkit-text-stroke: clamp(3px, .25vw, 8px) var(--tinte); paint-order: stroke fill; text-shadow: 0 8px 0 var(--tinte); letter-spacing: -.02em; }
.sv-irrfahrt__links { display: flex; flex-wrap: wrap; gap: 10px; margin: 1em 0 0; padding: 0; list-style: none; }
.sv-spiel404 { position: relative; display: flex; flex-direction: column; gap: clamp(10px, .7vw, 22px); }
.sv-spiel404__kopf, .sv-spiel404__steuer { background: rgba(255, 251, 242, .96); border-radius: var(--r-l); border: 2px solid #fff; box-shadow: var(--plastik); padding: clamp(10px, .8vw, 26px) clamp(14px, 1vw, 32px); }
.sv-spiel404__kopf { display: flex; align-items: center; justify-content: space-between; gap: 1em; flex-wrap: wrap; }
.sv-spiel404__kopf h2 { margin: 0; font-size: var(--t-h3); display: flex; align-items: center; gap: .5em; }
.sv-spiel404__werte { display: flex; gap: 8px; flex-wrap: wrap; }
.sv-spiel404__feld { position: relative; flex: 1; min-height: clamp(380px, 30vw, 1100px); border-radius: var(--r-l); overflow: hidden; background: radial-gradient(ellipse at 50% 40%, #b9dc8a, #8cc160); outline: none; cursor: pointer; border: 3px solid #fff; box-shadow: var(--plastik); }
.sv-spiel404__feld:focus-visible { box-shadow: 0 0 0 4px var(--gelb-2), 0 0 0 8px rgba(29, 43, 69, .85); }
.sv-spiel404__flaeche { position: absolute; inset: 0; }
.sv-spiel404__flaeche canvas { display: block; width: 100%; height: 100%; }
.sv-spiel404__ersatz { position: absolute; inset: 0; display: grid; place-items: center; }
.sv-spiel404__ersatz canvas { max-width: 92%; max-height: 92%; }
.sv-spiel404__feld.ist-3d .sv-spiel404__ersatz { display: none; }
.sv-spiel404__meldung { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 3; background: var(--papier); border-radius: var(--r-l); padding: clamp(18px, 1.4vw, 46px) clamp(22px, 1.8vw, 60px); box-shadow: var(--plastik), 0 30px 60px -20px rgba(29, 43, 69, .6); text-align: center; border: 2px solid #fff; min-width: 60%; }
.sv-spiel404__meldung[hidden] { display: none; }
.sv-spiel404__meldung h3 { font-size: var(--t-h2); margin-bottom: .3em; }
.sv-spiel404__steuer { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.sv-dpad { display: grid; grid-template-columns: repeat(3, clamp(38px, 1.8vw + 12px, 80px)); grid-template-rows: repeat(2, clamp(38px, 1.8vw + 12px, 80px)); gap: 4px; }
.sv-dpad button { border: 0; border-radius: 12px; background: #fff; cursor: pointer; box-shadow: inset 0 -3px 0 rgba(29, 43, 69, .1), 0 0 0 1.5px rgba(29, 43, 69, .1); display: grid; place-items: center; color: var(--tinte); }
.sv-dpad button:active { transform: translateY(2px); box-shadow: inset 0 2px 3px rgba(29, 43, 69, .2); }
.sv-dpad .sv-i { width: 55%; height: 55%; }
.sv-dpad__hoch { grid-column: 2; }
.sv-dpad__links { grid-column: 1; grid-row: 2; }
.sv-dpad__runter { grid-column: 2; grid-row: 2; }
.sv-dpad__rechts { grid-column: 3; grid-row: 2; }
.sv-dreh180 { transform: rotate(180deg); }
.sv-spiel404__info { font-size: var(--t-klein); color: var(--tinte-2); margin: 0; flex: 1; min-width: 14em; }
.sv-suchbox { display: flex; gap: 8px; margin: 1em 0; max-width: 640px; }
.sv-suchbox input { flex: 1; min-width: 0; font: inherit; font-size: var(--t-basis); padding: .7em 1.2em; border-radius: 999px; border: 2px solid rgba(29, 43, 69, .14); background: #fff; color: var(--tinte); }
.sv-suchbox input:focus { outline: none; border-color: var(--gelb-2); box-shadow: 0 0 0 4px rgba(255, 200, 61, .35); }

/* ---------- Suche ---------- */
.sv-suchkopf { width: var(--breite); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2em; align-items: end; background: var(--papier); border-radius: var(--r-l); border: 2px solid #fff; box-shadow: var(--plastik); padding: clamp(24px, 2vw, 70px); position: relative; overflow: hidden; }
.sv-suchkopf__lupe { position: absolute; right: -2%; top: -30%; width: clamp(240px, 18vw, 700px); height: clamp(240px, 18vw, 700px); opacity: .1; color: var(--tinte); pointer-events: none; }
.sv-suchkopf__seite { display: flex; flex-direction: column; align-items: flex-end; gap: .6em; max-width: clamp(320px, 24vw, 900px); position: relative; }
.sv-suchkopf__label { margin: .6em 0 0; font-family: var(--f-display); font-weight: 600; font-size: var(--t-klein); color: var(--tinte-3); text-transform: uppercase; letter-spacing: .08em; }
.sv-suchkopf__tipps { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.sv-suchkopf__tipps .sv-chip { text-decoration: none; transition: transform .25s var(--feder); }
.sv-suchkopf__tipps .sv-chip:hover { transform: translateY(-2px); background: var(--gelb); }
.sv-such-bezirke { margin-top: clamp(20px, 1.6vw, 50px); margin-bottom: 0; }
.sv-treffer mark { background: rgba(255, 200, 61, .6); color: inherit; border-radius: 3px; padding: 0 .1em; }
.sv-such-leer { text-align: center; }
.sv-such-leer .sv-genrelinks { justify-content: center; }
.sv-such-leer__knoepfe { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 1.4em; }

/* ---------- Bewegung reduzieren ---------- */
.sv-ruhig .sv-aushang, .sv-ruhig .sv-inspektor__bild { transform: none; }

/* ---------- Kleinere Bildschirme (Laptop klein, Tablet, Smartphone) ---------- */
/* Ab 1280 px bleibt alles wie abgenommen. Darunter fließend: Grid/Flex, clamp(), keine festen Mindestbreiten. */
@media (max-width: 1279px) {
	.sv-werte { grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5em), 1fr)); }
	.sv-karte__fuss { flex-wrap: wrap; }
}
/* Werkzeugleiste: umbrechend und nicht mehr klebend (Titel + Zähler, Filter, Auswahl) */
@media (max-width: 1199px) {
	.sv-werkzeug { position: static; display: flex; flex-wrap: wrap; align-items: center; }
	.sv-werkzeug__titel { order: 0; flex: 1 1 auto; min-width: 0; white-space: normal; margin: 0; }
	.sv-zaehler { order: 1; }
	.sv-filter { order: 2; flex: 1 1 100%; min-width: 0; }
	.sv-auswahl { order: 3; flex-wrap: wrap; }
	.sv-auswahl--suche { flex: 1 1 220px; }
	.sv-feld { width: 100%; }
	.sv-auswahl select { max-width: 100%; }
}
/* Tablet hochkant und kleiner: Spalten stapeln */
@media (max-width: 999px) {
	.sv-tafelreihe, .sv-grundstueck, .sv-plan, .sv-plan--breit, .sv-irrfahrt, .sv-ds-held, .sv-zufriedenheit, .sv-suchkopf { grid-template-columns: minmax(0, 1fr); }
	.sv-grundstueck__hg { inset: -20px 0 45% 0; }
	.sv-vitrine { min-height: clamp(300px, 70vw, 520px); }
	.sv-bauplan, .sv-route, .sv-plan > #toc { position: static; max-height: none; }
	.sv-zufriedenheit__uhr { justify-self: center; width: clamp(180px, 46vw, 260px); }
	.sv-ratgeber__held { min-height: 0; display: flex; flex-direction: column; }
	.sv-ratgeber__held > figure { position: relative; inset: auto; z-index: 0; aspect-ratio: 16 / 9; max-height: 55vh; overflow: hidden; }
	.sv-ratgeber__held::after { display: none; }
	.sv-ratgeber__held .sv-held__panel { align-self: stretch; margin: 0; max-width: none; border-radius: 0; border: 0; }
	.sv-rathaus { height: auto; display: flex; flex-direction: column; }
	.sv-rathaus__bild { position: relative; inset: auto; height: auto; aspect-ratio: 2688 / 1520; }
	.sv-rathaus__panel { position: relative; left: auto; bottom: auto; align-self: stretch; max-width: none; border-radius: 0; }
	.sv-rathaus__uhr { display: none; }
	.sv-urkunde { padding: 40px 28px 50px; }
	.sv-urkunde__inhalt, .sv-brett { grid-template-columns: minmax(0, 1fr); }
	.sv-urkunde__fuss { flex-direction: column; align-items: center; }
	.sv-unterschrift { max-width: 100%; width: 100%; }
	.sv-irrfahrt { min-height: 0; }
	.sv-suchkopf__seite { align-items: flex-start; max-width: none; }
	.sv-suchkopf__tipps { justify-content: flex-start; }
	.sv-ds-held__bild, .sv-ds-held__bild img { max-height: 60vh; }
}
/* Smartphone */
@media (max-width: 599px) {
	.sv-inspektor__kopf { flex-direction: column; }
	.sv-inspektor__bild { width: min(64%, 240px); }
	.sv-werte { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.sv-inspektor__bau { align-items: stretch; }
	.sv-bauknopf { width: 100%; justify-content: center; white-space: normal; }
	.sv-artikel { padding: 24px 18px; }
	.sv-zufriedenheit { padding: 22px 18px; }
	.sv-weitere { grid-auto-columns: min(78vw, 300px); }
	.sv-urkunde { padding: 34px 20px 44px; }
	.sv-urkunde::before { inset: 10px; }
	.sv-urkunde::after { inset: 16px; }
	.sv-brett { padding: 40px 14px 22px; border-width: 10px; }
	.sv-brett__schild { white-space: normal; text-align: center; max-width: 86%; }
	.sv-siegel__hinweis { white-space: normal; width: max-content; max-width: 70vw; }
	.sv-irrfahrt { padding: 12px; }
	.sv-irrfahrt__code { font-size: clamp(64px, 24vw, 120px); }
	.sv-spiel404__info { min-width: 0; flex-basis: 100%; }
	.sv-spiel404__meldung { min-width: 0; width: calc(100% - 24px); }
	.sv-suchkopf { padding: 22px 18px; gap: 1em; }
	.sv-suchbox { flex-wrap: wrap; }
	.sv-suchbox input { flex-basis: 100%; }
}
/* Touch-Ziele mindestens 44 px (Touch-Geräte und alle Breiten unter 1100 px) */
@media (pointer: coarse), (max-width: 1099px) {
	.sv-filter__knopf, .sv-auswahl select, .sv-feld, .sv-lesehilfe button, .sv-balken__zeile, .sv-suchbox input, .sv-suchbox button { min-height: 44px; }
	.sv-lesehilfe button { min-width: 44px; justify-content: center; }
	.sv-quest a, .sv-route li a { min-height: 44px; align-items: center; }
	.sv-krume { align-items: center; }
	.sv-krume li { display: inline-flex; align-items: center; }
	.sv-krume a { display: inline-flex; align-items: center; min-height: 44px; min-width: 44px; }
	.sv-suchkopf__tipps .sv-chip, .sv-genrelinks .sv-badge { min-height: 44px; }
	.sv-dpad { grid-template-columns: repeat(3, 48px); grid-template-rows: repeat(2, 48px); }
}

/* Ersatzbilder der Ratgeber (picture statt img) */
.sv-ratgeber__held > figure picture { display: block; width: 100%; height: 100%; }
picture.sv-ersatzbild { display: block; margin: 1.6em auto; max-width: 100%; }
picture.sv-ersatzbild img { display: block; width: 100%; height: auto; margin: 0; }

/* „Weitere Spiele“: Karussell mit Blätterpfeilen statt sichtbarem Scrollbalken */
.sv-karussell { position: relative; }
.sv-karussell .sv-weitere { scrollbar-width: none; scroll-behavior: smooth; outline-offset: 4px; }
.sv-karussell .sv-weitere::-webkit-scrollbar { display: none; }
.sv-karussell:not(.ist-anfang) .sv-weitere { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 56px); mask-image: linear-gradient(90deg, transparent 0, #000 56px); }
.sv-karussell:not(.ist-ende) .sv-weitere { -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent 100%); mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent 100%); }
.sv-karussell:not(.ist-anfang):not(.ist-ende) .sv-weitere { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 56px, #000 calc(100% - 56px), transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 56px, #000 calc(100% - 56px), transparent 100%); }
.sv-karussell__pfeil { position: absolute; top: calc(50% - 8px); z-index: 3; translate: 0 -50%; width: clamp(48px, 3.2vw, 76px); height: clamp(48px, 3.2vw, 76px); border-radius: 50%; border: 3px solid #fff; background: var(--gelb); color: var(--tinte); display: grid; place-items: center; cursor: pointer; box-shadow: var(--plastik-klein), 0 10px 26px -10px rgba(29, 43, 69, .55); transition: opacity .25s, background .2s; }
.sv-karussell__pfeil svg { width: 46%; height: 46%; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; pointer-events: none; transition: transform .3s var(--feder); }
.sv-karussell__pfeil--zurueck { left: clamp(-10px, -.6vw, -26px); }
.sv-karussell__pfeil--zurueck svg { transform: scaleX(-1); }
.sv-karussell__pfeil--vor { right: clamp(-10px, -.6vw, -26px); }
.sv-karussell__pfeil:hover { background: var(--gelb-2); }
.sv-karussell__pfeil--vor:hover svg { transform: translateX(3px); }
.sv-karussell__pfeil--zurueck:hover svg { transform: scaleX(-1) translateX(3px); }
.sv-karussell__pfeil:focus-visible { outline: 3px solid var(--tinte); outline-offset: 3px; }
.sv-karussell__pfeil:disabled { opacity: 0; pointer-events: none; }
.sv-karussell.kein-ueberlauf .sv-karussell__pfeil { display: none; }
@media (max-width: 999px) {
	.sv-karussell__pfeil--zurueck { left: 2px; }
	.sv-karussell__pfeil--vor { right: 2px; }
}
