:root{--brand:#2563eb;--muted:#6b7280;--border:#e5e7eb;}
.hero-title{font-weight:700;letter-spacing:.2px}
.hero-subtitle{color:var(--muted);font-size:.95rem}
.badge-row{gap:.75rem;font-weight:600;color:#059669}
.badge-row .fa,.badge-row .bi{margin-right:.35rem}
.notice{border:1px solid var(--border);border-left:4px solid #60a5fa;background:#f8fafc;color:#334155;font-size:.9rem}
.card-soft{border:1px solid var(--border);border-radius:.75rem;box-shadow:0 .5rem 1rem rgba(0,0,0,.02);background:#fff}
.required:after{content:" *";color:#ef4444}
.order-box{border:1.5px solid #dbeafe;border-radius:.75rem;background:#f8fbff}
.order-line{display:flex;align-items:center;justify-content:space-between;padding:.125rem 0;color:#374151;font-size:.95rem}
.order-total{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed #e5e7eb;padding-top:.5rem;margin-top:.5rem;font-weight:700;font-size:1.25rem}
.coupon-link{font-weight:500}
.pay-option{border:1px solid var(--border);border-radius:.75rem;padding:.5rem .75rem;display:flex;gap:.5rem;align-items:flex-start}
.pay-option.active{border-color:#bfdbfe;background:#eff6ff}
.place-order{background:var(--brand);border:0;font-weight:600;padding:.85rem 1rem}
.place-order:hover{background:#1d4ed8}
.form-control,.form-select{padding:.65rem .75rem}
label{font-weight:600;font-size:.9rem}
.small-note{font-size:.8rem;color:#6b7280}
