/**
 * MY Anmeldeportal
 *
 * Datei:
 * public/assets/css/registration-form.css
 *
 * Styling für den Hub-Shortcode [mya_registration] und den Änderungslink.
 * Orientiert an den WordPress-Grundfarben und der System-Schrift.
 */


.mya-hub,
.mya-manage-registration {

    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    color: #1d2327;

    max-width: 900px;

}


.mya-hub-title {

    margin: 0 0 16px 0;

    font-size: 1.5em;

}


/* ---------------------------------------------------------------- */
/* Hub-Tabs (Info / Anmeldung / Teilnehmer)                          */
/* ---------------------------------------------------------------- */

.mya-hub-tabs {

    display: flex;

    gap: 4px;

    border-bottom: 1px solid #dcdcde;

    margin-bottom: 24px;

}


.mya-hub-tab-label {

    position: relative;

    display: inline-flex;

    align-items: center;

    padding: 10px 18px;

    margin-bottom: -1px;

    font-size: 0.95em;

    font-weight: 500;

    color: #50575e;

    cursor: pointer;

    border-bottom: 2px solid transparent;

    transition: color 0.15s ease, border-color 0.15s ease;

}


.mya-hub-tab-label:hover {

    color: #d63638;

}


.mya-hub-tab-label input[type="radio"],
.mya-registration-mode-switch input[type="radio"] {

    position: absolute;

    opacity: 0;

    pointer-events: none;

}


.mya-hub-tab-label:has(input:checked) {

    color: #d63638;

    border-bottom-color: #d63638;

}


.mya-hub-panel {

    padding: 4px 2px;

}


.mya-hub-info-table,
.mya-hub-info-table tr,
.mya-hub-info-table th,
.mya-hub-info-table td {

    border: none !important;

}


.mya-hub-info-table {

    border-collapse: collapse;

    margin-bottom: 8px;

    width: 100%;

    max-width: 480px;

}


.mya-hub-info-table tr:nth-child(even) {

    background: #f6f7f7;

}


.mya-hub-info-table th {

    text-align: left;

    font-weight: 600;

    color: #50575e;

    padding: 8px 20px 8px 10px;

    vertical-align: top;

    white-space: nowrap;

}


.mya-hub-info-table td {

    padding: 8px 10px 8px 0;

}


.mya-hub-documents ul.mya-downloads-list {

    list-style: none;

    margin: 0;

    padding: 0;

}


.mya-hub-documents li.mya-downloads-item {

    margin-bottom: 8px;

}


.mya-hub-documents a,
.mya-hub-info-table a {

    color: #2271b1;

    text-decoration: none;

}


.mya-hub-documents a:hover,
.mya-hub-info-table a:hover {

    text-decoration: underline;

}


.mya-downloads-type {

    color: #787c82;

    font-size: 0.9em;

}


.mya-hub-imprint {

    margin-top: 32px;

    font-size: 0.85em;

}


.mya-hub-imprint a {

    color: #787c82;

}


/* ---------------------------------------------------------------- */
/* Registerblatt-Umschalter: Einzel- / Sammelanmeldung               */
/* ---------------------------------------------------------------- */

.mya-registration-mode-switch {

    display: flex;

    gap: 4px;

    margin-bottom: 0;

    padding-left: 4px;

}


.mya-registration-mode-switch label {

    position: relative;

    display: inline-flex;

    align-items: center;

    padding: 10px 22px;

    top: 1px;

    background: #f6f7f7;

    border: 1px solid #dcdcde;

    border-bottom: none;

    border-radius: 4px 4px 0 0;

    font-size: 0.92em;

    font-weight: 500;

    color: #50575e;

    cursor: pointer;

    transition: background 0.15s ease, color 0.15s ease;
}


.mya-registration-mode-switch label:hover {

    background: #eeeeee;

}


.mya-registration-mode-switch label:has(input:checked) {

    background: #ffffff;

    border-color: #c3c4c7;

    color: #1d2327;

    font-weight: 600;

    z-index: 2;

}


#mya-mode-single,
#mya-mode-group {

    border: 1px solid #c3c4c7;

    border-radius: 0 4px 4px 4px;

    padding: 20px;

    background: #ffffff;

    position: relative;

}


/* ---------------------------------------------------------------- */
/* Formularfelder: kompakt, Pflichtfelder mit rotem Rand links        */
/* ---------------------------------------------------------------- */

