.event-entry-form{display:grid;gap:22px}.form-section{background:#fff;border:1px solid #ddd;padding:22px}.form-section h2{margin-top:0}.form-section label>span{display:block;margin-bottom:6px;font-weight:700}.form-section input,.form-section select,.form-section textarea{width:100%;min-height:42px;border:1px solid #c8c8c8;padding:8px 10px;font:inherit}.form-grid-2,.form-grid-3,.form-grid-4{display:grid;gap:14px;margin-bottom:14px}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.category-box{border:1px solid #ddd;padding:12px}.price-row{display:grid;grid-template-columns:2fr 1fr 100px 42px;gap:8px;margin-bottom:8px}.form-actions{display:flex;justify-content:flex-end;gap:12px}.form-actions button,.secondary-button{min-height:44px;border:0;background:#151515;color:#fff;padding:0 18px;font-weight:700;cursor:pointer}.secondary-button{background:#666}.account-actions{display:flex;gap:15px;align-items:center}.user-event-list{display:grid;gap:10px}.user-event-row{background:#fff;border:1px solid #ddd;padding:16px;display:flex;justify-content:space-between;gap:20px;align-items:center}.status-badge{display:inline-block;padding:5px 8px;background:#eee;font-size:12px;font-weight:700;text-transform:uppercase}@media(max-width:800px){.form-grid-4,.form-grid-3,.form-grid-2,.category-grid{grid-template-columns:1fr}.price-row{grid-template-columns:1fr 1fr 80px 42px}.form-actions{flex-direction:column}}


.category-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}
.category-box{
    background:#fff;
    border:1px solid #d9d9d9;
    padding:18px 20px;
}
.category-title{
    font-weight:700;
    font-size:1.2rem;
    margin-bottom:14px;
}
.category-options{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.category-option{
    display:flex;
    align-items:flex-start;
    gap:10px;
}
.category-option input[type=checkbox]{
    width:20px;
    min-height:20px;
    margin-top:2px;
    flex:0 0 20px;
}
.category-option span{
    display:block;
}
.subcategory-option{
    padding-left:18px;
}
@media (max-width: 900px){
    .category-grid{
        grid-template-columns:1fr;
    }
}

/* Checkbox-Zeilen im Formular sauber darstellen */
.checkbox-row{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    gap:10px !important;
    margin:10px 0 !important;
}

.checkbox-row input[type="checkbox"]{
    width:20px !important;
    height:20px !important;
    min-height:20px !important;
    flex:0 0 20px !important;
    margin:0 !important;
}

.checkbox-row span{
    display:block !important;
    margin:0 !important;
    font-weight:400 !important;
    line-height:1.35 !important;
}

/* Bei Checkbox-Feldern mit eigener Überschrift */
.checkbox-field{
    margin-top:14px;
}

.checkbox-field-title{
    display:block;
    font-weight:700;
    margin-bottom:8px;
}


/* Checkboxen immer NACH der Bezeichnung */
.form-section .checkbox-choice,
.form-section .category-option {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 10px !important;
}

.form-section .checkbox-choice span,
.form-section .category-option span {
    order: 1 !important;
    width: auto !important;
    margin: 0 !important;
}

.form-section .checkbox-choice input[type="checkbox"],
.form-section .category-option input[type="checkbox"] {
    order: 2 !important;
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    min-height: 18px !important;
    max-width: 18px !important;
    margin: 0 !important;
    flex: 0 0 18px !important;
}


/* Anmeldung erforderlich: Text zuerst, Checkbox danach */
.form-section .registration-checkbox{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    width:auto !important;
    margin:14px 0 !important;
}

.form-section .registration-checkbox span{
    display:inline-block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-weight:700 !important;
}

.form-section .registration-checkbox input[type="checkbox"]{
    appearance:auto !important;
    -webkit-appearance:checkbox !important;
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
    max-width:18px !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 18px !important;
}

/* Anmeldung erforderlich: Checkbox direkt unter der Beschriftung */
.form-section .registration-checkbox{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:auto !important;
    margin:14px 0 16px 0 !important;
}

.form-section .registration-checkbox span{
    display:block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-weight:700 !important;
}

.form-section .registration-checkbox input[type="checkbox"]{
    appearance:auto !important;
    -webkit-appearance:checkbox !important;
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
    max-width:18px !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 18px !important;
}

/* Anmeldung erforderlich: Checkbox direkt unter der Beschriftung */
.form-section .registration-checkbox{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:8px !important;
    width:auto !important;
    margin:14px 0 16px 0 !important;
}

.form-section .registration-checkbox span{
    display:block !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    font-weight:700 !important;
}

.form-section .registration-checkbox input[type="checkbox"]{
    appearance:auto !important;
    -webkit-appearance:checkbox !important;
    width:18px !important;
    height:18px !important;
    min-width:18px !important;
    min-height:18px !important;
    max-width:18px !important;
    margin:0 !important;
    padding:0 !important;
    flex:0 0 18px !important;
}

#registration-required-field{
    display:block !important;
    width:100% !important;
    margin:14px 0 18px 0 !important;
    padding:0 !important;
    text-align:left !important;
}

#registration-required-field .registration-required-title{
    display:block !important;
    margin:0 0 6px 0 !important;
    padding:0 !important;
    width:auto !important;
    font-weight:700 !important;
    text-align:left !important;
}

#registration-required-checkbox{
    all:unset !important;
    -webkit-appearance:checkbox !important;
    appearance:checkbox !important;
    display:block !important;
    box-sizing:border-box !important;
    width:18px !important;
    height:18px !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    float:none !important;
    transform:none !important;
}


