/* FFREM Brand overrides for Bootstrap 5 – loaded by all FFREM projects */

/* ── Farben ─────────────────────────────────────────────────────────────── */
:root {
    --bs-primary:           #8f0f13;
    --bs-primary-rgb:       143, 15, 19;
    --bs-link-color:        #8f0f13;
    --bs-link-color-rgb:    143, 15, 19;
    --bs-link-hover-color:  #6b0b0e;
}

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.btn-primary {
    --bs-btn-bg:                   #8f0f13;
    --bs-btn-border-color:         #8f0f13;
    --bs-btn-hover-bg:             #760c10;
    --bs-btn-hover-border-color:   #760c10;
    --bs-btn-active-bg:            #6b0b0e;
    --bs-btn-active-border-color:  #6b0b0e;
    --bs-btn-disabled-bg:          #8f0f13;
    --bs-btn-disabled-border-color:#8f0f13;
    --bs-btn-color:                #fff;
    --bs-btn-hover-color:          #fff;
    --bs-btn-active-color:         #fff;
}

.btn-outline-primary {
    --bs-btn-color:                #8f0f13;
    --bs-btn-border-color:         #8f0f13;
    --bs-btn-hover-bg:             #8f0f13;
    --bs-btn-hover-border-color:   #8f0f13;
    --bs-btn-hover-color:          #fff;
    --bs-btn-active-bg:            #760c10;
    --bs-btn-active-border-color:  #760c10;
    --bs-btn-active-color:         #fff;
}

/* ── Utility-Overrides ───────────────────────────────────────────────────── */
.bg-primary     { background-color: #8f0f13 !important; }
.text-primary   { color: #8f0f13 !important; }
.border-primary { border-color: #8f0f13 !important; }
.progress-bar   { background-color: #8f0f13 !important; }

/* ── Layout ──────────────────────────────────────────────────────────────── */
body    { background-color: #f4f6f9; }
.sidebar { background-color: #1c1f2a !important; max-width: 280px; }

/* ── Sidebar-Navigation ──────────────────────────────────────────────────── */
.sidebar .nav-link { color: #dee2e6; transition: background-color .15s, color .15s; }
.sidebar .nav-link:hover,
.sidebar .nav-link.active { color: #fff; background-color: rgba(255,255,255,.1); border-radius: 4px; }
.sidebar .nav-link i { width: 20px; }
.sidebar li form { display: contents; }
.sidebar .nav-section {
    font-size: .7rem;
    text-transform: uppercase;
    color: #6c757d;
    padding: .25rem .75rem;
    margin-top: .75rem;
    letter-spacing: .05em;
}
@media (min-width: 992px) {
    .sidebar-sticky { position: sticky; top: 0; max-height: 100vh; overflow: hidden auto; }
}

/* Sidebar-Untermenü-Links (kontextbezogene Aktionen) */
.sidebar-action-link { padding-left: calc(0.75rem + 20px); }
.sidebar-action-icon { width: 14px; font-size: .8rem; }

/* ── Tabellen ────────────────────────────────────────────────────────────── */
/* Horizontales Zell-Padding für card-wrapped tables */
.card .table { --bs-table-cell-padding-x: 0.75rem; }

/* Responsive Karten-Tabelle: Desktop = Tabelle, Mobile = aufklappbare Karten */
@media (max-width: 767.98px) {
    .table-cards,
    .table-cards tbody { display: block; width: 100%; }
    .table-cards thead,
    .table-cards tfoot  { display: none; }
    .table-cards tbody tr {
        display: block;
        border: 1px solid var(--bs-border-color);
        border-radius: var(--bs-border-radius);
        margin-bottom: 0.5rem;
        overflow: hidden;
    }
    .table-cards tbody td { display: none; }
    .table-cards tbody td.booking-card-cell { display: block !important; padding: 0; }
}

.booking-card-toggle {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0.6rem 0.75rem;
    cursor: pointer;
    background: none;
    border: none;
    border-left: 4px solid var(--bs-primary);
    width: 100%;
    text-align: left;
    gap: 0.5rem;
    color: var(--bs-body-color);
}
.bc-chevron { transition: transform 0.2s ease; margin-top: 0.15rem; }
.booking-card-toggle[aria-expanded="true"] .bc-chevron { transform: rotate(180deg); }
.booking-card-details {
    border-top: 1px solid var(--bs-border-color-translucent);
    padding: 0.25rem 0;
    background-color: var(--bs-tertiary-bg, #f8f9fa);
}
.bc-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 0.3rem 0.75rem;
    border-bottom: 1px solid var(--bs-border-color-translucent);
    font-size: 0.875rem;
}
.bc-detail-row:last-child { border-bottom: none; }
.bc-detail-label {
    color: var(--bs-secondary-color);
    font-weight: 600;
    flex-shrink: 0;
    margin-right: 1rem;
}
.booking-card-toggle.bc-active   { border-left-color: var(--bs-success); }
.booking-card-toggle.bc-inactive { border-left-color: var(--bs-secondary); }

/* ── CakePHP-Fixes ───────────────────────────────────────────────────────── */
/* postLink rendert ein verstecktes <form> als Block-Element */
td form:not(.d-flex), p form { display: inline; }
