/* ============================================================================
   fundable TEAM — 자체 상담신청 폼 스타일
   ----------------------------------------------------------------------------
   [교체 방법]
   team/index.html 의 <iframe src="https://tally.so/embed/VLakV6..."> 2곳을
   <div data-apply-form></div> 로 바꾸고 이 두 파일(apply.css / apply.js)을 링크한다.

   기존 /team 톤 계승: --point(#2E7BFF) 블루 포인트, 직각 버튼, 흰 카드,
   Pretendard, letter-spacing -.022em, word-break keep-all.
   .contact__frame 안쪽에 들어가므로 카드 배경·테두리는 프레임이 담당한다.
   ========================================================================== */

.fdb-apply{
  --fa-text:#0E1626;
  --fa-soft:#5B6572;
  --fa-muted:#8A93A0;
  --fa-line:#D9E0E6;
  --fa-line-2:#C2CCD4;
  --fa-point:#2E7BFF;
  --fa-point-deep:#1F63D6;
  --fa-err:#D0342C;
  --fa-bg:#ffffff;
  --fa-field:#F7F9FB;
  display:block;
  font-family:'Pretendard Variable','Pretendard',-apple-system,system-ui,sans-serif;
  color:var(--fa-text);
  letter-spacing:-.022em;
  word-break:keep-all;
  text-align:left;
}
.fdb-apply *{box-sizing:border-box;}

/* ---------------------------------------------------------------- 진행률 */
.fa-top{margin:0 0 22px;}
.fa-prog{height:2px;background:var(--fa-line);overflow:hidden;}
.fa-prog__bar{display:block;height:100%;background:var(--fa-point);
  transition:width .45s cubic-bezier(.16,1,.3,1);}
.fa-progtxt{margin:9px 0 0;font-size:11.5px;font-weight:600;letter-spacing:.01em;color:var(--fa-muted);}

/* ------------------------------------------------------------------ 필드 */
.fa-form{margin:0;}
.fdba-fld{margin:0 0 20px;}
.fdba-fld:last-of-type{margin-bottom:0;}

.fa-label{display:block;margin:0 0 8px;font-size:13.5px;font-weight:700;line-height:1.45;color:var(--fa-text);}
.fa-req{margin-left:3px;color:var(--fa-point);font-weight:700;}

