/* BU-Bedarfsrechner – ergänzt site.css, nur auf berufsunfaehigkeit.html geladen */

/* Eingaben */
.bu-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px}
.bu-f{margin:0 0 18px;min-width:0}
.bu-f .cf-label{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;margin-bottom:6px}
.bu-f .cf-label .lt{flex:1 1 auto}
.bu-out{flex:none;font-variant-numeric:tabular-nums;font-weight:800;font-size:16px;color:var(--petrol);background:#fff;border:1px solid var(--line);border-radius:4px;padding:3px 10px;text-align:right}
.bu-f .hint2{margin:4px 0 0;font-size:13.5px}
.bu-range{--p:50%;width:100%;height:30px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}
.bu-range:focus{outline:none}
.bu-range::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(to right,var(--petrol) 0 var(--p),var(--line) var(--p) 100%)}
.bu-range::-moz-range-track{height:6px;border-radius:3px;background:var(--line)}
.bu-range::-moz-range-progress{height:6px;border-radius:3px;background:var(--petrol)}
.bu-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--amber);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--amber-hover),0 2px 6px rgba(21,37,46,.18);transition:transform .15s}
.bu-range::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--amber);border:3px solid #fff;box-shadow:0 0 0 1.5px var(--amber-hover),0 2px 6px rgba(21,37,46,.18)}
.bu-range:hover::-webkit-slider-thumb,.bu-range:active::-webkit-slider-thumb{transform:scale(1.1)}
.bu-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--petrol)}
.bu-range:focus-visible::-moz-range-thumb{box-shadow:0 0 0 3px var(--petrol)}

/* Ergebnis */
.bu-res{margin-top:6px;padding:clamp(20px,3vw,32px);border-radius:4px;background:#fff;border:1px solid var(--hair)}
.bu-hero{margin-bottom:26px}
.bu-big{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0;font-size:clamp(40px,5vw,56px);font-weight:800;line-height:1;letter-spacing:-.025em;color:var(--ink);font-variant-numeric:tabular-nums}
.bu-big small{font-size:17px;font-weight:600;letter-spacing:0;color:var(--muted)}
.bu-sub{margin:10px 0 0;font-size:16.5px;color:var(--ink-2);max-width:46ch}
.bu-sub strong{color:var(--ink);font-variant-numeric:tabular-nums}

/* Grafik */
.bu-plot{--h:280px;position:relative;height:var(--h);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,3vw,32px);margin-top:34px;border-bottom:2px solid var(--wall)}
.bu-col{position:relative;height:100%}
.bu-stack{position:absolute;left:8%;right:8%;bottom:0;top:0;display:flex;flex-direction:column-reverse}
.bu-s{flex:none;height:0;transition:height .5s var(--ease,cubic-bezier(.2,.7,.2,1))}
.bu-s-vw{background:var(--petrol);border-radius:0 0 1px 1px}
.bu-s-gap{background:repeating-linear-gradient(135deg,var(--amber-wash) 0 7px,#F2D892 7px 10px);box-shadow:inset 0 0 0 1.5px #E1B74A;border-radius:3px 3px 0 0}
.bu-s-vw+.bu-s-gap{border-radius:3px 3px 0 0}
.bu-col-v{position:absolute;left:0;right:0;margin-bottom:8px;text-align:center;font-size:clamp(14px,1.6vw,17px);font-weight:800;color:var(--amber-ink);font-variant-numeric:tabular-nums;white-space:nowrap;transition:bottom .5s var(--ease,cubic-bezier(.2,.7,.2,1))}
.bu-col-v.ok{color:var(--petrol)}
.bu-need{position:absolute;left:-6px;right:-6px;height:0;border-top:2px dashed var(--ink);transition:bottom .5s var(--ease,cubic-bezier(.2,.7,.2,1));pointer-events:none}
.bu-names{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,3vw,32px);margin-top:10px}
.bu-col-t{margin:0;text-align:center;font-weight:800;font-size:15.5px;line-height:1.25;hyphens:manual}
.bu-col-t small{display:block;margin-top:3px;font-weight:400;font-size:13px;color:var(--muted)}

.bu-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin:22px 0 0;padding:14px 0 0;border-top:1px solid var(--hair);font-size:13.5px;color:var(--ink-2);list-style:none}
.bu-legend li{display:flex;align-items:center;gap:7px}
.bu-legend i{display:inline-block;width:14px;height:14px;border-radius:2px}
.bu-legend .lg-vw{background:var(--petrol)}
.bu-legend .lg-gap{background:repeating-linear-gradient(135deg,var(--amber-wash) 0 3px,#F2D892 3px 5px);box-shadow:inset 0 0 0 1.5px #E1B74A}
.bu-legend .lg-need{width:16px;height:0;border-top:2px dashed var(--ink);border-radius:0}

.bu-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:22px 0 0}
.bu-kpi{border:1px solid var(--hair);border-top:3px solid var(--wall);border-radius:2px;padding:14px 16px 12px;background:var(--paper)}
.bu-kpi.hi{border-top-color:var(--amber);background:var(--amber-wash)}
.bu-kpi .k{display:block;font-size:12.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.bu-kpi .v{display:block;margin-top:6px;font-size:clamp(24px,2.6vw,30px);font-weight:800;line-height:1.05;color:var(--petrol);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.bu-kpi .u{display:block;margin-top:4px;font-size:13.5px;color:var(--ink-2)}
.bu-res .btn{margin-top:22px}

@media (max-width:700px){.bu-inputs{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .bu-plot{--h:220px}
  .bu-kpis{grid-template-columns:minmax(0,1fr)}
  .bu-res .btn{width:100%;white-space:normal;text-align:center}
  .bu-col-t small{display:none}
}
@media (prefers-reduced-motion:reduce){.bu-s,.bu-col-v,.bu-need{transition:none}}

/* Inhaltsabschnitte */
.vw-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
@media (max-width:980px){.vw-grid{grid-template-columns:minmax(0,1fr)}}
.vw-card{border-top:2px solid var(--wall);padding-top:20px}
.vw-card .no{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--petrol);margin-bottom:8px}
.vw-card h3{margin:0 0 10px;font-size:21px;line-height:1.25}
.vw-card p{margin:0;color:var(--ink-2);font-size:17px}
@media (min-width:701px){
  .bu-inputs{grid-template-rows:repeat(3,auto)}
  .bu-f{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start}
  .bu-f .cf-label{flex-direction:column;align-items:flex-start;justify-content:flex-end;margin-bottom:6px}
  .bu-f .hint2{align-self:start}
}
