/*--------------------------------------------------------------
# Ð¢ÐµÐ¼Ð° Ð¾Ñ„Ð¾Ñ€Ð¼Ð»ÐµÐ½Ð¸Ñ Ð² ÑÑ‚Ð¸Ð»Ðµ rosobrcontrol.ru/checksite:
# Ñ‚Ñ‘Ð¼Ð½Ð°Ñ ÑˆÐ°Ð¿ÐºÐ°, Ñ„Ð¸Ð¾Ð»ÐµÑ‚Ð¾Ð²Ð¾Ðµ Ð¼ÐµÐ½ÑŽ, ÑÐµÑ€Ñ‹Ðµ Â«Ñ…Ð»ÐµÐ±Ð½Ñ‹Ðµ ÐºÑ€Ð¾ÑˆÐºÐ¸Â»,
# Ñ‚Ñ‘Ð¼Ð½Ð¾-ÑÐ¸Ð½Ð¸Ð¹ Ð¿Ð¾Ð´Ð²Ð°Ð». ÐŸÐ¾Ð´ÐºÐ»ÑŽÑ‡Ð°ÐµÑ‚ÑÑ Ð¿Ð¾ÑÐ»Ðµ style.css.
--------------------------------------------------------------*/

/* Ð¨Ñ€Ð¸Ñ„Ñ‚Ñ‹ Roboto Ð¸ Fira Sans (Google Fonts, Ð»Ð¸Ñ†ÐµÐ½Ð·Ð¸Ñ SIL OFL), Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ðµ ÐºÐ¾Ð¿Ð¸Ð¸ */
@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/roboto-cyrillic.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: "Roboto";
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url("../fonts/roboto-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Fira Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/fira-sans-400-cyrillic.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: "Fira Sans";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/fira-sans-400-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
    font-family: "Fira Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/fira-sans-600-cyrillic.woff2") format("woff2");
    unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
    font-family: "Fira Sans";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/fira-sans-600-latin.woff2") format("woff2");
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ÐžÑÐ½Ð¾Ð²Ð½Ð¾Ð¹ ÑˆÑ€Ð¸Ñ„Ñ‚ â€” Montserrat (Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ñ‹Ðµ woff2, ÐºÐ¸Ñ€Ð¸Ð»Ð»Ð¸Ñ†Ð° + Ð»Ð°Ñ‚Ð¸Ð½Ð¸Ñ†Ð°) */
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/Montserrat-Regular.woff2") format("woff2");
}
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url("../fonts/Montserrat-Medium.woff2") format("woff2");
}
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url("../fonts/Montserrat-SemiBold.woff2") format("woff2");
}
@font-face {
    font-family: "Montserrat";
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/Montserrat-Bold.woff2") format("woff2");
}
@font-face {
    font-family: "Montserrat";
    font-style: italic;
    font-weight: 400;
    font-display: swap;
    src: url("../fonts/Montserrat-Italic.woff2") format("woff2");
}
@font-face {
    font-family: "Montserrat";
    font-style: italic;
    font-weight: 700;
    font-display: swap;
    src: url("../fonts/Montserrat-BoldItalic.woff2") format("woff2");
}

