/* BASIC css start */
/* ======================================================================
   인터타롯 장바구니 페이지 CSS (5차 시안 반영)

   디자인 토큰
   - 메인 텍스트:  #1c1c1a
   - 보조 텍스트:  #5b5a55
   - 회색 라벨:    #8e8c87
   - 보더:        #e5e3dc / 연한 #f1efe8
   - 배경:        #fff / #faf9f6 (카드)
   - 포인트 빨강:  #d63838
   ====================================================================== */

#basket {
    background: #fff;
    color: #1c1c1a;
    font-family: -apple-system, BlinkMacSystemFont, 'Pretendard', 'Apple SD Gothic Neo', 'Noto Sans KR', sans-serif;
    -webkit-font-smoothing: antialiased;
    letter-spacing: -0.2px;
    padding-bottom: 100px;
}
#basket * { box-sizing: border-box; }


/* ════════════════════════════════════════════════════════════
   [1] 인디케이터 + 타이틀 숨김 (시안 변경 사항)
   ════════════════════════════════════════════════════════════ */
#basket .step-indicator,
#basket .h_title {
    display: none !important;
}


/* ════════════════════════════════════════════════════════════
   [2] 정기배송 탭 (사용 시 유지)
   ════════════════════════════════════════════════════════════ */
#basket .carttabWrap {
    background: #fff;
    border-bottom: 1px solid #f1efe8;
}
#basket .cart-tab {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}
#basket .cart-tab li {
    flex: 1;
    text-align: center;
    border-bottom: 2px solid transparent;
}
#basket .cart-tab li a {
    display: block;
    padding: 14px 0;
    color: #8e8c87;
    font-size: 14px;
    text-decoration: none;
}
#basket .cart-tab li.now {
    border-bottom: 2px solid #1c1c1a;
}
#basket .cart-tab li.now a {
    color: #1c1c1a;
    font-weight: 500;
}


/* ════════════════════════════════════════════════════════════
   [3] 상단 액션 (전체 체크박스 + 선택삭제)
   ════════════════════════════════════════════════════════════ */
#basket .cart-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    background: #fff;
    border-bottom: 1px solid #f1efe8;
}
#basket .all-check-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #1c1c1a;
    cursor: pointer;
}
#basket .all-check-label input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #1c1c1a;
    cursor: pointer;
}
#basket .all-check-label span {
    line-height: 1;
}
#basket .cart-toolbar__actions {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
#basket .link-action {
    font-size: 13px;
    color: #5b5a55;
    text-decoration: none;
    cursor: pointer;
    background: none;
    border: 0;
    padding: 0;
}
#basket .link-action--delete {
    color: #1c1c1a;
    font-weight: 500;
}
#basket .link-action + .link-action {
    position: relative;
    padding-left: 13px;
}
#basket .link-action + .link-action::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 11px;
    background: #c8c7c2;
}

/* 기존 .btn-wrap / .all-select 무력화 (사용 안함) */
#basket .btn-wrap,
#basket .all-select {
    display: none !important;
}


/* ════════════════════════════════════════════════════════════
   [4] 상품 카드 (.product-card)
   ════════════════════════════════════════════════════════════ */
#basket ul.product-cards,
#basket ul.not_provider {
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
}
#basket .product-card,
#basket .not_provider li {
    position: relative;
    padding: 16px;
    border-bottom: 1px solid #f1efe8;
    list-style: none;
}

/* 카드 상단 헤더 행: 체크박스(좌) ↔ 찜+삭제(우) - 시안 매칭 */
#basket .product-card__check {
    position: static;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 12px;
    line-height: 1;
}
#basket .product-card__check input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #1c1c1a;
    cursor: pointer;
    flex-shrink: 0;
}

/* 우상단 액션 (찜 + 삭제) - 헤더 행 우측에 배치 */
#basket .product-card__top-actions {
    position: static;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}
#basket .card-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: transparent;
    border: 0;
    border-radius: 50%;
    color: #8e8c87;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}
