/* ============================================
   DARK THEME - funterify.com
   Modern Dark Theme with High Contrast
   ============================================ */

/* Base Dark Background */
html, body {
    background: linear-gradient(180deg, #0a0e27 0%, #1a1a2e 50%, #0f1419 100%) !important;
    background-attachment: fixed !important;
    color: #e0e0e0 !important;
    min-height: 100vh !important;
}

/* Main Content Area */
#page, .site, .site-main, .page-content, main {
    background: transparent !important;
    color: #e0e0e0 !important;
}

/* Header - Dark with accent */
#masthead, header {
    background: linear-gradient(180deg, #1a1a2e 0%, #0f1419 100%) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
    border-bottom: 3px solid #6366f1 !important;
}

/* Navigation Menu Items */
.hfe-menu-item, .hfe-nav-menu a, nav a {
    color: #e0e0e0 !important;
    transition: all 0.3s ease !important;
    font-weight: 500 !important;
}

.hfe-menu-item:hover, .hfe-nav-menu a:hover, nav a:hover {
    color: #818cf8 !important;
    text-shadow: 0 0 10px rgba(129, 140, 248, 0.5) !important;
}

/* All Headings */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

/* Paragraphs and Text */
p, span, div, li, td, th, label {
    color: #d1d5db !important;
}

.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor span,
.elementor-widget-text-editor div {
    color: #d1d5db !important;
}

/* Links */
a:where(:not(.wp-element-button)):not(.elementor-button):not(.hfe-menu-item) {
    color: #818cf8 !important;
    text-decoration: underline !important;
}

a:where(:not(.wp-element-button)):not(.elementor-button):not(.hfe-menu-item):hover {
    color: #a5b4fc !important;
    text-shadow: 0 0 8px rgba(129, 140, 248, 0.5) !important;
}

/* Buttons - Vibrant accent colors */
.elementor-button,
.wp-element-button,
.wp-block-button__link,
a.elementor-button {
    background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 8px !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 4px 15px rgba(99, 102, 241, 0.4) !important;
}

.elementor-button:hover,
.wp-element-button:hover,
.wp-block-button__link:hover,
a.elementor-button:hover {
    background: linear-gradient(135deg, #818cf8 0%, #a78bfa 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 25px rgba(99, 102, 241, 0.6) !important;
    color: #ffffff !important;
}

/* Elementor Containers - Dark backgrounds */
.e-con, .e-con-inner, .elementor-element {
    background-color: transparent !important;
}

.e-con.e-parent[data-settings*="background"],
.e-con[style*="background-color"]:not([style*="background-color: rgb(15"]):not([style*="background-color: rgb(19"]):not([style*="background-color: #0f"]):not([style*="background-color: #13"]) {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
    border-radius: 12px !important;
    padding: 20px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3) !important;
}

/* Cards and Content Blocks */
.e-con-boxed {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
    border-radius: 12px !important;
    padding: 30px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.4) !important;
}

/* Icon Box Widget */
.elementor-widget-icon-box .elementor-icon-box-title {
    color: #ffffff !important;
}

.elementor-widget-icon-box .elementor-icon-box-description {
    color: #d1d5db !important;
}

.elementor-icon {
    color: #818cf8 !important;
}

/* Counter Widget */
.elementor-counter-title {
    color: #818cf8 !important;
    font-weight: 600 !important;
}

.elementor-counter-number {
    color: #ffffff !important;
    font-weight: 700 !important;
    text-shadow: 0 0 10px rgba(129, 140, 248, 0.5) !important;
}

/* Rating Stars */
.e-rating .e-icon-marked {
    color: #fbbf24 !important;
    filter: drop-shadow(0 0 4px rgba(251, 191, 36, 0.6)) !important;
}

/* Footer - Darker shade */
footer, #colophon {
    background: linear-gradient(180deg, #0f1419 0%, #000000 100%) !important;
    color: #9ca3af !important;
    border-top: 3px solid #6366f1 !important;
}

footer h1, footer h2, footer h3, footer h4, footer h5, footer h6,
footer .elementor-heading-title {
    color: #ffffff !important;
}

footer p, footer span, footer div, footer li {
    color: #9ca3af !important;
}

footer a {
    color: #818cf8 !important;
}

footer a:hover {
    color: #a5b4fc !important;
}

/* Forms - Dark theme */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
textarea,
select {
    background-color: #1e293b !important;
    border: 2px solid #334155 !important;
    color: #e0e0e0 !important;
    border-radius: 8px !important;
    padding: 12px !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
    border-color: #6366f1 !important;
    box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.2) !important;
    outline: none !important;
}

