/**
 * Login hero slider — loaded last in <head> (after inline rules) with ?v=filemtime
 * so browsers pick up changes. Tight layout: slide height follows image.
 * Hero lives inside .kf-login-stack under .kf-hero-fullbleed; selectors stay valid.
 */

#kf-app .kf-hero-fullbleed .kf-slide-inner {
    min-height: 0;
    max-height: none;
    justify-content: flex-start;
}

#kf-app .kf-hero-fullbleed .kf-slide-art {
    flex: 0 0 auto;
    min-height: 0;
}

#kf-app .kf-hero-fullbleed .kf-slide-art::before,
#kf-app .kf-hero-fullbleed .kf-slide-art::after {
    display: none;
}

#kf-app .kf-hero-fullbleed .kf-slide-img {
    position: relative;
    inset: auto;
    display: block;
    width: 100%;
    height: auto;
    max-height: min(40vh, 280px);
    object-fit: contain;
    vertical-align: top;
}

#kf-app .kf-hero-fullbleed .kf-slide-caption {
    margin: 10px 16px 12px;
}

@media (min-width: 768px) {
    #kf-app .kf-hero-fullbleed .kf-slide-caption {
        margin-left: auto;
        margin-right: auto;
        max-width: 360px;
    }
}

#kf-app .kf-hero-fullbleed .kf-slider-dots {
    padding: 8px 16px 14px;
}
