/* ------------------------------------------------------------------
   lzc.css — общая оболочка калькуляторов lazergift.ru
   Один файл на все калькуляторы (бейджи, значки и будущие).
   Всё изолировано в .lzc: имена классов с префиксом lzc-, ни одного
   голого селектора — стили сайта не трогаем и от стилей сайта не зависим.
   ------------------------------------------------------------------ */

.lzc{
  --lzc-ground:#fbfbf8;
  --lzc-panel:#f3f5f0;
  --lzc-panel-2:#eaeee6;
  --lzc-panel-3:#e2e8dd;
  --lzc-line:#dfe4da;
  --lzc-line-strong:#c6cfc1;
  --lzc-ink:#333d37;
  --lzc-ink-soft:#6a756e;
  --lzc-ink-faint:#949e96;
  --lzc-accent:#2f7f3c;
  --lzc-accent-soft:#e6f0e4;
  --lzc-accent-line:#bcd6bb;
  --lzc-accent-deep:#1f6b2c;
  --lzc-warn:#9a4a44;
  --lzc-warn-bg:#f6ecea;
  --lzc-warn-line:#e2c7c2;
  --lzc-num:"Oswald","PT Sans",Arial,sans-serif;

  container-type:inline-size;
  display:block;
  background:var(--lzc-ground);
  color:var(--lzc-ink);
  font-family:"PT Sans",Arial,Helvetica,sans-serif;
  font-size:16px;
  line-height:1.5;
  text-align:left;
}
.lzc *,.lzc *::before,.lzc *::after{box-sizing:border-box;}
.lzc img{max-width:100%;}
.lzc svg{max-width:100%;height:auto;}

.lzc-pad{padding:22px 24px 34px;}
@container (max-width:760px){.lzc-pad{padding:16px 16px 20px;}}

.lzc-note{
  display:flex;gap:9px;align-items:baseline;background:var(--lzc-panel);
  border-left:3px solid var(--lzc-accent-line);padding:9px 13px;margin:0 0 20px;
  font-size:13px;color:var(--lzc-ink-soft);
}
.lzc-note b{color:var(--lzc-ink);font-weight:700;}

.lzc-h1{
  font-family:"PT Sans",Arial,Helvetica,sans-serif;font-weight:700;font-size:32px;line-height:1.12;
  margin:0 0 8px;padding:0;text-wrap:balance;color:var(--lzc-ink);text-transform:none;
}
@container (max-width:760px){.lzc-h1{font-size:27px;}}
.lzc-sub{color:var(--lzc-ink-soft);margin:0 0 24px;padding:0;max-width:56ch;font-size:16px;}

.lzc-cols{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:30px;align-items:start;}
.lzc-form{margin:0;padding:0;min-width:0;}

.lzc-block{margin:0 0 24px;}
/* Заголовок шага: просто чёрный текст, без плашек и линеек —
   прямоугольников на экране и так хватает (кнопки, свотчи). */
.lzc-block > .lzc-lab{
  display:block;margin:0 0 11px;padding:0;line-height:1.25;
  font-family:"PT Sans",Arial,Helvetica,sans-serif;font-weight:700;font-size:17px;
  letter-spacing:0;text-transform:none;color:#1b201d;
}
.lzc-block > .lzc-lab::before{content:attr(data-t);}

.lzc-swatches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;}
@container (max-width:760px){.lzc-swatches{grid-template-columns:repeat(2,minmax(0,1fr));}}
.lzc-sw{
  display:flex;flex-direction:column;text-align:left;cursor:pointer;font:inherit;color:inherit;
  background:var(--lzc-ground);border:1px solid var(--lzc-line-strong);border-radius:2px;
  padding:0;margin:0;overflow:hidden;box-shadow:none;text-transform:none;min-width:0;
}
.lzc-sw .lzc-tex{height:30px;border-bottom:1px solid var(--lzc-line);}
.lzc-sw .lzc-txt{padding:7px 10px 8px;}
.lzc-sw .lzc-nm{display:block;font-weight:700;font-size:15px;line-height:1.2;color:var(--lzc-ink);}
.lzc-sw .lzc-pr{display:block;font-size:12px;color:var(--lzc-ink-faint);margin-top:1px;}
.lzc-sw:hover{border-color:var(--lzc-ink-faint);}
.lzc-sw[aria-checked="true"]{border-color:var(--lzc-accent);background:var(--lzc-accent-soft);}
.lzc-sw[aria-checked="true"] .lzc-nm{color:var(--lzc-accent-deep);}

