/* Калькулятор стоимости стекла (Фаза 4b). Цвета — из CSS-переменных шаблона business (prv_*), с запасными.
   Внимание: --prv_font_color в шаблоне = #fff (цвет текста кнопок), для текста не использовать. */
.esc{--esc-c:var(--prv_color,#1a6bb0);--esc-bg:#fff;--esc-line:#d9dee3;--esc-ink:#212529;--esc-mute:#6b7480;--esc-r:var(--prv_button_radius,4px);
  font-size:15px;line-height:1.45;color:var(--esc-ink);margin:0 0 32px}
.esc *,.esc *::before,.esc *::after{box-sizing:border-box}
.esc-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,1fr);gap:24px;align-items:start}
.esc-form,.esc-out,.esc-lead{background:var(--esc-bg);border:1px solid var(--esc-line);border-radius:8px;padding:20px}
.esc-f{display:block;margin:0 0 14px;min-width:0}
.esc-f>span{display:block;font-size:13px;color:var(--esc-mute);margin-bottom:4px}
.esc-f input:not([type=checkbox]),.esc-f select,.esc-f textarea{width:100%;font:inherit;color:inherit;background:#fff;border:1px solid var(--esc-line);border-radius:var(--esc-r);padding:9px 12px;min-height:42px}
.esc-f textarea{min-height:80px;resize:vertical}
.esc-f input:focus,.esc-f select:focus,.esc-f textarea:focus{outline:2px solid var(--esc-c);outline-offset:1px;border-color:var(--esc-c)}
.esc-row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.esc-checks{display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding-bottom:6px;font-size:14px}
.esc-checks label,.esc-consent{display:flex;align-items:flex-start;gap:8px;cursor:pointer}
.esc-checks input,.esc-consent input{width:18px;height:18px;margin:2px 0 0;flex:none}
.esc-spec{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0 0 16px}
.esc-spec dt{color:var(--esc-mute);font-size:13px;padding-top:2px}
.esc-spec dd{margin:0;font-weight:600}
.esc-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:0 0 8px;padding:12px 14px;background:#f1f6fb;border-radius:6px}
.esc-price span{color:var(--esc-mute)}
.esc-price strong{font-size:26px;color:var(--esc-c)}
.esc-lines{margin:0 0 14px;padding:0 0 0 18px;color:var(--esc-mute);font-size:14px}
.esc-hint,.esc-warn{padding:10px 14px;border-radius:6px;margin:0 0 14px;font-size:14px}
.esc-hint{background:#f4f5f7;color:#444}
.esc-warn{background:#fff6e5;color:#7a4d00}
.esc-btn{display:inline-block;width:100%;font:inherit;font-weight:600;color:#fff;background:var(--prv_button_bg,var(--esc-c));border:0;border-radius:var(--esc-r);padding:13px 20px;cursor:pointer;text-align:center}
.esc-btn:hover{filter:brightness(1.08)}
.esc-btn:disabled{opacity:.6;cursor:default}
.esc-note{margin:12px 0 0;font-size:13px;color:var(--esc-mute)}
.esc-lead{margin-top:24px}
.esc-lead h3{margin:0 0 14px;font-size:20px}
.esc-consent{font-size:14px;margin:6px 0 14px}
.esc-consent a{color:var(--esc-c)}
.esc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.esc-actions .esc-btn{width:auto}
.esc-status{font-size:14px;color:var(--esc-mute)}
.esc-status.esc-bad{color:#b3261e}
.esc-done{padding:14px;background:#eef8ee;border-radius:6px;color:#1e5b2a}
/* honeypot: скрыт от людей, виден ботам */
.esc-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;opacity:0}
/* заголовки h2 на странице: шаблон в .service-desc-panel сбрасывает h2 до 15px/400 */
.esc-h2{font-size:22px;font-weight:600;line-height:1.3;margin:28px 0 12px;color:#212529}
/* до загрузки виджета: плейсхолдер с кнопкой */
.esc-ph{padding:24px;border:1px dashed var(--esc-line);border-radius:8px;text-align:center;color:#6b7480;margin:0 0 32px}
.esc-ph .esc-btn{width:auto;margin-top:10px}
@media (max-width:760px){
  .esc-grid{grid-template-columns:1fr}
  .esc-form,.esc-out,.esc-lead{padding:16px}
  .esc-price strong{font-size:22px}
}
@media (max-width:480px){
  .esc-lead .esc-row{grid-template-columns:1fr}
}
