.ajwp-blog-filter{
    --ajwp-border:#dfe4ea;
    --ajwp-text:#13264a;
    --ajwp-muted:#667085;
    --ajwp-accent:#0a7d3b;
    --ajwp-accent-soft:#eef8f1;
    --ajwp-bg:#fff;
    position:relative;
    width:100%;
    background:var(--ajwp-bg);
    border:1px solid var(--ajwp-border);
    border-radius:14px;
    padding:20px;
    color:var(--ajwp-text);
}

.ajwp-filter-title{
    margin:0 0 18px;
    font-size:18px;
    line-height:1.35;
    font-weight:600;
    color:var(--ajwp-text);
}

.ajwp-filter-panel{
    display:flex;
    flex-direction:column;
    gap:12px;
    min-width:0;
}

.ajwp-filter-row{
    display:grid;
    grid-template-columns:72px minmax(0,1fr);
    align-items:start;
    gap:12px;
    min-width:0;
}

.ajwp-filter-label{
    display:block;
    padding-top:8px;
    font-size:13px;
    line-height:1.3;
    font-weight:600;
    color:var(--ajwp-muted);
}

.ajwp-filter-options{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    min-width:0;
}

.ajwp-filter-chip{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:36px;
    padding:8px 13px;
    border:1px solid var(--ajwp-border);
    border-radius:999px;
    background:#fff;
    color:var(--ajwp-text);
    text-decoration:none!important;
    font-size:13px;
    line-height:1.2;
    font-weight:500;
    white-space:nowrap;
    transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.ajwp-filter-chip:hover{
    border-color:var(--ajwp-accent);
    color:var(--ajwp-accent);
    background:var(--ajwp-accent-soft);
}

.ajwp-filter-chip.is-active{
    color:#fff;
    background:var(--ajwp-accent);
    border-color:var(--ajwp-accent);
}

.ajwp-filter-chip:focus-visible,
.ajwp-reset-link:focus-visible,
.ajwp-mobile-toggle:focus-visible{
    outline:3px solid rgba(10,125,59,.22);
    outline-offset:2px;
}

.ajwp-filter-actions{
    display:flex;
    justify-content:flex-end;
    align-items:center;
    margin-top:14px;
}

.ajwp-reset-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:var(--ajwp-muted);
    font-size:12px;
    line-height:1.3;
    font-weight:500;
    text-decoration:none!important;
}

.ajwp-reset-link::before{
    content:"×";
    font-size:16px;
    line-height:1;
    font-weight:400;
}

.ajwp-reset-link:hover{
    color:var(--ajwp-accent);
}

.ajwp-filter-status{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.ajwp-mobile-toggle{
    display:none;
    width:100%;
    min-height:46px;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:0;
    padding:10px 12px;
    border:1px solid var(--ajwp-border);
    border-radius:10px;
    background:#fff;
    color:var(--ajwp-text);
    font:inherit;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
}

.ajwp-mobile-toggle-text{
    flex:1 1 auto;
    text-align:left;
}

.ajwp-mobile-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:22px;
    height:22px;
    padding:0 6px;
    border-radius:999px;
    background:var(--ajwp-accent);
    color:#fff;
    font-size:11px;
    line-height:1;
}

.ajwp-mobile-chevron{
    width:8px;
    height:8px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translateY(-2px);
    transition:transform .2s ease;
}

.ajwp-mobile-toggle[aria-expanded="true"] .ajwp-mobile-chevron{
    transform:rotate(225deg) translate(-2px,-1px);
}

.ajwp-blog-filter.is-loading::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:4;
    border-radius:inherit;
    background:rgba(255,255,255,.70);
    cursor:progress;
}

.ajwp-blog-filter.is-loading::before{
    content:"";
    position:absolute;
    z-index:5;
    top:50%;
    left:50%;
    width:24px;
    height:24px;
    margin:-12px 0 0 -12px;
    border:3px solid rgba(10,125,59,.18);
    border-top-color:var(--ajwp-accent);
    border-radius:50%;
    animation:ajwp-spin .7s linear infinite;
}

.ajwp-target-loading{
    opacity:.55;
    transition:opacity .2s ease;
    pointer-events:none;
}

.ajwp-no-results{
    width:100%;
    padding:28px 22px;
    border:1px dashed var(--ajwp-border,#dfe4ea);
    border-radius:12px;
    text-align:center;
    color:var(--ajwp-muted);
    background:#fff;
}

@keyframes ajwp-spin{to{transform:rotate(360deg)}}

@media (max-width: 767px){
    .ajwp-blog-filter{
        padding:14px;
        border-radius:12px;
    }

    .ajwp-filter-title{
        margin-bottom:12px;
        font-size:16px;
    }

    .ajwp-mobile-collapsible .ajwp-mobile-toggle{
        display:flex;
    }

    .ajwp-mobile-collapsible .ajwp-filter-panel,
    .ajwp-mobile-collapsible .ajwp-filter-actions{
        display:none;
    }

    .ajwp-mobile-collapsible.is-open .ajwp-filter-panel{
        display:flex;
    }

    .ajwp-mobile-collapsible.is-open .ajwp-filter-actions{
        display:flex;
    }

    .ajwp-filter-panel{
        width:100%;
        padding-top:14px;
        gap:16px;
    }

    .ajwp-filter-row{
        grid-template-columns:1fr!important;
        gap:7px;
    }

    .ajwp-filter-label{
        padding-top:0;
        font-size:12px;
    }

    .ajwp-filter-chip{
        min-height:42px;
        padding:10px 14px;
    }

    .ajwp-mobile-scroll .ajwp-filter-options{
        flex-wrap:nowrap;
        width:calc(100% + 14px);
        margin-right:-14px;
        padding-right:14px;
        overflow-x:auto;
        overscroll-behavior-inline:contain;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
        scroll-snap-type:x proximity;
    }

    .ajwp-mobile-scroll .ajwp-filter-options::-webkit-scrollbar{display:none}
    .ajwp-mobile-scroll .ajwp-filter-chip{scroll-snap-align:start}

    .ajwp-filter-actions{
        margin-top:12px;
        justify-content:flex-start;
    }
}

@media (prefers-reduced-motion: reduce){
    .ajwp-filter-chip,
    .ajwp-mobile-chevron,
    .ajwp-target-loading{transition:none}
    .ajwp-blog-filter.is-loading::before{animation-duration:1.4s}
}
