/* ============================================
   Блог: карточка записи (.post-card),
   страницы рубрик / архивов (.blog-archive),
   секция-карусель «Записи рубрики» (.section-blog),
   PDF-кнопка записи.
   Брейкпоинты проекта: 990 / 560
   ============================================ */

/* ── Карточка записи (общая: архив + карусель) ── */

.post-card {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--color-border-input, #e3e3e3);
    border-radius: var(--radius-card, 12px);
    overflow: hidden;
    transition: box-shadow .2s, border-color .2s;
}

/* Вся карточка кликабельна: «растянутая» ссылка заголовка накрывает карточку */
.post-card__title a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

/* Элементы поверх растянутой ссылки — сохраняют собственный клик и hover */
.post-card .post-pdf-btn,
.post-card .post-card__more {
    position: relative;
    z-index: 2;
}

.post-card:hover {
    border-color: var(--color-primary-opacity-30, rgba(0,0,0,.15));
    box-shadow: 0 4px 24px rgba(0, 0, 0, .1);
}

.post-card__thumb {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--color-primary-opacity-10, #f4f4f4);
}

.post-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s;
}

.post-card:hover .post-card__thumb img {
    transform: scale(1.04);
}

.post-card__body {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 12px;
    padding: 20px;
}

.post-card__title {
    margin: 0;
    font-family: var(--font-title, var(--font-family, inherit));
    font-size: 18px;
    font-weight: 600;
    line-height: 1.35;
    text-transform: none;
}

