	.wrap{overflow: visible !important;}
	.text-type1 .text-large {
		line-height: 1.2;
	}
	.text-type3 .text-medium {
		line-height: 1.6;
		margin-top:0px;
	}
	.popup {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background-color: rgba(0, 0, 0, 0.6);
		display: none;
		z-index: 900;
	}
	.popup-content {
		  top: 50%;
		  transform: translate(-50%, -50%);
		left: 50%;
		padding: 35px 50px;
		width: 760px;
		 max-height: 90vh; /* 최대 높이 제한 */
		max-width: 1605px;
		max-height: 660px;
		background-color: #fff;
		border-radius: 4px;
		position: absolute;
	}
	.popup-content2 {
		  top: 50%;
		  transform: translate(-50%, -50%);
		left: 50%;
		 max-height: 90vh; /* 최대 높이 제한 */

		padding: 35px 35px;
		width: 760px;
		max-width: 1605px;
		background-color: #fff;
		border-radius: 4px;
		position: absolute;
	}
	.scrollview{
	overflow-y: auto;height:100%;max-height: 65vh;
	}
	 #map {
            height: 500px;
            width: 100%;
        }

	@media (max-width: 768px) { 

		.popup-content {
		padding:10px 10px;
			width:90%;
			left:5%;
			top:10vh;
			margin-left:0px;
			height: 70vh; 
		}
	 #map {
            height: 50vh;
        }
		    .pricing-info .box-body {
        padding: 15px 15px 25px 15px;
    }
	}
