/* ============================================================================
 *  Единое оформление калькуляторов.
 *
 *  Собрано из тринадцати калькуляторов: правила, встречавшиеся минимум в десяти
 *  из них, вынесены сюда и привязаны к общей обёртке .dgr-kalk. Раньше каждый
 *  нёс свои 17 КБ почти одинаковых стилей — вместе 221 КБ, и правка внешнего
 *  вида означала тринадцать одинаковых правок.
 *
 *  ПОРЯДОК ПРАВИЛ СОХРАНЁН как в исходных файлах. Это не формальность: сброс,
 *  базовое правило и уточняющее шли друг за другом, и стоило их перемешать,
 *  как padding:0 перебивал padding-left и зелёная полоска заголовка наезжала
 *  на его номер.
 *
 *  Своё оформление калькулятора лежит в webroot/css/kalk/<код>.css и привязано
 *  к его идентификатору, то есть всегда перебивает общее — независимо от
 *  порядка подключения.
 *
 *  font-weight:700 заменён на Montserrat-Medium: на сайте объявлены только
 *  Regular и Medium, всё остальное браузер дорисовывает сам, и текст выглядит
 *  грязнее соседних блоков.
 * ========================================================================== */
.dgr-kalk{font-size:16px;line-height:1.5;text-align:left}
.dgr-kalk ul,.dgr-kalk ol{margin:0;padding:0;list-style:none}
.dgr-kalk li{display:block;gap:normal;margin:0;padding:0;list-style:none;font-size:inherit;line-height:inherit;text-align:left}
.dgr-kalk li::before,.dgr-kalk li::after{content:none;display:none}
.dgr-kalk label{margin:0;font-weight:inherit}
.dgr-kalk fieldset{max-width:none}
.dgr-kalk legend{max-width:none;float:none;display:block}
.dgr-kalk p{margin:0}
.dgr-kalk button{margin:0;text-transform:none;letter-spacing:normal}
.dgr-kalk input,.dgr-kalk select,.dgr-kalk textarea{margin:0;max-width:none}
.dgr-kalk table{margin:0}
.dgr-kalk a{text-decoration:underline}
.dgr-kalk h4{margin:0;padding:0;font-family:inherit}
.dgr-kalk,.dgr-kalk *{box-sizing:border-box}
.dgr-kalk{margin:30px 0 38px;overflow:hidden;border:1px solid #dfe8d4;border-radius:18px;background:#fff;color:#382d28;box-shadow:0 14px 34px rgba(56,45,40,.08);font-family:inherit}
.dgr-kalk [hidden]{display:none !important}
.dgr-kalk .dgr-head{padding:26px 28px 22px;border-bottom:1px solid #e7ecdf;background:linear-gradient(135deg,#f1f7e8 0%,#fbfdf8 58%,#fff 100%)}
.dgr-kalk .dgr-kicker{display:inline-block;margin-bottom:10px;padding:5px 10px;border-radius:999px;background:#7cab3d;color:#fff;font-size:13px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;line-height:1.3;letter-spacing:.02em;text-transform:uppercase}
.dgr-kalk .dgr-h{margin:0 0 10px;color:#382d28;font-size:29px;line-height:1.22;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400}
.dgr-kalk .dgr-lead{max-width:820px;margin:0;color:#5f5651;font-size:17px;line-height:1.55}
.dgr-kalk .dgr-privacy{margin:10px 0 0;color:#6d655f;font-size:13px;line-height:1.5}
.dgr-kalk .dgr-body{padding:24px 28px 28px}
.dgr-kalk fieldset{min-width:0;margin:0 0 24px;padding:0;border:0}
.dgr-kalk legend{width:100%;margin:0 0 12px;padding:0;color:#382d28;font-size:18px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;line-height:1.4}
.dgr-kalk .dgr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.dgr-kalk .dgr-field{display:block;min-width:0}
.dgr-kalk .dgr-label{display:block;margin-bottom:6px;color:#4a423d;font-size:14px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;line-height:1.35}
.dgr-kalk .dgr-input{width:100%;padding:11px 13px;border:1px solid #d9e2ce;border-radius:10px;background:#fff;color:#382d28;font-family:inherit;font-size:15px;line-height:1.35}
.dgr-kalk .dgr-input:focus{border-color:#7cab3d;outline:3px solid rgba(124,171,61,.22);outline-offset:1px}
.dgr-kalk .dgr-input.dgr-bad{border-color:#c0564c;background:#fdf5f4}
.dgr-kalk .dgr-help{display:block;margin-top:5px;color:#7a716b;font-size:12.5px;line-height:1.45}
.dgr-kalk .dgr-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.dgr-kalk .dgr-option{position:relative;display:block;min-width:0;cursor:pointer}
.dgr-kalk .dgr-option>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dgr-kalk .dgr-card{display:block;min-height:100%;padding:14px 15px;border:1px solid #d9e2ce;border-radius:12px;background:#fff;color:#514944;font-size:14px;line-height:1.42;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.dgr-kalk .dgr-card-title{display:block;margin-bottom:3px;color:#382d28;font-size:16px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400}
.dgr-kalk .dgr-option>input:checked+.dgr-card{border-color:#7cab3d;background:#f4f8ed;box-shadow:0 0 0 2px rgba(124,171,61,.14)}
.dgr-kalk .dgr-option>input:focus-visible+.dgr-card{outline:3px solid rgba(124,171,61,.32);outline-offset:2px}
.dgr-kalk .dgr-actions{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px}
.dgr-kalk .dgr-actions button{padding:12px 20px;border-radius:10px;font-family:inherit;font-size:15px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;line-height:1.2;cursor:pointer}
.dgr-kalk .dgr-primary{border:1px solid #7cab3d;background:#7cab3d;color:#fff}
.dgr-kalk .dgr-primary:hover{background:#6d9a33}
.dgr-kalk .dgr-secondary{border:1px solid #b9cfa0;background:#fff;color:#4d7a24}
.dgr-kalk .dgr-secondary:hover{background:#f4f8ed}
.dgr-kalk .dgr-reset{border:1px solid #e0dcd8;background:#fff;color:#6d655f}
.dgr-kalk .dgr-reset:hover{background:#f6f5f3}
.dgr-kalk .dgr-status{margin:0 0 18px;color:#6d655f;font-size:14px;line-height:1.5}
.dgr-kalk .dgr-status.dgr-badmsg{color:#b0463c;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400}
.dgr-kalk .dgr-status.dgr-warnmsg{color:#8a6410}
.dgr-kalk .dgr-results{border-top:1px solid #e7ecdf;padding-top:22px}
.dgr-kalk .dgr-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.dgr-kalk .dgr-metric{padding:14px 15px;border:1px solid #e3e9da;border-radius:12px;background:#fafcf7}
.dgr-kalk .dgr-metric>span{display:block;margin-bottom:5px;color:#6d655f;font-size:12.5px;line-height:1.35}
.dgr-kalk .dgr-value{color:#382d28;font-size:21px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;line-height:1.25}
.dgr-kalk .dgr-metric.dgr-accent{border-color:#7cab3d;background:#f4f8ed}
.dgr-kalk .dgr-sub{margin:4px 0 0;color:#7a716b;font-size:12px;line-height:1.4}
.dgr-kalk .dgr-route{margin-bottom:20px;padding:16px 18px;border:1px solid #e3e9da;border-radius:12px;background:#fff}
.dgr-kalk .dgr-route h4{margin:0 0 10px;color:#382d28;font-size:16px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400}
.dgr-kalk .dgr-route p{margin:0}
.dgr-kalk .dgr-route ul{margin:0;padding-left:20px}
.dgr-kalk .dgr-route ul{padding-left:0}
.dgr-kalk .dgr-route li{position:relative;margin-bottom:9px;padding-left:16px;color:#4a423d;font-size:14.5px;line-height:1.5}
.dgr-kalk .dgr-route li::before{content:"";display:block;position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#9ebe75}
.dgr-kalk .dgr-route li:last-child{margin-bottom:0}
.dgr-kalk .dgr-flag{display:inline-block;flex:0 0 auto;align-self:flex-start;width:auto;height:auto;min-width:0;max-width:none;margin:0 6px 0 0;padding:2px 8px;border-radius:999px;font-size:12px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;line-height:1.45;white-space:nowrap;vertical-align:baseline}
.dgr-kalk .dgr-ok{background:#e8f4ed;color:#2c6b4d}
.dgr-kalk .dgr-warn{background:#fdf3e3;color:#8a6420}
.dgr-kalk .dgr-no{background:#f9eceb;color:#9b3a32}
.dgr-kalk .dgr-tablewrap{margin-bottom:14px;overflow-x:auto}
.dgr-kalk table.dgr-table{width:100%;border-collapse:collapse;font-size:13.5px}
.dgr-kalk table.dgr-table th,.dgr-kalk table.dgr-table td{padding:8px 10px;border:1px solid #e0e6d8;text-align:left;vertical-align:top;line-height:1.4}
.dgr-kalk table.dgr-table th{background:#f2f6ec;color:#3e463a;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;white-space:nowrap}
.dgr-kalk table.dgr-table td.dgr-num{text-align:right;white-space:nowrap}
.dgr-kalk table.dgr-table tr.dgr-mora td{background:#fdf6ec;color:#7c6432}
.dgr-kalk table.dgr-table tr.dgr-sumrow td{background:#f4f8ed;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400}
.dgr-kalk table.dgr-table tr.dgr-stale td{background:#fdf3e3}
.dgr-kalk .dgr-copyrow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}
.dgr-kalk .dgr-copied{color:#4d7a24;font-size:13.5px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400}
.dgr-kalk .dgr-notes{margin:0;padding:14px 16px;border-radius:12px;background:#f7f8f4}
.dgr-kalk .dgr-notes p{margin:0 0 8px;color:#625a55;font-size:13px;line-height:1.55}
.dgr-kalk .dgr-body ul:not(.dgr-plain)>li,.dgr-kalk .dgr-results ul:not(.dgr-plain)>li{position:relative;padding-left:16px;margin-bottom:8px}
.dgr-kalk .dgr-body ul:not(.dgr-plain)>li::before,.dgr-kalk .dgr-results ul:not(.dgr-plain)>li::before{content:"";display:block;position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:#9ebe75}
.dgr-kalk .dgr-mode>li,.dgr-kalk .dgr-metrics>li{padding-left:0}
.dgr-kalk .dgr-mode>li::before,.dgr-kalk .dgr-metrics>li::before{content:none}
.dgr-kalk .dgr-notes p:last-child{margin:0}
.dgr-kalk{border:2px solid #a8c97a;border-radius:20px;box-shadow:0 16px 40px rgba(56,45,40,.13)}
.dgr-kalk .dgr-head{padding:26px 28px 22px;border-bottom:3px solid #7cab3d;background:linear-gradient(135deg,#e6f2d5 0%,#f4faea 55%,#fbfdf7 100%)}
.dgr-kalk .dgr-kicker{padding:6px 13px;font-size:12.5px;letter-spacing:.04em;background:#5f8c26;box-shadow:0 2px 8px rgba(95,140,38,.3)}
.dgr-kalk .dgr-h{color:#2b2320;font-size:30px}
.dgr-kalk .dgr-lead{color:#4e463f}
.dgr-kalk .dgr-body{padding:26px 28px 28px}
.dgr-kalk fieldset{margin:0 0 26px;padding:0 0 22px;border-bottom:1px dashed #cddcb4}
.dgr-kalk fieldset:last-of-type{border-bottom:0;padding-bottom:4px}
.dgr-kalk legend{position:relative;margin:0 0 14px;padding:0 0 0 14px;color:#2b2320;font-size:18.5px}
.dgr-kalk legend::before{content:"";position:absolute;left:0;top:.18em;bottom:.18em;width:5px;border-radius:3px;background:#7cab3d}
.dgr-kalk .dgr-label{color:#3a332e;font-size:14.5px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400}
.dgr-kalk .dgr-input{padding:12px 14px;border:1.5px solid #bcd39a;border-radius:11px;color:#2b2320;font-size:15.5px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;background:#fcfdfa}
.dgr-kalk .dgr-input:hover{border-color:#9dbd6e}
.dgr-kalk .dgr-input:focus{border-color:#5f8c26;background:#fff;outline:3px solid rgba(124,171,61,.3);outline-offset:1px}
.dgr-kalk .dgr-input.dgr-bad{border-color:#c0453a;background:#fdeeec}
.dgr-kalk .dgr-help{color:#6b625c}
.dgr-kalk .dgr-card{border:1.5px solid #cddcb4;border-radius:13px;background:#fcfdfa;color:#4a423d}
.dgr-kalk .dgr-option>input:checked+.dgr-card{border:2px solid #5f8c26;background:#edf6de;box-shadow:0 4px 14px rgba(95,140,38,.18)}
.dgr-kalk .dgr-card-title{color:#2b2320;font-size:16.5px}
.dgr-kalk .dgr-actions{gap:12px;margin:6px 0 16px}
.dgr-kalk .dgr-actions button.dgr-primary{border:0;background:#5f8c26;box-shadow:0 5px 16px rgba(95,140,38,.34);font-size:15.5px;padding:14px 28px}
.dgr-kalk .dgr-actions button.dgr-secondary,.dgr-kalk .dgr-actions button.dgr-reset{padding:13px 20px}
.dgr-kalk .dgr-primary{border:0;background:#5f8c26;box-shadow:0 5px 16px rgba(95,140,38,.34)}
.dgr-kalk .dgr-primary:hover{background:#527a1f;box-shadow:0 7px 20px rgba(95,140,38,.42)}
.dgr-kalk .dgr-secondary{border:1.5px solid #9dbd6e;color:#446d1c;background:#fff}
.dgr-kalk .dgr-secondary:hover{background:#edf6de;border-color:#7cab3d}
.dgr-kalk .dgr-reset{border:1.5px solid #dcd6d0;color:#665e58}
.dgr-kalk .dgr-status{padding:11px 14px;border-radius:10px;background:#f4f6f0;border-left:4px solid #9dbd6e;color:#4a423d;font-size:14.5px}
.dgr-kalk .dgr-status.dgr-badmsg{background:#fdeeec;border-left-color:#c0453a;color:#a33c31}
.dgr-kalk .dgr-results{margin-top:4px;padding:24px 20px 20px;border:2px solid #a8c97a;border-radius:16px;background:#fbfdf7}
.dgr-kalk .dgr-metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.dgr-kalk .dgr-metric{padding:15px 16px;border:1.5px solid #d7e4c2;border-radius:13px;background:#fff}
.dgr-kalk .dgr-metric>span{color:#5f574f;font-size:11.5px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;letter-spacing:.03em;text-transform:uppercase}
.dgr-kalk .dgr-value{color:#2b2320;font-size:22px}
.dgr-kalk .dgr-metric.dgr-accent{border:2px solid #5f8c26;background:#edf6de;box-shadow:0 5px 16px rgba(95,140,38,.16)}
.dgr-kalk .dgr-metric.dgr-accent .dgr-value{color:#3d6412;font-size:25px}
.dgr-kalk .dgr-route{border:1.5px solid #d7e4c2;border-left:5px solid #7cab3d;border-radius:13px;background:#fff}
.dgr-kalk .dgr-route h4{color:#2b2320;font-size:17px}
.dgr-kalk .dgr-flag{padding:3px 10px;font-size:11.5px;letter-spacing:.03em;text-transform:uppercase}
.dgr-kalk .dgr-ok{background:#ddf0e2;color:#1f5c3d}
.dgr-kalk .dgr-warn{background:#fbe9c8;color:#7a5410}
.dgr-kalk .dgr-no{background:#fadfdb;color:#8f2f26}
.dgr-kalk table.dgr-table{border:1.5px solid #cddcb4;border-radius:10px;overflow:hidden}
.dgr-kalk table.dgr-table th{background:#5f8c26;color:#fff;border-color:#6f9c33;font-size:13px;letter-spacing:.02em}
.dgr-kalk table.dgr-table td{border-color:#dfe8d0;color:#3a332e}
.dgr-kalk table.dgr-table tr:nth-child(even) td{background:#f8fbf3}
.dgr-kalk table.dgr-table tr.dgr-sumrow td{background:#e6f2d5;color:#2b2320;border-color:#c3d9a2}
.dgr-kalk table.dgr-table tr.dgr-mora td{background:#fbe9c8;color:#6d4d10}
.dgr-kalk table.dgr-table tr.dgr-stale td{background:#fdf1dc}
.dgr-kalk .dgr-copyrow button{padding:12px 22px;border:1.5px solid #9dbd6e;border-radius:10px;background:#fff;color:#446d1c;font-family:inherit;font-size:15px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;line-height:1.2;cursor:pointer}
.dgr-kalk .dgr-copyrow button:hover{background:#edf6de;border-color:#7cab3d}
.dgr-kalk .dgr-notes{border:1px solid #e4e2dc;border-left:4px solid #c9c3ba;background:#f8f8f5}
.dgr-kalk .dgr-notes p{color:#57504a;font-size:13.5px}
.dgr-kalk .dgr-pick{display:block;margin:16px 0 0;padding:13px 15px;border:2px solid #b9cfa0;border-radius:12px;background:#fff;text-decoration:none}
.dgr-kalk .dgr-pick:hover{border-color:#7cab3d;background:#f7fbf1}
.dgr-kalk .dgr-pick-k{display:block;margin-bottom:3px;color:#6d655f;font-size:12px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;letter-spacing:.04em;text-transform:uppercase}
.dgr-kalk .dgr-pick-t{display:block;color:#3f6b1c;font-size:16px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;line-height:1.3;text-decoration:underline}
.dgr-kalk .dgr-pick-n{display:block;margin-top:4px;color:#5f5651;font-size:13.5px;line-height:1.45}
.dgr-kalk .dgr-disc{margin:14px 0 0;padding:11px 14px;border:1px solid #e8cf9e;border-radius:10px;background:#fdf3e0;color:#6d5320;font-size:13.5px;line-height:1.5}
.dgr-kalk .dgr-disc b{color:#5a4318}
.dgr-kalk .dgr-hero{margin:0 0 18px;padding:20px 22px;border:1px solid #7cab3d;border-radius:14px;background:#f4f8ed}
.dgr-kalk .dgr-hero>span{display:block;margin-bottom:6px;color:#4d7a24;font-size:13px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;line-height:1.3;letter-spacing:.02em;text-transform:uppercase}
.dgr-kalk .dgr-big{color:#2f4d10;font-size:34px;font-family:'Montserrat-Medium','Arial',sans-serif;font-weight:400;line-height:1.15;overflow-wrap:break-word;word-break:break-word}
.dgr-kalk .dgr-hero p{max-width:680px;margin:9px 0 0;color:#48583a;font-size:14.5px;line-height:1.5}
.default-text table.table{display:block;overflow-x:auto}
.dgr-kalk .dgr-check{display:flex;gap:9px;align-items:flex-start;margin-bottom:9px;color:#4a423d;font-size:14.5px;line-height:1.45;cursor:pointer}
.dgr-kalk .dgr-check input{margin-top:3px;flex:0 0 auto}
.dgr-kalk .dgr-check{padding:9px 12px;border:1px solid #e2ead6;border-radius:10px;background:#fbfdf8;color:#3a332e}
.dgr-kalk .dgr-check:hover{border-color:#bcd39a;background:#f6faee}
@media (max-width:860px){.dgr-kalk .dgr-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.dgr-kalk .dgr-head{padding:20px 18px 18px}.dgr-kalk .dgr-body{padding:20px 18px 22px}.dgr-kalk .dgr-h{font-size:23px}.dgr-kalk .dgr-lead{font-size:15.5px}.dgr-kalk .dgr-metrics{grid-template-columns:1fr}.dgr-kalk .dgr-actions button{width:100%}.dgr-kalk .dgr-h{font-size:24px}.dgr-kalk .dgr-value{font-size:20px}.dgr-kalk .dgr-metric.dgr-accent .dgr-value{font-size:22px}.dgr-kalk .dgr-hero{padding:16px 16px}.dgr-kalk .dgr-big{font-size:26px}.dgr-kalk table.dgr-table{font-size:12px}.dgr-kalk table.dgr-table th,.dgr-kalk table.dgr-table td.dgr-num{white-space:normal}.dgr-kalk table.dgr-table th,.dgr-kalk table.dgr-table td{padding:6px 6px;overflow-wrap:break-word}}