@charset "utf-8";

/* =========================================================
   공모전 참가신청 전용 CSS
========================================================= */

.contest-page *{box-sizing:border-box}

.contest-page{
	width:100%;
	padding:48px 20px 110px;
	background:transparent;
	font-family:'Pretendard','Noto Sans KR',sans-serif;
}

.contest-page__inner{
	width:100%;
	max-width:920px;
	margin:0 auto;
}

.contest-page__header{
	margin-bottom:55px;
	text-align:center;
}

.contest-page__header h1{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:230px;
	height:62px;
	margin:0;
	padding:0 34px;
	border-radius:24px;
	background:#e48011;
	color:#fff;
	font-size:34px;
	font-weight:800;
	line-height:1;
	letter-spacing:-.045em;
}

.contest-form-section{margin-top:58px}
.contest-form-section:first-child{margin-top:0}

.contest-form-title{
	margin:0 0 22px;
	padding:0 0 12px;
	border-bottom:2px solid #4f5664;
	color:#245eb8;
	font-size:21px;
	font-weight:800;
	letter-spacing:-.04em;
}

.contest-form-grid{display:grid;gap:18px}

.contest-form-field label,
.contest-form-label{
	display:block;
	margin-bottom:8px;
	color:#222;
	font-size:15px;
	font-weight:700;
}

