/* =========================================================
   booyage.info – Seitenspezifisch: booyage.html
   Abschnitt „Wirtschaftlichkeit“ (Kostenvergleich)
   ========================================================= */
.bv .ec{display:grid;grid-template-columns:1fr 1fr;border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 24px 60px rgba(22,55,79,.1)}
/* Eingaben */
.bv .ec-in{padding:30px 30px 26px;display:grid;gap:20px;align-content:start}
.bv .ec-in-head h3{font-size:1.5rem;margin:0 0 6px}
.bv .ec-in-head p{margin:0;font-size:.86rem;color:var(--muted)}
.bv .ec-field label{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:9px;font-size:.84rem;font-weight:750;color:var(--ink2)}
.bv .ec-field output{font:400 1.35rem/1 var(--serif);color:var(--ink);font-variant-numeric:tabular-nums}
.bv .ec input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:6px;background:linear-gradient(90deg,var(--blue) 0 var(--fill,50%),#dfe8ef var(--fill,50%) 100%)}
.bv .ec input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:2px solid var(--blue);box-shadow:0 3px 10px rgba(22,55,79,.18);cursor:pointer}
.bv .ec input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid var(--blue);cursor:pointer}
.bv .ec input[type=range]:focus-visible{outline:2px solid var(--blue);outline-offset:6px}
.bv .ec-tiers{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:-6px}
.bv .ec-tiers span{display:grid;gap:1px;padding:8px 6px;border-radius:10px;background:var(--soft);text-align:center;transition:background .3s ease,color .3s ease,transform .3s ease}
.bv .ec-tiers b{font-size:.7rem;font-weight:750;color:var(--muted)}
.bv .ec-tiers em{font-style:normal;font-size:.82rem;font-weight:800;color:var(--ink2)}
.bv .ec-tiers span.is-on{background:var(--navy);transform:translateY(-2px)}
.bv .ec-tiers span.is-on b{color:rgba(255,255,255,.7)}.bv .ec-tiers span.is-on em{color:#fff}
.bv .ec-link{justify-self:start;font-size:.86rem}
/* Ergebnis */
.bv .ec-out{position:relative;overflow:hidden;padding:30px;background:var(--navy);color:#fff;display:grid;gap:22px;align-content:center}
.bv .ec-out:before{content:"";position:absolute;width:360px;height:360px;right:-140px;top:-170px;border-radius:50%;background:var(--brand);filter:blur(50px);opacity:.38}
.bv .ec-out>*{position:relative}
.bv .ec-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bv .ec-col{padding:16px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);display:grid;gap:6px}
.bv .ec-col span{font-size:.74rem;color:rgba(255,255,255,.7);line-height:1.35;min-height:2.7em}
.bv .ec-col b{font:400 2.2rem/1 var(--serif);font-variant-numeric:tabular-nums}
.bv .c-boo{background:rgba(231,47,160,.14);border-color:rgba(231,47,160,.35)}
.bv .ec-bar{display:block;height:8px;border-radius:8px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:4px}
.bv .ec-bar i{display:block;height:100%;width:var(--w,0%);border-radius:8px;background:#9fb6c8;transition:width .5s cubic-bezier(.2,.8,.2,1)}
.bv .c-boo .ec-bar i{background:var(--brand)}
/* Gedeckt-ab-Skala */
.bv .es-head{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:.74rem;color:rgba(255,255,255,.7);margin-bottom:10px}
.bv .es-legend{display:inline-flex;align-items:center;gap:6px}
.bv .es-legend b{color:#fff}
.bv .lg-be{width:10px;height:10px;border-radius:2px;background:linear-gradient(90deg,#ffb23f,#e72fa0)}
.bv .es-track{position:relative;height:10px;border-radius:10px;background:rgba(255,255,255,.12)}
.bv .es-zone{position:absolute;top:0;bottom:0;right:0;left:var(--be,7%);border-radius:0 10px 10px 0;background:linear-gradient(90deg,rgba(255,178,63,.75),rgba(231,47,160,.75));transition:left .5s cubic-bezier(.2,.8,.2,1)}
.bv .es-be{position:absolute;top:-5px;bottom:-5px;left:var(--be,7%);width:2px;background:#fff;transition:left .5s cubic-bezier(.2,.8,.2,1)}
.bv .es-you{position:absolute;top:50%;left:var(--you,7%);width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:#fff;border:3px solid #0d2438;box-shadow:0 0 0 3px #fff;transition:left .5s cubic-bezier(.2,.8,.2,1)}
.bv .es-you em{position:absolute;top:22px;left:9px;transform:translateX(calc(var(--you,7%) * -1));white-space:nowrap;font-style:normal;font-size:.66rem;font-weight:800;color:#fff;background:rgba(255,255,255,.14);padding:2px 7px;border-radius:999px}
.bv .es-ticks{display:flex;justify-content:space-between;margin-top:28px;font-size:.64rem;color:rgba(255,255,255,.5)}
.bv .ec-result{margin:0;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.08);font-size:.92rem;line-height:1.5;color:rgba(255,255,255,.9)}
.bv .ec-result strong{color:#fff}
/* Fußnoten & Staffel */
.bv .ec-notes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.bv .ec-notes p{display:flex;gap:10px;margin:0;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.7);border:1px solid var(--line);font-size:.78rem;line-height:1.5;color:var(--muted)}
.bv .ec-notes svg{flex:none;width:16px;height:16px;margin-top:2px;color:var(--blue);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.bv .ec-details{margin-top:12px}
.bv .ec-details summary{cursor:pointer;font-size:.84rem;font-weight:750;color:var(--blue);list-style:none;display:inline-flex;align-items:center;gap:6px}
.bv .ec-details summary::-webkit-details-marker{display:none}
.bv .ec-details summary:after{content:"+";font-weight:800}
.bv .ec-details[open] summary:after{content:"–"}
.bv .ec-details .checklist{margin-top:8px;max-width:640px}

@media(max-width:980px){
 .bv .ec{grid-template-columns:1fr}
 .bv .ec-notes{grid-template-columns:1fr}
}
@media(max-width:640px){
 .bv .ec-in,.bv .ec-out{padding:22px 18px}
 .bv .ec-tiers{gap:4px}
 .bv .ec-tiers b{font-size:.6rem}.bv .ec-tiers em{font-size:.72rem}
 .bv .ec-col b{font-size:1.8rem}
 .bv .ec input[type=range]::-webkit-slider-thumb{width:28px;height:28px}
}
