/* BASIC css start */
/* =========================================================
   모바일 장바구니 CSS 전체
   - 메이크샵 HTML / 기능 태그 / 이벤트 연결 변경 없음
   - 상품명 긴 텍스트 자동 줄바꿈 및 잘림 방지
   ========================================================= */


/* 기본 */
#basket {
    padding: 28px 0 40px;
    color: #222;
    background: #fff;
}

#basket .h_title {
    margin: 0 16px 26px;
    padding: 0;
    border: 0;
    background: none;
    text-align: center;
}

#basket .h_title h3 {
    margin: 0;
    padding: 0;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5;
    color: #222;
}

#basket .h_title h3 span {
    margin-left: 6px;
    font-size: 16px;
    font-weight: 500;
    color: #777;
}


/* =========================================================
   일반구매 / 정기배송
   ========================================================= */

#basket .carttabWrap {
    margin: 0 16px 24px;
}

#basket .cart-tab {
    display: flex;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
    list-style: none;
}

#basket .cart-tab::after {
    content: none;
}

#basket .cart-tab li {
    float: none;
    flex: 1;
    min-width: 0;
    width: 50%;
    height: auto;
    margin: 0 0 -1px;
    padding: 0;
    border: 0;
    border-bottom: 2px solid transparent;
    list-style: none;
}

#basket .cart-tab li a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 10px 4px;
    box-sizing: border-box;
    background: none;
    color: #777;
    font-size: 13px;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
}

#basket .cart-tab li a span {
    display: block;
    height: auto;
    margin: 0;
    line-height: 1.5;
}

#basket .cart-tab li:first-child a span {
    border: 0;
}

#basket .cart-tab li.now {
    border-bottom: 2px solid #222;
}

#basket .cart-tab li.now a {
    color: #222;
    font-weight: 700;
}


/* =========================================================
   선택삭제 / 장바구니 비우기
   ========================================================= */

#basket .btn-wrap {
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0 16px 16px;
}

#basket .btn-wrap::after {
    content: none;
}

#basket .btn-wrap > div,
#basket .btn-wrap > div:last-child {
    float: none;
    flex: 1;
    min-width: 0;
    width: auto;
}

#basket .btn-wrap > div > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 42px;
    height: auto;
    margin: 0;
    padding: 10px 8px;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    color: #555;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
}


/* =========================================================
   상품 전체 선택
   ========================================================= */

#basket .all-select {
    margin: 0 16px;
    padding: 14px 0;
    border-top: 1px solid #222;
    border-bottom: 1px solid #eee;
    background: #fff;
}

#basket .all-select label {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 24px;
    color: #444;
    font-size: 13px;
    line-height: 1.5;
    cursor: pointer;
}

#basket .all-select input[type="checkbox"],
#basket .basketLeft input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    vertical-align: middle;
    accent-color: #222;
    cursor: pointer;
}


/* =========================================================
   상품 목록
   ========================================================= */

#basket .not_provider,
#basket .provider {
    margin: 0 16px;
    padding: 0;
    list-style: none;
}

#basket .not_provider > li,
#basket .provider > li {
    position: relative;
    margin: 0;
    padding: 22px 0;
    border: 0;
    border-bottom: 1px solid #eee;
    background: #fff;
    list-style: none;
}

#basket .not_provider > li > form,
#basket .provider > li > form {
    margin: 0;
    padding: 0;
}


/* 상품 이미지 + 상품정보 */
#basket .not_provider figure,
#basket .provider figure {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* 상품 이미지 영역 */
#basket .basketLeft {
    position: relative;
    float: none;
    width: 88px;
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}

#basket .basketLeft a {
    display: block;
    margin: 30px 0 0;
    padding: 0;
}

#basket .basketLeft a img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    border: 1px solid #eee;
    border-radius: 8px;
    box-sizing: border-box;
}

#basket .basketLeft .MS_input_checkbox {
    position: absolute;
    top: 0;
    left: 0;
}


/* 상품 정보 영역 */
#basket .basketRight {
    float: none;
    width: auto;
    min-width: 0;
    height: auto !important;
    max-height: none !important;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-align: left;
    overflow: visible !important;
}


/* 상품 정보 기본 텍스트 */
#basket .basketRight p {
    margin: 0 0 8px;
    padding: 0;
    color: #707070;
    font-size: 12px;
    line-height: 1.7;
    overflow-wrap: anywhere;
}


