/* 표준 제작계약서 — 화면 · 인쇄 · 다운로드 문서 공용
   .wa-ct--doc 는 내려받은 단독 HTML 파일에서만 쓰이는 페이지 여백 클래스 */

.wa-ct{
  max-width:820px; margin:0 auto; padding:52px 56px;
  background:#fff; border:1px solid #E4E9F2; border-radius:12px;
  color:#1F2937; font-size:14.5px; line-height:1.85;
  font-family:'Pretendard Variable','Pretendard',-apple-system,'Malgun Gothic',sans-serif;
}
.wa-ct--doc{ border:0; border-radius:0; margin:0 auto; padding:40px; max-width:900px; }

.wa-ct__title{
  margin:0 0 26px; text-align:center; font-size:26px; font-weight:800;
  letter-spacing:.06em; color:#0F172A;
}
.wa-ct__lead{ margin:0 0 26px; }
.wa-ct h2{
  margin:28px 0 8px; font-size:16px; font-weight:800; color:#0F172A;
}
.wa-ct p{ margin:0 0 10px; }
.wa-ct strong{ font-weight:700; color:#0F172A; }
.wa-ct small{ font-size:12.5px; color:#6B7280; }

.wa-ct__ol{ margin:4px 0 12px; padding-left:22px; }
.wa-ct__ol li{ margin:4px 0; }

/* 표 */
.wa-ct table{
  width:100%; border-collapse:collapse; margin:10px 0 18px; font-size:14px;
  border-top:1.5px solid #0F172A;
}
.wa-ct table caption{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); }
.wa-ct th, .wa-ct td{
  border-bottom:1px solid #D9DFEA; border-right:1px solid #E8ECF3;
  padding:9px 12px; text-align:left; vertical-align:middle;
}
.wa-ct th:last-child, .wa-ct td:last-child{ border-right:0; }
.wa-ct thead th{ background:#F2F5FA; font-weight:700; color:#0F172A; text-align:center; }
.wa-ct tbody th{ background:#F7F9FC; font-weight:700; color:#0F172A; white-space:nowrap; }
.wa-ct__party tbody th[rowspan]{ background:#EDF1F8; text-align:center; width:64px; }
.wa-ct__spec tbody th{ width:130px; }
.wa-ct__spec thead th{ width:auto; }

/* 기입란 */
.wa-ct__blank{
  display:inline-block; min-width:110px; border-bottom:1px dotted #9AA5B8;
  height:1.1em; vertical-align:-2px;
}
.wa-ct__memo{
  border:1px solid #D9DFEA; border-radius:6px; min-height:110px; margin:8px 0 18px;
  background:repeating-linear-gradient(#fff, #fff 33px, #EDF1F8 34px);
}

.wa-ct__closing{ margin:30px 0 26px; text-align:center; font-weight:600; color:#0F172A; }
.wa-ct__date{ margin:0 0 30px; text-align:center; letter-spacing:.04em; }

.wa-ct__sign{ display:flex; gap:22px; }
.wa-ct__signbox{
  flex:1; border:1px solid #D9DFEA; border-radius:8px; padding:18px 20px 22px;
}
.wa-ct__signbox b{ display:block; margin-bottom:12px; font-size:15px; color:#0F172A; }
.wa-ct__signbox p{ margin:0 0 12px; display:flex; align-items:flex-end; gap:8px; }
.wa-ct__signbox em{ font-style:normal; font-size:12.5px; color:#6B7280; white-space:nowrap; }
.wa-ct__line{
  flex:1; min-width:80px; border-bottom:1px solid #9AA5B8; height:1.3em;
}

/* 화면 전용 도구 모음 */
.wa-ct__bar{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  flex-wrap:wrap; margin-bottom:14px;
}
.wa-ct__pick{ display:flex; align-items:center; gap:8px; font-size:14px; }
.wa-ct__pick select{
  border:1px solid #E4E9F2; border-radius:8px; padding:9px 12px; font-size:14px;
  font-family:inherit; background:#fff; color:#0F172A;
}
.wa-ct__acts{ display:flex; gap:8px; }
.wa-ct__guide{
  margin:0 0 22px; padding:12px 16px; background:#F5F7FB; border-radius:8px;
  font-size:13.5px; color:#475569;
}

@media (max-width:720px){
  .wa-ct{ padding:30px 22px; font-size:14px; }
  .wa-ct__title{ font-size:21px; }
  .wa-ct__sign{ flex-direction:column; }
  .wa-ct__bar{ flex-direction:column; align-items:stretch; }
  .wa-ct__acts .wa-btn{ flex:1; justify-content:center; }
}

/* 인쇄 — 계약서 본문만 남긴다 */
@media print{
  body{ background:#fff !important; }
  .wa-hd, .wa-drawer, .wa-phd, .wa-ft, .wa-float, .wa-final,
  .wa-ct__bar, .wa-ct__guide, .wa-price__foot, #skip_to_container,
  #container_title, .wa-crumb{ display:none !important; }
  #wrapper, #container_wr, #container{
    margin:0 !important; padding:0 !important; max-width:none !important; width:auto !important;
  }
  .wa-ct{
    max-width:none; margin:0; padding:0; border:0; border-radius:0;
    font-size:11.5pt; line-height:1.7;
  }
  .wa-ct__title{ font-size:18pt; margin-bottom:18px; }
  .wa-ct h2{ font-size:12pt; margin:16px 0 6px; page-break-after:avoid; }
  .wa-ct table, .wa-ct__sign, .wa-ct__signbox{ page-break-inside:avoid; }
  .wa-ct__memo{ min-height:80px; }
  @page{ margin:16mm 14mm; }
}
