/* Form Input Enhancements */

/* Common styles for all form elements */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="file"],
input[type="search"],
input[type="tel"],
input[type="url"],
select,
textarea {
    border: 1px solid #a0aec0 !important; /* Darker border for better visibility */
    background-color: #f9fafb !important; /* Very light gray background */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1) !important; /* Slightly more pronounced shadow */
    outline: none !important;
}

/* Focus states */
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="number"]:focus,
input[type="date"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
select:focus,
textarea:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb), 0.2) !important;
    background-color: #ffffff !important;
    outline: none !important;
}

/* Hover states */
input[type="text"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
input[type="number"]:hover,
input[type="date"]:hover,
input[type="search"]:hover,
input[type="tel"]:hover,
input[type="url"]:hover,
select:hover,
textarea:hover {
    border-color: #a0aec0 !important; /* Darker border on hover */
}

/* File inputs */
input[type="file"] {
    background-color: #f3f4f6 !important;
    padding: 0.5rem !important;
    border-radius: 0.375rem !important;
}

/* Checkbox and radio inputs */
input[type="checkbox"],
input[type="radio"] {
    width: 1rem !important;
    height: 1rem !important;
    border: 1px solid #cbd5e0 !important;
}

input[type="checkbox"]:checked,
input[type="radio"]:checked {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

/* Disabled inputs */
input:disabled,
select:disabled,
textarea:disabled {
    background-color: #e5e7eb !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
}

/* Required fields - subtle indicator */
input:required,
select:required,
textarea:required {
    border-left: 3px solid var(--color-primary) !important;
}