main > .container {
  padding: 60px 15px 0;
}

body {
    background-color: #f8f8f8;
}

.icon-large {
    font-size: 1.2rem;
}

#homepage-container {
    background: url('/static/zebra_clubtail.jpg') no-repeat center center;
    background-size: cover;
    height: 100vh;
}


.fs-smallest {
    font-size: 0.75rem;
}

.taxonomy-table .different {
    font-weight: bold;
}

.taxonomy-table .added_id {
    background: #c9f2c7;
}

.taxonomy-table .deleted_id {
    background: #efcefa;
}

#editor-image-gallery {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto; /* Allows horizontal scrolling */
}

.img-fluid {
    max-width: 100%;
    height: auto;
    border-radius: 5px; /* Slightly round the corners of the images */
}

.footer-overlay {
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 0;
    start: 0;
    width: 100%;
}

.copy-button {
    background-color: rgba(255, 255, 255, 0.5);
    border: none;
    margin: 5px;
    cursor: pointer;
}

.copy-button:hover {
    background-color: rgba(255, 255, 255, 0.8);
}

.copy-button .bi {
    color: black;
}

.btn-group-vertical {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.container-fluid {
    padding: 10px;
}

/* delete buttons on the image previews */
.image-preview-card {
    position: relative;
}

.image-preview-card .card-img-top {
    position: relative;
}

.image-preview-card .delete-button {
    position: absolute;
    bottom: 5px;
    right: 5px;
    background-color: white;
    border: none;
    padding: 5px;
}

.image-preview-card .delete-button i {
    color: black;
}

.count-badge {
    width: 40px;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: .25rem;
    padding: .25em .4em;
}

/* Styling the Quill Editor */
#editor-container {
    min-height: 300px; /* Minimum height */
    max-height: 80vh; /* Maximum height based on viewport height */
    height: 60vh; /* Default height based on viewport height */
    overflow-y: auto; /* Enable vertical scrolling if content overflows */
    border: 1px solid #ced4da; /* Add border to match Bootstrap input style */
    border-radius: 0.25rem; /* Add border-radius to match Bootstrap input style */
    padding: 1rem; /* Add some padding for better readability */
    font-family: 'Ubuntu Mono', 'Consolas', 'Menlo', 'Courier New', 'Monaco', 'Lucida Console', 'Fira Code', 'Source Code Pro', monospace;
}

@media (min-width: 576px) {
    #editor-container {
        height: 50vh; /* Adjust height for larger screens */
    }
}

@media (min-width: 768px) {
    #editor-container {
        height: 55vh; /* Adjust height for larger screens */
    }
}

@media (min-width: 992px) {
    #editor-container {
        height: 60vh; /* Adjust height for larger screens */
    }
}

@media (min-width: 1200px) {
    #editor-container {
        height: 65vh; /* Adjust height for larger screens */
    }
}

/* Wrapper for toolbar and editor */
#editor-wrapper {
    max-width: 800px; /* Maximum width */
    margin: 0 auto; /* Center align */
}

@media (max-width: 992px) {
    #editor-wrapper {
        max-width: 600px; /* Adjust max width for medium screens */
    }
}

@media (max-width: 768px) {
    #editor-wrapper {
        max-width: 100%; /* Full width for small screens */
    }
}

.custom-accordion .accordion-header {
  display: flex; /* Flexbox for horizontal layout */
  align-items: center; /* Center vertically */
  column-gap: 1rem; /* Space between checkbox and accordion button */
  padding-left: 1rem; /* Adjust left padding */
}

.custom-accordion .accordion-header .accordion-button {
  padding-left: 0; /* Remove default left padding */
  background: none; /* Remove background for cleaner look */
}

.custom-accordion .accordion-button:not(.collapsed) {
  box-shadow: none; /* Remove shadow when expanded */
}

/* ===== Search bar styles ====== */
/* Autocomplete dropdown */
.ui-autocomplete {
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    max-height: 200px;
    overflow-y: auto;
    z-index: 1050; /* Keep it above other elements */
    background-color: #fff;
    min-width: 250px; /* Ensures dropdown stays a reasonable size */
    position: absolute !important; /* Prevent layout issues */
    box-sizing: border-box; /* Include padding/border in width */
}

/* Remove default list styles */
.ui-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Individual menu items */
.ui-menu-item a {
    display: flex;
    width: 100%;
    padding: 0.5rem 1rem;
    text-decoration: none;
    color: #212529;
}

/* Highlighted menu item */
.ui-menu-item a:hover,
.ui-menu-item a.ui-state-active {
    background-color: #cce5ff !important; /* Lighter blue */
    color: #212529 !important; /* Keep text readable */
}

/* Thumbnail image in menu item */
.ui-menu-item a img {
    width: 20px;
    height: 20px;
    object-fit: cover;
    margin-right: 10px;
    border-radius: 0.25rem;
}

/* Accessibility helper for screen readers */
.ui-helper-hidden-accessible {
    position: absolute !important;
    left: -9999px !important; /* Move off-screen */
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important; /* Prevent content overflow */
    clip: rect(0, 0, 0, 0); /* Fully clip the element */
    clip-path: inset(50%); /* Ensure full clipping */
    white-space: nowrap; /* Avoid text wrapping */
}


/* Navbar autocomplete dropdown */
#navbarSearchBar.ui-autocomplete {
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    background-color: #fff;
    z-index: 1050;
    max-height: 200px;
    overflow-y: auto;
    position: absolute !important; /* Allow precise positioning */
    box-sizing: border-box; /* Account for padding/borders */
}

/* Navbar dropdown menu item */
#navbarSearchBar.ui-menu-item a {
    display: flex;
    align-items: center;
    padding: 0.25rem 0.5rem;
    text-decoration: none;
    color: #212529;
}

/* Navbar menu item hover/active state */
#navbarSearchBar.ui-menu-item a:hover, #navbarSearchBar.ui-menu-item a.ui-state-active {
    background-color: #e9ecef;
    color: #212529;
}

/* Navbar thumbnail images */
#navbarSearchBar.ui-menu-item a img {
    width: 30px;
    height: 30px;
    object-fit: cover;
    margin-right: 8px;
    border-radius: 0.25rem;
}

/* ===== End Search bar styles ====== */

.navbar-brand img {
    display: block;
    max-height: 50px;
    padding: 0;
    margin: 0;
}

#searchBar {
    border-radius: 2rem 0 0 2rem;
}

#searchBtn {
    border-radius: 0 2rem 2rem 0;
    padding: 0 1.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

#searchBar,
#searchBtn {
    border: none;
    box-shadow: none;
}
#searchBtn:hover i {
    color: #0d6efd;
    text-shadow: 0 0 4px rgba(13, 110, 253, 0.5);
}

#searchBtn i {
    transition: color 0.2s ease, text-shadow 0.2s ease;
}
#searchBar::placeholder {
    font-size: clamp(0.9rem, 2vw, 1.2rem);
}
