.catalog-wide-cta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    width:100%;
    margin-top:44px;
    padding:20px 22px 20px 26px;
    border:1px solid #d6d6d1;
    border-radius:var(--catalog-radius,0);
    background:#fff;
    color:var(--ink);
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.catalog-wide-cta:hover{
    transform:translateY(-2px);
    border-color:var(--primary);
    box-shadow:0 18px 38px rgba(13,14,18,.10);
}
.catalog-wide-cta>span:first-child{display:grid;gap:5px}
.catalog-wide-cta strong{
    font-family:var(--display);
    font-size:22px;
    letter-spacing:.025em;
    line-height:1;
    text-transform:uppercase;
}
.catalog-wide-cta small{color:var(--muted);font-size:12px}
.catalog-wide-cta>span:last-child{
    display:grid;
    flex:0 0 48px;
    width:48px;
    height:48px;
    place-items:center;
    background:var(--ink);
    color:#fff;
    font-size:25px;
    line-height:1;
    transition:background .2s ease;
}
.catalog-wide-cta:hover>span:last-child{background:var(--primary)}

.catalog-page{
    min-height:100vh;
    background:var(--paper);
    color:var(--ink);
}
.catalog-page-section{--catalog-rail-width:245px;--catalog-rail-gap:34px;padding:145px 0 105px}
.catalog-page-heading{max-width:780px;margin-bottom:42px}
.catalog-page-heading h1{
    margin:10px 0 12px;
    font-family:var(--display);
    font-size:clamp(54px,6vw,78px);
    line-height:.92;
    text-transform:uppercase;
}
.catalog-page-heading p{max-width:600px;margin:0;color:var(--muted);font-size:17px}
.catalog-page .catalog-component{
    display:grid;
    grid-template-columns:var(--catalog-rail-width) minmax(0,1459px);
    gap:var(--catalog-rail-gap);
    width:min(1738px,calc(100% - 40px));
    margin-inline:auto;
    min-height:360px;
}
.catalog-page .catalog-tools{
    position:sticky;
    top:108px;
    z-index:1;
    grid-column:1;
    align-self:start;
    display:block;
    width:auto;
    margin:0;
    padding:20px 18px;
    border:1px solid #deded9;
    border-radius:var(--catalog-radius,0);
    background:#fff;
}
.catalog-page .catalog-main{grid-column:2;min-width:0}
.catalog-page .catalog-main .product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.catalog-filter-panel{display:block}
.catalog-filter-master{display:none}
.catalog-filter-body{display:block}
.catalog-filter-heading{
    margin:0;
    padding:0 4px 16px;
    border-bottom:1px solid #e3e3de;
}
.catalog-filter-heading span{
    display:block;
    margin-bottom:4px;
    color:var(--primary);
    font-size:10px;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.catalog-filter-heading h2{margin:0;font-size:18px;line-height:1.2}
.catalog-filter-group{border-bottom:1px solid #e3e3de}
.catalog-filter-group>summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:48px;
    padding:0 4px;
    color:var(--ink);
    font-size:13px;
    font-weight:850;
    cursor:pointer;
    list-style:none;
}
.catalog-filter-group>summary::-webkit-details-marker{display:none}
.catalog-filter-group>summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.catalog-filter-chevron{position:relative;display:block;flex:0 0 18px;width:18px;height:18px}
.catalog-filter-chevron:before,.catalog-filter-chevron:after{content:"";position:absolute;top:8px;left:3px;width:12px;height:2px;background:var(--primary);transition:transform .2s ease}
.catalog-filter-chevron:after{transform:rotate(90deg)}
.catalog-filter-group[open] .catalog-filter-chevron:after{transform:rotate(90deg) scaleX(0)}
.catalog-filter-content{padding:0 0 14px}
.catalog-filter-form{display:grid;gap:10px;padding:2px 4px 8px}
.catalog-filter-options label{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:34px;
    color:#555861;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
}
.catalog-filter-options input{
    width:16px;
    height:16px;
    margin:0;
    accent-color:var(--primary);
}
.catalog-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.catalog-price-grid label{display:grid;gap:5px;min-width:0}
.catalog-price-grid label>span{
    color:#696b71;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.catalog-price-grid input{
    min-width:0;
    width:100%;
    height:38px;
    padding:7px 8px;
    border:1px solid #d2d2cf;
    border-radius:0;
    background:#fff;
    color:var(--ink);
    font:inherit;
    font-size:12px;
}
.catalog-price-grid input:focus{border-color:var(--primary);outline:2px solid color-mix(in srgb,var(--primary) 20%,transparent);outline-offset:1px}
.catalog-filter-apply{
    min-height:38px;
    padding:8px 10px;
    border:1px solid var(--ink);
    background:var(--ink);
    color:#fff;
    font:inherit;
    font-size:10px;
    font-weight:900;
    letter-spacing:.05em;
    text-transform:uppercase;
    cursor:pointer;
}
.catalog-filter-apply:hover,.catalog-filter-apply:focus-visible{border-color:var(--primary);outline:0;background:var(--primary);color:var(--on-primary,#fff)}
.catalog-page .category-pills{
    display:block;
    max-height:60vh;
    padding-right:4px;
    overflow-y:auto;
    scrollbar-width:thin;
}
.catalog-page .category-level{display:grid;gap:2px}
.catalog-page .category-level+.category-level{
    margin-top:8px;
    padding-top:8px;
    border-top:1px solid #ecece8;
}
.catalog-page .category-pills a{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:9px;
    width:100%;
    padding:9px 10px;
    border:0;
    border-left:3px solid transparent;
    background:transparent;
    color:#5f6269;
    font-size:12px;
    line-height:1.35;
    overflow-wrap:anywhere;
    text-align:left;
    text-transform:none;
}
.catalog-page .category-pills a:hover,
.catalog-page .category-pills a.trail{
    border-left-color:#a9aaa7;
    background:#f4f4f1;
    color:var(--ink);
}
.catalog-page .category-pills a.active{
    border-left-color:var(--primary);
    background:color-mix(in srgb,var(--primary) 8%,#fff);
    color:var(--ink);
}
.catalog-page .category-pills a>span:last-child:not(:first-child){
    flex:0 0 auto;
    color:var(--primary);
    font-size:18px;
    line-height:14px;
}
.catalog-main{min-width:0}
.catalog-main-heading{
    display:grid;
    gap:13px;
    margin-bottom:22px;
    padding-bottom:16px;
    border-bottom:1px solid #deded9;
}
.catalog-page .catalog-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    min-width:0;
    margin:0;
    color:var(--muted);
}
.catalog-page .catalog-meta p{min-width:0;margin:0}
.catalog-page .catalog-meta a{flex:0 0 auto}
.catalog-topbar{
    display:grid;
    grid-template-columns:minmax(320px,1fr) minmax(150px,180px) 82px;
    align-items:end;
    gap:10px;
    width:100%;
    margin:0;
}
.catalog-page .catalog-search-box{
    width:100%;
    min-width:0;
    min-height:43px;
    margin:0;
}
.catalog-sort-field{display:grid;gap:5px;min-width:0}
.catalog-sort-field>span{
    color:#696b71;
    font-size:9px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.catalog-sort-field select{
    width:100%;
    min-height:43px;
    padding:8px 30px 8px 11px;
    border:1px solid #d2d2cf;
    border-radius:0;
    background:#fff;
    color:var(--ink);
    font:inherit;
    font-size:12px;
    font-weight:700;
}
.catalog-view-toggle{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    min-height:43px;
    border:1px solid #d2d2cf;
    background:#fff;
}
.catalog-view-toggle button{
    display:grid;
    min-width:0;
    padding:0;
    border:0;
    background:transparent;
    color:#777a81;
    cursor:pointer;
    place-items:center;
}
.catalog-view-toggle button+button{border-left:1px solid #d2d2cf}
.catalog-view-toggle button:hover{color:var(--primary)}
.catalog-view-toggle button[aria-pressed="true"]{background:var(--ink);color:#fff}
.catalog-view-toggle svg{width:18px;height:18px;fill:currentColor}
.catalog-page .catalog-results{min-width:0}
.catalog-page .catalog-loading{inset:80px 0 0 calc(var(--catalog-rail-width) + var(--catalog-rail-gap))}

.catalog-page .catalog-component[data-catalog-view="list"] .product-grid{grid-template-columns:1fr}
.catalog-page .catalog-component[data-catalog-view="list"] .product-card{
    display:grid;
    grid-template-columns:minmax(210px,260px) minmax(0,1fr);
    min-height:245px;
}
.catalog-page .catalog-component[data-catalog-view="list"] .product-media{
    height:100%;
    min-height:245px;
    margin:0;
    aspect-ratio:auto;
    border-radius:0;
}
.catalog-page .catalog-component[data-catalog-view="list"] .product-info{
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
    padding:22px 26px;
}
.catalog-page .catalog-component[data-catalog-view="list"] .product-info h3{min-height:0;font-size:30px}
.catalog-page .catalog-component[data-catalog-view="list"] .product-info p{min-height:0;-webkit-line-clamp:2}
.catalog-page .catalog-component[data-catalog-view="list"] .product-price{margin:14px 0}

.store-template-studio{--catalog-radius:24px}
.store-template-studio .catalog-page .catalog-tools{border-radius:24px;background:rgba(255,255,255,.78)}
.store-template-studio .catalog-sort-field select,
.store-template-studio .catalog-view-toggle,
.store-template-studio .catalog-wide-cta{border-radius:18px}
.store-template-studio .catalog-view-toggle{overflow:hidden}
.store-template-studio .catalog-wide-cta>span:last-child{border-radius:14px}
.store-template-clean .catalog-sort-field select,
.store-template-clean .catalog-view-toggle{border-radius:12px}
.store-template-clean .catalog-view-toggle{overflow:hidden}

@media(max-width:1100px){
    .catalog-topbar{grid-template-columns:minmax(220px,1fr) minmax(150px,190px) 82px}
    .catalog-filter-master{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:14px;
        min-height:68px;
        padding:13px 16px;
        cursor:pointer;
        list-style:none;
    }
    .catalog-filter-master::-webkit-details-marker{display:none}
    .catalog-filter-master:focus-visible{outline:3px solid var(--primary);outline-offset:2px}
    .catalog-filter-master-copy{display:grid;gap:3px;min-width:0}
    .catalog-filter-master-copy small{
        color:var(--primary);
        font-size:9px;
        font-weight:900;
        letter-spacing:.12em;
        text-transform:uppercase;
    }
    .catalog-filter-master-copy strong{font-size:16px;line-height:1.2}
    .catalog-filter-master-state{display:flex;align-items:center;gap:9px;flex:0 0 auto}
    .catalog-filter-active-count{
        padding:5px 8px;
        background:color-mix(in srgb,var(--primary) 10%,#fff);
        color:var(--ink);
        font-size:10px;
        font-weight:850;
        white-space:nowrap;
    }
    .catalog-filter-panel[open]>.catalog-filter-master .catalog-filter-chevron:after{transform:rotate(90deg) scaleX(0)}
    .catalog-filter-panel:not([open])>.catalog-filter-body{display:none}
    .catalog-filter-panel[open]>.catalog-filter-body{display:block;padding:0 16px 16px}
    .catalog-filter-heading{display:none}
}

@media(max-width:1800px){
    .catalog-page-section{padding:118px 0 82px}
    .catalog-page-heading{
        margin-bottom:28px;
        margin-left:calc(var(--catalog-rail-width) + var(--catalog-rail-gap));
    }
    .catalog-page .catalog-component{width:min(1180px,calc(100% - 40px))}
    .catalog-page .catalog-main .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:1100px){
    .catalog-page-heading{margin-left:0}
    .catalog-page .catalog-component{display:block}
    .catalog-page .catalog-tools{
        position:static;
        display:block;
        margin-bottom:24px;
        padding:16px;
        width:auto;
    }
    .catalog-filter-heading{padding:0 0 12px}
    .catalog-filter-heading span{margin:0}
    .catalog-filter-heading h2{font-size:16px}
    .catalog-filter-group>summary{min-height:44px;padding:0}
    .catalog-filter-content{padding-bottom:4px}
    .catalog-filter-form{max-width:520px;padding-inline:0}
    .catalog-filter-options{display:flex;flex-wrap:wrap;gap:4px 22px}
    .catalog-page .category-pills{display:flex;gap:8px;max-height:none;padding:0 0 4px;overflow-x:auto;overflow-y:hidden}
    .catalog-page .category-level{display:flex;flex:0 0 auto;gap:4px}
    .catalog-page .category-level+.category-level{margin:0;padding:0 0 0 4px;border:0;border-left:1px solid #e3e3de}
    .catalog-page .category-pills a{flex:0 0 auto;width:auto;max-width:260px;border:1px solid #deded9;border-left-width:1px;text-align:left}
    .catalog-page .category-pills a:hover,
    .catalog-page .category-pills a.trail{border-color:#a9aaa7}
    .catalog-page .category-pills a.active{border-color:var(--primary)}
    .catalog-page .catalog-loading{inset:220px 0 0}
    .catalog-page .catalog-tools{padding:0}
}

@media(max-width:900px){
    .catalog-page .catalog-main .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:620px){
    .catalog-page-section{padding:104px 0 70px}
    .catalog-page .catalog-component{width:min(100% - 28px,1180px)}
    .catalog-page .catalog-main .product-grid{grid-template-columns:1fr}
    .catalog-page-heading h1{font-size:52px}
    .catalog-page-heading p{font-size:14px}
    .catalog-page .catalog-tools{display:block}
    .catalog-filter-options{display:grid;gap:2px}
    .catalog-page .catalog-meta{align-items:flex-start;flex-wrap:wrap;gap:7px 14px}
    .catalog-topbar{grid-template-columns:minmax(0,1fr) 78px}
    .catalog-search-box{grid-column:1/-1}
    .catalog-sort-field{grid-column:1}
    .catalog-view-toggle{grid-column:2}
    .catalog-page .catalog-component[data-catalog-view="list"] .product-card{
        grid-template-columns:110px minmax(0,1fr);
        min-height:180px;
    }
    .catalog-page .catalog-component[data-catalog-view="list"] .product-media{min-height:180px}
    .catalog-page .catalog-component[data-catalog-view="list"] .product-info{padding:14px}
    .catalog-page .catalog-component[data-catalog-view="list"] .product-info h3{font-size:21px}
    .catalog-page .catalog-component[data-catalog-view="list"] .product-info p{display:none}
    .catalog-page .catalog-component[data-catalog-view="list"] .product-price{margin:10px 0}
    .catalog-page .catalog-component[data-catalog-view="list"] .product-price strong{font-size:22px}
    .catalog-page .catalog-component[data-catalog-view="list"] .card-actions{gap:6px}
    .catalog-page .catalog-component[data-catalog-view="list"] .card-link{padding-top:9px;font-size:10px}
    .catalog-page .catalog-component[data-catalog-view="list"] .card-actions form button{padding:9px 5px;font-size:9px}
    .catalog-wide-cta{align-items:center;margin-top:30px;padding:16px 16px 16px 18px}
    .catalog-wide-cta strong{font-size:19px}
    .catalog-wide-cta small{font-size:11px;line-height:1.45}
    .catalog-wide-cta>span:last-child{flex-basis:42px;width:42px;height:42px;font-size:22px}
}
