/* =========================
기본 초기화
========================= */
*,
*::before,
*::after{
	box-sizing:border-box;
	margin:0;
	padding:0;
}

html,
body{
	width:100%;
	height:100%;
	font-family:
		'Roboto',        /* 영문/숫자 우선 */
		'Noto Sans KR',  /* 한글 fallback */
		'Apple SD Gothic Neo',
		'Malgun Gothic',
		sans-serif;
	background:#181818;
}

/* =========================
전체 래퍼 (아이패드 가로 제한)
========================= */
.wrap{
	width:100%;
	max-width:640px; /* 아이패드 가로 */
	margin:0 auto;
	min-height:90vh;
	display:flex;
	align-items:center;
	justify-content:center;
}

.imagemap{
	position:relative;
	width:100%;
}

img{
	display:block;
	width:100%;
}

/* =========================
컨텐츠 박스
========================= */
.container{
	width:100%;
	max-width:640px;
	text-align:center;
	margin:0 auto;
}

/* =========================
타이틀
========================= */
.title{
	font-size:28px;
	font-weight:600;
}

.subtitle{
	font-size:22px;
	font-weight:600;
	margin-bottom:10px;
}

.desc{
	font-size:12px;
	color:#666;
	margin-bottom:50px;
}

/* =========================
폼 영역
========================= */
.index_submit{
	/* 필요 시 추가 */
}

.form-group{
	width:90%;
	max-width:640px;
	margin:0 auto 20px;
	text-align:left;
}

.label{
	font-size:14px;
	margin-bottom:6px;
	display:block;
}

.input{
	width:100%;
	height:48px;
	border:1px solid #ddd;
	border-radius:8px;
	padding:0 12px;
	font-size:14px;
}

.input:focus{
	outline:none;
	border-color:#000;
}

#search_email{
	position:absolute;
	top:62.35%;
	left:50%;
	transform:translateX(-50%);
	width:72%;
	height:5%;
	border:none;
	background:none;
}

/* =========================
버튼
========================= */
.btn{
	position:absolute;
	top:86%;
	left:50%;
	transform:translateX(-50%);
	width:74%;
	height:6.6%;
	cursor:pointer;
	opacity:0;
}

/* =========================
Partner Day 검색 에러
========================= */
.pd-search-error{
    width: 90%;
    position: absolute;
    max-width: 640px;
    /* margin: 0 auto 16px; */
    font-size: 13px;
    color: #d93025;
    text-align: left;
    top: 70%;
    left: 13%;

}

/* =========================
Partner Day 레이어 팝업
기존 스타일 충돌 방지용 pd- prefix
========================= */
.pd-layer-wrap{
	position:fixed;
	top:0;
	left:0;
	z-index:9999;
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
}

.pd-layer-dim{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,0.18);
}

.pd-layer-popup{
	position:relative;
	z-index:2;
	width:calc(100% - 48px);
	max-width:360px;
	background:#7a7373;
	border-radius:32px;
	padding:28px 20px 20px;
	box-shadow:0 10px 30px rgba(0,0,0,0.18);
}

.pd-layer-title{
	font-size:16px;
	line-height:1.5;
	font-weight:700;
	color:#fff;
	text-align:center;
	margin-bottom:18px;
}

.pd-layer-list{
	display:flex;
	flex-direction:column;
	gap:12px;
}

.pd-layer-item{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:10px;
}

.pd-layer-text{
	flex:1;
	min-width:0;
	font-size:14px;
	line-height:1.45;
	font-weight:400;
	color:#fff;
	word-break:keep-all;
}

.pd-layer-form{
	flex-shrink:0;
	margin:0;
}

.pd-layer-select-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:54px;
	height:30px;
	padding:0 14px;
	background:#fff;
	color:#000;
	border:none;
	border-radius:999px;
	font-size:12px;
	font-weight:700;
	cursor:pointer;
}

.pd-layer-select-btn:active{
	transform:scale(0.97);
}

.pd-layer-close-btn{
	display:block;
	width:100%;
	height:42px;
	margin-top:18px;
	background:transparent;
	color:#fff;
	border:1px solid rgba(255,255,255,0.35);
	border-radius:12px;
	font-size:14px;
	font-weight:500;
	cursor:pointer;
}

