﻿/* =========================================================
   iTENDER® Cookie bar & Settings (v1)
   Design: čistý bílý panel, iTENDER modrá, pill buttons
   Pozn.: selektory sedí na dodanou HTML/ASP.NET kostru.
   ========================================================= */

/* ---------- Paleta a základní proměnné ---------- */
:root {
    --it-primary: #2b4bff; /* iTENDER modrá (CTA) */
    --it-primary-600: #1f3bdb; /* hover/active */
    --it-text: #0b1437; /* hlavní text */
    --it-headline: #031a73; /* nadpis */
    --it-muted: #5b6380; /* sekundární text */
    --it-border: #e6e8f0; /* hairline */
    --it-bg: #ffffff; /* povrch panelu */
    --it-chip: #f2f5ff; /* jemné pozadí prvků */
    --it-shadow: 0 10px 28px rgba(11,20,55,.15), 0 2px 6px rgba(11,20,55,.06);
}

/* Reset drobných dědictví */
.share_cookies_bar, .share_cookies_popup {
    font-family: inherit;
    color: var(--it-text);
}

/* =========================================================
   BAR (spodní plovoucí lišta)
   ========================================================= */

.share_cookies_bar {
    background: var(--it-bg);
    border: 1px solid var(--it-border);
    border-radius: 16px;
    box-shadow: var(--it-shadow);
    padding: 20px 20px;
    bottom: 24px !important; /* mírný offset od spodní hrany */
    left: 50%;
    transform: translateX(-50%);
    width: min(1100px, calc(100% - 32px)); /* hezké okraje na mobilu */
    z-index: 10001;
}

    /* vnitřní layout */
    .share_cookies_bar > .inside {
        gap: 24px;
        align-items: center;
    }

        /* texty */
        .share_cookies_bar > .inside > .texts .headline {
            color: var(--it-headline);
            font-size: 32px;
            font-weight: 800;
            letter-spacing: .2px;
            padding: 0 0 10px;
            font-family: 'Poppins', sans-serif;
        }

        .share_cookies_bar > .inside > .texts .text {
            color: var(--it-muted);
            line-height: 1.55;
        }

            /* odkazy v textu */
            .share_cookies_bar > .inside > .texts > .text a,
            .share_cookies_bar > .inside > .texts .text input.as_link {
                color: var(--it-primary);
                font-weight: 600;
                text-decoration: underline;
            }

                .share_cookies_bar > .inside > .texts > .text a:hover,
                .share_cookies_bar > .inside > .texts .text input.as_link:hover {
                    color: var(--it-primary-600);
                }

        /* actions – 3 tlačítka pod/vedle sebe */
        .share_cookies_bar > .inside > .actions {
            display: grid;
            grid-template-columns: 1fr;
            gap: 10px;
            width: 100%;
        }

            /* společný základ pro buttony (ASP.NET <button> a <input>) */
            .share_cookies_bar > .inside > .actions button,
            .share_cookies_bar > .inside > .actions input {
                border: 0;
                border-radius: 999px; /* pill */
                padding: 12px 24px;
                font-weight: 700;
                line-height: 1;
                cursor: pointer;
                transition: all .15s ease;
                width: 100%;
            }

/* PRIMARY – „Povolit vše“ (#btSouhlasVse) */
#btSouhlasVse {
    background: linear-gradient(135deg, var(--it-primary), var(--it-primary-600));
    color: #fff;
    box-shadow: 0 6px 14px rgba(43,75,255,.25);
}

    #btSouhlasVse:hover {
        filter: brightness(1.02);
        transform: translateY(-1px);
    }

    #btSouhlasVse:active {
        transform: translateY(0);
    }

/* GHOST – „Odmítnout vše“ (#btReject) */
#btReject {
    background: #f3f5ff;
    color: var(--it-text);
    border: 1px solid #dfe3fb;
}

    #btReject:hover {
        background: #e9edff;
    }

/* OUTLINE – „Nastavení“ (button.settings) */
.share_cookies_bar > .inside > .actions button.settings {
    background: transparent;
    color: var(--it-primary);
    border: 2px solid var(--it-primary);
    padding: 11px 22px;
}

    .share_cookies_bar > .inside > .actions button.settings:hover {
        background: var(--it-chip);
        color: var(--it-primary-600);
        border-color: var(--it-primary-600);
    }

