.hero--boom .hero__title {
    font-size: var(--fs-h1);
    line-height: 1.15;
}

.hero--boom + .advantages + .catalog-list--boom {
    margin-top: clamp(55px, 5vw, 80px);
}

.catalog-list--boom .catalog-list__heading {
    margin: 0 0 24px;
    font-size: var(--fs-h2);
    line-height: 1.15;
}

.catalog-list--boom .boom-filter__tag {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 8px 18px;
    border-radius: 24px;
    background: #f2f2f2;
    color: #111;
    text-decoration: none;
    font-size: 14px;
}

.catalog-list--boom .boom-filter__tag:hover,
.catalog-list--boom .boom-filter__tag.is-active {
    background: #e4f2bf;
}

.catalog-list--boom .boom-filter__tag:focus-visible {
    outline: 2px solid #80aa20;
    outline-offset: 2px;
}

.catalog-list--boom .catalog-filter__controls {
    grid-template-columns: repeat(3, minmax(0, 1fr)) 155px;
}

.catalog-list--types .catalog-filter__controls {
    grid-template-columns: repeat(4, minmax(0, 1fr)) 155px;
}

@media (max-width: 991.98px) {
    .catalog-list--boom .catalog-filter__controls,
    .catalog-list--types .catalog-filter__controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .catalog-list--boom .catalog-filter__apply-btn {
        grid-column: auto;
    }
}

@media (max-width: 575.98px) {
    .catalog-list--boom .catalog-filter__controls,
    .catalog-list--types .catalog-filter__controls {
        grid-template-columns: 1fr;
    }
}

.boom-table { margin-top: var(--space-section); }
.boom-table__title { margin: 0 0 28px; font-size: var(--fs-h2); line-height: 1.15; }
.boom-table__scroll { overflow-x: auto; border: 1px solid #e3e7dd; border-radius: 16px; scrollbar-color: #a5d041 #f4f5f2; }
.boom-table__scroll:focus-visible { outline: 2px solid #80aa20; outline-offset: 4px; }
.boom-table .boom-table__grid { width: 100%; margin: 0; border: 0; border-collapse: separate; border-spacing: 0; font-size: 16px; line-height: 1.5; text-align: left; }
.boom-table .boom-table__grid th, .boom-table .boom-table__grid td { min-width: 160px; padding: 22px 24px; border: 0; border-bottom: 1px solid #e3e7dd; vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.boom-table .boom-table__grid th { background: #edf5da; color: #151a0c; font-weight: 600; }
.boom-table .boom-table__grid td { background: #fff; }
.boom-table .boom-table__grid tbody tr:nth-child(even) td { background: #f7f8f5; }
.boom-table .boom-table__grid tbody tr:hover td { background: #f0f6e5; }
.boom-table .boom-table__grid tbody tr:last-child td { border-bottom: 0; }
.boom-table .boom-table__grid th + th, .boom-table .boom-table__grid td + td { border-left: 1px solid #e3e7dd; }
.boom-table__note { margin: 18px 0 0; color: #62675a; font-size: 14px; line-height: 1.6; }
@media (max-width: 575.98px) {
    .boom-table__title { margin-bottom: 20px; }
    .boom-table .boom-table__grid { font-size: 14px; }
    .boom-table .boom-table__grid th, .boom-table .boom-table__grid td { min-width: 145px; padding: 16px; }
}

/* Мобильная таблица: все столбцы каждой строки видны без прокрутки по горизонтали. */
.boom-table__cell-label { display: none; }
.boom-table__cell-value { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 767.98px) {
    .boom-table__scroll { overflow: visible; border: 0; border-radius: 0; }
    .boom-table .boom-table__grid { display: block; width: 100%; font-size: 14px; }
    .boom-table .boom-table__grid thead {
        position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
        overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap;
    }
    .boom-table .boom-table__grid tbody { display: grid; gap: 16px; width: 100%; }
    .boom-table .boom-table__grid tbody tr {
        display: block; width: 100%; min-width: 0; overflow: hidden;
        border: 1px solid #e3e7dd; border-radius: 12px;
    }
    .boom-table .boom-table__grid tbody td {
        display: grid; grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
        gap: 14px; min-width: 0; width: auto; padding: 16px;
        border: 0; border-bottom: 1px solid #e3e7dd; background: #fff;
    }
    .boom-table .boom-table__grid tbody tr:nth-child(even) td,
    .boom-table .boom-table__grid tbody tr:hover td { background: #fff; }
    .boom-table .boom-table__grid tbody tr td:first-child { background: #edf5da; }
    .boom-table .boom-table__grid tbody tr:last-child td { border-bottom: 1px solid #e3e7dd; }
    .boom-table .boom-table__grid tbody tr td:last-child { border-bottom: 0; }
    .boom-table .boom-table__grid tbody td + td { border-left: 0; }
    .boom-table__cell-label { display: block; min-width: 0; font-weight: 600; color: #303626; overflow-wrap: anywhere; }
}
@media (max-width: 359.98px) {
    .boom-table .boom-table__grid tbody td { grid-template-columns: minmax(0, 1fr); gap: 6px; padding: 14px; }
}
