.bs-back-to-top {
 position: fixed;
 right: max(24px, env(safe-area-inset-right));
 bottom: calc(24px + env(safe-area-inset-bottom, 0px));
 z-index: 100;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 48px;
 height: 48px;
 padding: 0;
 border: 1px solid var(--bs-green, #066653);
 border-radius: 50%;
 background: var(--bs-green, #066653);
 color: #fff;
 box-shadow: 0 4px 16px #122c2c26;
 cursor: pointer;
 transition: background-color .15s, border-color .15s;
}
.bs-back-to-top[hidden] { display: none !important; }
.bs-back-to-top:hover {
 background: var(--bs-forest, #122c2c);
 border-color: var(--bs-forest, #122c2c);
}
.bs-back-to-top:focus-visible { outline: 3px solid var(--bs-lime, #dfff80); outline-offset: 3px; }
.bs-back-to-top svg { display: block; pointer-events: none; }
@media (max-width: 600px) {
 .bs-back-to-top {
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(16px + env(safe-area-inset-bottom, 0px));
 }
}
@media (prefers-reduced-motion: reduce) { .bs-back-to-top { transition: none; } }
@media print { .bs-back-to-top { display: none !important; } }