/* lepší rozložení na ≥992px */
@media (min-width: 992px) {
    .share_cookies_bar > .inside {
        grid-template-columns: 1fr auto;
        display: grid;
        align-items: center;
    }

        .share_cookies_bar > .inside > .actions {
            grid-template-columns: 1fr;
            width: 280px;
        }
}

/* Focus ring pro klávesnici (a11y) */
.share_cookies_bar button:focus-visible,
.share_cookies_bar input:focus-visible {
    outline: 3px solid rgba(43,75,255,.35);
    outline-offset: 2px;
}

/* =========================================================
   MODÁL – nastavení cookies
   ========================================================= */

.share_cookies_popup {
    z-index: 20000;
}

    .share_cookies_popup > button.cover {
        background: rgba(6,10,30,.55); /* ztmavené pozadí */
    }

    /* okno */
    .share_cookies_popup > .window {
        background: var(--it-bg);
        border: 1px solid var(--it-border);
        border-radius: 18px;
        box-shadow: var(--it-shadow);
        width: min(760px, 94vw);
        max-height: 90vh;
        display: flex;
        flex-direction: column;
    }

        /* hlavička modálu */
        .share_cookies_popup > .window > .head {
            padding: 22px 24px;
            border-bottom: 1px solid var(--it-border);
        }

            .share_cookies_popup > .window > .head .logo h2 {
                margin: 0;
                font-weight: 900;
                letter-spacing: .4px;
                color: var(--it-primary-600);
            }

            .share_cookies_popup > .window > .head > button {
                border-radius: 10px;
            }

                .share_cookies_popup > .window > .head > button > span.label {
                    color: var(--it-muted);
                }

                .share_cookies_popup > .window > .head > button > span.icon > svg path {
                    fill: var(--it-muted);
                }

                .share_cookies_popup > .window > .head > button:hover > span.icon > svg path {
                    fill: var(--it-primary);
                }

        /* obsah modálu */
        .share_cookies_popup > .window > .inside {
            padding: 20px 24px 24px;
            overflow: auto;
        }

            .share_cookies_popup > .window > .inside > .title {
                color: var(--it-text);
                font-weight: 800;
                padding: 10px 0 0px;
                font-size: 18px;
            }

            .share_cookies_popup > .window > .inside > .text {
                color: var(--it-muted);
            }

            /* seznam kategorií */
            .share_cookies_popup > .window > .inside > .list .item {
                border-bottom: 1px solid var(--it-border);
                padding: 14px 0;
            }

                .share_cookies_popup > .window > .inside > .list .item > .head {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    gap: 12px;
                }

                    .share_cookies_popup > .window > .inside > .list .item > .head > .name {
                        font-weight: 800;
                        color: var(--it-text);
                    }

                    .share_cookies_popup > .window > .inside > .list .item > .head > .always_enabled {
                        color: #a3acc7;
                        font-weight: 800;
                    }

                .share_cookies_popup > .window > .inside > .list .item > .desc {
                    color: var(--it-muted);
                    line-height: 1.55;
                    padding-top: 8px;
                }

/* ---------- Toggle checkbox (ASP.NET) ---------- */
/* input má class="js:cookies:checkbox" → escape ":" */
.js\:cookies\:checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 50px;
    height: 28px;
    border-radius: 999px;
    background: #e6e8f5;
    position: relative;
    outline: none;
    cursor: pointer;
    border: 1px solid var(--it-border);
    transition: background .15s ease, border-color .15s ease;
}

    .js\:cookies\:checkbox:after {
        content: "";
        position: absolute;
        left: 3px;
        top: 50%;
        width: 22px;
        height: 22px;
        border-radius: 50%;
        background: #fff;
        border: 1px solid #d6daee;
        transform: translateY(-50%);
        transition: left .15s ease, box-shadow .15s ease;
    }

    .js\:cookies\:checkbox:checked {
        background: var(--it-primary);
        border-color: var(--it-primary);
    }

        .js\:cookies\:checkbox:checked:after {
            left: 25px;
        }

    .js\:cookies\:checkbox:focus-visible {
        box-shadow: 0 0 0 3px rgba(43,75,255,.25);
    }

/* obal labelu přidá drobný padding (už v HTML existuje) */
.share_cookies_popup > .window > .inside > .list .item > .head > label.check > span {
    width: auto;
    padding: 0;
}

