/* 게시판 전용 푸터 — dexteditor.com/TotalDemo 의 footer.js 가 주입하는 CSS 에서 출발했다.
 * 값은 라이브와 같고, 게시판에 두지 않는 사업자 정보 행만 뺐다.
 * 푸터를 다른 화면에 옮겨 붙일 때 이 파일만 같이 가면 된다. */

.site-footer {
  background: #0b1120; color: #94a3b8;
  padding: 28px 0 24px; margin-top: 48px; width: 100%;
  font-family: 'Malgun Gothic', 'Apple SD Gothic Neo', sans-serif;
  box-sizing: border-box; overflow-x: hidden;
}
.site-footer * { box-sizing: border-box; }
.site-footer .container { max-width: 1200px; margin: 0 auto; padding: 0 40px; }

/* 두 줄 그리드 — 위: 로고 · 소개 · 곁칸(DEXTSOLUTION 로고+패밀리 사이트) / 아래: 저작권 */
.site-footer .footer-layout {
  display: grid; grid-template-columns: auto 1fr auto;
  grid-template-areas: 'brand tagline aside' 'copy copy copy';
  gap: 16px 20px; align-items: center;
}
.site-footer .footer-brand { grid-area: brand; display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.site-footer .footer-brand-name { display: none; color: #fff; font-size: 17px; font-weight: 700; line-height: 1.2; }
.site-footer .footer-logo { line-height: 0; flex-shrink: 0; }
.site-footer .footer-logo img { height: 28px; width: auto; display: block; filter: brightness(0) invert(1); }
.site-footer .footer-tagline { grid-area: tagline; font-size: 13px; line-height: 1.65; color: #94a3b8; margin: 0; min-width: 0; }

.site-footer .footer-aside {
  grid-area: aside; justify-self: end;
  display: flex; flex-direction: column; align-items: flex-end; gap: 10px; flex-shrink: 0;
}
.site-footer .footer-partner-link { line-height: 0; flex-shrink: 0; }
.site-footer .footer-partner-link img { height: 28px; width: auto; display: block; max-width: 100%; }

.site-footer .footer-site-selects { display: flex; flex-direction: column; gap: 6px; width: 148px; max-width: 100%; }
.site-footer .footer-site-select {
  width: 100%; height: 32px; padding: 0 28px 0 10px;
  border: 1px solid rgba(148,163,184,.45); border-radius: 4px;
  background: #0b1120; color: #e2e8f0; font-size: 12px; font-family: inherit; cursor: pointer;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%2394a3b8' stroke-width='1.5'/></svg>");
  background-repeat: no-repeat; background-position: right 10px center;
}
.site-footer .footer-site-select:focus { outline: 2px solid #3b82f6; outline-offset: 1px; }
.site-footer .footer-site-select option { background: #0b1120; color: #e2e8f0; }

.site-footer .footer-copy {
  grid-area: copy; font-size: 11px; line-height: 1.7; color: #64748b; margin: 0;
  padding-top: 12px; border-top: 1px solid rgba(148,163,184,.15);
}

/* 태블릿·모바일(≤1024px) — 세로로 쌓인다 */
@media (max-width: 1024px) {
  .site-footer { padding: 28px 0 24px; margin-top: 32px; }
  .site-footer .container { padding: 0 20px; }
  .site-footer .footer-layout {
    grid-template-columns: 1fr;
    grid-template-areas: 'brand' 'tagline' 'copy' 'aside';
    gap: 12px; align-items: start;
  }
  .site-footer .footer-brand-name { display: block; }
  .site-footer .footer-logo img { height: 32px; }
  .site-footer .footer-tagline { font-size: 13px; line-height: 1.65; }
  .site-footer .footer-copy { padding-top: 0; border-top: none; margin-top: 4px; }
  .site-footer .footer-aside {
    justify-self: start; width: 100%; align-items: flex-start;
    margin-top: 8px; padding-top: 16px; border-top: 1px solid rgba(148,163,184,.2);
  }
  .site-footer .footer-partner-link img { height: 26px; }
  .site-footer .footer-site-selects { width: 100%; max-width: 220px; }
}

/* 초소형(≤480px) */
@media (max-width: 480px) {
  .site-footer { padding: 24px 0 20px; }
  .site-footer .container { padding: 0 16px; }
  .site-footer .footer-brand-name { font-size: 16px; }
  .site-footer .footer-logo img { height: 28px; }
  .site-footer .footer-tagline { font-size: 12.5px; }
  .site-footer .footer-copy { font-size: 10.5px; }
}
