/* 
 * Стили для шаблонов Храмов 
 */
: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;
}

/* Карточка храма (Плитка) */
.pe-church-card { background: var(--pe-white); border: 1px solid var(--pe-border); border-radius: var(--pe-radius); box-shadow: var(--pe-shadow); transition: var(--pe-transition); overflow: hidden; display: flex; flex-direction: column; cursor: pointer; }
.pe-church-card:hover { transform: translateY(-4px); box-shadow: var(--pe-shadow-hover); border-color: #d1d5db; }
.pe-church-card__link { display: flex; flex-direction: column; color: inherit; text-decoration: none; flex: 1; }
.pe-church-card__photo { aspect-ratio: 16/10; background: var(--pe-bg); overflow: hidden; border-bottom: 1px solid var(--pe-border); position: relative; }
.pe-church-card__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; display: block; }
.pe-church-card:hover .pe-church-card__photo img { transform: scale(1.03); }
.pe-church-card__content { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.pe-church-card__title { font-size: 16px; font-weight: 700; margin: 0 0 8px; color: #fff; line-height: 1.4; }
.pe-church-card__address { font-size: 14px; color: var(--pe-text-light); line-height: 1.5; margin-bottom: 16px; flex: 1; }
.pe-church-card__more { display: inline-block; font-size: 13px; font-weight: 600; color: var(--pe-primary); text-transform: uppercase; letter-spacing: 0.5px; }

/* Сетка храмов */
.pe-churches-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
@media (max-width: 768px) { .pe-churches-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 20px; } }
@media (max-width: 480px) { .pe-churches-grid { grid-template-columns: 1fr; } }

/* List view: старая разметка .pe-church-card (если где-то осталась) */
.pe-churches-grid.pe-view-list { grid-template-columns: 1fr; gap: 16px; }
.pe-view-list .pe-church-card { flex-direction: row; max-width: 100% !important; width: 100%; align-items: stretch; border-radius: var(--pe-radius); }
.pe-view-list .pe-church-card__link { flex-direction: row; align-items: center; width: 100%; }
.pe-view-list .pe-church-card__photo { width: 240px; aspect-ratio: 16/10; border-bottom: none; border-right: 1px solid var(--pe-border); flex-shrink: 0; }
.pe-view-list .pe-church-card__content { padding: 24px; justify-content: center; }
.pe-view-list .pe-church-card__title { font-size: 18px; margin-bottom: 8px; }
.pe-view-list .pe-church-card__address { margin-bottom: 0; flex: none; font-size: 15px; }
.pe-view-list .pe-church-card__more { display: none; }

/* Архив: карточка = ссылка + .pe-clergy-card-modern — явно flex (тема часто задаёт a { display: inline }) */
.pe-churches-grid .pe-clergy-card-modern.pe-church-card-link {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}
.pe-churches-grid.pe-view-list .pe-clergy-card-modern.pe-church-card-link {
    flex-direction: row;
    align-items: center;
}
/* Приписные храмы: в списке скрыты, появляются только в результатах поиска */
.pe-churches-grid .pe-clergy-card-modern.pe-church-card-link.pe-church-card-link--attached {
    display: none;
}

/*
 * Страница «Храмы» (page-pe-church): карточки = .pe-clergy-card-modern.pe-church-card-link в .pe-churches-grid.
 * Вид «список» и мобильные правила совпадают с духовенством (clergy.css); здесь только храм-специфика.
 */
@media (max-width: 739px) {
    .pe-churches-grid.pe-view-list .pe-clergy-card-modern__photo .pe-photo-placeholder--church {
        width: 100%;
        min-height: 80px;
        height: 80px;
        flex-shrink: 0;
    }
}

/* Список храмов <390px: слева фото (как у духовенства, min-height фото ≥80px в clergy.css), справа только название — адрес скрыт */
@media (max-width: 389px) {
    .pe-churches-grid.pe-view-list .pe-clergy-card-modern__position {
        display: none;
    }
}

/* Страница храма (Single) */
.pe-church-content { display: flex; gap: 40px; margin-bottom: 40px; }
.pe-church-photo { flex: 0 0 400px; border-radius: var(--pe-radius); overflow: hidden; box-shadow: var(--pe-shadow); border: 1px solid var(--pe-border); }
.pe-church-photo img { width: 100%; height: auto; display: block; }
.pe-church-info { flex: 1; min-width: 0; }
.pe-church-title { font-size: 32px; font-weight: 700; margin: 0 0 12px; color: var(--pe-text); line-height: 1.2; }
/* Hero single храма: тот же шрифт, что ФИО у священника (.pe-clergy-fullname), кегль чуть меньше */
.pe-clergy-single-modern .pe-clergy-name .pe-church-single-title.pe-clergy-fullname {
    font-size: 28px;
}
.pe-clergy-hero__info .pe-church-blagochinie {
    margin-top: 8px;
    color: var(--pe-primary);
}
.pe-clergy-hero__info .pe-church-blagochinie .pe-blagochinie-term-link {
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}
.pe-clergy-hero__info .pe-church-blagochinie .pe-blagochinie-term-link:hover {
    color: var(--pe-primary-dark);
    text-decoration: underline;
}
.pe-church-type { display: inline-block; font-size: 13px; font-weight: 700; color: var(--pe-primary); background: var(--pe-primary-light); padding: 4px 10px; border-radius: 6px; margin-bottom: 24px; text-transform: uppercase; letter-spacing: 0.5px; border: 1px solid rgba(var(--pe-primary-rgb), 0.1); }

/* Single church: section labels carry the hierarchy; only contact rows need icons. */
.pe-clergy-single-modern.type-pe_church .pe-clergy-details {
    gap: 18px;
}

.pe-clergy-single-modern.type-pe_church .pe-detail-card {
    margin-bottom: 0;
}

.pe-clergy-single-modern.type-pe_church .pe-detail-row--plain {
    grid-template-columns: minmax(0, 1fr);
}

.pe-clergy-single-modern.type-pe_church .pe-detail-card__content {
    padding: 14px 22px 18px !important;
}

@media (max-width: 768px) {
    .pe-church-content { flex-direction: column; gap: 24px; }
    .pe-church-photo { flex: none; width: 100%; }
    .pe-clergy-single-modern .pe-clergy-name .pe-church-single-title.pe-clergy-fullname {
        font-size: 21px;
    }
}

@media (max-width: 620px) {
    .pe-clergy-single-modern.type-pe_church .pe-clergy-details {
        gap: 14px;
    }

    .pe-clergy-single-modern.type-pe_church .pe-detail-card__header {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }

    .pe-clergy-single-modern.type-pe_church .pe-detail-card__content {
        padding-right: 18px !important;
        padding-left: 18px !important;
    }
}

/* Детальные карточки (Храм) */
.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); margin-bottom: 24px; }
.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-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-church-video__wrapper { position: relative; padding-bottom: 56.25%; height: 0; border-radius: var(--pe-radius-inner); overflow: hidden; border: 1px solid var(--pe-border); }
.pe-church-video__wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* Фотогалерея храма */
.pe-church-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.pe-church-gallery__item { margin: 0; padding: 0; }
.pe-church-gallery__link { display: block; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--pe-border); border-radius: var(--pe-radius-inner); background: var(--pe-bg); cursor: zoom-in; }
.pe-church-gallery__link img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 240ms cubic-bezier(0.25, 1, 0.5, 1); }
.pe-church-gallery__link:hover img, .pe-church-gallery__link:focus-visible img { transform: scale(1.04); }
.pe-church-gallery__link:focus-visible { outline: 2px solid var(--pe-primary); outline-offset: 2px; }
@media (max-width: 640px) { .pe-church-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; } }
@media (prefers-reduced-motion: reduce) { .pe-church-gallery__link img { transition: none; } }

/* Заглушка храма */
.pe-photo-placeholder--church { background: var(--pe-bg); width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.pe-photo-placeholder--church::before { content: ''; width: 40%; height: 40%; background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="%23d1d5db"><path d="M390.746,240.952H230.967v-16.96l-95.997-110.007V61.706h36.565V34.29h-36.565V0h-27.433v34.29H70.972v27.417h36.566v52.295L11.541,223.993V512h83.427v-84.24c0-14.513,11.781-26.286,26.286-26.286c14.521,0,26.287,11.774,26.287,26.286V512h67.001h16.425V373.291h19.816V512h139.963h109.713V366.665L390.746,240.952z M345.325,465.742h-39.631v-47.557h39.631V465.742z M428.55,465.742h-39.631v-47.557h39.631V465.742z"/></svg>') center/contain no-repeat; }
