@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&family=Playfair+Display:wght@400;700&display=swap');

:root {
    --graphite: #333333;
    --chestnut: #852D29;
    --red: #D7271F;
    --red-orange: #E04F1D;
    --orange: #E8761A;
    --orange-yellow: #F09C0F;
    --yellow: #F7C204;
    --white: #FFFFFF;
}


body {
    background-color: var(--white);
    color: var(--graphite);
    font-family: 'Montserrat', sans-serif;
    margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Playfair Display', serif;
    margin: 0;
}

/* Sidebar styles */
.sidebar {
    width: 260px;
    min-height: 100vh;
    background: linear-gradient(180deg, var(--chestnut) 0%, var(--red) 100%);
    color: var(--white);
    padding: 1.5rem 1.25rem;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    left: 0;
    overflow: auto;
}

.sidebar .brand {
    font-family: 'Playfair Display', serif;
    font-weight: 700;
    font-size: 1.4rem;
    color: var(--white);
    margin-bottom: 1rem;
}

.sidebar .profile {}

.sidebar .avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: var(--orange);
    flex-shrink: 0;
}

.sidebar .profile .profile-info {
    margin-left: .75rem;
}

.sidebar .profile .name {
    font-weight: 600;
    color: var(--white);
}

.sidebar nav {
    margin-top: 0.5rem;
}

.sidebar .nav-link {
    color: rgba(255, 255, 255, 0.95);
    padding: .4rem 0;
}

.sidebar .nav-link:hover {
    color: var(--yellow);
    text-decoration: none;
}

.sidebar .footer {
    position: absolute;
    bottom: 1rem;
    left: 1.25rem;
    right: 1.25rem;
    font-size: .85rem;
    color: rgba(255, 255, 255, 0.85);
}

/* Helper for pages that include the sidebar */
.with-sidebar { }

/* Move the main content to the right of the fixed 260px sidebar and
     use a centered content area that fills the remaining width. */
main {
    margin-left: 260px;
    width: calc(100% - 260px);
    box-sizing: border-box;
    max-width: none;
}

/* Keep the inner Bootstrap container centered inside main */
main > .container,
main.container {
    margin-left: auto;
    margin-right: auto;
}

/* Small screens: let the sidebar overlay and reset main margin/width */
@media (max-width: 767.98px) {
    .sidebar { position: fixed; width: 100%; height: auto; min-height: 0; }
    main { margin-left: 0; padding-top: 1rem; width: 100%; }
}

/* Logout button styles inside the footer */
.logout-form { margin: 0; }

.btn-logout {
        color: rgba(255, 255, 255, 0.95);
        background: transparent;
        border: none;
        padding: 0;
        font-size: 1rem;
        text-align: left;
        text-decoration: none;
}

.btn-logout:hover { color: var(--yellow); text-decoration: none; }