/* 물품 상세페이지 - 프리미엄 디자인 PC 버전 */

:root {
    --premium-blue: #008DFF;
    --premium-blue-light: #E9F4FF;
    --premium-teal: #00AFA0;
    --premium-teal-light: #E6F7F6;
    --premium-red: #F44336;
    --premium-red-light: #FFEBEE;
    --premium-orange: #FF9800;
    --premium-orange-light: #FFF3E0;
    --premium-border: #E0E0E0;
    --premium-text-main: #212121;
    --premium-text-sub: #757575;
    --premium-bg: #F8F9FA;
}

.listing_detail_page.content_side_flex {
    display: flex;
    gap: 30px;
    padding: 30px 0 60px;
    align-items: flex-start;
}

.listing_detail_main {
    flex: 1;
    min-width: 0;
}

/* 상단 헤더 및 브레드크럼 */
.listing_header_row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.listing_trade_type_text {
    font-size: 18px;
    font-weight: 700;
}

.listing_trade_type_text.sell {
    color: var(--premium-blue);
}

.listing_trade_type_text.buy {
    color: rgba(16, 183, 89, 1);
}

.listing_breadcrumb {
    flex: 1;
    font-size: 16px;
    color: var(--premium-text-sub);
    margin: 0;
}

.listing_link_copy {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    background: #F5F5F5;
    border: 1px solid #DDD;
    border-radius: 20px;
    font-size: 12px;
    color: #666;
    cursor: pointer;
    vertical-align: middle;
}

.listing_link_icon {
    width: 18px;
    height: 18px;
}

.listing_meta_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    border-top: 2px solid var(--premium-blue);
    padding-top: 15px;
}

.listing_tid {
    font-size: 16px;
    color: var(--premium-blue);
    font-weight: 700;
}

.listing_date {
    font-size: 13px;
    color: #999;
}

.listing_main_title {
    font-size: 24px;
    font-weight: 800;
    color: var(--premium-text-main);
    margin-bottom: 8px;
}

.listing_sub_title {
    font-size: 14px;
    color: #666;
    margin: 0 0 30px;
}

/* 물품 정보 3연 카드 */
.listing_info_cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    margin-bottom: 40px;
}

.listing_info_card {
    min-height: 72px;
    padding: 14px 16px;
    background: #fff;
    border: 1px solid var(--premium-border);
    border-radius: 8px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
}

.listing_info_card_label {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 20px;
    line-height: 1.25;
    font-size: 16px;
    color: var(--premium-text-sub);
    margin-bottom: 6px;
    flex-shrink: 0;
}

.listing_info_card_value {
    font-size: 22px;
    font-weight: 700;
    color: var(--premium-text-main);
}

/* 리니지클래식 게임머니: 단위 '아데나'만 본문보다 작게 */
.listing_info_card_value .listing_info_qty_unit_suffix {
    font-size: 14px !important;
    font-weight: 600;
    color: var(--premium-text-sub);
    vertical-align: baseline;
    margin-left: 2px;
}

#main_card_lot_text {
    font-size: 16px;
}

#main_card_unit_price_text {
    font-size: 14px;
    display: none; /* 임시 숨김: 필요 시 다시 노출 가능 */
}

.listing_info_card_value.price b {
    color: var(--premium-blue);
    font-size: 22px;
}

.listing_info_card_value.price .price_won {
    color: var(--premium-blue);
}

.listing_info_card_value small {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #666;
    margin-top: 0;
}

/* 섹션 공통 */
.listing_section {
    margin-bottom: 40px;
}

.reg_section_title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
    color: var(--premium-text-main);
}

.reg_section_title_blue {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
    color: var(--premium-blue);
}

/* 판매자 정보 카드 */
.seller_card_premium {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 30px;
    border: 1px solid var(--premium-border);
    border-radius: 12px;
    background: #fff;
}

.seller_grade_group {
    display: flex;
    align-items: center;
    gap: 15px;
}

