/* ==========================================================================
   Inquiry form (원본 css/03inquiry.css 이식)
   ========================================================================== */
.if-form{ display:block; }

/* ── 메일주소 콤보(아이디 + @ + 도메인 입력/선택) — 원본엔 없던 실제 접수 기능 추가분 ── */
.if-email-combo{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.if-email-combo input[type="text"]{
  flex:1;
  min-width:100px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  font-family:inherit;
  font-size:15px;
  color:var(--ink);
  transition:border-color .2s ease;
}
.if-email-combo input[type="text"]:focus{ outline:none; border-color:var(--blue); }
.if-email-combo input[type="text"][readonly]{ background:var(--paper-soft); color:var(--mist); }
.if-email-at{ font-size:15px; color:var(--mist); flex:none; }
.if-email-domain-select{
  flex:1;
  min-width:130px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  font-family:inherit;
  font-size:15px;
  color:var(--ink);
  cursor:pointer;
}
.if-email-domain-select:focus{ outline:none; border-color:var(--blue); }
@media (max-width: 900px){
  .if-email-combo input[type="text"],
  .if-email-domain-select{ padding:12px 14px; font-size:14.5px; }
}

/* ── 제출 완료 안내 ── */
.if-success{
  text-align:center;
  padding:clamp(40px, 8vh, 90px) 20px;
}
.if-success h3{
  font-size:clamp(22px, 2.4vw, 28px);
  font-weight:800;
  color:var(--ink);
  margin:0 0 12px;
}
.if-success p{
  font-size:15px;
  color:var(--mist);
  margin:0;
}

#applicant-info{ border-top:none; }

#inquiry-fields{ padding:clamp(50px, 8vh, 90px) 0; }

.about-lead-desc{ padding-right:0; max-width:none; }

.if-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:35px;
}
.if-grid-full{ grid-template-columns:1fr; gap:45px; }
.if-field-full{ grid-column:1 / -1; }

.if-field{ display:flex; flex-direction:column; gap:14px; }
.if-field > label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:16px;
  font-weight:700;
  color:var(--blue-deep);
}
.if-req{
  font-size:12px;
  font-weight:700;
  color:var(--ink);
  vertical-align:middle;
}

.if-field input[type="text"],
.if-field input[type="tel"],
.if-field input[type="email"],
.if-field textarea{
  width:100%;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#fff;
  font-family:inherit;
  font-size:15px;
  color:var(--ink);
  transition:border-color .2s ease;
}
.if-field input::placeholder,
.if-field textarea::placeholder{ color:var(--mist); }
.if-field input:focus,
.if-field textarea:focus{
  outline:none;
  border-color:var(--blue);
}
.if-field textarea{ resize:none; height:250px; line-height:1.7; overflow-y:auto; }

.if-checkbox-group{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.if-checkbox{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  cursor:pointer;
  user-select:none;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}
.if-checkbox input{ position:absolute; opacity:0; width:0; height:0; }
.if-checkbox:has(input:checked),
.if-checkbox.is-checked{
  border-color:var(--blue-deep);
  background:var(--blue-deep);
  color:#fff;
  font-weight:700;
  box-shadow:0 6px 16px -6px rgba(18,59,122,.5);
}
.if-checkbox:has(input:checked) em,
.if-checkbox.is-checked em{ color:rgba(255,255,255,.75); }
.if-checkbox::before{
  content:"✓";
  display:inline-flex;
  font-weight:700;
  color:#C4C8D0;
}
.if-checkbox:has(input:checked)::before,
.if-checkbox.is-checked::before{
  color:#fff;
}
.if-checkbox em{ font-style:normal; font-weight:400; color:var(--mist); font-size:12.5px; }

.if-file{
  display:flex;
  align-items:center;
  gap:14px;
}
.if-file input[type="file"]{ position:absolute; opacity:0; width:0; height:0; }
.if-file-btn{
  flex:none;
  padding:8px 22px;
  border:1px solid var(--ink);
  border-radius:999px;
  font-size:14px;
  font-weight:700;
  color:var(--ink);
  cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.if-file-btn:hover{ background:var(--ink); color:#fff; }
.if-file-name{ font-size:14px; color:var(--mist); }

.if-submit-wrap{
  display:flex;
  justify-content:center;
  padding:clamp(40px, 6vh, 64px) 0 clamp(80px, 12vh, 140px);
  background:#F0F7FE;
}
.if-submit{
  position:relative;
  padding:18px 64px;
  border:none;
  border-radius:999px;
  background:var(--blue-deep);
  color:#fff;
  font-family:inherit;
  font-size:16px;
  font-weight:700;
  cursor:pointer;
  transition:background .2s ease, transform .2s ease;
}
.if-submit:hover{ background:var(--ink); }
.if-submit.is-loading{ color:transparent; cursor:default; }
.if-submit.is-loading::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:18px; height:18px;
  margin:-9px 0 0 -9px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;
  border-radius:50%;
  animation:if-submit-spin .7s linear infinite;
}
@keyframes if-submit-spin{ to{ transform:rotate(360deg); } }

@media (max-width: 900px){
  .if-grid{ grid-template-columns:1fr; gap:35px; }
  .if-field label{ font-size:14px; }
  .if-field input[type="text"],
  .if-field input[type="tel"],
  .if-field input[type="email"],
  .if-field textarea{ padding:12px 14px; font-size:14.5px; }
  .if-checkbox{ padding:10px 16px; font-size:13px; }
  .if-file-btn{ padding:10px 18px; font-size:13px; }
  .if-submit{ width:100%; padding:16px 0; }
  .if-submit-wrap{ padding:clamp(28px, 5vh, 48px) 24px clamp(50px, 8vh, 90px); }
}

@media (max-width: 480px){
  .if-checkbox-group .if-checkbox{ width:100%; justify-content:flex-start; text-align:left; }
}
