
/* ===== Hanmaum RTP Church — Bold Dynamic theme overlay ===== */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;700;900&family=Inter:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;700;900&display=swap');

:root{
  --bg:#0a0a12; --bg2:#121220; --bg3:#181829;
  --violet:#7c5cff; --pink:#ff5c8a; --cyan:#3ce8ff;
  --text:#f3f2f8; --text-dim:#a9a7c0;
  --border:rgba(255,255,255,0.08);
  --grad: linear-gradient(90deg,var(--violet),var(--pink));
  --grad2: linear-gradient(135deg,var(--violet),var(--cyan));
}

body{ background:var(--bg) !important; color:var(--text) !important; font-family:'Inter','Noto Sans KR',sans-serif; }
a{ color:var(--text); }
#cm_layout, .cm_layout_container, .cm_container, .cm_content, .cm_sub_content{ background:transparent !important; }

/* ---- Top utility bar ---- */
.cm_top_menu{ background:var(--bg2) !important; border-bottom:1px solid var(--border); }
.cm_top_menu a, .cm_top_menu li{ color:var(--text-dim) !important; }
.cm_top_menu input, .cm_top_menu .iText{ background:var(--bg3) !important; color:var(--text) !important; border:1px solid var(--border) !important; }

/* ---- Header ---- */
.cm_header{ background:rgba(10,10,18,0.85) !important; backdrop-filter:blur(14px); border-bottom:1px solid var(--border); position:sticky; top:0; z-index:500; padding:14px 0; }
.cm_logo a, .cm_logo{ font-family:'Space Grotesk',sans-serif; font-weight:900; }
.cm_logo img{ filter:drop-shadow(0 0 12px rgba(124,92,255,0.5)); }

.cm_gnb .depth1 > li > a, .cm_gnb a.nav1st{ color:var(--text) !important; font-weight:600; letter-spacing:.02em; padding:10px 16px !important; transition:color .2s; }
.cm_gnb .depth1 > li > a:hover, .cm_gnb a.nav1st:hover{ background:transparent !important; }
.cm_gnb .depth1 > li{ position:relative; }
.cm_gnb .depth1 > li > a::after{ content:''; position:absolute; left:16px; right:16px; bottom:2px; height:2px; background:var(--grad); transform:scaleX(0); transition:transform .25s; }
.cm_gnb .depth1 > li:hover > a::after, .cm_gnb .depth1 > li.active > a::after{ transform:scaleX(1); }
.cm_gnb .twoDepth{ background:var(--bg2) !important; border:1px solid var(--border) !important; }
.cm_gnb .twoDepth a{ color:var(--text-dim) !important; }
.cm_gnb .twoDepth a:hover{ color:var(--text) !important; }

.cm_header_social img{ filter:invert(1) opacity(.7); }

/* ---- Top promo banner ---- */
#cm_bnz_wrap{ background:var(--bg2) !important; border-bottom:1px solid var(--border); }

