/**
 * footer.css — 참사랑한의원 푸터 (레퍼런스: 밝은 배경 · 좌 정보 / 중앙 로고 / 우 링크 · 하단 저작권·채널·정책 · 흐르는 영문 워터마크)
 * 배경은 레퍼런스보다 한 단계 어두운 쿨 그레이. 마크업: templates/shared/footer.php
 */
.site-footer {
    position: relative;
    background: #E4E8EE;
    color: #1F2937;
    font-size: .9rem;
    padding: 40px 0;
}
.sf-inner { position: relative; max-width: 1440px; margin: 0 auto; padding: 0 28px; }

/* 상단 3열 */
.sf-top {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 40px;
    padding-bottom: 40px;
    border-bottom: 1px solid rgba(31, 41, 55, .14);
}
.sf-name { display: block; font-size: 1.05rem; font-weight: 500; margin-bottom: 14px; }
.sf-addr { margin: 0 0 22px; display: flex; align-items: center; gap: 8px; }
.sf-addr i { color: #1F2937; font-size: .95rem; }
.sf-meta, .sf-hours { list-style: none; margin: 0; padding: 0; color: #4B5563; }
.sf-meta li { padding: 0; }
.sf-meta a { color: inherit; }
.sf-gap { margin-left: 22px; }
.sf-hours { margin-top: 18px; font-size: .84rem; color: #6B7280; }
.sf-hours li { display: inline-block; padding: 2px 14px 2px 0; }
.sf-hours-label { color: #1F2937; font-weight: 500; }

.sf-logo { display: flex; justify-content: center; align-items: center; }
.sf-logo img { height: 50px; width: auto; }
.sf-logo span { font-size: 1.6rem; font-weight: 500; color: var(--primary); }

.sf-links { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.sf-links a, .sf-links button { font: inherit; font-size: 1rem; font-weight: 500; color: #1F2937; background: none; border: 0; padding: 0; cursor: pointer; transition: color .2s; }
.sf-links a:hover, .sf-links button:hover { color: var(--primary); }

/* 하단 */
.sf-bottom {
    display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
    padding-top: 26px;
    font-size: .84rem; color: #4B5563;
}
.sf-copy { margin: 0; }
.sf-sns { list-style: none; margin: 0 0 0 auto; padding: 0; display: flex; gap: 32px; }   /* 우측 정렬 */
.sf-sns a { display: inline-flex; align-items: center; gap: 8px; font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: .82rem; letter-spacing: .02em; color: #1F2937; }
.sf-sns a i { font-size: 1.05rem; }
.sf-sns a:hover { color: var(--primary); }


/* 반응형 */
@media (max-width: 1024px) {
    .site-footer { padding: 40px 0 120px; }   /* 하단 고정 CTA 바 여백 */
    .sf-sns { display: none; }                /* 모바일·태블릿은 하단 고정 퀵메뉴가 같은 채널을 담당 */
    .sf-top { grid-template-columns: 1fr 1fr; gap: 32px; }
    .sf-logo { grid-column: 1 / -1; order: -1; justify-content: flex-start; }
    .sf-links { align-items: flex-start; }
    .sf-bottom { flex-direction: column; align-items: flex-start; gap: 18px; }
}
@media (max-width: 640px) {
    .site-footer { padding: 40px 0 110px; }
    .sf-top { grid-template-columns: 1fr; gap: 28px; padding-bottom: 40px; }
    .sf-logo img { height: 30px; }
    .sf-links { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; gap: 8px; }
    .sf-links a, .sf-links button { font-size: .82rem; white-space: nowrap; }   /* 4개가 한 줄에 */
    .sf-sns { gap: 20px; flex-wrap: wrap; }
}