.post-card__title a {
    color: var(--color-text, #222);
    text-decoration: none;
    transition: color .2s;
}

.post-card__title a:hover {
    color: var(--color-primary, #0077b6);
}

.post-card__excerpt {
    color: var(--color-text-light, #555);
    font-size: 14px;
    line-height: 1.6;
}

.post-card__excerpt p {
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.post-card__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    margin-top: auto;
    padding-top: 4px;
}

.post-card__more {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-primary, #0077b6);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: gap .2s, color .2s;
}

.post-card__more:hover,
.post-card__more:focus-visible {
    color: var(--color-secondary, var(--color-primary, #0077b6));
    gap: 12px;
}

/* ── PDF-кнопка (карточка и одиночная запись) ── */

.post-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    background: var(--color-primary, #0077b6);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    border-radius: var(--radius-btn, 8px);
    transition: background .2s, box-shadow .2s;
}

.post-pdf-btn:hover,
.post-pdf-btn:focus-visible {
    background: var(--color-secondary, var(--color-primary, #0077b6));
    color: #fff;
    box-shadow: 0 4px 14px var(--color-primary-opacity-30, rgba(0,0,0,.2));
}

.post-pdf-btn svg {
    flex-shrink: 0;
}

/* Одиночная запись: кнопка под контентом */

.post-pdf-wrap {
    padding-top: 20px;
}

.post-pdf-btn--single {
    font-size: 15px;
    padding: 13px 24px;
}

/* ── Страница рубрики / архива ── */

.blog-archive {
    padding: 40px 0 64px;
}

.blog-archive .archive-header {
    margin: 0 0 32px;
}

.blog-archive .archive-title {
    margin: 0;
    font-family: var(--font-title, var(--font-family, inherit));
    font-size: var(--h2_size, 36px);
    font-weight: var(--h2_weight, 700);
    text-transform: var(--h2_transform, none);
    color: var(--h2_color, var(--color-text, #222));
    line-height: 1.2;
}

.blog-archive .archive-description {
    margin-top: 12px;
    max-width: 760px;
    color: var(--color-text-light, #555);
    font-size: 15px;
    line-height: 1.6;
}

.blog-archive .archive-description p {
    margin: 0 0 8px;
}

.blog-archive .archive-description p:last-child {
    margin-bottom: 0;
}

.blog-archive .posts-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* ── Пагинация архива ── */

.blog-archive .navigation.pagination {
    margin-top: 40px;
}

.blog-archive .nav-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.blog-archive .nav-links .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 42px;
    padding: 0 10px;
    border: 1px solid var(--color-border-input, #e3e3e3);
    border-radius: var(--radius-btn, 8px);
    color: var(--color-text, #222);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background .2s, color .2s, border-color .2s;
}

.blog-archive .nav-links .page-numbers:hover,
.blog-archive .nav-links .page-numbers:focus-visible {
    border-color: var(--color-primary, #0077b6);
    color: var(--color-primary, #0077b6);
}

.blog-archive .nav-links .page-numbers.current {
    background: var(--color-primary, #0077b6);
    border-color: var(--color-primary, #0077b6);
    color: #fff;
}

.blog-archive .nav-links .page-numbers.dots {
    border: none;
    color: var(--color-text-light, #555);
}

.blog-archive .no-results {
    color: var(--color-text-light, #555);
    font-size: 15px;
}

/* ── Таблицы контента: скролл при выходе за границы ── */

.entry-content .wp-block-table,
.text-block-content .wp-block-table,
.entry-content .table-scroll-wrap,
.text-block-content .table-scroll-wrap {
    max-width: 100%;
    margin: 24px 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: var(--color-primary-opacity-30, rgba(0,0,0,.25)) transparent;
}

/* Отступы держит обёртка; сама таблица не сжимается уже колонок */
.entry-content .wp-block-table table,
.text-block-content .wp-block-table table,
.entry-content .table-scroll-wrap table,
.text-block-content .table-scroll-wrap table {
    margin: 0;
}

/* Заголовок сразу после таблицы — тот же отступ, что был у table + h2/h3 */
.text-block-content .wp-block-table + h2,
.text-block-content .wp-block-table + h3,
.text-block-content .table-scroll-wrap + h2,
.text-block-content .table-scroll-wrap + h3 {
    margin-top: 24px;
    margin-bottom: 10px;
}

/* ── Картинки контента записи с Fancybox ── */

.content-img-link {
    display: block;
    cursor: zoom-in;
    line-height: 0;
}

.content-img-link img {
    transition: opacity .2s;
}

.content-img-link:hover img {
    opacity: .92;
}

/* ── Секция «Записи рубрики» (карусель Slick) ── */

.section-blog {
    padding: 48px 0;
}

.section-blog__header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 28px;
}

.section-blog__title {
    margin: 0;
}

.section-blog__all {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--color-primary, #0077b6);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: gap .2s, color .2s;
}

.section-blog__all:hover,
.section-blog__all:focus-visible {
    color: var(--color-secondary, var(--color-primary, #0077b6));
    gap: 12px;
}

/* До инициализации Slick прячем трек, чтобы не мигала сырая колонка
   (только в режиме карусели — при одной записи Slick не запускается) */
.section-blog.is-carousel .section-blog__track:not(.slick-initialized) {
    visibility: hidden;
}

/* Отступы между слайдами: паддинги слайдов + компенсация на треке */
.section-blog__slider-wrap {
    margin: 0 -12px;
}

.section-blog__slide {
    padding: 0 12px;
}

/* Карточки одной высоты внутри Slick */
.section-blog__track .slick-track {
    display: flex;
}

.section-blog__track .slick-slide {
    height: auto;
    display: flex;
}

.section-blog__track .slick-slide > div {
    display: flex;
    width: 100%;
}

.section-blog__slide .post-card {
    width: 100%;
    height: 100%;
}

/* Без карусели (1 запись) — обычная сетка */
.section-blog:not(.is-carousel) .section-blog__track {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

/* ── Навигация карусели: ← dots → ── */

.section-blog__nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-top: 28px;
}

.section-blog__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    background: #fff;
    border: 1px solid var(--color-border-input, #e3e3e3);
    border-radius: var(--radius-btn, 8px);
    color: var(--color-text, #222);
    cursor: pointer;
    padding: 0;
    transition: background .2s, color .2s, border-color .2s, box-shadow .2s;
}

.section-blog__arrow:hover,
.section-blog__arrow:focus-visible {
    background: var(--color-primary, #0077b6);
    border-color: var(--color-primary, #0077b6);
    color: #fff;
    box-shadow: 0 4px 14px var(--color-primary-opacity-30, rgba(0,0,0,.2));
}

.section-blog__arrow.slick-disabled {
    opacity: .35;
    pointer-events: none;
}

.section-blog__dots .slick-dots {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 320px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.section-blog__dots .slick-dots li {
    margin: 0;
    line-height: 0;
}

.section-blog__dots .slick-dots button {
    width: 10px;
    height: 10px;
    padding: 0;
    font-size: 0;
    border: none;
    border-radius: 50%;
    background: var(--color-primary-opacity-20, rgba(0,0,0,.15));
    cursor: pointer;
    transition: background .2s, transform .2s;
}

.section-blog__dots .slick-dots li:hover button,
.section-blog__dots .slick-dots button:focus-visible {
    background: var(--color-primary-opacity-50, rgba(0,0,0,.35));
}

.section-blog__dots .slick-dots li.slick-active button {
    background: var(--color-primary, #0077b6);
    transform: scale(1.2);
}

/* ── Адаптив ── */

@media (max-width: 990px) {
    .blog-archive .posts-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }

    .blog-archive .archive-title {
        font-size: 28px;
    }

    .section-blog {
        padding: 36px 0;
    }

    .section-blog:not(.is-carousel) .section-blog__track {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 560px) {
    .blog-archive {
        padding: 24px 0 48px;
    }

    .blog-archive .posts-list {
        grid-template-columns: 1fr;
    }

    .blog-archive .archive-header {
        margin-bottom: 20px;
    }

    .blog-archive .archive-title {
        font-size: 24px;
    }

    .post-card__body {
        padding: 16px;
    }

    .section-blog {
        padding: 28px 0;
    }

    .section-blog__header {
        margin-bottom: 20px;
    }

    .section-blog:not(.is-carousel) .section-blog__track {
        grid-template-columns: 1fr;
    }

    .section-blog__nav {
        margin-top: 20px;
        gap: 12px;
    }

    .section-blog__arrow {
        width: 38px;
        height: 38px;
    }
}
