.shop-controls .shop-sort{position:relative;min-width:230px;border:0;padding:0;margin:0;z-index:5}
.shop-sort summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;border:1px solid #ddd4e5;border-radius:14px;background:#fff;padding:15px 18px;color:#493052;font-size:14px;min-height:54px;box-sizing:border-box}
.shop-sort summary::-webkit-details-marker{display:none}
.shop-sort summary>svg{width:19px;height:19px;flex-shrink:0;color:#8426d9}
.shop-sort .shop-sort-chevron{margin-left:auto;width:16px;transition:transform .18s}
.shop-sort[open] .shop-sort-chevron{transform:rotate(180deg)}
.shop-sort[open] summary{border-color:#a465d7;box-shadow:0 0 0 3px #8426d911}
.shop-sort .shop-sort-options{position:absolute;right:0;top:calc(100% + 8px);min-width:100%;box-sizing:border-box;padding:7px;background:#fff;border:1px solid #e5daed;border-radius:16px;box-shadow:0 14px 40px #42225024}
.shop-sort .shop-sort-option{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;cursor:pointer;white-space:nowrap;font-size:14px;color:#574b60}
.shop-sort-option input{position:absolute;opacity:0;width:1px;height:1px}
.shop-sort-option svg{width:17px;height:17px;opacity:0;margin-left:auto;color:#8426d9}
.shop-sort-option:has(input:checked){background:#f2e7fc;color:#7624bc;font-weight:600}
.shop-sort-option:has(input:checked) svg{opacity:1}
.shop-sort-option:hover{background:#f7f2fb}
.shop-sort-option:has(input:focus-visible),.shop-sort summary:focus-visible{outline:2px solid #8426d9;outline-offset:2px}
@media(max-width:600px){.shop-controls .shop-sort{min-width:0;width:100%}.shop-sort .shop-sort-options{width:100%}}
@media(prefers-reduced-motion:reduce){.shop-sort .shop-sort-chevron{transition:none}}
.shop-controls .shop-sort #sort[hidden]{display:none!important}
.shop-controls .shop-sort summary::after{display:none!important;content:none!important}
.shop-controls .shop-sort summary{min-height:42px;padding:10px 14px}

/* Matched search and sort controls. */
section.shop .shop-controls{align-items:stretch;justify-content:flex-start}
section.shop .shop-controls .shop-search,section.shop .shop-controls .shop-sort{width:330px;min-width:0;max-width:100%;margin:0;flex:1 1 0}
section.shop .shop-controls .shop-search input,section.shop .shop-controls .shop-sort summary{box-sizing:border-box;width:100%;height:46px;min-height:46px;margin:0;padding:10px 14px;border:1px solid #ddd4e5;border-radius:10px;background:#fff;font-size:14px;line-height:24px}
@media(max-width:760px){section.shop .shop-controls .shop-search,section.shop .shop-controls .shop-sort{width:100%;flex:0 0 auto}}
