/* Раздел «Ремонт техники» (Planfix 1210). Макет artifact 8dzMAdbkbUZ9dYNZsH9Nm6 на токенах сайта. */
.rm-page { padding-block: 32px 64px; display: flex; flex-direction: column; gap: 40px; }
.rm-head { display: flex; flex-direction: column; gap: 16px; }
.rm-pill { display: inline-flex; gap: 6px; align-items: center; align-self: flex-start; background: var(--brand-bg); color: var(--brand-on-bg); font-size: 14px; font-weight: 600; padding: 6px 12px; border-radius: 999px; }
.rm-pill svg, .rm-badge svg { flex: none; }
.rm-h1 { font: 700 46px/1.14 var(--font-display); letter-spacing: -.03em; text-wrap: balance; }
.rm-h1--sm { font-size: clamp(26px, 4vw, 38px); }
.rm-lead { font-size: 18px; color: var(--text-2); max-width: 68ch; }
@media (max-width: 1199px) { .rm-h1 { font-size: 38px; } }
@media (max-width: 767px) { .rm-h1 { font-size: 28px; } .rm-lead { font-size: 16px; } }
.rm-sec { display: flex; flex-direction: column; gap: 20px; }
.rm-muted { color: var(--text-3); font-size: 14px; }
.rm-muted a { text-decoration: underline; text-underline-offset: 3px; }
.rm-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rm-chips .chip { height: 44px; }

