/**
 * LMIS Government Design System — Components
 * Shared visual primitives for header, footer, and public pages.
 */

/* ---------- Buttons ---------- */
.btn-primary,
.gov-header .btn-primary,
.gov-header .hdr-nav .btn-sm.btn-primary {
  --bs-btn-bg: var(--gov-primary);
  --bs-btn-border-color: var(--gov-primary);
  --bs-btn-hover-bg: var(--gov-primary-dark);
  --bs-btn-hover-border-color: var(--gov-primary-dark);
  --bs-btn-active-bg: var(--gov-primary-dark);
  --bs-btn-active-border-color: var(--gov-primary-dark);
  --bs-btn-color: var(--gov-on-primary);
  background-color: var(--gov-primary) !important;
  border-color: var(--gov-primary) !important;
  color: var(--gov-on-primary) !important;
  border-radius: var(--gov-radius);
  font-weight: var(--gov-fw-medium);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--gov-primary-dark) !important;
  border-color: var(--gov-primary-dark) !important;
  color: var(--gov-on-primary) !important;
}

.gov-header .hdr-nav .btn-sm:nth-of-type(2),
.gov-header .hdr-nav .btn-sm.signin {
  background-color: var(--gov-secondary) !important;
  border-color: var(--gov-secondary) !important;
}

.gov-header .hdr-nav .btn-sm:nth-of-type(3),
.gov-header .hdr-nav .btn-sm.signup {
  background-color: var(--gov-accent) !important;
  border-color: var(--gov-accent) !important;
  color: var(--gov-on-accent) !important;
}

.btn-outline-primary {
  --bs-btn-color: var(--gov-primary);
  --bs-btn-border-color: var(--gov-primary);
  --bs-btn-hover-bg: var(--gov-primary);
  --bs-btn-hover-border-color: var(--gov-primary);
  --bs-btn-hover-color: var(--gov-on-primary);
  color: var(--gov-primary);
  border-color: var(--gov-primary);
}

.btn-outline-primary:hover {
  background-color: var(--gov-primary);
  border-color: var(--gov-primary);
  color: var(--gov-on-primary) !important;
}

.btn-secondary {
  background-color: var(--gov-surface);
  color: var(--gov-primary);
  border-color: var(--gov-border);
}

/* ---------- Cards ---------- */
.card {
  background-color: var(--gov-surface);
  border-color: var(--gov-border);
  border-radius: var(--gov-radius-md);
  box-shadow: var(--gov-shadow-sm);
}

.card h4 a {
  color: var(--gov-text);
}

.lmis-services .card-body a {
  color: var(--gov-on-primary);
}

/* ---------- Forms ---------- */
.form-control,
.form-select {
  border-color: var(--gov-border);
  border-radius: var(--gov-radius);
  color: var(--gov-text);
  background-color: var(--gov-surface);
}

.form-control:focus,
.form-select:focus {
  border-color: var(--gov-secondary);
  box-shadow: 0 0 0 0.2rem rgba(26, 122, 86, 0.15);
}

/* ---------- Alerts / badges ---------- */
.alert-success { color: #0F5132; background: #D1E7DD; border-color: #BADBCC; }
.alert-danger  { color: #842029; background: #F8D7DA; border-color: #F1AEB5; }
.alert-warning { color: #664D03; background: #FFF3CD; border-color: #FFECB5; }
.alert-info    { color: #055160; background: #CFF4FC; border-color: #B6EFFB; }

.badge,
.button__badge {
  border-radius: var(--gov-radius-pill);
}

.btn-notify .button__badge {
  background-color: var(--gov-accent);
  color: var(--gov-on-accent);
}

/* ---------- Tables ---------- */
.table thead {
  border-color: var(--gov-primary);
}

.table-hr th {
  background-color: var(--gov-primary) !important;
  color: var(--gov-on-primary);
}

/* ---------- Dropdowns ---------- */
.gov-header .dropdown-menu {
  border: 1px solid var(--gov-border);
  border-radius: var(--gov-radius-md);
  box-shadow: var(--gov-shadow);
  padding: var(--gov-space-2) 0;
  background-color: #ffffff !important;
}

.gov-header .dropdown-item,
.gov-header .hdr-nav .dropdown-item {
  color: var(--gov-primary-dark) !important;
  font-size: var(--gov-fs-sm);
  padding: var(--gov-space-2) var(--gov-space-4);
}

.gov-header .dropdown-item:hover,
.gov-header .dropdown-item:focus {
  background-color: var(--lighter-blue-color) !important;
  color: var(--gov-primary-dark) !important;
}

/* ---------- Search accents ---------- */
.home-search .btn-search,
.banr .btn-primary {
  background-color: var(--gov-accent) !important;
  border-color: var(--gov-accent) !important;
  color: var(--gov-on-accent) !important;
}

.subscribe {
  background-color: var(--gov-surface);
  color: var(--gov-primary);
}