#basket .card-action:hover {
    background: #faf9f6;
    color: #1c1c1a;
}
#basket .card-action .fa {
    font-size: 16px;
    line-height: 1;
    color: inherit;
}
#basket .card-action--wish .fa {
    font-size: 16px;
    color: #8e8c87;
}
#basket .card-action--del .fa {
    font-size: 17px;
    color: #8e8c87;
}

/*
   ⚠ JS 가 메이크샵 출력 체크박스를 .product-card__check 안으로 이동시킬 때
   이 체크박스 옆에 .product-card__top-actions 가 같이 들어가야 한 줄(헤더)이 됨.
   HTML 마크업에서 .product-card__check 안에 .product-card__top-actions 도 같이 넣음.
*/

/* 카드 본문 행: 썸네일 + 정보 (헤더 아래) */
#basket .product-card__body,
#basket .not_provider figure {
    display: flex;
    gap: 14px;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-sizing: border-box;
}

/* 썸네일 */
#basket .basketLeft {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
    position: static;
    float: none;
    padding: 0;
    background: #faf9f6;
    border-radius: 6px;
    overflow: hidden;
    display: block;
}
#basket .basketLeft .MS_input_checkbox {
    display: none !important; /* 카드 좌상단으로 이동했으므로 기존 위치 숨김 */
}
#basket .basketLeft a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
}
#basket .basketLeft img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;
    background: transparent;
}

/* 우측 정보 */
#basket .basketRight {
    flex: 1;
    min-width: 0;
    padding: 0;
}
#basket .basketRight p {
    margin: 0 0 4px;
    color: #5b5a55;
    font-size: 12px;
    line-height: 1.5;
}

/* 상품명 */
#basket .basketRight .pname {
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    display: block;
}
#basket .basketRight .pname > a {
    display: block;
    color: #1c1c1a;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    word-break: keep-all;
}
#basket .basketRight .pname .del-btn {
    display: none !important; /* 카드 우상단으로 이동했으므로 숨김 */
}
#basket .basketRight .pname .fa-times {
    display: none !important;
}

/* 상품 가격 - 강조 (라벨 없이 값만) */
#basket .basketRight p.price {
    margin: 0 0 8px;
    color: #1c1c1a;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.3px;
    line-height: 1.3;
}

/* 메타 정보 (적립금, 배송비 등) */
#basket .basketRight p.meta {
    margin: 2px 0;
    color: #8e8c87;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

/* 배송비 행 - 시안: [기본배송] 조건 ? */
#basket .basketRight p.meta-delivery {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
}
#basket .basketRight .badge-delivery {
    color: #1c1c1a;
    font-size: 12px;
    font-weight: 500;
}
#basket .basketRight .meta-delivery__txt {
    color: #5b5a55;
    font-size: 12px;
}
#basket .basketRight .meta-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    margin-left: 2px;
    text-decoration: none;
    background: transparent;
    border-radius: 50%;
}
#basket .basketRight .info-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border: 1px solid #c8c7c2;
    border-radius: 50%;
    color: #8e8c87;
    font-size: 10px;
    font-weight: 500;
    line-height: 1;
}

/* 수량 컨트롤 - 시안 매칭 */
#basket .basketRight .qty-row {
    display: flex;
    align-items: center;
    margin: 14px 0 0;
}
#basket .basketRight .qty-control {
    display: inline-flex;
    align-items: center;
    background: #fff;
}
#basket .basketRight .qty-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: #fff;
    border: 1px solid #e5e3dc;
    color: #1c1c1a;
    text-decoration: none;
    transition: background 0.15s;
    border-radius: 0;
}
#basket .basketRight .qty-btn:hover {
    background: #faf9f6;
}
#basket .basketRight .qty-btn--minus {
    border-radius: 4px 0 0 4px;
}
#basket .basketRight .qty-btn--plus {
    border-radius: 0 4px 4px 0;
}
#basket .basketRight .qty-btn .fa {
    font-size: 11px;
    color: #1c1c1a;
    line-height: 1;
    background: transparent !important;
    width: auto;
    height: auto;
}
/* 원본 +/- 버튼 무력화 */
#basket .basketRight .fa-plus,
#basket .basketRight .fa-minus {
    background-color: transparent;
    width: auto;
    height: auto;
    line-height: 1;
    color: inherit;
}
#basket .basketRight .amount-input,
#basket .basketRight input[type="text"].txt-input {
    width: 38px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 1px solid #e5e3dc;
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    background: #fff;
    color: #1c1c1a;
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    -webkit-appearance: none;
    appearance: none;
}
#basket .basketRight .amount-input:focus,
#basket .basketRight input[type="text"].txt-input:focus {
    outline: none;
}

