@charset "utf-8";
/* ===== 의성중부교회 메인 커스텀 섹션 (주일설교/예배안내/교회소식/주보/갤러리 + 등장 애니메이션) ===== */

/* --- 주일설교 / 예배안내 --- */
.main_worship { padding: 60px 0 30px; }
.main_worship .mw_inner { max-width: 1400px; margin: 0 auto; display: flex; gap: 40px; align-items: stretch; }
.main_worship .mw_col { flex: 1 1 50%; min-width: 0; display: flex; flex-direction: column; }
.main_worship .mw_head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.main_worship .mw_head h3 { font-size: 38px; font-weight: 800; color: #222; margin: 0; font-family: 'Pretendard', 'NotoSans', 'Noto Sans KR', sans-serif; }
.main_worship .mw_head i { font-size: 24px; color: #4a3b32; }
.main_worship .mw_banners { display: flex; flex-direction: column; gap: 20px; flex: 1; }
.main_worship .mw_bn { position: relative; display: flex; align-items: center; justify-content: center; text-align: center; flex: 1; border-radius: 10px; overflow: hidden; text-decoration: none; color: #fff; background: #445266 center/cover no-repeat; transition: transform .4s cubic-bezier(.22,.61,.36,1), box-shadow .4s; }
.main_worship .mw_bn::before { content: none; }
.main_worship .mw_bn:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.18); }
.main_worship .mw_bn .bn_txt { position: relative; z-index: 1; padding: 20px 24px; }
.main_worship .mw_bn .bn_title { display: block; font-size: 27px; font-weight: 800; letter-spacing: -.5px; font-family: 'Pretendard', 'NotoSans', sans-serif; text-shadow: 0 1px 3px rgba(0,0,0,.7), 0 2px 12px rgba(0,0,0,.75); }
.main_worship .mw_bn .bn_sub { display: block; margin-top: 10px; font-size: 15px; font-weight: 600; line-height: 1.6; color: #fff; letter-spacing: 0; text-shadow: 0 1px 3px rgba(0,0,0,.75), 0 2px 10px rgba(0,0,0,.7); }
/* 배경 이미지 (없으면 남색 배경으로 표시) */
.main_worship .mw_bn1 { background-image: url('/theme/ak/img/main/banner_worship.jpg'); }
.main_worship .mw_bn2 { background-image: url('/theme/ak/img/main/banner_offering.jpg'); }
@media (max-width: 1500px) { .main_worship .mw_inner { max-width: calc(100% - 100px); } }
@media (max-width: 1023px) {
    .main_worship { padding: 40px 0 20px; }
    .main_worship .mw_inner { max-width: 100%; padding: 0 20px; box-sizing: border-box; flex-direction: column; gap: 30px; }
    .main_worship .mw_head h3 { font-size: 28px; }
    .main_worship .mw_bn { min-height: 140px; }
}

/* --- 교회소식 / 주보 --- */
.main_news { padding: 10px 0 60px; }
.main_news .mn_inner { max-width: 1400px; margin: 0 auto; display: flex; gap: 50px; }
.main_news .mn_col { flex: 1 1 50%; min-width: 0; }
.main_news .mn_head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 8px; }
.main_news .mn_head h3 { font-size: 30px; font-weight: 800; color: #222; margin: 0; font-family: 'Pretendard', 'NotoSans', 'Noto Sans KR', sans-serif; }
.main_news .mn_more { color: #999; font-size: 14px; text-decoration: none; }
.main_news .mn_more:hover { color: #2f6db3; }
@media (max-width: 1500px) { .main_news .mn_inner { max-width: calc(100% - 100px); } }
@media (max-width: 1023px) {
    .main_news { padding: 0 0 40px; }
    .main_news .mn_inner { max-width: 100%; padding: 0 20px; box-sizing: border-box; flex-direction: column; gap: 34px; }
    .main_news .mn_head h3 { font-size: 24px; }
}

/* --- 갤러리 슬라이드 (전체폭 밴드) --- */
.main_gallery { width: 100%; background: #f3f6f9; padding: 68px 0; }
.main_gallery .mg_inner { max-width: 1400px; margin: 0 auto; }
.main_gallery .mg_head { text-align: center; margin-bottom: 40px; }
.main_gallery .mg_eng { display: block; font-family: 'Pretendard', sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 5px; color: #2f9e63; margin-bottom: 10px; }
.main_gallery .mg_head h3 { font-size: 40px; font-weight: 800; color: #1e2536; margin: 0; font-family: 'Pretendard', 'NotoSans', 'Noto Sans KR', sans-serif; }
.main_gallery .mg_head h3::after { content: ""; display: block; width: 46px; height: 3px; background: linear-gradient(90deg, #2f9e63, #2f6db3); border-radius: 3px; margin: 16px auto 0; }
.main_gallery .mg_sub { margin: 16px 0 0; color: #7a8194; font-size: 16px; }
.main_gallery .mg_more { text-align: center; margin-top: 38px; }
.main_gallery .mg_more a { display: inline-flex; align-items: center; gap: 8px; padding: 12px 32px; border: 1px solid #cfd6e4; border-radius: 30px; color: #4a5568; text-decoration: none; background: #fff; font-size: 15px; transition: all .25s; }
.main_gallery .mg_more a:hover { background: #2f6db3; color: #fff; border-color: #2f6db3; transform: translateY(-2px); }
@media (max-width: 1500px) { .main_gallery .mg_inner { max-width: calc(100% - 100px); } }
@media (max-width: 1023px) { .main_gallery { padding: 48px 0; } .main_gallery .mg_inner { max-width: 100%; padding: 0 20px; box-sizing: border-box; } .main_gallery .mg_head h3 { font-size: 28px; } .main_gallery .mg_head { margin-bottom: 30px; } }

/* --- 폰(≤767px) 세부 조정 : 좌우 여백 축소 + 가독성 --- */
@media (max-width: 767px) {
    .main_worship { padding: 34px 0 16px; }
    .main_worship .mw_inner,
    .main_news .mn_inner,
    .main_gallery .mg_inner { padding: 0 16px; }
    .main_worship .mw_head { margin-bottom: 14px; }
    .main_worship .mw_head h3 { font-size: 24px; }
    .main_worship .mw_banners { gap: 14px; }
    .main_worship .mw_bn { min-height: 112px; border-radius: 8px; }
    .main_worship .mw_bn .bn_title { font-size: 22px; }
    .main_worship .mw_bn .bn_sub { font-size: 14px; margin-top: 7px; }
    .main_news .mn_inner { gap: 28px; }
    .main_news .mn_head h3 { font-size: 22px; }
    .main_gallery { padding: 40px 0; }
    .main_gallery .mg_head h3 { font-size: 24px; }
    .main_gallery .mg_eng { font-size: 12px; letter-spacing: 4px; }
    .main_gallery .mg_sub { font-size: 14px; }
    .main_gallery .mg_more { margin-top: 28px; }
}

/* --- 등장 애니메이션 (reveal) --- */
.usjb-reveal { opacity: 0; transform: translateY(30px); transition: opacity .8s cubic-bezier(.22,.61,.36,1), transform .8s cubic-bezier(.22,.61,.36,1); will-change: opacity, transform; }
.usjb-reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .usjb-reveal { opacity: 1 !important; transform: none !important; transition: none !important; } }
