/*
 * Bootstrap-5-Kompatibilität für femanager  (projekt-eigenes Override)
 * --------------------------------------------------------------------
 * Bewusst HIER (azmanager), NICHT im femanager-Paket: femanager läuft aktuell
 * als Early-Access-Kopie unter packages/femanager. Sobald femanager für TYPO3 14
 * regulär über Composer kommt, wird packages/femanager ersetzt – Anpassungen im
 * Paket wären dann weg. Als azmanager-Ressource übersteht dieses Override den
 * Umstieg und wird via EXT:azmanager/…/setup.typoscript (page.includeCSS) geladen.
 *
 * Zweck: Die femanager-Partials verwenden Bootstrap-3-Markup (form-horizontal,
 * form-group, col-sm-* OHNE .row, control-label, .checkbox, .btn-large). In
 * Bootstrap 5 gibt es diese Klassen nicht mehr → das Grid bricht aus dem Container
 * aus und Labels/Buttons sind unformatiert. Dieses CSS neutralisiert das BS3-Grid
 * und mappt die Reste auf ein sauberes, vertikales BS5-Formular. Alles auf
 * .tx-femanager gescoped, damit keine anderen Bootstrap-Grids betroffen sind.
 */

/* Feldabstand (BS3 .form-group → BS5 .mb-3) + die negativen BS3-Gutter-Ränder
   nullen (.form-horizontal .form-group hat margin-left/right: -15px → Überlauf).
   display:block erzwingen: eine Theme-Regel setzt die Fieldsets auf display:flex;
   in Flex behält ein rohes File-Input (min-width:auto) seine Eigenbreite (~308px)
   und bricht aus. Block = sauberes vertikales Layout, alle Felder eingegrenzt. */
.tx-femanager .femanager_fieldset,
.tx-femanager .form-group {
    display: block;
    margin-bottom: 1rem;
    margin-left: 0;
    margin-right: 0;
}

/* Datei-Upload: femanager nutzt BS4-.custom-file-Markup (in BS5 entfernt) bzw. ein
   rohes File-Input. Auf volle Breite eingrenzen; das überflüssige BS4-Overlay-Label
   ausblenden (das echte Input ist sichtbar). */
.tx-femanager .custom-file {
    display: block;
    width: 100%;
}
.tx-femanager .custom-file-input,
.tx-femanager input[type="file"] {
    display: block;
    width: 100%;
    max-width: 100%;
}
.tx-femanager .custom-file-label {
    display: none;
}

/* BS3-Spaltengrid abschalten: femanager hat KEIN .row, dadurch verursachen die
   col-Paddings/Offsets Überlauf. Volle Breite, kein Padding, kein Offset. */
.tx-femanager [class^="col-sm-"],
.tx-femanager [class*=" col-sm-"] {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
}

/* Labels (BS3 .control-label → BS5 .form-label) */
.tx-femanager .control-label {
    display: block;
    margin-bottom: .35rem;
    font-weight: 500;
}

/* Eingabefelder – .form-control ist in BS5 gültig, nur Breite absichern */
.tx-femanager .form-control,
.tx-femanager .form-select {
    display: block;
    width: 100%;
}

/* Checkbox/Radio (BS3 .checkbox/.radio → BS5 .form-check-Optik) */
.tx-femanager .checkbox,
.tx-femanager .radio {
    position: relative;
    display: block;
    min-height: 1.5rem;
    padding-left: 1.6em;
    margin-bottom: .25rem;
}
.tx-femanager .checkbox label,
.tx-femanager .radio label {
    margin-bottom: 0;
    font-weight: 400;
}
.tx-femanager .checkbox input[type="checkbox"],
.tx-femanager .radio input[type="radio"] {
    margin-left: -1.6em;
    margin-top: .3rem;
}

/* Radiogruppen (z. B. Gender) nebeneinander lesbar halten */
.tx-femanager .femanager_gender .radio {
    display: inline-block;
    margin-right: 1.25rem;
}

/* Button (BS3 .btn-large → BS5 .btn-lg); btn/btn-primary greifen bereits */
.tx-femanager .btn-large {
    padding: .5rem 1rem;
    font-size: 1.05rem;
    border-radius: .375rem;
}

/* Pflichtfeld-Stern */
.tx-femanager label > span {
    color: #dc3545;
}

/* Fieldset/Legend etwas ruhiger */
.tx-femanager fieldset {
    border: 0;
    padding: 0;
    margin: 0;
}
.tx-femanager legend {
    font-size: 1.25rem;
    margin-bottom: 1rem;
}
