/* ==========================================================================
   KIE — доработки 2026-08-08 (DuoBrain)
   Добавлять В КОНЕЦ /assets/kie/css/custom.css
   ========================================================================== */

/* --- 1. Замыленный фон на мобильных ---------------------------------------
   background-attachment: fixed мобильные браузеры (iOS Safari, Chrome Android)
   не умеют: они растягивают фон до размера вьюпорта и потом мылят.
   На тач-устройствах отключаем параллакс. */
@media (max-width: 991px) {
    .food_video,
    .footer-area {
        background-attachment: scroll;
        background-position: center center;
        background-size: cover;
    }
}
@media (hover: none) and (pointer: coarse) {
    .food_video,
    .footer-area {
        background-attachment: scroll;
    }
}

/* --- 2. Блок с архиепископом: на мобиле картинка уходит --------------------
   Цитата остаётся, подпись под ней — она смысловая часть цитаты. */
@media (max-width: 767px) {
    /* !important обязателен: в custom.css выше стоит глобальное
       img { display: inline-block !important } */
    .food_tasting .season_tast img {
        display: none !important;
    }
    .food_tasting .season_tast {
        margin-top: 0;
    }
    .food_tasting .season_tast .foholic_subcontent {
        margin: 0;
        padding-top: 14px;
        text-align: center;
        font-style: italic;
    }
    /* цитата идёт первой, подпись — после неё */
    .food_tasting .row {
        flex-direction: column-reverse;
    }
    /* отступ от картинки с образом Христа — примерно сантиметр */
    .food_tasting {
        margin-top: 38px;
    }
}

/* --- 3. Образ Христа в блоке «О комплексе» ---------------------------------
   Картинка отдаётся без серверного кропа по высоте: только ограничение
   по ширине, высота считается сама. */
.resto-img img.img-fluid {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
}

/* --- 4. Первый экран: постер вместо видео до загрузки ---------------------- */
.slide-bg-image.kie-hero {
    background-position: center 28%;
    background-size: cover;
    background-repeat: no-repeat;
    background-color: #2b2119;
}
.slide-bg-image.kie-hero video {
    opacity: 0;
    transition: opacity .6s ease;
}
.slide-bg-image.kie-hero.kie-video-ready video {
    opacity: 1;
}
/* На узких экранах статуя должна попадать в кадр целиком:
   крест и поднятая рука в верхней трети снимка. */
@media (max-width: 767px) {
    .slide-bg-image.kie-hero {
        background-position: center 22%;
    }
}
@media (max-width: 575px) {
    .slide-bg-image.kie-hero {
        background-position: center 18%;
    }
}

/* Кнопка «включить видео» */
.kie-video-play {
    position: absolute;
    right: 24px;
    bottom: 24px;
    z-index: 12;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 22px;
    border: 1px solid rgba(255, 255, 255, .55);
    border-radius: 40px;
    background: rgba(0, 0, 0, .28);
    color: #fff;
    font-size: 17px;
    line-height: 1;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    backdrop-filter: blur(2px);
    transition: background .25s ease, border-color .25s ease, opacity .3s ease;
}
.kie-video-play:hover {
    background: rgba(0, 0, 0, .5);
    border-color: #fff;
}
/* в теме есть глобальные span { font-size: 18px } и span { color: #383d36 } —
   перебиваем адресно, иначе текст на кнопке тёмный и не того размера */
.kie-video-play span {
    color: #fff;
    font-size: inherit;
    line-height: 1;
    letter-spacing: .06em;
}
.kie-video-play svg {
    width: 12px;
    height: 14px;
    fill: currentColor;
}
.kie-video-play[hidden] {
    display: none;
}
/* На телефоне снизу стоит кнопка «Расписание богослужений» во всю ширину —
   уводим кнопку видео наверх экрана, иначе они наезжают друг на друга. */
@media (max-width: 767px) {
    .kie-video-play {
        top: 16px;
        right: 16px;
        bottom: auto;
        padding: 11px 17px;
        font-size: 13px;
    }
}

/* --- 6. Размеры текста на мобильных ---------------------------------------
   Блок «Здесь утихают страсти» был 26/36, блок «Территория комплекса» — 28/38.
   На телефоне такие кегли режут по одному-двум словам в строке. */