.seller_grade_info {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.seller_grade_name {
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 0;
}

/* 등급별 seller_grade_name 색상 */
.seller_grade_name.basic { color: #64748b; }
.seller_grade_name.silver { color: #6b7f99; }
.seller_grade_name.gold { color: #b8860b; }
.seller_grade_name.platinum { color: #6366f1; }
.seller_grade_name.vip { color: #7E57C2; }

.seller_grade_score {
    font-size: 16px;
    color: rgba(45, 45, 45, 1);
}

/* 임시: 판매자 점수 옆 도움말 아이콘 숨김 */
.seller_grade_score .help_icon {
    display: none;
}

.seller_cert_badges {
    display: flex;
    gap: 10px;
}

.cert_item {
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    border: 1px solid #DDD;
}

.cert_item.orange {
    border-color: var(--premium-orange);
    color: var(--premium-orange);
}

.cert_item.reddish {
    border-color: var(--premium-red);
    color: var(--premium-red);
}

.cert_item.active {
    background: #fff;
}

/* 상세설명 박스 */
.listing_description_box {
    border: 1px solid var(--premium-border);
    border-radius: 12px;
    background: #fff;
    padding: 30px;
}

.description_header {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 20px;
    color: var(--premium-text-main);
}

.description_text {
    font-size: 16px;
    line-height: 1.8;
    color: #444;
}

/* 내 거래정보 카드 */
.my_trade_card {
    display: flex;
    padding: 24px;
    border: 1px solid var(--premium-border);
    border-radius: 8px;
    background: #fff;
    gap: 30px;
}

.my_trade_info_left {
    flex: 1;
}

.name_edit {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.user_name {
    font-size: 18px;
    font-weight: 700;
}

.edit_btn {
    font-size: 13px;
    color: var(--premium-text-sub);
    text-decoration: underline;
}

.phone_row {
    display: flex;
    align-items: center;
    gap: 15px;
}

.phone_num {
    font-size: 16px;
    color: #555;
}

.safe_check {
    font-size: 13px;
    color: var(--premium-blue);
    display: flex;
    align-items: center;
    gap: 4px;
}

.my_trade_info_right {
    width: 300px;
    border-left: 1px solid #EEE;
    padding-left: 20px;
}

.safe_number_notice {
    display: flex;
    align-items: center;
    gap: 12px;
}

.shield_icon {
    width: 38px;
    height: 38px;
}

.safe_number_notice p {
    font-size: 13px;
    color: #777;
    margin: 0;
    line-height: 1.5;
}

/* 주의사항 배너 */
.precautions_banner {
    padding: 40px;
    background: #F2F9FF;
    border-radius: 12px;
}

.step_row {
    display: flex;
    justify-content: space-around;
    position: relative;
    margin-bottom: 30px;
}

.step_line {
    position: absolute;
    top: 11px;
    left: 15%;
    right: 15%;
    height: 2px;
    background-color: rgba(21, 153, 245, 1);
    z-index: 1;
}

.step_item {
    position: relative;
    z-index: 2;
    text-align: center;
    background: #F2F9FF;
    padding: 0 10px;
}

.step_num {
    width: 25px;
    height: 25px;
    background: var(--premium-blue);
    color: #fff;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 17px;
    font-weight: 800;
    line-height: 1;
    vertical-align: middle;
    margin-bottom: 10px;
}

.step_label {
    font-size: 18px;
    font-weight: 800;
    color: #333;
    margin: 0;
}

.step_content_grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.step_content ul {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 15px;
}

.step_content li {
    color: #666;
    margin-bottom: 6px;
    position: relative;
    padding-left: 10px;
}

.step_content li::before {
    content: '·';
    position: absolute;
    left: 0;
    font-weight: bold;
}

.precaution_fine_prints {
    border-top: 1px dashed #BFDFFF;
    padding-top: 20px;
}

.precaution_fine_prints p {
    font-size: 13px;
    color: var(--premium-blue);
    margin: 0 0 6px;
}

/* ---------- 사이드바 ---------- */
.listing_sidebar_premium {
    position: sticky;
    top: 80px;
    width: 330px;
    flex-shrink: 0;
}

.sidebar_card {
    background: #f9f9f9;
    border: 1px solid var(--premium-border);
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.sidebar_field {
    margin-bottom: 24px;
}

/* 캐릭터명 ↔ 결제수단 블록 구분 */
.sidebar_field_divider {
    border: none;
    border-top: 1px solid #ddd;
    margin: 0 0 24px;
    padding: 0;
    height: 0;
}

.sidebar_label {
    display: block;
    font-size: 16px;
    font-weight: 700;
    color: #444;
    margin-bottom: 10px;
}

.sidebar_qty_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sidebar_qty_row .sidebar_label {
    margin-bottom: 0;
    flex-shrink: 0;
}

/* 라벨 + 읽기전용 값 한 줄 (구매할인 등) */
.sidebar_field_inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sidebar_field_inline .sidebar_label {
    margin-bottom: 0;
    flex-shrink: 0;
}

.sidebar_field_inline .sidebar_value_readonly {
    flex-shrink: 0;
}

.sidebar_qty_row .premium_qty_control {
    flex-shrink: 0;
}

.premium_qty_control {
    display: flex;
    align-items: center;
    border: 1px solid #CCC;
    border-radius: 8px;
    overflow: hidden;
    width: 160px;
    height: 40px;
}

.premium_qty_control .qty_btn {
    width: 44px;
    height: 40px;
    background: #F9F9F9;
    border: none;
    font-size: 20px;
    cursor: pointer;
}

.premium_qty_control input {
    flex: 1;
    border: none;
    border-left: 1px solid #EEE;
    border-right: 1px solid #EEE;
    height: 40px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    -moz-appearance: textfield;
    appearance: textfield;
}

.premium_qty_control input::-webkit-outer-spin-button,
.premium_qty_control input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.qty_summary_hint {
    font-size: 14px;
    color: #888;
    text-align: right;
    margin-top: 8px;
}

.qty_summary_hint--sale {
    color: #444;
}

.sidebar_value_readonly {
    width: 160px;
    height: 40px;
    background: #F5F5F5;
    border: 1px solid rgba(204, 204, 204, 1);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 15px;
    font-weight: 800;
    color: #333;
    text-align: right;
}

.premium_sidebar_input {
    width: 100%;
    height: 44px;
    padding: 0 15px;
    border: 1px solid #CCC;
    border-radius: 8px;
    box-sizing: border-box;
}

/* 입금자명: 라벨 + 입력 한 줄 */
.sidebar_bank_depositor_one_line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sidebar_bank_depositor_one_line .sidebar_label {
    margin-bottom: 0;
    flex-shrink: 0;
}

.premium_sidebar_input--sidebar_grow {
    flex: 1;
    min-width: 0;
    width: auto;
}

.sidebar_bank_depositor_one_line .premium_sidebar_input {
    text-align: right;
}

#bank_transfer_depositor_name {
    height: 40px;
}

.premium_toggle_btns {
    display: flex;
    gap: 8px;
}

.premium_toggle_btns .toggle_btn {
    flex: 1;
    height: 42px;
    border: 1px solid #DDD;
    background: #fff;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
}

.premium_toggle_btns .toggle_btn.active {
    border-color: var(--premium-blue);
    color: var(--premium-blue);
}

.payment_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.charge_link {
    font-size: 12px;
    color: rgba(68, 68, 68, 1);
    text-decoration: underline;
    font-weight: 600;
}

.premium_payment_grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 8px;
    margin-top: 10px;
}

.pay_item {
    border: 1px solid #cdd0d4;
    border-radius: 6px;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    cursor: pointer;
    background: #fff;
    transition: all 0.2s ease;
    padding: 0 5px;
}

.pay_item input {
    display: none;
}

.pay_item .pay_method_icon {
    width: auto;
    max-width: 88px;
    height: 17px;
    object-fit: contain;
    object-position: center center;
    margin-right: 0;
    flex-shrink: 0;
    vertical-align: middle;
}

/* 아이콘 중복 표시 방지: 한 셀에 이미지 1개만 노출 */
.premium_payment_grid .pay_item .pay_item_inner img:nth-of-type(n+2) {
    display: none !important;
}

.pay_item > span.pay_item_inner {
    font-size: 14px;
    font-weight: bold;
    color: #333;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.pay_item .pay_item_text {
    font-size: 13px;
    font-weight: 700;
    color: #333;
    line-height: 1.2;
    text-align: center;
    min-width: 0;
    word-break: keep-all;
}

.pay_item.active {
    border: 1.5px solid #0088ff;
    z-index: 2;
}

/* 비활성 결제: 시각 구분 + 클릭 시 글로벌 안내(alert) */
.pay_item.pay_item--inactive {
    background: #f5f5f5;
    border-color: #e0e0e0;
    cursor: not-allowed;
    opacity: 0.88;
}

.pay_item.pay_item--inactive .pay_item_inner,
.pay_item.pay_item--inactive .pay_item_text {
    color: #999;
}

.pay_item_inactive_label {
    position: absolute;
    top: 2px;
    right: 4px;
    font-size: 9px;
    line-height: 1;
    color: #b0b0b0;
    font-weight: 600;
    pointer-events: none;
    z-index: 5;
}

.pay_item[data-code="mileage"] .pay_item_text {
    color: #0088ff;
}

.discount_badge {
    position: absolute;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    background-color: #ff3b5c;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 7px;
    border-radius: 12px;
    white-space: nowrap;
    z-index: 10;
}

.discount_badge::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-width: 4px;
    border-style: solid;
    border-color: #ff3b5c transparent transparent transparent;
}

.sidebar_mileage_info {
    margin: 20px 0;
    padding: 15px 0;
    border-top: 1px solid #F0F0F0;
}

.mileage_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
    font-size: 16px;
}

.mileage_row .label {
    font-size: 16px;
    color: #555;
}

.mileage_row .value {
    font-size: 16px;
    font-weight: 700;
    color: #333;
}

.btn_coupon {
    padding: 4px 10px;
    border-radius: 4px;
    border: 1px solid #DDD;
    background: #fff;
    font-size: 12px;
    cursor: pointer;
}

.sidebar_summary_premium {
    padding: 20px 0;
    border-top: 1px solid #F0F0F0;
}

.summary_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
}

.summary_item .label {
    font-size: 16px;
    font-weight: 700;
    color: #333;
}

.summary_item .value {
    font-size: 18px;
}

.summary_item .value.reddish b {
    color: var(--premium-red);
    font-size: 28px;
}

.summary_item .val_input {
    width: 140px;
    height: 38px;
    background: #F5F5F5;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 15px;
    white-space: nowrap;
}

.summary_item .val_input.pay {
    font-size: 16px;
    color: rgba(46, 46, 46, 1);
    border-style: solid;
    border-width: 1px;
    border-color: rgba(205, 206, 212, 1);
    border-radius: 10px;
}

/* 사용할 마일리지: 금액 / 단위(원) 각각 색·크기 분리 */
#sidebar_mileage_use {
    font-size: 16px;
    background-color: rgba(255, 255, 255, 1);
    border-style: solid;
    border-width: 1px;
    border-color: rgba(205, 207, 212, 1);
    border-radius: 10px;
}

#sidebar_mileage_use .mileage_amount {
    font-size: 18px;
    font-weight: 700;
    color: var(--premium-blue);
}

#sidebar_mileage_use .mileage_unit {
    display: inline-block;
    min-width: 16px;
    font-size: 16px;
    font-weight: 500;
    color: rgba(51, 51, 51, 1);
}

