.floating-alerts-container {
    position: fixed;
    top: 100px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1050;
    width: 90%; /* Adjust based on your layout */
    max-width: 500px; /* Set a max width to avoid too wide alerts */
    pointer-events: none; /* Ensure it doesn't block interactions with the page */
}

.floating-alerts-container .alert {
    pointer-events: auto; /* Allow interactions with the alert itself */
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* Optional shadow for better visibility */
}

.object-cover {
    object-fit: cover; /* Ensures the image fills the container while maintaining its aspect ratio */
    object-position: center; /* Centers the image within the container */
    width: 100%; /* Ensures the image spans the full width of the container */
    height: 100%; /* Ensures the image spans the full height of the container */
}

.alert-progress-bar {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 4px;
    background-color: var(--division-emphasised);
    width: 100%;
    transition: width linear;
}

.alert-fade-out {
    opacity: 0;
    transition: opacity 3s ease; /* Smooth fade-out over 3 seconds */
}

#liveSearchResults {
    max-height: 300px; /* Limit the dropdown height */
    overflow-y: auto; /* Enable scrolling if results exceed height */
    border-radius: 0.5rem; /* Rounded corners */
}

#liveSearchResults .loading-spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100px;
}

/* Mobile-friendly modal buttons */
@media (max-width: 575.98px) {
    .mobile-touch-btn {
        min-height: 56px; /* Larger touch target on mobile */
        padding-top: 0.75rem !important;
        padding-bottom: 0.75rem !important;
        font-size: 1.1rem !important;
    }
}

@media print {
    .page-break {
        page-break-before: always;
    }
}
