/* Kalkulator auf der Startseite. Variablen an das Seitensystem angebunden. */
.calc{
  --display:var(--font-display);
  --text:var(--font-body);
  --line:var(--hair);
  --neutral:var(--quiet-2);
  --white:#fff;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);
  gap:22px;
  align-items:start;
  min-width:0;
  max-width:100%;
}
.calc-in{background:#fff;border:1px solid var(--line);border-radius:16px;padding:clamp(22px,3vw,40px);display:grid;gap:34px;min-width:0;max-width:100%}
.calc .cblock{display:grid;gap:16px}
.calc .crow{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.calc .chips{display:flex;flex-wrap:wrap;gap:8px}
.calc .chip{position:relative;display:inline-flex;padding:0;min-height:0;border:0;gap:0;background:transparent}
.calc .chip input{position:absolute;opacity:0;pointer-events:none}
.calc .chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;font-weight:600;font-size:14px;cursor:pointer;color:var(--ink);background:#fff;transition:border-color .2s,background .2s}
.calc .chip span:hover{border-color:var(--ink)}
.calc .chip input:checked+span{background:var(--ink);color:#fff;border-color:var(--ink)}
.calc .chip input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}
.calc .qty{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;padding:4px}
.calc .qty button{width:36px;height:36px;border-radius:50%;border:0;background:var(--soft);color:var(--ink);font:500 18px var(--text);cursor:pointer}
.calc .qty button:hover{background:var(--lime)}
.calc .qty output{min-width:30px;text-align:center;font:600 18px var(--display);color:var(--blue)}
.calc .qty.big input{width:86px;border:0;background:transparent;text-align:center;font:600 30px var(--display);letter-spacing:-.04em;color:var(--blue);outline:0;-moz-appearance:textfield}
.calc .qty.big input::-webkit-inner-spin-button,.calc .qty.big input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.calc .qty.big button{width:44px;height:44px}
.calc .range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--blue) var(--p,8%),var(--line) var(--p,8%));outline:0;margin:6px 0 0}
.calc .range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--lime);border:3px solid var(--ink);cursor:pointer}
.calc .range::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--lime);border:3px solid var(--ink);cursor:pointer}
.calc .range:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
.calc .scale{display:flex;justify-content:space-between;font-size:12px;color:var(--neutral)}
.calc .items{display:grid}
.calc .item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;padding:16px 0;border-top:1px solid var(--line)}
.calc .item.off .it-name,.calc .item.off .it-price{opacity:.4}
.calc .it-name strong{display:block;font-size:16px}
.calc .it-name span,.calc .it-price span{font-size:13px;color:var(--quiet)}
.calc .it-name em{font-style:normal;font-weight:400;color:var(--quiet);font-size:13px}
.calc .it-price{text-align:right;display:grid;gap:2px}
.calc .it-price b{font:600 20px var(--display);color:var(--blue);letter-spacing:-.03em}
.calc .it-price s{color:var(--neutral)}
.calc .it-group{margin:18px 0 4px;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--blue)}
.calc .it-group:first-child{margin-top:0}
.calc .it-tag{display:block;margin-top:6px;font-style:normal;font-size:12px;font-weight:600;color:var(--neutral)}
.calc .it-tag:empty{display:none}
.calc .it-tag.ok{color:var(--blue)}
.calc .back{background:none;border:0;font:600 14px var(--text);cursor:pointer;color:var(--ink);text-decoration:underline;text-underline-offset:5px;padding:8px 0}
.calc-out{position:sticky;top:106px;background:var(--ink);color:#fff;border-radius:16px;padding:clamp(22px,2.6vw,36px);display:grid;gap:22px;min-width:0;max-width:100%}
.calc-out .eyebrow{color:rgba(255,255,255,.6)}
.calc-out .obig{display:grid;gap:14px}
.calc-out .obig>div{display:grid;gap:2px}
.calc-out .obig .l{font-size:13px;color:rgba(255,255,255,.74)}
.calc-out .obig .v{font:600 clamp(38px,3.8vw,56px)/1 var(--font-display);letter-spacing:-.05em}
.calc-out .obig .v.lime{color:var(--lime)}
.calc-out .obig .was{font-size:13px;color:rgba(255,255,255,.6);margin-top:4px}
.calc-out .olist{margin:0;display:grid}
.calc-out .olist div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(255,255,255,.14);font-size:14px;min-width:0}
.calc-out .olist dt{color:rgba(255,255,255,.74);min-width:0}
.calc-out .olist dd{margin:0;font-weight:600;white-space:nowrap;flex:none}
.calc-out .olist .strike{text-decoration:line-through;color:rgba(255,255,255,.6)}
.calc-out .osave{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;background:var(--lime);color:var(--ink);font-size:14px;font-weight:600;min-width:0}
.calc-out .osave span{min-width:0}
.calc-out .osave b{font:600 24px var(--font-display);letter-spacing:-.03em;flex:none}
.calc-out .incl{list-style:none;margin:0;padding:0;display:grid}
.calc-out .incl li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:9px 0;border-top:1px solid rgba(255,255,255,.14);font-size:13px;color:rgba(255,255,255,.74);min-width:0}
.calc-out .incl li span{min-width:0}
.calc-out .incl b{color:#fff;white-space:nowrap;flex:none}
.calc-out .btn{justify-content:space-between;width:100%;max-width:100%;white-space:normal;text-align:left;line-height:1.25;height:auto}
.calc-out .btn .circ{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--ink);color:#fff;font-size:17px;flex:none}
.calc-out .btn:hover .circ{transform:translate(2px,-2px) rotate(8deg)}
.calc-out .fine{font-size:12px;color:rgba(255,255,255,.6);line-height:1.5}
.calc-out .owarn{font-size:13px;line-height:1.5;padding:12px 14px;border-radius:12px;background:rgba(232,163,23,.16);color:#f3c35e;margin:0}
.calc-out .ostaffel{font-size:12px;line-height:1.5;color:rgba(255,255,255,.6)}
.calc-note{font-size:14px;padding:14px 16px;border-radius:12px;background:#eef0fa;color:var(--blue);margin-top:18px}
@media (max-width:1000px){.calc{grid-template-columns:minmax(0,1fr)}.calc-out{position:static}}
@media (max-width:560px){
  .calc-in,.calc-out{padding:18px 16px}
  .calc .item{grid-template-columns:minmax(0,1fr) auto;gap:12px}
  .calc .it-price{grid-column:1;grid-row:2;text-align:left}
  .calc .item .qty{grid-row:1/3;grid-column:2}
  .calc .chip span{padding:0 14px}
  .calc-out .obig .v{font-size:clamp(32px,11vw,48px)}
  .calc-out .osave{padding:12px 14px}
}
/* Block 12: einfacher Kalkulator */
.calc-simple .cstep[hidden],.calc-simple [data-cshow][hidden],.calc-simple [hidden]{display:none!important}
.calc-simple .cstep .eyebrow b{color:var(--blue)}
.calc-simple .csug{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.calc-simple .csug li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:baseline;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.14)}
.calc-simple .csug li b{font:600 22px/1 var(--display);color:var(--lime);min-width:3ch}
.calc-simple .csug li span{font-weight:600;font-size:15px;min-width:0;overflow-wrap:anywhere}
.calc-simple .csug li em{font-style:normal;font-weight:400;color:rgba(255,255,255,.7)}
.calc-simple .csug li small{display:block;font-weight:400;font-size:12.5px;color:rgba(255,255,255,.66);margin-top:3px}
.calc-simple .osum{margin:0;font-size:15px;line-height:1.55;color:rgba(255,255,255,.85)}
.calc-simple .osum b{color:var(--lime);font-weight:600}
.calc-simple .cwait{margin:0;color:rgba(255,255,255,.75)}
.calc-simple .calc-out .btn{justify-self:start;white-space:normal}
.calc-simple .calc-out>.eyebrow{display:block;line-height:1.5}
.calc-simple .cstep .eyebrow{display:block;line-height:1.5}

/* V1.03 Bereich "Ein Ansprechpartner. Für alles." (Entwurf B) */
.partner-b .pb-top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(28px,3vw,44px)}
.partner-b h2{font-size:clamp(32px,4vw,58px);max-width:none}
.partner-b .lead{margin-top:18px;max-width:52ch;color:rgba(255,255,255,.75)}
.partner-b .pb-cta{flex:none}
.partner-b .pb-img{border-radius:24px;overflow:hidden;height:clamp(220px,34vw,460px);background:#1a1d28}
.partner-b .pb-img img{width:100%;height:100%;object-fit:cover}
.partner-b .pb-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
.partner-b .pb-card{display:flex;align-items:center;gap:16px;padding:22px 24px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);font-weight:600;font-size:17px;line-height:1.3;color:#fff;min-width:0}
.partner-b .pb-ic{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:rgba(159,209,34,.14)}
.partner-b .pb-ic svg{width:22px;height:22px;stroke:var(--lime);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.partner-b .pb-cta-m{display:none}
@media (max-width:760px){.partner-b .pb-top{display:block;margin-bottom:24px}.partner-b .pb-cta{display:none}.partner-b .pb-row{grid-template-columns:1fr;gap:10px;margin-top:12px}.partner-b .pb-card{padding:16px 18px;font-size:16px}.partner-b .pb-cta-m{display:block;margin-top:24px}.partner-b .pb-cta-m .btn{width:100%;justify-content:space-between}}

/* V1.03 Mobile-Check Hero: Tippflächen >= 44 px, Bildunterschrift lesbarer */
@media (max-width:640px){.hero-sl-dots{display:none}.hero-sl-ctrl{justify-content:flex-end}.hero-sl-arrows button{width:44px;height:44px;font-size:18px}.stage-caption{font-size:12px}}
