@charset "utf-8";

.goods-search {border:1px solid #ddd; border-radius:50px; display:flex; align-items:center;}
.goods-search .input {border:none; width:100%; flex:1;}
.goods-search .ico {margin-left:30px; display:flex;}
.goods-search .btn-pack {min-width:156px; height:60px; font-size:var(--font-size-18); border-radius:50px;}

/* 쇼핑 필터 */
.goods-list-wrap {display:flex; gap:60px; padding-top:35px;}

.goods-filter-area {width:270px;}

.goods-list-area {flex:1 1 auto; min-width:0; width:1%;}

.filter-group {padding:30px 0; border-bottom:1px solid #dfdfdf;}
.filter-group .group:not(:last-child) {margin-bottom:27px;}
.filter-group.first {padding-top:0;}
.filter-group.first .input {height:46px;}
.filter-group.last {padding-bottom:0; border-bottom:0;}

.filter-title {margin-bottom:14px; font-size:var(--font-size-18); font-weight:600; line-height:1.3em; color:#2c2c2c;}

.filter-items {margin-top:23px;}

.filter-select {font-size:15px; font-weight:500; color:#2c2c2c; line-height:1.5em;}
.filter-select ul {display:grid; gap:20px;}
.filter-select .checkbox {display:block;}
.filter-select .checkbox label {display:block; cursor:pointer; position:relative; padding-left:28px;}
.filter-select .checkbox label:before {position:absolute; top:.1em; left:0; width:20px; height:20px; border-radius:100%; margin:0 !important;}
.filter-select .checkbox input:checked + label:before {background-size:9px auto;}
.filter-select .checkbox small {display:block; margin-top:2px; font-size:13px; font-weight:400; color:#505050; line-height:1.3em;}

.filter-btns {margin-top:40px;}
.btn-filter-reset {display:flex; align-items:center; padding:10px 0; background:none; border:0; white-space:nowrap; color:#505050; font-size:14px; line-height:1.5em;}
.btn-filter-reset svg {width:18px; margin-right:6px;}

/* 상품 정렬 */
.goods-sort {display:flex; justify-content:space-between; align-items:center; margin-bottom:20px;}
.goods-sort .total {font-size:13px; color:#2c2c2c; line-height:1.3em;}
.goods-sort .total strong {color:var(--color-primary)}
.goods-sort .sort .input {width:270px; height:38px; font-size:14px;}

/* 상품 리스트 - 갤러리형 */
.goods-card .image {position:relative; margin-bottom:16px;}
.goods-card .image .thumb {border-radius:16px; position:relative; padding-bottom:75%; overflow:hidden;}
.goods-card .image .thumb img {position:absolute; top:0; left:0; width:100%; height:100%; transition:.4s ease; object-fit:cover;}
.goods-card .image .tagtag {position:absolute; top:10px; left:10px;}
.goods-card .image .wishlist-badge {position:absolute; bottom:10px; right:10px;}
.goods-card .image a:hover .thumb img {transform:scale(1.05);}
.goods-card .loca {margin-bottom:12px; font-size:14px; font-weight:500; display:flex; align-items:center; letter-spacing:-.04em; line-height:1.3em; color:#878787;}
.goods-card .loca i {display:inline-block; min-width:18px; height:16px; margin:-.2em 0 0 0; background:url('../images/shop/map-marker.svg') 0 50%/contain no-repeat;}
.goods-card .title {margin-bottom:16px; font-size:var(--font-size-18); font-weight:700; letter-spacing:-.04em; line-height:1.44em; color:#2c2c2c;}
.goods-card .price {display:flex;}
.goods-card .price .txt {width:37px; font-size:13px; font-weight:500; font-weight:500; letter-spacing:-.03em;}
.goods-card .price .won {margin-right:10px;}
.goods-card .price .won strong {display:block; font-size:var(--font-size-18); font-weight:700; letter-spacing:-.04em; line-height:1.44em; color:#2c2c2c;}
.goods-card .price .won strike {font-size:14px; font-weight:500; line-height:1.4em; color:#a8a8a8; display:block;}
.goods-card .price .discount {font-size:var(--font-size-18); font-weight:700; letter-spacing:-.04em; line-height:1.44em; color:#ff5800;}
.goods-card .rating {margin-left:37px; margin-top:12px; font-size:11px; color:#a8a8a8; letter-spacing:-.03em; line-height:1.3em; display:flex; align-items:center;}
.goods-card .rating i {display:inline-block; width:12px; height:12px; margin:-.2em 5px 0 0; background:url('../images/shop/star.svg') 50% 50%/contain no-repeat;}
.goods-card .rating strong {margin-right:10px; font-size:13px; font-weight:500; color:#f3b60a;}

/* 상품 리스트 - 목록형 */
.mypage-content .goods-items {border-top:0;}
.goods-items {border-top:1px solid #ddd;}
.goods-item {display:flex; padding:var(--margin-bottom-30) 0; border-bottom:1px solid #ddd; }
.goods-item .left {display:flex; flex:1 1 auto; min-width:0; width:1%;}
.goods-item .image {position:relative; align-self:self-start; width:253px; margin-right:var(--margin-bottom-30);}
.goods-item .image .thumb {border-radius:20px; position:relative; padding-bottom:75%; overflow:hidden;}
.goods-item .image .thumb img {position:absolute; top:50%; left:0; transition:.4s ease-in-out; transform:translateY(-50%); -ms-transform:translateY(-50%); -webkit-transform:translateY(-50%); width:100%; height:auto !important; max-width:100%; min-height:100%; object-fit:cover;}
.goods-item .image .tagtag {position:absolute; top:10px; left:10px;}
.goods-item .image .wishlist-badge {position:absolute; bottom:10px; right:10px;}
.goods-item .info {flex:1 1 auto; min-width:0; width:1%; position:relative; padding-bottom:40px;}
.goods-item .info .rating {margin-bottom:15px; font-size:13px; display:flex; align-items:center; line-height:1.3em; font-weight:500; color:#f3b60a; letter-spacing:-.04em;}
.goods-item .info .rating span {font-size:11px; padding-left:10px; color:#a8a8a8;}
.goods-item .info .rating i {display:inline-block; width:12px; height:12px; margin:-4px 5px 0 0; background:url('/images/shop/star.svg') 50% 50%/contain no-repeat;}
.goods-item .info .title {margin-bottom:20px; display:block; font-size:var(--font-size-18); color:#2c2c2c; font-weight:700; letter-spacing:-.04em; line-height:1.6em;}
.goods-item .info p {font-size:13px; letter-spacing:-.04em; line-height:1.5em; color:#505050;}
.goods-item .info .time {display:flex; align-items:center; position:absolute; bottom:0; left:0; font-size:14px; font-weight:500; color:#505050; letter-spacing:-.04em; line-height:1.3em;}
.goods-item .info .time i {display:inline-block; width:16px; height:16px; margin:0 5px 0 0; background:url('/images/shop/clock.png') 50% 50%/contain no-repeat; vertical-align:middle;}
.goods-item .right {padding:0 10px 0 20px; width:200px; margin-left:15px; position:relative; border-left:1px solid #ddd;}
.goods-item .total p {font-size:13px; margin-bottom:5px; font-weight:500; letter-spacing:-.04em; line-height:1.3em;}
.goods-item .total strong {font-size:var(--font-size-18); color:#2c2c2c; display:inline-block; line-height:1.3em;}
.goods-item .total .percent {font-size:var(--font-size-18); color:var(--color-primary); font-weight:700; display:inline-block;}
.goods-item .total strike {font-size:14px; line-height:1.2em; display:block; font-weight:500; letter-spacing:-.04em; color:#a8a8a8;}
.goods-item .add-cart {font-size:13px; margin-top:var(--margin-bottom-30); display:block; font-weight:500; color:var(--color-primary); letter-spacing:-.03em;}
.goods-item .book-now {font-size:14px; height:46px; position:absolute; bottom:0; left:30px; right:10px; align-items:center; justify-content:center; border:1px solid var(--color-primary); border-radius:5px; letter-spacing:-.04em; text-align:center; color:var(--color-primary); display:flex; font-weight:700;}
.goods-item .book-now:hover {color:#fff; background-color:var(--color-primary);}

.wishlist-badge {display:inline-block; width:30px; height:30px; border:0; border-radius:100%; background:rgba(255,255,255,.86) url('../images/shop/wishlist-off.png') 50% 50% no-repeat; background-size:14px;}
.wishlist-badge.active {background-image:url('../images/shop/wishlist-on.png');}

/* 상품상세 상단 */
.goods-top-info {position:relative; z-index:20; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; margin-top:12px;}
.goods-top-info .info {display:flex; align-items:center; gap:20px;}
.goods-top-info .tag {display:inline-block; padding:0 9px; background:#f4f4f4; border-radius:30px; color:#505050; font-size:12px; font-weight:600; line-height:24px;}
.goods-top-info .rating {display:flex; align-items:center; gap:5px;}
.goods-top-info .rating img {vertical-align:middle; margin-top:-.2em;}
.goods-top-info .rating strong {color:#f3b60a; font-size:16px; font-weight:500; line-height:1.3em;}
.goods-top-info .rating span {margin-left:4px; color:#a8a8a8; font-size:12px; line-height:1.3em;}
.goods-top-info .btns {display:flex; align-items:center; gap:30px;}

.save-wishlist {display:inline-block; background:none; border:0; color:#505050; font-size:15px; font-weight:500; line-height:1.5em;}
.save-wishlist i {display:inline-block; margin:-.3em 6px 0 0; width:16px; height:16px; background:url('../images/shop/wish-off.svg') 50% 50%/contain no-repeat; vertical-align:middle;}
.save-wishlist.active i {background-image:url('../images/shop/wish-on.svg');}

.share-btn-area {position:relative;}
.share-btn-area.active .share-toggle-list {opacity:1; pointer-events:auto;}

.share-toggle-btn {display:inline-block; background:none; border:0; color:#505050; font-size:15px; font-weight:500; line-height:1.5em;}
.share-toggle-btn i {display:inline-block; margin:-.3em 6px 0 0; width:16px; height:16px; background:url('../images/shop/share.svg') 50% 50%/contain no-repeat; vertical-align:middle;}

.share-toggle-list {display:grid; gap:14px; position:absolute; right:-10px; margin-top:10px; padding:30px; background:#fff; box-shadow:0px 4px 20px 0px rgba(0, 0, 0, 0.1); border-radius:16px; pointer-events:none; opacity:0; transition:.2s;}
.share-toggle-list .link-item {display:flex; align-items:center; gap:10px; width:100%; color:#2c2c2c; font-size:15px; font-weight:500; line-height:1.33em; white-space:nowrap;}
.share-toggle-list .link-item i {display:flex; align-items:center; justify-content:center; width:34px; height:34px; min-width:34px; background:#f1f1f1; border-radius:100%;}
.share-toggle-list .link-item svg {width:16px}

.goods-summary {display:flex; gap:20px; margin-bottom:20px;}

.goods-photo {flex:1 1 auto; min-width:0; width:1%;}
.goods-photo .slider {position:relative; height:100%; border-radius:24px; overflow:hidden;}
.goods-photo .swiper {height:100%;}
.goods-photo .img {position:relative; height:100%; overflow:hidden;}
.goods-photo .img img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.goods-photo .slide-btn {position:absolute; top:50%; z-index:10; width:60px; height:60px; margin-top:-30px; background-position:50% 50%; background-repeat:no-repeat; background-size:contain; cursor:pointer;}
.goods-photo .slide-btn.prev {left:8px; background-image:url('../images/shop/slide-prev.png');}
.goods-photo .slide-btn.next {right:8px; background-image:url('../images/shop/slide-next.png');} 
.goods-photo .fraction {position:absolute; top:10px; right:10px; left:auto; bottom:auto; z-index:10; width:56px; background-color:rgba(0,0,0,.5); border-radius:6px; color:#fff; font-size:14px; line-height:31px; text-align:center;}

.goods-info {width:calc(40% - 10px); padding:55px 40px; border:1px solid #dfdfdf; border-radius:24px;}
.goods-info .price-area {display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:20px;}
.goods-info .price-area strong {font-size:var(--font-size-28); line-height:1.3em;}
.goods-info .price-area .ko-won {color: #242424;}
.goods-info .price-area .txt {margin-bottom:4px; color:#505050; font-weight:600; line-height:1.3em;}
.goods-info .price-area .price strong {color:#2c2c2c;}
.goods-info .price-area .price strike {margin-left:.5em; color:#a8a8a8; font-size:var(--font-size-16); font-weight:500; line-height:1.3em;}
.goods-info .price-area .discount {color:var(--color-primary);}
.goods-info .select-area {padding:40px 0; border-top:1px solid #dfdfdf; border-bottom:1px solid #dfdfdf;}
.goods-info .select-area .txt {margin-bottom:14px; margin-top:-.15em; color:#2c2c2c; font-size:var(--font-size-18); font-weight:600; line-height:1.3em;}
.goods-info .select-area .group {position:relative; margin-bottom:8px;}
.goods-info .select-area .group .input {height:46px;}
.goods-info .select-area .ws-wiget {right:0; width:100%; min-width:370px;}
.goods-info .select-area .submit {margin-top:30px;}
.goods-info .select-area .submit button {display:block; width:100%; height:46px; border:0; border-radius:6px; background:var(--color-primary); font-size:var(--font-size-17); font-weight:700; color:#fff;}
.goods-info .offer {margin-top:30px; font-size:var(--font-size-14); font-weight:500; line-height:1.3em;}
.goods-info .offer img {vertical-align:middle; margin:-.2em 2px 0 0;}

.product-information {margin-bottom:var(--margin-bottom-120); text-align:center; color:#2c2c2c; font-weight:500; line-height:1.4em;}
.product-information ul {display:grid; grid-template-columns:repeat(5, 1fr); gap:20px;}
.product-information ul li {display:flex; flex-direction:column; justify-content:center; align-items:center; gap:18px; min-height:155px; padding:20px; border:1px solid #ddd; border-radius:20px;}
.product-information ul li img {width:40px;}

/* 수량 */
.quantity {display:inline-flex; vertical-align:middle; width:104px; height:30px; gap:2px;}
.quantity .input {flex:1 1 auto; min-width:0; width:1%; height:100% !important; padding:0; background:#fff !important; text-align:center; color:#2c2c2c; font-size:13px; font-weight:500; border-radius:4px;}
.quantity .qty-bt {width:30px; height:30px; overflow:hidden; text-indent:-999em; border:1px solid #dfdfdf; border-radius:4px; background-color:#fff; background-position:50% 50%; background-repeat:no-repeat;}
.quantity .qty-down {background-image:url("/images/shop/icon-qty-minus.svg"); order:-1;}
.quantity .qty-up {background-image:url("/images/shop/icon-qty-plus.svg");}

/* 옵션별 수량 선택 */
.add-options > ul > li:after {content:''; display:block; margin:27px 0; border-bottom:1px solid #dfdfdf;}
.add-options .opt-name {display:flex; justify-content:space-between; margin-bottom:18px;}
.add-options .opt-name .name {font-size:15px; font-weight:600; line-height:1.33em; color:#2c2c2c;}
.add-options .opt-name .del {display:inline-block; position:relative; margin-top:.2em; width:11px; height:11px; background:url('/images/shop/icon-delete.svg') 50% 50%/contain no-repeat;}
.add-options .opt-info {margin-top:4px; font-size:13px; line-height:1.5em; letter-spacing:0;}

/* 상품상세 하단 */
.goods-detail-wrap {display:flex; justify-content:space-between; gap:40px;}

.goods-detail-content {flex:1 1 auto; min-width:0; width:1%;}

.gs-content:not(:last-child) {margin-bottom:var(--margin-bottom-100);}

.goods-detail-sidebar {width:30%; max-width:360px; min-width:270px; padding-top:60px;}

.page-scroll-down .gs-selling-option {top:calc(var(--header-height) + 20px); max-height:calc(100vh - var(--header-height) - 40px);}

.gs-selling-option {display:flex; flex-direction:column; position:sticky; top:calc(var(--header-height) + var(--gnb-height) + 20px); left:0; z-index:50; align-self:self-start; max-height:calc(100vh - var(--header-height) - var(--gnb-height) - 40px); padding:30px; transition:.4s; border:1px solid #dfdfdf; border-radius:20px;}
.gs-selling-option .add-options {flex:1 1 auto; min-height:0; height:1%; overflow:auto; -webkit-overflow-scrolling:touch;}

.gs-view-head {display:flex; justify-content:space-between; align-items:center; margin-bottom:27px;}
.gs-view-head h2 {color:#2c2c2c; font-size:20px; line-height:1.3em;}
.gs-view-head .count {color:#a8a8a8; font-weight:600; margin-left:4px;}

.btn-sg-view-btn {display:inline-block; padding:0 12px; border-radius:4px; background:var(--color-third); color:#fff; font-size:12px; font-weight:500; line-height:25px;}

.gs-goods-info {display:flex; align-items:flex-start; gap:12px; padding-bottom:27px; margin-bottom:27px; border-bottom:1px solid #dfdfdf;}
.gs-goods-info .img {position:relative; width:48px; height:48px; border-radius:6px; overflow:hidden;}
.gs-goods-info .img img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover;}
.gs-goods-info .cnt {flex:1 1 auto; min-width:0; width:1%;}
.gs-goods-info .cate {color:#a8a8a8; font-size:11px; line-height:1.5em;}
.gs-goods-info .tit {color:#2c2c2c; font-size:13px; font-weight:500; line-height:1.5em;}

.gs-total {display:grid; gap:16px 0; margin-bottom:35px;}
.gs-total dl {display:flex; align-items:center; justify-content:space-between;}
.gs-total dt {font-size:14px; font-weight:500;}
.gs-total dd {color:#2c2c2c; font-size:22px; font-weight:700; line-height:1em;}
.gs-total .total dt {color:#2c2c2c; font-size:16px; font-weight:600;}
.gs-total .total dd {font-size:28px; line-height:1em;}

.gs-btns {display:grid; gap:8px;}
.gs-btns .btn-set.border {font-size:14px;}

.btn-set {display:inline-block;overflow:visible;position:relative;margin:0;padding:0 24px;height:46px;font-size:17px;font-weight:700;line-height:44px;background:#fff;color:#2c2c2c;border:1px solid #dfdfdf;border-radius:6px;text-align:center;text-decoration:none !important;vertical-align:top;white-space:nowrap;cursor:pointer;transition:.2s;}
.btn-set.focus {background:var(--color-primary); border:1px solid var(--color-primary); color:#fff;}
.btn-set.border {background:#fff; border:1px solid var(--color-primary); color:var(--color-primary);}

.btn-sg-view-btn {display:inline-block; padding:11px 20px; border-radius:6px; background:var(--color-primary); color:#fff; font-size:14px; font-weight:700; line-height:20px; letter-spacing:0;}

.goods-float-button {display:none; position:sticky; bottom:0; left:0; z-index:110; padding:8px; background:#fff;}
.goods-float-button-inner {display:flex; gap:6px;}
.goods-float-button-inner .gs-button {width:46px; height:46px; border:1px solid #dfdfdf; border-radius:6px; background-size:18px;}
.goods-float-button-inner .btn-set {flex:1 1 auto; min-width:0; width:1%; height:46px; line-height:44px; border-radius:6px;}

.gs-buttons {display:flex; gap:8px; position:absolute; bottom:10px; right:10px; z-index:2;}
.gs-button {display:block; width:34px; height:34px; border:0; border-radius:100%; background:#fff; background-repeat:no-repeat; background-position:50% 50%; background-size:16px;}
.gs-button.wish {background-image:url('/images/shop/wish-off.svg');}
.gs-button.wish.on {background-image:url('/images/shop/wish-on.svg');}
.gs-button.wish:hover {background-image:url('/images/shop/wish-on.svg');}

/* Package Options */
.package-options {display:grid; gap:10px;}
.tour-grade {border:1px solid #dfdfdf; border-radius:16px;}
.tour-grade .title {display:flex; padding:25px 30px;}
.tour-grade .title input {position:relative; vertical-align:top; margin:.3em 20px 0 0 !important; -webkit-appearance:none; appearance:none; width:18px; height:18px; border:1px solid #ccc; border-radius:100%;}
.tour-grade .title input:checked {border-color:var(--color-primary);}
.tour-grade .title input:checked::before {content:''; position:absolute; top:50%; left:50%; width:10px; height:10px; margin:-5px 0 0 -5px; background:var(--color-primary); border-radius:100%;}
.tour-grade .title .label {flex:1 1 auto; min-width:0; width:1%; color:#2c2c2c; font-size:var(--font-size-18); font-weight:600; line-height:1.4em;}
.tour-grade .content {display:none; padding:0 30px 30px 67px;}
.tour-grade .description dt {margin-bottom:6px; color:#a8a8a8; font-size:14px; font-weight:500; line-height:1.5em;}
.tour-grade .description dd {color:#2c2c2c; font-size:var(--font-size-15);}
.tour-grade .times {display:flex; flex-wrap:wrap; gap:6px; margin-top:27px;}
.tour-grade .time {min-width:90px; padding:11px; background:#f4f4f4; border:0; border-radius:6px; font-size:14px; font-weight:700; line-height:1.45em;}
.tour-grade .time.active {background:var(--color-primary); color:#fff;}
.tour-grade .price {display:grid; gap:4px; margin-top:20px; padding-top:20px; border-top:1px solid #dfdfdf; font-size:14px; font-weight:500; line-height:1.4em;}
.tour-grade .price strong {font-size:22px; line-height:1.4em; color:#2c2c2c;}
.tour-grade.active {border-color:#2c2c2c;}
.tour-grade.active .content {display:block;}

/* Meeting and Pickup */
.pickup-info-text {margin-bottom:var(--margin-bottom-40); color:#2c2c2c; font-size:var(--font-size-18); line-height:1.5em;}
.pickup-wrapper {padding:29px; border:1px solid #dfdfdf; border-radius:16px;}
.pickup-wrapper:not(:last-child) {margin-bottom:10px;}
.pickup-wrapper .or {display:flex; align-items:center; justify-content:center; gap:10px; margin:32px 0; text-align:center; color:#2c2c2c;}
.pickup-wrapper .or:before,
.pickup-wrapper .or:after {content:''; flex:1 1 auto; min-width:0; width:1%; width:100%; height:1px; background:#2c2c2c;}
.pickup-wrapper h4 {margin-bottom:22px; color:#2c2c2c; font-size:var(--font-size-18); font-weight:600; line-height:1.3em;}
.pickup-wrapper .tt {margin-bottom:10px; color:#2c2c2c; font-size:var(--font-size-15); font-weight:500; line-height:1.3em;}
.pickup-wrapper .checkbox {font-size:15px; font-weight:500; color:#a8a8a8; letter-spacing:0;}
.pickup-wrapper .checkbox label:before {width:20px; height:20px; background-color:#fff; border-radius:100%;}
.pickup-wrapper .blank-link {display:inline-block; margin-top:25px; color:var(--color-primary); font-weight:500; text-decoration:underline; text-underline-offset:0.25em; pointer-events:none;}
.pickup-wrapper .blank-link svg {margin-left:1em;}
.pickup-wrapper .blank-link:hover {text-decoration:none;}
.pickup-wrapper .info-text {position:relative; margin-top:10px; padding-left:20px; color:var(--color-primary); font-size:13px; line-height:1.5em; letter-spacing:-.02em;}
.pickup-wrapper .info-text:before {content:''; position:absolute; top:2px; left:0; width:14px; height:14px; background:url('../images/shop/info.png') 50% 50%/contain no-repeat;}

.pickup-info {margin-top:22px;}
.pickup-info dt {margin-bottom:4px; color:#a8a8a8; font-size:var(--font-size-14); font-weight:500; line-height:1.6em;}
.pickup-info dd {font-size:var(--font-size-15); font-weight:500; line-height:1.6em;}

.pickup-select-wrap {position:relative; z-index:2;}
.pickup-select-wrap.active .pickup-select-btn {border-color:#2c2c2c; border-radius:6px 6px 0 0;}
.pickup-select-wrap.active .pickup-select-list {display:block;}
.pickup-select-wrap.selected .blank-link {pointer-events:auto;}
.pickup-select-btn {display:flex; align-items:center; justify-content:space-between; gap:15px; width:100%; height:46px; padding:6px 20px; border:1px solid #dfdfdf; border-radius:6px; background:#fff; color:#a8a8a8; font-size:15px; text-align:left;}
.pickup-select-btn .text {flex:1 1 auto; min-width:0; width:1%; display:flex; align-items:center; overflow:hidden;}
.pickup-select-btn .text .tit {color:#2c2c2c; font-weight:500;}
.pickup-select-btn .text .txt {color:#a8a8a8; font-size:13px; margin-left:6px;}
.pickup-select-list {display:none; width:100%; max-height:225px; overflow:auto; border:1px solid #2c2c2c; border-top:0; border-radius:0 0 6px 6px; background:#fff;}
.pickup-select-item {display:flex; align-items:center; gap:15px; width:100%; padding:15px 20px; background:none; border:0; text-align:left; transition:.2s;}
.pickup-select-item .ico {line-height:0;}
.pickup-select-item .ico path {fill}
.pickup-select-item .cnt {flex:1 1 auto; min-width:0; width:1%; display:grid; gap:5px;}
.pickup-select-item .cnt .tit {font-size:15px; font-weight:500; line-height:1.3em; color:#2c2c2c;}
.pickup-select-item .cnt .txt {font-size:13px; line-height:1.3em;}
.pickup-select-item:hover {background:#f4f4f4;}
.pickup-select-item:hover .cnt .tit,
.pickup-select-item:hover .cnt .txt {color:var(--color-primary);}

/* Course Description */
.course-description .acc-wrap {border:1px solid #dfdfdf; border-radius:16px;}
.course-description .acc-wrap:not(:last-child) {margin-bottom:10px;}
.course-description .acc-wrap.active {border-color:#2c2c2c;} 
.course-description .acc-wrap.active .acc-head svg {-webkit-transform:scaleY(-1); transform:scaleY(-1);}
.course-description .acc-wrap.active .acc-body {display:block;}
.course-description .acc-head {display:flex; justify-content:space-between; align-items:center; padding:24px 29px; color:#2c2c2c; }
.course-description .acc-head h3 {font-size:var(--font-size-18); font-weight:600; line-height:1.5em;}
.course-description .acc-body {display:none; padding:29px; padding-top:0; color:#2c2c2c;}
.course-description .acc-body .item {display:flex; align-items:flex-start; gap:20px; position:relative; padding-bottom:40px;}
.course-description .acc-body .item:before {content:''; position:absolute; top:0; left:12px; width:1px; height:100%; background:#dfdfdf;}
.course-description .acc-body .item .num {position:relative; z-index:2; display:flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:100%; background:var(--color-primary); font-size:12px; font-weight:700; line-height:1.3em; color:#fff;}
.course-description .acc-body .item dl {flex:1 1 auto; min-width:0; width:1%;}
.course-description .acc-body .item dt {margin-bottom:6px; font-size:var(--font-size-16); font-weight:700; line-height:1.5em;}
.course-description .acc-body .item dd {font-size:var(--font-size-15); line-height:1.75em; letter-spacing:-.02em;}
.course-description .acc-body .item:last-child {padding-bottom:5px;}
.course-description .acc-body .item:last-child::before {display:none;}

/* What's Included & What's Excluded */
.travel-checkup  {font-weight:500; line-height:1.5em;}
.travel-checkup ul {display:grid; grid-template-columns:repeat(2, 1fr); gap:16px 32px;}
.travel-checkup ul li {position:relative; padding-left:26px;}
.travel-checkup ul li svg {position:absolute; top:.25em; left:0;}

/* 추천상품 슬라이더 */
.recomm-slider {position:relative;}
.recomm-slider .swiper-button {width:32px; height:32px; background:rgba(255,255,255,.7); border-radius:100%; box-shadow:0 0 6px rgba(0,0,0,.7); color:#2c2c2c;}
.recomm-slider .swiper-button:after {font-size:16px; font-weight:700;}
.recomm-slider .swiper-button-disabled {display:none;}
.recomm-slider .swiper-button-prev {left:-12px;}
.recomm-slider .swiper-button-next {right:-12px;}

/* 상품리뷰 */
.mypage-review-header {display:flex; align-items:center; gap:10px; padding:20px 40px; border-radius:16px; background:#f8f8f8;}
.mypage-review-header .txt {flex:1 1 auto; min-width:0; width:1%;}
.mypage-review-header .txt p {font-size:var(--font-size-18); font-weight:600; line-height:1.5em; color:#2c2c2c;}

.review-feed {display:flex; align-items:center; padding:24px 34px; margin-bottom:10px; background:#f8f8f8; border-radius:16px;}
.review-feed .rating {flex:1 1 auto; min-width:0; width:1%; display:flex; align-items:center; gap:18px;}
.review-feed .rating .num {color:#a8a8a8; font-size:var(--font-size-20); font-weight:800; line-height:1.3em; letter-spacing:-.02em;}
.review-feed .rating .num strong {color:#2c2c2c; font-size:var(--font-size-32); font-weight:800;}
.review-feed .rating .ico {display:flex; gap:4px;}
.review-feed .rating .ico img {width:24px;}
.review-feed .total {color:#a8a8a8; font-size:var(--font-size-14); line-height:1.5em; letter-spacing:-.02em;}

.mypage-content .review-list {display:block;}
.mypage-content .review-item {padding:40px 0; border:0; border-bottom:1px solid #ddd; border-radius:0;}

.review-list {display:grid; gap:10px;}
.review-item {padding:29px 34px; border:1px solid #dfdfdf; border-radius:16px;}
.review-item-cnt-rating {display:flex; gap:2px; line-height:0; margin-bottom:20px;}
.review-item-cnt-rating img {width:16px;}
.review-item-cnt-tit {margin-bottom:5px; font-size:var(--font-size-16); font-weight:700; line-height:1.5em; color:#2c2c2c;}
.review-item-cnt-gs {margin-bottom:15px; font-size:var(--font-size-13); line-height:1.5em; letter-spacing:-.03em; color:#a8a8a8;}
.review-item-cnt-txt {font-size:var(--font-size-15); line-height:1.75em; letter-spacing:-.03em; color:#2c2c2c;}
.review-item-cnt-photos {display:grid; grid-template-columns:repeat(5, 1fr); gap:8px; margin-top:20px;}
.review-item-cnt-photos .link {display:block; overflow:hidden;position:relative; border-radius:6px;}
.review-item-cnt-photos .link:before {content:''; display:block; padding-bottom:100%;}
.review-item-cnt-photos .link img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:.4s ease;}
.review-item-cnt-photos .link:hover img {transform:scale(1.05);}
.review-item-cnt-info {display:flex; justify-content:space-between; margin-top:20px; font-size:var(--font-size-13); line-height:1.5em; letter-spacing:-.02em; color:#878787;}
.review-item-cnt-info .ctr {display:flex; gap:20px;}
.review-item-cnt-info .ctr a:hover {text-decoration:underline;}

/* booking */
.booking-container {margin-top:40px;}

.booking-wrapper {padding:29px; margin-bottom:var(--margin-bottom-30); border:1px solid #dfdfdf; border-radius:16px; font-size:15px; line-height:1.5em;}
.booking-wrapper:last-child {margin-bottom:0;}

.booking-step {display:flex; align-items:flex-start; gap:10px; margin-bottom:30px;}
.booking-step .num {display:flex; justify-content:center; align-items:center; width:24px; height:24px; background:var(--color-primary); border-radius:100%; color:#fff; font-size:12px; font-weight:500; line-height:1.3em;}
.booking-step .tit {color:#2c2c2c; font-size:18px; font-weight:600; line-height:1.3em;}

.booking-status {margin-bottom:27px; color:#2c2c2c; font-size:14px; font-weight:700; line-height:1.5em;}
.booking-status i {display:inline-block; margin:-.2em 8px 0 0; width:10px; height:10px; background:#ccc; border-radius:100%; vertical-align:middle;}
.booking-status.active {color:var(--color-primary);}
.booking-status.active i {background:var(--color-primary);}

.booking-text {margin-bottom:30px;}

.booking-goods-info {display:flex; align-items:flex-start; gap:30px; margin-bottom:var(--margin-bottom-55);}
.booking-goods-info .image {position:relative; width:253px;}
.booking-goods-info .image .thumb {position:relative; padding-bottom:75%; border-radius:16px; overflow:hidden;}
.booking-goods-info .image .thumb img {position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transition:.4s ease;}
.booking-goods-info .image a:hover .thumb img {transform:scale(1.05);}
.booking-goods-info .image .tagtag {position:absolute; top:10px; left:10px;}
.booking-goods-info .content {flex:1 1 auto; min-width:0; width:1%;}
.booking-goods-info .content .title {display:block; margin-bottom:20px; color:#2c2c2c; font-size:18px; font-weight:700; line-height:1.4em;}
.booking-goods-info .content .option .tit {margin-bottom:8px; color:#a8a8a8; font-size:14px; font-weight:500; line-height:1.4em;}
.booking-goods-info .content .option .opt {margin-bottom:15px; color:#2c2c2c; font-size:15px; font-weight:600; line-height:1.4em;}
.booking-goods-info .content .option .info {color:#505050; font-size:13px; line-height:1.7em;}

.booking-details.none {display:none;}
.booking-detail {padding:40px 0; border-bottom:1px solid #dfdfdf;}
.booking-detail:first-child {padding-top:0;}
.booking-detail:last-child {padding-bottom:0; border-bottom:0;}
.booking-detail .group:not(:last-child) {margin-bottom:30px;}
.booking-detail h4 {margin-bottom:18px; color:#2c2c2c; font-size:18px; font-weight:600; line-height:1.3em;}
.booking-detail .row {display:flex; flex-wrap:wrap; margin:-13px -10px;}
.booking-detail .col {width:50%; padding:13px 10px;}

.booking-detail .col dt {margin-bottom:6px; color:#2c2c2c; font-weight:500;}
.booking-detail .col .input {display:block; width:100%; height:46px;}
.booking-detail .col .flex {display:flex; gap:6px;}
.booking-detail .col .flex select {width:40%; min-width:180px; max-width:240px;}
.booking-detail .col.wide {width:100%;}
.booking-detail .col.disable * {color:#a8a8a8;}

.booking-detail .add-cost {display:flex; justify-content:space-between; align-items:center; margin-top:20px; padding:15px 20px; background:#f8f8f8; border-radius:6px;}
.booking-detail .add-cost span {font-size:14px; font-weight:500; line-height:1.3em; letter-spacing:-.02em;}
.booking-detail .add-cost strong {color:#2c2c2c; font-size:22px; line-height:1.3em;}

.booking-detail .info-text {position:relative; margin-top:10px; padding-left:20px; color:var(--color-primary); font-size:13px; line-height:1.5em; letter-spacing:-.02em;}
.booking-detail .info-text:before {content:''; position:absolute; top:2px; left:0; width:14px; height:14px; background:url('../images/shop/info.png') 50% 50%/contain no-repeat;}

.booking-detail .agree label {position:relative; padding-left:30px; color:#2c2c2c; font-weight:500; line-height:1.6em;}
.booking-detail .agree label:before {position:absolute; top:2px; left:0; margin:0 !important}

.booking-buttons {display:flex; flex-wrap:wrap; gap:6px; margin-top:45px;}
.booking-buttons .btn-pack {border-radius:6px;}
.booking-buttons .btn-pack.medium {font-size:14px; font-weight:700;}
.booking-buttons .btn-pack.more {background:#fff;}
.booking-buttons .btn-pack.medium.block {width:100%; font-size:17px;}

.booking-wrapper.active .booking-details.none {display:block;}
.booking-wrapper.display {border:1px solid #2c2c2c;}
.booking-wrapper.disable .booking-step {margin-bottom:0;}
.booking-wrapper.disable .booking-step .num {background:#ccc;}
.booking-wrapper.complete .booking-step .num {background:#ccc;}

.booking-page {padding-top:50px;}
.booking-page .booking-container {margin-top:0;}
.booking-page .goods-detail-sidebar {padding-top:0;}

.choose-pay-type {margin-top:20px;}
.choose-pay-type .radiobox {display:block; margin-bottom:20px; color:#a8a8a8; font-weight:500;}
.choose-pay-type .radiobox {display:block;}
.choose-pay-type .radiobox input:checked + label {color:#2c2c2c;}
.choose-pay-type .text {padding:16px 20px; background:#f8f8f8; border-radius:6px; font-size:14px; line-height:1.75em;}
.choose-pay-type .text strong {color:#2c2c2c; font-weight:600;}

/* wiget */
.input-datepicker {display:block; width:100%; _height:46px; padding:0 10px 0 50px !important; background-color:#fff !important; color:#2c2c2c !important; background-image:url('/images/bbs/icon-calendar.svg'); background-position:19px 50%; background-repeat:no-repeat; background-size:16px;}

.input-user {display:block; width:100%; _height:46px; padding:0 10px 0 50px !important; background-color:#fff !important; color:#2c2c2c !important;  background-image:url('/images/bbs/icon-user.svg'); background-position:19px 50%; background-repeat:no-repeat; background-size:16px;}

.ws-wiget {position:absolute; z-index:2; width:388px; padding:30px; margin-top:8px; background:#fff; border-radius:6px; box-shadow:0px 4px 20px 0px rgba(0, 0, 0, 0.14);}

.ws-datepicker-header {position:relative; margin:0 -12px 15px;}
.ws-datepicker-prev,
.ws-datepicker-next {display:flex; align-items:center; justify-content:center; position:absolute; width:32px; height:32px; top:50%; margin-top:-16px;}
.ws-datepicker-prev {left:0;}
.ws-datepicker-next {right:0;}
.ws-datepicker-title {text-align:center; color:#2c2c2c; font-size:18px; font-weight:700; line-height:35px;}

.ws-datepicker-calendar {margin:0 -14px; text-align:center;}
.ws-datepicker-calendar table {width:100%; table-layout:fixed; border-collapse:collapse; border-spacing:0px;}
.ws-datepicker-calendar th {padding:7px 0; text-align:center; font-size:14px; font-weight:500; line-height:1.5em; letter-spacing:-.01em; color:#a8a8a8;}
.ws-datepicker-calendar td {padding:10px 0; text-align:center; font-size:14px; font-weight:700; line-height:1.5em; letter-spacing:-.01em; color:#a8a8a8;}
.ws-datepicker-calendar .ws-state-default {display:inline-flex; flex-direction:column; justify-content:center; align-items:center; width:46px; height:46px; border-radius:100%; color:#2c2c2c;}
.ws-datepicker-calendar .ws-state-default:hover {background:#f4f4f4;}
.ws-datepicker-calendar .ws-state-active {background:#f4f4f4; border:1px solid #2c2c2c;}
.ws-datepicker-calendar .ws-text {color:#ff5800; font-size:11px; font-weight:500; line-height:1.1em; pointer-events:none;}

.add-travelers {display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:30px;}
.add-travelers .left strong {font-size:var(--font-size-18); color:#2c2c2c; line-height:1.25em;}
.add-travelers .left small {display:block; font-size:12px; line-height:1.25em;}

.wiget-submit {display:block; width:100%; height:46px; border:0; border-radius:6px; background:var(--color-primary); font-size:var(--font-size-17); font-weight:700; color:#fff;}