:root {
    /* Brand colors – default values; overridden from BrandingOptions in _Layout */
    --color-primary: #005bb5; /* main blue */
    --color-primary-hover: #00458f; /* darker hover blue */
    --color-accent: #f7941d; /* warm orange */
    /* Backgrounds & surfaces */
    --color-body-bg: #f5f7fb; /* light bluish grey */
    --color-surface: #ffffff; /* cards, header, modals */
    --color-border-subtle: #e2e8f0; /* soft border lines */
    /* Typography */
    --color-text-main: #0f172a; /* near-black navy */
    --color-text-muted: #6b7280; /* muted gray */
    /* Layout-specific */
    --color-header-bg: #ffffff;
    --color-footer-bg: #0f172a;
    --color-footer-text: #e5e7eb;
}

/* Layout */
html,
body {
    height: 100%;
}

body {
    min-height: 100vh;
    background-color: var(--color-body-bg);
    color: var(--color-text-main);
    display: flex;
    flex-direction: column;
}

.site-header {
    background-color: var(--color-header-bg);
    border-bottom: 1px solid var(--color-border-subtle);
}

.site-footer {
    background-color: var(--color-footer-bg);
    color: var(--color-footer-text);
    border-top: 1px solid var(--color-border-subtle);
}

.logo-img {
    max-height: 64px;
    max-width: 180px;
    width: 100%;
}

/* Links */
a {
    color: var(--color-primary);
    text-decoration: none;
}

    a:hover {
        text-decoration: underline;
    }

.footer-link {
    color: var(--color-footer-text);
    text-decoration: none;
}

    .footer-link:hover {
        text-decoration: underline;
    }

/* Buttons */
.btn-primary {
    color: #ffffff;
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

    .btn-primary:hover,
    .btn-primary:focus {
        background-color: var(--color-primary-hover);
        border-color: var(--color-primary-hover);
        color: #ffffff;
    }

.btn-outline-primary {
    color: var(--color-primary);
    border-color: var(--color-primary);
    background-color: transparent;
}

    .btn-outline-primary:hover,
    .btn-outline-primary:focus {
        color: #ffffff;
        background-color: var(--color-primary);
        border-color: var(--color-primary-hover);
    }

/* You can tweak this if you want a different look for "secondary" actions */
.btn-outline-secondary {
    color: var(--color-text-main);
    border-color: var(--color-border-subtle);
    background-color: #ffffff;
}

    .btn-outline-secondary:hover,
    .btn-outline-secondary:focus {
        color: var(--color-text-main);
        border-color: var(--color-primary);
        background-color: #f9fafb;
    }

/* Make main content grow, footer stick to bottom */
.main-container {
    flex: 1 0 auto;
}

.site-footer {
    flex-shrink: 0;
}