/* ============ CHECKOUT / ORDER PAGE ============ */
.checkout-wrap { max-width: 1100px; margin: 0 auto; }

.checkout-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.checkout-head h3 {
  font-weight: 800;
  color: #1a1a1a;
  margin: 0;
}

.checkout-card {
  background: #fff;
  border-radius: 14px;
  padding: 24px;
  box-shadow: 0 4px 18px rgba(15,23,42,.06);
  height: 100%;
}
.card-title {
  font-weight: 800;
  color: #1a1a1a;
  margin-bottom: 18px;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* Items list */
.item-row {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 12px 0;
}
.item-thumb, .item-thumb-placeholder {
  width: 80px;
  height: 60px;
  border-radius: 8px;
  object-fit: cover;
  flex-shrink: 0;
  background: #eef0f4;
}
.item-thumb-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  color: #94a3b8;
}
.item-info strong { color: #1a1a1a; font-size: .95rem; }
.item-price { color: #1f6feb; font-weight: 700; }

/* Summary */
.summary-row {
  display: flex;
  justify-content: space-between;
  padding: 6px 0;
  color: #475569;
}
.summary-row strong { color: #1a1a1a; }
.summary-total {
  border-top: 1px dashed #cbd5e1;
  margin-top: 8px;
  padding-top: 12px;
  font-size: 1.1rem;
}
.summary-total strong { color: #1f6feb; font-weight: 800; }

/* QR card */
.checkout-qr-card .card-title { color: #1f6feb; }

.qr-wrap {
  text-align: center;
  margin-bottom: 16px;
}
.qr-img {
  max-width: 260px;
  width: 100%;
  border: 2px solid #eef0f4;
  border-radius: 12px;
  padding: 6px;
  background: #fff;
}

/* Bank info rows */
.bank-info {
  background: #f8fafc;
  border-radius: 10px;
  padding: 12px 16px;
}
.bank-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid #eef0f4;
  font-size: .92rem;
}
.bank-row:last-child { border-bottom: 0; }
.bank-row .label { color: #64748b; }
.bank-row strong { color: #1a1a1a; font-weight: 700; }
.bank-row.highlight { background: #fffbeb; margin: 4px -10px; padding: 12px 12px; border-radius: 8px; border-bottom: 0; }
.bank-row.highlight strong { color: #ea580c; font-size: 1rem; font-family: monospace; letter-spacing: .5px; }
.bank-row .amount { color: #1f6feb !important; font-size: 1.05rem; }

.copy-text { transition: background .15s; }
.copy-text i { opacity: .5; margin-left: 4px; font-size: .85rem; }
.copy-text:hover { opacity: .85; }
.copy-text:hover i { opacity: 1; }

.status-poll {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  background: #eef4ff;
  border-radius: 8px;
  color: #1e40af;
  font-size: .9rem;
}

/* ============ ADMIN SETTINGS PAYMENT (SePay block) ============ */
.sepay-block { border: 2px dashed #1f6feb; border-radius: 12px; padding: 18px; background: #f8faff; margin-top: 18px; }
.sepay-block h6 { color: #1f6feb; font-weight: 800; margin-bottom: 12px; }
.sepay-webhook-url {
  background: #1a1a1a;
  color: #4ade80;
  padding: 10px 14px;
  border-radius: 8px;
  font-family: monospace;
  font-size: .88rem;
  word-break: break-all;
  position: relative;
}
.sepay-webhook-url button {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: #16a34a;
  color: #fff;
  border: 0;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: .8rem;
}

.sepay-log-table { font-size: .85rem; }
.sepay-log-table td, .sepay-log-table th { padding: 8px 10px; vertical-align: middle; }
.sepay-log-table .badge { font-size: .72rem; padding: 4px 8px; }

@media (max-width: 768px) {
  .qr-img { max-width: 220px; }
  .checkout-head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .checkout-head h3 { font-size: 1.15rem; }
}

/* ============ V110: GIỎ HÀNG + CHECKOUT KHÁCH ============ */
.cart-page,
.checkout-entry-page {
  background: #f7f9fc;
  min-height: calc(100vh - 72px);
}
.cart-page .container,
.checkout-entry-page .container { max-width: 1120px; }

.cart-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 18px;
}
.cart-page-head h1 {
  margin: 0;
  color: #111827;
  font-size: 28px;
  font-weight: 800;
}
.cart-page-head p { margin: 5px 0 0; color: #6b7280; }
.cart-clear-btn {
  border: 0;
  background: transparent;
  color: #6b7280;
  font-weight: 600;
  font-size: 14px;
}
.cart-clear-btn:hover { color: #dc2626; }

.cart-items-card,
.cart-summary-card,
.checkout-entry-card,
.checkout-order-card,
.checkout-suggest-card,
.cart-empty-card {
  background: #fff;
  border: 1px solid #e7ebf2;
  border-radius: 12px;
  box-shadow: 0 5px 22px rgba(15,23,42,.055);
}
.cart-items-card { overflow: hidden; }
.cart-course-row {
  display: grid;
  grid-template-columns: 126px minmax(0,1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid #edf0f5;
}
.cart-course-row:last-child { border-bottom: 0; }
.cart-course-thumb {
  width: 126px;
  aspect-ratio: 16/9;
  display: block;
  overflow: hidden;
  border-radius: 8px;
  background: #eef2f7;
}
.cart-course-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cart-course-thumb > span { width: 100%; height: 100%; display: grid; place-items: center; color: #94a3b8; font-size: 28px; }
.cart-course-info { min-width: 0; }
.cart-course-title {
  display: block;
  color: #111827;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 700;
  margin-bottom: 5px;
}
.cart-course-title:hover { color: #2563eb; }
.cart-course-meta { color: #7c8594; font-size: 12px; margin-bottom: 8px; }
.cart-course-price { display: flex; align-items: center; gap: 10px; }
.cart-course-price strong { color: #2563eb; font-size: 16px; }
.cart-course-price del { color: #a0a7b2; font-size: 12px; }
.cart-remove-btn {
  border: 0;
  background: transparent;
  color: #8a94a3;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px;
  font-size: 13px;
}
.cart-remove-btn:hover { color: #dc2626; }

.cart-summary-card {
  padding: 22px;
  position: sticky;
  top: 94px;
}
.cart-summary-card h3,
.checkout-order-card h2,
.checkout-entry-card h2,
.checkout-suggest-card h3 {
  color: #111827;
  font-weight: 800;
}
.cart-summary-card h3 { font-size: 17px; margin: 0 0 18px; }
.cart-summary-line,
.cart-summary-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 7px 0;
  font-size: 14px;
  color: #5f6877;
}
.cart-summary-line strong { color: #111827; }
.cart-summary-total {
  border-top: 1px solid #e8ebf0;
  margin-top: 10px;
  padding-top: 16px;
  font-weight: 700;
}
.cart-summary-total strong { color: #2563eb; font-size: 24px; font-weight: 900; }
.cart-checkout-btn,
.checkout-submit-btn {
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 7px;
  background: linear-gradient(135deg,#2f80ed,#2563eb);
  color: #fff;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 18px;
  box-shadow: 0 8px 18px rgba(37,99,235,.22);
}
.cart-checkout-btn:hover,
.checkout-submit-btn:hover { color: #fff; transform: translateY(-1px); }
.cart-continue-link { display: block; text-align: center; margin-top: 13px; color: #2563eb; font-size: 13px; text-decoration: none; }
.cart-empty-card { text-align: center; padding: 70px 24px; }
.cart-empty-icon { width: 76px; height: 76px; border-radius: 50%; display: grid; place-items: center; background: #eef4ff; color: #2563eb; font-size: 34px; margin: 0 auto 18px; }
.cart-empty-card h3 { font-weight: 800; color: #111827; }
.cart-empty-card p { color: #7b8492; }

.checkout-entry-card { padding: 22px; }
.checkout-entry-card h2 { font-size: 17px; margin: 0 0 18px; }
.checkout-entry-card .form-label { font-size: 13px; font-weight: 700; color: #4b5563; }
.checkout-entry-card .form-control { border-color: #dce2eb; min-height: 46px; font-size: 14px; }
.checkout-entry-card .form-control:focus { border-color: #3b82f6; box-shadow: 0 0 0 .18rem rgba(59,130,246,.13); }
.checkout-guest-note { display: flex; gap: 9px; align-items: flex-start; background: #eff6ff; border: 1px solid #dbeafe; color: #35506f; padding: 11px 13px; border-radius: 8px; font-size: 13px; }

.payment-method-row {
  border: 1.5px solid #cbdaf8;
  background: #f7faff;
  border-radius: 9px;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  cursor: pointer;
}
.payment-method-row input { display: none; }
.payment-radio-dot { width: 17px; height: 17px; border-radius: 50%; border: 2px solid #3b82f6; position: relative; flex: 0 0 17px; }
.payment-radio-dot:after { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #3b82f6; position: absolute; inset: 3px; }
.payment-method-copy { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.payment-method-copy strong { color: #1f2937; font-size: 14px; }
.payment-method-copy small { color: #7a8493; font-size: 12px; margin-top: 2px; }
.payment-method-row > i { color: #2563eb; font-size: 22px; }

.checkout-order-card { padding: 20px; position: sticky; top: 94px; }
.checkout-order-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 14px; }
.checkout-order-head h2 { font-size: 16px; margin: 0; }
.checkout-order-head h2 small { color: #7b8492; font-weight: 500; font-size: 12px; }
.checkout-order-head a { color: #6b7280; font-size: 12px; text-decoration: none; }
.checkout-order-head a:hover { color: #2563eb; }
.checkout-mini-list { border-bottom: 1px solid #edf0f4; padding-bottom: 6px; }
.checkout-mini-item { display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 10px; align-items: center; padding: 8px 0; }
.checkout-mini-item img,
.checkout-mini-placeholder { width: 62px; height: 42px; border-radius: 6px; object-fit: cover; background: #edf1f6; }
.checkout-mini-placeholder { display: grid; place-items: center; color: #94a3b8; }
.checkout-mini-item div { min-width: 0; }
.checkout-mini-item strong { display: block; color: #273142; font-size: 12px; line-height: 1.35; margin-bottom: 3px; }
.checkout-mini-item span { color: #2563eb; font-size: 12px; font-weight: 700; }
.checkout-total-block { padding-top: 10px; }
.checkout-total-block > div { display: flex; justify-content: space-between; gap: 12px; padding: 5px 0; color: #626c7b; font-size: 13px; }
.checkout-total-block > div strong { color: #111827; }
.checkout-total-block .checkout-pay-total { border-top: 1px solid #e8ebf0; margin-top: 8px; padding-top: 13px; font-weight: 800; color: #111827; }
.checkout-total-block .checkout-pay-total strong { color: #dc2626; font-size: 20px; font-weight: 900; }
.checkout-policy-note { color: #8b94a2; font-size: 11px; line-height: 1.45; text-align: center; margin: 10px 0 0; }

.checkout-suggest-card { padding: 18px; }
.checkout-suggest-card h3 { font-size: 14px; margin: 0 0 12px; }
.checkout-suggest-item { display: grid; grid-template-columns: 72px minmax(0,1fr) 34px; gap: 10px; align-items: center; }
.checkout-suggest-item img { width: 72px; height: 48px; object-fit: cover; border-radius: 6px; }
.checkout-suggest-item a { display: block; color: #283445; font-size: 12px; line-height: 1.35; font-weight: 700; text-decoration: none; margin-bottom: 3px; }
.checkout-suggest-item strong { color: #2563eb; font-size: 12px; }
.checkout-suggest-add { width: 32px; height: 32px; border-radius: 7px; border: 1px solid #bfdbfe; color: #2563eb; background: #eff6ff; display: grid; place-items: center; }
.checkout-suggest-add:hover { background: #2563eb; color: #fff; }

@media (max-width: 991.98px) {
  .cart-summary-card,
  .checkout-order-card { position: static; }
}
@media (max-width: 575.98px) {
  .cart-page-head { align-items: center; }
  .cart-page-head h1 { font-size: 24px; }
  .cart-course-row { grid-template-columns: 96px minmax(0,1fr); gap: 12px; padding: 12px; }
  .cart-course-thumb { width: 96px; }
  .cart-remove-btn { grid-column: 2; justify-self: start; padding: 0; }
  .cart-course-title { font-size: 13px; }
  .cart-course-meta { font-size: 11px; }
  .cart-course-price strong { font-size: 14px; }
  .checkout-entry-card,
  .checkout-order-card { padding: 16px; }
}


/* V195: xác nhận lại thông tin người mua tại trang thanh toán */
.buyer-confirm-card{height:auto;padding:22px 24px;border:1px solid #dbe7f7;box-shadow:0 4px 18px rgba(15,23,42,.05)}
.buyer-confirm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}
.buyer-confirm-head .card-title{display:flex;align-items:center;gap:9px;color:#123761}
.buyer-confirm-head .card-title i{color:#2776f6;font-size:20px}
.buyer-confirm-head p{margin:4px 0 0;color:#6f8198;font-size:13px;line-height:1.5}
.buyer-confirm-grid{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:12px}
.buyer-confirm-item{min-width:0;border:1px solid #dce7f4;border-radius:10px;background:#f8fbff;padding:12px 14px}
.buyer-confirm-item span{display:block;color:#71849d;font-size:12px;font-weight:700;margin-bottom:5px}
.buyer-confirm-item strong{display:block;color:#102f55;font-size:15px;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}
.buyer-confirm-warning{display:flex;align-items:flex-start;gap:11px;margin-top:14px;border:1px solid #f6d68b;background:#fff8e8;color:#704b00;border-radius:10px;padding:13px 15px}
.buyer-confirm-warning>i{color:#f59e0b;font-size:20px;line-height:1.2;flex:0 0 auto}
.buyer-confirm-warning strong{display:block;color:#7a4b00;margin-bottom:4px}
.buyer-confirm-warning span{display:block;color:#715d35;font-size:13px;line-height:1.55}
@media(max-width:767.98px){
  .buyer-confirm-card{padding:18px 16px}
  .buyer-confirm-grid{grid-template-columns:1fr}
  .buyer-confirm-head{display:block}
  .buyer-confirm-warning{padding:12px}
}


/* V197: ưu tiên QR, bỏ các khối thông tin lặp */
.checkout-qr-card{padding:22px 24px;}
.checkout-qr-card .card-title{text-align:center;font-size:17px;margin-bottom:12px;}
.checkout-qr-card .qr-wrap{margin:0 auto 12px;}
.checkout-qr-card .qr-img{max-width:390px;border:1px solid #e3eaf3;border-radius:14px;padding:4px;}
.checkout-product-card{height:auto;}
.qr-payment-note{margin-top:10px;text-align:center;color:#775500;background:#fff8df;border:1px solid #f5df9a;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700;}
@media(max-width:991.98px){
  .checkout-qr-card .qr-img{max-width:430px;}
  .checkout-product-card{margin-top:0;}
}
@media(max-width:575.98px){
  .checkout-qr-card{padding:15px;}
  .checkout-qr-card .qr-img{max-width:100%;}
  .checkout-qr-card .bank-info{padding:8px 10px;}
  .checkout-qr-card .bank-row{padding:8px 0;}
  .qr-payment-note{font-size:11px;}
}

/* ===== v198 cart + coupon + QR summary ===== */
.cart-coupon-box{margin-top:16px;padding-top:16px;border-top:1px dashed #dbe2ea;}
.cart-coupon-title{font-size:13px;font-weight:700;color:#1f2937;margin-bottom:10px;}
.cart-coupon-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;}
.cart-coupon-form .form-control{min-height:44px;border-radius:10px;border:1px solid #d6dce5;}
.cart-coupon-form .btn{min-width:104px;border-radius:10px;font-weight:700;}
.cart-coupon-applied{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;}
.cart-coupon-applied strong{display:block;color:#1d4ed8;font-size:15px;}
.cart-coupon-applied span{display:block;font-size:12px;color:#4b5563;}
.cart-coupon-remove{border:0;background:#fff;color:#1d4ed8;font-weight:700;border-radius:10px;padding:8px 12px;}
.checkout-coupon-pill{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#eff6ff;border:1px solid #bfdbfe;font-size:13px;color:#35506f;}
.checkout-coupon-pill strong{color:#1d4ed8;font-size:14px;}
.checkout-order-info-card .card-title{font-size:16px;margin-bottom:14px;}
.order-info-grid{display:grid;grid-template-columns:1fr;gap:10px;}
.order-info-grid>div{padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e8edf5;}
.order-info-grid span{display:block;font-size:12px;color:#64748b;margin-bottom:4px;}
.order-info-grid strong{display:block;color:#0f172a;font-size:14px;line-height:1.45;word-break:break-word;}
.order-course-list{margin-top:16px;padding:14px;border:1px solid #e8edf5;border-radius:12px;background:#fff;}
.order-course-title{font-size:13px;font-weight:800;color:#0f172a;margin-bottom:10px;}
.order-course-item{display:flex;align-items:flex-start;gap:9px;padding:6px 0;}
.order-course-item .dot{width:8px;height:8px;border-radius:999px;background:#2563eb;margin-top:7px;flex:0 0 auto;}
.order-course-item strong{font-size:13px;line-height:1.45;color:#1f2937;}
.checkout-qr-card .bank-info.compact{margin-top:14px;}
@media (max-width: 767.98px){
  .cart-coupon-form{grid-template-columns:1fr;}
  .cart-coupon-applied{align-items:flex-start;flex-direction:column;}
}


/* ===== V332: trang thanh toán hiển thị trọn khung trên desktop, không cần cuộn ===== */
@media (min-width: 992px) and (min-height: 700px) {
  body.checkout-order-page-body {
    overflow-y: hidden;
  }

  body.checkout-order-page-body .main-content {
    height: calc(100vh - 72px);
    min-height: 0;
    overflow: hidden;
  }

  body.checkout-order-page-body .vt-footer {
    display: none;
  }

  .checkout-order-screen {
    height: 100%;
    max-width: 100%;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
    overflow: hidden;
  }

  .checkout-order-screen .checkout-wrap {
    height: 100%;
    max-width: 1040px;
    display: flex;
    flex-direction: column;
  }

  .checkout-order-screen .checkout-head {
    flex: 0 0 auto;
    margin-bottom: 10px;
  }

  .checkout-order-screen .checkout-head h3 {
    font-size: 1.35rem;
    line-height: 1.2;
  }

  .checkout-order-screen .checkout-head .btn-link {
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: .88rem;
  }

  .checkout-order-screen > .checkout-wrap > .alert {
    flex: 0 0 auto;
    margin-bottom: 10px !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }

  .checkout-order-screen .checkout-wrap > .row {
    flex: 1 1 auto;
    min-height: 0;
    --bs-gutter-x: 16px;
    --bs-gutter-y: 0;
  }

  .checkout-order-screen .checkout-wrap > .row > [class*="col-"] {
    min-height: 0;
  }

  .checkout-order-screen .checkout-card {
    height: 100%;
    min-height: 0;
    padding: 14px 16px;
    border-radius: 12px;
    overflow: hidden;
  }

  .checkout-order-screen .checkout-qr-card,
  .checkout-order-screen .checkout-order-info-card {
    display: flex;
    flex-direction: column;
  }

  .checkout-order-screen .checkout-qr-card .card-title,
  .checkout-order-screen .checkout-order-info-card .card-title {
    flex: 0 0 auto;
    margin-bottom: 7px;
    font-size: .94rem;
  }

  .checkout-order-screen .checkout-qr-card .qr-wrap {
    flex: 0 1 auto;
    min-height: 0;
    margin: 0 auto 7px;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .checkout-order-screen .checkout-qr-card .qr-img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: clamp(230px, 34vh, 330px);
    object-fit: contain;
    padding: 3px;
    border-radius: 10px;
  }

  .checkout-order-screen .checkout-qr-card .bank-info.compact {
    flex: 0 0 auto;
    margin-top: 5px;
    padding: 7px 12px;
  }

  .checkout-order-screen .checkout-qr-card .bank-row {
    padding: 5px 0;
    font-size: .8rem;
    line-height: 1.25;
  }

  .checkout-order-screen .checkout-qr-card .bank-row.highlight {
    margin: 2px -7px;
    padding: 7px 8px;
  }

  .checkout-order-screen .checkout-qr-card .bank-row.highlight strong,
  .checkout-order-screen .checkout-qr-card .bank-row .amount {
    font-size: .88rem !important;
  }

  .checkout-order-screen .status-poll {
    flex: 0 0 auto;
    margin-top: 7px !important;
    padding: 7px 9px;
    gap: 7px;
    font-size: .76rem;
    line-height: 1.3;
  }

  .checkout-order-screen .order-info-grid {
    gap: 6px;
  }

  .checkout-order-screen .order-info-grid > div {
    padding: 7px 9px;
    border-radius: 9px;
  }

  .checkout-order-screen .order-info-grid span {
    margin-bottom: 2px;
    font-size: .68rem;
  }

  .checkout-order-screen .order-info-grid strong {
    font-size: .78rem;
    line-height: 1.32;
  }

  .checkout-order-screen .order-course-list {
    margin-top: 8px;
    padding: 8px 10px;
    border-radius: 9px;
  }

  .checkout-order-screen .order-course-title {
    margin-bottom: 4px;
    font-size: .75rem;
  }

  .checkout-order-screen .order-course-item {
    padding: 2px 0;
    gap: 7px;
  }

  .checkout-order-screen .order-course-item .dot {
    width: 6px;
    height: 6px;
    margin-top: 5px;
  }

  .checkout-order-screen .order-course-item strong {
    font-size: .74rem;
    line-height: 1.3;
  }

  .checkout-order-screen .checkout-order-info-card hr {
    margin: 9px 0 6px;
  }

  .checkout-order-screen .summary-row {
    padding: 3px 0;
    font-size: .8rem;
  }

  .checkout-order-screen .summary-total {
    margin-top: 4px;
    padding-top: 7px;
    font-size: .93rem;
  }
}


/* ===== V334: khung QR thanh toán desktop ôm sát nội dung, không để khoảng trống thừa ===== */
@media (min-width: 992px) {
  .checkout-order-screen .checkout-wrap > .row {
    align-items: flex-start;
  }

  .checkout-order-screen .checkout-wrap > .row > .col-lg-7 {
    align-self: flex-start;
  }

  .checkout-order-screen .checkout-qr-card {
    height: auto;
    min-height: 0;
    align-self: flex-start;
    overflow: visible;
  }

  .checkout-order-screen .checkout-qr-card .qr-wrap {
    flex: 0 0 auto;
  }

  .checkout-order-screen .checkout-qr-card .qr-img {
    width: min(100%, 410px);
    max-width: 410px;
    max-height: none;
    height: auto;
  }
}

@media (min-width: 992px) and (min-height: 700px) {
  .checkout-order-screen .checkout-qr-card {
    height: auto;
  }

  .checkout-order-screen .checkout-qr-card .qr-img {
    width: min(100%, 390px);
    max-width: 390px;
    max-height: calc(100vh - 390px);
    min-height: 270px;
    object-fit: contain;
  }
}

/* ===== V356: mẫu QR Gọn hiển thị QR thuần + thông tin thanh toán riêng ===== */
.checkout-simple-payment-v356{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.55fr);gap:22px;padding:20px;border:1px solid #dfe8f3;border-radius:22px;background:#fff;box-shadow:0 14px 40px rgba(31,71,112,.08)}
.checkout-simple-qr-v356{min-height:520px;border:1px solid #e3eaf2;border-radius:18px;display:flex;align-items:center;justify-content:center;padding:24px;background:#fff}
.checkout-simple-qr-v356 img{display:block;width:min(100%,470px);height:auto;object-fit:contain}
.checkout-simple-details-v356{display:flex;flex-direction:column;gap:14px;min-width:0}
.checkout-simple-top-v356{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.checkout-simple-top-v356>div,.checkout-simple-account-v356,.checkout-simple-content-v356{border:1px solid #e5eaf0;border-radius:18px;background:#fff;padding:18px 20px}
.checkout-simple-top-v356 span,.checkout-simple-account-v356 span,.checkout-simple-content-v356 span{display:block;color:#6c7785;font-size:15px;margin-bottom:5px}
.checkout-simple-top-v356 strong{display:block;color:#111827;font-size:31px;font-weight:500;line-height:1.25;word-break:break-word}
.checkout-simple-account-v356{padding:8px 20px}
.checkout-simple-account-v356>div{position:relative;padding:14px 58px 14px 0}
.checkout-simple-account-v356>div+div{border-top:1px solid #edf1f5}
.checkout-simple-account-v356 strong{display:block;color:#111827;font-size:25px;font-weight:500;line-height:1.3;word-break:break-word}
.checkout-simple-account-v356 button,.checkout-simple-content-v356 button{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid #cfe2ef;border-radius:15px;background:#eef8fd;color:#0f6f91;display:grid;place-items:center;font-size:20px;padding:0}
.checkout-simple-content-v356{position:relative;text-align:center;background:#fff7ed;border-color:#f3dec4;padding:24px 74px 24px 20px}
.checkout-simple-content-v356 span{color:#9a4c16;font-size:17px}
.checkout-simple-content-v356 strong{display:block;color:#b45717;font-size:28px;font-weight:500;letter-spacing:.02em;word-break:break-word}
.checkout-simple-note-v356{border-radius:18px;background:#dff2ff;padding:18px 20px;text-align:center;color:#17354f}
.checkout-simple-note-v356>div{display:flex;align-items:center;justify-content:center;gap:10px;font-size:21px}
.checkout-simple-note-v356 .spinner-border{color:#e56b79}
.checkout-simple-note-v356 strong{font-weight:500}
.checkout-simple-note-v356 p{margin:12px 0 0;font-size:18px;color:#17354f}
.checkout-simple-back-v356{display:flex;align-items:center;justify-content:center;min-height:62px;border-radius:18px;background:#ef252c;color:#fff;text-decoration:none;font-size:20px;font-weight:500}
.checkout-simple-back-v356:hover{background:#d91f26;color:#fff}

@media (min-width:992px) and (min-height:700px){
  .checkout-order-screen .checkout-simple-payment-v356{flex:1 1 auto;min-height:0;overflow:hidden}
  .checkout-order-screen .checkout-simple-qr-v356{min-height:0;height:100%;padding:16px}
  .checkout-order-screen .checkout-simple-qr-v356 img{max-height:calc(100vh - 230px);width:auto;max-width:100%}
  .checkout-order-screen .checkout-simple-details-v356{justify-content:center}
  .checkout-order-screen .checkout-simple-top-v356>div,.checkout-order-screen .checkout-simple-account-v356,.checkout-order-screen .checkout-simple-content-v356{padding-top:13px;padding-bottom:13px}
  .checkout-order-screen .checkout-simple-top-v356 strong{font-size:25px}
  .checkout-order-screen .checkout-simple-account-v356 strong{font-size:21px}
  .checkout-order-screen .checkout-simple-content-v356 strong{font-size:23px}
  .checkout-order-screen .checkout-simple-note-v356{padding:13px 16px}
  .checkout-order-screen .checkout-simple-note-v356>div{font-size:18px}
  .checkout-order-screen .checkout-simple-note-v356 p{font-size:16px;margin-top:7px}
  .checkout-order-screen .checkout-simple-back-v356{min-height:52px;font-size:18px}
}

@media (max-width:991.98px){
  .checkout-simple-payment-v356{grid-template-columns:1fr;padding:14px;border-radius:16px}
  .checkout-simple-qr-v356{min-height:0;padding:14px}
  .checkout-simple-qr-v356 img{width:min(100%,420px)}
}
@media (max-width:575.98px){
  .checkout-simple-top-v356{grid-template-columns:1fr}
  .checkout-simple-top-v356 strong{font-size:24px}
  .checkout-simple-account-v356 strong{font-size:19px}
  .checkout-simple-content-v356{padding:18px 62px 18px 14px}
  .checkout-simple-content-v356 strong{font-size:20px}
  .checkout-simple-note-v356>div{font-size:17px}
  .checkout-simple-note-v356 p{font-size:15px}
}

/* ===== V357: QR thanh toán đồng bộ mọi mẫu + ngân hàng một dòng ===== */
.checkout-simple-bank-v357{min-width:0;overflow:hidden}
.checkout-simple-bank-v357 strong{
  white-space:nowrap;
  word-break:normal!important;
  overflow:visible;
  font-size:clamp(15px,1.4vw,22px)!important;
  letter-spacing:-.02em;
}
.qr-template-compact-v357 .checkout-simple-qr-v356 img,
.qr-template-qronly-v357 .checkout-simple-qr-v356 img{
  width:min(100%,500px)!important;
  max-width:500px;
  height:auto;
  object-fit:contain;
}
.qr-template-standee-v357 .checkout-simple-qr-v356 img{
  width:auto!important;
  max-width:100%;
  max-height:660px;
  height:auto;
  object-fit:contain;
}
@media (min-width:992px) and (min-height:700px){
  .checkout-order-screen .qr-template-compact-v357 .checkout-simple-qr-v356 img,
  .checkout-order-screen .qr-template-qronly-v357 .checkout-simple-qr-v356 img{
    width:min(100%,500px)!important;
    max-width:100%;
    max-height:calc(100vh - 220px);
  }
  .checkout-order-screen .qr-template-standee-v357 .checkout-simple-qr-v356 img{
    width:auto!important;
    max-height:calc(100vh - 205px);
  }
}
@media (max-width:991.98px){
  .checkout-simple-bank-v357 strong{font-size:20px!important}
  .qr-template-standee-v357 .checkout-simple-qr-v356 img{max-height:620px}
}
@media (max-width:575.98px){
  .checkout-simple-bank-v357 strong{font-size:18px!important}
}


/* ===== V747: tối ưu giao diện trang thanh toán QR + mobile đồng bộ ===== */
.checkout-order-screen{
  background:#eef5fb;
  min-height:calc(100vh - 72px);
}
.checkout-order-wrap-v747{
  max-width:880px;
}
.checkout-progress-v747{
  max-width:760px;
  margin:0 auto 14px;
}
.checkout-progress-bar-v747{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-bottom:10px;
}
.checkout-progress-bar-v747 span{
  display:block;
  height:8px;
  border-radius:999px;
  background:#d7dee9;
}
.checkout-progress-bar-v747 span.is-done,
.checkout-progress-bar-v747 span.is-active{
  background:#28c56d;
}
.checkout-progress-steps-v747{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.checkout-progress-steps-v747>div{
  min-width:0;
  text-align:center;
  color:#90a0b7;
}
.checkout-progress-steps-v747 small{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:2px;
}
.checkout-progress-steps-v747 strong{
  display:block;
  font-size:14px;
  font-weight:800;
  line-height:1.35;
}
.checkout-progress-steps-v747 .is-done,
.checkout-progress-steps-v747 .is-active{
  color:#123761;
}
.checkout-order-card-shell-v747{
  background:#fff;
  border:1px solid #dfe8f3;
  border-radius:24px;
  box-shadow:0 16px 42px rgba(15,23,42,.08);
  padding:22px;
}
.checkout-head-v747{
  margin-bottom:18px;
  gap:16px;
}
.checkout-head-v747 h3{
  font-size:22px;
  color:#123761;
  margin:0;
}
.checkout-head-v747 p{
  margin:6px 0 0;
  color:#64748b;
  font-size:15px;
}
.checkout-head-v747 p span{
  color:#2563eb;
  font-weight:800;
}
.checkout-inline-link-v747{
  color:#2563eb;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
}
.checkout-inline-link-v747:hover{color:#1d4ed8}
.checkout-simple-payment-v356{
  max-width:760px;
  margin:0 auto;
  grid-template-columns:minmax(250px,280px) minmax(0,1fr);
  gap:18px;
  padding:14px;
  border-radius:18px;
  box-shadow:none;
}
.checkout-simple-qr-v356{
  min-height:auto;
  padding:16px 14px 12px;
  align-self:start;
}
.checkout-simple-qr-v356 img{
  width:min(100%,300px);
}
.checkout-simple-qr-help-v747{
  margin:10px 0 0;
  text-align:center;
  color:#637a98;
  font-size:14px;
  line-height:1.45;
}
.checkout-simple-details-v356{gap:10px}
.checkout-simple-top-v356{gap:10px}
.checkout-simple-top-v356>div,
.checkout-simple-account-v356,
.checkout-simple-content-v356{
  border-radius:14px;
  padding:14px 16px;
}
.checkout-simple-top-v356 span,
.checkout-simple-account-v356 span,
.checkout-simple-content-v356 span{
  font-size:14px;
  margin-bottom:4px;
}
.checkout-simple-top-v356 strong{
  font-size:22px;
  font-weight:700;
}
.checkout-simple-account-v356{padding:4px 16px}
.checkout-simple-account-v356>div{
  padding:12px 50px 12px 0;
}
.checkout-simple-account-v356 strong{
  font-size:19px;
  font-weight:700;
}
.checkout-simple-account-v356 button,
.checkout-simple-content-v356 button{
  width:40px;
  height:40px;
  border-radius:12px;
  font-size:17px;
  right:8px;
}
.checkout-simple-content-v356{
  padding:14px 54px 14px 16px;
}
.checkout-simple-content-v356 span{
  font-size:14px;
}
.checkout-simple-content-v356 strong{
  font-size:18px;
  font-weight:800;
}
.checkout-simple-note-v356{
  border-radius:14px;
  padding:14px 16px;
}
.checkout-simple-note-v356>div{
  font-size:16px;
}
.checkout-simple-note-v356 p{
  margin-top:6px;
  font-size:14px;
  line-height:1.45;
}
.checkout-simple-back-v356{
  min-height:50px;
  border-radius:14px;
  font-size:16px;
  font-weight:700;
}
@media (max-width:991.98px){
  .checkout-order-wrap-v747{max-width:540px}
  .checkout-progress-v747{max-width:100%;margin-bottom:12px}
  .checkout-order-card-shell-v747{padding:16px;border-radius:22px}
  .checkout-head-v747{display:block;text-align:center}
  .checkout-head-v747 h3{font-size:20px}
  .checkout-head-v747 p{font-size:14px}
  .checkout-inline-link-v747{display:inline-flex;align-items:center;gap:6px;margin-top:8px}
  .checkout-simple-payment-v356{grid-template-columns:1fr;max-width:420px;padding:12px}
  .checkout-simple-qr-v356{padding:18px 14px 12px}
  .checkout-simple-qr-v356 img{width:min(100%,270px)}
}
@media (max-width:575.98px){
  .checkout-order-screen{padding-left:0;padding-right:0}
  .checkout-order-screen .container{padding-left:10px;padding-right:10px}
  .checkout-progress-bar-v747{gap:10px}
  .checkout-progress-steps-v747{gap:10px}
  .checkout-progress-steps-v747 strong{font-size:12px}
  .checkout-progress-steps-v747 small{font-size:10px}
  .checkout-order-card-shell-v747{padding:12px;border-radius:20px}
  .checkout-head-v747{margin-bottom:12px}
  .checkout-head-v747 h3{font-size:18px}
  .checkout-simple-payment-v356{max-width:100%;padding:10px;border-radius:18px;gap:12px}
  .checkout-simple-qr-v356{padding:16px 12px 10px;border-radius:16px}
  .checkout-simple-qr-v356 img{width:min(100%,250px)}
  .checkout-simple-qr-help-v747{font-size:13px}
  .checkout-simple-top-v356{grid-template-columns:1fr}
  .checkout-simple-top-v356 strong{font-size:20px}
  .checkout-simple-account-v356 strong{font-size:17px}
  .checkout-simple-content-v356 strong{font-size:17px}
  .checkout-simple-note-v356>div{font-size:15px}
  .checkout-simple-note-v356 p{font-size:13px}
  .checkout-simple-back-v356{min-height:46px;font-size:15px}
}

/* ===== V748: làm lại mới giao diện bước thanh toán giống mẫu SePay gọn ===== */
body.checkout-pay-body-v748{
  background:#eef7ff!important;
}
.checkout-pay-page-v748{
  min-height:calc(100vh - 72px);
  background:#eef7ff;
  padding:22px 12px 70px;
  font-family:Roboto,Arial,sans-serif;
  color:#0f2140;
}
.checkout-pay-card-v748{
  width:min(100%,780px);
  margin:0 auto;
  background:#fff;
  border:1px solid #dfeaf6;
  border-radius:14px;
  box-shadow:0 18px 54px rgba(39,101,163,.10);
  padding:12px 12px 14px;
}
.checkout-pay-progress-v748{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:0 0 14px;
}
.checkout-pay-progress-v748 span{
  display:block;
  height:6px;
  border-radius:999px;
  background:#d7dde7;
}
.checkout-pay-progress-v748 span.is-done,
.checkout-pay-progress-v748 span.is-active{
  background:#21c56b;
}
.checkout-pay-header-v748{
  text-align:center;
  margin:0 0 12px;
}
.checkout-pay-header-v748 h1{
  margin:0;
  font-size:20px;
  line-height:1.2;
  font-weight:800;
  color:#0c1f43;
}
.checkout-pay-header-v748 p{
  width:min(100%,520px);
  margin:6px auto 0;
  color:#4f6787;
  font-size:12.5px;
  line-height:1.45;
}
.checkout-pay-grid-v748{
  display:grid;
  grid-template-columns:236px minmax(0,1fr);
  gap:10px;
  align-items:stretch;
  border:1px solid #e2edf8;
  border-radius:13px;
  padding:10px;
  background:#fff;
}
.checkout-pay-qr-card-v748{
  min-height:310px;
  border:1px solid #dfeaf6;
  border-radius:12px;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:16px 12px;
  text-align:center;
}
.checkout-pay-qr-card-v748 img{
  display:block;
  width:min(100%,178px);
  max-height:230px;
  object-fit:contain;
}
.checkout-pay-qr-card-v748 p{
  margin:10px 0 0;
  color:#587091;
  font-size:12px;
  line-height:1.4;
}
.checkout-pay-missing-v748{
  width:100%;
  border:1px solid #f3cf82;
  background:#fff8e8;
  color:#8a5a00;
  border-radius:10px;
  padding:12px;
  font-size:13px;
}
.checkout-pay-info-v748{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.checkout-pay-top-v748{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.checkout-pay-box-v748,
.checkout-pay-account-v748,
.checkout-pay-content-v748{
  border:1px solid #e2edf8;
  border-radius:12px;
  background:#fff;
}
.checkout-pay-box-v748{
  padding:12px 14px;
  min-height:54px;
}
.checkout-pay-box-v748 span,
.checkout-pay-account-v748 span,
.checkout-pay-content-v748 span{
  display:block;
  color:#687b96;
  font-size:12px;
  line-height:1.25;
  margin-bottom:4px;
}
.checkout-pay-box-v748 strong,
.checkout-pay-account-v748 strong{
  display:block;
  color:#050b1a;
  font-size:17px;
  line-height:1.25;
  font-weight:600;
  overflow-wrap:anywhere;
}
.checkout-pay-account-v748{
  padding:0 12px;
}
.checkout-pay-account-v748>div{
  position:relative;
  min-height:60px;
  padding:10px 52px 10px 0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.checkout-pay-account-v748>div+div{
  border-top:1px solid #edf3f8;
}
.checkout-pay-account-v748 button,
.checkout-pay-content-v748 button{
  width:34px;
  height:34px;
  border:1px solid #cfe3f5;
  border-radius:10px;
  background:#eaf7ff;
  color:#0b79ba;
  display:inline-grid;
  place-items:center;
  padding:0;
  font-size:16px;
  transition:.15s ease;
}
.checkout-pay-account-v748 button{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
}
.checkout-pay-account-v748 button:hover,
.checkout-pay-content-v748 button:hover{
  background:#d9efff;
  color:#075b91;
}
.checkout-pay-content-v748{
  text-align:center;
  background:#fff8f0;
  border-color:#f2d8bb;
  padding:12px 14px;
}
.checkout-pay-content-v748 span{
  color:#ac5615;
  font-size:13px;
  margin-bottom:6px;
}
.checkout-pay-content-v748>div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:0;
}
.checkout-pay-content-v748 strong{
  color:#d95705;
  font-size:20px;
  line-height:1.25;
  font-weight:500;
  overflow-wrap:anywhere;
}
.checkout-pay-status-v748{
  border-radius:12px;
  background:#dff2ff;
  color:#173d5d;
  padding:12px 14px;
  text-align:center;
}
.checkout-pay-status-v748>div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:15px;
  line-height:1.3;
}
.checkout-pay-status-v748 .spinner-border{
  color:#e86e83;
  width:18px;
  height:18px;
}
.checkout-pay-status-v748 strong{
  font-weight:600;
}
.checkout-pay-status-v748 p{
  margin:6px 0 0;
  color:#35546e;
  font-size:12px;
  line-height:1.45;
}
.checkout-pay-edit-v748{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  border:1px solid #d9e7f5;
  border-radius:10px;
  background:#fff;
  color:#37618d;
  text-decoration:none;
  font-size:12.5px;
  font-weight:700;
}
.checkout-pay-edit-v748:hover{
  background:#f4f9ff;
  color:#0f3b66;
}
.checkout-pay-edit-v748{
  gap:7px;
}
.checkout-pay-edit-v748>i{
  font-size:14px;
  line-height:1;
  flex:0 0 auto;
}
.checkout-pay-success-v748{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0 0 12px;
  border:1px solid #bbf7d0;
  background:#ecfdf5;
  color:#075e35;
  border-radius:12px;
  padding:12px 14px;
}
.checkout-pay-success-v748 i{
  font-size:22px;
  line-height:1;
  margin-top:2px;
}
.checkout-pay-success-v748 strong,
.checkout-pay-success-v748 span{
  display:block;
  font-size:13px;
  line-height:1.5;
}
@media (min-width:992px){
  .checkout-pay-page-v748{
    padding-top:24px;
  }
  .checkout-pay-card-v748{
    transform:none;
  }
}
@media (max-width:991.98px){
  .checkout-pay-page-v748{
    min-height:100vh;
    padding:18px 10px 36px;
  }
  .checkout-pay-card-v748{
    width:min(100%,470px);
    padding:12px;
    border-radius:14px;
  }
  .checkout-pay-grid-v748{
    grid-template-columns:1fr;
    gap:10px;
    padding:10px;
  }
  .checkout-pay-qr-card-v748{
    min-height:auto;
    padding:18px 12px 14px;
  }
  .checkout-pay-qr-card-v748 img{
    width:min(100%,230px);
    max-height:290px;
  }
  .checkout-pay-top-v748{
    grid-template-columns:1fr;
  }
}
@media (max-width:575.98px){
  .checkout-pay-page-v748{
    padding:12px 8px 26px;
  }
  .checkout-pay-card-v748{
    width:100%;
    padding:10px;
    border-radius:12px;
  }
  .checkout-pay-progress-v748{
    gap:8px;
    margin-bottom:12px;
  }
  .checkout-pay-progress-v748 span{
    height:6px;
  }
  .checkout-pay-header-v748 h1{
    font-size:20px;
  }
  .checkout-pay-header-v748 p{
    font-size:13px;
  }
  .checkout-pay-grid-v748{
    border-radius:12px;
    padding:10px;
  }
  .checkout-pay-qr-card-v748{
    border-radius:12px;
  }
  .checkout-pay-qr-card-v748 img{
    width:min(100%,225px);
  }
  .checkout-pay-box-v748,
  .checkout-pay-account-v748,
  .checkout-pay-content-v748,
  .checkout-pay-status-v748{
    border-radius:12px;
  }
  .checkout-pay-box-v748 strong,
  .checkout-pay-account-v748 strong{
    font-size:18px;
  }
  .checkout-pay-content-v748 strong{
    font-size:20px;
  }
  .checkout-pay-account-v748>div{
    min-height:64px;
    padding-right:48px;
  }
  .checkout-pay-status-v748>div{
    font-size:16px;
  }
}


/* ===== V749: mobile thanh toán giống mẫu gọn, đủ màn hình, bỏ icon hỗ trợ ===== */
body.checkout-pay-body-v748 .vt-contact-widget,
body.checkout-pay-body-v748 .vt-contact-panel,
body.checkout-pay-body-v748 [data-vt-contact-widget]{
  display:none!important;
}
@media(max-width:575.98px){
  body.checkout-pay-body-v748{
    overflow:hidden!important;
    background:#eef4fb!important;
  }
  body.checkout-pay-body-v748 .main-navbar{
    display:none!important;
  }
  .checkout-pay-page-v748{
    height:100dvh!important;
    min-height:100dvh!important;
    overflow:hidden!important;
    padding:8px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    background:#eef4fb!important;
  }
  .checkout-pay-card-v748{
    width:min(100%,430px)!important;
    max-height:calc(100dvh - 16px)!important;
    overflow:hidden!important;
    padding:10px!important;
    border-radius:16px!important;
    box-shadow:0 12px 34px rgba(15,23,42,.08)!important;
  }
  .checkout-pay-progress-v748{
    gap:10px!important;
    margin:0 0 8px!important;
  }
  .checkout-pay-progress-v748 span{
    height:6px!important;
  }
  .checkout-pay-header-v748{
    margin:0 0 8px!important;
  }
  .checkout-pay-header-v748 h1{
    font-size:19px!important;
    line-height:1.12!important;
  }
  .checkout-pay-header-v748 p{
    max-width:330px!important;
    margin:4px auto 0!important;
    font-size:12px!important;
    line-height:1.28!important;
  }
  .checkout-pay-grid-v748{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:8px!important;
    border-radius:16px!important;
  }
  .checkout-pay-qr-card-v748{
    min-height:0!important;
    padding:11px 10px 9px!important;
    border-radius:15px!important;
  }
  .checkout-pay-qr-card-v748 img{
    width:min(100%,205px)!important;
    max-height:240px!important;
  }
  .checkout-pay-qr-card-v748 p{
    margin:7px 0 0!important;
    font-size:12px!important;
    line-height:1.25!important;
  }
  .checkout-pay-info-v748{
    gap:7px!important;
  }
  .checkout-pay-top-v748{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .checkout-pay-box-v748,
  .checkout-pay-account-v748,
  .checkout-pay-content-v748,
  .checkout-pay-status-v748{
    border-radius:14px!important;
  }
  .checkout-pay-box-v748{
    min-height:46px!important;
    padding:8px 12px!important;
  }
  .checkout-pay-box-v748 span,
  .checkout-pay-account-v748 span,
  .checkout-pay-content-v748 span{
    font-size:12px!important;
    line-height:1.15!important;
    margin-bottom:3px!important;
  }
  .checkout-pay-box-v748 strong,
  .checkout-pay-account-v748 strong{
    font-size:17px!important;
    line-height:1.16!important;
    font-weight:600!important;
  }
  .checkout-pay-account-v748{
    padding:0 12px!important;
  }
  .checkout-pay-account-v748>div{
    min-height:50px!important;
    padding:7px 44px 7px 0!important;
  }
  .checkout-pay-account-v748 button,
  .checkout-pay-content-v748 button{
    width:34px!important;
    height:34px!important;
    border-radius:11px!important;
    font-size:15px!important;
  }
  .checkout-pay-content-v748{
    padding:10px 48px 10px 12px!important;
  }
  .checkout-pay-content-v748>div{
    gap:8px!important;
  }
  .checkout-pay-content-v748 strong{
    font-size:18px!important;
    line-height:1.18!important;
  }
  .checkout-pay-status-v748{
    padding:9px 10px!important;
  }
  .checkout-pay-status-v748>div{
    font-size:15px!important;
    line-height:1.2!important;
    gap:7px!important;
  }
  .checkout-pay-status-v748 .spinner-border{
    width:16px!important;
    height:16px!important;
  }
  .checkout-pay-status-v748 p{
    margin:5px 0 0!important;
    font-size:11.5px!important;
    line-height:1.25!important;
  }
  .checkout-pay-edit-v748{
    display:none!important;
  }
}
@media(max-width:400px){
  .checkout-pay-page-v748{padding:6px!important;}
  .checkout-pay-card-v748{max-height:calc(100dvh - 12px)!important;padding:8px!important;}
  .checkout-pay-progress-v748{margin-bottom:7px!important;}
  .checkout-pay-header-v748 h1{font-size:18px!important;}
  .checkout-pay-header-v748 p{font-size:11.5px!important;}
  .checkout-pay-grid-v748{padding:7px!important;gap:7px!important;}
  .checkout-pay-qr-card-v748{padding:9px 8px 7px!important;}
  .checkout-pay-qr-card-v748 img{width:min(100%,190px)!important;max-height:220px!important;}
  .checkout-pay-box-v748{min-height:43px!important;padding:7px 11px!important;}
  .checkout-pay-account-v748>div{min-height:47px!important;padding-top:6px!important;padding-bottom:6px!important;}
  .checkout-pay-content-v748{padding-top:9px!important;padding-bottom:9px!important;}
  .checkout-pay-status-v748{padding:8px 9px!important;}
}

/* ===== V750: đồng bộ thanh quy trình cho Giỏ hàng/Thông tin + hiện header mobile thanh toán ===== */
.checkout-flow-v750{
  width:min(100%,760px);
  margin:0 auto 18px;
}
.checkout-flow-bars-v750{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:8px;
}
.checkout-flow-bars-v750 span{
  display:block;
  height:7px;
  border-radius:999px;
  background:#d7dee9;
}
.checkout-flow-bars-v750 span.is-done,
.checkout-flow-bars-v750 span.is-active{
  background:#21c56b;
}
.checkout-flow-labels-v750{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  color:#90a0b7;
  font-size:12px;
  font-weight:700;
  text-align:center;
}
.checkout-flow-labels-v750 span.is-done,
.checkout-flow-labels-v750 span.is-active{
  color:#123761;
}
.cart-page .checkout-flow-v750,
.checkout-entry-page .checkout-flow-v750{
  margin-top:-4px;
}
@media(max-width:575.98px){
  .checkout-flow-v750{
    margin-bottom:12px;
  }
  .checkout-flow-bars-v750{
    gap:8px;
    margin-bottom:6px;
  }
  .checkout-flow-bars-v750 span{
    height:6px;
  }
  .checkout-flow-labels-v750{
    gap:8px;
    font-size:11px;
  }
}

@media(max-width:575.98px){
  body.checkout-pay-body-v748{
    overflow:hidden!important;
    background:#eef4fb!important;
  }
  body.checkout-pay-body-v748 .main-navbar{
    display:block!important;
  }
  body.checkout-pay-body-v748 .main-content{
    height:calc(100dvh - 76px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .checkout-pay-page-v748{
    height:calc(100dvh - 76px)!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:6px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }
  .checkout-pay-card-v748{
    width:min(100%,430px)!important;
    max-height:calc(100dvh - 88px)!important;
    overflow:hidden!important;
    padding:8px!important;
    border-radius:15px!important;
  }
  .checkout-pay-progress-v748{
    gap:8px!important;
    margin:0 0 6px!important;
  }
  .checkout-pay-progress-v748 span{
    height:5px!important;
  }
  .checkout-pay-header-v748{
    display:block!important;
    margin:0 0 7px!important;
  }
  .checkout-pay-header-v748 h1{
    font-size:18px!important;
    line-height:1.1!important;
    letter-spacing:.01em!important;
  }
  .checkout-pay-header-v748 p{
    max-width:320px!important;
    margin:3px auto 0!important;
    font-size:11.2px!important;
    line-height:1.22!important;
  }
  .checkout-pay-grid-v748{
    grid-template-columns:1fr!important;
    gap:6px!important;
    padding:7px!important;
    border-radius:15px!important;
  }
  .checkout-pay-qr-card-v748{
    min-height:0!important;
    padding:8px 8px 6px!important;
    border-radius:14px!important;
  }
  .checkout-pay-qr-card-v748 img{
    width:min(100%,172px)!important;
    max-height:198px!important;
  }
  .checkout-pay-qr-card-v748 p{
    margin:5px 0 0!important;
    font-size:11px!important;
    line-height:1.18!important;
  }
  .checkout-pay-info-v748{
    gap:6px!important;
  }
  .checkout-pay-top-v748{
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
  }
  .checkout-pay-box-v748{
    min-height:41px!important;
    padding:6px 10px!important;
  }
  .checkout-pay-box-v748,
  .checkout-pay-account-v748,
  .checkout-pay-content-v748,
  .checkout-pay-status-v748{
    border-radius:12px!important;
  }
  .checkout-pay-box-v748 span,
  .checkout-pay-account-v748 span,
  .checkout-pay-content-v748 span{
    font-size:10.8px!important;
    line-height:1.1!important;
    margin-bottom:2px!important;
  }
  .checkout-pay-box-v748 strong,
  .checkout-pay-account-v748 strong{
    font-size:14.5px!important;
    line-height:1.13!important;
    font-weight:700!important;
  }
  .checkout-pay-account-v748{
    padding:0 10px!important;
  }
  .checkout-pay-account-v748>div{
    min-height:42px!important;
    padding:5px 38px 5px 0!important;
  }
  .checkout-pay-account-v748 button,
  .checkout-pay-content-v748 button{
    width:30px!important;
    height:30px!important;
    border-radius:10px!important;
    font-size:14px!important;
  }
  .checkout-pay-content-v748{
    padding:8px 42px 8px 10px!important;
  }
  .checkout-pay-content-v748>div{
    gap:6px!important;
  }
  .checkout-pay-content-v748 strong{
    font-size:16px!important;
    line-height:1.12!important;
    font-weight:700!important;
  }
  .checkout-pay-status-v748{
    padding:7px 8px!important;
  }
  .checkout-pay-status-v748>div{
    font-size:13.5px!important;
    line-height:1.15!important;
    gap:6px!important;
  }
  .checkout-pay-status-v748 .spinner-border{
    width:14px!important;
    height:14px!important;
  }
  .checkout-pay-status-v748 p{
    margin:4px 0 0!important;
    font-size:10.8px!important;
    line-height:1.18!important;
  }
  .checkout-pay-edit-v748{
    display:none!important;
  }
}
@media(max-width:400px){
  body.checkout-pay-body-v748 .main-content{
    height:calc(100dvh - 72px)!important;
  }
  .checkout-pay-page-v748{
    height:calc(100dvh - 72px)!important;
    padding:5px!important;
  }
  .checkout-pay-card-v748{
    max-height:calc(100dvh - 82px)!important;
    padding:7px!important;
  }
  .checkout-pay-header-v748 h1{font-size:17px!important;}
  .checkout-pay-header-v748 p{font-size:10.8px!important;}
  .checkout-pay-grid-v748{padding:6px!important;gap:5px!important;}
  .checkout-pay-qr-card-v748{padding:7px 7px 5px!important;}
  .checkout-pay-qr-card-v748 img{width:min(100%,160px)!important;max-height:184px!important;}
  .checkout-pay-qr-card-v748 p{font-size:10.5px!important;}
  .checkout-pay-info-v748{gap:5px!important;}
  .checkout-pay-top-v748{gap:5px!important;}
  .checkout-pay-box-v748{min-height:38px!important;padding:5px 9px!important;}
  .checkout-pay-account-v748>div{min-height:39px!important;padding-top:4px!important;padding-bottom:4px!important;}
  .checkout-pay-content-v748{padding-top:7px!important;padding-bottom:7px!important;}
  .checkout-pay-status-v748{padding:6px 7px!important;}
  .checkout-pay-status-v748>div{font-size:13px!important;}
}

/* ===== V751: đồng bộ khung và tiến trình 3 bước theo kích thước bước 1/2 ===== */
.cart-page .container,
.checkout-entry-page .container,
.checkout-pay-wrap-v751{
  max-width:1120px!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.checkout-pay-page-v751{
  padding:32px 12px 70px!important;
  background:#f4f8fc!important;
}
.checkout-pay-wrap-v751{
  padding-left:0!important;
  padding-right:0!important;
}
.checkout-pay-wrap-v751 .checkout-flow-v750{
  width:min(100%,760px)!important;
  margin:0 auto 18px!important;
}
.checkout-pay-card-v751{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:22px!important;
  border-radius:12px!important;
  border:1px solid #e7ebf2!important;
  box-shadow:0 5px 22px rgba(15,23,42,.055)!important;
}
.checkout-pay-card-v751 .checkout-pay-header-v748{
  margin:0 0 16px!important;
}
.checkout-pay-card-v751 .checkout-pay-header-v748 h1{
  font-size:22px!important;
  text-transform:uppercase!important;
}
.checkout-pay-card-v751 .checkout-pay-header-v748 p{
  font-size:14px!important;
}
.checkout-pay-card-v751 .checkout-pay-grid-v748{
  grid-template-columns:340px minmax(0,1fr)!important;
  gap:16px!important;
  padding:12px!important;
  border-radius:14px!important;
}
.checkout-pay-card-v751 .checkout-pay-qr-card-v748{
  min-height:360px!important;
  border-radius:14px!important;
}
.checkout-pay-card-v751 .checkout-pay-qr-card-v748 img{
  width:min(100%,245px)!important;
  max-height:310px!important;
}
.checkout-pay-card-v751 .checkout-pay-info-v748{
  gap:10px!important;
}
.checkout-pay-card-v751 .checkout-pay-top-v748{
  gap:10px!important;
}
.checkout-pay-card-v751 .checkout-pay-box-v748{
  min-height:62px!important;
  padding:13px 16px!important;
}
.checkout-pay-card-v751 .checkout-pay-account-v748>div{
  min-height:64px!important;
}
.checkout-pay-card-v751 .checkout-pay-content-v748,
.checkout-pay-card-v751 .checkout-pay-status-v748{
  min-height:62px!important;
}
@media(max-width:991.98px){
  .checkout-pay-page-v751{
    padding:18px 10px 36px!important;
  }
  .checkout-pay-card-v751{
    width:min(100%,540px)!important;
    padding:16px!important;
    border-radius:12px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-grid-v748{
    grid-template-columns:1fr!important;
    gap:10px!important;
    padding:10px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748{
    min-height:auto!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 img{
    width:min(100%,240px)!important;
    max-height:295px!important;
  }
}
@media(max-width:575.98px){
  body.checkout-pay-body-v748 .main-navbar{
    display:block!important;
  }
  body.checkout-pay-body-v748 .main-content{
    height:calc(100dvh - 76px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .checkout-pay-page-v751{
    height:calc(100dvh - 76px)!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:5px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }
  .checkout-pay-wrap-v751{
    width:min(100%,430px)!important;
    max-height:calc(100dvh - 86px)!important;
    overflow:hidden!important;
  }
  .checkout-pay-wrap-v751 .checkout-flow-v750{
    width:100%!important;
    margin:0 0 6px!important;
  }
  .checkout-pay-wrap-v751 .checkout-flow-bars-v750{
    gap:8px!important;
    margin-bottom:5px!important;
  }
  .checkout-pay-wrap-v751 .checkout-flow-bars-v750 span{
    height:5px!important;
  }
  .checkout-pay-wrap-v751 .checkout-flow-labels-v750{
    gap:8px!important;
    font-size:10.5px!important;
    line-height:1.1!important;
  }
  .checkout-pay-card-v751{
    width:100%!important;
    max-height:calc(100dvh - 116px)!important;
    overflow:hidden!important;
    padding:8px!important;
    border-radius:15px!important;
    box-shadow:0 12px 34px rgba(15,23,42,.08)!important;
  }
  .checkout-pay-card-v751 .checkout-pay-header-v748{
    margin:0 0 7px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-header-v748 h1{
    font-size:18px!important;
    line-height:1.1!important;
  }
  .checkout-pay-card-v751 .checkout-pay-header-v748 p{
    max-width:320px!important;
    margin:3px auto 0!important;
    font-size:11px!important;
    line-height:1.2!important;
  }
  .checkout-pay-card-v751 .checkout-pay-grid-v748{
    gap:6px!important;
    padding:7px!important;
    border-radius:15px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748{
    padding:8px 8px 6px!important;
    border-radius:14px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 img{
    width:min(100%,170px)!important;
    max-height:196px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 p{
    margin:5px 0 0!important;
    font-size:10.8px!important;
    line-height:1.16!important;
  }
  .checkout-pay-card-v751 .checkout-pay-info-v748{
    gap:5px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-top-v748{
    grid-template-columns:1fr 1fr!important;
    gap:5px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748{
    min-height:38px!important;
    padding:5px 9px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748 span,
  .checkout-pay-card-v751 .checkout-pay-account-v748 span,
  .checkout-pay-card-v751 .checkout-pay-content-v748 span{
    font-size:10.5px!important;
    line-height:1.1!important;
    margin-bottom:2px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748 strong,
  .checkout-pay-card-v751 .checkout-pay-account-v748 strong{
    font-size:14px!important;
    line-height:1.12!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748{
    padding:0 9px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748>div{
    min-height:38px!important;
    padding:4px 36px 4px 0!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748 button,
  .checkout-pay-card-v751 .checkout-pay-content-v748 button{
    width:28px!important;
    height:28px!important;
    border-radius:9px!important;
    font-size:13px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-content-v748{
    min-height:44px!important;
    padding:7px 40px 7px 9px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-content-v748 strong{
    font-size:15.5px!important;
    line-height:1.12!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748{
    min-height:42px!important;
    padding:6px 7px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748>div{
    font-size:12.8px!important;
    line-height:1.15!important;
    gap:6px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748 .spinner-border{
    width:13px!important;
    height:13px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748 p{
    margin:4px 0 0!important;
    font-size:10.3px!important;
    line-height:1.15!important;
  }
  .checkout-pay-card-v751 .checkout-pay-edit-v748{
    display:none!important;
  }
}

/* ===== V752: đồng bộ khung 3 bước + nút quay lại giỏ hàng + mobile thanh toán 1 dòng/ô ===== */
.cart-page .container,
.checkout-entry-page .container,
.checkout-pay-wrap-v751{
  max-width:1120px!important;
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.cart-page,
.checkout-entry-page,
.checkout-pay-page-v751{
  background:#f4f8fc!important;
}
.cart-page .checkout-flow-v750,
.checkout-entry-page .checkout-flow-v750,
.checkout-pay-wrap-v751 .checkout-flow-v750{
  width:min(100%,760px)!important;
  margin:0 auto 18px!important;
}
.cart-page .row,
.checkout-entry-page .row{
  align-items:flex-start!important;
}
.checkout-pay-page-v751{
  padding:32px 12px 70px!important;
}
.checkout-pay-wrap-v751{
  padding-left:0!important;
  padding-right:0!important;
}
.checkout-pay-card-v751{
  width:100%!important;
  max-width:1120px!important;
  margin:0 auto!important;
  border-radius:12px!important;
  border:1px solid #e7ebf2!important;
  box-shadow:0 5px 22px rgba(15,23,42,.055)!important;
  padding:22px!important;
}
.checkout-pay-card-v751 .checkout-pay-header-v748{
  margin:0 0 14px!important;
}
.checkout-pay-card-v751 .checkout-pay-grid-v748{
  grid-template-columns:340px minmax(0,1fr)!important;
  gap:16px!important;
  padding:12px!important;
}
.checkout-cart-back-btn-v752{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  min-height:34px!important;
  padding:0 12px!important;
  border:1px solid #d7e2ef!important;
  border-radius:9px!important;
  background:#fff!important;
  color:#64748b!important;
  font-size:12px!important;
  font-weight:600!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
.checkout-cart-back-btn-v752:hover{
  background:#f4f9ff!important;
  color:#2563eb!important;
  border-color:#bdd7f5!important;
}
.checkout-policy-note{display:none!important;}
@media(max-width:991.98px){
  .checkout-pay-card-v751{
    width:min(100%,720px)!important;
    padding:16px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-grid-v748{
    grid-template-columns:1fr!important;
    padding:10px!important;
    gap:10px!important;
  }
}
@media(max-width:575.98px){
  body.checkout-pay-body-v748 .floating-support,
  body.checkout-pay-body-v748 .support-floating,
  body.checkout-pay-body-v748 .zalo-floating,
  body.checkout-pay-body-v748 .contact-floating,
  body.checkout-pay-body-v748 .floating-contact,
  body.checkout-pay-body-v748 .fixed-contact,
  body.checkout-pay-body-v748 [class*="zalo"],
  body.checkout-pay-body-v748 [class*="Zalo"]{
    display:none!important;
  }
  body.checkout-pay-body-v748{
    background:#eef4fb!important;
    overflow:hidden!important;
  }
  body.checkout-pay-body-v748 .main-content{
    height:calc(100dvh - 76px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .checkout-pay-page-v751{
    height:calc(100dvh - 76px)!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:5px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }
  .checkout-pay-wrap-v751{
    width:min(100%,430px)!important;
    max-height:calc(100dvh - 86px)!important;
    overflow:hidden!important;
  }
  .checkout-pay-wrap-v751 .checkout-flow-v750{
    width:100%!important;
    margin:0 0 5px!important;
  }
  .checkout-pay-wrap-v751 .checkout-flow-bars-v750{
    gap:8px!important;
    margin-bottom:4px!important;
  }
  .checkout-pay-wrap-v751 .checkout-flow-bars-v750 span{
    height:5px!important;
  }
  .checkout-pay-wrap-v751 .checkout-flow-labels-v750{
    gap:8px!important;
    font-size:10px!important;
    line-height:1.05!important;
  }
  .checkout-pay-card-v751{
    width:100%!important;
    max-height:calc(100dvh - 112px)!important;
    overflow:hidden!important;
    padding:8px!important;
    border-radius:15px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-header-v748{
    margin:0 0 5px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-header-v748 h1{
    font-size:17px!important;
    line-height:1.08!important;
  }
  .checkout-pay-card-v751 .checkout-pay-header-v748 p{
    max-width:320px!important;
    margin:3px auto 0!important;
    font-size:10.5px!important;
    line-height:1.12!important;
  }
  .checkout-pay-card-v751 .checkout-pay-grid-v748{
    grid-template-columns:1fr!important;
    gap:5px!important;
    padding:6px!important;
    border-radius:14px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748{
    min-height:0!important;
    padding:7px 7px 5px!important;
    border-radius:13px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 img{
    width:min(100%,154px)!important;
    max-height:172px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 p{
    margin:4px 0 0!important;
    font-size:10px!important;
    line-height:1.12!important;
  }
  .checkout-pay-card-v751 .checkout-pay-info-v748{
    gap:4px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-top-v748{
    grid-template-columns:1fr!important;
    gap:4px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748,
  .checkout-pay-card-v751 .checkout-pay-account-v748,
  .checkout-pay-card-v751 .checkout-pay-content-v748,
  .checkout-pay-card-v751 .checkout-pay-status-v748{
    border-radius:11px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748{
    min-height:34px!important;
    padding:4px 9px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748 span,
  .checkout-pay-card-v751 .checkout-pay-account-v748 span,
  .checkout-pay-card-v751 .checkout-pay-content-v748 span{
    font-size:10px!important;
    line-height:1.05!important;
    margin-bottom:1px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748 strong,
  .checkout-pay-card-v751 .checkout-pay-account-v748 strong{
    font-size:13.2px!important;
    line-height:1.08!important;
    font-weight:700!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748{
    padding:0 9px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748>div{
    min-height:34px!important;
    padding:4px 34px 4px 0!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748 button,
  .checkout-pay-card-v751 .checkout-pay-content-v748 button{
    width:26px!important;
    height:26px!important;
    border-radius:8px!important;
    font-size:12px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-content-v748{
    min-height:40px!important;
    padding:6px 38px 6px 9px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-content-v748>div{
    gap:5px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-content-v748 strong{
    font-size:14.5px!important;
    line-height:1.08!important;
    font-weight:700!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748{
    min-height:39px!important;
    padding:5px 7px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748>div{
    font-size:12px!important;
    line-height:1.1!important;
    gap:5px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748 .spinner-border{
    width:12px!important;
    height:12px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748 p{
    margin:3px 0 0!important;
    font-size:9.5px!important;
    line-height:1.1!important;
  }
  .checkout-pay-card-v751 .checkout-pay-edit-v748{
    display:none!important;
  }
}
@media(max-width:400px){
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 img{
    width:min(100%,142px)!important;
    max-height:160px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-header-v748 h1{font-size:16px!important;}
  .checkout-pay-card-v751 .checkout-pay-header-v748 p{font-size:10px!important;}
  .checkout-pay-card-v751 .checkout-pay-box-v748,
  .checkout-pay-card-v751 .checkout-pay-account-v748>div{min-height:32px!important;}
  .checkout-pay-card-v751 .checkout-pay-box-v748 strong,
  .checkout-pay-card-v751 .checkout-pay-account-v748 strong{font-size:12.5px!important;}
}


/* ===== V753: khôi phục giỏ khi quay lại + mobile thanh toán cao đều có nút sửa ===== */
@media(max-width:575.98px){
  body.checkout-pay-body-v748{
    overflow:hidden!important;
  }
  body.checkout-pay-body-v748 .main-content{
    height:calc(100dvh - 76px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .checkout-pay-page-v751{
    height:calc(100dvh - 76px)!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:6px 5px!important;
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
  }
  .checkout-pay-wrap-v751{
    width:min(100%,430px)!important;
    height:100%!important;
    max-height:none!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .checkout-pay-wrap-v751 .checkout-flow-v750{
    flex:0 0 auto!important;
    margin:0 0 5px!important;
  }
  .checkout-pay-card-v751{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    padding:8px!important;
    border-radius:15px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-header-v748{
    flex:0 0 auto!important;
    margin:0 0 5px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-grid-v748{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:6px!important;
    padding:6px!important;
    overflow:hidden!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748{
    flex:1.1 1 0!important;
    min-height:186px!important;
    max-height:236px!important;
    padding:9px 8px 7px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 img{
    width:min(100%,205px)!important;
    max-height:202px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 p{
    font-size:10.5px!important;
    margin:6px 0 0!important;
  }
  .checkout-pay-card-v751 .checkout-pay-info-v748{
    flex:1 1 auto!important;
    min-height:0!important;
    gap:5px!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .checkout-pay-card-v751 .checkout-pay-top-v748{
    grid-template-columns:1fr!important;
    gap:5px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748{
    min-height:46px!important;
    padding:7px 10px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748{
    padding:0 10px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748>div{
    min-height:46px!important;
    padding:7px 38px 7px 0!important;
  }
  .checkout-pay-card-v751 .checkout-pay-content-v748{
    min-height:58px!important;
    padding:9px 44px 9px 10px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748{
    min-height:54px!important;
    padding:8px 8px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-edit-v748{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 34px!important;
    min-height:34px!important;
    margin-top:0!important;
    border:1px solid #d8e7f5!important;
    border-radius:10px!important;
    background:#fff!important;
    color:#0f3b66!important;
    font-size:11.5px!important;
    font-weight:700!important;
    text-decoration:none!important;
  }
}
@media(max-width:400px){
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748{
    min-height:176px!important;
    max-height:220px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 img{
    width:min(100%,190px)!important;
    max-height:188px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748,
  .checkout-pay-card-v751 .checkout-pay-account-v748>div{
    min-height:43px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-content-v748{min-height:54px!important;}
  .checkout-pay-card-v751 .checkout-pay-status-v748{min-height:50px!important;}
}


/* ===== V754: giữ giỏ khi quay lại từ QR + mobile khung thông tin lớn hơn ===== */
@media(max-width:575.98px){
  body.checkout-pay-body-v748{
    overflow:hidden!important;
  }
  body.checkout-pay-body-v748 .main-content{
    height:calc(100dvh - 76px)!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  .checkout-pay-page-v751{
    height:calc(100dvh - 76px)!important;
    padding:5px 5px!important;
  }
  .checkout-pay-card-v751{
    padding:7px!important;
    overflow:hidden!important;
  }
  .checkout-pay-card-v751 .checkout-pay-header-v748 h1{
    font-size:17px!important;
    line-height:1.08!important;
  }
  .checkout-pay-card-v751 .checkout-pay-header-v748 p{
    font-size:11px!important;
    line-height:1.2!important;
  }
  .checkout-pay-card-v751 .checkout-pay-grid-v748{
    gap:6px!important;
    padding:7px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748{
    flex:0 0 auto!important;
    min-height:190px!important;
    max-height:218px!important;
    padding:8px 8px 6px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 img{
    width:min(100%,196px)!important;
    max-height:190px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 p{
    font-size:11.5px!important;
    line-height:1.2!important;
    margin:6px 0 0!important;
  }
  .checkout-pay-card-v751 .checkout-pay-info-v748{
    flex:1 1 auto!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    gap:7px!important;
    justify-content:space-between!important;
  }
  .checkout-pay-card-v751 .checkout-pay-top-v748{
    grid-template-columns:1fr!important;
    gap:7px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748,
  .checkout-pay-card-v751 .checkout-pay-account-v748,
  .checkout-pay-card-v751 .checkout-pay-content-v748,
  .checkout-pay-card-v751 .checkout-pay-status-v748,
  .checkout-pay-card-v751 .checkout-pay-edit-v748{
    border-radius:13px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748{
    min-height:56px!important;
    padding:9px 12px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748{
    padding:0 12px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748>div{
    min-height:56px!important;
    padding:9px 44px 9px 0!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748 span,
  .checkout-pay-card-v751 .checkout-pay-account-v748 span,
  .checkout-pay-card-v751 .checkout-pay-content-v748 span{
    font-size:13px!important;
    line-height:1.15!important;
    margin-bottom:2px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748 strong,
  .checkout-pay-card-v751 .checkout-pay-account-v748 strong{
    font-size:18px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }
  .checkout-pay-card-v751 .checkout-pay-account-v748 button,
  .checkout-pay-card-v751 .checkout-pay-content-v748 button{
    width:34px!important;
    height:34px!important;
    border-radius:10px!important;
    font-size:16px!important;
    right:8px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-content-v748{
    min-height:68px!important;
    padding:11px 48px 11px 12px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-content-v748 strong{
    font-size:21px!important;
    line-height:1.15!important;
    font-weight:800!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748{
    min-height:64px!important;
    padding:10px 10px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748>div{
    font-size:16px!important;
    line-height:1.2!important;
    gap:6px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748 .spinner-border{
    width:17px!important;
    height:17px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748 p{
    margin:5px 0 0!important;
    font-size:12.5px!important;
    line-height:1.25!important;
  }
  .checkout-pay-card-v751 .checkout-pay-edit-v748{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 42px!important;
    min-height:42px!important;
    font-size:13px!important;
    font-weight:800!important;
  }
}
@media(max-width:400px){
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748{
    min-height:180px!important;
    max-height:205px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-qr-card-v748 img{
    width:min(100%,184px)!important;
    max-height:178px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748,
  .checkout-pay-card-v751 .checkout-pay-account-v748>div{
    min-height:52px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-box-v748 strong,
  .checkout-pay-card-v751 .checkout-pay-account-v748 strong{
    font-size:17px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-content-v748 strong{
    font-size:20px!important;
  }
  .checkout-pay-card-v751 .checkout-pay-status-v748{min-height:60px!important;}
  .checkout-pay-card-v751 .checkout-pay-edit-v748{min-height:39px!important;flex-basis:39px!important;}
}


/* ===== V756: nút chỉnh sửa, chữ thông tin thanh toán nhẹ và bỏ footer ở trang QR ===== */
.checkout-pay-card-v751 .checkout-pay-box-v748 strong,
.checkout-pay-card-v751 .checkout-pay-account-v748 strong{
  font-weight:400!important;
}
body.checkout-order-page-body .vt-footer{
  display:none!important;
}

/* ===== V757: bỏ nhãn chữ dưới thanh tiến trình ở cả desktop và mobile ===== */
.checkout-flow-bars-v750{
  margin-bottom:0!important;
}
.checkout-flow-v750{
  margin-bottom:18px!important;
}
@media(max-width:575.98px){
  .checkout-flow-v750{
    margin-bottom:10px!important;
  }
}


/* ===== V760: tiêu đề giỏ hàng và xóa tất cả nằm trong khung danh sách ===== */
.cart-items-head-v760{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 20px;
  border-bottom:1px solid #edf0f5;
  background:#fff;
}
.cart-items-head-v760 h1{
  margin:0;
  color:#111827;
  font-size:17px;
  font-weight:800;
  line-height:1.2;
}
.cart-items-head-v760 .cart-clear-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 0;
  white-space:nowrap;
}
@media(max-width:575.98px){
  .cart-items-head-v760{
    padding:14px 12px;
    gap:10px;
  }
  .cart-items-head-v760 h1{
    font-size:17px;
  }
  .cart-items-head-v760 .cart-clear-btn{
    font-size:12px;
  }
}

/* ===== V764: đồng bộ khoảng cách trên/dưới thanh tiến trình 3 bước ===== */
.cart-page,
.checkout-entry-page,
.checkout-pay-page-v751{
  padding-top:32px!important;
}
.cart-page .checkout-flow-v750,
.checkout-entry-page .checkout-flow-v750,
.checkout-pay-wrap-v751 .checkout-flow-v750{
  width:min(100%,760px)!important;
  margin:0 auto 24px!important;
  padding:0!important;
}
.cart-page .checkout-flow-v750,
.checkout-entry-page .checkout-flow-v750{
  margin-top:0!important;
}
.checkout-flow-bars-v750{
  margin:0!important;
}
@media(max-width:575.98px){
  .cart-page,
  .checkout-entry-page,
  .checkout-pay-page-v751{
    padding-top:14px!important;
  }
  .cart-page .checkout-flow-v750,
  .checkout-entry-page .checkout-flow-v750,
  .checkout-pay-wrap-v751 .checkout-flow-v750{
    margin:0 auto 14px!important;
  }
}

/* ===== V765: bỏ khung bao thừa quanh cụm QR và thông tin thanh toán ===== */
.checkout-pay-card-v751 .checkout-pay-grid-v748{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
}
@media(max-width:991.98px){
  .checkout-pay-card-v751 .checkout-pay-grid-v748{
    padding:0!important;
  }
}

/* ===== V797: mobile trang thanh toán luôn vừa khung nhìn, không cuộn và không cắt nội dung ===== */
@media (max-width:575.98px){
  html.checkout-mobile-fit-v797,
  body.checkout-mobile-fit-v797{
    height:100%!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  body.checkout-mobile-fit-v797 .main-content{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-page-v751{
    box-sizing:border-box!important;
    width:100%!important;
    height:var(--checkout-mobile-height-v797,auto)!important;
    min-height:0!important;
    max-height:none!important;
    padding:4px 5px 0!important;
    overflow:hidden!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-wrap-v751{
    box-sizing:border-box!important;
    width:var(--checkout-mobile-width-v797,100%)!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    flex:none!important;
    transform:scale(var(--checkout-mobile-scale-v797,1))!important;
    transform-origin:top center!important;
    will-change:transform!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-wrap-v751 .checkout-flow-v750{
    flex:none!important;
    margin:0 0 6px!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751{
    box-sizing:border-box!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    display:block!important;
    flex:none!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751 .checkout-pay-header-v748{
    display:block!important;
    flex:none!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751 .checkout-pay-grid-v748{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    flex:none!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751 .checkout-pay-qr-card-v748,
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751 .checkout-pay-info-v748{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    flex:none!important;
    overflow:visible!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751 .checkout-pay-qr-card-v748 img{
    width:min(100%,225px)!important;
    height:auto!important;
    max-height:278px!important;
    object-fit:contain!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751 .checkout-pay-edit-v748{
    display:flex!important;
  }
}


/* ===== V798: phụ đề thanh toán mobile gọn một dòng ===== */
.checkout-pay-subtitle-mobile-v798{
  display:none;
}
@media (max-width:575.98px){
  .checkout-pay-subtitle-desktop-v798{
    display:none;
  }
  .checkout-pay-subtitle-mobile-v798{
    display:block;
    white-space:nowrap;
    font-size:12px;
    line-height:1.25;
  }
}

/* V809: khối Xuất Hóa đơn theo mẫu, mặc định thu gọn */
.checkout-invoice-toggle-v809 {
  width: 100%;
  min-height: 58px;
  margin-top: 20px;
  padding: 13px 18px;
  border: 0;
  border-radius: 8px;
  background: linear-gradient(135deg, #2387ef 0%, #2563eb 100%);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  box-shadow: 0 8px 18px rgba(37, 99, 235, .20);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.checkout-invoice-toggle-v809 i {
  font-size: 25px;
  line-height: 1;
}
.checkout-invoice-toggle-v809:hover,
.checkout-invoice-toggle-v809.is-open {
  color: #fff;
  filter: brightness(1.03);
  box-shadow: 0 10px 22px rgba(37, 99, 235, .26);
}
.checkout-invoice-toggle-v809:hover { transform: translateY(-1px); }
.checkout-invoice-toggle-v809:focus-visible {
  outline: 3px solid rgba(37, 99, 235, .24);
  outline-offset: 3px;
}
.checkout-invoice-fields-v809 {
  margin-top: 18px;
  padding: 0;
  border: 0;
  background: transparent;
}
.checkout-invoice-fields-v809[hidden] { display: none !important; }
.checkout-invoice-fields-v809 .form-label {
  margin-bottom: 8px;
  color: #374151;
  font-size: 14px;
  font-weight: 700;
}
.checkout-invoice-fields-v809 .form-control {
  min-height: 52px;
  border-radius: 8px;
  padding: 11px 14px;
  background: #fff;
}

@media (max-width: 575.98px) {
  .checkout-invoice-toggle-v809 {
    min-height: 52px;
    margin-top: 16px;
    padding: 11px 14px;
    font-size: 15px;
  }
  .checkout-invoice-toggle-v809 i { font-size: 22px; }
  .checkout-invoice-fields-v809 { margin-top: 15px; }
}

/* ===== V831: giữ hiệu ứng quét QR, bỏ biểu tượng xanh ở giữa ===== */
.checkout-pay-qr-scanner-v830{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:min(100%,245px);
  max-width:100%;
  overflow:hidden;
  isolation:isolate;
  line-height:0;
  background:#fff;
}
.checkout-pay-qr-card-v748 .checkout-pay-qr-scanner-v830 img{
  position:relative;
  z-index:1;
  display:block;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:none!important;
  object-fit:contain;
}
.checkout-pay-qr-scanner-v830::before{
  content:"";
  position:absolute;
  z-index:4;
  inset:2px;
  pointer-events:none;
  background-image:
    linear-gradient(#20b25b,#20b25b),linear-gradient(#20b25b,#20b25b),
    linear-gradient(#20b25b,#20b25b),linear-gradient(#20b25b,#20b25b),
    linear-gradient(#20b25b,#20b25b),linear-gradient(#20b25b,#20b25b),
    linear-gradient(#20b25b,#20b25b),linear-gradient(#20b25b,#20b25b);
  background-repeat:no-repeat;
  background-position:
    left top,left top,
    right top,right top,
    left bottom,left bottom,
    right bottom,right bottom;
  background-size:
    20px 2px,2px 20px,
    20px 2px,2px 20px,
    20px 2px,2px 20px,
    20px 2px,2px 20px;
  filter:drop-shadow(0 0 2px rgba(32,178,91,.26));
}
.checkout-pay-qr-scanner-v830::after{
  content:"";
  position:absolute;
  z-index:2;
  left:3px;
  right:3px;
  top:-36%;
  height:36%;
  pointer-events:none;
  opacity:0;
  background:
    linear-gradient(180deg,
      rgba(32,178,91,0) 0%,
      rgba(32,178,91,.08) 18%,
      rgba(32,178,91,.28) 72%,
      rgba(32,178,91,.12) 92%,
      rgba(32,178,91,0) 100%);
  border-bottom:2px solid rgba(32,178,91,.72);
  box-shadow:0 3px 10px rgba(32,178,91,.2);
  animation:checkoutQrScanV830 3s linear infinite;
}
@keyframes checkoutQrScanV830{
  0%,10%{top:-36%;opacity:0}
  16%{opacity:1}
  72%{top:100%;opacity:1}
  80%,100%{top:100%;opacity:0}
}
@media(max-width:991.98px){
  .checkout-pay-qr-scanner-v830{width:min(100%,240px)}
}
@media(max-width:575.98px){
  .checkout-pay-qr-scanner-v830{width:min(100%,172px)}
  .checkout-pay-qr-scanner-v830::before{
    inset:1px;
    background-size:
      16px 2px,2px 16px,
      16px 2px,2px 16px,
      16px 2px,2px 16px,
      16px 2px,2px 16px;
  }
}
@media(max-width:400px){
  .checkout-pay-qr-scanner-v830{width:min(100%,160px)}
}


/* ===== V832: khôi phục khoảng cách đồng bộ trên/dưới thanh tiến trình thanh toán ===== */
@media (max-width:575.98px){
  body.checkout-mobile-fit-v797 .checkout-pay-page-v751,
  .checkout-pay-page-v751{
    padding-top:14px!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-wrap-v751 .checkout-flow-v750,
  .checkout-pay-wrap-v751 .checkout-flow-v750{
    margin:0 auto 14px!important;
  }
}

/* ===== V833: mobile cho phép cuộn đủ nội dung, không để thanh trình duyệt che nút sửa ===== */
@media (max-width:575.98px){
  html.checkout-mobile-fit-v797,
  body.checkout-mobile-fit-v797{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
  }
  body.checkout-mobile-fit-v797 .main-content{
    height:auto!important;
    min-height:100%!important;
    overflow:visible!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-page-v751{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    padding-bottom:calc(92px + env(safe-area-inset-bottom, 0px))!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-wrap-v751{
    width:100%!important;
    transform:none!important;
    transform-origin:top center!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751,
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751 .checkout-pay-grid-v748,
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751 .checkout-pay-info-v748{
    overflow:visible!important;
  }
  body.checkout-mobile-fit-v797 .checkout-pay-card-v751 .checkout-pay-edit-v748{
    min-height:48px!important;
    margin-bottom:0!important;
  }
}

/* =====================================================
   V21 — checkout popup login + blue surface theme
   ===================================================== */
.checkout-entry-page{background:#eef5ff!important;}
.checkout-entry-card-v21,.checkout-order-card-v21,.checkout-suggest-card{background:#fff;border:1px solid #d9e6f8;box-shadow:0 18px 48px rgba(30,79,136,.08);} 
.checkout-entry-card-v21 h2,.checkout-order-card-v21 h2{color:#143660;}
.checkout-account-note-v21,.checkout-account-alert-v21{margin-top:16px;border-radius:18px;padding:16px 18px;border:1px solid #d8e6f8;background:#f7fbff;display:flex;align-items:flex-start;gap:14px;}
.checkout-account-note-icon-v21{width:46px;height:46px;border-radius:14px;background:#e7f1ff;color:#0d6efd;display:flex;align-items:center;justify-content:center;font-size:20px;flex:0 0 46px;}
.checkout-account-note-copy-v21 strong,.checkout-account-alert-copy-v21 strong{display:block;color:#16385f;font-size:16px;font-weight:800;margin-bottom:4px;}
.checkout-account-note-copy-v21 p,.checkout-account-alert-copy-v21 p{margin:0;color:#5d6f86;font-size:13px;line-height:1.65;}
.checkout-inline-login-btn-v21{margin-left:auto;white-space:nowrap;}
.checkout-account-alert-v21{background:#fffdf4;border-color:#ffe4a6;align-items:center;}
.checkout-account-alert-copy-v21{min-width:0;}
.checkout-account-hints-v21{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
.checkout-account-hints-v21 span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#eef5ff;color:#2a4f7f;font-size:12px;font-weight:700;}
.checkout-policy-check-v21{display:flex;align-items:flex-start;gap:10px;margin:18px 0 8px;padding:14px 16px;border-radius:16px;border:1px solid #dce8fa;background:#f8fbff;color:#1d3551;font-size:14px;line-height:1.55;cursor:pointer;}
.checkout-policy-check-v21 input{margin-top:3px;flex:0 0 auto;}
.checkout-policy-note-v21{margin:0 0 14px;color:#70829b;font-size:12px;line-height:1.65;}
.checkout-login-modal-v21{position:fixed;inset:0;z-index:1080;display:flex;align-items:center;justify-content:center;padding:20px;}
.checkout-login-modal-backdrop-v21{position:absolute;inset:0;background:rgba(9,24,47,.55);backdrop-filter:blur(3px);}
.checkout-login-dialog-v21{position:relative;z-index:1;width:min(100%,520px);background:#fff;border-radius:24px;border:1px solid #d9e6f8;box-shadow:0 28px 70px rgba(13,52,97,.28);padding:28px;}
.checkout-login-head-v21 small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800;color:#5b7ea8;margin-bottom:8px;}
.checkout-login-head-v21 h3{margin:0 0 10px;color:#13355d;font-size:28px;font-weight:900;line-height:1.2;}
.checkout-login-head-v21 p{margin:0 0 18px;color:#60728a;font-size:14px;line-height:1.65;}
.checkout-login-close-v21{position:absolute;top:14px;right:14px;width:38px;height:38px;border:0;border-radius:12px;background:#eef5ff;color:#173c67;display:flex;align-items:center;justify-content:center;}
.checkout-login-close-v21:hover{background:#dfeeff;}
.checkout-login-feedback-v21{padding:12px 14px;border-radius:14px;font-size:13px;line-height:1.55;background:#eef5ff;color:#173c67;}
.checkout-login-feedback-v21.is-error{background:#fff3f3;color:#b42318;border:1px solid #f8c7c7;}
body.checkout-login-modal-open{overflow:hidden;}
@media(max-width:767.98px){
  .checkout-account-note-v21,.checkout-account-alert-v21{flex-direction:column;}
  .checkout-inline-login-btn-v21,.checkout-account-alert-v21 .btn{width:100%;margin-left:0;}
  .checkout-login-dialog-v21{padding:22px 18px 20px;border-radius:20px;}
  .checkout-login-head-v21 h3{font-size:24px;}
}

/* =====================================================
   V24 — concise checkout login and linked policy
   ===================================================== */
.checkout-login-shortcut-v24{display:flex;justify-content:flex-end;margin-top:14px;}
.checkout-login-shortcut-v24 .btn{min-height:38px;padding:7px 13px;border-radius:10px;font-weight:700;}
.checkout-policy-check-v21 a{color:#145ca8;text-decoration:underline;text-underline-offset:2px;}
.checkout-policy-check-v21 a:hover{color:#0b467f;}
@media(max-width:575.98px){
  .checkout-login-shortcut-v24{justify-content:stretch;}
  .checkout-login-shortcut-v24 .btn{width:100%;}
}

/* V269: thêm sản phẩm ngay tại checkout, giữ nguyên dữ liệu đã nhập và không che khối gợi ý. */
.checkout-entry-page .checkout-right-stack-v269{
  position:sticky;
  top:94px;
  display:flex;
  flex-direction:column;
  gap:24px;
}
.checkout-entry-page .checkout-right-stack-v269 .checkout-order-card{
  position:static;
  top:auto;
}
.checkout-entry-page .checkout-right-stack-v269 .checkout-suggest-card{
  margin-top:0!important;
  transition:opacity .2s ease,transform .2s ease;
}
.checkout-entry-page .checkout-suggest-card.is-added-v269{
  opacity:0;
  transform:translateY(-6px);
}
.checkout-entry-page .checkout-suggest-add.is-loading{
  pointer-events:none;
  opacity:.7;
}
.checkout-entry-page .checkout-mini-item.is-new-v269{
  animation:checkoutItemInV269 .24s ease both;
}
@keyframes checkoutItemInV269{
  from{opacity:0;transform:translateY(6px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:991.98px){
  .checkout-entry-page .checkout-right-stack-v269{position:static;top:auto}
}
