.key-overlay-btn:before{content:"";pointer-events:none;opacity:0;--kc:#0b75b5;--kt:3px;--kl:min(12px, 38%);background:linear-gradient(var(--kc) 0 0) top left / var(--kl) var(--kt), linear-gradient(var(--kc) 0 0) top left / var(--kt) var(--kl), linear-gradient(var(--kc) 0 0) top right / var(--kl) var(--kt), linear-gradient(var(--kc) 0 0) top right / var(--kt) var(--kl), linear-gradient(var(--kc) 0 0) bottom left / var(--kl) var(--kt), linear-gradient(var(--kc) 0 0) bottom left / var(--kt) var(--kl), linear-gradient(var(--kc) 0 0) bottom right / var(--kl) var(--kt), linear-gradient(var(--kc) 0 0) bottom right / var(--kt) var(--kl);background-repeat:no-repeat;transition:opacity .12s ease-out,inset .12s ease-out;position:absolute;inset:-6px}@media (hover:hover){.key-overlay-btn:hover:before{opacity:1;inset:-4px}}.key-overlay-btn:focus-visible:before{opacity:1;inset:-4px}.key-overlay-btn.selected{background-color:#20abf452;border-color:#0b75b5}.key-overlay-btn.selected:after{content:"✓";color:#fff;text-align:center;pointer-events:none;background:#0b75b5;border-radius:9999px;width:15px;height:15px;font-size:10px;font-weight:700;line-height:15px;position:absolute;top:-7px;right:-7px;box-shadow:0 0 0 2px #fff}.key-btn[data-cart-qty]:not(.key-overlay-btn){position:relative}.key-btn[data-cart-qty]:after{content:"×" attr(data-cart-qty);color:#fff;text-align:center;pointer-events:none;z-index:2;background:#0b75b5;border-radius:9999px;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;line-height:18px;position:absolute;top:-8px;right:-8px;box-shadow:0 0 0 2px #fff}@keyframes lk-key-added{0%{transform:scale(1);box-shadow:0 0 #20abf499}35%{transform:scale(1.12);box-shadow:0 0 0 6px #20abf459}to{transform:scale(1);box-shadow:0 0 0 10px #20abf400}}.key-btn.key-just-added{z-index:1;animation:.45s ease-out lk-key-added}.lk-added-tag{color:#166534;vertical-align:1px;background:#dcfce7;border-radius:9999px;margin-left:.25rem;padding:0 .4rem;font-size:11px;font-weight:600;line-height:1.4;display:inline-block}.lk-kp-just-added{background:#f0fdf4;transition:background-color .6s ease-out}.lk-rq-root{z-index:200;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.lk-rq-backdrop{background:#00000080;position:absolute;inset:0}.lk-rq-dialog{background:#fff;border-radius:.75rem;width:100%;max-width:24rem;max-height:100%;padding:1.25rem;position:relative;overflow-y:auto;box-shadow:0 20px 25px -5px #0003,0 8px 10px -6px #0003}.lk-rq-close{color:#6b7280;background:0 0;border-radius:9999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex;position:absolute;top:.5rem;right:.5rem}.lk-rq-close svg{width:1.25rem;height:1.25rem}.lk-rq-close:hover{color:#111827;background:#f3f4f6}.lk-rq-close:focus-visible{outline-offset:2px;outline:2px solid #20abf4}.lk-rq-title{padding-right:2rem}.lk-rq-check{color:#166534;text-align:center;background:#dcfce7;border-radius:9999px;width:2rem;height:2rem;margin:0 0 .5rem;font-weight:700;line-height:2rem}.lk-rq-title{color:#111827;margin:0;font-size:1rem;font-weight:600}.lk-rq-desc{color:#4b5563;margin:.5rem 0 0;font-size:.875rem;line-height:1.45}.lk-rq-stepper{justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;display:flex}.lk-rq-step-label{color:#374151;font-size:.875rem}.lk-rq-step-controls{border:1px solid #d1d5db;border-radius:.5rem;align-items:center;display:inline-flex;overflow:hidden}.lk-rq-step{color:#111827;background:#fff;width:2.5rem;height:2.5rem;font-size:1.125rem;line-height:1}.lk-rq-step:hover:not(:disabled){background:#f3f4f6}.lk-rq-step:disabled{color:#d1d5db;cursor:not-allowed}.lk-rq-qty{text-align:center;font-variant-numeric:tabular-nums;color:#111827;min-width:2.25rem;font-weight:600}.lk-rq-actions{flex-direction:column;gap:.5rem;margin-top:1.25rem;display:flex}.lk-rq-btn{border-radius:.5rem;width:100%;padding:.625rem .75rem;font-size:.875rem;font-weight:600}.lk-rq-btn-primary{color:#fff;background:#0b75b5}.lk-rq-btn-primary:hover{background:#09649b}.lk-rq-btn-secondary{color:#374151;background:#fff;border:1px solid #d1d5db;font-weight:500}.lk-rq-btn-secondary:hover{border-color:#20abf4}.lk-rq-btn:focus-visible,.lk-rq-step:focus-visible{outline-offset:2px;outline:2px solid #20abf4}@media (prefers-reduced-motion:reduce){.key-overlay-btn:before{transition:none}.key-btn.key-just-added{animation:none}}