/* Кнопки делят строку поровну: две кнопки — ровно по половине ширины,
   три — по трети. Скрытые кнопки колонку не занимают. */
.lzc-segs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;}
.lzc-segs[hidden]{display:none;}
.lzc-seg{
  display:flex;align-items:center;justify-content:center;text-align:center;min-width:0;
  font:inherit;font-size:15px;line-height:1.35;background:var(--lzc-ground);color:var(--lzc-ink-soft);
  border:1px solid var(--lzc-line-strong);border-radius:2px;padding:9px 13px;margin:0;cursor:pointer;
  box-shadow:none;text-transform:none;
}
.lzc-seg:hover{border-color:var(--lzc-ink-faint);color:var(--lzc-ink);}
.lzc-seg[aria-checked="true"]{background:var(--lzc-accent-soft);border-color:var(--lzc-accent);color:var(--lzc-accent-deep);font-weight:700;}
.lzc-seg[hidden]{display:none;}

.lzc-fixed{
  display:flex;gap:10px;align-items:baseline;background:var(--lzc-panel);
  border:1px solid var(--lzc-line);border-radius:2px;padding:9px 13px;font-size:15px;
}
.lzc-fixed[hidden]{display:none;}
.lzc-fixed .lzc-tick{color:var(--lzc-accent);}
.lzc-fixed small{color:var(--lzc-ink-faint);font-size:13px;}

.lzc-subline{font-size:13px;color:var(--lzc-ink-faint);margin:8px 0 0;padding:0;}

.lzc-toggles{display:flex;flex-direction:column;gap:10px;}
.lzc-tg{display:flex;gap:11px;align-items:flex-start;cursor:pointer;margin:0;font-weight:400;}
.lzc-tg input{margin:3px 0 0;width:17px;height:17px;accent-color:var(--lzc-accent);flex:none;}
.lzc-tg b{font-weight:400;font-size:15px;color:var(--lzc-ink);}
.lzc-tg small{display:block;color:var(--lzc-ink-faint);font-size:13px;}

.lzc-qtyrow{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:13px;}
.lzc-qtyrow[hidden]{display:none;}
.lzc-qtyrow input{
  width:112px;font-family:var(--lzc-num);font-size:21px;line-height:1.3;color:var(--lzc-ink);
  background:var(--lzc-ground);border:1px solid var(--lzc-line-strong);border-radius:2px;
  padding:6px 10px;margin:0;height:auto;box-shadow:none;
}
.lzc-unitlab{color:var(--lzc-ink-soft);}
.lzc-chips{display:flex;gap:6px;flex-wrap:wrap;}
.lzc-chip{
  font:inherit;font-size:14px;line-height:1.3;cursor:pointer;background:var(--lzc-panel);color:var(--lzc-ink-soft);
  border:1px solid var(--lzc-line);border-radius:2px;padding:6px 11px;margin:0;box-shadow:none;text-transform:none;
}
.lzc-chip:hover{border-color:var(--lzc-line-strong);color:var(--lzc-ink);}

/* Шкала тиража.
   Геометрия жёстко зафиксирована: высота ступени, высота полоски и высота
   подписи заданы в пикселях, поэтому при смене тиража НИЧЕГО не двигается
   ни вверх, ни вниз — меняется только цвет. Сквозь все ступени, включая
   зазоры между ними, проходит одна линия в 1 пиксель. */