:root {
    --site-primary: #0d6efd;
    --site-primary-rgb: 13, 110, 253;
    --site-primary-border: #0d6efd;
    --site-primary-hover: #0b5ed7;
    --site-primary-hover-border: #0a58ca;
    --site-primary-disabled: #6ea8fe;
    --site-success: #198754;
    --site-warning: #f0a30a;
    --site-warning-text: #92600a;
    --site-danger: #b42318;
    --site-accent: #ff1069;
    --site-accent-rgb: 255, 16, 105;
    --site-accent-border: #f3045d;
    --site-accent-hover: #e60050;
    --site-accent-hover-border: #e1004b;
    --site-nav-bg: #0a58ca;
    --site-page-bg: #f5f8fa;
    --site-crumbs-bg: #f2f4f6;
    --site-footer-bg: #060730;
    --site-text: rgba(27, 31, 44, .87);
    --site-text-muted: rgba(27, 31, 44, .54);
    --site-text-strong: #15191e;
    --site-border: #e6eaee;
    --site-input-border: rgba(0, 0, 0, .1);
    --site-font: "Montserrat", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    --site-font-title: "Montserrat", "Fira Sans", "Roboto", "Segoe UI", Arial, sans-serif;

    --bs-body-font-family: var(--site-font);
    --bs-body-color: var(--site-text);
    --bs-primary-rgb: var(--site-primary-rgb);
    --bs-link-color: var(--site-primary);
    --bs-link-color-rgb: var(--site-primary-rgb);
    --bs-link-hover-color: var(--site-primary-hover);
    --bs-link-hover-color-rgb: 11, 94, 215;
    --bs-focus-ring-color: rgba(var(--site-primary-rgb), .25);
}

/*--------------------------------------------------------------
# ÐžÐ±Ñ‰Ð¸Ðµ ÑÑ‚Ð¸Ð»Ð¸
--------------------------------------------------------------*/
html {
    font-size: 16px;
}

body {
    font-family: var(--site-font);
    font-size: 1rem;
    line-height: 1.5;
    color: var(--site-text);
    background: var(--site-page-bg);
}

a {
    color: var(--site-primary);
}

a:hover {
    color: var(--site-primary-hover);
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
    font-family: var(--site-font-title);
    font-weight: 600;
    line-height: 1.2;
    color: inherit;
}

