@charset "utf-8";

/* ============================================
   VARIABLES
   ============================================ */
:root {
  /* color */
  --color-primary: #fd7f35;
  --color-point: #ed6c00;
  --color-text: #000;
  --color-text-sub: rgba(0, 0, 0, 0.8);
  --color-text-gray: #555;
  --color-text-light: #999;
  --color-border: #d9d9d9;
  --color-bg: #f2f2f2;
  --color-bg-box: #f5f5f5;
  --color-bg-tab: #e6e6e6;
  --color-dark: #111;

  /* timetable badge */
  --badge-blue-base: #b3dcff;
  --badge-blue-core: #1a8cff;
  --badge-purple-base: #cdc0f7;
  --badge-purple-core: #7a3df0;
  --badge-orange-base: #edd9bb;
  --badge-orange-core: #ff8a00;
  --badge-orange-mid: #f9456b;
  --badge-pink-base: #ffb0ef;
  --badge-pink-core: #ff2ed0;
  --badge-green-base: #b9f08b;
  --badge-green-core: #3cbe00;

  /* font */
  --font-base: 'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Apple SD Gothic Neo', 'Malgun Gothic', sans-serif;
  --font-en: 'Oswald', 'Arial Narrow', sans-serif;

  /* layout */
  --header-h: 74px;
  --container-w: 1280px; /* 좌우 padding 20px 포함 → 실제 콘텐츠 1240px */
  --edge-gap: 100px;
}

/* ============================================
   TYPOGRAPHY
   ============================================ */
body {
  font-family: var(--font-base);
  font-size: 16px;
  font-weight: 500;
  color: var(--color-text);
  letter-spacing: -0.02em;
  background: #fff;
  word-break: keep-all;
}

/* 원페이지 앵커 이동 — 부드럽게 + 고정 헤더 높이만큼 여백 */
html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

[id] {
  scroll-margin-top: var(--header-h);
}

/* ============================================
   UTILITY
   ============================================ */
.inner {
  max-width: var(--container-w);
  margin: 0 auto;
  padding: 0 20px;
}

.blind {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ellipsis-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.tit-en {
  font-family: var(--font-en);
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}
