/* Shop browsing: new-in strip, sort/filter bar, card actions, crate-dig view, mini basket.
   Palette and type are the label's own (ink on paper, #1130F5 accent, Roboto Condensed / Slab). */
.ni{background:var(--wall);padding:clamp(40px,5vw,72px) 0 clamp(8px,1vw,16px);border-top:1px solid var(--hair)}
.ni-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 28px;margin-bottom:clamp(18px,2vw,28px)}
.ni-title{font:300 clamp(1.5rem,2.4vw,2.125rem)/1.1 var(--f-slab);letter-spacing:-.012em;margin:0;color:var(--ink)}
.ni-note{margin:0;font:400 .8125rem/1.25rem var(--f-body);color:var(--muted)}
.ni-list{list-style:none;margin:0 calc(-1*var(--gutter));padding:4px var(--gutter) 22px;display:flex;gap:clamp(14px,1.8vw,26px);overflow-x:auto;scroll-snap-type:x proximity;scroll-padding-inline:var(--gutter);overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--ink) var(--hair)}
.ni-card{flex:0 0 clamp(190px,19vw,262px);scroll-snap-align:start;min-width:0}
.ni-open{display:grid;gap:4px;width:100%;text-align:left;background:none;border:0;padding:0;cursor:pointer;color:var(--ink);font:inherit}
.ni-pic{display:block;aspect-ratio:1/1;background:var(--wall-2);box-shadow:0 14px 16px -12px rgba(40,30,15,.5);margin-bottom:12px;overflow:hidden}
.ni-pic img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.ni-open:hover .ni-pic img{transform:scale(1.04)}
.ni-open:focus-visible{outline:2px solid var(--blue);outline-offset:6px}
.ni-k{font:500 .625rem/1rem var(--f-cond);letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.ni-t{font:400 1rem/1.3rem var(--f-slab);letter-spacing:-.005em}
.ni-m{font:400 .8125rem/1.1rem var(--f-body);color:var(--muted);min-height:1.1rem;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.ni-p{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:6px;padding-top:8px;border-top:1px solid var(--hair)}
.ni-p b{font:400 .9375rem/1 var(--f-slab);font-variant-numeric:tabular-nums}
.ni-p i{font:500 .625rem/1 var(--f-cond);font-style:normal;letter-spacing:.18em;text-transform:uppercase;color:#0b6b3a}
.ni-card.is-sold .ni-p i{color:#9b1c1c}
.ni-card.is-sold .ni-pic img{filter:grayscale(.6)}
/* toolbar */
.shop-tools{margin-bottom:0}
.sb{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 28px;margin:0 calc(-1*var(--gutter)) clamp(28px,3.4vw,52px);padding:18px var(--gutter) 14px;background:rgba(245,242,236,.94);border-bottom:1px solid var(--hair)}
.sb-f{display:grid;gap:6px}
.sb-f label{font:500 .6875rem/1 var(--f-cond);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.sb select{height:44px;min-width:210px;background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:0 28px 0 0;font:300 1.125rem/1 var(--f-slab);color:var(--ink);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%2314120f' stroke-width='1.5'%3E%3Cpath d='M1 1.500l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center}
.sb select:focus-visible,.sb input[type=range]:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.sb-max{min-width:min(100%,230px)}
.sb-max input{width:100%;height:44px;margin:0;accent-color:var(--blue);cursor:pointer}
.sb-max output{font:500 .6875rem/1 var(--f-cond);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);font-variant-numeric:tabular-nums;margin-top:-6px}
.sb-btn{min-height:44px;padding:0 18px;border:1px solid var(--hair);border-radius:999px;background:transparent;color:var(--ink);font:500 .75rem/1 var(--f-cond);letter-spacing:.2em;text-transform:uppercase;cursor:pointer;white-space:normal;transition:background .4s,color .4s,border-color .4s}
.sb-btn:hover{border-color:var(--ink)}
.sb-btn[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.sb-btn:focus-visible,.sb-clear:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.sb-view{display:inline-flex;gap:8px;margin-left:auto}
.sb-clear{min-height:44px;background:none;border:0;padding:0 4px;font:500 .6875rem/1 var(--f-cond);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.sb-clear:hover{color:var(--blue)}
.sb-clear[hidden],.empty-shop[hidden],.cr[hidden]{display:none}
#shop-count{margin:0;flex:1 1 100%}
.empty-shop{margin:clamp(24px,4vw,56px) 0;font:300 1.5rem/1.3 var(--f-slab);color:var(--ink);display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
/* grid stagger by visible position (keeps the label's offset rhythm while filtering/sorting) */
.pieces.stg-on:not(.is-crate) .piece{margin-top:0!important}
.pieces.stg-on:not(.is-crate) .piece.stg{margin-top:clamp(0px,5vw,80px)!important}
@media (max-width:1100px){.pieces.stg-on:not(.is-crate) .piece.stg{margin-top:clamp(0px,6vw,64px)!important}}
@media (max-width:760px){.pieces.stg-on:not(.is-crate) .piece.stg{margin-top:32px!important}.sb{gap:14px 16px}.sb select{min-width:0;width:100%}.sb-f:not(.sb-max){flex:1 1 100%}.sb-view{margin-left:0;flex:1 1 100%}.sb-view .sb-btn{flex:1}.sb-btn{flex:1 1 auto}}
/* card actions (absolute overlays: no layout shift) */
.pc-save,.pc-add{position:absolute;z-index:3;width:44px;height:44px;display:grid;place-items:center;padding:0;border:1px solid rgba(20,18,15,.14);border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);cursor:pointer;box-shadow:0 8px 24px rgba(20,18,15,.18);transition:background .4s,color .4s,transform .5s var(--ease),opacity .4s}
.pc-save svg,.pc-add svg{width:20px;height:20px}
.pc-save{top:10px;right:10px}
.pc-add{right:calc(clamp(16px,2.6vw,40px) + 6px);bottom:calc(clamp(28px,4vw,56px) + 8px)}
.pc-save:hover,.pc-add:hover{background:var(--ink);color:#fff}
.pc-save[aria-pressed="true"]{background:var(--blue);color:#fff;border-color:var(--blue)}
.pc-save[aria-pressed="true"] svg{fill:currentColor}
.pc-add.done{background:#0b6b3a;color:#fff;border-color:#0b6b3a;transform:scale(1.12)}
.pc-save:focus-visible,.pc-add:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@media (hover:hover){.pieces:not(.is-crate) .pc-add,.pieces:not(.is-crate) .pc-save[aria-pressed="false"]{opacity:0;transform:translateY(6px)}.pieces:not(.is-crate) .piece:hover .pc-add,.pieces:not(.is-crate) .piece:hover .pc-save,.pieces:not(.is-crate) .piece:focus-within .pc-add,.pieces:not(.is-crate) .piece:focus-within .pc-save{opacity:1;transform:none}}
@media (max-width:760px){.pc-save{top:6px;right:6px}.pc-add{right:calc(12px + 6px);bottom:calc(28px + 6px)}}
/* crate-dig view */
.pieces.is-crate{--cw:clamp(230px,21vw,330px);position:relative;display:flex;gap:clamp(14px,2.4vw,36px);align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;perspective:1500px;margin-inline:calc(-1*var(--gutter));padding:clamp(24px,3vw,44px) calc(50% - var(--cw)/2 + var(--gutter)) clamp(20px,2.4vw,36px);row-gap:0;column-gap:clamp(14px,2.4vw,36px)}
.pieces.is-crate::-webkit-scrollbar{display:none}
.pieces.is-crate:focus-visible{outline:2px solid var(--blue);outline-offset:-4px}
.pieces.is-crate .piece{flex:0 0 var(--cw);scroll-snap-align:center;scroll-snap-stop:always;margin:0!important;transform:rotateY(var(--ry,0deg)) scale(var(--sc,1))!important;transform-origin:50% 100%;opacity:var(--op,1)!important;transition:opacity .35s,transform .2s linear!important;cursor:pointer}
.pieces.is-crate .piece[hidden]{display:none}
.pieces.is-crate .piece .label{display:none}
.pieces.is-crate .piece:not(.is-active) .pic{pointer-events:none}
.pieces.is-crate .piece.is-active{cursor:default}
.pieces.is-crate .piece.is-active .pic{cursor:zoom-in;box-shadow:0 28px 40px -20px rgba(40,30,15,.6)}
.pieces.is-crate .obj{padding:clamp(14px,1.8vw,26px) clamp(12px,1.6vw,22px) 0}
.pieces.is-crate .pc-save{opacity:1;transform:none}
.pieces.is-crate .piece:not(.is-active) .pc-save,.pieces.is-crate .piece:not(.is-active) .pc-add{display:none}
.cr{margin:0 calc(-1*var(--gutter));padding:clamp(20px,3vw,40px) var(--gutter) clamp(28px,4vw,56px);background:rgba(245,242,236,.94);border-top:1px solid var(--hair)}
.cr>*{max-width:880px;margin-inline:auto}
.cr-ctrl{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;gap:14px;align-items:center;max-width:620px!important;margin:0 auto clamp(20px,3vw,36px)}
.cr-ctrl button{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;padding:0;transition:background .4s,color .4s}
.cr-ctrl button:hover{background:var(--ink);color:#fff}
.cr-ctrl button:focus-visible,.cr-ctrl input:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.cr-ctrl input{width:100%;height:44px;margin:0;accent-color:var(--blue);cursor:pointer}
.cr-ctrl output{font:500 .6875rem/1 var(--f-cond);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);font-variant-numeric:tabular-nums;min-width:7ch;text-align:right}
.cr-panel{text-align:center;min-height:300px}
.cr-k{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:0 0 12px;font:500 .6875rem/1rem var(--f-cond);letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.cr-t{margin:0;font:300 clamp(1.75rem,3.2vw,2.875rem)/1.1 var(--f-slab);letter-spacing:-.016em;color:var(--ink)}
.cr-m{margin:8px 0 0;font:400 1rem/1.5rem var(--f-body);color:var(--muted)}
.cr-pl{display:flex;align-items:center;justify-content:center;gap:16px;margin:20px 0 0}
.cr-price{font:300 1.75rem/1 var(--f-slab);font-variant-numeric:tabular-nums}
.cr-stock{font:500 .6875rem/1 var(--f-cond);letter-spacing:.2em;text-transform:uppercase;padding:7px 12px;border-radius:999px;border:1px solid currentColor}
.cr-stock.ok{color:#0b6b3a}.cr-stock.out{color:#9b1c1c}
.cr-d{margin:18px auto 0;max-width:60ch;font:400 .9375rem/1.5rem var(--f-body);color:var(--ink);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cr-btns{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:22px}
.cr-btns .btn.done{background:#0b6b3a;border-color:#0b6b3a}
.cr-save{width:48px;height:48px;display:grid;place-items:center;padding:0;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.cr-save svg{width:20px;height:20px}
.cr-save[aria-pressed="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
.cr-save[aria-pressed="true"] svg{fill:currentColor}
.cr-save:focus-visible,.cr-more:focus-visible,.cr-btns .btn:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.cr-more{margin-top:18px;min-height:44px;background:none;border:0;padding:0 6px;font:500 .6875rem/1 var(--f-cond);letter-spacing:.2em;text-transform:uppercase;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.cr-more:hover{color:var(--blue)}
@media (max-width:760px){.pieces.is-crate{--cw:clamp(220px,64vw,360px)}.cr-ctrl{grid-template-columns:44px minmax(0,1fr) 44px;}.cr-ctrl output{grid-column:1/-1;text-align:center}.cr-panel{min-height:0}}
/* mini basket */
.mini{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:60;display:flex;align-items:center;gap:4px;max-width:calc(100vw - 24px);background:var(--ink);color:#fff;border-radius:999px;padding:5px;box-shadow:0 20px 60px rgba(20,18,15,.45)}
.mini[hidden]{display:none}
.mini-open{display:flex;align-items:center;gap:14px;min-height:46px;padding:0 20px;background:none;border:0;border-radius:999px;color:#fff;cursor:pointer;font:500 .75rem/1 var(--f-cond);letter-spacing:.18em;text-transform:uppercase}
.mini-s{font-variant-numeric:tabular-nums;opacity:.85}
.mini-go{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font:500 .75rem/1 var(--f-cond);letter-spacing:.18em;text-transform:uppercase}
.mini-go[hidden]{display:none}
.mini-open:focus-visible,.mini-go:focus-visible{outline:2px solid #fff;outline-offset:2px}
.mini-go:focus-visible{outline-color:var(--blue);outline-offset:-4px}
@media (prefers-reduced-motion:no-preference){.mini.pulse{animation:minip .7s var(--ease)}}
@keyframes minip{30%{transform:translateX(-50%) scale(1.06)}}
html.has-mini .site-footer{padding-bottom:calc(env(safe-area-inset-bottom) + 84px)}
html.modal-open .mini{display:none}
@media (max-width:420px){.mini-open{padding:0 14px;gap:10px;letter-spacing:.12em}.mini-go{padding:0 16px;letter-spacing:.12em}}
@media (prefers-reduced-motion:reduce){.pieces.is-crate .piece{transition:none!important}.pc-save,.pc-add{transition:none}}

html.crate-on .shop-tools{position:static}
#shop-search::-webkit-calendar-picker-indicator{display:none!important}
