/**
 * Standalone public pages (error handler, maintenance) — NexLink/Paramount token alignment.
 * Use with body.paramount-public (no app shell / body.ui-v2).
 */
:root {
  --pp-bg: var(--custom-body-bg);
  --pp-bg-mid: var(--bs-secondary-bg);
  --pp-surface: var(--bs-body-bg);
  --pp-border: var(--bs-border-color);
  --pp-text: var(--bs-heading-color);
  --pp-muted: var(--bs-secondary-color);
  --pp-accent: var(--bs-primary);
  --pp-accent-bright: color-mix(in srgb, var(--bs-primary) 88%, #ffffff 12%);
  --pp-shadow: 0 12px 40px rgba(var(--bs-secondary-rgb), 0.08);
}

body.paramount-public {
  margin: 0;
  min-height: 100vh;
  font-family: 'Instrument Sans', system-ui, sans-serif;
  background: var(--pp-bg);
  color: var(--pp-text);
}

body.paramount-public .page-layout {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

body.paramount-public .error-full-wrapper,
body.paramount-public .maintenance-full-wrapper {
  flex: 1;
  display: flex;
  align-items: center;
  padding: 2rem 1rem;
}

body.paramount-public .error-full-wrapper .rounded-4.border.bg-primary-subtle {
  background: var(--bs-primary-bg-subtle) !important;
  border-color: var(--pp-border) !important;
  color: var(--pp-accent) !important;
  box-shadow: var(--pp-shadow);
  border-radius: 1rem !important;
}

body.paramount-public .error-full-wrapper .forbidden-error-card {
  min-height: 320px;
}

body.paramount-public .forbidden-character {
  width: min(300px, 72vw);
  aspect-ratio: 1.45;
  margin: -0.25rem auto 0.75rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
}

body.paramount-public .forbidden-character img {
  display: block;
  width: 100%;
  height: auto;
  transform: translateY(2%);
}

body.paramount-public .error-heading,
body.paramount-public .maintenance-heading {
  color: var(--pp-text) !important;
}

body.paramount-public .maintenance-heading.text-primary {
  color: var(--pp-accent) !important;
}

body.paramount-public .error-text,
body.paramount-public .maintenance-text {
  color: var(--pp-muted) !important;
}

body.paramount-public .btn-primary {
  background: var(--pp-accent) !important;
  border-color: var(--pp-accent) !important;
  color: #fff !important;
  border-radius: 0.75rem;
  box-shadow: 0 10px 24px rgba(var(--bs-primary-rgb), 0.22);
}

body.paramount-public .btn-primary:hover {
  filter: brightness(1.05);
}

body.paramount-public .footer-wrapper {
  background: var(--pp-surface) !important;
  border-top: 1px solid var(--pp-border) !important;
  color: var(--pp-muted);
}

body.paramount-public .footer-wrapper a {
  color: var(--pp-accent) !important;
}

body.paramount-public .maintenance-status {
  color: var(--pp-accent);
}

@media (max-width: 767.98px) {
  body.paramount-public .forbidden-character {
    width: min(260px, 72vw);
  }
}
