/* Broomium Visual Search - Broomium Green Theme */
.bvs-container { max-width: 1200px; margin: 40px auto; padding: 0 20px; }
.bvs-header { text-align: center; margin-bottom: 40px; }
.bvs-header h1 { font-size: 2.5em; color: #2c2a27; }
.bvs-search-card { background: white; border-radius: 20px; padding: 40px; box-shadow: 0 10px 30px rgba(0,0,0,0.1); }
.bvs-upload-area { border: 3px dashed #84a98c; border-radius: 15px; padding: 60px 20px; text-align: center; cursor: pointer; transition: all 0.3s; background: #f8faf9; }
.bvs-upload-area:hover { border-color: #52796f; background: #f0f5f3; }
.bvs-upload-icon { font-size: 4em; }
.bvs-file-input { display: none; }
.bvs-preview-container { margin-top: 30px; text-align: center; display: none; }
.bvs-preview-container.active { display: block; }
.bvs-preview-image { max-width: 300px; border-radius: 10px; box-shadow: 0 5px 15px rgba(0,0,0,0.1); }
.bvs-button { background: #84a98c; color: white; border: none; padding: 15px 50px; font-size: 1.1em; border-radius: 50px; cursor: pointer; transition: all 0.3s; }
.bvs-button:hover { background: #52796f; transform: scale(1.05); }
.bvs-loading { display: none; text-align: center; padding: 40px; }
.bvs-loading.active { display: block; }
.bvs-spinner { border: 4px solid #f3f3f3; border-top: 4px solid #84a98c; border-radius: 50%; width: 50px; height: 50px; animation: spin 1s linear infinite; margin: 0 auto; }
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.bvs-results { display: none; margin-top: 40px; }
.bvs-results.active { display: block; }
.bvs-results-header { text-align: center; margin-bottom: 30px; }
.bvs-results-header h2 { color: #2c2a27; font-size: 2em; }
.bvs-results-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 30px; }
.bvs-product-card { background: white; border-radius: 15px; overflow: hidden; box-shadow: 0 5px 15px rgba(0,0,0,0.1); transition: transform 0.3s; text-decoration: none; display: block; }
.bvs-product-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(132,169,140,0.2); }
.bvs-product-image-container { width: 100%; height: 280px; background: #f5f5f5; position: relative; overflow: hidden; }
.bvs-product-image { width: 100%; height: 100%; object-fit: cover; }
.bvs-similarity-badge { position: absolute; top: 10px; right: 10px; background: rgba(132,169,140,0.95); color: white; padding: 8px 15px; border-radius: 20px; font-weight: 600; font-size: 0.9em; }
.bvs-product-info { padding: 20px; }
.bvs-product-name { font-size: 1.1em; font-weight: 600; color: #2c2a27; margin-bottom: 8px; }
.bvs-product-price { font-size: 1.3em; color: #84a98c; font-weight: 700; }
.bvs-error { background: #ffebee; color: #c62828; padding: 15px; border-radius: 10px; display: none; margin-top: 20px; }
.bvs-error.active { display: block; }

/* Mobile responsive */
@media (max-width: 768px) {
    .bvs-container { padding: 0 15px; }
    .bvs-header h1 { font-size: 1.8em; }
    .bvs-search-card { padding: 25px 20px; }
    .bvs-upload-area { padding: 40px 15px; }
    .bvs-results-grid { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 15px; }
    .bvs-product-image-container { height: 200px; }
}