/* =========================
section01 전용 (기존 CSS 보호)
========================= */
#section01{
	width:100%;
}

#section01 .container{
	padding:60px 0;
}

#section01 .desc{
	line-height:1.5;
}

#section01 .welcome-name{
	font-weight:600;
	color:#000;
}

/* =========================
section02 최종 (다크 카드 통일 + 이미지 저장 보정)
========================= */
#section02{
	width:100%;
	background:#181818;
}

#section02 .container{

}

/* =========================
캡처 영역 보정
html2canvas 저장 시 흰 배경 방지
========================= */
#captureArea{
	width:100%;
	background:#181818 !important;
	color:#fff;
	overflow:hidden;
	padding-bottom:28px;
	box-sizing:border-box;
}

#captureArea > img{
	display:block;
	width:100%;
	height:auto;
}

#captureArea .agenda-user-info{
	background:#181818 !important;
	color:#fff !important;
	opacity:1;
}

#captureArea .agenda-list{
	background:#181818 !important;
	padding-bottom:24px;
	box-sizing:border-box;
}

/* =========================
아젠다 리스트
========================= */
#section02 .agenda-list{
	display:flex;
	flex-direction:column;
	gap:28px;
	background:#181818;
}

/* 카드 */
#section02 .agenda-item{
	position:relative;
	overflow:visible !important;
	background:#000;
	color:#fff;
	border-radius:10px;
	padding:20px 20px 20px;
	width:90%;
	max-width:640px;
	margin:0 auto;
	border:1px solid #EAEAEA;
	box-sizing:border-box;
}

/* 시간 캡슐 */
#section02 .agenda-time{
	position:absolute;
	top:-15px;
	left:20px;
	height:30px;
	padding:0 14px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#000;
	color:#fff;
	border:1px solid #EAEAEA;
	border-radius:999px;
	font-size:16px;
	font-weight:300;
	line-height:1;
	white-space:nowrap;
	z-index:2;
	box-sizing:border-box;
}

#section02 .agenda-time span{
	display:inline-block;
	margin-left:8px;
	font-weight:700;
	opacity:0.8;
	line-height:1;
}

/* 내용 */
#section02 .agenda-content{
	text-align:left;
}

#section02 .agenda-title{
	font-size:16px;
	line-height:1.4;
}

#section02 .agenda-sub{
	font-size:14px;
	color:#ccc;
	margin-top:14px;
	line-height:1.6;
}

/* 버튼 */
#section02 .agenda-btn{
	position:absolute;
	right:2%;
	top:26%;
	background:#28feaf;
	color:#000;
	border:none;
	border-radius:20px;
	padding:4px 8px;
	font-size:16px;
	cursor:pointer;
	font-weight:700;
}

/* 경고 아이콘 */
#section02 .warn-icon{
	position:absolute;
	right:5%;
	top:20px;
	width:22px;
	height:22px;
	background:url("../images/warn.svg") no-repeat center/contain;
	fill: white;
}


/* 필수 선택 */
#section02 .required{
	outline:2px solid #28FEAF;
}

#section02 .required-text{
	color:#28FEAF;
	font-weight:700;
}

/* 저장 / 다음 버튼 */
.btn2{
	width:90%;
	max-width:640px;
	height:50px;
	margin-top:20px;
	background:#28feaf;
	color:#000;
	border:none;
	border-radius:8px;
	font-size:20px;
	font-weight:700;
	cursor:pointer;
}

/* 사용자 정보 */
.agenda-user-info{
	margin:0 0 24px;
	font-size:15px;
	line-height:1.5;
	color:#fff;
	background:#181818;
	opacity:1;
	font-weight:300;
	text-align:center;
}

.agenda-user-info strong{
	font-weight:700;
}

