/* Patron Floating Contact Styles v1.1.0 */
.pfc-container{
  position: fixed;
  z-index: var(--pfc-z, 9999);
  display: flex;
  gap: var(--pfc-gap, 14px);
}
.pfc-row{ flex-direction: row; }
.pfc-col{ flex-direction: column; }

/* Positioning */
.pfc-h-left{ left: var(--pfc-offset-x, 24px); }
.pfc-h-right{ right: var(--pfc-offset-x, 24px); }
.pfc-h-center{ left: 50%; transform: translateX(-50%); }

.pfc-v-top{ top: var(--pfc-offset-y, 24px); }
.pfc-v-bottom{ bottom: var(--pfc-offset-y, 24px); }
.pfc-v-center{ top: 50%; transform: translateY(-50%); }

/* If both center, correct transform */
.pfc-h-center.pfc-v-center{ transform: translate(-50%, -50%); }
/* If center + top/bottom or left/right + center, preserve the other axis */
.pfc-h-center.pfc-v-top{ transform: translateX(-50%); }
.pfc-h-center.pfc-v-bottom{ transform: translateX(-50%); }
.pfc-h-left.pfc-v-center{ transform: translateY(-50%); }
.pfc-h-right.pfc-v-center{ transform: translateY(-50%); }

.pfc-btn{
  width: 58px;
  height: 58px;
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  background: #777;
  box-shadow: 0 10px 25px rgba(0,0,0,.18);
  position: relative;
  overflow: visible;
  will-change: transform;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.pfc-btn:hover{
  transform: translateY(-2px) scale(1.03);
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
  filter: saturate(1.1);
}
.pfc-btn svg{ display:block; }

.pfc-whatsapp{ background:#25D366; }
.pfc-phone{ background:#E53935; }

/* Pulse (zoom) effect using after pseudo element */
.pfc-pulse::after,
.pfc-pulse::before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  border: 6px solid currentColor;
  opacity:.25;
  animation: pfc-pulse 2.2s ease-out infinite;
}
.pfc-pulse::before{
  animation-delay: .8s;
}
.pfc-whatsapp.pfc-pulse{ color:#8EE2A9; }
.pfc-phone.pfc-pulse{ color:#F5A3A1; }

@keyframes pfc-pulse{
  0%{ transform: scale(1); opacity:.35; }
  70%{ transform: scale(1.9); opacity:.05; }
  100%{ transform: scale(2.2); opacity:0; }
}

/* Shake (sallama) effect */
.pfc-shake{
  animation: pfc-shake 2.8s ease-in-out infinite;
}
@keyframes pfc-shake{
  0%, 90%, 100%{ transform: none; }
  92%{ transform: rotate(0deg) translateZ(0); }
  93%{ transform: rotate(8deg); }
  94%{ transform: rotate(-8deg); }
  95%{ transform: rotate(6deg); }
  96%{ transform: rotate(-6deg); }
  97%{ transform: rotate(3deg); }
  98%{ transform: rotate(-3deg); }
  99%{ transform: rotate(0deg); }
}

/* Accessibility: reduce motion */
@media (prefers-reduced-motion: reduce){
  .pfc-pulse::after,.pfc-pulse::before,.pfc-shake{ animation: none !important; }
}

/* Simple responsiveness */
@media (max-width: 480px){
  .pfc-btn{ width:54px; height:54px; }
}
