.data-removal { max-width: 900px; margin: 48px auto 64px; padding: 40px 48px; background: #fff; border: 1px solid var(--snd-color-gray-2); border-radius: 16px; box-shadow: 0 4px 20px rgba(0,0,0,.04); font-family: var(--snd-font-body); color: var(--snd-color-ink); line-height: 1.7; }
.data-removal h1 { font-size: clamp(26px, 4vw, 36px); line-height: 1.2; color: var(--snd-color-ink); margin: 0 0 28px; padding-bottom: 24px; border-bottom: 1px solid var(--snd-color-gray-2); }
.data-removal p { margin: 0 0 16px; }
.data-removal ul { list-style: disc; padding-left: 24px; margin: 0 0 24px; }
.data-removal li { margin-bottom: 10px; }
.data-removal a { color: var(--snd-color-primary); text-decoration: underline; }
.data-removal form { display: flex; flex-direction: column; gap: 22px; margin-top: 28px; }
.data-removal__field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.data-removal__field label { font-weight: 600; }
.data-removal__field input, .data-removal textarea { width: 100%; border: 1px solid var(--snd-color-gray-2); border-radius: 8px; padding: 12px 14px; font: inherit; color: var(--snd-color-ink); background: #fff; }
.data-removal textarea { resize: vertical; }
.data-removal :is(input, textarea, button, a):focus-visible { outline: 3px solid var(--snd-color-secondary); outline-offset: 3px; }
.data-removal__row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.data-removal__consent { display: flex; align-items: flex-start; gap: 10px; }
.data-removal__consent input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 5px; accent-color: var(--snd-color-primary); }
.data-removal button { align-self: flex-start; border: 0; border-radius: 8px; padding: 14px 28px; background: var(--snd-color-primary); color: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.data-removal button:hover { background: var(--snd-blue-deep); }
.data-removal button:disabled { opacity: .65; cursor: wait; }
.data-removal__alert { padding: 16px; border-radius: 8px; margin: 24px 0; }
.data-removal__alert--success { background: var(--snd-color-surface); color: var(--snd-blue-deep); }
.data-removal__alert--error { background: #fce9e9; color: #922c2c; }
.data-removal__error { color: #922c2c; font-size: 14px; }
.data-removal [aria-invalid="true"] { border-color: #922c2c; }
@media (max-width: 640px) {
    .data-removal { margin: 24px 16px 40px; padding: 28px 20px; }
    .data-removal__row { grid-template-columns: 1fr; }
    .data-removal button { width: 100%; }
}
.data-removal__counter { align-self: flex-end; font-size: 13px; color: var(--snd-color-muted); }