.required{color:#e53935}

.contest-form-field input[type="text"],
.contest-form-field input[type="tel"],
.contest-form-field input[type="email"]{
	width:100%;
	height:48px;
	padding:0 14px;
	border:1px solid #d7dce5;
	background:#fff;
	color:#222;
	font-size:14px;
	outline:none;
}

.contest-form-field input:focus{
	border-color:#3f6fc4;
	box-shadow:0 0 0 3px rgba(63,111,196,.1);
}

.contest-radio-group{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:20px;
}

.contest-radio-group label,
.contest-agree{
	display:inline-flex;
	align-items:center;
	gap:8px;
	margin:0;
	cursor:pointer;
}

.contest-radio-group input,
.contest-agree input{
	width:18px;
	height:18px;
	accent-color:#e48011;
}

.contest-privacy-box{
	max-height:220px;
	overflow-y:auto;
	padding:20px;
	border:1px solid #d7dce5;
	background:#fff;
	color:#555;
	font-size:13px;
	line-height:1.7;
}

.contest-privacy-box h3{
	margin:0 0 10px;
	color:#222;
	font-size:15px;
	font-weight:700;
}

.contest-privacy-box p{margin:0 0 10px}
.contest-privacy-box ol{margin:0;padding-left:20px}

.contest-agree{
	justify-content:flex-end;
	margin-top:12px;
	color:#333;
	font-size:14px;
	font-weight:600;
}

.contest-file-guide{
	margin-bottom:24px;
	overflow-x:auto;
}

.contest-file-guide table{
	width:100%;
	min-width:720px;
	border-collapse:collapse;
	table-layout:fixed;
	border-top:2px solid #505866;
	background:#fff;
}

.contest-file-guide th,
.contest-file-guide td{
	height:44px;
	padding:9px 12px;
	border-right:1px solid #d8dee8;
	border-bottom:1px solid #d8dee8;
	color:#333;
	font-size:13px;
	line-height:1.45;
	vertical-align:middle;
}

.contest-file-guide th:last-child,
.contest-file-guide td:last-child{border-right:0}

.contest-file-guide th{
	background:#eef3fb;
	color:#234f93;
	font-weight:800;
	text-align:center;
}

.contest-file-guide td:first-child,
.contest-file-guide td:last-child{text-align:center}

.contest-file-guide td:nth-child(2){text-align:left}

.contest-badge{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:48px;
	height:23px;
	padding:0 8px;
	color:#fff;
	font-size:11px;
	font-weight:700;
	background:#e48011;
}

.contest-badge--optional{background:#7b8492}

.contest-file-warning{
	margin:0 0 18px;
	color:#e93232;
	font-size:13px;
	font-weight:700;
	line-height:1.55;
}

.contest-file-list{border-top:1px solid #dfe4ec}

.contest-file-row{
	padding:16px 0;
	border-bottom:1px solid #dfe4ec;
}

.contest-file-row__label{
	margin-bottom:9px;
	color:#222;
	font-size:14px;
	font-weight:700;
	line-height:1.5;
}

.contest-file-row__control{
	display:grid;
	grid-template-columns:110px minmax(0,1fr) 42px;
	gap:9px;
	align-items:center;
}

.contest-file-row input[type="file"]{
	position:absolute;
	width:1px;
	height:1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
}

.contest-file-button,
.contest-file-name,
.contest-file-delete{
	height:42px;
}

.contest-file-button{
	display:flex;
	align-items:center;
	justify-content:center;
	background:#e48011;
	color:#fff;
	font-size:13px;
	font-weight:700;
	cursor:pointer;
}

/* 필수·선택 파일 버튼 구분 */
.contest-file-button.is-required{
	background:#e48011;
	border:1px solid #e48011;
	color:#fff;
}

.contest-file-button.is-optional{
	background:#8a929d;
	border:1px solid #8a929d;
	color:#fff;
}

.contest-file-button.is-required:hover{
	background:#cf7008;
	border-color:#cf7008;
}

.contest-file-button.is-optional:hover{
	background:#737b86;
	border-color:#737b86;
}

.contest-file-name{
	display:flex;
	align-items:center;
	min-width:0;
	overflow:hidden;
	padding:0 12px;
	border:1px solid #dfe3ea;
	background:#fff;
	color:#999;
	font-size:12px;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.contest-file-delete{
	width:42px;
	border:0;
	background:#111;
	color:#fff;
	font-size:22px;
	cursor:pointer;
}

.contest-current-file{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
	margin-bottom:8px;
	padding:10px 12px;
	border:1px solid #dfe3ea;
	background:#f7f9fc;
	font-size:13px;
}

.contest-submit{
	display:flex;
	justify-content:center;
	gap:10px;
	margin-top:46px;
}

.contest-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:180px;
	height:52px;
	padding:0 26px;
	border:0;
	background:#e48011;
	color:#fff;
	font-size:16px;
	font-weight:800;
	text-decoration:none;
	cursor:pointer;
}

.contest-btn--dark{background:#e48011}
.contest-btn--light{background:#e8edf5;color:#222}

.contest-summary{
	width:100%;
	border-collapse:collapse;
	border-top:2px solid #505866;
	background:#fff;
}

.contest-summary th,
.contest-summary td{
	padding:13px 14px;
	border-bottom:1px solid #dfe4ec;
	font-size:14px;
	line-height:1.5;
	vertical-align:middle;
}

.contest-summary th{
	width:180px;
	background:#f2f5fa;
	text-align:center;
}

.contest-complete{
	padding:55px 35px;
	border:1px solid #dfe4ec;
	background:#fff;
	text-align:center;
}

.contest-complete h2{
	margin:0 0 18px;
	color:#222;
	font-size:32px;
	font-weight:700;
	line-height:1.4;
}

.contest-complete__guide{
	margin:0 0 25px;
	color:#e53935;
	font-size:20px;
	font-weight:800;
	line-height:1.7;
	text-align:center;
}

.contest-complete__guide span{
	display:block;
	margin-top:4px;
	color:#e53935;
	font-size:20px;
	font-weight:800;
}

.contest-complete__receipt{
	margin:0 0 35px;
}

.contest-complete__receipt-label{
	display:block;
	margin-bottom:8px;
	color:#555;
	font-size:14px;
	font-weight:700;
}

.contest-complete__receipt strong{
	display:block;
	color:#e53935;
	font-size:36px;
	font-weight:900;
	line-height:1.2;
	letter-spacing:.03em;
}

@media screen and (max-width:600px){
	.contest-page{padding:42px 15px 70px}
	.contest-page__header{margin-bottom:40px}
	.contest-page__header h1{min-width:180px;height:54px;font-size:24px}
	.contest-form-section{margin-top:44px}
	.contest-form-title{font-size:18px}
	.contest-file-row__control{grid-template-columns:94px minmax(0,1fr) 40px;gap:7px}
	.contest-submit{flex-direction:column}
	.contest-btn{width:100%}
	.contest-summary th{width:110px}

	.contest-complete{
		padding:38px 18px;
	}

	.contest-complete h2{
		font-size:24px;
	}

	.contest-complete__guide{
		font-size:16px;
		line-height:1.6;
	}

	.contest-complete__guide span{
		font-size:16px;
	}

	.contest-complete__receipt strong{
		font-size:28px;
	}
}

/* =========================================================
   파일 첨부 SVG 아이콘
   경로: /contest/images/folder.svg, /contest/images/trash.svg
========================================================= */
.contest-file-button{
	gap:7px;
	background:#e48011;
}

.contest-file-button::before{
	content:"";
	display:block;
	flex:0 0 18px;
	width:18px;
	height:18px;
	background:url("../images/folder.svg") no-repeat center center;
	background-size:contain;
}


.contest-file-delete{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0;
	font-size:0;
}

.contest-file-delete::before{
	content:"";
	display:block;
	width:19px;
	height:19px;
	background:url("../images/trash.svg") no-repeat center center;
	background-size:contain;
}

.contest-file-delete:hover{
	background:#333;
}