.button.black {
    border-radius: 2px;
    font-size: 14px;
    letter-spacing: -0.5px;
    line-height: 42px;
    height: 42px;
    min-width: 95px;
    text-align: center;
    cursor: pointer;
    padding: 0 15px;
    color: #fff;
    background-color: #222120;
}
	.info-description-title2 {
		float: left;
		width: 100px;
		font-weight:bold;
	}
	.info-description-contents2{
		font-weight: 400;
		text-align: left;
		font-size: 0.9rem;
	}
	.box-body .tel {
		color: #666;
		font-size: 0.9rem;
		margin: 10px 0 0 0;
		padding: 5px 0;
		display: block;
	}
	.box-body .tel::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(/img/icon-tel.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 8px;
    vertical-align: text-top;
}
.box-body .email {
    color: #666;
    font-size: 0.9rem;
    margin: 0;
    padding: 5px 0;
    display: block;
}
.box-body .email::before {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(/img/icon-email.svg);
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 8px;
    vertical-align: text-top;
}
.free-box2 .member-num {
    color: #444;
    font-size: 0.9rem;
    display: block;
    margin-bottom: 10px;
}
.video-container {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            height: 100%;
        }
        .video-player {
            max-width: 400px;
            width: 90%;
        }	  
	 /* 
	  .voucher-go-button{display:none;position: fixed; top: 20px; right: 20px; z-index: 9998; padding: 5px 20px; border: 2px dotted #ff5b13; border-radius: 8px; background: white; font-weight: 700; font-size: 1.2rem;}
	  .voucher-go-button2{display:block;cursor:pointer;position: absolute; top: 10px; right: 10px; z-index: 9998; padding: 5px 20px; border: 2px dotted #ff5b13; border-radius: 8px; background: white; font-weight: 700; font-size: 1.2rem;}

	@media (max-width: 768px) { 
		.voucher-go-button{display:block;}
		 .voucher-go-button2{display:none;}

	}
*/
	  .voucher-box{background: #fff5e6; border: 1px solid #f9ddba; padding: 0; border-radius: 8px; margin-top: 15px; margin-bottom: 20px}	  
	  .voucher-box ul{margin: 0; padding: 0;}	  
	  .voucher-box ul li{margin: 0; padding: 15px; list-style: none; display: flex; justify-content: space-between; align-content: center; align-items: center; border-top: 1px dashed #c2b4a0}	  
	  .voucher-box ul li:first-child{border-top: none;}	  
	  .voucher-box ul li h5{margin: 0; padding: 0; font-size: 1.1rem;}	  	  
	  .voucher-box ul li .question-icon { width: 18px; height: 18px; cursor: pointer; margin-left: 10px; margin-right: auto;}
    
    /* Modal Styles */
    .tooltip-modal { display: none; position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.5); justify-content: center; align-items: center; z-index: 1000; }
    .tooltip-content {position: relative; background-color: #fff; padding:10px 20px; border-radius: 10px; width: 300px; text-align: center; }
    .tooltip-close {position: absolute;right: 5px;    top: 0px; font-size: 24px; cursor: pointer; text-align: right; display: block; width: 100%;}
    .tooltip-text { font-size: 16px; color: #333; }	  
	
	.tour-detail header {color:#808080;font-size:0.8rem;}
	.tour-detail .category {   
		font-size: 0.9rem;
		margin: 5px 0 0px 0;
		display: inline-block;
		border: 1px solid var(--gray-color1);
		border-radius: 5px;
		padding: 3px 10px;
		font-style: normal;
	}
	.tour-detail h3{font-size: 1.5rem;margin:15px 0px 5px;}
	.tour-detail h4{font-size: 1.1rem;color:#5a5a5a;margin:15px 0px 15px;font-weight:400;}
	.tour-detail .members{ 
	display: block;
    height: 22px;
    line-height: 20px;
    font-size: 15px;
    color: #666;
    letter-spacing: 1px;
	font-weight:400;
	margin-bottom:5px;
	}
	.tour-detail .members span {color:#3f3f3f;font-weight:bold;letter-spacing: -.8px;padding-right:10px;}
	.tour-detail .days {
	font-weight:400;
		display: block;
		height: 22px;
		line-height: 20px;
		font-size: 15px;
		color: #666;
	    letter-spacing: 1px;
		margin-bottom:5px;
	}


	.days_mem {
		display: block;
		height: 22px;
		line-height: 20px;
		font-size: 14px;
		color: #666;
	    letter-spacing: 1px;
		margin-bottom:0px;
		text-align:right;
		width:100%;
	}
	
	.days_mem_price{
		text-align:right;
		width:100%;
		display: inline-block;
		font-size: 32px;
		color: #333;
		font-weight: 600;
		font-family: 'Pretendard';
	}
	.days_mem_price span.price_e{
		font-size: 20px;
		color: #333;
		position: relative;
		top: -2px;
		font-weight: 400;
		font-family: 'Pretendard';
	}



	.tour-detail .days span {color:#3f3f3f;font-weight:bold;letter-spacing: -.8px;padding-right:10px;}
	.tour-swiper {position: relative;width: 45%;height: 302px;margin-bottom:20px;border:1px solid #ddd;    border-radius: 8px; }
	.tour-swiper .swiper { border-radius: 8px;}
	.tour-swiper .item { overflow: hidden; } 
	.tour-swiper .bg-img { width: 100%;height: 300px; border-radius: 0px;} 
	.tour-swiper .swiper-pagination { background: rgba(0,0,0, 50%); width:auto; color: #fff; padding: 3px 15px; right: 15px; bottom: 15px; left: auto;  border-radius: 20px; font-size:0.9rem;  } 

	.tour-swiper	.swiper-wrapper {width:380px;margin-right:0px;}
	.swiper-slide {
		width: 380px; /* Custom width for each slide */
	}

	.tour-detail {
		width:53%;
		padding-left:2%;	
		margin-bottom: 20px;
		position: relative;
		
	}
	.wrap-text2 table{width:100%;}

	.wrap-text2 table.type1 {
		border-top: 1px solid #999;
	}
	.wrap-text2 table {
		width: 100%;
		border-bottom: 1px solid #ddd;
		border-collapse: separate;
		table-layout: fixed;
		font-size: 15px;
	}
	.wrap-text2 table.type1 {
		border-top: 1px solid #999;
		    border-spacing: 0;
	}

	/* table type1 */
	.wrap-text2 table.type1 th,.wrap-text2 table.type1 td {
		text-align: center
	}
	.wrap-text2 th{
	    background-color: #f7f7f7;
		font-size: 15px;
		font-weight: 700;
		color: #111;
	}
	.wrap-text2 th, .wrap-text2 td {
		text-align: left;
		min-height: 54px;
		padding: 15px 20px;
		font-weight: 400;
		line-height: 23px;
	}

	.wrap-text2 table.type1 thead th {
		padding: 10px;
		border-right: 1px solid #ddd;
		border-bottom: 1px solid #ddd
	}
	.wrap-text2 table.type1 tbody td {
		padding: 10px;
		border-right: 1px solid #ddd;
	}
	.wrap-text2 table.type1 thead tr th:last-child {
		border-right: 0;
	}
	.wrap-text2 table.type1 tbody tr td:last-child {
		border-right: 0;
	}

	.text-box {
		border-radius: 8px;
	}	
	.days_mem{display:;}
	.days_mem_price{display:;}


	@media (max-width: 760px) { 


		.tour-swiper {border:0px solid #ddd;   }

		.tour-swiper {position: relative;width: 100%;height: 280px;}
		.tour-swiper {margin-bottom: 0px !important;} 	
		.tour-swiper .bg-img { height: 260px; border-top-left-radius: 0; border-top-right-radius: 0; } 	

	 .pricing-info {
        transform: translateY(100%);
		bottom: 60px;
    }

	 .days_mem{display:none;}
	 	 .days_mem_price{display:none;}


	}

.box-body p.tit {
    text-align: left;
    font-size: 14px;
    color: #333
}

.box-body p.tit .txt {
    text-align: left;
    font-size: 13px;
    color: #888;
    top: 0
}
.box-body .price {
    display: block;
    font-size: 17px;
    font-weight: 600;
    line-height: 1;
}
.aleft {float:left;width: 55%;    line-height: 36px;}
.bt20 {padding-bottom:20px;}
.member_day {
	display: inline-block;
    min-height: 36px;
}
.member_day input {
    flex: 1;
	width:118px;
    height:36px;
	text-align:center;
    border: 1px solid #B3B3B3;
    border-radius: 6px;
    box-sizing: border-box;
    font-size: 0.9rem;
}
.member_count {
    min-height: 50px;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.member_count ul {
 padding:10px 0px 0px;
    margin: 0;
}
.member_count li { 
	list-style: none;
   padding:10px 0px;
	margin: 0;
	display: flex;
	justify-content: space-between;
}

.member_count p.tit {
    text-align: left;
    font-size: 14px;
    color: #333;
    float: left;
    width: 55%;
    margin: 0;
}
.member_count .price {
    display: block;
    font-size: 17px;
    font-weight: 600;
    line-height: 1;
	font-family: 'Pretendard';
}
.num_count_group {
    display: inline-block;
    width: 118px;
    height: 38px;
    border: 1px solid #c3c3c3;
    border-radius: 2px;
}
.num_count_group .btn_decrement {
    border: none;
    border-right: 1px solid #ddd;
}
.num_count_group button {
    float: left;
    width: 36px;
    height: 36px;
    padding: 5px 5px 4px;
}
.num_count_group .inpt_counter {
    float: left;
    display: block;
    font-size: 15px;
    color: #111;
    width: 34px;
    height: 36px;
    line-height: 34px;
    text-align: center;
    margin: 0 4px;
}
.num_count_group .btn_increment {
    float: right !important;
    border: none;
    border-left: 1px solid #ddd;
}
.num_count_group button {
    float: left;
    width: 36px;
    height: 36px;
    padding: 5px 5px 4px;
}

.num_count_group .btn_decrement:after {
    display: inline-block;
    content: '';
    background-repeat: no-repeat;
    background-image: url(/img/i_com.png);
    background-position: -405px -30px;
}
.num_count_group button:after {
    width: 26px;
    height: 27px;
}
.num_count_group .btn_increment:after {
    display: inline-block;
    content: '';
    background-repeat: no-repeat;
    background-image: url(/img/i_com.png);
    background-position: -433px -30px;
}
.num_count_group button:after {
    width: 26px;
    height: 27px;
}


.addr_text {padding-bottom:5px;}
.right_cont {
    float: right;
}
.right_cont>.btn {
    min-width: auto;
}
.btn.gray {
    color: #fff !important;
    border: solid 1px #5b606e;
    background-color: #5b606e;
	 padding: 5px 10px;
    font-size: 0.8rem;
}	
.total_pay_price {
    width: 100%;
}
.total_pay_price .row.final {
    padding-bottom: 5px;
}
.total_pay_price .row {
    display: flex
;
    padding-bottom: 10px;
    justify-content: space-between;
}
.total_pay_price .row .tit {
    margin: 0;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.084rem;
}
.total_pay_price .row.final .con {
    line-height: 1;
    font-size: 32px;
    font-weight: 600;
    color: #ff4b27;
	
	margin:0px;
}
.total_pay_price .row.final .con em {
    font-size: 20px;
    color: #ff4b27;
	    font-style: normal;
}
.total_money {
    text-align: right;
    position: relative;
    padding: 0 0 0px;
}
.total_money .txt.s {
    color: #888;
    margin: 0px 0px 0px;
}

.total2_money {
    text-align: right;
    position: relative;
    padding: 0 0 0px;
}
.total2_money .txt.s {
    color: #888;
    margin: 0px 0px 0px;
}

.txt.s {
    font-size: 12px;

}
.text-box {
	font-size: 15px;
	font-family: 'Pretendard';
	line-height:1.6
}
.daterangepicker {
    z-index: 9999;
}
.pricing-info header h5 {text-align:center;}




	 .option-box {
      padding-bottom: 10px;
    }

    .option-box label {
      display: block;
      margin-bottom: 8px;
      font-size: 14px;
      color: #333;
    }

    .option_select {
      width: 100%;
      padding: 10px;
      font-size: 14px;
      border: 1px solid #ccc;
      border-radius: 4px;
      background-color: white;
      appearance: none;
      background-image: url("data:image/svg+xml;utf8,<svg fill='gray' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/></svg>");
      background-repeat: no-repeat;
      background-position: right 10px center;
      background-size: 16px;
    }


	.text-input {
      width: 100%;
      padding: 10px;
      font-size: 14px;
      border: 1px solid #ccc;
      border-radius: 4px;

	}


    .selected-options {
      margin-top: 10px;
      display: flex;
      flex-direction: column;
      gap: 20px;
    }

    .selected-option {
      border-top: 1px solid #ddd;
      padding-top: 15px;
    }
	.selected-option:first-child {
	 padding-top: 0px;
		 border-top: 0px;
	}


    .option-header {
      font-weight: bold;
      margin-bottom: 10px;
    }

    .option-row {
      display: flex;
      justify-content: space-between;
      align-items: center;
     
    }

    .quantity-control {
      display: flex;
      align-items: center;
      gap: 5px;
    }

    .quantity-control button {
      width: 30px;
      height: 30px;
      border: 1px solid #ccc;
      background: #f5f5f5;
      font-size: 16px;
      cursor: pointer;
    }

    .quantity-control input {
      width: 40px;
      text-align: center;
      border: none;
      font-size: 14px;
      background: transparent;
    }
	#product-option {margin-top:10px;}
    .price-remove {
      display: flex;
      align-items: center;
      gap: 15px;
    }

    .price-remove span {
      font-size: 16px;
      font-weight: bold;
    }

    .remove-btn {
      cursor: pointer;
      font-size: 20px;
      color: #888;
    }
    .remove-btn2 {
      cursor: pointer;
      font-size: 20px;
      color: #888;
    }
@media (max-width: 760px) {
    .pricing-info.open {
        bottom: 0px;
    }
}  

body.modal-open {
  overflow: hidden;
}
.pay_html {
margin-bottom:20px;
}
.pay_body {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	border-top-left-radius : 8px;
	border-top-right-radius : 8px;

	border: 2px solid #ff5b13; 
	padding:25px;
}
.pay_diary {
	width:60%;
	padding-right:5%;
}

.pay_option {
	width:35%;
}
.pay_footer {
	width:100%;
	background: linear-gradient(90deg,#ff5a2a 0%,#ff3b00 100%); 
	text-align:center;
	color:#ffffff;
	 font-size: 23px;
	 font-weight:bold;
	 padding:10px 0px;
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
	cursor:pointer;
}
.pay_footer span{cursor:pointer;}



.pay_title {font-size:16px;font-weight:700;padding:5px 0px 10px;}
.pay_title::before {
    content: "|";
    display: inline-block;
    width: 10px;	
	color:#ff5b13
}

.option_t { 
	width:100%; 
	padding:8px 10px;
	font-size:14px;
	font-weight:500;
	color:#000;
	background:#FFFFFF;
	border:1px solid #ff5722;
	border-radius : 5px;
	margin-bottom:8px;
	cursor:pointer;
}
.option_t.xon{
	font-weight:700;
	color:#ff5722;
	background:#fff4ed;
	border:1px solid #ff5722;
}

.ticket-calendar {width:100%;}
.ticket-calendar  th {
	font-size:13px;
	padding-bottom: 10px;
}
.ticket-calendar  th.sun {
	color:#ec4e4b;
}
.ticket-calendar  th.sat {
color:#6c9cfc; 
}
 
.ticket-calendar  td {
	font-weight:700;
	text-align:center;
	color:#636372;
	padding:3px;
	height:60px;	
	width:14.3%;
	border-radius: 8px;
}

.ticket-calendar  td.date-open{
	cursor:pointer;
	background: #fff9d1;
}

.ticket-calendar  td.date-close {
	background:#f6f6f6;
	color:#999999;
}
.ticket-calendar  td span{
font-size:12px;
    word-break: break-all;
}

span.dec_price {color:#636372; text-decoration:line-through}

span.f_red {color:#ff7d00;}
span.f_red2 {color:#ff0000;}
.ticket-calendar  td.selecton {
	background:#ffc8a6;
	color:#636363;
}
.ticket-calendar-btn ul {text-align:center;line-height:26px;padding:0px 0px 10px;margin:0px;}

.ticket-calendar-btn li{list-style:none;display: inline-block;vertical-align: top;}
.ticket-calendar-btn {border-bottom:1px solid #cdcdcd;margin-bottom:10px;}
.mobile2_show{display:none}
.pc2_show{display:block}
.mem_title {padding: 5px 0px 0px;}
.right_view {display:none;margin-top:15px;}
/*
.product-details {
    width: 100%;
}
.tour-swiper {
    width: 20%
}
*/
@media (max-width: 760px) {
.tour-detail{
	margin-bottom: 10px !important;
	height:auto;
}
.ticket-calendar td {
	min-height:60px;
    word-break: break-all;
	    font-weight: 400;
		font-size:14px;
}
.pay_body {
 
padding:15px;
border-bottom-left-radius : 0;
border-bottom-right-radius : 0;
}

.pay_footer {
	border-radius: 8px;
	border-top-left-radius : 0;
	border-top-right-radius : 0;
}
	.mobile2_show{display:block}

	.mobile2_show header {

	    background-color: #29a9c6;
    border-color: #29a9c6;
	color: white;
	}

	.pc2_show{display:none}
    .pay_data {
		display: inline-block;
	}
	.pay_diary {
		width:100%;
		padding-right:0%;
	}

	.pay_option {
	    border-top: 1px solid #cdcdcd;
    padding-top: 10px;

		margin-top:30px;
		width:100%;
	}
}  

.read_more{width: 100%;display: none;margin-bottom:40px; border: 1px solid #ff4b27; color: #ff4b27; background: #fff !important;}
.read_more:hover{color: #ff4b27; background: #fff !important;}

.tour-container { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; line-height: 1.7; color: #444; word-break: keep-all; }
.visual-header img { display: block; width: 100%; height: auto; border: 0; }
.detail-intro { padding: 80px 50px; text-align: center; }
.main-title { font-family: 'Noto Serif KR', serif; font-size: 42px; font-weight: 700; color: #C26B4F; margin-bottom: 45px; line-height: 1.2; letter-spacing: -0.02em; text-align: center; }
.gr-title span { background: linear-gradient(to bottom, #C26B4F 0%, #E0C1B0 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; color: transparent; display: inline-block; }
.description { font-family: 'Noto Sans KR', sans-serif; text-align: left; }
.description p { font-size: 18px; margin-bottom: 25px; color: #555; }
.intro-text { font-size: 20px; font-weight: 500; color: #222; margin-bottom: 40px; display: block; }
.tour-features-section { width: 100%; display: flex; flex-direction: row; }
.feature-card { flex: 1; height: 550px; background-size: cover; background-position: center; position: relative; }
.tour-text-layer { position: absolute; width: 100%; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 20px; box-sizing: border-box; }
.f-title { font-family: 'Noto Serif KR', serif; font-size: 34px; font-weight: 700; color: #fff; line-height: 1.1; margin-bottom: 15px; text-shadow: 0 2px 10px rgba(0,0,0,0.5); }
.f-title .script-font { font-family: 'Nanum Pen Script', cursive; font-size: 44px; font-weight: 400; opacity: 0.9; }
.f-desc { font-family: 'Noto Sans KR', sans-serif; font-size: 16px; color: #fff; line-height: 1.4; text-shadow: 0 1px 5px rgba(0,0,0,0.5); }
.bg-ocean-img { background-image: url('/product/gaja/p1/ocean.jpg'); }
.bg-tea-img { background-image: url('/product/gaja/p1/tea.jpg'); }
.bg-flavor-img { background-image: url('/product/gaja/p1/flavor.jpg'); }

@media screen and (max-width: 915px) {
    .main-title { font-size: 32px; }
    /* 모바일에서 100% 너비를 확보하도록 설정 */
    .tour-features-section { flex-direction: column; width: 100%; display: block; } 
    /* flex: none을 추가하여 너비 충돌을 방지하고 높이를 적절히 조절 */
    .feature-card { width: 100%; height: 250px; flex: none; margin-bottom: 2px; } 
    .detail-intro { padding: 50px 25px; }
    .f-title { font-size: 30px; }
    .f-title .script-font { font-size: 40px; }
    /* 텍스트 레이어가 카드를 벗어나지 않도록 패딩 조절 */
    .tour-text-layer { padding: 20px 20px; box-sizing: border-box; }
}
	
	
	
.tour-yacht-detail { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; }
.yacht-info-content { padding: 80px 50px 60px; text-align: left; }
.yacht-icon { margin-bottom: 35px; }
.yacht-icon img { width: 120px; height: auto; display: block; } /* 아이콘 크기 확대 */
.yacht-title { font-family: 'Noto Serif KR', serif; font-size: 38px; font-weight: 700; color: #2E75B6; margin-bottom: 35px; line-height: 1.2; letter-spacing: -0.02em; }
.yacht-desc { font-family: 'Noto Sans KR', sans-serif; font-size: 19px; color: #444; line-height: 1.6; }
.yacht-desc p { margin: 0; word-break: keep-all; }
.yacht-photo-full { width: 100%; }
.yacht-photo-full img { display: block; width: 100%; height: auto; border: 0; }

/* 모바일 반응형 조절 */
@media screen and (max-width: 915px) {
    .yacht-icon img { width: 90px; } /* 모바일에서도 작지 않게 유지 */
    .yacht-title { font-size: 28px; margin-bottom: 25px; }
    .yacht-desc { font-size: 17px; }
    .yacht-info-content { padding: 50px 25px 40px; }
}

	.tour-tea-detail { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; }
.tea-info-content { padding: 80px 50px 40px; text-align: left; }
.tea-icon { margin-bottom: 35px; }
.tea-icon img { width: 120px; height: auto; display: block; }
.tea-title { font-family: 'Noto Serif KR', serif; font-size: 38px; font-weight: 700; color: #B5A21E; margin-bottom: 35px; line-height: 1.2; letter-spacing: -0.02em; }
.tea-desc { font-family: 'Noto Sans KR', sans-serif; font-size: 19px; color: #444; line-height: 1.6; }
.tea-desc p { margin: 0 0 20px; word-break: keep-all; }
.tea-notice { font-size: 14px; color: #999; text-align: right; display: block; font-style: italic; margin-top: 10px; }
.tea-photo-full { width: 100%; }
.tea-photo-full img { display: block; width: 100%; height: auto; border: 0; }

/* 모바일 반응형 조절 */
@media screen and (max-width: 915px) {
    .tea-icon img { width: 90px; }
    .tea-title { font-size: 28px; margin-bottom: 25px; }
    .tea-desc { font-size: 17px; }
    .tea-info-content { padding: 50px 25px 30px; }
    .tea-notice { text-align: left; font-size: 12px; }
}
	
.tea-options-container { width: 100%; max-width: 915px; margin: 20px auto; background-color: #fff; padding: 0; }
.option-row { display: flex; align-items: center; margin-bottom: 0; gap: 0; padding: 0; }
.option-row.reverse { flex-direction: row-reverse; }
.option-image { flex: 1.1; overflow: hidden; }
.option-image img { width: 100%; height: auto; display: block; border: 0; }
.option-text { flex: 1; text-align: left; padding: 40px; box-sizing: border-box; }
.badge { display: inline-block; padding: 4px 18px; border-radius: 20px; font-family: 'Noto Sans KR', sans-serif; font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 15px; }
.badge-a { background-color: #B2917A; }
.badge-b { background-color: #8DA93E; }
.option-title { font-family: 'Noto Serif KR', serif; font-size: 28px; font-weight: 700; margin-bottom: 20px; line-height: 1.2; }
.title-a { color: #B2917A; }
.title-b { color: #8DA93E; }
.option-desc { font-family: 'Noto Sans KR', sans-serif; font-size: 17px; color: #555; line-height: 1.6; word-break: keep-all; }

/* 모바일 반응형 조절 */
@media screen and (max-width: 768px) {
    .option-row, .option-row.reverse { flex-direction: column; }
    .option-image, .option-text { width: 100%; }
    .option-text { padding: 40px 25px; }
    .option-title { font-size: 24px; margin-bottom: 15px; }
    .option-desc { font-size: 16px; }
}	
	
.tour-food-detail { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; }
.food-info-content { padding: 80px 50px 30px; text-align: left; }
.food-icon { margin-bottom: 35px; }
.food-icon img { width: 120px; height: auto; display: block; }
.food-title { font-family: 'Noto Serif KR', serif; font-size: 38px; font-weight: 700; color: #D4A017; margin-bottom: 35px; line-height: 1.2; letter-spacing: -0.02em; }
.food-desc { font-family: 'Noto Sans KR', sans-serif; font-size: 19px; color: #444; line-height: 1.6; }
.food-desc p { margin: 0 0 20px; word-break: keep-all; }
.food-notice { font-size: 14px; color: #999; text-align: right; display: block; font-style: italic; margin-top: 10px; }
.food-gallery { display: flex; gap: 10px; padding: 0; width: 100%; }
.food-main-img { flex: 2; }
.food-sub-imgs { flex: 1; display: flex; flex-direction: column; gap: 10px; }
.food-gallery img { width: 100%; height: 100%; display: block; object-fit: cover; border: 0; }

/* 모바일 반응형 조절 (915px 이하) */
@media screen and (max-width: 915px) {
    .food-icon img { width: 90px; }
    .food-title { font-size: 28px; margin-bottom: 25px; }
    .food-desc { font-size: 17px; }
    .food-info-content { padding: 50px 25px 20px; }
    .food-notice { text-align: left; font-size: 12px; }
    .food-gallery { flex-direction: column; gap: 5px; }
    .food-sub-imgs { flex-direction: row; }
    .food-main-img, .food-sub-imgs .sub-img { width: 100%; }
}	
	
.tour-lake-banner { width: 100%; max-width: 915px; margin: 0 auto; height: 600px; background-image: url('/product/gaja/p1/lake_view.jpg'); background-size: cover; background-position: center; position: relative; display: flex; align-items: center; justify-content: flex-end; text-align: right; overflow: hidden; }
.banner-overlay-text { padding: 0 60px; box-sizing: border-box; }
.banner-msg { font-family: 'Noto Sans KR', sans-serif; font-size: 28px; font-weight: 700; color: #fff; line-height: 1.5; letter-spacing: -0.01em; text-shadow: 0 2px 15px rgba(0,0,0,0.4); word-break: keep-all; font-style: italic; }

/* 모바일 반응형 조절 (915px 이하) */
@media screen and (max-width: 915px) {
    .tour-lake-banner { height: 450px; justify-content: center; text-align: center; }
    .banner-overlay-text { padding: 0 25px; }
    .banner-msg { font-size: 20px; line-height: 1.4; }
}	
	

.tour-qna-section { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; padding: 80px 50px; box-sizing: border-box; }
.qna-main-title { font-family: 'Noto Sans KR', sans-serif; font-size: 60px; font-weight: 800; color: #FF6B35; margin-bottom: 50px; text-align: left; letter-spacing: -0.03em; }
.qna-list { display: flex; flex-direction: column; gap: 35px; }
.qna-question { font-family: 'Noto Sans KR', sans-serif; font-size: 24px; font-weight: 700; color: #111; margin-bottom: 12px; text-align: left; }
.qna-answer-box { font-family: 'Noto Sans KR', sans-serif; font-size: 20px; font-weight: 500; color: #fff; background-color: #FF6B35; padding: 22px 30px; border-radius: 20px; text-align: left; line-height: 1.5; word-break: keep-all; box-shadow: 0 4px 10px rgba(255, 107, 53, 0.2); }

/* 모바일 반응형 조절 (915px 이하) */
@media screen and (max-width: 915px) {
    .tour-qna-section { padding: 50px 25px; }
    .qna-main-title { font-size: 45px; margin-bottom: 35px; }
    .qna-question { font-size: 19px; }
    .qna-answer-box { font-size: 17px; padding: 18px 22px; border-radius: 15px; }
    .qna-list { gap: 25px; }
}	

.tour-qna-final { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; padding: 0 50px 80px; box-sizing: border-box; }
.qna-item.last { display: flex; flex-direction: column; }
.qna-question { font-family: 'Noto Sans KR', sans-serif; font-size: 24px; font-weight: 700; color: #111; margin-bottom: 12px; text-align: left; }
.qna-answer-box-full { font-family: 'Noto Sans KR', sans-serif; font-size: 20px; font-weight: 500; color: #fff; background-color: #FF6B35; padding: 35px; border-radius: 30px; text-align: left; line-height: 1.6; word-break: keep-all; box-shadow: 0 4px 15px rgba(255, 107, 53, 0.2); }
.answer-text { margin-bottom: 25px; }
.alternative-list { margin-bottom: 30px; line-height: 1.8; }
.highlight { color: #FFF200; font-weight: 700; }
.qna-image-grid { display: flex; gap: 15px; margin-top: 10px; }
.qna-img { flex: 1; border-radius: 10px; overflow: hidden; }
.qna-img img { width: 100%; height: 100%; display: block; object-fit: cover; }

/* 모바일 반응형 조절 (915px 이하) */
@media screen and (max-width: 915px) {
    .tour-qna-final { padding: 0 25px 50px; }
    .qna-question { font-size: 19px; }
    .qna-answer-box-full { font-size: 17px; padding: 25px; border-radius: 20px; }
    .qna-image-grid { flex-direction: column; gap: 10px; }
    .highlight { display: block; margin-top: 5px; }
}




.tour-container { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; line-height: 1.7; color: #444; word-break: keep-all; }
.visual-header img { display: block; width: 100%; height: auto; border: 0; }
/* 배경 이미지 속성 추가 (경로 확인 필수) */
.heritage-intro { padding: 80px 50px; text-align: left; position: relative; overflow: hidden; background-color: transparent; }
.intro-inner { position: relative; z-index: 2; }
.heritage-main-title { font-family: 'Noto Serif KR', serif; font-size: 36px; font-weight: 700; color: #5E8C31; margin-bottom: 45px; line-height: 1.3; letter-spacing: -0.02em; }
.heritage-description { font-family: 'Noto Sans KR', sans-serif; }
.heritage-description p { font-size: 18px; margin-bottom: 25px; color: #444; line-height: 1.8; }
/* 배경 이미지 처리 핵심 코드 */
.bg-leaf-deco { background-image: url('/product/goodmorning/p1/leaf_deco.png'); background-repeat: no-repeat; background-position: right center; background-size: auto 80%; opacity: 0.8; }

/* 모바일 반응형 조절 */
@media screen and (max-width: 915px) {
    .heritage-main-title { font-size: 28px; margin-bottom: 30px; }
    .heritage-description p { font-size: 16px; margin-bottom: 20px; }
    .heritage-intro { padding: 50px 25px; }
    /* 모바일에서는 나뭇잎 크기를 조절하거나 숨길 수 있습니다. */
    .bg-leaf-deco { background-size: auto 60%; background-position: right 20px center; }
}
	
	.tour-container { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; line-height: 1.7; color: #444; word-break: keep-all; }
.visual-header img { display: block; width: 100%; height: auto; border: 0; }
.heritage-gallery { width: 100%; display: flex; flex-direction: row; gap: 0; padding: 40px 0; background-color: transparent; }
.heritage-card { flex: 1; text-align: center; border: 0; padding: 10px; box-sizing: border-box; }
.card-image { width: 100%; aspect-ratio: 1 / 1.5; overflow: hidden; border-radius: 4px; }
.card-image img { width: 100%; height: 100%; display: block; object-fit: cover; border: 0; }
.card-title { font-family: 'Noto Serif KR', serif; font-size: 24px; font-weight: 700; color: #333; margin-top: 20px; line-height: 1.2; letter-spacing: -0.01em; }

/* 모바일 반응형 조절 (가로 폭 915px 이하) */
@media screen and (max-width: 915px) {
    .main-title { font-size: 32px; }
    .tour-features-section { flex-direction: column; width: 100%; display: block; } 
    .feature-card { width: 100%; height: 450px; flex: none; } 
    .detail-intro { padding: 50px 25px; }
    .f-title { font-size: 30px; }
    .f-title .script-font { font-size: 40px; }
    .tour-text-layer { padding: 40px 20px; box-sizing: border-box; }
    /* 새로운 헤리티지 갤러리 섹션 모바일 조절 */
    .heritage-gallery { flex-direction: column; gap: 20px; padding: 20px 25px; }
    .heritage-card { width: 100%; padding: 0; }
    .card-image { aspect-ratio: 16 / 9; }
    .card-title { font-size: 20px; margin-top: 15px; }
}
	
	
.tour-ojukheon-detail { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; }
.ojukheon-info-content { padding: 80px 50px 40px; text-align: left; }
.ojukheon-title { font-family: 'Noto Serif KR', serif; font-size: 42px; font-weight: 700; color: #444; margin-bottom: 15px; line-height: 1.2; letter-spacing: -0.02em; }
.title-underline { width: 60px; height: 3px; background-color: #5E8C31; margin-bottom: 40px; }
.ojukheon-desc { font-family: 'Noto Sans KR', sans-serif; font-size: 19px; color: #444; line-height: 1.6; }
.ojukheon-desc p { margin: 0; word-break: keep-all; }
.ojukheon-photo-full { width: 100%; }
.ojukheon-photo-full img { display: block; width: 100%; height: auto; border: 0; }

/* 모바일 반응형 조절 */
@media screen and (max-width: 915px) {
    .ojukheon-title { font-size: 32px; }
    .title-underline { margin-bottom: 30px; }
    .ojukheon-desc { font-size: 17px; }
    .ojukheon-info-content { padding: 50px 25px 30px; }
}	
	
.tour-woljeongsa-detail { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; }
.woljeongsa-info-content { padding: 80px 50px 40px; text-align: left; }
.woljeongsa-title { font-family: 'Noto Serif KR', serif; font-size: 42px; font-weight: 700; color: #444; margin-bottom: 15px; line-height: 1.2; letter-spacing: -0.02em; }
.title-underline { width: 60px; height: 3px; background-color: #5E8C31; margin-bottom: 40px; }
.woljeongsa-desc { font-family: 'Noto Sans KR', sans-serif; font-size: 19px; color: #444; line-height: 1.6; }
.woljeongsa-desc p { margin: 0; word-break: keep-all; }
.woljeongsa-photo-full { width: 100%; }
.woljeongsa-photo-full img { display: block; width: 100%; height: auto; border: 0; }

/* 모바일 반응형 조절 */
@media screen and (max-width: 915px) {
    .woljeongsa-title { font-size: 32px; }
    .title-underline { margin-bottom: 30px; }
    .woljeongsa-desc { font-size: 17px; }
    .woljeongsa-info-content { padding: 50px 25px 30px; }
}	
	
.tour-container { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; line-height: 1.7; color: #444; word-break: keep-all; }
.visual-header img { display: block; width: 100%; height: auto; border: 0; }
.heritage-gallery-full-stack { width: 100%; display: flex; flex-direction: column; gap: 10px; padding: 0 0 80px; background-color: transparent; }
.gallery-item-fs { width: 100%; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 4px; }
.gallery-item-fs img { width: 100%; height: 100%; display: block; object-fit: cover; border: 0; }

/* 모바일 반응형 조절 (915px 이하) */
@media screen and (max-width: 915px) {
    .main-title { font-size: 32px; }
    .tour-features-section { flex-direction: column; width: 100%; display: block; } 
    .feature-card { width: 100%; height: 450px; flex: none; } 
    .detail-intro { padding: 50px 25px; }
    .f-title { font-size: 30px; }
    .f-title .script-font { font-size: 40px; }
    .tour-text-layer { padding: 40px 20px; box-sizing: border-box; }
    /* 새로운 헤리티지 갤러리 섹션 모바일 조절 */
    .heritage-gallery-full-stack { gap: 10px; padding: 0 25px 50px; }
    .gallery-item-fs { aspect-ratio: 1 / 1.5; }
}
	
.tour-olympic-detail { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; }
.olympic-info-content { padding: 80px 50px 40px; text-align: left; }
.olympic-title { font-family: 'Noto Serif KR', serif; font-size: 42px; font-weight: 700; color: #444; margin-bottom: 15px; line-height: 1.2; letter-spacing: -0.02em; }
.title-underline { width: 60px; height: 3px; background-color: #5E8C31; margin-bottom: 40px; }
.olympic-desc { font-family: 'Noto Sans KR', sans-serif; font-size: 19px; color: #444; line-height: 1.6; }
.olympic-desc p { margin: 0; word-break: keep-all; }
.olympic-grid-gallery { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; width: 100%; padding: 0 0 80px; box-sizing: border-box; }
.grid-item { width: 100%; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; }
.grid-item img { width: 100%; height: 100%; display: block; object-fit: cover; border: 0; }

/* 모바일 반응형 조절 (915px 이하) */
@media screen and (max-width: 915px) {
    .olympic-title { font-size: 32px; }
    .title-underline { margin-bottom: 30px; }
    .olympic-desc { font-size: 17px; }
    .olympic-info-content { padding: 50px 25px 30px; }
    .olympic-grid-gallery { grid-template-columns: 1fr; gap: 10px; padding: 0 0 50px; }
    .grid-item { aspect-ratio: 16 / 9; }
}
	
.tour-food-detail { width: 100%; max-width: 915px; margin: 0 auto; background-color: #fff; }
.food-info-content { padding: 80px 50px 40px; text-align: left; }
.food-title { font-family: 'Noto Serif KR', serif; font-size: 42px; font-weight: 700; color: #444; margin-bottom: 15px; line-height: 1.2; letter-spacing: -0.02em; }
.title-underline { width: 60px; height: 3px; background-color: #5E8C31; margin-bottom: 40px; }
.food-desc { font-family: 'Noto Sans KR', sans-serif; font-size: 19px; color: #444; line-height: 1.6; }
.food-desc p { margin: 0 0 20px; word-break: keep-all; }
.food-notice { font-size: 14px; color: #999; text-align: right; display: block; font-style: italic; margin-top: 10px; }
.food-gallery { display: flex; gap: 10px; padding: 0 0 80px; width: 100%; box-sizing: border-box; }
.food-main-img { flex: 2; }
.food-sub-imgs { flex: 1; display: flex; flex-direction: column; gap: 10px; }
.food-gallery img { width: 100%; height: 100%; display: block; object-fit: cover; border: 0; border-radius: 8px; }

/* 모바일 반응형 조절 */
@media screen and (max-width: 915px) {
    .food-title { font-size: 32px; }
    .title-underline { margin-bottom: 30px; }
    .food-desc { font-size: 17px; }
    .food-info-content { padding: 50px 25px 30px; }
    .food-notice { text-align: left; font-size: 12px; }
    .food-gallery { flex-direction: column; gap: 10px; padding: 0 0 50px; }
    .food-sub-imgs { flex-direction: row; }
    .food-main-img, .food-sub-imgs .sub-img { width: 100%; }
}
