﻿/* odsazeni radio buttonku v RadioButtonListu s ID "rBtnTypeofRequest" */
#rBtnTypeofRequest input[type="radio"], #rBtnTypeofRequest2 input[type="radio"] {
    margin-right: 4px;
}

/* nastaveni pro mapu */
#m {
    width: 94%;
    height: 400px;
    z-index: 10; /* musi byt uvedena nizsi hodnota nez u modalnich oken */
}

@media (max-width: 992px) { /* nastaveni pro mapu pri mensim zobrazeni (napr. telefon, tablet) */
    #m {
        width: 100%;
    }
}

ul#naberovyportal { /* odrazky ziskane z PLA.cz */
    margin: 0;
    /*margin-left: 87px;*/
    font-size: 85%;
}

    ul#naberovyportal li strong {
        font-weight: normal;
    }

.podklady {
    margin-top: 10px;
    /*margin-left: 100px;*/
    font-weight: bold;
    font-size: 85%;
}

/* captcha */
.newCaptcha {
    max-width: 45px;
    text-align: center;
    color: #157347;
    cursor: pointer;
}

/* file upload - vybrane soubory uzivatelem, jejich seznam */
#selectedFiles {
    display: none;
    font-size: 85%;
    margin-top: 15px;
    border: 1px solid #CED4DA;
    padding: 0.5em;
    padding-bottom: 0;
    background-color: #E9ECEF;
}

    #selectedFiles strong {
        padding: 5px;
        padding-bottom: 0;
    }

    #selectedFiles #selectedFilesNames {
        margin-top: 10px;
    }

/* animovany gif v submit butonku */
.loadingGIF {
    background-image: url('../Images/progress.gif');
    background-repeat: no-repeat;
    background-position: center 10px;
    background-size: 37px 12px;
    padding-top: 25px !important;
}

/* zasediveni cele stranky */
body.disabled:before {
    content: "";
    position: fixed;
    z-index: 100;
    min-height: 100vh;
    width: 100%;
    left: 0;
    top: 0;
    background: rgba(0,0,0, .5);
}

/* NASLEDUJI NASTAVENI PRO MODALNI OKNA */
#pPopupProcessing, #pUpozorneni, #pConfirm { /* modalni okno s hlaskou o prubehu zpracovani + modalni okno s chybovou hlaskou o vyberu bodu na mape mimo oblast + s upozornenim na odeslani bez prilohy */
    display: none; /* defaultne je skryte! */
    position: fixed;
    z-index: 101;
    background: #fff;
    border: 2px #ccc solid;
    padding: 30px;
    padding-bottom: 20px;
    left: 50%;
    top: 25%;
    transform: translate(-50%, -50%);
}

    #pPopupProcessing .sign {
        text-align: right;
        font-style: italic;
    }

#pUpozorneni, #pConfirm { /* jine barevne rozliseni pro vybrana modalni okna */
    background: #f00;
    color: #fff;
    padding-bottom: 30px;
}

