/* ─────────────────────────────────────────────
   footer.css — Footer, Go-to-Top Button
   ───────────────────────────────────────────── */

/* Footer — v2 딥네이비 + 회색 톤 */
.footer-section { background: #1a2638; color: #94a0b3; border-top: none; min-height: unset !important; justify-content: flex-start; }
.footer-top { padding: 40px 0; border-bottom: 1px solid rgba(255,255,255,0.06); }
.footer-top .container { display: flex; justify-content: space-between; align-items: flex-start; flex-wrap: wrap; gap: 30px; }
.footer-contact h3 { color: #fff; font-size: 1.1rem; margin-bottom: 15px; font-weight: 700; }
.footer-contact p.phone {
    color: var(--main-brand);
    font-size: 2.8rem;
    font-family: 'Pretendard';
    font-weight: 900;
    letter-spacing: -1px;
    white-space: nowrap;
}
.footer-contact p.desc { line-height: 1.8; font-size: 0.95rem; margin-top: 10px; color: #94a0b3; }
.footer-contact span.highlight { color: #c8d0de; }

.footer-mid { background: #131c2a; padding: 20px 0; }
.footer-mid .container { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 20px; }
.footer-nav { display: flex; gap: 25px; flex-wrap: wrap; font-size: 0.95rem; }
.footer-nav a { color: #94a0b3; transition: 0.3s; }
.footer-nav a.privacy { color: var(--main-brand); font-weight: 700; }
.footer-nav a:hover { color: #fff; }

.footer-bottom { padding: 50px 0 80px; }
.footer-bottom .container { display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 40px; }
.footer-address h2 { color:#fff; margin-bottom:20px; font-family:'GmarketSansMedium'; font-size: 1.5rem; letter-spacing: 2px; }
.footer-address p { margin-bottom: 10px; font-size: 0.95rem; color: #7a8597; }
.footer-sns { text-align: right; }
.footer-sns .sns-list { display: flex; gap: 12px; justify-content: flex-end; margin-bottom: 25px; }
.footer-sns .sns-list a { width: 45px; height: 45px; background: rgba(255,255,255,0.05); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.2rem; transition: 0.3s; }
.footer-sns .sns-list a:hover { background: var(--main-brand); transform: translateY(-3px); }

/* Go To Top Bar */
.go-top-btn {
    position: fixed; right: 30px; bottom: 30px; width: 50px; height: 50px;
    background: var(--main-brand); color: #fff; border-radius: 50%;
    display: flex; align-items: center; justify-content: center; font-size: 1.5rem;
    box-shadow: 0 5px 15px rgba(234, 84, 0, 0.3); z-index: 999; cursor: pointer;
    transition: 0.3s; opacity: 0; pointer-events: none;
}
.go-top-btn.show { opacity: 1; pointer-events: auto; }
.go-top-btn:hover { background: #111; transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.2); }

/* Footer go-to-top button */
.footer-top-btn {
    display: inline-flex; align-items: center; gap: 8px;
    background: transparent; border: 1px solid rgba(255,255,255,0.15); color: #94a0b3;
    border-radius: 25px; padding: 9px 18px;
    font-size: 0.88rem; font-weight: 700; cursor: pointer;
    margin-top: 16px; transition: 0.25s;
    font-family: inherit;
}
.footer-top-btn:hover { background: var(--main-brand); border-color: var(--main-brand); color: #fff; }

/* ── Mobile Footer ── */
@media (max-width: 768px) {
    .footer-section.fp-section {
        overflow-y: auto !important;
        justify-content: flex-start;
    }
    .footer-top { padding: 25px 0; }
    .footer-top .container { flex-direction: column; gap: 15px; }
    .footer-contact p.phone { font-size: 2.5rem; }
    .footer-contact p.desc { font-size: 0.85rem; line-height: 1.6; }
    .footer-mid .container { flex-direction: column; align-items: flex-start; gap: 12px; }
    .footer-nav { gap: 12px; font-size: 0.8rem; }
    .footer-bottom { padding: 20px 0 30px; }
    .footer-bottom .container { flex-direction: column; gap: 15px; align-items: flex-start; }
    .footer-address h2 { font-size: 1.1rem; margin-bottom: 10px; }
    .footer-address p { font-size: 0.8rem; margin-bottom: 6px; }
    .footer-sns { text-align: left; width: 100%; }
    .footer-sns .sns-list { justify-content: flex-start; margin-bottom: 15px; }
    .go-top-btn { right: 16px; bottom: 24px; width: 44px; height: 44px; font-size: 1.3rem; }
}
