.zdb-dock,.zdb-dialog,.zdb-ghost{box-sizing:border-box;color:#30272b;font-family:inherit}
.zdb-dock *,.zdb-dialog *{box-sizing:border-box}
.zdb-dock{position:fixed;z-index:1000;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:min(540px,calc(100vw - 24px));display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px;padding:10px 18px;background:var(--zdb-dock-bg,rgb(255 253 247 / .94));border:1px solid #fff8;border-radius:20px;box-shadow:0 8px 35px #28172124;backdrop-filter:blur(14px);isolation:isolate}
.zdb-dock button{font:inherit;cursor:pointer;color:inherit}
.zdb-basket{position:relative;display:block;width:100%;height:126px;padding:0;border:0;background:transparent}
.zdb-basket svg{width:100%;height:100%;filter:drop-shadow(0 8px 5px #4d203123);overflow:visible}
.zdb-basket[data-over]{transform:translateY(-5px) scale(1.04);filter:brightness(1.06)}
.zdb-basket__products{position:absolute;inset:30% 19% 22%;display:flex;align-items:end;justify-content:center;gap:1px;pointer-events:none}
.zdb-basket__products img{width:28%;height:60px;object-fit:contain;filter:drop-shadow(1px 3px 2px #0003)}
.zdb-basket__label{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;letter-spacing:.04em;background:var(--zdb-paper);padding:4px 9px;border-radius:12px;pointer-events:none}
.zdb-register{background:linear-gradient(135deg,#ffffff88,transparent 38%),var(--zdb-register);border:1px solid #fff9;border-radius:10px 10px 16px 16px;padding:10px;box-shadow:inset 0 -5px 4px #31252a25,0 4px 10px #31252a18;transform:rotate(-2deg)}
.zdb-screen{background:linear-gradient(120deg,#362e38,#141218);border:3px solid #796c72;border-radius:4px;color:#fbe5ef;min-height:49px;padding:6px 8px;text-align:right;box-shadow:inset 0 2px 6px #000;display:flex;flex-direction:column;gap:3px}
.zdb-screen small{font-size:8px;letter-spacing:.15em;opacity:.75;text-align:left}
.zdb-screen output{font:20px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}
.zdb-cart-button{margin-top:7px;border:0;border-radius:3px;background:var(--zdb-accent);color:#fff!important;width:100%;min-height:44px;padding:8px 12px;display:flex;justify-content:space-between;align-items:center;font-size:12px!important}
.zdb-instruction{grid-column:1/-1;font-size:10px;text-align:center;margin:-8px 0 0;line-height:1.4}
.zdb-spacer{height:175px;clear:both}
.zdb-dialog{border:0;padding:0;background:transparent;max-width:min(94vw,550px);width:550px;max-height:90dvh;overflow:visible}
.zdb-dialog::backdrop{background:#30222a70;backdrop-filter:blur(9px)}
.zdb-paper{position:relative;background:var(--zdb-paper,#fffdf5);border-radius:4px;padding:30px 26px;max-height:88dvh;overflow:auto;box-shadow:0 16px 70px #0004;clip-path:polygon(0 0,100% 0,100% 99%,98% 100%,96% 99%,94% 100%,92% 99%,90% 100%,88% 99%,86% 100%,84% 99%,82% 100%,80% 99%,78% 100%,76% 99%,74% 100%,72% 99%,70% 100%,68% 99%,66% 100%,64% 99%,62% 100%,60% 99%,58% 100%,56% 99%,54% 100%,52% 99%,50% 100%,48% 99%,46% 100%,44% 99%,42% 100%,40% 99%,38% 100%,36% 99%,34% 100%,32% 99%,30% 100%,28% 99%,26% 100%,24% 99%,22% 100%,20% 99%,18% 100%,16% 99%,14% 100%,12% 99%,10% 100%,8% 99%,6% 100%,4% 99%,2% 100%,0 99%)}
.zdb-paper h2{font-family:var(--font-heading--family,var(--font-heading-family,inherit));font-size:26px;color:inherit;margin:0 38px 5px 0}
.zdb-receipt-head{text-align:center;border-bottom:1px dashed #30272b55;padding:0 0 22px;margin:0 0 18px}
.zdb-receipt-head h2{margin:5px 0;font-size:22px}
.zdb-receipt-head p{margin:0;font-size:10px;letter-spacing:.15em;text-transform:uppercase}
.zdb-close{position:absolute;top:9px;right:9px;min-width:44px;min-height:44px;border:0;background:transparent;font:24px/1 inherit;color:inherit;cursor:pointer;z-index:2}
.zdb-line{display:grid;grid-template-columns:48px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px dashed #30272b30;align-items:center}
.zdb-line img{width:48px;height:60px;object-fit:contain}
.zdb-line-title{font-size:13px;margin:0 0 3px;font-weight:600;line-height:1.4}
.zdb-line-option{font-size:11px;opacity:.7;margin:0 0 5px}
.zdb-line-price{font:12px ui-monospace,monospace;text-align:right}
.zdb-quantity{display:flex;align-items:center;gap:4px;font-size:12px}
.zdb-quantity button{min-width:44px;min-height:44px;border:1px solid #30272b22;border-radius:4px;background:transparent;color:inherit;cursor:pointer}
.zdb-remove{border:0;background:transparent;text-decoration:underline;font:10px inherit;color:inherit;padding:6px 0;cursor:pointer}
.zdb-total{display:flex;justify-content:space-between;padding:22px 0 10px;font:600 17px ui-monospace,monospace;border-top:1px dashed #30272b70;margin-top:16px}
.zdb-note{font-size:11px;text-align:center;opacity:.75;margin:10px 0 18px}
.zdb-primary{display:block;width:100%;min-height:46px;border:0;border-radius:4px;padding:12px 16px;font:inherit;text-decoration:none;text-align:center;cursor:pointer;background:var(--zdb-accent,#694351);color:#fff}
.zdb-primary:disabled{opacity:.45;cursor:not-allowed}
.zdb-variant-image{display:block;width:100%;height:200px;object-fit:contain;margin:0 0 16px}
.zdb-options{display:grid;gap:12px;margin:18px 0}
.zdb-details{display:block;text-align:center;color:inherit;margin:18px 0 0;font-size:12px;text-underline-offset:4px}
.zdb-message{position:fixed;bottom:195px;left:50%;transform:translateX(-50%);z-index:1002;background:#30272b;color:white;max-width:calc(100vw - 30px);padding:10px 18px;border-radius:20px;font-family:inherit;font-size:12px;line-height:1.5;box-shadow:0 5px 15px #0002}
.zdb-message:empty{display:none}
.zdb-ghost{position:fixed;pointer-events:none!important;z-index:2147483000;width:100px;height:130px;object-fit:contain;filter:drop-shadow(0 8px 10px #0004);transform:translate(-50%,-70%) rotate(-6deg)}

.zdb-enabled .zkp__item{position:relative}
.zdb-dock :focus-visible,.zdb-dialog :focus-visible,.zdb-enabled [data-zdb-product]:focus-visible{outline:2px solid var(--zdb-accent,#694351);outline-offset:4px}
@media(max-width:749px){.zdb-dock{width:min(380px,calc(100vw - 20px));padding:5px 12px 8px;gap:12px;border-radius:16px;bottom:max(8px,env(safe-area-inset-bottom))}.zdb-basket{height:103px}.zdb-screen output{font-size:18px}.zdb-register{padding:7px}.zdb-basket__products img{height:45px}.zdb-basket__label{bottom:12px;font-size:9px}.zdb-instruction{font-size:9px;margin-top:-4px}.zdb-spacer{height:150px}.zdb-message{bottom:162px}.zdb-paper{padding:28px 20px}.zdb-line{grid-template-columns:40px 1fr auto;gap:8px}.zdb-line img{width:40px}.zdb-variant-image{height:170px}}
@media(prefers-reduced-motion:no-preference){.zdb-basket{transition:transform .18s ease,filter .18s ease}}

.zdb-enabled [data-zdb-product]{touch-action:none;cursor:grab;-webkit-user-drag:none;user-select:none}
.zdb-enabled [data-zdb-product]:active{cursor:grabbing}
.zdb-basket svg{position:relative;z-index:2;pointer-events:none}
.zdb-basket__products{z-index:1}
.zdb-basket__label{z-index:3}

.zdb-dock button svg,.zdb-dialog button svg,.zdb-dialog a svg{display:inline-block;vertical-align:middle;flex-shrink:0}
.zdb-close{display:grid;place-items:center}

.zdb-option-group{border:0;padding:0;margin:0;min-width:0}
.zdb-option-group legend{padding:0;margin:0 0 9px;font-family:inherit;font-size:12px;line-height:1.5}
.zdb-option-group [data-option-current]{opacity:.75}
.zdb-option-values{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.zdb-options .zdb-option{position:relative;display:inline-flex;margin:0;padding:0;cursor:pointer;font-size:13px;color:inherit}
.zdb-option input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.zdb-option-face{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:52px;height:52px;padding:0 15px;border:1px solid #30272b30;border-radius:999px;line-height:1.2;background:transparent;color:inherit}
.zdb-option input:checked+.zdb-option-face{background:#1d211f;color:white;border-color:#1d211f}
.zdb-option input:focus-visible+.zdb-option-face{outline:2px solid var(--zdb-accent);outline-offset:4px}
.zdb-option:hover .zdb-option-face{border-color:currentColor}
.zdb-option--swatch .zdb-option-face{width:52px;padding:5px;min-width:52px;background:transparent!important;color:inherit!important}
.zdb-option--swatch input:checked+.zdb-option-face{border:2px solid #1d211f;padding:4px}
.zdb-swatch-face{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;object-fit:cover;overflow:hidden;box-shadow:inset 0 0 0 1px #00000010}
.zdb-swatch-face--named{font-size:11px;background:#eee9e2;color:#30272b}
.zdb-option-strike{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none!important}
.zdb-option.is-unavailable .zdb-option-strike{display:block!important}
.zdb-option.is-unavailable .zdb-option-face{opacity:.45}

/* Optional section-scoped dock: keep the cart state while sliding the dock away. */
.zdb-dock{transition:transform .28s ease,opacity .2s ease,visibility .28s}
.zdb-dock[data-auto-hidden]{transform:translate(-50%,calc(100% + 40px));opacity:0;visibility:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){.zdb-dock{transition:none}}
@media(max-width:749px){.zdb-option-values{gap:8px}.zdb-option-face{min-width:48px;height:48px;padding:0 13px}.zdb-option--swatch .zdb-option-face{width:48px;min-width:48px}}

.zdb-options .zdb-option{max-width:100%}
.zdb-option-face{max-width:100%;overflow-wrap:anywhere}
.zdb-option-text{text-align:center}
