/**
 * Unified Footer Sections Component — 4page-ui-unification Phase 0
 * 설계 섹션 7-C / 7-D 반영
 * 스코프: .page-prep / .page-tc / .page-bd / .page-hs (페이지별 조건 분기는 PHP에서)
 * 2026-04-16 Phase 4 추가: .uni-cta-band (대학진학 CTA 풀폭 밴드) + .footer-sections h2 공통 위계
 */

/* ==== 2026-04-16 Phase 4: 대학진학 CTA 풀폭 밴드 (4페이지 공용) ==== */
.uni-cta-band {
  padding: var(--space-5) 0;
  background: var(--page-accent-soft, #f1f5f9);
  text-align: center;
  margin-bottom: var(--space-5);
}
.uni-cta-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: var(--white, #ffffff);
  border: 1px solid var(--page-accent, #0d7680);
  border-radius: 999px;
  color: var(--page-accent, #0d7680);
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.15s;
}
.uni-cta-link:hover { transform: translateY(-1px); }
.uni-cta-link .uni-arrow { font-size: 1.1em; }

/* ==== 2026-04-16 Phase 4: footer-sections h2 위계 통일 ==== */
.footer-sections h2 {
  font-family: var(--font-display);
  font-size: clamp(20px, 2.5vw, 26px);
  font-weight: 700;
  color: var(--ink-900);
  margin: 0 0 var(--space-4);
  line-height: 1.2;
}


/* ==== Member-gate (Q5 유지 + 토큰 교체) — bd/hs만 PHP 분기로 출력 ==== */
/* 2026-04-16 Phase 3: flex column + center로 내부 콘텐츠 수직 중앙 정렬 (버튼 쳐짐 해소) */
.page-bd .member-gate,
.page-hs .member-gate {
  background: var(--page-accent-soft);
  border-radius: var(--radius-lg);
  padding: var(--space-6) var(--space-5);
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: var(--space-3);
}

/* 내부 요소 margin 초기화 (gap으로 균등 분배) */
.page-bd .member-gate > *,
.page-hs .member-gate > * {
  margin: 0;
}

.page-bd .member-gate-title,
.page-hs .member-gate-title {
  font-family: var(--font-display);
  font-size: 20px;
  font-weight: 700;
  color: var(--page-accent);
  margin: 0 0 var(--space-3);
}

.page-bd .member-gate-desc,
.page-hs .member-gate-desc {
  font-size: 14px;
  color: var(--ink-600);
  margin: 0 0 var(--space-5);
  line-height: 1.6;
}

/* ==== 참고자료 + FAQ 2열 ==== */
.page-prep .refs-grid,
.page-tc .refs-grid,
.page-bd .refs-grid,
.page-hs .refs-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-7);
}

@media (max-width: 768px) {
  .page-prep .refs-grid,
  .page-tc .refs-grid,
  .page-bd .refs-grid,
  .page-hs .refs-grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }
}

.page-prep .refs-list,
.page-tc .refs-list,
.page-bd .refs-list,
.page-hs .refs-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.page-prep .refs-list li,
.page-tc .refs-list li,
.page-bd .refs-list li,
.page-hs .refs-list li {
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--ink-300);
  font-size: 14px;
}

.page-prep .refs-list li a,
.page-tc .refs-list li a,
.page-bd .refs-list li a,
.page-hs .refs-list li a {
  color: var(--ink-700);
  text-decoration: none;
}

.page-prep .refs-list li a:hover,
.page-tc .refs-list li a:hover,
.page-bd .refs-list li a:hover,
.page-hs .refs-list li a:hover {
  color: var(--page-accent);
}

/* FAQ 아이템 */
.page-prep .faq-item,
.page-tc .faq-item,
.page-bd .faq-item,
.page-hs .faq-item {
  padding: var(--space-4);
  border-bottom: 1px solid var(--ink-300);
}

