.scratch-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.bundle-card.scratch-offer:not(.revealed):hover { transform: none; }
.bundle-card.scratch-offer > .scratch-cover { position: absolute; inset: 0; z-index: 10; display: block; width: 100%; height: 100%; margin: 0; padding: 0; overflow: hidden; border: 0; border-radius: inherit; background: #ffb200; color: #533c0a; cursor: crosshair; touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; transition: opacity .28s ease; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; }
.bundle-card.scratch-offer > .scratch-cover[hidden] { display: none; }
.bundle-card.scratch-offer > .scratch-cover:focus-visible { outline: 3px solid #533c0a; outline-offset: -6px; }
.scratch-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; pointer-events: none; }
.scratch-copy { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 20px; text-align: center; pointer-events: none; transition: opacity .14s ease; }
.scratch-copy > strong { position: relative; z-index: 1; max-width: 310px; font-size: 23px; font-weight: 700; letter-spacing: -.3px; line-height: 1.3; }
.scratch-hint { position: absolute; inset: 0; width: calc(100% - 12px); height: auto; max-width: 317px; max-height: 143px; margin: auto; opacity: .4; }
.scratch-hint path { stroke-dasharray: 1200; stroke-dashoffset: 1200; animation: scratch-gesture 2.8s cubic-bezier(.4, 0, .2, 1) infinite; }
.bundle-card.scratch-offer.scratching > .scratch-cover { background: transparent; }
.scratch-offer.scratching .scratch-copy { opacity: 0; }
.bundle-card.scratch-offer.revealing > .scratch-cover { opacity: 0; }
@keyframes scratch-gesture { 0% { stroke-dashoffset: 1200; opacity: 1; } 60%, 80% { stroke-dashoffset: 0; opacity: 1; } 100% { stroke-dashoffset: 0; opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .scratch-hint path { animation: none; stroke-dashoffset: 0; }
  .scratch-cover, .scratch-copy { transition: none; }
}
