/* 메인과 일반 하위 페이지가 함께 사용하는 푸터. 각 페이지의 테마 색상을 따릅니다. */
.site-footer,
.site-footer * { box-sizing: border-box; }

body .site-footer {
  --site-accent: var(--desk-accent, var(--accent));
  position: static;
  display: block;
  flex: none;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid color-mix(in srgb, var(--ink) 12%, transparent);
  color: var(--muted);
  background: var(--bg);
  text-align: left;
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: normal;
}

.site-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 32px 36px;
}

.site-footer .site-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
  color: var(--ink);
  text-decoration: none;
}

.site-footer-icon {
  display: block;
  width: 44px;
  height: 44px;
  object-fit: contain;
  padding: 5px;
  border-radius: 12px;
  background: #17191c;
}

.site-footer-brand strong { display: block; font-size: 14px; font-weight: 600; color: inherit; }
.site-footer-tagline { display: block; margin-top: 3px; font-size: 12px; opacity: .6; }
.site-footer .site-footer-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0 12px;
}

.site-footer .site-footer-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--ink);
  text-decoration: none;
  opacity: .6;
}

.site-footer .site-footer-nav a:hover,
.site-footer .site-footer-nav a[aria-current="page"] { color: var(--site-accent); opacity: 1; }
.site-footer :focus-visible { outline: 2px solid var(--site-accent); outline-offset: 3px; }

/* 메인의 고정 도구 모음 아래까지 스크롤해 모든 링크를 누를 수 있게 합니다. */
body .site-footer-workspace { padding-bottom: calc(176px + env(safe-area-inset-bottom)); }

@media (max-width: 980px) {
  .site-footer-inner { padding: 28px 24px; }
}

@media (max-width: 600px) {
  .site-footer-inner { align-items: flex-start; flex-direction: column; gap: 16px; padding: 24px 16px; }
  .site-footer .site-footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 0 16px; }
  .site-footer .site-footer-nav a:last-child { grid-column: 1 / -1; margin-top: 8px; padding-top: 12px; border-top: 1px solid var(--line); }
}
