:root, [data-bs-theme="light"] {
    --bs-primary-rgb: 60, 100, 255;
    --bs-secondary-rgb: 108, 117, 125;
    --bs-body-bg: #f8f9fa;
    --bs-tertiary-bg: #ffffff;
    --gradient-start: #eef2f3;
    --gradient-end: #ffffff;
}

[data-bs-theme="dark"] {
    --bs-body-bg: #1c1c1e;
    --bs-body-color: #dee2e6;
    --bs-tertiary-bg: #2c2c2e;
    --bs-primary-rgb: 70, 130, 255;
    --gradient-start: #232526;
    --gradient-end: #414345;
}

[data-theme="deepsea"] {
    --bs-body-bg: #1A2238;
    --bs-body-color: #F4F7FF;
    --bs-tertiary-bg: #253354;
    --bs-primary: #9DAAF2;
    --bs-primary-rgb: 157, 170, 242;
    --bs-secondary: #FF6A5C;
    --bs-dark: #F4F7FF;
    --gradient-start: #0f2027;
    --gradient-end: #203a43;
}

[data-theme="sandstone"] {
    --bs-body-bg: #FDF6E3;
    --bs-body-color: #657B83;
    --bs-tertiary-bg: #F5EADD;
    --bs-primary: #D33682;
    --bs-primary-rgb: 211, 54, 130;
    --bs-secondary: #2AA198;
    --bs-dark: #002B36;
    --gradient-start: #fdfcfb;
    --gradient-end: #e2d1c3;
}

[data-theme="rosequartz"] {
    --bs-body-bg: #f7f3f7;
    --bs-body-color: #5c4f5c;
    --bs-tertiary-bg: #ffffff;
    --bs-primary: #e8a2af;
    --bs-primary-rgb: 232, 162, 175;
    --bs-secondary: #9d8c9d;
    --bs-dark: #3b2e3b;
    --gradient-start: #f8f5f8;
    --gradient-end: #e8dde4;
}

[data-theme="forest"] {
    --bs-body-bg: #2a3d33;
    --bs-body-color: #e8e8e8;
    --bs-tertiary-bg: #3c5446;
    --bs-primary: #a3b18a;
    --bs-primary-rgb: 163, 177, 138;
    --bs-secondary: #588157;
    --bs-dark: #e8e8e8;
    --gradient-start: #233128;
    --gradient-end: #3a4a3f;
}

body {
    background-image: linear-gradient(120deg, var(--gradient-start), var(--gradient-end));
}

.perfume-card {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    border: 0;
}
.perfume-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15)!important;
}

.favorite-btn {
    position: absolute; top: 10px; right: 10px; cursor: pointer; font-size: 1.5rem; color: #ccc; transition: color 0.2s ease;
}
.favorite-btn.is-favorite { color: #dc3545; }
.brand-link { cursor: pointer; text-decoration: underline; }
.accord-tag { cursor: pointer; }
.list-group-item .favorite-btn { position: static; }

.sidebar { position: sticky; top: 80px; }
.accordion-button:not(.collapsed) { background-color: rgba(var(--bs-primary-rgb), 0.1); }
#topAccordsChart { cursor: pointer; }
.modal-title .brand-link-modal {
    color: var(--bs-primary);
    text-decoration: underline;
    cursor: pointer;
}
