@charset "utf-8";

/* ============================================================
   footer.css — 푸터

   대응 마크업 : template-parts/footer/footer-main.php
   골격은 one- 유지, 내부 요소는 ft- 프리픽스. (하이브리드 네이밍)
   ============================================================ */

.one-footer {
  background-color: var(--sub-color02);
}

/* .con-inner 기본 상하 여백(100px)은 푸터에 과하므로 재정의 */
.one-footer .con-inner {
  padding-top: var(--one-space-r);
  padding-bottom: var(--one-space-r);
}

/* common.css 의 `.section img { width:100% }` 상쇄.
   푸터는 .section 안에 있어 로고가 강제로 늘어난다.
   같은 상세도(0,1,1)이고 footer.css 가 뒤에 로드되므로 이 규칙이 이긴다. */
.one-footer img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.one-footer a {
  color: inherit;
}

.one-ft-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--one-gap-xl);
}

.one-ft-lf {
  display: flex;
  flex-direction: column;
  gap: var(--one-gap-r);
  flex: 1 1 auto;
  min-width: 0;
}

.one-ft-rg {
  flex: 0 0 auto;
}


/* ============================
   로고
============================ */

.ft-logo img {
  width: 160px;
}


/* ============================
   정책 링크
============================ */

.ft-nav-list {
  flex-wrap: wrap;
  align-items: center;
  gap: var(--one-gap-r);
}

.ft-nav-link {
  transition: color 0.2s ease;
}

.ft-nav-link:hover {
  color: var(--main-color);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

/* 개인정보처리방침은 강조 */
.ft-nav-item:first-child .ft-nav-link {
  font-weight: 700;
}


/* ============================
   사업자 정보
============================ */

.ft-info {
  display: flex;
  flex-wrap: wrap;
  gap: var(--one-gap-xs) var(--one-gap-r);
  font-style: normal;   /* <address> 기본 italic 해제 */
}

.ft-info-item {
  color: var(--gray-color02);
}

.ft-copy {
  color: var(--gray-color01);
}


/* ============================
   우측 — 연락처 · 진료시간
============================ */

.ft-contact {
  display: flex;
  flex-direction: column;
  gap: var(--one-gap-sm);
  align-items: flex-end;
  text-align: right;
}

.ft-tel span {
  color: var(--main-color);
}

.ft-hours {
  display: flex;
  flex-direction: column;
  gap: var(--one-gap-xs);
  color: var(--gray-color02);
}


/* ============================
   편집 권한자 전용 안내 (inc/helpers.php)
============================ */

.one-builder-empty {
  display: inline-block;
  padding: var(--one-gap-xs) var(--one-gap-sm);
  border: 1px dashed var(--gray-color01);
  border-radius: 4px;
  font-size: var(--one-m-copy);
  color: var(--gray-color01);
}


/* ============================
   반응형 — 태블릿 (max-width: 1024px)
============================ */

@media all and (max-width: 1024px) {

  .one-ft-inner {
    flex-direction: column;
    gap: var(--one-gap-lg);
  }

  .one-ft-rg {
    width: 100%;
  }

  .ft-contact {
    align-items: flex-start;
    text-align: left;
  }

  /* 하단 고정 퀵바에 콘텐츠가 가리지 않도록 여유 확보 */
  .one-footer .con-inner {
    padding-bottom: calc(var(--one-space-r) + 60px);
  }
}


/* ============================
   반응형 — 모바일 (max-width: 639px)
============================ */

@media all and (max-width: 639px) {

  .ft-logo img {
    width: 130px;
  }

  .ft-info {
    flex-direction: column;
    gap: var(--one-gap-xs);
  }
}
