/* survey 페이지: 사이트 inquiry-form 패턴 위에 미세 보정 */
.survey-readonly { font-weight:600; color:#111; }

/* 설문 문항 카드 위쪽에 우측 정렬로 표시 */
.survey-required-line { text-align:right; margin:8px 4px 6px; }
.survey-required-line .inquiry-required { display:inline-block; margin:0; font-size:.9rem; }

/* 카드(form-rows) 간 간격 좁히기 — 사이트 기본 clamp(2.6rem, 4vw, 3.5rem) 덮어쓰기 */
#formSurvey .form-rows + .form-rows { margin-top:14px; }

/* 설문 문항 (라벨이 길어 form-item 가로 layout과 안 맞아 별도 row 구조 사용) */
.survey-q { padding:16px 4px; border-bottom:1px solid #eee; }
.survey-q:last-child { border-bottom:none; }
.survey-q-text { font-size:clamp(.95rem, 1.1vw, 1.15rem); font-weight:600; color:#111; margin:0 0 12px; line-height:1.4; }
.survey-q-text .req { color:#dc2626; margin-left:4px; }
.survey-q-type { color:#6b7280; font-size:12px; margin-left:8px; padding:1px 8px; background:#f3f4f6; border-radius:10px; vertical-align:middle; font-weight:500; }
.survey-q input[type="radio"],
.survey-q input[type="checkbox"] { accent-color:#1f2937; cursor:pointer; }
.survey-q textarea { width:100%; min-height:90px; padding:10px 12px; border:1px solid #d1d5db; border-radius:4px; font-family:inherit; font-size:14px; box-sizing:border-box; resize:vertical; }
.survey-q textarea:focus { outline:none; border-color:#1f2937; box-shadow:0 0 0 3px rgba(31,41,55,0.08); }

.survey-empty { background:#fafafa; border:1px solid #eee; border-radius:8px; padding:28px 24px; text-align:center; color:#666; }

/* 수료증 (이미 응답한 경우) */
.cert-wrap { display:flex; flex-direction:column; align-items:center; gap:20px; padding:20px 0 40px; }
.cert-msg { text-align:center; color:#444; font-size:15px; }
.cert-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:center; }
.cert-actions .btn { min-width:160px; }

/* 수료증 본체 — A4 비율(약 794x1123 @96dpi), 미리보기는 축소 표시 */
.cert-paper-stage { width:100%; max-width:560px; }
.cert-paper {
	width:794px; height:1123px;
	background:#fff;
	box-sizing:border-box;
	position:relative;
	overflow:hidden;
	font-family: 'Pretendard', sans-serif;
	color:#111;
	border:4px solid #e60012;
	padding:50px 70px;
	transform-origin: top left;
}
.cert-paper::before {
	content:'';
	position:absolute; inset:10px;
	border:1.5px solid #e60012;
	pointer-events:none;
}
.cert-docno { font-size:18px; color:#222; margin-bottom:60px; }
.cert-title { text-align:center; font-size:70px; font-weight:700; letter-spacing:30px; padding-left:30px; margin:0 0 100px; }
.cert-info { padding-left:200px; font-size:22px; line-height:2.0; }
.cert-info .row { display:flex; align-items:flex-start; }
.cert-info .lbl { width:130px; flex-shrink:0; letter-spacing:4px; white-space:nowrap; }
.cert-info .lbl::after { content:':'; margin:0 8px 0 4px; letter-spacing:0; }
.cert-info .val { flex:1; word-break:keep-all; }
.cert-body { text-align:center; font-size:30px; font-weight:600; line-height:2.0; margin:140px 20px 0; }
.cert-issue-date { text-align:right; font-size:24px; margin-top:130px; padding-right:60px; }
.cert-logo { margin-top:70px; text-align:center; }
.cert-logo img { display:inline-block; width:240px; height:auto; }

/* 워터마크 — 본문 한가운데 */
.cert-watermark {
	position:absolute; top:48%; left:50%;
	transform: translate(-50%, -50%) rotate(-15deg);
	opacity:0.09;
	pointer-events:none;
	z-index:0;
}
.cert-watermark img { width:600px; max-width:none; }
.cert-paper > :not(.cert-watermark) { position:relative; z-index:1; }
