/* Shared presentation layer. Keep routes, forms and server-rendered content intact. */
body.gov-portal {
    --gov-green: #174b3b;
    --gov-green-deep: #10392d;
    --gov-action: #21664c;
    --gov-action-hover: #164c38;
    --gov-gold: #baa46d;
    --gov-ink: #23362e;
    --gov-muted: #596b62;
    --gov-line: #d8e1da;
    --gov-paper: #ffffff;
    --gov-ground: #f4f5f6;
    --gov-soft: #eaf2ec;
    --gov-field-focus-border: #6f8d7b;
    --gov-field-focus-ring: #21664c14;
    --gov-control-focus: #21664c;
    --gov-control-focus-on-dark: #d4e7d9;
    --gov-radius: 8px;
    background: var(--gov-ground);
    color: var(--gov-ink);
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    accent-color: var(--gov-action);
    caret-color: var(--gov-action);
    scrollbar-color: #879c8d var(--gov-ground);
}

.gov-portal ::selection { background: #d4e7d9; color: #10392d; }
.gov-portal h1, .gov-portal h2, .gov-portal h3,
.gov-portal h4, .gov-portal h5, .gov-portal h6,
.gov-portal .h1, .gov-portal .h2, .gov-portal .h3,
.gov-portal .h4, .gov-portal .h5, .gov-portal .h6 {
    color: var(--gov-ink);
    font-family: inherit;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.gov-portal h1 { font-size: clamp(1.65rem, 2.7vw, 2.35rem); letter-spacing: -.025em; }
.gov-portal h2, .gov-portal .h2 { font-size: clamp(1.3rem, 2vw, 1.65rem); }
.gov-portal h3, .gov-portal .h3 { font-size: 1.25rem; }
.gov-portal h4, .gov-portal .h4 { font-size: 1.1rem; }
.gov-portal a { color: var(--gov-action); text-underline-offset: .2em; }
/* Класс старой темы усиливает a:hover и a.link:hover. Учитываем его здесь,
   чтобы текстовые ссылки не возвращались к яркому бирюзовому цвету. */
.gov-portal a:hover,
.gov-portal.oceangreen-skin a:hover,
.gov-portal.oceangreen-skin a:focus,
.gov-portal.oceangreen-skin a.link:hover,
.gov-portal.oceangreen-skin a.link:focus {
    color: var(--gov-green-deep);
}
.gov-portal .text-muted { color: var(--gov-muted) !important; }
.gov-portal .text-lightgreen, .gov-portal .text-success,
.gov-portal .kt-link, .gov-portal .kt-font-success { color: var(--gov-action) !important; }
/* В app.css у этих ссылок старый hover помечен !important: обычного a:hover недостаточно. */
.gov-portal a.text-lightgreen:hover,
.gov-portal a.text-lightgreen:focus,
.gov-portal .kt-link:hover,
.gov-portal .kt-link:focus {
    color: var(--gov-green-deep) !important;
}

.gov-portal .nav-link-lightgreen {
    background-color: var(--gov-soft) !important;
    border-color: var(--gov-line) !important;
    color: var(--gov-action) !important;
}

.gov-portal .nav-link-lightgreen:hover,
.gov-portal .nav-link-lightgreen:focus {
    background-color: var(--gov-action) !important;
    border-color: var(--gov-action) !important;
    color: var(--gov-paper) !important;
}
.gov-portal .text-primary { color: var(--gov-green) !important; }
.gov-portal .bg-lightgreen { background-color: var(--gov-action) !important; }
.gov-portal .bg-light, .gov-portal .gray, .gov-portal .gray-simple { background-color: var(--gov-ground) !important; }
.gov-portal img { max-width: 100%; }
.gov-portal .row > * { min-width: 0; }
/* Контур предназначен для управляющих элементов, а не для контейнеров,
   которым Bootstrap/Swal передают программный фокус при открытии окна. */
.gov-portal :where(a[href], button, input, select, textarea, summary,
    [role="button"], [role="tab"], [role="checkbox"], [role="radio"],
    [role="switch"], [role="combobox"], [contenteditable="true"],
    [tabindex]:not([tabindex^="-"])):focus-visible {
    outline: 2px solid var(--gov-control-focus) !important;
    outline-offset: 2px;
}

/* Старая тема отдельно сбрасывает outline у кнопок SweetAlert. */
.gov-portal .swal2-popup button:focus-visible {
    outline: 2px solid var(--gov-control-focus) !important;
    outline-offset: 2px;
}

/* На зелёной навигации светлый контур сохраняет видимость фокуса. */
.gov-portal :is(.header, .dark-footer) {
    --gov-control-focus: var(--gov-control-focus-on-dark);
}

/* Identity and navigation: retain the original links and menu plugin. */
.gov-portal .header {
    background: var(--gov-green) !important;
    border-bottom: 3px solid var(--gov-gold);
    box-shadow: none !important;
}
.gov-portal .header .navigation {
    min-height: 88px;
    height: auto;
    align-items: center;
    background: transparent;
}
.gov-portal .header .navigation > .text-black { color: #fff !important; flex-shrink: 0; }
.gov-portal .header .no-hover { color: #fff; }
.gov-portal .header .title-letter {
    background: transparent !important;
    border: 1px solid var(--gov-gold);
    border-radius: 5px;
    color: #f2e7c9 !important;
    width: 31px;
    height: 34px;
    line-height: 31px;
    font-size: 24px;
    margin-right: 2px !important;
}
.gov-portal .header .font-11 { color: #d5e3da; font-size: 11px !important; margin-top: 3px !important; }
.gov-portal .header .nav-menu > li > a {
    color: #f3f7f4 !important;
    padding: 30px 13px;
    font-size: 14px;
    font-weight: 400;
}
.gov-portal .header .nav-menu > li > a:hover,
.gov-portal .header .nav-menu > li.active > a,
.gov-portal .header .nav-menu > li > a.active { color: #f0dba6 !important; }
.gov-portal .header .nav-menu > .add-listing > a {
    padding: 11px 17px;
    background: #fff;
    color: var(--gov-green-deep) !important;
    border: 1px solid #fff;
    border-radius: 5px;
}
.gov-portal .header .nav-menu > .add-listing > a:hover { background: #edf3ee; }
.gov-portal .header .nav-menu > .add-listing { background: transparent !important; }
.gov-portal .header .nav-toggle::before { background-color: #fff; box-shadow: 0 .5em 0 #fff, 0 1em 0 #fff; }

/* Existing page titles and breadcrumbs keep their content and semantics. */
.gov-portal .page-title {
    background: #e9f0e9 !important;
    border-bottom: 1px solid var(--gov-line);
    padding-top: 32px !important;
    padding-bottom: 32px !important;
}
.gov-portal .page-title .ipt-title { color: var(--gov-green-deep); font-size: clamp(1.65rem, 2.7vw, 2.35rem); margin-bottom: 12px; }
.gov-portal .page-title .text-light { display: block; max-width: 86ch; color: #405b4b !important; font-size: 14px; line-height: 1.65; }
.gov-portal [itemtype$='BreadcrumbList'] { line-height: 1.8; overflow-wrap: anywhere; }

/* Shared controls, including authentication, report orders and admin forms. */
.gov-portal .btn {
    border-radius: 5px !important;
    min-height: 44px;
    padding: 10px 18px;
    font: inherit;
    line-height: 1.4;
    box-shadow: none !important;
    white-space: normal;
    transition: background-color .15s ease, border-color .15s ease;
}

/* Обычное начертание Golos Text не требует синтетического утолщения.
   Приоритет перекрывает btn-bold и стили Swal; вложенные иконки сохраняют свой шрифт. */
.gov-portal :is(button, .btn, .more-btn, .gov-account-pay, [role="button"],
    input[type="button"], input[type="submit"], input[type="reset"]) {
    font-weight: 400 !important;
    text-shadow: none;
}

.gov-portal .btn-info, .gov-portal .btn-primary, .gov-portal .btn-success,
.gov-portal .btn-theme, .gov-portal .btn-theme-light-2, .gov-portal .btn-lightgreen {
    background: var(--gov-action) !important;
    border: 1px solid var(--gov-action) !important;
    color: #fff !important;
}
.gov-portal .btn-info:hover, .gov-portal .btn-primary:hover,
.gov-portal .btn-success:hover, .gov-portal .btn-theme:hover,
.gov-portal .btn-theme-light-2:hover, .gov-portal .btn-lightgreen:hover {
    background: var(--gov-action-hover) !important;
    border-color: var(--gov-action-hover) !important;
}
.gov-portal .btn-secondary, .gov-portal .btn-success-light {
    background: var(--gov-soft) !important;
    border: 1px solid var(--gov-line) !important;
    color: var(--gov-green) !important;
}
.gov-portal .btn:disabled, .gov-portal .btn.disabled { opacity: .55; cursor: not-allowed; }
.gov-portal .form-control, .gov-portal .form-select,
.gov-portal .select2-container--default .select2-selection--single,
.gov-portal .select2-container--default .select2-selection--multiple {
    border: 1px solid #b8c7bc;
    border-radius: 5px;
    background: var(--gov-paper);
    color: var(--gov-ink);
    font-family: inherit;
    font-size: 15px;
    min-height: 44px;
    box-shadow: none;
}
.gov-portal .form-control { padding: 10px 13px; height: auto; }
.gov-portal .input-with-icon .form-control { padding-left: 40px; background: var(--gov-paper) !important; border: 1px solid #b8c7bc !important; }
.gov-portal .input-with-icon .input-with-clearbutton { padding-right: 42px; }
.gov-portal .form-control::placeholder { color: #66766d; opacity: 1; }
/* Для редактируемого поля достаточно одной границы с мягкой подсветкой.
   Включаем встроенные поля Swal и простые поля старых форм: второй outline
   не должен накладываться на их штатный box-shadow. Ошибки сохраняют красный. */
.gov-portal :is(.form-control, .form-select, .select2-search__field,
    .swal2-input, .swal2-textarea, .swal2-select, textarea, select,
    input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"],
        [type="file"], [type="button"], [type="submit"], [type="reset"],
        [type="hidden"], [type="image"])):focus,
.gov-portal .select2-container--focus .select2-selection--single {
    outline: none !important;
    border-color: var(--gov-field-focus-border) !important;
    box-shadow: 0 0 0 2px var(--gov-field-focus-ring) !important;
}

/* Старый виджет задаёт рамку через !important даже после фокусировки. */
.gov-portal .input-with-icon .form-control:focus:not(.is-invalid) {
    border-color: var(--gov-field-focus-border) !important;
}
.gov-portal .form-control.is-invalid { border-color: #b94135; }
.gov-portal :is(.form-control.is-invalid, .swal2-input.swal2-inputerror):focus {
    border-color: #b94135 !important;
    box-shadow: 0 0 0 2px #f8e7e5 !important;
}
.gov-portal label { color: var(--gov-ink); }
.gov-portal .select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--gov-ink); line-height: 42px; padding-left: 12px; padding-right: 30px; }
.gov-portal .select2-container--default .select2-selection--single .select2-selection__arrow { height: 42px; }
.gov-portal .select2-dropdown { border-color: #b8c7bc; border-radius: 5px; color: var(--gov-ink); }
.gov-portal .select2-container--default .select2-results__option--highlighted[aria-selected] { background-color: var(--gov-action); color: #fff; }
.gov-portal .checkbox-custom + .checkbox-custom-label::before,
.gov-portal .radio-custom + .radio-custom-label::before { border-color: #95a89a; }
.gov-portal .checkbox-custom:checked + .checkbox-custom-label::before,
.gov-portal .radio-custom:checked + .radio-custom-label::before { background-color: var(--gov-action); border-color: var(--gov-action); }
.gov-portal .checkbox-custom:focus-visible + label,
.gov-portal .radio-custom:focus-visible + label { outline: 2px solid var(--gov-control-focus); outline-offset: 2px; }

/* Search: the existing 4/8 columns, field order and mobile drawer are preserved. */
.gov-portal .b-deep-search > section { padding-top: 28px !important; }
.gov-portal .b-deep-search .simple-sidebar {
    padding: 22px;
    background: var(--gov-paper) !important;
    border: 1px solid var(--gov-line);
    border-radius: var(--gov-radius);
    box-shadow: none;
}
.gov-portal .b-deep-search .sidebar-widgets { padding: 0; }
.gov-portal .b-deep-search .sticky-top-deepsearch { top: 24px; }
.gov-portal .b-deep-search .filter-search-box .form-group { margin-bottom: 9px; }
.gov-portal .b-deep-search .single_search_boxed { border-bottom: 1px solid var(--gov-line); margin-bottom: 0; padding: 15px 0; }
.gov-portal .b-deep-search .single_search_boxed:last-child { border-bottom: 0; }
.gov-portal .b-deep-search .widget-boxed-header { border: 0; padding: 0; }
.gov-portal .b-deep-search .widget-boxed-header .widget-inner > a {
    display: block;
    padding: 0 32px 0 0;
    color: var(--gov-green-deep) !important;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .035em;
    line-height: 1.5;
}
.gov-portal .b-deep-search .widget-inner > a .selected { display: block; margin-top: 4px; color: var(--gov-muted); font-size: 14px; font-weight: 400; letter-spacing: 0; }
.gov-portal .b-deep-search .widget-inner > a::before { background: var(--gov-soft); color: var(--gov-action); border-radius: 4px; }
.gov-portal .gov-search .brmultiselect { cursor: pointer; }
.gov-portal .gov-search .brmultiselect .selectedcount { overflow-wrap: anywhere; }
.gov-portal .b-deep-search .widget-boxed-body { padding-top: 14px; }
.gov-portal .b-deep-search .filter_button { margin-top: 14px; margin-bottom: 0; }
.gov-portal .b-deep-search .filter_button .btn { min-height: 48px; letter-spacing: .03em; }
.gov-portal .b-deep-search .item-shorting-box {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    background: transparent;
    padding: 0 0 18px;
    margin: 0;
    box-shadow: none;
}
.gov-portal .b-deep-search .item-shorting { color: var(--gov-muted); font-size: 13px; }
.gov-portal .b-deep-search .item-shorting-box-right { display: flex; align-items: center; gap: 8px; max-width: 100%; margin-left: auto; }
.gov-portal .b-deep-search .shorting-by { min-width: 0; }
/* Select2 и обычный select занимают ту же высоту, что и сохранение поиска.
   Существующие select, его значения и обработчик onchange не меняются. */
.gov-portal .b-deep-search .shorting-by {
    margin-right: 0;
}

.gov-portal .b-deep-search .shorting-by .form-control,
.gov-portal .b-deep-search .shorting-by .select2-selection--single {
    height: 44px;
    min-height: 44px;
    border-radius: 5px;
}

.gov-portal .b-deep-search .shorting-by .select2-container {
    width: 100% !important;
    min-width: 0;
}

.gov-portal .b-deep-search .shorting-by .select2-selection--single {
    padding: 0;
}

.gov-portal .b-deep-search .shorting-by .select2-selection__rendered {
    line-height: 42px;
}

.gov-portal .b-deep-search .shorting-by .select2-selection__arrow {
    top: 1px;
    height: 42px;
}

/* Центрируем сам треугольник, убирая отступ из старой темы Select2.
   Смещение на половину его высоты работает и при раскрытии списка. */
.gov-portal .b-deep-search .shorting-by .select2-selection__arrow b {
    top: 50%;
    margin-top: 0;
    transform: translateY(-50%);
}
.gov-portal .b-deep-search .shorting-list { margin: 0; padding: 0; }
.gov-portal .b-deep-search .shorting-list li a { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--gov-line); border-radius: 5px; background: #fff; color: var(--gov-action); }
.gov-portal .b-deep-search .shorting-list li { margin: 0; }
.gov-portal .property-listing, .gov-portal .property-listing.property-1 {
    background: var(--gov-paper);
    border: 1px solid var(--gov-line);
    border-radius: var(--gov-radius);
    box-shadow: none;
    margin-bottom: 16px;
    overflow: hidden;
}
.gov-portal .property-listing .listing-content { padding: 0; }
/* DemiBold подключён отдельным семейством с весом 400: используем настоящий
   рисунок букв вместо синтетического утолщения обычного файла Golos Text. */
.gov-portal .property-listing .h5 {
    margin-bottom: 14px;
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 17px;
    font-weight: 400;
    font-synthesis: none;
    line-height: 1.45;
    text-shadow: none;
}

.gov-portal .property-listing .h5 a {
    color: var(--gov-ink);
    font-family: inherit;
    font-weight: inherit;
    text-decoration: none;
    transition: color .15s ease;
}

.gov-portal .property-listing .h5 a:hover,
.gov-portal .property-listing .h5 a:focus-visible {
    color: var(--gov-action);
    text-decoration: none;
}
.gov-portal .property-listing .listing-content > .d-md-flex > .p-2 { padding: 16px 0 16px 16px !important; flex-shrink: 0; }
.gov-portal .property-listing picture { align-self: flex-start; }
.gov-portal .property-listing picture img { width: 140px; height: 140px; max-width: none; object-fit: cover; border-radius: 5px !important; }
.gov-portal .property-listing .listing-content > .d-md-flex > .w-100 { min-width: 0; }
.gov-portal .property-listing label.text-muted { font-size: 12px; margin-bottom: 4px; }
.gov-portal .property_types_vlix {
    background: #edf0ed;
    color: #4d5e53;
    padding: 4px 9px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.6;
    white-space: normal;
}
.gov-portal .property_types_vlix.sale { background: #e4f0e6; color: #245c3d; }
.gov-portal .listing-card-info-price {
    padding: 0;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 23px;
    font-weight: 400;
    font-synthesis: none;
    font-variant-numeric: tabular-nums;
    text-shadow: none;
}
.gov-portal .listing-card-info-price small { font-size: .7em; }
.gov-portal .list-layout .property-listing.property-1 .listing-footer-wrapper {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
    padding: 11px 16px;
    border-top: 1px solid #e7ece7;
    background: #fafcf9;
}
.gov-portal .listing-location { font-size: 13px; color: var(--gov-muted); }
.gov-portal.oceangreen-skin .property-listing.property-1 .listing-detail-btn .more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 4px;
    background: transparent !important;
    color: var(--gov-action) !important;
    font-size: 13px;
    text-decoration: none;
    transition: color .15s ease, background-color .15s ease;
}

/* Декоративная SVG-стрелка добавляется без изменения текста ссылки и Blade.
   Маска использует цвет текста и сохраняет чёткую линию на любых экранах. */
.gov-portal.oceangreen-skin .property-listing.property-1 .listing-detail-btn .more-btn::after {
    content: '';
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h10M8 3l5 5-5 5'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8h10M8 3l5 5-5 5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.gov-portal.oceangreen-skin .gov-lot-card.property-listing.property-1 .listing-detail-btn .more-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; border: 0 !important; border-radius: 5px !important; padding: 8px 12px !important; }
/* Приоритет соответствует обычному состоянию: фон наведения не должен
   перекрываться базовым transparent !important из старого оформления. */
.gov-portal.oceangreen-skin .property-listing.property-1 .listing-detail-btn .more-btn:hover,
.gov-portal.oceangreen-skin .property-listing.property-1 .listing-detail-btn .more-btn:focus-visible {
    background: var(--gov-soft) !important;
    color: var(--gov-green-deep) !important;
    text-decoration: none;
}
.gov-portal .pagination { flex-wrap: wrap; gap: 4px; }
.gov-portal .pagination .page-link { border: 1px solid var(--gov-line); border-radius: 4px; color: var(--gov-action); min-width: 40px; min-height: 40px; text-align: center; }
.gov-portal .pagination .active .page-link { background: var(--gov-action); border-color: var(--gov-action); color: #fff; }
.gov-portal .pagination .disabled .page-link { color: var(--gov-muted); }
.gov-portal .call-to-act-wrap {
    padding: 32px 0;
    background: var(--gov-green) !important;
    color: var(--gov-paper);
}

.gov-portal .call-to-act {
    gap: 24px;
    background: transparent !important;
}

.gov-portal .call-to-act-head .h3 {
    margin-bottom: 10px;
    color: var(--gov-paper);
    font-size: 24px;
    line-height: 1.4;
}

.gov-portal .call-to-act-head > span {
    color: #dce9e1;
    line-height: 1.6;
}

.gov-portal .call-to-act .btn-call-to-act {
    flex-shrink: 0;
}
.gov-portal .call-to-act .cn-info h4, .gov-portal .call-to-act .cn-info h5,
.gov-portal .call-to-act .cn-info p { color: #fff; }

/* Directories: every item remains a normal, crawlable link. */
.gov-portal .gov-directory { padding-bottom: 42px; }
.gov-portal .gov-directory h1 { margin: 10px 0 8px; }
.gov-portal .gov-directory .single-widgets { border: 1px solid var(--gov-line); border-radius: var(--gov-radius); box-shadow: none; background: #fff; padding: 22px !important; margin-bottom: 20px; }
.gov-portal .gov-directory h2 { font-size: 20px; margin-bottom: 15px; }
.gov-portal .gov-directory .single-widgets ul { margin: 0; padding: 0; list-style: none; }
.gov-portal .gov-directory .single-widgets li { border-bottom: 1px solid #e7ece7; }
.gov-portal .gov-directory .single-widgets li:last-child { border-bottom: 0; }
.gov-portal .gov-directory .single-widgets li > a { padding: 13px 4px; gap: 16px; color: var(--gov-ink); }
.gov-portal .gov-directory .hover-bg-light:hover { background: var(--gov-soft); }
.gov-portal .gov-directory .badge-grey { background: var(--gov-soft); color: var(--gov-action); border-radius: 4px; font-variant-numeric: tabular-nums; }

/* Каталоги используют прежний серверный порядок и обычные ссылки.
   Добавочные классы отделяют их сетку от юридических страниц с gov-directory. */
.gov-portal .gov-catalog-shell {
    background: var(--gov-ground);
}

.gov-portal .gov-catalog .gov-catalog-heading {
    padding-top: 32px !important;
    padding-bottom: 24px !important;
}

.gov-portal .gov-catalog .gov-catalog-heading h1 {
    margin: 0;
    color: var(--gov-green-deep);
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    line-height: 1.3;
}

.gov-portal .gov-categories .gov-categories-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 20px;
}

/* Группы внутри каждой колонки не зависят от высоты соседней колонки. */
.gov-portal .gov-categories .gov-categories-column {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: 20px;
    min-width: 0;
}

.gov-portal .gov-catalog .single-widgets.gov-catalog-group {
    margin: 0;
    padding: 0 !important;
    overflow: hidden;
}

.gov-portal .gov-catalog .gov-catalog-group h2 {
    margin: 0;
    padding: 20px 22px;
    border-bottom: 1px solid var(--gov-line);
    background: #fafbfc;
    color: var(--gov-green-deep);
    font-size: 20px;
    line-height: 1.4;
}

.gov-portal .gov-catalog .gov-catalog-group .gov-catalog-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
    margin: 0;
    /* Запас 6px сохраняет контур фокуса первой и последней строк внутри панели. */
    padding: 6px 22px;
}

.gov-portal .gov-catalog .gov-catalog-group .gov-catalog-list > li {
    min-width: 0;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--gov-line);
}

.gov-portal .gov-catalog .gov-catalog-group .gov-catalog-list > li:last-child {
    border-bottom: 0;
}

/* Вся строка остаётся кликабельной; название переносится, счётчик не сжимает его. */
.gov-portal .gov-catalog .gov-catalog-group .gov-catalog-list > li > a {
    align-items: center !important;
    gap: 16px;
    min-height: 60px;
    padding: 12px 0;
    font-size: 15px;
    line-height: 1.5;
    text-decoration: none;
}

/* Заливка выходит на 12px за текст, сохраняя прежнее выравнивание названий
   и счётчиков с заголовком группы. Отступ принадлежит всей кликабельной строке. */
.gov-portal .gov-catalog.gov-categories .gov-catalog-group .gov-catalog-list > li,
.gov-portal .gov-catalog.gov-regions .gov-catalog-group .gov-catalog-list > li {
    margin-inline: -12px;
}

.gov-portal .gov-catalog.gov-categories .gov-catalog-group .gov-catalog-list > li > a,
.gov-portal .gov-catalog.gov-regions .gov-catalog-group .gov-catalog-list > li > a {
    padding-right: 12px;
    padding-left: 12px;
}

/* У расширенной строки контур фокуса располагается у края самой ссылки,
   чтобы он целиком помещался внутри панели и на узком экране. */
.gov-portal .gov-catalog.gov-categories .gov-catalog-group .gov-catalog-list > li > a:focus-visible,
.gov-portal .gov-catalog.gov-regions .gov-catalog-group .gov-catalog-list > li > a:focus-visible {
    outline-offset: 0;
}

.gov-portal .gov-catalog .gov-catalog-name {
    min-width: 0;
    gap: 12px;
    color: var(--gov-ink);
    font-weight: 500;
    overflow-wrap: anywhere;
}

.gov-portal .gov-catalog .gov-catalog-count {
    flex-shrink: 0;
    max-width: 40%;
    color: var(--gov-muted) !important;
    font-size: 13px;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: normal !important;
}

.gov-portal .gov-catalog .gov-region-code {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    min-height: 32px;
    margin: 0 !important;
    padding: 5px;
    border: 1px solid var(--gov-line);
    background: var(--gov-ground);
    color: var(--gov-green);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
}

.gov-portal .gov-catalog .gov-catalog-list > li:hover .gov-catalog-name {
    color: var(--gov-action);
}

/* Старый виджет сбрасывает outline у ссылок; локальное правило возвращает
   видимый клавиатурный фокус, не меняя поведение обычного клика. */
.gov-portal .gov-catalog .gov-catalog-group .gov-catalog-list > li > a:focus-visible {
    outline: 2px solid var(--gov-control-focus) !important;
    outline-offset: 2px;
}

@media (min-width: 992px) {
    .gov-portal .gov-categories .gov-categories-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
    }

    .gov-portal .gov-categories .gov-categories-column {
        gap: 24px;
    }

    .gov-portal .gov-catalog.gov-regions .gov-catalog-group .gov-catalog-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 32px;
    }
}

@media (max-width: 767.98px) {
    .gov-portal .gov-catalog .gov-catalog-heading {
        padding-top: 24px !important;
        padding-bottom: 20px !important;
    }

    .gov-portal .gov-catalog .gov-catalog-group h2 {
        padding: 18px 16px;
        font-size: 18px;
    }

    .gov-portal .gov-catalog .gov-catalog-group .gov-catalog-list {
        padding-right: 16px;
        padding-left: 16px;
    }

    .gov-portal .gov-catalog .gov-catalog-group .gov-catalog-list > li > a {
        gap: 12px;
        font-size: 14px;
    }

    .gov-portal .gov-catalog .gov-catalog-name {
        gap: 8px;
    }

    .gov-portal .gov-catalog .gov-catalog-count {
        font-size: 12px;
    }
}

/* Lot detail, account, report tables and documents share the same surfaces. */
.gov-portal .property_block_wrap, .gov-portal .property_block_wrap.style-2,
.gov-portal .sides-widget, .gov-portal .dashboard-wraper,
.gov-portal .dashboard-stat, .gov-portal .simple-sidebar,
.gov-portal .single-widgets {
    background: var(--gov-paper);
    border: 1px solid var(--gov-line);
    border-radius: var(--gov-radius);
    box-shadow: none;
}
.gov-portal .gov-lot .property_block_wrap { margin-bottom: 20px; }
.gov-portal .gov-lot .property_block_title { font-size: 19px; }
.gov-portal .gov-lot .property_block_wrap h1 { font-size: clamp(1.4rem, 2.2vw, 1.9rem); }
.gov-portal .gov-lot .prt-price-fix { color: var(--gov-green-deep) !important; font-size: clamp(1.7rem, 3vw, 2.3rem); font-variant-numeric: tabular-nums; }
.gov-portal .gov-lot .property_block_wrap .block-body { color: var(--gov-ink); line-height: 1.75; overflow-wrap: anywhere; }
.gov-portal .sides_list_property { border-bottom: 1px solid var(--gov-line); box-shadow: none; }

/* Категории лота и аналогичные теги используют спокойную заливку новой темы;
   дополнительный класс темы перекрывает hover и focus из старого colors.css. */
.gov-portal.oceangreen-skin .single-widgets.widget_tags ul li a {
    border-color: var(--gov-line);
    background: var(--gov-paper);
    color: var(--gov-action);
}

.gov-portal.oceangreen-skin .single-widgets.widget_tags ul li a:hover,
.gov-portal.oceangreen-skin .single-widgets.widget_tags ul li a:focus {
    border-color: var(--gov-line);
    background: var(--gov-soft);
    color: var(--gov-green-deep);
}

/* Боковые карточки и заголовки разделов лота используют настоящий DemiBold.
   Вес 400 соответствует отдельному файлу шрифта и исключает повторное утолщение. */
.gov-portal .gov-lot .sides_list_property_detail h4,
.gov-portal .gov-lot .lists_property_price_value .h4,
.gov-portal .gov-lot .sidebar_featured_property > h4,
.gov-portal .gov-lot h4.property_block_title,
.gov-portal .gov-lot .gov-lot-actions-title {
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-weight: 400;
    font-synthesis: none;
    text-shadow: none;
}

/* «Другие лоты»: компактные размеры изолированы от основного названия и цены.
   Вся карточка является одной обычной ссылкой, включая область вокруг содержимого. */
.gov-portal .gov-lot .sidebar_featured_property .sides_list_property {
    align-items: flex-start;
    min-width: 0;
    padding: 14px;
    border-color: var(--gov-line);
    color: var(--gov-ink);
    text-decoration: none;
    transition: background-color .15s ease, border-color .15s ease;
}

.gov-portal .gov-lot .sidebar_featured_property .sides_list_property:hover,
.gov-portal .gov-lot .sidebar_featured_property .sides_list_property:focus-within {
    border-color: #adc3b5;
    background: var(--gov-soft);
    text-decoration: none;
}

.gov-portal .gov-lot .sidebar_featured_property .sides_list_property_thumb {
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
}

.gov-portal .gov-lot .sidebar_featured_property .sides_list_property_detail {
    flex: 1;
    min-width: 0;
    width: auto;
    padding-left: 12px;
}

.gov-portal .gov-lot .sidebar_featured_property .sides_list_property .sides_list_property_detail h4 {
    margin: 0 0 8px;
    color: var(--gov-ink);
    font-size: 14px;
    line-height: 1.5;
    word-break: normal;
    hyphens: auto;
    overflow-wrap: anywhere;
    text-decoration: none;
    transition: color .15s ease;
}

.gov-portal .gov-lot .sidebar_featured_property .sides_list_property:hover h4,
.gov-portal .gov-lot .sidebar_featured_property .sides_list_property:focus-within h4 {
    color: var(--gov-action);
    text-decoration: none;
}

/* Статус и сумма располагаются последовательно, поэтому длинный статус
   не отнимает место у цены. При необходимости сумма переносится по разрядам. */
.gov-portal .gov-lot .sidebar_featured_property .lists_property_price {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 8px 0 0;
}

.gov-portal .gov-lot .sidebar_featured_property .lists_property_types {
    flex: 0 1 auto;
    min-width: 0;
    max-width: 100%;
}

.gov-portal .gov-lot .sidebar_featured_property .lists_property_price_value {
    min-width: 0;
    width: 100%;
}

.gov-portal .gov-lot .sidebar_featured_property .lists_property_price_value .h4 {
    display: block;
    max-width: 100%;
    margin: 0;
    color: var(--gov-green-deep);
    font-size: 16px;
    line-height: 1.4;
    font-variant-numeric: tabular-nums;
    white-space: normal;
    overflow-wrap: break-word;
}

.gov-portal .gov-lot .sidebar_featured_property .lists_property_price_value small {
    font-size: .75em;
    white-space: nowrap;
}

/* Сводка лота использует существующие данные; условия их вывода остаются в Blade. */
.gov-portal .gov-lot .gov-lot-grid {
    align-items: flex-start;
}

.gov-portal .gov-lot .gov-lot-main .property_block_wrap.gov-lot-summary {
    padding: 0 !important;
    overflow: hidden;
}

.gov-portal .gov-lot .gov-lot-summary-main {
    padding: 24px;
}

.gov-portal .gov-lot .gov-lot-summary h1 {
    margin-bottom: 15px;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-weight: 400;
    font-synthesis: none;
    line-height: 1.3;
    letter-spacing: -.025em;
    text-shadow: none;
}

.gov-portal .gov-lot .gov-lot-location {
    display: block;
    color: var(--gov-muted);
    font-size: 13px;
}

.gov-portal .gov-lot .gov-lot-location a {
    color: inherit;
}

.gov-portal .gov-lot .gov-lot-price-label {
    margin-top: 22px;
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-lot .gov-lot-summary .prt-price-fix {
    margin-top: 2px !important;
    margin-bottom: 0 !important;
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: clamp(1.625rem, 2.6vw, 2rem);
    font-weight: 400;
    font-synthesis: none;
    line-height: 1.2;
    text-shadow: none;
}

.gov-portal .gov-lot .gov-lot-summary .prt-price-fix sub {
    bottom: 0;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: .58em;
    font-weight: 400;
}

.gov-portal .gov-lot .gov-lot-dates {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(175px, 1fr));
    gap: 16px;
    margin: 0 !important;
    padding: 19px 24px;
    border-top: 1px solid var(--gov-line);
    background: #fafcf9;
}

.gov-portal .gov-lot .gov-lot-dates > div {
    width: auto;
    max-width: none;
    padding: 0;
    white-space: normal !important;
    font-size: 16px;
    font-weight: 400;
    font-synthesis: none;
    font-variant-numeric: tabular-nums;
    text-shadow: none;
}

/* Дата выделяется готовым начертанием, подписи и время остаются обычными.
   Правило не затрагивает собственное семейство шрифта иконок часов и календаря. */
.gov-portal .gov-lot .gov-lot-dates > div > div {
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    /* Часы, дата и время составляют одну читаемую строку на любой ширине. */
    white-space: nowrap;
}

.gov-portal .gov-lot .gov-lot-dates label {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 400;
}

.gov-portal .gov-lot .gov-lot-dates small {
    color: var(--gov-muted);
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    /* Явный размер сохраняет время читаемым, не уменьшая его стилем small до 80%. */
    font-size: 14px;
    font-weight: 400;
}

.gov-portal .gov-lot .gov-lot-actions {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
    padding: 22px;
    border: 1px solid var(--gov-line);
    border-radius: var(--gov-radius);
    background: var(--gov-paper);
}

.gov-portal .gov-lot .gov-lot-actions-title {
    color: var(--gov-green-deep);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.35;
}

.gov-portal .gov-lot .gov-lot-actions .like_share_wrap {
    margin: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.gov-portal .gov-lot .gov-lot-participate {
    order: 1;
}

.gov-portal .gov-lot .gov-lot-participate .font-13 {
    margin-top: 12px !important;
    color: var(--gov-muted);
    font-size: 12px !important;
    line-height: 1.65;
    text-align: left !important;
}

.gov-portal .gov-lot .gov-lot-tools {
    order: 2;
    padding-top: 18px !important;
    border-top: 1px solid var(--gov-line) !important;
}

/* Золотой акцент выделяет участие среди зелёных действий портала.
   Правило ограничено кнопками: текстовая ссылка с тем же JS-классом не меняется. */
.gov-portal .gov-lot .btn.js-lot-buy {
    min-height: 56px;
    padding: 13px 14px;
    background: #e5bd69 !important;
    border-color: #e5bd69 !important;
    color: #1e382d !important;
    font-size: 16px;
    line-height: 1.4;
}

.gov-portal .gov-lot .btn.js-lot-buy:hover {
    background: #d6aa51 !important;
    border-color: #d6aa51 !important;
}

.gov-portal .gov-lot .btn-icon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 44px;
    padding: 0;
}

.gov-portal .gov-lot .gov-lot-encumbrance {
    padding: 13px 15px;
    border-radius: 6px;
    background: #fbf5e5;
    color: #71591f;
    font-size: 13px;
}

.gov-portal .gov-lot .gov-lot-encumbrance .text-orange {
    color: inherit !important;
    font-weight: 600;
}

.gov-portal .gov-lot .property_block_wrap_header {
    padding: 19px 24px;
    border-color: var(--gov-line);
}

.gov-portal .gov-lot .property_block_wrap_header .property_block_title {
    margin: 0;
    color: var(--gov-green-deep);
    font-size: 18px;
}

.gov-portal .gov-lot .property_block_wrap .block-body {
    padding: 0 24px 24px;
}

.gov-portal .gov-lot .property_block_wrap_header + .collapse .block-body {
    padding-top: 0;
}

.gov-portal .gov-lot .block-body p {
    max-width: 72ch;
}

/* Ссылки внутри описания различимы без наведения. Наследуемое text-nowrap
   снимается только здесь: длинные адреса, номера и URL должны помещаться в абзац. */
.gov-portal .gov-lot .gov-lot-description .block-body a {
    display: inline;
    color: var(--gov-action) !important;
    font-weight: 400;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: #6f8d7b;
    text-underline-offset: 3px;
    text-decoration-skip-ink: auto;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    transition: color .15s ease, background-color .15s ease;
}

/* clone оформляет каждый фрагмент многострочной ссылки отдельно: подложка
   и небольшие боковые отступы повторяются на строках, не создавая цельную плашку.
   Сохраняем inline, чтобы адрес продолжал обычный текст, а не становился блоком. */
.gov-portal .gov-lot .gov-lot-description .block-body a:is(
    [data-kadnumber],
    [href*="kadastrmap.com/reestr/"],
    [href$="#lot-map"]
) {
    padding: 1px 3px;
    border-radius: 3px;
    background: var(--gov-soft);
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.gov-portal .gov-lot .gov-lot-description .block-body a:hover,
.gov-portal .gov-lot .gov-lot-description .block-body a:focus-visible {
    color: var(--gov-green-deep) !important;
    background-color: #dceadf;
    text-decoration-color: var(--gov-action);
}

.gov-portal .gov-lot .gov-lot-sidebar .single-widgets,
.gov-portal .gov-lot .gov-lot-sidebar .sidebar_featured_property {
    margin-bottom: 18px;
    padding: 22px;
    border: 1px solid var(--gov-line);
    border-radius: var(--gov-radius);
    background: var(--gov-paper);
}

.gov-portal .gov-lot .gov-lot-sidebar .single-widgets h4 {
    margin-bottom: 15px;
    font-size: 17px;
}

/* Размытие принадлежит карте, а не декоративному слою: существующий JS снимает
   класс blur и скрывает overlay только после завершения своего геопоиска. */
.gov-portal .gov-lot .map-container {
    --gov-lot-map-height: 280px;
    isolation: isolate;
    overflow: hidden;
    border-radius: 5px;
}

.gov-portal .gov-lot #map {
    position: relative;
    z-index: 0;
    width: 100%;
    height: var(--gov-lot-map-height);
}

.gov-portal .gov-lot #map.blur {
    filter: blur(3px);
    -webkit-filter: blur(3px);
}

.gov-portal .gov-lot .map-overlay {
    z-index: 1;
    height: var(--gov-lot-map-height);
    padding: 16px;
    background: rgba(255, 255, 255, .32);
}

/* Состояние задаёт существующий обработчик; оно должно побеждать d-flex шаблона. */
.gov-portal .gov-lot .map-overlay.d-none {
    display: none !important;
}

.gov-portal .gov-lot .map-overlay .js-show-map {
    max-width: 100%;
    background: var(--gov-paper) !important;
    color: var(--gov-action) !important;
    border-color: #b8c7bc !important;
}

@media (max-width: 991.98px) {
    /* Отступ нужен только активному лоту со штатной мобильной кнопкой.
       У body задана высота 100%, поэтому место резервируется в потоке основного
       контейнера: конец страницы остаётся выше панели и учитывает safe area. */
    .gov-portal #main-wrapper:has(.gov-lot .gov-lot-mobile-participate) {
        padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    }

    .gov-portal .gov-lot .gov-lot-sidebar .gov-lot-actions {
        display: none;
    }

    .gov-portal .gov-lot .gov-lot-mobile-actions {
        margin-bottom: 20px;
        padding: 20px;
        border: 1px solid var(--gov-line);
        border-radius: var(--gov-radius);
        background: var(--gov-paper);
    }

    /* Возвращаем прежнее закрепление у нижнего края экрана. Панель остаётся
       ниже backdrop авторизации и Swal; существующий js-lot-buy не меняется. */
    .gov-portal .gov-lot .gov-lot-mobile-participate {
        position: fixed !important;
        z-index: 1030;
        right: 0;
        bottom: 0;
        left: 0;
        margin: 0;
        padding: 12px calc(16px + env(safe-area-inset-right, 0px))
            calc(12px + env(safe-area-inset-bottom, 0px))
            calc(16px + env(safe-area-inset-left, 0px)) !important;
        border-top: 1px solid var(--gov-line);
        background: var(--gov-paper);
        box-shadow: none;
    }

    .gov-portal .gov-lot .gov-lot-mobile-tools {
        margin: 0;
        padding: 0;
        background: transparent;
        box-shadow: none;
    }
}

@media (max-width: 599.98px) {
    .gov-portal .gov-lot .gov-lot-summary-main,
    .gov-portal .gov-lot .property_block_wrap_header {
        padding: 20px;
    }

    .gov-portal .gov-lot .property_block_wrap .block-body {
        padding-right: 20px;
        padding-bottom: 20px;
        padding-left: 20px;
    }

    .gov-portal .gov-lot .gov-lot-dates {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 18px 20px;
    }

    .gov-portal .gov-lot .gov-lot-dates > div {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 6px 12px;
    }

    .gov-portal .gov-lot .gov-lot-dates label {
        margin: 0;
        font-size: 12px;
        white-space: nowrap;
    }

    .gov-portal .gov-lot .gov-lot-dates > div > div {
        /* На самых узких экранах значение переносится целиком и остаётся справа. */
        margin-left: auto;
        text-align: right;
    }

    .gov-portal .gov-lot .map-container {
        --gov-lot-map-height: 200px;
    }
}

@media (max-width: 991.98px) {
    /* Поля организатора с исходным col не должны делить узкий экран на шесть частей. */
    .gov-portal .gov-lot .gov-lot-organizer .row > .col {
        flex: 0 0 100%;
        width: 100%;
        max-width: 100%;
    }
}

.gov-portal .gov-profile { padding-top: 32px; }
.gov-portal .gov-profile .dashboard-wraper { padding: 28px; }
.gov-portal .d-user-avater { border-bottom: 1px solid var(--gov-line); padding: 24px 14px; }
.gov-portal .d-user-avater h4 { margin-top: 12px; color: var(--gov-green-deep); }
.gov-portal .d-user-avater span { color: var(--gov-muted); overflow-wrap: anywhere; }
.gov-portal .d-navigation ul li { border: 0; }
.gov-portal .d-navigation ul li a { color: var(--gov-ink); padding-top: 13px; padding-bottom: 13px; }
.gov-portal .d-navigation ul li.active > a { background: var(--gov-soft); color: var(--gov-green); border-radius: 4px; }
.gov-portal .d-navigation ul li a:hover { color: var(--gov-action); background: var(--gov-soft); }
.gov-portal .table, .gov-portal .property-table-wrap, .gov-portal table.dataTable { color: var(--gov-ink); font-size: 14px; width: 100%; }
.gov-portal .table th, .gov-portal .property-table-wrap th, .gov-portal table.dataTable thead th { background: var(--gov-soft); color: var(--gov-green-deep); border-color: var(--gov-line); font-weight: 600; }
.gov-portal .table td, .gov-portal .property-table-wrap td, .gov-portal table.dataTable td { border-color: var(--gov-line); vertical-align: middle; }
.gov-portal .table-striped > tbody > tr:nth-of-type(odd) { background: #f7f9f6; }
.gov-portal .alert { border-radius: 6px; line-height: 1.65; }
.gov-portal .alert-info, .gov-portal .alert-success, .gov-portal .alert-secondary { background: var(--gov-soft); color: var(--gov-green-deep); border: 1px solid #cbdccc; }
.gov-portal .alert-warning { background: #fbf5e5; border: 1px solid #e4d5ae; color: #71591f; }
.gov-portal .alert-danger { background: #faeeeb; border: 1px solid #e9c8c1; color: #953b30; }
/* Авторизация использует одну поверхность для заголовка, полей и навигации.
   Правила ограничены auth-хуками и не меняют остальные формы портала. */
.gov-portal .gov-auth {
    padding: 48px 0 56px;
    background: var(--gov-ground);
}
.gov-portal .gov-auth .gov-auth-column {
    flex: 0 0 auto;
    width: 100%;
    max-width: 500px;
}
.gov-portal .gov-auth-card {
    padding: 32px;
    border: 1px solid var(--gov-line);
    border-radius: var(--gov-radius);
    background: var(--gov-paper);
}
.gov-portal .gov-auth-card .login-form {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
/* Габариты Bootstrap сохраняют штатные центрирование, прокрутку и focus trap. */
.gov-portal .gov-auth-modal .modal-dialog {
    width: auto;
    max-width: 500px;
    margin: 24px auto;
}
.gov-portal .gov-auth-modal .modal-content {
    overflow: visible;
}
.gov-portal .gov-auth-modal .modal-body {
    padding: 32px;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .gov-auth-title {
    margin: 0 0 24px;
    padding: 0;
    color: var(--gov-green-deep);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -.025em;
    text-align: left;
}
.gov-portal .gov-auth-modal .gov-auth-title {
    padding-right: 32px;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .gov-auth-intro {
    margin: -10px 0 24px;
    color: var(--gov-muted);
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .gov-auth-help {
    display: inline-block;
    margin: 4px 0 0;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    line-height: 1.6;
    text-align: left;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .form-group {
    margin: 0 0 18px;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .form-group:last-child {
    margin-bottom: 0;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) label:not(.checkbox-custom-label) {
    display: block;
    margin: 0 0 7px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .form-control {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding-top: 11px;
    padding-bottom: 11px;
    font-size: 16px;
    line-height: 1.5;
}
/* Старый input-with-icon задаёт !important: явно сохраняем фокус и ошибку
   поверх этого сброса, а иконку привязываем к полю, не к высоте сообщения. */
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .input-with-icon .form-control:focus:not(.is-invalid) {
    border-color: var(--gov-field-focus-border) !important;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .input-with-icon > i {
    top: 24px;
    color: var(--gov-muted);
    font-size: 18px;
    pointer-events: none;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .form-control.is-invalid {
    border-color: #b94135 !important;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .invalid-feedback {
    margin-top: 7px;
    color: #953b30;
    font-size: 13px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .invalid-feedback:empty {
    margin: 0;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .checkbox-custom-label {
    display: block;
    min-height: 24px;
    margin: 0;
    padding-left: 32px;
    color: var(--gov-muted);
    font-size: 13px;
    line-height: 1.65;
}
/* Абсолютный индикатор оставляет текст и ссылку согласия единым переносимым абзацем. */
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .checkbox-custom + .checkbox-custom-label::before {
    position: absolute;
    top: 1px;
    left: 0;
    margin: 0;
}
/* Плагин меню записывает overflow: visible inline даже при открытом окне.
   Восстанавливаем штатную блокировку фона Bootstrap, оставляя прокрутку у modal. */
body.gov-portal.modal-open {
    overflow: hidden !important;
}
/* У старого мобильного меню z-index 20000. На время штатного modal-open
   опускаем только его визуальные слои под backdrop, не закрывая меню через JS. */
/* Меню имеет scrollWidth 340px при clientWidth 319px на телефоне.
   Его собственную горизонтальную полосу скрываем только под открытым диалогом. */
.gov-portal.modal-open .header .nav-menus-wrapper {
    z-index: 1030;
    overflow-x: hidden;
}
.gov-portal.modal-open .header .nav-overlay-panel {
    z-index: 1029;
}
/* Старые focus/hover темы меняют фон и расширяют отступы до 50px.
   Изолированное правило сохраняет контраст и полную подпись на узком экране. */
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .btn[type="submit"] {
    width: 100%;
    max-width: 100%;
    min-height: 48px;
    padding: 12px 14px !important;
    background: var(--gov-action) !important;
    border: 1px solid var(--gov-action) !important;
    color: #fff !important;
    font-size: 16px;
    line-height: 1.4;
    white-space: normal !important;
    overflow-wrap: anywhere;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .btn[type="submit"]:is(:hover, :focus, :active) {
    background: var(--gov-action-hover) !important;
    border-color: var(--gov-action-hover) !important;
    color: #fff !important;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .gov-auth-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0 16px;
    margin-top: 22px;
    padding-top: 14px;
    border-top: 1px solid var(--gov-line);
    font-size: 14px;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .gov-auth-links p {
    margin: 0;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .gov-auth-links a,
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .gov-auth-actions > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) .gov-auth-actions {
    display: grid;
    gap: 6px;
    justify-items: start;
}
/* Настоящая кнопка закрытия доступна с клавиатуры; data-bs-dismiss остаётся прежним. */
.gov-portal .gov-auth-modal .mod-close {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: var(--gov-muted);
    cursor: pointer;
}
.gov-portal .gov-auth-modal .mod-close:hover {
    background: var(--gov-soft);
    color: var(--gov-green-deep);
}
.gov-portal :is(.gov-auth-card, .gov-auth-modal) :is(a, button):focus-visible {
    outline: 2px solid var(--gov-control-focus) !important;
    outline-offset: 2px;
}
@media (max-width: 575.98px) {
    .gov-portal .gov-auth {
        padding: 24px 0 32px;
    }
    .gov-portal .gov-auth-card,
    .gov-portal .gov-auth-modal .modal-body {
        padding: 24px 20px;
    }
    .gov-portal .gov-auth-modal .modal-dialog {
        margin: 12px;
    }
    .gov-portal :is(.gov-auth-card, .gov-auth-modal) .gov-auth-title {
        font-size: 25px;
    }
    .gov-portal .gov-auth-modal .mod-close {
        top: 8px;
        right: 8px;
    }
}

/* Existing Bootstrap and SweetAlert dialogs: no new modal behavior. */
/* Четыре утверждённых этапа показаны в существующем SweetAlert.
   Отдельный класс ограничивает оформление инструкцией и не влияет на другие окна. */
.gov-portal .swal2-popup.gov-buy-process {
    width: min(800px, calc(100vw - 32px));
    max-width: 100%;
    padding: 28px;
    text-align: left;
}

.gov-portal .gov-buy-process :is(.swal2-content, .swal2-html-container) {
    margin: 0 !important;
    padding: 0;
    text-align: left;
}

.gov-portal .gov-buy-process .gov-process {
    margin: 0;
    padding: 0;
    color: var(--gov-ink);
    overflow-wrap: anywhere;
}

.gov-portal .gov-buy-process .pr-header h2 {
    margin: 0 0 10px;
    color: var(--gov-green-deep);
    font-size: 26px;
    line-height: 1.3;
    letter-spacing: -.02em;
}

.gov-portal .gov-buy-process .pr-intro {
    max-width: 62ch;
    margin: 0;
    color: var(--gov-muted);
    font-size: 14px;
    line-height: 1.6;
}

.gov-portal .gov-buy-process .pr-timeline {
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
}

.gov-portal .gov-buy-process .pr-step {
    position: relative;
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 16px;
    padding-bottom: 22px;
}

/* Линия связывает именно последовательные этапы; у последнего она заканчивается. */
.gov-portal .gov-buy-process .pr-step::after {
    position: absolute;
    top: 37px;
    bottom: 3px;
    left: 16px;
    width: 2px;
    background: #c6d7cc;
    content: '';
}

.gov-portal .gov-buy-process .pr-step:last-child {
    padding-bottom: 0;
}

.gov-portal .gov-buy-process .pr-step:last-child::after {
    display: none;
}

.gov-portal .gov-buy-process .pr-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border: 1px solid #b8cfc0;
    border-radius: 50%;
    background: var(--gov-soft);
    color: var(--gov-green);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
}

.gov-portal .gov-buy-process .pr-contact .pr-number {
    border-color: #e5bd69;
    background: #e5bd69;
    color: #1e382d;
}

.gov-portal .gov-buy-process .pr-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 6px 16px;
    padding-top: 3px;
}

.gov-portal .gov-buy-process .pr-heading h3 {
    margin: 0;
    color: var(--gov-green-deep);
    font-size: 17px;
    line-height: 1.4;
}

.gov-portal .gov-buy-process .pr-who {
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.6;
    white-space: nowrap;
}

.gov-portal .gov-buy-process .pr-copy {
    max-width: 66ch;
    margin: 6px 0 0;
    color: var(--gov-muted);
    font-size: 14px;
    line-height: 1.6;
}

.gov-portal .gov-buy-process .pr-copy strong {
    color: var(--gov-ink);
    font-weight: 500;
}

.gov-portal .gov-buy-process .pr-meaning {
    margin: 10px 0 0;
    padding: 10px 12px;
    border-radius: 5px;
    background: #fbf5e5;
    color: #654e1a;
    font-size: 13px;
    line-height: 1.6;
}

/* Подробности раскрывает браузер: новая JS-логика для схемы не требуется. */
.gov-portal .gov-buy-process details {
    margin-top: 9px;
    font-size: 13px;
    line-height: 1.6;
}

.gov-portal .gov-buy-process summary {
    padding: 7px 0;
    color: var(--gov-action);
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.gov-portal .gov-buy-process .pr-work {
    margin: 5px 0 0;
    padding-left: 18px;
    color: var(--gov-muted);
    list-style: disc;
}

.gov-portal .gov-buy-process .pr-work li {
    margin-top: 5px;
}

.gov-portal .gov-buy-process .swal2-actions {
    justify-content: flex-end;
    width: 100%;
    margin: 24px 0 0 !important;
    padding-top: 18px;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .gov-buy-process .swal2-confirm {
    min-height: 44px;
    margin: 0;
    padding: 10px 22px;
    font-size: 14px;
}

/* Старый сброс outline не должен скрывать клавиатурный фокус кнопки и details. */
.gov-portal .gov-buy-process :is(.swal2-confirm, summary):focus-visible {
    outline: 2px solid var(--gov-control-focus) !important;
    outline-offset: 2px;
}

@media (max-width: 500px) {
    .gov-portal .swal2-popup.gov-buy-process {
        width: calc(100vw - 24px);
        padding: 22px 18px;
    }

    .gov-portal .gov-buy-process .pr-header h2 {
        font-size: 23px;
    }

    .gov-portal .gov-buy-process .pr-step {
        gap: 12px;
        padding-bottom: 24px;
    }

    .gov-portal .gov-buy-process .pr-heading {
        display: block;
    }

    .gov-portal .gov-buy-process .pr-who {
        display: block;
        margin-top: 3px;
        white-space: normal;
    }
}


/* Предложение сохранить поиск использует штатные actions и footer Swal:
   меняется только оформление, прежние переходы авторизации остаются у библиотеки. */
.gov-portal .swal2-container.gov-save-search-auth-container {
    align-items: flex-start;
    padding: 16px !important;
    /* Swal задаёт overflow inline; на коротком экране прокручивается контейнер,
       чтобы действия и ссылка преимуществ оставались доступными. */
    overflow-y: auto !important;
}

.gov-portal .swal2-popup.gov-save-search-auth {
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    flex-shrink: 0;
    width: 560px;
    max-width: 100%;
    margin: auto;
    padding: 34px;
    border-radius: 8px;
    text-align: left;
}

.gov-portal .gov-save-search-auth .swal2-header {
    align-items: flex-start;
    padding: 0;
}

.gov-portal .gov-save-search-auth .swal2-title {
    margin: 0;
    padding: 0 26px 0 0;
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 25px;
    font-weight: 400;
    font-synthesis: none;
    line-height: 1.3;
    letter-spacing: -.025em;
    text-align: left;
}

.gov-portal .gov-save-search-auth .swal2-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 44px;
    height: 44px;
    padding: 0;
    border-radius: 5px;
    color: var(--gov-muted);
    font-size: 27px;
    line-height: 1;
}

.gov-portal .gov-save-search-auth .swal2-close:hover {
    background: var(--gov-soft);
    color: var(--gov-green);
}

.gov-portal .gov-save-search-auth .swal2-content,
.gov-portal .gov-save-search-auth .swal2-html-container {
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    color: var(--gov-muted);
    font-size: 15px;
    line-height: 1.6;
    text-align: left;
}

.gov-portal .gov-save-search-auth .gov-save-search-intro {
    margin: 14px 0 0;
}

.gov-portal .gov-save-search-summary {
    margin-top: 24px;
    padding: 18px 20px;
    border-radius: 5px;
    background: var(--gov-ground);
}

.gov-portal .gov-save-search-summary h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 14px;
    color: var(--gov-ink);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.gov-portal .gov-save-search-summary h3 svg {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    color: var(--gov-action);
}

/* Значения остаются текстом и переносятся целиком, включая длинные названия
   регионов и введённые слова; внутренней горизонтальной прокрутки нет. */
.gov-portal .gov-save-search-values {
    display: grid;
    grid-template-columns: 95px minmax(0, 1fr);
    gap: 8px 14px;
    margin: 0;
    font-size: 13px;
}

.gov-portal .gov-save-search-values dt,
.gov-portal .gov-save-search-values dd {
    min-width: 0;
    margin: 0;
    font-weight: 400;
    overflow-wrap: anywhere;
}

.gov-portal .gov-save-search-values dd {
    color: var(--gov-ink);
}

.gov-portal .gov-save-search-auth .swal2-actions {
    flex-wrap: nowrap;
    gap: 10px;
    width: 100%;
    margin: 28px 0 0 !important;
    padding: 0;
}

.gov-portal .gov-save-search-auth .swal2-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    margin: 0;
    padding: 11px 18px;
    font-size: 14px;
    line-height: 1.5;
}

.gov-portal .gov-save-search-auth .swal2-confirm {
    flex: 1;
}

.gov-portal .gov-save-search-auth .swal2-confirm i {
    margin: 0;
    font-size: 15px;
}

.gov-portal .swal2-popup.gov-save-search-auth .swal2-cancel {
    min-width: 80px;
    border-color: var(--gov-line) !important;
    background: var(--gov-paper) !important;
}

.gov-portal .swal2-popup.gov-save-search-auth .swal2-cancel:hover {
    background: var(--gov-soft) !important;
}

.gov-portal .gov-save-search-auth .swal2-footer {
    justify-content: flex-start;
    margin: 24px 0 0;
    padding: 18px 0 0;
    border-top: 1px solid var(--gov-line);
}

/* Ссылка оформлена кнопкой для клавиатуры; js-register-profits по-прежнему
   открывает отдельное существующее окно преимуществ регистрации. */
.gov-portal .gov-save-search-benefits {
    min-height: 44px;
    padding: 8px 0;
    border: 0;
    background: transparent;
    color: var(--gov-action);
    font: inherit;
    font-size: 13px;
    text-align: left;
}

.gov-portal .gov-save-search-benefits:hover {
    color: var(--gov-green-deep);
}

@media (max-width: 460px) {
    .gov-portal .swal2-container.gov-save-search-auth-container {
        padding: 12px !important;
    }

    .gov-portal .swal2-popup.gov-save-search-auth {
        padding: 28px 22px 22px;
    }

    .gov-portal .gov-save-search-auth .swal2-title {
        padding-right: 20px;
        font-size: 22px;
    }

    .gov-portal .gov-save-search-auth .swal2-content,
    .gov-portal .gov-save-search-auth .swal2-html-container {
        font-size: 14px;
    }

    .gov-portal .gov-save-search-summary {
        padding: 16px;
    }

    .gov-portal .gov-save-search-values {
        grid-template-columns: 75px minmax(0, 1fr);
        column-gap: 12px;
    }

    .gov-portal .gov-save-search-auth .swal2-actions {
        flex-direction: column;
    }

    .gov-portal .gov-save-search-auth .swal2-actions .btn {
        width: 100%;
    }
}

/* Согласованная акцентная панель изолирована от остальных окон Swal.
   Нижние действия остаются штатными кнопками библиотеки с прежними обработчиками. */
.gov-portal .swal2-container.gov-register-benefits-container {
    align-items: flex-start;
    padding: 16px !important;
    overflow-y: auto;
}

.gov-portal .swal2-popup.gov-register-benefits {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    width: min(684px, calc(100vw - 32px));
    max-width: 100%;
    flex-shrink: 0;
    margin: auto;
    padding: 0;
    overflow: hidden;
    border-radius: 7px;
    text-align: left;
}

.gov-portal .gov-register-benefits .swal2-header {
    display: contents;
}

.gov-portal .gov-register-benefits .swal2-icon {
    display: none !important;
}

/* Нативный заголовок нужен aria-labelledby окна, но визуально его заменяет панель.
   Текстовый повтор в панели скрыт от скринридера, поэтому заголовок не дублируется. */
.gov-portal .gov-register-benefits .swal2-title {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

.gov-portal .gov-register-benefits .swal2-close {
    position: absolute;
    z-index: 2;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 6px;
    color: var(--gov-muted);
    font-size: 26px;
    line-height: 1;
}

.gov-portal .gov-register-benefits .swal2-close:hover {
    background: var(--gov-soft);
    color: var(--gov-green);
}

.gov-portal .gov-register-benefits .swal2-content {
    grid-column: 1 / -1;
    grid-row: 1;
    min-width: 0;
    margin: 0 !important;
    padding: 0;
    color: inherit;
    font-size: inherit;
    text-align: left;
}

.gov-portal .gov-register-benefits .swal2-html-container {
    margin: 0;
    padding: 0;
    overflow: visible;
    text-align: left;
}

.gov-portal .gov-benefits-layout {
    display: grid;
    grid-template-columns: 235px minmax(0, 1fr);
}

.gov-portal .gov-benefits-panel {
    display: flex;
    flex-direction: column;
    padding: 36px 26px 28px;
    background: var(--gov-green);
    color: var(--gov-paper);
}

.gov-portal .gov-benefits-heading {
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -.025em;
    overflow-wrap: normal;
}

.gov-portal .gov-benefits-intro {
    margin: 18px 0 0;
    color: #dce9e1;
    font-size: 13px;
    line-height: 1.65;
}

.gov-portal .gov-benefits-free {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: auto;
    padding-top: 36px;
    color: #e7d6aa;
    font-size: 12px;
    line-height: 1.55;
}

.gov-portal .gov-benefits-free i {
    flex-shrink: 0;
    font-size: 15px;
}

.gov-portal .gov-benefits-list {
    display: grid;
    gap: 12px;
    padding: 34px 27px 30px;
}

.gov-portal .gov-benefits-feature {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
}

.gov-portal .gov-benefits-feature > div {
    min-width: 0;
}

.gov-portal .gov-benefits-icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: var(--gov-soft);
    color: var(--gov-action);
    font-size: 19px;
}

.gov-portal .gov-benefits-feature-title {
    margin: 0;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
}

.gov-portal .gov-benefits-description {
    margin: 4px 0 0;
    color: var(--gov-muted);
    font-size: 13px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

/* Прокручивается штатный контейнер Swal: библиотека сама возвращает его к началу
   после фокусировки confirm. Footer и actions остаются в потоке, без наложения. */
.gov-portal .gov-register-benefits .swal2-actions {
    grid-column: 2;
    grid-row: 2;
    justify-content: flex-end;
    gap: 14px;
    width: auto;
    margin: 0 !important;
    padding: 20px 28px 20px 0;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .gov-register-benefits .swal2-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 44px;
    margin: 0;
    padding: 11px 18px;
    font-size: 14px;
    line-height: 1.45;
}

.gov-portal .gov-register-benefits .swal2-confirm i {
    margin: 0;
    padding: 0;
    font-size: 17px;
}

.gov-portal .gov-register-benefits .swal2-actions .swal2-cancel {
    padding-right: 6px;
    padding-left: 6px;
    border-color: transparent !important;
    background: transparent !important;
    color: var(--gov-muted) !important;
}

.gov-portal .gov-register-benefits .swal2-actions .swal2-cancel:hover {
    background: var(--gov-soft) !important;
}

.gov-portal .gov-register-benefits .swal2-footer {
    grid-column: 1;
    grid-row: 2;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    margin: 0;
    padding: 20px 16px 20px 26px;
    border-top: 1px solid var(--gov-line);
    font-size: 12px;
    line-height: 1.55;
}

.gov-portal .gov-benefits-premium {
    color: var(--gov-action);
    text-decoration: none;
}

.gov-portal .gov-benefits-premium:hover {
    text-decoration: underline;
}

@media (max-width: 580px) {
    .gov-portal .swal2-popup.gov-register-benefits {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-portal .gov-benefits-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-portal .gov-benefits-panel {
        padding: 26px 24px 23px;
    }

    .gov-portal .gov-benefits-heading {
        padding-right: 20px;
        font-size: 26px;
    }

    .gov-portal .gov-benefits-intro {
        margin-top: 12px;
    }

    .gov-portal .gov-benefits-free {
        padding-top: 18px;
    }

    .gov-portal .gov-register-benefits .swal2-close {
        color: #dce9e1;
    }

    .gov-portal .gov-register-benefits .swal2-close:hover {
        background: var(--gov-action);
        color: var(--gov-paper);
    }

    .gov-portal .gov-benefits-list {
        padding: 24px;
    }

    .gov-portal .gov-register-benefits .swal2-actions {
        grid-column: 1;
        flex-direction: column;
        gap: 4px;
        padding: 20px 24px 0;
    }

    .gov-portal .gov-register-benefits .swal2-actions .btn {
        width: 100%;
    }

    .gov-portal .gov-register-benefits .swal2-confirm {
        order: -1;
    }

    .gov-portal .gov-register-benefits .swal2-footer {
        grid-row: 3;
        justify-content: center;
        padding: 10px 24px 20px;
        border-top: 0;
    }
}

.gov-portal .swal2-container { z-index: 1100; }
.gov-portal .modal-content, .gov-portal .swal2-popup { border: 0; border-radius: 10px; background: #fff; color: var(--gov-ink); box-shadow: 0 16px 48px #102c2329; }
.gov-portal .modal-body { padding: 30px; }
.gov-portal .modal-header-title, .gov-portal .swal2-title { color: var(--gov-green-deep); font-family: inherit; font-size: 25px; }
.gov-portal .swal2-html-container { color: var(--gov-ink); font-family: inherit; line-height: 1.6; }
.gov-portal .swal2-styled.swal2-confirm { background: var(--gov-action) !important; border-radius: 5px; }
.gov-portal .swal2-popup .btn-theme-cancel { background: var(--gov-soft) !important; border-color: var(--gov-line) !important; color: var(--gov-action) !important; }

/* «Лаконичное» оформление общего запроса почты. Штатные inputLabel, email-input,
   ошибки и кнопки SweetAlert сохраняют доступные связи и исходную отправку. */
.gov-portal .swal2-popup.gov-email-request {
    width: min(500px, calc(100vw - 24px));
    max-width: none;
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 12px;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-synthesis: none;
}

.gov-portal .gov-email-request .swal2-header {
    flex: 0 0 auto;
    align-items: stretch;
    padding: 28px 54px 19px 28px;
}

.gov-portal .gov-email-request .swal2-title {
    display: flex !important;
    justify-content: flex-start;
    align-items: center;
    gap: 12px;
    margin: 0 !important;
    color: var(--gov-green-deep);
    font-size: 24px !important;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -.025em;
    text-align: left;
}

.gov-portal .gov-email-request .swal2-title::before {
    content: '\e75a';
    content: '\e75a' / '';
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: var(--gov-soft);
    color: var(--gov-action);
    font-family: 'themify';
    font-size: 19px;
    font-weight: 400;
    line-height: 40px;
    text-align: center;
}

.gov-portal .gov-email-request .swal2-close {
    top: 10px;
    right: 10px;
    width: 44px;
    height: 44px;
    border-radius: 5px;
    color: var(--gov-muted);
}

.gov-portal .gov-email-request .swal2-close:hover {
    background: var(--gov-soft);
    color: var(--gov-action);
}

.gov-portal .gov-email-request .swal2-content {
    margin: 0;
    padding: 0 28px;
    color: var(--gov-muted);
    font-size: 14px;
    line-height: 1.7;
    text-align: left;
}

.gov-portal .gov-email-request .swal2-html-container {
    margin: 0;
    color: inherit;
    font: inherit;
}

.gov-portal .gov-email-request .swal2-input-label {
    position: relative;
    display: block;
    margin: 23px 0 7px;
    color: var(--gov-ink);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.6;
    text-align: left;
}

/* Иконка принадлежит подписи, а не заменяет её; отступ учитывает соседнее поле 48px. */
.gov-portal .gov-email-request .swal2-input-label::after {
    content: '\e75a';
    content: '\e75a' / '';
    position: absolute;
    top: calc(100% + 22px);
    left: 13px;
    color: var(--gov-muted);
    font-family: 'themify';
    font-size: 18px;
    line-height: 18px;
    pointer-events: none;
}

.gov-portal .gov-email-request .swal2-input {
    flex: 0 0 auto;
    box-sizing: border-box;
    width: 100%;
    height: 48px;
    margin: 0 0 28px;
    padding: 11px 13px 11px 40px;
    border: 1px solid #b8c7bc;
    border-radius: 5px;
    background: var(--gov-paper);
    box-shadow: none;
    color: var(--gov-ink);
    font-family: inherit;
    font-size: 16px;
    line-height: 1.5;
}

.gov-portal .gov-email-request .swal2-input::placeholder {
    color: #66766d;
    opacity: 1;
}

.gov-portal .gov-email-request .swal2-validation-message {
    margin: -14px 0 24px;
    padding: 10px 12px;
    border-radius: 5px;
    background: #faeeeb;
    color: #953b30;
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
}

.gov-portal .gov-email-request .swal2-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    margin: 0 !important;
    padding: 18px 28px;
    border-top: 1px solid var(--gov-line);
    background: var(--gov-paper);
}

.gov-portal .gov-email-request .swal2-actions .btn {
    min-height: 44px;
    margin: 0;
    padding: 10px 17px;
    border-radius: 5px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    white-space: nowrap;
}

.gov-portal .gov-email-request .swal2-cancel {
    border: 1px solid var(--gov-line) !important;
    background: var(--gov-paper) !important;
}

.gov-portal .gov-email-request .swal2-cancel:hover {
    background: var(--gov-soft) !important;
}

.gov-portal .gov-email-request .swal2-confirm::after {
    content: '\e628';
    content: '\e628' / '';
    display: inline-block;
    margin-left: 10px;
    font-family: 'themify';
    font-size: 14px;
    font-weight: 400;
    vertical-align: middle;
}

@media (max-width: 480px) {
    .gov-portal .swal2-popup.gov-email-request {
        padding: 0;
    }

    .gov-portal .gov-email-request .swal2-header {
        padding: 38px 48px 18px 20px;
    }

    .gov-portal .gov-email-request .swal2-title {
        font-size: 23px !important;
    }

    .gov-portal .gov-email-request .swal2-title::before {
        display: none;
    }

    .gov-portal .gov-email-request .swal2-content {
        padding-right: 20px;
        padding-left: 20px;
    }

    .gov-portal .gov-email-request .swal2-actions {
        gap: 8px;
        padding: 16px 20px;
    }

    .gov-portal .gov-email-request .swal2-actions .btn {
        padding-right: 12px;
        padding-left: 12px;
    }

    .gov-portal .gov-email-request .swal2-confirm {
        flex: 1 1 auto;
    }
}

.gov-portal .swal2-popup .multiselectdivcontainer { text-align: left; }
.gov-portal .swal2-popup .multiselectdivcontainer .radio-custom-label { min-height: 44px; padding-top: 10px; padding-bottom: 10px; padding-right: 8px; border-radius: 5px; overflow-wrap: anywhere; }
/* В строках с числом лотов индикатор привязан к первой строке текста,
   а не к верхнему краю label. Обе части выбранного индикатора сдвигаются вместе. */
.gov-portal .swal2-popup .multiselectdivcontainer .radio-custom + .radio-custom-label::before {
    top: calc(10px + .5rem - 9px);
}

.gov-portal .swal2-popup .multiselectdivcontainer .radio-custom + .radio-custom-label::after {
    top: calc(10px + .5rem - 5px);
}

/* У общего пункта одна строка: центрируем индикатор по всей высоте строки. */
.gov-portal .swal2-popup .multiselectdivcontainer .deselectall + .radio-custom-label::before {
    top: calc(50% - 9px);
}

.gov-portal .swal2-popup .multiselectdivcontainer .deselectall + .radio-custom-label::after {
    top: calc(50% - 5px);
}
.gov-portal .swal2-popup .multiselectdivcontainer .radio-custom-label:hover,
.gov-portal .swal2-popup .multiselectdivcontainer .radio-custom:checked + .radio-custom-label { background: var(--gov-soft); }
.gov-portal .swal2-popup .multiselectdivcontainer .radio-custom:checked + .radio-custom-label::before,
.gov-portal .swal2-popup .multiselectdivcontainer .radio-custom:checked + .radio-custom-label::after { background-color: var(--gov-action) !important; border-color: var(--gov-action) !important; }
.gov-portal .swal2-popup .multiselectdivcontainer .search-elems-container { margin-left: 0; margin-right: 0; }

/* «Реестр» применяется только к двум окнам выбора. ID уже создаёт штатный
   swalradioselect: копирование значений, поиск, подтверждение и отмена не меняются.
   Высоту распределяет flex: заголовок, поиск и действия остаются вне прокрутки. */
.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) {
    display: flex !important;
    flex-direction: column;
    width: min(700px, calc(100vw - 32px));
    height: min(680px, calc(100vh - 32px));
    height: min(680px, calc(100dvh - 32px));
    max-width: none;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border-radius: 12px;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-synthesis: none;
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-header {
    flex: 0 0 auto;
    padding: 25px 60px 20px 26px;
    align-items: stretch;
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-title {
    justify-content: flex-start;
    margin: 0 !important;
    color: var(--gov-green-deep);
    font-size: 24px !important;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -.025em;
    text-align: left;
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-close {
    top: 13px;
    right: 12px;
    width: 44px;
    height: 44px;
    color: var(--gov-muted);
    border-radius: 5px;
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-close:hover {
    background: var(--gov-soft);
    color: var(--gov-green-deep);
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-height: 0;
    margin: 0;
    padding: 0 26px;
    overflow: hidden;
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-html-container {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    overflow: hidden;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) > .filter-search-box {
    flex: 0 0 auto;
    padding: 0;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .form-group {
    margin: 0 !important;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .filterinput {
    height: 46px;
    border-radius: 6px !important;
    font-size: 16px;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .filter-search-box > .d-flex {
    margin: 14px 0 12px !important;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--gov-line);
}

/* Перекрываем только вычисленный JS max-height. Сам список и его обработчики
   остаются прежними; min-height: 0 позволяет ему сжиматься на коротком экране. */
.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .search-elems-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: min-content;
    align-content: start;
    gap: 0 18px;
    flex: 1 1 auto;
    min-height: 0;
    max-height: none !important;
    margin: 0;
    padding-right: 8px;
    overflow-x: hidden;
    overflow-y: scroll !important;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    scrollbar-width: auto;
    scrollbar-color: #8ba294 var(--gov-ground);
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .search-elems-container > div {
    width: auto;
    max-width: none;
    min-width: 0;
    margin: 0 !important;
    padding: 0;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .radio-custom-label {
    display: flex;
    align-items: flex-start;
    width: 100%;
    min-height: 65px;
    margin: 0;
    padding: 11px 12px 11px 41px;
    border-bottom: 1px solid var(--gov-line);
    border-radius: 4px;
    color: var(--gov-ink);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .search-elems-container .radio-custom-label {
    height: 100%;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .radio-custom-label > :is(div, .h6) {
    min-width: 0;
    margin: 0 !important;
    font-size: inherit;
    font-weight: 400;
    line-height: 1.5 !important;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .radio-custom-label .font-size-1rem {
    font-size: inherit !important;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .radio-custom-label small {
    display: block;
    margin-top: 2px;
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.5;
    font-variant-numeric: tabular-nums;
}

/* Обе части индикатора привязаны к первой строке подписи. Выбранное состояние
   рисуется зелёной точкой; доступный label продолжает переключать исходный radio. */
.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .radio-custom + .radio-custom-label::before {
    position: absolute;
    top: 13px;
    left: 12px;
    width: 18px;
    height: 18px;
    margin: 0;
    padding: 0;
    border: 1px solid #95a89a;
    background: #fff !important;
    box-shadow: none;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .radio-custom + .radio-custom-label::after {
    content: '';
    top: 18px;
    left: 17px;
    width: 8px;
    height: 8px;
    border: 0;
    background: var(--gov-action) !important;
    box-shadow: none;
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .radio-custom:checked + .radio-custom-label {
    color: var(--gov-green-deep);
    background: var(--gov-soft);
}

.gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .deselectall + .radio-custom-label {
    min-height: 44px;
    border: 0;
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    margin: 0 !important;
    padding: 17px 26px;
    border-top: 1px solid var(--gov-line);
    background: #fff;
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-actions .btn {
    min-height: 44px;
    margin: 0;
    padding: 10px 17px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    white-space: nowrap;
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-cancel {
    border: 1px solid var(--gov-line) !important;
    background: #fff !important;
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-cancel:hover {
    background: var(--gov-soft) !important;
}

.gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-confirm::after {
    content: '\e628';
    /* Стрелка декоративная: доступное имя кнопки остаётся «Выбрать». */
    content: '\e628' / '';
    display: inline-block;
    margin-left: 10px;
    font-family: 'themify';
    font-size: 14px;
    font-weight: 400;
    vertical-align: middle;
}

@media (max-width: 560px) {
    .gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) {
        width: calc(100vw - 24px);
        height: calc(100vh - 24px);
        height: calc(100dvh - 24px);
        max-height: 760px;
    }

    .gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-header {
        padding: 22px 56px 18px 20px;
    }

    .gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-title {
        font-size: 23px !important;
    }

    .gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-content {
        padding-right: 20px;
        padding-left: 20px;
    }

    .gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .search-elems-container {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-actions {
        padding: 14px 20px;
    }

    .gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-confirm {
        flex: 1 1 auto;
    }
}

/* На невысоком экране сокращаем только внешние отступы, сохраняя поле поиска
   и обе кнопки доступными без прокрутки всего SweetAlert. */
@media (max-height: 500px) {
    .gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-header {
        padding-top: 14px;
        padding-bottom: 12px;
    }

    .gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-close {
        top: 5px;
    }

    .gov-portal :is(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .filter-search-box > .d-flex {
        margin-top: 8px !important;
        margin-bottom: 8px !important;
        padding-bottom: 8px;
    }

    .gov-portal .swal2-popup:has(#bmultiselect_selectcategory_container, #bmultiselect_selectregion_container) .swal2-actions {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}

.gov-portal .kt-option { border-color: var(--gov-line); border-radius: 6px; }
.gov-portal .kt-option:has(input:checked) { background: var(--gov-soft); border-color: var(--gov-action); }
.gov-portal .filter_search_opt a { background: #fff; color: var(--gov-action) !important; border: 1px solid #b8c7bc; border-radius: 5px; min-height: 46px; }
.gov-portal .search-sidebar_header { background: var(--gov-green); color: #fff; }
.gov-portal .search-sidebar_header .ssh_heading, .gov-portal .search-sidebar_header button { color: #fff; }

/* Footer and existing legal/support links. */
.gov-portal .dark-footer { background: var(--gov-green-deep) !important; border-top: 3px solid var(--gov-gold); }
.gov-portal .dark-footer .footer-widget { padding-top: 36px; padding-bottom: 30px; }
.gov-portal .dark-footer, .gov-portal .dark-footer .h6,
.gov-portal .dark-footer .h5, .gov-portal .dark-footer .kt-label-font-color-1,
.gov-portal .dark-footer a { color: #dbe7df !important; }
.gov-portal .dark-footer a:hover { color: #fff !important; text-decoration: underline; }
.gov-portal .dark-footer .footer-add .h3 { color: #fff; font-size: 21px; }
.gov-portal .dark-footer .footer-add .h6 { display: block; font-size: 13px; font-weight: 400; line-height: 1.75; }
.gov-portal .dark-footer .footer-menu li { margin-bottom: 9px; }
.gov-portal .dark-footer .footer-menu a { font-size: 13px; }
.gov-portal .dark-footer .footer-bottom { padding: 0; border: 0; }
.gov-portal .top-scroll { background: var(--gov-action); border-radius: 5px; }
.gov-portal .gov-document { max-width: 76ch; margin-left: auto; margin-right: auto; }
.gov-portal .gov-document p { max-width: 72ch; line-height: 1.8; }
.gov-error .code { color: var(--gov-green); border-color: var(--gov-gold); font-weight: 600; }
.gov-error .message, .gov-error .text-grey-darker { color: var(--gov-ink); }
.gov-error .bg-purple-light { background-color: var(--gov-gold); }
.gov-error .bg-white { background-color: var(--gov-ground); }

@media (min-width: 992px) {
    .gov-portal .gov-search .gov-search-sidebar { display: block !important; }
    .gov-portal .gov-directory .single-widgets ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 36px; }
    .gov-portal .gov-directory .single-widgets li > a { height: 100%; }
}

@media (max-width: 1199.98px) and (min-width: 992px) {
    .gov-portal .header .nav-menu > li > a { font-size: 12px; padding-left: 8px; padding-right: 8px; }
    .gov-portal .header .font-20 { font-size: 18px !important; }
    .gov-portal .property-listing .listing-card-info-price { font-size: 20px; }
}

@media (max-width: 991.98px) {
    /* Выдвижное меню имеет белый фон, поэтому наследуемый светлый фокус шапки
       здесь заменяется зелёным. Кнопка закрытия фильтров остаётся на зелёном. */
    .gov-portal .header .nav-menus-wrapper {
        --gov-control-focus: var(--gov-action);
    }
    .gov-portal .header .navigation { min-height: 76px; }
    .gov-portal .header .nav-menus-wrapper { max-width: 100%; background: #fff; }
    .gov-portal .header .nav-menus-wrapper.nav-menus-wrapper-open { border-left: 1px solid var(--gov-line); }
    .gov-portal .header .nav-menus-wrapper .nav-menu > li > a { color: var(--gov-ink) !important; padding: 16px 20px; }
    .gov-portal .header .nav-menus-wrapper .nav-menu > li.active > a { color: var(--gov-action) !important; background: var(--gov-soft); }
    /* Внутри выдвижного меню действия располагаются вертикально. Отступ задаётся
       общей группе: ссылка шириной 100% больше не складывается с внешними margin. */
    .gov-portal .header .nav-menus-wrapper .nav-menu.nav-menu-social {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        width: 100%;
        margin: 0;
        padding: 16px 20px 20px;
        box-sizing: border-box;
    }

    .gov-portal .header .nav-menus-wrapper .nav-menu.nav-menu-social > li {
        display: block;
        float: none;
        width: 100%;
        margin: 0;
    }

    .gov-portal .header .nav-menus-wrapper .nav-menu.nav-menu-social > .add-listing {
        padding: 0 !important;
    }

    /* Это обычная ссылка открытия формы, поэтому общий сброс жирности .btn к ней
       не применялся. Семейство и вес задаём самой ссылке, сохраняя шрифт иконок. */
    .gov-portal .header .nav-menus-wrapper .nav-menu.nav-menu-social > li > a {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        width: 100%;
        min-height: 44px;
        margin: 0;
        padding: 10px 14px;
        box-sizing: border-box;
        font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
        font-weight: 400;
        font-synthesis: none;
        line-height: 1.4;
        overflow-wrap: anywhere;
        text-shadow: none;
    }

    .gov-portal .header .nav-menus-wrapper .nav-menu > .add-listing > a {
        margin: 0;
        border-color: var(--gov-action);
        background: var(--gov-action);
        color: #fff !important;
    }

    .gov-portal .header .nav-menus-wrapper .nav-menu > .add-listing > a:hover,
    .gov-portal .header .nav-menus-wrapper .nav-menu > .add-listing > a:focus-visible {
        border-color: var(--gov-action-hover);
        background: var(--gov-action-hover);
    }
    .gov-portal .header .nav-menus-wrapper-close-button { color: var(--gov-green); }
    .gov-portal .b-deep-search .simple-sidebar { border-radius: 0; padding: 0; }
    .gov-portal .b-deep-search .sidebar-widgets { padding: 20px; }
    .gov-portal .b-deep-search .sticky-top-deepsearch { top: 0; max-height: 100%; }
    .gov-portal .sm-sidebar { width: min(100%, 380px); background: #fff !important; z-index: 1080; }
    .gov-portal .search-sidebar_header { display: flex; align-items: center; justify-content: space-between; height: auto; min-height: 64px; margin: 0; padding: 10px 18px; }
    .gov-portal .search-sidebar_header .ssh_heading { margin: 0; font-size: 16px; }
    .gov-portal .simple-sidebar .search-sidebar_header button.w3-bar-item.w3-button.w3-large { position: static; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; background: transparent !important; color: #fff !important; }
    .gov-portal .simple-sidebar .search-sidebar_header button.w3-bar-item.w3-button.w3-large:focus-visible { outline: 2px solid var(--gov-control-focus-on-dark) !important; outline-offset: 2px; }
    .gov-portal .gov-profile .dashboard-wraper { padding: 22px; }
}

@media (max-width: 767.98px) {
    .gov-portal { font-size: 14px; }
    .gov-portal .page-title { padding-top: 25px !important; padding-bottom: 25px !important; }
    .gov-portal .page-title .text-light { font-size: 13px; }
    .gov-portal .form-control, .gov-portal .form-select { font-size: 16px; }
    .gov-portal .b-deep-search > section { padding-top: 18px !important; }
    .gov-portal .b-deep-search .item-shorting-box { gap: 8px; padding-bottom: 14px; }
    .gov-portal .b-deep-search .item-shorting-box-right { margin-left: 0; }
    .gov-portal .property-listing .listing-content > .d-md-flex > .p-2 { padding: 16px 16px 0 !important; }
    .gov-portal .property-listing picture img { width: 100%; max-width: 100%; height: 180px; }
    .gov-portal .property-listing .listing-content > .d-md-flex > .p-2 > a,
    .gov-portal .property-listing .listing-content > .d-md-flex > .p-2 picture { width: 100%; }
    .gov-portal .property-listing .h5 { font-size: 16px; }
    .gov-portal .listing-card-info-price { font-size: 24px; }
    .gov-portal .property_types_vlix.text-nowrap { white-space: normal !important; }
    .gov-portal .gov-lot .property_block_wrap.p-4 { padding: 20px !important; }
    .gov-portal .gov-directory .single-widgets { padding: 16px !important; }
    .gov-portal .gov-directory .single-widgets li > a { align-items: flex-start !important; gap: 10px; font-size: 13px; }
    .gov-portal .gov-directory .single-widgets li > a > :first-child { min-width: 0; }
    .gov-portal .gov-directory .single-widgets li > a .text-nowrap { white-space: normal !important; text-align: right; flex-shrink: 0; max-width: 35%; }
    .gov-portal .gov-profile .dashboard-wraper { padding: 16px; }
    .gov-portal .gov-profile .form-submit .form-group { margin-bottom: 20px; }
    .gov-portal .modal-body { padding: 24px 18px; }
    .gov-portal .swal2-popup { max-width: calc(100vw - 24px); padding: 18px 12px; }
    .gov-portal .dark-footer .footer-widget { padding-top: 24px; padding-bottom: 8px; }
    .gov-portal .dark-footer > div > .container > .row { padding-bottom: 24px; }
}

@media (max-width: 359.98px) {
    .gov-portal .header .font-20 { font-size: 17px !important; }
    .gov-portal .b-deep-search .item-shorting-box-right { width: 100%; }
    .gov-portal .property-listing .listing-content > .d-md-flex > .w-100 { padding-left: 12px !important; padding-right: 12px !important; }
    .gov-portal .property_types_vlix { font-size: 11px; padding-left: 6px; padding-right: 6px; }
}

@media (prefers-reduced-motion: reduce) {
    .gov-portal *, .gov-portal *::before, .gov-portal *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Личный кабинет: отдельный слой оформления сохраняет серверные шаблоны,
   селекторы DataTables и существующий механизм выдвижного меню. */
.gov-portal .gov-account-layout {
    --bs-gutter-x: 24px;
    align-items: start;
}

.gov-portal .gov-account-sidebar {
    padding: 0 !important;
    border: 1px solid var(--gov-line);
    border-radius: 8px;
    background: var(--gov-paper);
    box-shadow: none;
}

.gov-portal .gov-account-sidebar .sidebar-widgets {
    padding: 0;
}

.gov-portal .gov-account-sidebar .d-user-avater {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    column-gap: 12px;
    margin: 0;
    padding: 24px 16px;
    text-align: left;
}

.gov-portal .gov-account-sidebar .gov-account-avatar {
    display: inline-flex;
    grid-row: span 2;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: var(--gov-soft);
    color: var(--gov-green);
}

.gov-portal .gov-account-sidebar .d-user-avater h4 {
    margin: 0 0 4px;
    font-size: 14px;
}

.gov-portal .gov-account-sidebar .d-user-avater > span:last-child {
    font-size: 12px;
}

.gov-portal .gov-account-sidebar .d-navigation {
    padding: 10px 8px;
}

.gov-portal .gov-account-sidebar .d-navigation li {
    padding: 0 !important;
    background: transparent !important;
}

.gov-portal .gov-account-sidebar .d-navigation li a {
    display: flex;
    align-items: center;
    min-height: 44px;
    padding: 11px 12px;
    border-radius: 5px;
    color: var(--gov-ink) !important;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.gov-portal .gov-account-sidebar .d-navigation li.active > a {
    background: var(--gov-soft);
    color: var(--gov-green) !important;
    font-weight: 600;
}

.gov-portal .gov-account-sidebar .d-navigation a:hover {
    background: var(--gov-soft);
}

.gov-portal .gov-account-sidebar .widget-boxed-body,
.gov-portal .gov-account-sidebar .card-body {
    padding: 0 0 0 14px;
}

.gov-portal .gov-account-sidebar .side-list {
    padding: 0;
}

.gov-portal .gov-account-sidebar .filter-list {
    border-left: 1px solid var(--gov-line);
    padding-left: 10px;
}

.gov-portal .gov-account-sidebar .filter-list li a {
    font-size: 12px;
}

.gov-portal .gov-account-content .gov-account-main {
    min-width: 0;
    padding: 26px;
    border: 1px solid var(--gov-line);
    border-radius: 8px;
    background: var(--gov-paper);
    box-shadow: none;
    font-size: 14px;
}

/* Старые portlet-обёртки остаются для совместимости, но не образуют вложенные карточки. */
.gov-portal .gov-account-main .kt-portlet {
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.gov-portal .gov-account-main .kt-portlet__head,
.gov-portal .gov-account-main .kt-portlet__body,
.gov-portal .gov-account-main .kt-portlet__foot {
    min-height: 0;
    padding: 0;
    border: 0;
}

.gov-portal .gov-account-main .gov-account-title,
.gov-portal .gov-account-main .kt-portlet__head .kt-portlet__head-label .gov-account-title {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 14px;
    margin: 0 0 24px;
    color: var(--gov-green-deep);
    font-size: 27px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -.025em;
}

.gov-portal .gov-account-main .gov-account-title small {
    color: var(--gov-muted);
    font-size: 12px;
    font-weight: 400;
    letter-spacing: normal;
}

.gov-portal .gov-account-main .form-submit h3,
.gov-portal .gov-account-main .gov-account-subtitle {
    margin: 0 0 20px;
    font-size: 19px;
}

.gov-portal .gov-account-main .alert {
    display: block;
    margin-bottom: 24px !important;
    padding: 15px 16px;
    border: 0;
    border-radius: 5px;
    background: var(--gov-soft);
    color: #405b4b;
    font-size: 13px;
    line-height: 1.7;
}

.gov-portal .gov-account-main .alert.bg-light {
    background: var(--gov-soft) !important;
}

.gov-portal .gov-account-main .alert .alert-text {
    color: inherit;
    font-size: inherit;
    font-weight: 400;
}

.gov-portal .gov-account-main .alert-warning {
    background: #fbf5e5;
    color: #71591f;
}

.gov-portal .gov-account-main .alert :is(img, svg) {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.gov-portal .gov-account-main .alert .alert-icon {
    margin-bottom: 5px;
    font-weight: 500;
}

.gov-portal .gov-account-main .alert .alert-icon img {
    margin-right: 8px;
}

.gov-portal .gov-account-main .form-group {
    margin-bottom: 24px;
}

.gov-portal .gov-account-main .form-group label {
    margin-bottom: 8px;
    font-size: 13px;
    text-align: left !important;
}

.gov-portal .gov-account-main .form-control {
    min-height: 48px;
}

.gov-portal .gov-account-main .form-text,
.gov-portal .gov-account-main .kt-link.kt-font-sm {
    display: inline-block;
    margin-top: 8px;
    font-size: 12px;
}

.gov-portal .gov-account-main .gov-account-password-form {
    margin-top: 30px !important;
    padding-top: 30px;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .gov-account-main .btn,
.gov-portal .gov-account-main .gov-account-pay {
    max-width: 100%;
    overflow-wrap: normal;
    word-break: normal;
}

.gov-portal .gov-account-main .btn-brand {
    border-color: var(--gov-action) !important;
    background: var(--gov-action) !important;
    color: var(--gov-paper) !important;
}

.gov-portal .gov-account-main .btn-brand:hover {
    border-color: var(--gov-action-hover) !important;
    background: var(--gov-action-hover) !important;
}

/* Запрет переноса относится к самому действию, включая его копию в child-строке.
   Минимальная ширина учитывается штатным Responsive до скрытия вторичных колонок. */
.gov-portal .gov-account-main .gov-account-pay {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    min-height: 36px;
    padding: 8px 12px;
    border: 1px solid var(--gov-action);
    border-radius: 5px;
    background: var(--gov-action);
    color: var(--gov-paper) !important;
    font-size: 13px;
    line-height: 1.4;
    white-space: nowrap !important;
}

.gov-portal .gov-account-main .gov-account-pay:hover {
    border-color: var(--gov-action-hover);
    background: var(--gov-action-hover);
}

/* Меняются только поверхности и размеры; строки, сортировку и пагинацию выводит прежний JS. */
.gov-portal .gov-account-main table {
    width: 100% !important;
    margin: 0 0 10px !important;
    border: 0;
    border-spacing: 0;
    border-collapse: collapse;
    color: var(--gov-ink);
    font-size: 13px;
}

.gov-portal .gov-account-main table th,
.gov-portal .gov-account-main table.dataTable thead th {
    padding: 13px 12px;
    border: 0;
    border-bottom: 1px solid var(--gov-line);
    border-radius: 0;
    background: #f5f7f6;
    color: #405b4b;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    text-align: left;
}

.gov-portal .gov-account-main table td {
    padding: 20px 12px;
    border: 0;
    border-bottom: 1px solid var(--gov-line);
    background: transparent;
    box-shadow: none;
    line-height: 1.6;
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.gov-portal .gov-account-main table tbody tr:last-child > td {
    border-bottom: 0;
}

.gov-portal .gov-account-main .table-striped > tbody > tr:nth-of-type(odd) > * {
    --bs-table-accent-bg: transparent;
    background: transparent;
    box-shadow: none;
}

.gov-portal .gov-account-main .table-striped > tbody > tr:nth-of-type(odd) {
    background: transparent;
}

.gov-portal .gov-account-main table tbody tr:hover > td {
    background: #fafcfb;
}

.gov-portal .gov-account-main .js-orders-table td:nth-child(1),
.gov-portal .gov-account-main .js-orders-table td:nth-child(2),
.gov-portal .gov-account-main .js-orders-table td:nth-child(4),
.gov-portal .gov-account-main .js-orders-table td:nth-child(5),
.gov-portal .gov-account-main .kt-badge,
.gov-portal .gov-account-main .table-property-price {
    white-space: nowrap;
}

.gov-portal .gov-account-main .kt-badge,
.gov-portal .gov-account-main .table-property-price {
    display: inline-block;
    width: auto;
    height: auto;
    margin: 6px 3px 0 0;
    padding: 3px 7px;
    border-radius: 4px;
    background: #edf0ed;
    color: #4d5e53;
    font-size: 11px;
    font-weight: 400;
    line-height: 1.55;
}

.gov-portal .gov-account-main .kt-badge--unified-success {
    background: #e4f0e6;
    color: #245c3d;
}

.gov-portal .gov-account-main .kt-badge--unified-brand {
    background: #fbf5e5;
    color: #71591f;
}

.gov-portal .gov-account-main .js-favourite-table td.property-container {
    display: table-cell;
    min-width: 170px;
    width: auto;
    text-align: left;
}

.gov-portal .gov-account-main .js-favourite-table th:first-child {
    width: auto;
}

.gov-portal .gov-account-main .js-favourite-table .property-container picture {
    display: block;
    float: left;
    margin: 0 14px 0 0 !important;
}

.gov-portal .gov-account-main .js-favourite-table .property-container img {
    display: block;
    width: 86px;
    height: 64px;
    margin: 0;
    border-radius: 5px;
    object-fit: cover;
}

.gov-portal .gov-account-main .js-favourite-table .title h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
}

.gov-portal .gov-account-main .js-favourite-table td:nth-child(2),
.gov-portal .gov-account-main .js-lothistory-table td:nth-child(3) {
    color: var(--gov-green-deep);
    font-size: 15px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gov-portal .gov-account-main .js-favourite-table td.action a {
    min-height: 36px;
    margin: 0 0 0 8px;
    padding: 8px 0;
    font-size: 12px;
    line-height: 1.6;
}

.gov-portal .gov-account-main .js-favourite-table td.action a i {
    background: transparent;
}

.gov-portal .gov-account-main .dataTables_wrapper .row {
    align-items: center;
    row-gap: 12px;
}

.gov-portal .gov-account-main .dataTables_wrapper label,
.gov-portal .gov-account-main .dataTables_info {
    color: var(--gov-muted);
    font-size: 12px;
    font-weight: 400;
}

.gov-portal .gov-account-main .dataTables_wrapper .form-control,
.gov-portal .gov-account-main .dataTables_wrapper .form-select {
    min-height: 36px;
    height: 36px;
    padding: 5px 9px;
    font-size: 14px;
}

.gov-portal .gov-account-main .dataTables_filter input {
    max-width: 160px;
}

.gov-portal .gov-account-main .dataTables_info {
    padding-top: 12px;
}

.gov-portal .gov-account-main .page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 34px;
    min-height: 34px;
    margin-left: 4px;
    border-radius: 4px;
    border-color: var(--gov-line) !important;
    background: var(--gov-paper) !important;
    color: var(--gov-action) !important;
    box-shadow: none !important;
}

.gov-portal .gov-account-main .page-item.active .page-link {
    border-color: var(--gov-action) !important;
    background: var(--gov-action) !important;
    color: var(--gov-paper) !important;
}

.gov-portal .gov-account-main .page-item.disabled .page-link {
    color: var(--gov-muted) !important;
    opacity: .5;
}

/* Штатные дочерние строки остаются читаемыми после переноса скрытых столбцов. */
.gov-portal .gov-account-main table.dataTable > tbody > tr.child ul.dtr-details {
    display: block;
    width: 100%;
}

.gov-portal .gov-account-main table.dataTable > tbody > tr.child > td {
    white-space: normal;
}

.gov-portal .gov-account-main table.dataTable > tbody > tr.child ul.dtr-details > li {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px 16px;
    padding: 10px 0;
    border: 0;
}

.gov-portal .gov-account-main .dtr-title {
    min-width: 80px;
    color: var(--gov-muted);
    font-size: 12px;
    font-weight: 400 !important;
}

.gov-portal .gov-account-main .dtr-data {
    min-width: 0;
    overflow-wrap: anywhere;
}

.gov-portal .gov-account-main .nav-tabs {
    gap: 8px 20px;
    margin-bottom: 24px;
    padding: 0 !important;
    border-color: var(--gov-line);
}

.gov-portal .gov-account-main .nav-tabs .nav-link {
    margin: 0;
    padding: 12px 0;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    color: var(--gov-muted);
    font-size: 13px;
    background: transparent !important;
}

.gov-portal .gov-account-main .nav-tabs .nav-link.active {
    border-bottom-color: var(--gov-action) !important;
    background: transparent;
    color: var(--gov-green) !important;
}

.gov-portal .gov-account-main .nav-tabs .nav-link.active i,
.gov-portal .gov-account-main .kt-notification .kt-notification__item .kt-notification__item-icon i {
    color: var(--gov-action) !important;
}

.gov-portal .gov-account-main .kt-notification__item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 24px 0;
    border-bottom: 1px solid var(--gov-line);
}

.gov-portal .gov-account-main .kt-notification__item-icon {
    flex-shrink: 0;
    width: 22px;
    color: var(--gov-action);
}

.gov-portal .gov-account-main .kt-notification__item-time {
    margin-top: 10px;
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-account-password .kt-section__body,
.gov-portal .gov-account-password .kt-form__actions {
    max-width: 440px;
}

.gov-portal .gov-account-password .form-group.row {
    display: block;
}

.gov-portal .gov-account-password .form-group.row > * {
    width: 100%;
    max-width: 100%;
}

.gov-portal .gov-account-main .gov-account-current-plan {
    gap: 24px;
    margin-bottom: 30px !important;
    padding: 8px 0 28px;
    border-bottom: 1px solid var(--gov-line);
    border-radius: 0;
    background: transparent;
    color: var(--gov-ink);
}

.gov-portal .gov-account-current-plan h2,
.gov-portal .gov-account-current-plan h3 {
    font-size: 19px;
}

.gov-portal .gov-account-current-plan p {
    margin: 0;
    color: var(--gov-muted);
}

.gov-portal .gov-account-plans {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 24px 0 30px;
    border: 1px solid var(--gov-line);
    border-radius: 5px;
}

.gov-portal .gov-account-plan {
    display: flex;
    flex-direction: column;
    padding: 20px 16px;
    border-right: 1px solid var(--gov-line);
}

.gov-portal .gov-account-plan:last-child {
    border-right: 0;
}

.gov-portal .gov-account-plan h3 {
    margin: 0 0 4px;
    font-size: 19px;
}

.gov-portal .gov-account-plan h5 {
    margin: 0;
    color: var(--gov-muted);
    font-size: 12px;
    font-weight: 400;
}

.gov-portal .gov-account-plan-price {
    margin: 20px 0;
    color: var(--gov-green-deep);
    font-size: 29px;
    font-weight: 600;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
}

.gov-portal .gov-account-plan-price small {
    font-size: 14px;
    font-weight: 400;
}

.gov-portal .gov-account-plan > p:not(.gov-account-plan-price),
.gov-portal .gov-account-plan > ul {
    margin: 0 0 24px !important;
    padding-left: 0;
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.8;
}

.gov-portal .gov-account-plan > ul {
    padding-left: 16px;
}

.gov-portal .gov-account-plan > .btn {
    width: 100%;
    margin: auto 0 0 !important;
    white-space: normal !important;
}

.gov-portal .gov-account-plan:not(:nth-child(2)) > .btn {
    border-color: #b8c7bc !important;
    background: var(--gov-paper) !important;
    color: var(--gov-action) !important;
}

.gov-portal .gov-account-plan:not(:nth-child(2)) > .btn:hover {
    background: var(--gov-soft) !important;
}

.gov-portal .gov-account-main .gov-account-comparison {
    margin-top: 30px;
}

.gov-portal .gov-account-comparison table td {
    padding-top: 14px;
    padding-bottom: 14px;
}

.gov-portal .gov-account-comparison table td:not(:first-child) {
    text-align: center;
    word-break: normal !important;
    overflow-wrap: normal;
}

.gov-portal .gov-account-comparison .btn.full-width {
    width: auto;
    margin-top: 20px;
}

.gov-portal .gov-account-verify {
    max-width: 560px;
}

.gov-portal .gov-account-verify .gov-account-verify-intro {
    margin: 0 0 24px;
    line-height: 1.8;
}

@media (min-width: 992px) {
    .gov-portal .gov-account-layout {
        display: grid;
        grid-template-columns: 240px minmax(0, 1fr);
    }

    .gov-portal .gov-account-layout > * {
        width: auto;
        max-width: none;
    }

    .gov-portal .gov-account-sidebar {
        display: block !important;
    }
}

@media (max-width: 991.98px) {
    .gov-portal .gov-account-content .gov-account-main {
        padding: 20px;
    }

    .gov-portal .gov-account-sidebar {
        min-width: 0;
        max-width: min(100%, 380px);
        border-radius: 0;
    }

    .gov-portal .gov-account-sidebar .search-sidebar_header {
        background: var(--gov-green);
    }

    .gov-portal .gov-account-sidebar .ssh_heading {
        color: var(--gov-paper);
    }

    .gov-portal .gov-profile .filter_search_opt a {
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 44px;
        padding: 12px 16px;
        border: 1px solid var(--gov-line);
        border-radius: 5px;
        background: var(--gov-paper);
        color: var(--gov-action);
        font-size: 13px;
    }
}

@media (max-width: 767.98px) {
    .gov-portal .gov-profile {
        padding-top: 20px;
    }

    .gov-portal .gov-account-content .gov-account-main {
        padding: 16px;
    }

    .gov-portal .gov-account-main .gov-account-title {
        font-size: 24px;
    }

    .gov-portal .gov-account-main .dataTables_wrapper .row > * {
        width: 100%;
        text-align: left;
    }

    .gov-portal .gov-account-main .dataTables_length,
    .gov-portal .gov-account-main .dataTables_filter {
        text-align: left;
    }

    .gov-portal .gov-account-main .dataTables_filter label {
        display: flex;
        align-items: center;
        width: 100%;
        gap: 8px;
    }

    .gov-portal .gov-account-main .dataTables_filter input {
        flex: 1;
        min-width: 0;
        max-width: none;
        font-size: 16px;
    }

    .gov-portal .gov-account-main .dataTables_paginate .pagination {
        justify-content: flex-start !important;
        flex-wrap: wrap;
    }

    .gov-portal .gov-account-main .gov-account-current-plan .btn {
        white-space: normal !important;
    }

    /* Фото остаётся прежним picture/GlideImage, но название читается целиком под ним. */
    .gov-portal .gov-account-main .js-favourite-table .property-container picture {
        float: none;
        margin: 0 0 12px !important;
    }

    .gov-portal .gov-account-main .js-favourite-table .property-container .title {
        width: 100%;
    }

    /* Состав записи истории не меняется: CSS раскладывает исходные четыре ячейки
       в две колонки. Заголовки остаются доступны скринридеру; собственный JS не нужен. */
    .gov-portal .gov-account-main .js-lothistory-table,
    .gov-portal .gov-account-main .js-lothistory-table tbody {
        display: block;
    }

    .gov-portal .gov-account-main .js-lothistory-table thead {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .gov-portal .gov-account-main .js-lothistory-table tbody > tr:not(.child) {
        display: grid;
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 8px 12px;
        padding: 18px 0;
        border-bottom: 1px solid var(--gov-line);
    }

    .gov-portal .gov-account-main .js-lothistory-table tbody > tr > td {
        padding: 0;
        border: 0;
        text-align: left !important;
    }

    .gov-portal .gov-account-main .js-lothistory-table td:first-child {
        grid-column: 1;
        white-space: nowrap;
    }

    .gov-portal .gov-account-main .js-lothistory-table td:not(:first-child) {
        grid-column: 2;
    }

    .gov-portal .gov-account-main .js-lothistory-table td:nth-child(2) {
        font-size: 14px;
        line-height: 1.6;
    }

    .gov-portal .gov-account-main .js-lothistory-table td:nth-child(4) {
        color: var(--gov-muted);
        font-size: 12px;
    }

    /* Учитываем и текст ID, и штатный индикатор сортировки в первой колонке. */
    .gov-portal .gov-account-main #usernotestable th:first-child {
        min-width: 62px;
        padding-right: 28px;
        white-space: nowrap;
    }

    .gov-portal .gov-account-main #usernotestable td:first-child {
        min-width: 62px;
        white-space: nowrap;
    }
}

@media (max-width: 575.98px) {
    .gov-portal .gov-account-plans {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-portal .gov-account-plan {
        border-right: 0;
        border-bottom: 1px solid var(--gov-line);
    }

    .gov-portal .gov-account-plan:last-child {
        border-bottom: 0;
    }

    .gov-portal .gov-account-main table th,
    .gov-portal .gov-account-main table td {
        padding-right: 9px;
        padding-left: 9px;
        font-size: 12px;
    }

    .gov-portal .gov-account-main .nav-tabs {
        gap: 0 16px;
    }

    .gov-portal .gov-account-main .page-link {
        min-width: 44px;
        min-height: 44px;
    }

    .gov-portal .gov-account-main .gov-account-pay {
        min-height: 44px;
    }
}

/* Оставшиеся сервисные экраны наследуют айдентику портала. Все правила ограничены
   новыми хуками: оформление fssp-service и работа JS-модулей не затрагиваются. */
.gov-portal .gov-purchase {
    color: var(--gov-ink);
    font-size: 14px;
    line-height: 1.65;
    text-align: left;
}

.gov-portal .gov-purchase .kt-portlet__body {
    padding: 0;
}

.gov-portal .gov-purchase .kt-option {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 12px;
    width: 100%;
    margin: 7px 0 !important;
    padding: 16px !important;
    border: 1px solid var(--gov-line);
    border-radius: 6px;
    background: var(--gov-paper);
    color: var(--gov-ink);
    text-align: left;
}

.gov-portal .gov-purchase .kt-option:hover {
    border-color: #95a89a;
    background: #fafcfb;
}

.gov-portal .gov-purchase .kt-option:has(:focus-visible) {
    outline: 2px solid var(--gov-control-focus);
    outline-offset: 2px;
}

/* Выбор по-прежнему обрабатывается существующим change по radio.
   Нативный индикатор сохраняет фокус и понятное выбранное состояние без нового JS. */
.gov-portal .gov-purchase .kt-option__control,
.gov-portal .gov-purchase .kt-radio {
    display: block;
    width: 22px;
    margin: 0;
    padding: 2px 0 0;
}

.gov-portal .gov-purchase .kt-radio input[type="radio"] {
    position: static;
    display: block;
    width: 18px;
    height: 18px;
    margin: 0;
    opacity: 1;
    accent-color: var(--gov-action);
}

.gov-portal .gov-purchase .kt-radio > span {
    display: none;
}

.gov-portal .gov-purchase .kt-option__label {
    display: block;
    min-width: 0;
    padding: 0;
}

.gov-portal .gov-purchase .kt-option__head {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px 18px;
    padding: 0;
}

.gov-portal .gov-purchase .kt-option .kt-option__label .kt-option__head .kt-option__title {
    flex: 1 1 180px;
    color: var(--gov-green-deep);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
}

.gov-portal .gov-purchase .kt-option .kt-option__label .kt-option__head .kt-option__focus {
    color: var(--gov-green-deep) !important;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    font-variant-numeric: tabular-nums;
}

.gov-portal .gov-purchase .kt-option__focus :is(small, .h6) {
    font-size: 12px;
    font-weight: 400;
}

.gov-portal .gov-purchase .kt-option__body {
    display: block;
    margin-top: 10px;
    color: var(--gov-muted);
    font-size: 13px;
    line-height: 1.7;
}

.gov-portal .gov-purchase .badge-warning {
    margin-top: 5px;
    padding: 4px 7px;
    border-radius: 4px;
    background: #fbf5e5 !important;
    color: #71591f !important;
    font-size: 11px;
    font-weight: 400;
    white-space: normal !important;
}

.gov-portal .gov-purchase :is(.h3, .h4) {
    color: var(--gov-green-deep);
    font-size: 19px;
    font-weight: 600;
    line-height: 1.4;
}

.gov-portal .gov-purchase :is(.h5, .h6) {
    font-size: 14px;
    line-height: 1.7;
}

.gov-portal .gov-purchase .js-egrn-feature-tabs {
    margin-top: 20px;
    padding: 20px !important;
    border-radius: 5px !important;
    background: var(--gov-ground) !important;
}

.gov-portal .gov-purchase .js-egrn-feature-tabs img {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}

.gov-portal .gov-purchase .js-egrn-feature-tabs .d-flex {
    align-items: flex-start !important;
    padding: 5px 0;
}

.gov-portal .gov-purchase :is(.kt-option__body, .js-egrn-feature-tabs) ul {
    margin: 0;
    padding-left: 18px !important;
}

.gov-portal .gov-purchase + .alert {
    display: block;
    padding: 16px;
    font-size: 13px;
    line-height: 1.7;
}

.gov-portal .gov-purchase .btn,
.gov-portal .gov-support-form .btn {
    max-width: 100%;
    white-space: normal !important;
    overflow-wrap: normal;
}

/* VIN-отчёт оформляется отдельно от других покупок. Видимость кнопок и спиннера
   сохраняет штатный Swal; новые классы не меняют выбор отчёта и оформление заказа. */
.gov-portal .swal2-popup.gov-vin-dialog {
    width: 660px;
    max-width: calc(100vw - 24px);
    padding: 0;
    border-radius: 12px;
    color: var(--gov-ink);
    background: var(--gov-paper);
    font-family: GolosTextWebRegular, 'Segoe UI', sans-serif;
    font-size: 14px;
    font-synthesis: none;
    line-height: 1.6;
    text-align: left;
    overflow: hidden;
}

.gov-portal .gov-vin-dialog .swal2-header {
    padding: 28px 28px 0;
}

.gov-portal .gov-vin-dialog .swal2-title {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 32px 0 0;
    color: var(--gov-green-deep);
    font-family: inherit;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.025em;
    text-align: left;
}

.gov-portal .gov-vin-dialog .swal2-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 44px;
    height: 44px;
    margin: 0;
    border-radius: 5px;
    color: var(--gov-muted);
    font-family: inherit;
    font-size: 28px;
    line-height: 1;
}

.gov-portal .gov-vin-dialog .swal2-close:hover {
    color: var(--gov-green-deep);
    background: var(--gov-soft);
}

.gov-portal .gov-vin-dialog .swal2-content {
    margin: 0;
    padding: 0;
    color: inherit;
    font-size: inherit;
}

.gov-portal .gov-vin-dialog .swal2-html-container {
    margin: 0;
}

.gov-portal .gov-vin-content {
    padding: 14px 28px 28px;
}

.gov-portal .gov-vin-icon {
    flex: 0 0 17px;
    width: 17px;
    height: 17px;
}

.gov-portal .gov-vin-number {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--gov-muted);
    font-size: 13px;
}

.gov-portal .gov-vin-number strong {
    color: var(--gov-ink);
    font-weight: 400;
    letter-spacing: .02em;
    overflow-wrap: anywhere;
}

.gov-portal .gov-vin-offer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 18px;
    margin-top: 24px;
    padding: 16px 18px;
    border: 1px solid #b4cabc;
    border-radius: 7px;
    background: var(--gov-soft);
}

.gov-portal .gov-vin-offer-description h3,
.gov-portal .gov-vin-features-title {
    margin: 0;
    color: var(--gov-green-deep);
    font-family: GolosTextWebDemiBold, 'Segoe UI', sans-serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.4;
}

.gov-portal .gov-vin-discount {
    display: inline-block;
    margin-top: 5px;
    padding: 2px 7px;
    border-radius: 4px;
    background: #fbf5e5;
    color: #71591f;
    font-size: 11px;
}

.gov-portal .gov-vin-price-block {
    margin-left: auto;
    text-align: right;
}

.gov-portal .gov-vin-price {
    color: var(--gov-green-deep);
    font-family: GolosTextWebDemiBold, 'Segoe UI', sans-serif;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.025em;
    font-variant-numeric: tabular-nums;
}

.gov-portal .gov-vin-price-free {
    font-size: 23px;
}

.gov-portal .gov-vin-old-price {
    margin-top: 4px;
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-vin-features-title {
    margin: 26px 0 14px;
}

.gov-portal .gov-vin-features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.gov-portal .gov-vin-features li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0;
    color: var(--gov-ink);
    font-size: 13px;
    line-height: 1.6;
}

.gov-portal .gov-vin-features li::before {
    content: '';
    flex: 0 0 6px;
    width: 6px;
    height: 10px;
    margin: 3px 3px 0;
    border: solid var(--gov-action);
    border-width: 0 1.5px 1.5px 0;
    transform: rotate(45deg);
}

.gov-portal .gov-vin-sources {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 24px 0 0;
    padding-top: 16px;
    border-top: 1px solid var(--gov-line);
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.6;
}

.gov-portal .gov-vin-sources .gov-vin-icon {
    margin-top: 2px;
}

.gov-portal .gov-vin-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 14px 18px;
    padding: 20px 28px;
    border-top: 1px solid var(--gov-line);
    background: #f7f9f7;
}

/* Пример остаётся вторичной текстовой ссылкой без иконки и яркого акцента. */
.gov-portal .gov-vin-footer .gov-vin-example {
    color: var(--gov-muted);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
    text-decoration-line: underline;
    text-decoration-thickness: 1px;
    text-decoration-color: #a3b2a8;
    text-underline-offset: 3px;
}

.gov-portal .gov-vin-footer .gov-vin-example:hover,
.gov-portal .gov-vin-footer .gov-vin-example:focus-visible {
    color: var(--gov-green-deep);
    text-decoration-color: currentColor;
}

.gov-portal .gov-vin-footer .gov-vin-order {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 46px;
    max-width: 100%;
    margin: 0 0 0 auto;
    padding: 11px 18px;
    border-radius: 5px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-align: center;
    text-shadow: none;
}

.gov-portal .gov-vin-order span {
    min-width: 0;
}

@media (max-width: 575.98px) {
    .gov-portal .gov-vin-dialog .swal2-header {
        padding: 26px 20px 0;
    }

    .gov-portal .gov-vin-dialog .swal2-title {
        font-size: 23px;
    }

    .gov-portal .gov-vin-content {
        padding: 14px 20px 24px;
    }

    .gov-portal .gov-vin-offer {
        align-items: flex-start;
        padding: 14px;
    }

    .gov-portal .gov-vin-offer-description h3 {
        font-size: 14px;
    }

    .gov-portal .gov-vin-price {
        font-size: 24px;
    }

    .gov-portal .gov-vin-price-free {
        font-size: 21px;
    }

    .gov-portal .gov-vin-features {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .gov-portal .gov-vin-footer {
        flex-direction: column;
        align-items: stretch;
        padding: 18px 20px;
    }

    .gov-portal .gov-vin-footer .gov-vin-order {
        width: 100%;
        margin-left: 0;
    }
}

.gov-portal .gov-support-form {
    text-align: left;
}

.gov-portal .gov-support-form .form-group {
    margin-bottom: 20px;
}

.gov-portal .gov-support-form label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 500;
}

.gov-portal .gov-support-form textarea {
    min-height: 150px;
    resize: vertical;
}

.gov-portal .gov-support-form small {
    display: block;
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.6;
}

.gov-portal .gov-info-modal .modal-dialog {
    width: auto;
    max-width: 900px;
    margin: 24px auto;
}

.gov-portal .gov-info-modal .modal-content {
    border: 0;
    border-radius: 10px;
}

.gov-portal .gov-info-modal .modal-header {
    align-items: flex-start;
    gap: 16px;
    padding: 22px 24px;
    border-bottom: 1px solid var(--gov-line);
}

.gov-portal .gov-info-modal .modal-title {
    margin: 0;
    color: var(--gov-green-deep);
    font-size: 23px;
    font-weight: 600;
    line-height: 1.4;
}

.gov-portal .gov-info-modal .btn-close {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin: 0;
    padding: 10px;
}

.gov-portal .gov-info-modal .modal-body {
    padding: 24px;
    color: var(--gov-ink);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.gov-portal .gov-info-modal :is(.nav-pills, .nav-tabs) {
    gap: 8px;
    margin-bottom: 20px !important;
}

.gov-portal .gov-info-modal .nav-link {
    border: 1px solid var(--gov-line);
    border-radius: 5px;
    background: var(--gov-paper) !important;
    color: var(--gov-action) !important;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.gov-portal .gov-info-modal .nav-link.active {
    border-color: var(--gov-action);
    background: var(--gov-soft) !important;
    color: var(--gov-green-deep) !important;
}

.gov-portal :is(.gov-info-modal, .gov-service-comparison) .table {
    border-collapse: collapse;
    border: 0;
    font-size: 13px;
}

.gov-portal :is(.gov-info-modal, .gov-service-comparison) .table :is(td, th) {
    padding: 13px 12px;
    border: 0;
    border-bottom: 1px solid var(--gov-line);
    color: var(--gov-ink);
    line-height: 1.6;
    overflow-wrap: anywhere;
}

/* «Карточка объекта» ограничена кадастровым окном. Штатные вкладки Bootstrap,
   условия Premium, скрытие значений и обработчики заказа/обновления не меняются. */
.gov-portal .gov-info-modal.gov-cadastral-modal .modal-dialog {
    width: calc(100% - 24px);
    max-width: 700px;
    margin: 24px auto;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .modal-content {
    overflow: hidden;
    border-radius: 12px;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-synthesis: none;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .modal-header {
    padding: 27px 28px 21px;
    border: 0;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .modal-title {
    color: var(--gov-green-deep) !important;
    font-family: inherit;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -.025em;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .btn-close {
    box-sizing: border-box;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    padding: 12px;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .modal-body {
    padding: 0 28px;
}

/* Вкладки занимают левую часть строки, кнопка активного объекта — правую.
   clear у таблицы учитывает любую высоту списка кадастровых номеров. */
.gov-portal .gov-info-modal.gov-cadastral-modal .gov-cadastral-tabs {
    float: left;
    width: calc(100% - 190px);
    margin: 0 16px 23px 0 !important;
    gap: 8px;
}

.gov-portal .gov-cadastral-modal .gov-cadastral-tabs .nav-item {
    min-width: 0;
    max-width: 100%;
    margin: 0 !important;
    box-shadow: none;
}

.gov-portal .gov-cadastral-modal .gov-cadastral-tabs .nav-link {
    padding: 9px 0;
    border: 0;
    border-radius: 4px;
    background: transparent !important;
    box-shadow: none;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: .015em;
    font-variant-numeric: tabular-nums;
    white-space: normal;
    overflow-wrap: anywhere;
}

.gov-portal .gov-cadastral-tabs:has(.nav-item:nth-child(2)) .nav-link {
    padding: 8px 10px;
    border: 1px solid var(--gov-line);
    font-size: 14px;
}

.gov-portal .gov-cadastral-tabs:has(.nav-item:nth-child(2)) .nav-link.active {
    border-color: var(--gov-action);
    background: var(--gov-soft) !important;
}

.gov-portal .gov-cadastral-toolbar {
    display: flex;
    justify-content: flex-end;
    min-height: 44px;
    margin-bottom: 23px;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .gov-cadastral-order {
    min-height: 44px;
    margin: 0;
    padding: 11px 17px;
    border-radius: 5px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
    white-space: normal;
    text-shadow: none;
}

/* Сохраняем серверную таблицу и её семантику. Каждая исходная строка становится
   парой «подпись / значение»; адрес и разделы с правами занимают всю ширину. */
.gov-portal .gov-info-modal.gov-cadastral-modal .gov-cadastral-table {
    display: block;
    clear: both;
    width: 100%;
    margin: 0;
    border-top: 1px solid var(--gov-line);
    table-layout: fixed;
}

.gov-portal .gov-cadastral-table > tbody {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
}

.gov-portal .gov-cadastral-table > tbody > tr {
    display: block;
    min-width: 0;
    padding: 13px 0;
    border-bottom: 1px solid var(--gov-line);
    background: transparent !important;
}

.gov-portal .gov-cadastral-table > tbody > :is(.gov-cadastral-address, .gov-cadastral-details),
.gov-portal .gov-cadastral-table > tbody > tr:has(> td[colspan]) {
    grid-column: 1 / -1;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .gov-cadastral-table td {
    display: block;
    width: auto;
    min-width: 0;
    padding: 0 !important;
    border: 0;
    background: transparent !important;
    box-shadow: none;
    color: var(--gov-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .gov-cadastral-table td:first-child:not([colspan]) {
    margin-bottom: 4px;
    color: var(--gov-muted);
    font-size: 13px;
}

.gov-portal .gov-cadastral-table > tbody > tr:has(> td[colspan]) {
    padding: 23px 0 4px;
    border: 0;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .gov-cadastral-table td[colspan] {
    margin: 0 0 9px;
    color: var(--gov-green-deep);
    font-size: 17px;
    line-height: 1.4;
    text-align: left !important;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .gov-cadastral-address td:first-child {
    margin-bottom: 7px;
}

.gov-portal .gov-info-modal.gov-cadastral-modal .gov-cadastral-address td:last-child {
    font-size: 13px;
    line-height: 1.65;
    word-break: normal;
}

.gov-portal .gov-cadastral-table .text-nowrap {
    white-space: normal !important;
}

.gov-portal .gov-cadastral-table + span {
    display: block;
    margin: 15px 0 22px;
    color: var(--gov-muted);
    font-size: 11px;
    line-height: 1.6 !important;
}

.gov-portal .gov-cadastral-table + span strong {
    font-weight: 400;
}

.gov-portal .gov-cadastral-report {
    clear: both;
    margin: 0 -28px;
    padding: 23px 28px 27px;
    background: #faf5e9;
}

.gov-portal .gov-cadastral-report-title {
    margin-bottom: 7px;
    color: var(--gov-green-deep);
    font-size: 20px;
    line-height: 1.4;
}

.gov-portal .gov-cadastral-report-intro {
    margin: 0;
    color: var(--gov-muted);
    font-size: 13px;
    line-height: 1.6;
}

.gov-portal .gov-cadastral-report-features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 18px;
    margin: 17px 0 22px;
}

.gov-portal .gov-cadastral-report-features ul {
    margin: 0;
    padding: 0;
}

.gov-portal .gov-cadastral-report-features li {
    margin: 0 0 8px;
    padding-left: 24px;
    font-size: 13px;
    line-height: 1.55;
}

.gov-portal .gov-cadastral-report-features li:last-child {
    margin-bottom: 0;
}

.gov-portal .gov-cadastral-report-features li::before {
    color: var(--gov-action);
}

@media (max-width: 560px) {
    .gov-portal .gov-info-modal.gov-cadastral-modal .modal-header {
        padding: 25px 20px 20px;
    }

    .gov-portal .gov-info-modal.gov-cadastral-modal .modal-title {
        font-size: 23px;
    }

    .gov-portal .gov-info-modal.gov-cadastral-modal .modal-body {
        padding: 0 20px;
    }

    .gov-portal .gov-info-modal.gov-cadastral-modal .gov-cadastral-tabs {
        float: none;
        width: 100%;
        margin: 0 0 15px !important;
    }

    .gov-portal .gov-cadastral-modal .gov-cadastral-tabs .nav-link {
        font-size: 15px;
    }

    .gov-portal .gov-cadastral-toolbar {
        justify-content: flex-start;
    }

    .gov-portal .gov-cadastral-table > tbody {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-portal .gov-cadastral-report {
        margin-right: -20px;
        margin-left: -20px;
        padding: 23px 20px 25px;
    }

    .gov-portal .gov-cadastral-report-features {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-portal .gov-cadastral-report .gov-cadastral-order {
        width: 100%;
    }
}

/* Сравнение сохраняет исходные столбцы и читабельные названия на узком экране. */
.gov-portal .gov-service-comparison {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.gov-portal .gov-service-comparison .table {
    min-width: 360px;
}

.gov-portal .gov-service-comparison .table th {
    padding-inline: 10px;
    white-space: nowrap;
    background: var(--gov-soft);
    color: var(--gov-green-deep);
    font-size: 12px;
}

.gov-portal .gov-service-comparison .table td:not(:first-child) {
    text-align: center;
    word-break: normal !important;
    overflow-wrap: normal;
}

.gov-portal .gov-service-comparison .table img {
    width: 16px;
    height: 16px;
}

/* Компактное AJAX-окно сравнения не наследует минимальную ширину старой таблицы.
   Прокруткой низкого экрана управляет штатный контейнер SweetAlert. */
.gov-portal .swal2-container.gov-premium-benefits-container {
    align-items: flex-start;
    padding: 16px;
    overflow-y: auto;
}

.gov-portal .swal2-popup.gov-premium-benefits {
    flex-shrink: 0;
    width: min(684px, calc(100vw - 32px));
    max-width: 100%;
    margin: auto;
    padding: 0;
    overflow: hidden;
    border-radius: 7px;
}

.gov-portal .gov-premium-benefits .swal2-header {
    align-items: stretch;
    padding: 28px 30px 0;
}

.gov-portal .gov-premium-benefits .swal2-title {
    display: block;
    margin: 0;
    padding: 0 35px 0 0;
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 26px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -.025em;
    text-align: left;
}

.gov-portal .gov-premium-benefits .swal2-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 36px;
    height: 36px;
    padding: 0;
    border-radius: 5px;
    color: var(--gov-muted);
    font-size: 26px;
    line-height: 1;
}

.gov-portal .gov-premium-benefits .swal2-close:hover {
    background: var(--gov-soft);
    color: var(--gov-green);
}

.gov-portal .gov-premium-benefits .swal2-content,
.gov-portal .gov-premium-benefits .swal2-html-container {
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    color: var(--gov-ink);
    text-align: left;
}

.gov-portal .gov-premium-comparison {
    min-width: 0;
    padding: 0 30px;
    font-size: 13px;
    line-height: 1.55;
}

.gov-portal .gov-premium-intro {
    margin: 10px 0 22px;
    color: var(--gov-muted);
    font-size: 13px;
    line-height: 1.6;
}

.gov-portal .gov-premium-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: 15px;
    line-height: 1.45;
}

.gov-portal .gov-premium-table col:first-child {
    width: 52%;
}

.gov-portal .gov-premium-table col:nth-child(2) {
    width: 21%;
}

.gov-portal .gov-premium-table col:nth-child(3) {
    width: 27%;
}

.gov-portal .gov-premium-table :is(th, td) {
    padding: 8px 12px;
    border: 0;
    border-bottom: 1px solid var(--gov-line);
    font-size: inherit;
    font-weight: 400;
    line-height: inherit;
    text-align: center;
    vertical-align: middle;
    overflow-wrap: normal;
    word-break: normal;
}

.gov-portal .gov-premium-table :is(th, td):first-child {
    padding-left: 0;
    text-align: left;
}

.gov-portal .gov-premium-table thead th {
    padding-top: 11px;
    padding-bottom: 11px;
    background: transparent;
    color: var(--gov-muted);
    font-size: 14px;
}

.gov-portal .gov-premium-table thead th:last-child {
    border-radius: 6px 6px 0 0;
    background: var(--gov-green);
    color: var(--gov-paper);
}

.gov-portal .gov-premium-table tbody td:last-child {
    background: var(--gov-soft);
    color: var(--gov-action);
}

.gov-portal .gov-premium-table tbody tr:last-child td {
    border-bottom: 0;
}

.gov-portal .gov-premium-table tbody tr:last-child td:last-child {
    border-radius: 0 0 6px 6px;
}

.gov-portal .gov-premium-table .ti-check {
    display: inline-block;
    font-size: 17px;
    vertical-align: middle;
}

.gov-portal .gov-premium-minus {
    color: var(--gov-muted);
}

/* Условия остаются в существующем Bootstrap Tooltip. Нативная кнопка i
   позволяет открыть ту же подсказку с клавиатуры, не вводя новый обработчик. */
.gov-portal .gov-premium-report-help {
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    min-width: 16px;
    min-height: 20px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--gov-action);
    font-size: 13px;
    line-height: 1;
    vertical-align: middle;
}

.gov-portal .gov-premium-common {
    margin-top: 18px;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .gov-premium-common summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 44px;
    padding: 13px 0;
    color: var(--gov-action);
    font-size: 13px;
    list-style: none;
    cursor: pointer;
}

.gov-portal .gov-premium-common summary::-webkit-details-marker {
    display: none;
}

.gov-portal .gov-premium-common[open] summary .ti-angle-down {
    transform: rotate(180deg);
}

.gov-portal .gov-premium-common-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 18px;
    padding-bottom: 13px;
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.6;
}

.gov-portal .gov-premium-common-list > span {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.gov-portal .gov-premium-common-list i {
    flex-shrink: 0;
    margin-top: 2px;
    color: var(--gov-action);
    font-size: 15px;
}

/* Кнопка находится вне таблицы и не получает full-width/btn-lg.
   На компьютере её ширина определяется текстом, на телефоне — строкой footer. */
.gov-portal .gov-premium-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    margin: 20px -30px 0;
    padding: 20px 30px;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .gov-premium-footer > p {
    margin: 0;
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.55;
}

.gov-portal .gov-premium-footer .gov-premium-choose {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: auto;
    max-width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 11px 18px;
    font-size: 14px;
    line-height: 1.45;
    white-space: nowrap;
}

.gov-portal .gov-premium-choose i {
    margin: 0;
    padding: 0;
    font-size: 17px;
}

@media (max-width: 580px) {
    .gov-portal .gov-premium-benefits .swal2-header {
        padding: 27px 20px 0;
    }

    .gov-portal .gov-premium-benefits .swal2-title {
        font-size: 24px;
    }

    .gov-portal .gov-premium-comparison {
        padding-right: 20px;
        padding-left: 20px;
    }

    .gov-portal .gov-premium-table {
        font-size: 14px;
    }

    .gov-portal .gov-premium-table col:first-child {
        width: 43%;
    }

    /* Увеличенному заголовку «Базовый» нужно место и на экране 320 px. */
    .gov-portal .gov-premium-table col:nth-child(2) {
        width: 26%;
    }

    .gov-portal .gov-premium-table col:nth-child(3) {
        width: 31%;
    }

    .gov-portal .gov-premium-table :is(th, td) {
        padding: 10px 3px;
    }

    .gov-portal .gov-premium-table thead th {
        font-size: 13px;
    }

    .gov-portal .gov-premium-common-list {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-portal .gov-premium-footer {
        flex-direction: column-reverse;
        align-items: stretch;
        gap: 12px;
        margin-right: -20px;
        margin-left: -20px;
        padding: 19px 20px 22px;
    }

    .gov-portal .gov-premium-footer > p {
        text-align: center;
    }

    .gov-portal .gov-premium-footer .gov-premium-choose {
        width: 100%;
    }
}

@media (pointer: coarse) {
    .gov-portal .gov-premium-report-help {
        min-width: 32px;
        min-height: 32px;
    }
}

/* Горизонтальная прокрутка сохраняет все исходные столбцы служебных таблиц. */
.gov-portal .gov-table-scroll {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.gov-portal .gov-price-steps .table {
    min-width: 420px;
}

.gov-portal .gov-price-steps .table .h5 {
    font-size: 14px;
}

.gov-portal .gov-price-steps .table .h6 {
    font-size: 12px;
}

.gov-portal .gov-price-steps .bordered-brand > td {
    border-bottom-color: var(--gov-action);
    background: var(--gov-soft);
}

.gov-portal .gov-organization-page {
    margin-top: 32px;
    margin-bottom: 40px;
    padding: 28px;
    border: 1px solid var(--gov-line);
    border-radius: 8px;
    background: var(--gov-paper);
}

.gov-portal .gov-organization .row {
    row-gap: 16px;
}

.gov-portal .gov-organization .h2 {
    font-size: 27px;
    font-weight: 600;
    line-height: 1.4;
}

.gov-portal .gov-organization label {
    margin-bottom: 6px;
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-organization .h6 {
    color: var(--gov-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

.gov-portal .gov-organization .badge {
    border-radius: 4px !important;
    background: var(--gov-soft) !important;
    color: var(--gov-green) !important;
    font-size: 11px;
    line-height: 1.5;
}

.gov-portal .gov-organization .downloadegrullink {
    border-color: var(--gov-action) !important;
    background: var(--gov-action) !important;
    color: var(--gov-paper) !important;
    white-space: normal !important;
    overflow-wrap: normal;
}

.gov-portal .gov-organization .downloadegrullink:hover {
    background: var(--gov-action-hover) !important;
}

.gov-portal .gov-organization .bg-light-warning {
    margin-top: 28px !important;
    padding: 22px 0 0 !important;
    border-top: 1px solid var(--gov-line);
    background: transparent !important;
}

.gov-portal .gov-organization .bg-light-warning .h3 {
    font-size: 19px;
}

.gov-portal .gov-organization [id^="updateogrninfobtn"] {
    display: inline-block;
    max-width: 100%;
    white-space: normal !important;
}

.gov-portal .gov-auth-verify .kt-login__container {
    width: auto;
    margin: 0;
}

.gov-portal .gov-auth-verify .kt-login__desc {
    margin-bottom: 24px;
    color: var(--gov-muted);
    font-size: 14px;
    line-height: 1.75;
}

.gov-portal .gov-auth-verify .alert {
    display: block;
    margin: 20px 0;
    padding: 16px;
    background: var(--gov-soft);
    box-shadow: none;
    font-size: 13px;
    line-height: 1.7;
}

.gov-portal .gov-auth-verify .alert-text {
    color: var(--gov-ink);
    font-size: inherit;
    font-weight: 400;
    text-align: left !important;
}

.gov-portal .gov-auth-verify mark {
    background: var(--gov-soft);
    color: var(--gov-green-deep);
}

.gov-portal .gov-auth-card .gov-auth-resend {
    display: block;
    width: 100%;
    margin-top: 16px;
}

.gov-portal .gov-auth-confirm .gov-auth-footer {
    display: block;
    margin-top: 24px;
}

/* Административные списки используют существующие DataTables и формы.
   Повторно используем оболочку кабинета, меняя только плотность служебных разделов. */
.gov-portal .gov-admin-main .kt-section {
    margin-bottom: 30px;
}

.gov-portal .gov-admin-main .kt-section__title {
    margin: 20px 0 16px;
    color: var(--gov-green-deep);
    font-size: 18px;
    font-weight: 600;
}

.gov-portal .gov-admin-main .kt-portlet__head:not(:first-child) {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .gov-admin-main .kt-portlet__head-title:not(.gov-account-title) {
    margin-bottom: 16px;
    color: var(--gov-green-deep);
    font-size: 19px;
}

.gov-portal .gov-admin-user-summary .kt-widget__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--gov-line);
}

.gov-portal .gov-admin-user-summary .kt-widget__label {
    display: block;
    margin-bottom: 5px;
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-admin-user-summary .kt-widget__data {
    overflow-wrap: anywhere;
}

.gov-portal .gov-admin-main :is(.uploaderarea, .qq-uploader) {
    min-width: 0;
    max-width: 100%;
}

.gov-portal .gov-admin-main .uploaderarea {
    margin-top: 12px;
}

.gov-portal .gov-admin-main .gov-table-scroll .table {
    min-width: 600px;
}

/* Штатный Responsive переносит целые столбцы в раскрытие. Не уменьшаем их
   минимальную ширину искусственными разрывами ID, адреса почты и слов. */
.gov-portal .gov-admin-main table.dataTable > tbody > tr:not(.child) > td {
    overflow-wrap: normal;
    word-break: normal;
}

.gov-portal .gov-admin-main table.dataTable:is(.js-users, .js-userspremium)
    > tbody > tr:not(.child) > td:nth-child(-n + 2) {
    white-space: nowrap;
}

.gov-portal .gov-admin-main .btn {
    white-space: normal;
}

.gov-portal .gov-legal-document {
    max-width: 900px;
    margin: 32px auto 48px;
    padding: 32px;
    border: 1px solid var(--gov-line);
    border-radius: 8px;
    background: var(--gov-paper);
    line-height: 1.85;
}

.gov-portal .gov-legal-document .kt-portlet {
    margin: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.gov-portal .gov-legal-document .kt-portlet__head,
.gov-portal .gov-legal-document .kt-portlet__body {
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
}

.gov-portal .gov-legal-document :is(h2, .h2) {
    margin: 28px 0 14px;
    color: var(--gov-green-deep);
    font-size: 24px;
    line-height: 1.45;
}

.gov-portal .gov-legal-document p {
    max-width: 74ch;
}

.gov-portal .gov-legal-document a {
    text-decoration: underline;
}

/* Ошибки остаются серверными страницами с прежними кодами и сообщениями. */
body.gov-portal.gov-error {
    /* Изолируем верхний margin поверхности, чтобы он не оставлял белый фон у html. */
    display: flow-root;
    height: auto;
    min-height: 100vh;
    background: var(--gov-ground);
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-weight: 400;
}

.gov-portal.gov-error .gov-error-surface {
    /* Страницы ошибок не подключают Bootstrap: учитываем отступы внутри заданной ширины. */
    box-sizing: border-box;
    flex-direction: column;
    gap: 18px;
    width: calc(100% - 32px);
    max-width: 760px;
    height: auto;
    min-height: 300px;
    margin: 12vh auto;
    padding: 48px 24px;
    border: 1px solid var(--gov-line);
    border-radius: 8px;
    background: var(--gov-paper);
}

.gov-portal.gov-error .code {
    padding: 0;
    border: 0;
    color: var(--gov-green);
    font-size: 80px;
    font-weight: 600;
    line-height: 1.1;
}

.gov-portal.gov-error :is(.message, .title) {
    max-width: 60ch;
    padding: 0 !important;
    color: var(--gov-ink);
    font-size: 20px;
    line-height: 1.65;
    overflow-wrap: anywhere;
}

.gov-portal.gov-error .gov-error-illustrated {
    max-width: 1200px;
    margin: 0 auto;
}

.gov-portal.gov-error .gov-error-illustrated .font-black {
    color: var(--gov-green);
    font-size: 80px;
    font-weight: 600;
}

.gov-portal.gov-error .gov-error-illustrated button {
    padding: 12px 18px;
    border-color: var(--gov-action);
    border-radius: 5px;
    background: var(--gov-action);
    color: var(--gov-paper);
    font: inherit;
}

.gov-portal .gov-not-found {
    max-width: 900px;
    margin: 32px auto !important;
    padding: 24px !important;
    border: 1px solid var(--gov-line);
    border-radius: 8px;
    background: var(--gov-paper);
}

.gov-portal .gov-not-found .far {
    margin: 0 !important;
    padding: 0 0 24px !important;
    color: var(--gov-action);
    font-size: 48px !important;
}

.gov-portal .gov-not-found h4 {
    max-width: 66ch;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
}

@media (max-width: 767.98px) {
    .gov-portal .gov-info-modal .modal-dialog {
        margin: 12px;
    }

    .gov-portal .gov-info-modal :is(.modal-header, .modal-body) {
        padding: 20px 16px;
    }

    .gov-portal .gov-info-modal .modal-title {
        font-size: 21px;
    }

    .gov-portal .gov-purchase .kt-option {
        padding: 14px !important;
        gap: 10px;
    }

    .gov-portal .gov-purchase .kt-option .kt-option__label .kt-option__head .kt-option__title {
        flex-basis: 100%;
        font-size: 15px;
    }

    .gov-portal .gov-purchase .kt-option .kt-option__label .kt-option__head .kt-option__focus {
        font-size: 19px;
        text-align: left !important;
    }

    .gov-portal .gov-purchase .js-egrn-feature-tabs {
        padding: 16px !important;
    }

    .gov-portal .gov-organization-page {
        width: calc(100% - 24px);
        margin: 20px auto 28px;
        padding: 20px 16px;
    }

    .gov-portal .gov-organization .h2 {
        font-size: 23px;
    }

    .gov-portal .gov-admin-user-summary .kt-widget__content {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-portal .gov-legal-document {
        width: calc(100% - 24px);
        margin: 20px auto 28px;
        padding: 20px 16px;
        font-size: 14px;
        overflow-wrap: anywhere;
    }

    .gov-portal .gov-legal-document :is(h2, .h2) {
        font-size: 21px;
    }

    .gov-portal .gov-not-found {
        width: calc(100% - 24px);
        padding: 16px !important;
    }
}

/* Предложение сопровождения: только первый шаг существующей очереди Swal.
   Отдельный класс не меняет форму заявки и другие окна покупки отчётов. */
.gov-portal .swal2-popup.gov-lot-offer {
    width: 700px;
    max-width: calc(100vw - 24px);
    padding: 0 !important;
    text-align: left;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-synthesis: none;
}

.gov-portal .gov-lot-offer .swal2-header {
    padding: 32px 30px 0;
}

.gov-portal .gov-lot-offer .swal2-title {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 28px 0 0;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.025em;
    text-align: left;
}

.gov-portal .gov-lot-offer .swal2-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 44px;
    height: 44px;
    border-radius: 5px;
    color: var(--gov-muted);
    font-family: inherit;
    font-size: 28px;
    line-height: 1;
}

.gov-portal .gov-lot-offer .swal2-close:hover {
    background: var(--gov-soft);
    color: var(--gov-green-deep);
}

.gov-portal .gov-lot-offer :is(.swal2-content, .swal2-html-container) {
    color: var(--gov-ink);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.55;
    text-align: left;
}

.gov-portal .gov-lot-offer .swal2-content {
    margin: 0;
    padding: 0 30px;
}

.gov-portal .gov-lot-offer .swal2-html-container {
    margin: 0;
}

.gov-portal .gov-lot-offer p {
    color: var(--gov-muted);
}

.gov-portal .gov-lot-offer .gov-lot-offer-intro {
    margin: 12px 0 22px;
}

.gov-portal .gov-lot-offer-card {
    padding: 20px;
    border-radius: 8px;
    background: var(--gov-ground);
}

.gov-portal .gov-lot-offer-card-top {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}

.gov-portal .gov-lot-offer-photo {
    display: block;
    flex: 0 0 72px;
    width: 72px;
    height: 72px;
    overflow: hidden;
    border-radius: 6px;
    background: var(--gov-paper);
}

.gov-portal .gov-lot-offer-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gov-portal .gov-lot-offer-photo-empty {
    display: flex;
    flex-direction: column;
    gap: 7px;
    align-items: center;
    justify-content: center;
    color: var(--gov-muted);
    font-size: 11px;
}

.gov-portal .gov-lot-offer-photo-empty i {
    font-size: 18px;
}

.gov-portal .gov-lot-offer-card-name {
    min-width: 0;
}

.gov-portal .gov-lot-offer-card-name h3,
.gov-portal .gov-lot-offer-plan h3,
.gov-portal .gov-lot-offer-steps h4,
.gov-portal .gov-lot-offer-price {
    margin: 0;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-weight: 400;
}

.gov-portal .gov-lot-offer-card-name h3 {
    font-size: 17px;
    line-height: 1.45;
}

.gov-portal .gov-lot-offer .gov-lot-offer-region {
    display: flex;
    gap: 6px;
    align-items: flex-start;
    margin: 7px 0 0;
    font-size: 12px;
}

.gov-portal .gov-lot-offer-region i {
    flex-shrink: 0;
    margin-top: 3px;
}

.gov-portal .gov-lot-offer-facts {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
    margin: 18px 0 0;
    padding: 16px 0 0;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .gov-lot-offer-facts dt {
    color: var(--gov-muted);
    font-size: 12px;
    font-weight: 400;
}

.gov-portal .gov-lot-offer-facts dd {
    margin: 4px 0 0;
    color: var(--gov-green-deep);
    font-size: 15px;
    overflow-wrap: anywhere;
}

.gov-portal .gov-lot-offer-facts .gov-lot-offer-price {
    font-size: 22px;
    line-height: 1.3;
    font-variant-numeric: tabular-nums;
}

.gov-portal .gov-lot-offer-plan {
    margin: 26px 0 24px;
    /* Старая тема задаёт всем section вертикальные отступы страницы по 80px. */
    padding: 0;
}

.gov-portal .gov-lot-offer-plan h3 {
    font-size: 19px;
    line-height: 1.45;
}

.gov-portal .gov-lot-offer-steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 19px;
    margin: 23px 0 0;
    padding: 0;
    list-style: none;
}

.gov-portal .gov-lot-offer-steps li {
    min-width: 0;
    padding-top: 15px;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .gov-lot-offer-step-number {
    display: block;
    margin-bottom: 8px;
    color: var(--gov-action);
    font-size: 13px;
}

.gov-portal .gov-lot-offer-steps h4 {
    font-size: 15px;
    line-height: 1.45;
}

.gov-portal .gov-lot-offer-steps p {
    margin: 6px 0 0;
    font-size: 12px;
    line-height: 1.55;
}

.gov-portal .gov-lot-offer .swal2-actions {
    justify-content: flex-end;
    width: 100%;
    margin: 0;
    padding: 23px 30px 27px;
    border-top: 1px solid var(--gov-line);
}

/* Обе кнопки используют штатное подтверждение очереди; оформление одинаковое,
   дополнительная кнопка появляется только на телефоне перед карточкой лота. */
.gov-portal .gov-lot-offer .swal2-confirm,
.gov-portal .gov-lot-offer .gov-lot-offer-mobile-cta {
    min-height: 48px;
    margin: 0;
    padding: 12px 19px;
    border: 1px solid #e5bd69 !important;
    border-radius: 5px;
    background: #e5bd69 !important;
    color: var(--gov-green-deep) !important;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-shadow: none;
    white-space: normal;
}

.gov-portal .gov-lot-offer .swal2-confirm:hover,
.gov-portal .gov-lot-offer .gov-lot-offer-mobile-cta:hover {
    border-color: #d9ad58 !important;
    background: #d9ad58 !important;
}

.gov-portal .gov-lot-offer .gov-lot-offer-mobile-cta {
    display: none;
}

.gov-portal .gov-lot-offer-mobile-cta i {
    margin-left: 10px;
}

@media (max-width: 575.98px) {
    .gov-portal .gov-lot-offer .swal2-header {
        padding: 28px 24px 0;
    }

    .gov-portal .gov-lot-offer .swal2-title {
        font-size: 25px;
    }

    .gov-portal .gov-lot-offer .swal2-content {
        padding: 0 24px;
    }

    .gov-portal .gov-lot-offer .gov-lot-offer-mobile-cta {
        display: block;
        width: 100%;
        margin: 0 0 20px;
    }

    .gov-portal .gov-lot-offer-card {
        padding: 17px;
    }

    .gov-portal .gov-lot-offer-card-top {
        gap: 11px;
    }

    .gov-portal .gov-lot-offer-photo {
        flex-basis: 56px;
        width: 56px;
        height: 56px;
    }

    .gov-portal .gov-lot-offer-card-name h3 {
        /* Мини-карточка не повторяет весь длинный заголовок страницы на телефоне. */
        display: -webkit-box;
        overflow: hidden;
        font-size: 15px;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }

    .gov-portal .gov-lot-offer-facts {
        grid-template-columns: minmax(0, 1fr);
        gap: 15px;
    }

    .gov-portal .gov-lot-offer-steps {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .gov-portal .gov-lot-offer-steps li {
        display: grid;
        grid-template-columns: 23px minmax(0, 1fr);
        gap: 8px;
        padding-top: 13px;
    }

    .gov-portal .gov-lot-offer-step-number {
        margin: 0;
        padding-top: 1px;
    }

    .gov-portal .gov-lot-offer .swal2-actions {
        padding: 22px 24px 25px;
    }

    .gov-portal .gov-lot-offer .swal2-confirm {
        width: 100%;
    }
}

/* Второй шаг покупки: оформление изолировано от предложения и остальных Swal.
   Сетка меняет только представление штатных полей и кнопки подтверждения. */
.gov-portal .swal2-popup.gov-lot-application-dialog {
    width: 546px;
    max-width: calc(100vw - 24px);
    padding: 0;
    border-radius: 12px;
    color: var(--gov-ink);
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-synthesis: none;
    text-align: left;
}

.gov-portal .gov-lot-application-dialog .swal2-header {
    padding: 28px 28px 0;
}

.gov-portal .gov-lot-application-dialog .swal2-title {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0 28px 0 0;
    color: var(--gov-green-deep);
    font-family: inherit;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.025em;
    text-align: left;
}

.gov-portal .gov-lot-application-dialog .swal2-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 44px;
    height: 44px;
    border-radius: 5px;
    color: var(--gov-muted);
    font-family: inherit;
    font-size: 28px;
    line-height: 1;
}

.gov-portal .gov-lot-application-dialog .swal2-close:hover {
    background: var(--gov-soft);
    color: var(--gov-green-deep);
}

.gov-portal .gov-lot-application-dialog .swal2-content {
    margin: 0;
    padding: 0 28px;
}

.gov-portal .gov-lot-application-dialog .swal2-html-container {
    margin: 0;
}

.gov-portal .gov-lot-application {
    color: var(--gov-ink);
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
}

.gov-portal .gov-lot-application-intro {
    margin: 12px 0 22px;
    color: var(--gov-muted);
}

.gov-portal .gov-lot-application-lot {
    margin-bottom: 24px;
    padding: 15px 0;
    border-top: 1px solid var(--gov-line);
    border-bottom: 1px solid var(--gov-line);
    overflow-wrap: anywhere;
}

.gov-portal .gov-lot-application-name {
    margin: 0;
    color: var(--gov-green-deep);
    font-size: 14px;
    line-height: 1.55;
}

.gov-portal .gov-lot-application-meta {
    margin: 6px 0 0;
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.5;
}

.gov-portal .gov-lot-application-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 16px;
}

.gov-portal .gov-lot-application-field {
    min-width: 0;
}

.gov-portal .gov-lot-application-field label {
    display: block;
    margin: 0;
    color: var(--gov-ink);
    font-size: 13px;
    line-height: 1.45;
}

.gov-portal .gov-lot-application-field label span {
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-lot-application-field .form-control {
    width: 100%;
    min-width: 0;
    /* Перекрываем прежнюю высоту select 56px с !important из общей темы. */
    height: 46px !important;
    margin: 8px 0 0;
    padding: 0 12px;
    border-radius: 5px;
    font-family: inherit;
    font-size: 15px;
    line-height: 1.5;
}

/* Примечание визуально следует за штатной кнопкой Swal. Нижний padding actions
   резервирует две строки и не меняет обработчик подтверждения очереди. */
.gov-portal .gov-lot-application-note {
    position: absolute;
    right: 28px;
    bottom: 24px;
    left: 28px;
    margin: 0;
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.55;
    text-align: center;
}

/* Штатное сообщение Swal оформляется только в заявке. Видимость по-прежнему
   управляется валидатором; длинный текст свободно переносится рядом со значком. */
.gov-portal .gov-lot-application-dialog .swal2-validation-message {
    align-items: flex-start;
    justify-content: flex-start;
    gap: 8px;
    margin: 16px 0 0 !important;
    padding: 10px 12px;
    border: 1px solid #efd5ce;
    border-radius: 5px;
    background: #faeeeb;
    color: #953b30;
    font-family: GolosTextWebRegular, 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-shadow: none;
    white-space: normal;
    overflow-wrap: anywhere;
}

.gov-portal .gov-lot-application-dialog .swal2-validation-message::before {
    flex: 0 0 18px;
    width: 18px;
    min-width: 18px;
    height: 18px;
    margin: 2px 0 0;
    background: #953b30;
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 18px;
}

.gov-portal .gov-lot-application-dialog .swal2-actions {
    width: 100%;
    margin: 0;
    padding: 26px 28px 65px;
}

.gov-portal .gov-lot-application-dialog .swal2-confirm {
    width: 100%;
    min-height: 48px;
    margin: 0;
    padding: 12px 16px;
    border-radius: 5px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    text-shadow: none;
    white-space: normal;
}

@media (max-width: 520px) {
    .gov-portal .gov-lot-application-dialog .swal2-header {
        padding: 26px 20px 0;
    }

    .gov-portal .gov-lot-application-dialog .swal2-title {
        font-size: 24px;
    }

    .gov-portal .gov-lot-application-dialog .swal2-content {
        padding-right: 20px;
        padding-left: 20px;
    }

    .gov-portal .gov-lot-application-fields {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-portal .gov-lot-application-field .form-control {
        height: 48px !important;
        font-size: 16px;
    }

    .gov-portal .gov-lot-application-note {
        right: 20px;
        left: 20px;
    }

    .gov-portal .gov-lot-application-dialog .swal2-actions {
        padding-right: 20px;
        padding-left: 20px;
    }
}

/* Окно организации изолировано от самостоятельной страницы /ogrn.
   Bootstrap продолжает управлять модалью и вкладками; сетка меняет только представление данных. */
.gov-portal .gov-organization-dialog .modal-dialog {
    width: calc(100% - 24px);
    max-width: 700px;
    margin: 24px auto;
}

.gov-portal .gov-organization-dialog .modal-content {
    overflow: hidden;
}

.gov-portal .gov-organization-dialog .modal-header {
    min-height: 0;
    padding: 0;
    border: 0;
}

.gov-portal .gov-organization-dialog .modal-header .btn-close {
    position: absolute;
    z-index: 2;
    top: 10px;
    right: 10px;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 12px;
    border-radius: 5px;
    opacity: .7;
}

.gov-portal .gov-organization-dialog .modal-header .btn-close:hover {
    background-color: var(--gov-soft);
    opacity: 1;
}

.gov-portal .gov-organization-dialog .modal-body {
    padding: 0;
}

.gov-portal .gov-company-content {
    color: var(--gov-ink);
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 14px;
    line-height: 1.55;
    font-synthesis: none;
}

.gov-portal .gov-company-heading {
    padding: 31px 30px 23px;
}

.gov-portal .gov-company-heading h2 {
    margin: 0;
    padding-right: 28px;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.025em;
}

.gov-portal .gov-company-status {
    display: inline-block;
    margin-top: 13px;
    padding: 5px 9px;
    border-radius: 4px;
    background: #edf0ed;
    color: #4d5e53;
    font-size: 11px;
    line-height: 1.4;
}

.gov-portal .gov-company-status[data-status="ACTIVE"] {
    background: var(--gov-soft);
    color: var(--gov-action);
}

.gov-portal .gov-company-status[data-status="LIQUIDATING"],
.gov-portal .gov-company-status[data-status="REORGANIZING"] {
    background: #fbf5e5;
    color: #71591f;
}

.gov-portal .gov-company-status[data-status="LIQUIDATED"],
.gov-portal .gov-company-status[data-status="BANKRUPT"] {
    background: #faeeeb;
    color: #953b30;
}

.gov-portal .gov-company-identifiers {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 0 30px 19px;
    padding: 17px 20px;
    border-radius: 7px;
    background: var(--gov-ground);
}

.gov-portal .gov-company-content dt {
    /* Обнуляем общий нижний margin старой темы, чтобы подпись оставалась рядом со значением. */
    margin: 0;
    color: var(--gov-muted);
    font-size: 12px;
    font-weight: 400;
}

.gov-portal .gov-company-content dd {
    margin: 5px 0 0;
    color: var(--gov-ink);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.gov-portal .gov-company-content .gov-company-identifier-value {
    display: flex;
    gap: 4px;
    align-items: center;
    margin-top: 0;
    color: var(--gov-green-deep);
    font-size: 17px;
    font-variant-numeric: tabular-nums;
}

.gov-portal .gov-company-identifier-value > span {
    min-width: 0;
}

/* Иконка стоит рядом с цифрами, а свободная часть её области нажатия уходит вправо.
   Так сохраняется цель 44px для пальца без прежнего разнесения к краю строки. */
.gov-portal .gov-company-copy {
    display: inline-flex;
    flex: 0 0 44px;
    align-items: center;
    justify-content: flex-start;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0 0 0 4px;
    border: 0;
    border-radius: 5px;
    background: transparent;
    color: var(--gov-muted);
    font-size: 15px;
}

.gov-portal .gov-company-copy:hover {
    background: var(--gov-soft);
    color: var(--gov-action);
}

.gov-portal .gov-company-tabs {
    display: flex;
    gap: 22px;
    margin: 0;
    padding: 0 30px;
    border-bottom: 1px solid var(--gov-line);
}

.gov-portal .gov-company-tab {
    min-height: 48px;
    margin: 0;
    padding: 15px 0 12px;
    border: 0;
    border-bottom: 2px solid transparent;
    background: transparent;
    color: var(--gov-muted);
    font-family: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.gov-portal .gov-company-tab.active {
    border-bottom-color: var(--gov-action);
    color: var(--gov-action);
}

.gov-portal .gov-company-tab:hover {
    color: var(--gov-green-deep);
}

.gov-portal .gov-company-panels {
    padding: 25px 30px;
}

.gov-portal .gov-company-data,
.gov-portal .gov-company-codes {
    display: grid;
    gap: 21px 25px;
    margin: 0;
    padding: 0;
}

.gov-portal .gov-company-codes {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gov-portal .gov-company-data > div,
.gov-portal .gov-company-codes > div {
    min-width: 0;
}

.gov-portal .gov-company-codes dd {
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.gov-portal .gov-company-sub {
    display: block;
    margin-top: 3px;
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-company-code-link {
    display: block;
    margin-top: 4px;
    font-size: 12px;
}

.gov-portal .gov-company-footer {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between;
    padding: 21px 30px;
    border-top: 1px solid var(--gov-line);
    background: transparent;
}

.gov-portal .gov-company-refresh {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    min-height: 44px;
    padding: 9px 0;
    border: 0;
    background: transparent;
    color: var(--gov-action);
    font-family: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
}

.gov-portal .gov-company-refresh:hover {
    color: var(--gov-green-deep);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.gov-portal .gov-company-extract.btn {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    margin: 0;
    padding: 11px 16px;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.45;
    white-space: normal;
}

.gov-portal .gov-company-report-details {
    margin: 0 30px;
    padding: 0 0 16px;
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-company-report-details summary {
    min-height: 44px;
    padding: 12px 0;
    color: var(--gov-action);
}

.gov-portal .gov-company-report-details p {
    margin: 8px 0 12px;
}

.gov-portal .gov-company-report-details ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 7px 25px;
    padding-left: 18px;
}

.gov-portal .gov-company-content .gov-company-premium-note {
    margin: 0;
    padding: 0 30px 24px;
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-company-copy-status {
    padding: 0 30px 16px;
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-company-copy-status:empty {
    display: none;
}

.gov-portal .gov-company-copy-field {
    display: block;
    width: calc(100% - 60px);
    min-height: 60px;
    margin: 0 30px 20px;
    padding: 12px;
    border: 1px solid var(--gov-line);
    border-radius: 5px;
    background: var(--gov-ground);
    color: var(--gov-ink);
    font-family: inherit;
    font-size: 16px;
}

.gov-portal .gov-company-copy-field[hidden] {
    display: none;
}

.gov-portal .gov-company-empty {
    padding: 58px 30px 30px;
    color: var(--gov-muted);
}

@media (max-width: 575.98px) {
    /* Компенсация полосы прокрутки от Bootstrap не должна сужать мобильную карточку второй раз. */
    .gov-portal .gov-organization-dialog {
        padding-right: 0 !important;
        padding-left: 0 !important;
    }

    .gov-portal .gov-organization-dialog .modal-dialog {
        margin: 12px auto;
    }

    .gov-portal .gov-company-heading {
        padding: 28px 24px 21px;
    }

    .gov-portal .gov-company-heading h2 {
        font-size: 25px;
    }

    .gov-portal .gov-company-identifiers {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
        margin: 0 24px 19px;
        padding: 15px 17px;
    }

    .gov-portal .gov-company-tabs {
        gap: 19px;
        padding: 0 24px;
    }

    .gov-portal .gov-company-panels {
        padding: 23px 24px;
    }

    .gov-portal .gov-company-codes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
    }

    .gov-portal .gov-company-footer {
        flex-direction: column-reverse;
        gap: 8px;
        align-items: stretch;
        padding: 20px 24px;
    }

    .gov-portal .gov-company-refresh {
        justify-content: center;
        text-align: center;
    }

    .gov-portal .gov-company-report-details {
        margin: 0 24px;
    }

    .gov-portal .gov-company-report-details ul {
        grid-template-columns: minmax(0, 1fr);
    }

    .gov-portal .gov-company-content .gov-company-premium-note,
    .gov-portal .gov-company-copy-status {
        padding-right: 24px;
        padding-left: 24px;
    }

    .gov-portal .gov-company-copy-field {
        width: calc(100% - 48px);
        margin-right: 24px;
        margin-left: 24px;
    }
}

/* «Срок и состав»: оформление ограничено окном с этой серверной формой.
   :has() реагирует и на клик, и на штатный предвыбор через .prop('checked', true). */
.gov-portal .swal2-popup:has(.gov-premium-choice) {
    width: 720px;
    max-width: calc(100vw - 24px);
    padding: 0 !important;
    overflow: hidden;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-synthesis: none;
    text-align: left;
}

.gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-header {
    padding: 30px 32px 0;
}

.gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-title {
    width: 100%;
    margin: 0;
    padding: 0 30px 0 0;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 27px;
    font-weight: 400;
    line-height: 1.25;
    letter-spacing: -.025em;
    text-align: left;
}

.gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    color: var(--gov-muted);
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
}

.gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-content {
    padding: 0 32px;
}

.gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-html-container {
    margin: 0;
    padding: 0;
    text-align: left;
}

.gov-portal .gov-premium-choice {
    margin: 0;
    padding: 0;
    color: var(--gov-ink);
    font-size: 14px;
    line-height: 1.55;
}

.gov-portal .gov-premium-choice-intro {
    max-width: 51ch;
    margin: 10px 0 24px;
    color: var(--gov-muted);
    font-size: 14px;
    line-height: 1.55;
}

.gov-portal .gov-premium-choice-layout {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 24px;
    padding-bottom: 28px;
}

.gov-portal .gov-premium-choice-options {
    display: grid;
    align-content: start;
    gap: 10px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.gov-portal .gov-premium-choice-option {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    margin: 0;
    padding: 16px 14px;
    border: 1px solid var(--gov-line);
    border-radius: 6px;
    background: var(--gov-paper);
    color: var(--gov-ink);
    font-weight: 400;
    cursor: pointer;
}

.gov-portal .gov-premium-choice-option:hover {
    border-color: #95a89a;
}

.gov-portal .gov-premium-choice-option:has(input:checked) {
    border-color: var(--gov-action);
    background: var(--gov-soft);
}

.gov-portal .gov-premium-choice-option input[type="radio"] {
    position: static;
    width: 18px;
    height: 18px;
    margin: 4px 0 0;
    opacity: 1;
    accent-color: var(--gov-action);
    cursor: inherit;
}

.gov-portal .gov-premium-choice-option-content {
    min-width: 0;
}

.gov-portal .gov-premium-choice-period {
    display: block;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 16px;
    font-weight: 400;
}

.gov-portal .gov-premium-choice-option-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px 8px;
    margin-top: 7px;
}

.gov-portal .gov-premium-choice-caption {
    color: var(--gov-muted);
    font-size: 12px;
}

.gov-portal .gov-premium-choice-option-price {
    margin-left: auto;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gov-portal .gov-premium-choice-popular {
    padding: 3px 7px;
    border-radius: 3px;
    background: #fbf5e5;
    color: #71591f;
    font-size: 11px;
    line-height: 1.4;
}

.gov-portal .gov-premium-choice-details {
    min-width: 0;
    padding: 23px;
    border-radius: 7px;
    background: var(--gov-green);
    color: var(--gov-paper);
}

.gov-portal .gov-premium-choice-detail {
    display: none;
    /* У section в старой теме есть отступы 80px: внутри диалога они не нужны. */
    margin: 0;
    padding: 0;
}

/* Видимая панель определяется тем же radio, из которого preConfirm получает SKU. */
.gov-portal .gov-premium-choice:has(#premium-duration-day:checked) .gov-premium-choice-detail-day,
.gov-portal .gov-premium-choice:has(#premium-duration-month:checked) .gov-premium-choice-detail-month,
.gov-portal .gov-premium-choice:has(#premium-duration-year:checked) .gov-premium-choice-detail-year {
    display: block;
}

.gov-portal .gov-premium-choice-detail h3 {
    margin: 0;
    color: var(--gov-paper);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 21px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -.02em;
}

.gov-portal .gov-premium-choice-lead {
    margin: 9px 0 0;
    color: #d4e3da;
    font-size: 13px;
    line-height: 1.55;
}

.gov-portal .gov-premium-choice-features {
    display: grid;
    gap: 14px;
    margin: 25px 0 0;
    padding: 0;
    list-style: none;
    color: var(--gov-paper);
    font-size: 13px;
    line-height: 1.55;
}

.gov-portal .gov-premium-choice-features li {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 0;
}

.gov-portal .gov-premium-choice-features i {
    flex-shrink: 0;
    margin-top: 4px;
    color: #e5bd69;
    font-size: 13px;
}

.gov-portal .gov-premium-choice-total {
    margin-top: 24px;
    padding-top: 17px;
    border-top: 1px solid #ffffff33;
}

.gov-portal .gov-premium-choice-price {
    color: var(--gov-paper);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.3;
    letter-spacing: -.025em;
    font-variant-numeric: tabular-nums;
    overflow-wrap: anywhere;
}

.gov-portal .gov-premium-choice-total > p {
    margin: 4px 0 0;
    color: #d4e3da;
    font-size: 12px;
    line-height: 1.6;
}

/* Подтверждение и отмена по-прежнему принадлежат Swal; меняется лишь оформление. */
.gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-actions {
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 20px 32px;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-actions .btn {
    min-height: 46px;
    margin: 0;
    padding: 12px 18px;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-shadow: none;
}

.gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-footer {
    justify-content: flex-start;
    margin: 0;
    padding: 16px 32px;
    border-top: 1px solid var(--gov-line);
    color: var(--gov-action);
    font-size: 12px;
    line-height: 1.55;
    text-align: left;
}

.gov-portal .swal2-popup:has(.gov-premium-choice) .premium-pluses-link:hover {
    color: var(--gov-green-deep) !important;
    text-decoration: underline;
    text-underline-offset: 4px;
}

@media (max-width: 599.98px) {
    .gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-header {
        padding: 27px 22px 0;
    }

    .gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-title {
        font-size: 24px;
    }

    .gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-content {
        padding: 0 22px;
    }

    .gov-portal .gov-premium-choice-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        padding-bottom: 22px;
    }

    .gov-portal .gov-premium-choice-option {
        padding: 13px;
    }

    .gov-portal .gov-premium-choice-option-meta {
        margin-top: 4px;
    }

    .gov-portal .gov-premium-choice-details {
        padding: 20px;
    }

    .gov-portal .gov-premium-choice-features {
        gap: 10px;
        margin-top: 17px;
    }

    .gov-portal .gov-premium-choice-total {
        margin-top: 17px;
    }

    .gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-actions {
        padding: 18px 22px;
    }

    .gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-actions .swal2-confirm {
        flex: 1;
    }

    .gov-portal .swal2-popup:has(.gov-premium-choice) .swal2-footer {
        padding: 16px 22px;
    }
}

/* Документы по кадастровому номеру: только оформление существующего Swal.
   Исходные radio, tab-pane и inline display оставлены под управлением kadInfoShop. */
.gov-portal .swal2-popup:has(.gov-egrn-choice) {
    width: 740px;
    max-width: calc(100vw - 24px);
    padding: 0 !important;
    overflow: hidden;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-synthesis: none;
    text-align: left;
}

.gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-header {
    padding: 28px 30px 24px;
}

.gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-title {
    width: 100%;
    margin: 0;
    padding: 0 28px 0 0;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.35;
    letter-spacing: -.025em;
    text-align: left;
    overflow-wrap: anywhere;
}

.gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
    color: var(--gov-muted);
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
}

.gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-content {
    padding: 0 30px;
}

.gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-html-container {
    margin: 0;
    padding: 0;
    text-align: left;
}

.gov-portal .gov-egrn-choice {
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.55;
}

.gov-portal .gov-egrn-choice-layout {
    display: grid;
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    align-items: start;
    gap: 20px;
}

.gov-portal .gov-egrn-choice-options {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.gov-portal .gov-egrn-choice-options > .col-12 {
    padding: 0;
}

.gov-portal .gov-egrn-choice-option {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 15px 14px;
    border: 1px solid var(--gov-line);
    border-radius: 6px;
    background: var(--gov-paper);
    color: var(--gov-ink);
    font-weight: 400;
    cursor: pointer;
}

.gov-portal .gov-egrn-choice-option:hover {
    border-color: #8ba593;
}

.gov-portal .gov-egrn-choice-option:has(input:checked) {
    border-color: var(--gov-action);
    background: var(--gov-soft);
}

.gov-portal .gov-egrn-choice-control,
.gov-portal .gov-egrn-choice-radio {
    display: block;
    width: 18px;
    margin: 0;
    padding: 0;
}

.gov-portal .gov-egrn-choice-radio input[type="radio"] {
    position: static;
    display: block;
    width: 18px;
    height: 18px;
    margin: 3px 0 0;
    opacity: 1;
    accent-color: var(--gov-action);
    cursor: inherit;
}

.gov-portal .gov-egrn-choice-label,
.gov-portal .gov-egrn-choice-head {
    display: block;
    min-width: 0;
}

.gov-portal .gov-egrn-choice-title {
    display: block;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

.gov-portal .gov-egrn-choice-badge {
    display: table;
    margin-top: 6px;
    padding: 3px 6px;
    border-radius: 3px;
    background: #fbf5e5;
    color: #71591f;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 11px;
    line-height: 1.4;
}

.gov-portal .gov-egrn-choice-price {
    display: block;
    margin-top: 11px;
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 19px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -.025em;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.gov-portal .gov-egrn-choice-price small {
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0;
}

.gov-portal .gov-egrn-choice-example {
    display: block;
    margin-top: 12px;
    font-size: 12px;
    line-height: 1.5;
}

.gov-portal .gov-egrn-choice-example a {
    text-decoration: underline;
    text-decoration-color: #21664c65;
    text-underline-offset: 3px;
}

.gov-portal .gov-egrn-choice .gov-egrn-choice-details {
    min-width: 0;
    margin: 0;
    padding: 22px !important;
    border-radius: 7px !important;
    background: var(--gov-green) !important;
    color: var(--gov-paper);
}

.gov-portal .gov-egrn-choice-panel .h4 {
    margin: 0;
    color: var(--gov-paper) !important;
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: -.02em;
}

.gov-portal .gov-egrn-choice-panel .h6 {
    margin: 8px 0 0;
    color: #d4e3da !important;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
}

.gov-portal .gov-egrn-choice-features {
    display: grid;
    gap: 11px;
    margin-top: 19px;
    color: var(--gov-paper);
    font-size: 13px;
    line-height: 1.55;
}

.gov-portal .gov-egrn-choice-feature {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.gov-portal .gov-egrn-choice-feature i {
    flex: 0 0 16px;
    margin-top: 3px;
    font-size: 13px;
}

.gov-portal .gov-egrn-included {
    color: #e5bd69;
}

.gov-portal .gov-egrn-choice-feature:has(.gov-egrn-excluded) {
    color: #d4e3da;
}

.gov-portal .gov-egrn-excluded {
    color: #b8ccbf;
}

.gov-portal .gov-egrn-choice-common {
    margin-top: 24px;
    padding-top: 21px;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .gov-egrn-choice-common-title {
    color: var(--gov-green-deep);
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 400;
}

.gov-portal .gov-egrn-choice-conditions {
    display: grid;
    gap: 9px;
    margin: 13px 0 0;
    padding: 0;
    list-style: none;
    font-size: 12px;
    line-height: 1.6;
}

.gov-portal .gov-egrn-choice-condition {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    align-items: start;
    column-gap: 9px;
}

/* Это поясняющие символы, а не checkbox: без рамки, заливки и галочки. */
.gov-portal .gov-egrn-choice-condition > i {
    width: 16px;
    margin-top: 3px;
    color: var(--gov-action);
    font-size: 14px;
    text-align: center;
}

.gov-portal .gov-egrn-choice-premium {
    margin-top: 18px;
    padding: 13px 15px;
    border-radius: 5px;
    background: var(--gov-ground);
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.65;
}

.gov-portal .gov-egrn-choice-offer {
    margin: 18px 0 20px;
    color: var(--gov-muted);
    font-size: 11px;
    line-height: 1.6;
}

.gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-actions {
    justify-content: flex-end;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 19px 30px;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-actions .btn {
    min-height: 46px;
    margin: 0;
    padding: 12px 18px;
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-shadow: none;
}

@media (max-width: 599.98px) {
    .gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-header {
        padding: 26px 22px 21px;
    }

    .gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-title {
        font-size: 21px;
    }

    .gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-content {
        padding: 0 22px;
    }

    .gov-portal .gov-egrn-choice-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 17px;
    }

    .gov-portal .gov-egrn-choice-option {
        padding: 13px;
    }

    .gov-portal .gov-egrn-choice .gov-egrn-choice-details {
        padding: 20px !important;
    }

    .gov-portal .gov-egrn-choice-common {
        margin-top: 20px;
        padding-top: 18px;
    }

    .gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-actions {
        padding: 18px 22px;
    }

    .gov-portal .swal2-popup:has(.gov-egrn-choice) .swal2-confirm {
        flex: 1;
    }
}

/* «Аккуратный реестр»: общая навигация кабинета и оформление избранного.
   :has ограничивает стили таблицы этой страницей без правок Blade и DataTables. */
.gov-portal .gov-account-sidebar .d-user-avater {
    padding: 22px 18px;
    border-bottom: 1px solid var(--gov-line);
}

.gov-portal .gov-account-sidebar .d-user-avater > span:last-child {
    min-width: 0;
    overflow-wrap: anywhere;
}

/* Абсолютный индикатор старой темы привязываем к самой ссылке,
   резервируя место и для плюса, и для минуса штатного Bootstrap collapse. */
.gov-portal .gov-account-sidebar .nav-collapse-link > span {
    display: block;
    width: 100%;
}

.gov-portal .gov-account-sidebar .nav-collapse-link > span > a {
    position: relative;
    width: 100%;
    padding-right: 46px;
}

.gov-portal .gov-account-sidebar .nav-collapse-link > span > a::before {
    top: 50%;
    right: 12px;
    width: 22px;
    height: 22px;
    border-radius: 4px;
    background: var(--gov-soft);
    color: var(--gov-action);
    transform: translateY(-50%);
}

.gov-portal .gov-account-main:has(.js-favourite-table) {
    font-synthesis: none;
}

.gov-portal .gov-account-main:has(.js-favourite-table) .gov-account-title {
    margin-bottom: 22px;
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 26px;
    font-weight: 400;
    text-shadow: none;
}

/* Сохраняем текст уведомления, но отделяем его от рабочей панели полей. */
.gov-portal .gov-account-main:has(.js-favourite-table) .alert {
    margin-bottom: 24px !important;
    padding: 13px 16px;
    font-size: 12px;
    line-height: 1.65;
}

.gov-portal .gov-account-main:has(.js-favourite-table) > .mt-4,
.gov-portal .gov-account-main:has(.js-favourite-table) > .mt-4 > .mt-3 {
    margin-top: 0 !important;
}

.gov-portal .gov-account-main:has(.js-favourite-table) .dataTables_wrapper > .row:first-child {
    align-items: flex-end;
    row-gap: 16px;
    margin-bottom: 20px;
}

.gov-portal .gov-account-main:has(.js-favourite-table) :is(.dataTables_length, .dataTables_filter) label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
    margin-bottom: 0;
    color: var(--gov-muted);
    font-size: 12px;
    line-height: 1.5;
    white-space: normal;
}

.gov-portal .gov-account-main:has(.js-favourite-table) .dataTables_length label {
    width: max-content;
    max-width: 100%;
}

.gov-portal .gov-account-main:has(.js-favourite-table) .dataTables_filter label {
    width: min(100%, 268px);
    margin-left: auto;
}

.gov-portal .gov-account-main:has(.js-favourite-table) :is(.dataTables_length select, .dataTables_filter input) {
    box-sizing: border-box;
    min-height: 44px;
    height: 44px;
    margin: 0;
    border: 1px solid #b8c7bc;
    border-radius: 5px;
    background-color: var(--gov-paper);
    color: var(--gov-ink);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
}

/* Общий background темы убирает штатную стрелку form-select.
   Возвращаем один графический шеврон, оставляя нативный select и его события. */
.gov-portal .gov-account-main:has(.js-favourite-table) .dataTables_length select {
    width: 96px;
    max-width: 100%;
    padding: 9px 36px 9px 12px;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%2321664c' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 14px 14px;
}

.gov-portal .gov-account-main:has(.js-favourite-table) .dataTables_filter input {
    display: block;
    width: 100%;
    max-width: none;
    padding: 9px 12px;
}

.gov-portal .gov-account-main .js-favourite-table {
    width: 100%;
    margin: 0 !important;
}

.gov-portal .gov-account-main .js-favourite-table thead th {
    padding-top: 13px;
    padding-bottom: 13px;
    padding-left: 12px;
    background: #f3f6f4;
    color: var(--gov-muted);
    font-size: 12px;
    font-weight: 400;
}

/* Сортировку рисует прежний DataTables; оставляем её стрелкам отдельное место. */
.gov-portal .gov-account-main .js-favourite-table thead th:not(.sorting_disabled) {
    padding-right: 34px;
}

.gov-portal .gov-account-main .js-favourite-table thead th:is(.sorting, .sorting_asc, .sorting_desc)::before,
.gov-portal .gov-account-main .js-favourite-table thead th:is(.sorting, .sorting_asc, .sorting_desc)::after {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
}

.gov-portal .gov-account-main .js-favourite-table tbody > tr:not(.child) > td {
    padding: 20px 12px;
    vertical-align: middle;
}

.gov-portal .gov-account-main .js-favourite-table .property-container .title {
    width: auto;
    min-width: 0;
    overflow: hidden;
}

.gov-portal .gov-account-main .js-favourite-table .title h4,
.gov-portal .gov-account-main .js-favourite-table .title h4 a {
    font-family: 'GolosTextWebRegular', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
    text-decoration: none;
    text-shadow: none;
}

.gov-portal .gov-account-main .js-favourite-table .title h4 a:hover {
    color: #327b5f !important;
}

.gov-portal .gov-account-main .js-favourite-table :is(th, td):nth-child(2) {
    text-align: right;
}

/* Правый край подписи совпадает с правым краем цены. Стрелки переносим
   в свободную левую часть заголовка, сохраняя штатную сортировку DataTables. */
.gov-portal .gov-account-main .js-favourite-table thead th:nth-child(2) {
    padding-right: 12px;
    padding-left: 34px;
}

.gov-portal .gov-account-main .js-favourite-table thead th:nth-child(2)::before {
    right: auto;
    left: 12px;
}

.gov-portal .gov-account-main .js-favourite-table thead th:nth-child(2)::after {
    right: auto;
    left: 20px;
}

.gov-portal .gov-account-main .js-favourite-table tbody > tr:not(.child) > td:nth-child(2) {
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 14px;
    font-weight: 400;
    font-variant-numeric: tabular-nums;
    text-shadow: none;
}

.gov-portal .gov-account-main .js-favourite-table :is(th:last-child, td.action) {
    /* Подпись относится к ссылке на площадку, а не к соседнему удалению. */
    text-align: left;
}

.gov-portal .gov-account-main .js-favourite-table :is(td.action, .dtr-data) .js-delete {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    min-height: 36px;
    margin-left: 8px;
    padding: 0;
    border-radius: 4px;
    color: #74867b !important;
    text-decoration: none;
}

.gov-portal .gov-account-main .js-favourite-table :is(td.action, .dtr-data) .js-delete:hover {
    background: #faeeee;
    color: #a74848 !important;
}

.gov-portal .gov-account-main:has(.js-favourite-table) .dataTables_wrapper > .row:last-child {
    align-items: center;
    row-gap: 14px;
    margin-top: 4px;
    padding-top: 18px;
    border-top: 1px solid var(--gov-line);
}

.gov-portal .gov-account-main:has(.js-favourite-table) .dataTables_info {
    padding-top: 0;
    line-height: 1.6;
}

@media (min-width: 992px) {
    /* В старой теме колонки имеют собственные отступы, не зависящие от gutter.
       Явные 12px дают промежуток 24px и одинаковую ширину панели на всех страницах ЛК. */
    .gov-portal .gov-account-layout > :is(.gov-account-aside, .gov-account-content) {
        padding-right: 12px;
        padding-left: 12px;
    }
}

@media (min-width: 1200px) {
    /* Внешние Bootstrap-отступы по 12px оставляют видимую панель ровно 280px. */
    .gov-portal .gov-account-layout {
        grid-template-columns: 304px minmax(0, 1fr);
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .gov-portal .gov-account-layout {
        grid-template-columns: 264px minmax(0, 1fr);
    }
}

@media (max-width: 767.98px) {
    .gov-portal .gov-account-main:has(.js-favourite-table) .gov-account-title {
        font-size: 24px;
    }

    .gov-portal .gov-account-main:has(.js-favourite-table) .dataTables_filter label {
        width: 100%;
        margin-left: 0;
    }

    .gov-portal .gov-account-main:has(.js-favourite-table) :is(.dataTables_length select, .dataTables_filter input) {
        font-size: 16px;
    }

    /* Не переопределяем display ячеек: скрытые столбцы и раскрытие подробностей
       по-прежнему принадлежат Responsive. Фото и GlideImage остаются в исходном HTML. */
    .gov-portal .gov-account-main .js-favourite-table td.property-container {
        min-width: 0;
        overflow-wrap: anywhere;
    }

    .gov-portal .gov-account-main .js-favourite-table tbody > tr:not(.child) > td {
        padding: 18px 10px;
    }

    .gov-portal .gov-account-main .js-favourite-table thead th {
        padding-left: 10px;
    }

    .gov-portal .gov-account-main .js-favourite-table thead th:nth-child(2) {
        padding-right: 10px;
        padding-left: 34px;
    }

    .gov-portal .gov-account-main .js-favourite-table.dtr-inline.collapsed > tbody > tr > td:first-child {
        padding-left: 30px;
    }

    .gov-portal .gov-account-main .js-favourite-table .property-container .title {
        overflow: visible;
    }

    /* Очень крупная сумма переносится по пробелам между группами цифр,
       а не увеличивает минимальную ширину всей таблицы на узком телефоне. */
    .gov-portal .gov-account-main .js-favourite-table tbody > tr:not(.child) > td:nth-child(2) {
        min-width: 104px;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .gov-portal .gov-account-main .js-favourite-table :is(td.action, .dtr-data) .js-delete {
        min-width: 40px;
        min-height: 44px;
    }

    .gov-portal .gov-account-main:has(.js-favourite-table) .dataTables_paginate .pagination {
        gap: 4px;
        margin: 0;
    }
}

/* Напоминание о неприменённых фильтрах: третий согласованный вариант.
   Начальное hidden сохраняет исходную выдачу и не требует JS для её отображения. */
.gov-portal .gov-search-pending {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
    padding: 15px 16px;
    border: 1px solid #e8ddbd;
    border-radius: 5px;
    background: #fbf5e5;
    color: #70581f;
}

.gov-portal .gov-search-pending[hidden] {
    display: none !important;
}

.gov-portal .gov-search-pending > i {
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: 4px;
    font-size: 16px;
}

.gov-portal .gov-search-pending-text {
    flex: 1;
    min-width: 0;
}

.gov-portal .gov-search-pending-text strong {
    display: block;
    font-family: 'GolosTextWebDemiBold', 'Segoe UI', sans-serif;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
}

.gov-portal .gov-search-pending-text p {
    margin: 3px 0 0;
    color: inherit;
    font-size: 12px;
    line-height: 1.6;
}

.gov-portal .gov-search-pending .gov-search-pending-apply {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    margin: 0;
    padding: 10px 13px;
    font-size: 13px;
    font-weight: 400;
    line-height: 1.5;
    white-space: nowrap;
}

.gov-portal .gov-search-pending-apply i {
    margin: 0;
    font-size: 14px;
}

@media (max-width: 767.98px) {
    .gov-portal .gov-search-pending {
        flex-wrap: wrap;
        gap: 9px;
        padding: 14px;
    }

    .gov-portal .gov-search-pending-text {
        flex: 1 1 calc(100% - 25px);
    }

    .gov-portal .gov-search-pending .gov-search-pending-apply {
        max-width: calc(100% - 25px);
        margin-left: 25px;
    }
}

@media print {
    body.gov-portal { background: #fff; color: #000; }
    .gov-portal .header, .gov-portal .dark-footer, .gov-portal .top-scroll { display: none; }
    .gov-portal .property-listing, .gov-portal .property_block_wrap { break-inside: avoid; box-shadow: none; }
}
