.gb-enquiry-fab {
  position: fixed;
  z-index: 500;
  right: max(1.25rem, env(safe-area-inset-right));
  bottom: max(1.25rem, env(safe-area-inset-bottom));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.4rem;
  padding: .85rem 1.5rem;
  border: 2px solid #f7c453;
  border-radius: 999px;
  background: linear-gradient(145deg, #23466a 0%, #102542 75%);
  box-shadow: 0 5px 0 #a7781e, 0 10px 20px rgba(16, 37, 66, .35), inset 0 1px 0 rgba(255, 255, 255, .25);
  color: #fff;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .01em;
  text-decoration: none;
  opacity: .92;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}

.gb-enquiry-fab:hover,
.gb-enquiry-fab:focus-visible {
  color: #fff;
  text-decoration: none;
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 7px 0 #a7781e, 0 13px 23px rgba(16, 37, 66, .4), inset 0 1px 0 rgba(255, 255, 255, .25);
}

.gb-enquiry-fab:active {
  transform: translateY(4px);
  box-shadow: 0 1px 0 #a7781e, 0 3px 8px rgba(16, 37, 66, .3);
}

.gb-enquiry-fab:focus-visible {
  outline: 3px solid #102542;
  outline-offset: 3px;
}

@media (max-width: 600px) {
  .gb-enquiry-fab {
    right: max(.9rem, env(safe-area-inset-right));
    bottom: max(.9rem, env(safe-area-inset-bottom));
    min-height: 3rem;
    padding: .7rem 1.15rem;
    font-size: .9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gb-enquiry-fab { transition: none; }
}
