/* ══════════════════════════════════════════
   공용 사이트 푸터 (카테고리형 사이트맵)
   partials/site-footer.html + footer-include.js와 짝을 이룹니다.
   페이지 위치와 무관하게 절대경로(/xxx.html)를 쓰므로
   이 CSS만 <link>로 걸어두면 어느 깊이의 페이지에서도 그대로 씁니다.
══════════════════════════════════════════ */

.site-footer {
  background: var(--ink);
  padding: 4.5rem 3rem 2.5rem;
}

.sf-inner {
  max-width: 1100px;
  margin: 0 auto;
}

.sf-top {
  margin-bottom: 3rem;
  padding-bottom: 3rem;
  border-bottom: 0.5px solid rgba(196, 144, 74, 0.2);
}
.sf-logo {
  font-family: var(--serif);
  font-size: 1.3rem;
  font-weight: 300;
  color: var(--white, #F8F9F8);
  text-decoration: none;
  letter-spacing: 0.02em;
}
.sf-logo em { font-style: italic; color: var(--gold); }
.sf-tagline {
  font-family: var(--serif);
  font-style: italic;
  font-size: 0.85rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 0.6rem;
}

.sf-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-bottom: 3rem;
}
.sf-col-title {
  font-size: 0.66rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 1.1rem;
}
.sf-col-links {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
.sf-col-links a {
  font-size: 0.85rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.65);
  text-decoration: none;
  transition: color 0.15s;
}
.sf-col-links a:hover { color: var(--gold); }

.sf-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  padding-top: 2rem;
  border-top: 0.5px solid rgba(196, 144, 74, 0.12);
}
.sf-copy {
  font-size: 0.68rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.35);
  letter-spacing: 0.02em;
  line-height: 1.7;
}
.sf-top-btn {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  letter-spacing: 0.04em;
  transition: color 0.15s;
}
.sf-top-btn:hover { color: var(--gold); }

.sf-legal {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 0.5px solid rgba(255, 255, 255, 0.06);
}
.sf-legal-links {
  display: flex;
  gap: 1.1rem;
  flex-wrap: wrap;
}
.sf-legal-links a {
  font-size: 0.7rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.42);
  text-decoration: none;
  letter-spacing: 0.03em;
  transition: color 0.15s;
}
.sf-legal-links a:hover { color: var(--gold); }
.sf-legal-operator {
  font-size: 0.68rem;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.3);
  letter-spacing: 0.02em;
}
.sf-legal-operator a {
  color: rgba(255, 255, 255, 0.3);
  text-decoration: none;
  transition: color 0.15s;
}
.sf-legal-operator a:hover { color: var(--gold); }

@media (max-width: 700px) {
  .site-footer { padding: 3.5rem 1.5rem 2rem; }
  .sf-grid { grid-template-columns: 1fr; gap: 2rem; }
  .sf-bottom { flex-direction: column; align-items: flex-start; }
  .sf-legal { flex-direction: column; align-items: flex-start; }
}