@media (max-width: 767px) {
    .resto_foods .fo-abo-last .foholic_subcontent {
        font-size: 17px;
        line-height: 24px;
    }
    .food_video .video_title {
        font-size: 20px;
        line-height: 27px;
    }
}

/* --- 5. Карусели на мобильных ---------------------------------------------
   Разметку не трогаем: структуру Swiper собирает скрипт, поэтому на десктопе
   всё остаётся ровно как было. */
.kie-swiper {
    position: relative;
    overflow: hidden;
    padding-bottom: 8px;
}
.kie-swiper .swiper-slide {
    height: auto;
    padding: 0 4px;
}
/* flex-start, а не stretch: при stretch все слайды тянутся до самого высокого,
   autoHeight перестаёт работать и под коротким текстом зияет пустота */
.kie-swiper .swiper-wrapper {
    align-items: flex-start;
}

/* Панель управления под каруселью: стрелка — точки — стрелка.
   Стрелки специально не поверх карточки: тексты в «Преимуществах» длинные,
   и любая кнопка по центру слайда легла бы прямо на строки. */
.kie-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    /* минус выбирает лишнее, что Swiper и тема оставляют под слайдом:
       иначе между текстом карточки и стрелками зияет ~130 px пустоты */
    margin-top: -20px;
}

