Spaces:
Running
Running
: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); } } | |