/* Responzivní typografie generovaná vizuálním builderem. */
.kse-fs-mobile-1 { font-size: 2.5rem !important; }
.kse-fs-mobile-2 { font-size: 2rem !important; }
.kse-fs-mobile-3 { font-size: 1.75rem !important; }
.kse-fs-mobile-4 { font-size: 1.5rem !important; }
.kse-fs-mobile-5 { font-size: 1.25rem !important; }
.kse-fs-mobile-6 { font-size: 1rem !important; }
.kse-fw-mobile-normal { font-weight: 400 !important; }
.kse-fw-mobile-medium { font-weight: 500 !important; }
.kse-fw-mobile-semibold { font-weight: 600 !important; }
.kse-fw-mobile-bold { font-weight: 700 !important; }

@media (min-width: 768px) {
    .kse-fs-tablet-1 { font-size: 2.5rem !important; }
    .kse-fs-tablet-2 { font-size: 2rem !important; }
    .kse-fs-tablet-3 { font-size: 1.75rem !important; }
    .kse-fs-tablet-4 { font-size: 1.5rem !important; }
    .kse-fs-tablet-5 { font-size: 1.25rem !important; }
    .kse-fs-tablet-6 { font-size: 1rem !important; }
    .kse-fw-tablet-normal { font-weight: 400 !important; }
    .kse-fw-tablet-medium { font-weight: 500 !important; }
    .kse-fw-tablet-semibold { font-weight: 600 !important; }
    .kse-fw-tablet-bold { font-weight: 700 !important; }
}

@media (min-width: 992px) {
    .kse-fs-desktop-1 { font-size: 2.5rem !important; }
    .kse-fs-desktop-2 { font-size: 2rem !important; }
    .kse-fs-desktop-3 { font-size: 1.75rem !important; }
    .kse-fs-desktop-4 { font-size: 1.5rem !important; }
    .kse-fs-desktop-5 { font-size: 1.25rem !important; }
    .kse-fs-desktop-6 { font-size: 1rem !important; }
    .kse-fw-desktop-normal { font-weight: 400 !important; }
    .kse-fw-desktop-medium { font-weight: 500 !important; }
    .kse-fw-desktop-semibold { font-weight: 600 !important; }
    .kse-fw-desktop-bold { font-weight: 700 !important; }
}

/* Záhlaví používá zvláštní obrázek pro mobilní a větší obrazovky. */
.header-image-area {
    background-image: var(--kse-header-image-desktop, var(--kse-header-builder-image, none));
    background-position: var(--kse-header-builder-position, center);
    background-size: var(--kse-header-builder-size, cover);
    background-repeat: no-repeat;
}

.header-image-area::before {
    background-color: rgb(0 0 0 / calc(var(--kse-header-overlay, 40) * 1%));
}

@media (max-width: 767.98px) {
    .header-image-area {
        background-image: var(--kse-header-image-mobile, var(--kse-header-builder-image, var(--kse-header-image-desktop, none)));
    }
}

.kse-header-builder-host > .container-xxl {
    width: 100%;
}

/* Pozadí kořenového prvku záhlaví se vykresluje přes celou hlavičku, ne jen uvnitř kontejneru. */
.kse-header-builder-host .kse-visual-builder > [data-kse-builder-node] {
    background-color: transparent !important;
    background-image: none !important;
}

/* Jemné animace dostupné z vizuálního editoru. */
.kse-animate-fade,
.kse-animate-slide-up,
.kse-animate-slide-down,
.kse-animate-slide-left,
.kse-animate-slide-right,
.kse-animate-zoom {
    animation-duration: .65s;
    animation-fill-mode: both;
    animation-timing-function: ease-out;
}

.kse-animate-fade { animation-name: kseFade; }
.kse-animate-slide-up { animation-name: kseSlideUp; }
.kse-animate-slide-down { animation-name: kseSlideDown; }
.kse-animate-slide-left { animation-name: kseSlideLeft; }
.kse-animate-slide-right { animation-name: kseSlideRight; }
.kse-animate-zoom { animation-name: kseZoom; }

@keyframes kseFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes kseSlideUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes kseSlideDown { from { opacity: 0; transform: translateY(-24px); } to { opacity: 1; transform: translateY(0); } }
@keyframes kseSlideLeft { from { opacity: 0; transform: translateX(28px); } to { opacity: 1; transform: translateX(0); } }
@keyframes kseSlideRight { from { opacity: 0; transform: translateX(-28px); } to { opacity: 1; transform: translateX(0); } }
@keyframes kseZoom { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: scale(1); } }

@media (prefers-reduced-motion: reduce) {
    .kse-animate-fade,
    .kse-animate-slide-up,
    .kse-animate-slide-down,
    .kse-animate-slide-left,
    .kse-animate-slide-right,
    .kse-animate-zoom {
        animation: none !important;
    }
}
