@charset "utf-8";
/* 프레쉬랩 공통 푸터(#ft.fl-ft) — head.php 에서 모든 페이지에 불러온다. 색·폰트는 freshlab-brand.css 토큰만 사용.
   딥그린 면 위쪽 모서리를 크게 둥글게, 위에 링크 줄 → 얇은 구분선 → '항목명 값' 회사정보 → 저작권 */
.gw-footer-container #ft.fl-ft, #ft.fl-ft { width: 100%; background: transparent; }
/* 위 모서리 둥글기 = 최대값 × 진행도(--fl-ft-p, 0~1). tail.php 스크립트가 스크롤에 맞춰 0(네모)→1(라운드)로 올린다. 스크립트가 없으면 1 */
#ft.fl-ft { --fl-ft-rmax: 96px; }
.fl-ft-inner { padding: 72px 0 64px; background: var(--fl-dark); border-radius: calc(var(--fl-ft-rmax) * var(--fl-ft-p, 1)) calc(var(--fl-ft-rmax) * var(--fl-ft-p, 1)) 0 0; color: var(--fl-cream); font-family: var(--fl-font); text-align: left; }
.fl-ft-top, .fl-ft-info, .fl-ft-copy { max-width: calc(var(--fl-container) + 2 * var(--fl-gutter)); margin: 0 auto; padding: 0 var(--fl-gutter); box-sizing: border-box; }

.fl-ft-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-bottom: 32px; }
.fl-ft-links { display: flex; flex-wrap: wrap; gap: 8px 44px; }
.fl-ft-links a { display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; font-weight: 700; text-decoration: none; }
.fl-ft-links a:link, .fl-ft-links a:visited { color: var(--fl-white); }
.fl-ft-links a.is-strong, .fl-ft-links a.is-strong:link, .fl-ft-links a.is-strong:visited { color: var(--fl-mango-on-dark); }
.fl-ft-links a:hover { text-decoration: underline; text-underline-offset: 4px; }
.fl-ft-sns { display: flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: color-mix(in srgb, var(--fl-cream) 10%, transparent); text-decoration: none; transition: background .2s ease; }
.fl-ft-sns:link, .fl-ft-sns:visited { color: var(--fl-cream); }
.fl-ft-sns:hover { background: var(--fl-primary); color: var(--fl-white); }
.fl-ft-sns .fl-ico { width: 22px; height: 22px; }
.fl-ft-sns.is-disabled { color: var(--fl-cream); cursor: default; }

/* 얇은 구분선 */
.fl-ft-info { display: flex; flex-direction: column; gap: 10px; padding-top: 32px; position: relative; font-size: 15px; line-height: 1.6; }
.fl-ft-row { display: flex; flex-wrap: wrap; gap: 6px 28px; margin: 0; }
.fl-ft-info::before { content: ""; position: absolute; top: 0; left: var(--fl-gutter); right: var(--fl-gutter); border-top: 1px solid color-mix(in srgb, var(--fl-cream) 14%, transparent); }
.fl-ft-row > div { display: flex; gap: 10px; }
.fl-ft-info dt { font-weight: 700; color: var(--fl-white); }
.fl-ft-info dd { margin: 0; color: color-mix(in srgb, var(--fl-cream) 78%, transparent); }
.fl-ft-info dd a { text-decoration: none; }
.fl-ft-info dd a:link, .fl-ft-info dd a:visited { color: color-mix(in srgb, var(--fl-cream) 78%, transparent); }
.fl-ft-info dd a:hover { color: var(--fl-white); text-decoration: underline; }
.fl-ft-copy { margin-top: 40px; font-size: 14px; color: color-mix(in srgb, var(--fl-cream) 60%, transparent); }

@media (max-width: 1024px) {
    /* 모바일 하단 고정 CTA 바(64px) 자리는 cta.css 가 #ft 아래 여백으로 두므로, 그 여백을 딥그린 면 안으로 옮긴다 */
    #ft.fl-ft { padding-bottom: 0; --fl-ft-rmax: 56px; }
    .fl-ft-inner { padding: 56px 0 calc(48px + 64px); }
    .fl-ft-links { gap: 4px 28px; }
}
@media (max-width: 576px) {
    .fl-ft-top { flex-direction: column; align-items: flex-start; }
    .fl-ft-links { gap: 0 20px; }
    .fl-ft-links a { font-size: 15px; }
    .fl-ft-info { gap: 6px; font-size: 14px; }
    .fl-ft-row { flex-direction: column; gap: 6px; }
}
