.trend-consent { position: fixed; z-index: 400; inset-inline: 20px; inset-block-end: 20px; max-width: 600px; margin-inline-start: auto; padding: 24px; border: 1px solid var(--color-border); border-radius: 18px; background: var(--color-background); color: var(--color-foreground); box-shadow: 0 12px 48px #0003; max-height: calc(100dvh - 40px); overflow-y: auto; }
.trend-consent[hidden], .trend-consent [hidden], .trend-consent-reopen[hidden] { display: none; }
.trend-consent h2 { font-size: 22px; line-height: 1.3; margin: 0 0 10px; }
.trend-consent p { font-size: 14px; line-height: 1.7; margin: 0 0 16px; }
.trend-consent__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-block-start: 16px; }
.trend-consent button { min-height: 44px; padding: 10px 14px; border: 1px solid var(--color-border); border-radius: 8px; font: inherit; font-size: 14px; background: var(--color-muted); color: var(--color-foreground); cursor: pointer; }
.trend-consent button:hover { border-color: var(--color-foreground); }
.trend-consent :is(button, input, a):focus-visible, .trend-consent-reopen:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
.trend-consent__settings { border-block: 1px solid var(--color-border); padding-block: 16px; margin-block-start: 16px; }
.trend-consent__settings label { display: flex; align-items: start; gap: 10px; padding-block: 10px; font-size: 14px; cursor: pointer; }
.trend-consent__settings input { width: 20px; height: 20px; flex: 0 0 20px; accent-color: var(--color-foreground); }
.trend-consent-reopen { font: inherit; color: inherit; background: transparent; border: 0; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; min-height: 44px; }
.site-footer__links .trend-consent-reopen { padding: 0; font-size: 13px; text-align: start; }
@media (max-width: 480px) { .trend-consent { inset-inline: 12px; inset-block-end: 12px; padding: 18px; } .trend-consent__actions button { flex: 1 1 auto; } }
