.my-table-container {
    border-radius: 6px;
    /* margin auf container übertragen, damit der border-radius auch unten zu sehen ist */
    margin-bottom: 1rem;
    overflow: hidden;
}

.my-table-container table {
    /* margin auf container übertragen, damit der border-radius auch unten zu sehen ist */
    margin-bottom: 0;
}

/* Wrapper für horizontales Scrollen */
.table-scroll-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* für sanftes Scrollen auf mobilen Geräten */
}

/* Warenkorb in der Höhe so anpassen, dass immer der gesamte Platz der Seite genutzt wird, aber die Tabelle vertikal scrollt, statt Elemente zu verdrängen */
.table-scroll-warenkorb {
    max-height: calc(100vh - var(--navbar-height) - 3rem - calc(1.2 * (1.375rem + 1.5vw)) - 1.5rem - 1rem - 78px - 45px - 1rem);
    overflow-y: auto;
}

@media (min-width: 1200px) {
    .table-scroll-warenkorb {
        max-height: calc(100vh - var(--navbar-height) - 3rem - calc(1.2 * (2.5rem)) - 1.5rem - 1rem - 78px - 45px - 1rem);
    }
}

.table-scroll-warenkorb table th {
    z-index: 1;
    /* Die input-group bei der Anbruch-Menge schiebt sich sonst über die Kopfzeile */
}

/* Bestellhistorie in der Höhe so anpassen, dass immer der gesamte Platz der Seite genutzt wird, aber die Tabelle vertikal scrollt, statt Elemente zu verdrängen */
.table-scroll-bestellung-historie {
    max-height: calc(100vh - var(--navbar-height) - 3rem - calc(1.2 * (1.375rem + 1.5vw)) - 1.5rem - 38px - 1.5rem - 1rem - 32px - 0.5rem - 45px);
    overflow-y: auto;
}

@media (min-width: 1200px) {
    .table-scroll-bestellung-historie {
        max-height: calc(100vh - var(--navbar-height) - 3rem - calc(1.2 * (2.5rem)) - 1.5rem - 38px - 1.5rem - 1rem - 32px - 0.5rem - 45px);
    }
}

@media (max-width: 767px) {
    .table-scroll-bestellung-historie {
        max-height: calc(100vh - var(--navbar-height) - 3rem - calc(1.2 * (1.375rem + 1.5vw)) - 1.5rem - 38px - 1rem - 38px - 1.5rem - 1rem - 32px - 0.5rem - 45px);
    }
}

/* Bestelldetails in der Höhe so anpassen, dass immer der gesamte Platz der Seite genutzt wird, aber die Tabelle vertikal scrollt, statt Elemente zu verdrängen */
.table-scroll-bestellung-details {
    max-height: calc(100vh - var(--navbar-height) - 3rem - calc(1.2 * (1.375rem + 1.5vw)) - 1.5rem - 1rem - 24px - 1rem - 45px);
    overflow-y: auto;
}

@media (min-width: 1200px) {
    .table-scroll-bestellung-details {
        max-height: calc(100vh - var(--navbar-height) - 3rem - calc(1.2 * (2.5rem)) - 1.5rem - 1rem - 24px - 1rem - 45px);
    }
}

@media (max-width: 490px), (min-width: 697px) and (max-width: 767px) {
    .table-scroll-bestellung-details {
        max-height: calc(100vh - var(--navbar-height) - 3rem - calc(2 * 1.2 * (1.375rem + 1.5vw)) - 1.5rem - 1rem - 24px - 1rem - 45px);
    }
}

.table-scroll-blacklist {
    max-height: 710px;
    padding-right: 10px;
}

.table-scroll-wrapper table th,
.table-scroll-wrapper table td {
    white-space: nowrap;
}

.table-scroll-wrapper thead th {
    position: sticky;
    top: 0;
}

.btn-sm-icon-xl {
    padding: 0;
    height: 1.9375rem;
    width: 2rem;
}

