/* BASIC css start */
/* =========================================================
   FALLING LAND - CART
   주문관리 > 장바구니
   ========================================================= */

#cartWrap {
    width: 100%;
    max-width: 1200px;

    margin: 0 auto;
    padding: 70px 30px 120px;

    color: #333;
    font-size: 11px;
    line-height: 1.6;
}

#cartWrap * {
    box-sizing: border-box;
}

#cartWrap a {
    color: inherit;
    text-decoration: none;
}

#cartWrap img {
    max-width: 100%;
    vertical-align: middle;
}


/* =========================================================
   LOCATION
   ========================================================= */

#cartWrap .loc-navi {
    margin: 0 0 18px;
    padding: 0;

    color: #aaa;
    font-size: 9px;
}

#cartWrap .loc-navi dt {
    display: none;
}

#cartWrap .loc-navi dd {
    margin: 0;
}

#cartWrap .loc-navi a {
    color: #aaa;
}


/* =========================================================
   PAGE TITLE
   ========================================================= */

#cartWrap .tit-page {
    margin: 0 0 35px;

    color: #222;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.4;

    text-align: center;
}

#cartWrap .tit-space {
    margin-top: 100px;
}


/* =========================================================
   REGULAR / SUBSCRIPTION TAB
   ========================================================= */

#cartWrap .cart-tab {
    display: flex;

    width: 100%;
    height: auto;

    margin: 0 0 40px;
    padding: 0;

    border-bottom: 1px solid #333;

    list-style: none;
}

#cartWrap .cart-tab:after {
    display: none;
}

#cartWrap .cart-tab li {
    float: none;

    flex: 1;

    height: 50px;

    margin: 0 -1px -1px 0;

    border: 1px solid #ddd;

    background: #fafafa;
}

#cartWrap .cart-tab li:first-child {
    margin-left: 0;
}

#cartWrap .cart-tab li a {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

    color: #888;
    font-size: 12px;
    font-weight: 400;
}

#cartWrap .cart-tab li.now {
    position: relative;
    z-index: 1;

    height: 50px;

    border: 1px solid #333;
    border-bottom-color: #fff;

    background: #fff;
}

#cartWrap .cart-tab li.now a {
    color: #222;
}


/* =========================================================
   CART TABLE
   ========================================================= */

#cartWrap .table-cart {
    width: 100%;

    overflow-x: auto;

    border-top: 1px solid #333;
}

#cartWrap .table-cart table {
    width: 100%;
    min-width: 1000px;

    border-collapse: collapse;
    border-spacing: 0;

    table-layout: fixed;
}

#cartWrap .table-cart caption {
    overflow: hidden;

    position: absolute;

    width: 1px;
    height: 1px;

    clip: rect(0,0,0,0);
}

#cartWrap .table-cart th,
#cartWrap .table-cart td {
    padding: 14px 8px;

    border-bottom: 1px solid #e7e7e7;

    color: #555;
    font-size: 10px;

    vertical-align: middle;
}

#cartWrap .table-cart thead th {
    background: #fafafa;

    color: #555;

    font-weight: 500;

    text-align: center;
}

#cartWrap .table-cart tbody td {
    background: #fff;
}

#cartWrap .table-cart .tb-left {
    text-align: left;
}

#cartWrap .table-cart .tb-center {
    text-align: center;
}

#cartWrap .table-cart .tb-right {
    text-align: right;
}

#cartWrap .table-cart .tb-bold {
    color: #333;

    font-weight: 500;
}


/* =========================================================
   PRODUCT
   ========================================================= */

#cartWrap .table-cart .thumb {
    width: 72px;

    margin: 0 auto;
}

#cartWrap .table-cart .thumb img {
    display: block;

    width: 72px;
    height: 88px;

    object-fit: cover;
}

#cartWrap .table-cart .tb-opt {
    margin-top: 5px;

    color: #999;
    font-size: 9px;
    line-height: 1.7;
}

#cartWrap .table-cart .btn_option {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    height: 24px;

    margin-left: 7px;
    padding: 0 8px;

    border: 1px solid #ccc !important;

    background: #fff !important;

    color: #666 !important;

    font-size: 8px;
}


/* =========================================================
   QUANTITY
   ========================================================= */

