/* Footer fallback remains usable when JavaScript is unavailable. */
.dcfs-top-row { box-sizing: border-box; background: #241a3a; padding: 1rem max(1.25rem, calc((100% - 1160px) / 2)) 1.5rem; text-align: right; }
.dcfs-top-row .dcfs-top-link { display: inline-flex; align-items: center; justify-content: center; gap: .45em; min-height: 48px; min-width: 48px; box-sizing: border-box; padding: .6em 1em; border: 2px solid #fff; border-radius: 12px; background: #fff; color: #241a3a !important; font: 700 1rem/1.4 'Atkinson', Arial, sans-serif; text-decoration: none; max-width: 100%; }
.dcfs-top-row .dcfs-top-link:hover { background: #ffdfad; border-color: #241a3a; text-decoration: underline; }
.dcfs-top-row .dcfs-top-link:focus-visible { outline: 3px solid #a33a27; outline-offset: 4px; }
.dcfs-top-row.is-floating { position: fixed; z-index: 90; right: max(12px, env(safe-area-inset-right)); bottom: max(var(--dcfs-top-bottom, 16px), env(safe-area-inset-bottom)); margin: 0; padding: 0; background: transparent; visibility: hidden; pointer-events: none; }
.dcfs-top-row.is-floating.is-visible { visibility: visible; pointer-events: auto; }
.dcfs-top-row.is-floating .dcfs-top-link { padding: .55em .8em; border: 1px solid #6b587b; border-radius: 24px; background: #f3edf8; color: #241a3a !important; font-size: 16px; box-shadow: 0 2px 8px #241a3a20; }
.dcfs-top-row.is-floating .dcfs-top-link:hover { background: #ffdfad; }
html[data-theme=dark] .dcfs-top-row.is-floating .dcfs-top-link { background: #33273f; color: #fff !important; border-color: #d8cfdf; }
html[data-theme=contrast] .dcfs-top-row.is-floating .dcfs-top-link { background: #fff; color: #000 !important; border: 2px solid #000; box-shadow: none; }
@media (forced-colors: active) { .dcfs-top-row.is-floating .dcfs-top-link { border: 2px solid ButtonText; } }
@media print { .dcfs-top-row { display: none !important; } }
