:root{
  --cta-bg: #0f172b; /* fallback */
}

.floating-cta {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1050;
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
}

.floating-cta .cta-card{
  background: #0f172b; /* use same dark slate as site */
  color: #fff;
  padding: .9rem 1rem;
  border-radius: .75rem;
  box-shadow: 0 10px 30px rgba(2,6,23,0.4);
  max-width: 320px;
  width: 100%;
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  animation: fadeInUp .35s ease both;
}

.floating-cta .cta-close{
  background: transparent;
  border: 0;
  color: rgba(255,255,255,.8);
  font-size: .95rem;
}

.floating-cta .cta-content{ flex:1 }
.floating-cta .cta-title{ font-weight: 700; margin:0 0 .25rem; }
.floating-cta .cta-sub{ margin:0 0 .5rem; font-size: .9rem; opacity: .9 }

.floating-cta .cta-phone{
  display:inline-flex; align-items:center; gap:.5rem; padding:.5rem .6rem; border-radius:.5rem; background:#b98600; color:#fff; text-decoration:none; font-weight:600
}

.floating-cta .cta-min-btn{
  width:56px; height:56px; border-radius:999px; background:#b98600; color:#0f172b; display:inline-flex; align-items:center; justify-content:center; box-shadow:0 8px 20px rgba(185,134,0,.2)
}

@keyframes fadeInUp{
  from{ transform: translateY(10px); opacity:0 }
  to{ transform: translateY(0); opacity:1 }
}

/* small pulse/glow when minimized */
@keyframes pulseGlow{
  0%{ box-shadow: 0 0 0 0 rgba(185,134,0, .45) }
  70%{ box-shadow: 0 0 0 14px rgba(185,134,0, 0) }
  100%{ box-shadow: 0 0 0 0 rgba(185,134,0, 0) }
}

.floating-cta .pulse{
  animation: pulseGlow 2s infinite;
}
