/*
 * Schwarzwald-IT Selbstcheck - dunkles Theme.
 * Zurueckhaltung: Panzerstahl-Dunkel, ein Akzent (Rot), Systemschrift.
 */

:root {
    --swit-bg:        #14171a;
    --swit-bg-tief:   #0e1113;
    --swit-flaeche:   #1c2024;
    --swit-linie:     #2b3137;
    --swit-text:      #e6e9ec;
    --swit-text-leise:#9aa3ab;
    --swit-akzent:    #c8372d;
    --swit-gruen:     #2f9e6f;
    --swit-gelb:      #b7893a;
    --swit-radius:    12px;
}

.swit-dark,
body.swit-landing {
    background: var(--swit-bg-tief);
    margin: 0;
}

.swit,
.swit-landing-wrap {
    max-width: 720px;
    margin: 0 auto;
    padding: 2.5rem 1.25rem 4rem;
    color: var(--swit-text);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, system-ui, sans-serif;
    line-height: 1.55;
}

.swit h1 { font-size: 1.9rem; line-height: 1.2; margin: 0 0 .6rem; }
.swit h2 { font-size: 1.3rem; margin: 0 0 1rem; }
.swit h3 { font-size: 1.05rem; margin: 0 0 .5rem; }

.swit-hero { text-align: center; margin-bottom: 2.5rem; }
.swit-hero-klein { margin-bottom: 1.5rem; }
.swit-logo { width: 120px; height: auto; margin: 0 auto 1.25rem; display: block; }
.swit-lead { color: var(--swit-text-leise); font-size: 1.05rem; max-width: 36rem; margin: 0 auto; }

.swit-card {
    background: var(--swit-flaeche);
    border: 1px solid var(--swit-linie);
    border-radius: var(--swit-radius);
    padding: 1.75rem;
    margin-bottom: 1.5rem;
}

.swit-feld { margin-bottom: 1.1rem; display: flex; flex-direction: column; }
.swit-feld label { font-weight: 600; margin-bottom: .35rem; }
.swit-feld input[type="text"],
.swit-feld input[type="email"],
.swit-feld textarea {
    background: var(--swit-bg);
    border: 1px solid var(--swit-linie);
    border-radius: 8px;
    color: var(--swit-text);
    padding: .7rem .8rem;
    font-size: 1rem;
    font-family: inherit;
}
.swit-feld input:focus,
.swit-feld textarea:focus {
    outline: 2px solid var(--swit-akzent);
    outline-offset: 1px;
    border-color: var(--swit-akzent);
}

.swit-tiefe legend { font-weight: 600; margin-bottom: .4rem; }
.swit-tiefe label { font-weight: 400; display: block; margin: .25rem 0; }

.swit-btn {
    background: var(--swit-akzent);
    color: #fff;
    border: 0;
    border-radius: 8px;
    padding: .8rem 1.4rem;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
}
.swit-btn:hover { filter: brightness(1.08); }
.swit-btn-sekundaer {
    background: transparent;
    border: 1px solid var(--swit-linie);
    color: var(--swit-text);
    margin-left: .5rem;
}

.swit-hinweis-klein { color: var(--swit-text-leise); font-size: .85rem; margin-top: .8rem; }
.swit-fehler { color: var(--swit-akzent); font-size: .85rem; margin: .3rem 0 0; min-height: 1em; }
.swit-erfolg { color: var(--swit-gruen); margin-top: .8rem; }

.swit-nachweis { margin-top: 1.5rem; border-top: 1px solid var(--swit-linie); padding-top: 1.25rem; }
.swit-nachweis code {
    display: inline-block;
    background: var(--swit-bg);
    border: 1px solid var(--swit-linie);
    border-radius: 6px;
    padding: .2rem .5rem;
    font-size: .9rem;
    word-break: break-all;
}

.swit-status { margin-top: 1.25rem; color: var(--swit-text-leise); }

.swit-ampel {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    font-weight: 700;
    font-size: 1.2rem;
    padding: .5rem .9rem;
    border-radius: 8px;
    border: 1px solid var(--swit-linie);
}
.swit-ampel .punkt { width: 14px; height: 14px; border-radius: 50%; display: inline-block; background: currentColor; }
.swit-ampel[data-ampel="verwundbar"] { color: var(--swit-akzent); }
.swit-ampel[data-ampel="gepatcht"]   { color: var(--swit-gruen); }
.swit-ampel[data-ampel="unbekannt"]  { color: var(--swit-gelb); }

