/* Micro-interactions (no libraries). Uses `translate`/`scale` so existing transforms are kept. */
.btn,.chip,.chat-fab,.chat-btn,.chat-form button,.lang a{position:relative;overflow:hidden;-webkit-tap-highlight-color:transparent;transition:translate .2s ease,scale .12s ease,box-shadow .25s ease,background .2s,border-color .2s,color .2s}
.btn:hover{transform:none;translate:0 -2px}
.btn-green:hover{box-shadow:0 14px 34px -10px rgba(27,179,110,.95),0 0 0 4px rgba(27,179,110,.14)}
.btn-blue:hover{box-shadow:0 14px 34px -10px rgba(42,96,237,.95),0 0 0 4px rgba(42,96,237,.16)}
.btn-ghost:hover{box-shadow:0 10px 28px -12px rgba(42,96,237,.7);background:rgba(255,255,255,.06)}
.plan.featured .btn:hover{box-shadow:0 14px 30px -12px rgba(255,255,255,.55)}
.chip:hover,.chat-btn:hover{translate:0 -1px}
.chat-btn.wa:hover{box-shadow:0 8px 20px -8px rgba(27,179,110,.9)}
.chat-form button:hover{box-shadow:0 8px 20px -8px rgba(42,96,237,.95)}
.chat-fab:hover{transform:none;translate:0 -2px;box-shadow:0 18px 36px -10px rgba(42,96,237,.8),0 0 0 5px rgba(27,179,110,.16)}
.lang a:hover{background:rgba(255,255,255,.06)}
.btn:active,.chip:active,.chat-btn:active,.chat-form button:active,.lang a:active{scale:.96;translate:0 0}
.chat-fab:active{scale:.92;translate:0 0}
.btn:focus-visible,.chip:focus-visible,.lang a:focus-visible,.chat-btn:focus-visible{outline:3px solid #7FB0FF;outline-offset:3px}
.btn svg:last-child:not(:first-child){transition:translate .25s ease}
.btn:hover svg:last-child:not(:first-child),.btn:focus-visible svg:last-child:not(:first-child){translate:4px 0}
.btn:hover>svg:first-child:not(:last-child){animation:ix-wiggle .5s ease}
@keyframes ix-wiggle{30%{rotate:-10deg}60%{rotate:8deg}}
.ripple{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.25;scale:0;animation:ix-ripple .55s ease-out forwards}
@keyframes ix-ripple{to{scale:1;opacity:0}}
.chat-fab.pulse::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(27,179,110,.6);animation:ix-pulse 1.6s ease-out}
@keyframes ix-pulse{0%{box-shadow:0 0 0 0 rgba(27,179,110,.65)}100%{box-shadow:0 0 0 18px rgba(27,179,110,0)}}
.chat-fab{overflow:visible}
.plan{transition:translate .3s ease,box-shadow .3s ease,border-color .3s}
.plan:hover{translate:0 -6px;border-color:rgba(27,179,110,.45);box-shadow:0 30px 60px -30px rgba(27,179,110,.45)}
.plan.featured:hover{box-shadow:0 46px 90px -34px rgba(42,96,237,1)}
.plan li svg{transition:scale .25s ease}
.plan:hover li svg{scale:1.15}
@media (hover:none){.btn:hover,.chip:hover,.chat-btn:hover,.chat-fab:hover,.plan:hover{translate:none}}
@media (prefers-reduced-motion:reduce){
  .btn,.chip,.chat-fab,.chat-btn,.chat-form button,.lang a,.plan,.plan li svg,.btn svg{transition:none!important;animation:none!important}
  .btn:hover,.chip:hover,.chat-btn:hover,.chat-fab:hover,.plan:hover,.btn:hover svg{translate:none!important}
  .btn:active,.chip:active,.chat-fab:active{scale:none}
  .ripple,.chat-fab.pulse::after{display:none;animation:none}
}
.plan .btn-revolut{margin-top:10px;padding:10px 20px;font-size:.88rem}
.plan.featured .btn-revolut{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.plan.featured .btn-revolut:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.terms .pay-note{margin-top:8px;color:var(--text)}
.pay-qr{margin:18px auto 0;display:flex;flex-direction:column;align-items:center;gap:8px}
.pay-qr a{display:block;background:#fff;border-radius:16px;padding:8px;line-height:0;transition:translate .2s,box-shadow .2s}
.pay-qr a:hover{translate:0 -2px;box-shadow:0 14px 30px -12px rgba(27,179,110,.8)}
.pay-qr a:focus-visible{outline:3px solid #7FB0FF;outline-offset:3px}
.pay-qr img{width:148px;height:148px;display:block}
.pay-qr figcaption{font-size:.85rem;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.pay-qr a{transition:none}.pay-qr a:hover{translate:none}}
