/* Cookie notice and back-to-top button, added by the application to every page (see App\Skins\ExtrasInjector).
   They use the skin's colour variables when it has them, with plain fallbacks otherwise. */
.bh-cookie { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9990; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; max-width: 56rem; margin: 0 auto; padding: 1rem 1.25rem; border-radius: var(--radius, 6px); background: var(--color-footer, #0f2a52); color: var(--color-footer-contrast, #fff); box-shadow: 0 8px 30px rgba(0, 0, 0, .25); font: 400 .9rem/1.5 var(--font-body, system-ui, sans-serif); }
.bh-cookie[hidden], .bh-top[hidden] { display: none; }
.bh-cookie__text { flex: 1 1 18rem; margin: 0; }
.bh-cookie__text a { color: inherit; text-decoration: underline; }
.bh-cookie__buttons { display: flex; gap: .5rem; }
.bh-cookie__btn { cursor: pointer; padding: .5rem 1rem; border: 1px solid currentColor; border-radius: var(--radius, 6px); background: transparent; color: inherit; font: inherit; }
.bh-cookie__btn--accept { background: var(--color-accent, #c8963e); border-color: var(--color-accent, #c8963e); color: var(--color-accent-contrast, #000); font-weight: 600; }
.bh-cookie__btn:focus-visible, .bh-top:focus-visible { outline: 3px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 5px #000; }
.bh-top { position: fixed; right: 1rem; bottom: 1rem; z-index: 9980; width: 2.75rem; height: 2.75rem; border: 0; border-radius: 999px; background: var(--color-primary, #1b4797); color: var(--color-primary-contrast, #fff); font-size: 1.25rem; line-height: 1; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .3); }
@media (prefers-reduced-motion: no-preference) { .bh-top { transition: opacity .2s; } }
