#pirana-contact-float {
  --pcf-red: #e31e24;
  --pcf-red-dark: #bc151a;
  --pcf-carbon: #171a1d;
  --pcf-graphite: #272b30;
  --pcf-white: #fff;
  --pcf-whatsapp: #128c7e;
  position: fixed;
  z-index: 940;
  right: max(24px, env(safe-area-inset-right, 0px));
  bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  color: var(--pcf-carbon);
  font: 700 13px/1.4 Manrope, sans-serif;
}

#pirana-contact-float *,
#pirana-contact-float *::before,
#pirana-contact-float *::after {
  box-sizing: border-box;
}

#pirana-contact-float a {
  color: inherit;
  text-decoration: none;
}

#pirana-contact-float .pcf-toggle {
  display: grid;
  width: 58px;
  height: 58px;
  padding: 0;
  place-items: center;
  color: var(--pcf-white);
  background: var(--pcf-red);
  border: 0;
  border-radius: 50%;
  box-shadow: 0 8px 28px #171a1d33;
  cursor: pointer;
  list-style: none;
  transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#pirana-contact-float .pcf-toggle::-webkit-details-marker,
#pirana-contact-float .pcf-toggle::marker {
  display: none;
  content: "";
}

#pirana-contact-float .pcf-toggle:hover {
  background: var(--pcf-carbon);
  box-shadow: 0 10px 32px #171a1d42;
  transform: translateY(-2px);
}

#pirana-contact-float .pcf-toggle svg {
  display: block;
  width: 32px;
  height: 32px;
}

#pirana-contact-float .pcf-channels {
  position: absolute;
  right: 0;
  bottom: 74px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: max-content;
}

#pirana-contact-float:not([open]) .pcf-channels {
  display: none;
}

#pirana-contact-float .pcf-channel {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

#pirana-contact-float .pcf-label {
  display: inline-flex;
  min-height: 40px;
  padding: 9px 13px;
  align-items: center;
  color: var(--pcf-carbon);
  background: var(--pcf-white);
  border: 1px solid #e1e5e8;
  border-radius: 5px;
  box-shadow: 0 4px 16px #171a1d1f;
  transition: color .18s ease, background-color .18s ease, border-color .18s ease;
}

#pirana-contact-float .pcf-icon {
  display: grid;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  place-items: center;
  color: var(--pcf-white);
  background: var(--pcf-carbon);
  border-radius: 50%;
  box-shadow: 0 6px 22px #171a1d29;
  transition: background-color .18s ease, transform .18s ease;
}

#pirana-contact-float .pcf-icon svg {
  display: block;
  width: 27px;
  height: 27px;
}

#pirana-contact-float .pcf-whatsapp .pcf-icon {
  background: var(--pcf-whatsapp);
}

#pirana-contact-float .pcf-email .pcf-icon {
  background: var(--pcf-carbon);
}

#pirana-contact-float .pcf-channel:hover .pcf-label,
#pirana-contact-float .pcf-channel:focus-visible .pcf-label {
  color: var(--pcf-white);
  background: var(--pcf-carbon);
  border-color: var(--pcf-carbon);
}

#pirana-contact-float .pcf-whatsapp:hover .pcf-icon {
  background: #0d7468;
}

#pirana-contact-float .pcf-email:hover .pcf-icon {
  background: var(--pcf-red);
}

#pirana-contact-float .pcf-channel:hover .pcf-icon {
  transform: translateY(-1px);
}

#pirana-contact-float :is(.pcf-toggle, .pcf-channel):focus-visible {
  outline: 3px solid var(--pcf-red);
  outline-offset: 4px;
}

#pirana-contact-float .pcf-toggle:focus-visible {
  outline-color: var(--pcf-carbon);
}

@media (max-width: 600px) {
  #pirana-contact-float {
    right: max(16px, env(safe-area-inset-right, 0px));
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  }

  #pirana-contact-float .pcf-channels {
    bottom: 70px;
    gap: 10px;
  }

  #pirana-contact-float .pcf-toggle,
  #pirana-contact-float .pcf-icon {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
  }

  #pirana-contact-float .pcf-label {
    min-height: 38px;
    padding: 8px 12px;
    font-size: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #pirana-contact-float .pcf-toggle,
  #pirana-contact-float .pcf-label,
  #pirana-contact-float .pcf-icon {
    transition: none;
  }
}

@media print {
  #pirana-contact-float {
    display: none !important;
  }
}