input::placeholder,
textarea::placeholder {
    color: #64748b !important;
}

/* Images - Slight darkening overlay for better contrast */
.elementor-widget-image img {
    opacity: 0.95 !important;
    transition: opacity 0.3s ease !important;
    border-radius: 8px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
}

.elementor-widget-image img:hover {
    opacity: 1 !important;
    box-shadow: 0 8px 30px rgba(99, 102, 241, 0.3) !important;
}

/* Lists */
ul, ol {
    color: #d1d5db !important;
}

li {
    color: #d1d5db !important;
}

/* Tables */
table {
    background-color: #1e293b !important;
    border-color: #334155 !important;
}

th {
    background-color: #0f172a !important;
    color: #ffffff !important;
    border-color: #334155 !important;
}

td {
    color: #d1d5db !important;
    border-color: #334155 !important;
}

/* Scrollbar Styling */
::-webkit-scrollbar {
    width: 12px;
    height: 12px;
}

::-webkit-scrollbar-track {
    background: #0f172a;
}

::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 6px;
}

::-webkit-scrollbar-thumb:hover {
    background: #475569;
}

/* Override any light backgrounds */
[style*="background-color: #fff"],
[style*="background-color: #ffffff"],
[style*="background-color: #f0fdfa"],
[style*="background-color: #ccfbf1"],
[style*="background-color: #f8"],
[style*="background-color: #f1"],
[style*="background-color: #f9"] {
    background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%) !important;
}

/* Ensure text on light backgrounds is visible */
[style*="background-color: #fff"] *,
[style*="background-color: #ffffff"] *,
[style*="background-color: #f0fdfa"] *,
[style*="background-color: #ccfbf1"] * {
    color: #e0e0e0 !important;
}

/* Hero sections with background images */
.elementor-element-9b08611,
[class*="hero"],
[class*="Hero"] {
    position: relative !important;
}

.elementor-element-9b08611::before,
[class*="hero"]::before,
[class*="Hero"]::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: linear-gradient(135deg, rgba(10, 14, 39, 0.9) 0%, rgba(15, 20, 25, 0.85) 100%) !important;
    z-index: 1 !important;
    border-radius: 12px !important;
}

.elementor-element-9b08611 > *,
[class*="hero"] > *,
[class*="Hero"] > * {
    position: relative !important;
    z-index: 2 !important;
}

/* Mobile Menu Toggle */
.hfe-nav-menu__toggle,
.hfe-nav-menu-icon {
    color: #e0e0e0 !important;
}

.hfe-nav-menu-icon svg {
    fill: #e0e0e0 !important;
}

/* Dropdown Menus */
.hfe-nav-menu__layout-vertical,
.hfe-nav-menu__layout-horizontal .hfe-nav-menu {
    background-color: #1e293b !important;
    border: 1px solid #334155 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5) !important;
}

.hfe-nav-menu li {
    border-bottom: 1px solid #334155 !important;
}

.hfe-nav-menu li:last-child {
    border-bottom: none !important;
}

/* User Registration Forms */
.ur-form-row,
.ur-field-item {
    background-color: transparent !important;
}

.ur-form-row input,
.ur-form-row textarea,
.ur-form-row select {
    background-color: #1e293b !important;
    border-color: #334155 !important;
    color: #e0e0e0 !important;
}

/* Responsive Design - Maintain all breakpoints */
@media (max-width: 1024px) {
    .e-con-boxed {
        padding: 20px !important;
    }
}

@media (max-width: 768px) {
    body {
        font-size: 16px !important;
    }
    
    h1 { font-size: 2rem !important; }
    h2 { font-size: 1.75rem !important; }
    h3 { font-size: 1.5rem !important; }
    
    .e-con-boxed {
        padding: 15px !important;
    }
}

@media (max-width: 480px) {
    .e-con-boxed {
        padding: 12px !important;
    }
}

/* Print Styles - Keep readable */
@media print {
    body {
        background: white !important;
        color: black !important;
    }
}

/* Accessibility - High contrast mode support */
@media (prefers-contrast: high) {
    body {
        background: #000000 !important;
        color: #ffffff !important;
    }
    
    a {
        color: #ffffff !important;
        text-decoration: underline !important;
    }
}

/* Animation for smooth transitions */
* {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

/* Exclude images and videos from color transitions */
img, video, iframe, svg {
    transition: opacity 0.3s ease, box-shadow 0.3s ease !important;
}

