/* ─────────────────────────────────────────────────────────────
   청개구리퓨쳐스 — 테마 오버라이드
   기조 톤앤매너: 남색 / 회색 / 검정
   - Primary navy : #1E3A6E (포인트, 버튼)
   - Dark navy    : #14264A (헤더 hover, 강조)
   - Black ink    : #111111 (제목·본문 강조)
   - Body text    : #1f2937
   - Muted        : #6b7280
   - Lines        : #e5e7eb
   - Surface      : #fff / #f8f9fb
   - 빨강 (#e42500 fslive 잔재) → 모두 #1E3A6E 또는 #14264A 으로 매핑
   ───────────────────────────────────────────────────────────── */

:root {
    --ff-navy: #1E3A6E;
    --ff-navy-dark: #14264A;
    --ff-navy-soft: #2A4A7E;
    --ff-ink: #111111;
    --ff-text: #1f2937;
    --ff-muted: #6b7280;
    --ff-line: #e5e7eb;
    --ff-line-soft: #f1f3f5;
    --ff-bg: #f8f9fb;
    --ff-surface: #ffffff;
}

/* ── 글로벌 빨강 → 남색 매핑 ────────────────────────────────── */
*[style*="#e42500"], *[style*="#E42500"] {
    /* 인라인 스타일은 별도로 PHP 파일에서 손봄 */
}

a { color: var(--ff-text); }
a:hover { color: var(--ff-navy); }

