/* ============== Inter (셀프 호스팅) ============== */
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  src: local('Inter'), url('./fonts/inter-v20-latin-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  src: local('Inter'), url('./fonts/inter-v20-latin-500.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  src: local('Inter'), url('./fonts/inter-v20-latin-600.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  src: local('Inter'), url('./fonts/inter-v20-latin-700.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  src: local('Inter'), url('./fonts/inter-v20-latin-800.woff2') format('woff2');
}

/* ============== Noto Sans KR (셀프 호스팅) ============== */
@font-face {
  font-display: swap;
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 400;
  src: local('Noto Sans KR'), url('./fonts/noto-sans-kr-v39-korean-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 500;
  src: local('Noto Sans KR'), url('./fonts/noto-sans-kr-v39-korean-500.woff2') format('woff2');
}
@font-face {
  font-display: swap;
  font-family: 'Noto Sans KR';
  font-style: normal;
  font-weight: 700;
  src: local('Noto Sans KR'), url('./fonts/noto-sans-kr-v39-korean-700.woff2') format('woff2');
}

/* reset.css */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  height: 100%;
  font-family: 'Inter', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.5;
  background-color: #fff;
  color: #000;
  position: relative;
  scrollbar-gutter: stable;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
  border: none;
  background: none;
  outline: none;
}

a {
  color: inherit;
  text-decoration: none;
}

ul, ol {
  list-style: none;
}

button {
  cursor: pointer;
  background-color: transparent;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}


.noto-sans-kr-regular {
  font-family: 'Noto Sans KR', sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.noto-sans-kr-bold {
  font-family: 'Noto Sans KR', sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}



/* section {
    margin: 20px auto;
} */



/* ============================================
   Custom Scrollbar (Global)
   - PC: 너비 10px, 다크 트랙 + 오렌지 thumb
   - Mobile: 너비 4px, 자동 노출
   - Firefox: scrollbar-color 사용
   ============================================ */

/* Firefox */
html {
  scrollbar-width: thin;
  scrollbar-color: #FF4D00 #1a1a1a;
}

/* WebKit (Chrome, Safari, Edge) */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: #1a1a1a;
}
::-webkit-scrollbar-thumb {
  background: #FF4D00;
  border-radius: 8px;
  border: 2px solid #1a1a1a; /* thumb 안쪽 여백 효과 */
  background-clip: padding-box;
}
::-webkit-scrollbar-thumb:hover {
  background: #ff6622;
  border: 2px solid #1a1a1a;
  background-clip: padding-box;
}
::-webkit-scrollbar-corner {
  background: #1a1a1a;
}

/* 모바일: 더 얇게 */
@media (max-width: 768px) {
  ::-webkit-scrollbar {
    width: 4px;
    height: 4px;
  }
  ::-webkit-scrollbar-thumb {
    border: none;
    background-clip: border-box;
  }
}

/* 옛 .scrollbar 클래스 호환성 (body에 사용 중) */
.scrollbar {
  overflow-y: auto;
}