/* TESI Schaftberater v2.0 · 08.11.2026 · baut auf tesi-opc.css auf (Tokens --tg-*) */
.tg-sb{max-width:980px;margin:0 auto;color:var(--tg-ink)}
.tg-sb .sb-head{margin-bottom:18px}
.tg-sb .sb-eyebrow{margin:0 0 4px;font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--tg-green-text)}
.tg-sb .sb-head h2{margin:0 0 6px;color:var(--tg-navy);text-wrap:balance}
.tg-sb .sb-intro{margin:0;color:var(--tg-muted);max-width:62ch}
.tg-sb .sb-steps{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:0;margin:0 0 14px;counter-reset:sb}
.tg-sb .sb-steps li{counter-increment:sb;cursor:pointer;padding:9px 10px;border-radius:var(--tg-radius-sm,12px);background:var(--tg-soft);font-weight:700;font-size:.86rem;color:var(--tg-muted);line-height:1.25}
.tg-sb .sb-steps li::before{content:counter(sb) " ";color:var(--tg-green-text);font-weight:800}
.tg-sb .sb-steps li.on{background:var(--tg-navy);color:#fff}
.tg-sb .sb-steps li.on::before{color:var(--tg-green)}
.tg-sb .sb-steps li.done{background:var(--tg-green-tint);color:var(--tg-green-text)}
.tg-sb .sb-panel{background:#fff;border:1px solid var(--tg-line);border-radius:var(--tg-radius,18px);padding:24px}
.tg-sb .sb-step h3{margin:0 0 16px;color:var(--tg-navy);font-size:1.25rem}
.tg-sb .sb-step h3:focus{outline:none}
.tg-sb fieldset{border:0;padding:0;margin:0 0 18px;min-width:0}
.tg-sb legend,.tg-sb .sb-label{display:block;font-weight:800;color:var(--tg-navy);margin-bottom:8px;font-size:.95rem;padding:0}
.tg-sb .sb-inline{display:block;margin:12px 0 6px;font-weight:700;font-size:.88rem;color:var(--tg-navy)}
.tg-sb small{font-weight:500;color:var(--tg-muted)}
.tg-sb .sb-seg{display:flex;flex-wrap:wrap;gap:6px}
.tg-sb .sb-seg label{flex:1 1 0;min-width:96px;position:relative;cursor:pointer}
.tg-sb .sb-seg.sb-small label{min-width:80px;flex:0 1 auto}
.tg-sb .sb-seg input,.tg-sb .sb-chips input{position:absolute;opacity:0;pointer-events:none}
.tg-sb .sb-seg span{display:block;text-align:center;padding:9px 10px;border:1px solid var(--tg-line);border-radius:var(--tg-radius-sm,12px);font-weight:700;font-size:.9rem;background:#fff;line-height:1.25}
.tg-sb .sb-seg span small{display:block;font-size:.74rem}
.tg-sb .sb-seg input:checked+span,.tg-sb .sb-chips input:checked+span{border-color:var(--tg-green-dark);background:var(--tg-green-tint);color:var(--tg-green-text)}
.tg-sb .sb-seg input:focus-visible+span,.tg-sb .sb-chips input:focus-visible+span,.tg-sb .sb-input:focus-visible,.tg-sb .tg-btn:focus-visible,.tg-sb summary:focus-visible,.tg-sb .sb-steps li:focus-visible{outline:3px solid var(--tg-green);outline-offset:2px}
.tg-sb .sb-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.tg-sb .sb-chips label{position:relative;cursor:pointer}
.tg-sb .sb-chips span{display:inline-block;padding:6px 12px;border:1px solid var(--tg-line);border-radius:999px;font-size:.86rem;font-weight:600;background:#fff}
.tg-sb .sb-input{width:100%;box-sizing:border-box;padding:9px 12px;border:1px solid var(--tg-line);border-radius:var(--tg-radius-sm,12px);font:inherit;background:#fff;color:var(--tg-navy)}
.tg-sb .sb-short{max-width:220px}
.tg-sb .sb-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}
.tg-sb .sb-row>div{min-width:0}
.tg-sb .sb-value{display:flex;gap:8px}
.tg-sb .sb-value input{flex:1;min-width:0;font-size:1.25rem;font-weight:800;font-variant-numeric:tabular-nums}
.tg-sb .sb-value select{width:auto}
.tg-sb .sb-help{font-size:.83rem;color:var(--tg-muted);margin:6px 0 0}
.tg-sb .sb-more{margin:6px 0 18px;padding:12px 14px;background:var(--tg-soft);border-radius:var(--tg-radius-sm,12px)}
.tg-sb .sb-more summary{cursor:pointer;font-weight:800;color:var(--tg-navy)}
.tg-sb .sb-more[open] summary{margin-bottom:12px}
.tg-sb .sb-more .sb-input{background:#fff}
.tg-sb .sb-nav{display:flex;justify-content:space-between;gap:10px;margin-top:8px;border-top:1px solid var(--tg-line);padding-top:16px}
.tg-sb .tg-btn.sb-next{margin-left:auto;background:var(--tg-navy);color:#fff;border-color:var(--tg-navy)}
.tg-sb .tg-btn{cursor:pointer;font:inherit;font-weight:800;border:2px solid transparent;background:transparent}
.tg-sb .tg-btn--ghost{border-color:var(--tg-navy);color:var(--tg-navy)}
.tg-sb .tg-btn--primary{background:var(--tg-green);color:var(--tg-navy)}
/* Ergebnis */
.tg-sb .sb-badge{display:inline-block;margin:0 0 6px;padding:4px 12px;border-radius:999px;font-weight:800;font-size:.82rem}
.tg-sb .sb-ok{background:var(--tg-green-tint);color:var(--tg-green-text)}
.tg-sb .sb-mid{background:var(--tg-amber-tint,#fff4e0);color:var(--tg-amber,#b86e00)}
.tg-sb .sb-low{background:#f6e7e4;color:#9a3a26}
.tg-sb .sb-why{margin:0 0 14px;font-size:.88rem;color:var(--tg-muted);max-width:70ch}
.tg-sb .sb-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 12px;background:var(--tg-navy);border-radius:var(--tg-radius,18px);padding:14px}
.tg-sb .sb-facts>div{background:rgba(255,255,255,.07);border-radius:12px;padding:12px;color:#fff;min-width:0}
.tg-sb .sb-facts small{display:block;color:#b9c6cc;font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.tg-sb .sb-facts strong{display:block;font-size:1.5rem;line-height:1.2;font-variant-numeric:tabular-nums;color:#fff;margin:4px 0}
.tg-sb .sb-facts span{display:block;font-size:.76rem;color:#b9dd66}
.tg-sb .sb-list,.tg-sb .sb-notes{margin:0 0 16px;padding-left:18px;font-size:.9rem}
.tg-sb .sb-list li,.tg-sb .sb-notes li{margin-bottom:4px}
.tg-sb .sb-notes{color:var(--tg-muted)}
.tg-sb h4{margin:18px 0 10px;color:var(--tg-navy)}
.tg-sb .sb-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:16px}
.tg-sb .sb-card{border:1px solid var(--tg-line);border-radius:var(--tg-radius-sm,12px);padding:14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.tg-sb .sb-card header{display:block}
.tg-sb .sb-brand{margin:0;font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tg-green-text)}
.tg-sb .sb-card h5{margin:2px 0 0;font-size:1rem;line-height:1.3}
.tg-sb .sb-card h5 a{color:var(--tg-navy)}
.tg-sb .sb-card dl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:6px 0;background:var(--tg-soft);border-radius:10px;padding:8px}
.tg-sb .sb-card dt{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--tg-muted);font-weight:700}
.tg-sb .sb-card dd{margin:0;overflow-wrap:anywhere;font-weight:800;font-size:.9rem;font-variant-numeric:tabular-nums}
.tg-sb .sb-card ul{margin:0;padding-left:16px;font-size:.86rem}
.tg-sb .sb-k{margin:4px 0 0;font-weight:800;font-size:.84rem}
.tg-sb .sb-cmp{margin:0;font-size:.84rem;color:var(--tg-green-text);font-weight:700}
.tg-sb .sb-gw{margin:0;font-size:.84rem;color:var(--tg-text-soft,#555)}
.tg-sb .sb-data{margin:auto 0 0;font-size:.76rem;color:var(--tg-muted)}
.tg-sb .sb-price{margin:0;font-weight:800;color:var(--tg-navy)}
.tg-sb .sb-len{font-size:.92rem}
.tg-sb .sb-disclaimer{padding:12px 14px;background:var(--tg-green-tint);border-radius:12px;color:var(--tg-green-text);font-weight:700;font-size:.9rem}
.tg-sb .sb-cta{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.tg-sb .sb-empty{padding:14px;background:var(--tg-soft);border-radius:12px;color:var(--tg-muted)}
.tg-sb textarea.sb-input{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.82rem;margin-bottom:8px}
.tg-sb .sb-ver{font-size:.72rem;color:var(--tg-muted);margin:12px 0 0}
@media (max-width:700px){
  .tg-sb .sb-panel{padding:16px}
  .tg-sb .sb-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tg-sb .sb-facts{grid-template-columns:1fr}
  .tg-sb .sb-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.tg-sb *{scroll-behavior:auto!important}}

/* v2.1 Datenstufe je Schaft */
.tg-sb .sb-stufe{display:inline-block;font-weight:800;font-size:.7rem;padding:1px 7px;border-radius:999px;margin-right:4px;background:var(--tg-soft);color:var(--tg-ink)}
.tg-sb .sb-stufe-1,.tg-sb .sb-stufe-2{background:var(--tg-green-tint);color:var(--tg-green-text)}
.tg-sb .sb-stufe-4{background:var(--tg-amber-tint,#fff4e0);color:#7a4a00}
.tg-sb .sb-anfrage{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:#fff4e0;color:#7a4a00;font-size:.75rem;font-weight:700}

/* v2.3 Preisklassen, weitere Schäfte, Wunschschaft */
.tg-sb .sb-pk{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:600;background:#eef3ee;color:#2e5d32}
.tg-sb .sb-pk-premium{background:#f6ecdc;color:#7a4a00}
.tg-sb .sb-pk-preis_leistung{background:#e7f1fb;color:#1f4f86}
.tg-sb .sb-pk-h{margin:14px 0 6px;font-size:.9rem}
.tg-sb .sb-wlist{list-style:none;margin:0;padding:0;border-top:1px solid #e3e8e2}
.tg-sb .sb-wlist li{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;padding:8px 0;border-bottom:1px solid #e3e8e2}
.tg-sb .sb-wlist li a{font-weight:600}
.tg-sb .sb-wlist li span{color:#5b6670;font-size:.85rem}
.tg-sb .sb-wlist li b{margin-left:auto;font-weight:600;white-space:nowrap}
.tg-sb .sb-wunsch{margin:16px 0;padding:12px 14px;border-radius:12px;background:#f7f9f6;border:1px solid #e3e8e2}
.tg-sb .sb-wunsch h4{margin:0 0 6px}
.tg-sb .sb-pk-einsteiger{background:#f0efec;color:#4a4a44}

.tg-sb .sb-wfilter{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0 4px}
.tg-sb .sb-wfilter button{border:1px solid #cfd8cf;background:#fff;color:#2e5d32;border-radius:999px;padding:4px 12px;font-size:.82rem;cursor:pointer;min-height:32px}
.tg-sb .sb-wfilter button.on{background:#2e7d32;border-color:#2e7d32;color:#fff}
.tg-sb .sb-wsort{margin-left:auto;font-size:.82rem;display:flex;gap:6px;align-items:center}
.tg-sb .sb-wsort select{width:auto;min-height:32px;padding:2px 8px}
@media (max-width:560px){.tg-sb .sb-wsort{margin-left:0;width:100%}}
/* v2.3.2 Ergebnisbox im Stil Flex-Rechner v1.0 */
.tg-sb .sb-resbox{background:var(--tg-navy,#18323d);color:#fff;border-radius:var(--tg-radius,18px);padding:22px;margin:0 0 14px}
.tg-sb .sb-resbox h4{margin:0 0 4px;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:#b9dd66}
.tg-sb .sb-flexbig{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:6px 0 4px}
.tg-sb .sb-flexbig b{font-size:clamp(2.4rem,6vw,3.4rem);line-height:1;letter-spacing:-.03em;color:#fff}
.tg-sb .sb-flexbig span{color:#cfd8dc}
.tg-sb .sb-scale{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:14px 0 16px}
.tg-sb .sb-scale button{border:0;cursor:pointer;text-align:center;padding:7px 0;border-radius:8px;background:rgba(255,255,255,.08);font-weight:800;font-size:.85rem;color:#9fb0b8;min-height:34px}
.tg-sb .sb-scale button.on{background:var(--tg-green,#84bd00);color:var(--tg-navy,#18323d)}
.tg-sb .sb-scale button.alt{outline:2px dashed var(--tg-green,#84bd00);outline-offset:-2px;color:#fff}
.tg-sb .sb-scale button:focus-visible{outline:3px solid #fff}
.tg-sb .sb-resbox .sb-facts{background:none;padding:0;margin:0 0 12px}
.tg-sb .sb-resbox .sb-facts strong{font-size:1.15rem}
.tg-sb .sb-rnote{margin:0;font-size:.92rem;color:#dbe4e8}
.tg-sb .sb-over{margin:20px 0}
.tg-sb .sb-over h4{margin:0 0 4px}
.tg-sb .sb-tablewrap{overflow-x:auto}
.tg-sb .sb-over table{width:100%;border-collapse:collapse;font-size:.92rem;font-variant-numeric:tabular-nums}
.tg-sb .sb-over th{background:var(--tg-green-tint,#eef6dc);color:var(--tg-green-text,#467000);text-align:left;padding:9px 10px;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.tg-sb .sb-over td{padding:9px 10px;border-bottom:1px solid var(--tg-line,#e3e8e2)}
.tg-sb .sb-over td small{color:var(--tg-muted,#5b6670)}
.tg-sb .sb-over tbody tr{cursor:pointer}
.tg-sb .sb-over tbody tr:hover td{background:var(--tg-soft,#f5f7f4)}
.tg-sb .sb-over tr.on td{background:var(--tg-green-tint,#eef6dc);font-weight:700}
.tg-sb .sb-over tr.sel td{outline:2px solid var(--tg-green-dark,#5f8f00);outline-offset:-2px}
.tg-sb .sb-pick{margin:10px 0 0;padding:12px 14px;background:var(--tg-soft,#f5f7f4);border-radius:12px;font-size:.92rem}
@media (max-width:560px){.tg-sb .sb-resbox .sb-facts{grid-template-columns:1fr 1fr}}
