@charset "utf-8";

/* Intro7 예배안내 전용 외부 스타일
   내용관리 편집기가 <style>을 삭제해도 영향을 받지 않습니다. */
.ctt_Intro7 #ctt_con {
    overflow: visible;
}

.ctt_Intro7 .eh-worship-page {
    --eh-primary: #176b54;
    --eh-primary-dark: #0e5140;
    --eh-primary-soft: #edf7f3;
    --eh-blue: #315e91;
    --eh-ink: #17212b;
    --eh-muted: #69737e;
    --eh-line: #dce3e8;
    width: 100%;
    color: var(--eh-ink);
    font-family: "Pretendard", "Noto Sans KR", "Malgun Gothic", sans-serif;
    box-sizing: border-box;
}

.ctt_Intro7 .eh-worship-page *,
.ctt_Intro7 .eh-worship-page *::before,
.ctt_Intro7 .eh-worship-page *::after {
    box-sizing: border-box;
}

/* 편집기에서 hero div가 제거된 현재 서버 HTML에 대응하는 제목 영역 */
.ctt_Intro7 .eh-worship-page > .eh-worship-kicker {
    display: block;
    margin: 0 0 9px;
    color: var(--eh-primary);
    font-size: 14px;
    font-weight: 750;
    letter-spacing: .18em;
    text-align: center;
}

.ctt_Intro7 .eh-worship-page > h2 {
    margin: 0;
    color: var(--eh-ink);
    font-size: clamp(31px, 4vw, 46px);
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: -.045em;
    text-align: center;
}

.ctt_Intro7 .eh-worship-page > h2::after {
    display: block;
    width: 42px;
    height: 3px;
    margin: 18px auto 0;
    border-radius: 3px;
    background: var(--eh-primary);
    content: "";
}

.ctt_Intro7 .eh-worship-page > p {
    margin: 17px 0 51px;
    color: var(--eh-muted);
    font-size: 15px;
    line-height: 1.75;
    text-align: center;
    word-break: keep-all;
}

/* 원본 파일의 hero div가 유지된 경우 */
.ctt_Intro7 .eh-worship-hero {
    position: relative;
    overflow: hidden;
    margin-bottom: 52px;
    padding: 52px 50px 48px;
    border-radius: 5px;
    background:
        radial-gradient(circle at 92% 0%, rgba(255,255,255,.2) 0 105px, transparent 106px),
        linear-gradient(135deg, #0f5945, #24816a);
    color: #fff;
}

.ctt_Intro7 .eh-worship-hero .eh-worship-kicker {
    display: block;
    margin-bottom: 9px;
    color: #ccecdf;
    font-size: 14px;
    font-weight: 750;
    letter-spacing: .18em;
}

.ctt_Intro7 .eh-worship-hero h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(31px, 4vw, 46px);
    font-weight: 750;
    line-height: 1.2;
}

.ctt_Intro7 .eh-worship-hero p {
    margin: 16px 0 0;
    color: rgba(255,255,255,.86);
    font-size: 15px;
    line-height: 1.75;
}

.ctt_Intro7 .eh-worship-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 30px;
    align-items: start;
}

/* 현재 서버 HTML은 section 태그가 제거되어 제목과 표가 형제 요소입니다. */
.ctt_Intro7 .eh-worship-grid > .eh-worship-title:nth-of-type(1) {
    grid-column: 1;
    grid-row: 1;
}

.ctt_Intro7 .eh-worship-grid > .eh-worship-table:nth-of-type(1) {
    grid-column: 1;
    grid-row: 2;
}

.ctt_Intro7 .eh-worship-grid > .eh-worship-title:nth-of-type(2) {
    grid-column: 2;
    grid-row: 1;
}

.ctt_Intro7 .eh-worship-grid > .eh-worship-table:nth-of-type(2) {
    grid-column: 2;
    grid-row: 2;
}

.ctt_Intro7 .eh-worship-grid > .eh-worship-title:nth-of-type(3) {
    grid-column: 1 / -1;
    grid-row: 3;
    margin-top: 36px;
}

.ctt_Intro7 .eh-worship-grid > .eh-worship-table:nth-of-type(3) {
    grid-column: 1 / -1;
    grid-row: 4;
}

.ctt_Intro7 .eh-worship-section {
    min-width: 0;
}

.ctt_Intro7 .eh-worship-section.eh-worship-wide {
    grid-column: 1 / -1;
}

.ctt_Intro7 .eh-worship-title {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0;
    color: var(--eh-ink);
    font-size: 24px;
    font-weight: 750;
    line-height: 1.3;
    letter-spacing: -.035em;
}

.ctt_Intro7 .eh-worship-title::before {
    flex: 0 0 5px;
    width: 5px;
    height: 25px;
    border-radius: 5px;
    background: var(--eh-primary);
    content: "";
}

.ctt_Intro7 .eh-worship-table {
    width: 100%;
    margin: 0;
    border: 0;
    border-top: 2px solid var(--eh-primary);
    border-spacing: 0;
    border-collapse: collapse;
    table-layout: fixed;
}

