.offer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px;margin:28px 0}
.offer-card{padding:24px;background:#fff;border:1px solid var(--line,#d8ded7);border-radius:10px;border-top:3px solid var(--felt,#073b2e)}
.offer-card h3{margin:12px 0;font-size:22px;letter-spacing:-.4px}
.offer-card h3 a{text-decoration:none}
.offer-notes{font-size:13px;color:var(--muted,#53635a);line-height:1.7}
.offer-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;font-size:13px;margin:16px 0 0}
.offer-cta{display:inline-flex;align-items:center;min-height:44px;padding:10px 16px;background:var(--red,#b72e39);color:#fff;border-radius:6px;text-decoration:none;font-weight:600}
.offer-cta:hover{background:#98242f}
.offer-aff-label{font-size:12px;font-weight:600;text-underline-offset:3px}
.offer-rg{font-size:12px;color:var(--muted,#53635a)}
.offers-empty{padding:22px 20px;background:#e9eee5;border:1px solid #d5ded1;border-radius:8px;font-size:15px}
.offers-empty p{margin:0 0 12px}
/* One educational next step. 48px tap target. Terms and safer-gambling links stay in the footer. */
.offers-empty .offers-next{box-sizing:border-box;min-height:48px;height:48px;margin-top:4px;padding:0 24px;gap:12px;font-size:15px;line-height:1.2}
@media (max-width:767px){.offers-empty .offers-next{width:100%}}
/* TD02: hold-state example mark. Not a link and not a claim control. */
.pending-cta{margin:18px 0 0;padding:14px 16px;background:#f4f7f2;border:1px dashed #b7c9bc;border-radius:8px;font-size:15px;line-height:1.5;color:#24352c}
.pending-cta-mark{font-weight:700}
.pending-cta-state{font-weight:700}