.fa-input{
  width:100%;padding:13px 14px;border:1px solid var(--fa-line);border-radius:4px;
  background:var(--fa-field);color:var(--fa-text);
  font-family:inherit;font-size:16px;font-weight:500;line-height:1.4;letter-spacing:-.015em;
  -webkit-appearance:none;appearance:none;
  transition:border-color .2s ease,background .2s ease,box-shadow .2s ease;
}
.fa-input::placeholder{color:#AFB8C2;font-weight:400;}
.fa-input:hover{border-color:var(--fa-line-2);}
.fa-input:focus{outline:0;background:var(--fa-bg);border-color:var(--fa-point);
  box-shadow:0 0 0 3px rgba(46,123,255,.12);}

/* 셀렉트 — 네이티브 화살표 제거 후 직접 그린다 */
.fa-selwrap{position:relative;}
.fa-selwrap::after{
  content:"";position:absolute;right:15px;top:50%;width:7px;height:7px;
  border-right:1.5px solid var(--fa-soft);border-bottom:1.5px solid var(--fa-soft);
  transform:translateY(-70%) rotate(45deg);pointer-events:none;
}
.fa-select{padding-right:38px;cursor:pointer;}
.fa-select:invalid,.fa-select option[value=""]{color:#AFB8C2;}

/* --------------------------------------------------- 라디오 / 체크박스 */
.fa-opts{display:flex;flex-direction:column;gap:8px;}
.fa-opt{
  position:relative;display:flex;align-items:flex-start;gap:10px;
  padding:12px 14px;border:1px solid var(--fa-line);border-radius:4px;background:var(--fa-field);
  cursor:pointer;transition:border-color .18s ease,background .18s ease;
}
.fa-opt:hover{border-color:var(--fa-line-2);background:#F2F5F8;}
.fa-opt input{position:absolute;opacity:0;width:0;height:0;margin:0;}
.fa-opt__mark{
  position:relative;flex:0 0 auto;width:17px;height:17px;margin-top:1px;
  border:1.5px solid var(--fa-line-2);border-radius:3px;background:#fff;
  transition:border-color .18s ease,background .18s ease;
}
.fa-opt__mark--r{border-radius:50%;}
.fa-opt__t{font-size:14px;font-weight:500;line-height:1.45;color:var(--fa-text);}

/* 체크 표시는 마크 내부 좌표계로만 그린다(부모 패딩 변화에 영향받지 않도록) */
.fa-opt input:checked + .fa-opt__mark{background:var(--fa-point);border-color:var(--fa-point);}
.fa-opt input:checked + .fa-opt__mark::after{
  content:"";position:absolute;left:4.5px;top:1px;width:4px;height:8px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);
}
.fa-opt input[type="radio"]:checked + .fa-opt__mark::after{
  left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;
  border:0;border-radius:50%;background:#fff;transform:none;
}
.fa-opt:has(input:checked){border-color:var(--fa-point);background:rgba(46,123,255,.06);}
.fa-opt input:focus-visible + .fa-opt__mark{box-shadow:0 0 0 3px rgba(46,123,255,.22);}

/* ------------------------------------------------------------ 개인정보 */
.fa-privacy{
  margin:0 0 12px;padding:12px 14px;border:1px solid var(--fa-line);border-radius:4px;
  background:#F4F6F8;font-size:11.5px;line-height:1.6;color:var(--fa-soft);font-weight:400;
}
.fdba-chk{display:flex;align-items:flex-start;gap:10px;cursor:pointer;}
.fdba-chk input{position:absolute;opacity:0;width:0;height:0;}
.fdba-chk__box{
  position:relative;flex:0 0 auto;width:18px;height:18px;margin-top:1px;
  border:1.5px solid var(--fa-line-2);border-radius:3px;background:#fff;
  transition:background .18s ease,border-color .18s ease;
}
.fdba-chk input:checked + .fdba-chk__box{background:var(--fa-point);border-color:var(--fa-point);}
.fdba-chk input:checked + .fdba-chk__box::after{
  content:"";position:absolute;left:5.5px;top:2px;width:4px;height:9px;
  border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);
}
.fdba-chk input:focus-visible + .fdba-chk__box{box-shadow:0 0 0 3px rgba(46,123,255,.22);}
.fdba-chk__label{font-size:13.5px;font-weight:600;line-height:1.45;color:var(--fa-text);}
.fa-manager{margin:12px 0 0;font-size:11px;line-height:1.5;color:var(--fa-muted);font-weight:400;}

/* -------------------------------------------------------------- 에러 */
.fa-err{display:none;margin:7px 0 0;font-size:12px;font-weight:600;line-height:1.4;color:var(--fa-err);}
.fdba-fld.is-err .fa-input{border-color:var(--fa-err);background:#FFF7F6;}
.fdba-fld.is-err .fa-opt{border-color:rgba(208,52,44,.35);}
.fa-formerr{display:none;margin:16px 0 0;padding:11px 13px;border-radius:4px;
  background:#FDF1F0;font-size:12.5px;font-weight:600;color:var(--fa-err);}

/* 허니팟 — 화면 밖으로 완전히 밀어낸다(display:none은 일부 봇이 감지) */
.fa-hp{position:absolute!important;left:-9999px!important;top:auto!important;
  width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;}

/* ------------------------------------------------------------- 버튼 */
.fa-actions{display:flex;gap:10px;margin:26px 0 0;}
.fa-btn{
  flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;
  padding:15px 22px;border:0;border-radius:0;
  font-family:inherit;font-size:15px;font-weight:700;letter-spacing:-.015em;
  cursor:pointer;transition:background .22s ease,color .22s ease,opacity .22s ease;
}
.fa-btn--fill{background:var(--fa-point);color:#fff;}
.fa-btn--fill:hover{background:var(--fa-point-deep);}
.fa-btn--fill:disabled{background:#A9BDDD;cursor:default;}
.fa-btn--ghost{flex:0 0 auto;min-width:96px;background:transparent;color:var(--fa-soft);
  border:1px solid var(--fa-line-2);}
.fa-btn--ghost:hover{background:#EEF1F4;color:var(--fa-text);}
.fa-btn:focus-visible{outline:2px solid var(--fa-point-deep);outline-offset:2px;}

/* ------------------------------------------------------- 완료 / 실패 */
.fa-done{padding:34px 8px;text-align:center;}
.fa-done__ic{
  width:46px;height:46px;margin:0 auto 18px;border-radius:50%;
  background:var(--fa-point);position:relative;
}
.fa-done__ic::after{
  content:"";position:absolute;left:17px;top:12px;width:9px;height:17px;
  border-right:2.5px solid #fff;border-bottom:2.5px solid #fff;transform:rotate(45deg);
}
.fa-done__t{margin:0;font-size:16px;font-weight:700;line-height:1.6;color:var(--fa-text);}

.fa-fail{padding:26px 4px;}
.fa-fail__t{margin:0 0 10px;font-size:16px;font-weight:800;color:var(--fa-err);}
.fa-fail__d{margin:0;font-size:13.5px;line-height:1.65;color:var(--fa-soft);font-weight:500;}
.fa-fail__d a{color:var(--fa-point);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(46,123,255,.35);}
.fa-sendnote{margin:12px 0 0;font-size:13px;line-height:1.55;color:var(--fa-soft);}
.fa-fail__code{margin:14px 0 0;font-size:10.5px;line-height:1.5;color:var(--fa-muted);
  word-break:break-all;font-weight:400;}

/* ------------------------------------------------------------ 데스크탑 */
@media(min-width:768px){
  .fa-label{font-size:14.5px;}
  .fa-input{font-size:16px;padding:14px 15px;}
  .fa-opt__t{font-size:14.5px;}
  .fdba-chk__label{font-size:14px;}
  .fa-privacy{font-size:12px;}
  .fa-btn{font-size:15.5px;}
  .fa-done__t{font-size:17px;}
}

/* 네이비 섹션 안에 놓이더라도 프레임(.contact__frame)이 흰색이므로 텍스트는 그대로 둔다 */
.t-navy .fdb-apply{color:var(--fa-text);}

@media(prefers-reduced-motion:reduce){
  .fdb-apply *{transition:none!important;animation:none!important;}
}