/* PC: 교육부서 6개 행의 높이(6 × 72px)를 두 표의 공통 기준으로 사용 */
.ctt_Intro7 .eh-worship-grid > .eh-worship-table:nth-of-type(1),
.ctt_Intro7 .eh-worship-grid > .eh-worship-table:nth-of-type(2),
.ctt_Intro7 .eh-worship-section:not(.eh-worship-wide) > .eh-worship-table {
    height: 432px;
}

.ctt_Intro7 .eh-worship-table caption {
    overflow: hidden;
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    clip: rect(0, 0, 0, 0);
}

.ctt_Intro7 .eh-worship-table th,
.ctt_Intro7 .eh-worship-table td {
    height: 72px;
    padding: 14px 12px;
    border: 0;
    border-bottom: 1px solid var(--eh-line);
    background: #fff;
    color: var(--eh-ink);
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
    vertical-align: middle;
    word-break: keep-all;
}

.ctt_Intro7 .eh-worship-table th {
    width: 30%;
    color: var(--eh-primary-dark);
    font-weight: 750;
}

.ctt_Intro7 .eh-worship-table td.eh-time {
    width: 34%;
    background: var(--eh-primary-soft);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.ctt_Intro7 .eh-worship-table td.eh-place {
    color: #4f5964;
}

.ctt_Intro7 .eh-multi-time,
.ctt_Intro7 .eh-multi-place {
    display: grid;
    gap: 4px;
}

.ctt_Intro7 .eh-worship-notice {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-top: 42px;
    padding: 20px 23px;
    border: 1px solid #dfe9e4;
    border-radius: 4px;
    background: #f8fbf9;
    color: #59645f;
    font-size: 14px;
    line-height: 1.7;
}

@media (max-width: 900px) {
    .ctt_Intro7 .eh-worship-grid {
        display: block;
    }

    .ctt_Intro7 .eh-worship-grid > .eh-worship-title {
        margin: 38px 0 15px;
    }

    .ctt_Intro7 .eh-worship-grid > .eh-worship-title:first-child {
        margin-top: 0;
    }

    .ctt_Intro7 .eh-worship-section + .eh-worship-section {
        margin-top: 38px;
    }

    .ctt_Intro7 .eh-worship-grid > .eh-worship-table:nth-of-type(1),
    .ctt_Intro7 .eh-worship-grid > .eh-worship-table:nth-of-type(2),
    .ctt_Intro7 .eh-worship-section:not(.eh-worship-wide) > .eh-worship-table {
        height: auto;
    }
}

@media (max-width: 600px) {
    .ctt_Intro7 #ctt_con,
    .ctt_Intro7 .eh-worship-page {
        width: 100%;
        max-width: 100%;
    }

    .ctt_Intro7 .eh-worship-page > .eh-worship-kicker {
        margin-top: 7px;
        font-size: 12px;
    }

    .ctt_Intro7 .eh-worship-page > h2 {
        font-size: 30px;
    }

    .ctt_Intro7 .eh-worship-page > p {
        margin-bottom: 34px;
        padding: 0 10px;
        font-size: 14px;
    }

    .ctt_Intro7 .eh-worship-hero {
        margin-bottom: 34px;
        padding: 34px 22px 31px;
        border-radius: 0;
    }

    .ctt_Intro7 .eh-worship-title {
        font-size: 21px;
    }

    .ctt_Intro7 .eh-worship-title::before {
        height: 21px;
    }

    .ctt_Intro7 .eh-worship-table,
    .ctt_Intro7 .eh-worship-table tbody,
    .ctt_Intro7 .eh-worship-table tr,
    .ctt_Intro7 .eh-worship-table th,
    .ctt_Intro7 .eh-worship-table td {
        display: block;
        width: 100%;
    }

    .ctt_Intro7 .eh-worship-table tr {
        display: grid;
        grid-template-columns: 41% 59%;
        position: relative;
        padding: 15px 0;
        border-bottom: 1px solid var(--eh-line);
    }

    .ctt_Intro7 .eh-worship-table th,
    .ctt_Intro7 .eh-worship-table td {
        height: auto;
        min-height: 0;
        padding: 3px 10px;
        border: 0;
        background: transparent;
        font-size: 14px;
        text-align: left;
    }

    .ctt_Intro7 .eh-worship-table th {
        grid-row: 1 / span 2;
        align-self: center;
        padding-left: 7px;
    }

    .ctt_Intro7 .eh-worship-table td.eh-time,
    .ctt_Intro7 .eh-worship-table td.eh-place {
        width: 100%;
        background: transparent;
    }

    .ctt_Intro7 .eh-worship-table td.eh-place {
        color: var(--eh-muted);
        font-size: 13px;
    }

    .ctt_Intro7 .eh-worship-notice {
        margin-top: 34px;
        padding: 17px;
    }
}
