/*서브 상품 리스트 페이지*/
.sub_goodsList_wrap {
	width: 100%;
	min-height: 30vh;
	margin: 0 auto;
	background-color: #fff;
	box-sizing: border-box;
}
.sub_goodsList_container { width: 100%; height: auto;}
.Keyword-list { display: inline-block;
	width: 100%;
	padding: 16px 20px 0;
  white-space: nowrap;
  overflow-x: auto;
  scrollbar-width: thin; /* Firefox */
  scrollbar-color: rgba(0, 0, 0, 0.2) transparent;
  
 }
.Keyword-list::-webkit-scrollbar {
  height: 6px; /* 가로 스크롤일 경우 높이 설정 */
}
.Keyword-list::-webkit-scrollbar-track {
  background: transparent; 
}
.Keyword-list::-webkit-scrollbar-thumb {
  background-color: rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  transition: background-color 0.3s ease;
}
.Keyword-list > li { display: inline-block; }
.Keyword-list > li button {
	padding: 4px 10px;
	margin-right: 6px;
	background-color: rgba(6, 185, 134, 0.1) ;
	/*background-color: #666; */
	/*background-color: rgba(135, 222, 145, 0.1) ;*/
	border-radius: 5px;
	color: #666;
	font-size: 14px;
	font-weight: 500;
}
.Keyword-list > li button.on {
  background-color: #06b986;
  color: #fff;
}


