.shop-tile[data-keychain-model]{position:relative}.shop-tile[data-keychain-model]::after{content:'View in 3D';position:absolute;top:12px;left:12px;background:#fffef2ed;color:#304738;border:1px solid #d6dfce;border-radius:99px;padding:6px 11px;font-size:11px;font-weight:650}.shop-tile[data-keychain-model] img{object-fit:contain;background:#f2f4eb}
.retail-page .shop-tile .shop-tile-price{margin:6px 0 0;font-size:15px;line-height:1.5;font-weight:700;color:#244f3e}
/* Product title, price, purchasing controls and delivery note use the original shop classes. */
.keychain-stage{position:relative;overflow:hidden;border-radius:10px;background:radial-gradient(ellipse at 45% 38%,#fffef5,#eef1e7)}.keychain-loading{padding:40px;text-align:center}.keychain-viewport{position:relative;width:100%;aspect-ratio:1;touch-action:none;cursor:grab}.keychain-viewport:active{cursor:grabbing}.keychain-viewport canvas{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;touch-action:none}
.keychain-controls{display:flex;flex-wrap:wrap;gap:6px;padding:12px;border-top:1px solid #dce3d7;background:#fafbf7}.keychain-controls button{min-width:44px;min-height:44px;padding:7px 12px;font-size:13px;border:1px solid #ccd7c2;border-radius:7px;background:white;color:#146d59;cursor:pointer}.keychain-controls button[aria-pressed=true]{background:#edf4eb;border-color:#146d59}
.keychain-view-hint{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:30px auto;gap:3px 9px;align-items:center;width:max-content;max-width:calc(100% - 30px);padding:10px 15px;background:#fffffff0;border:1px solid #d1dccb;border-radius:12px;box-shadow:0 3px 14px #243c2e12;color:#31513e;pointer-events:none;transition:opacity .22s,transform .22s}.keychain-view-hint .keychain-hint-icon{grid-row:1/3;font-size:28px;line-height:1;text-align:center}.keychain-view-hint strong{font-size:16px;line-height:1.4;font-weight:650}.keychain-view-hint small{font-size:11px;line-height:1.4;white-space:nowrap;color:#64755b}.keychain-view-hint.is-dismissed{opacity:0;transform:translate(-50%,6px)}
.keychain-review-note{background:#fff4dd;padding:10px 12px;border-radius:8px;color:#80633b;font-size:13px;line-height:1.8}.ux-delivery-note .keychain-order-note{margin:12px 0;padding:0;border:0;background:transparent;color:#31513e;font-size:14px;line-height:1.8}
@media(max-width:760px){.keychain-viewport{aspect-ratio:1.1}.keychain-controls{gap:5px;padding:9px}.keychain-controls button{flex:1 0 18%;padding:7px 6px}.keychain-view-hint{bottom:14px;padding:8px 10px;gap:2px 7px}.keychain-view-hint strong{font-size:14px}.keychain-view-hint small{font-size:10px}.shop-tile[data-keychain-model]::after{font-size:10px;top:9px;left:9px;padding:4px 8px}.retail-page .shop-tile .shop-tile-price{font-size:14px}}
@media(prefers-reduced-motion:reduce){.keychain-view-hint{transition:none}}
