/* ============================================================================
   FARR.DESIGN — страница /price
   Наследует всю систему главной: те же отступы (--pad / --max / --gap),
   та же бумага, зерно, линейки и радиус 0. Здесь только то, чего
   на главной нет: реестр цен, плашка ставки и указатель разделов.
   ========================================================================== */

/* ── первый экран ───────────────────────────────────────────────────── */
.phero { padding: var(--s8) 0 var(--s9); }

.phero__t {
  font-family: var(--disp); font-weight: 700;
  font-size: var(--t-h1); line-height: 0.85; letter-spacing: -0.045em;
  text-transform: uppercase;
  padding: var(--s7) 0 var(--s6);
  display: grid;
}
.phero__t span { display: block; }
.phero__t .is-outline {
  color: transparent;
  -webkit-text-stroke: 1.5px var(--ink);
}
@media (max-width: 700px) { .phero__t .is-outline { -webkit-text-stroke-width: 1px; } }

.phero__b {
  display: grid; grid-template-columns: repeat(12, 1fr); gap: var(--gap);
  align-items: end; padding-bottom: var(--s7);
}
.phero__lede { grid-column: 1 / span 6; font-size: var(--t-lede); color: var(--ink-mid); max-width: 52ch; }
.phero__act { grid-column: 9 / span 4; display: flex; gap: var(--s3); justify-content: flex-end; flex-wrap: wrap; }
@media (max-width: 900px) {
  .phero__lede, .phero__act { grid-column: 1 / -1; justify-content: flex-start; }
  .phero__b { gap: var(--s6); }
}

/* акция — единственный элемент страницы, залитый краской */
.promo {
  display: flex; align-items: baseline; gap: var(--s5); flex-wrap: wrap;
  background: var(--ink); color: var(--newsprint);
  padding: var(--s4) var(--s5);
  margin-bottom: var(--s7);
}
.promo .lab { color: var(--flame); }
.promo p { margin: 0; font-family: var(--disp); font-weight: 700; letter-spacing: -0.02em; font-size: clamp(15px, 1.6vw, 21px); }
/* Сноска вместо даты: акция без срока, но честно помеченная как временная. */
.promo__note { margin-left: auto; font-family: var(--mono); font-size: var(--t-lab); letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-faint); }

/* указатель разделов */
.pindex {
  display: grid; grid-template-columns: repeat(6, 1fr);
  border-top: 1px solid var(--ink);
}
.pindex a {
  display: grid; gap: 4px; align-content: start;
  padding: var(--s4) var(--s4) var(--s5) 0;
  border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
  font-size: var(--t-sm); color: var(--ink-mid);
  transition: background var(--fast) var(--ease), color var(--fast) var(--ease);
}
.pindex a:nth-child(6n) { border-right: 0; }
.pindex a:not(:nth-child(6n+1)) { padding-left: var(--s4); }
.pindex a:hover { background: var(--sheet); color: var(--ink); }
.pindex i {
  font-family: var(--mono); font-style: normal; font-size: var(--t-lab);
  letter-spacing: 0.16em; color: var(--ink-faint);
}
@media (max-width: 1000px) { .pindex { grid-template-columns: repeat(3, 1fr); } .pindex a:nth-child(6n) { border-right: 1px solid var(--rule); } .pindex a:nth-child(3n) { border-right: 0; } .pindex a { padding-left: var(--s4); } }
@media (max-width: 620px)  { .pindex { grid-template-columns: repeat(2, 1fr); } .pindex a:nth-child(3n) { border-right: 1px solid var(--rule); } .pindex a:nth-child(2n) { border-right: 0; } }

/* ── раздел прайса ──────────────────────────────────────────────────── */
.psec { padding: var(--s9) 0 0; scroll-margin-top: 80px; }
.psec__h {
  display: flex; align-items: baseline; gap: var(--s5); flex-wrap: wrap;
  border-bottom: 1px solid var(--ink); padding-bottom: var(--s3); margin-bottom: var(--s5);
}
.psec__n { font-family: var(--mono); font-size: var(--t-lab); letter-spacing: 0.16em; color: var(--flame); }
.psec__t {
  font-family: var(--disp); font-weight: 700;
  font-size: clamp(22px, 2.8vw, 38px); letter-spacing: -0.04em; text-transform: uppercase;
}
.psec__note { margin-left: auto; font-size: var(--t-sm); color: var(--ink-faint); }
.psec__intro { max-width: 76ch; color: var(--ink-mid); margin-bottom: var(--s5); }

/* реестр цен .ptab переехал в styles.css — он нужен и на страницах услуг */

/* плашка ставки */
.rate {
  display: grid; grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--ink); margin-bottom: var(--s6);
}
.rate > div { padding: var(--s5) var(--s5) var(--s5) 0; border-right: 1px solid var(--rule); }
.rate > div:last-child { border-right: 0; }
.rate > div + div { padding-left: var(--s5); }
.rate b {
  display: block; margin-top: var(--s3);
  font-family: var(--mono); font-size: clamp(22px, 2.6vw, 34px); font-weight: 500;
  letter-spacing: -0.02em; color: var(--violet);
}
.rate small { display: block; margin-top: 4px; font-size: var(--t-lab); color: var(--ink-faint); font-family: var(--mono); letter-spacing: 0.06em; }
@media (max-width: 700px) {
  .rate { grid-template-columns: 1fr; }
  .rate > div { border-right: 0; border-bottom: 1px solid var(--rule); padding-left: 0 !important; }
}

/* пояснения */
.pdesc { columns: 2; column-gap: var(--s8); padding-top: var(--s5); }
.pdesc p { break-inside: avoid; margin: 0 0 var(--s4); font-size: var(--t-sm); color: var(--ink-mid); }
.pdesc b { color: var(--ink); font-weight: 600; }
@media (max-width: 900px) { .pdesc { columns: 1; } }

/* порядок согласования */
.porder {
  border: 1px solid var(--rule); background: var(--sheet);
  padding: var(--s5); margin-top: var(--s6);
}
.porder ol { margin: var(--s3) 0 0; padding-left: var(--s5); font-size: var(--t-sm); color: var(--ink-mid); }
.porder li { margin-bottom: 6px; }
.porder p { margin: var(--s4) 0 0; font-size: var(--t-sm); color: var(--ink-mid); }

/* условия */
.pterms { columns: 2; column-gap: var(--s8); padding-top: var(--s2); }
.pterms > div { break-inside: avoid; margin-bottom: var(--s5); }
.pterms dt { font-weight: 600; margin-bottom: 4px; }
.pterms dd { margin: 0; font-size: var(--t-sm); color: var(--ink-mid); }
@media (max-width: 900px) { .pterms { columns: 1; } }

/* отбивка перед финальным экраном */
.phero + .shell .psec:first-of-type { padding-top: var(--s7); }
.shell > .psec:last-of-type { padding-bottom: var(--s9); }
