@charset "utf-8";
/*
 * common.css — 공통 유틸리티 / 폼 요소 baseline (clean-room rewrite)
 * 실제 마크업에서 사용되는 클래스 위주로 재작성.
 */

/* ---------- 폼 요소 baseline ---------- */
/* NOTE: 전역 box-sizing 변경은 기존 레이아웃(content-box 기준)을 깨뜨리므로
   layout/main CSS를 재작성하는 단계에서 일괄 도입한다. */
input, textarea, select, button {
  font-family: inherit;
  color: inherit;
}

input[type="text"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="email"],
input[type="number"],
textarea,
select {
  border: 1px solid #ccc;
  background: #fff;
  padding: 0 8px;
  height: 32px;
  line-height: 30px;
  vertical-align: middle;
  outline: none;
}

textarea {
  height: auto;
  padding: 6px 8px;
  line-height: 1.5;
  resize: vertical;
}

input::placeholder,
textarea::placeholder {
  color: #999;
}

/* 텍스트 인풋 공통 클래스 */
.text {
  border: 1px solid #ccc;
  background: #fff;
  height: 32px;
  padding: 0 8px;
  line-height: 30px;
}

/* ---------- 유틸리티 ---------- */
.dn { display: none; }
.db { display: block; }
.oh { overflow: hidden; }
.hidden,
.skip {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
  white-space: nowrap;
}

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

.fc_red { color: #e8180c; }

/* 활성 상태 표시용 공통 클래스 (구체 스타일은 각 컴포넌트에서 확장) */
.on { /* placeholder hook for active state */ }

/* ---------- 버튼 정렬 래퍼 ---------- */
.btn_left_box   { text-align: left; }
.btn_center_box { text-align: center; }
.btn_right_box  { text-align: right; }

/* ---------- 페이지네이션 ---------- */
.pagination {
  text-align: center;
  padding: 20px 0;
}
.pagination a,
.pagination strong {
  display: inline-block;
  min-width: 32px;
  height: 32px;
  line-height: 32px;
  margin: 0 2px;
  padding: 0 4px;
  border: 1px solid #ddd;
  color: #555;
  text-align: center;
  vertical-align: middle;
}
.pagination strong,
.pagination a.on {
  background: #1b3a8b;
  border-color: #1b3a8b;
  color: #fff;
}