/* стрелки — еле заметные, полупрозрачные */
.kie-nav {
    flex: 0 0 auto;
    z-index: 10;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 50%;
    background: rgba(115, 55, 2, .16);
    color: #733702;
    opacity: .45;
    cursor: pointer;
    transition: opacity .25s ease, background .25s ease;
}
.kie-nav:active,
.kie-nav:hover {
    opacity: .8;
    background: rgba(115, 55, 2, .28);
}
.kie-nav svg {
    width: 11px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.kie-nav.swiper-button-disabled {
    opacity: .15;
    pointer-events: none;
}

/* точки-пагинация — подсказка, что листается.
   display задаём явно: в media-query.css на мобильных стоит
   .swiper-pagination { display: none } для слайдера первого экрана. */
.kie-controls .swiper-pagination {
    display: flex;
    align-items: center;
    gap: 7px;
    position: static;
    width: auto;
    margin: 0;
}
.kie-controls .swiper-pagination-bullet {
    width: 7px;
    height: 7px;
    margin: 0;
    background: #733702;
    opacity: .25;
}
.kie-controls .swiper-pagination-bullet-active {
    opacity: .7;
}

/* внутри каруселей карточки тянутся на всю высоту слайда */
.kie-swiper .blog-item {
    height: 100%;
}

/* --- 7. Внутренние страницы ------------------------------------------------
   Общие стили для «О комплексе», достопримечательностей, галереи и школы.
   Опираются на палитру шаблона: коричневый #733702, заголовки Forum. */

.page-intro {
    padding: 60px 0 0 0;
}
.page-intro h1.dark_head {
    margin-bottom: 24px;
}
.page-lead {
    max-width: 820px;
    margin: 0 auto 44px auto;
}
.page-hero img {
    width: 100%;
    height: auto;
    border-radius: 2px;
}

.page-block {
    padding: 70px 0;
}
/* в теме у .foholic_subcontent нет нижнего отступа — абзацы слипаются */
.page-block p.foholic_subcontent,
.page-intro p.foholic_subcontent {
    margin-bottom: 18px;
}
.page-block p.foholic_subcontent:last-child {
    margin-bottom: 0;
}
.page-block--tint {
    background: #faf7f2;
}

/* Цифры-факты */
.page-facts {
    margin-top: 48px;
}
.fact-box {
    padding: 22px 10px;
}
.fact-num {
    font-family: 'Forum', serif;
    font-size: 44px;
    line-height: 1;
    color: #733702;
    margin-bottom: 10px;
}
.fact-box .foholic_subcontent {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
}

/* Цитаты */
.page-quote {
    margin: 26px 0;
    padding: 4px 0 4px 22px;
    border-left: 2px solid rgba(115, 55, 2, .35);
}
.page-quote .foholic_subcontent {
    margin: 0;
    font-style: italic;
}
.page-quote cite {
    display: block;
    margin-top: 10px;
    font-style: normal;
    font-size: 14px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #733702;
    opacity: .8;
}

/* Карточки маршрута */
.page-route {
    margin-top: 40px;
}
.route-box {
    height: 100%;
}
.route-box img {
    width: 100%;
    height: 220px;
    object-fit: cover;
    margin-bottom: 18px;
}
.route-box h3 {
    margin: 0 0 12px 0;
    color: #733702;
}
.route-box .foholic_subcontent {
    font-size: 16px;
    line-height: 25px;
}

/* Панорама во всю ширину */
.page-panorama img {
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 991px) {
    .page-block {
        padding: 48px 0;
    }
    .fact-num {
        font-size: 34px;
    }
    .route-box img {
        height: 190px;
    }
}
@media (max-width: 767px) {
    .page-intro {
        padding: 36px 0 0 0;
    }
    .page-block {
        padding: 36px 0;
    }
    .page-lead {
        margin-bottom: 30px;
    }
    .page-facts {
        margin-top: 28px;
    }
    .fact-box {
        padding: 14px 6px;
    }
    .fact-num {
        font-size: 30px;
    }
    .fact-box .foholic_subcontent {
        font-size: 14px;
        line-height: 20px;
    }
    /* тексты внутренних страниц на телефоне — как договорились по главной */
    .page-block .foholic_subcontent,
    .page-lead {
        font-size: 17px;
        line-height: 25px;
    }
    .route-box {
        margin-bottom: 26px;
    }
    .route-box img {
        height: 200px;
    }
    .page-quote {
        padding-left: 16px;
    }
}


/* --- 8. Мини-опрос внутри статьи ------------------------------------------
   Невысокая плашка, разбивает длинный текст и вовлекает читателя.
   Данные никуда не уходят: выбор просто фиксируется в localStorage. */
.kie-poll {
    margin: 34px 0;
    padding: 22px 24px;
    background: #faf7f2;
    border-top: 1px solid rgba(115, 55, 2, .18);
    border-bottom: 1px solid rgba(115, 55, 2, .18);
    text-align: center;
}
.page-block--tint .kie-poll {
    background: #fff;
}
.kie-poll__q {
    font-family: 'Forum', serif;
    font-size: 22px;
    line-height: 1.3;
    color: #733702;
    margin-bottom: 16px;
}
.kie-poll__opts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.kie-poll__opt {
    padding: 9px 20px;
    border: 1px solid rgba(115, 55, 2, .35);
    border-radius: 2px;
    background: transparent;
    color: #733702;
    font-size: 15px;
    line-height: 1.2;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, opacity .2s ease;
}
.kie-poll__opt:hover:not(:disabled) {
    background: rgba(115, 55, 2, .08);
    border-color: rgba(115, 55, 2, .6);
}
.kie-poll__opt:disabled {
    cursor: default;
    opacity: .45;
}
.kie-poll__opt.is-chosen {
    opacity: 1;
    background: #733702;
    border-color: #733702;
    color: #fff;
}
.kie-poll__thanks {
    display: none;
    margin-top: 14px;
    font-size: 14px;
    letter-spacing: .04em;
    color: #733702;
    opacity: .75;
}
.kie-poll.is-answered .kie-poll__thanks {
    display: block;
}
@media (max-width: 767px) {
    .kie-poll {
        margin: 26px 0;
        padding: 18px 14px;
    }
    .kie-poll__q {
        font-size: 19px;
        margin-bottom: 14px;
    }
    .kie-poll__opt {
        padding: 8px 16px;
        font-size: 14px;
    }
}

/* --- 9. Страница расписания богослужений ---------------------------------- */
.page-schedule .schedule-img {
    display: block;
    margin-bottom: 22px;
    border: 1px solid rgba(115, 55, 2, .18);
}
.page-schedule .schedule-img img {
    width: 100%;
    height: auto;
    display: block;
}
.page-schedule .schedule-hint {
    margin: -10px 0 26px 0;
    font-size: 14px;
    letter-spacing: .03em;
    color: #733702;
    opacity: .75;
    text-align: center;
}
.kie-calendar {
    background: #faf7f2;
    border: 1px solid rgba(115, 55, 2, .18);
    padding: 18px 16px;
}
.kie-calendar__title {
    font-family: "Forum", serif;
    font-size: 24px;
    line-height: 1.2;
    color: #733702;
    text-align: center;
    margin: 0 0 14px 0;
}
.kie-calendar__frame {
    width: 100%;
    border: 0;
    display: block;
    min-height: 320px;
    background: transparent;
}
.kie-calendar__stub {
    text-align: center;
    font-size: 14px;
    color: #733702;
    opacity: .6;
    padding: 40px 0;
}
@media (max-width: 991px) {
    .kie-calendar { margin-top: 28px; }
}


/* --- 10. Воскресная школа: преподаватели и галерея ------------------------ */
.page-teachers {
    margin-top: 34px;
}
.teacher-card {
    text-align: center;
    margin-bottom: 26px;
}
.teacher-card img {
    width: 100%;
    aspect-ratio: 3 / 4;
    height: auto;
    object-fit: cover;
    object-position: 50% 22%;
    margin-bottom: 12px;
}
.teacher-name {
    font-family: 'Forum', serif;
    font-size: 17px;
    line-height: 1.25;
    color: #733702;
}
.teacher-role {
    font-size: 14px;
    line-height: 1.35;
    color: #383d36;
    opacity: .75;
    margin-top: 4px;
}

/* сетка галереи: строгий грид, ровно 4 в ряд, без дырок от inline-block */
.kie-gal-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 26px;
}
.kie-gal-grid .gal-item {
    margin: 0;
    width: auto;
}
.page-gallery .gal-item a {
    display: block;
    overflow: hidden;
}
.page-gallery .gal-item img {
    width: 100%;
    aspect-ratio: 1 / 1;
    height: auto;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
.page-gallery .gal-item a:hover img {
    transform: scale(1.05);
}
/* кнопка под галереей не должна прилипать к последнему ряду */
.page-gallery .foholic_button {
    margin-top: 34px;
}

@media (max-width: 991px) {
    .kie-gal-grid { grid-template-columns: repeat(3, 1fr); }

}
@media (max-width: 575px) {
    .kie-gal-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }

    .teacher-name { font-size: 15px; }
    .teacher-role { font-size: 13px; }
}


