        /********************************************Spolecne**************************************************/
       *{
            box-sizing: border-box;
           /* overflow-x: hidden;
           overflow-y: hidden;*/
        
        }
        body{
            overflow-x: hidden;

        }
       
        button{
     border: none;
    margin: 0;
    padding: 0;
    width: auto;
    overflow: visible;

    background: transparent;

    /* inherit font & color from ancestor */
    color: inherit;
    font: inherit;

    /* Normalize `line-height`. Cannot be changed from `normal` in Firefox 4+. */
    line-height: normal;

    /* Corrects font smoothing for webkit */
    -webkit-font-smoothing: inherit;
    -moz-osx-font-smoothing: inherit;

    /* Corrects inability to style clickable `input` types in iOS */
    -webkit-appearance: none;
    cursor: pointer;
}
:root {
      --glow-color: rgb(202, 42, 42);
      --glow-spread-color: rgba(230, 98, 98, 0.781);
      --btn-color: rgb(136, 61, 61);
    }
    .glow {
      position: fixed;
      top: 0;
      left: 0;
      width: 100px;
      height: 100px;
      border-radius: 50%;
      pointer-events: none;
      transform: translate(-50%, -50%);
      background: radial-gradient(
        circle,
        var(--glow-color) 0%,
        var(--glow-spread-color) 40%,
        transparent 80%
      );
      filter: blur(80px);
      opacity: 0.8;
      z-index: 1;
      mix-blend-mode: screen;
    }
        img{
            max-width: 100%;

        }
        html{
            overflow-y: auto;
            overflow-x: hidden;
            background-color: #000;
        }
        * a{
            text-decoration: none;
        }
        .container{
            max-width: 1350px;
            width: 96%;
            margin: 0 auto;
        }
        h3{
            font-size: 30px;
            font-family: 'Architects Daughter', cursive;
            font-family: 'Rubik', sans-serif;
            color: white;
            text-align: center;
            margin: 0;
        }
        .button {
            padding: 1.3em 3em;
            font-size: 12px;
            text-transform: uppercase;
            letter-spacing: 2.5px;
            font-weight: 500;
            color: red;
            background-color: #fff;
            border: none;
            border-radius: 45px;
            box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1);
            transition: all 0.3s ease 0s;
            cursor: pointer;
            outline: none;
           }
           
           .button:hover {
            background-color: red;
            box-shadow: 0px 15px 20px rgba(229, 46, 46, 0.4);
            color: #fff;
            transform: translateY(-7px);
           }
           
           .button:active {
            transform: translateY(-1px);
           }
        /*************************
        *********************header**************************************************/ 
        .video-container{
            
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            z-index: -1;

        }
        
        .header-video{
            width: 100%;
            height: 100%;
            object-fit: cover;
            
        }
        #container{
        height: 500vh;
        }
        .header-cover{
            width: 100%;
            height: 100vh;
            background: linear-gradient(rgba(0, 0, 0, .9));
            position: absolute;
            top: 0;
            left: 0;
            z-index: -1;
        }
        .nabidka{
            position: absolute;
            bottom: 30px;
            left: 50%;
            color: #fff;
            font-size: 35px;
            font-family:'Architects Daughter', cursive;
            cursor: pointer;
            transform: translate(-50%, -50%);
            --glow-color: rgb(202, 42, 42);
            --glow-spread-color: rgba(230, 98, 98, 0.781);
            --btn-color: rgb(136, 61, 61);
        }   
        .nabidka:hover {
            transition: .7s;
            box-shadow: 0 0 1em .25em var(--glow-color),
                   0 0 4em 2em var(--glow-spread-color),
                   inset 0 0 .75em .25em var(--glow-color);
           }

        /****************************************header-navigace*************************************************/
        header{
            height: 100vh;
        }
        .nav{
             
            
        }
        .nav-block{
            width: 100%;
            display: flex;
            position: fixed;
            color: white;
            flex-direction: row;
            justify-content: space-between;
            align-items: center;
            padding-top: 15px;
            padding-bottom: 15px;
            z-index: 1000000;
            background: linear-gradient(rgba(0, 0, 0, .4));
            width: 100%;
            border-bottom: 3px solid red;
        }
        .nav-menu{
            display: flex;
            flex-direction: row;
            align-items: center;
            padding-left: 25px;
        }
        .nav-menu__item{
            padding-left: 25px;
            font-size: 22px;
            font-family: 'Architects Daughter', cursive;
        }
        .nav-menu__item:last-child{
         padding-right: 50px;

        }
        .nav__button{
            padding: 0;
            border: none;
            background: none;
            color: white;
            transition: all .2s ease-out;
            cursor: pointer;
            --glow-color: rgb(202, 42, 42);
            --glow-spread-color: rgba(230, 98, 98, 0.781);
            --btn-color: rgb(136, 61, 61);

        }
    
          .nav__button:hover {
            
            box-shadow: 0 0 1em .25em var(--glow-color),
                   0 0 4em 2em var(--glow-spread-color),
                   inset 0 0 .75em .25em var(--glow-color);
           }
       
        
        .nav-logo{
            padding-left: 25px;
            display: flex;
            align-items: center;
            cursor: pointer;
        }
        .nav__logo1{
            /*color: transparent;*/
           /* background-color: red;
            border: 1px solid black;
            border-radius:50%;
            font-size: 52px;
            width: 80px;
            height: 80px;
            vertical-align: center;
            display: flex;
            align-items: center;
            justify-content: center;
            box-shadow: 1px 1px 1px black;
            font-family:'Architects Daughter', cursive ;*/
            width: 70px;
            height: 70px;
        }
        .nav__logo1 img{
            width: 70px;
            height: 70px;

        }
        .nav__logo2{
            font-size: 27px;
            font-family:'Architects Daughter', cursive;
            padding-left: 5px;
            
        }

        .sign{


        }
        .sign__block{
            padding-left: 50px;
            text-align: left;
            padding-top: 50px;
        }
        .sign__subtitle{
           font-size: 22px;
            position: absolute;
            color: white;
            margin-top: 120px;
            font-family: 'Architects Daughter', cursive;
            font-family: 'Rubik', sans-serif;
            margin-left: 100px;
        }
        .sign__title{
            font-size: 22px;
            font-weight: bold;
            position: absolute;
            color: white;
            margin-top: 120px;
            font-family: 'Architects Daughter', cursive;
            font-family: 'Rubik', sans-serif;
            margin-left: 100px;
            line-height: 1.2;
        }
        .sign__text{
            font-size: 22px;
            font-family: 'Architects Daughter', cursive;
            font-family: 'Rubik', sans-serif;
            margin-left: 100px;
            margin-top: 520px;
            color: white;
            position: absolute;

        }
       


        /**************************************info*****************************************/
/*---------------------------- INFO SECTION (Modern Dark & Red) ------------------------------*/

.info {
    background-color: #141414; /* Stejná tmavá jako u ceníku */
    padding: 100px 0;
    color: #ffffff;
    width: 100%;
    overflow: hidden; /* Aby animace nerozbily stránku */
}

.info-wrapper {
    display: flex;
    flex-direction: row; /* Vedle sebe na PC */
    align-items: center; /* Zarovnání na střed vertikálně */
    justify-content: space-between;
    gap: 60px; /* Mezera mezi obrázkem a textem */
}

/* --- LEVÁ ČÁST: OBRÁZEK --- */
.info-image {
    flex: 1;
    position: relative; /* Pro pozicování rámečku */
    max-width: 550px;
}

.info-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 4px;
    position: relative;
    z-index: 2; /* Obrázek je nad rámečkem */
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    filter: grayscale(20%); /* Jemné odbarvení pro seriózní vzhled */
    transition: all 0.5s ease;
}

/* Červený dekorativní rámeček pod obrázkem */
.info-frame {
    position: absolute;
    top: 20px;
    left: -20px; /* Posunutý doleva */
    width: 100%;
    height: 100%;
    border: 3px solid #cc0000; /* Červený rámeček */
    z-index: 1;
    transition: all 0.5s ease;
}

/* Hover efekt na obrázek */
.info-image:hover img {
    transform: translateY(-5px);
    filter: grayscale(0%);
}

.info-image:hover .info-frame {
    transform: translate(10px, -10px); /* Rámeček se při najetí pohne */
}

/* --- PRAVÁ ČÁST: TEXT --- */
.info-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.info__title {
    margin-bottom: 30px;
    position: relative;
}

.info__title h3 {
    font-size: 48px;
    font-weight: 700;
    text-transform: uppercase;
    margin: 0;
    color: #ffffff;
    padding-bottom: 15px;
    /* Červená linka pod nadpisem */
    border-bottom: 3px solid #cc0000; 
    display: inline-block; /* Linka jen pod textem */
}

.info-text-block p {
    font-family: Arial, Helvetica, sans-serif; /* Čistý font, žádné Architects Daughter */
    font-size: 18px;
    line-height: 1.8; /* Větší řádkování pro lepší čitelnost */
    color: #cccccc; /* Světle šedá pro text */
    margin-bottom: 25px;
    text-align: justify; /* Zarovnání do bloku vypadá u "O firmě" dobře */
}

.info-text-block strong {
    color: #ffffff; /* Tučné písmo čistě bílé */
    font-weight: bold;
}

/* --- RESPONZIVITA --- */
@media (max-width: 1024px) {
    .info-wrapper {
        flex-direction: column; /* Na tabletu a mobilu pod sebe */
        gap: 40px;
    }

    .info-image {
        max-width: 100%;
        width: 90%; /* Aby rámeček nepřetékal */
        margin-left: 20px; /* Kompenzace posunutého rámečku */
    }

    .info-frame {
        left: -15px;
        top: 15px;
    }

    .info__title h3 {
        font-size: 36px;
    }
}

