.calculator-section { padding: 80px 0 110px; background: #eef2e9; }
.calculator-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(320px,.65fr); gap: 28px; align-items: start; }
.calculator { display: grid; gap: 18px; }
.calc-group { margin: 0; padding: 34px; border: 1px solid #d8e0d2; border-radius: 22px; background: #fff; }
.calc-group legend { width: 100%; padding: 0 0 24px; font: 600 25px var(--display); letter-spacing: -.03em; }
.calc-group legend span { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-right: 10px; border-radius: 50%; background: #e8f0df; color: var(--green); font: 700 11px var(--body); vertical-align: middle; }
.choice-grid { display: grid; gap: 10px; }.choice-grid--4 { grid-template-columns: repeat(4,1fr); }
.choice { cursor: pointer; }.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice span { display: grid; place-items: center; min-height: 66px; padding: 12px; border: 1px solid var(--line); border-radius: 13px; font-weight: 700; font-size: 13px; transition: .2s; }
.choice input:checked + span { border-color: var(--green); background: var(--green); color: #fff; box-shadow: 0 8px 20px rgba(53,100,58,.18); }
.calc-group--columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 24px; }.calc-group--columns legend { grid-column: 1/-1; }
.calc-select>span,.employee-control>span { display: block; margin-bottom: 8px; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.calc-select select { width: 100%; height: 58px; padding: 0 44px 0 16px; border: 1px solid var(--line); border-radius: 12px; background: #fafbf8; color: var(--ink); font-weight: 600; outline: none; }
.calc-select select:focus { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(138,195,85,.2); }
.employee-control>div { display: grid; grid-template-columns: 48px 1fr 48px; height: 58px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: #fafbf8; }
.employee-control button { border: 0; background: transparent; color: var(--green); font-size: 24px; cursor: pointer; }.employee-control output { display: grid; place-items: center; font: 700 18px var(--display); }
.employee-control input { width: 100%; margin-top: 10px; accent-color: var(--green); }
.switch-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; transition: opacity .2s; }
.switch { display: flex; align-items: center; gap: 12px; min-height: 62px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; transition: border .2s,background .2s; }
.switch input { position: absolute; opacity: 0; }.switch i { position: relative; flex: 0 0 38px; width: 38px; height: 22px; border-radius: 999px; background: #dce2d8; transition: .2s; }.switch i::after { content:""; position:absolute; width:16px; height:16px; left:3px; top:3px; border-radius:50%; background:#fff; box-shadow:0 2px 5px #899; transition:.2s; }
.switch input:checked+i { background: var(--lime); }.switch input:checked+i::after { transform: translateX(16px); }.switch:has(input:checked) { border-color: #a8ca88; background: #f4f9ef; }
.switch span { font-size: 12px; line-height: 1.35; }.switch span b,.switch span small { display:block; }.switch span small { margin-top:3px; color:var(--muted); }
.switch--important { margin-bottom: 14px; background: #f8f9f5; }.is-disabled { opacity: .35; pointer-events: none; }
.calc-result { position: sticky; top: 120px; padding: 34px; border-radius: 24px; background: linear-gradient(145deg,#26452b,#477c4c); color: #fff; box-shadow: 0 25px 60px rgba(38,69,43,.2); }
.calc-result .eyebrow { color: #c9ddbd; }.calc-result__price { margin: 12px 0 32px; padding-bottom: 30px; border-bottom: 1px solid rgba(255,255,255,.2); }.calc-result__price small { font-size: 13px; }.calc-result__price strong { display:block; color:#f4dc59; font:700 clamp(3.4rem,5vw,5rem)/1 var(--display); letter-spacing:-.06em; transition:.2s; }.calc-result__price span { font-size: 12px; color: #c9ddbd; }
.calc-result__line { display:flex; justify-content:space-between; gap:15px; margin:12px 0; font-size:12px; }.calc-result__line span { color:#c9ddbd; }.calc-result p { margin:30px 0 22px; color:#c9ddbd; font-size:11px; }.calc-result .button { width:100%; }.calc-reset { display:block; margin:18px auto 0; border:0; border-bottom:1px dashed #b9cdb0; background:none; color:#d8e8d0; font-size:11px; cursor:pointer; }
@media(max-width:900px){.calculator-layout{grid-template-columns:1fr}.calc-result{position:relative;top:0;order:-1}.choice-grid--4{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.calculator-section{padding:45px 0 75px}.calc-group{padding:24px 18px}.calc-group--columns,.switch-grid{grid-template-columns:1fr}.choice-grid--4{grid-template-columns:1fr 1fr}.calc-group legend{font-size:21px}.calc-result{padding:28px 24px}}
