/* 모바일 페이지 상단 이동 */
button.church-top-button {
    display: none;
    position: fixed;
    right: 16px;
    bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    z-index: 45;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid #dce1ed;
    border-radius: 50%;
    background: #fff;
    color: #1e2560;
    box-shadow: 0 3px 14px rgba(20, 26, 60, .16);
    font-family: inherit;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 2px;
}
.church-top-button span { font-size: 18px; }
.church-top-button:focus-visible { outline: 3px solid #3646e0; outline-offset: 3px; }
.church-top-button.in-deck { bottom: calc(100px + env(safe-area-inset-bottom, 0px)); }
@media (max-width: 900px) {
    button.church-top-button:not([hidden]) { display: flex; }
}
.payment-support { margin-top: 10px; color: #555d70; font-size: 13px; line-height: 1.7; }
.payment-support a { color: #3646e0; text-decoration: underline; display: inline-block; padding: 3px 0; }
.payment-support p { margin: 0; }
/* 카톡전도 실제 화면과 관리자 미리보기에서 같은 간격을 사용합니다. */
.church-worship-list { border: 1px solid #e7eaf0; border-radius: 12px; overflow: hidden; margin: 0 0 12px; }
.church-worship-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 2px 12px;
    padding: 9px 12px;
    text-align: left;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.church-worship-row + .church-worship-row { border-top: 1px solid #e7eaf0; }
.church-worship-name { font-size: 13px; font-weight: 700; color: #3646e0; }
.church-worship-time { font-size: 14px; font-weight: 700; text-align: right; }
.church-worship-place { grid-column: 1 / -1; font-size: 12px; color: #73798d; }
/* 칼럼 글자 크기 조절 (page_tools.js) */
.font-size-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.font-size-row { margin-bottom: 15px; }
.font-size-row p.sub { margin: 0; }
.font-size-ctl { display: inline-flex; gap: 4px; flex: 0 0 auto; }
.font-size-ctl button {
    min-width: 40px;
    height: 34px;
    padding: 0 8px;
    border: 1px solid #dce1ed;
    border-radius: 9px;
    background: #fff;
    color: #1e2560;
    font-family: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: transform 160ms ease-out;
}
.font-size-ctl button + button { font-size: 17px; }
.font-size-ctl button sup { font-size: .6em; margin-left: 1px; }
.font-size-ctl button:active { transform: scale(0.97); }
.font-size-ctl button:disabled { opacity: .4; cursor: default; }
.font-size-ctl button:focus-visible { outline: 3px solid #3646e0; outline-offset: 2px; }
.content-tabs-head { display: flex; align-items: center; justify-content: space-between; gap: 10px 12px; flex-wrap: wrap; }
.content-tabs-head .font-size-ctl { align-self: flex-end; margin: 0 20px 12px 0; }
