/* Страница компании — вариант B (10.09.2026).
   Подключается только в views/company/info.php, всё под .pb-company, чтобы
   не задевать Bootstrap 3 и site.css на остальных страницах.
   Макет: design/company-page-20260910/b.html в рабочей папке проекта. */

/* Те же файлы SF UI Display, но с честными весами: в site.css Semibold
   объявлен как 500, и 600/700 браузер дорисовывал бы искусственно. */
@font-face { font-family: "PBSans"; src: url("/fonts/SFUIDisplay-Light.otf"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face { font-family: "PBSans"; src: url("/fonts/SFUIDisplay-Regular.otf"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "PBSans"; src: url("/fonts/SFUIDisplay-Medium.otf"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: "PBSans"; src: url("/fonts/SFUIDisplay-Semibold.otf"); font-weight: 600; font-style: normal; font-display: swap; }

.pb-company {
    --pb-brand: #0077ff;
    --pb-accent: #ffa300;
    --pb-accent-ink: #1a1400;
    --pb-navy: #0e1b33;
    --pb-navy-2: #1a2b4b;
    --pb-on-navy: #c8d3e6;
    --pb-ink: #141a26;
    --pb-ink-2: #434b5a;
    --pb-muted: #6b7280;
    --pb-line: #e6e8ec;
    --pb-soft: #f5f6f8;
    --pb-pos: #17853f;
    --pb-neu: #7b818c;
    --pb-neg: #cc3333;
    --pb-warn: #ffcf70;
    font-family: "PBSans", -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-weight: 400;
    font-synthesis: none;
    color: var(--pb-ink);
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}
.pb-company *, .pb-company *::before, .pb-company *::after { box-sizing: border-box; }
.pb-company a { color: var(--pb-brand); }
.pb-company a:hover { text-decoration: none; }
.pb-company h1, .pb-company h2, .pb-company h3 {
    font-family: inherit;
    text-transform: none;
    letter-spacing: normal;
}

/* ---------- Шапка компании: тёмная полоса на всю ширину окна ---------- */
.pb-hero {
    position: relative;
    margin-top: -30px;                 /* .wrap-inner даёт отступ сверху */
    padding: 12px 0 24px;
    background: var(--pb-navy);
    color: #fff;
    /* Фон тянется за пределы контейнера без 100vw и горизонтальной прокрутки */
    box-shadow: 0 0 0 100vmax var(--pb-navy);
    clip-path: inset(0 -100vmax);
}
.pb-hero-in { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }
.pb-crumbs { font-size: 13px; color: #8e9bb3; }
.pb-crumbs a { color: #8e9bb3; }
.pb-crumbs a:hover { color: #fff; }
.pb-crumbs span { margin: 0 4px; }
.pb-name { display: flex; align-items: center; gap: 14px; margin-top: 6px; }
.pb-logo { width: 52px; height: 52px; object-fit: contain; background: #fff; border-radius: 10px; padding: 4px; flex: none; }
.pb-company .pb-h1 {
    margin: 0;
    font-size: 30px;
    line-height: 1.15;
    font-weight: 600;
    letter-spacing: -0.5px;
    color: #fff;
    overflow-wrap: anywhere;
}
.pb-sub { display: block; margin-top: 6px; font-size: 15px; font-weight: 400; letter-spacing: 0; color: var(--pb-on-navy); }
.pb-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 10px; font-size: 14px; color: var(--pb-on-navy); }
.pb-company .pb-meta a { color: #8fc0ff; }

.pb-score-col { display: grid; gap: 12px; align-content: start; }
.pb-score { display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 16px; background: var(--pb-navy-2); }
.pb-ring {
    --p: 0;
    --pb-ring-fill: #3ccf73;
    flex: none;
    display: grid;
    place-items: center;
    width: 84px;
    height: 84px;
    border-radius: 50%;
    background: conic-gradient(var(--pb-ring-fill) calc(var(--p) * 1%), #34456a 0);
}
.pb-ring span {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: var(--pb-navy-2);
    font-size: 22px;
    font-weight: 600;
    letter-spacing: -0.5px;
}
/* Есть признаки накрутки — процент не должен выглядеть рекомендацией */
.pb-score--flagged .pb-ring { --pb-ring-fill: #7d8aa3; }
.pb-score--flagged .pb-ring span { color: #c8d0de; }
.pb-score-t b { display: block; font-size: 17px; font-weight: 600; }
.pb-score-t small { display: block; margin-top: 2px; font-size: 14px; color: var(--pb-on-navy); }
.pb-score-empty small { margin-top: 4px; }
.pb-counts { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: 8px; font-size: 14px; color: var(--pb-on-navy); }
.pb-counts i { font-style: normal; font-weight: 600; }
.pb-c-pos { color: #5fe08f; }
.pb-c-neu { color: #b9c1cf; }
.pb-c-neg { color: #ff8a8a; }

.pb-company .pb-cta,
.pb-company .btn.pb-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    padding: 12px 20px;
    border: 0;
    border-radius: 12px;
    background: var(--pb-accent);
    color: var(--pb-accent-ink);
    font-size: 16px;
    font-weight: 600;
    text-transform: none;
    text-decoration: none;
    box-shadow: none;
}
.pb-company .pb-cta:hover,
.pb-company .pb-cta:focus { background: #ffb42e; color: var(--pb-accent-ink); }
.pb-rep { font-size: 14px; text-align: center; color: var(--pb-on-navy); }
.pb-company .pb-rep a { color: #8fc0ff; }

.pb-alert {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 2px 0 2px 12px;
    border-left: 3px solid var(--pb-warn);
    font-size: 14px;
    color: #ffe3a8;
}
.pb-alert svg { flex: none; margin-top: 2px; color: var(--pb-warn); }
.pb-alert b { font-weight: 600; margin-right: 4px; }
.pb-company .pb-alert a { color: #ffd27a; text-decoration: underline; }
.pb-alert--mod { border-left-color: #ff8a8a; color: #ffd6d6; }
.pb-alert--mod svg { color: #ff8a8a; }
.pb-alert-note { display: block; margin-top: 4px; font-size: 12.5px; color: #c9b88f; }
/* Сеть лже-сервисов: заметнее обычной отметки — плашка на красном фоне */
.pb-alert--fraud { padding: 10px 12px; border-left-width: 4px; border-radius: 6px; background: rgba(220, 38, 38, .18); color: #fff; font-size: 15px; }
.pb-alert--fraud .pb-alert-note { color: #ffd6d6; font-size: 13px; }

/* ---------- Основная часть ---------- */
.pb-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
/* «Коротко по отзывам» — сводка prostoboss (CompanySummary) */
.pb-summary { margin-top: 20px; padding: 14px 16px; border-radius: 8px; background: var(--pb-soft); border-left: 4px solid var(--pb-brand); font-size: 15px; color: var(--pb-ink); }
.pb-summary--fraud, .pb-summary--self, .pb-summary--ad { background: #fdecec; border-left-color: var(--pb-neg); }
.pb-summary--signals { background: #fff6e0; border-left-color: #e0a100; }
.pb-summary-h { margin: 0 0 6px; font-size: 16px; font-weight: 700; line-height: 1.3; }
.pb-summary p { margin: 0 0 6px; line-height: 1.5; }
.pb-summary a { color: inherit; text-decoration: underline; }
.pb-summary small { color: var(--pb-muted); font-size: 12.5px; }
.pb-summary-links { font-size: 14px; color: var(--pb-ink-2); }
.pb-about { margin-top: 20px; font-size: 15px; color: var(--pb-ink-2); overflow-wrap: anywhere; }
.pb-about p { margin: 0 0 8px; }
.pb-contacts { display: flex; flex-wrap: wrap; gap: 4px 18px; }

.pb-reviews { margin-top: 12px; }
.pb-company .pb-tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 22px;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    border-bottom: 1px solid var(--pb-line);
    scrollbar-width: none;
    list-style: none;
}
.pb-company .pb-tabs::-webkit-scrollbar { display: none; }
.pb-company .pb-tabs::before, .pb-company .pb-tabs::after { display: none; }
.pb-company .pb-tabs > li { float: none; flex: none; margin: 0; }
.pb-company .pb-tabs > li > a {
    display: block;
    padding: 12px 0;
    margin-bottom: -1px;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    background: none;
    color: var(--pb-muted);
    font-size: 15px;
    white-space: nowrap;
}
.pb-company .pb-tabs > li > a:hover { background: none; color: var(--pb-ink); }
.pb-company .pb-tabs > li.active > a,
.pb-company .pb-tabs > li.active > a:hover,
.pb-company .pb-tabs > li.active > a:focus { color: var(--pb-ink); font-weight: 600; border-bottom-color: var(--pb-ink); background: none; }
.pb-tabs em { margin-left: 5px; font-style: normal; font-size: 13px; font-weight: 400; color: #9aa0aa; }

/* ---------- Карточка отзыва ---------- */
.pb-rv {
    --pb-c: var(--pb-neu);
    position: relative;
    padding: 18px 0 18px 16px;
    border-bottom: 1px solid var(--pb-line);
}
.pb-rv::before {
    content: "";
    position: absolute;
    left: 0;
    top: 20px;
    bottom: 20px;
    width: 3px;
    border-radius: 3px;
    background: var(--pb-c);
}
.pb-rv--positive { --pb-c: var(--pb-pos); }
.pb-rv--negative { --pb-c: var(--pb-neg); }
.pb-rv-empty { padding-left: 0; color: var(--pb-muted); }
.pb-rv-empty::before { display: none; }
.pb-rv-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; font-size: 13px; color: var(--pb-muted); }
.pb-rv-tone { color: var(--pb-c); font-size: 12.5px; font-weight: 600; letter-spacing: 0.5px; text-transform: uppercase; }
.pb-company .pb-rv-text { margin: 8px 0 0; font-size: 16px; line-height: 1.6; color: var(--pb-ink); overflow-wrap: anywhere; }
.pb-company .pb-more { display: inline-block; margin-top: 4px; font-size: 14.5px; font-weight: 600; }
.pb-rv-by { margin-top: 10px; font-size: 14px; color: var(--pb-ink-2); }
.pb-rv-by .review-geo { color: var(--pb-muted); }
.pb-rv-flags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.pb-flag { padding: 2px 8px; border-radius: 6px; background: #fff4dc; color: #8a5300; font-size: 12.5px; }
.pb-flag-links { font-size: 12.5px; color: var(--pb-muted, #6b7280); }
.pb-flag-links a { color: inherit; text-decoration: underline; }
.pb-flag--mod { background: #fde3e3; color: #9b1c1c; font-weight: 600; }
.pb-rv-act { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin-top: 12px; font-size: 14px; }
.pb-company .pb-vote { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; color: var(--pb-muted); }
.pb-company .pb-vote:hover { color: var(--pb-ink); }
.pb-complain { margin-left: auto; }
.pb-company .pb-complain .complain-button {
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
    color: #9aa0aa;
    font-size: 13px;
    text-transform: none;
}
.pb-company .pb-complain .complain-button:hover { color: var(--pb-neg); background: none; }
.pb-rv-removal { margin-top: 10px; font-size: 14px; }
.pb-rv-removal summary { cursor: pointer; color: var(--pb-muted); }

/* Официальный ответ компании — вложенный блок внутри карточки */
.pb-rv .company-review-reply {
    margin: 12px 0 0;
    padding: 12px 14px;
    border: 0;
    border-radius: 10px;
    background: var(--pb-soft);
    font-size: 15px;
}
.pb-rv .company-review-reply-empty { padding: 8px 12px; font-size: 14px; }

/* Пагинация внутри вкладки */
.pb-reviews .pagination { margin: 20px 0 0; }

/* ---------- Форма отзыва ---------- */
.pb-company .pb-form {
    margin-top: 28px;
    padding: 0;
    border-radius: 16px;
    background: var(--pb-soft);
    overflow: hidden;
}
.pb-company .pb-form .panel-padding { padding: 20px 16px 4px; }
.pb-company .pb-form-title { margin: 0 0 10px; font-size: 22px; font-weight: 600; line-height: 1.25; color: var(--pb-ink); overflow-wrap: anywhere; }
.pb-form-tips { margin: 0 0 16px; padding-left: 18px; font-size: 14px; color: var(--pb-ink-2); }
.pb-form-label { margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.pb-company .pb-form label { font-weight: 500; text-transform: none; }
.pb-company .pb-form .form-control { border-radius: 10px; border-color: #d7dbe2; box-shadow: none; font-size: 16px; }
.pb-company .pb-form textarea.form-control { min-height: 140px; }
.pb-company .pb-form .proof-upload-form { margin: 0 16px; }
.pb-form-submit { margin: 0; padding: 12px 16px 20px; }
.pb-company .pb-form-submit .pb-cta { max-width: 360px; }
.pb-form-legal { margin: 12px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--pb-muted); }

/* ---------- Боковая колонка ---------- */
.pb-side { display: grid; gap: 22px; align-content: start; }
.pb-company .pb-side-title { margin: 0 0 6px; font-size: 13px; font-weight: 600; letter-spacing: 0.6px; text-transform: uppercase; color: var(--pb-muted); }
.pb-company .pb-similar a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--pb-line);
    color: var(--pb-ink);
    font-size: 15px;
}
.pb-company .pb-similar a:hover span { color: var(--pb-brand); }
.pb-similar small { display: block; font-size: 13px; color: var(--pb-muted); }
.pb-similar em { flex: none; font-style: normal; font-size: 13.5px; color: var(--pb-muted); }
.pb-repbox { padding: 16px; border-radius: 14px; background: var(--pb-soft); }
.pb-repbox b { display: block; margin-bottom: 6px; font-size: 16px; font-weight: 600; }
.pb-repbox p { margin: 0 0 12px; font-size: 14px; color: var(--pb-ink-2); }
.pb-company .pb-repbox a { font-weight: 600; font-size: 15px; }

.pb-footnote { margin: 36px 0 12px; font-size: 13px; line-height: 1.5; color: #9aa0aa; }

/* ---------- Нижняя кнопка на телефоне ---------- */
.pb-sticky {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    background: #fff;
    border-top: 1px solid var(--pb-line);
    box-shadow: 0 -6px 18px rgba(14, 27, 51, 0.08);
}
.pb-sticky[hidden] { display: none; }

@media (max-width: 767px) {
    .pb-company .pb-h1 { font-size: 28px; }
    .pb-company .pb-form { margin-left: -15px; margin-right: -15px; border-radius: 0; }
    /* Запас снизу, чтобы нижняя кнопка не закрывала подвал */
    .pb-company { padding-bottom: 72px; }
}

@media (min-width: 992px) {
    .pb-hero { padding: 20px 0 32px; }
    .pb-hero-in {
        grid-template-columns: minmax(0, 1fr) 380px;
        column-gap: 40px;
        row-gap: 20px;
        align-items: end;
    }
    .pb-hero-title { grid-column: 1; }
    .pb-score-col { grid-column: 2; grid-row: 1 / span 2; }
    .pb-alert { grid-column: 1; align-self: start; }
    .pb-company .pb-h1 { font-size: 40px; }
    .pb-body { grid-template-columns: minmax(0, 1fr) 320px; gap: 48px; }
    .pb-side { padding-top: 24px; }
    .pb-sticky { display: none !important; }
    .pb-company .pb-form .panel-padding { padding: 28px 28px 4px; }
    .pb-company .pb-form .proof-upload-form { margin: 0 28px; }
    .pb-form-submit { padding: 12px 28px 28px; }
}

/* ---------- Правки после проверки на staging ---------- */
/* Шапка сайта отдаёт margin-bottom 20px — на этой странице тёмный блок встык */
body:has(.pb-company) .navbar { margin-bottom: 0; }

/* Пагинация внутри вкладки: без оранжевых кнопок, текущая страница — тёмная */
.pb-reviews .summary-cards-pagination { margin-top: 20px; text-align: center; }
.pb-reviews .summary-cards-pagination .btn-group { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 6px; float: none; }
.pb-reviews .summary-cards-pagination .btn {
    float: none;
    min-width: 40px;
    margin: 0;
    padding: 8px 12px;
    border: 1px solid var(--pb-line);
    border-radius: 8px !important;
    background: #fff;
    color: var(--pb-ink);
    font-size: 14px;
    box-shadow: none;
}
.pb-reviews .summary-cards-pagination .btn:first-child,
.pb-reviews .summary-cards-pagination .btn:last-child { font-size: 12.5px; letter-spacing: 0.4px; color: var(--pb-ink-2); }
.pb-reviews .summary-cards-pagination .btn-warning:not(:first-child):not(:last-child) { background: var(--pb-navy); border-color: var(--pb-navy); color: #fff; }
.pb-reviews .summary-cards-pagination .btn[disabled] { opacity: 0.4; }

/* Форма: подписи читаемые, «Доказательства» без старой тени */
.pb-company .pb-form .control-label,
.pb-company .pb-form .form-group > label { color: var(--pb-ink-2); font-weight: 500; font-size: 14px; }
.pb-company .pb-form .panel-radiobox label { color: var(--pb-ink); font-weight: 400; }
.pb-company .pb-form .proof-upload-form .panel-heading { display: block; padding: 10px 0; border: 0; background: none; box-shadow: none; color: var(--pb-brand); font-weight: 500; }
/* site.css сдвигает иконку «бесполезно» вниз под старую раскладку */
.pb-company .review-dislike svg { position: static; top: auto; }
.pb-company .review-like.active, .pb-company .review-dislike.active { color: var(--pb-brand); }
