.vua-wrap { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:18px; }
.vua-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; }
@media (max-width:782px){ .vua-grid { grid-template-columns:1fr; } }
.vua-col label { display:block; font-weight:600; margin-bottom:6px; }
.vua-col input[type="text"], .vua-col input[type="email"]{
  width:100%; padding:10px 12px; border:1px solid #d1d5db; border-radius:8px; background:#fff;
}

.vua-summary{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin:14px 0; padding:12px; border:1px dashed #d1d5db; border-radius:10px; background:#fafafa;}
.vua-product{ display:flex; gap:12px; align-items:center;}
.vua-thumb{ width:60px; height:60px; background:#eef2ff; border-radius:8px;}
.vua-title{ font-weight:700; }
.vua-price-regular{ color:#9ca3af; margin-right:8px; }
.vua-price-final{ color:#111827; font-weight:800; }
.vua-total span{ color:#6b7280; margin-right:6px; }

.vua-btn{ display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border-radius:8px; border:1px solid #d1d5db; background:#fff; cursor:pointer; text-decoration:none; }
.vua-btn:hover{ background:#f9fafb; }
.vua-btn-primary{ background:#111827; color:#fff; border-color:#111827; }
.vua-btn-primary:hover{ background:#000; color:#fff; }

.vua-alert{ padding:10px 12px; border-radius:8px; margin-bottom:12px; }
.vua-alert.success{ background:#ecfdf5; border:1px solid #10b981; color:#065f46; }

/* Badge VIP */
.vua-badge{ display:inline-flex; align-items:center; gap:6px; padding:6px 10px; font-weight:700; border-radius:999px; border:1px solid #d1d5db; background:#f3f4f6; color:#111827; }
.vua-badge.vip{ background:#111827; color:#fff; border-color:#111827; }
.vua-badge-wrap.align-center{ text-align:center; }
.vua-badge-wrap.align-right{ text-align:right; }

/* Gate Block */
.vua-gate{ border:2px dashed #6b7280; border-radius:12px; padding:16px; background:#fff; }
.vua-gate .vua-nonvip-message{ margin:12px 0 16px; }
.vua-gate .vua-actions{ display:flex; gap:10px; flex-wrap:wrap; margin-bottom:12px; }
.vua-order-inline{ margin-top:12px; }