.lzc-ladder{
  position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;
  gap:0 4px;align-items:start;
}
.lzc-ladder::before{                      /* та самая сквозная линия */
  content:"";position:absolute;left:0;right:0;top:2px;height:1px;
  background:var(--lzc-line-strong);
}
.lzc-rung{position:relative;text-align:center;min-width:0;height:30px;}
.lzc-rung .lzc-bar{height:5px;border-radius:2px;background:var(--lzc-panel-2);}
.lzc-rung.lzc-done .lzc-bar{background:var(--lzc-accent-line);}
.lzc-rung.lzc-now .lzc-bar{background:var(--lzc-accent-deep);}
.lzc-rung small{
  display:block;height:16px;line-height:16px;margin:7px 0 0;font-size:11px;
  color:var(--lzc-ink-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.lzc-rung.lzc-now small{color:var(--lzc-accent-deep);font-weight:700;}
.lzc-next{
  margin:11px 0 0;font-size:14px;color:var(--lzc-accent-deep);background:var(--lzc-accent-soft);
  border:1px solid var(--lzc-accent-line);border-radius:2px;padding:8px 11px;
  display:flex;gap:7px;align-items:baseline;flex-wrap:wrap;
}
.lzc-next[hidden]{display:none;}
.lzc-next b{font-weight:700;}

.lzc-board{display:flex;flex-direction:column;position:sticky;top:16px;min-width:0;}

.lzc-preview{
  background:var(--lzc-panel-2);border:1px solid var(--lzc-line);border-radius:2px 2px 0 0;
  padding:16px 14px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;
}
.lzc-cap{font-size:13px;color:var(--lzc-ink-soft);text-align:center;line-height:1.35;}

.lzc-breakdown{background:var(--lzc-panel);border:1px solid var(--lzc-line);border-top:0;padding:14px 16px;}
.lzc-breakdown .lzc-lab{
  font-family:"PT Sans",Arial,Helvetica,sans-serif;font-weight:700;font-size:12px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--lzc-ink-faint);margin:0 0 10px;padding:0;line-height:1.3;
}
.lzc-lines{display:flex;flex-direction:column;gap:6px;font-size:14px;}
.lzc-line{display:flex;justify-content:space-between;gap:12px;align-items:baseline;}
.lzc-line span{color:var(--lzc-ink-soft);}
.lzc-line i{font-family:var(--lzc-num);font-style:normal;white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--lzc-ink);}

.lzc-summary{
  background:var(--lzc-accent-soft);border:1px solid var(--lzc-accent-line);border-top:0;
  border-radius:0 0 2px 2px;padding:14px 16px 16px;
}
.lzc-unit{display:flex;justify-content:space-between;align-items:baseline;gap:12px;color:var(--lzc-ink-soft);font-size:14px;}
.lzc-unit b{font-family:var(--lzc-num);font-weight:400;font-size:18px;color:var(--lzc-ink);}
.lzc-grand{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:4px;}
.lzc-grand .lzc-glab{font-size:14px;color:var(--lzc-ink-soft);}
.lzc-grand .lzc-num{
  font-family:var(--lzc-num);font-weight:500;font-size:42px;line-height:1;
  color:var(--lzc-accent-deep);font-variant-numeric:tabular-nums;
}
@container (max-width:760px){.lzc-grand .lzc-num{font-size:33px;}}
.lzc-term{
  display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--lzc-ink-soft);
  border-top:1px solid var(--lzc-accent-line);margin-top:12px;padding-top:10px;
}
.lzc-term i{font-style:normal;color:var(--lzc-ink);}
.lzc-warn{
  margin-top:11px;background:var(--lzc-warn-bg);color:var(--lzc-warn);border:1px solid var(--lzc-warn-line);
  border-left:3px solid var(--lzc-warn);padding:8px 11px;font-size:13px;
}
.lzc-warn[hidden]{display:none;}

