.fancybox-custom .fancybox-skin {
    box-shadow: 0 0 50px #222;
}

/* Gallery wrapper - enables clean scroll on small devices without bursting site layout */
.gallery-wrapper {
    margin: 15px auto 30px auto;
    border: none;
}

/* Responsive fixed table layout to prevent horizontal blowout */
.gallery-table {
    width: 100% !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 14px !important;
    border: none !important;
    background: transparent !important;
    margin: 0 auto !important;
}

.gallery-table td.gallery-item {
    width: 25% !important;
    padding: 8px !important;
    text-align: center !important;
    vertical-align: middle !important;
    background-color: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.gallery-table td.gallery-item:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15);
    border-color: #31708f !important;
}

.gallery-table td.gallery-item a.fancybox {
    display: block;
    width: 100%;
    text-decoration: none;
    cursor: pointer;
}

.gallery-thumb {
    width: 100% !important;
    max-width: 100% !important;
    height: 160px !important;
    object-fit: cover !important;
    border-radius: 4px !important;
    display: block;
    margin: 0 auto;
}

@media (max-width: 991px) {
    .gallery-table {
        border-spacing: 10px !important;
    }
    .gallery-thumb {
        height: 130px !important;
    }
}

@media (max-width: 767px) {
    .gallery-wrapper {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .gallery-table {
        min-width: 520px;
        border-spacing: 8px !important;
    }
    .gallery-table td.gallery-item {
        padding: 5px !important;
    }
    .gallery-thumb {
        height: 110px !important;
    }
}

@media (max-width: 480px) {
    .gallery-table {
        min-width: 440px;
        border-spacing: 6px !important;
    }
    .gallery-thumb {
        height: 95px !important;
    }
}