/* FS Newsletter – Frontend (Shortcode-Formular, Bestätigungs-/Abmeldeseite) */
.fs-nl-form { max-width: 560px; }
.fs-nl-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fs-nl-form__row { display: flex; gap: 8px; flex-wrap: wrap; }
.fs-nl-form__row input { flex: 1 1 180px; min-width: 0; padding: 13px 16px; border-radius: 999px; border: 1px solid rgba(127,127,127,.35); background: rgba(127,127,127,.08); color: inherit; font: inherit; }
.fs-nl-form__row button { padding: 13px 22px; border-radius: 999px; border: 0; background: #c8ff00; color: #0b0b0f; font: inherit; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
.fs-nl-form__row button:disabled { opacity: .6; }
.fs-nl-form__msg { margin: 10px 0 0; font-size: 14px; min-height: 1.4em; }
.fs-nl-form__msg.is-ok { color: #4cc38a; } .fs-nl-form__msg.is-error { color: #ff3b5c; }
.fs-nl-form__legal { font-size: 12px; opacity: .7; margin-top: 8px; }
.fs-nl-box { max-width: 640px; margin: 0 auto; padding: clamp(24px, 4vw, 40px); border-radius: 24px; background: rgba(127,127,127,.08); border: 1px solid rgba(127,127,127,.25); text-align: center; }
.fs-nl-box__icon { display: inline-grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; font-weight: 900; font-size: 24px; margin-bottom: 14px; background: #c8ff00; color: #0b0b0f; }
.fs-nl-box--error .fs-nl-box__icon { background: #ff3b5c; color: #fff; }
.fs-nl-box--info .fs-nl-box__icon { background: rgba(127,127,127,.25); color: inherit; }
.fs-nl-box h2 { margin: 0 0 10px; font-size: clamp(24px, 3vw, 34px); line-height: 1.1; }
.fs-nl-box p { margin: 0 0 16px; opacity: .85; line-height: 1.6; }
.fs-nl-box__coupon { font-size: 15px; } .fs-nl-box__coupon b { display: inline-block; padding: 4px 12px; border-radius: 8px; border: 2px dashed #c8ff00; color: #c8ff00; letter-spacing: .08em; font-size: 18px; margin-left: 6px; }
.fs-nl-box__btn { display: inline-block; padding: 14px 26px; border-radius: 999px; border: 0; background: #c8ff00; color: #0b0b0f !important; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; text-decoration: none; cursor: pointer; font: inherit; }
.fs-nl-box__btn--ghost { background: transparent; color: inherit !important; border: 1px solid rgba(127,127,127,.4); }
.fs-nl-unsub { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; align-items: center; }
.fs-nl-unsub--req input { flex: 1 1 220px; min-width: 0; padding: 13px 16px; border-radius: 999px; border: 1px solid rgba(127,127,127,.35); background: rgba(127,127,127,.08); color: inherit; font: inherit; }
.fs-nl-checkout { margin: 10px 0 14px; }
