/* =========================================================
   NVSK THEME - dùng chung toàn site
   - Không để CSS theme trong Index/Event/Book/Leader nữa.
   - theme-party: tông đỏ rượu vang như giao diện cũ.
   - theme-dark : xanh đen như nền tối cũ.
========================================================= */

:root,
html.theme-party {
    --nvsk-bg: #17080b;
    --nvsk-bg-2: #240a0e;
    --nvsk-text: #fff7df;
    --nvsk-muted: rgba(255,245,216,.76);
    --nvsk-card: rgba(104,23,29,.96);
    --nvsk-card-2: rgba(63,16,20,.96);
    --nvsk-panel: rgba(126,28,36,.90);
    --nvsk-border: rgba(255,232,166,.16);
    --nvsk-border-soft: rgba(255,232,166,.10);
    --nvsk-accent: #f4cf72;
    --nvsk-accent-soft: #ffe8a6;
    --nvsk-danger-red: #b0121b;
    --nvsk-menu-bg: radial-gradient(circle at 28% 0%, rgba(244,207,114,.14), transparent 34%), linear-gradient(180deg, rgba(83,19,25,.96), rgba(30,10,14,.98));
    --nvsk-menu-accent: #f4cf72;
    --nvsk-menu-accent-soft: rgba(244,207,114,.15);
    --nvsk-shadow: 0 18px 60px rgba(45,8,12,.34);
    --nvsk-body-bg: linear-gradient(rgba(255,232,166,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,232,166,.035) 1px, transparent 1px), radial-gradient(circle at 18% 8%, rgba(176,18,27,.28), transparent 28%), radial-gradient(circle at 82% 18%, rgba(244,207,114,.12), transparent 30%), linear-gradient(180deg, #16070a 0%, #260a0f 50%, #12070a 100%);
}

html.theme-dark {
    --nvsk-bg: #07111a;
    --nvsk-bg-2: #09131d;
    --nvsk-text: #edf3ff;
    --nvsk-muted: #aab6ca;
    --nvsk-card: rgba(23,31,45,.96);
    --nvsk-card-2: rgba(17,24,36,.96);
    --nvsk-panel: rgba(255,255,255,.045);
    --nvsk-border: rgba(255,255,255,.08);
    --nvsk-border-soft: rgba(255,255,255,.055);
    --nvsk-accent: #42d593;
    --nvsk-accent-soft: #96f0c2;
    --nvsk-danger-red: #8f2028;
    --nvsk-menu-bg: radial-gradient(circle at 30% 0%, rgba(66,213,147,.16), transparent 32%), linear-gradient(180deg, rgba(23,31,45,.96), rgba(12,18,28,.96));
    --nvsk-menu-accent: #42d593;
    --nvsk-menu-accent-soft: rgba(66,213,147,.13);
    --nvsk-shadow: 0 18px 60px rgba(0,0,0,.36);
    --nvsk-body-bg: linear-gradient(rgba(82,108,160,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(82,108,160,.06) 1px, transparent 1px), radial-gradient(circle at 18% 8%, rgba(66,213,147,.14), transparent 26%), radial-gradient(circle at 82% 18%, rgba(110,136,255,.13), transparent 28%), linear-gradient(180deg, #061019 0%, #09131d 100%);
}

html,
body {
    min-height: 100%;
}

html.theme-party body,
body.theme-party,
html.theme-dark body,
body.theme-dark {
    background: var(--nvsk-body-bg) !important;
    color: var(--nvsk-text) !important;
}

body {
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--nvsk-accent) 45%, transparent) transparent;
}

body::-webkit-scrollbar { width: 10px; }
body::-webkit-scrollbar-track { background: rgba(255,255,255,.03); }
body::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--nvsk-accent) 38%, transparent);
    border-radius: 999px;
}

/* Chặn nền kem/trắng từ CSS cũ của từng trang */
html.theme-party .frame,
html.theme-party .shell,
html.theme-party .page-with-sidebar,
html.theme-party .event-page,
html.theme-party .book-page {
    background: transparent !important;
}

/* Các biến cũ trong page vẫn dùng var(--text), var(--muted), var(--card) */
html.theme-party,
html.theme-dark {
    --bg: var(--nvsk-bg);
    --card: var(--nvsk-card);
    --card-2: var(--nvsk-card-2);
    --stroke: var(--nvsk-border);
    --text: var(--nvsk-text);
    --muted: var(--nvsk-muted);
    --green: var(--nvsk-accent);
    --shadow: var(--nvsk-shadow);
    --party-bg-1: #3f1014;
    --party-bg-2: #68171d;
    --party-bg-3: #8f2028;
    --party-card-1: rgba(126, 28, 36, .90);
    --party-card-2: rgba(86, 18, 25, .88);
    --party-border: rgba(255, 232, 166, .22);
    --party-border-soft: rgba(255, 232, 166, .13);
    --party-gold: #f4cf72;
    --party-gold-soft: #ffe8a6;
    --party-cream: #fff7df;
    --party-muted: rgba(255,245,216,.76);
    --party-shadow: rgba(45,8,12,.26);
}