/* akční tlačítka v modálu */
.share_cookies_popup .accept,
.share_cookies_popup .save {
    border-radius: 999px;
    padding: 12px 26px;
    font-weight: 800;
    box-shadow: 0 6px 14px rgba(43,75,255,.20);
    background: linear-gradient(135deg, var(--it-primary), var(--it-primary-600));
    color: #fff;
}

    .share_cookies_popup .accept:hover,
    .share_cookies_popup .save:hover {
        filter: brightness(1.02);
    }

/* menší rozestupy na mobilech */
@media (max-width: 480px) {
    .share_cookies_bar {
        padding: 16px;
        bottom: 16px !important;
    }

        .share_cookies_bar > .inside > .texts .headline {
            font-size: 20px;
        }
}



/* ===== iTENDER Cookie bar – HOTFIX centrace & layout ===== */

/* Panel vždy uprostřed obrazovky, bez horizontálního driftu */
.share_cookies_bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 24px !important;
    transform: none !important; /* zruší translateX */
    margin: 0 auto !important; /* center */
    max-width: 1100px !important;
    width: calc(100% - 32px) !important; /* okraje na mobilech */
    box-sizing: border-box;
    clear: both; /* jistota proti floatům */
    z-index: 10001;
}

    /* Vnitřek – robustní layout i když šablona něco přenastaví */
    .share_cookies_bar > .inside {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 24px;
        align-items: center;
    }

@media (min-width: 992px) {
    .share_cookies_bar > .inside {
        grid-template-columns: 1fr 280px !important; /* text | akce */
    }

        .share_cookies_bar > .inside > .actions {
            width: 100% !important;
        }
}

/* Tlačítka vždy na 100 % šířky svého sloupce */
.share_cookies_bar > .inside > .actions button,
.share_cookies_bar > .inside > .actions input {
    width: 100% !important;
}

/* Texty – ať nic „neleze“ mimo */
.share_cookies_bar > .inside > .texts {
    min-width: 0;
}

    .share_cookies_bar > .inside > .texts .text {
        overflow-wrap: anywhere;
    }

/* ===== Modální okno – jisté vystředění i proti cizím stylům ===== */
.share_cookies_popup > .window {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    max-height: 90vh;
    width: min(760px, 94vw);
    box-sizing: border-box;
    z-index: 20001;
}

.share_cookies_popup > button.cover {
    position: fixed !important;
    inset: 0 !important;
    z-index: 20000;
}


.js-cookies-close {
    position: absolute;
    top: 16px;
    right: 16px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 6px;
    border-radius: 8px;
    color: var(--it-primary); /* iTENDER modrá */
    font-size: 18px;
    transition: all 0.2s ease;
}

    .js-cookies-close:hover {
        background: rgba(43, 75, 255, 0.08);
        transform: rotate(90deg);
    }

    .js-cookies-close:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(43, 75, 255, 0.25);
    }




/* ===============================
   iTENDER cookies – finální úpravy
   =============================== */

/* ---- Nadpisy a odsazení ---- */
.share_cookies_popup .inside h2,
.share_cookies_popup .inside .title {
    font-size: 22px;
    font-weight: 800;
    color: var(--it-text);
    margin: 0 0 0px;
}

.share_cookies_popup .inside h3,
.share_cookies_popup .list .item > .head .name {
    font-size: 17px;
    font-weight: 700;
    color: var(--it-text);
}

.share_cookies_popup .inside p,
.share_cookies_popup .list .item > .desc {
    margin: 6px 0 12px;
    color: var(--it-muted);
    line-height: 1.55;
}

/* mezery mezi sekcemi */
.share_cookies_popup .list {
    margin-top: 18px;
}

    .share_cookies_popup .list .item {
        padding: 16px 0;
        border-bottom: 1px solid var(--it-border);
    }

/* ---- Tlačítka ---- */
.share_cookies_popup .accept,
.share_cookies_popup .save {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    font-weight: 800;
    line-height: 1;
    padding: 13px 28px;
    transition: all .2s ease;
}

/* primární tlačítko – modrý gradient */
.share_cookies_popup .accept {
    background: linear-gradient(135deg, var(--it-primary), var(--it-primary-600));
    color: #fff;
    border: none;
    box-shadow: 0 6px 14px rgba(43,75,255,.25);
}

    .share_cookies_popup .accept:hover {
        filter: brightness(1.05);
        transform: translateY(-1px);
    }

