/* =====================================================================
   Footer — H-Style Dark Teal (히어로와 통일)
   ===================================================================== */

/* ── 기본 구조 ────────────────────────────────────────────────── */
.site-footer {
    background: linear-gradient(135deg, var(--color-hero-start, #0d3535) 0%, var(--color-hero-end, #1a5252) 100%);
    border-top: none;
    color: rgba(255, 255, 255, 0.6);
    font-size: 14px;
}

.footer-inner {
    max-width: var(--site-max-width);
    margin: 0 auto;
    padding: 0 40px;
}

/* ── Footer Top (4컬럼 그리드) ──────────────────────────────── */
.footer-top {
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr 1fr;
    gap: 40px;
    padding: 56px 0 48px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* ── 브랜딩 영역 ────────────────────────────────────────────── */
.footer-branding {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-logo-text {
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: -0.5px;
    line-height: 1.2;
    transition: color var(--transition-fast);
}

.footer-logo-text:hover {
    color: rgba(255, 255, 255, 0.75);
}

.footer-branding .custom-logo-link img {
    height: 36px;
    width: auto;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.footer-description {
    color: rgba(255, 255, 255, 0.5);
    font-size: 13px;
    line-height: 1.7;
    max-width: 280px;
}

/* ── 푸터 메뉴 ──────────────────────────────────────────────── */
.footer-navigation {
    display: flex;
    flex-direction: column;
}

.footer-navigation::before {
    content: 'Navigation';
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 20px;
}

.footer-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-menu li a {
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    transition: color var(--transition-fast);
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-menu li a::before {
    content: '';
    width: 12px;
    height: 1px;
    background: rgba(255, 255, 255, 0.25);
    display: inline-block;
    transition: width var(--transition-fast), background var(--transition-fast);
    flex-shrink: 0;
}

.footer-menu li a:hover {
    color: #ffffff;
}

.footer-menu li a:hover::before {
    width: 18px;
    background: rgba(255, 255, 255, 0.7);
}

/* ── 위젯 영역 ──────────────────────────────────────────────── */
.footer-widgets {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.footer-widget-area .widget {
    margin: 0;
}

.footer-widget-area .widget-title {
    font-size: 11px !important;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #ffffff;
    margin: 0 0 20px;
    padding: 0;
}

.footer-widget-area .widget a {
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    transition: color var(--transition-fast);
}

.footer-widget-area .widget a:hover {
    color: #ffffff;
}

.footer-widget-area .widget ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-widget-area .widget ul li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.55);
}

.footer-widget-area .widget ul li::before {
    content: '';
    width: 12px;
    height: 1px;
    background: rgba(255, 255, 255, 0.25);
    display: inline-block;
    flex-shrink: 0;
}

/* ── 페이지 링크 (우측 컬럼) ────────────────────────────────── */
.footer-pages {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.footer-pages::before {
    content: 'Pages';
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: #ffffff;
    margin-bottom: 20px;
}

.footer-pages a {
    color: rgba(255, 255, 255, 0.55);
    font-size: 14px;
    transition: color var(--transition-fast);
    display: flex;
    align-items: center;
    gap: 8px;
}

.footer-pages a::before {
    content: '';
    width: 12px;
    height: 1px;
    background: rgba(255, 255, 255, 0.25);
    display: inline-block;
    transition: width var(--transition-fast), background var(--transition-fast);
    flex-shrink: 0;
}

.footer-pages a:hover {
    color: #ffffff;
}

.footer-pages a:hover::before {
    width: 18px;
    background: rgba(255, 255, 255, 0.7);
}

/* ── Footer Bottom ──────────────────────────────────────────── */
.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    gap: 12px;
}

.footer-bottom .copyright {
    color: rgba(255, 255, 255, 0.35);
    font-size: 13px;
    margin: 0;
}

.footer-bottom .copyright-meta {
    color: rgba(255, 255, 255, 0.25);
    font-size: 12px;
    margin: 0;
}

/* 반응형은 responsive.css에서 통합 관리 */