.site-wrap {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.site-main {
    flex: 1 0 auto;
    padding: 1.5rem 0 2rem;
}

.page-title {
    margin: 0 0 1.5rem;
    font-size: 2rem;
}

@media (min-width: 768px) {
    .page-title {
        font-size: 2.5rem;
    }
}

/* Ð¡ÑÑ‹Ð»ÐºÐ¸ Ð² Ñ‚ÐµÐºÑÑ‚Ðµ â€” Ñ†Ð²ÐµÑ‚ Ñ‚ÐµÐºÑÑ‚Ð° Ð¸ Ñ‚Ð¾Ð½ÐºÐ¾Ðµ Ð¿Ð¾Ð´Ñ‡Ñ‘Ñ€ÐºÐ¸Ð²Ð°Ð½Ð¸Ðµ, ÐºÐ°Ðº Ñƒ ÑÑ‚Ð°Ð»Ð¾Ð½Ð° */
.site-main a:not([class]) {
    color: var(--site-text);
    text-decoration: underline;
    text-decoration-color: rgba(21, 25, 30, .2);
    text-decoration-thickness: 1px;
    text-underline-offset: .25em;
    transition: color .2s, text-decoration-color .2s;
}

.site-main a:not([class]):hover {
    color: var(--site-text-strong);
    text-decoration-color: rgba(21, 25, 30, .6);
}

/*--------------------------------------------------------------
# Ð¨Ð°Ð¿ÐºÐ°: Ñ‚Ñ‘Ð¼Ð½Ð°Ñ Ð¿Ð¾Ð»Ð¾ÑÐ° Ñ Ð»Ð¾Ð³Ð¾Ñ‚Ð¸Ð¿Ð¾Ð¼
--------------------------------------------------------------*/
.site-topbar {
    position: relative;
    color: #f4f7fb;
    /* background-color: #000028; */
    /* background-image:
        radial-gradient(circle at 80% 10%, #000014, transparent),
        radial-gradient(circle at 80% 50%, #1e143c, transparent),
        radial-gradient(40em 40em at 20% 80%, #00003c, transparent),
        radial-gradient(circle at 10% 10%, #000050, transparent); */
}

.site-topbar, .site-footer {
    background-color: #000028;
    background-image: radial-gradient(circle at 80% 10%, #000014, transparent), radial-gradient(circle at 80% 50%, #1e143c, transparent), radial-gradient(40em 40em at 20% 80%, #00003c, transparent), radial-gradient(circle at 10% 10%, #000050, transparent);
}

.site-topbar__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.site-brand {
    display: flex;
    align-items: center;
    gap: 1rem;
    color: #fff;
    text-decoration: none;
}

.site-brand:hover {
    color: #fff;
}

.site-brand__logo {
    flex: 0 0 auto;
    /* width: 4rem; */
    /* height: 4rem; */
}

.logo_text {
    font-size: 3.2em;
    text-transform: uppercase;
    font-weight: bold;
}

.site-brand__title {
    font-size: 0.9rem;
    font-weight: 400;
    line-height: 1.5;
    display: block;
    text-align: right;
}

@media (max-width: 575.98px) {
    .result_title{display:flex;
        flex-wrap:wrap;
    }
    .site-brand__logo {
        width: 2.75rem;
        height: 2.75rem;
    }

    .site-brand__title {
        font-size: .875rem;
    }

    .site-brand__title br {
        display: none;
    }
}

/*--------------------------------------------------------------
# Главное меню
--------------------------------------------------------------*/
.site-nav {
    background: var(--site-nav-bg);
    color: #fff;
}

.site-nav__list {
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
    overflow-x: auto;
    scrollbar-width: none;
}

.site-nav__list::-webkit-scrollbar {
    display: none;
}

.site-nav__end {
    margin-left: auto;
}

.site-nav__link {
    display: flex;
    align-items: center;
    gap: .5rem;
    height: 100%;
    padding: 1rem;
    font-size: 1rem;
    line-height: 1.3;
    color: #fff;
    white-space: nowrap;
    text-decoration: none;
    background: transparent;
    border: 0;
    transition: background-color .2s;
}

.site-nav__link:hover,
.site-nav__link:focus-visible {
    color: #fff;
    background-color: rgba(255, 255, 255, .06);
}

.site-nav__link.active {
    background-color: rgba(255, 255, 255, .1);
}

.site-nav__link .bi {
    font-size: 1.125rem;
    line-height: 1;
}

/*--------------------------------------------------------------
# Хлебные крошки
--------------------------------------------------------------*/
.site-breadcrumbs {
    background: var(--site-crumbs-bg);
}

.site-breadcrumbs__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1rem;
    padding-bottom: 1rem;
}

.site-breadcrumbs .breadcrumb {
    margin: 0;
    font-family: var(--site-font);
    font-size: 1rem;
    font-weight: 400;
    color: var(--site-text);
    --bs-breadcrumb-item-padding-x: .75rem;
}

.site-breadcrumbs .breadcrumb a {
    color: inherit;
    text-decoration: none;
}

.site-breadcrumbs .breadcrumb a:hover {
    color: var(--site-primary);
}

.site-breadcrumbs .breadcrumb .active {
    color: var(--site-text);
    font-weight: 400;
}

.site-breadcrumbs .breadcrumb-item + .breadcrumb-item::before {
    content: "\f285";
    font-family: "bootstrap-icons";
    font-size: .75rem;
    line-height: 2;
    color: var(--site-text);
}

.site-share {
    display: flex;
    flex: 0 0 auto;
    gap: .25rem;
}

.site-share__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    padding: 0;
    font-size: 1rem;
    color: #fff;
    border: 0;
    border-radius: 50%;
    transition: opacity .2s;
}

.site-share__btn:hover {
    opacity: .85;
}

.site-share__btn--link {
    background: var(--site-primary);
}

.site-share__btn--print {
    background: #8f9daa;
}

/*--------------------------------------------------------------
# Подвал
--------------------------------------------------------------*/
.site-footer {
    color: #fff;
    background: var(--site-footer-bg);
}

.site-footer__top {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(168, 181, 193, .6);
}

.site-footer__title {
    margin: 0 0 1rem;
    font-family: var(--site-font);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
}

.site-footer__text {
    margin: 0;
    color: rgba(255, 255, 255, .7);
}

