body {
    font-family: 'Inter', sans-serif;
    margin: 0;
    /* Ensure no default margin */
}

/* Fix for anchor links with fixed header */
html {
    scroll-padding-top: 80px;
    /* Adjust based on header height */
    scroll-behavior: smooth;
}

/* Alternative approach for specific sections */
section[id] {
    scroll-margin-top: 80px;
    /* Adjust based on header height */
}

/* Specific scroll margin for regions section */
.scroll-margin-top {
    scroll-margin-top: 80px;
}

/* Responsive scroll padding for different screen sizes */
@media (max-width: 768px) {
    html {
        scroll-padding-top: 70px;
        /* Smaller header on mobile */
    }

    section[id] {
        scroll-margin-top: 70px;
    }

    .scroll-margin-top {
        scroll-margin-top: 70px;
    }
}

@media (min-width: 769px) {
    html {
        scroll-padding-top: 90px;
        /* Larger header on desktop */
    }

    section[id] {
        scroll-margin-top: 90px;
    }

    .scroll-margin-top {
        scroll-margin-top: 90px;
    }
}

.scrolled {
    background-color: rgba(255, 255, 255, 0.9) !important;
    /* White with opacity */
    backdrop-filter: blur(8px) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
}

/* Custom scrollbar for a more refined look */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
    /* Light gray track */
}

::-webkit-scrollbar-thumb {
    background: #0d9488;
    /* teal-600 */
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: #0f766e;
    /* teal-700 */
}

/* Helper class for when mobile menu is open */
.overflow-hidden {
    overflow: hidden;
}

/* Mobile thumbnail gallery optimization */
@media (max-width: 768px) {
    .thumbnail-gallery {
        overflow-x: visible !important;
    }

    .thumbnail-gallery .flex {
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 8px !important;
        space-x: 0 !important;
    }

    .thumbnail-gallery button {
        flex: 0 0 auto !important;
        width: calc(33.333% - 6px) !important;
        min-width: 70px !important;
        max-width: 90px !important;
        height: 70px !important;
        margin: 2px !important;
    }

    .thumbnail-gallery button img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
}

/* Extra small screens */
@media (max-width: 480px) {
    .thumbnail-gallery button {
        width: calc(50% - 6px) !important;
        min-width: 80px !important;
        max-width: 100px !important;
        height: 80px !important;
    }
}

/* Custom Pagination Styles */
.pagination-container {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.pagination-container nav {
    background: white;
    border-radius: 12px;
    padding: 8px;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

.pagination-container a:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.pagination-container span[style*="background-color: #01a33e"] {
    box-shadow: 0 4px 6px -1px rgba(1, 163, 62, 0.3), 0 2px 4px -1px rgba(1, 163, 62, 0.2);
}

/* Responsive pagination */
@media (max-width: 640px) {
    .pagination-container nav {
        padding: 4px;
    }

    .pagination-container nav>* {
        width: 36px !important;
        height: 36px !important;
        font-size: 14px;
    }
}