/* Option A 2.0.0. Scoped; no document/body changes, backdrop, motion or focus trap. */
.ffp-offer { box-sizing:border-box; position:fixed; z-index:30; right:30px; bottom:30px; width:440px; max-width:calc(100% - 32px); padding:32px; border:1px solid #dce0d4; border-top:5px solid #1565c0; border-radius:12px; background:#fbf7ee; color:#173b4b; box-shadow:0 20px 70px #153b4d28; font:1rem/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; text-align:left; isolation:isolate; }
.ffp-offer *, .ffp-offer *::before, .ffp-offer *::after { box-sizing:border-box; }
.ffp-offer[hidden] { display:none !important; }
.ffp-offer .ffp-offer__art { height:86px; margin:10px -10px 0; padding:0; background:transparent; pointer-events:none; }
.ffp-offer .ffp-offer__art img { display:block; width:100%; height:100%; object-fit:contain; border:0; border-radius:0; margin:0; padding:0; background:transparent; box-shadow:none; }
.ffp-offer .ffp-offer__line { display:flex; align-items:center; gap:10px; padding-right:20px; }
.ffp-offer .ffp-offer__pill { font-size:.5625em; line-height:1.5; padding:4px 6px; background:#e8efe6; color:#456247; border-radius:3px; letter-spacing:.08em; }
.ffp-offer .ffp-offer__merchant { display:block; font-size:.6875em; line-height:1.5; font-weight:750; letter-spacing:.11em; text-transform:uppercase; margin:0; padding:0; }
.ffp-offer .ffp-offer__heading { display:block; font-family:inherit; font-size:2.25em; font-weight:850; line-height:1.06; letter-spacing:-.044em; color:#173b4b; margin:14px 0 12px; padding:0; }
.ffp-offer .ffp-offer__heading span { display:block; }
.ffp-offer .ffp-offer__support { max-width:310px; font:inherit; font-size:.9375em; line-height:1.6; color:#50666d; margin:0 0 18px; padding:0; }
.ffp-offer .ffp-offer__cta { display:flex; align-items:center; justify-content:center; min-height:52px; min-width:44px; width:100%; margin:0; padding:12px 20px; border:0; border-radius:6px; background:#c45100; color:#fff; font:inherit; font-size:1em; font-weight:750; line-height:1.5; text-decoration:none; box-shadow:0 3px 0 #983e00; }
.ffp-offer .ffp-offer__terms { margin:14px 0 0; padding:0; }
.ffp-offer .ffp-offer__disclosure { font:inherit; font-size:.625em; line-height:1.5; color:#63716c; margin:0; padding:0; }
.ffp-offer .ffp-offer__close { position:absolute; z-index:2; top:10px; right:10px; display:flex; align-items:center; justify-content:center; width:44px; height:44px; min-width:44px; min-height:44px; margin:0; padding:0; border:0; border-radius:50%; background:transparent; color:#48616a; font:1.5625em/1 system-ui,sans-serif; box-shadow:none; cursor:pointer; }
.ffp-offer .ffp-offer__close:hover { background:#e6e8df; color:#173b4b; }
.ffp-offer .ffp-offer__cta:hover, .ffp-offer .ffp-offer__cta:focus { background:#a94400; color:#fff; text-decoration:none; }
.ffp-offer :focus-visible { outline:3px solid #1565c0; outline-offset:3px; }
/* A genuinely compact mobile adaptation, not the tall prototype squeezed down. */
@media(max-width:640px) {
  .ffp-offer { right:0; bottom:0; width:100%; max-width:100%; padding:8px 10px; padding-bottom:max(8px,env(safe-area-inset-bottom)); border-width:3px 0 0; border-radius:10px 10px 0 0; }
  .ffp-offer .ffp-offer__line { gap:7px; padding-right:44px; }
  .ffp-offer .ffp-offer__pill { font-size:.5em; padding:3px 4px; }
  .ffp-offer .ffp-offer__merchant { font-size:.625em; line-height:1.35; padding:0; }
  .ffp-offer .ffp-offer__heading { font-size:1.25em; line-height:1.06; letter-spacing:-.025em; margin:2px 96px 6px 0; }
  .ffp-offer .ffp-offer__art { position:absolute; top:30px; right:6px; width:96px; height:48px; margin:0; }
  .ffp-offer .ffp-offer__support { display:none; }
  .ffp-offer .ffp-offer__cta { min-height:44px; font-size:.875em; line-height:1.25; padding:8px 12px; }
  .ffp-offer .ffp-offer__terms { margin:6px 0 0; }
  .ffp-offer .ffp-offer__disclosure { font-size:.625em; line-height:1.2; }
  .ffp-offer .ffp-offer__close { top:0; right:0; }
}
