:root { --primary-color: #38b000; --secondary-color: #007bff; --accent-color: #fb8500; --light-bg: #f8f9fa; --dark-text: #212529; --pest-color: #dc3545; --disease-color: #6f42c1; } body { background-color: var(--light-bg); padding: 20px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .page-header { background: linear-gradient(135deg, var(--primary-color), var(--secondary-color)); color: white; padding: 2rem 0; border-radius: 10px; margin-bottom: 2rem; box-shadow: 0 4px 12px rgba(0,0,0,0.1); } .language-selector select { background-color: rgba(255, 255, 255, 0.2); color: white; border: 1px solid rgba(255, 255, 255, 0.3); } .language-selector select option { background-color: white; color: var(--dark-text); } .filter-buttons { margin-bottom: 20px; } .filter-btn { margin-right: 10px; border-radius: 20px; font-weight: 500; padding: 8px 16px; transition: all 0.3s ease; } .filter-btn:hover { transform: translateY(-2px); } .filter-btn.active { box-shadow: 0 4px 8px rgba(0,0,0,0.15); } .card { transition: all 0.3s ease; height: 100%; cursor: pointer; border-radius: 10px; border: none; box-shadow: 0 4px 8px rgba(0,0,0,0.05); overflow: hidden; } .card:hover { transform: translateY(-8px); box-shadow: 0 12px 24px rgba(0,0,0,0.15); } .card-img-top { height: 200px; object-fit: cover; transition: all 0.5s ease; } .card:hover .card-img-top { transform: scale(1.05); } .card-body { padding: 1.5rem; } .card-title { font-weight: 600; margin-bottom: 10px; } .modal-body { max-height: 70vh; overflow-y: auto; } .badge.pest { background-color: var(--pest-color); padding: 0.5em 0.8em; font-size: 0.8rem; } .badge.disease { background-color: var(--disease-color); padding: 0.5em 0.8em; font-size: 0.8rem; } .modal-content { border-radius: 15px; border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.2); } .modal-header { border-bottom: 1px solid rgba(0,0,0,0.1); background-color: var(--light-bg); } .modal-title { font-weight: 600; } .section-title { margin-top: 1.5rem; margin-bottom: 0.75rem; font-weight: 600; color: var(--dark-text); border-bottom: 2px solid var(--primary-color); padding-bottom: 0.5rem; display: inline-block; } #backToTop { position: fixed; bottom: 20px; right: 20px; display: none; background-color: var(--primary-color); color: white; border: none; border-radius: 50%; width: 50px; height: 50px; text-align: center; font-size: 20px; line-height: 50px; cursor: pointer; z-index: 99; box-shadow: 0 4px 10px rgba(0,0,0,0.2); } .crop-badge { background-color: #17a2b8; color: white; font-size: 0.8rem; font-weight: normal; margin-right: 4px; } .no-results { text-align: center; padding: 40px; font-size: 1.2rem; color: #6c757d; } .spinner { width: 40px; height: 40px; margin: 20px auto; border: 4px solid rgba(0,0,0,0.1); border-left-color: var(--primary-color); border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }