* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

body {
	padding: 0;
	margin: 0;
	width: 100%;
	background: #1b4e2a;
	font-family: 'Noto Sans KR', sans-serif; /* ✅ 노토 고딕 지정 */
	font-weight: 900;
	color: #000;
}

.imagemap {
	position: relative;
	width: 100%;
}

img {
	width: 100%;
	display: block;
}

.container {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

/* blink 요소 애니메이션 */
.blink {
	position: absolute;
	top: 37.516%;
	left: 50%;
	transform: translateX(-50%);
	width: 52.6%;
	height: 2.932%;
	animation: fadeBlink 4s infinite;
}

/* minions 요소 애니메이션 */
.minions {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform:translateX(-50%);
	width: 100%;
	height: auto;
	animation: moveMinions 2s infinite;
}

/* blink 애니메이션 keyframes */
@keyframes fadeBlink {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}

/* minions 애니메이션 keyframes 
@keyframes moveMinions {
	0%, 100% {
		transform: translateX(-50%) translateY(0);
	}
	50% {
		transform: translateX(-50%) translateY(2%);
	}
} */

ul {
	width: 100%;
	list-style: none;
	padding: 0;
	margin: 0;
}

a {
	text-decoration: none;
	color:white;
}

.click_5km {
	position: absolute;
    top: 61.3%;
    left: 50%;
    transform: translateX(-50%);
    width: 81%;
    height: 6.35%;
    cursor: pointer;
	}
	
.click_10km {
	position: absolute;
    top: 69.6%;
    left: 50%;
    transform: translateX(-50%);
    width: 81%;
    height: 6.35%;
    cursor: pointer;
	}
	
.kakao_channel {
    position: absolute;
    top: 83%;
    left: 50%;
    transform: translateX(-50%);
    width: 37%;
    height: 13.1%;
    cursor: pointer;
	}
	
.bg-yellow {
	background: #f6a800;
	}


.faq_question {
	margin: 0 auto;
	width: 82%;
	padding: 4% 3% 4% 3%;
	border-radius: 20px;
	background: #FFF;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	z-index: 2;
	position: relative; /* 추가 */
	margin-bottom:3%;
	}

.faq_answer {
	margin: 0 auto;
	width: 82%;
	margin-top: -10%;
	padding: 12% 3% 4% 3%;
	border-radius: 0px 0px 20px 20px;
	background: #c6702c;
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
	z-index: 1;
	position: relative; /* 추가 */
	}

/* ::after 가상요소로 아이콘 삽입 */
.faq_question::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    display: block;
    width: 5%;
    height: 25%;
    background-image: url(../images/arrow_open.png);
    background-size: contain;
    background-repeat: no-repeat;
    transition: transform 0.3s ease, background-image 0.3s ease;
}

.faq_answer img, .faq_question img {
	max-width:690px;
	}

/* 열림 상태일 때 이미지 변경 */
.faq_question.open::after {
	background-image: url('../images/arrow_close.png');
}

.mt {
	margin-top:3%;
	}

.mv_arrow {
	position: absolute;
	top: 10%;
	left: 50%;
	transform:translateX(-50%);
	width: 100%;
	height: auto;
	animation: move_td 2s infinite;
	}

@keyframes move_td {
	0%, 100% {
		transform: translateX(-50%) translateY(0);
	}
	50% {
		transform: translateX(-50%) translateY(10%);
	}
}


  .modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
  }

  /* 갤러리 컨테이너 스타일 */
  .gallery-container {
    width: 90%;
    max-width: 480px;
    background: #000;
    padding: 20px;
    box-sizing: border-box;
    text-align: center;
  }

  .gallery-main {
    max-width: 100%;
    overflow: hidden;
	margin:0 auto;
	border-radius:10px;
  }

  .gallery-thumbnails {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px auto;
    max-width: 90%;
  }

  .thumbnail {
    width: 14%;
    height: auto;
    margin: 1%;
    cursor: pointer;
  }

  h1 {
    text-align: center;
  }

  .confirm-button {
	display: block;
    margin: 20px auto 0 auto;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    background: #ffe000;
    color: #000;
    border: none;
    font-weight: 500;
    border-radius: 10px;
  }

  .confirm-button2 {
    display: block;
    margin: 20px auto 0 auto;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
	background: #ffe000;
	color:#000;
  }
 
  p { color:#FFF; font-size:14px;}
  
.course_5km {
    position: absolute;
    top: 51%;
    left: 10%;
    width: 36%;
    height: 19%;
    cursor: pointer;
	}
	
.course_10km {
    position: absolute;
    top: 51%;
    left: 54%;
    width: 36%;
    height: 19%;
    cursor: pointer;
	}
	
#main-image {
    cursor: pointer;
}


#fadeText {
    opacity: 1;
    transition: opacity 1s ease-in-out;
}

/* 레이어 기본 비표시 */
#noticeLayer {
	position: fixed;
	inset: 0;
	display: none;
	z-index: 9999;
}

/* 열렸을 때 표시 */
#noticeLayer.open { display: block; }

/* 반투명 검은 배경 */
#noticeLayer .layer-backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.7); /* opacity 0.7 */
}

/* 다이얼로그(이미지 컨테이너) 중앙 정렬 */
#noticeLayer .layer-dialog {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 80vw;              /* 가로 80% */	
	max-width: 600px;        /* 선택: 너무 커지는 것 방지 */
	max-height: 90vh;         /* 세로도 화면 넘어가지 않게 */
}

