.kvt-motion-product-ghost,.kvt-motion-row-ghost,.kvt-motion-bin,.kvt-motion-cart-target { position:fixed; z-index:10020; pointer-events:none; box-sizing:border-box; }
.kvt-motion-product-ghost { display:grid; place-items:center; padding:10px; border:2px solid #ffd500; border-radius:18px; background:#fff; box-shadow:0 12px 36px #20202026; will-change:transform,opacity; }
.kvt-motion-product-ghost img { width:100%; height:100%; object-fit:contain; }
.kvt-motion-cart-target { right:22px; top:86px; display:grid; place-items:center; width:52px; height:52px; padding:12px; border-radius:16px; color:#202020; background:#ffd500; box-shadow:0 8px 24px #2020201f; }
.kvt-motion-cart-target svg { width:100%; height:100%; }
.kvt-motion-row-ghost { overflow:hidden; color:#202020; background:#fff; border-radius:12px; box-shadow:0 12px 28px #2020201a; font:400 15px/1.5 Roboto,Arial,sans-serif; transform-origin:center; will-change:transform,opacity; }
.kvt-motion-row-ghost .cart-view_items { margin:0; width:100%; }
.kvt-motion-row-ghost .cart-view_item { margin:0; }
.kvt-motion-bin { width:48px; height:58px; color:#202020; }
.kvt-motion-bin svg { width:100%; height:100%; overflow:visible; }
.kvt-motion-bin-lid { transform-box:fill-box; transform-origin:90% 100%; animation:kvt-bin-lid 940ms ease-in-out both; }
@keyframes kvt-bin-lid { 0%,100% { transform:rotate(0); } 18%,76% { transform:rotate(-38deg) translateY(-2px); } }
.kvt-cart-pending { cursor:progress; }
.kvt-cart-pending .vm2-remove_from_cart { opacity:.5; pointer-events:none; }
.kvt-cart-pending input[type=submit] { cursor:progress; opacity:.65; }
.kvt-checkout .cart-view_item.kvt-cart-removing { opacity:0; min-height:0; overflow:hidden; }
.kvt-motion-toast { position:fixed; z-index:10030; left:50%; bottom:max(24px,env(safe-area-inset-bottom)); box-sizing:border-box; max-width:calc(100vw - 32px); width:max-content; padding:13px 20px; border:1px solid #ffd500; border-radius:12px; color:#202020; background:#fff9d6; box-shadow:0 8px 30px #2020201a; font:500 14px/1.5 Roboto,Arial,sans-serif; text-align:center; opacity:0; visibility:hidden; transform:translate(-50%,12px); transition:opacity .2s,transform .2s,visibility .2s; pointer-events:none; }
.kvt-motion-toast.is-visible { opacity:1; visibility:visible; transform:translate(-50%,0); }
.kvt-motion-toast.is-error { background:#fff1f1; border-color:#efbbbb; color:#962525; }
.kvt-motion-curtain { position:fixed; z-index:10040; inset:0; background:#faf9f3; pointer-events:none; }
dialog.kvt-motion-thanks { position:fixed; inset:0; box-sizing:border-box; max-width:100vw; max-height:100dvh; width:100vw; height:100dvh; padding:24px; margin:0; border:0; background:transparent; overflow:auto; color:#202020; font:400 15px/1.6 Roboto,Arial,sans-serif; }
dialog.kvt-motion-thanks[open] { display:grid; place-items:center; }
dialog.kvt-motion-thanks.has-bank-transfer[open] { display:flex; flex-direction:column; }
dialog.kvt-motion-thanks.has-bank-transfer .kvt-motion-thanks-card { flex:0 0 auto; width:min(100%,700px); margin:auto; padding:24px; border:1px solid #e5e5e5; border-radius:12px; background:#fff; box-shadow:0 8px 36px #0002; text-align:left; animation:none; }
dialog.kvt-motion-thanks.has-bank-transfer::backdrop { background:#17171766; backdrop-filter:none; }
.has-bank-transfer .kvt-motion-thanks-card > h2 { margin:0 48px 4px 0; font-size:22px; font-weight:600; }
.has-bank-transfer .kvt-motion-order-reference { margin:0; padding:0; background:none; color:#777; font-size:13px; }
.has-bank-transfer .kvt-bank-transfer { margin:20px 0; padding:0; border:0; border-radius:0; }
.has-bank-transfer .kvt-bank-transfer > h2 { display:none; }
.has-bank-transfer .kvt-motion-primary { border:1px solid #ddd; background:#fff; border-radius:6px; font-weight:500; }
.has-bank-transfer .kvt-motion-primary:hover { background:#f6f6f6; }
.kvt-motion-payment-close { position:absolute; top:18px; right:18px; display:grid; place-items:center; width:40px; height:40px; padding:0; border:0; border-radius:4px; color:#555; background:#fff; font:26px/1 Arial,sans-serif; cursor:pointer; }
.kvt-motion-payment-close:hover { background:#f4f4f4; }
.kvt-motion-payment-close:focus-visible { outline:2px solid #222; outline-offset:2px; }
dialog.kvt-motion-thanks::backdrop { background:#17171766; backdrop-filter:blur(5px); }
.kvt-motion-thanks-card { box-sizing:border-box; position:relative; z-index:1; width:min(100%,440px); padding:36px 32px 28px; border:1px solid #ffed8a; border-radius:24px; background:radial-gradient(ellipse at top,#fff8cc,transparent 55%),#fff; box-shadow:0 24px 80px #00000026; text-align:center; animation:kvt-thanks-enter .38s cubic-bezier(.16,1,.3,1) both; }
@keyframes kvt-thanks-enter { from { opacity:0; transform:translateY(18px) scale(.96); } to { opacity:1; transform:translateY(0) scale(1); } }
.kvt-motion-thanks-icon { width:72px; height:72px; margin:0 auto 20px; padding:8px; border-radius:50%; background:#ffd5001f; box-sizing:border-box; }
.kvt-motion-thanks-icon svg { display:block; width:100%; height:100%; }
.kvt-motion-thanks-card .kvt-motion-eyebrow { margin:0 0 10px; font-size:10px; font-weight:700; letter-spacing:.11em; color:#786000; }
.kvt-motion-thanks-card h2 { margin:0; color:#202020; font:700 25px/1.35 Roboto,Arial,sans-serif; }
.kvt-motion-thanks-card .kvt-motion-thanks-copy { margin:16px 0 24px; color:#666; font-size:14px; line-height:1.7; }
.kvt-motion-order-reference { margin:0 0 22px; padding:10px; border-radius:8px; background:#f7f7f7; font-size:13px; }
.kvt-motion-primary { box-sizing:border-box; width:100%; min-height:48px; padding:12px 18px; border:1px solid #ffd500; border-radius:10px; color:#202020; background:#ffd500; font:600 14px/1.5 Roboto,Arial,sans-serif; cursor:pointer; }
.kvt-motion-primary:hover { background:#f3cb00; }
.kvt-motion-primary:focus-visible { outline:3px solid #202020; outline-offset:4px; }
.kvt-motion-confetti { position:fixed; z-index:2; inset:0; width:100vw; height:100dvh; pointer-events:none; }
.kvt-checkout-empty { padding:28px 12px; text-align:center; color:#666; }
.kvt-checkout-empty a { display:inline-block; margin-top:12px; color:#202020; font-weight:600; text-decoration:underline; }
.kvt-checkout [aria-disabled=true].cart-submit_button { cursor:default; opacity:.5; }
@media (max-width:600px) { dialog.kvt-motion-thanks { padding:18px; } .kvt-motion-thanks-card { padding:30px 22px 24px; border-radius:20px; } .kvt-motion-thanks-card h2 { font-size:23px; } .kvt-motion-toast { padding:12px 16px; font-size:13px; } }
@media (prefers-reduced-motion:reduce) { .kvt-motion-bin-lid,.kvt-motion-thanks-card { animation:none; } .kvt-motion-toast { transition:none; } }