.mya-field-row {

    display: flex;

    gap: 16px;

    flex-wrap: wrap;

}


.mya-field-row .mya-field {

    flex: 1 1 220px;

}


.mya-field {

    margin-bottom: 14px;

}


.mya-field label {

    display: block;

    font-size: 0.85em;

    font-weight: 600;

    color: #50575e;

    margin-bottom: 4px;

}


.mya-field input[type="text"],
.mya-field input[type="email"],
.mya-field input[type="tel"],
.mya-field input[type="number"],
.mya-field input[type="date"],
.mya-field select,
.mya-field textarea {

    width: 100%;

    box-sizing: border-box;

    padding: 8px 10px;

    border: 1px solid #8c8f94;

    border-left: 1px solid #8c8f94;

    border-radius: 3px;

    font-size: 0.95em;

    color: #1d2327;

}


.mya-field input[required],
.mya-field select[required],
.mya-field textarea[required] {

    border-left: 3px solid #d63638;

}


.mya-field textarea {

    min-height: 70px;

}


.mya-registration-form .mya-privacy-field label,
.mya-manage-registration .mya-privacy-field label {

    display: flex;

    align-items: flex-start;

    gap: 8px;

    font-size: 0.9em;

    font-weight: 400;

    color: #1d2327;

}


.mya-notice {

    padding: 10px 14px;

    border-radius: 3px;

    margin-bottom: 16px;

    font-size: 0.92em;

}


.mya-notice ul {

    margin: 4px 0 0 18px;

}


.mya-notice-success {

    background: #edfaef;

    border-left: 4px solid #00a32a;

}


.mya-notice-error {

    background: #fcf0f1;

    border-left: 4px solid #d63638;

}


.mya-registration-form button[type="submit"],
.mya-manage-registration button[type="submit"],
.mya-registration-form a.button,
.mya-manage-registration a.button,
.mya-registration-form button[type="button"],
#mya-group-participants ~ p button {

    background: #2271b1;

    color: #ffffff;

    border: 1px solid #2271b1;

    border-radius: 3px;

    padding: 8px 16px;

    font-size: 0.92em;

    cursor: pointer;

    text-decoration: none;

    display: inline-block;

}


.mya-registration-form button[type="submit"]:hover,
.mya-manage-registration button[type="submit"]:hover {

    background: #135e96;

    border-color: #135e96;

}


.mya-manage-cancel-form button[type="submit"] {

    background: #d63638;

    border-color: #d63638;

}


.mya-manage-cancel-form button[type="submit"]:hover {

    background: #b32d2e;

    border-color: #b32d2e;

}


/* ---------------------------------------------------------------- */
/* Teilnehmerliste: Suchleiste, gestreifte Zeilen ohne Gitterlinien   */
/* ---------------------------------------------------------------- */

.mya-participants-filters {

    display: flex;

    gap: 12px;

    flex-wrap: wrap;

    margin-bottom: 20px;

}


.mya-participants-search {

    width: 100%;

    max-width: 320px;

    box-sizing: border-box;

    padding: 8px 12px;

    border: 1px solid #8c8f94;

    border-radius: 3px;

    font-size: 0.95em;

}


.mya-participants-competition-filter {

    box-sizing: border-box;

    padding: 8px 12px;

    border: 1px solid #8c8f94;

    border-radius: 3px;

    font-size: 0.95em;

    background: #ffffff;

}


.mya-participants-section {

    color: #50575e;

    font-size: 0.95em;

    margin: 20px 0 4px 0;

}


.mya-participants-table,
.mya-participants-table tr,
.mya-participants-table th,
.mya-participants-table td {

    border: none !important;

}


.mya-participants-table {

    width: 100%;

    border-collapse: collapse;

    font-size: 0.92em;

}


.mya-participants-table th {

    text-align: left;

    padding: 8px 12px;

    border-bottom: 2px solid #dcdcde !important;

    color: #50575e;

    font-weight: 600;

    background: transparent;

}


.mya-participants-table td {

    padding: 8px 12px;

}


.mya-participants-table tbody tr:nth-child(odd) {

    background: #ffffff;

}


.mya-participants-table tbody tr:nth-child(even) {

    background: #f6f7f7;

}


.mya-participants-table tbody tr.mya-row-hidden {

    display: none;

}
