/* Цены: калькулятор тарифа, типичные случаи, разовые задачи. */
.pr-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 48px; align-items: end; }
.pr-facts { display: grid; gap: 0; margin: 0; }
.pr-facts > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding: 12px 0; border-bottom: var(--bw) solid var(--line); }
.pr-facts > div:first-child { border-top: var(--bw) solid var(--line); }
.pr-facts dd { margin: 0; font-weight: 500; text-align: right; }
@media (max-width: 900px) { .pr-hero { grid-template-columns: 1fr; gap: 28px; } }

.pr-calc { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: clamp(24px, 4vw, 56px); align-items: start; }
.pr-controls { display: grid; }
.pr-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 32px; align-items: center; padding: 26px 0; border-bottom: var(--bw) solid var(--line); }
.pr-row:first-child { border-top: var(--bw) solid var(--line-strong); }
.pr-row-top { align-items: start; }
.pr-q { display: flex; gap: 16px; align-items: flex-start; }
.pr-q .caption { margin-top: 4px; }
.pr-n { font-family: var(--font-mono); font-size: 12px; color: var(--ink-3); padding-top: 3px; }
.pr-range { width: 360px; max-width: 100%; }
.pr-range .range { margin: 8px 0 2px; }
.pr-ticks { display: flex; justify-content: space-between; font-variant-numeric: tabular-nums; }
.pr-extras { justify-content: flex-end; max-width: 420px; }
.pr-vat { justify-content: flex-end; text-align: left; max-width: 340px; }
.pr-vat[hidden] { display: none; }
@media (max-width: 1080px) { .pr-calc { grid-template-columns: 1fr; } }

.pr-result { position: sticky; top: calc(var(--header-h) + 24px); }
.pr-receipt { position: relative; display: grid; gap: 20px; padding: 26px; background: var(--raised); border: var(--bw) solid var(--line); border-radius: var(--r-3); box-shadow: var(--shadow-pop); }
.pr-price { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.pr-total { font-size: clamp(44px, 5vw, 60px); }
.pr-unit { color: var(--ink-3); font-size: 15px; }
.pr-lines { font-size: 14.5px; }
.pr-lines .v { font-weight: 500; }
.pr-lines > div { animation: rise .35s var(--ease-out) both; }
.pr-incl { padding-top: 16px; border-top: var(--bw) solid var(--line); }
.pr-checks { display: grid; gap: 7px; margin-top: 10px; font-size: 14.5px; color: var(--ink-2); }
.pr-checks li { display: flex; gap: 10px; align-items: center; }
.pr-checks .i { color: var(--pos); stroke-width: 2.2; }
.pr-plan { transition: background-color .3s, color .3s; }
.pr-plan.is-bump { animation: pop .45s var(--ease-spring); }
.pr-cases { display: grid; border-top: var(--bw) solid var(--line-strong); }
.pr-case { display: grid; grid-template-columns: minmax(0, 1fr) auto 24px; gap: 24px; align-items: center; padding: 22px 4px; border-bottom: var(--bw) solid var(--line); transition: background-color var(--t-fast), padding var(--t-med) var(--ease-out); }
.pr-case:hover { background: var(--surface-2); padding-left: 14px; padding-right: 14px; }
.pr-case-t { display: flex; flex-direction: column; gap: 4px; }
.pr-case-t b { font-family: var(--font-h); font-weight: 450; font-size: 21px; }
.pr-case-p { font-family: var(--font-num); font-weight: var(--w-strong); font-size: 20px; letter-spacing: -.01em; white-space: nowrap; }
.pr-case .i { color: var(--ink-3); transition: transform var(--t-med) var(--ease-out), color var(--t-fast); }
.pr-case:hover .i { transform: translateX(4px); color: var(--ink); }
@media (max-width: 760px) { .pr-case { grid-template-columns: 1fr auto; } .pr-case .i { display: none; } .pr-case-p { font-size: 17px; } }

.pr-table td b { font-weight: var(--w-h-sm); }
.pr-table td .caption { margin-top: 3px; }
@media (max-width: 760px) { .pr-table th:nth-child(2), .pr-table td:nth-child(2) { display: none; } }

.pr-promises { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 56px); }
.pr-promises > div { display: grid; gap: 12px; align-content: start; padding-top: 22px; border-top: var(--bw) solid var(--line-strong); }
.pr-promise-n { font-family: var(--font-mono); font-size: 12px; color: var(--ink-3); }
@media (max-width: 860px) { .pr-promises { grid-template-columns: 1fr; } }

/* Чек с рваным краем */
.pr-receipt { border-radius: 0; box-shadow: 0 1px 0 var(--line), 0 24px 40px -28px rgba(52, 40, 18, .45); padding-bottom: 34px;
  -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 14px 100%;
          mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 14px 100%; }
.pr-total { font-family: var(--font-num); }
.pr-regime-box { align-items: flex-end; }
.pr-ops-out { font-size: 28px; }
.pr-lines .caption { font-weight: 400; }
.pr-lines > div.is-new .v { color: var(--accent-text); }
.pr-share.is-done { color: var(--pos); }
.pr-case { width: 100%; text-align: left; cursor: pointer; font: inherit; color: inherit; }
.pr-case.is-picked { background: var(--accent-soft); }
@media (max-width: 760px) {
  .pr-row { grid-template-columns: 1fr; }
  .pr-row > :last-child { justify-self: start; }
  .pr-extras { justify-content: flex-start; }
  .pr-vat { justify-content: flex-start; text-align: left; }
  .pr-regime { width: 100%; }
  .pr-regime-box { align-items: flex-start; width: 100%; }
  .pr-range { width: 100%; }
}

/* Телефон: итог всегда перед глазами, пока крутят настройки */
.pr-mbar { display: none; }
@media (max-width: 1080px) {
  .pr-mbar { position: fixed; z-index: 40; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); display: flex; justify-content: space-between; align-items: center; gap: 12px;
    padding: 14px 18px; background: var(--ink); color: var(--bg); font: inherit; font-size: 15px; box-shadow: 0 12px 30px -10px rgba(0,0,0,.45);
    transform: translateY(140%); transition: transform .35s var(--ease-out); }
  .pr-mbar.is-on { transform: none; }
  .pr-mbar[hidden] { display: none; }
  .pr-mbar-sum { font-family: var(--font-num); font-size: 20px; font-variant-numeric: tabular-nums; }
  .pr-mbar > span { white-space: nowrap; }
  .pr-mbar-go { display: inline-flex; align-items: center; gap: 6px; opacity: .8; font-size: 14px; }
  .pr-mbar.is-tick .pr-mbar-sum { animation: pop .35s var(--ease-spring); }
}
