/**
 * Sticky Sidebar Fix
 * Additional CSS to ensure sticky works - ULTRA AGGRESSIVE FIX
 * Works regardless of body class (single-coding_language, single-service, etc.)
 */

/* Force sticky behavior on desktop - Maximum specificity */
@media screen and (min-width: 1025px) {
    /* Remove any overflow hidden from parent elements - All possible body classes */
    html,
    body,
    body.single,
    body.single-coding_language,
    body.single-service,
    body.single-post-type-archive,
    body.single-coding_language .site,
    body.single-coding_language .site-content,
    body.single-coding_language #primary,
    body.single-coding_language .service-gig-page,
    body.single-coding_language .service-gig-container,
    body.single-coding_language .service-gig-container .container,
    body.single-coding_language .service-gig-layout,
    body.single .site,
    body.single .site-content,
    body.single #primary,
    .site,
    .site-content,
    #primary,
    .service-gig-page,
    .service-gig-container,
    .service-gig-container .container,
    .service-gig-layout {
        overflow: visible !important;
        transform: none !important;
        contain: none !important;
        -webkit-transform: none !important;
        -moz-transform: none !important;
        -ms-transform: none !important;
        -o-transform: none !important;
    }
    
    /* Ensure sidebar is sticky - ULTRA AGGRESSIVE - Works with any body class */
    body.single-coding_language .service-gig-page .service-gig-sidebar .service-packages-sticky,
    body.single .service-gig-page .service-gig-sidebar .service-packages-sticky,
    body .service-gig-page .service-gig-sidebar .service-packages-sticky,
    .service-gig-page .service-gig-sidebar .service-packages-sticky,
    .service-gig-sidebar .service-packages-sticky,
    .service-packages-sticky {
        position: -webkit-sticky !important;
        position: sticky !important;
        top: 100px !important;
        display: block !important;
        z-index: 100 !important;
        will-change: auto !important;
        transform: none !important;
        contain: none !important;
        -webkit-transform: none !important;
        -moz-transform: none !important;
        -ms-transform: none !important;
        -o-transform: none !important;
    }
    
    /* Ensure parent has correct height and no transform - Works with any body class */
    body.single-coding_language .service-gig-sidebar,
    body.single .service-gig-sidebar,
    body .service-gig-sidebar,
    .service-gig-sidebar {
        position: relative !important;
        display: block !important;
        min-height: 100px !important;
        transform: none !important;
        contain: none !important;
        overflow: visible !important;
        -webkit-transform: none !important;
        -moz-transform: none !important;
        -ms-transform: none !important;
        -o-transform: none !important;
    }
    
    /* Ensure layout has proper height - Works with any body class */
    body.single-coding_language .service-gig-layout,
    body.single .service-gig-layout,
    body .service-gig-layout,
    .service-gig-layout {
        min-height: 100vh !important;
        transform: none !important;
        contain: none !important;
        -webkit-transform: none !important;
        -moz-transform: none !important;
        -ms-transform: none !important;
        -o-transform: none !important;
    }
    
    /* Ensure main content column is tall enough - Works with any body class */
    body.single-coding_language .service-gig-main,
    body.single .service-gig-main,
    body .service-gig-main,
    .service-gig-main {
        min-height: 100vh !important;
        transform: none !important;
        contain: none !important;
        -webkit-transform: none !important;
        -moz-transform: none !important;
        -ms-transform: none !important;
        -o-transform: none !important;
    }
}
