/* ===== 도입 문의 폼 — payhere 상담폼 위계 이식 (Pretendard + 오렌지) =====
   추출 출처: payhere.in/table-order #contact-form computed styles
   - 컬러만 오렌지로 교체, 폰트/크기/굵기/행간/자간/여백/위계는 그대로 */
.ph-consult{
  background:#f5f8fa;
  padding:clamp(56px,9vw,96px) 20px;
  display:flex;
  justify-content:center;
}
.ph-consult *{box-sizing:border-box;}

.ph-card{
  width:100%;
  max-width:600px;
  background:#ffffff;
  border-radius:24px;
  padding:clamp(40px,6vw,72px) clamp(24px,6vw,90px);
  box-shadow:0 10px 40px rgba(17,17,17,.05);
}

.ph-title{
  margin:0;
  font-size:26px;
  font-weight:700;
  line-height:36px;
  letter-spacing:-1px;
  color:#101a2e;
  text-align:center;
}
.ph-subtitle{
  display:block;
  margin-top:12px;
  font-size:16px;
  font-weight:400;
  line-height:24px;
  letter-spacing:-.5px;
  color:#555555;
  text-align:center;
}

.ph-form{
  max-width:420px;
  margin:32px auto 0;
  display:flex;
  flex-direction:column;
  gap:20px;
}

.ph-field{display:flex; flex-direction:column; gap:10px;}
.ph-label{font-size:16px; line-height:24px; letter-spacing:-1px;}
.ph-label b{font-weight:700; color:#1c2638;}
.ph-label i{font-style:normal; font-weight:400; color:var(--orange, #f97316); margin-left:1px;}

.ph-form input,
.ph-form select,
.ph-form textarea{
  width:100%;
  height:48px;
  padding:12px;
  border:1px solid #e2e8ee;
  border-radius:8px;
  background:#ffffff;
  font-family:inherit;
  font-size:16px;
  line-height:24px;
  color:#101a2e;
  transition:border-color .15s, box-shadow .15s;
}
.ph-form textarea{height:96px; resize:vertical; padding:12px;}
.ph-form input::placeholder,
.ph-form textarea::placeholder{color:#919ba5;}
.ph-form input:focus,
.ph-form select:focus,
.ph-form textarea:focus{
  outline:none;
  border-color:var(--orange, #f97316);
  box-shadow:0 0 0 3px rgba(249,115,22,.12);
}
/* select shown as placeholder color until chosen */
.ph-form select{
  color:#101a2e;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none'%3E%3Cpath stroke='%23919ba5' stroke-width='2' d='m15.144 4.663-7.086 6.556L.972 4.663'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:38px;
}
.ph-form select:invalid{color:#919ba5;}

.ph-agree{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:-2px;
  font-size:16px;
  line-height:16px;
  color:#101a2e;
}
.ph-agree input[type=checkbox]{
  width:24px; height:24px; min-width:24px;
  margin:0; padding:0;
  appearance:none;
  border:1px solid #e2e8ee;
  border-radius:4px;
  background:#fff;
  cursor:pointer;
  position:relative;
}
.ph-agree input[type=checkbox]:checked{
  background:var(--orange, #f97316);
  border-color:var(--orange, #f97316);
}
.ph-agree input[type=checkbox]:checked::after{
  content:"";
  position:absolute; left:7px; top:3px;
  width:6px; height:11px;
  border:solid #fff; border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.ph-agree i{font-style:normal; color:var(--orange,#f97316); margin-left:1px;}
.ph-agree a{margin-left:auto; font-size:14px; color:#919ba5; text-decoration:underline; white-space:nowrap;}

.ph-cta{
  margin-top:4px;
  width:100%;
  height:58px;
  border:none;
  border-radius:10px;
  background:var(--orange, #f97316);
  color:#ffffff;
  font-family:inherit;
  font-size:17px;
  font-weight:700;
  cursor:pointer;
  transition:background .16s, transform .16s, box-shadow .16s;
  box-shadow:0 10px 26px rgba(249,115,22,.28);
}
.ph-cta:hover{background:var(--orange-deep,#e8590c); transform:translateY(-1px); box-shadow:0 14px 32px rgba(249,115,22,.36);}

.ph-consult .form-message{
  margin-top:4px;
  font-size:14px;
  color:var(--orange-deep,#e8590c);
  text-align:center;
  display:none;
}
.ph-consult .form-message.is-visible{display:block;}

@media (max-width:560px){
  .ph-title{font-size:22px; line-height:30px;}
  .ph-card{border-radius:20px;}
}
