/* Калькулятор стоимости (inc/calc.php). Тёмная карточка на тёмной странице. Один селектор — одна строка. */
.calc{display:grid;grid-template-columns:1.1fr .8fr 1fr;gap:28px;align-items:start;color:#fff;}
.calc__figure{display:flex;flex-direction:column;align-items:center;gap:10px;background:rgba(255,255,255,.04);border-radius:20px;padding:16px;min-height:300px;}
.calc__figure img{width:100%;max-width:300px;height:auto;border-radius:12px;transition:opacity .25s;}
.calc__figure-cap{font-size:13px;line-height:1.4;color:rgba(255,255,255,.6);text-align:center;}
.calc__tabs{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap;}
.calc__tab{padding:11px 20px;border-radius:30px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:rgba(255,255,255,.8);font:inherit;font-size:15px;cursor:pointer;transition:.2s;}
.calc__tab:hover{border-color:var(--color-green);color:#fff;}
.calc__tab.is-active{background:var(--color-green);border-color:var(--color-green);color:#fff;font-weight:600;}
.calc__panel{display:flex;flex-direction:column;gap:22px;}
.calc__panel[hidden]{display:none;}
.calc__field{display:flex;flex-direction:column;gap:10px;}
.calc__field > label,.calc__label{font-size:15px;font-weight:600;color:#fff;}
.calc__hint{font-size:13px;line-height:1.5;color:rgba(255,255,255,.6);}
.calc__range{display:grid;grid-template-columns:1fr 56px;gap:14px;align-items:center;}
.calc__range output{display:inline-block;text-align:center;padding:8px 0;border-radius:12px;background:rgba(255,255,255,.08);font-weight:700;font-size:18px;}
/* ☠️ Ползунок обязан тянуться пальцем: touch-action:none, бегунок 26 px */
.calc input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;touch-action:none;cursor:grab;margin:0;}
.calc input[type=range]:active{cursor:grabbing;}
.calc input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:rgba(255,255,255,.18);}
.calc input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:rgba(255,255,255,.18);}
.calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--color-green);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.4);cursor:grab;}
.calc input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-green);border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.4);cursor:grab;}
.calc input[type=range]:focus-visible{outline:2px solid var(--color-green);outline-offset:4px;border-radius:4px;}
.calc__chips{display:flex;gap:8px;flex-wrap:wrap;}
.calc__chip{position:relative;cursor:pointer;}
.calc__chip input{position:absolute;opacity:0;width:1px;height:1px;}
.calc__chip span{display:inline-block;padding:9px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);font-size:14px;transition:.2s;}
.calc__chip input:checked + span{background:var(--color-green);border-color:var(--color-green);font-weight:600;}
.calc__chip input:focus-visible + span{outline:2px solid var(--color-green);outline-offset:2px;}
.calc__checks{gap:8px;}
.calc__check{display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start;cursor:pointer;font-size:14px;line-height:1.45;color:rgba(255,255,255,.85);}
.calc__check input{appearance:none;-webkit-appearance:none;width:20px;height:20px;margin:1px 0 0;border:2px solid rgba(255,255,255,.35);border-radius:5px;background:transparent;cursor:pointer;transition:.2s;box-sizing:border-box;}
.calc__check input:checked{background:var(--color-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5l3 3 7-7' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/60% no-repeat;border-color:var(--color-green);}
.calc__check em{font-style:normal;color:rgba(255,255,255,.55);white-space:nowrap;}
.calc__check--len{grid-template-columns:1fr 84px;padding-left:32px;align-items:center;color:rgba(255,255,255,.6);cursor:default;}
.calc__check--len input{appearance:auto;-webkit-appearance:auto;width:84px;height:34px;margin:0;padding:0 10px;border:1px solid rgba(255,255,255,.25);border-radius:8px;background:rgba(255,255,255,.06);color:#fff;font:inherit;}
.calc__check--len input:focus{outline:none;border-color:var(--color-green);}
.calc select{width:100%;height:48px;padding:0 44px 0 18px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") right 16px center no-repeat;color:#fff;font:inherit;font-size:15px;appearance:none;-webkit-appearance:none;cursor:pointer;}
.calc select option{color:#1e1e1e;background:#fff;}
.calc select:focus{outline:none;border-color:var(--color-green);box-shadow:0 0 0 3px rgba(68,136,130,.25);}
.calc__result{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:16px;position:sticky;top:20px;}
.calc__total{display:flex;flex-direction:column;gap:4px;}
.calc__total-label{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.5);}
.calc__total-sum{font-size:34px;font-weight:700;line-height:1.1;}
.calc__total-sum b{color:var(--color-green);}
.calc__lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:14px;}
.calc__lines li{display:flex;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px dashed rgba(255,255,255,.12);}
.calc__lines li span{color:rgba(255,255,255,.75);}
.calc__lines li b{white-space:nowrap;font-weight:600;}
.calc__note{margin:0;font-size:13px;line-height:1.5;color:rgba(255,255,255,.55);}
.calc__btn{background:var(--color-green);color:#fff;border:none;padding:14px 24px;border-radius:12px;font:inherit;font-weight:600;font-size:16px;cursor:pointer;transition:.2s;box-shadow:0 8px 20px rgba(68,136,130,.25);}
.calc__btn:hover{background:#3d7a75;transform:translateY(-1px);}
@media (max-width:1200px){.calc{grid-template-columns:1.2fr 1fr;}.calc__figure{grid-column:1 / -1;flex-direction:row;justify-content:center;min-height:0;}.calc__figure img{max-width:240px;}}
@media (max-width:991px){.calc{grid-template-columns:1fr;gap:24px;}.calc__result{position:static;}.calc__total-sum{font-size:28px;}.calc__figure{flex-direction:column;}}
@media (max-width:480px){.calc__tab{padding:9px 14px;font-size:14px;}.calc__result{padding:18px;}}
.calc.is-flash .calc__result{box-shadow:0 0 0 3px var(--color-green);transition:box-shadow .3s;}
