.pl{cursor:pointer}.pl:focus-visible{outline:2px solid #b07a28;outline-offset:3px}.cph__bg.pl{cursor:default}
/* product detail card */
body.dc-open{overflow:hidden}
.dc{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .26s ease}.dc.in{opacity:1}
.dc__bd{position:absolute;inset:0;background:rgba(30,16,6,.62)}
.dc__p{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);width:min(980px,100%);max-height:min(88svh,680px);background:#fbeedd;color:#3a2412;box-shadow:0 0 0 1px rgba(176,122,40,.6),0 50px 90px -30px rgba(10,5,2,.7);transform:translateY(22px);transition:transform .38s cubic-bezier(.23,1,.32,1)}.dc.in .dc__p{transform:none}
.dc__ph{position:relative;min-height:0;background:#3a2412;overflow:hidden}.dc__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.dc__tag{position:absolute;inset-inline-start:14px;top:14px;padding:6px 12px;background:#54130e;color:#fbeedd;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase}
.dc__t{display:grid;gap:14px;align-content:center;padding:clamp(26px,4vw,52px);overflow:auto}
.dc__k{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:#b07a28}
.dc__t h3{font-size:clamp(1.9rem,3.4vw,2.9rem);line-height:1.05;color:#3a2412;text-shadow:none}
.dc__t p{color:#6b5238;font-size:1.05rem;line-height:1.6;text-shadow:none}
.dc__n{display:flex;flex-wrap:wrap;gap:8px}.dc__n span{padding:6px 12px;box-shadow:inset 0 0 0 1px rgba(176,122,40,.55);font-size:.85rem;color:#6b5238}
.dc__b{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:6px}.dc__b b{font-weight:300;font-size:1.7rem;color:#8a5a14}.dc__b .oos{display:none}
.dc__x{position:absolute;z-index:3;inset-inline-end:12px;top:12px;width:42px;height:42px;background:#fbeedd;box-shadow:inset 0 0 0 1px rgba(176,122,40,.6);cursor:pointer}
.dc__x::before,.dc__x::after{content:"";position:absolute;left:11px;right:11px;top:50%;height:1.5px;background:#3a2412;transform:rotate(45deg)}.dc__x::after{transform:rotate(-45deg)}
.pc,.tr3__c{cursor:pointer}
@media(max-width:760px){.dc{padding:0;place-items:end stretch}.dc__p{grid-template-columns:1fr;grid-template-rows:minmax(0,42svh) auto;max-height:92svh;width:100%;overflow:auto;transform:translateY(40px)}.dc__ph{min-height:0}.dc__t{padding:22px var(--gut,20px) calc(26px + env(safe-area-inset-bottom,0px));align-content:start;overflow:visible}.dc__t h3{font-size:1.9rem}.dc__b .btn{flex:1;justify-content:center}}
@media(prefers-reduced-motion:reduce){.dc,.dc__p{transition:none}}
/* framed photos (wrapped with care) */
#boxes .zs__ph{background:#fff8ea;box-shadow:0 0 0 1px #b07a28,0 0 0 7px #fbeedd,0 0 0 8px rgba(176,122,40,.45),0 36px 50px -30px rgba(58,36,18,.5);cursor:pointer;transition:box-shadow .5s var(--ease,ease),translate .5s var(--ease,ease),scale .25s var(--ease,ease)}
#boxes .zs__ph img{inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);outline:1px solid rgba(176,122,40,.55);outline-offset:6px}
#boxes .zs__ph::after{content:"+";position:absolute;right:22px;bottom:22px;z-index:2;width:34px;height:34px;display:grid;place-items:center;background:#e8c56a;color:#2a1706;font-size:1.3rem;line-height:1;transition:transform .35s var(--ease,ease)}
#boxes .zs__ph:hover::after{transform:rotate(90deg)}
#boxes .zs__ph:active{scale:.97}
#boxes .zs__ph.tap{animation:pltap .7s cubic-bezier(.23,1,.32,1)}
@keyframes pltap{0%{box-shadow:0 0 0 1px #b07a28,0 0 0 7px #fbeedd,0 0 0 8px rgba(232,197,106,.9)}100%{box-shadow:0 0 0 1px #b07a28,0 0 0 30px rgba(232,197,106,0),0 0 0 31px rgba(232,197,106,0)}}
.lb{position:fixed;inset:0;z-index:125;display:grid;place-items:center;padding:20px;opacity:0;transition:opacity .3s ease}.lb.in{opacity:1}
.lb .dc__bd{background:rgba(24,12,4,.82)}
.lb__f{position:relative;margin:0;display:grid;gap:14px;justify-items:center;max-width:min(560px,94vw);cursor:zoom-out}
.lb__fr{padding:14px;background:#fff8ea;box-shadow:0 0 0 1px #b07a28,0 0 0 8px #fbeedd,0 0 0 9px rgba(176,122,40,.55),0 50px 90px -30px #000}
.lb__fr img{display:block;max-width:100%;max-height:70svh;width:auto;height:auto;outline:1px solid rgba(176,122,40,.55);outline-offset:6px}
.lb figcaption{color:#fbeedd;font-size:1rem;letter-spacing:.04em;text-align:center;max-width:36em}
@media(prefers-reduced-motion:reduce){#boxes .zs__ph.tap{animation:none}}
