/* === common.css: Reset, Variables, Base === */

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&family=Raleway:ital,wght@0,100..900;1,100..900&display=swap");

/* ===== DESIGN TOKENS ===== */
:root {
  /* 주색 */
  --blue:      #0052CC;
  --blue2:     #2684FF;
  --blue-dark: #003D99;

  /* 배경 */
  --bg-subtle: #ffffff;   /* 섹션·카드 배경 흰색 통일 */
  --bg-white:  #ffffff;

  /* 테두리 */
  --border:    #E5E7EB;

  /* 텍스트 */
  --text:      #1a1a2e;
  --text-sub:  #6B7280;

  /* 그림자 */
  --sh:        0 2px 12px rgba(0, 82, 204, 0.08);
  --sh-hover:  0 6px 24px rgba(0, 82, 204, 0.16);

  /* 공통 radius */
  --r-sm:  6px;
  --r:     10px;
  --r-lg:  14px;

  /* 버튼 */
  --btn-padding:  0.6rem 1.4rem;
  --btn-radius:   8px;
  --btn-font:     0.88rem;

  /* 폰트 크기 */
  --fs-section-title: 1.4rem;
  --fs-card-title:    1.05rem;
  --fs-body:          0.9rem;
  --fs-small:         0.8rem;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Noto Sans KR", sans-serif;
  list-style: none;
  text-decoration: none;
  letter-spacing: -0.3px;
}

body {
  color: #333;
  line-height: 1.6;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  /* 모든 페이지 푸터 하단 고정 (공통 적용) */
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 모든 페이지 푸터 하단 고정 (공통 적용) */
body {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 바디 스크롤 잠금 (모달용) */
body.btvpop-modal-open {
  overflow: hidden;
}

/* 320px 이하 전역 최적화 */
@media (max-width: 320px) {
  body {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  /* 절대 넘치지 않게 */
  * {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

/* 280px 이하 (Galaxy Fold 등 극소형 기기) */
@media (max-width: 280px) {
  .container {
    min-width: 280px !important;
    padding: 0 4px !important;
  }
}