/* sekundární tlačítko – bílé s modrým okrajem */
.share_cookies_popup .save {
    background: #fff;
    border: 2px solid var(--it-primary);
    color: var(--it-primary);
}

    .share_cookies_popup .save:hover {
        background: var(--it-chip);
        color: var(--it-primary-600);
        border-color: var(--it-primary-600);
    }

/* zarovnání tlačítek na střed */
.share_cookies_popup .actions {
    text-align: center;
    margin-top: 24px;
}

/* ---- FA křížek ---- */
.js-cookies-close {
    position: absolute;
    top: 14px;
    right: 14px;
    background: transparent;
    border: none;
    color: var(--it-primary);
    font-size: 18px;
    cursor: pointer;
    padding: 6px;
    border-radius: 8px;
    transition: all 0.2s ease;
}

    .js-cookies-close:hover {
        background: rgba(43,75,255,0.08);
        transform: rotate(90deg);
    }



/* Výchozí stav – modal skrytý a neblokuje kliky */
#cookieConsentDialog {
    display: none !important;
    pointer-events: none;
}

    #cookieConsentDialog.is-open {
        display: flex !important;
        pointer-events: auto;
    }

/* pro jistotu schovej bootstrapí backdrop, kdyby ho něco vložilo */
.modal-backdrop {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

.accept {
    border: 1px solid #035ded;
    background: #035ded;
    color: #ffffff;
}

/* Consent dialog and banner */
.share_cookies_bar {
    bottom: 20px !important;
    max-width: 1100px !important;
    padding: 18px 22px;
    border: 1px solid #dce5f2;
    border-top: 4px solid #1747bd;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 54px rgba(18, 42, 78, .2);
}

.share_cookies_bar > .inside {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 42%);
    gap: 24px;
    align-items: center;
}

.share_cookies_bar .texts,
.share_cookies_bar .texts .text {
    min-width: 0;
}

.share_cookies_bar > .inside > .texts .headline {
    margin: 0 0 6px;
    padding: 0;
    color: #173563;
    font-size: 21px;
    font-weight: 700;
    line-height: 1.3;
}

.share_cookies_bar > .inside > .texts .text {
    margin: 0;
    color: #52647e;
    font-size: 14px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.share_cookies_bar > .inside > .texts .text a {
    color: #1747bd;
    text-underline-offset: 3px;
}

.share_cookies_bar > .inside > .actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    width: auto;
}

.cookie-consent-button {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 9px;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .15s ease;
}

.cookie-consent-button:focus-visible,
.js-cookies-close:focus-visible,
.js\:cookies\:checkbox:focus-visible {
    outline: 3px solid rgba(23, 71, 189, .3);
    outline-offset: 2px;
}

.cookie-consent-button:disabled {
    cursor: wait;
    opacity: .65;
}

.cookie-consent-primary {
    border-color: #1747bd;
    background: #1747bd;
    color: #fff;
}

.cookie-consent-primary:hover:not(:disabled) {
    border-color: #103991;
    background: #103991;
}

.cookie-consent-secondary {
    border-color: #cdd8e8;
    background: #f5f8fc;
    color: #18395f;
}

.cookie-consent-secondary:hover:not(:disabled) {
    border-color: #9fb3d0;
    background: #eaf0f8;
}

.cookie-consent-settings {
    border-color: #1747bd;
    background: #fff;
    color: #1747bd;
}

.cookie-consent-settings:hover:not(:disabled) {
    background: #f2f6ff;
}

.cookie-consent-status {
    margin: 10px 0 0;
    color: #b42318;
    font-size: 13px;
    font-weight: 600;
}

.cookie-consent-status[hidden] {
    display: none !important;
}

.share_cookies_popup {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: auto;
    padding: 24px;
    z-index: 21000;
    background: rgba(15, 29, 52, .56);
    -webkit-backdrop-filter: blur(3px);
    backdrop-filter: blur(3px);
}

.share_cookies_popup.is-open {
    display: flex !important;
}

