/* AudioVibe Ads Optimization v5.0 */
/* Lightweight CSS for ad containers to prevent page bloating */

/* Ad rotation containers */
#ads-rotation-wrapper {
    pointer-events: none;
}

#ads-rotation-wrapper > * {
    pointer-events: auto;
}

.ad-network-container {
    contain: layout style paint;
    will-change: opacity;
    transition: opacity 0.3s ease;
}

.ad-network-container.hidden {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    visibility: hidden;
}

/* Lazy loading for ad iframes */
iframe[loading="lazy"] {
    content-visibility: auto;
}

/* Prevent layout shift from ads */
.ad-container {
    min-height: 100px;
    background: rgba(0,0,0,0.02);
}

/* Access counter optimization */
#realtime-access-counter {
    contain: layout style paint;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* Theme switcher optimization */
#theme-toggle {
    contain: layout style paint;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Donation banner optimization */
#donation-banner {
    contain: layout style paint;
    will-change: transform;
}

/* Performance optimizations */
* {
    -webkit-tap-highlight-color: transparent;
}

/* Reduce repaints */
.fixed {
    transform: translateZ(0);
}

/* Optimize animations */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* GPU acceleration for smooth transitions */
.video-card,
.video-thumbnail img,
.play-overlay {
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Prevent font loading jank */
body {
    font-display: swap;
}

/* Optimize images */
img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}

/* Lazy load non-critical content */
.lazy-load {
    content-visibility: auto;
    contain-intrinsic-size: 500px;
}

/* Minimize repaint area */
.video-card:hover {
    isolation: isolate;
}

/* Smooth scrolling with performance */
html {
    scroll-behavior: smooth;
    scrollbar-width: thin;
}

/* Reduce complexity for ads */
.ad-container iframe {
    border: none;
    overflow: hidden;
}

/* Memory optimization for modals */
#preview-modal,
#adgate-modal {
    contain: layout style paint;
}

/* Optimize fixed elements */
header,
#theme-toggle,
#realtime-access-counter,
#donation-banner,
#ads-rotation-wrapper {
    contain: layout style paint;
    will-change: auto;
}

/* Prevent excessive reflows */
.container {
    contain: layout;
}

/* Optimize text rendering */
body {
    text-rendering: optimizeSpeed;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Critical CSS for above-the-fold content */
.hero-section {
    contain: layout style;
}

/* Defer non-critical animations */
@keyframes slideInRight,
@keyframes slideInLeft,
@keyframes fadeInOut {
    will-change: transform, opacity;
}

/* Reduce paint on hover */
button:hover,
a:hover {
    contain: layout style;
}
