.detail-summary {
	display: flex; flex-direction: row-reverse; padding-bottom: 60px;
	.img-area {
		width: 650px; padding-right: 50px;
		.img-full {
			position: relative; width: 100%; max-height: 400px; border: 1px solid var(--line); border-radius: 5px;
			img {
				width: 100%; height: 100%; object-fit: contain;
			}
			.label-area {
				position: absolute; top: 0; right: 0; padding: 10px 15px; z-index: 10;
				.label {
					display: inline-block; padding: 8px 16px; color: #fff; font-size: 1.4rem; font-weight: 600; border-radius: 4px;
					&.recruiting {
						background: var(--theme);
					}
					&.closed {
						background: #333;
					}
				}
			}
		}
	}
	.summary-area {
		width: calc(100% - 650px);
		.title-area {
			padding-bottom: 20px; border-bottom: 1px solid var(--line);
			.tit {
				font-size: 3rem; font-weight: 800;
			}
		}
		.detail-area {
			padding-top: 20px;
			dl {
				font-size: 1.7rem; 
				.row {
					display: flex; padding-bottom: 10px;
					&.type-1 {
						dd {
							color: var(--theme);
						}
					}
					&.type-2 {
						dd {
							color: var(--green);
						}
					}
					&.type-3 {
						dd {
							color: var(--pink);
						}
					}
				}
				dt {
					flex: 0 0 90px; min-width: 90px; font-weight: 700; position: relative;
				}
				dd {
					flex: 1; font-weight: 400;
				}
			}
		}
		.file-area {
			.row {
				padding: 12px 0; border-bottom: 1px solid var(--line);
				&:last-child {
					border-bottom: none;
				}
				.tit {
					display: flex; align-items: center; color: #555; font-size: 1.5rem; font-weight: 500; position: relative; padding-left: 25px; word-break: break-all;
					&:after {
						content: ''; width: 17px; height: 17px; position: absolute; top: 50%; left: 0; transform: translateY(-50%); background-image: url('../img/apply/program/download.svg'); background-size: contain; background-repeat: no-repeat; opacity: 0.6;
					}
					&:hover {
						color: #333; text-decoration: underline;
					}
				}
			}
		}
	}
	&.eq-detail {
		.img-area {
			.img-full {
				height: 400px;
				img {
					object-fit: contain;
				}
			}
		}
	}
}

.cont-title {
	position: relative; border-bottom: 1px solid var(--line); margin-bottom: 20px;
	.tit {
		font-size: 2.5rem; font-weight: 800; display: inline-block; padding-bottom: 15px;
	}
	.txt {
		display: inline-block; padding-left: 10px;
	}
}

.detail-txt {
	font-size: 1.6rem; line-height: 1.7; font-weight: 400; border-bottom: 1px solid var(--line);
	p {
		font-size: 1.6rem; line-height: 1.7; font-weight: 400;
	}
}

@media (max-width: 1200px) {
	.detail-summary {
		padding-bottom: 50px;
		.img-area {
			width: 50%;
			.img-full {
				max-height: 350px;
			}
		}
		.summary-area {
			width: 50%;
		}
		&.eq-detail {
			.img-area {
				.img-full {
					height: 350px;
				}
			}
		}
	}
}

@media (max-width: 1070px) {
	.detail-summary {
		.img-area {
			.img-full {
				max-height: 250px; overflow: hidden;
			}
		}
		.summary-area {
			.title-area {
				padding-bottom: 15px;
				.tit {
					font-size: 2.5rem;
				}
			}
			.detail-area {
				padding-top: 15px;
				dl {
					font-size: 1.5rem;
					dt {
						flex: 0 0 100px; min-width: 100px;
					}
					dd {
						flex: 1;
					}
				}
			}
			.btn-wrap {
				margin-top: 10px;
			}
		}
		.img-area {
			padding-right: 30px;
		}
		&.eq-detail {
			.img-area {
				.img-full {
					height: 250px;
				}
			}
		}
	}
	.cont-title {
		margin-bottom: 15px;
		.tit {
			font-size: 2rem; padding-bottom: 10px;
		}
	}
	.detail-txt {
		font-size: 1.4rem; line-height: 1.6;
		p {
			font-size: 1.4rem; line-height: 1.6;
		}
	}
}