#sidebar_final_pay {
    font-size: 16px;
    color: rgba(244, 67, 55, 1);
}

.sidebar_footer_note {
    font-size: 14px;
    color: rgba(61, 61, 61, 1);
    text-align: right;
    margin-bottom: 0px;
}

.sidebar_action_btns {
    display: flex;
    gap: 10px;
}

.sidebar_card--sale .sidebar_field {
    margin-bottom: 20px;
}

.sidebar_sale_summary {
    border-top: 1px solid #e5e5e5;
    padding: 18px 0 22px;
    margin-bottom: 4px;
}

.sale_summary_row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid #ececec;
}

.sale_summary_row:last-child {
    border-bottom: none;
}

.sale_summary_row .label {
    font-size: 16px;
    font-weight: 700;
    color: #333;
}

.sale_summary_row .value {
    font-size: 18px;
    font-weight: 800;
    color: #2e2e2e;
}

.sale_summary_row .value b {
    font-size: 20px;
}

.sale_summary_row.total .value,
.sale_summary_row.total .value b {
    color: #ff3b30;
}

.btn_chat_icon {
    width: 84px;
    height: 70px;
    border: 1.5px solid var(--premium-blue);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--premium-blue);
    text-decoration: none;
}

.btn_chat_icon_img {
    display: block;
    width: 35px;
    height: 30px;
    object-fit: contain;
}

