/* V105 — true floating mobile action bar + dismiss control */
.mobile-action-bar{
  position:fixed;
  left:12px;
  right:12px;
  bottom:calc(12px + env(safe-area-inset-bottom));
  z-index:99990;
  display:none;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  padding:14px 8px 8px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  background:linear-gradient(150deg,rgba(18,20,27,.96),rgba(4,5,8,.95));
  box-shadow:0 22px 65px rgba(0,0,0,.66),0 0 34px rgba(237,28,46,.22),inset 0 1px 0 rgba(255,255,255,.09);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  transform:translate3d(0,145%,0) scale(.97);
  opacity:0;
  pointer-events:none;
  transition:transform .42s cubic-bezier(.16,.84,.25,1),opacity .3s ease;
  contain:layout paint;
  will-change:transform;
}
.mobile-action-bar.is-visible{
  transform:translate3d(0,0,0) scale(1);
  opacity:1;
  pointer-events:auto;
  animation:mobileBarFloat 4.6s ease-in-out .5s infinite;
}
.mobile-action-bar.is-dismissed{
  opacity:0!important;
  pointer-events:none!important;
  transform:translate3d(0,145%,0) scale(.94)!important;
  animation:none!important;
}
.mobile-action-close{
  position:absolute!important;
  top:-15px;
  right:-7px;
  width:38px!important;
  height:38px!important;
  min-height:38px!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid rgba(255,96,108,.85)!important;
  background:linear-gradient(145deg,#f52237,#980817)!important;
  color:#fff!important;
  display:grid!important;
  place-items:center!important;
  font:900 27px/1 Arial,sans-serif!important;
  box-shadow:0 0 0 5px rgba(6,7,10,.9),0 0 24px rgba(237,28,46,.55)!important;
  z-index:4;
  cursor:pointer;
  transform:none!important;
  animation:mobileClosePulse 2.4s ease-in-out infinite!important;
}
.mobile-action-close:active{transform:scale(.9)!important}
.mobile-action-bar a,
.mobile-action-bar > button:not(.mobile-action-close){
  min-width:0;
  min-height:58px;
  margin:0;
  padding:8px 5px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:15px;
  color:#fff;
  background:linear-gradient(155deg,#171920,#0c0d12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:3px;
  font:800 12px/1.05 "Barlow Condensed",Arial,sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  cursor:pointer;
  overflow:hidden;
  position:relative;
  -webkit-tap-highlight-color:transparent;
}
.mobile-action-bar a::after,
.mobile-action-bar > button:not(.mobile-action-close)::after{
  content:"";
  position:absolute;
  inset:-45%;
  background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.21) 50%,transparent 62%);
  transform:translateX(-80%);
  animation:mobileActionSweep 4.2s ease-in-out infinite;
  pointer-events:none;
}
.mobile-action-bar .mobile-action-primary{
  background:linear-gradient(135deg,#f51d31,#ad0718);
  border-color:rgba(255,91,105,.72);
  box-shadow:0 0 22px rgba(237,28,46,.27),inset 0 1px 0 rgba(255,255,255,.18);
}
.mobile-action-icon{font-size:20px;line-height:1;position:relative;z-index:1}
.mobile-action-label{position:relative;z-index:1;white-space:nowrap}
.mobile-action-bar a:active,
.mobile-action-bar > button:not(.mobile-action-close):active{transform:scale(.96)}
@keyframes mobileActionSweep{0%,58%{transform:translateX(-90%)}78%,100%{transform:translateX(90%)}}
@keyframes mobileBarFloat{
  0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
  24%{transform:translate3d(3px,-5px,0) rotate(.15deg)}
  52%{transform:translate3d(-3px,-8px,0) rotate(-.15deg)}
  76%{transform:translate3d(2px,-3px,0) rotate(.08deg)}
}
@keyframes mobileClosePulse{0%,100%{box-shadow:0 0 0 5px rgba(6,7,10,.9),0 0 18px rgba(237,28,46,.38)}50%{box-shadow:0 0 0 5px rgba(6,7,10,.9),0 0 32px rgba(255,44,62,.8)}}
@media(max-width:800px){
  .mobile-action-bar{display:grid}
  body{padding-bottom:calc(98px + env(safe-area-inset-bottom))}
  body.mobile-actions-dismissed{padding-bottom:0}
  body.modal-open .mobile-action-bar,
  body.menu-open .mobile-action-bar,
  dialog[open] ~ .mobile-action-bar{opacity:0!important;pointer-events:none!important;transform:translate3d(0,145%,0)!important;animation:none!important}
}
@media(max-width:390px){
  .mobile-action-bar{left:7px;right:7px;gap:5px;padding:13px 6px 6px;border-radius:20px}
  .mobile-action-bar a,.mobile-action-bar > button:not(.mobile-action-close){min-height:55px;font-size:11px;border-radius:13px}
  .mobile-action-icon{font-size:18px}
  .mobile-action-close{right:-2px;top:-14px;width:35px!important;height:35px!important;min-height:35px!important;font-size:24px!important}
}
@media(prefers-reduced-motion:reduce){
  .mobile-action-bar,.mobile-action-bar a::after,.mobile-action-bar > button::after{animation:none!important;transition:none!important}
}