.site-footer__menu {
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__menu li {
    position: relative;
    padding-left: 1.5rem;
}

.site-footer__menu li::before {
    content: "\f285";
    position: absolute;
    left: 0;
    font-family: "bootstrap-icons";
    font-size: .75rem;
    line-height: 2;
    color: rgba(255, 255, 255, .7);
}

.site-footer a {
    color: #fff;
    text-decoration: none;
}

.site-footer a:hover {
    color: #fff;
    text-decoration: underline dashed rgba(255, 255, 255, .6);
    text-underline-offset: .25em;
}

.site-footer__bottom {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

/*--------------------------------------------------------------
# Кнопки
--------------------------------------------------------------*/
.btn {
    --bs-btn-padding-x: 1.2em;
    --bs-btn-padding-y: .5em;
    --bs-btn-font-family: var(--site-font);
    --bs-btn-font-size: 1rem;
    --bs-btn-font-weight: 400;
    --bs-btn-line-height: 1.25;
    --bs-btn-border-radius: .25rem;
}

.btn-sm {
    --bs-btn-padding-y: .25rem;
    --bs-btn-padding-x: .5rem;
    --bs-btn-font-size: .875rem;
    --bs-btn-border-radius: .2rem;
}

.btn-lg {
    --bs-btn-padding-y: .5rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 1.25rem;
    --bs-btn-border-radius: .3rem;
}

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--site-primary);
    --bs-btn-border-color: var(--site-primary-border);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--site-primary-hover);
    --bs-btn-hover-border-color: var(--site-primary-hover-border);
    --bs-btn-focus-shadow-rgb: var(--site-primary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--site-primary-hover);
    --bs-btn-active-border-color: var(--site-primary-hover-border);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--site-primary-disabled);
    --bs-btn-disabled-border-color: var(--site-primary-disabled);
}

.btn-outline-primary {
    --bs-btn-color: var(--site-primary);
    --bs-btn-border-color: var(--site-primary);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--site-primary);
    --bs-btn-hover-border-color: var(--site-primary);
    --bs-btn-focus-shadow-rgb: var(--site-primary-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--site-primary-hover);
    --bs-btn-active-border-color: var(--site-primary-hover-border);
    --bs-btn-disabled-color: var(--site-primary);
    --bs-btn-disabled-border-color: var(--site-primary);
}

/* Розовая кнопка-акцент («Проверить сайт» в шапке) */
.btn-accent {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--site-accent);
    --bs-btn-border-color: var(--site-accent-border);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--site-accent-hover);
    --bs-btn-hover-border-color: var(--site-accent-hover-border);
    --bs-btn-focus-shadow-rgb: var(--site-accent-rgb);
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--site-accent-hover);
    --bs-btn-active-border-color: var(--site-accent-hover-border);
}

/*--------------------------------------------------------------
# Формы
--------------------------------------------------------------*/
.form-label {
    margin-bottom: .5rem;
    font-weight: 400;
    color: var(--site-text);
}

.form-legend {
    margin-bottom: .5rem;
    font-size: 1rem;
    color: var(--site-text);
}

.form-control,
.form-select {
    min-height: calc(1.5em + .75rem + 2px);
    padding: .375rem .75rem;
    font-size: 1rem;
    color: #495057;
    background-color: #fff;
    border: 1px solid var(--site-input-border);
    border-radius: .125rem;
}

.form-select {
    padding-right: 2.25rem;
}

.form-control::placeholder {
    color: rgba(27, 31, 44, .5);
}

.form-control:focus,
.form-select:focus {
    color: #495057;
    border-color: var(--site-input-border);
    outline: 0;
    box-shadow: 0 0 0 2px var(--site-primary);
}

.form-check-label {
    display: inline-flex;
    align-items: flex-start;
    gap: .5rem;
    cursor: pointer;
}

.form-check-input {
    flex: 0 0 auto;
    border-color: rgba(0, 0, 0, .25);
}

