/**
 * Modal Button Gradient Styles
 * These utility classes override global .btn styles with !important
 * Use btn-gradient-teal for secondary actions (Cancel, View, etc.)
 * Use btn-gradient-peach for primary actions (Save, Submit, etc.)
 */

/* TEAL GRADIENT BUTTON - Secondary actions */
.btn-gradient-teal,
.btn.btn-gradient-teal,
button.btn-gradient-teal,
a.btn-gradient-teal {
  background: linear-gradient(135deg, #496E78 0%, #2d4a54 100%) !important;
  background-color: #496E78 !important;
  color: #fff !important;
  border: 1px solid rgba(73, 110, 120, 0.7) !important;
  font-weight: 600 !important;
  border-radius: 50px !important;
  padding: 0.5rem 1rem !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
}

.btn-gradient-teal:hover,
.btn.btn-gradient-teal:hover,
button.btn-gradient-teal:hover,
a.btn-gradient-teal:hover {
  background: linear-gradient(135deg, #5a8591 0%, #3d5a64 100%) !important;
  background-color: #5a8591 !important;
  color: #fff !important;
  border-color: rgba(73, 110, 120, 0.9) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(73, 110, 120, 0.3) !important;
}

.btn-gradient-teal:focus,
.btn.btn-gradient-teal:focus,
button.btn-gradient-teal:focus,
a.btn-gradient-teal:focus {
  background: linear-gradient(135deg, #496E78 0%, #2d4a54 100%) !important;
  color: #fff !important;
  border-color: rgba(73, 110, 120, 0.9) !important;
  box-shadow: 0 0 0 0.2rem rgba(73, 110, 120, 0.25) !important;
  outline: none !important;
}

.btn-gradient-teal:active,
.btn.btn-gradient-teal:active,
button.btn-gradient-teal:active,
a.btn-gradient-teal:active {
  background: linear-gradient(135deg, #3d5a64 0%, #253d45 100%) !important;
  color: #fff !important;
  transform: translateY(0) !important;
}

/* PEACH GRADIENT BUTTON - Primary/Key actions */
.btn-gradient-peach,
.btn.btn-gradient-peach,
button.btn-gradient-peach,
a.btn-gradient-peach,
.modal-content .btn-primary,
.modal-content button.btn-primary,
.modal-content .btn-primary.w-100,
.modal-content button.btn-primary.w-100,
#confirm-rename-folder-btn,
#create-folder-btn,
#joinCompetitionModal button[type="submit"],
#iosInstallModal .btn-primary,
#iosInstallModal button.btn-primary,
#adminModal .btn-primary,
#adminModal button.btn-primary,
.modal .btn.btn-primary,
.modal button.btn-primary {
  background: linear-gradient(135deg, #D2A679 0%, #b8915e 100%) !important;
  background-color: #D2A679 !important;
  color: #111 !important;
  border: 1px solid rgba(210, 166, 121, 0.7) !important;
  font-weight: 600 !important;
  border-radius: 50px !important;
  padding: 0.5rem 1rem !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.2) !important;
}

.btn-gradient-peach:hover,
.btn.btn-gradient-peach:hover,
button.btn-gradient-peach:hover,
a.btn-gradient-peach:hover,
.modal-content .btn-primary:hover,
.modal-content button.btn-primary:hover,
.modal-content .btn-primary.w-100:hover,
.modal-content button.btn-primary.w-100:hover,
#confirm-rename-folder-btn:hover,
#create-folder-btn:hover,
#joinCompetitionModal button[type="submit"]:hover,
#iosInstallModal .btn-primary:hover,
#iosInstallModal button.btn-primary:hover,
#adminModal .btn-primary:hover,
#adminModal button.btn-primary:hover,
.modal .btn.btn-primary:hover,
.modal button.btn-primary:hover {
  background: linear-gradient(135deg, #e0b88d 0%, #c4a070 100%) !important;
  background-color: #e0b88d !important;
  color: #111 !important;
  border-color: rgba(210, 166, 121, 0.9) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(210, 166, 121, 0.3) !important;
}

.btn-gradient-peach:focus,
.btn.btn-gradient-peach:focus,
button.btn-gradient-peach:focus,
a.btn-gradient-peach:focus {
  background: linear-gradient(135deg, #D2A679 0%, #b8915e 100%) !important;
  color: #111 !important;
  border-color: rgba(210, 166, 121, 0.9) !important;
  box-shadow: 0 0 0 0.2rem rgba(210, 166, 121, 0.25) !important;
  outline: none !important;
}

.btn-gradient-peach:active,
.btn.btn-gradient-peach:active,
button.btn-gradient-peach:active,
a.btn-gradient-peach:active {
  background: linear-gradient(135deg, #b8915e 0%, #9f7c4f 100%) !important;
  color: #111 !important;
  transform: translateY(0) !important;
}

/* ===== HOST PAIR/UNPAIR BUTTON STYLES ===== */

/* Host Pair Button - Perzik outline, round */
.btn-host-pair {
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 2px solid #D2A679 !important;
  color: #D2A679 !important;
  transition: all 0.2s ease !important;
  font-size: 16px !important;
}

.btn-host-pair svg {
  width: 16px !important;
  height: 16px !important;
}

.btn-host-pair:hover {
  background: #D2A679 !important;
  color: #111 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(210, 166, 121, 0.3) !important;
}

/* Selected state - Lila highlight */
.btn-host-pair.selected {
  background: #978CC2 !important;
  border-color: #978CC2 !important;
  color: #fff !important;
  box-shadow: 0 0 12px rgba(151, 140, 194, 0.5) !important;
  animation: pulse-lila 1.5s ease-in-out infinite !important;
}

@keyframes pulse-lila {
  0%, 100% {
    box-shadow: 0 0 8px rgba(151, 140, 194, 0.4);
  }
  50% {
    box-shadow: 0 0 20px rgba(151, 140, 194, 0.7);
  }
}

/* Host Unpair Button - Teal style */
.btn-unpair-host {
  background: transparent !important;
  border: 1px solid #496E78 !important;
  color: #496E78 !important;
  border-radius: 50px !important;
  padding: 0.25rem 0.75rem !important;
  font-size: 0.8rem !important;
  font-weight: 500 !important;
  transition: all 0.2s ease !important;
}

.btn-unpair-host:hover {
  background: #496E78 !important;
  color: #fff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(73, 110, 120, 0.3) !important;
}

/* Highlighted row when player is selected for pairing */
.individual-leaderboard tr.pair-candidate {
  background: rgba(151, 140, 194, 0.15) !important;
}

.individual-leaderboard tr.pair-candidate .btn-host-pair:not(.selected) {
  border-color: #978CC2 !important;
  color: #978CC2 !important;
}
