/* Footer: minimal override, EasyAdmin-compatible */
.dashboard-footer {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 0.4rem 1.5rem;
    border-top: 1px solid var(--border-color);
}

.dashboard-content {
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
}

.dashboard-content a {
    color: var(--bs-link-color, var(--bs-primary));
    text-decoration: none;
    border-radius: 3px;
}

.dashboard-content a:hover,
.dashboard-content a:focus-visible {
    text-decoration: underline;
}

.dashboard-content a:focus-visible {
    outline: 2px solid var(--bs-primary);
    outline-offset: 2px;
}

.footer-version {
    font-size: 0.75rem;
    color: var(--text-muted);
}

/* Reserve space for scrollbar so footer stays centered when scrollbar appears */
html:has(.dashboard-footer-admin),
html:has(.page-login),
html:has(.public-page) {
    scrollbar-gutter: stable;
}

/* Admin: fixed footer at bottom, space reserved for content */
.dashboard-footer-admin {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    z-index: 1030;
    background: var(--body-bg);
    flex-direction: row;
    justify-content: space-between;
}

/* Login page: footer at bottom, space for logo at top */
/* Extra top padding for browser with bookmarks bar */
.login-page-layout {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    width: 100%;
    padding-top: 5rem;
}

.login-page-layout .login-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Logo: ensure space above, do not shrink */
.login-page-layout .main-header {
    overflow: visible;
}

.login-page-layout .dashboard-footer {
    flex-shrink: 0;
}

/* Enhanced contrast for footer-version to pass WCAG 4.5:1 ratio */
[data-bs-theme="dark"] .footer-version,
.ea-dark-scheme .footer-version {
    color: var(--bs-gray-500) !important;
}
