/* Federkonfigurator – Design nach achenbach-federn.de (Theme „lds“): Roboto, Dunkelblau #003366, CTA Orange #E06A1A, eckige Formen */
.federkonfigurator{
  --fk-primary:#003366;      /* Kopfbalken, Werte */
  --fk-blue:#006DB6;         /* Fokus, Auswahl */
  --fk-sky:#0D9CE3;          /* Icons, aktive Kachel */
  --fk-pale:#DDE9F0;         /* Kachelflächen, Hinweise */
  --fk-accent:#E06A1A;       /* Haupt-Button */
  --fk-accent-h:#D56518;
  --fk-ink:#000;
  --fk-text:#222;
  --fk-mute:#4D4D4D;
  --fk-line:#ccc;
  --fk-grey:#F6F6F6;
  --fk-shadow:0 10px 10px rgba(0,0,0,.16);
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.45;color:var(--fk-text);margin:1.5em 0}
.federkonfigurator *,.federkonfigurator *::before,.federkonfigurator *::after{box-sizing:border-box}
.fk-box{background:#fff;box-shadow:var(--fk-shadow)}
.fk-head{margin:0;background:var(--fk-primary);color:#fff;text-align:center;text-transform:uppercase;font-family:inherit;font-size:24px;font-weight:500;line-height:1.3;padding:15px 20px;letter-spacing:.01em}
.fk-wrap{display:grid;grid-template-columns:minmax(270px,350px) minmax(0,1fr);gap:30px;padding:26px 30px 30px}
@media (max-width:820px){.fk-wrap{grid-template-columns:minmax(0,1fr);gap:22px;padding:20px 16px}.fk-head{font-size:20px}}
.fk-form{min-width:0}

/* Federtyp-Kacheln wie im Angebotsrechner */
.fk-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:12px;margin:0 0 22px}
.fk-tabs button{display:flex;flex-direction:column;align-items:stretch;padding:0;border:2px solid transparent;background:#fff;box-shadow:var(--fk-shadow);color:var(--fk-ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;border-radius:0;min-width:0;transition:border-color .15s}
.fk-tabs .fk-ico{display:flex;align-items:center;justify-content:center;background:var(--fk-pale);color:var(--fk-sky);height:64px}
.fk-tabs .fk-ico svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.fk-tabs .fk-tl{padding:8px 2px;font-size:13px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fk-tabs button:hover{border-color:var(--fk-pale)}
.fk-tabs button[aria-selected=true]{border-color:var(--fk-sky)}
.fk-tabs button[aria-selected=true] .fk-tl{color:var(--fk-primary)}

/* Formularfelder */
.fk-field{display:block;margin:0 0 14px;min-width:0}
.fk-lab{display:block;font-size:14px;font-weight:500;color:var(--fk-mute);margin-bottom:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fk-lab small{font-weight:400;margin-left:6px;color:#949494}
.fk-inp{display:flex;align-items:center;border:1px solid var(--fk-line);border-radius:0;background:#fff;overflow:hidden;transition:border-color .15s}
.fk-inp:focus-within{border-color:var(--fk-blue);box-shadow:inset 0 0 0 1px var(--fk-blue)}
.fk-inp input,.fk-inp select{flex:1;width:100%;min-width:0;border:0!important;background:transparent!important;padding:11px 14px!important;margin:0!important;font:inherit;font-size:16px;color:var(--fk-ink);box-shadow:none!important;outline:0;height:auto;line-height:1.35;border-radius:0}
.fk-inp em{font-style:normal;color:#949494;padding:0 14px 0 4px;font-size:14px}
.fk-inp input::placeholder{color:#b2b2b2}
.fk-split select{flex:0 0 auto;width:auto;border-left:1px solid var(--fk-line)!important;max-width:48%}
.fk-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.fk-pair .fk-lab small{display:none}
.fk-msg p{margin:8px 0;padding:10px 14px;font-size:14px;border-left:3px solid}
.fk-err{background:#fdecea;color:#9b1c1c;border-color:#c62828}
.fk-hint{background:var(--fk-pale);color:var(--fk-primary);border-color:var(--fk-blue)}

/* 3D-Ansicht */
.fk-view{min-width:0}
.fk-canvas{position:relative;height:440px;background:linear-gradient(180deg,var(--fk-pale) 0%,var(--fk-grey) 100%);overflow:hidden;touch-action:none}
@media (max-width:820px){.fk-canvas{height:330px}}
.fk-canvas canvas{display:block;width:100%!important;height:100%!important;cursor:grab}
.fk-canvas canvas:active{cursor:grabbing}
.fk-tools{position:absolute;top:12px;right:12px;display:flex;gap:6px}
.fk-tools button{width:36px;height:36px;border:1px solid var(--fk-line);border-radius:0;background:#fff;color:var(--fk-primary);font-size:18px;line-height:1;cursor:pointer;padding:0}
.fk-tools button[aria-pressed=true]{background:var(--fk-primary);color:#fff;border-color:var(--fk-primary)}
.fk-states{position:absolute;top:12px;left:12px;display:flex;border:1px solid var(--fk-line);background:#fff}
.fk-states:empty{display:none}
.fk-states button{border:0;border-left:1px solid var(--fk-line);background:#fff;color:var(--fk-primary);font:inherit;font-size:14px;font-weight:700;padding:0 14px;height:34px;cursor:pointer;border-radius:0;font-variant-numeric:tabular-nums}
.fk-states button:first-child{border-left:0}
.fk-states button[aria-pressed=true]{background:var(--fk-primary);color:#fff}
.fk-help{position:absolute;left:12px;bottom:10px;font-size:12px;color:var(--fk-mute);pointer-events:none}
.fk-tabs button:focus-visible,.fk-states button:focus-visible,.fk-tools button:focus-visible,.fk-btn:focus-visible{outline:2px solid var(--fk-sky);outline-offset:2px}

/* Ergebnisse */
.fk-res{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:2px;margin:18px 0}
.fk-res:empty{display:none}
.fk-res div{background:var(--fk-grey);padding:10px 12px}
.fk-res dt{font-size:13px;color:var(--fk-mute);margin:0;line-height:1.3}
.fk-res dd{margin:2px 0 0;font-size:18px;font-weight:700;color:var(--fk-primary);font-variant-numeric:tabular-nums;line-height:1.3}
.fk-res dd span{font-size:13px;font-weight:400;color:var(--fk-mute)}
.fk-res div.fk-key{background:var(--fk-pale)}
.fk-res div.fk-key dd{color:var(--fk-blue)}

/* Buttons wie „Weiter“ / „Anfragen“ */
.fk-dl{display:flex;flex-wrap:wrap;gap:10px}
.fk-btn{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--fk-primary);background:#fff;color:var(--fk-primary)!important;padding:12px 22px;border-radius:0;font:inherit;font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;cursor:pointer;text-decoration:none!important;line-height:1.2;transition:background .15s,color .15s,border-color .15s}
.fk-btn:hover{background:var(--fk-primary);color:#fff!important}
.fk-btn-cta{background:var(--fk-accent);border-color:var(--fk-accent);color:#fff!important}
.fk-btn-cta:hover{background:var(--fk-accent-h);border-color:var(--fk-accent-h)}
.fk-btn[disabled]{opacity:.4;pointer-events:none}
.fk-dlnote{font-size:13px;color:var(--fk-mute);margin:10px 0 0}
.fk-dlnote:empty{display:none}
.fk-note{font-size:12px;color:#949494;margin:10px 0 0}
.fk-canvas.fk-nogl{height:auto;min-height:120px;display:flex;align-items:center;justify-content:center;padding:56px 20px 24px}
.fk-nogl-msg{margin:0;text-align:center;font-size:14px;color:var(--fk-primary);max-width:42ch}
