/* Сравнение ЖК Астаны — стили только для страницы /blog/sravnenie-novostroek-astany.html */
.zc { margin: 0 0 1.5rem; }
.zc-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    align-items: flex-end;
    background: #f4f6fb;
    border-radius: 10px;
    padding: 0.9rem 1rem;
    margin: 0 0 1rem;
}
.zc-filters label {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-primary);
}
.zc-filters select {
    font: inherit;
    font-weight: 400;
    font-size: 0.9rem;
    min-width: 9.5rem;
    padding: 0.4rem 0.5rem;
    border: 1px solid #cfd6e4;
    border-radius: 8px;
    background: #fff;
    color: var(--text-primary);
}
.zc-count { font-size: 0.85rem; color: var(--medium-gray); margin-left: auto; padding-bottom: 0.4rem; }
.zc:not(.zc-on) .zc-filters, .zc:not(.zc-on) .zc-ch { display: none; }

.zc-table td, .zc-table th { vertical-align: top; padding: 0.55rem 0.45rem; }
.zc-table th { font-size: 0.68rem; letter-spacing: 0.2px; }
.zc-table td { font-size: 0.85rem; }
.zc-table .zc-sub { white-space: normal; }
.zc-table .zc-ch { width: 2.2rem; text-align: center; }
/* заголовки-кнопки сортировки */
.zc-sort {
    font: inherit;
    color: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
    text-align: left;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: baseline;
    gap: 0.3em;
}
.zc-sort:hover { text-decoration: underline; }
.zc-sort:focus-visible { outline: 2px solid var(--primary-gold); outline-offset: 2px; border-radius: 2px; }
.zc-sort-ind { font-size: 0.85em; opacity: 0.45; }
.zc-table th.zc-sorted .zc-sort-ind { opacity: 1; color: var(--primary-gold); }
.zc-table .zc-ch input { width: 1.1rem; height: 1.1rem; cursor: pointer; accent-color: var(--primary-deep-blue); }
.zc-table tbody tr.zc-sel { background: #fdf6dc; }
.zc-table tbody tr.zc-hidden { display: none; }
.zc-name { font-weight: 700; color: var(--primary-deep-blue); }
.zc-sub { display: block; font-size: 0.75rem; color: var(--medium-gray); white-space: nowrap; }
.zc-num { white-space: nowrap; }
.zc-prot { display: inline-block; padding: 0.1rem 0.4rem; border-radius: 6px; font-size: 0.72rem; font-weight: 600; line-height: 1.35; }
.zc-prot-bank { background: #e8f0fe; color: #1a4fa0; }
.zc-prot-kzhk { background: #e6f6ec; color: #1e7b45; }
.zc-prot-mio { background: #fff1e0; color: #a35a00; }
.zc-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.zc-bar {
    position: fixed;
    transition: bottom 0.2s ease;
    left: 50%;
    bottom: 16px;
    transform: translateX(-50%);
    z-index: 1000;
    display: flex;
    align-items: center;
    gap: 0.75rem;
    max-width: calc(100vw - 32px);
    background: var(--primary-deep-blue);
    color: #fff;
    border-radius: 999px;
    padding: 0.55rem 0.6rem 0.55rem 1.1rem;
    box-shadow: 0 8px 24px rgba(26, 42, 108, 0.3);
    font-size: 0.9rem;
}
.zc-bar[hidden] { display: none; }
.zc-btn {
    font: inherit;
    font-weight: 700;
    border: 0;
    border-radius: 999px;
    padding: 0.5rem 1rem;
    background: var(--primary-gold);
    color: #1a2a6c;
    cursor: pointer;
}
.zc-btn[disabled] { opacity: 0.55; cursor: default; }
.zc-link { font: inherit; border: 0; background: none; color: inherit; text-decoration: underline; cursor: pointer; padding: 0.25rem; }
.zc-result .zc-link { color: var(--primary-deep-blue); }

.zc-result { margin: 1.5rem 0 0; scroll-margin-top: 90px; }
.zc-result[hidden] { display: none; }
.zc-result h3 { margin: 0 0 0.75rem; }
.zc-cmp { border-collapse: collapse; width: 100%; font-size: 0.88rem; }
.zc-cmp th, .zc-cmp td { border-bottom: 1px solid #e9ecef; padding: 0.55rem 0.65rem; text-align: left; vertical-align: top; }
.zc-cmp thead th { background: var(--primary-deep-blue); color: #fff; border-bottom: 2px solid var(--primary-gold); font-size: 0.9rem; min-width: 8.5rem; }
.zc-cmp thead th:first-child { min-width: 8rem; }
.zc-cmp tbody th { font-weight: 600; color: var(--medium-gray); font-size: 0.8rem; background: #fafbfd; width: 8rem; }
.zc-cmp td.zc-best { background: #eef8f1; font-weight: 600; }
.zc-cmp .zc-sub { white-space: normal; }
.zc-cmp a { overflow-wrap: anywhere; }
.zc-concl {
    background: #fdf9ef;
    border-left: 4px solid var(--primary-gold-dark);
    border-radius: 10px;
    padding: 1rem 1.25rem;
    margin: 1rem 0 0.5rem;
}
.zc-concl h4 { margin: 0 0 0.5rem; font-size: 1rem; }
.zc-concl ul { margin: 0; padding-left: 1.2rem; }
.zc-concl li { margin-bottom: 0.45rem; line-height: 1.5; font-size: 0.95rem; }
.zc-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-top: 0.5rem; }
.zc-toast { font-size: 0.85rem; color: var(--success); }

@media (max-width: 768px) {
    .zc-filters select { min-width: 0; width: 100%; }
    .zc-filters label { flex: 1 1 45%; }
    .zc-count { margin-left: 0; flex: 1 1 100%; padding-bottom: 0; }
    .zc-table td { font-size: 0.82rem; }
    .zc-table th.zc-ch, .zc-table td.zc-ch { min-width: 0; width: 2.4rem; padding-left: 0.35rem; padding-right: 0.35rem; }
    .zc-table td:nth-child(2) { min-width: 8.5rem; }
    .zc-bar { width: calc(100vw - 32px); justify-content: space-between; border-radius: 14px; }
    .zc-cmp { font-size: 0.82rem; }
    .zc-cmp th, .zc-cmp td { padding: 0.5rem 0.5rem; }
    .zc-cmp thead th { min-width: 7.5rem; font-size: 0.82rem; }
    .zc-cmp thead th:first-child, .zc-cmp tbody th { position: sticky; left: 0; z-index: 1; width: 5.6rem; min-width: 5.6rem; max-width: 5.6rem; font-size: 0.72rem; }
    .zc-cmp thead th:first-child { background: var(--primary-deep-blue); }
    .zc-cmp tbody th { background: #f4f6fb; box-shadow: 1px 0 0 #e1e6f0; }
}
