/* === 폰트 (이미 서버에 파일 존재 가정) === */
/* Pretendard */
@font-face{font-family:'Pretendard';src:url('./font/Pretendard-ExtraLight.woff2') format('woff2');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:'Pretendard';src:url('./font/Pretendard-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Pretendard';src:url('./font/Pretendard-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Pretendard';src:url('./font/Pretendard-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Pretendard';src:url('./font/Pretendard-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* Paperlogy (제목에만 선택적으로) */
@font-face{font-family:'Paperlogy';src:url('./font/Paperlogy-4Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Paperlogy';src:url('./font/Paperlogy-6SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Paperlogy';src:url('./font/Paperlogy-7Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* =====================================================================
   BERRY – ultra-lean utilities for Elementor/HTML widgets
   ===================================================================== */

/* 0) 토큰(사이트마다 여기만 바꿔 쓰면 끝) */
:root{
  /* 색상 */
  --primary:#2F855A;      /* 사이트별 교체 포인트 */
  --fg:#222;              /* 본문 글자색 */
  --bg:#fff;              /* 배경 */
  --muted:#6B7280;        /* 보조 텍스트 */
  --border:#E5E7EB;       /* 테두리 */

  /* 폰트 */
  --font-sans:'Pretendard', system-ui, -apple-system, 'Noto Sans KR', sans-serif;
  --font-title:'Paperlogy','Pretendard', system-ui, -apple-system, 'Noto Sans KR', sans-serif;

  /* 레이아웃 */
  --container:1200px;
  --gutter:16px;
}

/* 1) 베이스(라인하이트 모바일 1.4) */
html { box-sizing:border-box }
*,*:before,*:after { box-sizing:inherit }
body{
  margin:0;
  color:var(--fg);
  background:var(--bg);
  font-family:var(--font-sans);
  line-height:1.4; /* 모바일 기준 */
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* 2) 컨테이너 & 섹션 패딩 (모바일 상하 50px, 데스크탑 상하 70px) */
.container{ max-width:var(--container); margin:0 auto; padding:0 var(--gutter); }
.section{ padding:50px 0; }
@media (min-width:1025px){
  .section{ padding:70px 0; }
}

/* 3) 타이포 유틸 – clamp 기반 반응형 + 라인하이트 제어 */
.font-sans{ font-family:var(--font-sans) !important; }
.font-title{ font-family:var(--font-title) !important; }

.fw-400{font-weight:400!important} .fw-500{font-weight:500!important}
.fw-600{font-weight:600!important} .fw-700{font-weight:700!important}

/* 라인하이트 유틸(상황별 미세조정) */
.lh-13{ line-height:1.3 !important; }
.lh-14{ line-height:1.4 !important; } /* 모바일 기본값과 동일 */
.lh-16{ line-height:1.6 !important; }
.lh-18{ line-height:1.8 !important; }

/* 반응형 글자 크기 (모바일~데스크탑 자연 스케일) */
.t-xs  { font-size:clamp(12px, .9vw, 13px) !important; }
.t-sm  { font-size:clamp(14px, 1.1vw, 16px) !important; }
.t-md  { font-size:clamp(16px, 1.4vw, 18px) !important; }
.t-lg  { font-size:clamp(20px, 2.0vw, 24px) !important; }
.t-xl  { font-size:clamp(28px, 3.0vw, 36px) !important; }
.t-2xl { font-size:clamp(36px, 3.6vw, 48px) !important; }
.t-3xl { font-size:clamp(44px, 4.2vw, 56px) !important; }

/* 특수 요구(최대 47px 헤드라인) */
.fs-47{ font-size:clamp(28px, 4vw, 47px) !important; }

/* 4) 컬러/테두리/라운드(최소만) */
.text-primary{ color:var(--primary) !important; }
.text-muted{ color:var(--muted) !important; }
.border{ border:1px solid var(--border) !important; }
.round{ border-radius:14px !important; }

/* 5) 표시용 헬퍼(테스트 카드 등) */
.demo-box{ border:1px dashed var(--border); padding:16px; border-radius:12px; }
