/* ============ Одобренные правки «Потолки» и «Цены» (11.10.2026) ============
   Подключается после approved.css только на potolki.html и ceny.html.
   Палитру, скругления фото, шрифты не трогаем (они в approved.css / «обсудить»). */

/* ---------- Потолки ---------- */

/* p39 — одна строка вместо четырёх карточек-капсов */
.lp-can{padding-top:8px;padding-bottom:8px;}
.lp-can-line{margin:0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  font-size:18px;line-height:1.45;color:var(--ink);}

/* p40 — шесть видов: фото, название, 1–2 строки, цена «от»; низы на одном уровне */
.type-card{overflow:hidden;}
.type-card .photo{flex:0 0 auto;}
.type-foot{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:16px;margin-top:auto;}
.type-price{font-weight:600;font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;}
.type-link{font-size:15px;font-weight:600;white-space:nowrap;}

/* p41 — поставщики: обычный список брендов вместо чипов */
.brand-list{margin:10px 0 0;font-weight:600;font-size:16px;line-height:1.6;letter-spacing:.02em;color:var(--ink);}

/* ---------- Цены ---------- */

/* p44 — калькулятор без сдвигов: размеры строк итога зафиксированы,
   на широком экране итог в правой колонке «прилипает» при прокрутке формы */
.calc{align-items:start;}
.calc-result{justify-content:flex-start;gap:6px;}
.calc-result .amount{white-space:nowrap;line-height:1.2;min-height:1.2em;}
.calc-result .range{display:block;width:100%;line-height:1.45;min-height:2.9em;}
.calc-result .receipt{height:calc(8 * 31px + 2px);overflow-y:auto;overscroll-behavior:contain;}
.calc-result .receipt-row{padding:6px 0;font-size:14px;line-height:18px;min-height:31px;}
.calc-result .receipt-row span:first-child{min-width:0;}
@media (min-width:801px){
  /* 80px шапка + ~62px полоса «На этой странице» */
  .calc-result{position:sticky;top:160px;}
  .calc-result .photo{aspect-ratio:2/1;}
  /* форма отправки расчёта — в левой колонке под полями: прилипающий итог
     справа съезжает в пустое место и не закрывает телефон (баг 11.10) */
  .calc > .calc-lead{grid-column:1;display:flex;flex-direction:column;gap:12px;
    margin-top:0;padding-top:24px;border-top:1px solid var(--line);}
  .calc > .calc-lead .field-group,.calc > .calc-lead .field{width:100%;min-width:0;}
  .calc > .calc-lead .btn{width:100%;white-space:normal;}
  .calc > .calc-lead .form-note{margin-top:0;}
}

/* p45 — комментарий компактный, в две строки */
.calc-lead .field-area{min-height:0;resize:none;}

/* На телефоне итог прилипает к низу экрана, пока заполняют форму */
@media (max-width:800px){
  .calc{row-gap:0;}
  .calc > div:first-child{margin-bottom:20px;}
  .calc-result{display:contents;}
  .calc-result > *{margin-left:0;margin-right:0;}
  .calc-result > .photo + .caption{display:none;}
  .calc-result .amount{position:sticky;bottom:12px;z-index:5;margin:8px 0 6px;padding:10px 14px;
    background:var(--accent-tint);border:1px solid rgba(0,119,154,.25);border-radius:12px;
    font-size:26px;box-shadow:0 8px 20px -12px rgba(1,2,6,.35);}
  .calc-result .amount::before{content:'Примерная стоимость';display:block;font-family:var(--font-text);
    font-weight:500;font-size:13px;line-height:1.3;color:var(--ink-soft);}
  /* на узком экране часть строк чека переносится: место под 8 строк с запасом на переносы */
  .calc-result .receipt{margin-top:4px;height:304px;}
  .calc-result .receipt-row{font-size:13px;letter-spacing:-.005em;}
  .calc-result > .caption{margin-top:10px;}
}
@media (max-width:640px){
  body.has-mobile-cta .calc-result .amount{bottom:calc(76px + env(safe-area-inset-bottom));}
}

/* p46 + p47 — «Цены за м²» и «Что добавляется к цене»: один компонент */
.price-grid-even{align-items:stretch;}
.price-box{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:22px 24px 10px;}
.price-list{width:100%;border-collapse:collapse;font-size:16px;line-height:1.4;font-variant-numeric:tabular-nums;}
.price-list caption{caption-side:top;text-align:left;font-weight:600;font-size:18px;line-height:1.3;color:var(--ink);padding:0 0 12px;}
.price-list th,.price-list td{padding:12px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:baseline;}
.price-list th{font-size:13px;font-weight:600;color:var(--ink-soft);letter-spacing:.03em;text-transform:uppercase;}
.price-list th:last-child,.price-list td:last-child{text-align:right;white-space:nowrap;padding-left:16px;}
.price-list td:last-child{font-weight:600;}
.price-list tr:last-child td{border-bottom:0;}
@media (max-width:480px){.price-box{padding:18px 16px 6px;}}

/* p47 — маркеры «Входит в цену» и «Считается отдельно» одного цвета */
.incl-col.no li::before{background:var(--accent);}
