/* New UI theme hooks (non-breaking): leverage tokens.css variables */
:root {
  --container-max: 1200px;
}

/* Footer brand logo spacing */
.footer-logo img {
  display: inline-block;
  height: 28px;
  width: auto;
  opacity: 0.95;
  transition: opacity .2s ease-in-out, transform .2s ease-in-out;
}
.footer-logo:hover img { opacity: 1; transform: translateY(-1px); }

.value-brand {
  font-weight: 700;
}

.card {
  background: var(--color-bg, #fff);
  border-radius: var(--radius, 8px);
  box-shadow: var(--shadow, 0 8px 24px rgba(0,0,0,.06));
  border: 1px solid rgba(0,0,0,.06);
}

.btn-primary {
  background-color: var(--color-primary, #1f4f7b);
  border-color: var(--color-primary, #1f4f7b);
}

.text-muted { color: rgba(0,0,0,.55); }

.messages-container .alert { margin-bottom: var(--space-2, 1rem); }

/* Navbar icon/avatar proportion - reduced size */
.navbar .nav-link-icon,
.navbar .nav-link-avatar {
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  line-height: 1;
  flex: 0 0 1.5rem;
  overflow: hidden;
}

.navbar .nav-link-avatar img {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  object-fit: cover;
  border-radius: inherit;
}

.navbar .nav-link-icon .bi {
  font-size: 1rem;
  line-height: 1;
}


/* Sticky navigation support */
.navbar.sticky-top {
  position: sticky !important;
  top: 0 !important;
  z-index: 1030 !important;
}

.card.sticky-top {
  position: sticky !important;
  z-index: 1020 !important;
}
