/* --- Unified Button System --- */

/* Primary Button (Green Pill) - Default for btn-solid-primary */
.btn.btn-solid-primary {
  gap: 0.75rem !important;
  border-radius: 1rem !important;
  border-width: 0px !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(0 155 119 / var(--tw-bg-opacity, 1)) !important;
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
  padding-left: 3rem !important;
  padding-right: 3rem !important;
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
  font-weight: 400 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 300ms !important
}

.btn.btn-solid-primary:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(0 127 97 / var(--tw-bg-opacity, 1)) !important;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important
}

/* Secondary Button (Blue Pill) - Default for btn-solid-secondary */
.btn.btn-solid-secondary {
  gap: 0.75rem !important;
  border-radius: 1rem !important;
  border-width: 0px !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(47 149 187 / var(--tw-bg-opacity, 1)) !important;
  padding-top: 1rem !important;
  padding-bottom: 1rem !important;
  padding-left: 3rem !important;
  padding-right: 3rem !important;
  font-size: 1.125rem !important;
  line-height: 1.75rem !important;
  font-weight: 400 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 300ms !important
}

.btn.btn-solid-secondary:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(30 124 161 / var(--tw-bg-opacity, 1)) !important;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important
}

/* Card Button (Compact Green Pill) */
.btn.btn-card-primary {
  gap: 0.5rem !important;
  border-radius: 0.75rem !important;
  border-width: 0px !important;
  --tw-bg-opacity: 1 !important;
  background-color: rgb(0 155 119 / var(--tw-bg-opacity, 1)) !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 300ms !important
}

.btn.btn-card-primary:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(0 127 97 / var(--tw-bg-opacity, 1)) !important;
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important
}

/* Outlines */
.btn.btn-outline-primary {
  border-radius: 1rem !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(0 155 119 / var(--tw-border-opacity, 1)) !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 400 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(0 155 119 / var(--tw-text-opacity, 1)) !important;
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 300ms !important
}
.btn.btn-outline-primary:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(0 155 119 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important
}

.btn.btn-outline-secondary {
  border-radius: 1rem !important;
  --tw-border-opacity: 1 !important;
  border-color: rgb(47 149 187 / var(--tw-border-opacity, 1)) !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 400 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(47 149 187 / var(--tw-text-opacity, 1)) !important;
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 300ms !important
}

.btn.btn-outline-secondary:hover {
  --tw-bg-opacity: 1 !important;
  background-color: rgb(47 149 187 / var(--tw-bg-opacity, 1)) !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important
}

/* Links */
.btn.btn-link-primary {
  font-weight: 400 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(0 155 119 / var(--tw-text-opacity, 1)) !important
}
.btn.btn-link-primary:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(0 127 97 / var(--tw-text-opacity, 1)) !important
}

.btn.btn-link-secondary {
  font-weight: 400 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(47 149 187 / var(--tw-text-opacity, 1)) !important
}

.btn.btn-link-secondary:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(30 124 161 / var(--tw-text-opacity, 1)) !important
}

/* Special & Gradient (Legacy/Specific support) */
.btn.btn-special-primary {
  border-radius: 0.5rem;
  border-width: 4px;
  --tw-border-opacity: 1;
  border-color: rgb(255 255 255 / var(--tw-border-opacity, 1));
  background-image: linear-gradient(to right, var(--tw-gradient-stops));
  --tw-gradient-from: rgb(var(--color-primary) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
  --tw-gradient-to: rgb(var(--color-secondary) / 1) var(--tw-gradient-to-position);
  font-size: 1.125rem;
  line-height: 1.75rem;
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
  width: 95vw
}

.btn.btn-gradient-primary {
  border-radius: 0.5rem !important;
  border-width: 0px !important;
  background-image: linear-gradient(to right, var(--tw-gradient-stops)) !important;
  --tw-gradient-from: rgb(var(--color-primary) / 1) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
  --tw-gradient-to: rgb(var(--color-secondary) / 1) var(--tw-gradient-to-position) !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  padding-left: 2rem !important;
  padding-right: 2rem !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 400 !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 300ms !important
}

.btn.btn-gradient-primary:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important
}

/* Icons */
.btn svg {
  fill: currentColor !important;
  color: currentColor !important
}

/* Card Button Gradient (Gradient version of Card Button) */
.btn.btn-card-gradient {
  gap: 0.5rem !important;
  border-radius: 0.75rem !important;
  border-width: 0px !important;
  background-image: linear-gradient(to right, var(--tw-gradient-stops)) !important;
  --tw-gradient-from: rgb(var(--color-primary) / 1) var(--tw-gradient-from-position) !important;
  --tw-gradient-to: rgb(var(--color-primary) / 0) var(--tw-gradient-to-position) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
  --tw-gradient-to: rgb(var(--color-secondary) / 1) var(--tw-gradient-to-position) !important;
  padding-top: 0.75rem !important;
  padding-bottom: 0.75rem !important;
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
  font-size: 1rem !important;
  line-height: 1.5rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important;
  transition-property: all !important;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
  transition-duration: 300ms !important
}

.btn.btn-card-gradient:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1) !important;
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color) !important;
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow) !important
}