/* отмеченные галочки — зелёные */
.form-check-input:checked {
    background-color: var(--site-success);
    border-color: var(--site-success);
}

/* иконки-галочки в отчётах — зелёные (в кнопках и бейджах — цвет кнопки) */
[class^="bi-check"], [class*=" bi-check"] {
    color: var(--site-success);
}
.btn [class*="bi-check"], .badge [class*="bi-check"] {
    color: inherit;
}

.form-check-input:focus {
    border-color: var(--site-primary);
    box-shadow: 0 0 0 .2rem rgba(var(--site-primary-rgb), .25);
}

/*--------------------------------------------------------------
# Карточки, таблицы, сообщения
--------------------------------------------------------------*/
.card {
    --bs-card-bg: #fff;
    --bs-card-border-color: var(--site-border);
    --bs-card-border-radius: .25rem;
    --bs-card-inner-border-radius: calc(.25rem - 1px);
    margin-bottom: 1.5rem;
    background: #fff;
    border: 1px solid var(--site-border);
    border-radius: .25rem;
    box-shadow: 0 1px 2px rgba(27, 31, 44, .04);
}

.card-body {
    padding: 1.5rem;
}

.card-header {
    padding: 1rem 1.5rem;
    font-family: var(--site-font-title);
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--site-text);
    background: #fff;
    border-bottom: 1px solid var(--site-border);
}

.card-title {
    margin: 0 0 1rem;
    padding: 0;
    font-family: var(--site-font-title);
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--site-text);
}

.table {
    --bs-table-color: var(--site-text);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--site-border);
    --bs-table-striped-bg: rgba(27, 31, 44, .025);
    --bs-table-hover-bg: rgba(var(--site-primary-rgb), .05);
}

.table > thead {
    --bs-table-bg: var(--site-crumbs-bg);
    vertical-align: bottom;
}

.table > thead th,
.table > thead td {
    font-weight: 500;
}

.alert {
    border-radius: .25rem;
}

.alert-info {
    --bs-alert-color: #052c65;
    --bs-alert-bg: #e7f1ff;
    --bs-alert-border-color: #cfe2ff;
    --bs-alert-link-color: #052c65;
}

.pagination {
    --bs-pagination-color: var(--site-primary);
    --bs-pagination-hover-color: var(--site-primary-hover);
    --bs-pagination-focus-color: var(--site-primary-hover);
    --bs-pagination-focus-box-shadow: 0 0 0 .2rem rgba(var(--site-primary-rgb), .25);
    --bs-pagination-active-bg: var(--site-primary);
    --bs-pagination-active-border-color: var(--site-primary);
    --bs-pagination-border-radius: .25rem;
}

/* Кнопка «Наверх» */
.back-to-top {
    right: 1.5rem;
    bottom: 1.5rem;
    width: 3rem;
    height: 3rem;
    background: var(--site-accent);
    border-radius: 50%;
    box-shadow: 0 4px 12px rgba(var(--site-accent-rgb), .35);
}

.back-to-top:hover {
    background: var(--site-accent-hover);
}

.back-to-top i {
    font-size: 1.25rem;
}

.back-link {
    color: var(--site-text);
    text-decoration: underline dashed rgba(21, 25, 30, .3);
    text-underline-offset: .25em;
}

.back-link:hover {
    color: var(--site-text-strong);
}

/*--------------------------------------------------------------
# Страница проверки
--------------------------------------------------------------*/
.page-lead {
    margin-bottom: 1.5rem;
}

/* Форма проверки на главной — белая карточка в рамке, чтобы выделить на общем фоне (отступы не меньше 30px) */
.check-form-box {
    margin-bottom: 2.5rem;
    padding: 30px;
    background: #fff;
    border: 1px solid var(--site-border);
    border-radius: .5rem;
    box-shadow: 0 2px 12px rgba(var(--site-primary-rgb), .06);
}

