main.wrap:has(.shop-browser){width:100%;padding:clamp(1.5rem,3vw,3.5rem) clamp(1rem,3vw,4rem) 4rem;background:#f5f9ff}
.shop-browser{display:grid;grid-template-columns:16rem minmax(0,1fr);gap:1.75rem;align-items:start;max-width:105rem;margin-inline:auto}
.shop-filters{min-width:0;padding:1rem;background:white;border:1px solid var(--line);border-radius:1rem;display:flex;flex-direction:column;max-height:max(22rem,calc(100dvh - 9rem))}
.shop-search{display:flex;align-items:center;gap:.5rem;padding:0 .65rem;min-height:2.875rem;border:1px solid var(--line);border-radius:.5rem;background:#f0f6ff}
.shop-search:focus-within{outline:2px solid var(--primary)}
.shop-search input{width:100%;min-width:0;font-size:.875rem;background:transparent;border:0;outline:0}
.shop-search .icon{width:1rem}
.shop-filters h2{font-size:1rem;letter-spacing:0;margin:1.1rem .5rem .55rem}
.shop-tree{overflow:auto;min-height:0}
.shop-tree a,.shop-tree summary,.shop-mobile-toggle{display:flex;align-items:center;min-height:2.75rem;border-radius:.45rem}
.shop-tree a{justify-content:space-between;padding:0 .65rem;font-size:.875rem}
.shop-tree a:not([aria-current]):hover,.shop-branch > a:not([aria-current]) + details > summary:hover{background:#e1edff}
.shop-tree a[aria-current]{border-radius:0;box-shadow:inset 0 -2px var(--primary)}
.shop-tree .icon,.shop-pills .icon{width:1rem;height:1rem}
.shop-pills a:not([aria-current]) .icon{display:none}
.shop-branch{position:relative}
.shop-branch > a{padding-inline-end:2.75rem}
.shop-branch summary{position:absolute;inset:0 0 auto auto;width:2.75rem;justify-content:center;cursor:pointer;list-style:none}
.shop-branch summary::-webkit-details-marker{display:none}
.shop-branch details[open] summary .icon,.shop-mobile-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}
.shop-children{padding-inline-start:.85rem;margin:.2rem 0 .4rem .7rem;border-inline-start:1px solid var(--line)}
.shop-mobile-toggle{display:none}
.shop-results{min-width:0}
.shop-count{font-size:.9375rem;color:var(--mute);margin:0 0 .8rem}
.shop-count strong,.shop-controls{color:var(--ink)}
.shop-subcategories{display:grid;gap:.85rem;margin-bottom:1.25rem}
.shop-subcategory-label{font-size:.8125rem;font-weight:650;color:var(--mute);margin:0 0 .6rem;letter-spacing:0}
.shop-subcategories .shop-pills a{max-width:100%;overflow-wrap:anywhere}
.shop-toolbar,.shop-controls,.shop-pills,.shop-controls label,.shop-pagination,.shop-pagination div{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem}
.shop-toolbar,.shop-pagination{justify-content:space-between}
.shop-toolbar{margin-bottom:1rem}
.shop-pills a,.shop-controls select,.shop-pagination a{border:1px solid var(--line);background:white;color:var(--ink);font:inherit}
.shop-pills a,.shop-pagination a{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-size:.8125rem;font-weight:600;border-radius:2rem;padding:.45rem .85rem}
.shop-pills a[aria-current]{background:var(--primary);border-color:var(--primary);color:white}
.shop-pills a:hover,.shop-pagination a:hover{border-color:var(--primary)}
.shop-controls{font-size:.8125rem}
.shop-controls select{padding:.4rem;border-radius:.4rem;min-height:2.25rem}
.shop-reset{display:inline-block;color:var(--primary);text-decoration:underline;font-size:.875rem;margin:0 0 1rem}
.shop-results .products{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,235px),1fr));gap:1rem}
.shop-results .product{background:white}
.shop-items[aria-busy=true] :is(.heart,.product-photo img),.shop-items .loading-photo img{opacity:0}
.shop-items[aria-busy=true] .product-info > *{position:relative;visibility:hidden}
.shop-items[aria-busy=true] .product-info > *::after{content:"";position:absolute;inset:0;visibility:visible;background:#d7e4f5;border-radius:.3rem}
.shop-items[aria-busy=true] .product-info :is(.brand-name,h3,.price)::after{height:.85em;top:.3em}
.shop-items[aria-busy=true] .product-photo,.shop-items .loading-photo{background-color:#d7e4f5}
@media(prefers-reduced-motion:no-preference){
  .shop-items[aria-busy=true] .product-photo,.shop-items .loading-photo{background-image:linear-gradient(100deg,transparent 30%,#f0f6ff 50%,transparent 70%);background-size:240% 100%;animation:shop-loading 1.4s linear infinite}
  @keyframes shop-loading{from{background-position:100% 0}to{background-position:-70% 0}}
}
.shop-pagination{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line);font-size:.8125rem;color:var(--mute)}
.shop-pagination a,.shop-pagination button{min-width:2.5rem;min-height:2.5rem}
.shop-pagination button:disabled{padding:.45rem .85rem;border:1px solid var(--line);border-radius:2rem;color:var(--mute);cursor:default;opacity:.65}
.shop-pagination a[aria-current="page"]{color:white;background:var(--primary);border-color:var(--primary)}
@media(max-width:1100px){.shop-browser{grid-template-columns:14rem minmax(0,1fr);gap:1.25rem}}
@media(max-width:800px){
  .shop-browser{grid-template-columns:minmax(0,1fr)}
  .shop-filters{max-height:none;padding:.75rem}
  .shop-filters h2{display:none}
  .shop-mobile-toggle{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.9375rem;font-weight:650;padding:.25rem}
  .shop-mobile-toggle[aria-expanded=false]+.shop-tree{display:none}
  .shop-tree{max-height:55dvh}
  .shop-results .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
  .shop-controls select,.shop-pills a{min-height:2.75rem}
}
@media(max-width:360px){.shop-results .products{grid-template-columns:minmax(0,1fr)}}
.group-card .group-product-count{color:#64748b;margin:8px 0 14px;font-size:14px}
.group-card .group-open{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 12px;border:1px solid #0569f5;border-radius:6px;color:#0569f5;font-weight:600;text-decoration:none;margin-top:auto}
.group-card .group-open:hover{background:#edf5ff}
.group-card .product-info{display:flex;flex-direction:column;flex:1}
.product-group-layout{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr);gap:40px;align-items:start;margin:24px 0 56px}
.product-group-art{position:sticky;top:120px;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;background:white}
.product-group-art img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;padding:20px}
.product-group-details{min-width:0}
.product-group-details h1{font-size:30px;line-height:1.2;margin:6px 0 12px;overflow-wrap:anywhere}
.product-group-intro{color:#64748b;font-size:16px;line-height:1.6;margin-bottom:24px}
.product-group-list{border-top:1px solid #e2e8f0}
.product-group-subgroups{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px;margin:16px 0 28px}
.product-group-row{display:grid;grid-template-columns:minmax(0,1fr) 115px 150px;align-items:center;gap:18px;padding:22px 0;border-bottom:1px solid #e2e8f0}
.group-member-info h2{font-size:16px;line-height:1.5;margin:0 0 6px;overflow-wrap:anywhere}
.group-member-info h2 a{color:inherit;text-decoration:none}
.group-member-info h2 a:hover{color:#0569f5}
.group-member-info p{font-size:14px;margin:0 0 4px;color:#475569}
.group-member-info small{font-size:12px;color:#64748b;overflow-wrap:anywhere}
.group-member-actions .add,.group-member-actions .stepper{width:100%}
.group-back{display:inline-flex;align-items:center;gap:8px;margin-top:26px}
.group-back .icon{transform:rotate(180deg)}
@media(max-width:1100px){.product-group-layout{gap:24px;grid-template-columns:minmax(200px,.65fr) minmax(0,1fr)}.product-group-row{grid-template-columns:minmax(0,1fr) 145px;gap:12px}.group-member-info{grid-column:1/-1}.group-member-actions{grid-column:2}}
@media(max-width:650px){.product-group-layout{grid-template-columns:1fr;gap:24px}.product-group-art{position:static;max-width:360px;width:100%;margin:auto}.product-group-details h1{font-size:26px}.product-group-row{grid-template-columns:minmax(0,1fr) 145px}.group-card .group-open{min-height:44px}.group-member-actions .add,.group-member-actions .stepper{min-height:44px}}
