@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.css');

:root {
  --brand-navy: #12203e;
  --brand-blue: #1d4ed8;
  --brand-sky: #2563eb;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', 'Nanum Square', sans-serif;
  padding-bottom: 72px; /* 모바일 하단 고정 CTA 바 공간 확보 */
  word-break: keep-all;
}

@media (min-width: 768px) {
  body {
    padding-bottom: 0;
  }
}

/* 비용표 */
.cost-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.cost-table th,
.cost-table td {
  border-bottom: 1px solid #eef1f6;
  padding: 16px 20px;
  text-align: left;
  vertical-align: top;
}
.cost-table thead th {
  background-color: #f8fafc;
  color: #12203e;
  font-weight: 700;
  border-bottom: 2px solid #12203e;
}
.cost-table tbody tr:last-child td {
  border-bottom: none;
}
.cost-table tbody tr:hover {
  background-color: #f8fafc;
}

/* 절차 카드형 목록 */
.step-list {
  counter-reset: step;
  list-style: none;
  padding-left: 0;
  margin: 0;
}
.step-list li {
  counter-increment: step;
  position: relative;
  padding: 20px 20px 20px 64px;
  margin-bottom: 0;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
  min-height: 100%;
}
.step-list li::before {
  content: counter(step);
  position: absolute;
  left: 16px;
  top: 18px;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: var(--brand-blue);
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 모바일 하단 고정 CTA 바 */
.mobile-cta-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  display: flex;
  border-top: 1px solid #eef1f6;
  box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.08);
}
@media (min-width: 768px) {
  .mobile-cta-bar {
    display: none;
  }
}
.mobile-cta-bar a {
  flex: 1;
  text-align: center;
  padding: 16px 0;
  font-weight: 700;
  font-size: 0.95rem;
  letter-spacing: -0.01em;
}

/* 메인페이지 이동 플로팅 배너 */
.home-float-banner {
  position: fixed;
  right: 16px;
  bottom: 88px;
  z-index: 49;
}
@media (min-width: 768px) {
  .home-float-banner {
    bottom: 24px;
  }
}

/* FAQ */
.faq-item summary {
  cursor: pointer;
  list-style: none;
}
.faq-item summary::-webkit-details-marker {
  display: none;
}
.faq-item[open] .faq-caret {
  transform: rotate(180deg);
}
