/* Доработки поверх стилей старого сайта (app.css). Макеты — папка «Ваш рейтинг дизайн». */

/* Шапка: активный пункт меню */
.menu-link.active { text-decoration: underline; text-underline-offset: .3em; text-decoration-thickness: 1px; }
.social-link svg.svg-inline--fa, .svg-inline--fa { width: 1em; height: 1em; }
.btn .svg-inline--fa { width: .625em; }
.text-bg-primary .menu-link { color: #fff; }

/* Hero: бейдж рейтинга (макет Frame 45) */
.rating-badge {
    position: absolute; right: 1rem; bottom: 2rem;
    background: #fff; color: var(--bs-body-color);
    border-radius: var(--bs-border-radius-lg); padding: .75rem 1rem;
    box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .12);
}
.rating-badge .text-yellow { font-size: 1.125rem; letter-spacing: .1em; }
.rating-badge .rating-value { font-size: 2.5rem; font-weight: 700; line-height: 1; }
.rating-badge .rating-text { font-size: .875rem; line-height: 1.2; color: var(--bs-secondary-color); }
@media (max-width: 575.98px) { .rating-badge { right: .5rem; bottom: 1rem; padding: .5rem .75rem; } .rating-badge .rating-value { font-size: 1.75rem; } }

/* Карточки: ссылка «подробнее» (макеты 1–3 вариант) */
.item-more { display: block; width: fit-content; margin-top: .75rem; color: var(--bs-primary); text-decoration: underline; text-underline-offset: .2em; font-size: .9375rem; }
.article-item:hover .item-more, .project-item:hover .item-more, .service-item:hover .item-more { color: var(--bs-primary-text-emphasis, #076b3e); }
.service-item { border-color: transparent; }
.service-item:hover { border-color: var(--bs-yellow); }
.article-item .item-image-wrapper .item-date { font-size: .9375rem; }
.item-image { aspect-ratio: 3 / 2; object-fit: cover; }

/* Блок «Когда стоит обратиться» — плашка под иллюстрацией (макет Desktop - 4) */
.solution-badge {
    background: var(--bs-yellow); color: var(--bs-body-color);
    border-radius: var(--bs-border-radius-lg); padding: 1rem 2rem;
    font-size: 1.5rem; font-weight: 500; margin-top: -2rem; position: relative; text-align: center; min-width: 70%;
}

/* Тарифы (макет Desktop - 5) */
.tariff-card { position: relative; display: flex; flex-direction: column; padding: 1.5rem; border-radius: var(--bs-border-radius-lg); }
.tariff-card.tariff-premium { background: #fff; }
.tariff-badge { position: absolute; top: 1rem; right: 0; background: var(--bs-yellow); padding: .25rem .625rem; border-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius); font-size: .9375rem; }
.tariff-list li { display: flex; gap: .75rem; align-items: flex-start; margin-bottom: 1rem; }
.tariff-check { width: 1.375rem; height: 1.375rem; flex-shrink: 0; margin-top: .05rem; }
.tariff-card .btn { align-self: flex-start; }

/* Кейс */
.case-text p, .case-text li { color: var(--bs-secondary-color); }
.case-text h2, .case-text h4 { color: var(--bs-body-color); }
.case-page .alert p:last-child { margin-bottom: 0; }

/* Галерея */
.gallery-item img { border-radius: var(--bs-border-radius-lg); }
.media-modal-body img { max-height: 85vh; }

/* Статья */
.article-content img { max-width: 100%; height: auto; }
.article-content table { width: 100%; margin-bottom: 1rem; }
.article-content table td, .article-content table th { border: 1px solid var(--bs-border-color); padding: .5rem; }

/* Пагинация */
.pagination .page-link { min-width: 2.5rem; text-align: center; }


/* Формы Битрикс24 */
/* только наши контейнеры форм: класс b24-form использует и сам виджет Битрикс24 для скрытых окон */
.b24-form[data-b24] { min-height: 356px; }

/* Партнёрская программа */
.partner-hero { background: var(--bs-primary); color: #fff; }
.partner-scheme { counter-reset: step; }
.scheme-step { position: relative; background: var(--bs-light); border-radius: var(--bs-border-radius-lg); padding: 1.5rem 1.25rem 1.25rem; height: 100%; }
.scheme-step .number-sticker { margin-bottom: 1rem; }
.scheme-flow { display: grid; gap: .75rem; }
.flow-row { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.flow-box { border: 1.5px solid var(--bs-body-color); border-radius: .5rem; padding: .375rem .75rem; background: #fff; font-weight: 500; white-space: nowrap; }
.flow-box.ok { background: var(--bs-primary); border-color: var(--bs-primary); color: #fff; }
.flow-box.bad { background: #e5413b; border-color: #e5413b; color: #fff; }
.flow-box.fix { background: var(--bs-yellow); border-color: var(--bs-yellow); }
.flow-arrow { color: var(--bs-secondary-color); font-weight: 700; }
.partner-card { background: #fff; border-radius: var(--bs-border-radius-lg); padding: 1.5rem; height: 100%; }
.partner-form .form-control { background: var(--bs-light); border: 0; padding: .75rem 1rem; }
.partner-form .form-check-input { margin-top: .2rem; }
.partner-anchor-note { font-size: .875rem; color: var(--bs-secondary-color); }
