/* Keep the seal isolated from legacy global button and coupon styles. */
body .floating-coupon-widget { width: 144px; height: 144px; aspect-ratio: 1; filter: drop-shadow(0 12px 18px rgba(7, 18, 22, .22)); }
body .floating-coupon-widget button,
body .floating-coupon-widget button:hover,
body .floating-coupon-widget button:focus {
  display: block; position: relative; box-sizing: border-box;
  width: 100%; height: 100%; min-height: 0; padding: 0; margin: 0;
  border: 5px solid #fff; border-radius: 50%; background: #f8f6ef;
  color: #182126; box-shadow: inset 0 0 0 1px #b79a64, inset 0 0 0 4px #f8f6ef, inset 0 0 0 5px rgba(31, 42, 47, .4);
  animation: none; transform: none; overflow: hidden; touch-action: none;
  transition: box-shadow .2s ease, transform .2s ease;
}
body .floating-coupon-widget button::before,
body .floating-coupon-widget button::after { content: none; display: none; }
body .coupon-seal-art { position: absolute; inset: 0; display: block; animation: couponSealTurn 16s linear infinite; pointer-events: none; }
body .floating-coupon-ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: none; }
body .floating-coupon-ring circle { fill: none !important; stroke: #b79a64 !important; stroke-width: 1px; stroke-dasharray: 1 5; stroke-linecap: round; }
body .floating-coupon-ring text { fill: #303a3e; font: 600 9.5px "Microsoft YaHei", "PingFang SC", sans-serif; letter-spacing: 0; }
body .floating-coupon-core { position: absolute; inset: 35px; width: auto; height: auto; display: grid; place-content: center; gap: 2px; border: 1px solid rgba(183,154,100,.72); border-radius: 50%; background: #fcfbf7; box-shadow: 0 0 0 3px rgba(183,154,100,.1), inset 0 1px 0 #fff; }
body .floating-coupon-core small,
body .floating-coupon-core em { color: #303a3e; font-size: 12px; font-style: normal; line-height: 1.2; letter-spacing: 0; }
body .floating-coupon-core small { color: #79633d; font-size: 11px; }
body .floating-coupon-core strong { color: #182126; font-family: Georgia, "Times New Roman", serif; font-size: 29px; font-weight: 700; line-height: 1; }
body .coupon-seal-prompt { position: absolute; inset: 30px; display: grid; place-content: center; border: 1px solid #b79a64; border-radius: 50%; background: #fcfbf7; color: #273237; font-size: 12px; font-weight: 600; line-height: 1.45; opacity: 0; pointer-events: none; box-shadow: 0 0 0 3px rgba(183,154,100,.1); transition: opacity .18s ease; }
body .coupon-seal-prompt strong { font-family: Georgia, "Times New Roman", serif; font-size: 18px; color: #79633d; }
body .floating-coupon-widget:hover .coupon-seal-art,
body .floating-coupon-widget:focus-within .coupon-seal-art,
body .floating-coupon-widget.is-dragging .coupon-seal-art { animation-play-state: paused; }
body .floating-coupon-widget:hover .floating-coupon-core,
body .floating-coupon-widget:focus-within .floating-coupon-core { visibility: hidden; }
body .floating-coupon-widget:hover .coupon-seal-prompt,
body .floating-coupon-widget:focus-within .coupon-seal-prompt { opacity: 1; }
body .floating-coupon-widget:hover button,
body .floating-coupon-widget:focus-within button { transform: translateY(-2px); box-shadow: inset 0 0 0 1px #b79a64, inset 0 0 0 4px #f8f6ef, inset 0 0 0 5px rgba(31,42,47,.4), 0 8px 18px rgba(7,18,22,.12); }
body .floating-coupon-widget button:focus-visible { outline: 2px solid #297a73; outline-offset: 3px; }
@keyframes couponSealTurn { to { transform: rotate(360deg); } }
@media(max-width: 600px) { body .floating-coupon-widget { width: 120px; height: 120px; } body .floating-coupon-core { inset: 29px; } body .floating-coupon-core strong { font-size: 24px; } body .floating-coupon-core small { font-size: 9px; } body .floating-coupon-core em { font-size: 10px; } }
@media(prefers-reduced-motion: reduce) { body .coupon-seal-art { animation: none; } }
