.camp-checkout { padding-top: 40px; padding-bottom: 50px; }
.camp-steps { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0; margin: 24px 0; }
.camp-steps li { padding: 10px 14px; background: #f1f5f9; border-radius: 6px; }
.camp-steps [aria-current="step"] { background: #173354; color: white; font-weight: 700; }
.camp-checkout-layout { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 24px; }
.camp-checkout .checkout__totals { width: 100%; padding: 20px; border: 1px solid #ddd; }
.camp-checkout .card { padding: 24px; margin-bottom: 20px; }
.camp-actions { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0; }
.camp-checkout .btn { white-space: normal; }
.camp-participant { padding: 16px; background: #edf4fa; margin-bottom: 20px; }
.camp-checkout summary { cursor: pointer; margin-bottom: 12px; }
.camp-checkout dt { font-weight: 600; }
.camp-checkout dd { margin-bottom: 16px; overflow-wrap: anywhere; }
.camp-checkout .invalid-feedback { display: block; }
@media (max-width: 767px) { .camp-checkout-layout { grid-template-columns: minmax(0, 1fr); } .camp-checkout .card { padding: 16px; } }

.camp-flow-steps { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0; margin: 24px 0; }
.camp-flow-steps li { padding: 10px 14px; background: #f1f5f9; border-radius: 6px; }
.camp-flow-steps [aria-current="step"] { background: #173354; color: white; font-weight: 700; }
.camp-flow-steps [aria-current="step"] a { color: white; }
