<!DOCTYPE html>
<html lang="cs">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Smart Slider - Mobile Optimized</title>
    
    <!-- Critical Resource Hints -->
    <link rel="dns-prefetch" href="//antstore.cz">
    <link rel="preconnect" href="https://antstore.cz" crossorigin>
    
    <!-- Preload hlavního obrázku pro LCP -->
    <link rel="preload" as="image" href="https://picsum.photos/1048/400?random=1" media="(min-width: 769px)">
    <link rel="preload" as="image" href="https://picsum.photos/768/295?random=1" media="(max-width: 768px)">
    
    <!-- Critical CSS - vykreslí první slide okamžitě -->
    <style>
        /* Critical styles pro okamžité LCP */
        .mss-slider-container {
            position: relative;
            width: 100%;
            height: 0;
            padding-top: 38.16%; /* 400 / 1048 */
            overflow: hidden;
            border-radius: 8px;
            background: #e2e8f0;
            max-width: 1048px !important;
            margin: 0 auto !important;
        }
        
        .mss-slider-wrapper {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
        }
        
        .mss-slide {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
        }
        
        .mss-slide img {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            object-fit: cover;
            object-position: center;
        }
        
        /* První slide musí být okamžitě viditelný */
        .mss-slide:first-child {
            opacity: 1 !important;
            visibility: visible !important;
            z-index: 2 !important;
            transform: none !important;
            animation: none !important;
            transition: none !important;
        }
        
        /* Ostatní slides jsou skryté až do aktivace */
        .mss-slide:not(:first-child) {
            opacity: 0;
            visibility: hidden;
            z-index: 1;
        }
        
        @media (max-width: 768px) {
            .mss-slider-container {
                padding-top: 38.28%; /* 295 / 768 pro mobilní rozměry */
            }
        }
    </style>
