.premium-shop{
    padding:28px 0 48px;
}

.catalog-controls{
    margin:18px 0 24px;
}

.catalog-filter-trigger{
    display:none;
    min-height:44px;
    border:0;
    border-radius:12px;
    padding:0 16px;
    background:#0f766e;
    color:#fff;
    font-weight:900;
    cursor:pointer;
}

.catalog-filter-form{
    display:grid;
    grid-template-columns:minmax(220px,2fr) minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) auto;
    gap:10px;
    align-items:end;
    padding:14px;
    border:1px solid #e2e8f0;
    border-radius:20px;
    background:#fff;
}

.catalog-filter-form label{
    display:grid;
    gap:6px;
    min-width:0;
}

.catalog-filter-form label span{
    font-size:12px;
    font-weight:900;
    color:#475569;
}

.catalog-filter-form input,
.catalog-filter-form select{
    width:100%;
    min-width:0;
    min-height:44px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    padding:0 12px;
    background:#fff;
    color:#0f172a;
}

.catalog-filter-form input:focus-visible,
.catalog-filter-form select:focus-visible,
.catalog-filter-actions a:focus-visible,
.catalog-filter-actions button:focus-visible,
.catalog-filter-trigger:focus-visible,
.catalog-chips a:focus-visible,
.catalog-pagination a:focus-visible{
    outline:3px solid rgba(15,118,110,.25);
    outline-offset:2px;
}

.catalog-filter-actions{
    display:flex;
    align-items:center;
    gap:10px;
}

.catalog-filter-actions button{
    min-height:44px;
    border:0;
    border-radius:12px;
    padding:0 16px;
    background:#0f766e;
    color:#fff;
    font-weight:900;
    white-space:nowrap;
    cursor:pointer;
}

.catalog-filter-actions a{
    font-size:13px;
    font-weight:800;
    color:#64748b;
    white-space:nowrap;
}

.catalog-filter-sheet-head{
    display:none;
}

.catalog-chips{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:10px;
}

.catalog-chips a{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 11px;
    border-radius:999px;
    background:#ecfeff;
    color:#155e75;
    font-size:13px;
    font-weight:800;
    text-decoration:none;
}

.catalog-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    margin-top:28px;
    flex-wrap:wrap;
}

.catalog-pagination > div{
    display:flex;
    gap:6px;
}

.catalog-pagination a{
    min-width:42px;
    min-height:42px;
    padding:0 12px;
    border:1px solid #cbd5e1;
    border-radius:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:900;
    background:#fff;
    text-decoration:none;
}

.catalog-pagination a[aria-current="page"]{
    background:#0f172a;
    color:#fff;
    border-color:#0f172a;
}

.catalog-filter-backdrop{
    position:fixed;
    inset:0;
    z-index:999;
    background:rgba(15,23,42,.48);
}

body.catalog-filter-open{
    overflow:hidden;
}

@media(max-width:1100px) and (min-width:901px){
    .catalog-filter-form{
        grid-template-columns:2fr 1fr 1fr;
    }

    .catalog-filter-actions{
        grid-column:span 2;
        justify-content:flex-end;
    }
}

@media(max-width:900px){
    .catalog-filter-trigger{
        display:inline-flex;
        align-items:center;
        justify-content:center;
    }

    .catalog-filter-form{
        position:fixed;
        z-index:1000;
        inset:auto 0 0;
        display:grid;
        grid-template-columns:1fr;
        max-height:88vh;
        overflow:auto;
        border-radius:24px 24px 0 0;
        padding:18px max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));
        transform:translateY(105%);
        visibility:hidden;
        pointer-events:none;
        transition:transform .2s ease,visibility .2s ease;
        box-shadow:0 -20px 60px rgba(15,23,42,.2);
    }

    .catalog-filter-form.is-open{
        transform:translateY(0);
        visibility:visible;
        pointer-events:auto;
    }

    .catalog-filter-sheet-head{
        display:flex;
        justify-content:space-between;
        align-items:center;
    }

    .catalog-filter-sheet-head button{
        width:42px;
        height:42px;
        border:0;
        border-radius:50%;
        font-size:26px;
        line-height:1;
        background:#f1f5f9;
        cursor:pointer;
    }

    .catalog-filter-actions{
        justify-content:space-between;
    }

    .catalog-filter-actions button{
        flex:1;
    }

    .premium-shop-head{
        align-items:flex-start;
    }

    .shop-count-card{
        flex:none;
    }
}

@media(max-width:520px){
    .premium-shop{
        padding-top:16px;
    }

    .premium-shop-head{
        gap:12px;
    }

    .premium-shop-head h1{
        font-size:30px;
    }

    .shop-count-card{
        padding:10px 12px;
    }

    .catalog-pagination{
        justify-content:space-between;
    }

    .catalog-pagination > div{
        order:3;
        width:100%;
        justify-content:center;
    }
}

@media(prefers-reduced-motion:reduce){
    .catalog-filter-form{
        transition:none;
    }
}
