/* Lišta souhlasu s měřením návštěvnosti (17. 9. 2026).
 *
 * Samostatný soubor, ne injektovaný <style>: .htaccess dává .css roční cache
 * a případná budoucí CSP (plán v .htaccess) pak nebude potřebovat
 * 'unsafe-inline'.
 *
 * Barvy se berou jako var(--token, systémová-barva). Na pěti stránkách se
 * tokeny ze style.css najdou — a tím lišta automaticky projde všemi motivy
 * (tmavý, ruční světlý, systémový světlý i vysoký kontrast textové verze).
 * V text.php se style.css nenačítá vůbec, tokeny se nenajdou a spadne se na
 * systémové barvy, které fungují díky `color-scheme: light dark`. Jedním
 * pravidlem tak je pokryto všech šest stránek a čtyři motivy, a style.css
 * se nemusí měnit.
 */

.souhlas-lista {
    position: fixed;
    inset: auto 0 0 0;
    /* Nad fullscreen radarem (2000), pod offline bannerem (3000). */
    z-index: 2500;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: 0.9rem 1.1rem calc(0.9rem + env(safe-area-inset-bottom));
    background: var(--bg-card, Canvas);
    color: var(--text-primary, CanvasText);
    border-top: 2px solid var(--border-card, CanvasText);
    border-radius: var(--radius-card, 0) var(--radius-card, 0) 0 0;
    box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.35);
    font-family: inherit;
}

.souhlas-nadpis {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    color: inherit;
}

.souhlas-text {
    margin: 0;
    max-width: 62ch;
    font-size: 0.88rem;
    line-height: 1.5;
    color: var(--text-secondary, CanvasText);
}

.souhlas-vice {
    color: var(--accent-blue, LinkText);
}

.souhlas-volby {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

/* Obě tlačítka mají JEDINOU třídu a žádný modifikátor „primary". Méně nápadné
   „Odmítnout" vedle barevného „Souhlasím" je nejčastěji vytýkaná vada
   cookie lišt (EDPB Cookie Banner Taskforce, 2023) — tohle ji vylučuje. */
.souhlas-btn {
    flex: 0 0 auto;
    min-width: 9rem;
    padding: 0.5rem 1.1rem;
    font: inherit;
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--accent-blue, LinkText);
    background: transparent;
    border: 2px solid var(--accent-blue, LinkText);
    border-radius: var(--radius-pill, 0);
    cursor: pointer;
}

.souhlas-btn:hover,
.souhlas-btn:focus-visible {
    color: var(--bg-card, Canvas);
    background: var(--accent-blue, LinkText);
}

/* text.php nemá globální *:focus-visible ze style.css — vlastní prstenec. */
.souhlas-lista :focus-visible,
.souhlas-znovu:focus-visible {
    outline: 3px solid var(--focus-ring, CanvasText);
    outline-offset: 3px;
}

/* Odkaz „Nastavení měření návštěvnosti" v patičce míří na /soukromi#cookies,
   takže funguje i bez JavaScriptu; vzhled si bere z patičky, tady jen prstenec
   fokusu (text.php globální *:focus-visible ze style.css nemá). */

/* Vlastní sr-only: text.php třídu .sr-only ze style.css nemá. */
.souhlas-sr {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
    border: 0;
}

/* Obsah nesmí zůstat schovaný pod lištou. */
body.souhlas-otevren {
    padding-bottom: var(--souhlas-odsazeni, 7rem);
}

/* Offline banner (style.css, bottom 12 px) by se s lištou překryl. */
body.souhlas-otevren #offline-banner {
    bottom: calc(var(--souhlas-odsazeni, 7rem) + 12px);
}

/* Radar v celé obrazovce: nativní fullscreen dá mapu do top layer a lišta
   zmizí sama; tohle je pro iOS Safari fallback (body.radar-fs). */
body.radar-fs .souhlas-lista {
    display: none;
}

@media (max-width: 820px) {
    /* Spodní navigace (style.css, z-index 900, výška ~64 px) */
    .souhlas-lista--nad-navigaci {
        bottom: calc(64px + env(safe-area-inset-bottom));
    }

    body.souhlas-otevren {
        padding-bottom: calc(var(--souhlas-odsazeni, 7rem) + 76px);
    }

    .souhlas-btn {
        flex: 1 1 auto;
    }
}

@media (prefers-reduced-motion: reduce) {
    .souhlas-lista {
        transition: none;
    }
}
