html {
    scroll-behavior: smooth;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

.navbar-brand {
    font-size: 1.5rem;
}

.dashboard-card {
    border-left: 4px solid var(--bs-primary);
}

.pricing-card.featured {
    border-color: var(--bs-primary);
    border-width: 2px;
}

#theme-toggle {
    border: none;
    background: none;
}

.hero-section {
    min-height: 80vh;
}

.card.border-primary {
    border-width: 2px !important;
}

.accordion-button:not(.collapsed) {
    background-color: var(--bs-primary-bg-subtle);
    color: var(--bs-primary-text-emphasis);
}

.card-header .badge {
    font-size: 0.65rem;
    vertical-align: middle;
}

.rounded-circle.p-3 {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.nav-link.active {
    font-weight: 600;
}

footer a:hover {
    color: var(--bs-primary) !important;
}