/* Прайс-листы на сайте: список «услуга -- цена», удобный на телефоне и на широком экране.
   Цвета и радиусы берутся из переменных темы (--red, --ink, --line ...), запасные значения заданы здесь. */
.pricelist-box { width: 100%; max-width: 940px; margin: 0 0 28px; --pl-accent: var(--red, #e22c3b); --pl-ink: var(--ink, #101012); --pl-line: var(--line, #e6e6ea); --pl-panel: var(--panel, #f5f5f7); --pl-muted: var(--muted, #6b6b73); }
.pricelist-headings-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 16px; }
.pricelist-heading-tag { flex: 0 0 auto; max-width: 100%; display: inline-flex; align-items: center; min-height: 38px; padding: 0 16px; border: 1px solid var(--pl-line); border-radius: 999px; background: #fff; color: var(--pl-ink); font-size: 13px; font-weight: 600; white-space: nowrap; text-decoration: none; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.pricelist-heading-tag:hover, .pricelist-heading-tag:focus-visible { border-color: var(--pl-accent); color: var(--pl-accent); text-decoration: none; }
.pl-list { border: 1px solid var(--pl-line); border-radius: 18px; background: #fff; overflow: hidden; }
.pl-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 20px; background: var(--pl-panel); scroll-margin-top: 84px; }
.pl-head__name { font-size: 15px; font-weight: 800; color: var(--pl-ink); }
.pl-head__label { flex: 0 0 auto; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pl-muted); }
.pl-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 14px 20px; border-top: 1px solid var(--pl-line); transition: background-color .15s ease; }
.pl-head + .pl-row { border-top: 0; }
.pl-row:hover { background: #fcfcfd; }
.pl-name { flex: 1 1 auto; min-width: 0; font-size: 15px; line-height: 1.45; color: var(--text, #2a2a2e); }
.pl-name a { color: var(--pl-ink); font-weight: 600; text-decoration: underline; text-decoration-color: rgba(226, 44, 59, .35); text-underline-offset: 3px; }
.pl-name a:hover { color: var(--pl-accent); text-decoration-color: currentColor; }
.pl-price { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font-size: 17px; font-weight: 800; line-height: 1.3; white-space: nowrap; color: var(--pl-ink); text-align: right; }
.pl-price__old { font-size: 13px; font-weight: 500; color: var(--pl-muted); text-decoration: line-through; }
.pl-price__new { color: var(--pl-accent); }
.pl-badge { display: inline-block; padding: 1px 10px; border-radius: 999px; background: var(--red-soft, #fdecee); color: var(--pl-accent); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.pl-promo-dates { font-size: 11px; font-weight: 500; line-height: 1.3; color: var(--pl-muted); white-space: normal; max-width: 150px; }
.pl-descr { margin-top: 6px; }
.pl-descr summary { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--pl-accent); cursor: pointer; list-style: none; }
.pl-descr summary::-webkit-details-marker { display: none; }
.pl-descr summary::after { content: ''; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s ease; }
.pl-descr[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.pl-descr__text { margin-top: 8px; padding: 12px 14px; border-radius: 12px; background: var(--pl-panel); font-size: 14px; line-height: 1.55; color: var(--pl-muted); }
@media (max-width: 575.98px) {
	.pricelist-headings-nav { gap: 6px; }
	.pricelist-heading-tag { min-height: 34px; padding: 0 12px; font-size: 12px; }
	.pl-head, .pl-row { padding-left: 14px; padding-right: 14px; }
	.pl-row { gap: 12px; }
	.pl-name { font-size: 14px; }
	.pl-price { font-size: 16px; }
	.pl-promo-dates { max-width: 120px; }
}
