@charset "utf-8";
/* 쇼핑 테이블 */
.pc-wrap { display: flex; justify-content: center; margin-bottom: 60px;}
.process { display: inline-flex; justify-content: center; gap: 110px; position: relative; }
.process::after { content: ""; height: 1px; width: 90%; background: #2e0287; position: absolute; top: 15px; left: 0; z-index: -1; margin: auto; right: 0; }
.process .pc-box { text-align: center; position: relative; }
.process .pc-box .num { width: 30px; height: 30px; border-radius: 100%; display: flex; align-items: center; justify-content: center; line-height: 1em; color: #2e0287; font-weight: 600; font-size: 16px; border: 1px solid #2e0287; margin: auto; background: #fff;}
.process .pc-box p { font-size: 18px; font-weight: 600; letter-spacing: -.03em; line-height: 1em; color: #c3c3c3; margin-top: 15px; }
.process .pc-box.active .num { background: #2e0287; color: #fff; }
.process .pc-box.active p { color: #2e0287;}

/* 장바구니 */
.cart-all-select { margin-bottom: 20px; font-size: 18px; font-weight: 700; letter-spacing: -.03em; line-height: 1em; color: #686868;}
.cart-all-select .checkbox { display: inline-block; color: #686868; padding-right: 30px; position: relative;}
.cart-all-select a { display: inline-block; position: relative; line-height: 1em; }
.cart-all-select a::before { content: ""; position: absolute; left: -15px; width: 1px; height: 16px; background: #ddd; }
.cart-all-select .checkbox label:before {content:""; display:inline-block; vertical-align:middle; margin:-.2em 8px 0 0; width:12px; height:8px; border: none; background: transparent; display: none;}
.cart-all-select .checkbox input:checked + label { color: #242424;}
.cart-all-select .checkbox input:checked + label:before { background: url(../images/shop/cart-chk.png) center no-repeat; background-size: contain; display: inline-block; }
.cart-fx { display: flex; gap: 40px; align-items: flex-start;}
.shop-left { flex: 1 1 auto; min-width: 0; width: 1%; }
.shop-tbl-wrap { width: 100%; overflow: auto;}
.shop-tbl { width: 100%; border-collapse: collapse; border-top: 2px solid #242424;}
.shop-tbl.bd { border-top: none;}
.shop-tbl.bd2 { border-top: 2px solid #242424;}
.shop-tbl tr { border-bottom: 1px solid #dddd;}
.shop-tbl tr th { text-align: center; font-size: 18px; font-weight: 700; letter-spacing: -.03em; line-height: 1em; color: #242424; padding: 30px 5px;}
.shop-tbl tr td { padding: 40px 0; white-space: nowrap;}
.shop-tbl tr td.fx { display: flex; align-items: center; gap: 10px; padding: 30px 35px; position: relative; }
.shop-tbl tr td.fx .checkbox { position: absolute; left: 3px; top: 50%; transform: translateY(-50%);}
.shop-tbl tr td.fx .checkbox label::before { border-radius: 2px; }
.shop-tbl tr td.fx .order-image { width: 180px; margin-right: 20px; position: relative;}
.shop-tbl tr td.fx .order-image a { position: relative; display: block; overflow: hidden; border-radius: 12px; }
.shop-tbl tr td.fx .order-image a::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border: 1px solid #ddd; border-radius: 12px; }
.shop-tbl tr td.fx .order-image.bd::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border: 1px solid #ddd; border-radius: 12px; }
.shop-tbl tr td.fx .order-title .tit { font-size: 18px; font-weight: 700; letter-spacing: -.03em; line-height: 1.2em; color: #242424; }
.shop-tbl tr td.fx .order-title .txt { font-size: 16px; line-height: 1.556em; letter-spacing: -.03em; color: #454545; font-weight: 400; margin-top: 5px;}
.shop-tbl tr td.fx .order-title .qty { margin-top: 35px; }
.shop-tbl tr td.price { line-height: 1em; font-size: 18px; font-weight: 700; color: #242424; text-align: center; letter-spacing: -.03em; padding: 0 5px;}
.shop-tbl tr td.tc { text-align: center; }
.shop-tbl tr td .close { display: block;}
.shop-tbl .order-quantity {width:96px; text-align:center;}
.shop-tbl .order-quantity .input {width:100%; height:36px; padding:0; font-size:14px; line-height:1.5em; text-align:center; margin-bottom:4px; display: block; }
.shop-tbl .order-quantity button { height: 38px; width: 100%; font-size: 15px; }
.shop-tbl .order-btn { text-align: center;}
.shop-tbl .order-btn a { display: block; margin-top: 5px;}
.shop-table .order-quantity .btn-pack {display:block; width:100%; }
.cart-total { width: 26%; border: 1px solid #ddd; padding: 25px; border-radius: 16px;}
.cart-total h3 { font-size: 22px; font-weight: 700; letter-spacing: -.03em; line-height: 1em; color: #242424; margin-bottom: 35px; }
.cart-total-list { border-bottom: 1px solid #ddd; padding-bottom: 30px;} 
.cart-total-list li { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px;}
.cart-total-list li:last-child { margin-bottom: 0; }
.cart-total-list li .tit { font-size: 16px; font-weight: 500; line-height: 1em; letter-spacing: -.03em; color: #454545; } 
.cart-total-list li .num { font-size: 18px; font-weight: 500; letter-spacing: -.03em; line-height: 1em; color: #454545; }
.cart-total-list li .num.use-point { color: #04123e;}
.cart-total .checkbox { font-size: 15px; line-height: 1.5em; letter-spacing: -.03em; color: #686868; font-weight: 400; padding-left: 30px; position: relative; margin-bottom: 40px;}
.cart-total .checkbox label::before { position: absolute; left: 0; top: 4px; }
.total-num { text-align: right; margin-top: 24px; margin-bottom: 50px; }
.total-num h5 { line-height: 1em; font-size: 18px; font-weight: 500; letter-spacing: -.03em; color: #454545; margin-bottom: 15px;}
.total-num h4 { font-size: 24px; font-weight: 300; letter-spacing: -.03em; color: #242424; line-height: 1em; }
.total-num h4 strong { font-size: 26px; font-weight: 700; }
.cart-buy-btn { width: 100%; height: 60px; display: flex; align-items: center; justify-content: center; border-radius: 30px; color: #fff; background: #2e0287; line-height: 1em; font-size: 20px; font-weight: 500; letter-spacing: -.03em; }

.cart-txt { margin-top: 30px; }
.cart-txt p { position: relative; padding-left: 10px; line-height: 1.5em; letter-spacing: -.03em; font-size: 16px; font-weight: 400; color: #454545; margin-bottom: 10px;}
.cart-txt p::before { content: ""; position: absolute; left: 0; width: 3px; height: 3px; border-radius: 100%; top: 9px; background: #04123e; }
.cart-txt p:last-child { margin-bottom: 0; }

.shop-table {border-top:1px solid #242424; margin-bottom:10px;}
.shop-table ul li {display:flex; align-items:center; padding:25px 7px; border-bottom:1px solid #dfdfdf;}
.shop-table .order-check {width:50px;}
.shop-table .order-image {width:70px; margin-right:20px;}
.shop-table .order-title {flex:1 1 auto; min-width:0; width:1%;}
.shop-table .order-title .tit {color:#222; font-size:17px; font-weight:500; line-height:1.5em; margin-bottom:5px;}
.shop-table .order-title .opt {color:#888; font-size:14px; font-weight:400; line-height:1.5em;}
.shop-table .order-quantity {width:86px; text-align:center;}
.shop-table .order-quantity .input {width:100%; height:30px; padding:0; font-size:14px; line-height:1.5em; text-align:center; margin-bottom:4px;}
.shop-table .order-quantity .btn-pack {display:block; width:100%;}
.shop-table .order-qnt {width:100px; text-align:center;}
.shop-table .order-price {width:130px; font-weight:500; margin:0 20px; text-align:right;}
.shop-table .order-delete {width:18px; text-align:right; margin-left:20px;}
.shop-table .order-btn {width:95px; text-align:center; margin-left:20px;}
.shop-table .order-btn p {margin:4px 0;}
.shop-table .order-btn strong {font-weight:500;}
.shop-table .order-btn .btn-pack.small {display:block; margin:4px auto; width:100%; padding:0;}
.shop-table .ico-delete {position:relative; vertical-align:middle; margin-top:-.2em; display:inline-block; overflow:hidden; text-indent:-999em; width:18px; height:18px; overflow:hidden;}
.shop-table .ico-delete:before, .shop-table .ico-delete:after {content:""; position:absolute;top:0;left:8px; height:100%;width:2px;background-color:#999; }
.shop-table .ico-delete:before {transform:rotate(45deg);}
.shop-table .ico-delete:after {transform:rotate(-45deg);}
.shop-table .ico-delete:hover {opacity:.5;}

/* 주문정보 설명 */
.order-info {margin:20px 0 30px; color:#454545; font-size:16px; line-height:1.5em; letter-spacing: -.03em;}
.order-info em {color:#04123e; font-style:normal;}
.order-info ol li { margin-bottom: 8px;}

.order-desc {margin-top:30px; background:#fafafa; border:1px solid #d8d8d8; padding:15px; color:#666; font-size:14px; line-height:24px;}

.order-complete {margin-bottom:35px; padding:30px 40px; font-size:16px; line-height:1.3em; color:#242424; letter-spacing:-.02em;  border: 1px solid #ddd; background: #f8f8f8; }
.order-complete.mg { margin-bottom: 0; display: flex; justify-content: space-between; align-items: center;}
.order-complete .item {display:inline-block; margin-right:40px;}
.order-complete .item strong {margin-left:5px; font-weight: 700; color: #242424;}
.order-complete .item:last-child {margin-right:0;}
.order-complete.mg a { font-size: 16px; font-weight: 400; color: #686868; }
.order-complete.mg a span { padding-left: 15px; font-weight: 600; color: #242424; }

.order-date {background:#fafafa; padding:20px; margin-top:50px; font-size:16px; line-height:1.3em; border:1px solid #333; border-bottom:0;}
.order-date:after {content:""; display:block; clear:both;}
.order-date strong {margin-left:10px;}
.order-date a {float:right; color:#888; letter-spacing:-.03em;}
.order-date a:after {content:"+"; color:#2c2c2c; font-weight:500; margin-left:10px;}
.order-date .bar {color:#ddd; margin:0 12px; vertical-align:top; font-weight:100;}

/* 주문정보 테이블 */
.shop-paybox { margin-bottom: 60px;}
.shop-paybox.mg { margin-bottom: 0; }
.order-info-title {padding-bottom:14px; border-bottom: 2px solid #242424;}
.order-info-title.bd { border: none;}
.order-info-title:after {content:" "; display:block; clear:both;}
.order-info-title h3 {float:left; color:#242424; font-size:22px; font-weight:700; line-height:1.3em;}
.order-info-title .chk {float:right; margin:6px 0 0 20px; font-size:16px; line-height:16px; letter-spacing: -.03em; color: #454545; font-weight: 400;}
.order-info-table {width:100%; border-collapse:collapse; }
.order-info-table tbody tr { border-bottom: 1px solid #dddd;}
.order-info-table tbody th {padding:7px 15px; height:78px; font-weight:700; color:#242424; text-align:left; font-size: 18px; letter-spacing: -.03em; padding-left: 40px;}
.order-info-table tbody td {padding:7px 15px; color:#242424; letter-spacing: -.03em; font-size: 17px; font-weight: 300; }
.order-info-table tbody td * {vertical-align:middle;}
.order-info-table tbody td .input { border-radius: 6px; }
.order-info-table tbody td .input-point {padding:0 5px; height:30px; border:1px solid #ccc; background:#fafafa; line-height:28px;}
.order-info-table tbody td .fx { display: flex; gap: 10px; }
.order-info-table tbody td .fx .input { flex: 1 1 auto; min-width: 0; width: 1%; }
.order-info-table tbody td .fx a { width: 160px; display: flex; align-items: center; justify-content: center; height: 44px; border: 1px solid #000; color: #000; line-height: 1em; background: transparent; font-weight: 500; border-radius: 6px; }
.order-info-table tbody td .fx a.bg { background: #000; color: #fff; }
.order-info-table tbody td .txt {color:#4d6ccd; font-size:11px; margin-top:4px;}
.order-info-table tbody td .point {color:#ff0000;}
.order-info-table tbody td .radiobox {margin-right:25px;}
.guest-private-agree {text-align:center; margin-bottom:50px;}
.guest-private-agree .scroll-box {position:relative; height:120px; border:1px solid #d8d8d8; text-align:left; font-size:14px; line-height:18px; background:#f7f7f7; color:#666; padding:10px; margin-bottom:20px; overflow:auto;}
.shop-paybox .shop-pay { border: 1px solid #ddd; display: flex; align-items: center; padding: 35px 40px; margin-top: 13px; border-radius: 6px; }
.shop-paybox .shop-pay .tit { width: 285px; line-height: 1em; font-size: 18px; color: #242424; letter-spacing: -.03em; font-weight: 700; }
.shop-paybox .shop-pay select { flex: 1 1 auto; min-width: 0; width: 1%; border-radius:6px; }
.shop-paybox .other-pay { display: flex; margin-top: 18px; align-items: center; gap: 10px;}
.shop-paybox .other-pay a { display: inline-flex; align-items: center; justify-content: center; height: 70px; width: calc(100%/3 - 7px); text-align: center; line-height: 1em; padding-bottom: 1px; border-radius: 6px; position: relative;}
.shop-paybox .other-pay a::after { content: ""; position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; border: 1px solid #ddd; border-radius: 6px; }

/* 전체금액 */
.total-price {display:flex; justify-content:space-between; background:#f6f6f6; color:#555; padding:37px 40px; font-size:17px; font-weight:400; line-height:1.4em; margin:40px 0;}
.total-price h3 {width:50%; color:#2c2c2c; font-size:25px; font-weight:500; line-height:1.3em; margin-top:-5px;}
.total-price ul {width:50%;}
.total-price ul li {display:flex; justify-content:space-between; align-items:center; padding:16px 0; border-bottom:1px solid #eee; overflow:hidden;}
.total-price ul li:first-child {padding-top:0;}
.total-price ul li:last-child {padding-bottom:0; border-bottom:0; color:#000; font-weight:700;}
.total-price ul li:last-child .price {font-size:1.2em; font-weight:700;}
.total-price ul li .item {}
.total-price ul li .price {text-align:right;}
.total-price + .buttons {margin-top:70px;}