.btn_purchase_apply {
    flex: 1;
    height: 70px;
    background: var(--premium-blue);
    color: #fff;
    border: none;
    border-radius: 12px;
    font-size: 18px;
    font-weight: 800;
    cursor: pointer;
}

#btn_purchase_submit {
    background-color: rgba(0, 141, 255, 1);
    width: 194px;
}

.btn_chat_icon--sale {
    border-color: #10b759;
    color: #10b759;
}

.btn_purchase_apply--sale,
#btn_purchase_submit.btn_purchase_apply--sale {
    background-color: #10b759;
    width: 194px;
}

/* 하단 고정바 (PC: 메인 구매 버튼이 뷰포트 밖일 때) */
body.listing-sticky-bar-on {
    padding-bottom: 104px;
}

.bottom_sticky_bar_pc {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #ddd;
    border-radius: 0;
    box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.1);
    padding: 14px 0 16px;
    z-index: 100;
    display: none;
}

.sticky_bar_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.sticky_bar_inner .summary_text {
    display: flex;
    align-items: center;
    gap: 15px;
    width: 300px;
}

.sticky_bar_inner--sale {
    gap: 24px;
}

.summary_text--sale {
    width: 360px;
}

.sticky_bar_inner .label {
    font-size: 15px;
    font-weight: 700;
    text-align: right;
}

