.gy-back-to-top {
    position: fixed;
    right: max(24px, env(safe-area-inset-right));
    bottom: calc(24px + env(safe-area-inset-bottom));
    z-index: 50;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: var(--gy-tulip-tree, #e7ab43);
    color: #fff;
    box-shadow: 0 6px 20px rgb(12 9 3 / 14%);
    cursor: pointer;
    transition: background-color .15s ease;
    -webkit-tap-highlight-color: transparent;
}
.gy-back-to-top[hidden] { display: none; }
.gy-back-to-top svg { display: block; pointer-events: none; }
.gy-back-to-top:hover { background: #a36c13; }
.gy-back-to-top:focus-visible { outline: 3px solid #0c0903; outline-offset: 4px; }
body.no-scroll .gy-back-to-top,
html.show--consent .gy-back-to-top,
html.show--preferences .gy-back-to-top,
body:has(dialog[open]) .gy-back-to-top,
body:has([role="dialog"][aria-modal="true"][aria-hidden="false"]:not([hidden])) .gy-back-to-top { visibility: hidden; pointer-events: none; }
@media (max-width: 600px) {
    .gy-back-to-top { width: 48px; height: 48px; right: max(16px, env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) { .gy-back-to-top { transition: none; } }
