@charset "euc-kr";

/* 팝업 강화 스타일 */
/* 모바일에서 팝업 폼 글자 크기 조정 */
@media screen and (max-width: 768px) {
	.pop_report {
		width: 95%;
		max-height: 95vh;
	}
	
	.popup-title {
		font-size: 1.6em;
		padding: 0.8em;
	}
	
	.pop_reIn {
		padding: 1.5em;
	}
	
	.input_box {
		padding: 10px;
		font-size: 0.9em;
	}
	
	.item-label {
		font-size: 1em;
	}
	
	.submit-button {
		padding: 12px;
		font-size: 1.1em;
	}
}

@media screen and (max-width: 480px) {
	.popup-title {
		font-size: 1.4em;
		padding: 0.6em;
	}
	
	.pop_reIn {
		padding: 1em;
	}
	
	.item-label {
		font-size: 1em;
	}
	
	.input_box {
		padding: 8px;
		font-size: 0.85em;
	}
	
	.submit-button {
		padding: 12px;
		font-size: 1.1em;
	}
}

@media screen and (max-width: 360px) {
	.popup-title {
		font-size: 1.3em;
		padding: 0.5em;
	}
	
	.pop_reIn {
		padding: 0.8em;
	}
	
	.input_box {
		padding: 6px;
		font-size: 0.8em;
	}
	
	.submit-button {
		padding: 10px;
		font-size: 1em;
	}
}

/* 팝업 애니메이션 */
@keyframes popupFadeIn {
	from {
		opacity: 0;
		transform: scale(0.8);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

@keyframes popupSlideIn {
	from {
		opacity: 0;
		transform: translateY(-50px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 팝업 표시 애니메이션 */
#POP.show .pop_report {
	animation: popupSlideIn 0.3s ease-out;
}

/* 팝업 버튼 호버 효과 */
.popup-close:hover {
	background-color: rgba(255, 255, 255, 0.3);
	transform: scale(1.1);
}

.submit-button:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 30px rgba(255, 66, 0, 0.4);
}

/* 팝업 입력 필드 포커스 효과 */
.input_box:focus {
	border-color: #ff4200;
	box-shadow: 0 0 0 3px rgba(255, 66, 0, 0.1);
	transform: scale(1.02);
}

/* 라디오 버튼 커스텀 스타일 */
input[type="radio"] {
	appearance: none;
	width: 18px;
	height: 18px;
	border: 2px solid #ddd;
	border-radius: 50%;
	background: white;
	position: relative;
	cursor: pointer;
	transition: all 0.3s ease;
}

input[type="radio"]:checked {
	border-color: #ff4200;
	background: #ff4200;
}

input[type="radio"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 6px;
	height: 6px;
	background: white;
	border-radius: 50%;
}

/* 체크박스 커스텀 스타일 */
input[type="checkbox"] {
	appearance: none;
	width: 18px;
	height: 18px;
	border: 2px solid #ddd;
	border-radius: 4px;
	background: white;
	position: relative;
	cursor: pointer;
	transition: all 0.3s ease;
}

input[type="checkbox"]:checked {
	border-color: #ff4200;
	background: #ff4200;
}

input[type="checkbox"]:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 6px;
	height: 10px;
	border: solid #ffffff;
	border-width: 0 2px 2px 0;
	transform: translate(-50%, -55%) rotate(45deg);
}

/* 팝업 오버레이 애니메이션 */
#POP.show {
	animation: popupFadeIn 0.3s ease-out;
}

/* 팝업 내용 스크롤바 스타일 */
.pop_report::-webkit-scrollbar {
	width: 8px;
}

.pop_report::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 4px;
}

.pop_report::-webkit-scrollbar-thumb {
	background: #ff4200;
	border-radius: 4px;
}

.pop_report::-webkit-scrollbar-thumb:hover {
	background: #ff6b3d;
}

/* 팝업 폼 그룹 스타일 */
.form-group {
	margin-bottom: 1.5em;
}

.form-group:last-child {
	margin-bottom: 0;
}

/* 필수 입력 필드 표시 */
.required::after {
	content: ' *';
	color: #ff4200;
	font-weight: bold;
}

/* 입력 필드 유효성 검사 스타일 */
.input_box.error {
	border-color: #dc3545;
	box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1);
}

.input_box.success {
	border-color: #28a745;
	box-shadow: 0 0 0 3px rgba(40, 167, 69, 0.1);
}

/* 에러 메시지 스타일 */
.error-message {
	color: #dc3545;
	font-size: 0.85em;
	margin-top: 0.3em;
	display: none;
}

.error-message.show {
	display: block;
}

/* 성공 메시지 스타일 */
.success-message {
	color: #28a745;
	font-size: 0.85em;
	margin-top: 0.3em;
	display: none;
}

.success-message.show {
	display: block;
}

/* 로딩 상태 스타일 */
.submit-button.loading {
	position: relative;
	color: transparent;
}

.submit-button.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 20px;
	height: 20px;
	border: 2px solid transparent;
	border-top: 2px solid white;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin {
	0% { transform: translate(-50%, -50%) rotate(0deg); }
	100% { transform: translate(-50%, -50%) rotate(360deg); }
}

/* 팝업 닫기 버튼 애니메이션 */
.popup-close {
	transition: all 0.3s ease;
}

.popup-close:hover {
	transform: rotate(90deg);
}

/* 팝업 제목 그라데이션 효과 */
.popup-title {
	background: linear-gradient(135deg, #ff4200, #ff6b3d);
	background-size: 200% 200%;
	animation: titleGradient 3s ease-in-out infinite;
}

@keyframes titleGradient {
	0%, 100% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
}

