/* /public/css/shared.css */

/* --- Site Structure --- */
html, body {
    height: 100%;
}

body {
    display: flex;
    flex-direction: column;
}

main {
    flex-grow: 1; /* Allows footer to stick to bottom on short pages */
}

/* --- Site Header --- */
.site-header {
    background-color: #ffffff;
    padding: 1rem 2rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #e5e7eb;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.site-header .logo-container {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #111827;
}

.site-header .logo {
    height: 40px;
    width: 40px;
    margin-right: 0.75rem;
}

.site-header .site-title {
    font-size: 1.25rem;
    font-weight: 700;
}

/* --- Site Footer --- */
.site-footer {
    background-color: #1f2937;
    color: #9ca3af;
    text-align: center;
    padding: 2rem;
    font-size: 0.875rem;
}