/* =============================================
   IKME Section Filter — Frontend Styles
   ============================================= */

.ikme-sf-wrap {
    width: 100%;
}

/* barra */
.ikme-sf-bar {
    width: 100%;
    box-sizing: border-box;
    padding: 16px 0;
    z-index: 100;
    transition: box-shadow .3s;
}

.ikme-sf-bar.ikme-sf-sticky {
    position: sticky;
}

.ikme-sf-bar.ikme-sf-stuck {
    box-shadow: 0 2px 20px rgba(0,0,0,.12);
}

/* inner layout */
.ikme-sf-inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
}

/* prefixo */
.ikme-sf-label {
    white-space: nowrap;
    flex-shrink: 0;
}

/* botões */
.ikme-sf-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.ikme-sf-btn {
    cursor: pointer;
    border: none;
    background: transparent;
    font-family: inherit;
    font-size: inherit;
    line-height: 1;
    padding: .55em 1.1em;
    transition: color .25s, background-color .25s, border-color .25s, box-shadow .25s;
    -webkit-appearance: none;
    appearance: none;
}

.ikme-sf-btn:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* =============================================
   Animações das seções-alvo
   ============================================= */

/* fade */
.ikme-sf-anim-fade {
    transition: opacity var(--ikme-sf-dur, 300ms) ease,
                transform var(--ikme-sf-dur, 300ms) ease;
}

.ikme-sf-anim-fade.ikme-sf-hiding {
    opacity: 0;
    pointer-events: none;
}

.ikme-sf-anim-fade.ikme-sf-hidden {
    display: none;
}

/* slide */
.ikme-sf-anim-slide {
    overflow: hidden;
    transition: max-height var(--ikme-sf-dur, 300ms) ease,
                opacity var(--ikme-sf-dur, 300ms) ease;
}

.ikme-sf-anim-slide.ikme-sf-hiding {
    opacity: 0;
    max-height: 0 !important;
    pointer-events: none;
}

.ikme-sf-anim-slide.ikme-sf-hidden {
    display: none;
}

/* none */
.ikme-sf-hidden-instant {
    display: none;
}
