/* Consent banner (WEB-301). Small card, bottom right; fixed to the viewport so it never shifts page layout. */
.d1-consent { position: fixed; right: 20px; bottom: 20px; left: auto; z-index: 300; width: 320px; max-width: calc(100vw - 40px); margin: 0; padding: 16px 18px; background: var(--c-white, #fff); color: var(--c-ink, #1E293B); border: 1px solid var(--c-border, #E2E8F0); border-radius: 6px; box-shadow: 0 4px 16px rgb(7 7 7 / 0.10); font-family: var(--f-text, Arial, sans-serif); font-size: 0.8125rem; line-height: 1.5; }
.d1-consent[hidden] { display: none; }
.d1-consent h2 { font-family: var(--f-display, Arial, sans-serif); font-size: 0.9375rem; line-height: 1.3; margin: 0 0 4px; }
.d1-consent p { margin: 0 0 12px; color: var(--c-ink-2, #475569); }
.d1-consent a { color: var(--c-teal, #014745); }
.d1-consent__row { display: flex; gap: 8px; }
.d1-consent__btn { flex: 1 1 0; min-height: 36px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--c-teal, #014745); background: transparent; color: var(--c-teal, #014745); font: 600 0.8125rem/1 var(--f-text, Arial, sans-serif); cursor: pointer; }
.d1-consent__btn:hover { background: var(--c-teal, #014745); color: #fff; }
.d1-consent__btn:focus-visible { outline: 3px solid var(--c-emerald, #00BC72); outline-offset: 2px; }
.d1-consent__link { background: none; border: 0; padding: 0; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
@media (prefers-reduced-motion: no-preference) { .d1-consent { animation: d1-consent-in 160ms ease-out; } }
@keyframes d1-consent-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
