/* Sculpted purchase controls carry the hero's metal and film grain. */
#buy .offer-action {
 position:relative;isolation:isolate;overflow:hidden;min-height:58px;padding:16px 24px;
 border:1px solid #8299aa;border-radius:999px;
 background:linear-gradient(180deg,#52616b 0%,#293842 12%,#17232c 53%,#111b22 80%,#283a46 100%);
 color:#f3f7fa;font-weight:750;font-size:17px;letter-spacing:-.02em;
 box-shadow:inset 0 1px 1px rgba(255,255,255,.55),inset 0 -3px 5px rgba(0,0,0,.55),0 5px 9px rgba(0,0,0,.28);
 transition:transform .2s ease-out,box-shadow .2s ease-out;
}
#buy .offer-action::before {
 content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
 background:url('../media/tex-grain.webp') center/700px auto;mix-blend-mode:screen;opacity:.20;
}
#buy .offer-action::after {
 content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:linear-gradient(105deg,transparent 25%,rgba(255,255,255,.22) 49%,transparent 72%);
 transform:translateX(-130%);transition:transform .6s ease-out;
}
#buy .offer-lit .offer-action {
 border-color:#c7e0f2;color:#122634;
 background:linear-gradient(180deg,#ecf6fc 0%,#bcd9ed 14%,#a0c6e0 57%,#8cb3ce 85%,#b4d3e8 100%);
 box-shadow:inset 0 1px 1px #fff,inset 0 -3px 5px rgba(43,76,100,.35),0 5px 9px rgba(0,0,0,.28);
}
#buy .offer-action .offer-action-price { color:inherit;font-size:14px;border-left:1px solid rgba(199,222,239,.35);padding-left:18px; }
#buy .offer-lit .offer-action .offer-action-price { border-color:rgba(18,38,52,.25); }
@media(hover:hover) {
 #buy .offer-action:hover { transform:translateY(-2px); }
 #buy .offer-action:hover::after { transform:translateX(130%); }
}
#buy .offer-action:active { transform:translateY(1px);box-shadow:inset 0 2px 5px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.2); }
#buy .offer-action:focus-visible { outline:2px solid #c7e0f2;outline-offset:5px; }
@media(max-width:860px) { #buy .offer-action { min-height:54px;padding:14px 20px;font-size:16px; } }
@media(prefers-reduced-motion:reduce) { #buy .offer-action,#buy .offer-action::after { transition:none; } }
