/* Phone number scraping protection + sticky "Call Now" bar
   Generated by scripts/fix_phone_protection.py — see CLAUDE.md */

.phone-num:empty::before {
  content: "\2026";
  opacity: .6;
}

.sticky-call-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1050;
  display: flex;
  justify-content: center;
  padding: .5rem;
  background: rgba(4, 65, 67, .97);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, .2);
  transform: translateY(100%);
  transition: transform .25s ease;
  pointer-events: none;
}

.sticky-call-bar.is-visible {
  transform: translateY(0);
  pointer-events: auto;
}

.sticky-call-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: #FFBA00;
  color: #1a1a2e;
  font-weight: 700;
  font-size: 1rem;
  padding: .65rem 1.75rem;
  border-radius: 50px;
  text-decoration: none;
  animation: phone-protect-pulse 2.2s infinite;
}

.sticky-call-btn:hover,
.sticky-call-btn:focus {
  background: #e6a800;
  color: #1a1a2e;
}

@keyframes phone-protect-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(255, 186, 0, .5); }
  70%  { box-shadow: 0 0 0 12px rgba(255, 186, 0, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 186, 0, 0); }
}

body.sticky-call-active {
  padding-bottom: 64px;
}
