:root {
    --c-navy:        #00296b;
    --c-blue:        #00509d;
    --c-blue-hover:  #003A77;
    --c-blue-bg:     #E8F0F8;
    --c-point:       #e52e71;
    --c-point-hover: #B81E58;
    --c-point-bg:    #FCE7EF;
    --c-orange:      #FD5F00;
    --c-amber:       #ff8a00;
    --c-warm-bg:     #FFEEDD;
    --c-page:        #F5F7FA;
    --c-line:        #E2E8F0;
    --c-text:        #00296b;
    --c-text-sub:    #5A6B85;
    /* 이전 템플릿 호환 */
    --concept-color: var(--c-point);
}
html, body {
    height: 100%;
}
body, h1, h2, h3, h4, h5, h6, p, span {
    font-family: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, Roboto, "Helvetica Neue", "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
}
body {
    font-size: 14px;
    line-height: 1.428;
    color: var(--c-text);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* ── Navbar ── */
.navbar-public {
    background: var(--c-navy);
    transition: background 0.3s;
    min-height: 80px;
    padding-top: 0;
    padding-bottom: 0;
}
.navbar-public.scrolled {
    background: var(--c-navy);
}
.navbar-public .container {
    min-height: 80px;
    align-items: center;
}
.navbar-public .navbar-brand img {
    width: 133px;
    height: 60px;
    object-fit: contain;
}
.navbar-public .nav-link {
    color: #fff !important;
    font-weight: 600;
    font-size: 17px;
    padding: 0.6rem 1.5rem;
    transition: color 0.2s, background 0.2s;
    border-radius: 8px;
}
.navbar-public .nav-link:hover,
.navbar-public .nav-link.active {
    color: #fff !important;
    font-weight: 700;
    background: var(--c-point);
}
.navbar-public .dropdown-menu {
    background: var(--c-navy);
    border: none;
    border-radius: 2px;
    min-width: 180px;
    margin-top: 0;
}
.navbar-public .dropdown-item {
    color: #fff;
    font-size: 15px;
}
.navbar-public .dropdown-item:hover {
    color: #fff;
    background: rgba(255,255,255,0.2);
}
.navbar-public .dropdown-item-text {
    color: #fff;
    font-size: 14px;
}
.navbar-public .dropdown-divider {
    border-top-color: rgba(255,255,255,0.2);
}
/* Show submenu on hover (desktop only) */
@media (min-width: 992px) {
    .navbar-public .nav-item.dropdown:hover > .dropdown-menu {
        display: block;
    }
}
/* Hide Bootstrap dropdown caret arrow */
.navbar-public .dropdown-toggle::after {
    display: none;
}

/* ── Bootstrap 변수 재정의 (초록 → 새 컬러) ── */
:root {
    --bs-primary:              #00509d;
    --bs-primary-rgb:          0, 80, 157;
    --bs-success:              #00296b;
    --bs-success-rgb:          0, 41, 107;
    --bs-link-color:           #00509d;
    --bs-link-hover-color:     #003A77;
    --bs-link-color-rgb:       0, 80, 157;
}
.btn-primary {
    --bs-btn-bg:                   #00509d;
    --bs-btn-border-color:         #00509d;
    --bs-btn-hover-bg:             #003A77;
    --bs-btn-hover-border-color:   #003A77;
    --bs-btn-active-bg:            #003A77;
    --bs-btn-active-border-color:  #003A77;
    --bs-btn-focus-shadow-rgb:     0, 80, 157;
}
.btn-outline-primary {
    --bs-btn-color:                #00509d;
    --bs-btn-border-color:         #00509d;
    --bs-btn-hover-bg:             #00509d;
    --bs-btn-hover-border-color:   #00509d;
    --bs-btn-active-bg:            #003A77;
    --bs-btn-active-border-color:  #003A77;
    --bs-btn-focus-shadow-rgb:     0, 80, 157;
}
.btn-success {
    --bs-btn-bg:                   #00296b;
    --bs-btn-border-color:         #00296b;
    --bs-btn-hover-bg:             #003A77;
    --bs-btn-hover-border-color:   #003A77;
    --bs-btn-active-bg:            #003A77;
    --bs-btn-active-border-color:  #003A77;
    --bs-btn-focus-shadow-rgb:     0, 41, 107;
}
.btn-outline-success {
    --bs-btn-color:                #00509d;
    --bs-btn-border-color:         #00509d;
    --bs-btn-hover-bg:             #00509d;
    --bs-btn-hover-color:          #fff;
    --bs-btn-hover-border-color:   #00509d;
    --bs-btn-active-bg:            #003A77;
    --bs-btn-active-border-color:  #003A77;
    --bs-btn-focus-shadow-rgb:     0, 80, 157;
}
.form-control:focus,
.form-select:focus {
    border-color: #7aadd4;
    box-shadow: 0 0 0 0.25rem rgba(0, 80, 157, 0.2);
}

/* ── Page Header (전체 페이지 공통 상단 배너) ── */
/* inline <style> 블록이 외부 CSS 뒤에 렌더링되므로 background만 !important 처리 */
.page-header {
    background: linear-gradient(135deg, #00296b 0%, #00509d 65%, #e52e71 100%) !important;
    color: #fff !important;
}
/* 제목 — 네이비 위 흰색: 대비 12:1 이상 (WCAG AAA) */
.page-header h2,
.page-header h3 {
    color: #fff !important;
}
/* 통계 숫자 강조 — 앰버: 어두운 배경 위 대비 3.5:1 (굵은 대형 텍스트 AA 통과) */
.page-header .stat-num {
    color: #ff8a00 !important;
}

/* ── Bootstrap 유틸 클래스 재정의 (success 초록 → 새 컬러) ── */
.text-success                { color: var(--c-blue) !important; }
.link-success                { color: var(--c-blue) !important; }
.link-success:hover          { color: var(--c-blue-hover) !important; }
.bg-success                  { background-color: var(--c-navy) !important; }
.text-bg-success             { background-color: var(--c-navy) !important; color: #fff !important; }
.progress-bar.bg-success     { background-color: var(--c-blue) !important; }

/* ── Accordion 기본 오버라이드 ── */
.accordion-button:not(.collapsed) {
    background: rgba(0, 80, 157, 0.08);
    color: var(--c-navy);
    box-shadow: none;
}
.accordion-button:focus {
    box-shadow: 0 0 0 0.15rem rgba(0, 80, 157, 0.25);
}

/* ── Concept accent ── */
.text-concept { color: var(--c-point) !important; }
.bg-concept { background-color: var(--c-point) !important; }
.btn-concept {
    background: var(--c-point);
    color: #fff;
    font-weight: 700;
    border: none;
}
.btn-concept:hover {
    background: var(--c-point-hover);
    color: #fff;
}

/* ── Footer ── */
.footer-public {
    background: var(--c-page);
    color: var(--c-text-sub);
    font-size: 0.875rem;
}
.footer-public a {
    color: var(--c-text-sub);
    text-decoration: none;
}
.footer-public a:hover {
    color: var(--c-navy);
}
.footer-public .footer-logo {
    height: 28px;
    opacity: 0.8;
}
.nav-item {
    padding-left: 1.5rem;
}
