/* BS4-Kompatibilitaet bis Phase 3 (Plan 1.1.0.0): Regeln der Formular-/Kompat-Familie aus dem bisherigen BS4-Theme
   (bootstrap.min.css, Build 4.5.0), damit form-group/form-row/form-inline/custom-control*/custom-file/close/
   input-group-append+prepend/media/embed-responsive/btn-group-toggle unter Bootstrap 5 aussehen wie heute.
   Erzeugt per Script aus dem Theme - nicht von Hand pflegen; faellt mit dem Contract (Phase 3) weg. */
@media (min-width:576px){.form-inline label{display:flex;align-items:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:flex;flex:0 0 auto;flex-flow:row wrap;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:flex;align-items:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}
@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}
@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label{transition:none}}
.form-group{margin-bottom:1rem}
.form-row{display:flex;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}
.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}
.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}
.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}
.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}
.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .1rem rgba(40,167,69,.25)}
.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}
.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}
.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .1rem rgba(40,167,69,.25)}
.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}
.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}
.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}
.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .1rem rgba(220,53,69,.25)}
.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}
.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}
.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .1rem rgba(220,53,69,.25)}
.form-inline{display:flex;flex-flow:row wrap;align-items:center}
.form-inline .form-check{width:100%}
.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}
.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}
.input-group>.custom-file{position:relative;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}
.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.form-control+.custom-file,.input-group>.form-control-plaintext+.custom-file{margin-left:-1px}
.input-group>.custom-file .custom-file-input:focus~.custom-file-label{z-index:3}
.input-group>.custom-file .custom-file-input:focus{z-index:4}
.input-group>.custom-file{display:flex;align-items:center}
.input-group-append,.input-group-prepend{display:flex}
.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}
.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}
.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}
.input-group-prepend{margin-right:-1px}
.input-group-append{margin-left:-1px}
.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5}
.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}
.custom-control{position:relative;display:block;min-height:1.5rem;padding-left:1.5rem}
.custom-control-inline{display:inline-flex;margin-right:1rem}
.custom-control>.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}
.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#1c3d99;background-color:#1c3d99}
.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .1rem rgba(28,61,153,.25)}
.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#5579e0}
.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#809be8;border-color:#809be8}
.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6a6a6a}
.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}
.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}
.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#98978b solid 1px}
.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:no-repeat 50%/50% 50%}
.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}
.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#1c3d99;background-color:#1c3d99}
.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}
.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(28,61,153,.5)}
.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(28,61,153,.5)}
.custom-radio .custom-control-label::before{border-radius:50%}
.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}
.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(28,61,153,.5)}
.custom-switch{padding-left:2.25rem}
.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}
.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#98978b;border-radius:.5rem;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;transform:translateX(.75rem)}
.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(28,61,153,.5)}
.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}
.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;opacity:0}
.custom-file-input:focus~.custom-file-label{border-color:#5579e0;box-shadow:0 0 0 .1rem rgba(28,61,153,.25)}
.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}
.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}
.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}
.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-weight:400;line-height:1.5;color:#464646;background-color:#fff;border:1px solid #909090}
.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#464646;content:"Browse";background-color:#e9ecef;border-left:inherit}
.custom-control-label::before,.custom-file-label{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.alert-dismissible .close{position:absolute;top:0;right:0;padding:.75rem 1.25rem;color:inherit}
.media{display:flex;align-items:flex-start}
.media-body{flex:1}
.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}
.close:hover{color:#000;text-decoration:none}
.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}
button.close{padding:0;background-color:transparent;border:0}
a.close.disabled{pointer-events:none}
.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}
.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}
.embed-responsive::before{display:block;content:""}
.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}
.embed-responsive-21by9::before{padding-top:42.85714%}
.embed-responsive-16by9::before{padding-top:56.25%}
.embed-responsive-4by3::before{padding-top:75%}
.embed-responsive-1by1::before{padding-top:100%}

/* --- Handregeln (nicht aus dem Theme erzeugt) --- */
/* BS4 begrenzte die automatische Mindestbreite einer .col ueber width:100%; in BS5 (flex:1 0 0%) waechst .col auf die
   min-content-Breite des Inhalts (Swiper-Slides mit fester Pixelbreite) und die Spalten brechen um. Gemessen 02.11.2026
   auf der Startseite (#bodyContent 1355 statt 903 px). */
.row>.col{min-width:0}
/* btn-block (BS4): block statt inline-block - sonst Zeilenhoehe des Elternelements (z.B. h2) statt Knopfhoehe */
.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}
/* custom-select (BS4) ohne form-select-Zwilling (z.B. per PHP erzeugte Admin-Selects): Optik des BS5 form-select */
.custom-select{--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#464646;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid #909090;border-radius:0;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}
.custom-select:focus{border-color:#8e9ecc;outline:0;box-shadow:0 0 0 .1rem rgba(28,61,153,.25)}
.custom-select[multiple],.custom-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}
.custom-select:disabled{background-color:var(--bs-secondary-bg)}
.custom-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:0.875rem}
.custom-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}
/* select.form-control (BS4-Muster): BS5 .form-control setzt appearance:none, der native Pfeil verschwindet */
select.form-control:not(.form-select):not([multiple]):not([size]){appearance:auto}
