/* Footer Styles with Dark Mode Support */

/* Light mode (default) */
:root {
    --footer-bg: #e3f2fd;  /* Light blue to match navbar */
    --footer-text: #212529;
    --footer-link: #0d6efd;
    --footer-link-hover: #0a58ca;
    --footer-btn-border: #0d6efd;
}

/* Dark mode */
[data-bs-theme="dark"] {
    --footer-bg: #1e2a38;
    --footer-text: rgba(255, 255, 255, 0.85);
    --footer-link: rgba(255, 255, 255, 0.85);
    --footer-link-hover: rgba(255, 255, 255, 1);
    --footer-btn-border: rgba(255, 255, 255, 0.85);
}

/* Footer base styles */
.page-footer {
    background-color: var(--footer-bg) !important;
    color: var(--footer-text) !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-top: auto !important;
    transition: padding 0.3s ease;
    line-height: 1.2;
    min-height: auto !important;
    height: auto !important;
}

.page-footer .row {
    margin: 0 !important;
    padding: 0 !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
}

.page-footer .row > [class*="col-"] {
    padding: 0.25rem 0.5rem !important;
}

.page-footer.expanded {
    padding: 0.5rem 0 !important;
}

.page-footer.expanded .row {
    margin-top: 0.5rem !important;
    margin-bottom: 0.5rem !important;
}

.page-footer.expanded .row > [class*="col-"] {
    padding: 0.5rem !important;
}

[data-bs-theme="dark"] .page-footer {
    border-top: 1px solid #495057;
}

.page-footer a {
    color: var(--footer-link) !important;
    transition: color 0.3s ease;
}

.page-footer a:hover {
    color: var(--footer-link-hover) !important;
}

.page-footer .btn-outline-primary {
    color: var(--footer-link) !important;
    border-color: var(--footer-btn-border) !important;
}

.page-footer .btn-outline-primary:hover {
    background-color: var(--footer-link) !important;
    color: #ffffff !important;
    border-color: var(--footer-link) !important;
}

.page-footer .grey-text {
    color: #6c757d !important;
}

[data-bs-theme="dark"] .page-footer .grey-text {
    color: rgba(255, 255, 255, 0.4) !important;
}

/* Logout button styling */
.page-footer button[type="button"] {
    color: var(--footer-link) !important;
}

.page-footer button[type="button"]:hover {
    color: var(--footer-link-hover) !important;
}

/* Desktop footer - compact by default, expands when scrolled to bottom */
@media (min-width: 768px) {
    .page-footer .row {
        opacity: 0.3;
        max-height: 2rem;
        overflow: hidden;
        transition: opacity 0.3s ease, max-height 0.3s ease;
    }

    .page-footer.expanded .row {
        opacity: 1;
        max-height: 200px;
    }
}

/* Mobile footer - hidden until scrolled to bottom */
@media (max-width: 767px) {
    #mobile-footer-content {
        opacity: 0;
        max-height: 0;
        overflow: hidden;
        transition: opacity 0.3s ease-in-out, max-height 0.3s ease-in-out;
    }

    #mobile-footer-content.visible {
        opacity: 1;
        max-height: 200px;
    }
}