.sticky_bar_inner .value {
    font-size: 16px;
    text-align: right;
    margin-left: auto;
}

.sticky_bar_inner .value b {
    font-size: 22px;
    color: var(--premium-red);
}

.summary_inputs {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.input_group {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
    align-items: center;
    gap: 10px;
}

.input_wrap {
    width: 120px;
    height: 36px;
    background: #F5F5F5;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 12px;
    white-space: nowrap;
}

.input_wrap.pay {
    width: 192px;
    height: 28px;
    font-size: 14px;
    font-weight: 700;
    color: var(--premium-red);
}

#sticky_mileage_use {
    width: 192px;
    height: 28px;
    font-size: 15px;
}

#sticky_mileage_use .mileage_amount {
    font-size: 16px;
    font-weight: 700;
    color: var(--premium-blue);
}

#sticky_mileage_use .mileage_unit {
    font-size: 15px;
    font-weight: 500;
    color: rgba(120, 120, 120, 1);
}

.action_group {
    display: flex;
    align-items: center;
    gap: 12px;
}

.btn_chat_sticky {
    width: 84px;
    height: 50px;
    border: 1.5px solid var(--premium-blue);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--premium-blue);
    text-decoration: none;
}

.btn_chat_sticky_img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
}

.btn_purchase_sticky {
    width: 196px;
    height: 50px;
    background: var(--premium-blue);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 800;
    cursor: pointer;
    flex-shrink: 0;
}

.btn_purchase_sticky:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.bottom_sticky_bar_pc--sale .btn_chat_sticky,
.btn_chat_sticky--sale {
    border-color: #10b759;
    color: #10b759;
}

.btn_purchase_sticky--sale {
    background: #10b759;
}

@media (max-width: 992px) {
    .bottom_sticky_bar_pc {
        display: none !important;
    }

    body.listing-sticky-bar-on {
        padding-bottom: 0 !important;
    }
}

.help_icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 16px;
    height: 16px;
    line-height: 16px;
    background-color: rgba(40, 40, 40, 1);
    color: #fff;
    border-radius: 50%;
    font-size: 11px;
    font-style: normal;
    vertical-align: middle;
    cursor: help;
    margin-left: 4px;
}

/* 물품신청정보 확인 모달 */
.purchase_confirm_overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.purchase_confirm_modal_box {
    background: #fff;
    border-radius: 12px;
    max-width: 480px;
    width: 100%;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}
.purchase_confirm_title {
    margin: 0;
    padding: 20px 24px 16px;
    font-size: 18px;
    font-weight: 700;
    color: rgba(4, 140, 255, 1);
    border-bottom: 2px solid rgba(4, 140, 255, 1);
    text-align: left;
}
.purchase_confirm_body {
    padding: 20px 24px;
}
.purchase_confirm_path {
    font-size: 16px;
    color: rgba(46, 46, 46, 1);
    margin: 0 0 12px;
}
.purchase_confirm_item_title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 10px;
    line-height: 1.4;
}
.purchase_confirm_qty_price {
    font-size: 15px;
    font-weight: 700;
    margin: 0 0 8px;
}
.purchase_confirm_qty_price b {
    color: rgba(5, 147, 255, 1);
    border-color: rgba(0, 0, 0, 0);
    border-image: none;
    font-weight: 800;
    font-size: 16px;
}
.purchase_confirm_seller {
    font-size: 14px;
    color: var(--premium-text-sub);
    margin: 0 0 16px;
}
#purchase_confirm_character_name {
    font-size: 17px;
    color: rgba(46, 46, 46, 1);
    font-weight: 600;
}
.purchase_confirm_notice {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 12px 14px;
    margin: 0 0 16px;
    font-size: 12px;
    color: var(--premium-text-sub);
    line-height: 1.5;
}
.purchase_confirm_notice p {
    margin: 0 0 4px;
}
.purchase_confirm_notice p:last-child {
    margin-bottom: 0;
}
.purchase_confirm_ask {
    font-size: 15px;
    font-weight: 600;
    margin: 0;
    text-align: center;
}
.purchase_confirm_actions {
    display: flex;
    gap: 12px;
    padding: 16px 24px 24px;
}
.purchase_confirm_btn_apply {
    flex: 1;
    height: 48px;
    background: var(--premium-blue);
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}
.purchase_confirm_btn_cancel {
    flex: 1;
    height: 48px;
    background: #e0e0e0;
    color: #333;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
}