.floating-cta{
  --cta-x:0px;
  --cta-y:0px;
  position:fixed;
  left:50%;
  right:auto;
  bottom:clamp(18px,3vh,30px);
  z-index:1200;
  display:flex;
  align-items:center;
  gap:16px;
  padding:10px 11px 10px 26px;
  border:2px solid #10204f;
  border-radius:999px;
  background:#dfff78;
  color:#10204f;
  box-shadow:0 18px 45px #061b7580,0 0 0 7px #ffffff8c;
  font-size:16px;
  font-weight:800;
  letter-spacing:.01em;
  transform:translate3d(calc(-50% + var(--cta-x)),var(--cta-y),0);
  transition:opacity .3s,visibility .3s,box-shadow .3s,background .3s,transform .18s ease-out;
  animation:floating-cta-arrive .7s .8s both cubic-bezier(.16,1,.3,1),floating-cta-breathe 3.8s 1.5s ease-in-out infinite;
  isolation:isolate;
}
.floating-cta:before{content:'';position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(110deg,transparent 24%,#ffffff55 48%,transparent 72%);background-size:250% 100%;z-index:-1;animation:floating-cta-shine 4.5s ease-in-out infinite}
.floating-cta b{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#10204f;color:#dfff78;font-size:22px;font-weight:500;transition:transform .25s}
.floating-cta:hover{background:#efffae;box-shadow:0 22px 55px #061b7590,0 0 0 9px #ffffffa6}
.floating-cta:hover b{transform:translate(2px,-2px) rotate(5deg)}
.floating-cta:focus-visible{outline:3px solid #dfff78;outline-offset:5px}
.floating-cta.is-near-contact{opacity:0;visibility:hidden;pointer-events:none;transform:translate3d(calc(-50% + var(--cta-x)),calc(var(--cta-y) + 18px),0)}
@keyframes floating-cta-arrive{from{opacity:0;transform:translate3d(-50%,30px,0) scale(.9)}to{opacity:1;transform:translate3d(calc(-50% + var(--cta-x)),var(--cta-y),0) scale(1)}}
@keyframes floating-cta-breathe{0%,100%{scale:1}50%{scale:1.035}}
@keyframes floating-cta-shine{0%,65%{background-position:130% 50%}100%{background-position:-80% 50%}}
@media(max-width:600px){.floating-cta{left:50%;right:auto;bottom:14px;width:max-content;max-width:calc(100vw - 32px);padding:8px 9px 8px 20px;font-size:14px;gap:12px;box-shadow:0 14px 34px #061b7580,0 0 0 5px #ffffff99}.floating-cta b{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.floating-cta,.floating-cta:before{animation:none}.floating-cta{transition:opacity .2s,visibility .2s}}

/* One compact row owns both case actions, outside the scrolling content. */
.case-bottom-actions{position:fixed;top:auto;right:0;bottom:0;left:0;width:100%;height:auto;min-height:0;max-height:none;min-width:0;max-width:none;margin:0;border-radius:0;box-shadow:none;transform:none;animation:none;z-index:1200;display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:transparent;border:0;pointer-events:none;box-sizing:border-box}
.case-bottom-back,.case-bottom-actions .floating-cta{box-sizing:border-box;position:static;inset:auto;transform:none!important;animation:none;scale:1;min-height:44px;width:auto;max-width:none;margin:0;padding:8px 16px;gap:8px;border:1px solid #10204f33;border-radius:999px;font:700 14px/1.2 Arial,sans-serif;letter-spacing:0;white-space:nowrap;box-shadow:none;cursor:pointer;opacity:1;visibility:visible;pointer-events:auto}
.case-bottom-back{background:#fff;color:#10204f;pointer-events:auto}
.case-bottom-actions .floating-cta:before{display:none}
.case-bottom-actions .floating-cta b{width:26px;height:26px;font-size:17px}
body.case-is-open .case-frame{bottom:0;height:100%}
body[data-design=neon] .case-bottom-actions{background:transparent;border:0}
body[data-design=neon] .case-bottom-back{background:#172b60;color:#fff;border-color:#ffffff44}
.case-bottom-back:focus-visible{outline:3px solid #214dff;outline-offset:2px}
