/* Калькулятор «под ключ» (секция #calc). Вид перенят с калькулятора Rezar:
   графитовая форма со скруглёнными полями и сегмент-переключателями, белый лист результата с крупной суммой. */

.calc-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s-5);align-items:start}
@media (min-width:1000px){
  .calc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--s-6)}
  .calc-result{position:sticky;top:var(--s-5)}
}

/* ── форма ── */
.calc-form{display:grid;gap:var(--s-5);padding:var(--s-6);border-radius:var(--radius-lg);background:var(--graphite);border:1px solid var(--line-dark)}
.calc-field{display:grid;gap:var(--s-2);min-width:0;border:0}
.calc-row{display:grid;gap:var(--s-5);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.calc-label{font:800 .92rem/1.3 var(--font-body);color:var(--white);padding:0}
.calc-input{width:100%;min-height:3.25rem;padding:0 var(--s-4);border-radius:var(--radius-sm);
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:var(--white);
  font:700 1.05rem/1 var(--font-body);font-variant-numeric:tabular-nums;transition:border-color .15s,background .15s}
.calc-input:hover{border-color:rgba(255,255,255,.32)}
.calc-input:focus-visible{outline:3px solid var(--lime);outline-offset:1px;border-color:transparent}
.calc-input[aria-invalid="true"]{border-color:var(--error-dark)}
.calc-select{appearance:none;-webkit-appearance:none;padding-right:2.6rem;cursor:pointer;
  background:rgba(255,255,255,.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%23D0FA09' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right .9rem center/1rem no-repeat}
.calc-select option{color:var(--ink);background:var(--white)}
.calc-hint{font-size:var(--fs-small);line-height:1.5;color:var(--muted-dark)}
.calc-hint:empty{display:none}
.calc-hint.is-error{color:var(--error-dark)}
.calc-hint--power{margin-top:calc(var(--s-3) * -1)}
.calc-power{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s-2)}

/* ── сегментные переключатели (радио, стрелки работают штатно) ── */
.seg{display:grid;gap:var(--s-1);padding:var(--s-1);border-radius:var(--radius-sm);background:rgba(0,0,0,.32)}
.seg--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.seg--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.seg--5,.seg--6{grid-template-columns:repeat(3,minmax(0,1fr))}
.seg--unit{grid-template-columns:repeat(2,minmax(3.2rem,auto))}
.seg label{position:relative;display:block;cursor:pointer}
.seg input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.seg span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:44px;height:100%;
  padding:var(--s-2);border-radius:calc(var(--radius-sm) - 3px);text-align:center;
  font:800 .9rem/1.15 var(--font-body);color:var(--white);transition:background .15s,color .15s}
.seg small{font-weight:600;font-size:.72rem;color:var(--muted-dark)}
.seg label:hover span{background:rgba(255,255,255,.07)}
.seg input:checked + span{background:var(--lime);color:var(--ink)}
.seg input:checked + span small{color:var(--ink)}
.seg input:focus-visible + span{outline:3px solid var(--lime);outline-offset:2px}
@media (max-width:440px){.seg--4{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── результат ── */
.calc-result{display:grid;gap:var(--s-5);padding:var(--s-6);border-radius:var(--radius-lg);background:var(--white);color:var(--ink);box-shadow:var(--shadow)}
.calc-total{display:grid;gap:var(--s-1);padding-bottom:var(--s-5);border-bottom:2px solid var(--ink)}
.calc-total-label{font:800 .92rem/1.3 var(--font-body);color:var(--muted)}
.calc-total-sum{display:block;font:900 clamp(2.2rem,6vw,3.4rem)/1.02 var(--font-display);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.calc-total-sum.is-empty{font-size:clamp(1.3rem,4vw,1.6rem);letter-spacing:-.01em;color:var(--muted)}
.calc-total-pending{display:inline-block;justify-self:start;margin-top:var(--s-1);padding:.3rem .65rem;border-radius:8px;
  background:var(--lime);font:800 .9rem/1.35 var(--font-body)}
.calc-total-meta{margin-top:var(--s-1);font-size:.85rem;line-height:1.5;color:var(--muted)}
.calc-total-meta:empty{display:none}

.calc-warnings{display:grid;gap:var(--s-2)}
.calc-warnings:empty{display:none}
.calc-warnings .note{font-size:.88rem}

.calc-groups{display:grid}
.calc-group{border-bottom:1px solid var(--line)}
.calc-group summary{display:flex;align-items:center;gap:var(--s-3);min-height:3.25rem;padding:var(--s-2) 0;cursor:pointer;
  list-style:none;font:800 1.02rem/1.2 var(--font-display)}
.calc-group summary::-webkit-details-marker{display:none}
.calc-group summary::before{content:"";flex:none;width:1.5rem;height:1.5rem;border-radius:50%;
  background:rgba(18,18,17,.07) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M6 4l4 4-4 4' fill='none' stroke='%23121211' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/.85rem no-repeat;
  transition:transform .2s ease}
.calc-group[open] summary::before{transform:rotate(90deg)}
.calc-group summary:focus-visible{outline:3px solid var(--ink);outline-offset:2px;border-radius:6px}
.calc-group-name{flex:1;min-width:0}
.calc-group-name small{display:block;margin-top:2px;font:600 .78rem/1.3 var(--font-body);color:var(--muted)}
.calc-group-sum{font:800 1rem/1 var(--font-body);font-variant-numeric:tabular-nums;white-space:nowrap}
.calc-group-sum.is-pending,.calc-lines .amt.is-pending{font-weight:700;color:var(--muted);font-style:italic;font-size:.9rem}
.calc-lines{display:grid;padding:0 0 var(--s-4) calc(1.5rem + var(--s-3))}
.calc-lines li{display:flex;justify-content:space-between;gap:var(--s-4);padding:var(--s-1) 0;font-size:.94rem}
.calc-lines .lbl{display:grid;min-width:0}
.calc-lines .lbl small{color:var(--muted);font-size:.8rem;line-height:1.4}
.calc-lines .amt{font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}

.calc-notes{display:grid;gap:var(--s-1)}
.calc-notes:empty{display:none}
.calc-note{font-size:.88rem;line-height:1.5;color:var(--muted)}
.calc-note b{color:var(--ink)}
.calc-cta{width:100%;white-space:normal;text-align:center;line-height:1.2;padding-block:var(--s-3)}
.calc-fine{font-size:.8rem;line-height:1.5;color:var(--muted)}

@media (max-width:640px){
  .calc-form,.calc-result{padding:var(--s-5)}
  .calc-row{gap:var(--s-4)}
  .calc-lines{padding-left:0}
}
@media (max-width:480px){.calc-row{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:no-preference){
  .calc-total-sum.is-updated{animation:calc-tick .35s var(--ease)}
  @keyframes calc-tick{from{opacity:.55;transform:translateY(4px)}to{opacity:1;transform:none}}
}
@media (prefers-reduced-motion:reduce){.calc-group summary::before{transition:none}}

@media print{
  .calc-result{position:static!important;box-shadow:none!important;border:1px solid #999;gap:3mm;padding:5mm}
  .calc-total{padding-bottom:3mm}
  .calc-group summary{min-height:0;padding:1mm 0}
}
