/**
 * Italian Tax Fields CSS for Hyvä Theme
 * 
 * @package Abacons_ItalianTaxFields
 */

.italian-tax-fields {
    @apply bg-white p-6 rounded-lg border border-gray-200 shadow-sm;
}

.italian-tax-fields h3 {
    @apply text-lg font-semibold text-gray-900 mb-2;
}

.italian-tax-fields .field {
    @apply mb-4;
}

.italian-tax-fields label {
    @apply block text-sm font-medium text-gray-700 mb-2;
}

.italian-tax-fields input[type="text"],
.italian-tax-fields input[type="email"] {
    @apply w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm;
    @apply focus:outline-none focus:ring-2 focus:ring-primary focus:border-primary;
    @apply transition-colors duration-200;
}

.italian-tax-fields input[type="text"]:invalid,
.italian-tax-fields input[type="email"]:invalid {
    @apply border-red-300 focus:ring-red-500 focus:border-red-500;
}

.italian-tax-fields .mage-error input,
.italian-tax-fields .error input {
    @apply border-red-300 focus:ring-red-500 focus:border-red-500;
}

.italian-tax-fields .mage-error .mage-error,
.italian-tax-fields .italian-tax-error {
    @apply text-red-600 text-sm mt-2 p-3 bg-red-50 border border-red-200 rounded;
}

.italian-tax-fields .field-note {
    @apply text-sm text-gray-600 mt-1;
}

/* Mobile responsive */
@media (max-width: 640px) {
    .italian-tax-fields {
        @apply p-4;
    }
    
    .italian-tax-fields h3 {
        @apply text-base;
    }
}

/* Focus states */
.italian-tax-fields input:focus {
    @apply ring-2 ring-primary ring-opacity-50;
}

/* Success state */
.italian-tax-fields .field.valid input {
    @apply border-green-300 focus:ring-green-500 focus:border-green-500;
}

/* Error styling for Italian tax fields in checkout */
.italian-tax-error-message,
.italian-tax-ajax-error {
    color: #e02b27;
    font-size: 12px;
    margin-top: 5px;
    display: block;
}

.italian-tax-ajax-error {
    padding: 10px;
    background: #fdf2f2;
    border: 1px solid #e02b27;
    border-radius: 4px;
    margin: 10px 0;
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Enhanced error styling for input fields */
input.mage-error[name="codice_fiscale"],
input.mage-error[name="partita_iva"] {
    border-color: #e02b27 !important;
    box-shadow: 0 0 0 1px #e02b27 !important;
    background-color: #fdf2f2;
}

/* Focus state for error fields */
input.mage-error[name="codice_fiscale"]:focus,
input.mage-error[name="partita_iva"]:focus {
    border-color: #e02b27 !important;
    box-shadow: 0 0 0 2px rgba(224, 43, 39, 0.2) !important;
    outline: none;
}

/* Checkout specific styling */
.checkout-container .italian-tax-ajax-error {
    max-width: 100%;
    word-wrap: break-word;
}

/* Mobile error styling */
@media (max-width: 640px) {
    .italian-tax-ajax-error {
        font-size: 14px;
        padding: 8px;
    }
}