/* плитки */
.rm-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.rm-tiles--wide { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.rm-tile { display: flex; flex-direction: column; gap: 4px; background: var(--surface-2); border-radius: 14px; padding: 14px 16px; color: var(--text); }
a.rm-tile:hover { background: var(--surface-3); color: var(--text); }
.rm-tile b { font-weight: 600; }
.rm-tile span { font-size: 14px; color: var(--text-3); }

/* тулбар */
.rm-bar { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.rm-bar .segmented { max-width: 100%; overflow-x: auto; }
.rm-count { margin-left: auto; font-size: 15px; color: var(--text-2); }

/* карточка центра в списке */
.rm-list { display: flex; flex-direction: column; gap: 16px; list-style: none; margin: 0; padding: 0; }
.rm-sc { display: grid; grid-template-columns: minmax(0, 1fr) 280px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.rm-sc:hover { border-color: var(--line-strong); box-shadow: 0 12px 32px rgba(22, 24, 29, .10); }
.rm-sc-main { padding: 20px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.rm-sc-top { display: flex; gap: 14px; align-items: flex-start; }
.rm-logo { width: 58px; height: 58px; border-radius: 16px; border: 1px solid var(--line); display: grid; place-items: center; font: 700 13px/1 var(--font-display); flex: none; background: var(--surface-2); }
.rm-logo--lg { width: 72px; height: 72px; border-radius: 18px; font-size: 15px; }
.rm-sc-name { font: 700 20px/1.25 var(--font); }
.rm-sc-name a:hover { color: var(--brand-text); }
.rm-sc-spec { font-size: 14px; color: var(--text-3); }
.rm-rate { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; font-size: 14px; color: var(--text-2); margin-top: 4px; }
.rm-rate b { font-size: 16px; color: var(--text); }
.rm-stars { color: #F0A020; letter-spacing: 1px; }
.rm-rate a { text-decoration: underline; text-underline-offset: 3px; }
.rm-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.rm-badge { display: inline-flex; align-items: center; gap: 5px; height: 26px; border-radius: 26px; padding: 0 10px; font-size: 13px; font-weight: 600; white-space: nowrap; background: var(--surface-3); color: var(--text-2); }
.rm-badge--good { background: var(--brand-bg); color: var(--brand-on-bg); padding-left: 8px; }
.rm-badge--warm { background: transparent; border: 1px solid var(--warm-dots); color: var(--warm-text); }
.rm-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px 20px; font-size: 15px; color: var(--text-2); }
.rm-facts > div { display: flex; gap: 8px; align-items: flex-start; }
.rm-facts svg { margin-top: 3px; color: var(--text-3); flex: none; }
.rm-open { color: var(--brand-text); font-weight: 600; }
.rm-closed { color: var(--text-3); font-weight: 600; }
.rm-prices { display: flex; flex-wrap: wrap; gap: 8px 18px; font-size: 14px; color: var(--text-2); border-top: 1px dashed var(--line); padding-top: 12px; }
.rm-prices s { color: var(--text-3); }
.rm-prices b { color: var(--brand-text); font-variant-numeric: tabular-nums; }
.rm-prices a { text-decoration: underline; text-underline-offset: 3px; }
.rm-offer { border-left: 1px dashed var(--line-strong); padding: 20px; display: flex; flex-direction: column; gap: 10px; background: var(--surface-quiet); border-radius: 0 18px 18px 0; }
.rm-size { font: 600 34px/1 var(--font-display); letter-spacing: -.03em; color: var(--brand-text); }
.rm-what { font-size: 14px; color: var(--text-2); }
.rm-when { font-size: 13px; color: var(--text-3); overflow-wrap: anywhere; }
@media (max-width: 899px) { .rm-sc { grid-template-columns: 1fr; } .rm-offer { border-left: 0; border-top: 1px dashed var(--line-strong); border-radius: 0 0 18px 18px; } }

/* таблицы */
.rm-tbl { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; }
.rm-tbl table { border-collapse: collapse; width: 100%; font-size: 15px; }
.rm-tbl th, .rm-tbl td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--line-soft); vertical-align: top; }
.rm-tbl th { font-size: 13px; font-weight: 600; color: var(--text-3); background: var(--surface-quiet); white-space: nowrap; }
.rm-tbl tr:last-child td { border-bottom: 0; }
.rm-tbl td.num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.rm-tbl td.num b { color: var(--brand-text); }

/* шаги, FAQ, «почему» */
.rm-steps { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; counter-reset: s; list-style: none; margin: 0; padding: 0; }
.rm-steps li { counter-increment: s; border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 6px; }
.rm-steps li::before { content: counter(s); font: 600 26px/1 var(--font-display); color: var(--warm-text); }
.rm-steps b { font-size: 17px; }
.rm-steps span { color: var(--text-2); font-size: 15px; }
.rm-faq details { border-bottom: 1px solid var(--line); padding: 14px 0; }
.rm-faq summary { font-weight: 600; font-size: 17px; cursor: pointer; }
.rm-faq p { margin-top: 8px; color: var(--text-2); max-width: 72ch; }
.rm-why { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.rm-why li { display: flex; gap: 12px; align-items: flex-start; background: var(--surface-2); border-radius: 14px; padding: 16px; }
.rm-why svg { color: var(--brand-text); margin-top: 2px; flex: none; }
.rm-why b { display: block; font-size: 16px; }
.rm-why span { font-size: 14px; color: var(--text-2); }

/* карточка центра */
.rm-shop { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; }
@media (max-width: 999px) { .rm-shop { grid-template-columns: minmax(0, 1fr); } }
.rm-shop > * { min-width: 0; }
.rm-shop-id { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }
.rm-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; margin: 0; }
.rm-stat { background: var(--surface-2); border-radius: 14px; padding: 14px 16px; }
.rm-stat b { display: block; font: 600 22px/1.2 var(--font-display); letter-spacing: -.02em; }
.rm-stat span { font-size: 14px; color: var(--text-3); }
.rm-cps { display: flex; flex-direction: column; gap: 12px; }
.rm-cp { display: grid; grid-template-columns: 150px minmax(0, 1fr) auto; align-items: center; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); }
.rm-cp-stub { align-self: stretch; display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 16px; border-right: 2px dashed var(--line-strong); background: var(--brand-bg); border-radius: 18px 0 0 18px; }
.rm-cp-stub .rm-size { font-size: 26px; }
.rm-cp-stub small { font-size: 13px; color: var(--brand-on-bg); font-weight: 600; }
.rm-cp-body { padding: 16px; min-width: 0; }
.rm-cp-act { padding: 16px; min-width: 220px; }
@media (max-width: 767px) { .rm-cp { grid-template-columns: 1fr; } .rm-cp-stub { border-right: 0; border-bottom: 2px dashed var(--line-strong); border-radius: 18px 18px 0 0; } .rm-cp-act { padding-top: 0; min-width: 0; } }
.rm-side { border: 1px solid var(--line); border-radius: 22px; padding: 20px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.rm-side dl { margin: 0; display: grid; gap: 10px; font-size: 15px; }
.rm-side dt { font-size: 13px; color: var(--text-3); }
.rm-side dd { margin: 0; overflow-wrap: anywhere; }
.rm-map { height: 150px; border-radius: 14px; display: grid; place-items: center; color: var(--warm-text); font-size: 14px; font-weight: 600; text-align: center; padding: 8px; }
.rm-masters { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.rm-master { display: flex; gap: 12px; align-items: center; background: var(--surface-2); border-radius: 14px; padding: 12px 14px; }
.rm-master i { width: 44px; height: 44px; border-radius: 50%; background: var(--surface-3); display: grid; place-items: center; font-style: normal; font-weight: 700; color: var(--text-2); flex: none; }

/* раздел */
.rm-find { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; padding: 16px; border: 1px solid var(--line); border-radius: 18px; background: var(--surface-quiet); max-width: 860px; }
.rm-find-f { display: flex; flex-direction: column; gap: 6px; flex: 1 1 220px; min-width: 0; font-size: 13px; font-weight: 600; color: var(--text-3); }
.rm-find select { height: 46px; width: 100%; border: 1px solid var(--input-border); border-radius: 12px; padding: 0 12px; font: 500 15px/1 var(--font); background: var(--surface); color: var(--text); }
.rm-find .btn { flex: 1 1 160px; height: 46px; }
.rm-offers { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.rm-of { border: 1px solid var(--line); border-radius: 18px; padding: 20px; display: flex; flex-direction: column; gap: 10px; background: var(--surface); min-width: 0; }
.rm-of--offer { border-top: 4px solid var(--brand); }
.rm-of-t { font-size: 17px; font-weight: 700; }
.rm-of p { font-size: 15px; color: var(--text-2); }
.rm-of .rm-chips { margin-top: auto; padding-top: 6px; }
.rm-of .rm-chips .chip { height: 36px; padding: 0 12px; font-size: 14px; }
.rm-of-off { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; border-top: 1px dashed var(--line); padding-top: 10px; font-size: 14px; color: var(--text-2); }
.rm-of-off b { font: 600 20px/1 var(--font-display); letter-spacing: -.02em; color: var(--brand-text); }
.rm-of .btn { margin-top: auto; }

/* юридический блок раздела: тёмная полоса над общим подвалом */
.rm-legal { background: var(--footer-bg); color: var(--footer-muted); padding-block: 28px; font-size: 13px; line-height: 1.5; }
.rm-legal .wrap { display: flex; flex-direction: column; gap: 10px; }
.rm-legal p { max-width: 110ch; }
