/* ===========================
   FullCount Footer — 최종본
   =========================== */

/* 푸터가 항상 페이지 바닥에 붙도록 하는 기본 구조 */
html, body { height: 100%; }

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  font-family: sans-serif;
}

/* 본문은 남는 높이를 차지 (챗봇/FAB와 겹침 방지용 여백 포함) */
main {
  flex: 1 0 auto;
  padding-bottom: 140px; /* 필요 시 120~160px 조정 */
}

/* 푸터는 바닥으로 밀착 */
.site-footer {
  margin-top: auto;
  position: relative;
  z-index: 100;
}

/* === Footer 기본 영역 === */
@media (min-width: 769px) {
  .site-footer {
    background-color: #002B5B;  /* 진한 블루 */
    color: #f1f1f1;             /* 밝은 회색 글씨 */
    padding: 10px 20px;
    margin-top: 160px; /* 푸터를 더 아래로 내림, 값은 필요에 따라 조정 */

    display: flex;
    justify-content: center;    /* 중앙 정렬 */
    align-items: flex-start;
    gap: 110px;                 /* 좌우 간격 */
    flex-wrap: wrap;
    text-align: left;
  }

  /* 내부 콘텐츠 정렬 */
  .footer-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  /* 로고 */
  .footer-content .logo {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 5px;
  }

  /* 사이트 한 줄 소개 */
  .footer-content p {
    margin: 4px 0;
    font-size: 14px;
    color: #d0d0d0;
  }

  /* 메뉴 영역 */
  .footer-menu {
    list-style: none;
    padding: 0;
    margin: 15px 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px;
  }

  /* 메뉴 아이콘 */
  .footer-menu li img {
    width: 30px;
    height: 30px;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  .footer-menu li a:hover img {
    transform: scale(1.06);
    opacity: 0.85;
  }

  /* 연락 정보 */
  .footer-content .contact {
    font-size: 13px;
    color: #cccccc;
  }

  /* 저작권 표시 */
  .footer-content .copy {
    font-size: 12px;
    color: #aaaaaa;
    margin-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 8px;
    width: 100%;
  }

  /* 오른쪽 영역 */
  .footer_right {
    text-align: left;
    min-width: 200px;
    margin-right: 450px;
    margin-top: 10px;
  }

  .footer_right ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .footer_right li {
    font-size: 14px;
    color: #d0d0d0;
    margin-bottom: 6px;
  }

  .footer_right .gogak_center {
    font-weight: bold;
    font-size: 16px;
    color: white;
  }
}

/* === 반응형 (모바일) === */
@media (max-width: 768px) {
  .site-footer {
    padding: 20px 15px;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background-color: #002B5B;
    color: #f1f1f1;
    margin-top: 40px;
    
  }

  .footer-content {
    align-items: center;
  }

  .footer-content .logo {
    font-size: 23px;
    font-weight: bold;
    color: #ffffff;
    margin-bottom: 8px;
  }

  .footer-content p {
    font-size: 13px;
    color: #d0d0d0;
    margin: 4px 0;
  }

  .footer-menu {
    list-style: none;
    padding: 0;
    margin: 15px 0 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  .footer-menu li img {
    width: 30px;
    height: 30px;
    transition: transform 0.2s ease, opacity 0.2s ease;
  }

  .footer-menu li a:hover img {
    transform: scale(1.06);
    opacity: 0.85;
  }

  .footer-content .contact {
    font-size: 12px;
    color: #cccccc;
    margin-top: 10px;
  }

  .footer-content .copy {
    font-size: 11px;
    color: #aaaaaa;
    margin-top: 8px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    width: 100%;
  }

  .footer_right {
    display: none;
  }
}
