/* 홈페이지와 인증 화면의 공통 푸터 외곽을 구성한다. */
.job-site-footer {
    margin-top: auto;
    padding: 24px 0;
    border-top: 0;
    background: var(--k-color-gray-fa);
}

/* 공통 푸터 내부를 프릿과 같은 최대 1260px 폭으로 정렬한다. */
.job-footer-inner {
    display: grid;
    width: min(1260px, calc(100% - 64px));
    max-width: 1260px;
    margin: 0 auto;
    padding: 0;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "top" "info" "copyright";
}

/* 프릿 푸터는 프로젝트 화면의 1260px 본문 축에 맞춘다. */
.job-site-footer--frit .job-footer-inner {
    width: min(1260px, calc(100% - 64px));
    max-width: 1260px;
}

.job-footer-links {
    display: flex;
    min-width: 0;
    margin: 0;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 12px 42px;
}

/* 공통 푸터의 로고와 메뉴를 같은 행에 배치한다. */
.job-footer-top {
    display: flex;
    grid-area: top;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-bottom: 32px;
}

/* 기존 FreeMode 심볼과 워드마크를 공통 푸터에 표시한다. */
.job-footer-brand {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    gap: 8px;
    color: var(--ref-ink);
    text-decoration: none;
}

/* 로고 심볼의 비율과 표시 크기를 고정한다. */
.job-footer-brand img {
    display: block;
    width: 42.528px;
    height: 12px;
    object-fit: contain;
}

/* 브랜드 워드마크는 공통 Black 굵기를 사용한다. */
.job-footer-brand span {
    color: var(--ref-ink);
    font-size: 20px;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: -0.02em;
}

.job-footer-links a {
    color: var(--ref-gray-700);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: -0.02em;
    text-decoration: none;
    white-space: nowrap;
}

.job-footer-links a:hover,
.job-footer-links a:focus-visible {
    color: var(--ref-ink);
    text-decoration: underline;
}

.job-footer-divider {
    padding: 0 5px;
    color: var(--k-color-gray-e0);
    font-size: 12px;
}

.job-footer-info-group {
    grid-area: info;
    display: grid;
    gap: 8px;
}

.job-footer-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 4px 0;
    color: var(--ref-gray-700);
    font-size: 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.job-footer-copyright {
    grid-area: copyright;
    margin: 18px 0 0;
    color: var(--ref-gray-700);
    font-size: 12px;
    line-height: 1.4;
}

/* 태블릿 이하에서는 로고 아래에 메뉴를 자연스럽게 줄바꿈한다. */
@media (max-width: 1023px) {
    .job-footer-top {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
    }

    .job-footer-links {
        justify-content: flex-start;
        gap: 12px 24px;
    }
}

/* 모바일에서는 공통 푸터의 좌우 여백을 홈페이지와 동일하게 적용한다. */
@media (max-width: 767px) {
    .job-footer-inner,
    .job-site-footer--frit .job-footer-inner {
        width: calc(100% - 32px);
    }
}
