.dwi-newsletter-form { max-width: 920px; margin: 0 auto; }
.dwi-newsletter-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; }
.dwi-newsletter-fields label { display: block; }
.dwi-newsletter-fields input { width: 100%; min-height: 50px; padding: 11px 14px; border: 1px solid rgba(101,22,43,.34); border-radius: 0; background: #fff; color: #231f20; }
.dwi-newsletter-fields input:focus { border-color: #65162b; outline: 2px solid rgba(101,22,43,.12); outline-offset: 0; }
.dwi-newsletter-fields button { min-height: 50px; padding: 11px 25px; border: 1px solid #65162b; background: #65162b; color: #fff; cursor: pointer; font-size: 12px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.dwi-newsletter-fields button:hover { background: #3c0916; }
.dwi-newsletter-fields button:disabled { cursor: wait; opacity: .65; }
.dwi-newsletter-consent { max-width: 760px; display: flex; justify-content: center; align-items: flex-start; gap: 8px; margin: 15px auto 0; color: #6d6961; font-size: 11px; line-height: 1.5; text-align: left; }
.dwi-newsletter-consent input { flex: 0 0 auto; margin-top: 2px; accent-color: #65162b; }
.dwi-newsletter-status { min-height: 20px; margin: 10px 0 0; color: #8c1c32; font-size: 12px; }
.dwi-newsletter-status.is-success { color: #315b30; }
.dwi-newsletter-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; opacity: 0 !important; }

body.dwi-newsletter-open { overflow: hidden; }
.dwi-newsletter-modal { position: fixed; z-index: 100000; inset: 0; display: grid; place-items: center; padding: 24px; }
.dwi-newsletter-modal__backdrop { position: absolute; inset: 0; background: rgba(28,12,14,.72); backdrop-filter: blur(3px); }
.dwi-newsletter-modal__dialog { position: relative; width: min(580px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; padding: clamp(40px, 6vw, 66px); background: #fbf8f2; box-shadow: 0 28px 80px rgba(0,0,0,.28); text-align: center; }
.dwi-newsletter-modal__dialog::before { content: ''; position: absolute; inset: 12px; border: 1px solid rgba(101,22,43,.18); pointer-events: none; }
.dwi-newsletter-modal__close { position: absolute; z-index: 1; top: 18px; right: 20px; width: 40px; height: 40px; border: 0; background: transparent; color: #65162b; cursor: pointer; font: 300 32px/1 Arial, sans-serif; }
.dwi-newsletter-modal__eyebrow { margin: 0 0 12px; color: #58613a; font-size: 11px; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.dwi-newsletter-modal h2 { margin: 0; color: #65162b; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(36px, 5vw, 52px); font-weight: 400; line-height: 1.02; }
.dwi-newsletter-modal__dialog > p:not(.dwi-newsletter-modal__eyebrow) { max-width: 430px; margin: 18px auto 25px; color: #6d6961; }
.dwi-newsletter-form--popup .dwi-newsletter-fields { grid-template-columns: 1fr auto; }

@media (max-width: 760px) {
	.dwi-newsletter-fields { grid-template-columns: 1fr 1fr; }
	.dwi-newsletter-fields label:nth-child(3), .dwi-newsletter-fields button { grid-column: 1 / -1; }
	.dwi-newsletter-modal { padding: 14px; }
	.dwi-newsletter-modal__dialog { max-height: calc(100vh - 28px); padding: 48px 25px 34px; }
	.dwi-newsletter-form--popup .dwi-newsletter-fields { grid-template-columns: 1fr; }
	.dwi-newsletter-form--popup .dwi-newsletter-fields button { grid-column: auto; }
}

@media (max-width: 440px) {
	.dwi-newsletter-fields { grid-template-columns: 1fr; }
	.dwi-newsletter-fields label, .dwi-newsletter-fields label:nth-child(3), .dwi-newsletter-fields button { grid-column: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.dwi-newsletter-modal__backdrop { backdrop-filter: none; }
}