.swit-detail { list-style: none; padding: 0; margin: 1.25rem 0 0; }
.swit-detail li { padding: .55rem 0; border-bottom: 1px solid var(--swit-linie); display: flex; justify-content: space-between; gap: 1rem; }
.swit-detail li span:first-child { color: var(--swit-text-leise); }

.swit-funnel p { color: var(--swit-text-leise); }

.swit-foot { text-align: center; color: var(--swit-text-leise); font-size: .85rem; margin-top: 2rem; }
.swit-foot a { color: var(--swit-text-leise); }

.swit-weg { border: 1px solid var(--swit-linie); border-radius: 10px; padding: 1rem 1.2rem .4rem; margin: 1rem 0; }
.swit-weg h4 { margin: 0 0 .6rem; font-size: 1rem; }
.swit-weg ol { margin: 0 0 .6rem 1.2rem; padding: 0; }
.swit-weg li { margin-bottom: .7rem; }
.swit-weg a { word-break: break-all; }
.swit-marke { font-size: .72rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; color: var(--swit-gruen); margin-left: .4rem; }
.swit-btn-klein { padding: .45rem .9rem; font-size: .9rem; margin: .2rem .4rem .2rem 0; }
a.swit-btn { display: inline-block; text-decoration: none; }
.swit-wert { display: block; margin: .4rem 0; word-break: break-all; }

.swit-beispiel-titel { margin: .9rem 0 .4rem; font-weight: 600; font-size: .92rem; }
.swit-beispiel { width: 100%; border-collapse: collapse; font-size: .85rem; margin-bottom: .4rem; }
.swit-beispiel th, .swit-beispiel td { border: 1px solid var(--swit-linie); padding: .45rem .6rem; text-align: left; vertical-align: top; }
.swit-beispiel th { background: rgba(127,127,127,.09); color: var(--swit-text-leise); font-weight: 600; }
.swit-beispiel td { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; white-space: nowrap; }
.swit-beispiel td:nth-child(3) { white-space: normal; word-break: break-all; }
.swit-beispiel td:nth-child(4) { font-family: inherit; }

.swit-schnell-lead { color: var(--swit-text-leise); margin: 0 0 1rem; }
.swit-schnell-zeile { display: flex; gap: .6rem; flex-wrap: wrap; }
.swit-schnell-zeile input {
    flex: 1 1 220px; background: var(--swit-bg); border: 1px solid var(--swit-linie); border-radius: 8px;
    color: var(--swit-text); padding: .7rem .8rem; font-size: 1rem; font-family: inherit;
}
.swit-schnell-zeile input:focus { outline: 2px solid var(--swit-akzent); outline-offset: 1px; }
.swit-schnell-ergebnis { margin-top: 1rem; }
.swit-schnell-ergebnis p { margin: .7rem 0 0; }
.swit .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.swit-urteil { margin-top: 1.2rem; border: 1px solid var(--swit-linie); border-radius: 12px; padding: 1.2rem 1.3rem; position: relative; --ton: var(--swit-gelb); border-top: 4px solid var(--ton); }
.swit-urteil[data-status="sicher"]   { --ton: var(--swit-gruen); }
.swit-urteil[data-status="unsicher"] { --ton: var(--swit-akzent); }
.swit-urteil-kopf { padding-right: 9rem; }
.swit-urteil h3 { margin: 0 0 .3rem; font-size: 1.35rem; }
.swit-urteil-meta { color: var(--swit-text-leise); font-size: .85rem; margin: 0 0 .8rem; }
.swit-chip { display: inline-block; border: 1px solid var(--swit-linie); border-radius: 6px; padding: .1rem .5rem; margin-right: .4rem; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--swit-text); }
.swit-stempel { position: absolute; top: 1.1rem; right: 1.2rem; color: var(--ton); border: 2px solid var(--ton); border-radius: 6px; padding: .25rem .6rem; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transform: rotate(-4deg); }
.swit-urteil .swit-detail li span:last-child { text-align: right; font-weight: 600; }
.swit-todo { background: rgba(127,127,127,.07); border-radius: 10px; padding: .9rem 1.1rem .3rem; margin-top: 1rem; }
.swit-todo h4 { margin: 0 0 .5rem; }
.swit-todo ol { margin: 0 0 .6rem 1.2rem; padding: 0; }
.swit-todo li { margin-bottom: .45rem; }
@media (max-width: 560px) { .swit-urteil-kopf { padding-right: 0; } .swit-stempel { position: static; display: inline-block; margin-bottom: .6rem; } }