::selection { background: var(--ff-navy) !important; color: #fff !important; }
::-moz-selection { background: var(--ff-navy) !important; color: #fff !important; }
:focus-visible { outline-color: var(--ff-navy) !important; }

/* ── 헤더 ─────────────────────────────────────────────────── */
.logo_area .nav_bar > li > a:hover,
.logo_area .nav_bar > li.on > a {
    color: var(--ff-navy) !important;
}

/* 헤더 회원 버튼 */
.header_member .hm-btn.primary {
    background: var(--ff-navy) !important;
    border-color: var(--ff-navy) !important;
    box-shadow: 0 4px 12px rgba(30, 58, 110, .22) !important;
}
.header_member .hm-btn.primary:hover {
    background: var(--ff-navy-dark) !important;
    box-shadow: 0 6px 16px rgba(30, 58, 110, .35) !important;
}
.header_member .hm-btn.ghost:hover {
    color: var(--ff-navy) !important;
    border-color: var(--ff-navy) !important;
    background: #f5f7fb !important;
}

/* ── 좌측 lnb ────────────────────────────────────────────── */
.lnb .menu > li > a:hover,
.lnb .menu > li > button:hover { color: var(--ff-navy) !important; background: #fafafa !important; }
.lnb .menu > li.on > a { background: #f3f6fc !important; color: var(--ff-navy) !important; }
.lnb .menu ul a:hover { color: var(--ff-navy) !important; }
.lnb .menu .dep .on a { color: var(--ff-navy) !important; }
.lnb .center_box .tel { color: var(--ff-navy) !important; }

/* ── 메인 슬라이더 / 카드 / 버튼 ─────────────────────────── */
.mv-slider__btn--free,
.mv-live-float {
    background: linear-gradient(135deg, var(--ff-navy) 0%, var(--ff-navy-dark) 100%) !important;
    box-shadow: 0 6px 18px rgba(30, 58, 110, .35) !important;
    border-color: #fff !important;
}
.mv-slider__btn--intro {
    background: linear-gradient(135deg, #2b2b2b 0%, #0f0f0f 100%) !important;
}

.M_contents .lec_lst .btn_lst a.vip-off,
.broad_list .btn_lst a.vip-off {
    background: var(--ff-navy) !important;
    color: #fff !important;
    border-color: var(--ff-navy) !important;
}

/* M_contents h2 / sec_ttl underline */
.M_contents h2::after,
.sec_ttl h2::after,
.M_section h2 { border-color: var(--ff-navy) !important; }
.M_section h2 { border-bottom-color: var(--ff-navy) !important; }

/* New badge — 빨강 → 남색 */
.new-badge { background: var(--ff-navy) !important; color: #fff !important; }

/* ── M_center 푸터 직전 박스 ─────────────────────────────── */
.M_center .ct_column .ct_tel { color: var(--ff-navy) !important; }

/* ── 일반 버튼·CTA ────────────────────────────────────────── */
.btn-primary,
button.primary,
input[type=submit].primary,
.cta .primary,
.ph-cta .pri {
    background: var(--ff-navy) !important;
    color: #fff !important;
    border-color: var(--ff-navy) !important;
    box-shadow: 0 4px 12px rgba(30, 58, 110, .22) !important;
}
.btn-primary:hover,
.cta .primary:hover,
.ph-cta .pri:hover {
    background: var(--ff-navy-dark) !important;
    box-shadow: 0 6px 16px rgba(30, 58, 110, .35) !important;
}

/* ── 모바일 ────────────────────────────────────────────────── */
.m-header .logo i { color: var(--ff-navy) !important; }
.m-cta .pri { background: var(--ff-navy) !important; }
.m-card .ico { color: var(--ff-navy) !important; }

/* ── 표·테이블 hover ─────────────────────────────────────── */
.bbs_list tbody tr:hover,
.board_list tbody tr:hover { background-color: #f5f7fb !important; }

/* ── 스타일 잔존 빨강 강제 오버라이드 (style.css 의 #e42500) ── */
.M_visual,
.S_visual { background: linear-gradient(135deg, var(--ff-navy-dark) 0%, var(--ff-navy) 100%) !important; }

/* ── 청투TV 잔존 로고 PNG 배경 제거 + 클리핑 해제 ───────── */
.logo_area .nav_bar { background: none !important; text-indent: 0 !important; width:auto !important; height:auto !important; }
.footer .ft_info { background: none !important; }

/* common.css 의 .logo_area .main_logo a {width:156;height:46;overflow:hidden;
   background:url;text-indent:-999em} 강제 해제 — 우리는 inline <img> 로 표시 */
.logo_area .main_logo {
    float: none !important;
    width: auto !important; height: auto !important;
    margin: 0 !important; padding: 0 !important;
    overflow: visible !important;
    flex-shrink: 0 !important;
}
.logo_area .main_logo a {
    width: auto !important; height: auto !important;
    background: none !important;
    overflow: visible !important;
    text-indent: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
}
.logo_area .main_logo .ff-logo-img {
    height: 30px !important; width: auto !important;
    max-width: none !important;
    flex-shrink: 0 !important;
    display: block !important;
}
.footer .ft_logo img { max-width:none !important; flex-shrink:0 !important; height:26px !important; width:auto !important; }

/* 상단 GNB 메뉴 — 로고는 작게, 메뉴 글씨는 크게 (가독성 우선) */
.logo_area .nav_bar > li > a {
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: -.45px !important;
    padding: 0 4px !important;
}
.logo_area .nav_bar > li.on > a,
.logo_area .nav_bar > li > a:hover { font-weight: 800 !important; }
@media (max-width: 1100px){
    .logo_area .nav_bar > li > a { font-size: 16px !important; }
}

/* 헤더 컨테이너 폭을 메인 컨텐츠(.M_main max-width:1340px)에 맞춰 로고가 좌측 전문가 카드 시작선과 동일 정렬 */
.header .container,
.logo_area .container,
.footer .container {
    max-width: 1340px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
}

/* style.css 의 .board_column { margin:0 0 70px } 를 적당한 간격(18px)으로 축소 */
.M_right .board_column { margin: 0 0 18px !important; }
.M_right .board_column:last-child { margin-bottom: 0 !important; }

/* 서브페이지 가로폭도 홈(.M_main max-width:1340px)에 맞춤 + flex 레이아웃 */
.S_container {
    max-width: 1340px !important;
    padding: 30px 16px 50px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    gap: 24px !important;
    align-items: flex-start !important;
    min-height: auto !important;
}
.S_container .lnb {
    float: none !important;
    width: 200px !important;
    flex-shrink: 0 !important;
    margin: 0 !important;
}
.S_container .S_contents {
    float: none !important;
    width: auto !important;
    flex: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}
@media (max-width:980px){
    .S_container { flex-direction:column !important; }
    .S_container .lnb { width:100% !important; }
}
/* 각 서브페이지의 max-width 제한 제거 (S_contents 폭 안에서 자동) */
.S_contents .lec-page,
.S_contents .sch-page,
.S_contents .bd-page,
.S_contents .faq-page,
.S_contents .iv-page,
.S_contents .rt-page,
.S_contents .perf-page,
.S_contents .rv-page,
.S_contents .pf-page,
.S_contents .lg-wrap,
.S_contents .jn-wrap { max-width: none !important; margin: 0 !important; }

/* LNB 없는 청투TV 동일 레이아웃 페이지 (투자전략/이용후기/수익인증/방송) — 1340px 풀 폭 */
.S_container_full {
    max-width: 1340px !important;
    margin: 0 auto !important;
    padding: 30px 16px 50px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
.S_container_full .iv-page,
.S_container_full .rv-page,
.S_container_full .pf-page,
.S_container_full .lec-page,
.S_container_full .perf-page,
.S_container_full .rt-page { max-width: none !important; margin: 0 !important; width: 100% !important; }
@media (max-width:980px){
    .S_container_full { padding: 20px 14px 40px !important; }
}