@media (max-width: 768px) {
    .info {
        padding: 60px 0;
    }

    .info__title h3 {
        font-size: 32px;
        border-bottom-width: 2px;
    }

    .info-text-block p {
        font-size: 16px;
        text-align: left; /* Na mobilu raději zarovnání vlevo */
    }
}
        /***************************************promo*******************************************/
        .promo{
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            padding: 450px 0;
            background-color: #000;
        }
        .promo-block{
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;

        }
        .promo__button{
            padding: 0;
            border: none;
            background: none;
            color: white;
            font-size: 40px;
            transition: all .2s ease-out;
            font-family: 'Architects Daughter', cursive;
            cursor: pointer;
            --glow-color: rgb(202, 42, 42);
            --glow-spread-color: rgba(230, 98, 98, 0.781);
            --btn-color: rgb(136, 61, 61);
        }
        .promo__button:hover{
            
             box-shadow: 0 0 1em .25em var(--glow-color),
                   0 0 4em 2em var(--glow-spread-color),
                   inset 0 0 .75em .25em var(--glow-color);
        }
 














        
        /***************************************prize*******************************************/
    /*---------------------------- PRIZE SECTION (Dark & Red) ------------------------------*/

.prize {
    padding: 100px 0; /* Upraveno z 300px na rozumnější výšku */
    background-color: #141414; /* Velmi tmavá šedá (téměř černá) */
    color: #ffffff;
    width: 100%;
    display: flex;
    justify-content: center;
}

.prize-container {
    width: 100%;
    max-width: 1200px; /* Maximální šířka obsahu */
    padding: 0 20px;
}

.prize-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

/* --- Nadpis --- */
.prize__title {
    margin-bottom: 20px;
    text-align: center;
}

.prize__title h3 {
    font-size: 60px; /* Upraveno pro lepší responzivitu */
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 4px;
    margin: 0;
    color: #ffffff;
    text-shadow: 2px 2px 0px #8b0000; /* Jemný červený stín */
}

/* --- Podnadpis --- */
.prize__subtitle {
    text-align: center;
    color: #cccccc; /* Světle šedá */
    font-size: 18px;
    margin-bottom: 50px;
    font-family: 'Architects Daughter', cursive;
    letter-spacing: 1px;
}

/* --- Tabulka Wrapper (pro scrollování na mobilu) --- */
.table-wrapper {
    width: 100%;
    overflow-x: auto; /* Aby tabulka nevytekla na mobilu */
    margin-bottom: 40px;
    border-top: 3px solid #cc0000; /* Červená linka nahoře */
}

/* --- Samotná Tabulka --- */
.prize-table {
    width: 100%;
    border-collapse: collapse;
    background-color: #1e1e1e; /* O něco světlejší pozadí tabulky */
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
}

.prize-table thead tr {
    background-color: #000000;
}

.prize-table th {
    padding: 20px;
    text-align: left;
    font-family: Arial, sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    color: #cc0000; /* Červené nadpisy sloupců */
    border-bottom: 1px solid #333;
    font-weight: bold;
}

.prize-table td {
    padding: 20px;
    border-bottom: 1px solid #2a2a2a; /* Jemné linky mezi řádky */
    font-family: Arial, sans-serif;
    font-size: 18px;
    color: #eee;
    vertical-align: middle;
}

/* První sloupec (názvy služeb) */
.prize-table td:first-child {
    font-weight: 500;
    width: 60%; /* Služba zabere více místa */
}

/* Druhý sloupec (ceny) */
.prize-table .price-col {
    font-weight: bold;
    color: #ffffff;
    text-align: right; /* Ceny zarovnané doprava */
    white-space: nowrap; /* Aby se cena nelámala */
}

.prize-table .unit {
    font-weight: normal;
    font-size: 14px;
    color: #888; /* Jednotky šedě a menší */
    margin-left: 5px;
}

/* --- Efekty na řádky --- */
.prize-table tbody tr {
    transition: all 0.3s ease;
}

.prize-table tbody tr:hover {
    background-color: #252525; /* Zesvětlení při najetí */
    transform: scale(1.01); /* Mírné zvětšení */
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    border-left: 4px solid #cc0000; /* Červený proužek vlevo při hoveru */
}

/* --- Patička sekce --- */
.prize__note {
    font-family: 'Architects Daughter', cursive;
    color: #cc0000; /* Červená poznámka */
    font-size: 20px;
    margin-top: 10px;
}

