/* 
 * Стили для шаблонов Духовенства 
 */
:root {
    --pe-primary: #2e75b6;
    --pe-primary-dark: #1e5a96;
    --pe-primary-light: #eff6ff;
    --pe-primary-rgb: 46, 117, 182;
    --pe-text: #374151;
    --pe-text-light: #6b7280;
    --pe-border: #e5e7eb;
    --pe-bg: #f9fafb;
    --pe-white: #ffffff;
    --pe-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    --pe-shadow-hover: 0 10px 25px rgba(var(--pe-primary-rgb), 0.08);
    --pe-radius: 12px;
    --pe-radius-inner: 8px;
    --pe-transition: all 0.2s ease-in-out;
}

/* Общие элементы (используются в обоих шаблонах) */
/* Одинаковый вертикальный шаг между благочинием, поиском и видом (как gap внутри .pe-controls-bar) */
.pe-directory-toolbar {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 30px auto 30px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-self: stretch;
    align-items: stretch;
}
.pe-directory-toolbar > .pe-blago-select-wrapper,
.pe-directory-toolbar > .pe-controls-bar {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.pe-blago-select-wrapper { margin: 0 auto; max-width: 100%; }
.pe-blago-select-custom { position: relative; width: 100%; box-sizing: border-box; background: var(--pe-white); border: 1px solid var(--pe-border); border-radius: var(--pe-radius); cursor: pointer; user-select: none; box-shadow: var(--pe-shadow); transition: var(--pe-transition); }
.pe-blago-select-custom:hover { border-color: #d1d5db; }
.pe-blago-select-custom__selected { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; font-size: 16px; font-weight: 600; color: var(--pe-text); }
.pe-blago-select-custom__arrow { transition: transform .3s; color: var(--pe-text-light); }
.pe-blago-select-custom.is-open .pe-blago-select-custom__arrow { transform: rotate(180deg); }
.pe-blago-select-custom__dropdown { position: absolute; top: 100%; left: 0; right: 0; background: var(--pe-white); border: 1px solid var(--pe-border); border-top: none; border-radius: 0 0 var(--pe-radius) var(--pe-radius); max-height: 0; overflow: hidden; opacity: 0; transition: .3s; z-index: 100; box-shadow: 0 10px 15px rgba(0,0,0,0.05); }
.pe-blago-select-custom.is-open .pe-blago-select-custom__dropdown { max-height: 400px; overflow-y: auto; opacity: 1; margin-top: 4px; border-top: 1px solid var(--pe-border); border-radius: var(--pe-radius); }
.pe-blago-select-custom__option { padding: 14px 20px; font-size: 15px; color: var(--pe-text-light); transition: background .2s; border-bottom: 1px solid var(--pe-bg); }
.pe-blago-select-custom__option:last-child { border-bottom: none; }
.pe-blago-select-custom__option:hover { background: var(--pe-bg); color: var(--pe-text); }
.pe-blago-select-custom__option.is-active { background: var(--pe-primary-light); color: var(--pe-primary); font-weight: 600; }

/* Строка поиска на всю ширину; переключатель вида — отдельной строкой на 100% (кнопки по 50%). Одинаковая высота строк. */
.pe-controls-bar {
    --pe-control-row-height: 54px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 0 auto;
    align-items: stretch;
    max-width: 100%;
}
.pe-clergy-search-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
    flex: 0 0 auto;
    align-self: stretch;
    min-height: 0;
    height: var(--pe-control-row-height);
    box-sizing: border-box;
}
.pe-clergy-search-input {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 0 132px 0 16px;
    font-size: 15px;
    line-height: var(--pe-control-row-height);
    color: var(--pe-text);
    border: 1px solid var(--pe-border) !important;
    border-radius: var(--pe-radius);
    outline: 0;
    transition: var(--pe-transition);
    background: var(--pe-white);
    box-shadow: var(--pe-shadow);
}
.pe-clergy-search-input:focus { border-color: var(--pe-primary) !important; box-shadow: 0 0 0 3px var(--pe-primary-light); }
.pe-clergy-search-clear {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    height: calc(var(--pe-control-row-height) - 10px);
    max-height: 44px;
    padding: 0 12px;
    margin: 0;
    border: none;
    border-radius: var(--pe-radius-inner);
    background: var(--pe-primary);
    color: var(--pe-white);
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.01em;
    white-space: nowrap;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 4px;
    transition: var(--pe-transition);
    box-shadow: 0 1px 2px rgba(var(--pe-primary-rgb), 0.25);
}
.pe-clergy-search-clear.is-visible {
    display: inline-flex;
}
.pe-clergy-search-clear:hover {
    background: var(--pe-primary-dark);
    color: var(--pe-white);
}

.pe-view-toggle {
    display: flex;
    gap: 4px;
    width: 100%;
    height: var(--pe-control-row-height);
    box-sizing: border-box;
    background: var(--pe-white);
    border: 1px solid var(--pe-border);
    border-radius: var(--pe-radius);
    padding: 4px;
    box-shadow: var(--pe-shadow);
    align-items: stretch;
}
.pe-view-btn { flex: 1; background: transparent; border: none; padding: 0 12px; border-radius: var(--pe-radius-inner); color: var(--pe-text-light); cursor: pointer; transition: var(--pe-transition); display: flex; align-items: center; justify-content: center; font-size: 15px; min-height: 0; }
.pe-view-btn:hover { color: var(--pe-primary); background: var(--pe-bg); }
.pe-view-btn.is-active { background: var(--pe-primary-light); color: var(--pe-primary); }

.pe-no-clergy { padding: 60px 20px; text-align: center; grid-column: 1/-1; background: var(--pe-white); border-radius: var(--pe-radius); border: 1px dashed var(--pe-border); }
.pe-no-clergy__icon { font-size: 48px; margin-bottom: 16px; opacity: .4; }
.pe-no-clergy__text { font-size: 16px; color: var(--pe-text-light); margin: 0; }

/* Архив Духовенства (Модерн): без page-frame используется прежняя внутренняя ширина. */
.pe-clergy-archive-modern:not(.pe-eparhiya-page-frame) { max-width: 1200px; margin: 0 auto; padding: 40px 20px; }
.pe-clergy-grid-modern { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
@media (max-width: 768px) { .pe-clergy-grid-modern { grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; } }
@media (max-width: 480px) { .pe-clergy-grid-modern { grid-template-columns: 1fr; } }

/* Карточка духовенства (Плитка) */
.pe-clergy-card-modern { background: var(--pe-white); border: 1px solid var(--pe-border); border-radius: var(--pe-radius); box-shadow: var(--pe-shadow); overflow: hidden; transition: var(--pe-transition); cursor: pointer; display: flex; flex-direction: column; }
.pe-clergy-card-modern:hover { transform: translateY(-4px); box-shadow: var(--pe-shadow-hover); border-color: #d1d5db; }
.pe-clergy-card-modern__photo { position: relative; aspect-ratio: 1/1; background: var(--pe-bg); overflow: hidden; border: 0; border-bottom: 1px solid var(--pe-border); border-radius: 0; }
.pe-clergy-card-modern__photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease; }
.pe-clergy-card-modern:hover .pe-clergy-card-modern__photo img { transform: scale(1.03); }
.pe-clergy-card-modern__info { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.pe-clergy-card-modern__name { font-size: 16px; font-weight: 700; color: var(--pe-text); margin-bottom: 8px; line-height: 1.4; }
.pe-clergy-card-modern__position { font-size: 14px; color: var(--pe-text-light); line-height: 1.5; margin: 0; }
.pe-card-san { display: inline-block; font-size: 12px; font-weight: 700; color: var(--pe-primary); margin-bottom: 10px; text-transform: lowercase; letter-spacing: 0.5px; }
.pe-clergy-card-modern__extra { display: none; } /* Скрыто в сетке */

/* List view for Clergy */
.pe-clergy-grid-modern.pe-view-list { grid-template-columns: 1fr; gap: 16px; }
.pe-view-list .pe-clergy-card-modern { flex-direction: row; max-width: 100% !important; width: 100%; align-items: center; padding: 16px; gap: 24px; border-radius: var(--pe-radius); }
.pe-view-list .pe-clergy-card-modern__photo { width: 80px; height: 80px; flex-shrink: 0; border-radius: var(--pe-radius); border: 1px solid var(--pe-border); aspect-ratio: auto; }
.pe-view-list .pe-clergy-card-modern__info { padding: 0; flex: 1; display: flex; flex-direction: row; align-items: center; justify-content: space-between; gap: 24px; }
.pe-view-list .pe-clergy-card-modern__main-info { flex: 1; }
.pe-view-list .pe-clergy-card-modern__name { margin-bottom: 4px; font-size: 17px; }
.pe-view-list .pe-card-san { margin-bottom: 0; margin-right: 12px; vertical-align: middle; }
.pe-view-list .pe-clergy-card-modern__extra { display: flex; flex-direction: column; align-items: flex-end; text-align: right; flex-shrink: 0; min-width: 140px; }
.pe-view-list .pe-born-label { font-size: 11px; color: var(--pe-text-light); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; font-weight: 600; }
.pe-view-list .pe-born-value { font-size: 14px; font-weight: 600; color: var(--pe-text); }

/* Вид «список» + экран <740px: дата скрыта, фото шире (min-height 80px), меньше зазоров у фото */
@media (max-width: 739px) {
    .pe-clergy-grid-modern.pe-view-list .pe-clergy-card-modern__born {
        display: none;
    }
    .pe-view-list .pe-clergy-card-modern {
        gap: 12px;
        padding: 12px 14px;
        align-items: center;
    }
    .pe-view-list .pe-clergy-card-modern__info {
        gap: 12px;
    }
    .pe-view-list .pe-clergy-card-modern__photo {
        width: 100px;
        min-width: 100px;
        min-height: 80px;
        height: auto;
        aspect-ratio: auto;
        border-radius: var(--pe-radius);
        overflow-x: hidden;
        overflow-y: visible;
        display: flex;
        align-items: center;
        justify-content: center;
        align-self: center;
        background: var(--pe-bg);
    }
    /* Колонка фикс. ширины, картинка без обрезки по высоте; по вертикали по центру ячейки */
    .pe-view-list .pe-clergy-card-modern__photo img {
        display: block;
        width: 100%;
        max-width: 100%;
        height: auto;
        object-fit: contain;
        object-position: center center;
    }
    .pe-view-list .pe-clergy-card-modern__photo .pe-photo-placeholder--person {
        width: 100%;
        min-height: 80px;
        height: 80px;
        flex-shrink: 0;
    }
}

@media (max-width: 480px) {
    .pe-controls-bar { --pe-control-row-height: 52px; }
    .pe-clergy-search-input { padding-right: 118px; font-size: 14px; }
    .pe-clergy-search-clear { font-size: 12px; padding: 0 8px; height: calc(var(--pe-control-row-height) - 8px); }
}

/* Вид «список» <390px: только сан и ФИО (должность скрыта), строка фото | текст */
@media (max-width: 389px) {
    .pe-view-list .pe-clergy-card-modern {
        flex-direction: row;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
    }
    .pe-view-list .pe-clergy-card-modern__photo {
        margin-bottom: 0;
        flex-shrink: 0;
    }
    .pe-view-list .pe-clergy-card-modern__info {
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        gap: 8px;
        width: auto;
        min-width: 0;
        flex: 1;
    }
    .pe-view-list .pe-clergy-card-modern__main-info {
        min-width: 0;
        flex: 1;
    }
    .pe-view-list .pe-clergy-card-modern__name {
        font-size: 15px;
        line-height: 1.35;
        margin-bottom: 0;
    }
    /* Только духовенство: адрес у храмов в той же ячейке — не скрываем */
    .pe-clergy-grid-modern.pe-view-list:not(.pe-churches-grid) .pe-clergy-card-modern__position {
        display: none;
    }
    .pe-view-list .pe-card-san {
        margin-right: 8px;
    }
}

/* Страница духовенства (Single) & Popup Hero */
.pe-clergy-hero { display: flex; gap: 40px; margin-bottom: 40px; align-items: center; }
.pe-clergy-hero__photo { flex-shrink: 0; width: 320px; height: 320px; border-radius: var(--pe-radius); overflow: hidden; box-shadow: var(--pe-shadow); background: var(--pe-bg); }
.pe-clergy-hero__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pe-clergy-hero__info { flex: 1; min-width: 0; }
.pe-clergy-name { font-size: 32px; font-weight: 700; color: var(--pe-text); margin: 0 0 16px; line-height: 1.2; word-break: break-word; }
.pe-clergy-san { display: inline-block; font-size: 13px; font-weight: 700; color: var(--pe-primary); background: var(--pe-primary-light); padding: 6px 12px; border-radius: 8px; margin-bottom: 12px; text-transform: lowercase; letter-spacing: 0.5px; border: 1px solid rgba(var(--pe-primary-rgb), 0.1); }
/* Карточка священника (single): сан — первая строка, ФИО — вторая */
.pe-clergy-single-modern .pe-clergy-name {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
.pe-clergy-single-modern .pe-clergy-name .pe-clergy-san {
    display: block;
    font-size: 16px;
    font-weight: 500;
    color: var(--pe-primary);
    background: none;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 0;
    text-transform: lowercase;
    letter-spacing: 0.2px;
    line-height: 1.3;
}
.pe-clergy-single-modern .pe-clergy-name .pe-clergy-fullname {
    display: block;
    font-size: 32px;
    font-weight: 700;
    color: var(--pe-text);
    line-height: 1.2;
    word-break: break-word;
}
.pe-clergy-position { font-size: 16px; color: var(--pe-text-light); margin: 0; line-height: 1.6; }

.pe-clergy-hero__info .pe-clergy-blagochinie {
    margin-top: 8px;
    color: var(--pe-primary);
}
.pe-clergy-hero__info .pe-clergy-blagochinie .pe-blagochinie-term-link {
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}
.pe-clergy-hero__info .pe-clergy-blagochinie .pe-blagochinie-term-link:hover {
    color: var(--pe-primary-dark);
    text-decoration: underline;
}

/* Детальные карточки (общие для single и popup) */
.pe-clergy-details { display: flex; flex-direction: column; gap: 24px; }
.pe-detail-card { background: var(--pe-white); border-radius: var(--pe-radius); box-shadow: var(--pe-shadow); border: 1px solid var(--pe-border); overflow: hidden; transition: var(--pe-transition); }
.pe-detail-card:hover { box-shadow: var(--pe-shadow-hover); }
.pe-detail-card__header {
    background: transparent !important;
    background-image: none !important;
    padding: 18px 22px 0 !important;
    border-bottom: 0 !important;
    transform: none;
}
.pe-detail-card__header h3 {
    margin: 0;
    font-size: 18px !important;
    line-height: 1.35 !important;
    font-weight: 700;
    color: var(--pe-text) !important;
    text-shadow: none;
}
.pe-detail-card__content { padding: 12px 22px 20px; font-size: 15px; line-height: 1.6; color: var(--pe-text); }
.pe-detail-card__content p { margin: 0 0 12px; }
.pe-detail-card__content p:last-child { margin-bottom: 0; }
.pe-detail-card__content a { color: var(--pe-primary); text-decoration: none; font-weight: 500; transition: var(--pe-transition); }
.pe-detail-card__content a:hover { color: var(--pe-primary-dark); text-decoration: underline; }

/* Награды */
.pe-awards-timeline { position: relative; padding-left: 20px; }
.pe-awards-timeline::before { content: ''; position: absolute; left: 5px; top: 8px; bottom: 8px; width: 2px; background: var(--pe-border); }
.pe-award-item { position: relative; margin-bottom: 20px; padding-left: 24px; }
.pe-award-item:last-child { margin-bottom: 0; }
.pe-award-item::before { content: ''; position: absolute; left: 0; top: 6px; width: 12px; height: 12px; background: var(--pe-white); border-radius: 50%; border: 3px solid var(--pe-primary); }
.pe-award-year { font-size: 13px; font-weight: 700; color: var(--pe-primary); margin-bottom: 4px; }
.pe-award-name { font-size: 15px; color: var(--pe-text); line-height: 1.5; }

/* Служение */
.pe-service-item { display: flex; flex-direction: column; gap: 6px; padding: 16px; background: var(--pe-bg); border-radius: var(--pe-radius-inner); margin-bottom: 12px; border: 1px solid var(--pe-border); transition: var(--pe-transition); }
.pe-service-item:last-child { margin-bottom: 0; }
.pe-service-item:hover { background: var(--pe-white); border-color: #d1d5db; box-shadow: var(--pe-shadow); transform: translateY(-1px); }
.pe-service-role { font-size: 12px; font-weight: 700; color: var(--pe-text-light); text-transform: uppercase; letter-spacing: 0.5px; }
.pe-service-church { font-size: 16px; font-weight: 600; color: var(--pe-text); }
.pe-service-link { color: var(--pe-primary); text-decoration: none; transition: var(--pe-transition); }
.pe-service-link:hover { color: var(--pe-primary-dark); text-decoration: underline; }

/* Заглушка */
.pe-photo-placeholder--person { background: var(--pe-bg); width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.pe-photo-placeholder--person::before { content: ''; width: 40%; height: 40%; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23d1d5db"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>') center/contain no-repeat; }

/* Попап священника */
/* Попап не является страницей, его заголовки наследуют шрифт контента попапа. */
main.site-main.pe-eparhiya-page-frame .pe-popup h1,
main.site-main.pe-eparhiya-page-frame .pe-popup h2,
main.site-main.pe-eparhiya-page-frame .pe-popup h3,
main.site-main.pe-eparhiya-page-frame .pe-popup h4,
main.site-main.pe-eparhiya-page-frame .pe-popup h5,
main.site-main.pe-eparhiya-page-frame .pe-popup h6 {
    font-family: inherit;
}
.pe-popup, .pe-popup__overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; }
.pe-popup { z-index: 99999; display: none; align-items: center; justify-content: center; padding: 20px; }
.pe-popup.active { display: flex; }
.pe-popup__overlay { background: rgba(17, 24, 39, 0.7); backdrop-filter: blur(4px); }
.pe-popup__dialog { position: relative; z-index: 100001; width: 100%; max-width: 960px; }
.pe-popup__container {
    position: relative;
    background: var(--pe-white);
    border-radius: 20px;
    max-width: 960px;
    width: 100%;
    max-height: 618px;
    height: min(618px, 85vh);
    min-height: 0;
    display: flex;
    flex-direction: column;
    z-index: 100000;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    overflow: hidden;
}
.pe-popup-close { position: absolute; top: 16px; right: 16px; width: 36px; height: 36px; background: var(--pe-bg); border: 1px solid var(--pe-border); border-radius: 16px; font-size: 24px; line-height: 1; color: var(--pe-text-light); cursor: pointer; z-index: 10; display: flex; align-items: center; justify-content: center; transition: var(--pe-transition); }
.pe-popup-close:hover { background: var(--pe-white); color: var(--pe-text); box-shadow: var(--pe-shadow); transform: scale(1.05); }
.pe-popup-content { position: relative; display: flex; flex: 1; flex-direction: column; min-height: 0; }
.pe-popup-body { display: flex; flex-direction: row; flex: 1; min-height: 0; width: 100%; overflow: hidden; }
.pe-popup-photo {
    flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
    min-width: 0;
    align-self: stretch;
    background: var(--pe-bg);
    overflow: hidden;
    border-right: 1px solid var(--pe-border);
    padding: 0 !important;
    margin: 0 !important;
}
.pe-popup-photo img { width: 100%; height: 100%; min-height: 0; object-fit: cover; display: block; padding: 0 !important; margin: 0 !important; border: none !important; }
.pe-popup-info { flex: 0 0 50%; width: 50%; max-width: 50%; min-width: 0; overflow-y: auto; overflow-x: hidden; padding: 0; display: flex; align-items: stretch; justify-content: flex-start; scrollbar-width: auto; scrollbar-color: rgba(var(--pe-primary-rgb), 0.26) rgba(var(--pe-primary-rgb), 0.08); }
.pe-popup-info::-webkit-scrollbar { width: 16px; height: 16px; }
.pe-popup-info::-webkit-scrollbar-track { background: rgba(var(--pe-primary-rgb), 0.08); border-radius: 0; }
.pe-popup-info::-webkit-scrollbar-thumb { background: rgba(var(--pe-primary-rgb), 0.26); border-radius: 0; border: 0; }
.pe-popup-info::-webkit-scrollbar-thumb:hover { background: rgba(var(--pe-primary-rgb), 0.34); }
.pe-popup .pe-popup-info .pe-popup-scroll { box-sizing: border-box; display: flex; flex-direction: column; row-gap: 0; padding: 18px 42px 24px 30px !important; width: 100% !important; max-width: none !important; }
.pe-popup .pe-popup-title { font-size: 21px !important; font-weight: 700 !important; color: var(--pe-text); margin: 0 !important; line-height: 1.14 !important; padding: 0 48px 0 0 !important; letter-spacing: 0; border: 0 !important; box-shadow: none !important; background-image: none !important; }
.pe-popup .pe-popup-title .pe-san { display: block; margin: 0 0 2px; color: var(--pe-primary-dark); font-size: 13px; font-weight: 700 !important; line-height: 1.12; text-transform: none; }
.pe-popup .pe-popup-title + .pe-popup-positions-list,
.pe-popup .pe-popup-title + .pe-popup-section { margin-top: 8px !important; }
.pe-popup-position { margin: 0 0 6px; padding: 0; border: 0 !important; font-size: 14px; color: var(--pe-text-light); line-height: 1.32; box-shadow: none !important; background-image: none !important; }
.pe-popup-positions-list { margin: 0 !important; padding-left: 17px !important; color: var(--pe-text-light); font-size: 14px !important; line-height: 1.34 !important; }
.pe-popup-positions-list + .pe-popup-section { margin-top: 16px !important; }
.pe-popup-positions-list li { margin: 0 0 4px !important; padding: 0 !important; color: var(--pe-text-light); line-height: 1.34 !important; }
.pe-popup-positions-list li:last-child { margin-bottom: 0 !important; }
.pe-popup-section { margin: 0 !important; padding-top: 0; border-top: 0 !important; color: var(--pe-text-light); font-size: 14px; line-height: 1.36; }
.pe-popup-section + .pe-popup-section { margin-top: 16px !important; }
.pe-popup-section:last-child { margin-bottom: 0 !important; padding-bottom: 14px; }
.pe-popup-section h4 { font-size: 15px !important; font-weight: 700 !important; color: var(--pe-text); margin: 0 0 6px !important; padding: 0 !important; text-transform: none; letter-spacing: 0; line-height: 1.2 !important; }
.pe-popup-section > div { color: var(--pe-text-light); font-size: 14px; line-height: 1.36; }
.pe-popup-section p { font-size: 14px; line-height: 1.36; color: var(--pe-text-light); margin: 0 0 3px !important; }
.pe-popup-section p:last-child { margin-bottom: 0 !important; }
.pe-popup-section ul { margin: 0 !important; padding-left: 17px; }
.pe-popup-section li { margin: 0 0 2px; color: var(--pe-text-light); line-height: 1.34; }
.pe-popup-section li:last-child { margin-bottom: 0; }
.pe-popup-section .pe-service-group { margin: 0 0 8px !important; padding: 0 !important; }
.pe-popup-section .pe-service-group:last-child { margin-bottom: 0 !important; }
.pe-popup-section .pe-service-group > strong { display: block; margin: 0 0 5px !important; padding: 0 !important; color: var(--pe-text); font-size: 14px !important; font-weight: 700 !important; line-height: 1.2 !important; }
.pe-popup-section .pe-service-item { display: block !important; gap: 0 !important; margin: 0 0 6px 12px !important; padding: 0 !important; border: 0; background: transparent; box-shadow: none; }
.pe-popup-section .pe-service-item:last-child { margin-bottom: 0 !important; }
/* Название храма в попапе — как на single-pe_clergy (перебивает .pe-popup-section div { color: … }) */
.pe-popup-section .pe-service-church { font-size: 14px; font-weight: 700 !important; color: var(--pe-text); line-height: 1.28; }
.pe-popup-section .pe-service-church .pe-service-link,
.pe-popup-section .pe-service-church .pe-service-link:visited,
.pe-popup-section .pe-service-church .pe-service-link:active,
.pe-popup-section .pe-service-church .pe-service-link:focus { color: var(--pe-primary-dark) !important; text-decoration: none !important; border-bottom: 0 !important; box-shadow: none !important; background-image: none !important; }
.pe-popup-section .pe-service-church .pe-service-link:hover,
.pe-popup-section .pe-service-church .pe-service-link:focus-visible { color: var(--pe-primary) !important; text-decoration: none !important; }
.pe-popup-section .pe-church-address { margin: 4px 0 0 !important; color: var(--pe-text-light); font-size: 14px; line-height: 1.34; }
.pe-popup-section .pe-awards-list { display: grid; gap: 6px; margin: 0 !important; padding-left: 0 !important; list-style: none !important; color: var(--pe-text-light); font-size: 14px !important; line-height: 1.36 !important; }
.pe-popup-section .pe-awards-list li { display: grid; grid-template-columns: auto 1fr; column-gap: 8px; align-items: start; margin: 0 !important; padding: 2px 0 !important; border: 0 !important; border-radius: 0; background: transparent !important; color: var(--pe-text-light); font-size: 14px !important; line-height: 1.36 !important; }
.pe-popup-section .pe-awards-list li:last-child { margin-bottom: 0 !important; }
.pe-popup-section .pe-award-year { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; margin: 1px 0 0 !important; padding: 1px 6px !important; border-radius: 999px; background: rgba(var(--pe-primary-rgb), 0.09); color: var(--pe-primary-dark); font-size: 12px !important; font-weight: 700; line-height: 1.25 !important; }
.pe-popup-section .pe-award-name { display: block; min-width: 0; color: var(--pe-text-light); font-size: 14px !important; line-height: 1.36 !important; }
.pe-popup-loader { padding: 60px; text-align: center; width: 100%; }
.pe-spinner { width: 40px; height: 40px; margin: 0 auto 16px; border: 3px solid var(--pe-border); border-top: 3px solid var(--pe-primary); border-radius: 50%; animation: spin 1s linear infinite; }
@keyframes spin { 0% { transform: rotate(0); } 100% { transform: rotate(360deg); } }

/* Архив «Духовенство» (page-pe-clergy): саны заглавными; везде иначе — строчные. */
.pe-directory-san-uppercase .pe-card-san {
    text-transform: uppercase;
}

@media (max-width: 768px) {
    .pe-clergy-hero { flex-direction: column; gap: 24px; text-align: center; }
    .pe-clergy-hero__photo { width: 240px; height: 240px; margin: 0 auto; }
    .pe-clergy-name { font-size: 24px; }
    .pe-clergy-single-modern .pe-clergy-name { align-items: center; }
    .pe-clergy-single-modern .pe-clergy-name .pe-clergy-fullname { font-size: 24px; }
    .pe-popup { --pe-mobile-header-offset: 50px; top: var(--pe-mobile-header-offset); align-items: flex-start; justify-content: flex-start; height: auto; margin-top: 0; padding: 0 !important; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; }
    .pe-popup__dialog { width: 100vw; max-width: none; min-height: calc(100dvh - var(--pe-mobile-header-offset)); }
    .pe-popup__container { width: 100vw; max-width: none; max-height: none; height: auto; min-height: calc(100dvh - var(--pe-mobile-header-offset)); border-radius: 0; overflow: visible; }
    .pe-popup-content { min-height: calc(100dvh - var(--pe-mobile-header-offset)); overflow: visible; }
    .pe-popup-body { flex-direction: column; overflow: visible; }
    /* Моб. попап: фото на всю ширину экрана, без обрезки; с ростом ширины вьюпорта растёт и высота (width 100% + height auto) */
    .pe-popup-photo {
        flex: none;
        width: 100%;
        max-width: 100% !important;
        margin-top: 0;
        position: relative;
        border-right: none;
        border-bottom: 1px solid var(--pe-border);
        padding: 0 !important;
        height: auto;
        min-height: 0;
        display: block;
        box-sizing: border-box;
        overflow: visible;
    }
    .pe-popup-photo img {
        width: 100%;
        max-width: 100%;
        height: auto;
        display: block;
        object-fit: contain;
        object-position: center top;
        background: var(--pe-bg);
        border-radius: 0;
        border: none;
        box-shadow: none;
    }
    .pe-popup-photo:has(.pe-photo-placeholder) {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: clamp(200px, 55vw, 420px);
    }
    .pe-popup-photo:has(.pe-photo-placeholder) .pe-photo-placeholder--person {
        width: min(45vw, 220px);
        height: min(45vw, 220px);
        flex-shrink: 0;
    }
    .pe-popup-info { display: block; flex: none; width: 100% !important; max-width: 100% !important; padding: 0 !important; overflow: visible; }
    .pe-popup .pe-popup-info .pe-popup-scroll { padding: 12px 18px 20px !important; }
    .pe-popup .pe-popup-title { font-size: 20px !important; padding-right: 48px !important; }
}

/*
 * Страница терма pe_blagochinie (.pe-blago-tax): только «список».
 * Глобальный frontend.min.css задаёт .pe-clergy-grid-modern / .pe-churches-grid сеткой плиток и .pe-clergy-card-modern { max-width: 379px } —
 * без усиленной специфичности снова получается «плитка».
 */
.pe-blago-tax .pe-clergy-grid-modern.pe-view-list.pe-churches-grid,
.pe-blago-tax .pe-clergy-grid-modern.pe-view-list:not(.pe-churches-grid) {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
    max-width: 100% !important;
}

.pe-blago-tax .pe-view-list .pe-clergy-card-modern,
.pe-blago-tax .pe-view-list a.pe-clergy-card-modern.pe-church-card-link {
    display: flex !important;
    flex-direction: row !important;
    max-width: 100% !important;
    width: 100% !important;
    align-items: center !important;
    padding: 16px !important;
    gap: 24px !important;
    box-sizing: border-box !important;
}

.pe-blago-tax .pe-view-list .pe-clergy-card-modern__photo {
    width: 80px !important;
    height: 80px !important;
    flex-shrink: 0 !important;
    aspect-ratio: auto !important;
    border-radius: var(--pe-radius) !important;
    border: 1px solid var(--pe-border) !important;
    overflow: hidden !important;
}

.pe-blago-tax .pe-view-list .pe-clergy-card-modern__photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

.pe-blago-tax .pe-view-list .pe-clergy-card-modern__info {
    padding: 0 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}

.pe-blago-tax .pe-view-list .pe-clergy-card-modern__main-info {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.pe-blago-tax .pe-view-list .pe-clergy-card-modern__name.pe-clergy-card-modern__name--blago-stack {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    margin-bottom: 0 !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: 1.35 !important;
}

.pe-blago-tax .pe-view-list .pe-clergy-card-modern__name--blago-stack .pe-card-san {
    display: block !important;
    margin: 0 !important;
    margin-right: 0 !important;
    vertical-align: unset !important;
    text-transform: lowercase !important;
}

.pe-blago-tax .pe-view-list .pe-clergy-card-modern__name--blago-stack .pe-card-fio {
    display: block !important;
    font-size: 17px !important;
    font-weight: 700 !important;
    color: var(--pe-text) !important;
    line-height: 1.3 !important;
}

/* Страница благочиния: в списке только фото + сан + ФИО (духовенство) или фото + название (храмы) */
.pe-blago-tax .pe-churches-grid.pe-view-list .pe-clergy-card-modern__position {
    display: none !important;
}

.pe-blago-tax .pe-clergy-grid-modern.pe-view-list:not(.pe-churches-grid) .pe-clergy-card-modern__position,
.pe-blago-tax .pe-clergy-grid-modern.pe-view-list:not(.pe-churches-grid) .pe-clergy-card-modern__extra {
    display: none !important;
}

.pe-blago-tax .pe-clergy-grid-modern.pe-view-list:not(.pe-churches-grid) .pe-clergy-card-modern__info {
    justify-content: flex-start !important;
}

@media (max-width: 739px) {
    .pe-blago-tax .pe-view-list .pe-clergy-card-modern,
    .pe-blago-tax .pe-view-list a.pe-clergy-card-modern.pe-church-card-link {
        gap: 12px !important;
        padding: 12px 14px !important;
    }
    .pe-blago-tax .pe-view-list .pe-clergy-card-modern__info {
        gap: 12px !important;
    }
    .pe-blago-tax .pe-view-list .pe-clergy-card-modern__photo {
        width: 100px !important;
        min-width: 100px !important;
        min-height: 80px !important;
        height: auto !important;
    }
    .pe-blago-tax .pe-view-list .pe-clergy-card-modern__photo img {
        height: auto !important;
        object-fit: contain !important;
    }
}