.lzc-cta{
  display:block;width:100%;margin:13px 0 0;font-family:inherit;font-weight:700;font-size:17px;line-height:1.25;
  background:var(--lzc-accent);color:#fff;border:0;border-radius:2px;padding:12px 14px;cursor:pointer;
  text-transform:none;box-shadow:none;text-align:center;
}
.lzc-cta:hover{background:var(--lzc-accent-deep);color:#fff;}
.lzc-cta small{display:block;font-weight:400;font-size:12px;opacity:.85;margin-top:2px;}

@container (max-width:760px){
  .lzc-cols{grid-template-columns:minmax(0,1fr);gap:18px;}
  .lzc-board{display:contents;}
  .lzc-preview{order:-2;margin:0 -16px;border-left:0;border-right:0;border-radius:0;}
  .lzc-form{order:-1;}
  .lzc-breakdown{order:1;border-top:1px solid var(--lzc-line);}
  .lzc-summary{
    order:2;position:sticky;bottom:0;border-radius:0;border-left:0;border-right:0;
    margin:0 -16px -20px;padding:12px 16px 14px;box-shadow:0 -8px 20px rgba(60,72,64,.12);z-index:2;
  }
  .lzc-term{margin-top:9px;padding-top:8px;}
}

/* модальное окно живёт в <body>, поэтому переменные объявлены и на нём */
.lzc-ov{
  --lzc-ground:#fbfbf8;--lzc-panel:#f3f5f0;--lzc-line:#dfe4da;--lzc-line-strong:#c6cfc1;
  --lzc-ink:#333d37;--lzc-ink-soft:#6a756e;--lzc-ink-faint:#949e96;
  --lzc-accent:#2f7f3c;--lzc-accent-deep:#1f6b2c;--lzc-num:"Oswald","PT Sans",Arial,sans-serif;
  position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(40,50,44,.5);
  display:flex;align-items:flex-start;justify-content:center;padding:24px 16px;
  overflow-y:auto;z-index:10000;
  font-family:"PT Sans",Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;color:var(--lzc-ink);
}
.lzc-ov[hidden]{display:none;}
.lzc-ov *,.lzc-ov *::before,.lzc-ov *::after{box-sizing:border-box;}
.lzc-modal{
  background:var(--lzc-ground);border-radius:4px;width:100%;max-width:450px;margin-top:6vh;
  box-shadow:0 20px 60px rgba(35,45,38,.3);position:relative;
}
.lzc-x{
  position:absolute;top:6px;right:8px;background:transparent;border:0;cursor:pointer;
  font-size:26px;line-height:1;color:var(--lzc-ink-faint);padding:4px 9px;
}
.lzc-x:hover{color:var(--lzc-ink);}
.lzc-mtop{padding:28px 26px 18px;}
.lzc-mh{font-weight:700;font-size:26px;line-height:1.18;margin:0 0 9px;padding:0;text-wrap:balance;color:var(--lzc-ink);}
.lzc-mh em{font-style:normal;color:var(--lzc-accent-deep);}
.lzc-lede{margin:0;padding:0;color:var(--lzc-ink-soft);font-size:15px;}
.lzc-recap{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  background:var(--lzc-panel);border-top:1px solid var(--lzc-line);border-bottom:1px solid var(--lzc-line);
  padding:10px 26px;font-size:13px;color:var(--lzc-ink-soft);
}
.lzc-recap b{font-family:var(--lzc-num);font-weight:500;font-size:19px;color:var(--lzc-ink);}
.lzc-fields{padding:18px 26px 24px;display:flex;flex-direction:column;gap:11px;}
@media (max-width:520px){
  .lzc-mtop{padding:24px 18px 16px;}.lzc-mh{font-size:24px;}
  .lzc-recap{padding:10px 18px;}.lzc-fields{padding:16px 18px 20px;}
}
.lzc-fields input{
  width:100%;font:inherit;color:var(--lzc-ink);background:var(--lzc-ground);
  border:1px solid var(--lzc-line-strong);border-radius:2px;padding:11px 12px;margin:0;height:auto;box-shadow:none;
}
.lzc-fields input.lzc-soft{border-color:var(--lzc-line);background:var(--lzc-panel);color:var(--lzc-ink-soft);font-size:15px;padding:10px 12px;}
.lzc-agree{display:flex;gap:9px;align-items:flex-start;font-size:12px;color:var(--lzc-ink-soft);line-height:1.45;margin:0;font-weight:400;}
.lzc-agree input{width:auto;margin:2px 0 0;accent-color:var(--lzc-accent);flex:none;padding:0;border:0;}
.lzc-agree a{color:var(--lzc-accent-deep);}
.lzc-send{
  font-family:inherit;font-weight:700;font-size:17px;background:var(--lzc-accent);color:#fff;
  border:0;border-radius:2px;padding:12px;margin:0;cursor:pointer;text-transform:none;box-shadow:none;
}
.lzc-send:hover{background:var(--lzc-accent-deep);color:#fff;}
.lzc-send[disabled]{opacity:.6;cursor:default;}
/* Ловушка для ботов: человек это поле не видит и не заполняет. */
.lzc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0;}
.lzc-err{margin:0;font-size:13px;line-height:1.4;color:#a5372c;}
.lzc-done{padding:6px 26px 26px;text-align:center;}
.lzc-done p{color:var(--lzc-ink-soft);margin:0 0 4px;}
.lzc-done .lzc-fine{font-size:12px;color:var(--lzc-ink-faint);}

.lzc button:focus-visible,.lzc input:focus-visible,.lzc a:focus-visible,
.lzc-ov button:focus-visible,.lzc-ov input:focus-visible,.lzc-ov a:focus-visible{
  outline:2px solid var(--lzc-accent);outline-offset:1px;
}
.lzc-dead{padding:18px 20px;border:1px solid var(--lzc-line);background:var(--lzc-panel);color:var(--lzc-ink-soft);font-size:15px;}