/* =========================
아젠다 선택 레이어
========================= */
.agenda-layer{
	display:none;
	position:fixed;
	z-index:9999;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

.agenda-layer.is-open{
	display:block;
}

.agenda-layer-dim{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(0,0,0,.72);
}

.agenda-layer-box{
	position:absolute;
	left:50%;
	top:50%;
	width:calc(100% - 40px);
	max-width:620px;
	max-height:calc(100% - 80px);
	overflow-y:auto;
	transform:translate(-50%, -50%);
	background:#111;
	border-radius:18px;
	padding:28px 24px;
	box-sizing:border-box;
	color:#fff;
}

.agenda-layer-head{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-bottom:22px;
}

.agenda-layer-title{
	font-size:22px;
	font-weight:700;
}

.agenda-layer-close{
	border:0;
	background:transparent;
	color:#fff;
	font-size:30px;
	line-height:1;
	cursor:pointer;
}

.agenda-layer-option{
	margin-top:18px;
}

.agenda-layer-option:first-child{
	margin-top:0;
}

.agenda-layer-option-title{
    margin-bottom: 10px;
    font-size: 17px;
    font-weight: 700;
    color: #74f0b4;
    line-height: 1.45;
}

.agenda-layer-option-note{
	margin:-4px 0 12px;
	font-size:13px;
	line-height:1.5;
	color:#bbb;
}

.agenda-layer-choice{
	display:block;
	width:100%;
	margin-top:8px;
	padding:14px 16px;
	border:1px solid rgba(255,255,255,.22);
	border-radius:12px;
	background:#222;
	color:#fff;
	text-align:left;
	cursor:pointer;
	box-sizing:border-box;
}

.agenda-layer-choice:first-child{
	margin-top:0;
}

.agenda-layer-choice.is-selected{
	border-color:#74f0b4;
	background:#00684f;
}

.agenda-layer-choice:disabled{
	cursor:not-allowed;
	opacity:.45;
}

.agenda-layer-choice-title{
	display:block;
	font-size:16px;
	font-weight:700;
	line-height:1.4;
}

.agenda-layer-choice-meta{
	display:block;
	margin-top:6px;
	font-size:13px;
	line-height:1.4;
	color:#d8d8d8;
}

.agenda-layer-actions{
	display:flex;
	gap:10px;
	margin-top:24px;
}

.agenda-layer-actions button{
	flex:1;
	height:46px;
	border:0;
	border-radius:10px;
	font-size:15px;
	font-weight:700;
	cursor:pointer;
}

.agenda-layer-save{
	background:#74f0b4;
	color:#000;
}

.agenda-layer-cancel{
	background:#333;
	color:#fff;
}

/* =========================
섹션 에러
========================= */
.section-error{
	padding:40px 20px;
	color:#fff;
	line-height:1.6;
}

/* 기존 .btn이 이미지맵용이라 section-error 안에서는 보이도록 보정 */
.section-error .btn{
	position:static;
	left:auto;
	top:auto;
	transform:none;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:auto;
	height:42px;
	margin-top:20px;
	padding:0 18px;
	opacity:1;
	background:#28feaf;
	color:#000;
	border:none;
	border-radius:8px;
	font-size:14px;
	font-weight:700;
	cursor:pointer;
}

/* =========================
반응형 : 768px 이하
========================= */
@media (max-width:768px){

	.title{
		font-size:24px;
		margin-bottom:20px;
	}

	.subtitle{
		font-size:18px;
	}

	#captureArea{
		background:#181818 !important;
		padding-bottom:24px;
	}

	#captureArea .agenda-list{
		background:#181818 !important;
		padding-bottom:20px;
	}

	#section02 .agenda-item{
		padding:16px 16px 16px;
		border-radius:10px;
		overflow:visible !important;
	}

	#section02 .agenda-time{
		top:-13px;
		left:20px;
		height:26px;
		padding:0 14px;
		display:flex;
		align-items:center;
		justify-content:center;
		font-size:11px;
		font-weight:300;
		line-height:1;
		box-sizing:border-box;
	}

	#section02 .agenda-time span{
		margin-left:8px;
		line-height:1;
	}

	#section02 .agenda-title{
		font-size:11px;
	}

	#section02 .agenda-sub{
		font-size:10px;
	}

	#section02 .agenda-btn{
		right:2%;
		top:30%;
		padding:2px 6px;
		font-size:9px;
		cursor:pointer;
	}

	.btn2{
		font-size:14px;
		height:40px;
	}
}