/* --- 11. Главная на мобильных: первые три текста по центру ----------------
   Блок «Самый большой в России образ Христа Воскресшего», цитата архиепископа
   и «На участке земли...» — на узком экране выключка по левому краю рвёт ритм. */
@media (max-width: 767px) {
    .our_history .foholic_title,
    .our_history .foholic_subcontent,
    .food_tasting .tasting_content .foholic_subcontent,
    .resto_foods .fo-abo-last .foholic_subcontent {
        text-align: center;
    }
    .resto_foods .fo-abo-last .foholic_button {
        text-align: center;
    }
}


/* --- 12. Страница достопримечательности ---------------------------------- */
.dost-group {
    font-size: 13px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #733702;
    opacity: .7;
    margin-bottom: 10px;
}
.dost-facts {
    margin-top: 40px;
}
/* у блока стоит бутстраповский m-auto с !important — перебиваем адресно,
   иначе отступы просто не применяются и фото прилипает к тексту */
.page-block .dost-photo {
    margin-top: 18px !important;
    margin-bottom: 34px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}
.page-dost .page-hero {
    text-align: center;
    margin-top: 8px;
}
.dost-photo img {
    width: 100%;
    height: auto;
    display: block;
}

/* переходы между объектами */
.dost-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.dost-nav__link {
    flex: 1 1 220px;
    max-width: 320px;
    text-decoration: none;
    display: block;
}
.dost-nav__link--next {
    text-align: right;
}
.dost-nav__link--empty {
    visibility: hidden;
}
.dost-nav__label {
    display: block;
    font-size: 12px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #733702;
    opacity: .6;
    margin-bottom: 4px;
}
.dost-nav__title {
    display: block;
    font-family: 'Forum', serif;
    font-size: 19px;
    line-height: 1.25;
    color: #733702;
}
.dost-nav__link:hover .dost-nav__title {
    text-decoration: underline;
}
.dost-nav__all {
    flex: 0 0 auto;
    padding: 14px 30px;
    border: 1px solid rgba(115, 55, 2, .35);
    border-radius: 2px;
    color: #733702;
    font-size: 17px;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background .2s ease;
}
.dost-nav__all:hover {
    background: rgba(115, 55, 2, .08);
    color: #733702;
}
@media (max-width: 767px) {
    .dost-nav {
        flex-direction: column;
        gap: 26px;
        text-align: center;
    }
    .dost-nav__link,
    .dost-nav__link--next {
        text-align: center;
        max-width: none;
        flex: 0 0 auto;
        width: 100%;
    }
    .dost-nav__link--empty {
        display: none;
    }
    .dost-nav__label {
        font-size: 13px;
        margin-bottom: 6px;
    }
    .dost-nav__title {
        font-size: 21px;
        line-height: 1.3;
    }
    .dost-nav__all {
        width: 100%;
        text-align: center;
        font-size: 16px;
        padding: 14px 18px;
    }
    .page-block .dost-photo {
        margin-top: 18px !important;
        margin-bottom: 26px !important;
    }
    /* тексты страницы объекта на телефоне чуть крупнее */
    .page-dost .page-lead,
    .page-block .foholic_subcontent {
        font-size: 18px;
        line-height: 27px;
    }
    .dost-group {
        font-size: 12px;
    }
}

