@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css");


*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
    background:#f4f5f7;
    color:#222;
    font-family: -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Pretendard Variable", Pretendard, Roboto, "Noto Sans KR", "Segoe UI", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif; 
    font-size:14px;
    line-height:1.55;
}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit}

.site_header{
    height:64px;
    background:#fff;
    border-bottom:1px solid #e5e7eb;
    position:sticky;
    top:0;
    z-index:30;
}
.header_inner{
    width:min(1180px,calc(100% - 32px));
    height:100%;
    margin:0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.logo{display:flex;align-items:center;gap:9px}
.logo_mark{display:flex;align-items:center;justify-content:center; }
.logo_mark img {width:40px; vertical-align:middle; position:relative; top:-2px;}
.logo strong{display:block;font-size:17px;line-height:1.1; letter-spacing:-2px;}
.logo small{display:block;margin-top:0px;color:#969aa1;font-size:9px;letter-spacing:1.2px; letter-spacing:-1px;}
.top_nav{display:flex;align-items:center;gap:24px;font-size:13px;color:#555}
.top_nav a:last-child{
    padding:8px 12px;
    background:#244c40;color:#fff;
    border-radius:7px;font-weight:700;
}

.page_shell{
    width:min(1180px,calc(100% - 32px));
    margin:24px auto 55px;
    display:grid;
    grid-template-columns:minmax(0,1fr) 270px;
    gap:20px;
}
.content_column{min-width:0}

.page_head{
    min-height:104px;
    padding:20px 22px;
    background:#fff;
    border:1px solid #e6e8eb;
    border-radius:11px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}
.breadcrumb{margin:0 0 6px;color:#989ca3;font-size:12px}
.page_head h1{margin:0;font-size:24px;line-height:1.3;letter-spacing:-.4px}
.page_summary{margin:6px 0 0;color:#73777e;font-size:13px}
.head_count{
    min-width:88px;
    padding-left:20px;
    border-left:1px solid #eceef1;
    text-align:center;
}
.head_count strong{display:block;color:#244c40;font-size:27px;line-height:1}
.head_count span{display:block;margin-top:7px;color:#8b9097;font-size:11px}

.region_panel{
    margin-top:12px;
    padding:7px 18px;
    background:#fff;
    border:1px solid #e6e8eb;
    border-radius:11px;
}
.region_row{
    display:grid;
    grid-template-columns:64px 1fr;
    gap:13px;
    padding:12px 0;
}
.region_row+.region_row{border-top:1px solid #eff0f2}
.region_row>strong{
    padding-top:6px;
    color:#60646a;
    font-size:12px;
}
.region_links{display:flex;flex-wrap:wrap;gap:5px}
.region_links a{
    padding:5px 9px;
    color:#5f646b;
    border-radius:5px;
    font-size:12px;
	border:1px #ededed solid; 
}
.region_links a:hover{background:#f2f4f5}
.region_links a.active{border-color:#244c40;color:#244c40;font-weight:700}

.notice_bar{
    min-height:44px;
    margin-top:12px;
    padding:9px 13px;
    background:#fff;
    border:1px solid #e6e8eb;
    border-radius:9px;
    display:flex;
    align-items:center;
    gap:10px;
    color:#686d73;
    font-size:12px;
}
.notice_badge{
    flex:0 0 auto;
    padding:3px 6px;
    background:#eef4f1;
    color:#244c40;
    border-radius:4px;
    font-size:10px;font-weight:800;
}
.notice_bar p{margin:0;flex:1}
.notice_bar>a{color:#244c40;font-weight:700}

.list_card{
    margin-top:12px;
    background:#fff;
    border:1px solid #e6e8eb;
    border-radius:11px;
    overflow:hidden;
}
.list_header{
    height:65px;
    padding:0 18px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid #e8eaed;
}
.list_header h2{margin:0;font-size:16px}
.list_header p{margin:3px 0 0;color:#9a9ea4;font-size:11px}
.list_header>span{color:#747980;font-size:12px}

.church_row{
    min-height:102px;
    padding:16px 18px;
    display:grid;
    grid-template-columns:30px minmax(0,1fr);
    gap:12px;
    border-bottom:1px solid #eceef0;
    transition:background .15s;
}
.church_row:hover{background:#fafbfb}
.row_number{
    width:26px;height:26px;
    display:flex;align-items:center;justify-content:center;
    background:#f0f2f3;
    color:#8c9198;
    border-radius:50%;
    font-size:11px;font-weight:700;
}
.row_title{
    display:flex;
    align-items:center;
    gap:12px;
}
.row_title h3{
    margin:0;
    min-width:0;
    font-size:16px;
    line-height:1.35;
    letter-spacing:-.2px;
}
.phone_text{
    color:#2d6a58;
    font-size:12px;
    font-weight:700;
    white-space:nowrap;
}
.address{
    margin:5px 0 0;
    color:#747981;
    font-size:13px;
}
.row_actions{
    display:flex;
    align-items:center;
    gap:13px;
    margin-top:9px;
}
.row_actions a{
    position:relative;
    color:#8b9096;
    font-size:11px;
}
.row_actions a+a:before{
    content:"";
    position:absolute;
    left:-7px;top:3px;
    width:1px;height:10px;
    background:#dfe2e5;
}
.row_actions a:hover{color:#244c40}

.feed_ad{
    margin:10px 14px;
    min-height:76px;
    padding:13px 15px;
    display:grid;
    grid-template-columns:76px minmax(0,1fr) auto;
    align-items:center;
    gap:13px;
    background:#f0f5f2;
    border:1px solid #dfeae4;
    border-radius:8px;
}
.feed_ad>span{
    color:#244c40;
    font-size:11px;
    font-weight:900;
    letter-spacing:.8px;
}
.feed_ad strong{display:block;font-size:14px}
.feed_ad p{margin:3px 0 0;color:#747a77;font-size:11px}
.feed_ad>a{
    padding:7px 10px;
    background:#244c40;color:#fff;
    border-radius:6px;
    font-size:11px;font-weight:700;
}

.empty_box{
    padding:70px 20px;
    text-align:center;
    color:#848991;
}
.empty_box strong{display:block;margin-bottom:5px;color:#333;font-size:14px; font-weight:normal;}
.empty_box p{margin:0}

.side_column{display:flex;flex-direction:column;gap:12px}
.side_card{
    background:#fff;
    border:1px solid #e6e8eb;
    border-radius:11px;
    padding:17px;
}
.promo_card{
    background:#000;
    border-color:#000;
    color:#fff;
}
.side_label{
    display:inline-block;
    margin-bottom:18px;
    color:#bdd2c9;
    font-size:10px;
    font-weight:900;
    letter-spacing:1.2px;
}
.promo_card h2{margin:0;font-size:22px;line-height:1.35}
.promo_card p{margin:12px 0 18px;color:rgba(255,255,255,.68);font-size:12px}
.promo_card>a{
    display:block;
    padding:10px 12px;
    background:#fff;color:#244c40;
    border-radius:7px;
    text-align:center;
    font-size:12px;font-weight:800;
}
.side_title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:12px;
}
.side_title h2,.guide_card h2{margin:0;font-size:14px}
.side_title span{color:#999da3;font-size:10px}
.quick_regions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
}
.quick_regions a{
    padding:7px 8px;
    background:#f6f7f8;
    border-radius:5px;
    color:#656a70;
    font-size:11px;
}
.quick_regions a.active{background:#244c40;color:#fff;font-weight:700}
.guide_card p{margin:10px 0 0;color:#7b8087;font-size:11px}

.site_footer{
    background:#fff;
    border-top:1px solid #e5e7eb;
	 text-align:center;
	 padding:40px 0px;
}
.footer_inner{ margin:0 auto;color:#90949a;font-size:11px;}
.footer_inner div{color:#000;font-size:13px}

@media(max-width:900px){
    .page_shell{grid-template-columns:1fr}
    .side_column{display:grid;grid-template-columns:1fr 1fr}
    .promo_card{grid-row:span 2}
}
@media(max-width:680px){
    body{font-size:13px}
    .site_header{height:58px}
    .header_inner,.page_shell,.footer_inner{width:calc(100% - 20px)}
    .top_nav a:first-child{display:none}
    .top_nav{gap:8px}
    .page_shell{margin-top:10px}
    .page_head{padding:17px}
    .page_head h1{font-size:20px}
    .head_count{min-width:70px;padding-left:12px}
    .head_count strong{font-size:23px}
    .region_panel{padding:5px 13px}
    .region_row{grid-template-columns:1fr;gap:5px}
    .region_row>strong{padding-top:0}
    .notice_bar{align-items:flex-start}
    .notice_bar>a{display:none}
    .church_row{padding:14px 13px;grid-template-columns:25px 1fr}
    .row_title{display:block}
    .phone_text{display:inline-block;margin-top:4px}
    .feed_ad{grid-template-columns:1fr}
    .feed_ad>span{margin-bottom:-5px}
    .feed_ad>a{justify-self:start}
    .side_column{display:block}
    .side_card{margin-top:10px}
}


/* 상세페이지 */
.detail_head,
.detail_card{
    background:#fff;
    border:1px solid #e6e8eb;
    border-radius:11px;
}
.detail_head{padding:20px 22px}
.detail_head .breadcrumb a{color:#81868d}
.detail_title_row{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
}
.detail_category{
    display:inline-block;
    margin-bottom:7px;
    padding:3px 7px;
    background:#eef4f1;
    color:#244c40;
    border-radius:4px;
    font-size:10px;
    font-weight:800;
}
.detail_title_row h1{
    margin:0;
    font-size:27px;
    line-height:1.3;
    letter-spacing:-.5px;
}
.detail_title_row p{
    margin:7px 0 0;
    color:#747981;
    font-size:13px;
}
.list_back_btn{
    flex:0 0 auto;
    padding:8px 11px;
    border:1px solid #dfe2e5;
    border-radius:6px;
    color:#656a70;
    font-size:12px;
}
.detail_card{
    margin-top:12px;
    padding:20px;
}
.detail_card_title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:15px;
}
.detail_card_title h2{
    margin:0;
    font-size:16px;
}
.detail_card_title span,
.detail_card_title>a{
    color:#92969c;
    font-size:11px;
}
.info_table{margin:0;border-top:1px solid #e9ebee}
.info_table>div{
    display:grid;
    grid-template-columns:120px minmax(0,1fr);
    border-bottom:1px solid #eceef0;
}
.info_table dt,
.info_table dd{
    margin:0;
    padding:14px 13px;
}
.info_table dt{
    background:#fafafa;
    color:#70757c;
    font-size:12px;
    font-weight:700;
}
.info_table dd{
    color:#35393e;
    font-size:13px;
}
.info_table dd a{color:#23604f;font-weight:700}
.detail_actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:17px;
}
.primary_btn,
.secondary_btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:39px;
    padding:0 14px;
    border-radius:7px;
    font-size:12px;
    font-weight:800;
}
.primary_btn{background:#244c40;color:#fff}
.secondary_btn{border:1px solid #dce0e3;background:#fff;color:#555b61}
.map_guide_box{
    min-height:92px;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    align-items:center;
    gap:14px;
    padding:16px;
    background:#f7f9f8;
    border:1px solid #e5ebe8;
    border-radius:8px;
}
.map_icon{
    width:42px;height:42px;
    display:flex;align-items:center;justify-content:center;
    border-radius:50%;
    background:#e4eee9;color:#244c40;
    font-size:22px;
}
.map_guide_box strong{font-size:13px}
.map_guide_box p{margin:4px 0 0;color:#858a90;font-size:11px}
.map_guide_box>a{
    padding:8px 11px;
    border-radius:6px;
    background:#244c40;color:#fff;
    font-size:11px;font-weight:700;
}
.related_list{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}
.related_list>a{
    min-width:0;
    padding:12px;
    background:#f8f9fa;
    border-radius:7px;
}
.related_list strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:13px;
}
.related_list span{
    display:block;
    margin-top:4px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:#858a91;
    font-size:10px;
}
.row_title h3 a:hover,
.address a:hover{color:#244c40;text-decoration:underline}

@media(max-width:680px){
    .detail_head,.detail_card{border-radius:8px}
    .detail_title_row{display:block}
    .detail_title_row h1{font-size:22px}
    .list_back_btn{display:inline-block;margin-top:14px}
    .info_table>div{grid-template-columns:90px minmax(0,1fr)}
    .info_table dt,.info_table dd{padding:12px 10px}
    .map_guide_box{grid-template-columns:38px minmax(0,1fr)}
    .map_guide_box>a{grid-column:2}
    .related_list{grid-template-columns:1fr}
}





@media (min-width: 901px) {
    .side_column {
        position: sticky;
        top: 84px;
        align-self: start;
    }
}

.church_google_map {
    width: 100%;
    overflow: hidden;
    border-radius: 12px;
    background: #f3f4f6;
}

.church_google_map iframe {
    display: block;
    width: 100%;
    height: 250px;
}

@media (max-width: 700px) {
    .church_google_map iframe {
        height: 250px;
    }
}



