/* Theme Sidebar UI Controls */
#theme-toggle-btn {
    position: fixed;
    top: 20px;
    right: 20px;
    background: rgba(20, 20, 20, 0.8);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: white;
    font-size: 24px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    cursor: pointer;
    z-index: 1000;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
}

#theme-toggle-btn:hover {
    transform: scale(1.1);
    background: rgba(40, 40, 40, 0.9);
}

/* Theme Sidebar Console */
#theme-sidebar {
    position: fixed;
    top: 0;
    right: -320px;
    width: 300px;
    height: 100vh;
    background: rgba(15, 15, 15, 0.95);
    backdrop-filter: blur(15px);
    border-left: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 999;
    transition: right 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    padding: 25px 20px 20px 20px !important;
    color: white;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.8);
    font-family: "Poppins", sans-serif;
    overflow-y: auto;
}

/* Sidebar Control Visibility */
.sidebar-close-btn,
#sidebar-close-btn {
    display: none !important;
}

#theme-sidebar.open {
    right: 0;
}

/* Sidebar Section Typography */
.theme-section-title {
    font-size: 14px;
    text-transform: uppercase;
    color: #888;
    letter-spacing: 1px;
    margin-bottom: 15px;
    border-bottom: 1px solid #333;
    padding-bottom: 5px;
}

/* Theme Options Grid Layout */
.theme-options-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 30px;
}

/* Color Selection Buttons */
.color-btn {
    height: 40px;
    border-radius: 8px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform 0.2s;
}

.color-btn:hover {
    transform: translateY(-3px);
}

.color-btn.active {
    border-color: #d4af37;
    box-shadow: 0 0 10px rgba(212, 175, 55, 0.5);
}

/* VIP Onyx Chip Theme Design */
[data-chip-theme="onyx"] .chip {
    color: #d4af37;
    box-shadow:
        0 4px 6px rgba(0, 0, 0, 0.8),
        inset 0 3px 4px rgba(255, 255, 255, 0.15),
        inset 0 -3px 4px rgba(0, 0, 0, 0.9);
}

