.floating-button{position:fixed;z-index:30;display:block;width:max-content;max-width:calc(100% - 2 * var(--floating-button-x));--floating-button-safe-top:max(var(--floating-button-y),env(safe-area-inset-top));--floating-button-safe-bottom:max(var(--floating-button-y),env(safe-area-inset-bottom))}
.floating-button[hidden]{display:none!important}
.floating-button[data-position^=top]{top:var(--floating-button-safe-top);bottom:auto}
.floating-button[data-position^=bottom]{bottom:var(--floating-button-safe-bottom);top:auto}
.floating-button[data-position$=left]{left:max(var(--floating-button-x),env(safe-area-inset-left));right:auto;transform:none}
.floating-button[data-position$=right]{right:max(var(--floating-button-x),env(safe-area-inset-right));left:auto;transform:none}
.floating-button[data-position$=center]{left:50%;right:auto;transform:translateX(-50%)}
.floating-button .floating-button__link{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:var(--floating-button-padding-y) var(--floating-button-padding-x);border:var(--floating-button-border-width) solid var(--floating-button-border);border-radius:var(--floating-button-radius);background:var(--floating-button-background);color:var(--floating-button-color);font:700 var(--floating-button-font-size)/1.5 'Ysabeau',system-ui,sans-serif;letter-spacing:.22em;text-transform:uppercase;text-decoration:none;text-align:center;overflow-wrap:anywhere;transition:background .25s ease,color .25s ease}
.floating-button__link span{font:inherit;letter-spacing:inherit;color:inherit}
.floating-button__link svg{flex:none}
.floating-button[data-gradient=true] .floating-button__link{background:linear-gradient(135deg,var(--floating-button-background),var(--floating-button-gradient-end))}
.floating-button[data-shadow=true] .floating-button__link{box-shadow:0 8px 28px rgba(70,0,50,.18)}
.floating-button .floating-button__link:hover,.floating-button .floating-button__link:focus-visible{background:var(--floating-button-hover-background);color:var(--floating-button-hover-color)}
.floating-button__link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:900px){
 .floating-button{--floating-button-x:var(--floating-button-mobile-x)!important;--floating-button-y:var(--floating-button-mobile-y)!important;}
 .floating-button[data-mobile-position^=top]{top:var(--floating-button-safe-top);bottom:auto}
 .floating-button[data-mobile-position^=bottom]{bottom:var(--floating-button-safe-bottom);top:auto}
 .floating-button[data-mobile-position$=left]{left:max(var(--floating-button-x),env(safe-area-inset-left));right:auto;transform:none}
 .floating-button[data-mobile-position$=right]{right:max(var(--floating-button-x),env(safe-area-inset-right));left:auto;transform:none}
 .floating-button[data-mobile-position$=center]{left:50%;right:auto;transform:translateX(-50%)}
}
@media(prefers-reduced-motion:reduce){.floating-button .floating-button__link{transition:none}}