/* =========================================================
   상품명
   ========================================================= */

/*
   상품명 핵심 수정

   - 16px
   - 긴 상품명 자동 줄바꿈
   - 높이 자동
   - overflow hidden 방지
   - max-height 제한 방지
   - 한글 / 영문 / 숫자 긴 문자열 대응
*/

#basket .basketRight .pname {
    position: relative;
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 32px;
    max-height: none !important;
    margin-bottom: 10px;
    padding: 0 36px 0 0;
    box-sizing: border-box;
    border: 0;
    color: #222;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    white-space: normal !important;
    overflow: visible !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
}


/* 실제 상품명 링크 */
#basket .basketRight .pname > a:first-child {
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 0;
    max-height: none !important;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    color: #222;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
}


/* 삭제 X 버튼 */
#basket .basketRight .pname > a:last-child {
    position: absolute;
    top: -6px;
    right: -4px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    color: #888;
    box-sizing: border-box;
}

#basket .basketRight .pname > a:last-child .fa {
    float: none;
    margin: 0;
    font-size: 18px;
    line-height: 1;
}


/* 배송 관련 태그 */
#basket .basketRight .pname .blue-delivery,
#basket .basketRight .pname .red-delivery {
    display: inline-block;
    margin: 0 4px 4px 0;
    padding: 3px 6px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    vertical-align: middle;
}

#basket .basketRight .pname .blue-delivery {
    background: #edf3f8;
    color: #45647c;
}

#basket .basketRight .pname .red-delivery {
    background: #f4efea;
    color: #7a6049;
}


/* =========================================================
   수량
   ========================================================= */

#basket .basketRight .amount-input {
    display: inline-block;
    width: 48px;
    max-width: 100%;
    height: 38px;
    margin: 4px 2px 4px 0;
    padding: 0 4px;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    color: #222;
    font-family: inherit;
    font-size: 16px;
    line-height: normal;
    text-align: center;
    vertical-align: middle;
}

#basket .basketRight .fa-plus,
#basket .basketRight .fa-minus {
    display: inline-block;
    width: 38px;
    height: 38px;
    margin: 4px 0;
    padding: 0;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    color: #444;
    font-size: 12px;
    line-height: 36px;
    text-align: center;
    vertical-align: middle;
}


/* 선택사항 수정 */
#basket .basketRight .btn_Black {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    max-width: 100%;
    min-height: 36px;
    height: auto;
    margin: 6px 0 0;
    padding: 8px 12px;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    color: #555;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    cursor: pointer;
}

#basket .basketRight .MS_select {
    width: 100%;
    max-width: 100%;
    min-height: 36px;
    box-sizing: border-box;
}

#basket .basket-option-dlist li {
    padding: 4px 0;
}

#basket .basket-option-dlist li img {
    width: 30px;
    height: 30px;
    vertical-align: middle;
}


/* =========================================================
   전체 금액
   ========================================================= */

#basket .price-total-info-top {
    margin: 24px 16px 0;
    padding: 18px 16px;
    border: 1px solid #eee;
    border-bottom: 0;
    border-radius: 10px 10px 0 0;
    background: #f8f8f8;
    color: #666;
    font-size: 13px;
    line-height: 1.9;
    text-align: left;
    overflow-wrap: anywhere;
}

#basket .price-total-info-top p {
    margin: 0;
    padding: 0;
}

#basket .price-total-info-bottom {
    margin: 0 16px;
    padding: 18px 16px;
    border: 1px solid #eee;
    border-top: 1px solid #e5e5e5;
    border-radius: 0 0 10px 10px;
    background: #f8f8f8;
    color: #333;
    font-size: 14px;
    line-height: 1.8;
    text-align: right;
    overflow-wrap: anywhere;
}

#basket .price-total-info-bottom p {
    margin: 0;
    padding: 0;
}

#basket .price-total-info-bottom .txt-price {
    display: inline-block;
    margin-left: 6px;
    color: #222;
    font-size: 23px;
    font-weight: 700;
    letter-spacing: -0.5px;
    vertical-align: baseline;
}

#basket .price-total-info-bottom .txt-reserve {
    display: inline-block;
    width: 100%;
    margin-top: 6px;
    color: #777;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.6;
}

