/* Globální základ. Vzhled jednotlivých návrhů řeší jejich vlastní .razor.css. */

html {
    scroll-behavior: smooth;
    /* Návrhy mají pevnou světlou paletu, ať systémová tmavá schémata neinvertují ovládací prvky. */
    color-scheme: light;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
    background: #fff;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

*, *::before, *::after {
    box-sizing: border-box;
}

img {
    display: block;
    max-width: 100%;
}

/* Kotvy uvnitř stránky nemají končit přesně na horní hraně sekce. */
:target {
    scroll-margin-top: 24px;
}

/* Viditelný fokusový prstenec pro klávesnici. Jednotlivé návrhy si ho jen přebarvují. */
:focus-visible {
    outline: 3px solid #C8102E;
    outline-offset: 3px;
}

/* Cíl odkazu „Přeskočit na obsah“ — prstenec držet uvnitř, ať nevzniká vodorovný posuv. */
main[tabindex="-1"]:focus-visible {
    outline-offset: -3px;
}

/* Text jen pro odečítače obrazovky. */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}

/* Přeskočení navigace. Zobrazí se až při fokusu z klávesnice. */
.skip-link {
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 100;
    transform: translateY(-200%);
    background: #1B1E21;
    color: #fff;
    padding: 12px 20px;
    border-radius: 10px;
    font: 600 15px/1 Archivo, system-ui, sans-serif;
    text-decoration: none;
    transition: transform .15s ease;
}

.skip-link:focus-visible {
    transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }

    *, *::before, *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* Chybová lišta Blazoru */

.blazor-error-boundary {
    background: #8E0C21;
    padding: 16px 20px;
    color: #fff;
    font: 600 15px/1.5 Archivo, system-ui, sans-serif;
}

.blazor-error-boundary::after {
    content: "Došlo k chybě.";
}
