.wsc-wrap{--wsc-blue:#084c3a;--wsc-light:#eef6f1;--wsc-green:#126a50;max-width:920px;margin:2rem auto;color:#17232d;font-family:inherit}.wsc-wrap *{box-sizing:border-box}.wsc-wrap h2{color:var(--wsc-blue);font-size:clamp(1.6rem,3vw,2.25rem);margin-bottom:.5rem}.wsc-intro{margin-bottom:1.5rem}.wsc-form{display:grid;gap:1.25rem}.wsc-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;border:1px solid #cbd8d1;border-radius:10px;padding:1.25rem;background:#fff}.wsc-form legend{padding:0 .5rem;color:var(--wsc-blue);font-size:1.15rem;font-weight:700}.wsc-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.wsc-form input[type=text],.wsc-form input[type=email],.wsc-form input[type=tel],.wsc-form input[type=date],.wsc-form input[type=file],.wsc-form select{width:100%;min-height:44px;border:1px solid #a9bdb4;border-radius:6px;padding:.65rem;background:#fff;color:#17232d;font:inherit}.wsc-form input:focus,.wsc-form select:focus{outline:2px solid #126a50;outline-offset:2px;border-color:#084c3a}.wsc-full,.wsc-help,.wsc-check{grid-column:1/-1}.wsc-form .wsc-check{display:grid;grid-template-columns:24px 1fr;align-items:start;font-weight:400;line-height:1.45}.wsc-check input{width:20px;height:20px;margin:.15rem 0 0}.wsc-help,.wsc-required,.wsc-form small{color:#526773;font-weight:400}.wsc-submit{justify-self:start;border:0;border-radius:6px;background:var(--wsc-blue);color:#fff;padding:.85rem 1.4rem;font:inherit;font-weight:700;cursor:pointer}.wsc-submit:hover,.wsc-submit:focus{background:#084c3a;outline:2px solid #126a50;outline-offset:2px}.wsc-notice{border-left:5px solid;padding:1rem 1.2rem;margin:1rem 0;border-radius:4px;background:#fff}.wsc-error{border-color:#b32d2e;background:#fff4f4}.wsc-success{border-color:var(--wsc-green);background:#f5fbf0}.wsc-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}@media(max-width:680px){.wsc-form fieldset{grid-template-columns:1fr}.wsc-full,.wsc-help,.wsc-check{grid-column:auto}}
.wsc-form textarea{width:100%;border:1px solid #a9bdb4;border-radius:6px;padding:.65rem;background:#fff;color:#17232d;font:inherit}.wsc-closed{border-color:#dba617;background:#fff9e6}
.wsc-form input[type=number]{width:100%;min-height:44px;border:1px solid #a9bdb4;border-radius:6px;padding:.65rem;background:#fff;color:#17232d;font:inherit}
.wsc-event-logo{text-align:center;margin:0 0 1rem}.wsc-event-logo img{display:inline-block;max-width:min(100%,320px);max-height:180px;width:auto;height:auto}.wsc-event-date{margin:.25rem 0 1rem;color:var(--wsc-blue);font-size:1.05rem}.wsc-countdown{margin:0 0 1.25rem;padding:.85rem 1rem;border-left:5px solid var(--wsc-green);border-radius:4px;background:#f5fbf0}.wsc-countdown-label{margin-right:.3rem}.wsc-countdown.is-expired{border-color:#dba617;background:#fff9e6}

/* Local, non-uploading selection preview. */
.wsc-wrap .wsc-logo-input { min-width: 0; }
.wsc-wrap .wsc-logo-input > label { display: block; margin-bottom: 6px; }
.wsc-wrap .wsc-logo-input [hidden] { display: none !important; }
.wsc-wrap .wsc-logo-input [data-wsc-logo-preview] { margin: 14px 0; padding: 14px; border: 1px solid #cbd8df; border-radius: 8px; background: #f7faf8; }
.wsc-wrap .wsc-logo-input img { display: block; max-width: 100%; max-height: 240px; width: auto; height: auto; object-fit: contain; }
.wsc-wrap .wsc-logo-input p { overflow-wrap: anywhere; }
.wsc-wrap .wsc-logo-tools { display: flex; flex-wrap: wrap; gap: 10px; }
.wsc-wrap .wsc-logo-tools button { min-height: 44px; width: auto; padding: 8px 12px; border: 1px solid #126a50; border-radius: 6px; color: #084c3a; background: #fff; font: inherit; cursor: pointer; }
.wsc-wrap .wsc-logo-tools button:focus-visible { outline: 3px solid #084c3a; outline-offset: 3px; }
.wsc-wrap .wsc-logo-error { color: #8b1f1f; padding: 10px; border-left: 4px solid #8b1f1f; background: #fff1f1; }
.wsc-wrap .wsc-logo-status { font-size: 0.9em; }
.wsc-wrap .wsc-form :is(input,select,textarea):focus-visible { outline: 2px solid #126a50; outline-offset: 2px; border-color: #084c3a; }
.wsc-wrap .wsc-submit:hover, .wsc-wrap .wsc-submit:focus { background: #084c3a; outline: 2px solid #126a50; outline-offset: 2px; }
.wsc-wrap .wsc-form input[type="checkbox"], .wsc-wrap .wsc-form input[type="radio"] { accent-color: #126a50; }

/* Public registration: one clear reading path, with related fields sharing a row. */
.wsc-wrap { max-width: 840px; margin-bottom: 3.5rem; }
.wsc-wrap .wsc-form-header {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    min-width: 0;
    margin-bottom: 1.25rem;
    padding: 1.25rem 1.5rem;
    border-left: 5px solid #126a50;
    border-radius: 10px;
    background: #f1f8f4;
}
.wsc-wrap .wsc-form-header .wsc-event-logo { display: flex; flex: 0 0 104px; align-items: center; justify-content: center; margin: 0; }
.wsc-wrap .wsc-form-header .wsc-event-logo img { max-width: 104px; max-height: 104px; }
.wsc-wrap .wsc-form-heading { flex: 1; min-width: 0; }
.wsc-wrap .wsc-form-heading h2 { margin: 0 0 .4rem; line-height: 1.2; overflow-wrap: break-word; }
.wsc-wrap .wsc-form-heading .wsc-event-date { margin: 0; line-height: 1.45; }
.wsc-wrap .wsc-intro { margin: 0 0 1rem; }
.wsc-wrap .wsc-required { margin: 0 0 1rem; line-height: 1.45; }
.wsc-wrap .wsc-form { gap: 1.65rem; }
.wsc-wrap .wsc-form fieldset {
    min-width: 0;
    gap: 1.15rem;
    padding: 1.45rem;
    border: 1px solid #cbd8d1;
    border-left: 4px solid #126a50;
    border-radius: 10px;
    background: #fff;
}
.wsc-wrap .wsc-form legend { max-width: 100%; padding: .1rem .6rem; font-size: 1.25rem; line-height: 1.35; font-weight: 700; color: #084c3a; }
/* Inline required markers must stay with their field names. */
.wsc-wrap .wsc-form label:not(.wsc-check) { display: block; min-width: 0; line-height: 1.4; }
.wsc-wrap .wsc-form label:not(.wsc-check) > :is(input, select, textarea) { display: block; margin-top: .45rem; }
.wsc-wrap .wsc-form :is(input:not([type="checkbox"]), select, textarea) { max-width: 100%; border-color: #627d70; font-weight: 400; }
.wsc-wrap .wsc-form .wsc-field-pair {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid #dbe9e0;
    border-radius: 8px;
    background: #f6faf8;
}
.wsc-wrap .wsc-form .wsc-consents .wsc-check {
    grid-column: 1 / -1;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: .8rem;
    min-width: 0;
    padding: 1rem;
    border: 1px solid #dbe9e0;
    border-radius: 8px;
    background: #f6faf8;
    cursor: pointer;
}
.wsc-wrap .wsc-form .wsc-consents .wsc-check input { width: 24px; height: 24px; margin: 0; }
.wsc-wrap .wsc-form .wsc-consents .wsc-check span { overflow-wrap: break-word; }
.wsc-wrap .wsc-form .wsc-submit {
    justify-self: center;
    width: min(100%, 360px);
    min-height: 54px;
    margin: .15rem 0 1.5rem;
    font-weight: 700;
}
@media (max-width: 680px) {
    .wsc-wrap .wsc-form fieldset { grid-template-columns: minmax(0, 1fr); padding: 1.1rem; }
    .wsc-wrap .wsc-form .wsc-field-pair { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .wsc-wrap .wsc-form .wsc-submit { width: 100%; }
}
@media (max-width: 480px) {
    .wsc-wrap .wsc-form-header { flex-direction: column; align-items: flex-start; gap: .75rem; padding: 1rem; }
    .wsc-wrap .wsc-form-header .wsc-event-logo { flex-basis: auto; }
    .wsc-wrap .wsc-form-header .wsc-event-logo img { max-width: 76px; max-height: 76px; }
    .wsc-wrap .wsc-form legend { font-size: 1.15rem; }
}

/* Warteliste und Anmeldeschluss sind offene bzw. gesperrte Zustände. */
.wsc-wrap .wsc-notice.wsc-waitlist,
.wsc-wrap .wsc-notice.wsc-closed { border-left-color: #855b0f; background: #fff3d6; color: #674810; }
.wsc-wrap .wsc-countdown.is-expired { border-left-color: #855b0f; background: #fff3d6; color: #674810; }
