.ean-search-form {
    margin: 10px 0;
    display: inline-block;
    vertical-align: middle;
}

.ean-search-form form {
    display: flex;
    align-items: center;
}

.ean-search-form .search-field {
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 3px 0 0 3px;
    min-width: 200px;
}

.ean-search-form .search-field:invalid {
    border-color: #ff9999;
    background-color: #ffeeee;
}

.ean-search-form button {
    padding: 8px 15px;
    background-color: #0f5132;
    color: #fff;
    border: none;
    border-radius: 0 3px 3px 0;
    cursor: pointer;
    transition: background-color 0.3s;
}

.ean-search-form button:hover {
    background-color: #188150;
}

/* RTL support */
.rtl .ean-search-form form {
    flex-direction: row-reverse;
}

.rtl .ean-search-form .search-field {
    border-radius: 0 3px 3px 0;
}

.rtl .ean-search-form button {
    border-radius: 3px 0 0 3px;
}

.ean-search-form .spinner {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 2px solid rgba(255,255,255,.3);
    border-radius: 50%;
    border-top-color: #fff;
    animation: spin 1s ease-in-out infinite;
    margin-right: 5px;
    vertical-align: middle;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}