#cartWrap .txt-spin {
    display: inline-block;

    width: 38px !important;
    height: 28px !important;

    padding: 0 !important;

    border: 1px solid #ddd !important;

    background: #fff;

    color: #333;

    font-size: 10px;

    line-height: 28px !important;

    text-align: center;

    vertical-align: top;
}

.realtime-btn-up,
.realtime-btn-dw {
    position: relative;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    border: 1px solid #ddd;

    background: #fff !important;

    font-size: 0;

    text-indent: 0;

    vertical-align: top;
}

.realtime-btn-up:before {
    content: "+";

    color: #555;

    font-size: 14px;
}

.realtime-btn-dw:before {
    content: "−";

    color: #555;

    font-size: 14px;
}


/* =========================================================
   PRICE / DELIVERY
   ========================================================= */

#cartWrap .table-cart .tb-price {
    color: #222;
}

#cartWrap .table-cart .tb-delivery {
    color: #777;

    font-size: 9px;
}


/* =========================================================
   WISH / DELETE
   ========================================================= */

#cartWrap .d-block {
    display: block;

    margin: 3px 0;
}

#cartWrap .btn_select {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 70px;
    height: 26px;

    padding: 0 8px;

    border: 1px solid #ccc !important;

    background: #fff !important;

    color: #666 !important;

    font-size: 8px;
}

#cartWrap .wish-opt {
    color: #777;
}


/* =========================================================
   TOTAL
   ========================================================= */

#cartWrap .table-cart tfoot td {
    padding: 18px 15px;

    border-bottom: 1px solid #333;

    background: #fafafa;

    color: #555;
}

#cartWrap .table-cart tfoot .tb-right {
    color: #555;

    font-size: 11px;
}

#cartWrap .table-cart tfoot strong {
    color: #111;

    font-size: 14px;
    font-weight: 600;
}


/* =========================================================
   MEMBER LEVEL
   ========================================================= */

#cartWrap .mem-lvl {
    display: flex;

    align-items: center;

    gap: 14px;

    margin-top: 20px;
    padding: 16px 18px;

    border: 1px solid #eee;

    background: #fafafa;
}

#cartWrap .mem-lvl .lvl-img img {
    max-width: 42px;
}

#cartWrap .mem-lvl p {
    margin: 0;

    color: #777;
    font-size: 10px;
    line-height: 1.8;
}

#cartWrap .mem-lvl em {
    color: #333;

    font-style: normal;
    font-weight: 500;
}


/* =========================================================
   DELIVERY MESSAGE
   ========================================================= */

#cartWrap .delivery {
    margin-top: 20px;

    padding: 13px 15px;

    border: 1px solid #eee;

    background: #fafafa;

    color: #777;
    font-size: 10px;

    text-align: center;
}


/* =========================================================
   FREE DELIVERY
   ========================================================= */

.cart-free-wrap {
    margin-top: 30px;

    text-align: center;
}

.cart-free-wrap > p {
    margin: 0;
    padding: 0 0 14px;

    color: #777;
    font-size: 10px;
}

.cart-free-wrap > p span {
    color: #333;

    font-weight: 500;
}

.cart-free-wrap .btn-list-open {
    position: relative;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 240px;
    height: 42px;

    border: 1px solid #333;

    background: #fff;

    color: #333;
    font-size: 10px;

    text-align: center;
}

.cart-free-wrap .btn-list-open span {
    position: absolute;

    top: 50%;
    right: 18px;

    width: 7px;
    height: 7px;

    margin-top: -5px;

    border-right: 1px solid #555;
    border-bottom: 1px solid #555;

    background: none;

    transform: rotate(45deg);
}

.cart-free-wrap .btn-list-open span.open {
    margin-top: -1px;

    transform: rotate(225deg);
}

.cart-free-wrap .list-wrap {
    display: none;

    overflow-y: auto;

    height: 450px;

    margin-top: 18px;
    padding: 18px;

    border: 1px solid #ddd;

    background: #fff;
}

.cart-free-wrap .list-wrap ul {
    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: 18px;

    width: 100%;

    margin: 0;
    padding: 0;

    list-style: none;
}

.cart-free-wrap .list-wrap ul li {
    width: auto;

    list-style: none;

    vertical-align: top;
}