/* ---- Hero / slider ---- */
.slider_wrap{ background:radial-gradient(ellipse at 30% 0%, rgba(124,92,255,0.25), transparent 60%), radial-gradient(ellipse at 80% 20%, rgba(255,92,138,0.18), transparent 55%), var(--bg) !important; padding-bottom:24px; }
.cm_slider .cm_slider_caption{ background:linear-gradient(0deg, rgba(10,10,18,.92), rgba(10,10,18,.15) 70%, transparent) !important; }
.cm_slider .cm_slider_caption h3, .cm_slider .cm_slider_caption h3 a{ font-family:'Space Grotesk',sans-serif; font-weight:900; font-size:2rem; color:#fff !important; text-shadow:0 2px 20px rgba(0,0,0,.4); }
.cm_slider .cm_slider_caption p{ color:var(--text-dim) !important; }
.bx-pager, .bx-controls{ filter:invert(1); }

/* ---- Main content area ---- */
.cm_container, .cm_content{ padding-top:32px; padding-bottom:48px; }
.cm_content{ color:var(--text); }
.cm_content h1,.cm_content h2,.cm_content h3,.cm_content h4{ color:#fff; font-family:'Space Grotesk',sans-serif; font-weight:700; }
.cm_content a{ color:var(--cyan); }

/* generic card / list surfaces so board & list modules inherit dark theme */
.cm_content table{ background:var(--bg2) !important; color:var(--text) !important; border-color:var(--border) !important; }
.cm_content table th{ background:var(--bg3) !important; color:var(--text) !important; border-color:var(--border) !important; }
.cm_content table td{ border-color:var(--border) !important; }
.cm_content tr:hover td{ background:rgba(124,92,255,0.08) !important; }
.cm_content input, .cm_content textarea, .cm_content select{ background:var(--bg3) !important; color:var(--text) !important; border:1px solid var(--border) !important; border-radius:8px; }
.cm_content input[type="submit"], .cm_content input[type="button"], .cm_content button, .cm_content .btn, .cm_content .button{
  background:var(--grad) !important; color:#fff !important; border:none !important; border-radius:999px !important; padding:8px 20px !important; font-weight:600 !important;
}
.cm_content .pagination a, .cm_content .paging a{ color:var(--text-dim) !important; }
.cm_content .pagination a.active, .cm_content .paging strong{ color:#fff !important; background:var(--grad) !important; border-radius:6px; }

/* homepage explore / ministry cards (image-link blocks laid out via widgets) */
.zbxe_widget_output, .cm_content .xe_content{ color:var(--text); }

/* ---- Sidebar (sub pages) ---- */
.cm_sidebar{ background:var(--bg2) !important; border:1px solid var(--border) !important; border-radius:14px; padding:20px !important; }
.cm_sidebar .cm_sidebar_title .title{ color:#fff !important; font-family:'Space Grotesk',sans-serif; }
.cm_sidebar .cm_sidebar_title .sub{ color:var(--text-dim) !important; }
.cm_sidebar .depth2 a{ color:var(--text-dim) !important; }
.cm_sidebar .depth2 li.active > a, .cm_sidebar .depth2 a:hover{ color:#fff !important; }
.cm_sidebar .depth3 a{ color:var(--text-dim) !important; }

.cm_sub_header{ border-bottom:1px solid var(--border); padding-bottom:16px; margin-bottom:16px; }
.cm_sub_header h2{ color:#fff !important; font-family:'Space Grotesk',sans-serif; }
.cm_breadcrumb, .cm_breadcrumb a, .cm_breadcrumb li{ color:var(--text-dim) !important; }

/* ---- Footer ---- */
.cm_footer_wrap{ background:var(--bg2) !important; border-top:1px solid var(--border); margin-top:40px; }
.cm_footer_info{ color:var(--text-dim) !important; padding:32px 0; }
.cm_address, .cm_address *{ color:var(--text-dim) !important; }
.cm_copy, .cm_copy *{ color:#6b6884 !important; }

/* ---- Login modal ---- */
#cm_modalLogin{ background:rgba(5,5,10,0.75) !important; }
#cm_loginLayer{ background:var(--bg2) !important; border:1px solid var(--border) !important; border-radius:16px !important; }
#cm_loginLayer .cm_modal_header{ filter:invert(1); }
#cm_loginLayer input[type="text"], #cm_loginLayer input[type="password"]{ background:var(--bg3) !important; color:var(--text) !important; border:1px solid var(--border) !important; border-radius:8px; }
#cm_loginLayer .cm_loginBtn{ background:var(--grad) !important; border:none !important; border-radius:999px !important; color:#fff !important; }
#cm_loginLayer a{ color:var(--text-dim) !important; }
#cm_loginLayer label{ color:var(--text-dim) !important; }

@media (max-width:768px){
  .cm_slider .cm_slider_caption h3, .cm_slider .cm_slider_caption h3 a{ font-size:1.3rem; }
}


/* ---- Rhymix board module (zine skin) — sermon/board list & post pages ---- */
.bd_hd{ border-bottom:1px solid var(--border) !important; padding-bottom:16px !important; margin-bottom:16px !important; }
.bd_hd .title, .bd_hd h1, .bd_hd h2{ color:#fff !important; font-family:'Space Grotesk',sans-serif; font-weight:700; }
.bd_set{ background:var(--bg2) !important; border:1px solid var(--border) !important; border-radius:12px !important; color:var(--text-dim) !important; }
.bd_set select, .bd_set input{ background:var(--bg3) !important; color:var(--text) !important; border:1px solid var(--border) !important; border-radius:8px; }

.bd_lst_wrp{ background:transparent !important; }
.bd_lst.bd_zine.zine.zine1{ background:transparent !important; }
.bd_lst.bd_zine.zine.zine1 li.clear{ background:var(--bg2) !important; border:1px solid var(--border) !important; border-radius:14px !important; overflow:hidden; transition:transform .2s, border-color .2s; }
.bd_lst.bd_zine.zine.zine1 li.clear:hover{ border-color:rgba(124,92,255,0.4) !important; transform:translateY(-2px); }

.rt_area.is_tmb{ background:transparent !important; }
.tmb_wrp{ background:var(--bg3) !important; }
.tmb_wrp img.tmb{ opacity:.92; }

h3.ngeb, h3.ngeb a{ color:#fff !important; font-family:'Space Grotesk',sans-serif; font-weight:700 !important; }
.cnt, .cnt *{ color:var(--text-dim) !important; }
.info, .info *{ color:#6b6884 !important; }
.info a{ color:var(--cyan) !important; }

.bd_pg{ text-align:center !important; }
.bd_go_page, .bd_go_page a, .bd_go_page span{ color:var(--text-dim) !important; }
.bd_go_page a:hover, .bd_go_page .active, .bd_go_page strong{ color:#fff !important; background:var(--grad) !important; border-radius:6px; }
.bd_btn{ background:var(--grad) !important; color:#fff !important; border:none !important; border-radius:999px !important; padding:8px 20px !important; font-weight:600 !important; }
.bd_btn:hover{ filter:brightness(1.1); }
