/* A gentle, explicit nudge; consent always remains a manual choice. */
.terms-consent{margin:20px 0 14px;padding:12px;border:2px solid transparent;border-radius:12px;transition:background-color .2s,border-color .2s}
.terms-consent .check{margin:0;align-items:flex-start;gap:10px}
.terms-consent input{accent-color:var(--accent);flex-shrink:0;margin-top:5px}
.terms-consent.needs-consent{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 8%,transparent)}
.terms-hint{display:flex;align-items:flex-start;gap:8px;margin:12px 0 0;color:var(--accent);font-size:14px;font-weight:750;line-height:1.45}
.terms-hint[hidden]{display:none}
.terms-hint small{display:block;color:var(--t2);font-size:12px;font-weight:400;margin-top:3px}
.terms-arrow{width:28px;height:28px;flex-shrink:0;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.consent-nudge{animation:consent-wiggle .55s ease-in-out}
.consent-nudge .terms-arrow{animation:consent-point .65s ease-in-out 2}
@keyframes consent-wiggle{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-3px) rotate(-.35deg)}55%{transform:translateX(3px) rotate(.35deg)}80%{transform:translateX(-1px)}}
@keyframes consent-point{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.terms-consent{transition:none}.consent-nudge,.consent-nudge .terms-arrow{animation:none}}