/* 옵션 텍스트 */
#basket .basketRight .opt-text {
    margin: 8px 0 0;
    font-size: 11px;
    color: #8e8c87;
    line-height: 1.5;
}

/* 선택사항 수정 버튼 */
#basket .basketRight .btn_Black {
    display: inline-block;
    margin-top: 8px;
    padding: 7px 12px;
    background: #fff;
    border: 1px solid #e5e3dc;
    border-radius: 4px;
    color: #1c1c1a;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
}
#basket .basketRight .btn_Black span {
    color: #1c1c1a;
    font-weight: 500;
}


/* ════════════════════════════════════════════════════════════
   [5] 카드 하단 - 배송정책 안내 + 견적서 출력
   ════════════════════════════════════════════════════════════ */
#basket .cart-policy-bar {
    padding: 14px 16px;
    background: #fff;
    border-bottom: 1px solid #f1efe8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
#basket .cart-policy-bar__txt {
    margin: 0;
    flex: 1;
    color: #8e8c87;
    font-size: 12px;
    line-height: 1.5;
    word-break: keep-all;
}
#basket .btn-quote {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 32px;
    padding: 0 12px;
    background: #fff;
    border: 1px solid #e5e3dc;
    border-radius: 4px;
    color: #1c1c1a;
    font-size: 12px;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}


/* ════════════════════════════════════════════════════════════
   [6] 빈 장바구니
   ════════════════════════════════════════════════════════════ */
#basket .none-data {
    background: #fff;
    padding: 56px 24px;
    text-align: center;
    border-bottom: 1px solid #f1efe8;
}
#basket .none-data .fa-exclamation-triangle { display: none; }
#basket .none-data .empty-icon {
    margin: 0 auto 16px;
    display: flex;
    justify-content: center;
}
#basket .none-data .empty-title,
#basket .none-data > p {
    font-size: 15px;
    font-weight: 600;
    color: #1c1c1a;
    margin: 0 0 6px;
}
#basket .none-data .empty-desc {
    font-size: 13px;
    color: #5b5a55;
    line-height: 1.7;
    margin: 0 0 22px;
}
#basket .none-data .btn-empty-cta {
    display: inline-block;
    background: #1c1c1a;
    color: #fff;
    padding: 12px 32px;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
}
#basket .none-data .empty-links {
    margin-top: 18px;
    display: flex;
    justify-content: center;
    gap: 14px;
}
#basket .none-data .empty-links a {
    font-size: 12px;
    color: #5b5a55;
    text-decoration: underline;
}


/* ════════════════════════════════════════════════════════════
   [7] 결제 정보 (.pay-info) - 시안 매칭
   ════════════════════════════════════════════════════════════ */
#basket .pay-info {
    background: #fff;
    margin-top: 10px;
    padding: 22px 16px 18px;
    border-top: 8px solid #f7f6f1;
    border-bottom: 1px solid #f1efe8;
}
#basket .pay-info__title {
    margin: 0 0 14px;
    padding: 0 0 14px;
    border-bottom: 1px solid #1c1c1a;
    color: #1c1c1a;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -0.3px;
    line-height: 1.3;
}

#basket .pay-info__rows {
    padding: 4px 0 0;
}
#basket .pay-info .price-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 7px 0;
    font-size: 13px;
}
#basket .pay-info .price-row .price-label {
    color: #5b5a55;
    font-weight: 400;
}
#basket .pay-info .price-row .price-value {
    color: #1c1c1a;
    font-weight: 500;
}
#basket .pay-info .price-row.discount .price-value {
    color: #d63838;
}

