:root {
    --bg-page: #f7f7fb;
    --text: #1f2937;
    --muted: #6b7280;
    --border: #e5e7eb;
    --primary: #7C3AED;
    --primary-600: #6D28D9;
    --primary-400: #8B5CF6;
    --bs-body-bg: var(--bg-page);
    --bs-body-color: var(--text);
    --bs-primary: var(--primary);
}

html, body {
    background-color: var(--bg-page);
    color: var(--text);
}

/* Buttons */
.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary-600);
    --bs-btn-hover-border-color: var(--primary-600);
    --bs-btn-active-bg: var(--primary-600);
    --bs-btn-active-border-color: var(--primary-600);
    --bs-btn-disabled-bg: var(--primary);
    --bs-btn-disabled-border-color: var(--primary);
}

.btn-outline-secondary {
    --bs-btn-color: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: rgba(124,58,237,.08);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-active-bg: rgba(124,58,237,.12);
    --bs-btn-active-border-color: var(--primary);
}

/* Links */
a {
    color: var(--primary);
}

    a:hover {
        color: var(--primary-600);
    }

/* Cards */
.bg-body {
    background: #fff !important;
}

.card, .bg-body {
    box-shadow: 0 0 0 1px rgba(0,0,0,.02), 0 1px 2px rgba(0,0,0,.04);
}

/* Navbar spacing */
.navbar-nav {
    gap: 1rem;
}



@media (min-width: 992px) {
    .navbar-nav {
        gap: 1.75rem;
    }
}

.navbar {
    --bs-navbar-padding-x: 1.0rem !important;
    --bs-navbar-padding-y: 0.5rem !important;
}
.py-3 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
    padding-left: 1rem !important;
}
.navbar .nav-link {
    padding: .375rem 0;
}

/* Banner */
.banner {
    padding: 2rem 0; /* default small screen */
    background: linear-gradient(180deg,#f6f5fb 0%, #ffffff 65%);
    border-bottom: 1px solid var(--border);
}

@media (min-width: 992px) {
    .banner {
        padding: 2.5rem 0; /* shorter height on wide screens */
    }
}

.banner .eyebrow {
    display: inline-block;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--muted);
    font-size: .8rem;
    margin-bottom: .5rem;
}

.banner h1 {
    margin: 0 0 1.1rem 0;
    line-height: 1.2;
}

.banner p.lead {
    color: var(--muted);
    margin: 0;
}

/* Utilities */
.bg-page {
    background: var(--bg-page) !important;
}

.text-secondary {
    color: var(--muted) !important;
}

.small, small {
    font-size: .875rem;
}

.rounded-3 {
    border-radius: .75rem !important;
}
