html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

/* Reset focus styles */
.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 #1E32B8;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  margin-bottom: 0;
}

/* ─── Wave Divider ─────────────────────────────────────── */
.wave-divider {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  opacity: 0.25;
  margin: 2rem 0;
}

.wave-divider svg {
  display: block;
  width: 100%;
  height: 60px;
}

/* ─── Brand Accent Utilities ───────────────────────────── */
.brand-accent {
  color: #1E32B8;
}

.brand-accent-text {
  background: linear-gradient(135deg, #1E32B8, #3a5ad4, #1E32B8);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  background-size: 200% auto;
  animation: brand-shine 6s linear infinite;
}

@keyframes brand-shine {
  to { background-position: 200% center; }
}

.border-brand {
  border-color: #1E32B8 !important;
}

/* ─── Section divider line ─────────────────────────────── */
.section-rule {
  width: 60px;
  height: 1px;
  background: #1E32B8;
  margin: 0 auto;
  opacity: 0.7;
}

/* ─── Scrollbar ────────────────────────────────────────── */
::-webkit-scrollbar {
  width: 6px;
}
::-webkit-scrollbar-track {
  background: #0a0f1e;
}
::-webkit-scrollbar-thumb {
  background: #1a2a6e;
  border-radius: 3px;
}
::-webkit-scrollbar-thumb:hover {
  background: #1E32B8;
}