#basket .delivery-type {
    margin: 0;
    padding: 16px 18px 24px;
    color: #777;
    font-size: 12px;
    line-height: 1.7;
}

#basket .delivery-type ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#basket .delivery-type li {
    margin: 0 0 5px;
    padding: 0;
    word-break: keep-all;
    overflow-wrap: anywhere;
}


/* =========================================================
   주문 / 선물 / 빠른 결제
   ========================================================= */

#basket .order-btn {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    margin: 0;
    padding: 0 16px;
}

#basket .order-btn.use-gift.qorder-none {
    grid-template-columns: 48px minmax(0, 1fr);
}

#basket .order-btn.use-gift.use-qorder {
    grid-template-columns: 48px minmax(0, 1fr) minmax(0, 1fr);
}

#basket .order-btn.gift-none.use-qorder {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

#basket .order-btn > * {
    min-width: 0;
}

#basket .order-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 48px;
    margin: 2px 0;
    padding: 0 6px;
    box-sizing: border-box;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
}

#basket .order-btn a.btn_Black,
#basket .order-btn a.btn_Red {
    border: 1px solid #222;
    background: #222;
    color: #fff;
    font-weight: 600;
}

#basket .order-btn a.btn_Present {
    border: 1px solid #ddd;
    background: #fff;
    color: #333;
    font-size: 18px;
}

#basket .order-btn a.btn_Blue {
    border: 1px solid #2a68cc;
    background: #2a68cc;
    color: #fff;
}


/* =========================================================
   간편결제
   ========================================================= */

#basket .cart-ft2 {
    display: block;
    margin: 20px 0 0;
    padding: 0;
    text-align: center;
}

#basket .naver-checkout {
    margin-top: 20px;
}

#basket .none-data {
    margin: 0 16px;
    padding: 64px 16px;
    border: 0;
    background: #fafafa;
    border-radius: 10px;
    color: #999;
    text-align: center;
}

#basket .none-data p {
    margin: 14px 0 0;
    color: #777;
    font-size: 14px;
    line-height: 1.6;
}


/* 접근성 */
#basket .basketRight a:focus-visible,
#basket .basketRight input:focus-visible,
#basket .btn-wrap a:focus-visible,
#basket .order-btn a:focus-visible {
    outline: 2px solid #777;
    outline-offset: 3px;
}


/* =========================================================
   작은 모바일
   ========================================================= */

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

    #basket .not_provider figure,
    #basket .provider figure {
        grid-template-columns: 70px minmax(0, 1fr);
        gap: 10px;
    }

    #basket .basketLeft {
        width: 70px;
    }

    #basket .basketRight .amount-input {
        width: 42px;
    }

    #basket .order-btn {
        gap: 6px;
    }

    #basket .order-btn a {
        font-size: 12px;
    }

}


/* =========================================================
   태블릿 / PC
   ========================================================= */

@media screen and (min-width: 768px) {

    #basket .not_provider figure,
    #basket .provider figure {
        grid-template-columns: 120px minmax(0, 1fr);
        gap: 24px;
    }

    #basket .basketLeft {
        width: 120px;
    }

    #basket .basketRight .pname {
        font-size: 16px;
    }

    #basket .basketRight p {
        font-size: 13px;
    }

}


/* =========================================================
   무료배송 추천상품
   ========================================================= */

#basket .cart-free-wrap {
    margin: 0 16px 24px;
    padding: 18px 14px;
    border: 1px solid #eee;
    border-radius: 10px;
    background: #fff;
    text-align: center;
}

#basket .cart-free-wrap > p {
    margin: 0 0 14px;
    padding: 0;
    color: #555;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.7;
    word-break: keep-all;
}

#basket .cart-free-wrap > p span {
    color: #222;
    font-weight: 700;
}

#basket .cart-free-wrap .btn-list-open,
#basket .cart-free-wrap .btn-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 40px;
    height: auto;
    padding: 10px;
    box-sizing: border-box;
    border: 1px solid #ddd;
    border-radius: 6px;
    background: #fff;
    color: #444;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
}

#basket .cart-free-wrap .btn-more {
    margin-top: 16px;
}

#basket .cart-free-wrap .btn-more span {
    display: inline-block;
    width: 8px;
    height: 5px;
    margin-left: 5px;
    background: url(/images/d3/m_04/h10_arr.gif) no-repeat 0 0;
    background-size: 100% 100%;
    vertical-align: middle;
}


