.sdpz-newsletter { margin-block: 64px 24px; padding: clamp(24px, 5vw, 48px); background: var(--sdpz-brown-100, #eee5d8); border-radius: var(--r-lg, 16px); }
.article-body .sdpz-newsletter h2 { margin-top: 0; }
.sdpz-newsletter__form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 24px; }
.sdpz-newsletter__field { display: flex; flex-direction: column; gap: 7px; }
.sdpz-newsletter__field label { font-weight: 600; }
.sdpz-newsletter__field label span { color: var(--sdpz-orange-600, #b84b16); margin-left: 3px; }
.sdpz-newsletter__field input { box-sizing: border-box; width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid var(--color-border, #b9ad9e); border-radius: var(--r-sm, 6px); background: #fff; color: inherit; font: inherit; }
.sdpz-newsletter__field input:focus { outline: 3px solid color-mix(in srgb, var(--sdpz-orange-500, #c65c22) 35%, transparent); border-color: var(--sdpz-orange-500, #c65c22); }
.sdpz-newsletter__privacy { grid-column: 1 / -1; margin: 0; max-width: 70ch; font-size: .925em; color: var(--color-fg-2, #594f46); }
.sdpz-newsletter__field-error { grid-column: 1 / -1; margin: -14px 0 0; color: #a52a2a; font-weight: 600; }
.sdpz-newsletter__field-error:empty { display: none; }
.sdpz-newsletter__field input[aria-invalid="true"] { border-color: #a52a2a; }
.sdpz-newsletter__submit, .sdpz-newsletter-result button { justify-self: start; border: 0; border-radius: var(--r-sm, 6px); padding: 12px 24px; background: var(--sdpz-brown-700, #593d2b); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.sdpz-newsletter__submit:hover, .sdpz-newsletter-result button:hover { background: var(--sdpz-orange-500, #c65c22); }
.sdpz-newsletter__notice { margin-block: 0 24px; padding: 16px 18px; border-left: 4px solid; border-radius: var(--r-sm, 6px); background: #fff; }
.sdpz-newsletter__notice--success { border-color: #47752c; }
.sdpz-newsletter__notice--error { border-color: #a52a2a; }
.sdpz-newsletter__trap { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }
.sdpz-newsletter-result { max-width: 760px; padding-block: 80px; min-height: 45vh; }
.sdpz-newsletter-result form { margin-top: 24px; }
@media (max-width: 700px) { .sdpz-newsletter__form { grid-template-columns: 1fr; } .sdpz-newsletter { margin-block: 40px 16px; } }
