.va-booking-card{
  --va-accent:#DC8A1E;
  --va-accent-dark:#C97A12;
  --va-header-bg:#FBEAD8;
  --va-border:#E6E2DA;
  --va-text:#2B2B2B;
  --va-text-muted:#8A8580;
  width:100%;
  max-width:520px;
  background:#fff;
  border:1px solid var(--va-border);
  border-radius:2px;
  overflow:hidden;
  box-shadow:0 1px 3px rgba(0,0,0,0.04);
  font-family:inherit;
  box-sizing:border-box;
}
.va-booking-card *{box-sizing:border-box;}
.va-booking-header{
  background:var(--va-header-bg);
  border-left:4px solid var(--va-accent);
  padding:16px 20px;
}
.va-booking-header h2{
  margin:0;
  font-size:17px;
  font-weight:700;
  letter-spacing:0.3px;
  color:var(--va-text);
}
.va-booking-row{
  display:grid;
  grid-template-columns:1.6fr 0.8fr 1fr 1fr;
  gap:8px;
  padding:16px 20px 8px;
  font-size:13px;
  color:var(--va-text-muted);
  font-weight:600;
  align-items:center;
}
.va-booking-row-data{
  padding-top:4px;
  padding-bottom:16px;
}
.va-room-select{
  width:100%;
  border:none;
  background:transparent;
  font-size:14px;
  color:var(--va-text);
  font-weight:500;
  padding:0;
  cursor:pointer;
}
.va-room-select.va-room-fixed{
  cursor:default;
  pointer-events:none;
  -webkit-appearance:none;
  appearance:none;
  background-image:none;
}
.va-nights-input{
  width:46px;
  text-align:center;
  border:1px solid var(--va-border);
  border-radius:3px;
  padding:5px 4px;
  font-size:14px;
  color:var(--va-text);
  background:#F7F6F3;
  cursor:default;
}
.va-price-cell,.va-total-cell{font-size:14px;color:var(--va-text);}
.va-total-cell{text-decoration:underline;text-decoration-color:var(--va-accent);}
.right{text-align:right;}
.center{text-align:center;}
.va-divider{height:1px;background:var(--va-border);margin:0 20px;}
.va-total-row{
  display:flex;justify-content:flex-end;align-items:baseline;gap:14px;
  padding:16px 20px;background:#FAFAF8;
}
.va-total-label{font-size:14px;color:var(--va-text);font-weight:500;}
.va-total-amount{
  font-size:20px;font-weight:700;color:var(--va-accent);
  text-decoration:underline;text-decoration-color:var(--va-accent);
}
.va-dates-row{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:20px 20px 0;
}
.va-nights-note{
  grid-column:1 / -1;margin:2px 0 0;font-size:12px;color:var(--va-text-muted);
}
.va-nights-note.ok{color:var(--va-accent-dark);}
.va-nights-note.error{color:#C0392B;}
.va-date-field{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--va-border);border-radius:3px;padding:9px 12px;
}
.va-date-field .va-icon{flex-shrink:0;}
.va-date-inner{display:flex;flex-direction:column;width:100%;}
.va-date-label{font-size:11px;color:var(--va-text-muted);font-weight:600;margin-bottom:1px;}
.va-date-field input{
  border:none;outline:none;width:100%;font-size:14px;color:var(--va-text);
  font-family:inherit;background:transparent;padding:0;
}
.va-status-msg{
  margin:14px 20px 0;font-size:13px;color:var(--va-text-muted);display:none;
}
.va-status-msg.show{display:block;}
.va-status-msg.error{color:#C0392B;}
.va-status-msg.success{color:var(--va-accent-dark);}
.va-submit-btn{
  display:block;width:calc(100% - 40px);margin:20px 20px 20px;
  padding:15px;background:var(--va-accent);color:#fff;border:none;border-radius:3px;
  font-size:15px;font-weight:700;letter-spacing:0.5px;cursor:pointer;
  transition:background 0.15s ease;
}
.va-submit-btn:hover{background:var(--va-accent-dark);}
.va-submit-btn:disabled{background:#D8D2C8;cursor:not-allowed;}
@media (max-width:420px){
  .va-booking-row{grid-template-columns:1.4fr 0.7fr 0.9fr 0.9fr;font-size:12px;}
  .va-dates-row{grid-template-columns:1fr;}
}

/* ---------------- Thẻ giá + Liên hệ + Thông tin phòng ---------------- */
.va-price-card{
  --va-accent:#DC8A1E;
  --va-accent-dark:#C97A12;
  --va-border:#E6E2DA;
  --va-text:#2B2B2B;
  --va-text-muted:#8A8580;
  width:100%;
  max-width:420px;
  background:#fff;
  border:1px solid var(--va-border);
  border-radius:6px;
  padding:18px 18px 16px;
  box-shadow:0 1px 3px rgba(0,0,0,0.04);
  box-sizing:border-box;
  font-family:inherit;
}
.va-price-card *{box-sizing:border-box;}
.va-price-card-top{
  display:flex;justify-content:space-between;align-items:flex-start;gap:10px;
}
.va-price-card-title{
  margin:0;font-size:16px;font-weight:700;color:var(--va-text);line-height:1.35;
}
.va-price-card-heart{
  flex-shrink:0;font-size:18px;color:var(--va-text-muted);line-height:1;
  border:1px solid var(--va-border);border-radius:50%;width:30px;height:30px;
  display:flex;align-items:center;justify-content:center;
}
.va-price-card-price-row{
  display:flex;justify-content:space-between;align-items:flex-start;
  margin-top:12px;gap:10px;
}
.va-price-card-price{
  font-size:24px;font-weight:700;color:var(--va-accent);
  text-decoration:underline;text-decoration-color:var(--va-accent);
}
.va-price-card-old{
  margin-top:4px;font-size:13px;color:var(--va-text-muted);
}
.va-price-card-old span{text-decoration:line-through;}
.va-price-card-badge{
  flex-shrink:0;border:1.5px solid #D93B3B;color:#D93B3B;
  font-size:12px;font-weight:700;text-align:center;line-height:1.3;
  border-radius:4px;padding:4px 10px;
}
.va-price-card-actions{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;
}
.va-card-btn{
  -webkit-appearance:none;appearance:none;
  display:flex;align-items:center;justify-content:center;
  width:100%;height:46px;box-sizing:border-box;
  background:var(--va-accent);color:#fff;border:none;border-radius:3px;
  font-family:inherit;font-size:14px;font-weight:700;letter-spacing:0.3px;
  line-height:1;cursor:pointer;text-decoration:none;
  transition:background 0.15s ease;
}
.va-card-btn:hover{background:var(--va-accent-dark);color:#fff;}
.va-info-bar{
  display:flex;align-items:center;gap:10px;
  width:100%;max-width:420px;margin-top:10px;
  background:#fff;border:1px solid var(--va-border);border-radius:6px;
  padding:14px 18px;font-size:14px;font-weight:600;color:var(--va-text);
  cursor:pointer;box-sizing:border-box;
}
.va-info-bar:hover{border-color:var(--va-accent);}
.va-info-icon{font-size:16px;}
@media (max-width:420px){
  .va-price-card-actions{gap:8px;}
}

/* ---------------- Khung bọc + Modal thanh toán ---------------- */
.va-booking-wrapper{
  --va-accent:#DC8A1E;
  --va-accent-dark:#C97A12;
  --va-border:#E6E2DA;
  --va-text:#2B2B2B;
  --va-text-muted:#8A8580;
  font-family:inherit;
}
.va-checkout-overlay{
  display:none;
  position:fixed;inset:0;z-index:100000;
  background:rgba(20,18,14,0.55);
  padding:24px 16px;
  overflow-y:auto;
  box-sizing:border-box;
}
.va-checkout-overlay.show{display:flex;align-items:flex-start;justify-content:center;}
.va-checkout-modal{
  background:#fff;border-radius:8px;width:100%;max-width:860px;
  margin:auto;position:relative;box-shadow:0 10px 40px rgba(0,0,0,0.2);
  box-sizing:border-box;
}
.va-checkout-modal *{box-sizing:border-box;}
.va-checkout-close{
  position:absolute;top:12px;right:14px;background:none;border:none;
  font-size:26px;line-height:1;color:var(--va-text-muted);cursor:pointer;
  width:32px;height:32px;
}
.va-checkout-close:hover{color:var(--va-text);}
.va-checkout-grid{
  display:grid;grid-template-columns:1.3fr 1fr;gap:0;
}
.va-checkout-left{
  padding:28px 26px;border-right:1px solid var(--va-border);
}
.va-checkout-right{
  padding:28px 26px;background:#FAFAF8;border-radius:0 8px 8px 0;
}
.va-checkout-left h3,.va-checkout-right h3{
  margin:0 0 14px;font-size:15px;font-weight:700;color:var(--va-text);
}
.va-checkout-left h3:not(:first-child){margin-top:22px;}
.va-checkout-input{
  display:block;width:100%;border:1px solid var(--va-border);border-radius:4px;
  padding:11px 12px;font-size:14px;color:var(--va-text);font-family:inherit;
  margin-bottom:10px;background:#fff;
}
select.va-checkout-input{cursor:pointer;}
.va-payment-option{
  display:flex;align-items:center;gap:10px;
  border:1px solid var(--va-border);border-radius:4px;padding:12px 14px;
  cursor:pointer;font-size:14px;color:var(--va-text);
}
.va-payment-option:hover{border-color:var(--va-accent);}
.va-payment-radio{
  width:18px;height:18px;border-radius:50%;border:2px solid var(--va-border);
  flex-shrink:0;position:relative;
}
.va-payment-option.checked .va-payment-radio{border-color:var(--va-accent);}
.va-payment-option.checked .va-payment-radio::after{
  content:"";position:absolute;inset:3px;border-radius:50%;background:var(--va-accent);
}
.va-bank-info{
  margin-top:10px;padding:12px 14px;background:#FAFAF8;border:1px solid var(--va-border);
  border-radius:4px;font-size:13px;color:var(--va-text);line-height:1.9;
}
.va-checkout-item{
  padding:14px 0;border-bottom:1px solid var(--va-border);margin-bottom:14px;
}
.va-checkout-item-name{font-size:14px;font-weight:700;color:var(--va-text);}
.va-checkout-item-dates{font-size:12px;color:var(--va-text-muted);margin-top:4px;}
.va-checkout-item-price{font-size:14px;color:var(--va-text);margin-top:6px;font-weight:600;}
.va-checkout-total-row{
  display:flex;justify-content:space-between;font-size:14px;color:var(--va-text);
  padding:6px 0;
}
.va-checkout-total-final{
  font-size:18px;font-weight:700;color:var(--va-accent);
  border-top:1px solid var(--va-border);margin-top:6px;padding-top:12px;
}
.va-checkout-status-msg{
  font-size:13px;margin-top:10px;display:none;
}
.va-checkout-status-msg.show{display:block;}
.va-checkout-status-msg.error{color:#C0392B;}
.va-checkout-status-msg.success{color:var(--va-accent-dark);}
.va-checkout-actions{margin-top:18px;display:flex;flex-direction:column;gap:10px;}
.va-checkout-back{
  background:none;border:none;color:#3B7DD8;font-size:13px;cursor:pointer;
  text-align:left;padding:4px 0;
}
.va-checkout-submit{
  -webkit-appearance:none;appearance:none;width:100%;padding:14px;
  background:var(--va-accent);color:#fff;border:none;border-radius:4px;
  font-family:inherit;font-size:15px;font-weight:700;letter-spacing:0.3px;cursor:pointer;
  transition:background 0.15s ease;
}
.va-checkout-submit:hover{background:var(--va-accent-dark);}
.va-checkout-submit:disabled{background:#D8D2C8;cursor:not-allowed;}
@media (max-width:680px){
  .va-checkout-grid{grid-template-columns:1fr;}
  .va-checkout-left{border-right:none;border-bottom:1px solid var(--va-border);}
  .va-checkout-right{border-radius:0 0 8px 8px;}
}
