/*
 * This is a manifest file that'll be compiled into application.css.
 *
 * With Propshaft, assets are served efficiently without preprocessing steps. You can still include
 * application-wide styles in this file, but keep in mind that CSS precedence will follow the standard
 * cascading order, meaning styles declared later in the document or manifest will override earlier ones,
 * depending on specificity.
 *
 * Consider organizing styles into separate files for maintainability.
 */

:root {
  --field-green: #2e7d32;
  --grass-light: #66bb6a;
  --sky-white: #f9fbf9;
  --charcoal-slate: #263238;
  --sunrise-gold: #f9a825;
}

body {
  background-color: var(--sky-white);
  color: var(--charcoal-slate);
}

button:not(.btn),
[role="button"]:not(.btn),
input[type="submit"]:not(.btn),
input[type="button"]:not(.btn),
input[type="reset"]:not(.btn) {
  background-color: var(--grass-light);
  color: var(--charcoal-slate);
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease, filter 150ms ease;
}

button:not(.btn):hover:not(:disabled),
[role="button"]:not(.btn):hover,
input[type="submit"]:not(.btn):hover:not(:disabled),
input[type="button"]:not(.btn):hover:not(:disabled),
input[type="reset"]:not(.btn):hover:not(:disabled) {
  background-color: var(--field-green);
  color: var(--sky-white);
  filter: none;
}

.btn {
  background-color: var(--field-green);
  color: var(--sky-white);
  cursor: pointer;
  transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease;
}

.btn:hover:not(:disabled) {
  background-color: var(--grass-light);
  color: var(--charcoal-slate);
}

.btn-primary {
  background-color: var(--sunrise-gold);
  color: var(--charcoal-slate);
}

.btn-primary:hover:not(:disabled) {
  background-color: var(--field-green);
  color: var(--sky-white);
}

.btn-secondary {
  background-color: var(--field-green);
  color: var(--sky-white);
}

.btn-secondary:hover:not(:disabled) {
  background-color: var(--grass-light);
  color: var(--charcoal-slate);
}

.btn-danger {
  background-color: #c62828;
  color: #ffffff;
}

.btn-danger:hover:not(:disabled) {
  background-color: #b71c1c;
  color: #ffffff;
}

.btn-link {
  background-color: transparent;
  color: inherit;
  padding: 0;
}

.btn-link:hover:not(:disabled) {
  background-color: transparent;
  color: #111827;
  filter: none;
}

button:disabled,
input[type="submit"]:disabled,
input[type="button"]:disabled,
input[type="reset"]:disabled {
  cursor: not-allowed;
}

.nav-link {
  color: var(--charcoal-slate);
}

.nav-link:hover {
  color: var(--field-green);
}

.nav-link-active {
  border-bottom: 2px solid var(--grass-light);
}