/* 총 결제 금액 - 별도 영역 */
#basket .pay-info__total {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-top: 14px;
    padding: 16px 0 4px;
    border-top: 1px solid #f1efe8;
}
#basket .pay-info__total .price-label {
    color: #1c1c1a;
    font-size: 15px;
    font-weight: 700;
}
#basket .pay-info__total .price-value,
#basket .pay-info__total .txt-price {
    color: #d63838;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
    line-height: 1.2;
}

#basket .pay-info .reserve-note {
    margin: 6px 0 0;
    text-align: right;
    font-size: 11px;
    color: #8e8c87;
}

/* 기존 .price-summary 호환 (구버전 마크업이 남아있을 경우) */
#basket .price-summary {
    background: #fff;
    margin-top: 10px;
    padding: 22px 16px 18px;
    border-top: 8px solid #f7f6f1;
    border-bottom: 1px solid #f1efe8;
}
#basket .price-summary .price-row {
    display: flex;
    justify-content: space-between;
    padding: 7px 0;
    font-size: 13px;
}
#basket .price-summary .price-row .price-label { color: #5b5a55; }
#basket .price-summary .price-row .price-value { color: #1c1c1a; font-weight: 500; }
#basket .price-summary .price-row.discount .price-value { color: #d63838; }
#basket .price-summary .price-row.total {
    border-top: 1px solid #f1efe8;
    margin-top: 12px;
    padding: 14px 0 4px;
}
#basket .price-summary .price-row.total .price-label {
    font-size: 15px;
    font-weight: 700;
    color: #1c1c1a;
}
#basket .price-summary .price-row.total .price-value,
#basket .price-summary .price-row.total .txt-price {
    color: #d63838;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.4px;
}
#basket .price-summary .reserve-note {
    margin: 6px 0 0;
    text-align: right;
    font-size: 11px;
    color: #8e8c87;
}

/* 메이크샵 기본 합계 마크업 무력화 */
#basket .price-total-info-top,
#basket .price-total-info-bottom,
#basket .price-each-info-top,
#basket .price-each-info-bottom {
    display: none;
}


/* ════════════════════════════════════════════════════════════
   [8] 무료배송 진행 바
   ════════════════════════════════════════════════════════════ */
#basket .free-shipping-progress {
    background: #fff;
    margin: 0;
    padding: 14px 16px 18px;
    border-bottom: 1px solid #f1efe8;
}
#basket .free-shipping-progress .fsp-text {
    margin: 0 0 10px;
    font-size: 13px;
    color: #1c1c1a;
    line-height: 1.5;
}
#basket .free-shipping-progress .fsp-text .fsp-remain {
    color: #d63838;
    font-weight: 600;
}
#basket .free-shipping-progress .fsp-text strong {
    color: #1c1c1a;
    font-weight: 600;
}
#basket .free-shipping-progress .fsp-achieved-text strong {
    color: #d63838;
}
#basket .free-shipping-progress .fsp-bar {
    height: 5px;
    background: #f1efe8;
    border-radius: 3px;
    overflow: hidden;
}
#basket .free-shipping-progress .fsp-fill {
    height: 100%;
    width: 0;
    background: #1c1c1a;
    border-radius: 3px;
    transition: width 0.4s ease;
}

.cart-free-wrap {
    display: none !important;
}


/* ════════════════════════════════════════════════════════════
   [9] 회원 그룹 안내
   ════════════════════════════════════════════════════════════ */
#basket .delivery-type {
    background: #fff;
    padding: 12px 16px;
    border-bottom: 1px solid #f1efe8;
}
#basket .delivery-type ul {
    list-style: none;
    margin: 0;
    padding: 12px;
    background: #faf9f6;
    border-radius: 6px;
}
#basket .delivery-type li {
    margin: 0;
    color: #5b5a55;
    font-size: 12px;
    line-height: 1.7;
    text-align: left;
}
#basket .delivery-type li + li { margin-top: 6px; }
#basket .delivery-type li strong {
    color: #1c1c1a;
    font-weight: 500;
}


/* ════════════════════════════════════════════════════════════
   [10] 메인 주문 + 계속 쇼핑 버튼
   ════════════════════════════════════════════════════════════ */
