:root{--re-green:#056e2c;--re-bg:#fff;--re-dark:#18231b;--re-shadow:0 24px 40px rgba(0,0,0,.18)}
#re-pro-portal{position:fixed;z-index:999999;inset:0;pointer-events:none}
.re-row{display:flex;gap:10px;align-items:center}
.re-btn{background:var(--re-green);color:#fff;border:none;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer}
.re-btn.alt{background:#ecf2ee;color:#0b1a10}
.re-input{border:1px solid #d7e0d8;border-radius:10px;padding:12px}

/* Micro-overlay */
.re-md{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:999998;opacity:0;pointer-events:none;transition:opacity .2s}
.re-md.show{opacity:1;pointer-events:auto}
.re-md-card{background:#fff;border-radius:20px;box-shadow:var(--re-shadow);width:min(540px,92vw);padding:22px}
.re-md-title{font-weight:800;font-size:20px;margin:0 0 6px}
.re-md-sub{font-size:14px;color:#39463e;margin-bottom:10px}
.re-md-list{margin:10px 0 16px; padding-left:18px}
.re-md-cta{display:flex;gap:10px;align-items:center}
.re-md-timer{font-size:12px;color:#5a6a60}

/* Recapture modal */
.re-rc{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:999999;opacity:0;pointer-events:none;transition:opacity .2s}
.re-rc.show{opacity:1;pointer-events:auto}
.re-rc-card{background:#fff;border-radius:16px;box-shadow:var(--re-shadow);width:min(420px,92vw);padding:18px}
.re-rc-title{font-weight:800;font-size:18px;margin:0 0 8px}

/* Footer takeover */
.re-ft{position:fixed;left:0;right:0;bottom:0;background:#0e1b14;color:#fff;border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -16px 30px rgba(0,0,0,.25);z-index:999998;transform:translateY(100%);transition:transform .3s ease}
.re-ft.show{transform:translateY(0)}
.re-ft-wrap{display:flex;flex-direction:column;gap:10px;padding:16px;height:100%}
.re-ft-close{position:absolute;right:12px;top:12px;background:rgba(255,255,255,.08);border:none;color:#fff;border-radius:10px;padding:8px 10px;cursor:pointer}
.re-ft-title{font-weight:900;font-size:20px}
.re-ft-copy{opacity:.9}
.re-ft-actions{display:flex;gap:8px;margin-top:6px}
.re-ft .re-btn{flex:1}
.re-ft-form{display:flex;gap:8px;margin-top:6px;align-items:center}
.re-ft-form .re-input{flex:1}
.re-ft-bm{background:rgba(255,255,255,.06);border-radius:10px;padding:10px;margin-top:6px;font-size:14px}
.re-ft-bm-ok{color:#7df39f;font-weight:800;margin-top:6px}

/* CTA offers grid */
.re-offers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}
@media(max-width:1024px){.re-offers{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){.re-offers{grid-template-columns:1fr;}}
.re-off{background:#13251b;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px;display:flex;gap:12px;align-items:center}
.re-off img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:#fff}
.re-off .re-off-c{display:flex;flex-direction:column;gap:4px}
.re-off .re-off-n{font-weight:800}
.re-off .re-off-b{font-size:12px;opacity:.9}
.re-off .re-off-a{margin-left:auto}
