/* Expandable contact speed-dial (Call + WhatsApp) */
.fab-menu{
  position:fixed;
  bottom:max(16px, env(safe-area-inset-bottom, 0px));
  right:max(16px, env(safe-area-inset-right, 0px));
  left:auto;
  z-index:12050;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:0;
  pointer-events:none;
}
/* Same corner for Arabic: always physical bottom-right */
html[dir="rtl"] .fab-menu,
body.is-rtl .fab-menu{
  right:max(16px, env(safe-area-inset-right, 0px)) !important;
  left:auto !important;
  align-items:flex-end !important;
}

.fab-menu__backdrop{
  position:fixed;
  inset:0;
  background:rgba(10, 22, 40, 0.35);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 0.32s var(--ease), visibility 0.32s var(--ease);
  z-index:-1;
}
.fab-menu.is-open .fab-menu__backdrop{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.fab-menu__list{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  margin:0 0 10px;
  padding:0;
  list-style:none;
}
html[dir="rtl"] .fab-menu__list,
body.is-rtl .fab-menu__list{
  align-items:flex-end !important;
}

.fab-menu__item{
  display:flex;
  align-items:center;
  gap:10px;
  flex-direction:row-reverse;
  text-decoration:none;
  opacity:0;
  transform:translateY(14px) scale(0.72);
  max-height:0;
  overflow:hidden;
  pointer-events:none;
  transition:
    opacity 0.38s cubic-bezier(0.34, 1.2, 0.64, 1),
    transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1),
    max-height 0.38s var(--ease);
}
html[dir="rtl"] .fab-menu__item,
body.is-rtl .fab-menu__item{
  flex-direction:row-reverse !important;
}

.fab-menu.is-open .fab-menu__item{
  opacity:1;
  transform:translateY(0) scale(1);
  max-height:56px;
  pointer-events:auto;
}
.fab-menu.is-open .fab-menu__item:nth-child(1){
  transition-delay:0.06s;
}
.fab-menu.is-open .fab-menu__item:nth-child(2){
  transition-delay:0.12s;
}
.fab-menu:not(.is-open) .fab-menu__item:nth-child(1){
  transition-delay:0.06s;
}
.fab-menu:not(.is-open) .fab-menu__item:nth-child(2){
  transition-delay:0s;
}

.fab-menu__label{
  padding:7px 12px;
  border-radius:10px;
  background:#fff;
  color:var(--text-strong);
  font-size:13px;
  font-weight:600;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 8px 24px rgba(10, 22, 40, 0.14);
  border:1px solid rgba(10, 22, 40, 0.08);
}
body.is-rtl .fab-menu__label{
  font-family:var(--font-ar);
}

.fab-menu__icon{
  width:48px;
  height:48px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  box-shadow:0 10px 28px rgba(10, 22, 40, 0.18);
  transition:transform 0.25s var(--ease), filter 0.25s var(--ease);
}
.fab-menu__icon svg{
  width:22px;
  height:22px;
  display:block;
}
.fab-menu__item--call .fab-menu__icon{
  background:linear-gradient(180deg, #1b6fbf, #0f4e8f);
  color:#fff;
  border:1px solid rgba(10, 54, 110, 0.4);
}
.fab-menu__item--wa .fab-menu__icon{
  background:#25d366;
  color:#fff;
  border:1px solid rgba(20, 160, 80, 0.45);
}
.fab-menu__item:active .fab-menu__icon{
  transform:scale(0.94);
}

.fab-menu__toggle{
  position:relative;
  pointer-events:auto;
  width:52px;
  height:52px;
  border-radius:50%;
  border:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, #1a6bb5, #0e4a7a);
  color:#fff;
  box-shadow:0 12px 32px rgba(15, 78, 143, 0.35);
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:transform 0.35s cubic-bezier(0.34, 1.2, 0.64, 1), box-shadow 0.35s var(--ease), background 0.35s var(--ease);
}
.fab-menu__toggle:hover{
  filter:brightness(1.05);
  box-shadow:0 14px 36px rgba(15, 78, 143, 0.42);
}
.fab-menu__toggle:active{
  transform:scale(0.96);
}
.fab-menu.is-open .fab-menu__toggle{
  background:linear-gradient(180deg, #3d5a73, #0c1829);
  transform:rotate(0deg);
}
.fab-menu__toggle-icon{
  position:absolute;
  width:24px;
  height:24px;
  transition:opacity 0.28s var(--ease), transform 0.38s cubic-bezier(0.34, 1.2, 0.64, 1);
}
.fab-menu__toggle-icon--close{
  opacity:0;
  transform:rotate(-90deg) scale(0.5);
}
.fab-menu__toggle-icon--open{
  opacity:1;
  transform:rotate(0deg) scale(1);
}
.fab-menu.is-open .fab-menu__toggle-icon--open{
  opacity:0;
  transform:rotate(90deg) scale(0.5);
}
.fab-menu.is-open .fab-menu__toggle-icon--close{
  opacity:1;
  transform:rotate(0deg) scale(1);
}

@media (max-width: 520px){
  .fab-menu{
    bottom:max(12px, env(safe-area-inset-bottom, 0px));
    right:max(12px, env(safe-area-inset-right, 0px));
  }
  html[dir="rtl"] .fab-menu,
  body.is-rtl .fab-menu{
    right:max(12px, env(safe-area-inset-right, 0px)) !important;
    left:auto !important;
  }
  .fab-menu__toggle{
    width:44px;
    height:44px;
  }
  .fab-menu__icon{
    width:40px;
    height:40px;
  }
  .fab-menu__icon svg{
    width:20px;
    height:20px;
  }
  .fab-menu__label{
    font-size:12px;
    padding:6px 10px;
  }
  .fab-menu.is-open .fab-menu__item{
    max-height:48px;
  }
}

@media (prefers-reduced-motion: reduce){
  .fab-menu__item,
  .fab-menu__toggle,
  .fab-menu__toggle-icon,
  .fab-menu__backdrop{
    transition:none !important;
  }
  .fab-menu:not(.is-open) .fab-menu__item{
    display:none;
  }
  .fab-menu.is-open .fab-menu__item{
    opacity:1;
    transform:none;
    max-height:none;
  }
}