#basket .order-btn {
    display: flex;
    gap: 8px;
    padding: 16px 16px 8px;
    background: #fff;
}
#basket .order-btn.use-gift.qorder-none {
    display: grid;
    grid-template-columns: 48px 1fr;
}
#basket .order-btn.use-gift.use-qorder {
    display: grid;
    grid-template-columns: 48px 1fr 1fr;
}
#basket .order-btn.gift-none.use-qorder {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
#basket .order-btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    margin: 0;
    padding: 0;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}
#basket .order-btn a.btn_Present {
    background: #fff;
    border: 1px solid #e5e3dc;
    color: #1c1c1a;
    font-size: 16px;
}
#basket .order-btn a.btn_Black,
#basket .order-btn a.btn_OrderMain {
    background: #1c1c1a !important;
    border: 0 !important;
    color: #fff !important;
    font-weight: 600;
}
#basket .order-btn a.btn_Black span,
#basket .order-btn a.btn_OrderMain span {
    color: #fff;
    font-weight: 600;
}
#basket .order-btn a.btn_Blue {
    background: #1c1c1a;
    color: #fff;
}
#basket .order-btn .btn_Red {
    background: #d63838;
    border: 1px solid #d63838;
}

#basket .continue-shopping {
    background: #fff;
    padding: 0 16px 16px;
}
#basket .continue-shopping .btn_Continue {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    background: #fff;
    color: #1c1c1a;
    border: 1px solid #1c1c1a;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
}


/* ════════════════════════════════════════════════════════════
   [11] 간편결제 보조 영역
   ════════════════════════════════════════════════════════════ */
.cart-ft2 {
    display: block;
    text-align: center;
    background: #fff;
    padding: 16px;
}
.cart-ft2 > * { margin-top: 8px !important; }
.cart-ft2 > *:first-child { margin-top: 0 !important; }
.naver-checkout { margin-top: 8px !important; }

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


/* ════════════════════════════════════════════════════════════
   [12] 데스크톱
   ════════════════════════════════════════════════════════════ */
@media screen and (min-width: 768px) {
    #basket {
        max-width: 720px;
        margin: 0 auto;
    }
    #basket .basketLeft {
        width: 110px;
        height: 110px;
    }
    #basket .basketRight .btn_Black {
        width: auto;
        display: inline-block;
    }
}

@media screen and (max-width: 360px) {
    #basket .basketLeft {
        width: 90px;
        height: 90px;
    }
    #basket .basketRight .pname > a {
        font-size: 13px;
    }
    #basket .basketRight p.price {
        font-size: 15px;
    }
}


/* ════════════════════════════════════════════════════════════
   [13] 샵페이 바로구매 (구조 보존 - 기존 그대로)
   ════════════════════════════════════════════════════════════ */
