.sp-optin-trap { position: absolute; left: -9999px; height: 0; width: 0; }
.sp-optin { font: 16px/1.45 system-ui, sans-serif; color: #1c2430; }
.sp-optin-card { background: #f7f4ee; padding: 1.2rem; border-radius: 16px; max-width: 420px; }
.sp-optin-lightbox, .sp-optin-fullscreen { position: fixed; inset: 0; z-index: 99991; display: flex; align-items: center; justify-content: center; background: rgba(28, 36, 48, 0.55); }
.sp-optin-fullscreen .sp-optin-card { min-height: 50vh; width: min(640px, 92vw); }
.sp-optin-bar { position: fixed; left: 0; right: 0; z-index: 99991; display: flex; justify-content: center; }
.sp-optin-top { top: 0; }
.sp-optin-bottom { bottom: 0; }
.sp-optin-bar .sp-optin-card { max-width: none; width: 100%; border-radius: 0; display: flex; gap: 1rem; align-items: center; }
.sp-optin-slide { position: fixed; right: 1rem; bottom: 1rem; z-index: 99991; }
.sp-optin-split .sp-optin-card { display: grid; grid-template-columns: 8px 1fr; }
.sp-optin-split .sp-optin-card:before { content: ""; background: #1f7a6b; border-radius: 16px 0 0 16px; }
.sp-theme-ink .sp-optin-card { background: #1c2430; color: #f7f4ee; }
.sp-theme-teal .sp-optin-card { border-top: 6px solid #1f7a6b; }
.sp-theme-amber .sp-optin-card { border-top: 6px solid #e2a122; }
.sp-theme-clay .sp-optin-card { background: #f3e6d8; }
.sp-theme-pine .sp-optin-card { background: #e7f2ef; }
.sp-optin input, .sp-optin button { font: inherit; margin: 0.3rem 0.3rem 0 0; padding: 0.45rem 0.6rem; }
.sp-optin button { background: #1f7a6b; color: white; border: 0; border-radius: 999px; }
.sp-optin-close { background: transparent; color: inherit; }