.cart-free-wrap .list-wrap ul li dl {
    margin: 0;
}

.cart-free-wrap .list-wrap ul li dl dt {
    margin-bottom: 9px;
}

.cart-free-wrap .list-wrap ul li dl dt img {
    display: block;

    width: 100%;
    height: auto;

    aspect-ratio: 4 / 5;

    object-fit: cover;
}

.cart-free-wrap .list-wrap ul li dl dd {
    margin: 4px 0;

    color: #555;

    font-size: 10px;
    line-height: 1.5;
}

.cart-free-wrap .list-wrap ul li dl dd strong {
    color: #222;

    font-weight: 500;
}

.cart-free-wrap .list-wrap ul li dl dd a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    height: 28px;

    margin-top: 5px;
    padding: 0 10px;

    border: 1px solid #ccc;

    background: #fff;

    color: #555;

    font-size: 9px;
    font-weight: 400;
}

.cart-free-wrap .btn-more {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 36px;

    margin-top: 18px;

    border: 1px solid #ccc;

    background: #fff;

    color: #555;

    font-size: 10px;
}

.cart-free-wrap .btn-more span {
    display: none;
}


/* =========================================================
   ORDER BUTTONS
   ========================================================= */

#cartWrap .btn-order-ctrl {
    display: flex;

    flex-wrap: wrap;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin: 40px 0 30px;
}

#cartWrap .btn-order-ctrl a {
    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-width: 150px;
    height: 46px;

    padding: 0 18px;

    border: 1px solid #ccc !important;

    background: #fff !important;

    color: #555 !important;

    font-size: 10px;
    line-height: 1;

    text-align: center;
}

#cartWrap .btn-order-ctrl .CSSbuttonBlack {
    border-color: #333 !important;

    background: #333 !important;

    color: #fff !important;
}


/* =========================================================
   EASY PAYMENT
   ========================================================= */

#cartWrap .cart-ft2 {
    display: flex;

    flex-wrap: wrap;

    align-items: center;
    justify-content: center;

    gap: 8px;

    margin-top: 18px;

    text-align: center;
}

#nhn_btn,
#payco_order_btn,
#kakaopay_order_btn,
#cartWrap #shoppay_btn {
    display: inline-block;

    vertical-align: top;
}

.__checkout_img_comm {
    visibility: visible !important;
}


/* =========================================================
   WISHLIST
   ========================================================= */

#cartWrap .tit-space + .table-cart {
    margin-top: 0;
}


/* =========================================================
   HYBRID OPTION
   ========================================================= */

.opt_dd img {
    vertical-align: top;
}

.opt_dd .basket-option-detail {
    display: inline-block;

    vertical-align: top;
}

.opt_dd .basket-option-detail .basket-option-dlist {
    margin: 0;
    padding: 0;

    list-style: none;
}

.opt_dd .basket-option-detail .basket-option-dlist li {
    margin-bottom: 6px;

    color: #777;

    word-break: break-all;
    word-wrap: break-word;
}

.opt_dd .basket-option-detail .basket-option-dlist li img {
    width: 23px;
    height: 23px;

    margin-right: 6px;

    vertical-align: middle;
}


/* =========================================================
   SHOPPAY
   기존 결제 모듈 기능 보존
   ========================================================= */

#productDetail #shoppay_btn {
    padding-top: 10px;
}

#cartWrap #shoppay_btn {
    display: inline-block;
}

.shopdetail #shoppay_btn {
    padding-top: 10px;

    text-align: center;
}

#basket #shoppay_btn {
    margin-top: 20px;
}

.basket #shoppay_btn {
    text-align: center;
}


/* 기존 모듈 내부 CSS는 유지 */

.shoppay_storebtn_bx,
.shoppay_storebtn_bx *,
.shoppay_button_box,
.shoppay_button_box * {
    display: inline-block !important;
    overflow: hidden !important;
    float: none !important;
    position: static !important;
    top: auto !important;
    left: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 none !important;
    font-size: 11px !important;
    line-height: 16px !important;
    font-family: '돋움', Dotum, Helvetica, sans-serif !important;
    text-align: left !important;
    text-decoration: none !important;
    vertical-align: top !important;
    background: none !important;
    border-radius: 0 !important;
}

