.button-base{font-family:var(--font-family-primary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none;outline:none;justify-content:center;align-items:center;gap:.5rem;font-weight:500;text-decoration:none;transition:all .2s ease-in-out;display:inline-flex;position:relative}.button-uppercase{text-transform:uppercase;letter-spacing:.04em}.button-base:focus-visible{outline-offset:2px;outline:2px solid rgba(255,255,255,.5)}.button-round-ring{background:var(--accent-color,var(--color-action));color:#fff;box-shadow:0 0 20px rgba(var(--color-action-rgb),.15),0 0 40px rgba(var(--color-action-rgb),.1),0 0 60px rgba(var(--color-action-rgb),.05);aspect-ratio:1;text-align:center;white-space:nowrap;border-radius:50%;min-width:-moz-fit-content;min-width:fit-content;padding:.5em;font-size:.8em;line-height:1.2;position:relative;overflow:visible}.button-round-ring:before{content:"";border:2px solid var(--accent-color,var(--color-action));opacity:.4;pointer-events:none;z-index:-1;border-radius:50%;transition:transform .3s,opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.button-round-ring.button-sm:before{width:calc(100% + 12px);height:calc(100% + 12px)}.button-round-ring.button-md:before{width:calc(100% + 20px);height:calc(100% + 20px)}.button-round-ring.button-lg:before{width:calc(100% + 26px);height:calc(100% + 26px)}.button-round-ring.button-xl:before{width:calc(100% + 48px);height:calc(100% + 48px)}.button-round-ring:hover:before{opacity:.6;transition:transform .4s .1s,opacity .3s;transform:translate(-50%,-50%)scale(1.1)}.button-round-ring:after{content:"";border:3px solid var(--accent-color,var(--color-action));opacity:0;pointer-events:none;border-radius:50%;width:calc(100% + 48px);height:calc(100% + 48px);transition:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8)}.button-round-ring:hover{background:var(--color-action);box-shadow:0 0 30px rgba(var(--color-action-rgb),.25),0 0 60px rgba(var(--color-action-rgb),.15),0 0 90px rgba(var(--color-action-rgb),.1);transform:scale(1.05)}.button-round-ring:hover:after{animation:6s ease-out infinite slowOrbitPulse}.button-round-ring:active{transform:scale(.95)}@keyframes slowOrbitPulse{0%{opacity:0;transform:translate(-50%,-50%)scale(.8)}20%{opacity:.7}80%{opacity:.3;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1)}}.button-round{background:var(--accent-color,var(--color-action));color:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15),0 0 20px rgba(var(--color-action-rgb),.15),0 0 40px rgba(var(--color-action-rgb),.1),0 0 60px rgba(var(--color-action-rgb),.05);aspect-ratio:1;text-align:center;text-wrap:wrap;border-radius:50%;min-width:-moz-fit-content;min-width:fit-content;padding:.5em;font-size:.8em;line-height:1.2;position:relative;overflow:visible}.button-round:before{content:"";border:2px solid var(--accent-color,var(--color-action));opacity:.4;pointer-events:none;z-index:-1;border-radius:50%;transition:transform .3s,opacity .3s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.button-round.button-sm:before{width:calc(100% + 12px);height:calc(100% + 12px)}.button-round.button-md:before{width:calc(100% + 20px);height:calc(100% + 20px)}.button-round.button-lg:before{width:calc(100% + 26px);height:calc(100% + 26px)}.button-round.button-xl:before{width:calc(100% + 48px);height:calc(100% + 48px)}.button-round:hover:before{opacity:.6;transition:transform .4s .1s,opacity .3s;transform:translate(-50%,-50%)scale(1.1)}.button-round:after{content:"";border:3px solid var(--accent-color,var(--color-action));opacity:0;pointer-events:none;border-radius:50%;width:calc(100% + 48px);height:calc(100% + 48px);transition:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.8)}.button-round:hover:after{animation:6s ease-out infinite slowOrbitPulse}.button-round:hover{box-shadow:0 8px 25px rgba(0,0,0,.25),0 0 30px rgba(var(--color-action-rgb),.25),0 0 60px rgba(var(--color-action-rgb),.15),0 0 90px rgba(var(--color-action-rgb),.1);background:var(--color-action);transform:scale(1.05)}.button-round:active{transform:translateY(0)scale(.95);box-shadow:0 2px 8px rgba(0,0,0,.15)}.button-primary{background:var(--accent-color,var(--color-action));color:#fff}.button-primary.button-round-ring:before{border-color:var(--accent-color,var(--color-action))}.button-primary:hover{background:var(--color-action)}.button-white{color:var(--accent-color,var(--color-action));background:#fff}.button-white.button-round-ring:before{border-color:#fff}.button-white:hover{background:#f8f9fa}.button-sm{width:max(18px,min(1.5vw,24px));height:max(18px,min(1.5vw,24px));font-size:max(6px,min(.5vw,8px))}.button-md{width:max(40px,min(3.5vw,54px));height:max(40px,min(3.5vw,54px));font-size:max(10px,min(.8vw,12px))}.button-lg{width:max(100px,min(8vw,130px));height:max(100px,min(8vw,130px));font-size:max(14px,min(1.2vw,18px))}.button-xl{width:max(180px,min(15vw,230px));height:max(180px,min(15vw,230px));font-size:max(24px,min(2vw,32px))}.button-round.button-sm,.button-round-ring.button-sm{width:auto;min-width:max(18px,min(1.5vw,24px));height:auto;min-height:max(18px,min(1.5vw,24px))}.button-round.button-md,.button-round-ring.button-md{width:auto;min-width:max(40px,min(3.5vw,54px));height:auto;min-height:max(40px,min(3.5vw,54px))}.button-round.button-lg,.button-round-ring.button-lg{width:auto;min-width:max(100px,min(8vw,130px));height:auto;min-height:max(100px,min(8vw,130px))}.button-round.button-xl,.button-round-ring.button-xl{width:auto;min-width:max(180px,min(15vw,230px));height:auto;min-height:max(180px,min(15vw,230px))}.button-disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.button-loading{color:transparent;position:relative}.button-loading:after{content:"";border:2px solid;border-top-color:transparent;border-radius:50%;width:20px;height:20px;animation:1s linear infinite spin;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.button-loading.button-white:after{border-color:var(--accent-color,var(--color-action));border-top-color:transparent}@keyframes spin{to{transform:translate(-50%,-50%)rotate(360deg)}}.button-icon{justify-content:center;align-items:center;display:flex}.button-icon svg{fill:currentColor;width:1.2em;height:1.2em}.button-with-text{border-radius:32px;min-width:120px;height:64px;padding:0 24px}.button-with-text.button-sm{min-width:100px;height:48px;padding:0 20px}.button-with-text.button-lg{min-width:140px;height:80px;padding:0 32px}.button-with-text.button-xl{min-width:160px;height:96px;padding:0 40px}@media (max-width:768px){.button-xl{width:100px;height:100px;font-size:14px}.button-lg{width:70px;height:70px;font-size:12px}.button-round.button-xl,.button-round-ring.button-xl{min-width:100px;min-height:100px}.button-round.button-lg,.button-round-ring.button-lg{min-width:70px;min-height:70px}.button-with-text.button-xl{height:80px;padding:0 32px}.button-with-text.button-lg{height:64px;padding:0 24px}}@media (max-width:480px){.button-xl{width:64px;height:64px;font-size:16px}.button-lg{width:56px;height:56px;font-size:14px}.button-md{width:48px;height:48px;font-size:14px}}.button-glow{box-shadow:0 0 20px rgba(var(--color-action-rgb),.3)}.button-glow:hover{box-shadow:0 0 30px rgba(var(--color-action-rgb),.5)}@media (prefers-reduced-motion:reduce){.button-base,.button-base:before,.button-base:after{transition:none;animation:none}.button-round:hover,.button-round:active{transform:none}.button-round-ring:hover:before{top:-6px;bottom:-6px;left:-6px;right:-6px}}@media (prefers-contrast:high){.button-base{border:2px solid}.button-primary{border-color:#fff}.button-white{border-color:var(--accent-color,var(--color-action))}}