/* 상품 공통 상단 헤더 */
.ListHeader {
	display: flex;
  width: 100%;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  padding: 18px 0;
  font-size: 14px;
  font-weight: 400;
  color: #000;
}
.ListHeader.goods{border-bottom: 1px solid #ddd; padding: 18px 20px;}
.ListHeader .count { font-size: 15px;	font-weight: 500; }
.ListHeader .count em { color: #06B986;	font-weight: 600; }
.optTab {	position: relative; display: flex; gap: 12px; margin: 0; list-style: none;}
.optTab li {cursor: pointer;}
.optTab li {cursor: pointer;}
.optTab.on > a { color : #06b986; font-weight: 600; }
.opt-select {
	width: 120px;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
	color: #111;
	background: #fff;
}

/* sub-goodsList */
.sub-goodsList { padding: 0 20px;}
.sub-goodsList .goodsItems {
  position: relative;
  width: 100%;
  align-items: center;
  border-bottom: 1px solid #ddd;
  background: white;
}
.sub-goodsList .goodsItems:last-of-type { border: none; }

/* 상품 정보 */
.gdInfoArea {
	position: relative;
  display: inline-block;
  margin: 30px 0;
  width: 100%;
  cursor: pointer;
}
/* ② 부모 .gdInfoArea 전체 덮기 */
.gdInfoArea > a {
	display: block;
	width: 100%;
	height: auto;
}
.gdInfoArea .thum {
  float: left;
  width: 216px;
  height: auto;
  aspect-ratio: 3 / 2;
  background-color: #ddd;
  border-radius: 8px;
  overflow: hidden;
}

.gdInfoArea .thum > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.gdInfoArea .goods-info {
  float: right;
  width: calc(100% - 232px); /* 나머지 영역 */
}
.goods-info .tag_group .tagList {
  align-items: center;
}
.tagList{
	overflow: hidden;
	overflow-x: scroll;
	overflow-y: hidden;
	white-space: nowrap; 
	-ms-overflow-style: none;
}
.tagList::-webkit-scrollbar { display:none; }

/*상품 태그 스타일 01*/
.tag {
	display: inline-block;
	white-space: nowrap;
	margin-right: 4px;
  margin-bottom: 2px;
  padding: 0 6px;
  border-radius: 5px;
  text-align : center;  
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  vertical-align: middle;
  box-sizing: border-box;
}
.goodsNo { color: #495263; /*border: 1px solid #aaa;*/ margin: 0; padding: 0; border: none; font-size: 13px; }
.type1 { background-color: #80d324; } /* 진주출발  (그린 4BCC71)*/
.type1-01 { background-color: #80d324; }/* 진주출발 */
.type1-02 { background-color: #01b6ed; }/* 부산출발 */
.type1-03 { background-color: #32a9b5; }/* 마산출발 */
.type1-04 { background-color: #005BAC; }/* 포항출발 */
.type1-05 { background-color: #20C997; }/* 삼천포출발 */
.type1-06 { background-color: #FF6B6B; }/* 대구출발 */
.type1-07 { background-color: #008B8B; }/* 인천출발 */

.type2 { background-color: #865DFB; } /* 여행사공동 #5438dc*/
.type3 { background-color: #06b986; } /* 서경 단독 (32e875)*/
.type4 { color: #fa8e00; border: 1px solid #fa8e00; } /* 항공권 불포함 */
.type5 { color: #26b159; background: #daf5e4;} /* 지자체 지원 블루*/
.type6 { color: #ff7d1d; background: #ffebc7; } /* No팁 주황 */
.type7 { color: #6e7dc5; background: #e4e9fd; } /* No옵션 그레이 */
.type8 { color: #ff6f91; background: #ffe9ee; } /* No쇼핑 핑크 */


.goods-info .goods-content h3 { font-size: 18px; font-weight: 600; }
.goods-info .goods-content p { font-size: 15px; font-weight: 400; }
.goods-info .goods-content .goodsType { font-size: 14px; }
.goods-info .goods-content .goodsType span { margin-right:2px; }

/*상품  출발일 보기 버튼 & 가격 01*/
.inr-right { text-align: right; margin-top: 12px; } 
.gdInfoArea .inr-right .btn-wrap,
.gdInfoArea .inr-right span {
	display: inline-block;
  font-size: 14px;
}
.gdInfoArea .inr-right .sub-goods-price { font-size: 18px; }
.gdInfoArea .inr-right .btn-wrap{
	position: relative;
	/*width: 136px;*/
	height: 40px;
	/*margin-right: 10px;*/
  padding: 0 6px 0 12px;
  border: 1px solid #06B986;
  line-height: 40px;
  border-radius: 4px;  
}
.gdInfoArea .inr-right .btn-wrap > span{
  display: inline-block;
  position: relative;
  padding-right: 24px;
  color: #0b8568;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}
.gdInfoArea .inr-right .btn-wrap > span::after {
	content: '';
	position: absolute;
	width: 24px;
	height: 24px;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	background: url(/images/arrow_drop_down.svg) no-repeat center / contain;
}
.price-wrap {
	position: relative;
	/*width: 120px;*/
	float: left;
	height: 40px;
	line-height: 40px;
	text-align: left;
}
.sub-goods-price { font-size: 18px !important; font-weight: 700;}

/* 상품 출발일 보기(눌렀을 때) box */
.sub_list_wrap {
	position: relative;
  height: 100%;
  margin-bottom: 30px;
  padding: 20px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out;
  background-color: #fafafa;
}
.sub_list_wrap .active {
  display: block;
  max-height: auto; /* 상세 정보가 펼쳐질 높이 설정 */
  opacity: 1;
}
.sub_list_wrap  button {
	position: relative;
  margin-top: 10px;
  padding: 5px 10px;
  border: none;
  cursor: pointer;
}
/* 상품 리스트 달력  */
.sub_list_wrap .calendar-wrap {
	border: 1px solid #e5e7eb;
	/*height: 420px;*/
	height: auto;
	padding: 20px;
	border-radius:8px;
	background-color: #fff;
}
.calendar-status-box {
	float: right;
	width: 100%;
	font-size: 12px;
	/*padding: 20px;*/
	text-align: right;
}
.calendar-status-box .calendar-status{
	display: inline-block;
	margin-left: 10px;
	white-space: nowrap;
}
.calendar-status-box .calendar-status:first-child {
	margin:0;
}
.calendar-status-box .calendar-status i {
	display: inline-block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	margin-right: 2px;
	vertical-align: middle;
}
.calendar-container {
	position: relative;
  display: flex;
  gap: 20px; 
  
  justify-content: flex-start;
  width: 90%;
  margin: 0 auto;
  box-sizing: border-box;
}
.calendar {
  flex: 1 1 auto;
  /*max-width: 300px;
  display: inline-block;*/
  width: 50%;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  color: #000;
  box-sizing: border-box;
}
.calendar table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  margin-top: 10px;
  font-size: 14px;
  font-weight: 400;
  color: #111;
}
.calendar caption {
  font-weight: bold;
  margin-bottom: 10px;
  font-size: 1.2em;
}
.calendar tr {
	border-bottom: 1px solid #ddd;
}
.calendar th,
.calendar td {
  position: relative;
  width: 40px;
  height: 40px;
  padding: 6px;
  text-align: center;
  vertical-align: middle;
}
.calendar td.highlight {
  /*background-color: #ffe08c;*/
 	background: #fff;
  width: 40px;
  height: 40px;
  font-weight: bold;
  vertical-align: middle;
  /*color: #d35400;*/
  color: #111;
}
.calendar td.highlight.reserve-off {
	opacity: 0.3;
}
.calendar td.highlight::after {
  content: "";
  position: absolute;
  top: 4px;    
  right: 4px;  
  width: 6px;
  height: 6px;
  /* background-color: #0088FF; 진한 초록 */
  border-radius: 50%;
}
/*.highlight.depart {
	border: 1px solid #FF6B6B;
}

.highlight.can {
	border: 1px solid #0088FF;
}
.highlight.default{
	border: 1px solid #25CE69;
}*/
.highlight.depart::after { background-color: #FF6B6B; }
.highlight.can::after { background-color: #0088FF; }
.highlight.default::after { background-color: #25CE69; }
.calendar td.clickDate { font-weight: bold; background-color: #111; color: #fff;} /* 선택항목 */
.clickDate.depart{background-color: #FF6B6B !important;}
.clickDate.can {background-color: #0088FF !important;}
.clickDate.default {background-color: #25CE69 !important;}
.calendar.reserve-off {background-color: #b3b3b3; !important;}

.disabled {
  color: #666; 
  pointer-events: none;
  opacity: 0.3;
  cursor: not-allowed; 
}
.saturday, .sat {color: blue;}
.sunday, .sun {color: red;}
.sat.disabled {color: blue; opacity: 0.3;}
.sun.disabled {color: red; opacity: 0.3;}

.calendar-btn { width: 90%; margin: 0 auto;}
.prevBtn { float: left; }
.nextBtn { float: right; }
.sub_list_wrap .sub_gd_list_wrap {
  position: relative;
  width: 100%;
  max-height: 520px;
  overflow-y: scroll;
  overflow: hidden;
  overflow-y: auto;
}
.sub_gd_list_wrap .sub_gd_list_ul{
  display: inline-block;
  width: 100%;
  height: 100%;
}

/* 상품 출발일 보기(눌렀을 때) 상품리스트  */
/*.sub_gd_list_ul > .gd-info {
	margin-bottom: 10px;
	padding: 18px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background-color: #fff;
  overflow: hidden;
  box-sizing: border-box;
}
.gd-info > a {
	display: block;
	width: 100%;
	height: auto;
}
*/
.gd-info {list-style: none; margin-bottom: 10px;}
.gd-info > a::after {
  content: "";
  display: table;
  clear: both;
}
.gd-info > a {
  display: block;
  padding: 18px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background-color: #fff;
  text-decoration: none;
  color: inherit;
  width: 100%;
  height: auto;
  box-sizing: border-box;
}
.sub_gd_list_ul > .gd-info:last-child,
.sub_gd_list_ul > .gd-info:only-child { margin-bottom: 0; }
.gd-info .gd-info-left { float: left; margin-bottom: 12px; width: 80%;}
.label-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.label-wrap .tag { margin: 0; }
.gd-info .gd-info-left .start-date {
	font-size:16px;
	display: block;
	font-weight:600;
	margin: 6px 0;	
}
.gd-info .gd-info-left .item-text span {
	font-size: 14px;
	margin-right: 12px;
	line-height: 1.5;
}
.gd-info .gd-info-left > h3 {
	margin-bottom: 12px;
	font-size: 17px;
	font-weight: 600;
}
.gd-info .inr-right {
	float: right;
  width: 20%;
 	text-align: right;
 	margin-top: 26px;
}	
.inr-right .subList-btn {
	display: inline-block;
  width: 120px;
  height: 40px;
  margin-top: 60px;
  border-radius: 4px;
  background-color: #06B986;
  color: #fff;
 	line-height: 40px;
  text-align: center;
}
.inr-right .subList-btn.reserve-off {
	background-color : #b3b3b3;
	border:none;
}
.airName {
	position: relative;
	height: 16px;
	vertical-align: middle;
	line-height: 16px;
}
.gdicon { font-size: 16px; color: #111;}
.airName > span{
	position: relative;
	display: inline-block;
	height: 16px;
	margin-right: 10px;
	vertical-align: middle;
	font-size:13px;
	line-height: 16px;
}
.airName span > img{
	width: 16px;
  height: 16px;
  margin-right: 4px;
  border-radius: 50%;
	vertical-align: middle;
}
.state{ position: relative; top:0; left:0; }


/*상품 상세 페이지 goodsDetail page */
.goods_detail_info > .rating {
	font-size: 14px;
  font-weight: 300;
  text-decoration: underline;
  color: #0b8568;
}
.goods_detail_wrap { position: relative; }
.goods_detail_header .header_wrap {
  /*position: fixed;*/
  height: 60px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
  z-index: 1001;
}

.sub_goodsDetailList_wrap .header_wrap .header{
  position: relative; 
  height: 60px;
 	/*background-color: #fff;*/
}

.header .btn_prev {
	position: absolute;
	display: block;
  width: 24px;
  height: 24px;
  left: -8px;
  transform: translateY(-50%);
  background: url('/images/arrow_back.svg') no-repeat center center / 100%;
  background-size: contain;
  text-indent: -9999px;
  z-index: 10;
}
.goods_detail_header .title {
	flex: 1;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
}

/*공유하기 모달*/
.btn-share {
	position: absolute;	
	width: 26px;
  height: 26px;
	right: 0;
	top:50%;
	transform: translateY(-50%);
  background: url('/images/icon_share.svg') no-repeat center;
  background-size: contain;
  z-index: 10;
}
.modal-share-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}
.modal-share-box {
  width: 340px;
  height: 200px;
  background: #fff;
  border-radius: 10px;
  position: relative;
  padding: 16px;
  box-sizing: border-box;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}
.modal-share-title {
  font-size: 16px;
  font-weight: 600;
  margin: 0 0 8px 0;
  padding-bottom: 10px;
  border-bottom: 1px solid #ddd;
}
.modal-share-divider {
  margin: 0;
  border: none;
  border-top: 1px solid #ccc;
}
.modal-share-close {
  position: absolute;
  top: 12px;
  right: 14px;
  font-size: 24px;
  background: none;
  border: none;
  cursor: pointer;
  color: #333;
}
.modal-share-icons {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-top: 30px;
}
.modal-share-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  font-size: 13px;
  color: #111;
  cursor: pointer;
}
.modal-share-circle {width: 50px; height: 50px; border-radius: 50%; margin-bottom: 6px;}
.modal-share-circle.share-kakao {	background-image: url('/images/goods/icon/icon-share-kakao.png'); }
.modal-share-circle.share-naver {	background-image: url('/images/goods/icon/icon-share-naver.png'); }
.modal-share-circle.share-url {	background-image: url('/images/goods/icon/icon-share-url.png'); }
.modal-share-circle.sendMsgSche {	background-image: url('/images/goods/icon/icon-share-msg.png'); }
.modal-share-toast {display: none; position: fixed; width: auto; height: auto; bottom: 90px; left: 50%; transform: translateX(-50%);
	padding: 6px 20px; background: #555; color: #fff; border-radius: 5px; font-size: 0.875rem; z-index: 9999; white-space: nowrap;}


/* Swiper 영역 */
.detail_visual {
	position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background-color : #ccc;
}
.detail_visual .swiper-slide {
		width: 100%;
    height: 100%;
    overflow: hidden;
}
.detail_visual .swiper-slide > img{
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}
.bx-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2 !important;
  margin: 0 auto;
  overflow: hidden;
}
.bx-viewport {
  width: 100% !important;
  overflow: hidden;
  position: relative;
	height: auto !important;
}
.bxslider {
	display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.bxslider li {
	float: left;
	height: auto;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  position: relative;
}
.bxslider li img {
	display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.bx-prev,
.bx-next {
  display: block !important;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 3rem;
  height: auto;
  background-repeat: no-repeat;
  background-position: center;
  text-indent: -9999px;
}
.bx-prev {left: 10px;}
.bx-next {right: 10px;}
.bx-prev img, .bx-next img{
	display:block;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
}
.goods_detail_content .detail_visual .swiper-pagination {
	position: absolute;
  width: auto !important;
  bottom: 50px;
  right: 0;
  transform: translateX(-50%);
  padding: 5px 10px;
  border-radius: 20px;
  background: rgba(0, 0, 0, 0.6);
  color: #fff;
  font-size: 13px;
 	text-align: center;
}


/* goods_info */
.goods_detail_content .goods_info {
  position: relative;
  height: auto;
  padding: 20px;
  margin-top: -30px;
  /* margin-bottom:100px; */
  background: #fff;
  border-radius: 10px 10px 0 0;
  word-break: break-all;
}
.tag_info{ margin-bottom:12px; }
.goods_detail_content .goods_info > .title {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 600;
  margin-bottom: 10px;  
}
.goods_info .rating a span{
  font-size: 14px;
  font-weight: 400;
  text-decoration: underline;
  color: #0b8568;
}
/* 상품 핵심 정보*/
/*.tbl03 table tr {
    display: flex;
    flex-wrap: wrap;
}*/
.goods_info .info_list {
  position: relative;
	display: block
  width: 100%;
  height: auto;
  padding: 10px 0;
  white-space: normal;
  font-size: 0;
}
.goods_info .info_list .iconBox {
  display: inline-block;
  width: 12%;
  background-color: #fff;
  text-align: center;
  vertical-align: top;
  font-size: 14px;
}
.info_list > .iconBox.p001 .tit:before {
  background-image: url('');
}
.goods_info .info_list .iconBox > img { width: 30px; height: 30px;}
.goods_info .info_list .iconBox .tit {
  display: block;
  margin-top: 5px;
  font-size: 14px;
  letter-spacing: -0.05em;
}
.goods_detail_content .goods_price .price-tit {
		display: block;
		width: 100%;
		font-size: 16px;
		font-weight: 600;
		float: left;
		text-align: left;
}
.goods_detail_content .goods_price .price-table {
	  width: 100%;
	  text-align: center;
}
.goods_price .price-table > thead {
	  background-color: #fafafa;
	  line-height: 1.2;
	  height: 48px;
}
.goods_price .price-table > tbody {
	  height: 42px;
	  border-bottom: 1px solid #ddd;
}
.goods_price .price-table > thead tr th {font-weight: 600; padding: 10px;}
.goods_price .price-table > thead tr th .sub {font-size: 12px; font-weight: 400;}
.goods_price .price-table tr td {padding: 10px;}
.goods_price .price-table tr td .gd-price {font-size: 16px;	font-weight: 700;}


/*출발 일정 정보*/
.changeDeparteDate {border-top: 1px solid #ddd;	padding-top: 12px;}
.changeDeparteDate .DeparteDat {display: inline-block; float: left;}
.changeDeparteDate .changeDepart-btn {
	display: inline-block;
	float: right;
	width: 25%;
	height: 36px;
	line-height: 36px;
	border-radius: 4px;
	text-align: center;
	background-color: #111;
	color: #fff;
}
.air_info {
	position: relative;
	padding: 20px;
  margin-bottom: 20px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}
.air_info p {font-size: 13px; font-weight: 400; line-height: 16px;}
.air_info .leave {float:left;	width: 40%;}
.date {font-weight: 600; margin-bottom: 8px;}
.date strong {font-size: 17px;	margin-right: 5px;}
.date > span {font-size: 13px;	font-weight: 600;}
.air_info .info_txt { float: left; width: 20%; text-align: center; margin-top: 16px; }
.air_info .info_txt span {
	height: auto;
	padding : 3px 5px;
	background-color: #0b8568;
	border-radius: 30px;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
}
.air_info .departure {float:right; width: 40%; text-align: right;}
.air_info .schedule_tit {font-size: 13px;	font-weight: 600;	color: #666;}

/* 예약 인원 정보 */
.person_loc {font-size: 14px;}
.person_loc .person {margin-bottom: 10px;}
.person span .num{color: #06b986 !important; font-weight: bold;}
.person_loc .person img,
.person_loc .loc img {
	width: 24px;
  height: 24px;
  margin-right: 5px;
}
.person_loc .person em {font-size: 12px; color: #555;}
.goods_price {margin: 20px 0 40px; border-top: 1px solid #ddd; text-align: right;}
.goods_info .cotents_box {position: relative; height: auto;}
.goods_info .cotents_box.top {margin: 40px 0;}

/* 탭 스타일 */
.detail_tab01 {position: relative; height: 50px; margin-top: 30px;}
.detail_tab01 > .contents_box {
	width: 100%;
	height: 100%;
  padding: 0;
  margin: 0;
  background: #fff;
  list-style: none;
  font-size: 0;
  white-space: nowrap; 	
}
.tab_box {
	display: inline-block;
	width: 25%;
	height: 50px;
	font-size: 15px;
	font-weight: 500;
	text-align: center;
	line-height: 50px;
	background-color: #f1f1f1;
	color: #000;
	cursor: pointer;
}
.tab_box.active {background-color: #000; color:#fff;}

/*상품 예약하기 페이지*/
.gd_Info_wrap {width: 100%;}
.gd_Info_wrap .gdInfoArea {	margin: 0;}
.gd_Info_wrap .gdInfoArea .thum { width: 120px; height:120px;}
.gd_Info_wrap .gdInfoArea .goods-info {
	width: calc(100% - 136px);
}
.gd_Info_wrap .gdInfoArea .goods-info .title{
	font-size: 18px;
	font-weight: 600;
}
.gd_Info_wrap .air_info {
	margin: 24px 0 0;
}
.gdInfo_reser {
	display: inline-block;
	width: 100%;
}
.gd_reserTit {
	font-size: 20px;
	font-weight: 600;
}
.gd_bgBar {
	position: relative;
	width: 100%;
	height: 8px;
	background-color: #f5f5f5;
}
.reserveInfoList .tourist {
	margin-bottom: 50px;
}
.reserveInfoList .tourist:last-of-type {
  margin-bottom: 0;
}

/* 상품 상세 모달 */
.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0,0,0,0.6);
  display: none;
  z-index: 9999;
}
.modal-content {
  position: absolute;
  top: 50%;
  left: 50%;
  max-width:768px;
  width: 100%;
  height: 99%;
  min-height: 50vh;
  transform: translate(-50%, -50%);
  background: #fff;
  box-sizing: border-box;
  overflow-y: auto;
}
.modal-close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #ddd;
  border: none;
  padding: 5px 10px;
  cursor: pointer;
}
.modal-box {margin-top: 40px;}


/* 예약하기 */
.residence,
.couponList,
.mileage,
.discount {
	position: relative;
	width: 100%;	
	height: auto;
	overflow: hidden;
}
.mileageInfo::after {
  content: "";
  display: block;
  clear: both;
}
.mileageInfo {
	clear: both;
	margin-top: 0;
	overflow: hidden;
	white-space: nowrap;
}
.mileageInfo > p {
  float: left;
  clear: none;
  font-size: 13px;
  padding-top:5px;
}
.couponList > input,
.left_box > input,
.coupon-list  {
	width: 240px;
	height: 45px;
	vertical-align: middle;
	border: 1px solid #d5d5d5;
	border-radius: 5px;
	padding: 12px 12px;
	margin: 0 1px 8px 0;
	box-sizing: border-box;
}
.nonMem_couponList {border: 1px solid #ddd; border-radius: 5px;	padding: 20px;}
.left_box {	position: relative;	float: left; width: calc(100% - 90px);}
.submit-btn {float: right; width: 90px; height: 40px;	background: #666;	border-radius: 5px;
	color: #fff; font-size: 13px;	font-weight: 500;	cursor: pointer;}
.non.submit-btn {background: #ccc;}
.priceListArea {width: 100%; border-top: 1px dashed #ddd;}
.priceList > li {padding: 5px 0;}
.priceAmount,
.totalAmount,
.saved {
	float: right;
	text-align: right;
}
.saved {float: none; clear: both; width: 100%; text-align: right;	font-size: 13px; color: #666; font-weight: 500;}
.totalAmount > em {font-size: 23px;	font-weight: bold;}

.personInfo {text-align: left;}
.payResult {overflow: hidden;}



/*250805 : 내용추가 */
.day {
	font-size: 17px;
  letter-spacing: -1px;
  color: #303030;
  font-weight: bold;
  border-bottom: 1px solid #dfdfdf;
  width: 100%;
  height: 58px;
  line-height: 58px;
  background: #cedbf4;
  padding: 0 0 0 15px !important;
  box-sizing: border-box;
}
.num {
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
	padding: 3px 8px;
	border-radius: 4px;
	background-color: #333;
	font-size: 16px;
	color: #fff;
}
.schedule_infor {
	width: 100%;
	display: inline-block;
	padding : 10px;
	margin-top: 30px;
	border-radius: 5px;
	border: 1px solid #ddd;
	box-sizing: border-box;
}
.schedule_infor select {
	float: right;
	height: 36px;
	padding: 5px;
	background: #fff;
	color: #333;
	border: 1px solid #999;
	border-radius: 5px;
	box-sizing: border-box;
}


/* tabs03 관광정보 */
.tabs > div:last-of-type {
  margin-bottom: 100px;
}
.spt_block {
	margin-bottom: 20px;
}
.tourspot_tap{width:100%;float:left;clear:both;margin:20px 0;}
.tourspot_tap ul{width:100%;}
.tourspot_tap ul li{
	width: 160px;
	height: 50px;
	line-height: 50px;
	margin-right: 16px;
	padding: 0;
	box-sizing:border-box;
	border:1px solid #dfdfdf;
	border-radius: 30px;
	float:left;
	text-align:center;
}
.tourspot_tap ul li:last-child {
  margin-right: 0;
}
.spot_tap > a {
  display: block;
  padding: 0 !important;
  font-size: 14px;
  color: #333;
  text-decoration: none;
  font-weight: 400;
  border: none;
}
.spot_tap.active {
  border: 1px solid #06b986;
}
.spot_tap.active a {
	color: #0b8568;
	font-weight: 600;
}
.spt_nm {
	font-size: 17px;
	font-weight: 600;
	line-height: 1.5;
	margin-bottom: 12px;
}
.scroll_wrap {
  overflow-x: auto;
  overflow-y: hidden;
  white-space: nowrap;
  padding-bottom: 5px;
}
.scroll_wrap::-webkit-scrollbar { display: none; }
.spt_picList {
	display: flex;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.spt_picList li {
	flex: 0 0 auto;
	width: 32%;
	min-width:200px;
	height: auto;
	aspect-ratio: 3 / 2;
	border-radius: 5px;
	object-fit: cover;
}
.spt_picList li img{
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 5px;
	object-fit: cover;
}

/* 상품상세 안내 - 공통 상단 */
.st_guide {
	clear: both;
	width: 100%;
	padding-bottom: 15px;
  line-height: 140%;
}
.st_guide dl dt.tit {
  padding-bottom: 16px;
  font-size: 18px;
  font-weight: bold;
  /*text-indent: 15px;*/
  border-bottom: 1px solid #dfdfdf;
}

dl.enumrt .lctn {
  margin-top: 30px !important;
  margin-right: 5px;
  background: url(/images/sub/location.gif) left center no-repeat;
  height: 30px;
  padding-left: 40px;
  color: #3c3c54;
  font-size: 18px;
  letter-spacing: -1px;
  font-weight: 700;
}
dl.enumrt dd {
	padding-bottom: 30px !important;
  color: #666;
  font-size: 16px;
  letter-spacing: -1px;
  line-height: 180%;
  border-bottom: 1px dotted #d8d8e0;
  padding: 10px;
}
/* 출발일 변경  */
.cal-box {
	width: 100%;
}
#yearSelect {
  width: 100px;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 5px 10px;
  font-size: 14px;
  color: #333;
  background-color: #fff;
  outline: none;
}
.calender > div {
	padding: 15px 10px;
	border-bottom: 1px solid #ddd;
	font-size: 15px;
	background: #fff;
}
.calender > .can  {
	background-color: #fff;
}
.calender > .can a,
.calender > .default a {
	padding: 10px 15px;
	border-radius: 50px;
	color: #fff;
} 
.calender > .can a {background-color: #0088FF;}
.calender > .default a {background-color: #25CE69;}

/* 2025-07-15 *//* 멤버쉽 미인증 미회원 button */
.coupon-link {
	display: inline-block;
	width: 240px;
	height: 45px;
	vertical-align: 0;
	border: 1px solid #d5d5d5;
	border-radius: 5px;
	padding: 12px 12px;
	margin: 0 10px 8px 0;
	box-sizing: border-box;
	background: #f0f0f0;
	text-align: center;
}

/* 2025-07-28 */ /* 상품 상세 디자인 */
.scs_tour_notice {
  width: 100%;
  clear: both;
 /* border-top: 8px solid #eee;*/
  border-bottom: 8px solid #eee;
  padding: 30px 0;
}
.scs_tour_notice > dl {
    padding: 0 20px;
    margin: 0 auto;
    clear: both;
}
.scs_tour_notice > dl dt{
    font-weight: bold;
    color: #333;
    padding: 0 0 7px 0;
    border-bottom: 1px dotted #dfdfdf;
}
/* 일정안내 */
[class^="day_wrap"] {
  margin-top: 0px;
  /*margin-bottom: 30px;*/
  box-sizing: border-box;
}

.usahang_wrap .tit {
	padding-bottom: 16px;
  font-size: 18px;
  font-weight: bold;
  /* text-indent: 15px; */
  border-bottom: 1px solid #dfdfdf;
}

/* 비행기발착안내 BOX */
.arriving{
	text-align: center;
  border: 1px solid #dfdfdf;
  height: 240px;
  width: 100%;
  margin: 0 auto;
  margin: 30px 0;
  background:#fafafa url('/images/sub/bg_air_arrow.png') center 85px no-repeat;
  background-size: 40%;
}
.arriving .dlwrap {
	width: 100%;
  padding: 50px;
  height: 100%;
  box-sizing: border-box;
}
.arriving .dlwrap .arrDl {
  float: left;
  width: 33.333%;
  text-align: center;
}
.arriving .dlwrap .arrDl .arvtx {color: #777;}
.arriving .dlwrap .arrDl .arvtx2 {color: #333;}
.trnspBox {
  background: #fff;
  border: 1px solid #dfdfdf;
  padding: 15px;
  box-sizing: border-box;
}
/* 2025-08-06 */
/* 운송수단 아이콘 추가 */
.arriving .white_circle {
	width: 80px;
	height: 80px;
	line-height: 80px;
	margin: 0 auto;
	font-size: 15px;
	background: #fff;
  border: 1px solid #dfdfdf;
  border-radius: 50%;
  text-align: center;
  color: #333;
}
.arriving .air {
	height: 80px;
	line-height: 80px;
	background: #fff url('/images/sub/traffic_air.png') no-repeat center center;
}
.arriving .ship {
	height: 80px;
	line-height: 80px;
	background: #fff url('/images/sub/traffic_ship.png') no-repeat center center;
}
.arriving .bus {
	height: 80px;
	line-height: 80px;
	background: #fff url('/images/sub/traffic_bus.png') no-repeat center center;
}
.arriving .train {
	height: 80px;
	line-height: 80px;
	background: #fff url('/images/sub/traffic_train.png') no-repeat center center;
}
.arriving .arvTime {
	margin-top:10px;
	font-weight:bold;
	letter-spacing:0;
	font-size:16px;
}
.arriving .blue_circle {
	background: #89a0d3;
  color: #fff;
}
.blue_circle {
	margin-top: 17px;
  padding: 10px 15px;
  display: inline-block;
  font-size: 15px;
  letter-spacing: -1px;
}


/*.usahang_wrap .bgf4.day{
		font-size: 16px;
    font-weight: bold;
    color: #303030;
    text-align: center;
    padding: 13px 0;
    background: #f3f5f8;
}
*/
.Trnsp {
	font-size: 14px;
  background: #8b93e4;
  color: #fff;
  display: inline;
  padding: 4px 9px;
  margin-right: 5px;
}


/* 포함사항/불포함사항 영역 */
.including_or {
  width: 100%;
  margin-top: 30px;
}

.including_or .tbl04 {
  width: 100%;
  margin-top: 0;
}

.including_or .tbl04 table {
  width: 100%;
  border-collapse: collapse;
  box-sizing: border-box;
}

.including_or caption {
  display: none;
}

.including_or col {
  width: 50%;
}

.including_or th,
.including_or td {
  font-size: 15px;
  letter-spacing: -1px;
  box-sizing: border-box;
  color: #303030;
}

.including_or th img {
  vertical-align: middle;
}

.including_or .including {
  background: #303030;
  color: #fff;
  border: 1px solid #303030;
}

.including_or .or {
  background: #f4f4f4;
  color: #303030;
  border: 1px solid #ddd;
}

.including_or th {
  height: 65px;
  line-height: 65px;
  text-align: center;
  font-size: 17px;
  font-weight: 600;
}

.including_or td {
  padding: 25px;
  border: 1px solid #ddd;
  line-height: 1.8;
}

/* 상품 핵심 포인트 영역 */
/*.tbl03 table tr {
    display: flex;
    flex-wrap: wrap;
}
.tbl03 table th {
    width: 100% !important;
    display: block;
    text-align: left !important;
    padding-left: 10px !important;
    border-bottom: 1px solid #dfdfdf;
}
.tbl03 table td {
    width: 100% !important;
    display: block;
}*/
.goods_point {
  width: 100%;
  margin-top: 30px;
}

.goods_point .core_tit,
.goods_point > p {
  width: 100%;
  height: 57px;
  border-top: 2px solid #000;
  border-left: 1px solid #dfdfdf;
  border-right: 1px solid #dfdfdf;
  background: #eaeff5;
  font-size: 19px;
  font-weight: 600;
  text-align: center;
  line-height: 57px;
  box-sizing: border-box;
}

.goods_point .tbl03 {
  width: 100%;
  margin-top: 0;
}

.goods_point .tbl03 table {
  width: 100%;
  border-collapse: collapse;
  box-sizing: border-box;
}

.goods_point caption {
  display: none;
}

.goods_point col:first-child {
  width: 15%;
}

.goods_point col:last-child {
  width: 85%;
}

.goods_point th,
.goods_point td {
  font-size: 15px;
  letter-spacing: -1px;
  box-sizing: border-box;
  color: #303030;
}

.goods_point th img {
  vertical-align: middle;
}

.goods_point th {
  padding: 15px 0;
  text-align: center;
  border-bottom: 1px solid #dfdfdf;
  border-left: 1px solid #dfdfdf;
  font-size: 16px;
  font-weight: 600;
}

.goods_point td {
  padding: 15px;
  color: #666;
  border-bottom: 1px solid #dfdfdf;
  border-right: 1px solid #dfdfdf;
  line-height: 1.6;
}

/* 호텔과 숙박 */
.hotelMeal {letter-spacing:-1px !important;width:100%;padding:0px !important;margin:0px !important;border-bottom:1px solid #dfdfdf;border-top:1px solid #dfdfdf;}
.hotelMeal .hotelName {font-size:15px;padding-left:10px;}
.hotelMeal .hm_tit {
	border-top:1px solid #dfdfdf;
	background:#f4f4f4;
	padding:15px 0;
	text-align:center;
}
/*.hotelMeal .hm_tit > img {
	height: 40px;
}*/
.hotelMeal .kind {border-top:1px solid #dfdfdf;text-align:center;}
.hotelMeal .hotelName span,
.hotelMeal .kind span {display:inline-block;background:#aeafb5;text-align:center;font-size:13px;font-weight:bold;color:#fff;
	width:50px;height:25px;line-height:25px;border-radius:1000px;}
.hotelMeal .Mealkind {text-align:left;border-top:1px solid #dfdfdf;}
.hotelMeal .borTn {border-top:none !important;}
/******* 선택관광 포함 아이콘 *******/
span.inclusion {display:inline;padding:4px 11px;background:#ee284c;color:#fff;font-size:14px;letter-spacing:-1px;margin-right:10px;}
span.optional_tour {display:inline;padding:4px 11px;border:1px solid #a5a59a;color:#303030;font-size:13px;letter-spacing:-1px;margin-right:10px;}
span.Decay {display:inline;padding:4px 11px;background:#fff;color:#303030;font-size:14px;letter-spacing:-1px;border:1px solid #ccc;}
span.saving {display:inline;padding:4px 11px;background:#0059e4;color:#fff;font-size:14px;letter-spacing:-1px;border:1px solid #0059e4;}
.letter_1 {letter-spacing:-1px !important;}
/*인솔자 & 가이드 여부*/
#sub_wrap .inner .lead_or {width:100%;border:1px solid #dfdfdf;box-sizing:border-box;border-top:1px solid #303030 !important;letter-spacing:-1px;}
#sub_wrap .inner .lead_or th {padding:15px 0;text-align:center;background:#f4f4f4;color:#303030;font-weight:bold;}
#sub_wrap .inner .lead_or td {padding:15px 0;color:#666;text-indent:10px;}
.bgf4 {background:#f4f4f4 !important;}

/*여행 유의사항*/
.usahang_wrap {margin-top:30px;color:#666;border:1px solid #dfdfdf;border-top:1px solid #303030 !important;}
.usahang_wrap > p {
	font-size: 17px;
  letter-spacing: -1px;
  color: #303030;
  font-weight: bold;
  border-bottom: 1px solid #dfdfdf;
  width: 100%;
  height: 58px;
  line-height: 58px;
  background: #f4f4f4;
  padding: 0 0 0 15px !important;
  box-sizing: border-box;
}
.usahang_wrap::after {
  content: "";
  display: block;
  clear: both;
}
.usahang_wrap .shppng_inf {color:#666 !important;padding:17px !important;box-sizing:border-box;}
.usahang_wrap .shppng_inf dl.numotime dt,
.usahang_wrap .shppng_inf dl.sahang dt {font-size:16px;color:#303030 !important;letter-spacing:-1px;}
.usahang_wrap .shppng_inf dl.numotime dt strong {color:#ee284c !important;}
.usahang_wrap .shppng_inf dl.numotime dd {font-size:13px;}
.usahang_wrap .shppng_inf dl.numotime dd.nt_tbl {width:100%;margin-top:10px;font-size:14px !important;}
.usahang_wrap .shppng_inf dl.numotime dd.nt_tbl th {background:#f5f8fc;padding:13px;text-align:center;
font-weight:bold;color:#303030 !important;border-left:1px solid #dadcdf;border-top:1px solid #303030;}
.borRdad {border-right:1px solid #dadcdf;}
.usahang_wrap .shppng_inf dl.numotime dd.nt_tbl td {padding:13px;text-align:center;border:1px solid #dadcdf}
.borRdad {border-right:1px solid #dadcdf;}
.usahang_wrap .shppng_inf dl.sahang dd {font-size:15px;letter-spacing:-1px;margin-top:7px;}
.usahang_wrap .shppng_inf dl.sahang dd ul.sm_ft {margin-top:5px;font-size:13px;color:#999;}
.usahang_wrap .shppng_inf dl.sahang dd em {color:#0059e4 !important;}
.usahang_wrap .shppng_inf dl.sahang dd em.red {color:#ee0d47 !important;letter-spacing:0px !important;}
.usahang_wrap .shppng_inf dl.sahang dd strong {color:#303030 !important;font-weight:normal !important;}
/* 2025-08-04 */
/* 관광정보 추가 */
/*.tr_spt {
	float: left;
  width: 100%;
  min-height: 200px;
  margin: 30px 0;
  /*height: 100%; */
  /*border: 1px solid #dfdfdf;
  box-sizing: border-box;
}

.tr_spt .spt_nm {
  background: #eaeff5;
  width: 100%;
  height: 50px;
  line-height: 50px;
  color: #303030;
  letter-spacing: -1px;
  font-weight: bold;
  text-indent: 22px;
}*/



/* 반응형 */
@media all and  (max-width:767px) {

}
@media screen and (max-width:600px) { 
		/* goodsList */
	.gdInfoArea .thum {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    margin-bottom: 16px;
  }
  .gdInfoArea .goods-info {
    width: 100%;
  }
}
@media all and (max-width:480px) {
	.arriving {
		background-image: none;
	}
	.arriving .air {
		height: 60px;
		line-height: 60px;
		background-size: 32px;
	}
	.arriving .white_circle {
		width: 60px;
	}
}
@media screen and (max-width:414px) { 

  .schedule_infor select {
    width: 100%;
		
		border-radius: 5px;
		margin-top: 10px;
  }
}