/* ---------- Newsletter signup (DD Core form) ---------- */
.dd-signup { --dd-signup-h: 60px; position: relative; width: 100%; max-width: 540px; margin: 26px auto 0; text-align: center; }
.dd-signup__label, .dd-signup__hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.dd-signup__field { display: flex; align-items: center; gap: 6px; padding: 6px; background: #fff; border: 1px solid rgba(31, 26, 28, .14); border-radius: 999px; box-shadow: 0 1px 2px rgba(31, 26, 28, .04), 0 10px 30px -12px rgba(110, 20, 70, .22); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.dd-signup__field:focus-within { border-color: var(--dd-fuchsia); box-shadow: 0 0 0 4px rgba(181, 23, 106, .12), 0 14px 34px -14px rgba(110, 20, 70, .32); }
.dd-signup__input { flex: 1 1 auto; min-width: 0; height: calc(var(--dd-signup-h) - 12px); padding: 0 8px 0 20px; border: 0; background: transparent; font: inherit; font-size: 17px; color: var(--dd-ink); outline: none; }
.dd-signup__input::placeholder { color: #9A8F93; }
.dd-signup__button { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: calc(var(--dd-signup-h) - 12px); padding: 0 24px; border: 0; border-radius: 999px; background: var(--dd-fuchsia); color: #fff; font: inherit; font-size: 16px; font-weight: 700; letter-spacing: .01em; cursor: pointer; transition: background .2s ease, transform .15s ease; -webkit-tap-highlight-color: transparent; }
.dd-signup__button:hover { background: var(--dd-fuchsia-dark, #8E0F52); }
.dd-signup__button:active { transform: scale(.97); }
.dd-signup__arrow { width: 18px; height: 18px; transition: transform .2s ease; }
.dd-signup__button:hover .dd-signup__arrow { transform: translateX(3px); }
.dd-signup__note { margin: 12px 0 0; font-size: 14px; color: var(--dd-muted); }
.dd-signup__error { margin: 10px 0 0; font-size: 15px; font-weight: 600; color: var(--dd-fuchsia); }
.dd-signup__error:empty { display: none; }
.dd-signup.is-invalid .dd-signup__field { border-color: var(--dd-fuchsia); animation: dd-signup-nudge .35s ease; }
.dd-signup.is-busy .dd-signup__button { pointer-events: none; opacity: .85; }
.dd-signup.is-busy .dd-signup__arrow { animation: dd-signup-spin .8s linear infinite; }
.dd-signup.is-done .dd-signup__field, .dd-signup.is-done .dd-signup__note, .dd-signup.is-done .dd-signup__error { display: none; }
.dd-signup__done { padding: 26px 24px; background: #fff; border: 1px solid rgba(31, 26, 28, .1); border-radius: 22px; box-shadow: 0 10px 30px -14px rgba(110, 20, 70, .25); animation: dd-signup-in .45s cubic-bezier(.2, .8, .2, 1); }
.dd-signup__check { width: 52px; height: 52px; color: var(--dd-teal, #0F8E7C); }
.dd-signup__check circle { stroke-dasharray: 151; stroke-dashoffset: 151; animation: dd-signup-draw .6s ease forwards; }
.dd-signup__check path { stroke-dasharray: 40; stroke-dashoffset: 40; animation: dd-signup-draw .35s .45s ease forwards; }
.dd-signup__done-title { margin: 10px 0 4px; font-family: var(--dd-serif); font-size: 26px; line-height: 1.2; color: var(--dd-ink); }
.dd-signup__done-sub { margin: 0; font-size: 15px; color: var(--dd-muted); }


/* Phones: stack, full width, big thumbs. */
@media (max-width: 560px) {
	.dd-signup { --dd-signup-h: 56px; }
	.dd-signup__field { flex-direction: column; align-items: stretch; gap: 10px; padding: 0; background: none; border: 0; box-shadow: none; }
	.dd-signup__field:focus-within { box-shadow: none; }
	.dd-signup__input { height: var(--dd-signup-h); padding: 0 20px; background: #fff; border: 1px solid rgba(31, 26, 28, .16); border-radius: 16px; box-shadow: 0 8px 24px -14px rgba(110, 20, 70, .25); transition: border-color .2s ease, box-shadow .2s ease; }
	.dd-signup__input:focus { border-color: var(--dd-fuchsia); box-shadow: 0 0 0 4px rgba(181, 23, 106, .12); }
	.dd-signup__button { height: var(--dd-signup-h); border-radius: 16px; font-size: 17px; }
	.dd-signup.is-invalid .dd-signup__field { border: 0; }
	.dd-signup.is-invalid .dd-signup__input { border-color: var(--dd-fuchsia); }
}
@keyframes dd-signup-nudge { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }
@keyframes dd-signup-spin { to { transform: rotate(360deg); } }
@keyframes dd-signup-in { from { opacity: 0; transform: translateY(8px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes dd-signup-draw { to { stroke-dashoffset: 0; } }
@media (prefers-reduced-motion: reduce) { .dd-signup *, .dd-signup { animation: none !important; transition: none !important; } .dd-signup__check circle, .dd-signup__check path { stroke-dashoffset: 0; } }
/* Dark bands (e.g. the every-page band) */
.dd-signup--dark .dd-signup__field { border-color: transparent; box-shadow: 0 14px 40px -16px rgba(0, 0, 0, .55); }
.dd-signup--dark .dd-signup__note { color: rgba(250, 245, 235, .72); }
.dd-signup--dark .dd-signup__error { color: #FFB8D9; }
.dd-signup--dark .dd-signup__done { border-color: transparent; }
@media (max-width: 560px) {
	.dd-signup--dark .dd-signup__input { border-color: transparent; }
}
