/* Custom styles */
html {
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    height: 100%;
    position: relative;
    overflow-x: hidden;
    /* Prevent pull-to-refresh but allow normal scrolling */
    overscroll-behavior-y: contain;
    overscroll-behavior-x: none;
    touch-action: pan-y;
}

body {
    height: 100%;
    position: relative;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
    /* Prevent pull-to-refresh on mobile but allow normal scrolling */
    overscroll-behavior-y: contain;
    overscroll-behavior-x: none;
    /* Fix for iOS scroll bounce */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    touch-action: pan-y;
}

/* Fix for iOS viewport height */
@supports (-webkit-touch-callout: none) {
    .h-screen {
        height: -webkit-fill-available;
    }
    
    /* Fix scrolling issues on iOS */
    html, body {
        position: relative;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-y: contain;
        touch-action: pan-y;
    }
    
    /* Ensure footer doesn't block scrolling */
    footer {
        position: relative;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        touch-action: pan-y;
    }
    
    /* Ensure all scrollable content allows vertical scrolling */
    * {
        -webkit-overflow-scrolling: touch;
    }
}

/* Fix for iframe on iOS */
iframe {
    -webkit-overflow-scrolling: touch;
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
    will-change: transform;
}

/* Prevent iframe from causing scroll issues on iOS */
.map-content iframe {
    pointer-events: auto;
    touch-action: pan-x pan-y;
}

/* Prevent scroll issues with cards on iOS */
.bg-white.rounded-lg {
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Image gallery styles */
.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1rem;
}

.gallery-item {
    position: relative;
    aspect-ratio: 1;
    overflow: hidden;
    border-radius: 0.5rem;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}

.gallery-item:hover {
    transform: scale(1.05);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