/* display:none은 기존 펼침 스크립트가 제어 */
#basket .cart-free-wrap .list-wrap {
    display: none;
    overflow-x: hidden;
    margin-top: 20px;
    padding: 0;
}

#basket .cart-free-wrap .list-wrap ul {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

#basket .cart-free-wrap .list-wrap ul::after {
    content: none;
}

#basket .cart-free-wrap .list-wrap ul li {
    float: none;
    width: 33.3333%;
    height: auto;
    margin: 0;
    padding: 0 5px 16px;
    box-sizing: border-box;
    font-size: 11px;
    line-height: 1.6;
    list-style: none;
}

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

#basket .cart-free-wrap .list-wrap ul li dl dt {
    height: auto;
    margin: 0 0 8px;
}

#basket .cart-free-wrap .list-wrap ul li dl dt img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 6px;
}

#basket .cart-free-wrap .list-wrap ul li dl dd {
    margin: 0 0 4px;
    padding: 0;
    color: #555;
    overflow-wrap: anywhere;
}

#basket .cart-free-wrap .list-wrap ul li dl dd:last-child {
    color: #222;
    font-weight: 600;
}


/* =========================================================
   샵페이 바로구매
   ========================================================= */

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

#cartWrap #shoppay_btn {
    display: inline;
}

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

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

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

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


/* 샵페이 기본 */
.shoppay_storebtn_bx,
.shoppay_storebtn_bx *,
.shoppay_button_box,
.shoppay_button_box * {
    display: inline-block !important;
    overflow: hidden;
    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;
    zoom: 1 !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;
    zoom: 1 !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;
    *display: inline !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;
}

.shoppay_btn_list {
    *zoom: 1 !important;
    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_list .shoppay_btn_item {
    *width: 120px !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_item:first-child .shoppay_btn_link {
    margin: 0 !important;
}

.shoppay_text {
    background-size: 82px auto !important;
}

.shoppay_btn_link.shoppay_btn_pay {
    background-size: 133px auto !important;
    background-image: url('/images/common/shoppay_sp_payment.png') !important;
    background-position: 50% 0 !important;
    background-repeat: no-repeat !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 0 !important;
    border: 0 none !important;
    border-top: 1px solid #e5e9ea !important;
    letter-spacing: -0.5px !important;
}

.shoppay_event_text {
    display: block !important;
    overflow: hidden !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 5px 0 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
    word-wrap: normal !important;
}

.shoppay_event_text .event_title {
    display: inline !important;
    margin: 0 5px 0 0 !important;
    padding: 0 !important;
    font-weight: normal !important;
    color: #015ce8 !important;
    vertical-align: middle !important;
}

.shoppay_event .shoppay_event_text .event_link {
    display: inline !important;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: normal !important;
    color: #727272 !important;
    text-decoration: none !important;
    vertical-align: middle !important;
}

.shoppay_event .shoppay_event_text .event_link span {
    display: inline-block !important;
    margin: -1px 0 1px !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;
}


/* =========================================================
   빠른 결제 레이어
   ========================================================= */

#quick-swipepay .layer {
    z-index: 200;
}

#quick-swipepay .layer-wrap {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 15px 10px 0;
    box-sizing: border-box;
    background: #f6f6f6;
    color: #3b3b3b;
}

#quick-swipepay .layer-wrap .swipepay-close {
    position: absolute;
    top: -40px;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-left: -20px;
    font-size: 24px;
    color: #fff;
    background: none;
    border: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