/* 이미지 반응형 */
#noticeLayer .notice-img {
	display: block;
	width: 100%;
	height: auto;
	user-select: none;
	-webkit-user-drag: none;
}

/* 닫기 버튼: 이미지 바깥 우측 상단 */
#noticeLayer .layer-dialog { position: absolute; }
#noticeLayer .layer-close {
	position: absolute;
	top: -14px;               /* 이미지 밖으로 살짝 */
	right: -14px;
	padding: 8px 12px;
	background: #111;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	border-radius: 16px;
	cursor: pointer;
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

/* 모바일에서 탭표시 부각 */
#noticeLayer .layer-close:active { transform: scale(0.98); }

/* iOS 사파리 스크롤 막힘 보완 */
html.modal-open, body.modal-open {
	overflow: hidden;
	touch-action: none;
}

.vrun_cert {
    position: absolute;
    top: 79.5%;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 7.1%;
    cursor: pointer;
	}
	
  /* -------- Popup (scoped) -------- */
  #vrun_cert_popup {
    position: fixed;
    inset: 0;
    display: none;          /* 기본 비노출 */
    z-index: 9999;
  }
  #vrun_cert_popup.is-open { display: block; }

  #vrun_cert_popup .backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.7); /* 0.7 black */
  }

  #vrun_cert_popup .content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 정중앙 */
    width: min(92vw, 640px);
    max-height: 88vh;
    outline: none;
  }

  #vrun_cert_popup .content img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 88vh;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.35);
  }

  /* 화면 우측 상단 Close */
  #vrun_cert_popup .close-btn {
    position: fixed;       /* 화면의 우측 상단 고정 */
    top: 16px;
    right: 16px;
    width: 44px;
    height: 44px;
    border: 0;
    border-radius: 999px;
    background: rgba(0,0,0,0.6);
    color: #fff;
    font-size: 28px;
    line-height: 44px;
    text-align: center;
    cursor: pointer;
    backdrop-filter: blur(2px);
  }
  #vrun_cert_popup .close-btn:hover { background: rgba(0,0,0,0.75); }

  /* 열렸을 때 스크롤 잠금용 보조 클래스 */
  body.vrun_cert_lock { overflow: hidden; }
 
input:focus {
  outline: none;
}

#run_no {
	position: absolute;
    top: 35.11%;
    left: 26%;
    width: 62%;
    height: 6.9%;
    color: #000;
    border: none;
}

#name {
	position: absolute;
    top: 43.11%;
    left: 26%;
    width: 62%;
    height: 6.9%;
    color: #000;
    border: none;
}

#distance {
	position: absolute;
    top: 51.16%;
    left: 26%;
    width: 62%;
    height: 6.9%;
    color: #000;
    border: none;
}

#run_time {
	position: absolute;
    top: 59.11%;
    left: 26%;
    width: 62%;
    height: 6.9%;
    color: #000;
    border: none;
}

#run_date {
	position: absolute;
    top: 66.89%;
    left: 26%;
    width: 62%;
    height: 6.9%;
    color: #000;
    border: none;
}

#vrun_submit {
	position: absolute;
    top: 76.5%;
    left: 50%;
    transform: translateX(-50%);
    width: 37%;
    height: 11.5%;
    opacity: 0;
    cursor: pointer;
}

/* 팝업 내부 교체되는 뷰 공통 */
#vrun_cert_popup #vrun_cert_view {
  position: relative;
  width: min(92vw, 640px);
  max-height: 88vh;
}

#vrun_cert_popup #vrun_cert_view > img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 88vh;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,0.35);
}

/* 성공 화면에서 값 오버레이 */
#vrun_cert_popup .status-layer {
  position: absolute;
  inset: 0;
  pointer-events: none;
  font-weight: 900;
}

/* 각 필드의 위치를 이미지 기준으로 조정하세요 */
#vrun_cert_popup .field {
  position: absolute;
  font-size: clamp(14px, 2.4vw, 18px);
  color: #111;
}

/* 샘플 좌표 (px/%)는 vrun_status.png에 맞춰 수정) */
#vrun_cert_popup .field.run_no   {
    top: 48.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 24px;
    font-weight: 900;
}
#vrun_cert_popup .field.name     {
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 72px;
    font-weight: 900;
}
#vrun_cert_popup .field.distance {
    top: 66%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 27px;
    font-weight: 900;
    color: #FFF;
}
#vrun_cert_popup .field.run_time {
    top: 71%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 70px;
}
#vrun_cert_popup .field.run_date {
    top: 79%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 27px;
    color: #FFF;
    font-weight: 900;
}


@media (max-width: 500px) {
	#vrun_cert_popup .field.run_no   {
		font-size: 14px;
	}
	#vrun_cert_popup .field.name     {
		font-size: 31px;
	}
	#vrun_cert_popup .field.distance {
		font-size: 14px;
	}
	#vrun_cert_popup .field.run_time {
		font-size: 36px;
	}
	#vrun_cert_popup .field.run_date {
		font-size: 14px;
	}
}

/* 결과 카드(이미지+텍스트 오버레이+커버) */
#vrun_cert_popup .result-card {
	position: relative;
	width: 100%;
}

/* 2초 뒤 떠서 클릭 유도하는 커버 */
#vrun_cert_popup .vrun-cover {
	position: absolute;
	inset: 0;
	display: none; /* 2초 뒤 JS에서 is-show를 붙여 노출 */
	cursor: pointer;
}
#vrun_cert_popup .vrun-cover.is-show { display: block; }
#vrun_cert_popup .vrun-cover { user-select: none; -webkit-user-drag: none; }