/* --- Responzivita pro mobily --- */
@media (max-width: 768px) {
    .prize {
        padding: 60px 0;
    }
    
    .prize__title h3 {
        font-size: 40px;
    }

    .prize-table th, 
    .prize-table td {
        padding: 15px 10px;
        font-size: 15px;
    }
    
    .prize-table .unit {
        display: block; /* Na mobilu hodit jednotky pod cenu */
        text-align: right;
        font-size: 12px;
    }
    
    .prize-table td:first-child {
        width: auto;
    }
    
    .price-col {
        white-space: normal; /* Na mobilu povolit zalamování ceny */
    }
}
        /*****************************************act******************************************/
        .act{
            padding: 200px 0;
            background: black;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            width: 100%;
        }
        .act-block{
            text-align: center;
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            flex-direction: column;
        }
        .act__parralax{
            position: relative;
            height: 150vh;           /* výška celé obrazovky */
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden;
            background-color: #000;
        }
        .act__subtitle{
            font-family: 'Architects Daughter', cursive;
            font-size: 43px;
            text-align: center;
            color: white;
            font-size: 4rem;
            font-weight: bold;
            position: relative;
            z-index: 2;
            transition: transform 0.1s linear;
            padding-bottom: 500px;
        }
        .act__item{
            color: white;
            font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
            font-size: 17px;
            padding: 15px;
            
        }
        .act-slider__image{
            width: 100;
            height: 270px;
            filter: brightness(30%);
            object-fit: cover;
            box-shadow: 0 0 1em .25em var(--glow-color),
                   0 0 4em 1em var(--glow-spread-color),
                   inset 0 0 .75em .25em var(--glow-color);



        }
        .fa-solid{
           width: 20px;
           height: 20px;

        }
        .act__title{
            padding-bottom: 150px;
            
        }
        .act__title h3{
            font-size: 80px;

        }
        #cursor{
            cursor: pointer;

        }
        .act__item1{
            /*text-align: left;*/
            padding-left: 10px;
        }
        .act__item2{
           /* text-align: right;*/
            padding-right: 10px;
        }
        .act-slider__item{
            max-width: 301px;
            width: 100%;
            border: .05px solid red;
            max-height: 700px;
            height: 100%;
            min-height: 530px;
            margin: 50px 85px;
            width: 350px;
            min-width: 350px;
        }
        .act-item__container{
            padding: 15px 0;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            width: 100%;
            height: 100%;
        }
        .act-slider{
           display: flex;
           justify-content: center;
           align-items: center;
           flex-direction: row;
           flex-wrap: wrap; 
           width: 100%;
        }
        .slick-dots{
            height: 50px;
            color: white;

        }
        .act ul li{
            color: white;

        }
        .act-slider__item{
            --glow-color: rgb(202, 42, 42);
            --glow-spread-color: rgba(230, 98, 98, 0.781);
            --enhanced-glow-color: rgb(207, 146, 146);
            --btn-color: rgb(136, 61, 61);
            outline: none;
            border: .25em solid var(--glow-color);
            color: var(--glow-color);
            font-size: 15px;
            font-weight: bold;
            /*background-color: var(--btn-color);*/
            outline: none;
            box-shadow: 0 0 1em .25em var(--glow-color),
                   0 0 4em 1em var(--glow-spread-color),
                   inset 0 0 .75em .25em var(--glow-color);
            position: relative;
            transition: all 0.3s;
           }
          .act-slider__item:hover {
            color: var(--btn-color);
            /*background-color: var(--glow-color);*/
            box-shadow: 0 0 1em .25em var(--glow-color),
                   0 0 4em 2em var(--glow-spread-color),
                   inset 0 0 .75em .25em var(--glow-color);
           }
           .ind{
            color: transparent;

        }




        /***************************************citat*****************************************/
        .citat{
            background: red;
            padding: 50px;
        }
        .citat-block{
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;

        }
        .citat__title h3{
            text-align: left;
            padding-bottom: 20px;
            font-family: 'Architects Daughter', cursive;
            font-family: 'Kalam', cursive;
      
        }
        .citat__text{
            color: white;
            font-family: 'Architects Daughter', cursive;
            font-family: 'Kalam', cursive;
            font-size: 22px;
            text-align: center;
            width: 80%;
        }
        .uvozovky{
            font-size: 45px;
            display: inline-block;
        }
        /************************************confirm*******************************************/

        .confirm{
            background: black;
            color: white;
            display: flex;
            flex-direction: row-reverse;
       
        }
        .confirm-block{
            width: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
           
          

        }
        .padding{
            padding-bottom: 10px;
            text-align: center;
        }
        .confirm-form{
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            text-align: left;

        }
        .confirm__title{
            padding-top: 25px;

        }
        .confirm__subtitle{
            font-size: 17px;
            font-family: 'Architects Daughter', cursive;
            font-family: 'Rubik', sans-serif;
            color: white;
            text-align: center;
            padding: 20px;
        }
        .confirm-block1{
            width: 50%;



        }
        .confirm-block2{
            width: 50%;
            background-color: white;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: start;
            padding-top: 40px;
        }
        .confirm-list{
            display: flex;
            justify-content: center;
            align-items: center;
            width: 100%;
            flex-direction: column;

        }
        .confirm-list1{


        }
        .confirm-list2{
            

        }
        .confirm__item{
            background-color: white;
            color: #000;
            font-size: 22px;
            line-height: 1.55;
            text-align: left;
            width: 100%;
            margin-left: 150px;
            letter-spacing: 1.01px;


        }
        .red{
            color: red;
            font-size: 25px;
            font-family: Arial, Helvetica, sans-serif;
            font-weight: 600;
        }
        .odsazeni{
            margin-top: 30px;

        }
        .input{
            max-width: 450px;
            width: 96%;
            text-align: center;
            border: 3px solid red;
            padding: 25px;
            border-radius: 10px;
            font-size: 15px;
            margin-bottom: 15px;
            font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;

        }
        .input:focus{
            background: red;
            border: 3px solid white;
            transition: 3s;
            color: white;
           }
        .confirm__input1{
            display: block;
        }
        .confirm__input2{
            max-width: 200px;
        }
        .confirm__input3{
            max-width: 200px;
            margin-left: 50px;
        }
        .input-block{
            display: flex;
            flex-direction: row;
            justify-content: space-between;
        }
        textarea{
            min-height: 150px;
            max-height: 300px;
            min-width: 450px;
            max-width: 450px;
            font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
        }
        .inputtt{
            max-width: 450px;
            width: 96%;
            text-align: center;
            border: 3px solid red;
            padding: 25px;
            border-radius: 10px;
            font-size: 15px;
            margin-bottom: 15px;
            font-size: 22px;
            font-family: Arial, Helvetica, sans-serif;
        }
        /****************************************************map***************************************************/
        .map{
            width: 100%;
            background: #000;
        }
        .map iframe{
            width: 100%;
            height: 630px;
            border: 0;
        }   



        /**************************************modalni okna******************************************************/
                                /*********************prize*******************/
        .modal-prize{
            background: rgba(0, 0, 0, .8);
            text-align: center;
            margin: 0 auto;
            display: none;
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            text-align: center;


        }
        .modal-prize__block{
            display: inline-block;
            margin: 0 auto;
            background: red;
            border: 3px solid black;
            color: white;
            border-radius: 20px;
            padding: 20px;
            width: 500px;
            height: 1000px;
            position: absolute;
            top: 0;
            left: 35%;
        }
        .modal-prize__button{
            position: absolute;
            top: 0;
            right: 0;
            margin: 0;
            padding: 20px;
            background: black;
            color: white;
            border-radius: 20px;

        }
        .modal-prize__item{
            font-size: 15px;
            padding: 10px;
            text-align: left;
            font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
        }
                                /**************************ref************************/
        .modal-ref{
            background: rgba(0, 0, 0, .8);
            text-align: center;
            margin: 0 auto;
            display: none;
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
        .modal-ref__block{
            display: inline-block;
            margin: 0 auto;
            background: red;
            border: 3px solid black;
            color: white;
            border-radius: 20px;
            padding: 20px;
            width: 500px;
            position: absolute;
            top: 0;
            left: 35%;
        }
        .modal-ref__button{
            position: absolute;
            top: 0;
            right: 0;
            margin: 0;
            padding: 20px;
            background: black;
            color: white;
            border-radius: 20px;
        }
        .modal-ref__text{
            text-align: center;
        }

                                    /****************cenik1***************/

        .modal-cenik1{
            background: rgba(0, 0, 0, .8);
            text-align: left;
            margin: 0 auto;
            display: none;
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
        .modal-cenik1__block{
            display: inline-block;
            margin: 0 auto;
            background: red;
            border: 3px solid black;
            color: white;
            border-radius: 20px;
            padding: 20px;
            width: 500px;
            position: absolute;
            top: 0;
            left: 35%;  
        }
        .modal-cenik1__item{
            color: white;
            font-size: 17px;
            padding: 10px;

        }
        .modal-cenik1__button{
            position: absolute;
            top: 0;
            right: 0;
            margin: 0;
            padding: 20px;
            background: black;
            color: white;
            border-radius: 20px;
        }
                                        /**************cenik2**************/

        .modal-cenik2{
            background: rgba(0, 0, 0, .8);
            text-align: left;
            margin: 0 auto;
            display: none;
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
        .modal-cenik2__block{
            display: inline-block;
            margin: 0 auto;
            background: red;
            border: 3px solid black;
            color: white;
            border-radius: 20px;
            padding: 20px;
            width: 500px;
            position: absolute;
            top: 0;
            left: 35%;  
        }
        .modal-cenik2__item{
            color: white;
            font-size: 17px;
            padding: 10px;

        }
        .modal-cenik2__button{
            position: absolute;
            top: 0;
            right: 0;
            margin: 0;
            padding: 20px;
            background: black;
            color: white;
            border-radius: 20px;
        }
        .modal-cenik2__title h3{
            font-size: 28px;

        }
                                    /*********************cenik3**********************/

        .modal-cenik3{
            background: rgba(0, 0, 0, .8);
            text-align: left;
            margin: 0 auto;
            display: none;
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
        .modal-cenik3__block{
            display: inline-block;
            margin: 0 auto;
            background: red;
            border: 3px solid black;
            color: white;
            border-radius: 20px;
            padding: 20px;
            width: 500px;
            position: absolute;
            top: 0;
            left: 35%;  
        }
        .modal-cenik3__item{
            color: white;
            font-size: 17px;
            padding: 10px;

        }
        .modal-cenik3__button{
            position: absolute;
            top: 0;
            right: 0;
            margin: 0;
            padding: 20px;
            background: black;
            color: white;
            border-radius: 20px;
        }
        .modal-cenik3__title h3{
            font-size: 28px;

        }
                                        /******************tech********************/

        .modal-tech{
            background: rgba(0, 0, 0, .8);
            text-align: left;
            margin: 0 auto;
            display: none;
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
        .modal-tech__block{
            display: inline-block;
            margin: 0 auto;
            background: red;
            border: 3px solid black;
            color: white;
            border-radius: 20px;
            padding: 20px;
            width: 500px;
            position: absolute;
            top: 0;
            left: 35%;  
        }
        .modal-tech__item{
            color: white;
            font-size: 17px;
            padding: 10px;

        }
        .modal-tech__button{
            position: absolute;
            top: 0;
            right: 0;
            margin: 0;
            padding: 20px;
            background: black;
            color: white;
            border-radius: 20px;
        }
        .modal-tech__title h3{
            font-size: 28px;

        }

                                        /**********************ev*****************/

        .modal-ev{
            background: rgba(0, 0, 0, .8);
            text-align: left;
            margin: 0 auto;
            display: none;
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }
        .modal-ev__block{
            display: inline-block;
            margin: 0 auto;
            background: red;
            border: 3px solid black;
            color: white;
            border-radius: 20px;
            padding: 20px;
            width: 500px;
            position: absolute;
            top: 0;
            left: 35%;  
        }
        .modal-ev__item{
            color: white;
            font-size: 17px;
            padding: 10px;

        }
        .modal-ev__button{
            position: absolute;
            top: 0;
            right: 0;
            margin: 0;
            padding: 20px;
            background: black;
            color: white;
            border-radius: 20px;
        }
        .modal-ev__title h3{
            font-size: 28px;

        }



























        /****************************************************footer***************************************************/
            footer{
                padding: 100px;
                background: black;
                color: white;
                margin: 0 auto;
            }
            .footer-block{
                display: flex;
                justify-content: space-around;
            }
            .footer-menu__item:hover{
                color: red;
                transition: .8s;
                cursor: pointer;
            }





            .footer-menu__phone{
                color: red;
                font-size: 32px;
                font-weight: bold;
                font-family:'Architects footer', cursive ;
                overflow-y: hidden;
            }
            .footer-menu__mail{
                color: red;
                font-size: 32px;
                font-weight: bold;
                font-family:'Architects footer', cursive ;
                overflow-y: hidden;
            }
            .footer__button{
                border: none;
                background: none;
                color: white;
            }
            .footer-menu__menu{
                display: flex;
                flex-direction: column;
            }
            .footer-end{
                background: black;
                padding: 5px;
            }
            .footer__text{
                text-align: center;
                font-size: 12px;
                font-family:'Architects footer', cursive ;
                color: white;

            }
            .footer-menu__logo{
                display: flex;
                align-items: center;
                cursor: pointer;
                justify-content: center;

            }






/*************************************************speciální funkce*************************************/
    


@import url("https://fonts.googleapis.com/css?family=Signika+Negative:300,400&display=swap");

body {
  font-family: "Signika Negative", sans-serif;
}

.wrapper {
  width: 100%;
  min-height: 100vh;   /* místo height */
  height: auto;        /* důležité */
  background: black;
}

.content {
  width: 100%;
  min-height: 100vh;   /* místo height:100% */
  height: auto;
  display: block;      /* místo flex */
  overflow: visible;   /* místo hidden */
  background: #000;
}


.content .text {
  font-size: 50px;
  width: 60%;
  color: white;
  position: relative;
}

.content .text .gradient {
  position: absolute;
  width: 100%;
  z-index: 2;
  background-color: #000;
  mix-blend-mode: darken;
  height: 100%;
  top: 0;
  left: 0;
}

.content .text img {
  /* zde můžeš doplnit stylování obrázku */
}

.gradient img{
    width: 100%;

}
.gradient{
    width: 100%;
    margin: 0 auto;
}
.panel{
    background-color: #000;
}

 


























/*
.sticky-element {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100vh;
  overflow: hidden;
}

.track {
  width: fit-content;
  flex: 0 0 auto;
  padding-inline: 50%;
}

.track-flex {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 85vh;
}

.panel-wide {
  position: relative;
  width: 100vw;
  height: 100%;
  flex: 0 0 auto;

}

.panel-wide img {
  position: relative;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.25;
}

.panel-wide::after {
  position: absolute;
  content: "";
  inset: 0;
  z-index: 1;
  
}

.half-height .track-flex {
  gap: 2rem;
}
*/








iframe{
    width: 100%;
    background-color: #000;
}






/********************************pin efekt****************************/

.pin-wrapper{
      position:relative;
      height:100vh;
      background: white;        /* ← tvoje libovolná barva (nebo url(...)) */
      overflow:hidden;
    }

    .pin-section{
      position:relative;
      height:100vh;
      display:flex;
      align-items:center;
      justify-content:center;
      font-size:3rem;
      background:black;   
    }
    .pin-section h1{
        color: white;
        text-align: center;
    }
    .mezera{
        height:100vh;
        background: white;        /* ← tvoje libovolná barva (nebo url(...)) */

    }
/********************************pin efekt****************************/
/********************************vibe efekt****************************/

/* ========================================
CSS KÓD
========================================
*/
.vibe-section {
    font-family: Arial, sans-serif;
    background: #ffffff;
    color: #333; 
    overflow: hidden;
    padding-top: 15vh;
}

.vibe-spacer {
    height: 50vh;
    background: #ffffff;
}

/* NOVÝ Wrapper pro dva sloupce */
.vibe-content-wrapper {
    display: flex;
    position: relative;
}

/* 1. LEVÝ SLOUPEC (Text) */
.vibe-text-area {
    position: relative;
    width: 50%;
    padding-left: 10vw;
    z-index: 10;
}

/* 2. PRAVÝ SLOUPEC (Obrázek) */
.vibe-image-column {
    width: 50%;
    height: 100vh; /* Nutné pro správné zarovnání pinu */
    position: relative;
    display: flex;
    align-items: center; /* Vertikálně centruje .vibe-box */
    justify-content: center; /* Horizontálně centruje .vibe-box */
    padding-right: 10vw; /* Odsazení zprava */
}

/* Jednotlivé textové bloky */
.vibe-text-item {
    height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    opacity: 0.3;
    transition: opacity 0.4s ease;
}

.vibe-text-item.is-active {
    opacity: 1;
}

.vibe-text-item h2 {
    font-size: clamp(3rem, 6vw, 4.5rem);
    margin-bottom: 0.5em;
    color: #111;
    display: flex;
    align-items: center;
}

.vibe-text-item h2 i {
    color: #e02d2d;
    margin-right: 0.5em;
    font-size: 0.8em;
}

.vibe-text-item p {
    font-size: clamp(1.5rem, 3vw, 2.2rem);
    line-height: 1.6;
    max-width: 45ch;
}

/* "Připnutý" box na obrázky vpravo */
.vibe-box {
    /* === ZMĚNA: position: fixed BYLO SMAZÁNO === */
    position: relative; /* Je normálně v layoutu */
    width: 35vw;
    height: 35vw;
    border-radius: 1rem;
    background: #222;
    z-index: 5;
    overflow: hidden;
}

/* Obrázky uvnitř boxu */
.vibe-box-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
}

.vibe-box-image:first-child {
    opacity: 1;
    visibility: visible;
}

/* Responzivita pro mobily */
@media (max-width: 768px) {
    .vibe-content-wrapper {
        flex-direction: column; /* Sloupce pod sebou */
    }
    .vibe-image-column {
        display: none; /* Skryjeme obrázky na mobilu */
    }
    .vibe-text-area {
        width: 100%;
        padding: 0 5vw;
    }
    .vibe-text-item {
        height: auto;
        padding: 5vh 5vw;
        opacity: 1;
        min-height: 50vh;
    }
    .vibe-text-item h2 {
        font-size: 2.5rem;
    }
    .vibe-text-item p {
        font-size: 1.2rem;
    }
}




/********************************vibe efekt****************************/
/***************************** promo efekt *****************************/

.container__headline {
  font-size: 5vmin;
}

.hero__inner {
  display: flex;
  position: relative;
  width: 100vw;
  max-height: 100vh;
  overflow: hidden;
}

/* Původně &::before */
.hero__inner::before {
  content: "";
  display: block;
  padding-bottom: calc(100% / (16 / 9));
}

.hero__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 160%;
  object-fit: cover;
}

.hero__content {
  /* Poznámka: V původním kódu bylo display: none a hned poté display: flex. 
     Nechávám flex, aby byl obsah vidět. */
  position: absolute;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.hero__headline {
  --padding: 1.5vmin;
  --duration: 400ms;
  --delay: calc(var(--duration) / 2);
  --ease: cubic-bezier(0.25, 1, 0.5, 1);

  position: relative;
  display: inline-block;
  font-size: 10vmin;
  overflow: hidden;
  margin-top: calc(var(--padding) * -1);
  padding: var(--padding);
}

/* Původně &::after uvnitř .hero__headline */
.hero__headline::after {
  content: "";
  position: absolute;
  top: calc(100% - var(--padding));
  left: 0;
  background-color: white;
  width: 100%;
  height: 1.5vmin;
  transform: scaleX(0);
  transition: transform var(--duration) var(--delay) var(--ease);
}

/* Původně span uvnitř .hero__headline */
.hero__headline span {
  display: block;
  transform: translateY(110%);
  transition: transform var(--duration) var(--ease);
}

/* --- Animace při aktivní třídě --- */
/* Původně .active & uvnitř .hero__headline */

.active .hero__headline::after {
  transform: scaleX(1);
  transition-delay: 0s;
}

.active .hero__headline span {
  transform: translateY(0);
  transition-delay: var(--delay);
}










/***************************** promo efekt *****************************/
/********************************horizontální slider 1****************************/


/* Sticky slider wrapper */
.sticky-element {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  overflow: auto;
  background: #f5f5f5; /* světlé pozadí */
}

/* Track container 
.track {
  width: fit-content;
  flex: 0 0 auto;
  padding-inline: 50%; 
}

/* Track flex */
.track-flex {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 2rem;
}


.panel-wide {
  position: relative;
  width: 90vw;
  height: 100%;
  flex: 0 0 auto;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 10px 25px rgba(0,0,0,0.15);
  background: #fff;
  display: flex;
  flex-direction: column;
}

/* Obrázky */
.panel-wide .image {
  width: 100%;
  height: 60%;
  object-fit: cover;
  transition: transform 0.5s ease;
  border-bottom: 1px solid #eee;
}

/* Parallax efekt při hover */
.panel-wide:hover .image {
  transform: scale(1.05);
}

/* Obsah karty */
.card-content {
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
}

/* Titulky */
.card-content h2,
.card-content h3 {
  font-family: 'Rubik', sans-serif;
  margin-bottom: 0.5rem;
  color: #333;
}

.card-content p {
  font-family: 'Kalam', cursive;
  color: #555;
  line-height: 1.4;
}

/* Alternující karty - červené */
.panel-wide.red {
  background: #ffe5e5;
}

/* Při přechodu mezi kartami */
.panel-wide + .panel-wide {
  margin-left: 2rem;
}



















/* --- Proměnné (z tvého zadání) --- */
:root {
  --glow-color: rgb(202, 42, 42);
  --glow-color-light: rgb(230, 42, 42); /* Světlejší pro hover */
  --glow-spread-color: rgba(230, 98, 98, 0.781);
  --text-primary: #FFFFFF;
  --text-secondary: #CCCCCC;
  --font-heading: 'Rubik', sans-serif;
  --font-body: 'Kalam', cursive;
}

/* --- Struktura pro GSAP --- */
.sticky-element {
  width: 100%;
  background: #000;
  overflow: hidden; /* Nutné pro pin */
}



.track-flex {
  display: flex;
  justify-content: flex-start;
  align-items: stretch; /* Karty budou stejně vysoké */
  height: 85vh; /* Výška celé sekce */
  gap: 2.5rem;  /* Mezera mezi kartami */
}


/* --- Nový design karet --- */
.panel-wide {
  position: relative;
  width: 85vw; /* Šířka karty */
  height: 100%; /* Výška karty (automaticky z .track-flex) */
  flex: 0 0 auto;
  border-radius: 16px;
  overflow: hidden; /* Ořízne obrázek a obsah */
  padding: 25px;




  /* Základní glow (můžeš odkomentovat, pokud chceš) */
  /* box-shadow: 0 0 1em 0.25em rgba(202, 42, 42, 0.1); */
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.panel-wide:hover {
  transform: scale(1.02); /* Lehký zoom při hoveru */
  box-shadow: 0 0 2em 0.5em var(--glow-spread-color);
}

/* --- Obrázek na pozadí karty --- */
.panel-wide .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  /* Parallax z tvého JS se o něj postará */
  transition: transform 0.5s ease;
}

/* --- Překrytí pro čitelnost textu --- */
.panel-wide::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  /* Tmavý gradient ze zdola nahoru */
  background: linear-gradient(0deg, 
    rgba(0, 0, 0, 0.85) 0%, 
    rgba(0, 0, 0, 0.7) 40%, 
    rgba(0, 0, 0, 0.4) 100%
  );
}

/* --- Obsah karty (Texty a tlačítko) --- */
.card-content {
  position: relative; 
  z-index: 3; /* Nad overlayem */
  height: 100%;
  padding: 2.5rem;
  
  /* Zarovnáme text dolů a tlačítko se odsune */
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* Vše se "usadí" na dno karty */
}

/* --- Typografie --- */
.card-content h2,
.card-content h3 {
  font-family: var(--font-heading);
  font-weight: 800;
  color: var(--text-primary);
  margin: 0 0 1rem 0;
  line-height: 1.2;
  
  /* Responzivní velikost písma (Větší než 35px) */
  /* min 35px, 2.5vw, max 50px */
  font-size: clamp(2.1875rem, 2.5vw + 1rem, 3.125rem); 
}

.card-content p {
  font-family: var(--font-body);
  font-size: clamp(1rem, 0.5vw + 0.8rem, 1.25rem);
  line-height: 1.6;
  color: var(--text-secondary);
  margin-bottom: 2rem; /* Odsazení od tlačítka */
}

/* Úvodní karta má červený nadpis */
.panel-intro h2 {
  color: var(--glow-color);
}


/* --- Tlačítko (Stylujeme rovnou .item5) --- */
.card__btn {
  /* Základní vzhled */
  background-color: var(--glow-color);
  color: var(--text-primary);
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  
  padding: 16px 32px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  
  /* Odsadí se od ostatních (flex) */
  align-self: flex-start; 
  
  /* Přechod pro hover */
  transition: all 0.3s ease-out;
}

.card__btn:hover {
  /* Hover efekt */
  background-color: var(--glow-color-light); /* Světlejší červená */
  color: var(--text-primary);
  transform: scale(1.05); /* Lehký zoom */
  box-shadow: 0 0 20px var(--glow-spread-color); /* Glow efekt */
}
.image{
    width: 100%;
    object-fit: cover;
}



/* --- Responzivita (pro mobily) --- */
@media (max-width: 768px) {
  
  /* Zrušíme horizontální nastavení */
  .track {
    padding-inline: 0; /* Bez okrajů */
  }

  .track-flex {
    flex-direction: column; /* Karty pod sebou */
    height: auto; /* Výška se přizpůsobí obsahu */
    padding: 2rem 0; /* Mezery nahoře a dole */
    gap: 2rem; /* Mezera mezi kartami */
  }
  
  .panel-wide {
    width: 90vw; /* Karty budou 90% šířky mobilu */
    height: 60vh; /* Pevná výška, aby nebyly moc dlouhé */
    margin: 0 auto; /* Centrování */
  }
  
  .panel-wide:hover {
    transform: none; /* Vypneme hover zoom na mobilu */
    box-shadow: none;
  }
  
  .card-content {
    padding: 1.5rem;
  }
  
  /* Zmenšíme nadpisy na mobilu */
  .card-content h2,
  .card-content h3 {
    font-size: clamp(1.8rem, 5vw + 0.5rem, 2.2rem);
  }
  
  .card-content p {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }
  

}

/* ==============================================
NOVÉ CSS PRO SPLIT-SCREEN SLIDERY
(Slider 2 a 3)
==============================================
*/

/* Přidáváme černé pozadí přímo na slider sekce */
.nemovitosti-slider,
.firmy-slider {
    background: #000;
}

/* Nová karta s designem "půl na půl"
Využívá CSS Grid pro rozdělení 
*/
.panel-wide-split {
    position: relative;
    width: 85vw; /* Šířka karty */
    height: 100%; /* Výška je z .track-flex (85vh) */
    flex: 0 0 auto;
    border-radius: 16px;
    overflow: hidden;
    background: #1a1a1a; /* Tmavé pozadí pro text */
    
    display: grid;
    /* Rozdělení na dvě poloviny (50% / 50%) */
    grid-template-columns: 1fr 1fr;
    
    /* Glow efekt z tvého zadání */
    border: 1px solid var(--glow-color);
    box-shadow: 0 0 1em 0.25em rgba(202, 42, 42, 0.1);
    transition: box-shadow 0.3s ease;









}

.panel-wide-split:hover {
    box-shadow: 0 0 2em 0.5em var(--glow-spread-color);
}

/* 1. Polovina (Obrázek) */
.panel-split__image {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.panel-split__image .image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.panel-wide-split:hover .panel-split__image .image {
    transform: scale(1.05); /* Lehký zoom obrázku při hoveru */
}

/* 2. Polovina (Obsah) */
.panel-split__content {
    padding: 3rem 3.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.panel-split__content span {
    font-family: var(--font-heading);
    color: var(--glow-color);
    font-size: 1rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 0.5rem;
}

.panel-split__content h2,
.panel-split__content h3 {
    font-family: var(--font-heading);
    font-weight: 800;
    color: var(--text-primary);
    margin: 0 0 1.5rem 0;
    line-height: 1.2;
    font-size: clamp(2rem, 2.5vw + 1rem, 3rem); /* Velké nadpisy */
}

.panel-split__content p {
    font-family: var(--font-body);
    font-size: clamp(1rem, 0.5vw + 0.8rem, 1.25rem);
    line-height: 1.6;
    color: var(--text-secondary);
    margin: 0 0 2rem 0;
}

/* Tlačítko - má vlastní třídu, aby se odsadilo */
.card__btn {
    /* ŽÁDNÉ STYLY VZHLEDU - POUZE LAYOUT */
    margin-top: auto; /* Odsune se na spodek, pokud je místo */
    align-self: flex-start; /* Zarovná se doleva */
}


/* ==============================================
RESPONZIVITA PRO SPLIT-SCREEN SLIDERY
==============================================
*/
@media (max-width: 768px) {
    
    /* Na mobilu se .track-flex zlomí (z tvého předchozího CSS)
    a my jen upravíme vzhled karet.
    */
    
    .panel-wide-split {
        /* Zrušíme grid (půl na půl) */
        grid-template-columns: 1fr; /* Vše pod sebou */
        width: 90vw; /* Karty budou 90% šířky mobilu */
        height: auto; /* Výška bude automatická */
    }
    
    .panel-split__image {
        /* Obrázek bude mít pevnou výšku */
        height: 250px; 
    }
    
    .panel-split__content {
        padding: 2rem 1.5rem;
    }

    .panel-split__content h2,
    .panel-split__content h3 {
        font-size: 1.8rem;
    }
    
    .panel-split__content p {
        font-size: 1rem;
    }
}
















/********************************cookies banner****************************/


        .content {
            flex: 1;
            padding-bottom: 100px;
        }

        .map-container {
            width: 100%;
            margin: 0 auto;
            height: 500px;
            overflow: hidden;
            position: relative;
        }

        .map-placeholder {
            width: 100%;
            height: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            background-color: #f5f5f5;
            color: #666;
            text-align: center;
            padding: 20px;
        }

        .map-placeholder h3 {
            margin-bottom: 15px;
            color: #333;
        }

        .map-placeholder button {
            margin-top: 15px;
            padding: 10px 20px;
            background-color: #007bff;
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-size: 16px;
            transition: background-color 0.3s;
        }

        .map-placeholder button:hover {
            background-color: #0056b3;
        }


  .cookie-banner {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background-color: #2c3e50;
            color: white;
            padding: 5px;
            box-shadow: 0 -2px 10px rgba(0,0,0,0.2);
            z-index: 1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000;
            transform: translateY(100%);
            transition: transform 0.3s ease-in-out;
        }

        .cookie-banner.show {
            transform: translateY(0);
        }

        .cookie-content {
            max-width: 1200px;
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            gap: 15px;
        }

        .cookie-text {
            font-size: 14px;
            line-height: 1.5;
        }

        .cookie-text p {
            margin-bottom: 10px;
        }

        .cookie-text a {
            color: #3498db;
            text-decoration: none;
        }

        .cookie-text a:hover {
            text-decoration: underline;
        }

        .cookie-buttons {
            display: flex;
            gap: 15px;
            flex-wrap: wrap;
            align-items: center;
        }

        .cookie-btn {
            padding: 12px 24px;
            border: none;
            border-radius: 5px;
            font-size: 16px;
            font-weight: 500;
            cursor: pointer;
            transition: all 0.3s;
            text-decoration: none;
            display: inline-block;
            text-align: center;
        }

        .cookie-btn-primary {
            background-color: #27ae60;
            color: white;
        }

        .cookie-btn-primary:hover {
            background-color: #229954;
        }

        .cookie-btn-secondary {
            background-color: #e74c3c;
            color: white;
        }

        .cookie-btn-secondary:hover {
            background-color: #c0392b;
        }

        .cookie-btn-link {
            background-color: transparent;
            color: #3498db;
            padding: 8px 16px;
        }

        .cookie-btn-link:hover {
            background-color: rgba(52, 152, 219, 0.1);
        }

        @media (max-width: 768px) {
            .cookie-content {
                padding: 0 10px;
            }
            
            .cookie-buttons {
                flex-direction: column;
                width: 100%;
            }
            
            .cookie-btn {
                width: 100%;
            }
        }

        /* --- KOMPAKTNÍ VERZE PRO MOBILY A TABLETY --- */
@media (max-width: 950px) {
    /* Zmenšení hlavního obalu */
    .cookie-banner {
        padding: 10px 15px !important;
    }

    /* Zmenšení textu */
    .cookie-text p {
        font-size: 11px !important;
        line-height: 1.3;
        margin-bottom: 5px;
    }
    
    .cookie-text strong {
        font-size: 13px;
    }

    /* Úprava rozložení tlačítek */
    .cookie-buttons {
        flex-direction: row !important; /* Vynutíme tlačítka vedle sebe */
        flex-wrap: wrap; /* Pokud se nevejdou, zalomí se */
        gap: 8px !important;
        width: 100%;
        margin-top: 5px;
    }

    /* Zmenšení samotných tlačítek */
    .cookie-btn {
        padding: 6px 12px !important; /* Menší vnitřní okraj */
        font-size: 12px !important;   /* Menší písmo */
        width: auto !important;       /* Zrušíme 100% šířku */
        flex: 1;                      /* Tlačítka se rovnoměrně podělí o místo */
        margin: 0 !important;         /* Odstraníme staré marginy */
        min-width: 80px;              /* Aby nebyla moc úzká */
        white-space: nowrap;          /* Text v tlačítku na jeden řádek */
    }

    /* Odkaz "Více o cookies" uděláme méně nápadný */
    .cookie-btn-link {
        flex: 0 0 auto; /* Nebude se roztahovat */
        padding: 6px 10px !important;
        font-size: 11px !important;
    }
}






/***************************šipka************************/

/* ====== Časová osa – izolovaný styl ====== */
  .timeline-wrap {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 10vh 30px 25vh;
    background: #000;
    color: #ccc;
    font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    line-height: 1.8;
    font-size: 1.45rem;
    padding-bottom: 150px;
  }

  .timeline-title {
    font-size: clamp(3rem, 6vw, 4.2rem);
    text-align: center;
    margin: 6vh 0 10vh;
    letter-spacing: .02em;
    color: #e02d2d;
    font-weight: 600;
    line-height: 1.3;
  }

  .timeline-block {
    width: 46%;
    padding: 2.8rem 0;
  }

  .timeline-block:nth-child(odd) {
    margin-left: 0;
  }

  .timeline-block:nth-child(even) {
    margin-left: 54%;
  }

  .timeline-block h3 {
    color: #e02d2d;
    font-weight: 600;
    font-size: 2.3rem;
    line-height: 1.3;
    margin-bottom: 1rem;
  }

  .timeline-svg {
    position: absolute;
    left: 0;
    top: 35vh; /* nezačíná u titulku */
    width: 100%;
    height: calc(100% - 15vh);
    pointer-events: none;
  }

  .timeline-path {
    fill: none;
    stroke: #ccc;
    stroke-width: 3;
    stroke-dasharray: 14 10;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .timeline-arrow path {
    fill: #e02d2d;
  }

  @media(max-width:700px) {
    .timeline-wrap {
      font-size: 1.2rem;
    }
    .timeline-block {
      width: 90%;
      margin: 0 auto !important;
    }
    .timeline-block h3 {
      font-size: 1.9rem;
    }
    .timeline-title {
      font-size: 2.6rem;
    }
    .timeline-svg {
      top: 12vh;
      height: calc(100% - 12vh);
    }
  }
/***************************šipka************************/
































































/* ===================== jQuery Validate – DESIGN ===================== */

/* hláška (label.error) */
label.error {
  display: block;
  margin-top: 8px;
  font-size: 13px;
  line-height: 1.35;
  color: #1D4ED8;
  font-style: italic;

  /* “chip” vzhled */
  background: #fff;
  border-left: 3px solid #1D4ED8;
  padding: 8px 10px;
  border-radius: 8px;

  /* aby se to nepřekrývalo s layoutem */
  max-width: 100%;
}

/* input/textarea v chybě */
input.error,
textarea.error,
select.error {
  border: 2px solid #1D4ED8 !important;
  background-color: #ffffff !important;
}

/* jemný focus v chybě */
input.error:focus,
textarea.error:focus,
select.error:focus {
  box-shadow: 0 0 0 4px rgba(29, 78, 216, 0.18);
}

/* validní stav (volitelné) */
input.valid,
textarea.valid,
select.valid {
  border: 2px solid rgba(29, 78, 216, 0.35);
}









































/***************************responzivita************************/


/***************4000px************/
@media(max-width:4000px) {

}

/***************3600px************/
@media(max-width:3600px) {

}

/***************3300px************/
@media(max-width:3300px) {

}

/***************3000px************/
@media(max-width:3000px) {

}

/***************2800px************/
@media(max-width:2800px) {

}

/***************2500px************/
@media(max-width:2500px) {

}

/***************2300px************/
@media(max-width:2300px) {

}

/***************2000px************/
@media(max-width:2000px) {

}

/*************1800px************/
@media(max-width:1800px) {

}

/*************1600px************/
@media(max-width:1600px) {

.confirm__item{
    font-size: 20px;

}








}

/*************1400px************/
@media(max-width:1400px) {












}

/*************1300px************/
@media(max-width:1300px) {

.confirm__item{
    font-size: 18px;

}
.confirm-block2{
    display: block;
    height: 100%;
    width: 50%;

}
.confirm-list2{
    padding-top: 25px;

}


footer {
  padding: 50px;
  background: black;
  color: white;
  margin: 0 auto;
}


}

/*************1200px************/
@media(max-width:1200px) {


footer {
  padding: 10px;
  background: black;
  color: white;
  margin: 0 auto;

}






}

/*************1100px************/
@media(max-width:1100px) {

.footer-block {
  display: flex;
  justify-content: space-around;
  flex-direction: column-reverse;
}

.footer-item{
    padding-top: 20px;

}

.footer-menu{
   padding-top: 20px;

}

.footer-item{
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;

}










}

/*************1000px************/
@media(max-width:1000px) {

.input{
    max-width: 380px;

}
.confirm__input3{
    max-width: 165px;

}
.confirm__input2{
    max-width: 165px;

}
.inputtt{
    max-width: 380px;

}
textarea {
  min-height: 150px;
  max-height: 300px;
  min-width: 380px;
  max-width: 450px;

}


}

/*************900px************/
@media(max-width:900px) {









}

/*************800px************/
@media(max-width:800px) {

.input{
    max-width: 280px;

}
.confirm__input3{
    max-width: 115px;

}
.confirm__input2{
    max-width: 115px;

}
.inputtt{
    max-width: 280px;

}
textarea {
  min-height: 150px;
  max-height: 300px;
  min-width: 50px;
  max-width: 280px;

}
.confirm__item{
    margin-left: 10px;

}

.nav__logo2 {
  font-size: 23px;
  font-family: 'Architects Daughter', cursive;
  padding-left: 5px;
}
.nav__logo1 {
  width: 60px;
  height: 60px;
}
.nav__logo1 img{
  width: 60px;
  height: 60px;
}
.nav-menu__item {
  padding-left: 18px;
  font-size: 20px;
  font-family: 'Architects Daughter', cursive;
}








}

/*************700px************/
@media(max-width:700px) {

.nav__logo2 {
  
}

}

/*************600px************/
@media(max-width:600px) {

.confirm-block {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.confirm-block2 {
    display: block;
    height: 100%;
    width: 100%;
}
.confirm__item{
    margin-left: 50px;

}
.confirm-block1 {
  width: 100%;
}








}

/*************550px************/
@media(max-width:550px) {

}

/*************500px************/
@media(max-width:500px) {

.nav-menu__item {
    padding-left: 15px;
    font-size: 15px;

}
.sign__title {
     margin-left: 15px;
     font-size: 15px;
}
.sign__text{
     margin-left: 15px;
     font-size: 15px;
}
.sign__subtitle {
    margin-left: 15px;
    font-size: 15px;
}
.citat{
    padding: 5px;


}
.citat__text{
    width: 100%;

}
.nav__logo1 {
  width: 50px;
  height: 50px;
}
.nav__logo1 img{
  width: 50px;
  height: 50px;
}

}

/*************450px************/
@media(max-width:450px) {

}

/*************400px************/
@media(max-width:400px) {




}

/*************350px************/
@media(max-width:350px) {

.input{
    max-width: 260px;

}
.confirm__input3{
    max-width: 105px;

}
.confirm__input2{
    max-width: 105px;

}
.inputtt{
    max-width: 260px;

}
textarea {
  min-height: 150px;
  max-height: 300px;
  min-width: 50px;
  max-width: 260px;

}
.confirm__item{
    margin-left: 10px;

}
.prize-container {
  width: 100%;
  max-width: 1200px;
  padding: 0 15px;
}
  .vibe-text-item h2 {
    font-size: 1.8rem;
  }
  .sign__title {
    font-size: 16px;
    margin-top: 120px;
  }







}

/*************300px************/
@media(max-width:300px) {

.prize-container {
  width: 100%;
  max-width: 1200px;
  padding: 0 10px;
}
.sign__title{
  margin-left: 0;
  font-size: 14px;
}
}




/*************250px************/
@media(max-width:280px) {

.prize-container {
  width: 100%;
  max-width: 1200px;
  padding: 0 10px;
}
.sign__title{
  margin-left: 0;
  font-size: 12px;
}







}

/* =========================================
   HEIGHT
   ========================================= */


/*************800px************/
@media(max-height:800px) {

.nabidka{
    display: none;

}



}
/*************600px************/
@media(max-height:600px) {

.sign__text {
  margin-top: 440px;
 
}


}

/*************500px************/
@media(max-height:500px) {

.nabidka{
    display: none;

}
.sign__text {
  margin-top: 400px;
 
}
.sign__title {
  font-size: 18px;
  margin-top: 120px;

}



}

/*************450px************/
@media(max-height:450px) {

.nabidka{
    display: none;

}
.sign__text {
  margin-top: 360px;
 
}
.sign__title {
  font-size: 14px;
  margin-top: 110px;

}
.sign__subtitle {
 
  margin-top: 110px;

}

}




/*************400px************/
@media(max-height:400px) {

.nabidka{
    display: none;

}
.sign__text {
    margin-top: 300px;
    font-size: 11px;
}
.sign__title {
  font-size: 12px;
  margin-top: 110px;

}

}


/* =========================================
   HEIGHT AND WIDTH COMBINED
   ========================================= */

@media (max-height: 500px )AND (max-width: 350px) {

  .sign__subtitle {
    margin-left: 5px;
    margin-bottom: 15px;
  }
  .sign__title h1{
    font-size: 1.5em;
    margin: 0.67em 0;

  
  }





}










/* =========================================
   BURGER MENU (PURE CSS)
   ========================================= */

/* 1. Skrytí checkboxu (nikdy ho nechceme vidět) */
.nav-toggle {
    display: none;
}

/* 2. Styl pro Burger Ikonu (tři čárky) */
.nav-burger {
    display: none; /* Na PC skryté */
    cursor: pointer;
    width: 30px;
    height: 25px;
    position: relative;
    z-index: 1001;
    margin-right: 25px;
}

.nav-burger span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: white;
    margin-bottom: 5px;
    border-radius: 2px;
    transition: all 0.3s ease-in-out;
    transform-origin: 4px 0px;
}

.nav-burger span:last-child {
    margin-bottom: 0;
}

/* =========================================
   RESPONZIVITA - ZOBRAZENÍ BURGERU
   ========================================= */

@media (max-width: 900px) {

    /* Zobrazit burger ikonu */
    .nav-burger {
        display: block;
    }

    /* Skrýt logo text (volitelné, pokud se nevejde) */
    .nav__logo2 {
        font-size: 18px; /* Zmenšíme písmo loga, aby se vešlo */
    }

    /* Stylování rozbalovacího menu */
    .nav-menu {
        position: absolute;
        top: 100%; /* Hned pod lištou */
        left: 0;
        width: 100%;
        background-color: rgba(0, 0, 0, 0.95); /* Tmavé pozadí */
        border-bottom: 3px solid red; /* Červený proužek dole */
        
        /* Flex nastavení pro vertikální seznam */
        flex-direction: column;
        align-items: center;
        padding: 20px 0;
        
        /* Animace a skrytí */
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.5s ease-in-out, padding 0.5s ease;
        padding: 0; /* Ve výchozím stavu nulový padding */
    }

    /* Položky v menu */
    .nav-menu__item {
        padding: 0;
        margin: 15px 0;
        width: 100%;
        text-align: center;
        opacity: 0; /* Skryté pro animaci */
        transition: opacity 0.3s ease;
    }
    
    .nav-menu__item:last-child {
        padding-right: 0; /* Reset původního stylu */
    }

    .nav__button {
        font-size: 24px; /* Větší písmo na mobilu */
        display: block;
        width: 100%;
        padding: 10px;
    }

    /* --- LOGIKA OTEVŘENÍ MENU --- */

    /* Když je checkbox zaškrtnutý -> Zobraz menu */
    #nav-toggle:checked ~ .nav-menu {
        max-height: 500px; /* Dostatečná výška pro obsah */
        padding: 20px 0;
    }

    /* Zobrazit položky s malým zpožděním */
    #nav-toggle:checked ~ .nav-menu .nav-menu__item {
        opacity: 1;
    }

    /* --- ANIMACE BURGER IKONY NA KŘÍŽEK (X) --- */
    
    /* První čárka -> otočit */
    #nav-toggle:checked ~ .nav-burger span:nth-child(1) {
        transform: rotate(45deg) translate(2px, -2px);
        background-color: red; /* Zčervená při otevření */
    }

    /* Druhá čárka -> zmizet */
    #nav-toggle:checked ~ .nav-burger span:nth-child(2) {
        opacity: 0;
        transform: scale(0.2);
    }

    /* Třetí čárka -> otočit opačně */
    #nav-toggle:checked ~ .nav-burger span:nth-child(3) {
        transform: rotate(-45deg) translate(1px, 0px);
        background-color: red;
    }
}


/* =========================================
   FIX RESPONZIVITY PRO MOBILY (pod 500px)
   ========================================= */

@media (max-width: 500px) {
    
    /* 1. Nastavíme kontejneru správné odsazení od krajů */
    .nav-block {
        width: 100%;
        max-width: 100vw; /* Zamezí přetečení šířky */
        padding-left: 15px;  /* Bezpečný odstup zleva */
        padding-right: 15px; /* Bezpečný odstup zprava (pro burger) */
        box-sizing: border-box; /* Zajistí, že padding je součástí šířky */
    }

    /* 2. Zrušíme staré odsazení loga, teď to řídí .nav-block */
    .nav-logo {
        padding-left: 0; 
    }

    /* 3. Zrušíme starý margin burgeru, aby nebyl odtlačený */
    .nav-burger {
        margin-right: 0; 
    }
    
    /* Volitelné: Zmenšení loga, aby se vše vešlo */
    .nav__logo1 {
        width: 50px;
        height: 50px;
        font-size: 30px;
    }
}





/* =========================================
   OPRAVA ŠIPKY NA MOBILECH
   ========================================= */

@media (max-width: 900px) {
    .timeline-wrap {
        /* Zajistí, že přečuhující SVG nerozšíří stránku do boku */
        overflow: hidden; 
        position: relative;
    }

    .timeline-svg {
        /* 1. Vnutíme SVG fixní šířku. 
           Tím zabráníme "smrsknutí" souřadnic a šipka zůstane široká. */
        width: 800px !important; 
        max-width: none !important;

        /* 2. Vycentrujeme SVG.
           Protože je SVG širší než mobil, musíme ho posunout, 
           aby vlnovka (která je v SVG uprostřed) byla uprostřed displeje. */
        left: 50%;
        transform: translateX(-50%);

        /* 3. Úprava výšky pro mobily (zachování vaší původní logiky) */
        top: 10vh;
        height: 100%;
    }
}

/* =========================================
   VRSTVENÍ - TEXT PŘED ŠIPKOU
   ========================================= */

/* 1. Šipka (SVG) zůstane vzadu */
.timeline-svg {
    z-index: 0; 
}

/* 2. Textové bloky (a nadpis) musí být v popředí */
.timeline-block, 
.timeline-title {
    position: relative; /* Nutné, aby fungoval z-index */
    z-index: 2;         /* Vyšší číslo = vyšší vrstva (blíž k uživateli) */
}






































/* =========================================================
   SLIDER FIX 01: nikdy nepodlézat pod FIXED navigaci
   ========================================================= */

:root{
  /* uprav, pokud má nav vyšší/nižší výšku */
  --nav-h: 72px;
}

/* nav je fixed (.nav-block), takže slideru dáme horní "safe area" */


/* Track flex výšku přizpůsobíme tomu paddingu, aby se nic neuseklo */




/* =========================================================
   SLIDER FIX 02: zachovat horizontální slider i pod 768px
   (přebíjí tvoje @media max-width:768px co to láme do sloupce)
   ========================================================= */

@media (max-width: 768px){
  .sticky-element{
    padding-top: var(--nav-h);
  }

  .track{
    padding-inline: 12vw !important; /* menší než 50% */
    width: fit-content !important;
  }

  .track-flex{
    flex-direction: row !important;  /* klíč: NE column */
    height: calc(100vh - var(--nav-h) - 18px) !important;
    gap: 1.25rem !important;
  }

  .panel-wide{
    width: 82vw !important;          /* karty menší, ale stále horizontálně */
    height: 100% !important;
  }

  .panel-wide-split{
    width: 82vw !important;
    height: 100% !important;
  }

  /* trochu zmenšit padding textů, aby se vešly */
  .card-content{ padding: 1.25rem !important; }
  .panel-split__content{ padding: 1.5rem 1.5rem !important; }
}

/* kritický breakpoint který zmiňuješ (~700px) */
@media (max-width: 700px){
  .track{ padding-inline: 8vw !important; }
  .panel-wide,
  .panel-wide-split{ width: 88vw !important; }
}

/* pokud chceš opravdu malé telefony “bez slideru” (stack), až tady */
@media (max-width: 420px){
  .track{ padding-inline: 0 !important; width: 100% !important; }
  .track-flex{
    flex-direction: column !important;
    height: auto !important;
    padding: 1.25rem 1rem !important;
  }
  .panel-wide,
  .panel-wide-split{
    width: 100% !important;
    height: auto !important;
    min-height: 420px;
  }
}












/* =========================================================
   CARD FIX: responzivita OBSHU karet (ne slideru)
   Vlož úplně na konec style.css
   ========================================================= */

/* --- 0) Bezpečné chování textu v kartách (žádné přetékání) --- */


.card-content,
.panel-split__content{
  overflow: hidden; /* když je výška karty fixní, nic nepřeteče ven */
}

.card-content h2,
.card-content h3,
.card-content p,
.panel-split__content h2,
.panel-split__content h3,
.panel-split__content p{
  overflow-wrap: anywhere;  /* dlouhá slova / URL nerozbijí layout */
  word-break: break-word;
}

/* --- 1) Univerzální “fluid” spacing uvnitř karet --- */
.card-content{
  padding: clamp(1rem, 2.8vw, 2.5rem) !important;
  gap: clamp(0.5rem, 1.2vw, 1rem);
}

/* split karta: textová půlka */
.panel-split__content{
  padding: clamp(1.1rem, 3.2vw, 3.5rem) !important;
  gap: clamp(0.6rem, 1.4vw, 1rem);
}

/* --- 2) Typografie: zmenšování od tabletu dolů (oba typy) --- */
.card-content h2,
.card-content h3{
  font-size: clamp(1.45rem, 3.4vw + 0.4rem, 2.6rem) !important;
  line-height: 1.15;
  margin-bottom: clamp(0.35rem, 1vw, 1rem) !important;
}

.card-content p{
  font-size: clamp(0.95rem, 1.3vw + 0.55rem, 1.15rem) !important;
  line-height: 1.55;
  margin-bottom: clamp(1rem, 2vw, 2rem) !important;
}

/* split text */
.panel-split__content span{
  font-size: clamp(0.8rem, 1.1vw + 0.35rem, 1rem) !important;
  margin-bottom: 0.5rem;
}

.panel-split__content h2,
.panel-split__content h3{
  font-size: clamp(1.6rem, 3.2vw + 0.6rem, 2.8rem) !important;
  line-height: 1.15;
  margin-bottom: clamp(0.6rem, 1.2vw, 1.5rem) !important;
}

.panel-split__content p{
  font-size: clamp(0.95rem, 1.2vw + 0.55rem, 1.15rem) !important;
  line-height: 1.55;
  margin-bottom: clamp(1rem, 2vw, 2rem) !important;
}

/* --- 3) Tlačítka: menší na mobilu, žádné rozbití layoutu --- */
.card__btn{
  padding: clamp(0.7rem, 1.6vw, 1rem) clamp(1rem, 2.2vw, 2rem) !important;
  font-size: clamp(0.85rem, 1.2vw, 1rem) !important;
  border-radius: 10px;
  max-width: 100%;
}

/* Na užších displejích: button přes celou šířku (lepší UX) */
@media (max-width: 560px){
  .card__btn{
    width: 100% !important;
    text-align: center;
    align-self: stretch !important;
  }
}

/* --- 4) Když je karta nízká (typicky mobil v landscape / malé výšky),
         omezíme délku textu, aby se “neukousl” button --- */
@media (max-height: 700px){
  .card-content p{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;   /* zkrátí text na ~5 řádků */
    overflow: hidden;
  }

  .panel-split__content p{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    overflow: hidden;
  }
}

/* --- 5) Jemné doladění pro menší šířky (ale ještě “slider režim”) --- */
@media (max-width: 700px){
  .card-content{
    padding: clamp(0.9rem, 3.2vw, 1.4rem) !important;
  }
  .panel-split__content{
    padding: clamp(1rem, 3.6vw, 1.6rem) !important;
  }

  .card-content p,
  .panel-split__content p{
    line-height: 1.5;
  }
}












/* =========================================================
   FIX: Slider 2 + 3 (nemovitosti/firma) - text nepadá "pod blok"
   + vypnutí scroll efektu od 500px (CSS-only)
   + od 400px schovat text
   ========================================================= */

/* --- A) Stabilita split karet (2. a 3. slider) --- */
.nemovitosti-slider .panel-wide-split,
.firmy-slider .panel-wide-split{
  /* důležité pro to, aby se vnitřní obsah správně ořezával */
  overflow: hidden;
  align-items: stretch; /* grid itemy se natáhnou */
}

/* GRID itemy musí umět shrinknout, jinak overflow/clamp často nefunguje */
.nemovitosti-slider .panel-split__image,
.firmy-slider .panel-split__image,
.nemovitosti-slider .panel-split__content,
.firmy-slider .panel-split__content{
  min-width: 0;
  min-height: 0;
}

/* Obsah: místo "center" dáme kontrolovaný layout, CTA zůstane dole */
.nemovitosti-slider .panel-split__content,
.firmy-slider .panel-split__content{
  display: flex;
  flex-direction: column;
  justify-content: flex-start;   /* klíč: text se nepere s výškou */
  gap: clamp(0.5rem, 1.2vw, 0.9rem);
  padding: clamp(1.25rem, 3.5vw, 3rem) !important;

  overflow: hidden;             /* nic nepoleze ven */
}

/* Nadpisy a texty omezíme "na řádky", aby na menších výškách netekly */
.nemovitosti-slider .panel-split__content h2,
.nemovitosti-slider .panel-split__content h3,
.firmy-slider .panel-split__content h2,
.firmy-slider .panel-split__content h3{
  margin: 0 0 clamp(0.35rem, 1vw, 0.9rem) 0 !important;
  overflow: hidden;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;        /* max 3 řádky nadpisu */
}

.nemovitosti-slider .panel-split__content p,
.firmy-slider .panel-split__content p{
  margin: 0 0 clamp(0.8rem, 1.6vw, 1.4rem) 0 !important;
  overflow: hidden;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;        /* max 6 řádků textu */
}

/* CTA vždy dole, ale nesmí rozbít layout */
.nemovitosti-slider .panel-split__content .card__btn,
.firmy-slider .panel-split__content .card__btn{
  margin-top: auto !important;  /* tlačítko dole */
  align-self: flex-start;
  max-width: 100%;
}

/* Když je výška viewportu malá (často na mobile landscape), zkrátíme text víc */
@media (max-height: 720px){
  .nemovitosti-slider .panel-split__content p,
  .firmy-slider .panel-split__content p{
    -webkit-line-clamp: 4;
  }
  .nemovitosti-slider .panel-split__content h2,
  .nemovitosti-slider .panel-split__content h3,
  .firmy-slider .panel-split__content h2,
  .firmy-slider .panel-split__content h3{
    -webkit-line-clamp: 2;
  }
}

/* --- B) Od 500px: vypnout "scroll/pin slider" a udělat normální vertikální layout --- */
/* CSS-only trik: track už není široký => scrollWidth ~ viewport => GSAP end ~ 0 */
@media (max-width: 500px){

  .sticky-element{
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 1.5rem;
  }

  .track{
    width: 100% !important;
    padding-inline: 0 !important;
    transform: none !important; /* kdyby zůstalo "viset" */
  }

  .track-flex{
    flex-direction: column !important;
    height: auto !important;
    padding: 1.25rem 1rem !important;
    gap: 1.25rem !important;
  }

  .panel-wide,
  .panel-wide-split{
    width: 100% !important;
    height: auto !important;
    min-height: 420px;
  }

  /* split karta na mobilu: image nahoře, content dole */
  .panel-wide-split{
    grid-template-columns: 1fr !important;
  }

  .panel-split__image{
    height: 220px !important;
  }

  /* CTA na malém telefonu radši full width */
  .card__btn{
    width: 100% !important;
    text-align: center;
    align-self: stretch !important;
  }
}

/* --- C) Od 400px: "smazat text" (schovat odstavce + label), jak chceš --- */
@media (max-width: 400px){

  /* 1. slider (klasické karty) */
  .card-content p{
    display: none !important;
  }

  /* 2.+3. slider (split karty) */
  .panel-split__content span,
  .panel-split__content p{
    display: none !important;
  }

  /* trochu zkompaktnit */
  .card-content{
    padding: 1rem !important;
  }
  .panel-split__content{
    padding: 1rem !important;
  }
}
/* =========================================================
   MOBILE STACK MODE (<=500px): karty pod sebou, čistě vertikální
   ========================================================= */

@media (max-width: 500px){
  .sticky-element{
    height: auto !important;
    min-height: 0 !important;
    padding-top: var(--nav-h, 72px) !important; /* nav safe area */
    padding-bottom: 1.25rem !important;
    overflow: visible !important;               /* žádný vnitřní scroll */
  }

  .track{
    width: 100% !important;
    padding-inline: 0 !important;
    transform: none !important;
  }

  .track-flex{
    flex-direction: column !important;
    height: auto !important;
    padding: 1rem !important;
    gap: 1rem !important;
    align-items: stretch !important;
  }

  .panel-wide,
  .panel-wide-split{
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .panel-wide .image{
    height: 220px !important;
  }

  .panel-wide-split{
    grid-template-columns: 1fr !important;
  }

  .panel-split__image{
    height: 220px !important;
  }

  /* ať tlačítka fungují pěkně na mobilu */
  .card__btn{
    width: 100% !important;
    text-align: center;
  }
}













/* =========================================================
   SIMPLE CARDS MODE (NO SCROLL EFFECT)
   - sticky-element už není pinned sekce
   - karty jsou normálně pod sebou / vedle sebe s flex-wrap
   ========================================================= */


.track{
  width: 100% !important;
  padding-inline: 0 !important;
  transform: none !important;
}

.track-flex{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  height: auto !important;
  gap: 1.25rem !important;
  padding: 1.25rem 1rem !important;
}

/* Každá karta jako flex item */
.panel-wide,
.panel-wide-split{
  flex: 1 1 calc(33.333% - 1.25rem) !important;
  width: auto !important;
  height: auto !important;
  min-width: 280px;
  max-width: 100%;
}

/* tablet: 2 sloupce */
@media (max-width: 1024px){
  .panel-wide,
  .panel-wide-split{
    flex-basis: calc(50% - 1.25rem) !important;
  }
}

/* mobil: 1 sloupec */
@media (max-width: 600px){
  .panel-wide,
  .panel-wide-split{
    flex-basis: 100% !important;
    min-width: 0;
  }
}

/* Split karta: image nahoře, text dole */
.panel-wide-split{
  grid-template-columns: 1fr !important;
}
.panel-split__image{
  height: 220px !important;
}
.panel-split__content{
  padding: 1.25rem !important;
}

/* velmi malé telefony – schovat delší texty */
@media (max-width: 400px){
  .card-content p,
  .panel-split__content p,
  .panel-split__content span{
    display: none !important;
  }
}















/* =========================================================
   FINAL SIMPLE CARDS LAYOUT – fix překryvů + flex-wrap
   (vlož úplně na konec style.css)
   ========================================================= */

/* 1) Vypnout všechny "viewport height" / "pinned" stylování v layoutu */


/* 2) Wrapper track normálně v toku stránky */
.track{
  width: 100% !important;
  max-width: 100% !important;
  padding-inline: 0 !important;
  transform: none !important;       /* kdyby něco zůstalo z GSAP */
}

/* 3) Karty jako normální flex grid s wrap */
.track-flex{
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: stretch !important;
  justify-content: flex-start !important;

  height: auto !important;          /* DŮLEŽITÉ: nesmí zůstat 85vh */
  min-height: 0 !important;
  overflow: visible !important;     /* DŮLEŽITÉ: další řádky se nesmí “ztratit” */
  
  gap: 1.25rem !important;
  padding: 1.25rem 1rem !important;
}

/* 4) Karty – sloupce */
.panel-wide,
.panel-wide-split{
  flex: 1 1 calc(33.333% - 1.25rem) !important;
  width: auto !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 0 !important;         /* ať se nic "nenafoukne" mimo rodiče */
}

/* Tablet: 2 sloupce */
@media (max-width: 1024px){
  .panel-wide,
  .panel-wide-split{
    flex-basis: calc(50% - 1.25rem) !important;
  }
}

/* Mobil: 1 sloupec */
@media (max-width: 640px){
  .panel-wide,
  .panel-wide-split{
    flex-basis: 100% !important;
  }
}

/* 5) Split karta vždy jako "image nahoře / content dole" */
.panel-wide-split{
  grid-template-columns: 1fr !important;
}
.panel-split__image{
  height: 220px !important;
}
.panel-split__content{
  padding: 1.25rem !important;
}

/* 6) Extra pojistka: pokud někde zůstane overflow hidden na panelu, ať neseká content */
.panel-wide,
.panel-wide-split{
  overflow: hidden;
}

/* 7) Hodně malé telefony – schovat dlouhý text (jak jsi chtěl) */
@media (max-width: 400px){
  .card-content p,
  .panel-split__content p,
  .panel-split__content span{
    display: none !important;
  }
}


/* ===== SIMPLE CARDS (NO SCROLL EFFECT) ===== */

.sticky-element{
  height: auto;
  overflow: visible;
  background: #000;
  padding: 4rem 0; /* klidně uprav */
  display: flex;
  justify-content: center;
  align-items:end;
  width: 100%;
  flex-wrap: wrap;
  
}

.track{
  width: 100%;
  padding: 0;
  transform: none;
}

.track-flex{
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: stretch;
}

/* 3 sloupce */
.panel-wide,
.panel-wide-split{
  flex: 1 1 calc(33.333% - 24px);
  min-width: 280px;
  height: auto;
}

/* 2 sloupce */
@media (max-width: 1024px){
  .panel-wide,
  .panel-wide-split{
    flex-basis: calc(50% - 24px);
  }
}

/* 1 sloupec */
@media (max-width: 640px){
  .panel-wide,
  .panel-wide-split{
    flex-basis: 100%;
    min-width: 0;
  }
}

/* split karta: obrázek nahoře */
.panel-wide-split{
  grid-template-columns: 1fr;
  margin: 5px;
}
.panel-split__image{
  height: 220px;
}

h2 i{
  min-width: 25px;
  
}

html, body {
    max-width: 100%;
    overflow-x: hidden;
}
/** {
    outline: 1px solid red !important;
}*/





























