/* ===================================================
   CHOILABEDU - PHP 전용 오버라이드
   Next.js next/font 대체 + PHP 필요 보정만 포함
   =================================================== */

/* Google Fonts CDN (Next.js는 next/font로 처리하므로 PHP에서 직접 로드) */
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Libre+Franklin:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

/* 폰트 변수 (Next.js next/font가 <html> 클래스로 주입하는 부분을 대체) */
:root {
  --tj-ff-body: 'Lato', sans-serif;
  --tj-ff-heading: 'Libre Franklin', sans-serif;
}

body {
  font-family: var(--tj-ff-body);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--tj-ff-heading);
}

/* 헤더 로고 흰색 */
.header-logo .logo-text,
.header-duplicate .logo-text,
.hamburger_logo .logo-text {
  color: #ffffff;
}

/* tj-btn-primary: globals.css에 없는 클래스 — 심플 버튼 스타일 정의 */
.tj-btn-primary {
  font-size: 15px;
  font-weight: var(--tj-fw-bold);
  line-height: 1;
  color: var(--tj-color-common-white);
  background-color: var(--tj-color-theme-dark);
  border-radius: 50px;
  padding: 16px 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: background-color 0.3s ease;
  border: none;
  cursor: pointer;
  text-decoration: none;
}
.tj-btn-primary:hover {
  background-color: var(--tj-color-theme-primary);
  color: var(--tj-color-common-white);
}
.tj-btn-primary.white-btn {
  background-color: var(--tj-color-common-white);
  color: var(--tj-color-heading-primary);
}
.tj-btn-primary.white-btn:hover {
  background-color: var(--tj-color-theme-primary);
  color: var(--tj-color-common-white);
}

/* globals.css의 .text-anim { opacity:0 } 을 무력화 — 자식 .word가 개별 제어 */
.text-anim,
.hero-text-anim {
  opacity: 1 !important;
}

/* text-anim: 단어별 슬라이드업 (SplitType 대체) */
.sec-title.text-anim .word,
.title.text-anim .word {
  color: #051229;
}
.text-anim .word-wrap {
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
  line-height: inherit;
}
.text-anim .word {
  display: inline-block;
  transform: translateY(110%);
  opacity: 0;
  transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
              opacity 0.5s ease;
}
.text-anim.is-visible .word {
  transform: translateY(0);
  opacity: 1;
}

/* 커스텀 오도미터 (자리별 릴 롤링) */
.odo-counter {
  display: inline-flex !important;
  align-items: flex-start;
  line-height: 1;
}
.odo-digit {
  display: inline-block !important;
  overflow: hidden !important;
  vertical-align: top !important;
}
.odo-reel {
  display: block !important;
  transition: transform 0.15s ease-in-out;
  will-change: transform;
}
.odo-reel > span {
  display: block !important;
  line-height: 1;
}

/* funfact-item-two: mask 경로를 PHP assets 상대경로로 오버라이드 */
.funfact-item-two {
  -webkit-mask-image: url('../images/shapes/h2-counter-shapes.svg') !important;
  mask-image: url('../images/shapes/h2-counter-shapes.svg') !important;
}
