.keykraft-theme.shop-page .shop-main{max-width:none;padding:0;width:100%}
.shop-first-screen{min-height:calc(100svh - 88px);display:flex;flex-direction:column}
.shop-showcase{position:relative;isolation:isolate;flex:1;min-height:530px;background:linear-gradient(to bottom,#46563b 0%,#46563b 67%,#f1edde 67%,#f1edde 100%);overflow:hidden}
.shop-topline{position:absolute;top:26px;left:4vw;right:4vw;display:flex;justify-content:space-between;gap:20px;color:#f1edde;font-size:12px;letter-spacing:2px;font-weight:600}
.keykraft-theme .shop-word{position:absolute;top:72px;left:0;width:100%;margin:0;text-align:center;color:#f1edde;font-size:clamp(72px,11vw,240px);font-weight:600;line-height:.95;letter-spacing:-.065em}
.shop-stage{position:absolute;inset:120px 0 62px;container-type:size;touch-action:pan-y;z-index:1}
.shop-key{position:absolute;inset:0;margin:auto;width:min(46vw,110cqh,950px);height:100%;background:url('/images/keykraft-keycaps-cutout.png') var(--art-position) center / 400% auto no-repeat;filter:drop-shadow(18px 24px 18px #15201235);opacity:0;visibility:hidden;transform:translateX(40px) rotate(-6deg) scale(.9);transition:opacity .35s,transform .5s,visibility .35s}
.shop-key.is-active{opacity:1;visibility:visible;transform:translateX(0) rotate(-6deg) scale(1)}
.shop-carousel-controls{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;z-index:2}
.shop-carousel-controls button{pointer-events:auto;width:52px;height:52px;border-radius:50%;border:1px solid #f1edde77;background:#ffffff08;color:#f1edde;font-size:30px;line-height:1;cursor:pointer}
.shop-carousel-controls button:hover{background:#f1edde;color:#46563b}
.shop-caption{position:absolute;bottom:30px;left:4vw;z-index:2}.shop-caption p{font-size:12px;letter-spacing:1.5px;margin:0 0 6px}.keykraft-theme .shop-caption h2{font-size:30px;font-weight:500;margin:0}
.shop-dots{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);display:flex;z-index:3}.shop-dots button{width:36px;height:36px;border:0;background:none;display:grid;place-items:center;cursor:pointer}.shop-dots button:after{content:'';width:6px;height:6px;border-radius:6px;background:#46563b55;transition:width .2s}.shop-dots button[aria-pressed=true]:after{width:24px;background:#46563b}
.shop-count{position:absolute;bottom:35px;right:4vw;font-size:12px;letter-spacing:3px;margin:0}
.shop-purchase-bar{display:grid;grid-template-columns:1.1fr .55fr 1.7fr;align-items:center;gap:16px 30px;border-top:1px solid #cfd2bf;margin:0 4vw;padding:25px 0 22px}
.keykraft-theme .shop-purchase-copy h2{font-size:20px;margin:0 0 9px;letter-spacing:-.4px}.shop-purchase-copy p{font-size:14px;line-height:1.6;margin:0;color:#626a59}
.shop-price-label{font-size:12px;letter-spacing:1.4px;margin:0 0 8px}.keykraft-theme .shop-price-block .product-price{font-size:30px;line-height:1.1;margin:0;font-weight:500;white-space:nowrap}.shop-price-block #price-unit{font-size:16px}
.shop-buy-controls{display:grid;grid-template-columns:136px minmax(150px,1fr) minmax(120px,.8fr);align-items:end;gap:12px}.shop-buy-controls label{display:block;font-size:14px;margin-bottom:7px}.shop-buy-controls .quantity-control{height:50px;width:136px;grid-template-columns:40px 54px 40px}.shop-buy-controls .quantity-control button,.shop-buy-controls .quantity-control input{width:100%;height:48px;min-width:0}.shop-buy-controls .button{height:50px;padding:0 16px;margin:0;font-size:15px;white-space:nowrap}.shop-buy-controls .add-to-cart svg{width:20px;height:20px}.shop-buy-controls .shop-guide{display:flex;align-items:center;justify-content:center;text-decoration:none}
.shop-purchase-bar .cart-feedback{margin:8px 0 0;font-size:14px;min-height:20px}.shop-shipping{grid-column:1/-1;text-align:center;font-size:12px;color:#626a59;margin:0;line-height:1.6}
.shop-support{max-width:1600px;margin:auto;padding:30px 4vw 60px}.shop-support .product-benefits{max-width:900px;margin:0 auto 45px}.shop-support .product-benefits svg{width:32px;height:32px}.shop-support .product-benefits span{font-size:14px}
.shop-stage:focus-visible{outline:2px solid #f1edde;outline-offset:-10px}.shop-dots button:focus-visible,.shop-carousel-controls button:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(min-width:1800px){.shop-purchase-bar{padding:30px 4vw}.shop-purchase-copy p{font-size:16px}.shop-buy-controls .button{font-size:16px}}
@media(max-width:1100px){.shop-purchase-bar{grid-template-columns:1fr auto}.shop-purchase-bar form{grid-column:1/-1}.shop-buy-controls{grid-template-columns:150px 1fr 1fr}.shop-showcase{min-height:500px}.shop-key{width:min(58vw,115cqh)}.shop-word{top:80px}}
@media(max-width:700px){.shop-first-screen{min-height:auto}.shop-showcase{flex:none;height:490px;min-height:0}.shop-topline{top:22px;left:22px;right:22px;font-size:10px;letter-spacing:1px;gap:12px}.shop-topline span:last-child{text-align:right;max-width:125px}.keykraft-theme .shop-word{top:86px;font-size:14vw;line-height:.95;padding:0 20px}.shop-stage{inset:120px 0 75px}.shop-key{width:min(88vw,370px)}.shop-carousel-controls{padding:0 14px}.shop-carousel-controls button{width:38px;height:38px;font-size:25px}.shop-caption{left:22px;bottom:27px}.shop-caption p{font-size:10px}.keykraft-theme .shop-caption h2{font-size:24px}.shop-count{bottom:60px;right:22px}.shop-dots{bottom:19px;left:auto;right:14px;transform:none}.shop-dots button{width:30px}.shop-purchase-bar{margin:0 22px;padding:22px 0;gap:22px 12px}.keykraft-theme .shop-purchase-copy h2{font-size:18px;max-width:220px}.shop-purchase-copy p{font-size:13px}.shop-price-label{font-size:10px;max-width:90px;line-height:1.5}.keykraft-theme .shop-price-block .product-price{font-size:25px}.shop-price-block .price-currency{display:block;font-size:12px;margin-top:5px}.shop-price-block #price-unit{font-size:13px}.shop-buy-controls{grid-template-columns:136px 1fr;gap:12px}.shop-buy-controls .shop-guide{grid-column:1/-1}.shop-shipping{font-size:12px}.shop-support{padding-top:20px}.shop-support .product-benefits{gap:12px}.shop-support .product-benefits span{font-size:12px}}
@media(prefers-reduced-motion:reduce){.shop-key,.shop-dots button:after{transition:none}}
.shop-buy-controls .quantity-control{display:grid}.shop-buy-controls .quantity-control input{padding:0;text-align:center}
@media(max-width:700px){.keykraft-theme .shop-word{font-size:10.5vw;white-space:nowrap;padding:0 12px}}