.btn-sm-icon-xl>i {
    font-size: 1.7rem;
    line-height: 1;
}

.btn-sm-icon-l {
    padding: 0;
    height: 2rem;
    width: 2rem;
}

.btn-sm-icon-l>i {
    font-size: 1.5rem;
    line-height: 1.25;
}

ul.center-ul {
    width: fit-content;
    margin: auto;
}

ul.center-ul>li {
    padding-left: 0.85rem;
}

.pointer {
    cursor: pointer;
}

p.keep-height:empty::before {
    content: "\00a0";
    /* Leerzeichen erzeugen, wenn kein Inhalt, um Höhe zu erhalten */
}

#alertPlaceholder {
    /*Notwendig, damit die Alerts keine anderen Elemente verschieben. Würde man die Alerts selbst absolut positionieren, wären alle übereinander*/
    z-index: 1090;
    /* Damit es über allen anderen Elementen anzeigt wird */
}

.alert {
    z-index: 1;
    /* Wird sonst eventuell verdeckt, wenn etwas absolut positioniert ist */
}

/* Tooltip auf z.B. dem Label einer Button-Group anzeigen, auch wenn es "gesperrt" ist. Für andere Arten von Elementen erstmal testen */
.disabled-tooltip {
    pointer-events: auto !important;
    /* Maus aktivieren, damit Tooltip angezeigt wird */
    cursor: default;
    /* Mauszeiger wieder zurücksetzen, damit es nicht aussieht als könnte man den Button anklicken */
}

.no-bullets {
    list-style-type: none;
}

.fixed-center {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.fixed-right {
    position: fixed;
    top: var(--navbar-height);
    right: 0%;
}

.fixed-top-center {
    position: fixed;
    top: var(--navbar-height);
    left: 50%;
    transform: translate(-50%, 0%);
    min-width: 80%;
    text-align: center;
}

.flatpickr-calendar {
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.15);
}

.flatpickr-day.selected {
    background: #0d6efd;
    border-color: #0d6efd;
}

.flatpickr-day:hover {
    background: rgba(13, 110, 253, 0.1);
}

.flatpickr-day.today {
    border-color: #0d6efd;
}

.flatpickr-months {
    border-bottom: 1px solid #eee;
}

.flatpickr-weekdays {
    background: #f8f9fa;
}

.flatpickr-day.flatpickr-disabled {
    color: #adb5bd !important;
    opacity: 0.7 !important;
    background: transparent !important;
}

.flatpickr-day:not(.flatpickr-disabled) {
    font-weight: 500;
}

.flatpickr-day.holiday {
    background: #ffe5e5;
    color: #d00;
}

#lieferdatumModalInput {
    height: 45px;
    border-radius: 8px;
    font-size: 15px;
}

.flatpickr-calendar,
.flatpickr-months,
.flatpickr-current-month,
.flatpickr-weekdays,
.flatpickr-days {
    font-family: inherit !important;
}

.flatpickr-current-month input.cur-year,
.flatpickr-current-month .flatpickr-monthDropdown-months {
    font-family: inherit !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #212529 !important;
}

.flatpickr-current-month {
    font-size: 16px;
    font-weight: 600;
}

.flatpickr-monthDropdown-months {
    font-weight: 600;
}

.flatpickr-day.flatpickr-disabled:hover {
    background: transparent;
}

.flatpickr-day {
    border-radius: 6px;
}

.flatpickr-day.selected {
    background: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #fff !important;
    box-shadow: 0 2px 6px rgba(13,110,253,0.3);
}

.flatpickr-calendar {
    border-radius: 12px !important;
    overflow: hidden;
}

.flatpickr-day {
    border-radius: 8px !important;
}

.flatpickr-day:hover:not(.flatpickr-disabled) {
    background: rgba(13, 110, 253, 0.15) !important;
}

.flatpickr-weekday {
    font-weight: 600;
    color: #6c757d;
}