/* ============================================================================
 *  Единое оформление калькуляторов — по макету от 25.08.2026.
 *
 *  Разметка тринадцати калькуляторов не менялась: классы .dgr-* остались те же,
 *  здесь они переложены на оформление сайта. Так правка вида делается в одном
 *  файле, а не в тринадцати шаблонах.
 *
 *  Цвета, шрифты и скругления берутся из dgr-maket.css (переменные --ink,
 *  --green, --cream и прочие) — это токены самого сайта. Своих значений здесь
 *  почти нет: где у сайта есть готовый вид, класс сайта стоит прямо в разметке
 *  (.default-field у полей, .my-btn .green-btn у главной кнопки,
 *  .udm-btn-sm у второстепенных), а этот файл добавляет только размещение.
 *
 *  Своё оформление калькулятора лежит в webroot/css/kalk/<код>.css и привязано
 *  к его идентификатору, то есть всегда перебивает общее — независимо от
 *  порядка подключения.
 * ========================================================================== */

/* ---------- сброс: калькуляторы живут внутри общей вёрстки страницы ---------- */
.dgr-kalk{font-size:15px;line-height:1.55;text-align:left;color:var(--ink);margin:22px 0 34px}
.dgr-kalk,.dgr-kalk *{box-sizing:border-box}
.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;min-width:0}
.dgr-kalk legend{max-width:none;float:none;display:block;width:100%}
.dgr-kalk p{margin:0}
/* Сброс общих правил кнопок сайта. Главную кнопку не трогаем: у неё вид
   сайта (.my-btn) — заглавные буквы и разрядка там намеренные. */
.dgr-kalk button:not(.my-btn){margin:0;text-transform:none;letter-spacing:normal}
.dgr-kalk button.my-btn{margin:0}
.dgr-kalk input,.dgr-kalk select,.dgr-kalk textarea{margin:0;max-width:none}
.dgr-kalk table{margin:0}
.dgr-kalk h4{margin:0;padding:0;font-family:inherit}
.dgr-kalk [hidden]{display:none !important}

/* ---------- шапка калькулятора: карточка-«герой» из макета ---------- */
.dgr-kalk .dgr-head{background:var(--cream);border:1.5px solid var(--green);border-radius:20px;padding:28px 32px;margin-bottom:18px}
.dgr-kalk .dgr-kicker{display:inline-block;background:var(--green);color:#fff;font-family:'Unbounded',sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:7px 14px;margin-bottom:14px;line-height:1.2}
.dgr-kalk .dgr-h{font-family:'Unbounded',sans-serif;font-weight:700;font-size:22px;line-height:1.25;color:var(--ink);margin:0 0 12px}
.dgr-kalk .dgr-lead{font-size:14.5px;color:var(--ink);font-weight:600;line-height:1.6;max-width:760px;margin:0}
.dgr-kalk .dgr-privacy{font-size:12.5px;color:var(--muted);font-weight:600;line-height:1.55;margin:12px 0 0;max-width:820px}
.dgr-kalk .dgr-privacy a{color:var(--green-dark);font-weight:700}

/* ---------- тело: белая карточка формы ---------- */
.dgr-kalk .dgr-body{background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px 36px}
.dgr-kalk fieldset{margin:0 0 24px;padding:0 0 24px;border:0;border-bottom:1px dashed var(--line)}
.dgr-kalk fieldset:last-of-type{border-bottom:0;padding-bottom:0}
.dgr-kalk legend{font-family:'Unbounded',sans-serif;font-size:16px;font-weight:700;color:var(--ink);margin:0 0 4px;padding:0;line-height:1.35}
.dgr-kalk .dgr-rowhead{font-size:12.5px;color:var(--muted);font-weight:600;line-height:1.5;margin:0 0 14px}

/* ---------- поля ---------- */
.dgr-kalk .dgr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.dgr-kalk .dgr-field{display:block;min-width:0}
.dgr-kalk .dgr-label{display:block;font-size:14px;font-weight:700;color:var(--ink);margin:0 0 6px;line-height:1.35}
/* Вид поля даёт .default-field сайта — он стоит рядом в разметке. Здесь только
   то, чего у сайта нет: состояние ошибки и высота многострочного поля. */
.dgr-kalk .dgr-input{font-family:'Mulish',sans-serif}
.dgr-kalk .dgr-input:focus{outline:2px solid var(--green);outline-offset:1px}
.dgr-kalk .dgr-input.dgr-bad{background:var(--err-bg);outline:1.5px solid var(--err);outline-offset:-1.5px}
.dgr-kalk textarea.dgr-input{min-height:96px;resize:vertical;padding:11px 15px;height:auto}
.dgr-kalk .dgr-help{display:block;font-size:12px;color:var(--muted);font-weight:600;line-height:1.55;margin-top:6px}
.dgr-kalk .dgr-unit{font-size:12.5px;color:var(--muted);font-weight:600}

/* Выпадающий список: убираем системный вид и рисуем стрелку — как в
   dgr-maket.css для остальных новых разделов. */
.dgr-kalk select.dgr-input{appearance:none;-webkit-appearance:none;padding-right:38px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238D6959' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;background-size:16px}

/* ---------- выбор варианта карточками ---------- */
.dgr-kalk .dgr-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.dgr-kalk .dgr-mode.dgr-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.dgr-kalk .dgr-mode.dgr-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.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 16px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--muted);font-size:13px;font-weight:600;line-height:1.5;transition:border-color .15s ease,background-color .15s ease}
.dgr-kalk .dgr-card-title{display:block;margin-bottom:4px;color:var(--ink);font-size:14.5px;font-weight:800;line-height:1.35}
.dgr-kalk .dgr-option>input:checked+.dgr-card{border-color:var(--green);background:var(--cream)}
.dgr-kalk .dgr-option>input:focus-visible+.dgr-card{outline:2px solid var(--green);outline-offset:2px}

