/* =========================================================
   3D-Drucker für Einsteiger – seitenspezifische Stile
   ergänzt style.css, nutzt dieselben Tokens
   ========================================================= */

/* ---------- Plattform-Kacheln ---------- */
.plat{display:flex;flex-direction:column}
.plat__by{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin:0 0 .3rem}
.plat__h{font-size:.82rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:1.1rem 0 .45rem;display:flex;align-items:center;gap:.45rem}
.plat__h::before{content:"";width:9px;height:9px;border-radius:50%}
.plat__h--pro{color:var(--ok)}.plat__h--pro::before{background:var(--ok)}
.plat__h--risk{color:#c2410c}.plat__h--risk::before{background:#ea580c}
.plat__list{margin:0;padding-left:1.1rem;font-size:.94rem;color:var(--ink-2)}
.plat__list li{margin-bottom:.35rem}

/* ---------- Sicherheit ---------- */
.warnlist{list-style:none;padding:0;margin:1.4rem 0 0}
.warnlist li{position:relative;padding:.55rem 0 .55rem 1.6rem;border-top:1px solid rgba(255,255,255,.1);color:#cbd5e1}
.warnlist li::before{content:"!";position:absolute;left:0;top:.62rem;width:1.05rem;height:1.05rem;border-radius:50%;background:#f59e0b;color:#0b1220;font-size:.72rem;font-weight:800;display:grid;place-items:center}
.warnlist b{color:#fff}
.section--ink code{background:rgba(255,255,255,.1);padding:.1rem .35rem;border-radius:6px;font-size:.9em}

.fcheck h3{margin-bottom:.4rem}
.section--ink .fcheck .field label{color:#e2e8f0}
.fc__res{display:flex;gap:.8rem;align-items:flex-start;margin-top:1rem;padding:1rem;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:.95rem;line-height:1.5;color:#e2e8f0;min-height:76px}
.fc__badge{flex:0 0 auto;width:2.1rem;height:2.1rem;border-radius:10px;display:grid;place-items:center;font-weight:800;background:#334155;color:#fff}
.fc__res.is-ok{border-color:rgba(34,197,94,.55);background:rgba(34,197,94,.12)}
.fc__res.is-ok .fc__badge{background:#16a34a}
.fc__res.is-mid{border-color:rgba(245,158,11,.55);background:rgba(245,158,11,.12)}
.fc__res.is-mid .fc__badge{background:#d97706}
.fc__res.is-bad{border-color:rgba(239,68,68,.6);background:rgba(239,68,68,.14)}
.fc__res.is-bad .fc__badge{background:#dc2626}
.fc__res b{color:#fff}
.fc__ex{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin-top:1rem;font-size:.82rem;color:#94a3b8}
.fc__chip{font:inherit;font-size:.8rem;border:1px solid rgba(255,255,255,.2);background:transparent;color:#e2e8f0;border-radius:999px;padding:.4rem .75rem;cursor:pointer;min-height:34px}
.fc__chip:hover{border-color:var(--brand);color:#fff}

.ftypes{display:grid;gap:.6rem;margin-top:1.2rem}
.ftypes div{display:grid;grid-template-columns:120px 1fr;gap:.8rem;align-items:baseline;font-size:.9rem;color:#cbd5e1;padding:.7rem 1rem;border-radius:12px;background:rgba(255,255,255,.04)}
.ftypes b{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.ftypes .ok{color:#4ade80}.ftypes .mid{color:#fbbf24}.ftypes .bad{color:#f87171}
@media (max-width:520px){.ftypes div{grid-template-columns:1fr;gap:.2rem}}

/* ---------- Filamente ---------- */
.fil__filter{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:2rem 0 1.4rem}
.fil__chip{font:inherit;font-size:.9rem;font-weight:600;border:1px solid var(--line);background:#fff;color:var(--ink-2);border-radius:999px;padding:.55rem 1rem;cursor:pointer;min-height:44px;transition:border-color .18s,background .18s,color .18s}
.fil__chip:hover{border-color:var(--brand)}
.fil__chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:#fff}
.fil__none{padding:1.4rem;text-align:center;color:var(--ink-3);margin:0}
.lvl{display:inline-block;font-size:.76rem;font-weight:700;padding:.25rem .65rem;border-radius:999px;white-space:nowrap}
.lvl--1{background:#dcfce7;color:#166534}
.lvl--2{background:#e0f2fe;color:#075985}
.lvl--3{background:#fef3c7;color:#92400e}
.lvl--4{background:#fee2e2;color:#991b1b}

.mats{display:grid;gap:clamp(14px,2vw,22px);grid-template-columns:1fr}
@media (min-width:760px){.mats{grid-template-columns:1fr 1fr}}
.mat{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.4rem 1.4rem 1.2rem;box-shadow:var(--shadow-sm);overflow:hidden}
.mat::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:var(--c)}
.mat[hidden]{display:none}
.mat__hd{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.9rem}
.mat__hd h3{margin:0;font-size:1.45rem;line-height:1.15}
.mat__hd p{margin:.15rem 0 0;font-size:.82rem;color:var(--ink-3);line-height:1.35}
.mat__lbl{margin:0 0 .4rem;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.mat__use{list-style:none;padding:0;margin:0 0 1.1rem;display:flex;flex-wrap:wrap;gap:.4rem}
.mat__use li{margin:0;font-size:.9rem;font-weight:600;color:var(--ink);background:var(--surface-3);border-radius:8px;padding:.35rem .65rem}
.mat__spec{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mat__spec div{padding:.6rem .7rem;border-left:1px solid var(--line);min-width:0}
.mat__spec div:first-child{border-left:0}
.mat__spec dt{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.15rem}
.mat__spec dd{margin:0;font-size:.9rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.3}
.mat__spec dd.is-yes{color:#b45309}
@media (max-width:520px){.mat__spec{grid-template-columns:1fr 1fr}.mat__spec div:nth-child(3){border-left:0}.mat__spec div:nth-child(n+3){border-top:1px solid var(--line)}}
.mat__temp{position:relative;height:8px;margin:1rem 0 .3rem;border-radius:999px;background:linear-gradient(90deg,#e0f2fe,#fde68a 50%,#fecaca)}
.mat__temp i{position:absolute;top:-3px;bottom:-3px;border-radius:999px;background:var(--c);box-shadow:0 0 0 2px #fff}
.mat__temp::after{content:"180 °C · Düsentemperatur · 300 °C";position:absolute;top:12px;left:0;right:0;font-size:.68rem;color:var(--ink-3);text-align:center;letter-spacing:.02em}
.mat__note{margin:1.5rem 0 0;padding:.7rem .85rem;border-radius:10px;background:#fffbeb;border-left:3px solid #f59e0b;font-size:.9rem;line-height:1.5;color:var(--ink-2)}

/* ---------- Kostenrechner ---------- */
.calc{display:grid;gap:1.4rem;grid-template-columns:1fr;margin-top:2.4rem;align-items:start}
@media (min-width:980px){.calc{grid-template-columns:1fr 400px}}
.calc__in{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(18px,2.6vw,28px);box-shadow:var(--shadow-sm)}
.calc__mode{margin-bottom:1.2rem}
.calc__mode .seg{min-height:46px;font-size:.95rem}
.calc__grp{border:0;margin:0 0 1.2rem;padding:1.1rem 0 0;border-top:1px solid var(--line);min-width:0}
.calc__grp[hidden]{display:none}
.calc__grp legend{font-family:Raleway,sans-serif;font-weight:800;font-size:1.02rem;padding:0 .5rem 0 0;color:var(--ink)}
.calc__row{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media (max-width:460px){.calc__row{grid-template-columns:1fr}}
.calc .field{margin-bottom:.9rem}
.calc .field label{display:flex;justify-content:space-between;gap:.5rem;font-size:.86rem;font-weight:600;margin-bottom:.35rem;color:var(--ink-2)}
.calc .field label small{font-weight:500;color:var(--ink-3)}
.calc .field input,.calc .field select{min-height:48px;padding:.7rem .85rem;font-variant-numeric:tabular-nums}
.calc .field[hidden]{display:none}
.calc__vat{align-self:end;margin-bottom:1.2rem!important}
.calc__vat label{display:block!important;font-weight:500!important}

.calc__out{position:sticky;top:calc(var(--nav-h) + 16px);background:linear-gradient(160deg,#0b1220,#132a4d 70%);color:#e2e8f0;border-radius:var(--radius-lg);padding:clamp(20px,2.6vw,28px);box-shadow:var(--shadow-lg)}
@media (max-width:979px){.calc__out{position:static}}
.calc__lbl{margin:0;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#93c5fd;font-weight:700}
.calc__big{margin:.3rem 0 .1rem;font-family:Raleway,sans-serif;font-weight:900;font-size:clamp(2.3rem,5vw,3rem);line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.calc__sub{margin:0 0 1.1rem;color:#cbd5e1;font-size:.93rem}
.calc__bar{display:flex;height:12px;border-radius:999px;overflow:hidden;background:rgba(255,255,255,.08);margin-bottom:.9rem}
.calc__bar i{display:block;height:100%;transition:width .3s var(--ease)}
.calc__parts{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.35rem;font-size:.9rem}
.calc__parts li{display:flex;align-items:center;gap:.55rem;margin:0}
.calc__parts li span:first-child{width:10px;height:10px;border-radius:3px;flex:0 0 auto}
.calc__parts li b{margin-left:auto;color:#fff;font-variant-numeric:tabular-nums;font-weight:600}
.calc__kv{display:grid;grid-template-columns:1fr auto;gap:.4rem 1rem;margin:0;padding:1rem 0 0;border-top:1px solid rgba(255,255,255,.12);font-size:.92rem}
.calc__kv dt{color:#cbd5e1}
.calc__kv dd{margin:0;text-align:right;color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.calc__scale{margin-top:1.2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.12)}
.calc__scale[hidden]{display:none}
.calc__scale h4{margin:0 0 .5rem;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;color:#93c5fd}
.calc__scale table{width:100%;border-collapse:collapse;font-size:.88rem;font-variant-numeric:tabular-nums}
.calc__scale th,.calc__scale td{padding:.4rem .2rem;text-align:right;border-bottom:1px solid rgba(255,255,255,.08)}
.calc__scale th:first-child,.calc__scale td:first-child{text-align:left}
.calc__scale th{color:#94a3b8;font-weight:600;font-size:.76rem}
.calc__scale tr.is-cur td{color:#fff;font-weight:700}
.calc__note{margin:1.1rem 0 0;font-size:.78rem;line-height:1.5;color:#94a3b8}
