:root{--caritas-red: #c62828;--caritas-red-dark: #8e0000;--surface: #ffffff;--text: #1a1a1a;--text-muted: #5c5c5c;--border: #d4d4d4;--bg: #f4f4f5;--radius: 6px;--shadow: 0 8px 28px rgba(0, 0, 0, .08);font-family:"Source Sans 3",Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.45;color:var(--text);background:var(--bg)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100vh}.page{max-width:720px;margin:0 auto;padding:2rem 1.25rem 3rem}@media(min-width:900px){.page{max-width:1120px}}.register-layout{display:flex;flex-direction:column;align-items:stretch;gap:1.5rem}.register-layout__aside{display:none}@media(min-width:900px){.register-layout{flex-direction:row;align-items:flex-start;gap:1.75rem}.register-layout__main{flex:1 1 0;min-width:0}.register-layout__aside{display:block;flex:0 0 clamp(260px,32vw,360px);position:sticky;top:1.25rem;align-self:flex-start}}.fields-guide-stack{display:flex;flex-direction:column;gap:1.1rem}.fields-guide-stack--desktop{display:none}@media(min-width:900px){.fields-guide-stack--desktop{display:flex}}.fields-guide-card__title{margin:0 0 .4rem;font-size:.8rem;font-weight:600;line-height:1.3;color:var(--text-muted);letter-spacing:.02em}.fields-guide{margin:0;padding:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);box-shadow:0 2px 14px #0000000f;background:var(--surface)}.fields-guide img{display:block;width:100%;height:auto}.fields-guide-stack--mobile{margin:0 0 1.25rem}@media(min-width:900px){.fields-guide-stack--mobile{display:none}}.header{text-align:center;margin-bottom:1.75rem}.header__logo{display:block;width:140px;max-width:min(160px,42vw);height:auto;margin:0 auto .35rem}.header__sub{margin:.5rem 0 0;color:var(--text-muted);font-size:1rem}.card{background:var(--surface);border-radius:10px;box-shadow:var(--shadow);border:1px solid var(--border);padding:1.75rem 1.5rem 2rem}@media(min-width:640px){.card{padding:2rem 2.25rem 2.25rem}}.form{display:flex;flex-direction:column;gap:1.5rem}.fieldset{margin:0;padding:0;border:none}.legend,.form-section-heading{display:block;width:fit-content;max-width:100%;font-size:1.1rem;font-weight:700;padding:0 0 .5rem;margin:0 0 .65rem;border-bottom:3px solid var(--caritas-red)}.form-section-heading{margin-top:0}.hint{margin:0 0 1rem;font-size:.92rem;color:var(--text-muted)}.field{display:block;margin-bottom:1rem}.field--float{position:relative;padding:0}.field--full{grid-column:1 / -1}.field__label{position:absolute;left:.75rem;top:1.05rem;font-weight:600;font-size:1rem;line-height:1.2;color:var(--text-muted);pointer-events:none;transition:top .18s ease,font-size .18s ease,color .15s ease;max-width:calc(100% - 1.5rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.field--float .input:focus~.field__label,.field--float .input:not(:placeholder-shown)~.field__label,.field--float textarea:focus~.field__label,.field--float textarea:not(:placeholder-shown)~.field__label{top:.42rem;font-size:.75rem}.field--float .input:focus~.field__label,.field--float textarea:focus~.field__label{color:var(--caritas-red)}.field--float .input:not(:placeholder-shown):not(:focus)~.field__label,.field--float textarea:not(:placeholder-shown):not(:focus)~.field__label{color:var(--text-muted)}.field--float .input:-webkit-autofill~.field__label,.field--float textarea:-webkit-autofill~.field__label{top:.42rem;font-size:.75rem;color:var(--text-muted)}.req{color:var(--caritas-red);font-weight:700}.input{width:100%;padding:1.2rem .75rem .5rem;font:inherit;font-size:1rem;border:1px solid var(--border);border-radius:var(--radius);background:#fff;transition:border-color .15s,box-shadow .15s}.field--float .input::placeholder,.field--float textarea::placeholder{color:transparent}.input:focus{outline:none;border-color:var(--caritas-red);box-shadow:0 0 0 3px #c628281f}.input--textarea{min-height:6.25rem;resize:vertical;line-height:1.45;padding-top:1.45rem}.field--float .input--textarea~.field__label{top:1.1rem;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.field--float .input--textarea:focus~.field__label,.field--float .input--textarea:not(:placeholder-shown)~.field__label{top:.42rem;display:block;-webkit-line-clamp:unset;white-space:nowrap}.grid-2{display:grid;gap:0 1rem}@media(min-width:560px){.grid-2{grid-template-columns:1fr 1fr}}.row-group-label{margin:.85rem 0 .35rem;font-size:.9rem;font-weight:600;color:var(--text-muted)}.form-row-triple,.form-row-double{display:grid;gap:0 .75rem;margin-bottom:.35rem;align-items:end}.form-row-triple{grid-template-columns:repeat(3,minmax(0,1fr))}.form-row-double{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row-street{display:grid;gap:0 1rem;margin-bottom:.75rem;align-items:end;grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.form-row-plz-stadt{display:grid;gap:0 1rem;align-items:end;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.field--in-row{margin-bottom:.65rem}@media(max-width:480px){.form-row-triple{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 .45rem}.form-row-triple .field__label{font-size:.85rem}.form-row-triple .field--float .input:focus~.field__label,.form-row-triple .field--float .input:not(:placeholder-shown)~.field__label{font-size:.68rem}.form-row-street,.form-row-plz-stadt{grid-template-columns:1fr 1fr;gap:0 .5rem}}.tel-fax-block{margin:1.75rem 0;padding:0}.tel-fax-block .row-group-label{margin:1.25rem 0 .45rem}.tel-fax-block .form-section-heading+.row-group-label{margin-top:0}.tel-fax-block .form-row-triple,.tel-fax-block .form-row-double{margin-bottom:.5rem}.address-block{margin-top:1.75rem}.actions{display:flex;justify-content:flex-end;margin-top:.5rem}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;font-weight:600;font-size:1rem;padding:.75rem 1.5rem;border:none;border-radius:var(--radius);background:linear-gradient(180deg,var(--caritas-red) 0%,var(--caritas-red-dark) 100%);color:#fff;cursor:pointer;box-shadow:0 2px 8px #8e000040;transition:transform .08s,box-shadow .15s,opacity .15s}.btn:hover:not(:disabled){box-shadow:0 4px 14px #8e000059}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.65;cursor:not-allowed}.message{padding:.85rem 1rem;border-radius:var(--radius);font-size:.95rem}.message--error{background:#ffebee;color:#b71c1c;border:1px solid #ffcdd2}.message--success{background:#e8f5e9;color:#1b5e20;border:1px solid #c8e6c9}
