/* assets/custom.css */

:root {
    --brand-primary-green: #38761D;
    --brand-primary-green-darker: #2a5715; /* For hover states */
    --brand-accent-blue: #0072BC;
    --brand-text-on-primary: #FFFFFF;
    --brand-text-dark: #212529; /* Dark text for content */
    --brand-background-light: #f8f9fa; /* Light grey page background */
}

body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; /* A clean sans-serif font */
    background-color: var(--brand-background-light);
    color: var(--brand-text-dark);
    margin: 0; /* Ensure no default margin */
}

/* --- Navbar Styling --- */
/* This targets the dbc.NavbarSimple when color="primary" is NOT set, allowing custom background */
.custom-navbar {
    background-color: var(--brand-primary-green) !important;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.custom-navbar .navbar-brand,
.custom-navbar .navbar-brand:hover,
.custom-navbar .navbar-brand:focus {
    color: var(--brand-text-on-primary) !important;
    display: flex; /* Align logo and text nicely */
    align-items: center; /* Vertically center items in brand */
    font-weight: bold;
}

.custom-navbar .navbar-brand img {
    max-height: 40px; /* Adjust as needed for your logo */
    margin-right: 10px;
}

/* --- Landing Page Styling --- */
.landing-page-title {
    color: var(--brand-primary-green);
    font-weight: bold;
    margin-top: 2rem;
    margin-bottom: 2rem;
    text-align: center;
}

.card-header {
    background-color: var(--brand-primary-green);
    color: var(--brand-text-on-primary);
}

.card-header .card-title {
    color: var(--brand-text-on-primary);
    margin-bottom: 0; /* dbc.CardHeader uses h4, remove its margin */
}

.btn-primary {
    background-color: var(--brand-primary-green);
    border-color: var(--brand-primary-green);
    color: var(--brand-text-on-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--brand-primary-green-darker);
    border-color: var(--brand-primary-green-darker);
    color: var(--brand-text-on-primary);
}

/* Ensure iframe container takes full height after navbar */
.viewer-container {
    height: calc(100vh - 58px); /* Adjust 58px if navbar height changes */
    overflow: hidden;
}

.viewer-container iframe {
    width: 100%;
    height: 100%;
    border: none;
}

/* Ensure full height for page content area below navbar */
#page-content > div:not(.container) { /* Target direct children of page-content, like viewer div */
    min-height: calc(100vh - 58px); /* Assuming navbar height is roughly 58px */
}