/* Explain: Casino Royale styling - gold gradients, felt textures, premium animations */

::-webkit-scrollbar {
    width: 6px;
}
::-webkit-scrollbar-track {
    background: var(--background-secondary);
}
::-webkit-scrollbar-thumb {
    background: var(--primary-dark);
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: var(--primary-color);
}

/* Felt-table textured background */
.casino-felt {
    background-color: var(--background-color);
    background-image:
        radial-gradient(ellipse at top, rgba(21, 90, 69, 0.6) 0%, transparent 60%),
        radial-gradient(ellipse at bottom, rgba(5, 34, 24, 0.8) 0%, transparent 60%),
        repeating-linear-gradient(45deg, rgba(0,0,0,0.04) 0 2px, transparent 2px 4px);
}

/* Gold gradient text */
.gold-text {
    background: linear-gradient(135deg, #f0c75e 0%, #d4af37 50%, #b8941f 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* Gold gradient button */
.gold-btn {
    background: linear-gradient(135deg, #f0c75e 0%, #d4af37 50%, #b8941f 100%);
    color: #0a3d2e;
    box-shadow: 0 4px 14px rgba(212, 175, 55, 0.4), inset 0 1px 0 rgba(255,255,255,0.4);
}
.gold-btn:hover {
    background: linear-gradient(135deg, #f5d378 0%, #e0bc48 50%, #c9a227 100%);
    box-shadow: 0 6px 20px rgba(212, 175, 55, 0.55), inset 0 1px 0 rgba(255,255,255,0.5);
}

/* Gold ring border */
.gold-ring {
    border: 1px solid var(--primary-color);
    box-shadow: 0 0 0 1px rgba(212,175,55,0.15), 0 4px 20px rgba(0,0,0,0.3);
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-fade-in-up {
    animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes dealCard {
    0% {
        opacity: 0;
        transform: translateY(-40px) scale(0.8) rotate(-10deg);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1) rotate(0deg);
    }
}
.animate-deal {
    animation: dealCard 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

@keyframes goldShimmer {
    0%, 100% { box-shadow: 0 0 14px rgba(212, 175, 55, 0.3); }
    50% { box-shadow: 0 0 22px rgba(212, 175, 55, 0.6); }
}
.gold-shimmer {
    animation: goldShimmer 2.5s ease-in-out infinite;
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    10%, 30%, 50%, 70%, 90% { transform: translateX(-5px); }
    20%, 40%, 60%, 80% { transform: translateX(5px); }
}
.animate-shake {
    animation: shake 0.4s cubic-bezier(.36,.07,.19,.97) both;
}

/* Prevent double-tap to zoom on mobile devices */
html, body {
    touch-action: manipulation;
}
a, button, input, select, textarea, [tabindex], [role="button"] {
    touch-action: manipulation !important;
}
