:root {
    /* Change these to match your main site */
    --members-primary: #2F6390;     /* main brand blue */
    --members-primary-dark: #23496b;
    --members-accent: #f6b800;      /* accent colour if you want one */
    --members-bg: #f4f6f9;
    --members-card-bg: #ffffff;
}

body {
    background: var(--members-bg);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* Navbar */

.members-navbar {
    background: var(--members-primary);
}

.members-navbar .navbar-brand {
    letter-spacing: .02em;
}

.members-navbar .nav-link {
    font-weight: 500;
    opacity: .9;
}

.members-navbar .nav-link.active {
    opacity: 1;
    border-bottom: 2px solid rgba(255, 255, 255, .8);
}

/* Avatar */

.avatar-initials {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .85rem;
    font-weight: 600;
    background: rgba(255, 255, 255, .15);
}

/* Main layout */

.members-main {
    min-height: calc(100vh - 70px);
}

/* Login */

.members-login-wrapper {
    min-height: calc(100vh - 80px);
}

.members-login-card {
    max-width: 420px;
    width: 100%;
    border-radius: 1.2rem;
    background: radial-gradient(circle at top left, #ffffff, #f0f3f8);
}

.login-logo {
    width: 56px;
    height: 56px;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--members-primary);
    box-shadow: 0 10px 25px rgba(0, 0, 0, .15);
}

.logo-initials {
    color: #fff;
    font-weight: 700;
    font-size: 1.3rem;
}

/* Buttons */

.btn-primary {
    background-color: var(--members-primary);
    border-color: var(--members-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--members-primary-dark);
    border-color: var(--members-primary-dark);
}

/* Category list */

.members-category-list .list-group-item {
    border: 0;
    border-radius: 0;
}

.members-category-list .list-group-item.active {
    background: rgba(47, 99, 144, 0.12);
    color: var(--members-primary);
    font-weight: 600;
}

/* Presentations list */

.members-presentation-list .list-group-item {
    transition: transform .08s ease, box-shadow .08s ease;
}

.members-presentation-list .list-group-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 5px 16px rgba(0, 0, 0, .08);
}

/* Modal */

.members-modal .modal-header {
    border-bottom: 1px solid rgba(0,0,0,.06);
}

.members-modal .modal-footer {
    border-top: 1px solid rgba(0,0,0,.06);
}

/* Rich text area (home page) */

.members-page-text p:last-child {
    margin-bottom: 0;
}
