/**
 * Mobile Numeric Keyboard Styles
 * Additional styles for numeric input fields on mobile devices
 */

/* Ensure numeric inputs have proper styling */
input[inputmode="numeric"],
input[inputmode="decimal"],
input[inputmode="tel"] {
    font-family: 'Shabnam', 'Tahoma', 'Arial', sans-serif !important;
    direction: ltr !important;
    text-align: left !important;
}

/* Visual indicator for configured numeric inputs (development only) */
input[data-numeric-keyboard-configured="true"] {
    /* Add subtle border for debugging */
    border-left: 2px solid rgba(16, 185, 129, 0.3) !important;
}

/* Focus styles for numeric inputs */
input[inputmode="numeric"]:focus,
input[inputmode="decimal"]:focus,
input[inputmode="tel"]:focus {
    outline: 2px solid #10b981 !important;
    outline-offset: 2px !important;
}

/* Ensure proper font rendering for Persian numbers */
input[data-persian-number],
input[name*="price"],
input[name*="rent"],
input[name*="deposit"],
input[name*="area"],
input[name*="year"],
input[name*="floor"],
input[name*="rooms"],
input[name*="guests"],
input[name*="postal_code"],
input[name*="phone"],
input[name*="mobile"] {
    font-family: 'Shabnam', 'Tahoma', 'Arial', sans-serif !important;
    direction: ltr !important;
    text-align: left !important;
    font-feature-settings: "numr" 1 !important;
    -webkit-font-feature-settings: "numr" 1 !important;
    -moz-font-feature-settings: "numr" 1 !important;
}

/* Mobile-specific optimizations */
@media (max-width: 768px) {
    /* Larger touch targets for mobile */
    input[inputmode="numeric"],
    input[inputmode="decimal"],
    input[inputmode="tel"] {
        min-height: 44px !important;
        padding: 12px 16px !important;
        font-size: 16px !important; /* Prevents zoom on iOS */
    }
    
    /* Better spacing for mobile forms */
    .mobile-form input[inputmode="numeric"],
    .mobile-form input[inputmode="decimal"],
    .mobile-form input[inputmode="tel"] {
        margin-bottom: 16px !important;
    }
}

/* Light mode - Force proper text color for mobile inputs (default) - match other inputs */
input[inputmode="numeric"],
input[inputmode="decimal"],
input[inputmode="tel"],
input[name="mobile"],
input[type="tel"][name="mobile"],
input[type="tel"] {
    color: #374151 !important; /* text-gray-700 */
}

/* Override dark mode styles for light backgrounds - HIGH PRIORITY */
input[inputmode="numeric"].bg-gray-50,
input[inputmode="decimal"].bg-gray-50,
input[inputmode="tel"].bg-gray-50,
input[inputmode="numeric"].bg-gray-100,
input[inputmode="decimal"].bg-gray-100,
input[inputmode="tel"].bg-gray-100,
input[inputmode="numeric"].bg-white,
input[inputmode="decimal"].bg-white,
input[inputmode="tel"].bg-white,
input[name="mobile"].bg-gray-50,
input[name="mobile"].bg-gray-100,
input[name="mobile"].bg-white,
input[type="tel"][name="mobile"].bg-gray-50,
input[type="tel"][name="mobile"].bg-gray-100,
input[type="tel"][name="mobile"].bg-white,
input[type="tel"].bg-gray-50,
input[type="tel"].bg-gray-100,
input[type="tel"].bg-white,
/* Auth pages override */
.auth-card input[inputmode="tel"],
.auth-card input[name="mobile"],
.auth-card input[type="tel"] {
    color: #374151 !important; /* text-gray-700 */
    background-color: inherit !important;
}

/* Dark mode support - Only apply to inputs without light backgrounds */
@media (prefers-color-scheme: dark) {
    /* Only apply dark mode styles to inputs that don't have light background classes */
    input[inputmode="numeric"]:not(.bg-gray-50):not(.bg-gray-100):not(.bg-white):not([class*="bg-gray-"]):not([class*="bg-"]),
    input[inputmode="decimal"]:not(.bg-gray-50):not(.bg-gray-100):not(.bg-white):not([class*="bg-gray-"]):not([class*="bg-"]),
    input[inputmode="tel"]:not(.bg-gray-50):not(.bg-gray-100):not(.bg-white):not([class*="bg-gray-"]):not([class*="bg-"]) {
        background-color: #1f2937 !important;
        color: #f9fafb !important;
        border-color: #374151 !important;
    }
    
    input[inputmode="numeric"]:focus:not(.bg-gray-50):not(.bg-gray-100):not(.bg-white):not([class*="bg-gray-"]):not([class*="bg-"]),
    input[inputmode="decimal"]:focus:not(.bg-gray-50):not(.bg-gray-100):not(.bg-white):not([class*="bg-gray-"]):not([class*="bg-"]),
    input[inputmode="tel"]:focus:not(.bg-gray-50):not(.bg-gray-100):not(.bg-white):not([class*="bg-gray-"]):not([class*="bg-"]) {
        outline-color: #34d399 !important;
        border-color: #34d399 !important;
    }
    
    /* Explicitly override for auth pages even in dark mode */
    .auth-card input[inputmode="tel"],
    .auth-card input[name="mobile"],
    .auth-card input[type="tel"] {
        color: #374151 !important; /* text-gray-700 */
        background-color: inherit !important;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    input[inputmode="numeric"],
    input[inputmode="decimal"],
    input[inputmode="tel"] {
        border-width: 2px !important;
        border-color: #000000 !important;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    input[inputmode="numeric"],
    input[inputmode="decimal"],
    input[inputmode="tel"] {
        transition: none !important;
    }
}