</head>
<body>

    <div id="smart-slider" class="mss-slider-container">
        <div class="mss-slider-wrapper">
            <!-- První slide - okamžitě viditelný pro rychlý LCP -->
            <div class="mss-slide">
                <picture>
                    <source media="(max-width: 768px)" 
                            srcset="https://picsum.photos/768/295?random=1">
                    <img src="https://picsum.photos/1048/400?random=1" 
                         width="1048" height="400"
                         alt="První slide"
                         loading="eager"
                         decoding="sync"
                         fetchpriority="high">
                </picture>
            </div>
        </div>
    </div>

    <!-- Non-critical CSS - načte se asynchronně -->
    <style>
        /* Vytvoření CSS proměnných pro snadnou údržbu */
        :root {
            --mss-primary-color: #667eea;
            --mss-secondary-color: #764ba2;
            --mss-highlight-color: #ffd700;
            --mss-text-dark: #333;
            --mss-text-light: white;
            --mss-background-light: #f5f5f5;
            --mss-background-dark: #2d3748;
            --mss-slide-transition-duration: 0.5s;
            --mss-border-radius: 8px;
            --mss-padding-base: 12px 24px;
        }

        /* Doplňkové styly pro slider */
        .mss-slider-container {
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
        }

        /* Transitions pouze pro ne-první slides */
        .mss-slide:not(:first-child) {
            transition: opacity var(--mss-slide-transition-duration) ease-in-out;
            will-change: opacity;
            backface-visibility: hidden;
            transform: translateZ(0);
        }

        .mss-slide.active {
            opacity: 1 !important;
            visibility: visible !important;
            z-index: 3 !important;
        }

        /* Zelený rámeček */
        .mss-yellow-box {
            position: absolute;
            top: 20px;
            right: 20px;
            background: #4CAF50;
            color: var(--mss-text-dark);
            padding: 10px 15px;
            border-radius: 5px;
            font-weight: bold;
            font-size: 14px;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
            z-index: 10;
        }

        /* Kontejner pro tlačítka */
        .mss-button-container {
            position: absolute;
            z-index: 10;
        }

        .mss-button-container.button-top {
            top: 30px;
        }

        .mss-button-container.button-bottom {
            bottom: 30px;
        }

        .mss-button-container.button-left {
            left: 30px;
        }

        .mss-button-container.button-center {
            left: 50%;
            transform: translateX(-50%);
        }

        .mss-button-container.button-right {
            right: 30px;
        }

        .mss-button-container.button-center.button-top,
        .mss-button-container.button-center.button-bottom {
            transform: translateX(-50%);
        }

        /* Hlavní tlačítko */
        .mss-button {
            display: inline-block;
            padding: 12px 24px;
            background-color: #ecc31f;
            color: #000;
            text-decoration: none !important;
            border-radius: 25px;
            font-weight: 600;
            font-size: 16px;
            transition: all 0.3s ease;
            box-shadow: none;
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .mss-button:hover {
            transform: translateY(0px);
            box-shadow: none;
            color: #000;
            text-decoration: none !important;
        }

        /* Navigační šipky - načtou se později */
        .mss-arrow {
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            background: rgba(255, 255, 255, 0.9);
            border: none;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            font-size: 20px;
            font-weight: bold;
            color: var(--mss-text-dark);
            cursor: pointer;
            transition: all 0.3s ease;
            z-index: 100;
            display: none; /* Skryté do načtení JS */
            align-items: center;
            justify-content: center;
            line-height: 1;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
        }

        .mss-arrow.loaded {
            display: flex;
        }

        .mss-arrow:hover {
            background: white;
            transform: translateY(-50%) scale(1.1);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
            color: #000 !important;
        }

        .mss-arrow-prev {
            left: 15px;
        }

        .mss-arrow-next {
            right: 15px;
        }

        /* Responsive design */
        @media (max-width: 768px) {
            .mss-button {
                padding: 10px 20px;
                font-size: 14px;
            }
            
            .mss-yellow-box {
                top: 10px;
                right: 10px;
                padding: 8px 12px;
                font-size: 12px;
            }
            
            .mss-button-container.button-left {
                left: 20px;
            }
            
            .mss-button-container.button-right {
                right: 20px;
            }
            
            .mss-button-container.button-top {
                top: 20px;
            }
            
            .mss-button-container.button-bottom {
                bottom: 20px;
            }
            
            .mss-arrow {
                width: 40px;
                height: 40px;
                font-size: 16px;
            }
            
            .mss-arrow-prev {
                left: 10px;
            }
            
            .mss-arrow-next {
                right: 10px;
            }
        }

        @media (max-width: 480px) {
            .mss-button {
                padding: 8px 16px;
                font-size: 12px;
            }
            
            .mss-yellow-box {
                top: 5px;
                right: 5px;
                padding: 6px 10px;
                font-size: 11px;
            }
            
            .mss-arrow {
                width: 35px;
                height: 35px;
                font-size: 14px;
            }
            
            .mss-arrow-prev {
                left: 5px;
            }
            
            .mss-arrow-next {
                right: 5px;
            }
            
            .mss-button-container.button-left {
                left: 10px;
            }
            
            .mss-button-container.button-right {
                right: 10px;
            }
            
            .mss-button-container.button-top {
                top: 10px;
            }
            
            .mss-button-container.button-bottom {
                bottom: 10px;
            }
        }

        /* Dark theme support */
        @media (prefers-color-scheme: dark) {
            .mss-slider-container {
                background: var(--mss-background-dark);
            }
            
            .mss-arrow {
                background: rgba(45, 55, 72, 0.9);
                color: var(--mss-text-light);
            }
            
            .mss-arrow:hover {
                background: var(--mss-background-dark);
            }
            
            .mss-yellow-box {
                background: #f6e05e;
                color: var(--mss-background-dark);
            }
        }

        /* Animace pulsing pro zelený box - aktivuje se až po načtení */
        .loaded .mss-yellow-box {
            animation: pulse 2s infinite;
        }

        @keyframes pulse {
            0% { transform: scale(1); }
            50% { transform: scale(1.05); }
            100% { transform: scale(1); }
        }
    </style>

    <!-- JavaScript se načte až po LCP -->
    <script>
        // Konfigurace obrázků - ZMĚŇ na svoje URL
        const slideConfig = {
            desktop: [
                '', // První je už v HTML
                'https://picsum.photos/1048/400?random=2',
                'https://picsum.photos/1048/400?random=3'
            ],
            mobile: [
                '', // První je už v HTML
                'https://picsum.photos/768/295?random=2',
                'https://picsum.photos/768/295?random=3'
            ]
        };

        // Globální proměnné
        let slider, sliderWrapper, slides = [], currentSlide = 0, autoSlideInterval, isInitialized = false;

        // Detekce mobilního zařízení
        function isMobile() {
            return window.innerWidth <= 768;
        }

        // Získání správných obrázků podle velikosti obrazovky
        function getSlideImages() {
            return isMobile() ? slideConfig.mobile : slideConfig.desktop;
        }

        // Zobrazení konkrétního slide
        function showSlide(index) {
            if (slides.length === 0 || !isInitialized) return;
            
            slides.forEach((slide, i) => {
                if (i === index) {
                    slide.classList.add('active');
                    slide.style.visibility = 'visible';
                } else {
                    slide.classList.remove('active');
                    slide.style.visibility = 'hidden';
                }
            });
            currentSlide = index;
        }

        // Přechod na další slide
        function nextSlide() {
            if (slides.length === 0) return;
            currentSlide = (currentSlide + 1) % slides.length;
            showSlide(currentSlide);
        }

        // Přechod na předchozí slide
        function prevSlide() {
            if (slides.length === 0) return;
            currentSlide = (currentSlide - 1 + slides.length) % slides.length;
            showSlide(currentSlide);
        }

        // Spuštění automatického přepínání
        function startAutoSlide() {
            if (autoSlideInterval) clearInterval(autoSlideInterval);
            autoSlideInterval = setInterval(nextSlide, 5000);
        }

        // Pozastavení auto-slide při interakci
        function pauseAutoSlide() {
            if (autoSlideInterval) {
                clearInterval(autoSlideInterval);
                setTimeout(startAutoSlide, 10000);
            }
        }

        // Vytvoření dalších slides
        async function createAdditionalSlides() {
            const slideImages = getSlideImages();
            const remainingImages = slideImages.slice(1); // Přeskočíme první (už je v HTML)
            
            for (let i = 0; i < remainingImages.length; i++) {
                const src = remainingImages[i];
                if (!src) continue;
                
                try {
                    // Vytvoř slide element
                    const slideElement = document.createElement('div');
                    slideElement.className = 'mss-slide';
                    slideElement.style.visibility = 'hidden';
                    
                    // Vytvoř picture element pro responsivní obrázky
                    const picture = document.createElement('picture');
                    
                    // Source pro mobil
                    const mobileSource = document.createElement('source');
                    mobileSource.media = '(max-width: 768px)';
                    mobileSource.srcset = slideConfig.mobile[i + 1] || src;
                    
                    // Hlavní img element
                    const img = document.createElement('img');
                    img.src = slideConfig.desktop[i + 1] || src;
                    img.width = 1048;
                    img.height = 400;
                    img.alt = `Slide ${i + 2}`;
                    img.loading = 'lazy';
                    img.decoding = 'async';
                    img.style.cssText = 'position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;';
                    
                    picture.appendChild(mobileSource);
                    picture.appendChild(img);
                    slideElement.appendChild(picture);
                    
                    sliderWrapper.appendChild(slideElement);
                    slides.push(slideElement);
                    
                } catch (error) {
                    console.warn(`Chyba při vytváření slide ${i + 2}:`, error);
                }
            }
        }

        // Inicializace navigačních prvků
        function initNavigation() {
            // Přidej navigační šipky
            const prevArrow = document.createElement('button');
            prevArrow.className = 'mss-arrow mss-arrow-prev';
            prevArrow.innerHTML = '&#10094;';
            prevArrow.setAttribute('aria-label', 'Předchozí slide');
            
            const nextArrow = document.createElement('button');
            nextArrow.className = 'mss-arrow mss-arrow-next';
            nextArrow.innerHTML = '&#10095;';
            nextArrow.setAttribute('aria-label', 'Následující slide');
            
            slider.appendChild(prevArrow);
            slider.appendChild(nextArrow);
            
            // Event listenery
            prevArrow.addEventListener('click', () => {
                prevSlide();
                pauseAutoSlide();
            });
            
            nextArrow.addEventListener('click', () => {
                nextSlide();
                pauseAutoSlide();
            });
            
            // Zobraz šipky až jsou připravené
            requestAnimationFrame(() => {
                prevArrow.classList.add('loaded');
                nextArrow.classList.add('loaded');
            });
            
            // Keyboard navigation
            document.addEventListener('keydown', (e) => {
                if (e.key === 'ArrowLeft') {
                    prevSlide();
                    pauseAutoSlide();
                } else if (e.key === 'ArrowRight') {
                    nextSlide();
                    pauseAutoSlide();
                }
            });
        }

        // Hlavní inicializace slideru
        async function initSlider() {
            if (isInitialized) return;
            
            slider = document.getElementById('smart-slider');
            sliderWrapper = slider.querySelector('.mss-slider-wrapper');
            
            // První slide už je v HTML
            const firstSlide = sliderWrapper.querySelector('.mss-slide');
            if (firstSlide) {
                slides.push(firstSlide);
            }
            
            // Načti další slides na pozadí
            await createAdditionalSlides();
            
            // Inicializuj navigaci
            initNavigation();
            
            // Spusť automatické přepínání
            if (slides.length > 1) {
                startAutoSlide();
            }
            
            // Přidej třídu loaded pro aktivaci animací
            slider.classList.add('loaded');
            
            isInitialized = true;
            console.log(`Slider inicializován s ${slides.length} slides`);
        }

        // Optimalizace pro různé scénáře načítání
        function handleSliderInit() {
            // Použij Intersection Observer pro lazy init
            if ('IntersectionObserver' in window) {
                const observer = new IntersectionObserver((entries) => {
                    entries.forEach(entry => {
                        if (entry.isIntersecting && !isInitialized) {
                            observer.unobserve(entry.target);
                            // Počkej až se LCP vykreslí, pak inicializuj
                            requestIdleCallback(initSlider, { timeout: 2000 });
                        }
                    });
                });
                
                observer.observe(document.getElementById('smart-slider'));
            } else {
                // Fallback pro starší prohlížeče
                setTimeout(initSlider, 1000);
            }
        }

        // Spuštění po načtení DOM, ale s nízkou prioritou
        if (document.readyState === 'loading') {
            document.addEventListener('DOMContentLoaded', handleSliderInit);
        } else {
            handleSliderInit();
        }

        // Zajištění správného zobrazení po kompletním načtení
        window.addEventListener('load', () => {
            const slider = document.getElementById('smart-slider');
            if (slider) {
                slider.style.maxWidth = '1048px';
                slider.style.margin = '0 auto';
            }
        });
    </script>
</body>
</html>