/* ocislovane/opismenkovane radiobuttony pri vyberu zadosti */
.rbl {
    --badge: 1.6rem; /* prumer bubliny (stejny pro vse) */
    --gap: .6rem; /* mezera mezi bublinou a radiem */
    --radio: 1.05rem; /* sirka radio inputu */
    --shift: -.08rem; /* vertikalni posun radia nahoru */
    --row: .38rem; /* svisly rozestup mezi radky */
    display: block;
}

    /* radio: prostor vlevo pro bublinu + jemny svisly posun nahoru */
    .rbl input[type="radio"] {
        margin-left: calc(var(--badge) + var(--gap));
        margin-right: .35rem;
        position: relative;
        top: var(--shift);
        vertical-align: middle;
        cursor: pointer;
    }

        /* kdyz je radio disabled, kurzor at to signalizuje */
        .rbl input[type="radio"][disabled],
        .rbl input[type="radio"][disabled] + label {
            cursor: not-allowed;
        }

    /* label: inline-flex pro presne vertikalni centrovani + rozestup */
    .rbl label {
        position: relative;
        display: inline-flex;
        align-items: center;
        padding: .2rem .25rem .2rem .2rem;
        line-height: 1.35;
        min-height: var(--badge);
        margin-bottom: var(--row);
        cursor: pointer;
    }

        /* plynulejsi zmeny */
        .rbl label,
        .rbl label::before {
            transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .08s ease;
        }

            /* bublina opticky pred radiem */
            .rbl label::before {
                content: '';
                position: absolute;
                left: calc(-1 * (var(--badge) + var(--radio) + var(--gap)));
                top: 50%;
                transform: translateY(-50%);
                width: var(--badge);
                height: var(--badge);
                border-radius: 999px;
                border: 1px solid currentColor;
                display: flex;
                align-items: center;
                justify-content: center;
                font-weight: 600;
                font-size: .9rem;
                background: #fff; /* zakladni barva badge */
                box-sizing: border-box;
            }

            /* hover radku – jen lehce zvyrazni textovy radek */
            .rbl label:hover {
                background: rgba(0,0,0,.03);
                border-radius: .25rem;
            }

.rbl-parent {
    counter-reset: parent;
}

    .rbl-parent label::before {
        counter-increment: parent;
        content: counter(parent) "";
    }

    /* hover badge – jemna zmena pozadi a oramovani */
    .rbl-parent label:hover::before {
        background: #f5f5f5; /* rodic pri hoveru */
        border-color: #666;
    }

.rbl-child {
    counter-reset: child;
}

    .rbl-child label::before {
        counter-increment: child;
        content: counter(child, lower-alpha) "";
        /* background: #f9f9f9; */
    }

    .rbl-child label:hover::before {
        background: #f5f5f5; /* dite pri hoveru */
        border-color: #666;
    }

/* vybrana polozka a focus klavesnici – vyraznejsi krouzek */
.rbl input[type="radio"]:checked + label::before,
.rbl input[type="radio"]:focus + label::before {
    box-shadow: 0 0 0 .2rem rgba(0, 102, 204, .25); /* modry ring ala bootstrap */
    border-color: #06c;
}

/* aktivni klik – drobny "press" efekt badge */
.rbl label:active::before {
    transform: translateY(-50%) scale(.96);
}

/* mobil + uzsi tablety: bublina uvnitr labelu, text s ellipsis */
@media (max-width: 650px) {
    #typZadostiCol,
    #typZadostiCol + .col-6 {
        min-width: 0;
        overflow: hidden;
    }

    .rbl {
        --badge: 1.25rem;
        --gap: .45rem;
        --radio: 1rem;
        --row: .3rem;
        overflow: hidden;
    }

        .rbl input[type="radio"] {
            margin-left: 0;
            width: var(--radio);
            min-width: var(--radio);
            vertical-align: middle;
            top: 0;
            flex: 0 0 var(--radio);
            white-space: normal;
            overflow: visible;
            text-overflow: clip;
            overflow-wrap: anywhere;
        }

        .rbl label {
            position: relative;
            display: inline-flex;
            align-items: center;
            min-height: var(--badge);
            padding: .15rem .2rem .15rem calc(var(--badge) + var(--gap) + .2rem);
            max-width: calc(100% - (var(--radio) + .35rem));
            white-space: nowrap;
            text-overflow: ellipsis;
            line-height: 1.25;
            vertical-align: middle;
            box-sizing: border-box;
            white-space: normal;
            overflow: visible;
            text-overflow: clip;
            overflow-wrap: anywhere;
        }

            .rbl label::before {
                position: absolute;
                left: .25rem;
                top: 50%;
                transform: translateY(-50%);
                width: var(--badge);
                height: var(--badge);
                border-radius: 999px;
                box-sizing: border-box;
                display: inline-flex;
                align-items: center;
                justify-content: center;
                border-width: 1px;
            }
}

/* respektuj prefer-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .rbl label,
    .rbl label::before {
        transition: none;
    }
}