:root, [data-bs-theme=light] {
    --bs-body-font-family: 'Euclid Circular', sans-serif;
    --bs-body-font-weight: 500;
    --bs-body-color: #4F4F4F;
    --bs-body-color-rgb: 79, 79, 79;
    --bs-primary: #2DD06E;
    --bs-primary-rgb: 45, 208, 110;
    --bs-secondary-bg: #F2F2F2;
    --bs-secondary-bg-rgb: 242, 242, 242;
    --bs-tertiary-bg: var(--bs-body-bg);
    --bs-tertiary-bg-rgb: var(--bs-body-bg-rgb);
    --bs-light-rgb: 224, 224, 224;
    --bs-emphasis-color: #2CE59B;
    --bs-border-color: #F2F2F2;
    --bs-primary-border-subtle: var(--bs-emphasis-color);
    --bs-border-radius: .5rem;
    --bs-nav-link-color: #000;
    --bs-link-color: inherit;
    scroll-padding-top: 56px;
}

main { min-height: 90vh; }

.navbar {
    --bs-nav-link-padding-y: .25rem;
    --bs-nav-link-padding-x: .5rem;
}

.nav-link {
    border-radius: .25rem .25rem 0 0;
    transition: none;
    &.active {
        background: var(--bs-secondary-bg);
        border-style: solid;
        border-width: 0 0 2px 0;
        border-color: var(--bs-primary-border-subtle) !important;
    }
}

[data-bs-theme=light] #search-form { --bs-border-color: #DFDFDF; }

input#search {
    min-width: 40vw;
    height: 40px;
    transition: none;
    &:focus { box-shadow: none; border-color: var(--bs-border-color); }
}

.badge { --bs-badge-font-size: .9rem; }

.nav-tabs {
    --bs-nav-tabs-border-color: var(--bs-primary-border-subtle);
    --bs-nav-link-padding-x: calc(.5rem + 1vw);
    font-size: 1.2rem;
    > :first-child { color: var(--bs-nav-tabs-link-active-color); }
    .nav-item { flex-shrink: 0; }
    .nav-link:hover { border-bottom-color: var(--bs-primary-border-subtle); }
    &::-webkit-scrollbar { display: none; }
}

.dropdown-menu {
    --bs-dropdown-link-hover-bg: var(--bs-secondary-bg);
    --bs-dropdown-item-padding-y: .4rem;
    li:first-child .dropdown-item { border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0; }
    li:last-child .dropdown-item { border-radius: 0 0 var(--bs-border-radius) var(--bs-border-radius); }
}

.hero-img {
    width: 100%;
    max-height: 500px;
    object-fit: cover;
}
#hero-dark { display: none; }

.card {
    --bs-card-title-color: var(--bs-body-color);
    border: none;
    box-shadow: var(--bs-box-shadow);
}

.no-items {
    border-radius: var(--bs-border-radius);
    text-align: center;
    margin: 100px auto;
    h2 { margin-bottom: 3rem; }
    &.bg-body-tertiary {
        margin: var(--bs-gutter-y, 1.5rem) auto 0 auto;
        padding: 3rem 1rem;
        color: #BDBDBD;
    }
}

.price, .old-price, #price, #old-price {
    &::before { content: '$ '; }
}

.price, #price {
    color: #DB2C66 !important;
    font-size: 1.25rem;
}

.old-price, #old-price {
    font-size: 1rem;
    margin-right: .5rem;
    color: #808080;
}

.heart.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.2rem;
    border-radius: 50%;
    border-color: var(--bs-border-color) !important;
    transition: none;
    .fa-heart {
        transition: color .2s;
        &.fa-regular { color: #8F9BB3; }
        &.fa-solid, &:is(.btn:hover .fa-heart) { color: #F54B42; }
    }
}

.pagination {
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-pagination-active-bg);
    .page-link { transition: none; }
}

.form-control { background-color: #F2F2F2; }
.form-errors { color: var(--bs-danger); }

.btn-primary, .btn-outline-primary {
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
}
.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: rgba(var(--bs-primary-rgb), .75);
    --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
    --bs-btn-disabled-bg: rgba(var(--bs-primary-rgb), .5);
    --bs-btn-disabled-border-color: rgba(var(--bs-primary-rgb), .25);
}
.btn-outline-primary {
    --bs-btn-bg: transparent;
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: rgba(var(--bs-primary-rgb), .1);
    --bs-btn-hover-color: var(--bs-primary);
}
.btn-light {
    --bs-btn-color: #4F4F4F;
    --bs-btn-bg: #F2F2F2;
    --bs-btn-border-color: #F2F2F2;
    --bs-btn-hover-color: var(--bs-btn-color);
    --bs-btn-hover-bg: #E0E0E0;
    --bs-btn-hover-border-color: var(--bs-btn-hover-bg);
}
