/* 공개 사이트 문의하기 (/contact) — 폼 + 바로 연락 카드 */
/* ---- S1 서브 비주얼 (낮게) ---- */
.c-hero-in{position:relative;padding-top:calc(var(--hdr) + 40px);padding-bottom:64px}
/* ---- S2 레이아웃 ---- */
.c-sec{padding:80px 0 128px}
.c-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.c-h2{font-family:var(--font-head);font-size:clamp(24px,2.4vw,32px);font-weight:800;letter-spacing:-.04em}
.c-req-note{margin-top:10px;font-size:14px;color:var(--e-mute)}
.c-req{color:var(--e-red);font-weight:700}
.c-opt{font-size:14px;font-weight:500;color:var(--e-mute)}
.c-alert{margin-top:24px;padding:14px 18px;border-radius:var(--r-sm);border:1px solid var(--e-red);background:#FBF1F2;color:var(--e-red);font-size:15px;font-weight:600}
/* ---- 입력 ---- */
.c-form{display:block}
.c-field{display:flex;flex-direction:column;gap:8px;min-width:0;margin-top:28px;border:0;padding:0}
.c-field legend{padding:0}
.c-field>label,.c-label,.c-field legend{font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--e-text)}
.c-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.c-field input[type=text],.c-field input[type=email],.c-field input[type=tel],.c-field select,.c-field textarea{
  width:100%;min-height:52px;padding:12px 16px;border:1px solid var(--e-line);border-radius:var(--r-sm);background:#fff;
  font:inherit;font-size:16px;color:var(--e-text);transition:border-color .15s}
.c-field textarea{min-height:200px;line-height:1.65;resize:vertical}
.c-field select{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23555758' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 14px center/18px no-repeat;padding-right:44px}
.c-field input:hover,.c-field select:hover,.c-field textarea:hover{border-color:#BDBDBD}
.c-field input:focus,.c-field select:focus,.c-field textarea:focus{outline:2px solid var(--e-focus);outline-offset:1px;border-color:var(--e-text)}
.c-field [aria-invalid="true"]{border-color:var(--e-red)}
.c-err{font-size:14px;font-weight:600;color:var(--e-red);white-space:pre-line}
.c-help{font-size:14px;color:var(--e-mute)}
.c-field-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.c-count{margin-left:auto;font-size:14px;color:var(--e-mute);font-variant-numeric:tabular-nums}
/* ---- 문의유형 (버튼형 라디오) ---- */
.c-type-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.c-type{position:relative;display:inline-flex}
.c-type input{position:absolute;opacity:0;width:1px;height:1px}
.c-type span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--e-line);border-radius:999px;background:#fff;
  font-size:15px;font-weight:600;color:var(--e-sub);cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.c-type span:hover{border-color:var(--e-text);color:var(--e-text)}
.c-type input:checked+span{background:var(--e-text);border-color:var(--e-text);color:#fff}
.c-type input:focus-visible+span{outline:2px solid var(--e-focus);outline-offset:2px}
.c-type input:disabled+span{opacity:.4;cursor:not-allowed}
.c-type input:disabled+span:hover{border-color:var(--e-line);color:var(--e-sub)}
.c-types[aria-invalid="true"] .c-type span{border-color:var(--e-red)}
/* ---- 첨부 ---- */
.c-files{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.c-file-btn{cursor:pointer}
.c-files input:focus-visible+.c-help,.c-file-btn:focus-within{outline:2px solid var(--e-focus)}
.c-file-list{display:grid;gap:8px}
.c-file-list:empty{display:none}
.c-file-list li{display:flex;align-items:center;gap:12px;min-height:48px;padding:6px 8px 6px 16px;border:1px solid var(--e-line);border-radius:var(--r-sm);font-size:15px}
.c-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.c-file-size{font-size:14px;color:var(--e-mute);font-variant-numeric:tabular-nums}
.c-file-del{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--e-sub)}
.c-file-del:hover{background:var(--e-bg2);color:var(--e-text)}
.c-file-del svg{width:18px;height:18px}
/* ---- 개인정보 ---- */
.c-privacy{margin-top:36px;padding:24px;border-radius:var(--r-sm);background:var(--e-bg2)}
.c-privacy-h{font-family:var(--font-head);font-size:16px;font-weight:700}
.c-privacy-dl{margin-top:12px;display:grid;gap:6px;font-size:14px;line-height:1.6;color:var(--e-sub)}
.c-privacy-dl div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px}
.c-privacy-dl dt{font-weight:700;color:var(--e-text)}
/* 약관 전문: 정해진 높이 안에서 스크롤 */
.c-terms{margin-top:16px;max-height:200px;overflow-y:auto;overscroll-behavior:contain;padding:16px 18px;border:1px solid var(--e-line);border-radius:var(--r-sm);background:#fff;font-size:14px;line-height:1.7;color:var(--e-sub)}
.c-terms:focus-visible{outline:2px solid var(--e-focus);outline-offset:2px}
.c-terms-h{font-family:var(--font-head);font-size:14px;font-weight:700;color:var(--e-text)}
.c-terms-list{display:grid;gap:14px;margin-top:10px}
.c-terms-list strong{display:block;margin-bottom:4px;color:var(--e-text)}
.c-terms-list p+p{margin-top:4px}
.c-check{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:15px;font-weight:600;cursor:pointer}
.c-check input{flex:none;width:22px;height:22px;margin:0;accent-color:var(--e-red)}
.c-privacy .c-err{margin-top:8px}
/* 허니팟: 화면 · 스크린리더 모두에서 숨김 */
.c-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* ---- 보내기 · 완료 ---- */
.c-submit{margin-top:32px}
.c-submit-btn{min-width:220px}
.c-submit-btn[aria-busy="true"]{opacity:.6;pointer-events:none}
.c-done{padding:56px 40px;border:1px solid var(--e-line);border-radius:var(--r-card);text-align:center}
.c-done:focus{outline:none}
.c-done-ic{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;margin-bottom:24px;border-radius:50%;background:var(--e-red);color:#fff}
.c-done-ic svg{width:36px;height:36px}
.c-done p{margin-top:12px;font-size:17px;color:var(--e-sub)}
.c-done-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:32px}
/* ---- 바로 연락 카드 ---- */
.c-side{position:sticky;top:calc(var(--hdr) + 24px);display:grid;gap:16px}
.c-card{padding:28px;border-radius:var(--r-card);background:var(--e-dark);color:#fff;--e-focus:#fff}
.c-card-h{font-family:var(--font-head);font-size:19px;font-weight:800;letter-spacing:-.02em}
.c-card-dl{margin-top:16px;border-top:1px solid rgba(255,255,255,.18)}
.c-card-dl div{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:15px}
.c-card-dl dt{color:var(--e-dsub)}
.c-card-dl dd{font-weight:700;text-align:right}
.c-card-dl a{display:inline-flex;min-height:24px}
.c-card-btn{width:100%;margin-top:20px}
@media (max-width:1023px){
  .c-sec{padding:56px 0 96px}
  .c-grid{grid-template-columns:1fr;gap:40px}
  .c-side{position:static}
}
@media (max-width:767px){
  .c-hero-in{padding-bottom:48px}
  .c-row{grid-template-columns:1fr}
  .c-privacy{padding:20px 16px}
  .c-privacy-dl div{grid-template-columns:1fr;gap:2px}
  .c-submit-btn{width:100%}
  .c-done{padding:40px 20px}
}
