/* General Theme Settings */
:root {
    --bs-primary-rgb: 49, 75, 50; /* Equivalent to #314b32 */
    --bs-bg-opacity: 1; /* Default opacity for backgrounds */
    --primary-color: #314b32; /* Main theme color */
    --secondary-color: #6c757d; /* Secondary color */
    --background-color: #f8f9fa; /* App background color */
    --text-color: #212529; /* Default text color */
    --header-bg: var(--primary-color); /* Header background */
    --header-text-color: #ffffff; /* Header text color */
    --footer-bg: #ffffff; /* Footer background color */
    --footer-text-color: var(--text-color); /* Footer text color */
    --bottom-nav-offset: 110px;
}

/* Global Styles */
body {
    background-color: var(--background-color) !important;
    color: var(--text-color) !important;
    font-family: 'Roboto', sans-serif !important;
    margin: 0;
    padding: 0 0 var(--bottom-nav-offset) 0;
}

main {
    padding-bottom: var(--bottom-nav-offset) !important;
    box-sizing: border-box;
}

/* Header */
header {
    background-color: var(--header-bg) !important;
    color: var(--header-text-color) !important;
    text-align: center !important;
    padding: 1rem 0 !important;
}

header h1 img {
    max-height: 50px !important;
}

/* Footer */
footer {
    background-color: var(--footer-bg) !important;
    color: var(--footer-text-color) !important;
    border-top: 1px solid #e0e0e0 !important;
    padding: 0.5rem 0 !important;
}

footer a {
    color: var(--footer-text-color) !important;
    font-size: 0.85rem !important;
    text-decoration: none !important;
}

footer a:hover {
    color: var(--primary-color) !important;
}

/* Bottom Navigation Menu */
footer .d-flex a {
    flex-grow: 1 !important;
    text-align: center !important;
}

footer .d-flex i {
    font-size: 1.5rem !important;
    display: block !important;
}

footer .d-flex p {
    font-size: 0.75rem !important;
    margin: 0 !important;
}

/* Buttons */
.btn-primary {
    background-color: var(--primary-color) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 0.5rem 1rem !important;
    border-radius: 4px !important;
    cursor: pointer !important;
}

button:hover {
    background-color: var(--secondary-color) !important;
}

/* Forms */
form label {
    font-weight: bold !important;
    margin-bottom: 0.5rem !important;
    display: block !important;
}

form input {
    border: 1px solid #ced4da !important;
    border-radius: 4px !important;
    padding: 0.5rem !important;
}

/* Admin depot modal */
#editDepotModal .modal-dialog {
    max-width: min(1100px, calc(100vw - 1rem));
    margin: 0.5rem auto;
    height: calc(100vh - 1rem);
}

#editDepotModal .modal-content {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#editDepotModal #editDepotForm {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

#editDepotModal .modal-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

#editDepotModal .modal-header,
#editDepotModal .modal-footer {
    flex-shrink: 0;
}


