.consent-panel { position: fixed; inset: auto 0 0; z-index: 2000; padding: 1rem max(1rem, calc((100vw - 1100px) / 2)); background: #fff; color: #17212b; box-shadow: 0 -3px 18px #0004; max-height: 75vh; overflow-y: auto; border-top: 2px solid #245b36; }
.consent-panel[hidden], [data-external-notice][hidden], [data-consent-settings][hidden] { display: none !important; }
.consent-panel h2 { font-size: 1.35rem; color: inherit; }
.consent-panel p { font-size: .95rem; margin: 0 0 .65rem; }
.consent-panel a { color: #064d83; text-decoration: underline; }
body.dark-mode .consent-panel h2 { color: #17212b; }
body.dark-mode .consent-panel a { color: #064d83; }
.consent-panel label { display: block; margin: .5rem 0; }
.consent-panel input { margin-right: .4rem; }
.consent-panel summary { cursor: pointer; padding: .4rem 0; }
.consent-panel legend { font-size: 1rem; }
.consent-actions { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: .65rem; }
.consent-actions button, .external-settings { padding: .65rem 1rem; border: 2px solid #245b36; border-radius: .25rem; background: #fff; color: #173d24; cursor: pointer; font-weight: 600; }
.consent-actions button:hover, .external-settings:hover { background: #e5f0e7; }
.consent-panel :focus-visible, .external-settings:focus-visible, .consent-footer:focus-visible { outline: 3px solid #dc7200; outline-offset: 3px; }
.consent-footer { color: #fff; background: transparent; border: 1px solid currentColor; padding: .5rem; margin-top: .5rem; cursor: pointer; }
.external-embed { display: flex; flex-direction: column; width: 100%; min-width: 0; margin: 0; padding: 0; }
.external-embed iframe { display: block; order: 0; width: 100%; border: 0; margin: 0; background: #fff; }
.external-embed > a { order: 1; display: block; padding: .75rem; font-size: .875rem; }
.external-embed [data-external-notice] { padding: 1.25rem; background: #eef4f6; color: #17212b; border-radius: .25rem; }
.social-feeds .card { padding: 1rem 0 0; overflow: hidden; }
.social-feeds .external-embed { max-width: 500px; align-self: center; }
.timeline-row, .timeline-row .external-embed { width: 100%; min-width: 0; }
@media (max-width: 480px) { .consent-actions button { width: 100%; } }