.check-form-box__group {
    margin-bottom: .5rem;
    font-weight: 600;
    color: var(--site-text-strong);
}

/* Главная под формой: последние проверки и рейтинг, без белого фона */
.home-lists__title {
    margin-bottom: .75rem;
    font-size: 1.125rem;
    font-weight: 600;
}

.home-lists__row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: .5rem;
    padding: .375rem 0;
    border-bottom: 1px solid var(--site-border);
}

.result-url {
    margin: -1rem 0 1.5rem;
    font-size: 1.125rem;
    color: var(--site-text-muted);
    word-break: break-all;
}

.result-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.result-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1.5rem;
    color: var(--site-text-muted);
}

.result-meta .bi {
    margin-right: .25rem;
}

.result_title {
    display: flex;
    align-items: center;
    gap: .75rem;
    margin-bottom: 1.25rem;
    font-size: 1.5rem;
}

.result-status {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.25rem;
    border-radius: 50%;
}

.result-card section h3 {
    font-size: 1.25rem;
}

.result-card section h4 {
    font-size: 1.125rem;
}

.result-card section h5 {
    font-size: 1rem;
}

.result-card u[onclick] {
    cursor: pointer;
}

/* Сводка в начале отчёта: слева строки итога и риск штрафа, справа кольцо общего процента с легендой.
   Без белой карточки, большой отступ снизу — отделяет от подробных блоков */
.check-summary {
    margin-top: 1.5rem;
    margin-bottom: 3rem;
}

/* было: .check-summary__body { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem 2.5rem; }
   теперь это bootstrap .row g-4 */
.check-summary__body {
    align-items: center;
}

.check-summary__chart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.5rem 2rem;
}

.check-summary__chart--success { --ring-color: var(--site-success); }
.check-summary__chart--warning { --ring-color: var(--site-warning); }
.check-summary__chart--danger  { --ring-color: var(--site-danger); }

.check-summary__legend {
    flex: 1 1 14rem;
}

/* в легенде сводки нет колонки «кол-во страниц» */
.check-summary__legend .sveden-chart__item {
    grid-template-columns: 1.25rem 1fr auto;
}

/* соответствует — всегда зелёный, не соответствует — красный (цвет по общему проценту путал: 90% было жёлтым).
   было: .check-summary__legend-ok { color: var(--ring-color, ...) }, .check-summary__legend-rest { color: var(--site-border) } */
.check-summary__legend-ok   { color: var(--site-success); }
.check-summary__legend-rest { color: var(--site-danger); }

/* Риск штрафа: отдельным блоком, крупнее — главное, что должен увидеть пользователь */
.check-summary__risk {
    margin-top: 1.75rem;
    padding: 1rem 1.25rem;
    background: #fff;
    border: 1px solid var(--site-border);
    border-left: 4px solid var(--site-text-muted);
    border-radius: .25rem;
}

.check-summary__risk--success { border-left-color: var(--site-success); }
.check-summary__risk--warning { border-left-color: var(--site-warning); }
.check-summary__risk--danger  { border-left-color: var(--site-danger); }

.check-summary__risk-head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: .25rem .75rem;
    font-size: 1.375rem;
    font-weight: 600;
}

.check-summary__risk .check-summary__risk-details {
    margin-top: .5rem;
    font-size: 1rem;
}

.check-summary__ring {
    --ring-color: var(--site-text-muted);
    position: relative;
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 9rem;
    height: 9rem;
    border-radius: 50%;
    /* было: conic-gradient(var(--ring-color) ..., var(--site-border) 0) — цвет по тону, остаток серый */
    background: conic-gradient(var(--site-success) calc(var(--p) * 1%), var(--site-danger) 0);
}

.check-summary__ring::before {
    content: "";
    position: absolute;
    inset: .9rem;
    border-radius: 50%;
    /* было: #fff — сводка теперь на фоне страницы, а не в белой карточке */
    background: var(--site-page-bg);
}

