/* Masonry Grid */
.masonry-grid {
    column-count: 4;
    column-gap: 1.5rem;
}

@media (max-width: 1024px) {
    .masonry-grid { column-count: 3; }
}
@media (max-width: 768px) {
    .masonry-grid { column-count: 2; }
}
@media (max-width: 480px) {
    .masonry-grid { column-count: 1; }
}

/* Mobile gallery filter overlay */
#galleryFilter.mobile-filter-active {
    display: block !important;
}
@media (max-width: 1023px) {
    #galleryFilter.mobile-filter-active {
        position: fixed;
        inset: 0;
        z-index: 100;
        background: #fff;
        padding: 1rem;
        overflow-y: auto;
    }
    #galleryFilter.mobile-filter-active .sticky {
        max-height: none !important;
    }
    #galleryFilter.mobile-filter-active ~ .mobile-filter-backdrop {
        display: block;
    }
}
.mobile-filter-backdrop {
    display: none;
}

/* Taxonomy Navigation */
.taxonomy-nav .genus-group .species-group {
    transition: all 0.2s ease;
}

.genus-chevron, .species-chevron {
    transition: transform 0.2s ease;
}

/* Scrollbar Hide */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

/* Description bold support */
.description-text strong {
    font-weight: 700;
    color: #0f172a;
}

/* Table styles */
table td, table th {
    vertical-align: middle;
}

/* Modal backdrop */
.fixed.inset-0.z-50.bg-black\/50 {
    animation: fadeIn 0.15s ease;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* Range slider styling */
input[type="range"] {
    -webkit-appearance: none;
    height: 6px;
    background: #e2e8f0;
    border-radius: 3px;
    outline: none;
}
input[type="range"]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    background: #064e3b;
    border-radius: 50%;
    cursor: pointer;
}

/* TinyMCE overrides */
.tox-tinymce {
    border-radius: 0.5rem !important;
    border: 1px solid #e2e8f0 !important;
}

/* Print styles for plant list (8.5x11) */
@media print {
    body { font-family: Arial, Helvetica, sans-serif; font-size: 9pt; color: #000; }
    header, footer, .no-print, .no-print * { display: none !important; }
    main { max-width: 100% !important; padding: 0 !important; margin: 0 !important; }
    .max-w-7xl { max-width: 100% !important; padding: 0.5in !important; margin: 0 !important; }
    #plantlist { border: 1px solid #000 !important; box-shadow: none !important; border-radius: 0 !important; }
    table { width: 100% !important; border-collapse: collapse !important; font-size: 8pt !important; }
    th { background: #eee !important; color: #000 !important; padding: 4px 6px !important; font-size: 8pt !important; text-transform: uppercase !important; }
    td { padding: 3px 6px !important; color: #000 !important; font-size: 8pt !important; }
    tr { border-bottom: 1px solid #ddd !important; page-break-inside: avoid; }
    .bg-white { background: #fff !important; }
    .rounded-xl { border-radius: 0 !important; }
    .shadow-sm { box-shadow: none !important; }
    .border { border-color: #000 !important; }
    .text-emerald-900 { color: #000 !important; }
    .text-slate-700, .text-slate-600, .text-slate-500 { color: #000 !important; }
    .max-w-xs { max-width: 100% !important; }
    @page { size: letter; margin: 0.5in; }
}
