/* Калькулятор цены на /sajty/: выбор слева, итог справа, отправка ссылкой в Телеграм */
.calc{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:48px;align-items:start;margin-top:48px}
.calc fieldset{border:0;margin:0 0 36px;padding:0;min-width:0}
.calc fieldset:last-child{margin-bottom:0}
.calc legend{font-size:20px;font-weight:500;padding:0;margin-bottom:16px}
.calc .hint{font-size:16px;color:var(--text2);margin:-6px 0 16px;max-width:62ch}
.calc-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.calc-opts.row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.opt{position:relative;display:block;cursor:pointer}
.opt input{position:absolute;opacity:0;width:1px;height:1px}
.opt span{display:flex;flex-direction:column;justify-content:flex-start;gap:4px;height:100%;min-height:56px;padding:16px 18px;
  border:1px solid rgba(214,179,106,.42);background:var(--bg);color:var(--text);font-size:17px;line-height:1.35;transition:border-color .2s var(--ease),background .2s var(--ease)}
.opt span b{font-weight:500}
.opt span i{font-style:normal;font-size:15px;color:var(--text2)}
.opt:hover span{border-color:rgba(214,179,106,.75)}
.opt input:checked+span{border:1.5px solid var(--gold);background:rgba(214,179,106,.07)}
.opt input:focus-visible+span{outline:2px solid var(--cta);outline-offset:3px}
.opt input:disabled+span{opacity:.45;cursor:not-allowed}
.calc-side{position:sticky;top:110px;border:1.5px solid var(--gold);background:var(--surface);padding:32px 28px}
.calc-side .cap{margin:0}
.calc-sum{font-family:var(--display);font-size:clamp(28px,2.5vw,34px);white-space:nowrap;line-height:1.15;margin:8px 0 0;font-variant-numeric:tabular-nums}
.calc-term{font-size:17px;color:var(--text2);margin:8px 0 0}
.calc-what{font-size:16px;color:var(--text2);margin:20px 0 0;padding-top:20px;border-top:1px solid rgba(214,179,106,.18);line-height:1.5}
.calc-side .btn{width:100%;margin-top:24px}
.calc-note{font-size:15px;color:var(--text2);margin:16px 0 0;line-height:1.5}
@media (max-width:960px){
  .calc{grid-template-columns:1fr;gap:36px}
  .calc-side{position:static}
}
@media (prefers-reduced-motion:reduce){.opt span{transition:none}}