[data-chip-theme="onyx"] .chip-1 {
    background:
        radial-gradient(circle at center,
            #222 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#111 0deg 20deg, #1565c0 20deg 40deg);
    border-color: #000;
}

[data-chip-theme="onyx"] .chip-5 {
    background:
        radial-gradient(circle at center,
            #222 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#111 0deg 20deg, #c62828 20deg 40deg);
    border-color: #000;
}

[data-chip-theme="onyx"] .chip-25 {
    background:
        radial-gradient(circle at center,
            #222 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#111 0deg 20deg, #2e7d32 20deg 40deg);
    border-color: #000;
}

[data-chip-theme="onyx"] .chip-100 {
    background:
        radial-gradient(circle at center,
            #222 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#111 0deg 20deg, #d4af37 20deg 40deg);
    border-color: #000;
}

[data-chip-theme="onyx"] .chip-500 {
    background:
        radial-gradient(circle at center,
            #222 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#111 0deg 20deg, #6a1b9a 20deg 40deg);
    border-color: #000;
}

[data-chip-theme="onyx"] .chip-1000 {
    background:
        radial-gradient(circle at center,
            #222 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#111 0deg 20deg, #e65100 20deg 40deg);
    border-color: #000;
    font-size: 7px;
}

[data-chip-theme="onyx"] .chip-5000 {
    background:
        radial-gradient(circle at center,
            #222 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#111 0deg 20deg, #f9a825 20deg 40deg);
    border-color: #000;
    font-size: 7px;
}

[data-chip-theme="onyx"] .chip-10000 {
    background:
        radial-gradient(circle at center,
            #222 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#111 0deg 20deg, #ad1457 20deg 40deg);
    border-color: #000;
    font-size: 6px;
}

/* Monaco Platinum Chip Theme */
[data-chip-theme="monaco"] .chip {
    color: #222;
    font-weight: 900;
    box-shadow:
        0 4px 6px rgba(0, 0, 0, 0.4),
        inset 0 3px 4px rgba(255, 255, 255, 0.9),
        inset 0 -3px 4px rgba(0, 0, 0, 0.1);
}

[data-chip-theme="monaco"] .chip-1 {
    background:
        radial-gradient(circle at center,
            #f5f5f5 38%,
            #ccc 41%,
            transparent 42%),
        repeating-conic-gradient(#fff 0deg 20deg, #1565c0 20deg 40deg);
    border-color: #aaa;
}

[data-chip-theme="monaco"] .chip-5 {
    background:
        radial-gradient(circle at center,
            #f5f5f5 38%,
            #ccc 41%,
            transparent 42%),
        repeating-conic-gradient(#fff 0deg 20deg, #c62828 20deg 40deg);
    border-color: #aaa;
}

[data-chip-theme="monaco"] .chip-25 {
    background:
        radial-gradient(circle at center,
            #f5f5f5 38%,
            #ccc 41%,
            transparent 42%),
        repeating-conic-gradient(#fff 0deg 20deg, #2e7d32 20deg 40deg);
    border-color: #aaa;
}

[data-chip-theme="monaco"] .chip-100 {
    background:
        radial-gradient(circle at center,
            #f5f5f5 38%,
            #ccc 41%,
            transparent 42%),
        repeating-conic-gradient(#fff 0deg 20deg, #212121 20deg 40deg);
    border-color: #aaa;
}

[data-chip-theme="monaco"] .chip-500 {
    background:
        radial-gradient(circle at center,
            #f5f5f5 38%,
            #ccc 41%,
            transparent 42%),
        repeating-conic-gradient(#fff 0deg 20deg, #6a1b9a 20deg 40deg);
    border-color: #aaa;
}

[data-chip-theme="monaco"] .chip-1000 {
    background:
        radial-gradient(circle at center,
            #f5f5f5 38%,
            #ccc 41%,
            transparent 42%),
        repeating-conic-gradient(#fff 0deg 20deg, #e65100 20deg 40deg);
    border-color: #aaa;
    font-size: 7px;
}

[data-chip-theme="monaco"] .chip-5000 {
    background:
        radial-gradient(circle at center,
            #f5f5f5 38%,
            #ccc 41%,
            transparent 42%),
        repeating-conic-gradient(#fff 0deg 20deg, #f9a825 20deg 40deg);
    border-color: #aaa;
    font-size: 7px;
}

[data-chip-theme="monaco"] .chip-10000 {
    background:
        radial-gradient(circle at center,
            #f5f5f5 38%,
            #ccc 41%,
            transparent 42%),
        repeating-conic-gradient(#fff 0deg 20deg, #ad1457 20deg 40deg);
    border-color: #aaa;
    font-size: 6px;
}

/* Cyber Neon Chip Theme */
[data-chip-theme="cyber"] .chip {
    color: #0ff;
    text-shadow: 0 0 3px #0ff;
    box-shadow:
        0 4px 6px rgba(0, 0, 0, 0.8),
        inset 0 3px 4px rgba(255, 255, 255, 0.2),
        inset 0 -3px 4px rgba(0, 0, 0, 0.8);
}

[data-chip-theme="cyber"] .chip-1 {
    background:
        radial-gradient(circle at center,
            #111 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#000 0deg 20deg, #00d2ff 20deg 40deg);
    border-color: #00d2ff;
}

[data-chip-theme="cyber"] .chip-5 {
    background:
        radial-gradient(circle at center,
            #111 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#000 0deg 20deg, #ff003c 20deg 40deg);
    border-color: #ff003c;
}

[data-chip-theme="cyber"] .chip-25 {
    background:
        radial-gradient(circle at center,
            #111 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#000 0deg 20deg, #00ff00 20deg 40deg);
    border-color: #00ff00;
}

/* Cyber Neon Chip Theme (Continued) */
[data-chip-theme="cyber"] .chip-100 {
    background:
        radial-gradient(circle at center,
            #111 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#000 0deg 20deg, #ffaa00 20deg 40deg);
    border-color: #ffaa00;
}

[data-chip-theme="cyber"] .chip-500 {
    background:
        radial-gradient(circle at center,
            #111 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#000 0deg 20deg, #b026ff 20deg 40deg);
    border-color: #b026ff;
}

[data-chip-theme="cyber"] .chip-1000 {
    background:
        radial-gradient(circle at center,
            #111 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#000 0deg 20deg, #e65100 20deg 40deg);
    border-color: #e65100;
    font-size: 7px;
}

[data-chip-theme="cyber"] .chip-5000 {
    background:
        radial-gradient(circle at center,
            #111 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#000 0deg 20deg, #f9a825 20deg 40deg);
    border-color: #f9a825;
    font-size: 7px;
}

[data-chip-theme="cyber"] .chip-10000 {
    background:
        radial-gradient(circle at center,
            #111 38%,
            #000 41%,
            transparent 42%),
        repeating-conic-gradient(#000 0deg 20deg, #ad1457 20deg 40deg);
    border-color: #ad1457;
    font-size: 6px;
}

/* Royal Emerald Chip Theme */
[data-chip-theme="emerald"] .chip {
    color: #d4af37;
    font-weight: 900;
    box-shadow:
        0 4px 6px rgba(0, 0, 0, 0.6),
        inset 0 3px 4px rgba(255, 255, 255, 0.2),
        inset 0 -3px 4px rgba(0, 0, 0, 0.8);
}

[data-chip-theme="emerald"] .chip-1 {
    background:
        radial-gradient(circle at center,
            #0a3a1b 38%,
            #0f5127 41%,
            transparent 42%),
        repeating-conic-gradient(#0f5127 0deg 20deg, #1565c0 20deg 40deg);
    border-color: #021c0b;
}

[data-chip-theme="emerald"] .chip-5 {
    background:
        radial-gradient(circle at center,
            #0a3a1b 38%,
            #0f5127 41%,
            transparent 42%),
        repeating-conic-gradient(#0f5127 0deg 20deg, #c62828 20deg 40deg);
    border-color: #021c0b;
}

[data-chip-theme="emerald"] .chip-25 {
    background:
        radial-gradient(circle at center,
            #0a3a1b 38%,
            #0f5127 41%,
            transparent 42%),
        repeating-conic-gradient(#0f5127 0deg 20deg, #2e7d32 20deg 40deg);
    border-color: #021c0b;
}

[data-chip-theme="emerald"] .chip-100 {
    background:
        radial-gradient(circle at center,
            #0a3a1b 38%,
            #0f5127 41%,
            transparent 42%),
        repeating-conic-gradient(#0f5127 0deg 20deg, #d4af37 20deg 40deg);
    border-color: #021c0b;
}

[data-chip-theme="emerald"] .chip-500 {
    background:
        radial-gradient(circle at center,
            #0a3a1b 38%,
            #0f5127 41%,
            transparent 42%),
        repeating-conic-gradient(#0f5127 0deg 20deg, #6a1b9a 20deg 40deg);
    border-color: #021c0b;
}

[data-chip-theme="emerald"] .chip-1000 {
    background:
        radial-gradient(circle at center,
            #0a3a1b 38%,
            #0f5127 41%,
            transparent 42%),
        repeating-conic-gradient(#0f5127 0deg 20deg, #e65100 20deg 40deg);
    border-color: #021c0b;
    font-size: 7px;
}

[data-chip-theme="emerald"] .chip-5000 {
    background:
        radial-gradient(circle at center,
            #0a3a1b 38%,
            #0f5127 41%,
            transparent 42%),
        repeating-conic-gradient(#0f5127 0deg 20deg, #f9a825 20deg 40deg);
    border-color: #021c0b;
    font-size: 7px;
}

[data-chip-theme="emerald"] .chip-10000 {
    background:
        radial-gradient(circle at center,
            #0a3a1b 38%,
            #0f5127 41%,
            transparent 42%),
        repeating-conic-gradient(#0f5127 0deg 20deg, #ad1457 20deg 40deg);
    border-color: #021c0b;
    font-size: 6px;
}

/* Vintage Clay Chip Theme */
[data-chip-theme="vintage"] .chip {
    color: #4e342e;
    font-weight: bold;
    box-shadow:
        0 3px 4px rgba(0, 0, 0, 0.4),
        inset 0 2px 3px rgba(255, 255, 255, 0.7),
        inset 0 -3px 4px rgba(0, 0, 0, 0.2);
}

[data-chip-theme="vintage"] .chip-1 {
    background:
        radial-gradient(circle at center,
            #f4f1ea 38%,
            #d7ccc8 41%,
            transparent 42%),
        repeating-conic-gradient(#d7ccc8 0deg 20deg, #90caf9 20deg 40deg);
    border-color: #a1887f;
}

/* Vintage Clay Chip Theme (Continued) */
[data-chip-theme="vintage"] .chip-5 {
    background:
        radial-gradient(circle at center,
            #f4f1ea 38%,
            #d7ccc8 41%,
            transparent 42%),
        repeating-conic-gradient(#d7ccc8 0deg 20deg, #ef9a9a 20deg 40deg);
    border-color: #a1887f;
}

[data-chip-theme="vintage"] .chip-25 {
    background:
        radial-gradient(circle at center,
            #f4f1ea 38%,
            #d7ccc8 41%,
            transparent 42%),
        repeating-conic-gradient(#d7ccc8 0deg 20deg, #a5d6a7 20deg 40deg);
    border-color: #a1887f;
}

[data-chip-theme="vintage"] .chip-100 {
    background:
        radial-gradient(circle at center,
            #f4f1ea 38%,
            #d7ccc8 41%,
            transparent 42%),
        repeating-conic-gradient(#d7ccc8 0deg 20deg, #4e342e 20deg 40deg);
    border-color: #a1887f;
}

[data-chip-theme="vintage"] .chip-500 {
    background:
        radial-gradient(circle at center,
            #f4f1ea 38%,
            #d7ccc8 41%,
            transparent 42%),
        repeating-conic-gradient(#d7ccc8 0deg 20deg, #ce93d8 20deg 40deg);
    border-color: #a1887f;
}

[data-chip-theme="vintage"] .chip-1000 {
    background:
        radial-gradient(circle at center,
            #f4f1ea 38%,
            #d7ccc8 41%,
            transparent 42%),
        repeating-conic-gradient(#d7ccc8 0deg 20deg, #e65100 20deg 40deg);
    border-color: #a1887f;
    font-size: 7px;
}

[data-chip-theme="vintage"] .chip-5000 {
    background:
        radial-gradient(circle at center,
            #f4f1ea 38%,
            #d7ccc8 41%,
            transparent 42%),
        repeating-conic-gradient(#d7ccc8 0deg 20deg, #f9a825 20deg 40deg);
    border-color: #a1887f;
    font-size: 7px;
}

[data-chip-theme="vintage"] .chip-10000 {
    background:
        radial-gradient(circle at center,
            #f4f1ea 38%,
            #d7ccc8 41%,
            transparent 42%),
        repeating-conic-gradient(#d7ccc8 0deg 20deg, #ad1457 20deg 40deg);
    border-color: #a1887f;
    font-size: 6px;
}

/* Sidebar & Sidebar Buttons Alignment */
#theme-sidebar {
    right: auto !important;
    left: -320px;
    border-left: none !important;
    border-right: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 5px 0 25px rgba(0, 0, 0, 0.8) !important;
    transition: left 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

#theme-sidebar.open {
    right: auto !important;
    left: 0 !important;
}

/* Control Buttons Positioning (Middle-Left) */
#mute-btn {
    right: auto !important;
    left: 20px !important;
    top: calc(50% - 55px) !important;
    position: fixed;
    z-index: 1000;
}

#theme-toggle-btn {
    right: auto !important;
    left: 20px !important;
    top: calc(50% + 5px) !important;
}

/* Smart Sliding Interaction */
#theme-toggle-btn,
#mute-btn {
    transition:
        left 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
        transform 0.2s,
        background 0.2s !important;
}

/* Push buttons when sidebar is active */
body:has(#theme-sidebar.open) #theme-toggle-btn,
body:has(#theme-sidebar.open) #mute-btn {
    left: 320px !important;
}

/* Unified Button Symmetry */
#mute-btn,
#theme-toggle-btn {
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    font-size: 24px !important;
}

/* ───────────────────────── allowPlayerCustomization ──────────────────────
 *
 * When the admin toggles `allowPlayerCustomization` OFF in the Settings
 * page, the server emits the flag in tableConfig and the lobby's
 * socket.js handler adds the `theme-locked` body class. This rule
 * hides the sidebar entry-point (cog wheel) AND the drawer itself,
 * so the player cannot reach the v1.1 felt/texture/rim/chip pickers.
 * The server's per-table palette is therefore enforced — applied via
 * applyTableBranding() in socket.js without the player override path.
 *
 * `!important` parity with the surrounding rules — the existing
 * `#theme-toggle-btn` declarations use `!important` to overcome
 * mobile media queries, so the lock-out must too.
 */
body.theme-locked #theme-toggle-btn,
body.theme-locked #theme-sidebar {
    display: none !important;
}