/* ---------- галочка ---------- */
.dgr-kalk .dgr-check{display:flex;gap:10px;align-items:flex-start;background:var(--cream);border-radius:10px;padding:12px 15px;font-size:13px;font-weight:600;color:var(--ink);line-height:1.5;cursor:pointer;margin-bottom:8px}
.dgr-kalk .dgr-check input{margin-top:2px;flex:0 0 auto;accent-color:var(--green);width:16px;height:16px}

/* ---------- кнопки ---------- */
/* Вид кнопок — сайта: .my-btn .green-btn у главной, .udm-btn-sm у остальных.
   Здесь только ширина: у сайта кнопка растянута на всю строку. */
.dgr-kalk .dgr-actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 0;align-items:center}
.dgr-kalk .dgr-primary{width:auto;height:52px;padding:0 26px;cursor:pointer}
.dgr-kalk .dgr-add{display:inline-flex;align-items:center;gap:8px;border:1.5px dashed var(--green);border-radius:10px;color:var(--green-dark);font-size:13px;font-weight:700;padding:10px 16px;cursor:pointer;background:var(--cream);font-family:'Mulish',sans-serif;margin:2px 0 0}
.dgr-kalk .dgr-add:hover{background:#fff}
/* Крестик «убрать строку»: вид как у .udm-x в макете. Раньше это правило
   лежало одинаковой копией в восьми файлах калькуляторов. */
.dgr-kalk .dgr-drop{align-self:center;width:40px;height:40px;margin-top:22px;padding:0;border:1.5px solid #EBC9C9;border-radius:10px;background:#fff;color:var(--err);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.dgr-kalk .dgr-drop:hover{border-color:var(--err);background:var(--err-bg)}

/* ---------- строка состояния ---------- */
.dgr-kalk .dgr-status{background:var(--cream);border-left:4px solid var(--green);border-radius:0 10px 10px 0;padding:13px 16px;font-size:13px;font-weight:600;color:var(--ink);line-height:1.55;margin:18px 0 0}
.dgr-kalk .dgr-status.dgr-badmsg{background:var(--err-bg);border-left-color:var(--err);color:var(--err);font-weight:700}
.dgr-kalk .dgr-status.dgr-warnmsg{background:var(--orange-tint);border-left-color:var(--orange);color:#8a5300}

/* ---------- результат ---------- */
.dgr-kalk .dgr-results{margin-top:18px;background:var(--cream);border:1.5px solid var(--green);border-radius:14px;padding:22px 24px}
.dgr-kalk .dgr-hero{margin:0 0 18px}
.dgr-kalk .dgr-hero>span{display:block;font-family:'Unbounded',sans-serif;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:6px}
.dgr-kalk .dgr-big{font-family:'Unbounded',sans-serif;font-weight:700;font-size:30px;line-height:1.15;color:var(--green-dark);margin:6px 0 14px;font-variant-numeric:tabular-nums;overflow-wrap:break-word}
.dgr-kalk .dgr-hero p{max-width:700px;margin:0;font-size:13px;color:var(--muted);font-weight:600;line-height:1.55}

.dgr-kalk .dgr-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-bottom:18px}
.dgr-kalk .dgr-metric{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 17px}
.dgr-kalk .dgr-metric>span{display:block;font-size:12px;color:var(--muted);font-weight:700;line-height:1.4;margin-bottom:6px}
.dgr-kalk .dgr-value{display:block;font-family:'Unbounded',sans-serif;font-weight:600;font-size:19px;line-height:1.25;color:var(--ink);font-variant-numeric:tabular-nums;overflow-wrap:break-word}
.dgr-kalk .dgr-metric.dgr-accent{border-color:var(--green)}
.dgr-kalk .dgr-metric.dgr-accent .dgr-value{color:var(--green-dark);font-size:21px}
.dgr-kalk .dgr-sub{margin:5px 0 0;font-size:12px;color:var(--muted);font-weight:600;line-height:1.45}
.dgr-kalk .dgr-sub2{margin:3px 0 0;font-size:11.5px;color:var(--muted);font-weight:600;line-height:1.45}

/* ---------- пояснение «что дальше» ---------- */
.dgr-kalk .dgr-route{background:#fff;border:1px solid var(--line);border-radius:14px;padding:17px 19px;margin-bottom:18px}
.dgr-kalk .dgr-route h4{font-family:'Unbounded',sans-serif;font-size:15px;font-weight:700;color:var(--ink);margin:0 0 10px}
.dgr-kalk .dgr-route p{margin:0;font-size:13px;color:var(--ink);font-weight:600;line-height:1.6}
.dgr-kalk .dgr-route ul{margin:0;padding:0}
.dgr-kalk .dgr-route li{position:relative;margin-bottom:8px;padding-left:16px;font-size:13px;color:var(--ink);font-weight:600;line-height:1.55}
.dgr-kalk .dgr-route li::before{content:"";display:block;position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--green)}
.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:4px 11px;border-radius:999px;font-size:11.5px;font-weight:800;line-height:1.45;white-space:nowrap;vertical-align:baseline;letter-spacing:.02em;text-transform:uppercase}
.dgr-kalk .dgr-ok{background:var(--cream);color:var(--green-dark)}
.dgr-kalk .dgr-warn{background:var(--orange-tint);color:#8a5300}
.dgr-kalk .dgr-no{background:var(--err-bg);color:var(--err)}

/* ---------- таблица расчёта ---------- */
.dgr-kalk .dgr-tablewrap{margin-bottom:14px;border:1px solid var(--line);border-radius:14px;overflow-x:auto;background:#fff}
.dgr-kalk table.dgr-table{width:100%;border-collapse:collapse;font-size:13px;background:#fff}
.dgr-kalk table.dgr-table th{font-size:12px;font-weight:700;color:var(--muted);text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:bottom}
.dgr-kalk table.dgr-table td{font-size:13px;font-weight:600;color:var(--ink);padding:10px 14px;border-bottom:1px solid #efeee7;vertical-align:top;line-height:1.45;font-variant-numeric:tabular-nums}
.dgr-kalk table.dgr-table tr:last-child td{border-bottom:none}
.dgr-kalk table.dgr-table td.dgr-num,.dgr-kalk table.dgr-table th.dgr-num{text-align:right;white-space:nowrap}
.dgr-kalk table.dgr-table tr.dgr-sumrow td{background:var(--cream);font-weight:800}
.dgr-kalk table.dgr-table tr.dgr-mora td{background:var(--orange-tint);color:#8a5300}
.dgr-kalk table.dgr-table tr.dgr-stale td{background:var(--orange-tint)}

.dgr-kalk .dgr-copyrow{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:16px}
.dgr-kalk .dgr-copied{font-size:12.5px;color:var(--green-dark);font-weight:700;align-self:center}

/* ---------- сноски ---------- */
.dgr-kalk .dgr-notes{margin:0;background:var(--beige);border-radius:10px;padding:14px 17px}
.dgr-kalk .dgr-notes p{margin:0 0 8px;font-size:12px;color:var(--muted);font-weight:600;line-height:1.6}
.dgr-kalk .dgr-notes p:last-child{margin:0}
.dgr-kalk .dgr-src{font-size:12px;color:var(--muted);font-weight:600;line-height:1.55}
.dgr-kalk .dgr-disc{margin:14px 0 0;background:var(--orange-tint);border-radius:10px;padding:12px 16px;font-size:13px;color:#8a5300;font-weight:600;line-height:1.55}
.dgr-kalk .dgr-disc b{color:#7a4900}

/* ---------- ссылка на соседний калькулятор ---------- */
.dgr-kalk .dgr-pick{display:block;margin:16px 0 0;padding:14px 17px;border:1.5px solid var(--green);border-radius:14px;background:var(--cream);text-decoration:none}
.dgr-kalk .dgr-pick:hover{background:#fff}
.dgr-kalk .dgr-pick-k{display:block;margin-bottom:4px;font-family:'Unbounded',sans-serif;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dgr-kalk .dgr-pick-t{display:block;font-size:15px;font-weight:800;color:var(--green-dark);line-height:1.3;text-decoration:underline;text-underline-offset:3px}
.dgr-kalk .dgr-pick-n{display:block;margin-top:5px;font-size:12.5px;color:var(--muted);font-weight:600;line-height:1.5}

/* ---------- маркированные списки внутри формы и результата ---------- */
.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:.6em;width:6px;height:6px;border-radius:50%;background:var(--green)}
.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 a{color:var(--green-dark);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* ---------- узкий экран ---------- */
@media (max-width:860px){
  .dgr-kalk .dgr-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .dgr-kalk .dgr-head{padding:20px 16px}
  .dgr-kalk .dgr-body{padding:22px 16px}
  .dgr-kalk .dgr-h{font-size:19px}
  .dgr-kalk .dgr-lead{font-size:14px}
  .dgr-kalk .dgr-grid,.dgr-kalk .dgr-mode,
  .dgr-kalk .dgr-mode.dgr-two,.dgr-kalk .dgr-mode.dgr-three{grid-template-columns:1fr}
  .dgr-kalk .dgr-metrics{grid-template-columns:1fr}
  .dgr-kalk .dgr-actions button{width:100%}
  .dgr-kalk .dgr-primary{width:100%;padding:0 16px}
  .dgr-kalk .dgr-big{font-size:25px}
  .dgr-kalk .dgr-results{padding:18px 15px}
  .dgr-kalk table.dgr-table{font-size:12px}
  .dgr-kalk table.dgr-table th,.dgr-kalk table.dgr-table td{padding:8px 10px;overflow-wrap:break-word}
  .dgr-kalk table.dgr-table th,.dgr-kalk table.dgr-table td.dgr-num{white-space:normal}
}

/* ---------- рамка страницы калькулятора ---------- */

/* Список документов под калькулятором: тот же вид, что у сносок каталога,
   в две колонки на широком экране. */
.udm-kalk .udm-cl-docs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;margin:0 0 12px;padding:0;list-style:none}
.udm-kalk .udm-cl-docs li{position:relative;padding-left:16px;font-size:13.5px;line-height:1.55}
.udm-kalk .udm-cl-docs li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--green)}
.udm-kalk .udm-cl-docs a{color:var(--green-dark);font-weight:700;text-decoration:underline;text-underline-offset:2px}
@media (max-width:760px){
  .udm-kalk .udm-cl-docs{grid-template-columns:1fr}
}