#quick-swipepay .layer-wrap .swipepay-addr {
    padding: 0 10px;
    border: 1px solid #e3e3e3;
    border-radius: 4px;
    background: #fff;
    text-align: left;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst {
    padding: 14px 2px;
    border-top: 1px solid #e3e3e3;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst:first-child {
    border-top: 0;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-prd {
    display: flex;
    align-items: center;
    gap: 5px;
    position: relative;
    font-size: 11px;
    white-space: nowrap;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-prd p.prd-tit {
    color: #3b3b3b !important;
    font-size: 14px !important;
    font-weight: bold;
    vertical-align: bottom;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-prd p.prd-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    color: #777;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-prd span {
    font-size: 11px;
    color: #777;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-prd .addr-edit {
    position: absolute;
    top: -3px;
    right: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 24px;
    font-size: 11px;
    font-weight: bold;
    color: #3b3b3b;
    border: 1px solid #c6c6c6;
    background: #fff;
    box-sizing: border-box;
    line-height: 0;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-prd.addr-detail span {
    color: #3b3b3b;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt {
    margin-top: 6px;
    font-size: 11px;
    color: #777;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt li {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 100%;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt li strong {
    font-size: 12px;
    color: #3b3b3b;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt li p:first-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: inline-block;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt li dl dt,
#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt li dl dd,
#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt li dl dd p {
    display: flex;
    align-items: center;
    gap: 5px;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt li dl dd {
    display: none;
}

#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt li dl dd.on {
    display: flex;
}

#quick-swipepay .layer-wrap .swipepay-agree {
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    padding-left: 2px;
    font-size: 11px;
}

#quick-swipepay .layer-wrap .swipepay-agree label input[type=checkbox] {
    width: 13px !important;
    height: 13px !important;
    vertical-align: text-bottom;
}

#quick-swipepay .layer-wrap .swipepay-agree .view-terms {
    padding: 0 2px;
    color: #888;
    text-decoration: underline;
    border: 0;
    background: none;
}

#quick-swipepay .layer-wrap .swipepay-agree .layer-terms {
    position: absolute;
    bottom: -40px;
    left: 50%;
    width: 100%;
    margin-left: -50%;
    padding: 10px;
    border: 1px solid #909090;
    border-radius: 4px;
    background: #fff;
    box-sizing: border-box;
}

#quick-swipepay .layer-wrap .swipepay-agree .layer-terms .terms-close {
    position: absolute;
    top: 8px;
    right: 10px;
    width: 20px;
    height: 20px;
    font-size: 20px;
    border: 0;
    background: none;
}

#quick-swipepay .layer-wrap .swipepay-agree .layer-terms .terms-tit {
    padding-bottom: 10px;
    font-size: 13px;
    font-weight: bold;
}

#quick-swipepay .layer-wrap .swipepay-agree .layer-terms table {
    table-layout: fixed;
    width: 100%;
    word-wrap: break-word;
}

#quick-swipepay .layer-wrap .swipepay-agree .layer-terms table th,
#quick-swipepay .layer-wrap .swipepay-agree .layer-terms table td {
    padding: 5px;
    border: 1px solid #ddd;
    color: #777;
}

#quick-swipepay .layer-wrap .swipepay-agree .layer-terms table th {
    font-weight: 400;
    background: #f8f8f8;
}

#quick-swipepay .layer-wrap .swipepay-agree .layer-terms table td strong {
    color: #000;
    font-weight: bold;
}

#quick-swipepay .layer-wrap .swipepay-total {
    display: flex;
    justify-content: space-between;
    padding: 16px 2px;
    font-size: 11px;
}

#quick-swipepay .layer-wrap .swipepay-total strong {
    font-size: 14px;
    line-height: 18px;
}

#quick-swipepay .layer-wrap .swipepay-total strong span {
    margin-left: 5px;
    font-size: 12px;
    font-weight: normal;
    color: #777;
}

#quick-swipepay .layer-wrap .swipepay-total .total-price strong {
    font-size: 16px;
    color: #f1191f;
    vertical-align: bottom;
}

#quick-swipepay .layer-wrap .swipepay-wide {
    position: relative;
    width: 100%;
    height: 48px;
    border-radius: 48px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    overflow: hidden;
    box-sizing: border-box;
    background: #2a68cc;
}

#quick-swipepay .layer-wrap .swipepay-wide .swipepay-text {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    text-align: center;
    transform: translateY(-50%);
    pointer-events: none;
    user-select: none;
}

#quick-swipepay .layer-wrap .swipepay-wide .swipepay-slider {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 100%;
    color: #fff;
    font-size: 22px;
    border-radius: 48px;
    box-sizing: border-box;
    background: #1d498f;
}

#quick-swipepay .layer-wrap .swipepay-wide .swipepay-completed {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #1d498f;
    box-sizing: border-box;
    border-radius: 48px;
    pointer-events: none;
}

#quick-swipepay .layer-wrap .swipepay-order {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 8px 0 10px;
    text-decoration: underline;
    font-size: 11px;
    color: #888;
}
/* BASIC css end */