.page-prep .faq-item summary,
.page-tc .faq-item summary,
.page-bd .faq-item summary,
.page-hs .faq-item summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--ink-700);
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.page-prep .faq-item summary::-webkit-details-marker,
.page-tc .faq-item summary::-webkit-details-marker,
.page-bd .faq-item summary::-webkit-details-marker,
.page-hs .faq-item summary::-webkit-details-marker {
  display: none;
}

.page-prep .faq-item[open] summary,
.page-tc .faq-item[open] summary,
.page-bd .faq-item[open] summary,
.page-hs .faq-item[open] summary {
  color: var(--page-accent);
}

.page-prep .faq-item p,
.page-tc .faq-item p,
.page-bd .faq-item p,
.page-hs .faq-item p {
  margin-top: var(--space-3);
  font-size: 14px;
  color: var(--ink-600);
  line-height: 1.6;
}

/* ==== Cross-recommend (다른 유학 형태) ==== */
.page-tc .cross-grid,
.page-bd .cross-grid,
.page-hs .cross-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}

.page-tc .cross-card,
.page-bd .cross-card,
.page-hs .cross-card {
  display: block;
  padding: var(--space-5);
  background: var(--white);
  border: 1px solid var(--ink-300);
  border-radius: var(--radius-md);
  text-decoration: none;
  color: inherit;
  transition: all 0.15s ease;
}

.page-tc .cross-card:hover,
.page-bd .cross-card:hover,
.page-hs .cross-card:hover {
  border-color: var(--page-accent);
  transform: translateY(-2px);
}

.page-tc .cross-icon,
.page-bd .cross-icon,
.page-hs .cross-icon {
  font-size: 32px;
  margin-bottom: var(--space-2);
}

.page-tc .cross-title,
.page-bd .cross-title,
.page-hs .cross-title {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 700;
  color: var(--ink-700);
  margin: 0 0 var(--space-1);
}

.page-tc .cross-cost,
.page-bd .cross-cost,
.page-hs .cross-cost {
  font-family: var(--font-mono);
  font-size: 14px;
  color: var(--page-accent);
}

.page-tc .ige-trust-line,
.page-bd .ige-trust-line,
.page-hs .ige-trust-line {
  text-align: center;
  font-size: 13px;
  color: var(--ink-500);
  margin: var(--space-4) 0;
}

/* ==== 진학사례 CTA ==== */
.page-prep .case-cta,
.page-tc .case-cta,
.page-bd .case-cta,
.page-hs .case-cta {
  display: block;
  padding: var(--space-4) var(--space-5);
  background: var(--page-accent-soft);
  color: var(--page-accent);
  border-radius: var(--radius-md);
  text-align: center;
  font-family: var(--font-display);
  font-weight: 600;
  text-decoration: none;
  transition: all 0.15s ease;
}

.page-prep .case-cta:hover,
.page-tc .case-cta:hover,
.page-bd .case-cta:hover,
.page-hs .case-cta:hover {
  background: var(--page-accent);
  color: var(--white);
}

/* ==== 범용 버튼 ==== */
/* 2026-04-16 Phase 3: inline-flex + align-items:center (아이콘+텍스트 수직 정렬) */
.page-prep .btn,
.page-tc .btn,
.page-bd .btn,
.page-hs .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: var(--radius-md);
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.15s ease;
  border: 1px solid transparent;
  white-space: nowrap;
}

.page-prep .btn--primary,
.page-tc .btn--primary,
.page-bd .btn--primary,
.page-hs .btn--primary {
  background: var(--page-accent);
  color: var(--white);
}

.page-prep .btn--primary:hover,
.page-tc .btn--primary:hover,
.page-bd .btn--primary:hover,
.page-hs .btn--primary:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.page-prep .btn--outline,
.page-tc .btn--outline,
.page-bd .btn--outline,
.page-hs .btn--outline {
  background: var(--white);
  border-color: var(--page-accent);
  color: var(--page-accent);
}

.page-prep .btn--outline:hover,
.page-tc .btn--outline:hover,
.page-bd .btn--outline:hover,
.page-hs .btn--outline:hover {
  background: var(--page-accent-soft);
}
