.short-button-next, .short-button-prev{font-size:0;}

.header_wrap{background:#fff; padding:27px 70px; box-shadow:7px 7px 24px 0 rgba(0,0,0,0.13); position:fixed; top:0; left:0; right:0; z-index:10;}
.logo img{display:block; width:656px;}
.header_menu li a{display:block; font-size:20px; font-weight:400; line-height:1; color:#000;}
.header_menu li a:hover{color:#d71518;}

.camera_wrap{}
.camera_wrap .swiper {width: 100%; height:100vh;}
.camera_wrap .swiper-wrapper {width: 100%; height:100%;}
.camera_wrap .swiper-slide {width: 100%; background-size: cover !important; background-position: center; height:100%;}
/*.camera_wrap .swiper-slide img{display:block; width:100%;}*/
.main_slide01{background-image:url('/images/main/visual_slide01.jpg');}
.main_slide01 img{display:none;}

.main_content{background: #1A317B; background: linear-gradient(180deg,rgba(26, 49, 123, 1) 0%, rgba(12, 29, 81, 1) 100%);}
.main_title img{display:block; margin:0 auto;}
.main_desc{text-align:center; color:#fff; font-size:25px; font-weight:500; line-height:1.5; margin-top:10px; letter-spacing:-0.05em;}

.ex_wrap{position:relative; z-index:2;}
.ex_wrap > div{width:50%; position:relative; box-sizing:border-box;}
.ex_wrap > div:nth-child(1){position:relative;}
.ex_wrap > div:nth-child(1) img{position:absolute; top:0; left:0;}
.ex_info{padding-left:55px;}
.ex_info p{color:#fff; font-size:20px; line-height:1.5; letter-spacing:-0.05em; font-weight:300;}
.ex_info p + p{margin-top:34px;}
.ex_info p strong{font-weight:600;}

.ex_info_list{margin-top:40px;}
.ex_info_list li + li{margin-top:50px;}
.ex_info_list h2{background:#fff434; color:#000; font-weight:600; font-size:21px; line-height:34px; height:34px;  letter-spacing:-0.05em; padding:0 22px; display:inline-block; border-radius:12px;}
.ex_info_list > li > div{margin-top:16px; color:#fff; font-size:28px; letter-spacing:-0.05em;}
.ex_info_list > li:nth-child(2) > div{letter-spacing:0;}
.ex_info_list > li button{color:#fff; background:#219741; border:0; border-radius:6px; height:22px; padding:0 18px;}
.ex_info_list > li button:after{content:''; display:block; width:4px; height:8px; background:url('/images/main/map_arrow.png') center center no-repeat;}
.ex_info_list > li button:hover{background:#000;}

.main_short_list{margin-top:130px; padding-left:55px; padding-right:55px; position:relative;}
.main_short_list video{width:100%; display:block;}
.main_short_list .swiper-slide{border-radius:12px; overflow:hidden; background:#fff;}
.main_short_deco img{position:absolute; z-index:2;}
.main_short_deco img:nth-child(1){top:46px; left:-17px;}
.main_short_deco img:nth-child(2){bottom:137px; right:-8px;}
.main_short_deco img:nth-child(3){bottom:-20px; left:calc(50% + 82px);}
.main_short_deco img:nth-child(4){bottom:-124px; left:-60px;}
.main_short_deco img:nth-child(5){bottom:-170px; right:-60px;}

.goods_wrap{background:url('/images/main/goods_bg.jpg') center top no-repeat; background-size:cover; position:relative;}
.goods_wrap > img{position:absolute; z-index:2;}
.goods_img01{top:94px; left:50%; margin-left:-600px;}
.goods_img02{top:67px; left:50%; margin-left:320px;}

.goods-left-swiper .goods-slide{height:auto;}

.goods_list_left .swiper-wrapper {
	transition-timing-function: linear;
	column-gap: 10px;
}
		.goods_list_left .swiper-slide {
	text-align: center;
	font-size: 18px;
	background: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	width: auto;
	transition: transform 0.3s;
}
.goods_list_left .swiper-slide{border-radius:4px; overflow:hidden; border:2px solid #fff;}
.goods_list_left .swiper-slide img, .goods_list_right .swiper-slide img {display: block	}

.goods-slide{position:relative;}
.goods_hover{position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.67); display:flex; justify-content:center; align-items:center; flex-direction:column; color:#fff; font-size:20px; font-weight:600; letter-spacing:-0.05em; padding:0 20px; box-sizing:border-box; opacity:0; transition:opacity 0.3s;}
.goods-slide:hover .goods_hover{opacity:1;}
.goods_hover h2{font-size:37px; font-weight:500; text-align:center;}
.goods_hover h2 div{font-size:27px; font-weight:200;}

.order_form_wrap > div{padding-top:32px;}
.order_form_wrap > div + div{margin-top:70px;}
.order_form_wrap > div:nth-child(1){border-top:2px solid #d71518;}
.order_form_wrap > div:nth-child(2){border-top:2px solid #f2e824;}
.order_form_wrap > div:nth-child(3){border-top:2px solid #219741;}

.order_info_title{color:#000; font-size:32px; line-height:1; font-weight:600; letter-spacing:-0.05em;}
.order_info_title div{font-size:15px; margin-bottom:10px;}
.order_form{position:relative;}
.order_form_input{margin-top:36px; border-top:1px solid #dfdfdf; padding-top:60px; padding-right:120px;}
.order_form_input label{display:block; font-weight:200; font-size:20px; line-height:1; letter-spacing:-0.05em; color:#000; margin-bottom:10px;}
.order_form_input input[type="text"]{display:block; height:38px; border:1px solid #dadada; box-sizing:border-box; padding:0 10px; font-size:17px; font-weight:300; width:240px; max-width:100%;}
.order_form_input input[type="text"]::placeholder{color:#999;}
.order_form_input input[type="text"]#address{width:516px;}
.order_form_input input + p{color:#1f1f1f; font-size:14px; letter-spacing:-0.05em; font-weight:200;}
.order_info_deco{position:absolute; top:-200px; right:-50px;}

.calender_select{color:#1f1f1f; font-size:25px; font-weight:500; letter-spacing:-0.05em; font-weight:600;}
.calender_select + button{border:0; background:transparent;}
.product_info{margin-top:40px;  border-top:1px solid #dfdfdf; position:relative;}

.product_info > div{padding-top:40px;}
.product_info > div:nth-child(2){padding-top:150px;}
.product_info h3{font-size:23px; font-weight:300; letter-spacing:-0.05em;}
.product_info h3 strong{font-weight:700;}
.product_info h3 + ul{margin-top:8px; }
.product_info h3 + ul li{position:relative; padding-left:10px; font-weight:200; word-break:keep-all;}
.product_info h3 + ul li:before{content:'*'; display:block; position:absolute; top:0; left:0;}
.product_info h3 + ul li+ li{margin-top:6px;}
.product_option_table{border:1px solid #d7d7d7;}
.product_option_table thead{background:url('/images/main/price_table_bg.jpg') center center no-repeat; background-size:cover;}
.product_option_table th, .product_option_table td{border-bottom:1px solid #d7d7d7;}
.product_option_table th{padding:24px 0; color:#fff; font-size:19px; font-weight:600; letter-spacing:-0.05em;}
.product_option_table td{padding:12px 15px; font-size:19px;}
.product_option_table td:nth-child(1){padding-left:20px;}
.product_option_table td:nth-child(2){font-size:17px;}
.product_option_table td:nth-child(2) span{font-weight:200;}
.product_option_table td:nth-child(3){text-align:right;}
.product_option_table td:nth-child(4){padding-right:20px;}
.sale_price{width:78px;}

.product_option_table td .full_price{font-size:15px; font-weight:200; text-decoration: line-through; white-space:nowrap}

.price_info_wrap{position:relative; padding-top:105px; width:300px; padding-left:25px; padding-right:25px; box-sizing:border-box; border-left:1px solid #dfdfdf; padding-bottom:42px;}
.product_info_img{position:absolute; top:55px; right:-26px;}
.price_info_wrap h3{text-align:center; color:#1f1f1f; font-size:34px; font-weight:700; letter-spacing:-0.05em;}
.price_info_wrap h3 > div:nth-child(1){font-size:18px; font-weight:700;}
.price_info_wrap h3 > div:nth-child(2) span{font-size:27px; font-weight:200;}
.price_info_wrap > div{font-size:18px; font-weight:600; color:#1f1f1f;}
.price_info_wrap li + li{margin-top:24px;}
.price_info{border-top:3px solid #0f3473; padding-top:30px;}
.price_sale{border-top:3px solid #f2e824; padding-top:30px;}
.price_end {border-top:1px solid #dfdfdf; margin-top:24px; padding-top:24px;}
.total_price{border-top:3px solid #d71518; padding-top:50px;}
.order_btn{margin-top:55px; color:#fff; background:url('/images/main/payment_btn_bg.jpg') center center no-repeat; background-size:cover; height:55px; line-height:55px; font-size:24px; font-weight:600; letter-spacing:-0.05em; border:0; width:100%; height:66px; }

.order_caution{margin-top:100px;}
.order_caution > div > div:nth-child(1){width:570px;}
.order_caution > div > div:nth-child(2){width:calc(100% - 570px); padding-left:36px; box-sizing:border-box; border-left:1px solid #dfdfdf;}
.caution_section{padding-left:43px; position:relative;}
.caution_section:before{content:''; display:block; position:absolute; top:0; left:0; width:41px; height:43px;}
.caution_section.se01:before{background:url('/images/main/info_icon01.png') center center no-repeat;}
.caution_section.se02:before{background:url('/images/main/info_icon02.png') center center no-repeat; left:-8px;}
.caution_section.se03:before{background:url('/images/main/info_icon03.png') center center no-repeat; left:-10px;}

.caution_section{font-size:17px; letter-spacing:-0.05em; color:#1f1f1f; font-weight:200; line-height:1.4;}
.caution_section h3{color:#1f1f1f; font-size:23px; line-height:1; letter-spacing:-0.05em; font-weight:600; margin-bottom:15px;}
.caution_section.se02 li{position:relative; padding-left:14px; word-break:keep-all;}
.caution_section.se02 li:before{content:''; display:block; position:absolute; top:0; left:0;}
.caution_section.se02 li:nth-child(1):before{content:'1.';}
.caution_section.se02 li:nth-child(2):before{content:'2.';}
.caution_section.se02 li:nth-child(3):before{content:'3.';}
.caution_section.se02 li + li{margin-top:15px;}
.caution_section p{word-break:keep-all;}
.caution_section p + p{margin-top:18px;}


.caution_section.se03 h4{font-size:17px; font-weight:600; margin-top:44px;}
.caution_section.se03 li div:nth-child(1){width:62px;}

footer{padding-top:100px; padding-bottom:100px; background:#0c1c50;}
.footer_txt{color:#fff; font-size:15px; line-height:1.5; letter-spacing:-0.03em; font-weight:300;}
.footer_txt p{word-break:keep-all;}
.footer_txt p + p{margin-top:24px;}
.footer_menu{font-size:15px;color:#fff; gap:20px;}
.footer_menu a{color:#fff;}
.footer_menu span{font-weight:600; font-size:21px;}
.footer_info{color:#fff; font-size:14px; line-height:1.6;}
.footer_info h3{font-width:500;}
.footer_info ul{margin-top:8px;}
.footer_info ul li{line-height:1; font-weight:300;}
.footer_info ul li + li{margin-left:8px; padding-left:8px; border-left:1px solid #fff;}
.footer_logo{width:140px;}

.partner_wrap img{height:36px;}
.partner_title{font-weight:500; color:#fff; font-size:14px; word-break:keep-all;}

.layer_pop{position:fixed; background:rgba(0,0,0,0.5); top:0; left:0; width:100%; height:100%; z-index:1000;}
.layer_pop > .dp_flex{height:100%;}
.layer_pop_content{background:#fff; padding:84px; width:100%; max-width:740px; box-sizing:border-box; position:relative;}
.layer_pop > .dp_flex > div{ position:relative;}
.layer_pop > .dp_flex > div > div{overflow:hidden; max-height:80vh; overflow-y:auto;}

.pop_form > div + div{margin-top:28px;}
.pop_title{color:#0c0c0c; font-size:24px; font-weight:700; line-height:1; letter-spacing:-0.03em;}
.pop_txt{font-size:20px; color:#1f1f1f; font-weight:300; line-height:1; margin-top:10px; word-break:keep-all;}
.pop_title2{color:#0c0c0c; font-size:32px; font-weight:600; line-height:1; letter-spacing:-0.03em;}
.pop_txt2{font-size:18px; color:#1f1f1f; font-weight:300; line-height:1.4;}

.pop_form{margin-top:44px;}
.pop_form label{display:block; color:#1f1f1f; padding-left:10px; box-sizing:border-box; font-size:20px;}
.pop_form label .req{color:#1f1f1f;}
.pop_form input[type="text"]{display:block; width:320px; height:40px; border:1px solid #dfdfdf; padding:0 10px; box-sizing:border-box; margin-top:12px;}
.pop_form_txt{margin-top:6px; font-size:14px;}
.pop_form{position:relative;}
.pop_img{position:absolute; bottom:0; right:0;}
.pop_btn01{font-size:20px; color:#fff; font-weight:600; border:0; width:148px; height:38px; background:url('/images/main/payment_btn_bg.jpg') center center no-repeat;}
.pop_btn02{border:0; background:transparent; color:#666; font-size:18px; width:148px; height:38px; border:1px solid #dfdfdf;}
.pop_close_btn{position:absolute; top:-20px; right:-20px; width:40px; height:40px; background:#fff url('/images/main/pop_close.svg') center center no-repeat; background-size:20px; border:0; border-radius:50%; font-size:0; box-shadow:0 0 10px 0 rgba(0,0,0,0.1); z-index:2;}

.layer_pop_content.ticket{max-width:600px;}
.ticket_confirm_wrap table{border-top:2px solid #565656; margin-top:24px; width:100%;}
.ticket_confirm_wrap table th, .ticket_confirm_wrap table td{padding:26px 20px; text-align:left; border-bottom:1px solid #dfdfdf; font-size:18px; vertical-align:top;}
.ticket_confirm_wrap table th{width:130px; box-sizing:border-box;}
.ticket_refund_info{padding:30px 10px 0; word-break:keep-all;}
.ticket_refund_info h3{color:#1f1f1f; font-size:15px; font-weight:600; line-height:1;}
.refund_list01 > li{margin-top:14px; color:#1f1f1f; font-size:13px; font-weight:300; line-height:1.4; position:relative; padding-left:15px;}
.refund_list01 > li:before{display:block; position:absolute; left:0; top:0;}
.refund_list01 > li:nth-child(1):before{content:'1.';}
.refund_list01 > li:nth-child(2):before{content:'2.';}
.refund_list01 > li:nth-child(3):before{content:'3.';}
.refund_list02 li{color:#1f1f1f; font-size:13px; font-weight:300; line-height:1.4; position:relative; padding-left:10px;}
.refund_list02 li:before{content:'-'; display:block; position:absolute; left:0; top:0;}

.pop_btn03, .pop_btn04{width:152px; height:50px; font-size:20px; line-height:50px; border:0;}
.pop_btn03{color:#555; background:#d1d1d1}
.pop_btn04{color:#fff; background:#245dff}

/* 티켓 확인 모달 스크롤 설정 */
/*.ticket_check_pop .layer_pop_content{max-height:90vh; overflow-y:auto; overflow-x:hidden;}*/
.ticket_confirm_wrap{overflow:visible;}


/* 결제 방법 선택 스타일 */
.payment_method_selection {
	margin: 20px 0;
	padding: 20px;
	background: #f8f9fa;
	border-radius: 8px;
	border: 1px solid #e9ecef;
}

.payment_method_selection h3 {
	margin: 0 0 15px 0;
	font-size: 16px;
	font-weight: 600;
	color: #333;
}

.payment_methods {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 10px;
}

.payment_method_option {
	display: flex;
	align-items: center;
	padding: 12px 16px;
	background: white;
	border: 2px solid #e9ecef;
	border-radius: 6px;
	cursor: pointer;
	transition: all 0.2s ease;
	font-size: 14px;
	font-weight: 500;
}

.payment_method_option:hover {
	border-color: #007bff;
	background: #f8f9ff;
}

.payment_method_option input[type="radio"] {
	margin-right: 8px;
	accent-color: #007bff;
}

.payment_method_option input[type="radio"]:checked + span {
	color: #007bff;
	font-weight: 600;
}

.payment_method_option:has(input[type="radio"]:checked) {
	border-color: #007bff;
	background: #e3f2fd;
}

@media (max-width: 768px) {
	.payment_methods {
		grid-template-columns: 1fr;
	}
	.main_slide01{background-image:url('/images/main/visual_slide01_mobile2.jpg'); position:relative; background-position:left -5vw top !important;}
	.main_slide01 img{position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); max-width:90%; display:block;}
}

/* 주소 입력 관련 스타일 */
.addr_search {
	display: flex;
	gap: 10px;
	align-items: center;
}
.addr_search input {
	flex: 1;
}
.btn_addr_search {
	padding: 10px 15px;
	background-color: #007bff;
	color: white;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	white-space: nowrap;
}
.btn_addr_search:hover {
	background-color: #0056b3;
}

/* 수량 조절 컨트롤 스타일 */
.quantity_control {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	border: 1px solid #ddd;
	border-radius: 4px;
	overflow: hidden;
	width: 100px;
	margin: 0 auto;
}

.qty_btn {
	width: 30px;
	height: 35px;
	border: none;
	background: #f8f9fa;
	color: #333;
	font-size: 16px;
	font-weight: bold;
	cursor: pointer;
	transition: background-color 0.2s;
}

.qty_btn:hover {
	background: #e9ecef;
}

.qty_btn:active {
	background: #dee2e6;
}

.qty_btn.minus {
	border-right: 1px solid #ddd;
}

.qty_btn.plus {
	border-left: 1px solid #ddd;
}

.qty_input {
	width: 40px;
	height: 35px;
	border: none;
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	background: #fff;
	outline: none;
}

/* Chrome, Safari, Edge, Opera에서 number input 화살표 숨기기 */
.qty_input::-webkit-outer-spin-button,
.qty_input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Firefox에서 number input 화살표 숨기기 */
.qty_input[type=number] {
	-moz-appearance: textfield;
	appearance: textfield;
}

/* 모바일 셀렉트박스 스타일 메뉴 */
.mobile_select_menu_wrap {
display: none;
width: 100%;
margin-top: 20px;
}

.mobile_select_menu {
position: relative;
width: 100%;
}

.mobile_select_trigger {
width: 100%;
background: rgba(255, 255, 255, 0.1);
border: 1px solid rgba(255, 255, 255, 0.3);
border-radius: 6px;
padding: 12px 16px;
font-size: 16px;
color: white;
cursor: pointer;
display: flex;
justify-content: space-between;
align-items: center;
transition: all 0.2s ease;
}

.mobile_select_trigger:hover {
background: rgba(255, 255, 255, 0.15);
border-color: rgba(255, 255, 255, 0.5);
}

.mobile_select_trigger.active {
background: rgba(255, 255, 255, 0.15);
border-color: rgba(255, 255, 255, 0.5);
}

.mobile_select_trigger.active .select_arrow {
transform: rotate(180deg);
}

.selected_text {
flex: 1;
text-align: left;
color: white;
}

.select_arrow {
font-size: 12px;
color: rgba(255, 255, 255, 0.8);
transition: transform 0.2s ease;
}

.mobile_select_list {
position: absolute;
bottom: 100%;
left: 0;
right: 0;
background: white;
border: 1px solid #ddd;
border-bottom: none;
border-radius: 6px 6px 0 0;
box-shadow: 0 -2px 10px rgba(0,0,0,0.1);
display: none;
z-index: 1000;
max-height: 300px;
overflow-y: auto;
}

.mobile_select_list.active {
display: block;
}

.mobile_select_list li {
border-bottom: 1px solid #eee;
}

.mobile_select_list li:last-child {
border-bottom: none;
}

.mobile_select_list a {
display: block;
padding: 12px 16px;
color: #333;
text-decoration: none;
font-size: 15px;
transition: background-color 0.2s ease;
}

.mobile_select_list a:hover {
background: #f8f9fa;
color: #007bff;
}

.layer_pop_content_txt{background:#fff; max-width:860px; box-sizing:border-box;position:relative;}
.layer_pop_content_txt > div{ overflow:hidden; max-height:80vh; overflow-y:auto;}
.layer_pop_content_txt > div > div{padding:60px;}
.layer_pop_content_txt *{word-break:keep-all; color:#151515; line-height:1.4;}
.layer_pop_content_txt p{margin-top:6px; font-size:16px;}
.layer_pop_content_txt h3{margin-top:12px; font-size:18px;}
.layer_pop_content_txt h4{margin-top:6px; font-size:16px;}
.layer_pop_content_txt li{margin-top:6px;}


	/* 740px 이하에서만 셀렉트 메뉴 표시 */
	@media (max-width: 740px) {
	.mobile_select_menu_wrap {
		display: block;
	}
	}

	/* 기존 햄버거 메뉴는 768px 이하에서 표시 */
	@media (min-width: 741px) {
	.mobile_menu_btn {
		display: none;
	}
	}

	@media (max-width: 768px) {
	.desktop_menu {
		display: none;
	}
	
	.mobile_menu_btn {
		display: block;
	}
	}

/* 개인정보 처리방침 팝업 전용 커스텀 스크롤바 (Cursor 클라이언트 스타일) */
.layer_pop_content_txt::-webkit-scrollbar {
	width: 8px;
	}

	.layer_pop_content_txt::-webkit-scrollbar-track {
	background: rgba(0, 0, 0, 0.03);
	border-radius: 4px;
	margin: 4px;
	}

	.layer_pop_content_txt::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.15) 0%, rgba(0, 0, 0, 0.25) 100%);
	border-radius: 4px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	transition: all 0.3s ease;
	}

	.layer_pop_content_txt::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.25) 0%, rgba(0, 0, 0, 0.4) 100%);
	transform: scaleX(1.2);
	}

	.layer_pop_content_txt::-webkit-scrollbar-thumb:active {
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0.6) 100%);
	}

	/* Firefox 전용 (개인정보 처리방침 팝업만) */
	.layer_pop_content_txt {
	scrollbar-width: thin;
	scrollbar-color: rgba(0, 0, 0, 0.2) rgba(0, 0, 0, 0.05);
	}

@media (max-width: 1920px) {
	.logo img{display:block; width:490px;}
}

@media (max-width: 1440px) {
	.header_wrap{padding-left:20px; padding-right:20px;}
	.goods_img01{left:20px; margin-left:0; width:190px; top:142px;}
	.goods_img02{right:20px; margin-left:0; left:auto; width:270px; top:148px;}
	.goods_list_left .swiper-slide, .goods_list_right .swiper-slide{width:42vw;}
	.goods_list_left .swiper-slide img, .goods_list_right .swiper-slide img{width:100%;}

	.header_menu ul{gap:42px;}
	.logo img{width:440px;}
}

@media (max-width: 1360px) {
	.main_short_deco img:nth-child(1){left:20px; margin-left:0; width:62px;}
	.main_short_deco img:nth-child(2){width:64px; right:20px; left:auto; bottom:182px; margin-left:0;}
	.main_short_deco img:nth-child(3){width:60px;}
	.main_short_deco img:nth-child(4){left:20px; margin-left:0; width:220px; bottom:-62px;}
	.main_short_deco img:nth-child(5){right:20px; margin-left:0; width:132px; left:auto; bottom:-20px;}
	.product_info_img{right:0; width:72px;}
	.order_info_deco{right:0; width:200px; top:-168px;}
}

@media (max-width: 1200px) {
	.logo img{width:320px;}
	.header_menu li a{font-size:17px;}
	.header_menu ul{gap:32px;}

	.ex_wrap > div:nth-child(1) img{width:100%}
	.order_caution > .dp_flex{display:block;}
	.order_caution > .dp_flex > div{width:auto;}
	.order_caution > div > div:nth-child(1), .order_caution > div > div:nth-child(2){width:auto;}
	.order_caution > div > div:nth-child(2){padding-left:0; border-left:0; margin-top:40px;}

	.product_info > div:nth-child(1){width:calc(100% - 320px);}
	.product_option_table{width:100%;}
	.product_option_table tr{position:relative; border-bottom:1px solid #d7d7d7;}
	.product_option_table tr td{border-bottom:0; box-sizing:border-box;}
	.product_option_table tr td:nth-child(1){padding-top:10px; padding-bottom:30px; font-size:18px;}
	.product_option_table tr td:nth-child(2){position:absolute; border-bottom:0; padding:0; left:21px; top:34px; font-size:14px; }
	.product_option_table td:nth-child(3){width:175px;}
	.product_option_table td:nth-child(4){width:137px;}
	.product_option_table td{font-size:17px;}
	.product_option_table td .full_price{font-size:13px;}
	.sale_price{width:68px;}
}

@media (max-width: 1024px) {
	.footer_content_wrap{display:block; margin-top:40px;}
	.footer_txt p + p{margin-top:12px;}
	.footer_content_wrap > div:nth-child(1){display:none;}
	.footer_content_wrap > div:nth-child(2){margin-top:24px;}
}


@media (max-width: 960px) {
	.ex_wrap{display:block;}
	.ex_wrap > div{width:auto;}
	.ex_wrap > div:nth-child(1) img{position:static; width:auto; margin:0 auto; display:block; transform: translateX(70px);}
	.ex_info{word-break:keep-all; margin-top:-18vw;}

	.product_option_table tr td:nth-child(1){padding-bottom:54px; width:100%;}
	.sale_price{width:auto;}
	.product_option_table td:nth-child(3){width:auto; position:absolute; left:20px; top:54px; width:auto; padding:0;}
	.product_option_table td:nth-child(3) .dp_flex_wauto{flex-direction: row-reverse;}

	.product_option_table th:nth-child(3){display:none;}
	.order_caution{margin-top:54px;}
}

@media (max-width: 840px) {
	.product_info{display:block;}
	.product_info > div:nth-child(1){width:100%;}
	.product_info > div:nth-child(2){width:100%; padding-top:60px; border-left:0; padding-left:0; padding-right:0;}
	.product_info_img{display:none;}
	.ex_wrap{margin-top:32px;}
	.main_title img{width:420px;}
	.main_desc{font-size:20px;}
	.ex_wrap > div:nth-child(1) img{width:420px; transform: translateX(54px);}

	.main_content{padding-top:140px;}
	.ex_info{padding-left:0;}
	.ex_info p{font-size:16px;}
	.ex_info p + p{margin-top:16px;}

	.ex_info_list h2{font-size:18px; height:30px; line-height:30px;}
	.ex_info_list > li > div{font-size:22px; margin-top:12px;}
	.ex_info_list li + li{margin-top:30px;}
	.main_short_list{margin-top:60px;}

	.main_content{padding-top:120px; padding-bottom:120px;}
	.goods_wrap{padding-top:120px;}
	.main_title img{width:320px;}
	.goods_img01{width:90px; display:none;}
	.goods_img02{width:160px; display:none;}

	.main_short_deco img:nth-child(4){width:140px; bottom:-30px;}
	.main_short_deco img:nth-child(5){width:72px; bottom:10px;}
	.main_short_list{padding-left:0; padding-right:0; margin-left:-4vw; margin-right:-4vw;}

	.goods_hover h2{font-size:28px;}
	.goods_hover h2 div{font-size:20px;}
	.order_info h2 img{width:320px;}

	.footer_top_txt{flex-direction: column-reverse; flex-wrap:wrap;}
	.footer_top_txt > div{width:100%;}
	.footer_top_txt > div:nth-child(1){margin-top:20px;}
	.layer_pop_content{padding:30px;}
	.layer_pop > .dp_flex{padding-left:30px; padding-right:30px;}
	.layer_pop_content_txt > div > div{padding:30px;}


}

@media (max-width: 770px) {
	.footer_info ul{display:block;}
	.footer_info ul li{margin-top:6px;}
	.footer_info ul li + li{padding-left:0; margin-left:0; border-left:0;}
	.main_content{overflow:hidden;}
}

@media (max-width: 740px) {
.order_form_input{display:block;}
.order_form_input > div + div{margin-top:24px;}
.footer_menu{display:none;}

}

@media (max-width: 640px) {
.pop_txt{font-size:16px;}
.pop_img{display:none;}
.pop_form input[type="text"]{width:100%;}
.pop_form{margin-top:24px;}
.pop_form label{font-size:16px;}

.ticket_confirm_wrap table th, .ticket_confirm_wrap table td{padding:14px; font-size:14px;}
.ticket_confirm_wrap table th{width:90px;}
.pop_btn_Wrap > button{width:50%; font-size:16px;}


.partner_wrap > div{display:block;}
.partner_wrap > div > div + div{margin-top:16px;}

.caution_section:before{background-size:24px !important; background-position:left top !important;}
.caution_section{padding-left:24px; font-size:14px;}
.caution_section h3{font-size:20px;}
.caution_section p + p, .caution_section.se02 li + li{margin-top:6px;}
.caution_section.se03 h4{margin-top:20px;}

.order_btn{margin-top:32px; font-size:18px; height:40px; line-height:40px;}
.price_info{padding-top:16px;}
.price_end{padding-top:16px; margin-top:16px;}
.price_sale{margin-top:16px !important; padding-top:16px;}
.ex_wrap > div:nth-child(1) img{width:100%;transform: translateX(11vw);}

.main_short_deco img:nth-child(1){left:0; top:-20px; width:48px;}
.main_short_deco img:nth-child(2){width:44px; right:30px; top:-16px; bottom:auto;}
.main_short_deco img:nth-child(4){width:100px; left:0;}
.main_short_deco img:nth-child(3){width:40px; left:50%; margin-left:-20px; bottom:-10px;}
.main_short_deco img:nth-child(5){width:60px; right:20px; bottom:60px;}

.ex_info_list > li > div{font-size:18px;}
.main_title img{width:230px;}
.main_desc{font-size:16px;}
.goods_wrap{padding-top:80px; padding-bottom:80px;}

.order_wrap {padding-top:80px;}
.order_info_deco{display:none;}
.order_info h2 img{width:240px;}
.order_form_wrap > div{padding-top:16px;}
.order_info_title{font-size:22px; padding-left:0; padding-right:0;}
.order_info_title div{font-size:13px; margin-bottom:4px;}
.order_form_input{padding-top:20px; margin-top:16px; padding-left:0; padding-right:0;}
.order_form_input label{font-size:16px;}
.order_form_input input[type="text"]{font-size:15px;}
.order_form_input > div + div{margin-top:16px;}

.checkbox_style01 input[type="checkbox"] + label{font-size:14px;}
.order_form_wrap > div:nth-child(2){margin-top:36px;}
.order_form_wrap > div:nth-child(2) > div{display:block; padding-left:0; padding-right:0;}
.calender_wrap{margin-top:12px; gap:8px;}
.calender_select{font-size:20px;}
.calender_wrap img{width:20px;}

.order_form_wrap > div:nth-child(3){margin-top:36px;}
.product_info{margin-top:20px;}
.product_info > div:nth-child(1){padding-top:20px;}
.product_info > div > .pl20.pr20{padding-left:0; padding-right:0;}
.product_info h3{font-size:18px;}
.product_info h3 + ul li{font-size:14px;}
.product_option_table thead{display:none;}
.product_option_table tr, .product_option_table td .product_option_table ,.product_option_table tbody{display:block;}
.product_option_table td:last-child{width:100%; box-sizing:border-box; padding-top:0;}

.qty_btn{height:25px;}
.qty_input{height:25px; line-height:25px;}

.order_wrap{padding-bottom:80px;}
footer{padding-top:60px; padding-bottom:60px;}
        
}

@media (max-width: 480px) {

	.layer_pop_content{padding:20px;}
.header_wrap{padding-top:18px; padding-bottom:18px;}
.logo img{width:200px;}
.ex_info p{font-size:4.5vw;}


}

/* 티켓 달력 모달 스타일 */
.calendar-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.calendar-modal-content {
	background: #fff;
	border-radius: 12px;
	padding: 20px;
	max-width: 400px;
	width: 90%;
	max-height: 90vh;
	overflow-y: auto;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.calendar-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	padding-bottom: 15px;
	border-bottom: 1px solid #eee;
}

.calendar-header h3 {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	color: #333;
}

.calendar-close {
	background: none;
	border: none;
	font-size: 24px;
	color: #999;
	cursor: pointer;
	padding: 0;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: all 0.2s;
}

.calendar-close:hover {
	background: #f0f0f0;
	color: #666;
}

.calendar-footer {
	margin-top: 15px;
	padding-top: 15px;
	border-top: 1px solid #eee;
}

.closed-info {
	margin: 0;
	font-size: 14px;
	color: #d71518;
	text-align: center;
	font-weight: 500;
}

/* jQuery UI 달력 커스터마이징 */
#ticket-datepicker {
	font-family: inherit;
}

#ticket-datepicker .ui-datepicker {
	width: 100%;
	border: none;
	box-shadow: none;
	padding: 0;
}

#ticket-datepicker .ui-datepicker-header {
	background: #1A317B;
	color: #fff;
	border: none;
	border-radius: 8px 8px 0 0;
	padding: 12px;
}

#ticket-datepicker .ui-datepicker-title {
	color: #fff;
	font-weight: 600;
}

#ticket-datepicker .ui-datepicker-prev,
#ticket-datepicker .ui-datepicker-next {
	background: none;
	border: none;
	color: #fff;
}

#ticket-datepicker .ui-datepicker-prev:hover,
#ticket-datepicker .ui-datepicker-next:hover {
	background: rgba(255, 255, 255, 0.1);
	border-radius: 4px;
}

#ticket-datepicker .ui-datepicker-calendar {
	width: 100%;
	border-collapse: collapse;
}

#ticket-datepicker .ui-datepicker-calendar th {
	background: #f8f9fa;
	color: #666;
	font-weight: 600;
	padding: 10px 5px;
	text-align: center;
	border: 1px solid #eee;
}

#ticket-datepicker .ui-datepicker-calendar td {
	border: 1px solid #eee;
	padding: 0;
}

#ticket-datepicker .ui-datepicker-calendar td a {
	display: block;
	padding: 12px 5px;
	text-align: center;
	text-decoration: none;
	color: #333;
	font-weight: 500;
	transition: all 0.2s;
}

#ticket-datepicker .ui-datepicker-calendar td a:hover {
	background: #e3f2fd;
	color: #1976d2;
}

#ticket-datepicker .ui-datepicker-calendar td.ui-datepicker-today a {
	background: #fff3cd;
	color: #856404;
	font-weight: 600;
}

#ticket-datepicker .ui-datepicker-calendar td.ui-state-active a {
	background: #1A317B;
	color: #fff;
}

/* 휴관일(월요일) 스타일 */
#ticket-datepicker .ui-datepicker-calendar td.closed-day {
	background: #f8f9fa;
}

#ticket-datepicker .ui-datepicker-calendar td.closed-day span {
	display: block;
	padding: 12px 5px;
	text-align: center;
	color: #dc3545;
	background: #fee;
	text-decoration: line-through;
	cursor: not-allowed;
	font-weight: 500;
}

#ticket-datepicker .ui-datepicker-calendar td.ui-datepicker-unselectable.closed-day span {
	background: #fee;
	color: #dc3545;
}

/* 과거 날짜 스타일 */
#ticket-datepicker .ui-datepicker-calendar td.ui-datepicker-other-month span,
#ticket-datepicker .ui-datepicker-calendar td.ui-state-disabled span {
	color: #ccc;
	background: #f8f9fa;
	cursor: not-allowed;
}

/* 모달 오픈 시 body 스크롤 방지 */
body.modal-open {
	overflow: hidden;
}

/* 달력 버튼 호버 효과 */
.calender_wrap button {border:0; background:transparent;
	transition: all 0.2s;
	border-radius: 4px;
	padding: 5px;
}


/* 모바일 메뉴 스타일 */
.mobile_menu_btn {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}

.mobile_menu_btn span {
	display: block;
	width: 24px;
	height: 3px;
	background: #333;
	margin: 2px 0;
	transition: all 0.3s ease;
}

.mobile_menu_btn.active span:nth-child(1) {
	transform: rotate(45deg) translate(5px, 5px);
}

.mobile_menu_btn.active span:nth-child(2) {
	opacity: 0;
}

.mobile_menu_btn.active span:nth-child(3) {
	transform: rotate(-45deg) translate(7px, -6px);
}

.mobile_menu_overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 998;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.mobile_menu_overlay.active {
	opacity: 1;
}

.mobile_menu {
	position: fixed;
	top: 0;
	right: -300px;
	width: 300px;
	height: 100%;
	background: #fff;
	z-index: 999;
	transition: right 0.3s ease;
	box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
}

.mobile_menu.active {
	right: 0;
}

.mobile_menu_header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px;
	border-bottom: 1px solid #eee;
}

.mobile_logo img {
	height: 24px;
}

.mobile_menu_close {
	background: none;
	border: none;
	font-size: 30px;
	color: #121212;
	cursor: pointer;
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mobile_menu_list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.mobile_menu_list li {
	border-bottom: 1px solid #f5f5f5;
}

.mobile_menu_list li a {
	display: block;
	padding: 20px;
	color: #333;
	text-decoration: none;
	font-size: 16px;
	font-weight: 500;
	transition: all 0.2s;
}

.mobile_menu_list li a:hover {
	background: #f8f9fa;
	color: #1A317B;
}

/* 모바일에서 body 스크롤 방지 */
body.mobile-menu-open {
	overflow: hidden;
}

/* 960px 이하 모바일 메뉴 활성화 */
@media (max-width: 960px) {
	.desktop_menu {
		display: none !important;
	}
	
	.mobile_menu_btn {
		display: flex;
	}
}

/* 작은 모바일 화면 대응 */
@media (max-width: 480px) {
	.mobile_menu {
		width: 280px;
		right: -280px;
	}
	
	.mobile_logo img {
		height: 20px;
	}
	
	.mobile_menu_list li a {
		padding: 18px;
		font-size: 15px;
	}
}

/* 반응형 대응 */
@media (max-width: 768px) {
	.calendar-modal-content {
		margin: 20px;
		width: calc(100% - 40px);
	}
	
	#ticket-datepicker .ui-datepicker-calendar td a,
	#ticket-datepicker .ui-datepicker-calendar td.closed-day span {
		padding: 8px 3px;
		font-size: 14px;
	}
}