.a-link {
	color: #508deb;
}

@media (max-width: 768px) {
	.cont-title {
		.txt {
			padding: 0 0 10px; display: block;
		}
	}
	.detail-summary {
		.summary-area {
			.title-area {
				padding-bottom: 10px;
				.tit {
					font-size: 2.4rem;
				}
			}
			.detail-area {
				dl {
					font-size: 1.4rem;
					.row {
						padding-bottom: 10px;
					}
					dt {
						&:after {
							border-width: 4px;
						}
					}
				}
			}
			.btn-wrap {
				width: 100%;
				div {
					width: 100%;
				}
				.a-btn {
					width: 100%; font-size: 1.3rem;
				}
			}
		}
	}
}

@media (max-width: 550px) {
	.contents-group {
		&.detail {
			padding-top: 20px;
		}
	}
	.cont-title {
		margin-bottom: 10px;
		.tit {
			font-size: 1.7rem; padding-bottom: 10px;
		}
	}
	.detail-summary {
		flex-direction: column-reverse; gap: 20px; padding-bottom: 30px;
		.summary-area {
			width: 100%;
			.title-area {
				text-align: center; padding-bottom: 20px;
			}
			.detail-area {
				padding-top: 25px;
			}
			.btn-wrap {
				margin-top: 15px;
			}
		}
		.img-area {
			padding: 0; width: 100%;
		}
	}
}

/* form-wrap.guest: 비로그인 잠금 UI (바텀시트) */
.form-wrap.guest {
	position: relative;
	.guest-cover {
		display: flex;
		position: absolute;
		inset: 0;
		z-index: 10;
		align-items: flex-end;
		justify-content: center;
		background: linear-gradient(
			to top,
			rgba(255, 255, 255, 1) 0%,
			rgba(255, 255, 255, 0.95) 40%,
			rgba(255, 255, 255, 0.6) 70%,
			rgba(255, 255, 255, 0) 100%
		);
		backdrop-filter: blur(4px);
	}
}

.form-wrap .guest-cover {
	display: none;
}

.guest-cover-sheet {
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	padding: 56px 64px;
	background: #fff;
	border-radius: 24px 24px 0 0;
	box-shadow:
		0 20px 50px rgba(0, 0, 0, 0.08),
		0 4px 12px rgba(0, 0, 0, 0.05);
	text-align: center;
	animation: guestSlideUp 0.35s ease-out;
	.guest-badge {
		display: inline-block;
		padding: 6px 12px;
		font-size: 1.2rem;
		font-weight: 600;
		color: #fff;
		background: var(--theme);
		border-radius: 999px;
		margin-bottom: 14px;
	}
	.guest-title {
		font-size: 2rem;
		font-weight: 700;
		color: var(--dark);
		line-height: 1.4;
		margin: 0 0 12px;
	}
	.guest-desc {
		font-size: 1.4rem;
		color: var(--gray);
		line-height: 1.6;
		margin: 0 0 24px;
	}
	.btn-login {
		display: block;
		width: 380px;
		max-width: 100%;
		margin: 28px auto 14px;
		padding: 14px;
		font-size: 1.5rem;
		font-weight: 700;
		border-radius: 20px;
		background: var(--theme);
		color: #fff;
		text-decoration: none;
		box-shadow: 0 10px 24px rgba(16, 135, 245, 0.35);
	}
	.btn-signup {
		font-size: 1.3rem;
		color: var(--gray);
		text-decoration: underline;
	}
}

@keyframes guestSlideUp {
	from {
		transform: translateY(30px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}
