/* Do Not Sell or Share — request form + confirmation (builds on privacy-policy.css) */
.dns-form { margin-top:24px; background:#fff; border:1.5px solid var(--line); border-radius:var(--r-lg); padding:26px 28px; display:flex; flex-direction:column; gap:20px; }
.dns-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 20px; }
.dns-grid .dns-field:first-child { grid-column:1 / -1; }
.dns-field { display:flex; flex-direction:column; gap:6px; min-width:0; }
.dns-field label { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); }
.dns-field input, .dns-field select, .dns-field textarea { width:100%; box-sizing:border-box; font:inherit; font-size:15px; color:var(--ink); background:var(--paper); border:1.5px solid var(--line); border-radius:var(--r); padding:11px 14px; min-height:44px; transition:border-color .15s, box-shadow .15s; }
.dns-field textarea { resize:vertical; min-height:80px; }
.dns-field input:focus, .dns-field select:focus, .dns-field textarea:focus { outline:none; border-color:var(--red); box-shadow:0 0 0 3px var(--red-soft); }
.dns-field input[aria-invalid="true"] { border-color:var(--red); }
.dns-hint { font-size:12.5px; line-height:1.5; color:var(--ink-3); }
.dns-err { font-size:12.5px; font-weight:600; color:var(--red-deep, #b91c1c); }
.dns-types { border:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.dns-types legend { font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--ink); margin-bottom:10px; padding:0; }
.dns-check { display:flex; align-items:flex-start; gap:12px; padding:13px 16px; border:1.5px solid var(--line); border-radius:var(--r); background:var(--paper); cursor:pointer; font-size:14.5px; line-height:1.5; color:var(--ink-2); transition:border-color .15s, background .15s; }
.dns-check:hover { border-color:var(--line-s); }
.dns-check.on { border-color:var(--red); background:var(--red-soft); color:var(--ink); }
.dns-check input { position:absolute; opacity:0; width:1px; height:1px; }
.dns-box { flex-shrink:0; width:20px; height:20px; margin-top:1px; border:2px solid var(--line-s); border-radius:5px; background:#fff; position:relative; transition:border-color .15s, background .15s; }
.dns-check.on .dns-box { border-color:var(--red); background:var(--red); }
.dns-check.on .dns-box::after { content:''; position:absolute; left:5px; top:1px; width:5px; height:10px; border:solid #fff; border-width:0 2.5px 2.5px 0; transform:rotate(42deg); }
.dns-check input:focus-visible ~ .dns-box { box-shadow:0 0 0 3px var(--red-soft); }
.dns-submit { align-self:flex-start; font:inherit; font-size:15px; font-weight:700; color:#fff; background:var(--red); border:none; border-radius:999px; padding:13px 30px; min-height:48px; cursor:pointer; transition:background .15s, transform .1s; }
.dns-submit:hover { background:var(--red-deep, #c81e1e); }
.dns-submit:active { transform:scale(.98); }
/* Attribution callout */
.dns-note { margin-top:20px; background:#fff; border:1.5px solid var(--line); border-left:4px solid var(--red); border-radius:var(--r); padding:16px 20px; }
.dns-note strong { display:block; font-size:14.5px; font-weight:700; color:var(--ink); margin-bottom:5px; }
.dns-note p { font-size:14.5px; line-height:1.65; color:var(--ink-2); margin:0; text-wrap:pretty; }
/* Authorized agent */
.dns-agent { display:flex; flex-direction:column; gap:12px; }
.dns-agent-fields { display:flex; flex-direction:column; gap:10px; padding:16px 16px 14px; background:var(--paper); border:1.5px dashed var(--line-s); border-radius:var(--r); }
/* Confirmation state */
.dns-ok { margin-top:24px; background:#fff; border:1.5px solid var(--line); border-radius:var(--r-lg); padding:30px 28px; }
.dns-ok-badge { width:44px; height:44px; border-radius:999px; background:var(--red-soft); color:var(--red); display:flex; align-items:center; justify-content:center; margin-bottom:16px; }
.dns-ok h3 { font-size:19px; font-weight:900; letter-spacing:-.01em; color:var(--ink); margin-bottom:10px; }
.dns-ok p { font-size:15px; line-height:1.7; color:var(--ink-2); margin-bottom:16px; text-wrap:pretty; }
.dns-ok p strong { color:var(--ink); }
.dns-ok-steps { margin-bottom:20px; }
.dns-again { font:inherit; font-size:13.5px; font-weight:700; color:var(--ink-2); background:none; border:1.5px solid var(--line); border-radius:999px; padding:9px 20px; cursor:pointer; transition:color .15s, border-color .15s; }
.dns-again:hover { color:var(--red); border-color:var(--red); }
.dns-ok-related { margin:18px 0 0 !important; font-size:13px !important; color:var(--ink-3) !important; }
.dns-ok-related a { color:var(--red); font-weight:600; }
.dns-ok-related span { color:var(--line-s); margin:0 4px; }
@media(max-width:640px) {
  .dns-form { padding:20px 18px; }
  .dns-grid { grid-template-columns:1fr; }
  .dns-ok { padding:24px 20px; }
  .dns-submit { align-self:stretch; }
}