/* вертикальные снимки не должны разъезжаться на весь экран */
.page-dost .page-hero img,
.dost-photo img {
    max-height: 620px;
    width: auto;
    max-width: 100%;
    margin: 0 auto;
    display: block;
}
@media (max-width: 767px) {
    .page-dost .page-hero img,
    .dost-photo img {
        max-height: 480px;
    }
}


/* --- 13. Список достопримечательностей ------------------------------------ */
.dost-list__group {
    margin: 48px 0 6px 0;
    text-align: center;
}
.dost-list {
    margin-bottom: 10px;
}
.dost-card {
    display: block;
    text-decoration: none;
    margin-bottom: 34px;
}
.dost-card__img {
    overflow: hidden;
    margin-bottom: 14px;
}
.dost-card__img img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    transition: transform .4s ease;
}
.dost-card:hover .dost-card__img img {
    transform: scale(1.05);
}
.dost-card__title {
    font-family: 'Forum', serif;
    font-size: 22px;
    line-height: 1.25;
    color: #733702;
    margin-bottom: 8px;
}
.dost-card__text {
    font-size: 15px;
    line-height: 23px;
    color: #383d36;
    opacity: .8;
}
.dost-card:hover .dost-card__title {
    text-decoration: underline;
}
@media (max-width: 767px) {
    .dost-list__group {
        margin: 34px 0 4px 0;
    }
    .dost-card__title {
        font-size: 20px;
    }
    .dost-card__text {
        font-size: 16px;
        line-height: 24px;
    }
}

/* ============================================================
   14. Полезные статьи (раздел 39) — карточки, списки, помощь
   ============================================================ */

/* --- сетка карточек на странице раздела --- */
.art-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}
@media (max-width: 991px) { .art-grid { grid-template-columns: repeat(2, 1fr); gap: 22px; } }
@media (max-width: 575px) { .art-grid { grid-template-columns: 1fr; gap: 20px; } }

