[hidden] { display: none !important; }
.registration-intro, form#custom-form { max-width: 900px; margin: 0 auto; }
.registration-intro { padding: 24px; text-align: center; }
form#custom-form { padding: 24px !important; display: flex; flex-direction: column; gap: 18px; }
form#custom-form .form-group { margin: 0; }
form#custom-form fieldset { border: 0; padding: 0; min-width: 0; }
form#custom-form legend { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
form#custom-form label { display: block; line-height: 1.6; }
form#custom-form input[type=text], form#custom-form input[type=email], form#custom-form select, form#custom-form textarea { width: 100%; max-width: 100%; box-sizing: border-box; border: 1px solid #777; border-radius: 4px; padding: 10px; min-height: 44px; color: #222; background: white; font-size: 16px; }
form#custom-form textarea { min-height: 100px; }
form#custom-form input[type=checkbox], form#custom-form input[type=radio] { margin: 0 8px 0 0; width: 18px; height: 18px; vertical-align: middle; }
form#custom-form button { align-self: flex-start; min-height: 44px; padding: 10px 20px; color: white; background: #228a87; border: 0; border-radius: 4px; cursor: pointer; }
form#custom-form button:disabled { opacity: .65; cursor: wait; }
form#custom-form :focus-visible { outline: 3px solid #155e75; outline-offset: 3px; }
#meal-options { border-left: 3px solid #228a87; padding-left: 20px; }
#status-message, #test-summary { overflow-wrap: anywhere; }
.preview-notice { padding: 16px; border: 1px solid #31708f; background: #edf7fb; color: #234b5e; }
.error { color: #a32222; }
.success { color: #176343; }
@media (max-width: 600px) { form#custom-form { padding: 16px !important; } .registration-intro { padding: 16px; } #sppb-addon-1517928847863 .sppb-addon-title { font-size: 28px; line-height: 1.25; } }
