@import url('https://fonts.googleapis.com/css2?family=Inria+Sans:wght@400;700&ital,wght@1,700&display=swap');

/* ═══════ BASE ═══════ */
.theme-novomatic { max-width: 100% !important; width: 100% !important; background: linear-gradient(135deg, #0a1628 0%, #0d1f3c 25%, #122a4a 50%, #0d1f3c 75%, #0a1628 100%) !important; position: relative !important; overflow: hidden !important; }
#game-screen.novomatic-active { background: linear-gradient(135deg, #0a1628 0%, #0d1f3c 25%, #122a4a 50%, #0d1f3c 75%, #0a1628 100%) !important; }
#game-screen.novomatic-active::before { display: none !important; }
#game-screen.novomatic-active .game-container { max-width: 100% !important; width: 100% !important; }

/* ═══════ HEADER HIDDEN ═══════ */
.theme-novomatic .game-header { background: transparent !important; padding: 0 !important; height: 0 !important; min-height: 0 !important; max-height: 0 !important; flex: 0 0 0px !important; border: none !important; box-shadow: none !important; overflow: hidden !important; }
.theme-novomatic .game-logo { display: none !important; }
.theme-novomatic .back-to-menu { position: absolute !important; top: 5px !important; left: 5px !important; background: rgba(0,0,0,0.6) !important; border: 1px solid rgba(200,160,80,0.3) !important; color: #d4a040 !important; z-index: 20 !important; }

/* ═══════ GAME AREA ═══════ */
.theme-novomatic .game-area { background: linear-gradient(135deg, #0a1628 0%, #0d1f3c 25%, #122a4a 50%, #0d1f3c 75%, #0a1628 100%) !important; padding: 0 !important; gap: 0 !important; flex: 1 1 0 !important; min-height: 0 !important; display: flex !important; align-items: stretch !important; justify-content: center !important; position: relative !important; overflow: hidden !important; }
.theme-novomatic .game-area::before { content: '' !important; display: block !important; position: absolute !important; top: 0 !important; left: 50% !important; transform: translateX(-50%) !important; height: 126% !important; aspect-ratio: 1920/1440 !important; background: url('../assets/slots/columbus/bg/frame.png') center center / 100% 100% no-repeat !important; z-index: 0 !important; pointer-events: none !important; }
.theme-novomatic .paylines-left, .theme-novomatic .paylines-right { display: none !important; }

/* ═══════ REELS ═══════ */
.theme-novomatic .reels-container { position: absolute !important; z-index: 2 !important; display: flex !important; flex-direction: row !important; background: #ede0c8 !important; border: none !important; border-radius: 0 !important; box-shadow: none !important; gap: 0 !important; padding: 0 !important; overflow: hidden !important; min-height: 0 !important; top: 5%; left: 6.3%; right: 6.4%; bottom: 5%; }
.theme-novomatic .reels-container::before, .theme-novomatic .reels-container::after { display: none !important; }
.theme-novomatic .reel { flex: 1 1 0 !important; min-width: 0 !important; min-height: 0 !important; width: auto !important; height: auto !important; max-width: none !important; max-height: none !important; background: #f0e4d0 !important; border: none !important; border-right: 3px solid #3a2510 !important; border-radius: 0 !important; box-shadow: inset -1px 0 0 rgba(0,0,0,0.15) !important; overflow: hidden !important; position: relative !important; display: flex !important; flex-direction: column !important; }
.theme-novomatic .reel:last-child { border-right: none !important; box-shadow: none !important; }
.theme-novomatic .reel::before, .theme-novomatic .reel::after { display: none !important; }
.theme-novomatic .reel-strip { flex: 1 1 0 !important; min-height: 0 !important; height: 100% !important; display: flex !important; flex-direction: column !important; transition: none !important; }
.theme-novomatic .symbol { flex: 1 1 0 !important; min-height: 0 !important; width: 100% !important; height: auto !important; max-height: none !important; background: transparent !important; display: flex !important; align-items: center !important; justify-content: center !important; padding: 0 !important; position: relative !important; overflow: hidden !important; font-size: 0 !important; border-bottom: 1px solid rgba(80,50,20,0.15) !important; }
.theme-novomatic .symbol:last-child { border-bottom: none !important; }
.theme-novomatic .symbol::before { display: none !important; }
.theme-novomatic .symbol img { width: 100% !important; height: 100% !important; object-fit: contain !important; filter: none !important; border-radius: 0 !important; background: transparent !important; display: block !important; image-rendering: auto !important; }
.theme-novomatic .symbol.winning { animation: novoWinPulse 0.5s ease-in-out infinite alternate !important; z-index: 5 !important; }
.theme-novomatic .symbol.winning::after { content: '' !important; position: absolute !important; inset: 1px !important; border: 2px solid #ffd700 !important; background: rgba(255,215,0,0.08) !important; box-shadow: 0 0 12px rgba(255,215,0,0.5) !important; }
@keyframes novoWinPulse { from { transform: scale(1); } to { transform: scale(1.03); filter: brightness(1.1); } }

/* ═══════════════════════════════════════════════════════════
   STATUS BAR — steel chrome strip (burger-line.png)
   ═══════════════════════════════════════════════════════════ */
.novomatic-active .game-status {
    display: none !important;
}
.novomatic-active .game-status::before { display: none !important; }
.novomatic-active .game-status-text {
    color: #d0d4d8 !important;
    font: 700 italic 16px 'Inria Sans', sans-serif !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.6) !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
}

/* ═══════════════════════════════════════════════════════════
   CONTROLS PANEL — dark steel (burger-bg.png)
   ═══════════════════════════════════════════════════════════ */
.novomatic-active .game-controls {
    background: transparent !important;
    border: none !important;
    padding: 8px 140px !important; margin-top: 65px !important;
    gap: 10px !important;
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: 5 !important;
    min-height: 80px !important;
    max-height: 90px !important;
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}
.novomatic-active .game-controls::before,
.novomatic-active .game-controls::after { display: none !important; }

/* ─── DENOMINATION — CSS gradient replaces bg-denom.png to avoid baked text ─── */
.novomatic-active .ctrl-denom {
    background: url('../assets/ui/denom-block-bg.png') center center / 100% 100% no-repeat !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 75px !important;
    height: 75px !important;
    flex: 0 0 75px !important;
    padding: 4px !important;
    margin-top: -1px !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.novomatic-active .denom-box { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 1px !important; }
.novomatic-active .denom-label { color: #aabbcc !important; font: 700 8px 'Inria Sans', sans-serif !important; white-space: nowrap !important; letter-spacing: 0 !important; }
.novomatic-active .denom-value { color: #fffa27 !important; font: 700 28px 'Impact', sans-serif !important; line-height: 1 !important; text-shadow: none !important; }
.novomatic-active .denom-currency { color: #fffa27 !important; font: 700 16px 'Inria Sans', sans-serif !important; text-shadow: none !important; }

/* ─── CREDIT — dark steel box ─── */
.novomatic-active .ctrl-credit {
    background: url('../assets/ui/credit-block-bg.png') center center / 100% 100% no-repeat !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 230px !important;
    height: 75px !important;
    flex: 0 1 230px !important;
    padding: 0px 14px 12px !important;
    gap: 3px !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.novomatic-active .credit-row { display: flex !important; align-items: baseline !important; gap: 10px !important; white-space: nowrap !important; }
.novomatic-active .credit-row .label { color: #ffffff !important; font: 700 15px 'Inria Sans', sans-serif !important; min-width: 62px !important; letter-spacing: -0.02em !important; }
.novomatic-active .credit-row .value { color: #ffffff !important; font: 700 24px 'Inria Sans', sans-serif !important; text-shadow: none !important; letter-spacing: -0.02em !important; }
.novomatic-active .credit-row .currency { color: #e6dd00 !important; font: 700 13px 'Inria Sans', sans-serif !important; letter-spacing: -0.02em !important; }

/* ─── XETTLER + BAHIS/XETTE — stacked vertically ─── */
.novomatic-active .ctrl-lines-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    flex: 0 0 auto !important;
}
.novomatic-active .ctrl-lines {
    background: url('../assets/ui/lines-block-bg.png') center center / 100% 100% no-repeat !important;
    border: none !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 150px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    padding: 2px 10px !important;
    box-sizing: border-box !important;
}
.novomatic-active .ctrl-betline {
    background: url('../assets/ui/betline-block-bg.png') center center / 100% 100% no-repeat !important;
    border: none !important;
    border-radius: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 150px !important;
    height: 38px !important;
    flex: 0 0 38px !important;
    padding: 2px 10px !important;
    box-sizing: border-box !important;
}

.novomatic-active .bet-label { color: #ffffff !important; font: 700 10px 'Inria Sans', sans-serif !important; text-transform: uppercase !important; white-space: nowrap !important; }
.novomatic-active .bet-value { color: #fff !important; font: 700 24px 'Inria Sans', sans-serif !important; line-height: 1 !important; }
.novomatic-active .bet-buttons { display: flex !important; flex-direction: row !important; gap: 2px !important; }
.novomatic-active .bet-btn {
    background: none !important;
    border: none !important;
    color: transparent !important;
    font-size: 0 !important;
    width: 28px !important;
    height: 18px !important;
    margin-top: 15px !important;
    padding: 0 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
}
.novomatic-active .bet-btn:hover { opacity: 0.8 !important; }

/* ─── BAHIS + UDULUB (no background image) ─── */
.novomatic-active .ctrl-bet-win {
    background: url('../assets/ui/bahis-block-bg.png') center center / 100% 100% no-repeat !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    border-radius: 4px !important;
    padding: 4px 4px !important;
    height: 75px !important;
    min-width: 220px !important;
    border: none !important;
    box-sizing: border-box !important;
}
.novomatic-active .ctrl-totalbet, .novomatic-active .ctrl-win {
    display: flex !important; flex-direction: column !important;
    align-items: center !important; justify-content: flex-start !important;
    background: transparent !important; border: none !important;
    padding: 2px 8px !important; flex: 1 !important;
    gap: 0 !important;
}
.novomatic-active .ctrl-totalbet {
    padding-top: 8px !important;
    padding-right: 13px !important;
    padding-left: 3px !important;
}
.novomatic-active .tb-label { color: #ffffff !important; font: 700 9px 'Inria Sans', sans-serif !important; text-transform: uppercase !important; letter-spacing: -0.04em !important; margin-bottom: 15px !important; }
.novomatic-active .tb-value { color: #79b6f4 !important; font: 700 20px 'Inria Sans', sans-serif !important; line-height: 1 !important; text-shadow: none !important; margin-top: -2px !important; }
.novomatic-active .tb-amount { display: none !important; }
.novomatic-active .win-label { color: #8bcb9d !important; font: 700 12px 'Inria Sans', sans-serif !important; text-transform: uppercase !important; }
.novomatic-active .win-value { color: #5aaa15 !important; font: 700 30px 'Inria Sans', sans-serif !important; line-height: 1 !important; text-shadow: none !important; }
.novomatic-active .win-amount { color: #797a19 !important; font: 700 10px 'Inria Sans', sans-serif !important; line-height: 1.2 !important; }

/* ─── ACTION BUTTONS — 2x2 grid ─── */
.novomatic-active .ctrl-actions {
    display: flex !important;
    flex-direction: row !important;
    gap: 3px !important;
    align-items: center !important;
    position: relative !important;
    z-index: 1 !important;
}
.novomatic-active .action-btn-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    align-items: center !important;
}
.novomatic-active .action-btn {
    background: none !important; border: none !important; padding: 0 !important;
    cursor: pointer !important;
    font-size: 0 !important; color: transparent !important;
    overflow: hidden !important; line-height: 0 !important;
    display: block !important; box-sizing: border-box !important;
}
.novomatic-active .action-btn#btn-home {
    width: 55px !important; height: 65px !important; max-width: 55px !important; max-height: 65px !important;
}
.novomatic-active .action-btn#btn-settings {
    width: 55px !important; height: 65px !important; max-width: 55px !important; max-height: 65px !important;
}
.novomatic-active .action-btn#btn-info {
    width: 36px !important; height: 36px !important; max-width: 36px !important; max-height: 36px !important;
}
.novomatic-active .action-btn.sound-toggle {
    width: 30px !important; height: 30px !important; max-width: 30px !important; max-height: 30px !important;
}

/* ─── RISK + START + AUTO ─── */
.novomatic-active .ctrl-play { display: flex !important; align-items: center !important; gap: 0 !important; position: relative !important; z-index: 1 !important; }
.novomatic-active .gamble-text-btn,
.novomatic-active #btn-gamble {
    background: none !important;
    border: none !important;
    width: 70px !important; height: 56px !important; min-width: 70px !important;
    font-size: 0 !important; color: transparent !important; cursor: pointer !important;
    padding: 0 !important;
}
.novomatic-active .gamble-text-btn:not([disabled]),
.novomatic-active #btn-gamble:not([disabled]) { opacity: 1 !important; }
.novomatic-active .gamble-text-btn[disabled],
.novomatic-active #btn-gamble[disabled] { opacity: 0.4 !important; filter: grayscale(50%) !important; }

.novomatic-active .start-btn {
    background: none !important;
    border: none !important;
    border-radius: 50% !important; box-shadow: none !important;
    width: 85px !important; height: 82px !important; min-width: 85px !important;
    padding: 0 !important; cursor: pointer !important; transition: transform 0.1s !important;
    margin-top: -8px !important;
}

.novomatic-active .auto-btn {
    background: none !important;
    border: none !important;
    border-radius: 50% !important;
    width: 54px !important; height: 54px !important;
    padding: 0 !important; cursor: pointer !important;
    align-self: flex-start !important;
    margin-top: -5px !important;
    margin-left: -10px !important;
    flex-shrink: 0 !important;
}
.novomatic-active .auto-text { font-size: 0 !important; color: transparent !important; }

/* ═══════ TICKER — dark steel ═══════ */
.theme-novomatic ~ .game-ticker, .novomatic-active .game-ticker { display: flex !important; background: transparent !important; border-top: none !important; padding: 4px 480px 0 !important; height: 70px !important; align-items: center !important; }
.theme-novomatic ~ .game-ticker .ticker-content, .novomatic-active .game-ticker .ticker-content { display: flex !important; width: 100% !important; justify-content: space-between !important; }
.theme-novomatic ~ .game-ticker .ticker-separator, .novomatic-active .game-ticker .ticker-separator { display: none !important; }
.novomatic-active .game-ticker .ticker-item.jackpot { color: #ff2222 !important; font: italic 700 22px 'Inria Sans', sans-serif !important; text-shadow: 0 0 8px rgba(255,30,30,0.4) !important; }
.novomatic-active .game-ticker .ticker-item.bonus { color: #00dd00 !important; font: italic 700 22px 'Inria Sans', sans-serif !important; text-shadow: 0 0 8px rgba(0,220,0,0.4) !important; }

/* ═══════ MODALS ═══════ */
.novomatic-active #gamble-modal .gamble-content { background: #1a0c04 !important; border: 3px solid #7a5a28 !important; }
.novomatic-active #gamble-modal .gamble-header { background: linear-gradient(180deg, #4a3018, #2a1808) !important; color: #ffd700 !important; }
.novomatic-active #info-modal .modal-content { background: #1a0c04 !important; border: 3px solid #7a5a28 !important; }
.novomatic-active #info-modal .modal-header { background: linear-gradient(180deg, #4a3018, #2a1808) !important; color: #ffd700 !important; }
.theme-novomatic .fullscreen-btn { background: rgba(0,0,0,0.5) !important; border: 1px solid rgba(100,80,40,0.3) !important; color: #c8a040 !important; z-index: 20 !important; }

/* ═══════ RESPONSIVE ═══════ */
@media (max-width: 1100px) {
    .novomatic-active .game-controls { padding: 6px 140px !important; gap: 8px !important; }
    .novomatic-active .ctrl-credit { width: 190px !important; min-width: 190px !important; flex: 0 1 190px !important; }
    .novomatic-active .ctrl-lines, .novomatic-active .ctrl-betline { width: 125px !important; }
    .novomatic-active .start-btn { background: none !important; width: 80px !important; height: 76px !important; min-width: 80px !important; margin-top: -8px !important; }
    .novomatic-active .gamble-text-btn, .novomatic-active #btn-gamble { background: none !important; width: 65px !important; height: 56px !important; min-width: 65px !important; }
    .novomatic-active .auto-btn { background: none !important; width: 48px !important; height: 48px !important; margin-top: 0 !important; margin-left: -8px !important; }
    .novomatic-active .ctrl-bet-win { min-width: 180px !important; height: 70px !important; }
    .novomatic-active .ctrl-denom { width: 70px !important; height: 70px !important; flex: 0 0 70px !important; }
    .novomatic-active .tb-value, .novomatic-active .win-value { font-size: 26px !important; }
    .novomatic-active .credit-row .value { font-size: 20px !important; }
    .novomatic-active .bet-value { font-size: 20px !important; }
    .novomatic-active .action-btn#btn-home, .novomatic-active .action-btn#btn-settings { background: none !important; width: 50px !important; height: 58px !important; max-width: 50px !important; max-height: 58px !important; }
    .novomatic-active .action-btn#btn-info { background: none !important; width: 32px !important; height: 32px !important; max-width: 32px !important; max-height: 32px !important; }
    .novomatic-active .action-btn.sound-toggle { background: none !important; width: 28px !important; height: 28px !important; max-width: 28px !important; max-height: 28px !important; }
}
@media (max-width: 800px) {
    .novomatic-active .ctrl-denom { display: none !important; }
    .novomatic-active .ctrl-credit { width: 160px !important; min-width: 160px !important; flex: 0 1 160px !important; }
    .novomatic-active .ctrl-bet-win { min-width: 130px !important; height: 70px !important; }
    .novomatic-active .ctrl-lines, .novomatic-active .ctrl-betline { width: 110px !important; }
    .novomatic-active .start-btn { background: none !important; width: 68px !important; height: 68px !important; min-width: 68px !important; margin-top: -6px !important; }
    .novomatic-active .auto-btn { background: none !important; width: 40px !important; height: 40px !important; margin-top: 0 !important; margin-left: -6px !important; }
    .novomatic-active .tb-value, .novomatic-active .win-value { font-size: 22px !important; }
    .novomatic-active .credit-row .value { font-size: 18px !important; }
    .novomatic-active .bet-value { font-size: 18px !important; }
}

/* Figma icon images inside buttons */
.novomatic-active .action-btn img { width: 100% !important; height: 100% !important; max-width: 65px !important; max-height: 65px !important; object-fit: contain !important; display: block !important; pointer-events: none !important; }
.novomatic-active .gamble-text-btn img { width: 100% !important; height: 100% !important; max-width: 70px !important; max-height: 56px !important; object-fit: contain !important; display: block !important; pointer-events: none !important; }
.novomatic-active .start-btn img { width: 100% !important; height: 100% !important; max-width: 85px !important; max-height: 82px !important; object-fit: contain !important; display: block !important; pointer-events: none !important; }
.novomatic-active .auto-btn img { width: 100% !important; height: 100% !important; max-width: 50px !important; max-height: 50px !important; object-fit: contain !important; display: block !important; pointer-events: none !important; }
.novomatic-active .bet-btn img { width: 100% !important; height: 100% !important; max-width: 28px !important; max-height: 18px !important; object-fit: contain !important; display: block !important; pointer-events: none !important; }
.novomatic-active .start-btn::before { display: none !important; }
.novomatic-active .start-btn:hover { transform: scale(1.05) !important; }
.novomatic-active .start-btn:active { transform: scale(0.95) !important; }
.novomatic-active .start-text { font-size: 0 !important; color: transparent !important; }
.novomatic-active .start-ring { display: none !important; }
.novomatic-active .auto-text { font-size: 0 !important; color: transparent !important; }

/* ============================================
   MOBILE RESPONSIVE - SLOT GAME
   ============================================ */

/* Force novomatic theme on ALL screen sizes - override game.css mobile */
@media (max-width: 900px) {
    .theme-novomatic .reels-container {
        position: absolute !important; gap: 0 !important; padding: 0 !important;
        background: #ede0c8 !important; border: none !important; border-radius: 0 !important;
        top: 5%; left: 6.3%; right: 6.4%; bottom: 5%;
    }
    .theme-novomatic .reel {
        flex: 1 1 0 !important; width: auto !important; height: auto !important;
        min-width: 0 !important; min-height: 0 !important;
        max-width: none !important; max-height: none !important;
        background: #f0e4d0 !important; border: none !important;
        border-right: 3px solid #3a2510 !important; border-radius: 0 !important;
    }
    .theme-novomatic .reel:last-child { border-right: none !important; }
    .theme-novomatic .symbol {
        flex: 1 1 0 !important; width: 100% !important; height: auto !important;
        min-height: 0 !important; max-height: none !important;
        background: transparent !important; font-size: 0 !important;
    }
    .theme-novomatic .symbol img {
        width: 100% !important; height: 100% !important; object-fit: contain !important;
    }
    .theme-novomatic .game-area {
        background: linear-gradient(135deg, #0a1628 0%, #0d1f3c 25%, #122a4a 50%, #0d1f3c 75%, #0a1628 100%) !important;
        padding: 0 !important; gap: 0 !important; position: relative !important; overflow: hidden !important;
    }
    .theme-novomatic .game-area::before {
        content: '' !important; display: block !important; position: absolute !important;
        top: 0 !important; left: 50% !important; transform: translateX(-50%) !important;
        height: 126% !important; aspect-ratio: 1920/1440 !important;
        background: url('../assets/slots/columbus/bg/frame.png') center center / 100% 100% no-repeat !important;
        z-index: 0 !important; pointer-events: none !important;
    }
    .theme-novomatic .paylines-left,
    .theme-novomatic .paylines-right { display: none !important; }
    .novomatic-active .game-status {
        background: transparent !important; border: none !important;
    }
    .novomatic-active .game-panel-container,
    #game-screen.novomatic-active .game-panel-container {
        background: url('../assets/ui/menu-panel-bg2.png') center center / 100% 100% no-repeat !important;
    }
    /* Force novomatic controls bg */
    .novomatic-active .game-controls {
        background: transparent !important;
        border: none !important;
        flex-wrap: nowrap !important;
        flex-direction: row !important;
        padding: 8px 80px !important;
    }
    .novomatic-active .ctrl-play,
    .novomatic-active .ctrl-actions,
    .novomatic-active .ctrl-lines-stack,
    .novomatic-active .ctrl-credit,
    .novomatic-active .ctrl-bet-win,
    .novomatic-active .ctrl-denom {
        width: auto !important;
    }
    .novomatic-active .control-left,
    .novomatic-active .control-center,
    .novomatic-active .control-right {
        width: auto !important;
        justify-content: center !important;
    }
    /* Back to menu button style */
    .novomatic-active .back-to-menu {
        z-index: 20 !important;
    }
    .novomatic-active .game-controls::before,
    .novomatic-active .game-controls::after {
        display: none !important;
    }
    /* Game header hidden */
    .theme-novomatic .game-header {
        height: 0 !important; min-height: 0 !important; max-height: 0 !important;
        flex: 0 0 0px !important; overflow: hidden !important;
    }
    /* Reel strips */
    .theme-novomatic .reel-strip {
        flex: 1 1 0 !important; min-height: 0 !important;
        height: 100% !important;
    }
}

/* --- TABLET (768px) --- */
@media (max-width: 768px) {
    /* Game panel container */
    .game-panel-container { height: 160px !important; }

    /* Controls */
    .novomatic-active .game-controls {
        padding: 5px 25px !important;
        margin-top: 35px !important;
        gap: 6px !important;
        min-height: 60px !important;
        max-height: 70px !important;
        flex-wrap: nowrap !important;
        flex-direction: row !important;
    }

    /* Sections */
    .novomatic-active .ctrl-credit { width: 155px !important; min-width: 155px !important; flex: 0 1 155px !important; }
    .novomatic-active .ctrl-bet-win { min-width: 130px !important; height: 60px !important; }
    .novomatic-active .ctrl-lines, .novomatic-active .ctrl-betline { width: 100px !important; }
    .novomatic-active .ctrl-denom { width: 55px !important; height: 55px !important; flex: 0 0 55px !important; }

    /* Buttons */
    .novomatic-active .start-btn { width: 65px !important; height: 65px !important; min-width: 65px !important; margin-top: -5px !important; }
    .novomatic-active .gamble-text-btn, .novomatic-active #btn-gamble { width: 55px !important; height: 46px !important; min-width: 55px !important; }
    .novomatic-active .auto-btn { width: 38px !important; height: 38px !important; margin-left: -5px !important; }

    /* Text */
    .novomatic-active .credit-row .label { font-size: 12px !important; }
    .novomatic-active .credit-row .value { font-size: 18px !important; }
    .novomatic-active .credit-row .currency { font-size: 10px !important; }
    .novomatic-active .tb-value, .novomatic-active .win-value { font-size: 20px !important; }
    .novomatic-active .bet-value { font-size: 17px !important; }

    /* Action buttons */
    .novomatic-active .action-btn#btn-home, .novomatic-active .action-btn#btn-settings { width: 40px !important; height: 48px !important; max-width: 40px !important; max-height: 48px !important; }
    .novomatic-active .action-btn#btn-info { width: 26px !important; height: 26px !important; max-width: 26px !important; max-height: 26px !important; }
    .novomatic-active .action-btn.sound-toggle { width: 22px !important; height: 22px !important; max-width: 22px !important; max-height: 22px !important; }

    /* Ticker */
    .theme-novomatic ~ .game-ticker, .novomatic-active .game-ticker {
        padding: 2px 25px 0 !important; height: 45px !important;
    }
    .novomatic-active .game-ticker .ticker-item.jackpot,
    .novomatic-active .game-ticker .ticker-item.bonus { font-size: 15px !important; }

    /* Paylines hide */
    .theme-novomatic .paylines-left,
    .theme-novomatic .paylines-right { display: none !important; }
}

/* --- PHONE LANDSCAPE (600px) --- */
@media (max-width: 600px) {
    .game-panel-container { height: 135px !important; }
    .theme-novomatic .game-area::before { height: 132% !important; }
    .theme-novomatic .reel { border-right-width: 2px !important; }

    .novomatic-active .game-controls {
        padding: 3px 12px !important;
        margin-top: 22px !important;
        gap: 4px !important;
        min-height: 50px !important;
        max-height: 58px !important;
        flex-wrap: nowrap !important;
        flex-direction: row !important;
    }

    .novomatic-active .ctrl-credit { width: 125px !important; min-width: 125px !important; flex: 0 1 125px !important; height: 52px !important; }
    .novomatic-active .ctrl-bet-win { min-width: 105px !important; height: 52px !important; padding: 0 8px !important; }
    .novomatic-active .ctrl-lines, .novomatic-active .ctrl-betline { width: 80px !important; }
    .novomatic-active .ctrl-denom { display: none !important; }

    .novomatic-active .start-btn { width: 52px !important; height: 52px !important; min-width: 52px !important; margin-top: -3px !important; }
    .novomatic-active .gamble-text-btn, .novomatic-active #btn-gamble { width: 42px !important; height: 36px !important; min-width: 42px !important; }
    .novomatic-active .auto-btn { width: 30px !important; height: 30px !important; margin-left: -3px !important; }

    .novomatic-active .credit-row .label { font-size: 10px !important; min-width: 40px !important; }
    .novomatic-active .credit-row .value { font-size: 15px !important; }
    .novomatic-active .credit-row .currency { font-size: 9px !important; }
    .novomatic-active .tb-value, .novomatic-active .win-value { font-size: 16px !important; }
    .novomatic-active .bet-value { font-size: 14px !important; }
    .novomatic-active .bet-btn { width: 20px !important; height: 13px !important; }
    .novomatic-active .bet-btn img { max-width: 20px !important; max-height: 13px !important; }

    .novomatic-active .action-btn#btn-home, .novomatic-active .action-btn#btn-settings { width: 34px !important; height: 40px !important; max-width: 34px !important; max-height: 40px !important; }
    .novomatic-active .action-btn#btn-info { width: 22px !important; height: 22px !important; }
    .novomatic-active .action-btn.sound-toggle { width: 18px !important; height: 18px !important; }

    .theme-novomatic ~ .game-ticker, .novomatic-active .game-ticker {
        padding: 1px 12px 0 !important; height: 35px !important;
    }
    .novomatic-active .game-ticker .ticker-item.jackpot,
    .novomatic-active .game-ticker .ticker-item.bonus { font-size: 12px !important; }

    .novomatic-active .ctrl-lines-stack { gap: 1px !important; }
    .novomatic-active .ctrl-lines-stack .ctrl-label,
    .novomatic-active .bet-label { font-size: 7px !important; }

    /* Back to menu button */
    .back-to-menu { width: 28px !important; height: 28px !important; font-size: 14px !important; top: 3px !important; right: 3px !important; }
}

/* --- PHONE PORTRAIT (480px) --- */
@media (max-width: 480px) {
    .game-panel-container { height: 115px !important; }
    .theme-novomatic .game-area::before { height: 138% !important; }
    .theme-novomatic .reel { border-right-width: 1px !important; }
    .theme-novomatic .reels-container { top: 4%; left: 5%; right: 5%; bottom: 4%; }

    .novomatic-active .game-controls {
        padding: 2px 6px !important;
        margin-top: 14px !important;
        gap: 3px !important;
        min-height: 42px !important;
        max-height: 50px !important;
        flex-wrap: nowrap !important;
        flex-direction: row !important;
    }

    .novomatic-active .ctrl-credit { width: 95px !important; min-width: 95px !important; height: 42px !important; }
    .novomatic-active .ctrl-bet-win { min-width: 80px !important; height: 42px !important; padding: 0 4px !important; }
    .novomatic-active .ctrl-lines, .novomatic-active .ctrl-betline { width: 60px !important; }

    .novomatic-active .start-btn { width: 42px !important; height: 42px !important; min-width: 42px !important; margin-top: -1px !important; }
    .novomatic-active .start-btn img { max-width: 42px !important; max-height: 42px !important; }
    .novomatic-active .gamble-text-btn, .novomatic-active #btn-gamble { width: 34px !important; height: 28px !important; min-width: 34px !important; }
    .novomatic-active .auto-btn { width: 24px !important; height: 24px !important; margin-left: -2px !important; }

    .novomatic-active .credit-row .label { font-size: 7px !important; min-width: 30px !important; }
    .novomatic-active .credit-row .value { font-size: 11px !important; }
    .novomatic-active .credit-row .currency { font-size: 7px !important; }
    .novomatic-active .tb-label, .novomatic-active .win-label { font-size: 6px !important; }
    .novomatic-active .tb-value, .novomatic-active .win-value { font-size: 12px !important; }
    .novomatic-active .tb-amount, .novomatic-active .win-amount { font-size: 6px !important; }
    .novomatic-active .bet-value { font-size: 11px !important; }
    .novomatic-active .bet-label { font-size: 5px !important; }
    .novomatic-active .bet-btn { width: 16px !important; height: 10px !important; margin-top: 8px !important; }
    .novomatic-active .bet-btn img { max-width: 16px !important; max-height: 10px !important; }

    .novomatic-active .action-btn#btn-home, .novomatic-active .action-btn#btn-settings { width: 26px !important; height: 30px !important; max-width: 26px !important; max-height: 30px !important; }
    .novomatic-active .action-btn#btn-info { width: 16px !important; height: 16px !important; max-width: 16px !important; }
    .novomatic-active .action-btn.sound-toggle { width: 14px !important; height: 14px !important; max-width: 14px !important; }
    .novomatic-active .action-btn img { max-width: 30px !important; max-height: 30px !important; }

    .theme-novomatic ~ .game-ticker, .novomatic-active .game-ticker {
        padding: 1px 6px 0 !important; height: 28px !important;
    }
    .novomatic-active .game-ticker .ticker-item.jackpot,
    .novomatic-active .game-ticker .ticker-item.bonus { font-size: 9px !important; }

    /* Game status text */
    .novomatic-active .game-status { height: 14px !important; }
    .novomatic-active .game-status-text { font-size: 8px !important; }

    .back-to-menu { width: 24px !important; height: 24px !important; font-size: 12px !important; }
}

/* --- SMALL PHONE (360px) --- */
@media (max-width: 360px) {
    .game-panel-container { height: 100px !important; }
    .theme-novomatic .game-area::before { height: 145% !important; }
    .theme-novomatic .reels-container { top: 3%; left: 4%; right: 4%; bottom: 3%; }

    .novomatic-active .game-controls {
        padding: 1px 3px !important;
        margin-top: 10px !important;
        gap: 2px !important;
        min-height: 36px !important;
        max-height: 42px !important;
        flex-wrap: nowrap !important;
        flex-direction: row !important;
    }

    .novomatic-active .ctrl-credit { width: 78px !important; min-width: 78px !important; height: 36px !important; }
    .novomatic-active .ctrl-bet-win { min-width: 65px !important; height: 36px !important; }
    .novomatic-active .ctrl-lines, .novomatic-active .ctrl-betline { width: 50px !important; }

    .novomatic-active .start-btn { width: 36px !important; height: 36px !important; min-width: 36px !important; }
    .novomatic-active .gamble-text-btn, .novomatic-active #btn-gamble { width: 28px !important; height: 24px !important; min-width: 28px !important; }
    .novomatic-active .auto-btn { width: 20px !important; height: 20px !important; }

    .novomatic-active .credit-row .label { font-size: 6px !important; }
    .novomatic-active .credit-row .value { font-size: 9px !important; }
    .novomatic-active .tb-value, .novomatic-active .win-value { font-size: 10px !important; }
    .novomatic-active .bet-value { font-size: 9px !important; }

    .novomatic-active .action-btn#btn-home, .novomatic-active .action-btn#btn-settings { width: 22px !important; height: 26px !important; }

    .theme-novomatic ~ .game-ticker, .novomatic-active .game-ticker { height: 22px !important; }
    .novomatic-active .game-ticker .ticker-item.jackpot,
    .novomatic-active .game-ticker .ticker-item.bonus { font-size: 7px !important; }
}

/* ═══ TOUCH DEVICE OVERRIDE — SLOT GAME ═══ */
body.touch-device .game-panel-container { height: 140px !important; }
body.touch-device .novomatic-active .game-controls {
    padding: 4px 15px !important; margin-top: 25px !important; gap: 5px !important;
    min-height: 55px !important; max-height: 65px !important;
    flex-wrap: nowrap !important; flex-direction: row !important;
}
body.touch-device .novomatic-active .ctrl-credit { width: 135px !important; min-width: 135px !important; }
body.touch-device .novomatic-active .ctrl-bet-win { min-width: 110px !important; height: 55px !important; }
body.touch-device .novomatic-active .ctrl-lines, body.touch-device .novomatic-active .ctrl-betline { width: 85px !important; }
body.touch-device .novomatic-active .ctrl-denom { display: none !important; }
body.touch-device .novomatic-active .start-btn { width: 55px !important; height: 55px !important; min-width: 55px !important; }
body.touch-device .novomatic-active .gamble-text-btn { width: 45px !important; height: 38px !important; min-width: 45px !important; }
body.touch-device .novomatic-active .auto-btn { width: 32px !important; height: 32px !important; }
body.touch-device .novomatic-active .credit-row .value { font-size: 16px !important; }
body.touch-device .novomatic-active .tb-value, body.touch-device .novomatic-active .win-value { font-size: 17px !important; }
body.touch-device .novomatic-active .action-btn#btn-home, body.touch-device .novomatic-active .action-btn#btn-settings { width: 36px !important; height: 42px !important; }
body.touch-device .theme-novomatic .paylines-left, body.touch-device .theme-novomatic .paylines-right { display: none !important; }
body.touch-device .theme-novomatic ~ .game-ticker, body.touch-device .novomatic-active .game-ticker { padding: 2px 15px 0 !important; height: 38px !important; }
body.touch-device .novomatic-active .game-ticker .ticker-item.jackpot,
body.touch-device .novomatic-active .game-ticker .ticker-item.bonus { font-size: 13px !important; }

/* ═══ MOBILE — TOUCH DEVICES — SLOTS ═══ */
@media (hover: none) and (pointer: coarse) {
    .game-panel-container { height: 120px !important; }
    .novomatic-active .game-controls {
        padding: 4px 8px !important; margin-top: 20px !important; gap: 3px !important;
        min-height: 50px !important; max-height: 55px !important;
        flex-wrap: nowrap !important; flex-direction: row !important;
    }
    .novomatic-active .ctrl-credit { width: 110px !important; min-width: 100px !important; }
    .novomatic-active .ctrl-credit .credit-row .value { font-size: 13px !important; }
    .novomatic-active .ctrl-credit .credit-row .label { font-size: 7px !important; }
    .novomatic-active .ctrl-bet-win { min-width: 90px !important; height: 50px !important; }
    .novomatic-active .ctrl-lines, .novomatic-active .ctrl-betline { width: 70px !important; }
    .novomatic-active .ctrl-denom { display: none !important; }
    .novomatic-active .start-btn { width: 48px !important; height: 48px !important; min-width: 48px !important; }
    .novomatic-active .gamble-text-btn { width: 38px !important; height: 34px !important; min-width: 38px !important; font-size: 8px !important; }
    .novomatic-active .auto-btn { width: 28px !important; height: 28px !important; }
    .novomatic-active .tb-value, .novomatic-active .win-value { font-size: 14px !important; }
    .novomatic-active .action-btn#btn-home, .novomatic-active .action-btn#btn-settings { width: 32px !important; height: 36px !important; }
    .theme-novomatic .paylines-left, .theme-novomatic .paylines-right { display: none !important; }
    .theme-novomatic ~ .game-ticker, .novomatic-active .game-ticker { padding: 2px 8px 0 !important; height: 30px !important; }
    .novomatic-active .game-ticker .ticker-item.jackpot,
    .novomatic-active .game-ticker .ticker-item.bonus { font-size: 11px !important; }
}