.check-summary__ring--success { --ring-color: var(--site-success); }
.check-summary__ring--warning { --ring-color: var(--site-warning); }
.check-summary__ring--danger  { --ring-color: var(--site-danger); }

.check-summary__percent {
    position: relative;
    font-family: var(--site-font-title);
    font-size: 1.75rem;
    font-weight: 600;
}

.check-summary__rows {
    flex: 1 1 18rem;
    min-width: 0;
}

.check-summary__group {
    margin: 1rem 0 .25rem;
    font-weight: 600;
}

.check-summary__group:first-child {
    margin-top: 0;
}

.check-summary__row {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 1rem;
    padding: .25rem 0;
    border-bottom: 1px solid var(--site-border);
}

.check-summary__row:last-child {
    border-bottom: 0;
}

.check-summary__value {
    font-weight: 600;
    color: var(--site-text-muted);
}

/* Риск штрафа: причины переносятся на всю ширину строки */
.check-summary__risk-details {
    flex: 0 0 100%;
    margin-top: .25rem;
}

.check-summary__risk-details ul {
    padding-left: 1.2rem;
}

.check-summary__value--success { color: var(--site-success); }
.check-summary__value--warning { color: var(--site-warning-text); }
.check-summary__value--danger  { color: var(--site-danger); }

@media (max-width: 575.98px) {
    .logo_text {
        font-size: 2.0em;
    }
    /* было: круг над строками через flex-direction: column — теперь колонки bootstrap сами встают друг под друга */
    .check-summary__ring {
        align-self: center;
    }

    .check-summary__risk-head {
        font-size: 1.2rem;
    }

    /* заголовки карточек отчёта на телефоне в 3 строки — чуть мельче */
    .result_title {
        font-size: 1.25rem;
    }
}

/* Модалки (components/modal): было инлайном style="max-width: 95vw" */
.site-modal .modal-dialog {
    max-width: 95vw;
}

/* кнопка «Наверх» перекрывала «Закрыть» в модалке на мобиле */
body.modal-open .back-to-top {
    visibility: hidden;
}

@media (max-width: 575.98px) {
    /* на мобиле отступ от краёв экрана, чтобы можно было тапнуть мимо окна; плюс кнопка «Закрыть» внизу */
    .site-modal .modal-dialog {
        max-width: none;
        margin: 1rem;
    }
}

/* Круговая диаграмма заполненности «Сведения об ОО» */
.sveden-chart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1.5rem 2.5rem;
    margin: .5rem 0 1rem;
}

.sveden-chart__plot {
    position: relative;
    flex: 0 0 auto;
    width: 13rem;
    height: 13rem;
}

.sveden-chart__svg {
    display: block;
    width: 100%;
    height: 100%;
    overflow: visible;
}

.sveden-chart__segment path {
    stroke: #fff;
    stroke-width: 2px;
    stroke-linejoin: round;
}

.sveden-chart__segment--whole path {
    stroke: none;
}

.sveden-chart__segment {
    cursor: pointer;
    transition: transform .2s ease, opacity .2s ease;
}

.sveden-chart.is-active .sveden-chart__segment {
    opacity: .35;
}

.sveden-chart.is-active .sveden-chart__segment.is-current {
    opacity: 1;
    transform: translate(var(--dx), var(--dy));
}

.sveden-chart__center {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 3rem;
    text-align: center;
    pointer-events: none;
}

.sveden-chart__value {
    font-family: var(--site-font-title);
    font-size: 2rem;
    font-weight: 600;
    line-height: 1.1;
}

.sveden-chart__caption {
    font-size: .8125rem;
    line-height: 1.2;
    color: var(--site-text-muted);
}

