/* =========================
   Hongik Job Fair - Footer
   (motijobfair 스타일 참고)
   ========================= */
:root{
  --ft-bg:#0b1020;          /* 어두운 남청 */
  --ft-bg-2:#0e1426;        /* 하단 바 */
  --ft-line:#1e293b;        /* 경계선 */
  --ft-text:#cbd5e1;        /* 본문 텍스트 */
  --ft-weak:#94a3b8;        /* 보조 텍스트 */
  --ft-strong:#e2e8f0;      /* 제목/강조 */
  --ft-accent:#59a5d8;      /* 하이라이트 */
  --ft-link:#bcdcff;        /* 링크 기본 */
  --ft-link-hover:#ffffff;  /* 링크 호버 */
  --ft-max:1240px;
}

/* 접근성용 sr-only (혹시 없으면) */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* ===== Footer skeleton ===== */
.site-footer{
  background:var(--ft-bg);
  color:var(--ft-text);
  border-top:1px solid var(--ft-line);
  font-family:"Noto Sans KR",system-ui,Segoe UI,Roboto,Arial,sans-serif;
}
.site-footer a{
  color:var(--ft-link);
  text-decoration:none;
}
.site-footer a:hover{
  color:var(--ft-link-hover);
  text-decoration:underline;
}

/* ===== Inner grid ===== */
.site-footer .footer-inner{
  max-width:var(--ft-max);
  margin:0 auto;
  padding:44px 20px 28px;
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
}
@media (min-width: 960px){
  .site-footer .footer-inner{
    grid-template-columns: 1.2fr 1fr 1fr; /* 소개 1.2, 링크/정책 1,1 */
    gap:36px;
    padding:52px 20px 28px;
  }
}

/* ===== Block titles ===== */
.site-footer .ft-title{
  margin:0 0 14px;
  font-size:16px;
  font-weight:800;
  color:var(--ft-strong);
  letter-spacing:.2px;
}

/* ===== Brand / intro ===== */
.site-footer .ft-brand .ft-title{
  font-size:18px;
}
.site-footer .ft-desc{
  margin:0 0 12px;
  font-size:14px;
  line-height:1.7;
  color:var(--ft-weak);
}
.site-footer .ft-contact{
  list-style:none; padding:0; margin:10px 0 0;
  font-size:14px; line-height:1.7;
}
.site-footer .ft-contact li{ margin:4px 0; }
.site-footer .ft-contact .lbl{
  display:inline-block; min-width:48px; margin-right:6px;
  color:var(--ft-weak);
}

/* ===== Quick / Policy ===== */
.site-footer .ft-links{
  list-style:none; padding:0; margin:0;
  display:grid; gap:8px;
}
.site-footer .ft-links a{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; line-height:1.6;
}
.site-footer .ft-links a::before{
  content:"›"; /* 얇은 꺾쇠 */
  font-weight:700; color:var(--ft-accent);
  opacity:.9;
}

/* ===== Social (텍스트 링크 기본, 아이콘 쓰면 교체 가능) ===== */
.site-footer .ft-social{
  list-style:none; padding:0; margin:14px 0 0;
  display:flex; gap:10px; flex-wrap:wrap;
}
.site-footer .ft-social a{
  display:inline-block; font-size:13px; line-height:1;
  padding:8px 10px; border:1px solid var(--ft-line);
  border-radius:8px; color:var(--ft-text);
}
.site-footer .ft-social a:hover{
  border-color:var(--ft-accent); color:#fff; background:rgba(89,165,216,.12);
}

/* ===== Bottom bar ===== */
.site-footer .footer-bar{
  border-top:1px solid var(--ft-line);
  background:var(--ft-bg-2);
}
.site-footer .footer-bar .copy{
  margin:0; padding:14px 20px;
  color:var(--ft-weak); font-size:13px; text-align:center;
}
.site-footer .footer-bar .copy small{ font-size:12px; }

/* to-top 버튼: 오른쪽 고정이 아닌 바 안쪽 우측 정렬(모바일은 중앙 아래) */
.site-footer .footer-bar{
  position:relative;
}
.site-footer .to-top{
  position:absolute; right:20px; top:8px;
  height:32px; padding:0 10px;
  font-size:12px; line-height:32px;
  border-radius:8px; border:1px solid var(--ft-line);
  background:#0f172a; color:#e2e8f0; cursor:pointer;
}
.site-footer .to-top:hover{
  border-color:var(--ft-accent); color:#fff; background:#13213a;
}
@media (max-width: 640px){
  .site-footer .to-top{
    position:static; display:block; margin:8px auto 12px;
    text-align:center;
  }
  .site-footer .footer-bar .copy{ padding-top:4px; }
}

/* ===== Fine-tuning on small screens ===== */
@media (max-width: 959.98px){
  .site-footer .ft-brand,
  .site-footer .ft-quick,
  .site-footer .ft-policy{
    border-top:1px dashed rgba(148,163,184,.25);
    padding-top:18px;
  }
  .site-footer .ft-brand{ border-top:0; padding-top:0; }
}

/* ===== Focus visible (키보드 접근성) ===== */
.site-footer a:focus-visible,
.site-footer .to-top:focus-visible{
  outline:2px solid var(--ft-accent);
  outline-offset:2px;
  border-radius:8px;
}

/* ===== 하이콘트라스트 모드 보조 ===== */
@media (prefers-contrast: more){
  .site-footer a{text-decoration:underline}
  .site-footer .to-top{border-color:#7fbbe1}
}
