.tlShop { color: #8c2f87; }
.tlShopHeader { margin: 0 0 20px; padding: 22px; border: 2px solid #c99a3c; border-radius: 4px; background: linear-gradient(135deg,#f8edda,#ddc69a); }
.tlShop .tlShopEyebrow, .tlShop .tlShopPrice, .tlShop h1, .tlShop h2 { color: #12049f; }
.tlShop .tlShopEyebrow { font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; }
.tlShop h1, .tlShop h2 { font-family: Georgia, "Times New Roman", serif; margin-top: 0; }
.tlShop p { color: #8c2f87; }
.tlShopGrid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,220px),1fr)); gap: 16px; }
.tlShopCard { display: flex; flex-direction: column; min-width: 0; padding: 20px; border: 1px solid #c99a3c; border-radius: 4px; background: linear-gradient(145deg,#f8edda,#e7d2a9); box-shadow: inset 0 0 0 2px rgba(255,220,138,.08); }
.tlShopCard h2 { font-size: 1.2rem; line-height: 1.35; overflow-wrap: anywhere; }
.tlShopSprite { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 0 14px; border: 1px solid rgba(239,199,112,.4); border-radius: 4px; background: rgba(7,19,32,.5); }
.tlShopSprite img { display: block; width: 32px; height: 32px; image-rendering: pixelated; }
.tlShopCard p { margin: 0 0 14px; }
.tlShopCard .tlShopPrice { margin-top: auto; font-weight: 700; }
.tlShopCard form { margin: 0; }
.tlShopCard button { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #efcb76; border-radius: 4px; background: linear-gradient(#367bb4,#205889); color: #fff8e9; font-weight: 700; cursor: pointer; }
.tlShopCard button:disabled { cursor: default; opacity: .55; }
.tlShopCard button:focus-visible { outline: 3px solid #ffdf82; outline-offset: 3px; }
.tlShopNotice { padding: 16px; border: 1px solid #c99a3c; border-radius: 4px; background: #122d48; color: #fff3d7; }
@media (prefers-reduced-motion: reduce) { .tlShop * { transition: none; } }