.art-card {
    display: block;
    background: #fff;
    border: 1px solid rgba(115, 55, 2, .16);
    text-decoration: none;
    transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.art-card:hover {
    border-color: rgba(115, 55, 2, .38);
    box-shadow: 0 14px 34px rgba(115, 55, 2, .12);
    transform: translateY(-3px);
}
.art-card__img { overflow: hidden; line-height: 0; }
.art-card__img img { width: 100%; height: auto; display: block !important; }
.art-card__body { padding: 20px 22px 24px; }
.art-card__title {
    font-family: 'Forum', serif;
    font-size: 21px;
    line-height: 1.3;
    color: #733702;
    margin-bottom: 10px;
}
.art-card__lead {
    font-size: 15px;
    line-height: 1.6;
    color: #5d6058;
    margin-bottom: 14px;
}
.art-card__more {
    display: inline-block;
    font-size: 13px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #733702;
    border-bottom: 1px solid rgba(115, 55, 2, .4);
    padding-bottom: 2px;
}
@media (max-width: 575px) {
    .art-card__title { font-size: 20px; }
    .art-card__lead { font-size: 15.5px; }
}

/* --- маркированные списки внутри статей --- */
.page-list {
    list-style: none;
    padding: 0;
    margin: 6px 0 22px;
}
.page-list li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 12px;
    font-size: 17px;
    line-height: 1.75;
    color: #5d6058;
}
.page-list li:before {
    content: '';
    position: absolute;
    left: 4px;
    top: 12px;
    width: 7px;
    height: 7px;
    background: #BF7D2C;
    transform: rotate(45deg);
}
.page-list li b { color: #4a4d46; font-weight: 600; }
@media (max-width: 575px) {
    .page-list li { font-size: 16px; padding-left: 22px; }
    .page-list li:before { top: 10px; }
}

/* --- блок «Остались вопросы» --- */
.art-help__box {
    background: #faf7f2;
    border: 1px solid rgba(115, 55, 2, .18);
    padding: 30px 34px;
    margin-bottom: 34px;
}
.art-help__box h2 { margin-bottom: 14px; }
.art-help__box p:last-child { margin-bottom: 0; }
.art-help__box a { color: #733702; border-bottom: 1px solid rgba(115, 55, 2, .35); }
@media (max-width: 575px) { .art-help__box { padding: 22px 20px; } }

/* --- ссылки внутри текста статей --- */
.page-block .foholic_subcontent a {
    color: #733702;
    border-bottom: 1px solid rgba(115, 55, 2, .35);
}
.page-block .foholic_subcontent a:hover { border-bottom-color: #733702; }

/* --- карточка статьи на главной: картинка кликабельна --- */
.blog-item__imglink { display: block; line-height: 0; }

/* ============================================================
   15. Полезные статьи: квадратные превью и карусель на главной
   ============================================================ */

/* --- квадратные превью в разделе --- */
.art-card__img { aspect-ratio: 1 / 1; }
.art-card__img img { width: 100%; height: 100%; object-fit: cover; }

/* карточки одной высоты, чтобы ряд выглядел ровным */
.art-grid { align-items: stretch; }
.art-card { display: flex; flex-direction: column; }
.art-card__body { flex: 1 1 auto; display: flex; flex-direction: column; }
.art-card__more { margin-top: auto; align-self: flex-start; }

/* --- карусель «Полезные статьи» на главной --- */
#blog .kie-swiper { padding-bottom: 4px; }
#blog .kie-swiper .swiper-slide { height: auto; display: flex; }
#blog .kie-swiper .swiper-slide .blog-item { width: 100%; display: flex; flex-direction: column; }
#blog .kie-swiper .swiper-slide .blog-content { flex: 1 1 auto; }

/* панель со стрелками: на десктопе тоже видна, но остаётся деликатной */
#blog .kie-controls { margin-top: 6px; }

@media (min-width: 992px) {
    #blog .kie-controls { margin-top: 10px; }
    #blog .kie-nav { opacity: .25; }
    #blog .kie-nav:hover { opacity: .75; }
}

/* кнопка «Все статьи» не должна липнуть к панели карусели */
#blog .foholic_button { margin-top: 26px; }
/* карточки карусели одной высоты: у Swiper по умолчанию flex-start */
#blog .kie-swiper .swiper-wrapper { align-items: stretch; }
#blog .kie-swiper .swiper-slide .blog-item { height: 100%; }

/* ============================================================
   17. Логотип текстом «Кавказский Спас» – до появления файла логотипа
   ============================================================ */
.kie-logo { display: inline-flex; flex-direction: column; align-items: flex-start; line-height: 1; text-decoration: none; }
.kie-logo__name {
    font-family: 'Forum', serif; font-weight: 400; font-size: 26px; color: #733702;
    letter-spacing: .01em; white-space: nowrap;
}
.kie-logo__sub {
    font-family: 'Montserrat', sans-serif; font-weight: 500; font-size: 8.5px; color: #8a7a68;
    letter-spacing: .24em; text-transform: uppercase; white-space: nowrap; margin-top: 7px;
}
.header-logo a:hover .kie-logo__name, .logo a:hover .kie-logo__name { color: #5a2b02; }
/* мобильная шапка */
.mobile_header .kie-logo__name { font-size: 21px; }
.mobile_header .kie-logo__sub { font-size: 7px; letter-spacing: .2em; margin-top: 5px; }
/* ============================================================
   18. Страница «Подать записки» – заглушка до разработки раздела
   ============================================================ */
.zap-hint { font-size: 15px; color: #733702; opacity: .75; margin-top: 4px; }

.zap-soon {
    max-width: 760px; margin: 34px auto 0; padding: 22px 28px 20px;
    background: #faf7f2; border: 1px solid rgba(191, 125, 44, .45); border-left: 4px solid #bf7d2c;
    text-align: left;
}
.zap-soon__label {
    display: inline-block; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600;
    letter-spacing: .16em; text-transform: uppercase; color: #fff; background: #bf7d2c;
    padding: 5px 12px; margin-bottom: 10px;
}
.zap-soon p { margin: 0; font-size: 17px; line-height: 1.65; color: #5d6058; }
.zap-soon a { color: #733702; border-bottom: 1px solid rgba(115, 55, 2, .35); }

.zap-h2 { text-align: center; margin: 10px 0 24px !important; }

/* типы поминовения */
.zap-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 54px; }
.zap-type { border: 1px solid rgba(115, 55, 2, .2); padding: 18px 20px 20px; background: #fff; }
.zap-type.is-on { border-color: #733702; background: #faf7f2; }
.zap-type__n { font-family: 'Forum', serif; font-size: 21px; color: #733702; line-height: 1.25; }
.zap-type__m { font-size: 14px; color: #8a8a8a; margin-top: 6px; line-height: 1.45; }
.zap-seg { display: inline-flex; border: 1px solid rgba(115, 55, 2, .3); margin-top: 14px; }
.zap-seg span { padding: 6px 14px; font-size: 14px; color: #733702; }
.zap-seg span.is-on { background: #733702; color: #fff; }

/* бумажные записки */
.zap-papers { display: grid; grid-template-columns: repeat(2, minmax(0, 480px)); justify-content: center; gap: 30px; }
.zap-paper {
    position: relative; background: #fffdf7; border: 1px solid rgba(115, 55, 2, .2); padding: 30px 40px 32px;
    box-shadow: 0 1px 0 rgba(115, 55, 2, .06), 0 14px 34px rgba(115, 55, 2, .07);
}
.zap-paper__cross { display: block; margin: 0 auto 6px; }
.zap-paper__title { text-align: center; font-family: 'Forum', serif; font-size: 28px; color: #733702; letter-spacing: .02em; }
.zap-paper__sub { text-align: center; font-family: 'Montserrat', sans-serif; font-size: 11px; color: #a08b72; margin-top: 4px; letter-spacing: .14em; text-transform: uppercase; }
.zap-orn { display: block; margin: 14px auto 18px; max-width: 100%; }
.zap-line {
    border-bottom: 1px solid rgba(115, 55, 2, .28); padding: 6px 2px 5px; margin-bottom: 10px;
    font-family: 'Forum', serif; font-size: 21px; line-height: 30px; color: #3a3126; text-align: center;
}
.zap-line--empty { font-family: 'Montserrat', sans-serif; font-size: 13px; color: #cbc3b4; }
.zap-add {
    margin-top: 16px; border: 1px dashed rgba(115, 55, 2, .35); color: #b09878; text-align: center;
    font-size: 14px; padding: 9px 18px;
}

/* отправка – неактивна */
.zap-send { max-width: 520px; margin: 40px auto 0; text-align: center; }
.zap-btn {
    width: 100%; padding: 16px; border: 0; background: #733702; color: #fff; opacity: .45; cursor: not-allowed;
    font-family: 'Forum', serif; font-size: 20px; letter-spacing: .08em; text-transform: uppercase;
}
.zap-send__note { font-size: 14px; color: #8a8a8a; line-height: 1.55; margin-top: 12px; }
.zap-send__note a { color: #733702; }

@media (max-width: 991px) { .zap-types { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) {
    .zap-types { grid-template-columns: 1fr; gap: 12px; }
    .zap-papers { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .zap-paper { padding: 24px 20px 26px; }
    .zap-soon { padding: 18px 18px 16px; }
    .zap-soon p { font-size: 16px; }
}
