/* ===================================================
   ACCESSIBILITY MODE STYLES
   Ensures WCAG compliance and removes all flashing,
   animations, and visual complexity for users with
   sensory sensitivities or cognitive disabilities.
   =================================================== */

/* --- BASE SETTINGS --- */
body.mode-accessibility {
    background: #0a0a0a !important;
    font-size: 16px !important;
    color: #ffffff !important;
}

/* --- DISABLE ALL ANIMATIONS & TRANSITIONS --- */
body.mode-accessibility *,
body.mode-accessibility *::before,
body.mode-accessibility *::after {
    transition: none !important;
    animation: none !important;
    text-shadow: none !important;
    letter-spacing: 0.02em !important;
    line-height: 1.6 !important;
}

/* Force disable all animation classes */
body.mode-accessibility .animate-pulse,
body.mode-accessibility .animate-bounce,
body.mode-accessibility .animate-spin,
body.mode-accessibility [class*="pulse"],
body.mode-accessibility [class*="blink"],
body.mode-accessibility [class*="flash"],
body.mode-accessibility [class*="animate"] {
    animation: none !important;
}

/* --- TYPOGRAPHY & READABILITY --- */
body.mode-accessibility h1,
body.mode-accessibility h2,
body.mode-accessibility h3 {
    font-size: 1.4em !important;
}

body.mode-accessibility button {
    font-size: 14px !important;
    padding: 12px !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

body.mode-accessibility .text-xs {
    font-size: 13px !important;
}

body.mode-accessibility .text-sm {
    font-size: 15px !important;
}

body.mode-accessibility .text-lg {
    font-size: 18px !important;
}

body.mode-accessibility .text-xl {
    font-size: 20px !important;
}

body.mode-accessibility .counter-text {
    font-size: 2rem !important;
    text-shadow: none !important;
}

/* --- HIGH CONTRAST COLORS --- */
body.mode-accessibility .text-gray-400,
body.mode-accessibility .text-gray-500,
body.mode-accessibility .text-gray-600 {
    color: #bbbbbb !important;
    opacity: 1 !important;
}

body.mode-accessibility .text-red-300,
body.mode-accessibility .text-red-400,
body.mode-accessibility .text-red-500 {
    color: #ff6b6b !important;
}

body.mode-accessibility .text-green-400 {
    color: #51cf66 !important;
}

body.mode-accessibility .text-blue-200,
body.mode-accessibility .text-blue-300,
body.mode-accessibility .text-blue-400 {
    color: #74c0fc !important;
}

body.mode-accessibility .text-yellow-200,
body.mode-accessibility .text-yellow-400 {
    color: #ffd43b !important;
}

body.mode-accessibility .text-pink-400 {
    color: #ff8cd6 !important;
}

body.mode-accessibility .text-purple-300 {
    color: #d8adff !important;
}

/* --- DISABLE DECORATIVE EFFECTS --- */
body.mode-accessibility .bg-gradient-animate {
    display: none !important;
}

body.mode-accessibility .beer-bubble,
body.mode-accessibility .bubble {
    display: none !important;
}

body.mode-accessibility .click-particle,
body.mode-accessibility .money-particle,
body.mode-accessibility .money-sparkle {
    animation: none !important;
    display: none !important;
}

/* --- GLASS/PANEL STYLING --- */
body.mode-accessibility .glass-panel,
body.mode-accessibility .glass-btn {
    background: #1a1a1a !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    border: 1px solid #333 !important;
    box-shadow: none !important;
}

body.mode-accessibility .glass-btn:hover:not(:disabled) {
    background: #2a2a2a !important;
    transform: none !important;
}

body.mode-accessibility .glass-btn:active:not(:disabled) {
    transform: none !important;
}

body.mode-accessibility #btn-accessibility,
body.mode-accessibility #btn-8bit,
body.mode-accessibility #btn-smart-mode {
    pointer-events: auto !important;
    cursor: pointer !important;
    background: #2a2a2a !important;
    border: 1px solid #444 !important;
}

/* --- BEER GLASS STYLING --- */
body.mode-accessibility .beer-glass-container {
    box-shadow: none !important;
}

body.mode-accessibility .beer-glass-container:active {
    transform: none !important;
}

body.mode-accessibility .liquid {
    background: #d97706 !important;
    box-shadow: none !important;
}

body.mode-accessibility .foam-head {
    box-shadow: none !important;
    filter: none !important;
}

/* --- TOAST NOTIFICATIONS --- */
body.mode-accessibility .toast-msg {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
}

body.mode-accessibility #toast-container {
    top: auto !important;
    bottom: 20px !important;
}

/* --- BUFF INDICATORS --- */
body.mode-accessibility .buff-active {
    animation: none !important;
    border-color: #fbbf24 !important;
}

/* --- HAPPY HOUR MODE (CRITICAL FIX) --- */
/* Disable ALL happy hour animations and effects */
body.mode-accessibility.happy-hour-mode #game-content {
    box-shadow: none !important;
    animation: none !important;
    border: 3px solid #d946ef !important;
    background: transparent !important;
}

body.mode-accessibility.happy-hour-mode #game-content * {
    animation: none !important;
}

/* CRITICAL: Override 8-bit mode blinking in accessibility mode */
body.mode-accessibility.mode-8bit.happy-hour-mode #game-content {
    box-shadow: none !important;
    animation: none !important;
    border: 3px solid #d946ef !important;
    background: #0a0a0a !important;
}

/* --- SICK MODE --- */
body.mode-accessibility.sick-mode #game-content {
    filter: none !important;
    transform: none !important;
}

body.mode-accessibility.sick-mode.alcohol-mode #game-content {
    filter: none !important;
    transform: none !important;
}

/* --- MODALS & OVERLAYS --- */
body.mode-accessibility .click-disabled-overlay {
    animation: none !important;
}

body.mode-accessibility .modal-overlay {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* --- FIREWORKS & PARTICLES --- */
body.mode-accessibility .firework,
body.mode-accessibility .firework-particle {
    display: none !important;
}

/* --- ACHIEVEMENT CARDS --- */
body.mode-accessibility .achievement-card {
    animation: none !important;
    transform: none !important;
    box-shadow: none !important;
    border: 1px solid #333 !important;
}

body.mode-accessibility .achievement-card:hover {
    transform: none !important;
}

/* --- ENSURE NO PSEUDO-ELEMENT ANIMATIONS --- */
body.mode-accessibility *::before,
body.mode-accessibility *::after {
    animation: none !important;
    transition: none !important;
}

/* ===================================================
   END OF ACCESSIBILITY MODE STYLES
   =================================================== */
