/* Услуги: цены, пакеты, тарифы и пример аудита РК (/uslugi/ceny.php и блоки #ceny на страницах услуг). Поверх uslugi.css (переменные --bl-*) */

/* ---------- ступени пакетов ---------- */
.uc-stage { margin: 0 0 40px; }
.uc-stage:last-child { margin-bottom: 0; }
.uc-stage__h { display: flex; align-items: baseline; gap: 12px; margin: 0 0 18px; }
.uc-stage__n { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: var(--bl-red); color: #fff; font-size: 15px; font-weight: 800; }
.bl-main .uc-stage__h .us-h3 { margin: 0; font-size: 21px; }
.uc-stage__h p { margin: 4px 0 0; color: var(--bl-muted); font-size: 14.5px; line-height: 1.5; }

/* ---------- карточки тарифов ---------- */
.uc-plans { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; margin: 0; padding: 0; list-style: none; }
.uc-plan {
    display: flex;
    flex-direction: column;
    padding: 24px 22px 22px;
    border: 1px solid var(--bl-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 1px 0 rgba(23, 24, 29, .03), 0 10px 30px rgba(23, 24, 29, .05);
}
.uc-plan--hit {
    border-color: transparent;
    background: linear-gradient(165deg, #fff4f4 0%, #fff 60%);
    box-shadow: inset 0 0 0 1px rgba(200, 0, 0, .22), 0 14px 40px rgba(200, 0, 0, .08);
}
.uc-plan__tag { align-self: flex-start; margin: 0 0 12px; padding: 4px 10px; border-radius: 999px; background: rgba(200, 0, 0, .08); color: var(--bl-red); font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.bl-main .uc-plan__t { margin: 0 0 8px; color: var(--bl-ink); font-size: 20px; font-weight: 800; line-height: 1.25; text-transform: none; }
.uc-plan__for { margin: 0 0 16px; color: var(--bl-text); font-size: 14.5px; line-height: 1.55; }
.uc-plan__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0 0 4px; }
.uc-plan__price b { color: var(--bl-ink); font-size: clamp(26px, 1vw + 20px, 34px); font-weight: 800; line-height: 1.1; letter-spacing: -.02em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.uc-plan--hit .uc-plan__price b { color: var(--bl-red); }
.uc-plan__price small { color: var(--bl-muted); font-size: 14px; font-weight: 600; }
.uc-plan__time { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; padding: 0 0 16px; border-bottom: 1px solid var(--bl-line); color: var(--bl-ink); font-size: 14px; font-weight: 700; }
.uc-plan__time::before {
    content: "";
    flex: none;
    width: 18px;
    height: 18px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='7.5' fill='none' stroke='%23c80000' stroke-width='1.8'/%3E%3Cpath d='M10 6v4.3l2.8 1.8' fill='none' stroke='%23c80000' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.uc-plan__k { margin: 0 0 10px; color: var(--bl-muted); font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.uc-plan .us-ticks { margin: 0 0 6px; padding: 0; list-style: none; }
.us-main .uc-plan .us-ticks li { margin-bottom: 9px; font-size: 14.5px; }
.uc-plan__no { margin: 8px 0 0; padding: 0; list-style: none; }
.uc-plan__no li { position: relative; margin: 0 0 7px; padding-left: 22px; color: var(--bl-muted); font-size: 13.5px; line-height: 1.5; }
.uc-plan__no li::before { content: "×"; position: absolute; top: -1px; left: 4px; color: #b9bcc5; font-size: 16px; font-weight: 700; }
.uc-plan__res { margin: auto 0 0; padding: 14px 0 0; border-top: 1px solid var(--bl-line); color: var(--bl-ink); font-size: 14.5px; font-weight: 600; line-height: 1.5; }
.uc-plan__no + .uc-plan__res,
.us-ticks + .uc-plan__res { margin-top: 16px; }
.uc-plan__res span { display: block; margin-bottom: 4px; color: var(--bl-red); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.uc-plan__case { margin: 10px 0 0; color: var(--bl-muted); font-size: 13px; line-height: 1.5; }
.uc-plan__case a { color: var(--bl-red); font-weight: 600; }
.uc-plan .bl-btn { margin-top: 18px; }
.uc-plan .uc-plan__cta { align-self: stretch; text-align: center; }
.uc-plan__res + .uc-plan__cta,
.uc-plan__case + .uc-plan__cta { margin-top: 16px; }
.uc-plan .us-ticks + .uc-plan__cta,
.uc-plan .uc-plan__no + .uc-plan__cta { margin-top: auto; }

/* «Получить цену» в таблицах */
.uc-t__cta {
    display: inline-block;
    padding: 7px 14px;
    border: 1px solid rgba(200, 0, 0, .35);
    border-radius: 999px;
    background: #fff;
    color: var(--bl-red);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
    text-decoration: none;
    transition: background-color .15s, color .15s, border-color .15s;
}
.uc-t__cta:hover,
.uc-t__cta:focus-visible { border-color: var(--bl-red); background: var(--bl-red); color: #fff; text-decoration: none; }
.uc-t .uc-t__buy th,
.uc-t .uc-t__buy td { background: #fbfbfc; }
.uc-t--fit th .uc-t__sub { margin-top: 8px; }

/* ---------- таблицы сравнения ---------- */
.uc-scroll { position: relative; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; border: 1px solid var(--bl-line); border-radius: 18px; background: #fff; box-shadow: 0 1px 0 rgba(23, 24, 29, .03), 0 14px 40px rgba(23, 24, 29, .05); }
.uc-scroll:focus-visible { outline: 2px solid var(--bl-red); outline-offset: 2px; }
.uc-t { width: 100%; min-width: 640px; border-collapse: separate; border-spacing: 0; color: var(--bl-text); font-size: 14px; line-height: 1.45; font-variant-numeric: tabular-nums; }
.uc-t--wide { min-width: 860px; }
.uc-t--fit { min-width: 0; }
.uc-t--fit td { text-align: right; white-space: nowrap; }
.uc-t__sub { display: block; margin-top: 2px; color: var(--bl-muted); font-size: 12.5px; font-weight: 400; }
.uc-t th,
.uc-t td { padding: 12px 14px; border-bottom: 1px solid #eef0f3; text-align: center; vertical-align: middle; }
.uc-t tr:last-child th,
.uc-t tr:last-child td { border-bottom: 0; }
.uc-t thead th { background: #f7f8fa; color: var(--bl-ink); font-size: 14px; font-weight: 800; line-height: 1.3; vertical-align: bottom; }
.uc-t thead th small { display: block; margin-top: 4px; color: var(--bl-red); font-size: 15px; font-weight: 800; white-space: nowrap; }
.uc-t tbody th { color: var(--bl-ink); font-weight: 600; text-align: left; }
.uc-t .uc-t__c {
    position: sticky;
    left: 0;
    z-index: 1;
    min-width: 190px;
    max-width: 260px;
    background: #fff;
    text-align: left;
    box-shadow: 1px 0 0 #e6e8ec;
}
.uc-t thead .uc-t__c { z-index: 2; background: #f7f8fa; color: var(--bl-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.uc-t .uc-t__sec th,
.uc-t .uc-t__sec td { padding-top: 10px; padding-bottom: 8px; background: #fbfbfc; color: var(--bl-muted); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.uc-t .uc-t__sum th,
.uc-t .uc-t__sum td { background: #fff6dc; color: var(--bl-ink); font-weight: 800; }
.uc-t td.is-hit { background: rgba(200, 0, 0, .03); }
.uc-y,
.uc-n { display: inline-block; width: 20px; height: 20px; vertical-align: middle; }
.uc-y { border-radius: 50%; background: rgba(200, 0, 0, .1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.4l3 3 6-6.4' fill='none' stroke='%23c80000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat; }
.uc-n { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10h8' stroke='%23c3c6ce' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / 16px no-repeat; }
@media (max-width: 599px) {
    .uc-t .uc-t__c { min-width: 128px; max-width: 150px; }
    .uc-t th, .uc-t td { padding: 10px 10px; }
}
.uc-hint { margin: 10px 0 0; color: var(--bl-muted); font-size: 12.5px; }
.uc-note { margin: 16px 0 0; color: var(--bl-muted); font-size: 13.5px; line-height: 1.6; }
.uc-note b { color: var(--bl-ink); }
.uc-sr { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }

/* ---------- отдельные услуги: список цен ---------- */
.uc-svc { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; margin: 0; padding: 0; list-style: none; }
.uc-svc li { display: flex; }
.uc-svc a {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 20px 20px 18px;
    border: 1px solid var(--bl-line);
    border-radius: 16px;
    background: #fff;
    color: var(--bl-text);
    text-decoration: none;
    transition: border-color .2s, box-shadow .2s, transform .2s;
}
.uc-svc a:hover,
.uc-svc a:focus-visible { border-color: rgba(200, 0, 0, .35); box-shadow: 0 16px 40px rgba(23, 24, 29, .08); transform: translateY(-2px); color: var(--bl-text); text-decoration: none; }
.uc-svc a:focus-visible { outline: 2px solid var(--bl-red); outline-offset: 3px; }
.uc-svc b { display: block; margin-bottom: 10px; color: var(--bl-ink); font-size: 17px; font-weight: 800; line-height: 1.3; }
.uc-svc dl { display: grid; gap: 6px; margin: 0 0 12px; }
.uc-svc dl div { display: flex; justify-content: space-between; gap: 12px; padding-bottom: 6px; border-bottom: 1px dashed #e6e8ec; }
.uc-svc dt { color: var(--bl-text); font-size: 14px; font-weight: 400; line-height: 1.45; }
.uc-svc dd { flex: none; margin: 0; color: var(--bl-ink); font-size: 14.5px; font-weight: 800; white-space: nowrap; }
.uc-svc__go { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; color: var(--bl-red); font-size: 14px; font-weight: 700; }

/* ---------- пример аудита РК ---------- */
.uc-audits { display: grid; grid-template-columns: minmax(0, 1fr); gap: 22px; }
.uc-audit { display: flex; flex-direction: column; min-width: 0; padding: 22px 18px 20px; border: 1px solid var(--bl-line); border-radius: 18px; background: #fff; box-shadow: 0 1px 0 rgba(23, 24, 29, .03), 0 14px 40px rgba(23, 24, 29, .05); }
.uc-audit__niche { margin: 0 0 6px; color: var(--bl-red); font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bl-main .uc-audit .us-h3 { margin-bottom: 6px; }
.uc-audit__per { margin: 0 0 16px; color: var(--bl-muted); font-size: 13px; }
.uc-kpis { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 18px; padding: 0; list-style: none; }
.uc-kpis li { padding: 14px 14px 12px; border-radius: 14px; background: var(--bl-soft); }
.uc-kpis b { display: block; color: var(--bl-ink); font-size: clamp(19px, .8vw + 14px, 25px); font-weight: 800; line-height: 1.1; letter-spacing: -.01em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.uc-kpis li.is-hot { background: #fff1f1; }
.uc-kpis li.is-hot b { color: var(--bl-red); }
.uc-kpis span { display: block; margin-top: 6px; color: var(--bl-text); font-size: 12.5px; line-height: 1.4; }
.uc-audit .uc-scroll { margin: 0 0 16px; border-radius: 14px; box-shadow: none; }
.uc-audit .uc-t { min-width: 0; font-size: 13px; }
.uc-audit .uc-t td { white-space: nowrap; }
@media (max-width: 599px) {
    .uc-audit { padding-left: 14px; padding-right: 14px; }
    .uc-audit .uc-t { font-size: 12px; }
    .uc-audit .uc-t th,
    .uc-audit .uc-t td { padding: 8px 6px; }
}
.uc-audit .uc-t th,
.uc-audit .uc-t td { padding: 9px 10px; text-align: right; }
.uc-audit .uc-t th:first-child,
.uc-audit .uc-t td:first-child { text-align: left; }
.uc-audit .uc-t thead th { color: var(--bl-muted); font-size: 11.5px; font-weight: 700; }
.uc-audit .uc-t td.is-bad { color: var(--bl-red); font-weight: 700; }
.uc-audit .uc-t td.is-good { color: #1d7a3e; font-weight: 700; }
.uc-find { margin: 0; padding: 0; list-style: none; }
.uc-find li { position: relative; margin: 0 0 10px; padding-left: 28px; color: var(--bl-text); font-size: 14.5px; line-height: 1.55; }
.uc-find li::before { content: "!"; position: absolute; top: .15em; left: 0; display: flex; align-items: center; justify-content: center; width: 18px; height: 18px; border-radius: 50%; background: var(--bl-red); color: #fff; font-size: 12px; font-weight: 800; line-height: 1; }
.uc-audit__fc { margin: auto 0 0; padding: 14px 16px; border-radius: 14px; background: #fff6dc; color: var(--bl-ink); font-size: 14.5px; line-height: 1.55; }
.uc-find + .uc-audit__fc { margin-top: 16px; }
.uc-audit__fc b { display: block; margin-bottom: 4px; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; }

/* ---------- пример отчёта внутри панели (репутация на SEO) ---------- */
.us-panel .uc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.us-panel .uc-scroll { margin: 0 0 6px; border-radius: 14px; box-shadow: none; }
.us-panel .uc-t { min-width: 0; font-size: 13.5px; }
.us-panel .uc-t th,
.us-panel .uc-t td { padding: 9px 10px; text-align: right; }
.us-panel .uc-t th:first-child { text-align: left; }
.us-panel .uc-t thead th { color: var(--bl-muted); font-size: 11.5px; font-weight: 700; }
.us-panel .uc-t td.is-good { color: #1d7a3e; font-weight: 700; }

/* ---------- чек-лист и состав отчёта ---------- */
.uc-check { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; counter-reset: uc; }
.uc-check li { position: relative; padding: 14px 16px 14px 52px; border: 1px solid var(--bl-line); border-radius: 14px; background: #fff; counter-increment: uc; }
.uc-check li::before { content: counter(uc, decimal-leading-zero); position: absolute; top: 14px; left: 16px; color: var(--bl-red); font-size: 13px; font-weight: 800; letter-spacing: .04em; }
.uc-check b { display: block; margin-bottom: 2px; color: var(--bl-ink); font-size: 15px; font-weight: 800; line-height: 1.35; }
.uc-check p { margin: 0; color: var(--bl-text); font-size: 14px; line-height: 1.5; }

/* ---------- первый месяц по дням ---------- */
.uc-road { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.uc-road li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 16px; border-radius: 16px; background: rgba(255, 255, 255, .05); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08); }
.uc-road__d { color: #fff; font-size: 15px; font-weight: 800; }
.uc-road__d small { display: block; margin-top: 2px; color: #e90000; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.uc-road__x { display: flex; flex-wrap: wrap; gap: 6px; }
.uc-road__x span { padding: 6px 11px; border-radius: 999px; background: rgba(255, 255, 255, .08); color: rgba(255, 255, 255, .86); font-size: 13.5px; line-height: 1.35; }
.uc-road li.is-launch .uc-road__x span:last-child { background: var(--bl-red); color: #fff; font-weight: 700; }
.uc-levels { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.uc-levels li { padding: 18px 18px 16px; border-radius: 16px; background: #fff; color: var(--bl-text); }
.uc-levels b { display: block; margin-bottom: 6px; color: var(--bl-ink); font-size: 16px; font-weight: 800; }
.uc-levels b i { margin-right: 6px; color: var(--bl-red); font-style: normal; }
.uc-levels p { margin: 0; font-size: 14px; line-height: 1.55; }

/* ---------- скидки ---------- */
.uc-disc { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin: 22px 0 0; padding: 0; list-style: none; }
.uc-disc li { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; border: 1px dashed rgba(200, 0, 0, .3); border-radius: 14px; background: #fff; }
.uc-disc b { color: var(--bl-red); font-size: 22px; font-weight: 800; line-height: 1.1; }
.uc-disc span { color: var(--bl-ink); font-size: 14.5px; font-weight: 700; }
.uc-disc small { color: var(--bl-muted); font-size: 13px; line-height: 1.45; }

/* ---------- баннер «цены и пакеты» на других страницах ---------- */
.uc-teaser { display: flex; flex-direction: column; gap: 14px; margin: 28px 0 0; padding: 20px 22px; border-radius: 16px; background: #17181d; color: rgba(255, 255, 255, .78); }
.uc-teaser p { margin: 0; font-size: 15px; line-height: 1.55; }
.uc-teaser b { color: #fff; }
.uc-teaser .bl-btn { align-self: flex-start; }

@media (min-width: 600px) {
    .uc-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .uc-audit .uc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uc-svc { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uc-disc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .uc-check { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
    .uc-plans { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uc-plans--1 { grid-template-columns: minmax(0, 1fr); max-width: 760px; }
    .uc-road li { grid-template-columns: 130px minmax(0, 1fr); align-items: start; gap: 16px; }
    .uc-levels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .uc-teaser { flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; }
    .uc-teaser .bl-btn { flex: none; align-self: center; }
}
@media (min-width: 992px) {
    .uc-plans--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .uc-plans--1 { max-width: none; }
    .uc-plans--1 .us-ticks,
    .uc-plans--1 .uc-plan__no { columns: 2; column-gap: 36px; }
    .uc-plans--1 .us-ticks li,
    .uc-plans--1 .uc-plan__no li { break-inside: avoid; }
    .uc-plan { padding: 28px 26px 24px; }
    .uc-svc { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .uc-audits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .uc-audit { padding: 26px 24px 24px; }
    .uc-check { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) {
    .uc-svc a { transition: none; }
    .uc-svc a:hover { transform: none; }
}
