/* 기본 요소와 유틸리티 스타일. tokens.css 다음에 로드한다. */

/* 폰트는 head의 font-loader.js가 실행 환경에 맞춰 로드한다. */

/* 2. Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scrollbar-gutter: stable; } /* 팝업 열림 시 body overflow:hidden 으로 스크롤바가 사라져도 폭이 유지되도록 거터 고정 → 닫을 때 콘텐츠 좌우 흔들림 방지 */
input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; appearance: none; display: none; } /* 브라우저 기본 검색 X 숨김 → 모든 검색창은 디자인 X(.c-form-search__clear, btn_delete 790:16635) 사용 */
body {
    font-family: var(--font-family);
    font-size: var(--text-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--lh-relaxed);
    letter-spacing: var(--letter-spacing);
    color: var(--color-text);
    background: var(--color-bg);
    word-break: keep-all;
    overflow-wrap: break-word;
    -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; }
ul, ol { list-style: none; }
a { color: inherit; text-decoration: none; }
img, svg, video { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; letter-spacing: inherit; color: inherit; background: none; border: 0; }
button { cursor: pointer; }
input::placeholder { color: var(--color-text-alt); }
table { border-collapse: collapse; border-spacing: 0; }
address, em, i { font-style: normal; }
:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }

/* 3. Utilities (u-) */
.u-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.u-hidden { display: none !important; }
.u-ellipsis { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.u-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.u-text-white { color: var(--color-white); }
.u-text-sub { color: var(--color-text-sub); }
.u-text-primary { color: var(--color-primary); }
.u-fw-medium { font-weight: var(--font-weight-medium); }
.u-fw-semibold { font-weight: var(--font-weight-semibold); }
.u-fw-bold { font-weight: var(--font-weight-bold); }
.u-bg-soft { background: var(--color-primary-bg); }
.u-bg-blue { background: var(--color-bg-blue); }

/* 이미지 대체 자리(placeholder). 실제 이미지 삽입 후 클래스 제거 */
.u-img-ph { background: var(--color-line); }

/* Figma 모바일 본문은 한글 음절 단위 줄바꿈을 허용한다. */
@media (max-width: 767px) {
    body { word-break: normal; }
}
