.du-checkout { --du-bg:#0f172a; --du-card:#ffffff; --du-muted:#64748b; --du-line:#e5e7eb; --du-accent:#2563eb; --du-good:#047857; font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif; }
.du-checkout * { box-sizing:border-box; }
.du-checkout-shell { max-width:1120px; margin:0 auto; padding:32px 16px; }
.du-checkout-hero { display:grid; grid-template-columns:1.1fr .9fr; gap:18px; align-items:stretch; }
@media(max-width:860px){ .du-checkout-hero{ grid-template-columns:1fr; } }
.du-checkout-card { background:#fff; color:#0f172a; border:1px solid var(--du-line); border-radius:18px; box-shadow:0 8px 24px rgba(15,23,42,.08); overflow:hidden; }
.du-checkout-card.dark { background:#111827; color:#fff; border-color:#1f2937; }
.du-checkout-card h2,.du-checkout-card h3 { margin:0; }
.du-checkout-card-head { padding:18px; border-bottom:1px solid var(--du-line); }
.du-checkout-card.dark .du-checkout-card-head { border-bottom-color:#263244; }
.du-checkout-card-body { padding:18px; }
.du-checkout-eyebrow { color:#60a5fa; font-weight:900; font-size:12px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; }
.du-checkout-title { font-weight:900; font-size:28px; line-height:1.05; margin-bottom:10px; }
.du-checkout-sub { color:#cbd5e1; font-size:16px; line-height:1.45; margin:0; }
.du-checkout-grid { display:grid; gap:14px; }
.du-row { display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-bottom:1px solid #eef2f7; }
.du-row:last-child{ border-bottom:0; }
.du-row strong{ white-space:nowrap; }
.du-row.good strong{ color:var(--du-good); }
.du-row.total{ font-size:19px; font-weight:900; border-top:1px solid #cbd5e1; margin-top:6px; padding-top:14px; }
.du-pill { display:inline-flex; align-items:center; gap:8px; padding:7px 10px; border-radius:999px; background:#eff6ff; border:1px solid #bfdbfe; color:#1d4ed8; font-weight:800; font-size:12px; }
.du-controls { display:grid; gap:10px; margin-top:12px; }
.du-toggle { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px; border:1px solid #dbeafe; background:#eff6ff; border-radius:14px; cursor:pointer; }
.du-toggle span{ font-weight:800; }
.du-toggle small{ display:block; color:#64748b; font-weight:500; margin-top:2px; }
.du-toggle input{ width:auto; transform:scale(1.1); }
.du-wallet-buttons { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px; }
@media(max-width:520px){ .du-wallet-buttons{ grid-template-columns:1fr; } }
.du-pay-btn { border:0; border-radius:14px; padding:13px 14px; font-weight:900; cursor:pointer; width:100%; }
.du-pay-btn.apple{ background:#000; color:#fff; }
.du-pay-btn.google{ background:#fff; color:#111827; border:1px solid #cbd5e1; }
.du-pay-btn.card{ background:#2563eb; color:#fff; }
.du-pay-btn:disabled{ opacity:.55; cursor:not-allowed; }
.du-or { text-align:center; color:#64748b; font-size:12px; margin:10px 0; }
.du-status { margin-top:12px; padding:12px; background:#f8fafc; border:1px solid #e5e7eb; border-radius:14px; color:#334155; font-size:13px; }
.du-receipt { margin-top:12px; display:none; border:1px solid #a7f3d0; background:#ecfdf5; color:#064e3b; border-radius:14px; padding:12px; font-size:13px; }
.du-gp-frame-wrap { display:none; margin-top:12px; border:1px solid #e5e7eb; border-radius:16px; overflow:hidden; background:#fff; }
.du-gp-frame-wrap iframe { width:100%; min-height:720px; border:0; display:block; }
#ux-app .du-checkout-shell { padding:18px 14px calc(var(--app-nav-height,70px) + 28px); }
#ux-app .du-checkout-hero { display:block; }
#ux-app .du-checkout-card { margin-bottom:14px; border-radius:16px; }
#ux-app .du-checkout-title { font-size:23px; }
#ux-app .du-checkout-sub { font-size:14px; }