.shoppay_button_box {
    width: auto !important;
    height: 100% !important;

    padding: 0 !important;

    border-top: 2px solid #2b2f3a !important;

    background-color: #fff !important;
}

.shoppay_button {
    position: relative !important;

    margin: 0 !important;
    padding: 5px 0 5px 88px !important;
}

.shoppay_button .shoppay_blind {
    overflow: hidden !important;

    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    margin: -1px !important;
    padding: 0 !important;

    clip: rect(0 0 0 0) !important;
}

.shoppay_text {
    display: block !important;

    position: absolute !important;

    top: 10px !important;
    left: 0 !important;

    width: 82px !important;
    height: 26px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: url('/images/common/shoppay_sp_text.png') no-repeat !important;
    background-size: 82px auto !important;
}

.shoppay_btn_list {
    display: table !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    table-layout: fixed !important;

    list-style: none !important;
}

.shoppay_btn_list tbody {
    display: table-row-group !important;
}

.shoppay_btn_list tr {
    display: table-row !important;
}

.shoppay_btn_item {
    display: table-cell !important;

    height: 37px !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;
}

.shoppay_btn_link {
    display: block !important;

    height: 35px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 1px solid #bfc4c7 !important;

    background-color: #fcfcfc !important;
    background-repeat: no-repeat !important;

    text-align: center !important;

    text-decoration: none !important;
}

.shoppay_btn_link.shoppay_btn_pay {
    background-image: url('/images/common/shoppay_sp_payment.png') !important;
    background-position: 50% 0 !important;
    background-repeat: no-repeat !important;
    background-size: 133px auto !important;

    border-radius: 2px !important;
}

.shoppay_btn_link.btn_blue {
    border-color: #025eea !important;

    background-color: #025eea !important;
}

.shoppay_event {
    position: relative !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 3px 0 0 !important;

    border: 0 none !important;
    border-top: 1px solid #e5e9ea !important;

    letter-spacing: -.5px !important;
}

.shoppay_event_text {
    padding: 0 !important;
}

.shoppay_event_text .event_title {
    display: inline !important;

    margin: 0 5px 0 0 !important;
    padding: 0 !important;

    color: #015ce8 !important;

    font-weight: 400 !important;

    vertical-align: middle !important;
}

.shoppay_event .shoppay_event_text .event_link {
    display: inline !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #727272 !important;

    font-weight: 400 !important;

    text-decoration: none !important;

    vertical-align: middle !important;
}

.shoppay_type_A_1 {
    width: 277px !important;
    height: 70px !important;
}

.shoppay_type_A_2 {
    width: 296px !important;
    height: 84px !important;
}

.shoppay_type_A_2 .shoppay_button {
    padding: 5px 0 5px 86px !important;
}

.shoppay_type_A_2 .shoppay_text {
    top: 14px !important;
}

.shoppay_type_A_2 .shoppay_btn_link {
    height: 45px !important;
}

.shoppay_type_A_2 .shoppay_btn_link.shoppay_btn_pay {
    background-position: 50% -40px !important;
}

.shoppay_type_A_3 {
    width: 338px !important;
    height: 84px !important;
}

.shoppay_type_A_3 .shoppay_button {
    padding: 6px 0 6px 102px !important;
}

.shoppay_type_A_3 .shoppay_text {
    top: 13px !important;

    height: 31px !important;

    background-position: 0 -31px !important;
}

.shoppay_type_A_3 .shoppay_btn_link {
    height: 45px !important;
}

.shoppay_type_A_3 .shoppay_btn_link.shoppay_btn_pay {
    background-position: 50% -40px !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media screen and (max-width: 760px) {

    #cartWrap {
        padding: 50px 16px 90px;
    }

    #cartWrap .tit-page {
        margin-bottom: 28px;

        font-size: 23px;
    }

    #cartWrap .cart-tab li {
        height: 44px;
    }

    #cartWrap .table-cart table {
        min-width: 950px;
    }

    #cartWrap .btn-order-ctrl {
        display: grid;

        grid-template-columns: repeat(2, 1fr);
    }

    #cartWrap .btn-order-ctrl a {
        width: 100%;
        min-width: 0;
    }

    .cart-free-wrap .list-wrap ul {
        grid-template-columns: repeat(2, 1fr);
    }

}
/* BASIC css end */