/* =========================
반응형 : 480px 이하
========================= */
@media (max-width:480px){

	.pd-layer-popup{
		width:calc(100% - 32px);
		padding:24px 16px 16px;
		border-radius:26px;
	}

	.pd-layer-title{
		font-size:15px;
		margin-bottom:16px;
	}

	.pd-layer-text{
		font-size:13px;
	}

	.pd-layer-select-btn{
		min-width:50px;
		height:28px;
		font-size:11px;
		padding:0 12px;
	}
}




/* =========================
section02 인라인 아코디언
========================= */
.agenda-inline-accordion{
	width:90%;
	max-width:640px;
	margin:-12px auto 0;
	background:#111;
	border:1px solid #2a2a2a;
	border-top:none;
	border-radius:0 0 14px 14px;
	padding:18px 16px 16px;
	box-sizing:border-box;
}

.agenda-inline-accordion-inner{
	text-align:left;
}

.agenda-inline-title{
	font-size:18px;
	font-weight:700;
	color:#fff;
	margin-bottom:14px;
}

.agenda-inline-empty{
	font-size:14px;
	color:#bbb;
	line-height:1.5;
}

.agenda-inline-option{
	margin-top:18px;
}

.agenda-inline-option:first-child{
	margin-top:0;
}

.agenda-inline-option-title{
	margin-bottom:10px;
	font-size:15px;
	font-weight:700;
	color:#28feaf;
	line-height:1.5;
}

.agenda-inline-option-note{
	margin:-4px 0 12px;
	font-size:13px;
	line-height:1.5;
	color:#bbb;
}

.agenda-inline-choice{
	display:block;
	width:100%;
	margin-top:8px;
	padding:14px 16px;
	border:1px solid rgba(255,255,255,.18);
	border-radius:12px;
	background:#222;
	color:#fff;
	text-align:left;
	cursor:pointer;
	box-sizing:border-box;
}

.agenda-inline-choice:first-of-type{
	margin-top:0;
}

.agenda-inline-choice.is-selected{
	border-color:#74f0b4;
	background:#00684f;
}

.agenda-inline-choice:disabled{
	cursor:not-allowed;
	opacity:.45;
}

.agenda-inline-choice-title{
	display:block;
	font-size:15px;
	font-weight:700;
	line-height:1.4;
}

.agenda-inline-choice-meta{
	display:block;
	margin-top:6px;
	font-size:12px;
	line-height:1.4;
	color:#d8d8d8;
}

#section02 .agenda-btn.is-open{
	background:#1fcf90;
}

@media (max-width:768px){

	.agenda-inline-accordion{
		padding:14px 12px 12px;
		border-radius:0 0 12px 12px;
	}

	.agenda-inline-title{
		font-size:14px;
		margin-bottom:10px;
	}

	.agenda-inline-option-title{
		font-size:12px;
	}

	.agenda-inline-option-note{
		font-size:11px;
	}

	.agenda-inline-choice{
		padding:10px 12px;
		border-radius:10px;
	}

	.agenda-inline-choice-title{
		font-size:11px;
	}

	.agenda-inline-choice-meta{
		font-size:10px;
	}
}

#top-header img {
	display:block
	width:100%;
}

#top-header .logo {
	margin:30px auto;
	width:50%;
	max-width: 316px;
}

#top-header .hero-title {
	color:#FFF;
	font-weight:500;
	font-size:22px;
	line-height:1.2;
	margin-bottom:15px;
}

#top-header .sub-title {
	color:#FFF;
	font-weight:500;
	font-size:18px;
	line-height:1.2;
	margin-bottom:15px;
}

#top-header .hero-subtitle {
	color:#fff;
	font-weight:500;
	font-size:14px;
	line-height:1.2;
	margin-bottom:15px;
}

#top-header .hero-subtitle2 {
	color:#28feaf;
	font-weight:500;
	font-size:12px;
	line-height:1.2;
	margin-bottom:15px;
}

.btn-wrap:last-child{
	padding-bottom:50px;
}