/*-----------------------------------------
# 상담신청
-------------------------------------------*/
/* ===== 상담신청 폼 (cons) ===== */
.cons, .cons * { box-sizing: border-box; }

.cons-card{
  display:flex; flex-direction:column; gap:3rem;
  width:100%; padding:4rem; background:#fff; border-radius:1.2rem; overflow:hidden;
}

/* 필드/라벨 */
.cons-field{ display:flex; flex-direction:column; gap:1rem; width:100%; }
.cons-subfield{ display:flex; flex-direction:column; gap:.8rem; width:100%; }
.cons-label{ display:flex; gap:.6rem; align-items:flex-start; width:100%; }
.cons-label-tit{ font-family:pretendard-600; font-size:1.6rem; line-height:2.2rem; color:#111; }
.cons-label-sm{ font-family:pretendard-600; font-size:1.3rem; line-height:1.6rem; color:#111; }
.cons-req{ font-family:pretendard-700; font-size:1.4rem; line-height:2.2rem; color:#d97757; }

/* pill (radio / checkbox 공통) */
.cons-pills{ display:flex; flex-wrap:wrap; gap:.8rem; align-items:flex-start; width:100%; }
.cons-pill{ display:inline-flex; cursor:pointer; }
.cons-pill input{ position:absolute; opacity:0; width:0; height:0; }
.cons-pill span{
  display:inline-flex; align-items:center;
  padding:.9rem 1.8rem; border-radius:9.9rem;
  background:#f6f6f6; color:#666;
  font-family:pretendard-400; font-size:1.5rem; line-height:2.2rem;
  transition:.2s; word-break:break-word;
}
.cons-pill input:checked + span{ background:#d97757; color:#fff; font-family:pretendard-700; }
.cons-pill input:focus-visible + span{ outline:2px solid #d97757; outline-offset:2px; }

/* text input */
.cons-input{
  width:100%; padding:1.5rem 1.8rem; border-radius:.8rem;
  background:#f6f6f6; border:1px solid transparent;
  font-family:pretendard-400; font-size:1.5rem; line-height:2.2rem; color:#111;
}
.cons-input::placeholder{ font-family:pretendard-400;color:#9a9a95; }
.cons-input:focus{ background:#fff; border-color:#d97757; outline:none; }

/* textarea */
.cons-textarea{
resize: none;
  width:100%; padding:2rem; border-radius:.8rem;
  background:#f6f6f6; border:1px solid transparent;
  font-family:pretendard-400; font-size:1.5rem; line-height:2.4rem; color:#111;
}
.cons-textarea::placeholder{ font-family:pretendard-400;color:#9a9a95; }
.cons-textarea:focus{ background:#fff; border-color:#d97757; outline:none; }
.cons-textarea--lg{ height:16rem; }   /* 160px */
.cons-textarea--md{ height:10rem; }   /* 100px */

/* 동의 */
.inq_priCheckArea{
	position:Relative;
}
.inq_priCheckArea input[type="checkbox"]{ 
	position:absolute; 
    width:1px; 
    height:1px; 
    padding:0; 
    margin:-1px; 
    overflow:hidden; 
    clip:rect(0,0,0,0); 
    border:0; 
}
.inq_priCheckArea input[type="checkbox"] + label {
    display: flex;
    position: relative;
    padding-left: 2.8rem;
    cursor: pointer;
    text-align: left;
    color: #666;
    font-family: pretendard-400;
    font-size: 1.3rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.2rem;
    justify-content: space-between;
    align-items: center;
}
.inq_priCheckArea input[type="checkbox"] + label:before{ 
	content:''; 
    position:absolute; 
    left:0; 
    top:0rem;
    width:2.2rem;
    height:2.2rem;
    text-align:center; 
    background:#fff; 
    border:none; 
    box-sizing:border-box; 
	background:url(../img/common/check_before.png) no-repeat center/cover;
}
.inq_priCheckArea input[type="checkbox"]:checked + label:after{ 
	content: ''; 
	position:absolute; 
	top:0rem;
	left:0; 
	width:2.2rem;
	height:2.2rem;
	background:url(../img/common/check_after.png) no-repeat center/cover;
}

/* 개인정보 안내 박스 */
.cons-privacy{
  width:100%; padding:2rem; border-radius:.8rem;
  background:#fff; border:1px solid #f2f0eb;
}
.cons-privacy p{ margin:0; font-family:pretendard-400; font-size:1.5rem; line-height:2.4rem; color:#9a9a95; }

/* 제출 버튼 */
.cons-submit{
  display:flex; align-items:center; justify-content:center; gap:.6rem;
  width:100%; padding:2rem 1.6rem; border:none; border-radius:.8rem; cursor:pointer;
  background:#d97757; color:#fff;
  font-family:pretendard-600; font-size:1.5rem; line-height:1.9rem;
  box-shadow:0 .8rem 1rem rgba(255,80,0,.28);
}

/* 하단 안내 */
.cons-foot{ width:100%; margin:0; text-align:center; font-family:pretendard-400; font-size:1.4rem; line-height:2.4rem; color:#9a9a95; }

/* 완료 박스 */
.cons-complete{ padding:6rem 4rem; text-align:center; background:#fff; border-radius:1.2rem; }
.cons-complete-tit{ font-family:pretendard-600; font-size:2rem; color:#111; margin:0 0 1rem; }
.cons-complete-txt{ font-family:pretendard-400; font-size:1.5rem; line-height:2.4rem; color:#9a9a95; margin:0; }

@media (max-width:768px){
	.cons-card {
		gap: 2.6rem;
		padding: 2rem 1.6rem;
		border-radius: 1.2rem;
	}
	.cons-label {
		gap: .4rem;
	}
	.cons-label-tit {
		font-size: 1.4rem;
		line-height: 1.8rem;
	}
	.cons-req {
		font-size: 1.2rem;
		line-height: 1.8rem;
	}
	.cons-pills {
		gap: .4rem;
	}
	.cons-pill span {
		padding: .8rem 1.2rem;
		border-radius: 9.9rem;
		font-size: 1.3rem;
		line-height: 1.6rem;
	}
	.cons-label-sm {
		font-size: 1.1rem;
		line-height: 1.4rem;
	}
	.cons-input {
		padding: 1.3rem 1.6rem;
		border-radius: .6rem;
		font-size: 1.3rem;
		line-height: 1.8rem;
	}
	.cons-subfield {
		gap: .6rem;
	}
	.cons-textarea {
		padding: 1.3rem 1.6rem;
		border-radius: .6rem;
		font-size: 1.3rem;
		line-height: 1.8rem;
	}
	.cons-privacy {
		padding: 1.3rem;
		border-radius: .6rem;
	}
	.cons-privacy p {
		font-size: 1.2rem;
		line-height: 1.8rem;
	}
	.cons-submit {
		gap: .6rem;
		padding: 1.5rem 1.6rem;
		border-radius: .6rem;
		font-size: 1.5rem;
		line-height: 2rem;
		box-shadow: 0 .8rem 2rem rgba(255,80,0,.28);
	}
	.cons-foot {
		font-size: 1.2rem;
		line-height: 1.8rem;
	}
}