.registration-card { max-width: 760px; margin: 0 auto 24px; padding: clamp(22px,4vw,40px); background: #fffdf8; border: 1px solid #d9d5cb; border-top: 3px solid #ba2925; }
.registration-card h3 { font: 400 1.8rem/1.2 Georgia,serif; margin: 0 0 16px; color: #252521; }
.registration-card p { color: #53544c; line-height: 1.7; }
.registration-card label { display: block; margin: 18px 0 8px; font-weight: 600; }
.registration-card input[type=text] { box-sizing: border-box; width: 100%; font: inherit; padding: 14px; background: white; border: 1px solid #aaa69b; border-radius: 0; }
.registration-card .consent-label { display: flex; gap: 12px; align-items: flex-start; font-weight: 400; font-size: .87rem; line-height: 1.6; }
.consent-label input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 4px; accent-color: #ba2925; }
.registration-card .btn-cta-start { margin-top: 14px; }
.participant-summary { max-width: 760px; margin: 0 auto; padding: 12px 0; border-bottom: 1px solid #d9d5cb; color: #53544c; }
.participant-summary strong { color: #252521; overflow-wrap: anywhere; }
.registration-save { max-width: 760px; margin: 12px auto 24px; }
.registration-save p { font-size: .85rem; color: #536a50; line-height: 1.5; }
.registration-save .save-error { color: #9b211e; }
#retry-save { font: inherit; padding: 10px 14px; border: 1px solid #ba2925; color: #ba2925; background: transparent; cursor: pointer; }
button:disabled { cursor: not-allowed; opacity: .5; }
@media print { .registration-card,.registration-save,.participant-summary { display:none!important; } }
