/* 하단 푸터 — template-parts/footer/footer-absolute.php
 *  - flatsome.css 가 이 파일보다 늦게 실려 .absolute-footer 규칙(글씨색·여백·ul 밑줄·흐림)이 덮어쓴다
 *    → 바깥은 .absolute-footer.hs-footer 로 한 단계 세게 */
.absolute-footer.hs-footer {
  --hs-footer-bg: #1f2530;
  --hs-footer-line: rgba(255, 255, 255, .1);
  --hs-footer-text: rgba(255, 255, 255, .62);
  --hs-footer-strong: #fff;
  background: var(--hs-footer-bg) !important;
  color: var(--hs-footer-text);
  padding: 44px 0 24px;
  text-align: left;
  font-size: 14px;
  line-height: 1.6;
}
.absolute-footer.hs-footer ul { border: 0; opacity: 1; padding: 0; }
.hs-footer a { color: inherit; text-decoration: none; }
.hs-footer a:hover { color: var(--hs-footer-strong); }

/* 위: 대표번호 | 지역별 */
.hs-footer__top {
  display: flex;
  justify-content: space-between;
  gap: 48px;
  padding-bottom: 28px;
  border-bottom: 1px solid var(--hs-footer-line);
}
.hs-footer__name {
  color: var(--hs-footer-strong);
  font-size: 18px;
  font-weight: 700;
}
/* 왼쪽은 세로로 늘려 대표번호를 바닥에 — 오른쪽 번호 목록 마지막 줄과 높이를 맞춘다 */
.hs-footer__brand { display: flex; flex-direction: column; }
.hs-footer__desc { margin-top: 2px; }
.hs-footer__main { margin-top: auto; padding-top: 16px; }
.hs-footer .hs-footer__main-tel {
  display: inline-block;
  color: var(--hs-footer-strong);
  font-size: 34px;
  font-weight: 900;
  letter-spacing: -.01em;
  line-height: 1.1;
}
.hs-footer__main-label { margin-top: 4px; font-size: 13px; }

.hs-footer__regions { min-width: 340px; }
.hs-footer__heading {
  color: var(--hs-footer-strong);
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 4px;
}
.hs-footer__phones { list-style: none; margin: 0; padding: 0; }
.hs-footer__phones li {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin: 0;
  padding: 5px 0;
}
.hs-footer__phones li:last-child { padding-bottom: 0; }
.hs-footer .hs-footer__tel {
  color: var(--hs-footer-strong);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

/* PC: 번호 누르면 복사 — 번호 옆에 '복사했어요' 말풍선 (자리 밀림 없이 띄움, 윗줄을 가리지 않게 옆으로)
 *  - 나타날 땐 살짝 커지며 또렷하게, 1초 뒤 서서히(.35s). 다른 번호를 누르면 앞의 것은 .is-quick 으로 빠르게(.1s) */
.hs-footer a.is-copy { position: relative; cursor: copy; }
.hs-footer a.is-copy::after {
  content: attr(data-copied);
  position: absolute;
  right: calc(100% + 10px);
  top: 50%;
  transform: translateY(-50%) scale(.85);
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease, transform .35s ease;
  padding: 3px 8px;
  border-radius: 6px;
  background: #fff;
  color: #1f2530;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0;
  white-space: nowrap;
}
.hs-footer a.is-copy.is-copied::after {
  opacity: 1;
  transform: translateY(-50%) scale(1);
  transition: opacity .15s ease, transform .2s cubic-bezier(.3, 1.6, .5, 1);
}
.hs-footer a.is-copy.is-quick::after { transition-duration: .1s; }
.hs-footer .hs-footer__main-tel.is-copy::after { left: calc(100% + 12px); right: auto; }

/* 아래: 사업자 정보 · 저작권 */
.hs-footer__bottom { padding-top: 20px; }
/* 사업자 정보 — 작은 글씨, 항목 사이 세로줄 */
.hs-footer__biz {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0 0 8px;
  padding: 0;
  font-size: 12px;
  color: rgba(255, 255, 255, .42);
}
.hs-footer__biz li { margin: 0; }
.hs-footer__biz li + li::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 10px;
  margin: 0 10px;
  background: rgba(255, 255, 255, .18);
  vertical-align: -1px;
}
.hs-footer__biz span { color: rgba(255, 255, 255, .62); }

.hs-footer__copy {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  font-size: 12px;
  color: rgba(255, 255, 255, .42);
}

@media (max-width: 849px) {
  .absolute-footer.hs-footer { padding: 36px 0 24px; }
  .hs-footer__top { flex-direction: column; gap: 28px; padding-bottom: 24px; }
  .hs-footer__regions { min-width: 0; }
  .hs-footer .hs-footer__main-tel { font-size: 30px; }
  /* 줄이 바뀌면 세로줄이 줄 맨 앞에 붙어 보여 → 모바일은 간격으로만 나눈다 */
  .hs-footer__biz { gap: 2px 12px; }
  .hs-footer__biz li + li::before { display: none; }
}

/* 상품 상세 — 화면 아래 고정된 '보고 있는 프로그램 예약하기'(hs-sticky-reserve.php, 높이 약 90px)가
 * 맨 아래 사업자 정보를 가렸다 → 끝까지 내리면 버튼 위로 올라오게 바닥 여백을 늘린다 */
.single-product .absolute-footer.hs-footer { padding-bottom: 104px; }
@media (max-width: 767px) {
  .single-product .absolute-footer.hs-footer { padding-bottom: 84px; }
}

/* 메인 — 화면 아래 기념일 띠(hs-limited strip.js)가 푸터를 가리지 않게 body 아래에 띠 높이만큼 여백을 둔다.
 * 그 여백이 흰 줄로 푸터 밑에 드러나서, 여백을 푸터 안(짙은 배경)으로 옮긴다 */
html.hs-ltd-has-strip:root body { padding-bottom: 0; }
html.hs-ltd-has-strip .absolute-footer.hs-footer { padding-bottom: calc(24px + var(--hs-ltd-strip-base, 0px)); }
