.product-listing{& .filters{border:none;border-radius:var(--radius-md);display:grid;gap:var(--space-lg);grid-template-columns:repeat(4,1fr);grid-template-rows:auto;padding:var(--space-md);.filter-item-group{align-self:flex-start;background-color:var(--form-field-background-color);border:.1rem solid var(--form-field-border-color);border-radius:var(--radius-sm);cursor:pointer;overflow:hidden;& .summary-wrapper{align-items:center;display:flex;font-size:var(--form-font-size);gap:var(--space-sm);justify-content:space-between;padding:.4rem .6rem;&:after{content:"";display:block;height:1.4rem;mask-position:center;mask-repeat:no-repeat;transition:transform .2s ease;width:1.4rem}}&[open] .summary-wrapper:after{transform:rotate(180deg)}& .filter-item-group__label{align-items:center;display:flex;flex:1;gap:var(--space-sm);justify-content:space-between;& span{display:-webkit-box;padding:.2em 0;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}& .filter-item-group__counter{background-color:var(--color-primary);color:var(--color-white);font-weight:700;padding:.2em .6em}}& .filter-item-group__body{display:flex;flex-direction:column}& .filter-item-group__item{cursor:pointer;position:relative;& span{background-color:var(--form-field-background-color);display:block;font-size:var(--form-label-font-size);padding:.2rem .6rem;position:relative;z-index:3}& input{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}& input:checked~span{background-color:var(--color-primary);color:var(--color-white)}}}}& .filter-item--text{border-radius:var(--radius-sm);border-style:solid;border-width:.1rem;cursor:pointer;display:flex;gap:var(--space-sm);padding:.4rem .6rem;&:after{aspect-ratio:1/1;content:"";mask-position:center;mask-repeat:no-repeat;width:1.6rem}& input{background-color:transparent;border:none;flex:1;font-size:var(--form-font-size);line-height:var(--form-line-height);padding:0 .6em;text-align:right}}& .product-counter{padding:var(--space-xl) 0;text-align:center}& .results{grid-template-rows:min-content;min-height:50dvh;opacity:1;scroll-margin:calc(var(--header-height-desktop) + var(--space-lg));transition:opacity .12s ease}& .results.hide{opacity:0}}@keyframes fade-in{to{opacity:1;transform:translateY(0)}}@media (max-width:1199px){.product-listing{& .filters{grid-template-columns:repeat(2,1fr)}}}@media (max-width:767px){.product-listing{& .filters{grid-template-columns:repeat(1,1fr)}}}