/* ============================================================
   Smart CTA — Contextual floating call-to-action
   Desktop: fixed bottom-right button
   Mobile: full-width bottom bar
   ============================================================ */

.smart-cta {
  position: fixed;
  bottom: var(--space-lg);
  right: var(--space-lg);
  z-index: var(--z-sticky);
  opacity: 0;
  transform: translateY(20px);
  transition: opacity var(--transition-base), transform var(--transition-base);
  pointer-events: none;
}

.smart-cta.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.smart-cta-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-xl);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-semibold);
  font-family: inherit;
  border: none;
  border-radius: var(--radius-full);
  cursor: pointer;
  box-shadow: var(--shadow-lg);
  text-decoration: none;
  white-space: nowrap;
  transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.smart-cta-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.25);
}

.smart-cta-icon {
  font-size: 1.1em;
}

/* ---- Variant Colors ---- */
.smart-cta-primary {
  background: var(--color-primary);
  color: #fff;
}

.smart-cta-sell {
  background: #22c55e;
  color: #fff;
}

.smart-cta-military {
  background: #dc2626;
  color: #fff;
}

.smart-cta-alert {
  background: #f97316;
  color: #fff;
}

.smart-cta-agent {
  background: #6366f1;
  color: #fff;
}

.smart-cta-secondary {
  background: var(--color-bg-alt);
  color: var(--color-heading);
  border: 1px solid var(--color-border);
}

/* ---- Mobile: full-width bar ---- */
@media (max-width: 767px) {
  .smart-cta {
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--space-sm) var(--space-md);
    background: var(--color-bg);
    border-top: 1px solid var(--color-border);
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
  }

  .smart-cta-btn {
    width: 100%;
    justify-content: center;
    border-radius: var(--radius-md);
  }
}
