/* Color Palette */
:root {
  --color-primary: #00B5AD;
  --color-secondary: #A3D900;
  --color-accent: #FF6F61;
  --color-neutral: #F5F5F5;
  --color-text: #333333;

  /* Bootstrap overrides */
  --bs-primary: #00B5AD;
  --bs-primary-rgb: 0, 181, 173;
  --bs-secondary: #A3D900;
  --bs-secondary-rgb: 163, 217, 0;
  --bs-body-color: #333333;
  --bs-body-bg: #F5F5F5;
  --bs-link-color: #00B5AD;
  --bs-link-hover-color: #009690;
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 60px;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

/* Primary button styles */
.btn-primary {
  background-color: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;
}

.btn-primary:hover, .btn-primary:focus {
  background-color: #009690;
  border-color: #008580;
  color: #fff;
}

.btn-primary:active, .btn-primary.active {
  background-color: #008580;
  border-color: #007570;
}

/* Secondary button styles */
.btn-secondary {
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
  color: #333333;
}

.btn-secondary:hover, .btn-secondary:focus {
  background-color: #8FC300;
  border-color: #7FAD00;
  color: #333333;
}

/* Accent/Danger button for emphasis */
.btn-accent {
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: #fff;
}

.btn-accent:hover, .btn-accent:focus {
  background-color: #E55A4F;
  border-color: #D94F44;
  color: #fff;
}

/* Navbar styling */
.navbar.bg-primary {
  background-color: var(--color-primary) !important;
}

.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.9);
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
  color: #fff;
}

/* Link colors */
a {
  color: var(--color-primary);
}

a:hover {
  color: #009690;
}

/* Nav pills */
.nav-pills .nav-link.active, .nav-pills .show > .nav-link {
  background-color: var(--color-primary);
  color: #fff;
}

/* Focus states */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--color-primary);
}

/* Alert accent styling */
.alert-info {
  background-color: rgba(0, 181, 173, 0.1);
  border-color: var(--color-primary);
  color: #333333;
}

/* Badge primary */
.badge.bg-primary {
  background-color: var(--color-primary) !important;
}