.sveden-chart__legend {
    flex: 1 1 18rem;
    max-width: 26rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.sveden-chart__item {
    display: grid;
    grid-template-columns: 1.25rem 1fr auto 4.5rem;
    align-items: center;
    gap: .75rem;
    padding: .5rem .75rem;
    border-radius: .25rem;
    cursor: default;
    transition: background-color .2s ease;
}

.sveden-chart__item + .sveden-chart__item {
    border-top: 1px solid var(--site-border);
}

.sveden-chart__item.is-current,
.sveden-chart__item:focus-visible {
    background-color: var(--site-crumbs-bg);
    outline: 0;
}

.sveden-chart__percent {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.sveden-chart__count {
    font-size: .875rem;
    color: var(--site-text-muted);
    text-align: right;
    font-variant-numeric: tabular-nums;
}

.sveden-chart__note {
    max-width: 52rem;
    margin-bottom: 1.5rem;
    font-size: .875rem;
    color: var(--site-text-muted);
}

@media (prefers-reduced-motion: reduce) {
    .sveden-chart__segment,
    .sveden-chart__item {
        transition: none;
    }
}

/* Ожидание результата: лупа «сканирует» страницу (inline SVG в _result_not_comleted) */
.check-wait {
    display: flex;
    align-items: center;
    gap: 2rem;
    max-width: 640px;
    margin: 2rem auto;
    padding: 2rem;
    background: #fff;
    border: 1px solid var(--site-border);
    border-radius: .5rem;
    box-shadow: 0 2px 12px rgba(var(--site-primary-rgb), .08);
}

.check-wait__image {
    flex: 0 0 140px;
    width: 140px;
    height: 140px;
}

.check-wait__page {
    fill: var(--site-page-bg);
    stroke: var(--site-border);
    stroke-width: 2;
}

.check-wait__line {
    fill: var(--site-primary);
    fill-opacity: .15;
    animation: check-wait-line 3.6s ease-in-out infinite;
}

.check-wait__scan {
    transform: translate(62px, 50px);
    animation: check-wait-scan 3.6s ease-in-out infinite;
}

.check-wait__lens {
    fill: rgba(var(--site-primary-rgb), .08);
    stroke: var(--site-primary);
    stroke-width: 4;
}

.check-wait__handle {
    stroke: var(--site-primary);
    stroke-width: 6;
    stroke-linecap: round;
}

.check-wait__title {
    margin-bottom: .5rem;
    font-family: var(--site-font-title);
    font-size: 1.375rem;
    font-weight: 600;
    color: var(--site-text-strong);
}

.check-wait__position {
    margin-bottom: .5rem;
    font-weight: 600;
    color: var(--site-primary);
}

.check-wait__text {
    margin-bottom: .5rem;
    color: var(--site-text-muted);
}

.check-wait__btn {
    margin-top: .5rem;
}

/* автообновление остановлено — анимацию тоже ставим на паузу */
.check-wait--stopped .check-wait__line,
.check-wait--stopped .check-wait__scan {
    animation-play-state: paused;
}

.check-wait--stopped .check-wait__state {
    color: var(--site-text);
}

@keyframes check-wait-scan {
    0%, 100% {
        transform: translate(44px, 30px);
    }

    25% {
        transform: translate(72px, 44px);
    }

    50% {
        transform: translate(44px, 64px);
    }

    75% {
        transform: translate(72px, 84px);
    }
}

@keyframes check-wait-line {
    0%, 30%, 100% {
        fill-opacity: .15;
    }

    12% {
        fill-opacity: .6;
    }
}

@media (max-width: 575.98px) {
    .check-wait {
        flex-direction: column;
        gap: 1rem;
        margin: 1rem 0;
        padding: 1.5rem 1rem;
        text-align: center;
    }

    .check-wait__image {
        flex-basis: auto;
        width: 110px;
        height: 110px;
    }

    .check-wait__btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .check-wait__line,
    .check-wait__scan {
        animation: none;
    }
}

/*--------------------------------------------------------------
# Печать
--------------------------------------------------------------*/
@media print {
    body {
        background: #fff;
    }

    .card {
        box-shadow: none;
        break-inside: avoid;
    }
}
