/* CSS */
        .pt_gl_main_photo_gallerY_conteinar {
            width: 100%;
            height: auto;
            background-image: url(https://via.placeholder.com/1500x800/f0f0f0/cccccc?text=Service+Background); /* Placeholder for service-bg.jpg */
            background-size: cover;
            background-position: center;
            padding-bottom: 30px;
            padding-top: 20px;
        }

        .pt_gl_main_photo_gallerY_conteinar_area {
            width: 94%;
            margin: auto;
            height: auto;
        }


        .pt_gl_main_photo_gallerY_conteinar_header h1 {
            width: 100%;
            text-align: center;
            padding: 20px 20px 10px 20px;
            color: #3E3E86;
            font-size: 25px;
        }

        /* Underline Styles */
        .pt_gl_main_text_underline_style {
            display: flex;
            justify-content: center;
            gap: 5px;
        }
        .pt_gl_main_undeline1,
        .pt_gl_main_undeline2,
        .pt_gl_main_undeline3 {
            height: 4px;
            background-color: #3E3E86;
        }
        .pt_gl_main_undeline2 {
            background-color: #00953B;
        }

        /* === Filter Tabs (MODIFIED) === */
        .pt_gl_main_media_showcase_wrapper {
            padding: 1rem;
            max-width: 100%;
            margin: auto;
        }

        .pt_gl_main_media_filter_tabs {
            display: flex;
            justify-content: flex-end; /* MODIFIED: Aligned filter buttons to the right */
            align-items: center; /* Vertically align items */
            margin-bottom: 1.5rem;
            gap: 12px; /* Gap between the filter buttons */
            flex-wrap: wrap; /* Allow items to wrap on smaller screens */
            margin-top: -40px;
        }

        /* NEW: Wrapper for the filter buttons to keep them grouped */
        .pt_gl_main_filter_buttons_group {
            display: flex;
            justify-content: center; /* Centers the filter buttons within their group */
            flex-grow: 1; /* Allows this group to take up available space */
            gap: 12px; /* Gap between individual filter buttons */
            flex-wrap: wrap; /* Allow filter buttons to wrap too */
            justify-content: flex-end; /* MODIFIED: Ensures buttons stay to the right */
        }

        .pt_gl_main_filter_btn {
            padding: 10px 20px;
            background-color: #e5e5e5;
            border: none;
            font-size: 15px;
            border-radius: 6px;
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            white-space: nowrap; /* Prevent button text from wrapping */
        }

        .pt_gl_main_filter_btn:hover,
        .pt_gl_main_active_filter {
            background-color: #3E3E86;
            color: white;
        }

        /* === Grid Container & Cards === */
        .pt_gl_main_media_grid_container {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
            height: auto;
            gap: 1.5rem;
        }

        .pt_gl_main_media_card {
            position: relative;
            overflow: hidden;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
            background-color: #fff;
            transition: transform 0.3s ease;
            height: 250px;
            display: block;
        }

        /* Image/Video inside card */
        .pt_gl_main_media_card img,
        .pt_gl_main_media_card video {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
            transition: all 0.3s ease-in-out;
            cursor: pointer;
        }

        .pt_gl_main_media_card:hover img {
            transform: scale(1.05);
        }

        /* ====================================================== */
        /* === HOVER OVERLAY STYLES (MODIFIED) === */
        /* ====================================================== */

        .pt_gl_main_media_overlay {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 80px; /* Adjust as needed */
            background: rgba(0, 0, 0, 0.7);
            color: #fff;

            display: flex;
            justify-content: space-between; /* Space between text and icon */
            align-items: center; /* Vertically center content */
            padding: 0 1rem; /* Horizontal padding */
            box-sizing: border-box;

            transform: translateY(100%); /* Start completely below the card */
            opacity: 0;
            transition: all 0.3s ease-in-out;
        }

        .pt_gl_main_media_card:hover .pt_gl_main_media_overlay {
            opacity: 1;
            transform: translateY(0); /* Slide up */
        }

        .pt_gl_main_media_overlay_text {
            flex-grow: 1; /* Allow text to take available space */
            text-align: left; /* Align text to the left */
            padding-right: 10px; /* Space between text and icon */
        }

        .pt_gl_main_media_overlay_text h3 {
            margin: 0;
            font-size: 15px; /* Slightly smaller for 2 lines */

            overflow: hidden;
            text-overflow: ellipsis; /* Add ellipsis if title is too long */
        }

        .pt_gl_main_media_overlay_text p {
            margin: 0;
            font-size: 0.85rem; /* Smaller font for description */
            opacity: 0.8;
            /* Limit to 2 lines */
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
            line-height: 1.3; /* Adjust line height for better appearance */
            max-height: 2.6em; /* 2 lines * line-height */
        }

        .pt_gl_main_media_overlay_icons {
            display: flex;
            align-items: center; /* Vertically center the icon */
            flex-shrink: 0; /* Prevent icons from shrinking */
        }

        .pt_gl_main_icon_btn {
            display: grid;
            place-items: center;
            width: 40px; /* Slightly smaller icon */
            height: 40px; /* Slightly smaller icon */
            background-color: #fff;
            color: #3E3E86;
            border-radius: 50%;
            font-size: 1rem; /* Adjusted font size */
            text-decoration: none;
            border: none;
            cursor: pointer;

            transform: scale(0.8);
            opacity: 0;
            transition: all 0.3s ease;
        }

        /* Only one icon, so no nth-child needed, just target directly */
        .pt_gl_main_media_card:hover .pt_gl_main_icon_btn {
            transform: scale(1);
            opacity: 1;
            transition-delay: 0.3s;
        }

        .pt_gl_main_icon_btn:hover {
            background-color: #3E3E86;
            color: #fff;
            transform: scale(1.1);
        }

        /* ====================================================== */
        /* === LIGHTBOX (POPUP) STYLES (Adjusted for 140px Header) === */
        /* ====================================================== */

        .pt_gl_main_lightbox_modal {
            display: none;
            position: fixed;
            z-index: 1000;
            padding: 0;
            left: 0;
            top: 140px;
            width: 100%;
            height: calc(100vh - 140px);
            overflow: auto;
            background-color: rgba(0, 0, 0, 0.9);
        }

        .pt_gl_main_lightbox_close_btn {
            position: absolute;
            top: 10px;
            right: 20px;
            color: #f1f1f1;
            font-size: 35px;
            font-weight: bold;
            transition: 0.3s;
            cursor: pointer;
            z-index: 1001;
        }

        .pt_gl_main_lightbox_close_btn:hover,
        .pt_gl_main_lightbox_close_btn:focus {
            color: #bbb;
            text-decoration: none;
        }

        .pt_gl_main_lightbox_content_wrapper {
            position: relative;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            width: 100%;
            height: 100%;
            margin: 0;
            padding: 10px 0;
        }

        /* MODIFIED: Container for image/video in lightbox */
        #pt_gl_main_lightbox_media_display {
            display: flex; /* Use flex to center actual media */
            justify-content: center;
            align-items: center;
            margin: auto;
            width: 95%; /* Increased width for mobile screens */
            height: 85%; /* Reserve space for the caption */
            max-width: 900px; /* Limit max width for large screens */
            animation: pt_gl_main_zoomIn 0.5s;
        }

        .pt_gl_main_lightbox_content_img { /* Renamed from .pt_gl_main_lightbox_content */
            display: block;
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

        /* NEW: Styles for video iframe in lightbox */
        .pt_gl_main_lightbox_content_video {
            width: 100%;
            height: 100%;
            border: none;
        }

        @keyframes pt_gl_main_zoomIn {
            from {transform: scale(0.7)}
            to {transform: scale(1)}
        }

        #pt_gl_main_lightbox_caption {
            margin: 0px auto;
            display: block;
            width: 90%;
            text-align: center;
            color: #ccc;
            padding: 5px 0;
            font-size: 1rem;
        }

        /* Navigation Arrows */
        .pt_gl_main_lightbox_nav {
            cursor: pointer;
            position: absolute;
            top: 50%;
            width: auto;
            padding: 10px;
            margin-top: -30px;
            color: white;
            font-weight: bold;
            font-size: 2rem;
            transition: 0.3s;
            user-select: none;
        }

        .pt_gl_main_lightbox_prev {
            left: 5px;
        }

        .pt_gl_main_lightbox_next {
            right: 5px;
        }

        .pt_gl_main_lightbox_nav:hover {
            background-color: rgba(255, 255, 255, 0.2);
        }

        /* Pagination */
        .pt_gl_main_pagination_container {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-top: 30px;
            gap: 10px;
        }

        .pt_gl_main_page_btn, .pt_gl_main_page_nav_btn {
            padding: 8px 15px;
            background-color: #e5e5e5;
            border: none;
            font-size: 16px;
            border-radius: 5px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        .pt_gl_main_page_btn:hover,
        .pt_gl_main_page_nav_btn:hover,
        .pt_gl_main_page_btn.pt_gl_main_active_page {
            background-color: #3E3E86;
            color: white;
        }

        .pt_gl_main_page_nav_btn.disabled {
            opacity: 0.5;
            cursor: not-allowed;
        }


        /* ====================================================== */
        /* === MEDIA QUERIES (Responsiveness) === */
        /* ====================================================== */

        @media (max-width: 768px) {
            .pt_gl_main_media_filter_tabs {
                justify-content: center; /* MODIFIED: Center buttons on mobile */
                gap: 12px;
            }

            .pt_gl_main_filter_buttons_group {
                flex-grow: unset;
                width: 100%;
                justify-content: center; /* MODIFIED: Center buttons in their group on mobile */
                gap: 8px;
                margin-top: 60px;
            }

            .pt_gl_main_filter_btn {
                flex: 1 1 auto;
                min-width: 100px;
                font-size: 0.9rem;
            }

            /* 🎯 MOBILE LIGHTBOX FULL SCREEN ADJUSTMENT 🎯 */
            .pt_gl_main_lightbox_modal {
                top: 0;
                height: 100vh;
                overflow-y: scroll;
            }

            .pt_gl_main_lightbox_content_wrapper {
                min-height: 100%;
                padding: 30px 0;
            }

            .pt_gl_main_lightbox_close_btn {
                right: 10px;
                font-size: 30px;
                top: 150px;
            }

            /* Adjusted for new media display container */
            #pt_gl_main_lightbox_media_display {
                height: 75vh; /* Give more space for caption/controls on smaller screens */
            }

            .pt_gl_main_lightbox_nav {
                font-size: 1.5rem;
                padding: 8px;
                margin-top: -20px;
            }

            /* Adjust overlay height and font size for smaller screens */
            .pt_gl_main_media_overlay {
                height: 70px;
            }
            .pt_gl_main_media_overlay_text h3 {
                font-size: 1rem;
            }
            .pt_gl_main_media_overlay_text p {
                font-size: 0.8rem;
                max-height: 2.4em;
            }
            .pt_gl_main_icon_btn {
                width: 35px;
                height: 35px;
                font-size: 0.9rem;
            }
        }
        @media (max-width: 480px) {
            .pt_gl_main_photo_gallerY_conteinar_header h1 {
                font-size: 24px;
                padding-right: 20px;
            }
            .pt_gl_main_media_filter_tabs {
                flex-direction: column;
                gap: 10px;
            }
            .pt_gl_main_filter_buttons_group {
                width: 100%;
                gap: 8px;
            }
            .pt_gl_main_filter_btn {
                padding: 8px 15px;
                width: 100%;
            }
        }