:root {
  --whatsapp-green: #25d366;
  --whatsapp-green-dark: #1fb857;
  --whatsapp-shadow: 0 16px 34px rgba(37, 211, 102, 0.28);
  --ticket-float: #0c1221;
  --ticket-float-soft: #243453;
  --ticket-shadow: 0 16px 34px rgba(12, 18, 33, 0.22);
}

.ticket-float,
.whatsapp-float {
  position: fixed !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  z-index: 1200 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 62px !important;
  height: 62px !important;
  min-width: 62px !important;
  min-height: 62px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  overflow: hidden !important;
  color: #ffffff;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
  animation: floating-shortcut-in 0.5s ease-out both;
}

.ticket-float {
  bottom: calc(max(18px, env(safe-area-inset-bottom)) + 76px) !important;
  background: linear-gradient(180deg, var(--ticket-float-soft), var(--ticket-float)) !important;
  box-shadow: var(--ticket-shadow) !important;
  padding: 4px !important;
}

.whatsapp-float {
  bottom: max(18px, env(safe-area-inset-bottom)) !important;
  background: linear-gradient(180deg, var(--whatsapp-green), var(--whatsapp-green-dark)) !important;
  box-shadow: var(--whatsapp-shadow) !important;
}

.ticket-float:hover,
.ticket-float:focus-visible,
.whatsapp-float:hover,
.whatsapp-float:focus-visible {
  transform: translateY(-2px) scale(1.05);
}

.ticket-float:hover,
.ticket-float:focus-visible {
  box-shadow: 0 20px 36px rgba(12, 18, 33, 0.28);
  filter: saturate(1.03);
}

.whatsapp-float:hover,
.whatsapp-float:focus-visible {
  box-shadow: 0 20px 36px rgba(37, 211, 102, 0.34);
  filter: saturate(1.04);
}

.ticket-float:focus-visible {
  outline: 3px solid rgba(12, 18, 33, 0.18);
  outline-offset: 4px;
}

.whatsapp-float:focus-visible {
  outline: 3px solid rgba(37, 211, 102, 0.24);
  outline-offset: 4px;
}

.ticket-float img,
.ticket-float svg,
.whatsapp-float svg {
  width: 31px !important;
  height: 31px !important;
  max-width: 31px !important;
  max-height: 31px !important;
  display: block !important;
  flex: 0 0 auto !important;
}

.ticket-float img,
.ticket-float svg,
.whatsapp-float svg {
  fill: currentColor;
}

.ticket-float img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: scale(0.98);
}

@keyframes floating-shortcut-in {
  from {
    opacity: 0;
    transform: translate3d(0, 16px, 0) scale(0.92);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@media (max-width: 767px) {
  .ticket-float,
  .whatsapp-float {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
    min-height: 56px !important;
    right: max(14px, env(safe-area-inset-right)) !important;
  }

  .ticket-float {
    bottom: calc(max(14px, env(safe-area-inset-bottom)) + 68px) !important;
  }

  .whatsapp-float {
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
  }

  .ticket-float img,
  .ticket-float svg,
  .whatsapp-float svg {
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
  }
}
