/* ---------- ürün paylaşılan parçalar ---------- */
.swatches{display:flex;flex-wrap:wrap;gap:10px}
.swatch{width:62px;height:62px;border:2px solid var(--line);background:#d9d8d6;overflow:hidden;transition:border-color .2s,transform .2s var(--ease-out)}
.swatch img{width:100%;height:100%;object-fit:cover}
.swatch:hover{transform:translateY(-3px)}
.swatch[aria-current="true"]{border-color:var(--red)}
.info__err{min-height:20px;margin-top:8px;color:var(--red)}

/* ---------- stash (receipt cart) ---------- */
.stash{position:fixed;inset:0;z-index:130}
.stash[hidden]{display:none}
.stash__scrim{position:absolute;inset:0;background:#000b;backdrop-filter:blur(4px);opacity:0;transition:opacity .3s}
.stash.is-open .stash__scrim{opacity:1}
.receipt{position:absolute;top:0;right:clamp(0px,4vw,60px);width:min(420px,100%);max-height:100%;overflow:auto;padding:30px 26px 40px;background:#f4f1ea;color:#161616;font-family:var(--mono);font-size:13px;line-height:1.55;transform:translateY(-105%);transition:transform .7s cubic-bezier(.3,1.25,.4,1);filter:drop-shadow(0 20px 30px #000a);-webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - 12px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 12px repeat-x;mask:linear-gradient(#000 0 0) top/100% calc(100% - 12px) no-repeat,conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 12px repeat-x}
.stash.is-open .receipt{transform:none}
.receipt h3{font:900 34px/1 var(--display);text-align:center;letter-spacing:.04em}
.receipt__c{text-align:center}
.receipt hr{border:0;border-top:1.5px dashed #161616;margin:14px 0}
.r-item{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:start;padding:8px 0}
.r-item img{width:52px;height:52px;object-fit:cover;filter:grayscale(1) contrast(1.2)}
.r-item__name{text-transform:uppercase;font-weight:700}
.r-qty{display:flex;align-items:center;gap:4px;margin-top:4px}
.r-qty button{width:28px;height:28px;border:1.5px solid #161616;font-family:var(--mono)}
.r-qty button:hover{background:#161616;color:#f4f1ea}
.r-rm{margin-left:8px;text-decoration:underline}
.r-line{display:flex;justify-content:space-between;gap:10px}
.r-total{font-size:18px;font-weight:700}
.receipt .btn{width:100%;margin-top:16px;border-color:#161616}
.receipt .btn--ghost{color:#161616}
.receipt .btn--ghost:hover{background:#161616;color:#f4f1ea}
.receipt label{display:block;margin-top:10px}
.receipt input,.receipt textarea{width:100%;margin-top:4px;padding:10px;border:1.5px solid #161616;background:transparent;font:inherit;color:inherit;border-radius:0}
.receipt input:focus,.receipt textarea:focus{outline:2px solid var(--red);outline-offset:0}
.r-err{color:var(--red);min-height:18px}
.barcode{height:60px;margin:14px 0 6px;background:repeating-linear-gradient(90deg,#161616 0 var(--a,2px),transparent 0 var(--b,5px))}
.r-close{position:absolute;top:10px;right:12px;width:36px;height:36px;font-size:20px}

/* ---------- rain + toast ---------- */
.rain{position:fixed;inset:0;z-index:95;width:100%;height:100%;pointer-events:none;display:none;filter:url(#goo)}
.rain.is-on{display:block}
.toast{position:fixed;left:50%;bottom:24px;z-index:140;padding:14px 20px;background:var(--bone);color:var(--ink);font-weight:700;transform:translate(-50%,200%);opacity:0;visibility:hidden;transition:transform .45s var(--ease-out),opacity .3s,visibility .45s}
.toast.is-on{transform:translate(-50%,0);opacity:1;visibility:visible}

/* ---------- ödeme (Shopier yönlendirmeli fiş) ---------- */
.receipt .r-pay{margin-top:8px;min-height:40px;font-size:12px;text-align:center;justify-content:center}
.r-note{margin:12px 0 0;font-size:12px;line-height:1.5;color:#3a3a3a}
