
/* 마진 설정 */
.m-0 { margin: 0; }
.mt-1 { margin-top: 4px; }
.mt-2 { margin-top: 8px; }
.mt-3 { margin-top: 16px; }
.mt-4 { margin-top: 24px; }

/* 패딩 설정 */
.p-0 { padding: 0; }
.p-1 { padding: 4px; }
.p-2 { padding: 8px; }
.p-3 { padding: 16px; }
.p-4 { padding: 24px; }

/* 텍스트 설정 */
.text-center { text-align: center; }
.text-right { text-align: right; }
.text-left { text-align: left; }
.text-bold { font-weight: bold; }

/* 텍스트 굵기설정 */
.font-100 { font-weight: 100; }
.font-200 { font-weight: 200; }
.font-300 { font-weight: 300; }
.font-400 { font-weight: 400; }
.font-500 { font-weight: 500; }
.font-600 { font-weight: 600; }
.font-700 { font-weight: 700; }
.font-800 { font-weight: 800; }
.font-900 { font-weight: 900; }
.font-bold { font-weight: bold; }

.text-red {color: #710000;}
.text-green {color: #51BC2D;}
.text-yellow {color: #FFDF42;}

.input-0 { width: 50% !important; }
.input-1 { width: 30% !important; }
.input-2 { width: 40% !important; }

/* ---------- 입력 컨트롤 ---------- */
input[type="text"],
input[type="tel"],
input[type="email"],
select {
    width: 100%;
    height: 46px;
    padding: 10px 14px;
    margin-bottom: 0;
    border: 1px solid #d6dcea;
    border-radius: 9px;
    background-color: #fff;
    font-size: 15px;
    color: #20263a;
    transition: border-color .15s, box-shadow .15s;
    -webkit-appearance: none;
    appearance: none;
}

select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%231e3a8a' d='M6 8 0 0h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    padding-right: 34px;
    cursor: pointer;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
select:focus {
    border-color: #2f5bea;
    box-shadow: 0 0 0 3px rgba(47, 91, 234, 0.15);
}

input::placeholder { color: #aab1c4; }

/* ---------- 체크박스 / 라디오 ---------- */
input[type="checkbox"],
input[type="radio"] {
    width: 18px;
    height: 18px;
    margin-right: 7px;
    accent-color: #1e3a8a;
    vertical-align: middle;
    cursor: pointer;
}

label {
    line-height: normal;
    vertical-align: middle;
    cursor: pointer;
    font-size: 14px;
}

option { height: 30px; }

.phone-div { display: flex; }