.share_cookies_popup > button.cover {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.share_cookies_popup > .window {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    z-index: 1 !important;
    width: min(680px, calc(100vw - 32px));
    max-height: min(calc(100vh - 48px), 760px);
    overflow: hidden;
    border: 1px solid #dce5f2;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(12, 31, 59, .25);
}

.share_cookies_popup > .window > .head {
    position: relative;
    padding: 20px 60px 18px 24px;
    border-bottom: 1px solid #e3eaf3;
    background: linear-gradient(135deg, #f3f7ff, #fff);
}

.share_cookies_popup > .window > .head .logo h2 {
    color: #1747bd;
    font-size: 20px;
}

.share_cookies_popup > .window > .head .logo span {
    display: block;
    margin-top: 3px;
    color: #63748c;
    font-size: 13px;
}

.share_cookies_popup > .window > .inside {
    padding: 22px 24px 24px;
    overflow: auto;
}

.share_cookies_popup .title {
    margin: 0;
    color: #173563;
    font-size: 22px;
    font-weight: 700;
}

.cookie-consent-intro {
    margin: 8px 0 16px;
    color: #52647e;
    font-size: 14px;
    line-height: 1.55;
}

.share_cookies_popup .list {
    margin: 0;
    border-top: 1px solid #e3eaf3;
}

.share_cookies_popup .list .item {
    padding: 13px 0;
    border-bottom: 1px solid #e3eaf3;
}

.share_cookies_popup .list .item > .head {
    gap: 12px;
}

.share_cookies_popup .list .item > .head .name {
    margin: 0;
    color: #193858;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
}

.share_cookies_popup .list .item > .desc {
    margin: 4px 0 0;
    padding: 0;
    color: #63748c;
    font-size: 13px;
    line-height: 1.45;
}

.share_cookies_popup .always_enabled {
    color: #52647e !important;
    font-size: 12px;
    font-weight: 600 !important;
}

.js\:cookies\:checkbox {
    display: block;
    flex: 0 0 50px;
    box-sizing: border-box;
    width: 50px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
}

.js\:cookies\:checkbox::before {
    position: absolute;
    inset: 0;
    border: 1px solid #dce3f0;
    border-radius: inherit;
    background: #e6eaf2;
    content: "";
    transition: background .15s ease, border-color .15s ease;
}

.js\:cookies\:checkbox::after {
    left: 3px;
    top: 50%;
    width: 20px;
    height: 20px;
    border: 1px solid #d6deeb;
    transform: translateY(-50%);
}

.js\:cookies\:checkbox.is-checked::before {
    border-color: #1747bd;
    background: #1747bd;
}

.js\:cookies\:checkbox.is-checked::after {
    left: 25px;
}

.js\:cookies\:checkbox > input[type="checkbox"] {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    cursor: pointer;
}

.js\:cookies\:checkbox:focus-within {
    outline: 3px solid rgba(23, 71, 189, .3);
    outline-offset: 2px;
}

@media (min-width: 992px) {
    .share_cookies_bar > .inside {
        grid-template-columns: minmax(0, 1fr) minmax(360px, 42%) !important;
    }

    .share_cookies_bar > .inside > .actions {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        width: auto !important;
    }
}

@media (max-width: 991.98px) {
    .share_cookies_bar > .inside {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

@media (max-width: 575.98px) {
    .share_cookies_popup {
        padding: 10px;
    }

    .share_cookies_popup > .window {
        width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
    }
}

.cookie-consent-modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 18px;
}

.cookie-consent-modal-actions .cookie-consent-button {
    min-width: 150px;
    font-size: 14px;
}

.js-cookies-close {
    color: #425b7a;
}

.js-cookies-close:hover {
    background: #e9f0fb;
    color: #1747bd;
}

@media (max-width: 991.98px) {
    .share_cookies_bar > .inside {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }
}

@media (max-width: 575.98px) {
    .share_cookies_bar {
        bottom: 10px !important;
        width: calc(100% - 20px) !important;
        padding: 16px;
    }

    .share_cookies_bar > .inside > .texts .headline {
        font-size: 18px;
    }

    .share_cookies_bar > .inside > .actions {
        grid-template-columns: 1fr;
        gap: 7px;
    }

    .cookie-consent-button {
        min-height: 42px;
        font-size: 14px;
    }

    .share_cookies_popup > .window > .head {
        padding: 16px 54px 14px 18px;
    }

    .share_cookies_popup > .window > .inside {
        padding: 18px;
    }

    .cookie-consent-modal-actions {
        flex-direction: column-reverse;
    }

    .cookie-consent-modal-actions .cookie-consent-button {
        width: 100%;
    }
}

.margin-top-40
{
    margin-top: 40px!important;
}