/* removed @import for Google Fonts; fonts are loaded in _Layout for better performance */

:root {
  --vps-navy: #0E2C4D;
  --vps-water-blue: #2A7FD4;
  --vps-water-blue-soft: #7FB4EC;
  --vps-copper: #C47A3E;
  --vps-ink: #15212E;
  --vps-muted: #4B4740;
  --vps-sand: #E7E5DF;

  --bs-primary: #2A7FD4;
  --bs-primary-rgb: 42, 127, 212;
  --bs-danger: #C47A3E;
  --bs-danger-rgb: 196, 122, 62;
  --bs-dark: #0E2C4D;
  --bs-dark-rgb: 14, 44, 77;
  --bs-link-color: #2A7FD4;
  --bs-link-hover-color: #0E2C4D;
  --bs-body-color: #15212E;
  --bs-secondary-color: #4B4740;
}

* {
  box-sizing: border-box;
}

html {
  font-size: 14px;
  position: relative;
  min-height: 100%;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  margin: 0 0 60px;
  font-family: "Manrope", sans-serif;
  color: var(--vps-ink);
  background: var(--vps-sand);
}

h1, h2, h3, h4, h5, h6 {
  color: var(--vps-ink);
  font-weight: 800;
  letter-spacing: -0.02em;
}

.lead,
.text-muted {
  color: var(--vps-muted) !important;
}

main[role="main"] {
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

.navbar.bg-primary {
  background: linear-gradient(150deg, #13355c, var(--vps-navy)) !important;
  border-bottom: 0 !important;
}

.navbar-brand {
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em;
}

.navbar-nav .nav-link {
  color: #d7e5f5 !important;
  font-weight: 600;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-nav .show > .nav-link {
  color: #fff !important;
}

.dropdown-menu {
  border: 0;
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.dropdown-item {
  font-weight: 600;
  color: var(--vps-muted);
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: #f4f7fb;
  color: var(--vps-navy);
}

.bg-dark {
  background-color: var(--vps-navy) !important;
}

.bg-primary {
  background-color: var(--vps-water-blue) !important;
}

.bg-light {
  background-color: #f6f5f2 !important;
}

.text-primary {
  color: var(--vps-water-blue) !important;
}

.text-danger {
  color: var(--vps-copper) !important;
}

.border-primary {
  border-color: var(--vps-water-blue) !important;
}

.border-danger {
  border-color: var(--vps-copper) !important;
}

.card {
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

.btn {
  border-radius: 6px;
  font-weight: 700;
  min-height: 44px;
}

.btn-primary {
  background-color: var(--vps-water-blue);
  border-color: var(--vps-water-blue);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: #236caf;
  border-color: #236caf;
}

.btn-danger {
  background-color: var(--vps-copper);
  border-color: var(--vps-copper);
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active {
  background-color: #a86735;
  border-color: #a86735;
}

.badge.bg-danger {
  background-color: var(--vps-copper) !important;
}

.btn-outline-secondary {
  color: var(--vps-navy);
  border-color: var(--vps-navy);
}

.btn-outline-secondary:hover {
  color: #fff;
  background-color: var(--vps-navy);
  border-color: var(--vps-navy);
}

.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus,
.form-select:focus {
  box-shadow: 0 0 0 0.1rem #fff, 0 0 0 0.25rem rgba(42, 127, 212, 0.35);
  border-color: #9dc3eb;
}

.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;
}

footer a {
  color: var(--vps-water-blue-soft) !important;
}