/* Standalone legal and error pages use the same quiet public palette. */
body.utility-legal {
  background: #fbfcfe;
  color: #111827;
  padding: 0 0 80px;
  font-family: "Manrope", "Segoe UI", sans-serif;
}

body.utility-legal .container {
  width: min(940px, calc(100% - 40px));
  max-width: none;
  margin: 0 auto;
  padding: clamp(46px, 8vw, 110px) 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.utility-legal h1 {
  max-width: 12ch;
  color: #101722;
  font-size: clamp(2.7rem, 6vw, 5rem);
  line-height: 1.03;
  letter-spacing: -0.055em;
}

body.utility-legal :is(h2,h3,strong) {
  color: #101722;
}

body.utility-legal h2 {
  border-top: 1px solid #dce3ec;
  padding-top: 25px;
  margin-top: 42px;
  letter-spacing: -0.025em;
}

body.utility-legal :is(p,li,.last-updated) {
  color: #61708a;
}

body.utility-legal :is(a,.back-link) {
  color: #17468b;
  text-decoration-color: #bdcce1;
  text-underline-offset: 4px;
}

body.utility-legal .back-link {
  margin-bottom: 42px;
}

body.utility-legal :is(a,button,.policy-table-scroll):focus-visible {
  outline: 2px solid #315eaa;
  outline-offset: 3px;
}

body.utility-legal th {
  background: #eaf0f8;
  color: #101722;
}

body.utility-legal :is(th,td) {
  border-color: #dce3ec;
}

body.utility-404 {
  justify-content: flex-start;
  padding: 130px clamp(20px, 7vw, 110px) 60px;
  background: #fbfcfe;
  color: #101722;
  font-family: "Manrope", "Segoe UI", sans-serif;
}

body.utility-404::before,
body.utility-404::after {
  display: none;
}

body.utility-404 .card {
  width: min(800px, 100%);
  max-width: none;
  border: 0;
  border-top: 1px solid #dce3ec;
  border-radius: 0;
  padding: clamp(34px, 6vw, 72px) 0;
  background: transparent;
  color: #101722;
  box-shadow: none;
  backdrop-filter: none;
  text-align: left;
}

body.utility-404 #not-found-title {
  font-size: clamp(2.7rem, 7vw, 6rem) !important;
  line-height: 1.02;
  letter-spacing: -0.06em;
}

body.utility-404 .card p {
  color: #61708a;
  font-size: clamp(1.1rem, 2vw, 1.4rem);
}

body.utility-404 .links {
  justify-content: flex-start;
  margin-top: 32px;
}

body.utility-404 .links a {
  color: #17468b;
  text-decoration: underline;
  text-decoration-color: #bdcce1;
  text-underline-offset: 5px;
}

body.utility-404 #floating-nav-container,
body.utility-404 #mobile-menu,
body.utility-404 #mobile-market-button,
body.utility-404 #mobile-menu-toggle {
  border-color: #dce3ec;
  background: rgba(251, 252, 254, 0.96);
  color: #101722;
  box-shadow: none;
}

body.utility-404 #floating-navigation a,
body.utility-404 #mobile-menu a {
  color: #101722;
}

body.utility-404 #desktop-nav-croatia {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #344861;
  font-size: 0.78rem;
  font-weight: 700;
}

body.utility-404 #mobile-nav-croatia {
  display: none;
}

body.utility-404 #floating-navigation .ais-blog-nav-cta,
body.utility-404 #mobile-menu .ais-blog-nav-cta {
  background: #101722;
  color: #fff !important;
}

body.utility-404 :is(a,button):focus-visible {
  outline: 2px solid #315eaa;
  outline-offset: 3px;
}

@media (max-width: 760px) {
  body.utility-404 #desktop-nav-croatia,
  body.utility-404 #mobile-market-button {
    display: none !important;
  }

  body.utility-404 #mobile-nav-croatia {
    position: fixed;
    top: 24px;
    right: 86px;
    z-index: 10000;
    display: inline-flex;
    width: 50px;
    height: 50px;
    align-items: center;
    justify-content: center;
    border: 1px solid #dce3ec;
    border-radius: 18px;
    background: #fbfcfe;
    color: #344861;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    pointer-events: auto;
  }
}

@media (max-width: 640px) {
  body.utility-legal .container {
    width: calc(100% - 36px);
    padding-block: 80px 50px;
  }

  body.utility-404 {
    padding: 138px 18px 50px;
  }
}
