.dcp-theme-account a, .dcp-theme-footer a {
  color: #fff;
  text-decoration: none;
  &:hover {
    color: #ffb34f;
    text-decoration: underline;
  }
}
.dcp-theme-brand {
  display: inline-block;
  max-width: 100%;
  img {
    display: block;
    max-height: 100px;
    width: auto;
  }
}
.dcp-theme-copyright {
  border-top: 1px solid #527087;
  color: #e3edf5;
  font-size: .9rem;
}
.dcp-theme-footer {
  background: #061e32;
  border-top: 4px solid #0784e8;
  color: #fff;
}
.dcp-theme-footer-brand img {
  background: #fff;
  border-radius: 8px;
  object-fit: contain;
}
/* DCPengine shell only. Content styles remain under the existing application. */
.dcp-theme-header {
  background: #fff;
  border-top: 5px solid #0784e8;
}
.dcp-theme-header a:focus-visible, .dcp-theme-header button:focus-visible, .dcp-theme-footer a:focus-visible {
  outline: 3px solid #ff940d;
  outline-offset: 3px;
}
.dcp-theme-nav {
  background: #061e32;
  border-bottom: 4px solid #ff8100;
  padding: 0;
  .nav-link {
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    line-height: 40px;
    padding: .25rem 1rem !important;
    &:hover, &[aria-current="page"] {
      background: #0b5285;
      color: #fff;
    }
  }
}
.dcp-theme-search {
  align-items: center;
  max-width: 100%;
  i {
    bottom: 3px;
    position: relative;
    right: 5px;
  }
  .dcp-theme-search-field {
    position: relative;
    width: 100%;
  }
  .form-control, .dcp-theme-search-button {
    font-size: .875rem;
    line-height: 1.25;
    height: 30px;
    min-height: 0;
    padding: .25rem .5rem;
  }
  .form-control {
    background: #fff;
    border-color: #fff;
    color: #152536;
    min-width: 0;
    padding-right: 2.25rem;
    &::placeholder {
      color: #536171;
      opacity: 1;
    }
  }
}
.dcp-theme-search-button {
  background: transparent;
  border-color: transparent;
  color: #061e32;
  font-weight: 700;
  position: absolute;
  right: 0;
  top: 0;
  width: 32px;
  &:hover {
    background: #ffb34f;
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    color: #061e32;
  }
}
@media (max-width: 991.98px) {
  .dcp-theme-nav .nav-link {
    padding: .375rem 1rem !important;
  }
  .dcp-theme-search {
    padding-bottom: .75rem;
    width: 100%;
  }
}
.footer-main {
  & h2 {
    font-family: Arial, sans-serif;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin: 8px 0 19px;
    text-transform: uppercase;
  }
  & .col-6 > a {
    color: #d7e0d8;
    display: block;
    font-size: 13px;
    margin: 6px 0;
    text-decoration: none;
  }
}
.py-3 {
  padding-bottom: 0.2rem !important;
  padding-top: 0.2rem !important;
}
.py-lg-4 {
  padding-bottom: 0.5rem !important;
  padding-top: 0.5rem !important;
}

/* Masthead handoff: keep navigation outside the scrolling header. */
.dcp-theme-masthead { padding-top: 10px; padding-bottom: 10px; }
.dcp-theme-brand img {
  width: min(300px);
  max-width: 100%;
  max-height: 88px;
  height: auto; opacity: var(--logo-opacity, 1);
}
.dcp-theme-nav {
  --collapse: 0;
  position: sticky; top: 0; z-index: 1030;
  background: #fff; color: #061e32;
  border-top: 1px solid #d9e2e9; border-bottom: 3px solid #ff8100;
}
.dcp-theme-nav > .container {
  min-height: calc(38px - 6px * var(--collapse));
  gap: 16px;
}
.dcp-theme-nav .nav-link {
  color: #061e32; line-height: 24px;
  padding: calc(7px - 3px * var(--collapse)) 1rem !important;
}
.dcp-theme-nav .nav-link:hover,
.dcp-theme-nav .nav-link[aria-current="page"] { background: #e8f3fc; color: #064b7b; }
.dcp-theme-nav .dcp-theme-account a,
.dcp-theme-nav .dcp-theme-signout { color: #061e32; }
.dcp-theme-nav .dcp-theme-account a:hover,
.dcp-theme-nav .dcp-theme-signout:hover { color: #064b7b; text-decoration: underline !important; }
.dcp-theme-nav .form-control { border-color: #8a9dad; }
.dcp-theme-nav .navbar-toggler { color: #061e32; margin-left: auto; }
.dcp-theme-nav a:focus-visible, .dcp-theme-nav button:focus-visible {
  outline: 3px solid #0784e8; outline-offset: 2px;
}
.dcp-theme-compact {
  display: block; flex: 0 0 28px;
  height: 28px; pointer-events: none;
}
.dcp-theme-compact img {
  position: fixed; width: 28px; height: 28px; max-width: none;
  opacity: 0; pointer-events: none;
}
.dcp-theme-compact.mark-ready, .dcp-theme-compact.mark-ready img { pointer-events: auto; }
@media (max-width: 991.98px) {
  .dcp-theme-nav > .container { gap: 0; }
  .dcp-theme-nav .navbar-toggler {
    margin-top: 3px !important; margin-bottom: 3px !important;
    padding: .25rem .5rem; font-size: .875rem;
  }
  .dcp-theme-compact { flex-basis: 28px; }
  .dcp-theme-nav .nav-link { padding: .375rem 1rem !important; }
  .dcp-theme-nav .navbar-collapse { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .dcp-theme-brand img { opacity: 1; }
}
