/* Bazowy styl przycisków */
.btn {
  appearance: none;
  border: 0;
  border-radius: var(--radius-md);
  padding: 6px 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background var(--transition-slow), transform var(--transition-fast), box-shadow var(--transition-slow);
}

/* Warianty */
.btn-primary,
.add-btn {
  background: var(--color-accent);
  color: #000;
  box-shadow: var(--shadow-md), 0 0 0 rgba(212,175,55,0);
}
.btn-primary:hover,
.add-btn:hover {
  background: var(--color-accent-hover);
  transform: translateY(-1px);
}
.btn-primary:active,
.add-btn:active {
  transform: scale(0.97);
  filter: brightness(1.05);
}
.btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}

/* Pływające przyciski akcji */
.magic-btn {
  position: fixed;
  right: 20px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
  background: var(--color-accent);
  color: #000;
  font: 700 16px/1 inherit;
  padding: 10px 18px;
  border: 0;
  border-radius: var(--radius-pill);
  box-shadow: var(--shadow-gold);
  animation: pulse 2.2s infinite;
  z-index: 9999;
}
.magic-btn.top { top: 20px; }
.magic-btn.bottom { bottom: 20px; }

/* Animacja pulse – jedna definicja dla wszystkich */
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(255,204,0,0.6); }
  70% { box-shadow: 0 0 0 10px rgba(255,204,0,0); }
}