/* Scoped to participant fields. Product image, services and cart keep their layout. */
.field_row:has(> .dz-participant-field) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px 22px;
}
.field_row:has(> .dz-participant-field) > .form-field {
    width: auto !important;
    min-width: 0;
    float: none !important;
    margin: 0 !important;
}
.field_row > .dz-participant-field[hidden] { display: none !important; }
.field_row > .dz-participant-field[data-dz-role="birth"],
.field_row > .dz-participant-field[data-dz-role="authorization"],
.field_row > .dz-participant-field[data-dz-role="images"],
.field_row:has(> .dz-participant-field) > .form-field:has(input[type="radio"], input[type="checkbox"], textarea) {
    grid-column: 1 / -1;
}
.dz-participant-field > label { display: block; margin-bottom: 7px; }
.dz-participant-field input:not([type="hidden"]), .dz-participant-field select {
    width: 100% !important;
    max-width: 100%;
    min-width: 0;
    min-height: 44px;
    box-sizing: border-box;
    font-size: 16px;
}
.dz-participant-field .dz-age-help { display: block; margin-top: 8px; font-size: 14px; line-height: 1.5; }
@media (max-width: 600px) {
    .field_row:has(> .dz-participant-field) { grid-template-columns: minmax(0, 1fr); }
}

.field_row > .dz-legal-field,
.field_row > .dz-participant-field[data-dz-role="classification"] { grid-column: 1 / -1; }
.dz-legal-field .dz-checkbox-label {
    display: flex !important; align-items: flex-start; gap: 12px; line-height: 1.6;
    font-size: 16px; cursor: pointer;
}
.dz-legal-field .dz-checkbox-label input[type="checkbox"] {
    appearance: auto !important; -webkit-appearance: checkbox !important;
    width: 20px !important; height: 20px !important; min-height: 20px !important;
    flex: 0 0 20px; margin: 4px 0 0 !important; padding: 0 !important;
    opacity: 1 !important; position: static !important; accent-color: #073d7f;
}
.dz-legal-field .dz-checkbox-label > span { min-width: 0; }
.dz-legal-field .dz-privacy-info {
    margin-top: 18px; padding: 18px; background: #f1f6fd;
    border: 1px solid #d2dfee; border-radius: 8px; font-size: 14px; line-height: 1.65;
    color: #29446b; overflow-wrap: anywhere;
}
.dz-legal-field .dz-privacy-info p { margin: 10px 0 0 !important; font-size: inherit !important; }
.dz-legal-field .dz-privacy-info a { color: #073d7f; text-decoration: underline; }
.dz-dorsal-privacy { margin: 22px 0; width: 100%; }

/* YITH's generic value-only badges are incorrect for required checkboxes. */
.dz-participant-field .yith_wcevti_item_message,
.dz-dorsal-privacy .yith_wcevti_item_message,
.dz-attempted .service_message .yith_wcevti_item_message { display: none !important; }
.dz-validation-note { display: block; flex-basis: 100%; margin-top: 8px; font-size: 14px; line-height: 1.5; color: #596579; }
.dz-validation-note[hidden], .dz-validation-summary[hidden] { display: none !important; }
.dz-field-error .dz-validation-note { color: #a51d24; font-weight: 600; }
.dz-field-error { outline: 2px solid #b4232c; outline-offset: 5px; border-radius: 4px; }
.dz-validation-summary { width: 100%; flex-basis: 100%; box-sizing: border-box; padding: 14px 16px; margin: 0 0 20px; border-left: 4px solid #b4232c; background: #fff1f2; color: #861b22; line-height: 1.5; }
