/* =========================
기본 초기화
========================= */
*,
*::before,
*::after{
	box-sizing:border-box;
	margin:0;
	padding:0;
}

html, body{
	width:100%;
	height:100%;
	font-family:'Noto Sans KR', sans-serif;
	background:#f5f5f5;
}

/* =========================
전체 래퍼 (아이패드 가로 제한)
========================= */
.wrap{
	width:100%;
	max-width:640px; /* 아이패드 가로 */
	margin:0 auto;
	min-height:90vh;
	display:flex;
	align-items:center;
	justify-content:center;
}

/* =========================
컨텐츠 박스
========================= */
.container{
	width:100%;
	padding:40px 0;
	text-align:center;
}

/* =========================
타이틀
========================= */
.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;
}

/* =========================
폼 영역
========================= */
.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;
}

/* =========================
버튼
========================= */
.btn{
    width: 90%;
    max-width: 640px;
    height: 50px;
    margin-top: 20px;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
}

.btn:active{
	transform:scale(0.98);
}

/* =========================
반응형
========================= */
@media (max-width:768px){
	.title{
		font-size:24px;
		margin-bottom:20px;
	}
	.subtitle{
		font-size:18px;
	}
}


/* =========================
Partner Day 검색 에러
========================= */
.pd-search-error{
	width:90%;
	max-width:640px;
	margin:0 auto 16px;
	font-size:13px;
	color:#d93025;
	text-align:left;
}

/* =========================
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;
}

@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;
	}
}

/* =========================
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%;
}

#section02 .container{
	padding:60px 0;
}

#section02 .agenda-list{
	display:flex;
	flex-direction:column;
	gap:28px;
}

/* 카드 */
#section02 .agenda-item{
    position: relative;
    background: #000;
    color: #fff;
    border-radius: 40px;
    padding: 20px 20px 20px;
    width: 90%;
    max-width: 640px;
    margin: 0 auto;
}

/* 시간 캡슐 */
#section02 .agenda-time{
	position:absolute;
	top:-22px;
	left:20px;
	background:#000;
	padding:10px 18px;
	border-radius:10px;
	font-size:18px;
	font-weight:600;
}

#section02 .agenda-time span{
	margin-left:8px;
	font-weight:400;
	opacity:0.8;
}

/* 내용 */
#section02 .agenda-content{
	text-align:left;
}

#section02 .agenda-title{
	font-size:20px;
	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: #38d063;
    color: #fff;
    border: none;
    border-radius: 20px;
    padding: 4px 8px;
    font-size: 16px;
    cursor: pointer;
}

/* 경고 아이콘 */
#section02 .warn-icon{
	position:absolute;
	right:80px;
	top:20px;
	width:22px;
	height:22px;
	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L1 21h22L12 2zm0 14h-1v-4h2v4h-1zm0 4h-1v-2h2v2h-1z'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* 필수 선택 */
#section02 .required{
	outline:2px solid #ff4d4d;
}

#section02 .required-text{
	color:#ff4d4d;
	font-weight:700;
}

/* 반응형 */
@media (max-width:768px){

	#section02 .agenda-item{
		padding:16px 16px 16px;
		border-radius:30px;
	}

	#section02 .agenda-time{
		font-size:11px;
		padding:8px 14px;
		top:-18px;
	}

	#section02 .agenda-title{
		font-size:11px;
	}

	#section02 .agenda-sub{
		font-size:12px;
	}
	
    #section02 .agenda-btn {
        right: -3%;
        top: 24%;
        padding: 4px 8px;
        font-size: 10px;
        cursor: pointer;
    }
}