/* Custom styles for Media Inventory App */ body { background-color: #f8f9fa; } .navbar-brand { font-weight: bold; font-size: 1.5rem; } .card { box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); border: 1px solid rgba(0, 0, 0, 0.125); transition: box-shadow 0.15s ease-in-out; } .card:hover { box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); } .card-img-top { border-bottom: 1px solid rgba(0, 0, 0, 0.125); } .btn { border-radius: 0.375rem; } .form-control, .form-select { border-radius: 0.375rem; } .alert { border-radius: 0.5rem; } /* Loading animation for search button */ .btn:disabled { opacity: 0.6; } /* Responsive adjustments */ @media (max-width: 768px) { .container { padding-left: 15px; padding-right: 15px; } .card-body { padding: 1rem; } } /* Custom media type icons */ .media-icon { font-size: 1.2em; margin-right: 0.5rem; } /* Results grid improvements */ .card h5 { font-size: 1.1rem; line-height: 1.3; margin-bottom: 0.75rem; } .card-text { font-size: 0.9rem; line-height: 1.4; } /* Cover image placeholder styling */ .card-img-top.bg-light { background-color: #f8f9fa !important; border: 2px dashed #dee2e6; } /* Search form enhancements */ .form-text { font-size: 0.875rem; color: #6c757d; } /* Button hover effects */ .btn-primary:hover { transform: translateY(-1px); box-shadow: 0 0.25rem 0.5rem rgba(0, 123, 255, 0.25); } .btn-outline-primary:hover { transform: translateY(-1px); } /* Card title truncation for long titles */ .card-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; min-height: 2.6rem; } /* Ensure cards have equal height */ .card.h-100 { display: flex; flex-direction: column; } .card-body.d-flex.flex-column { flex: 1; } .mt-auto { margin-top: auto !important; }