/* Große Checkbox Anmeldung erforderlich */
#registration-required-checkbox{
    all:unset !important;
    -webkit-appearance:checkbox !important;
    appearance:checkbox !important;
    display:block !important;
    box-sizing:border-box !important;
    width:32px !important;
    height:32px !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    float:none !important;
    transform:none !important;
}

/* Veranstalterdaten speichern: Text zuerst, Checkbox darunter */
#save-organizer-field{
    display:block !important;
    width:100% !important;
    margin:18px 0 0 0 !important;
    padding:0 !important;
    text-align:left !important;
}

#save-organizer-field .save-organizer-title{
    display:block !important;
    width:auto !important;
    margin:0 0 7px 0 !important;
    padding:0 !important;
    font-weight:700 !important;
    text-align:left !important;
}

#save-organizer-checkbox{
    all:unset !important;
    -webkit-appearance:checkbox !important;
    appearance:checkbox !important;
    display:block !important;
    box-sizing:border-box !important;
    width:32px !important;
    height:32px !important;
    margin:0 !important;
    padding:0 !important;
    position:static !important;
    float:none !important;
    transform:none !important;
}


/* Formularanpassungen */
.form-third {
    width: calc(33.333% - 10px);
    min-width: 260px;
    margin-bottom: 14px;
}

.form-section textarea[name="short_description"] {
    height: 70px !important;
    min-height: 70px !important;
    max-height: 70px !important;
    overflow-y: auto !important;
    resize: none !important;
}

.form-section textarea[name="description"] {
    height: 120px !important;
    min-height: 120px !important;
    max-height: 120px !important;
    overflow-y: auto !important;
    resize: none !important;
}

.privacy-text {
    line-height: 1.55;
    max-width: 1200px;
}

.privacy-confirm {
    display: block !important;
    margin-top: 15px !important;
}

.privacy-confirm-title {
    display: block !important;
    font-weight: 700 !important;
    margin-bottom: 7px !important;
}

.privacy-confirm input[type="checkbox"] {
    all: revert !important;
    appearance: checkbox !important;
    -webkit-appearance: checkbox !important;
    display: block !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
}

@media(max-width:800px) {
    .form-third {
        width:100%;
        min-width:0;
    }
}


/* Eintrittspreise */
.price-category-row {
    display:grid;
    grid-template-columns: minmax(260px, 2fr) minmax(130px, 1fr) 44px;
    gap:12px;
    align-items:center;
    margin-bottom:10px;
}

.price-category-row input {
    margin:0 !important;
}

.price-remove {
    width:44px;
    height:44px;
    border:1px solid #bbb;
    background:#eee;
    cursor:pointer;
    font-size:24px;
}

.price-add-button {
    display:inline-flex;
    align-items:center;
    gap:9px;
    margin-top:5px;
    padding:9px 14px;
    border:1px solid #bbb;
    background:#eee;
    cursor:pointer;
    font-weight:700;
}

.price-plus {
    font-size:22px;
    line-height:1;
}

#registrationDeadlineField {
    margin-bottom:14px;
}

#organizerExtraFields {
    margin-top:16px;
}

@media(max-width:800px) {
    .price-category-row {
        grid-template-columns:1fr;
    }

    .price-remove {
        width:44px;
    }
}


/* R24_PRICE_ROW_LAYOUT_V1 */

/* Jede Eintrittskategorie zwingend in einer einzigen Zeile */
#priceRows .price-category-row {
    display: grid !important;
    grid-template-columns:
        minmax(240px, 1fr)
        180px
        42px !important;
    column-gap: 10px !important;
    align-items: center !important;
    width: 100% !important;
    margin: 0 0 10px 0 !important;
}

/* Bezeichnung und Preis */
#priceRows .price-category-row .price-title,
#priceRows .price-category-row .price-value {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    box-sizing: border-box !important;
}

/* Löschen-X bleibt rechts in derselben Zeile */
#priceRows .price-category-row .price-remove {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    min-width: 42px !important;
    height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 20px !important;
    line-height: 1 !important;
}

/* Plus-Schaltfläche in normaler Formularschrift */
#addPrice.price-add-button {
    font: inherit !important;
    font-size: 1rem !important;
    line-height: 1.25 !important;
}

#addPrice .price-plus {
    font: inherit !important;
    font-size: 1rem !important;
    line-height: 1 !important;
}

/* Auch auf kleineren Bildschirmen bleibt die Preiszeile zusammen */
@media (max-width: 700px) {
    #priceRows .price-category-row {
        grid-template-columns:
            minmax(150px, 1fr)
            110px
            38px !important;
        column-gap: 6px !important;
    }

    #priceRows .price-category-row .price-remove {
        width: 38px !important;
        min-width: 38px !important;
    }
}


/* Weitere Kategorie hinzufügen: normale Formularschrift */
#addPrice,
#addPrice.price-add-button,
#addPrice.price-add-button span,
#addPrice .price-plus {
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
}

/* Abstand nach Preis-Kategorien */
#addPrice {
    margin-bottom: 22px !important;
}

/* Schriftgröße des Hinzufügen-Buttons an Formular anpassen */
#addPrice,
#addPrice span {
    font-family: inherit !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
}

/* R24_UPLOAD_LAYOUT_FIX_V1 */
.upload-section .upload-field {
    display: block;
    margin-bottom: 20px;
}

.upload-section .upload-field small {
    display: block;
    margin-top: 8px;
    line-height: 1.4;
}

.upload-section .upload-pdf-help {
    margin: 24px 0 17px 0 !important;
    line-height: 1.4;
}

