.gift-max-buttons{display:flex;flex-direction:column;align-items:center;gap:var(--gift-max-gap,15px)}
.gift-max-list{display:flex;flex-direction:column;gap:var(--gift-max-gap,15px)}
.gift-max-buttons--fab .gift-max-list{opacity:0;visibility:hidden;transition:.2s ease;pointer-events:none}
.gift-max-buttons--fab.is-open .gift-max-list{opacity:1;visibility:visible;pointer-events:auto}

.gift-max-buttons--expand-up{flex-direction:column-reverse}
.gift-max-buttons--expand-up .gift-max-list{transform:translateY(8px)}
.gift-max-buttons--expand-up.is-open .gift-max-list{transform:translateY(0)}
.gift-max-buttons--expand-down{flex-direction:column}
.gift-max-buttons--expand-down .gift-max-list{transform:translateY(-8px)}
.gift-max-buttons--expand-down.is-open .gift-max-list{transform:translateY(0)}
.gift-max-buttons--expand-side{flex-direction:row;align-items:center}
.gift-max-buttons--expand-side .gift-max-list{flex-direction:row;transform:translateX(8px)}
.gift-max-buttons--expand-side.is-open .gift-max-list{transform:translateX(0)}

.gift-max-btn,.gift-max-fab{position:relative;width:var(--gift-max-size,55px);height:var(--gift-max-size,55px);border-radius:var(--gift-max-radius,50%);display:flex;align-items:center;justify-content:center;text-decoration:none;border:none;cursor:pointer;box-shadow:var(--gift-max-shadow,0 6px 18px rgba(0,0,0,.2));overflow:visible}
.gift-max-btn{color:var(--gift-max-color,#229ed9);background:var(--gift-max-bg,#229ed9)}
.gift-max-icon{width:var(--gift-max-icon-size,30px);height:var(--gift-max-icon-size,30px);display:block}
.gift-max-buttons--blink-stack .gift-max-btn::before,.gift-max-buttons--blink-stack .gift-max-btn::after,.gift-max-buttons--blink-fab .gift-max-fab::before,.gift-max-buttons--blink-fab .gift-max-fab::after{content:"";position:absolute;inset:-16px;border-radius:50%;border:1px solid var(--gift-max-pulse-color,currentColor);animation:gift-max-pulse var(--gift-max-pulse-duration,1.5s) linear infinite;opacity:0;pointer-events:none}
.gift-max-buttons--blink-stack .gift-max-btn::after,.gift-max-buttons--blink-fab .gift-max-fab::after{animation-delay:.5s}
@keyframes gift-max-pulse{0%{transform:scale(.6);opacity:0}35%{opacity:.5}100%{transform:scale(1.1);opacity:0}}
.gift-max-fab{background:var(--gift-max-fab-bg,linear-gradient(135deg,#2f6bff,#8b2cff));color:#6a4dff;font-size:30px;line-height:1;overflow:visible;transition:transform .25s ease,color .25s ease}
.gift-max-fab-bg-wrap{position:absolute;inset:0;border-radius:inherit;overflow:hidden;z-index:0;pointer-events:none}
.gift-max-fab-bg{position:absolute;inset:0;border-radius:inherit;background:var(--gift-max-fab-bg,linear-gradient(135deg,#2f6bff,#8b2cff));opacity:0;transition:opacity var(--gift-max-fab-transition,1.6s) ease-in-out;will-change:opacity}
.gift-max-fab-bg.is-visible{opacity:1}
.gift-max-buttons--fab.is-open .gift-max-fab{transform:rotate(45deg);color:#fff}
.gift-max-buttons--fab.is-open .gift-max-fab-bg{opacity:0!important}
.gift-max-fab-open-overlay{position:absolute;inset:0;border-radius:inherit;background:#c8ced6;opacity:0;transition:opacity .35s ease;z-index:0;pointer-events:none}
.gift-max-buttons--fab.is-open .gift-max-fab-open-overlay{opacity:1}
.gift-max-buttons--fab.is-open .gift-max-fab-symbol{display:block!important;color:#fff}
.gift-max-buttons--fab.is-open .gift-max-fab-icon{display:none!important}
.gift-max-fab-symbol,.gift-max-fab-icon{position:relative;z-index:1}
.gift-max-fab-symbol{display:flex;align-items:center;justify-content:center;width:1em;height:1em;line-height:1;font-size:inherit;transform:none;pointer-events:none;flex:0 0 auto}
.gift-max-fab-icon{display:none;position:absolute;inset:0;margin:auto;width:var(--gift-max-icon-size,30px);height:var(--gift-max-icon-size,30px);opacity:0;transition:opacity .35s ease}
.gift-max-fab-icon.is-visible{opacity:1}
.gift-max-fab--cycling .gift-max-fab-symbol{display:none}
.gift-max-fab--cycling .gift-max-fab-icon{display:block}

.gift-max-btn--max{--gift-max-bg:linear-gradient(45deg,#4c62fc,#a266e0);--gift-max-color:#4c62fc}
@media (prefers-reduced-motion:reduce){.gift-max-buttons--blink-stack .gift-max-btn::before,.gift-max-buttons--blink-stack .gift-max-btn::after,.gift-max-buttons--blink-fab .gift-max-fab::before,.gift-max-buttons--blink-fab .gift-max-fab::after{display:none;animation:none}}
.gift-max-btn:focus-visible,.gift-max-fab:focus-visible{outline:3px solid #fff;outline-offset:4px}

.gift-max-btn-label{position:absolute;top:50%;transform:translateY(-50%);max-width:min(220px,60vw);background:#fff;border:1px solid var(--gift-max-label-border-color,#2f6bff);border-radius:12px;padding:8px 12px;font-size:13px;line-height:1.3;font-weight:600;color:#0f172a;box-shadow:0 14px 36px rgba(15,23,42,.24);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease;z-index:3}
.gift-max-btn-label::before{content:"";position:absolute;top:50%;width:10px;height:10px;background:#fff;transform:translateY(-50%) rotate(45deg)}
.gift-max-buttons[data-popup-side="left"] .gift-max-btn-label{right:calc(100% + 12px)}
.gift-max-buttons[data-popup-side="left"] .gift-max-btn-label::before{right:-6px;border-top:1px solid var(--gift-max-label-border-color,#2f6bff);border-right:1px solid var(--gift-max-label-border-color,#2f6bff)}
.gift-max-buttons[data-popup-side="right"] .gift-max-btn-label{left:calc(100% + 12px)}
.gift-max-buttons[data-popup-side="right"] .gift-max-btn-label::before{left:-6px;border-left:1px solid var(--gift-max-label-border-color,#2f6bff);border-bottom:1px solid var(--gift-max-label-border-color,#2f6bff)}
.gift-max-buttons--stack .gift-max-btn-label,.gift-max-buttons--fab.is-open .gift-max-btn-label{opacity:1;visibility:visible}
.gift-max-buttons--stack .gift-max-btn:hover .gift-max-btn-label,.gift-max-buttons--stack .gift-max-btn:focus-visible .gift-max-btn-label,.gift-max-buttons--fab.is-open .gift-max-btn:hover .gift-max-btn-label,.gift-max-buttons--fab.is-open .gift-max-btn:focus-visible .gift-max-btn-label{transform:translateY(-50%) translateX(var(--gift-max-label-shift,0))}
.gift-max-buttons[data-popup-side="left"]{--gift-max-label-shift:-2px}
.gift-max-buttons[data-popup-side="right"]{--gift-max-label-shift:2px}

.gift-max-page-overlay{position:fixed;inset:0;background:rgba(33,33,33,.3);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease;z-index:9998}
.gift-max-page-overlay.is-active{opacity:1;visibility:visible;pointer-events:auto}

.gift-max-popup{position:absolute;width:min(340px,84vw);background:#fff;border:1px solid #2f6bff;border-radius:12px;padding:0;box-shadow:0 14px 36px rgba(15,23,42,.24);opacity:0;pointer-events:none;transition:opacity .24s ease,transform .24s ease;z-index:2}
.gift-max-popup.is-visible{opacity:1;pointer-events:auto}
.gift-max-popup-inner{display:flex;align-items:flex-start;gap:12px;padding:14px 14px 12px}
.gift-max-popup-image{flex:0 0 auto}
.gift-max-popup-image-item{display:block;width:48px;height:48px;border-radius:50%;background:#eef2ff;background-position:center;background-repeat:no-repeat;background-size:cover}
.gift-max-popup-content{min-width:0}
.gift-max-popup-title{font-size:15px;font-weight:700;color:#0f172a;line-height:1.25;margin:0 18px 6px 0}
.gift-max-popup-text{font-size:13px;line-height:1.45;color:#334155}
.gift-max-popup-close{position:absolute;top:8px;right:8px;width:18px;height:18px;cursor:pointer;opacity:.75}
.gift-max-popup-close::before,.gift-max-popup-close::after{content:"";position:absolute;left:8px;top:1px;width:2px;height:16px;background:#64748b;border-radius:1px}
.gift-max-popup-close::before{transform:rotate(45deg)}
.gift-max-popup-close::after{transform:rotate(-45deg)}
.gift-max-popup-close:hover{opacity:1}
.gift-max-popup-triangle{position:absolute;width:14px;height:14px;background:#fff;transform:rotate(45deg)}

/* Horizontal side relative to the main widget button */
.gift-max-buttons[data-popup-side="left"] .gift-max-popup{right:calc(var(--gift-max-size,55px) + 8px);left:auto}
.gift-max-buttons[data-popup-side="right"] .gift-max-popup{left:calc(var(--gift-max-size,55px) + 8px);right:auto}

/* Vertical anchor according to widget Y alignment */
.gift-max-buttons[data-popup-v-align="bottom"] .gift-max-popup{bottom:0;top:auto;transform:translateY(10px)}
.gift-max-buttons[data-popup-v-align="bottom"] .gift-max-popup.is-visible{transform:translateY(0)}
.gift-max-buttons[data-popup-v-align="top"] .gift-max-popup{top:0;bottom:auto;transform:translateY(-10px)}
.gift-max-buttons[data-popup-v-align="top"] .gift-max-popup.is-visible{transform:translateY(0)}
.gift-max-buttons[data-popup-v-align="center"] .gift-max-popup{top:50%;bottom:auto;transform:translateY(calc(-50% + 10px))}
.gift-max-buttons[data-popup-v-align="center"] .gift-max-popup.is-visible{transform:translateY(-50%)}

/* Triangle points to the button side */
.gift-max-buttons[data-popup-side="left"] .gift-max-popup-triangle{right:-8px;left:auto;border-top:1px solid #2f6bff;border-right:1px solid #2f6bff}
.gift-max-buttons[data-popup-side="right"] .gift-max-popup-triangle{left:-8px;right:auto;border-left:1px solid #2f6bff;border-bottom:1px solid #2f6bff}

.gift-max-buttons[data-popup-v-align="bottom"] .gift-max-popup-triangle{top:auto;bottom:calc(var(--gift-max-size,55px)/2 - 7px)}
.gift-max-buttons[data-popup-v-align="top"] .gift-max-popup-triangle{top:calc(var(--gift-max-size,55px)/2 - 7px);bottom:auto}
.gift-max-buttons[data-popup-v-align="center"] .gift-max-popup-triangle{top:50%;bottom:auto;transform:translateY(-50%) rotate(45deg)}