#productDetail #shoppay_btn { padding-top: 10px; }
#cartWrap #shoppay_btn { display: inline; }
.shopdetail #shoppay_btn { padding-top: 10px; text-align: center; }
#basket #shoppay_btn { margin-top: 8px; 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 !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: 'Noto Sans KR', '돋움', 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: 1px solid #f1efe8 !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;
    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 {
    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 #e5e3dc !important;
    background-color: #fcfcfc !important;
    background-repeat: no-repeat !important;
    text-align: center !important;
    text-decoration: none !important;
    border-radius: 6px !important;
}
.shoppay_btn_item:first-child .shoppay_btn_link { margin: 0 !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;
}
.shoppay_btn_link.btn_blue {
    border-color: #1c1c1a !important;
    background-color: #1c1c1a !important;
}
.shoppay_event {
    position: relative !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 3px 0 0 0 !important;
    border-top: 1px solid #f1efe8 !important;
    letter-spacing: -0.5px !important;
}
.shoppay_event_text {
    display: block !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 5px 0 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
.shoppay_event_text .event_title {
    display: inline !important;
    margin: 0 5px 0 0 !important;
    font-weight: normal !important;
    color: #1c1c1a !important;
    vertical-align: middle !important;
}
.shoppay_event .shoppay_event_text .event_link {
    display: inline !important;
    font-weight: normal !important;
    color: #5b5a55 !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; }


/* ════════════════════════════════════════════════════════════
   [14] 밀어서 결제하기 (구조 보존 - 기존 그대로)
   ════════════════════════════════════════════════════════════ */
#quick-swipepay .layer { z-index: 200; }
#quick-swipepay .layer-wrap {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 16px 16px 12px;
    background: #faf9f6;
    color: #1c1c1a;
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
    box-shadow: 0 -4px 16px rgba(0,0,0,0.08);
}
#quick-swipepay .layer-wrap .swipepay-close {
    position: absolute;
    top: -44px;
    left: 50%;
    width: 40px;
    height: 40px;
    margin-left: -20px;
    font-size: 22px;
    color: #fff;
    background: rgba(28, 28, 26, 0.6);
    border: 0;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
}
#quick-swipepay .layer-wrap .swipepay-addr {
    padding: 0 12px;
    border: 1px solid #f1efe8;
    border-radius: 8px;
    background: #fff;
    text-align: left;
}
#quick-swipepay .layer-wrap .swipepay-addr .addr-lst {
    padding: 14px 2px;
    border-top: 1px solid #f1efe8;
}
#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: 6px;
    position: relative;
    font-size: 11px;
    white-space: nowrap;
}
#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-prd p.prd-tit {
    color: #1c1c1a !important;
    font-size: 13px !important;
    font-weight: 500;
    margin: 0;
}
#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: #5b5a55;
    margin: 0;
}
#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: 44px;
    height: 26px;
    font-size: 11px;
    font-weight: 500;
    color: #1c1c1a;
    border: 1px solid #e5e3dc;
    background: #fff;
    border-radius: 4px;
    text-decoration: none;
}
#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt {
    margin-top: 6px;
    font-size: 11px;
    color: #5b5a55;
    list-style: none;
    padding: 0;
}
#quick-swipepay .layer-wrap .swipepay-addr .addr-lst .addr-opt li strong {
    font-size: 12px;
    color: #1c1c1a;
    font-weight: 500;
    margin-right: 4px;
}
#quick-swipepay .layer-wrap .swipepay-agree {
    position: relative;
    display: flex;
    justify-content: space-between;
    margin-top: 12px;
    padding-left: 2px;
    font-size: 11px;
    color: #5b5a55;
}
#quick-swipepay .layer-wrap .swipepay-agree label {
    display: flex;
    align-items: center;
    gap: 6px;
}
#quick-swipepay .layer-wrap .swipepay-agree label input[type=checkbox] {
    width: 14px !important;
    height: 14px !important;
    accent-color: #1c1c1a;
}
#quick-swipepay .layer-wrap .swipepay-agree .view-terms {
    padding: 0 2px;
    color: #5b5a55;
    text-decoration: underline;
    border: 0;
    background: none;
    font-size: 11px;
}
#quick-swipepay .layer-wrap .swipepay-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 2px;
    font-size: 11px;
}
#quick-swipepay .layer-wrap .swipepay-total strong {
    font-size: 14px;
    color: #1c1c1a;
    font-weight: 500;
}
#quick-swipepay .layer-wrap .swipepay-total .total-price strong {
    font-size: 18px;
    color: #d63838;
    font-weight: 500;
}
#quick-swipepay .layer-wrap .swipepay-wide {
    position: relative;
    width: 100%;
    height: 50px;
    border-radius: 8px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    overflow: hidden;
    background: #d63838;
}
#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;
}
#quick-swipepay .layer-wrap .swipepay-wide .swipepay-slider {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 100%;
    color: #fff;
    font-size: 20px;
    border-radius: 8px;
    background: #a82828;
}
#quick-swipepay .layer-wrap .swipepay-wide .swipepay-completed {
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #a82828;
    border-radius: 8px;
    pointer-events: none;
}
#quick-swipepay .layer-wrap .swipepay-order {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 0 6px;
    text-decoration: underline;
    font-size: 11px;
    color: #5b5a55;
}
#quick-swipepay .layer-wrap .swipepay-order a {
    color: #5b5a55;
    text-decoration: underline;
}
/* BASIC css end */

