/* HRConnect Premium UI — Shared Public Footer. Loaded once by the public foundation. Presentation only. */
body.hrc-design-system-v1.hrc-family-public {
  --hrc-home-footer-surface: color-mix(in srgb, var(--hrc-color-surface) 88%, var(--hrc-color-bg-app));
  --hrc-home-footer-soft: color-mix(in srgb, var(--hrc-brand-500) 7%, var(--hrc-color-surface));
  --hrc-home-footer-line: color-mix(in srgb, var(--hrc-color-border) 86%, transparent);
  --hrc-home-footer-accent: var(--hrc-brand-600);
  --hrc-home-footer-focus: color-mix(in srgb, var(--hrc-brand-500) 28%, transparent);
}

html[data-theme="dark"] body.hrc-design-system-v1.hrc-family-public {
  --hrc-home-footer-surface: color-mix(in srgb, var(--hrc-color-surface) 72%, var(--hrc-color-bg-app));
  --hrc-home-footer-soft: color-mix(in srgb, var(--hrc-brand-500) 10%, var(--hrc-color-surface));
  --hrc-home-footer-line: color-mix(in srgb, var(--hrc-color-border) 78%, transparent);
  --hrc-home-footer-accent: var(--hrc-brand-300);
  --hrc-home-footer-focus: color-mix(in srgb, var(--hrc-brand-400) 34%, transparent);
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer {
  margin-top: var(--hrc-space-12);
  padding: var(--hrc-space-10) var(--hrc-space-8) 0;
  color: var(--hrc-color-text);
  border: var(--hrc-border-width) solid var(--hrc-home-footer-line);
  border-bottom: 0;
  border-radius: var(--hrc-radius-xl) var(--hrc-radius-xl) 0 0;
  background:
    radial-gradient(circle at 10% 0%, var(--hrc-home-footer-soft), transparent 34%),
    linear-gradient(155deg, var(--hrc-home-footer-surface), var(--hrc-color-surface));
  box-shadow: none;
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer-grid {
  width: min(var(--hrc-container-xl), 100%);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
  gap: var(--hrc-space-8);
  margin: 0 auto;
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer-grid > div {
  min-width: 0;
  overflow-wrap: anywhere;
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer-grid > div:first-child {
  padding: var(--hrc-space-6);
  border: var(--hrc-border-width) solid var(--hrc-home-footer-line);
  border-radius: var(--hrc-radius-xl);
  background: var(--hrc-home-footer-soft);
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer-brand {
  display: block;
  margin-bottom: var(--hrc-space-4);
  color: var(--hrc-color-text);
  font-size: var(--hrc-text-xl);
  font-weight: var(--hrc-weight-bold);
  line-height: var(--hrc-leading-tight);
  letter-spacing: var(--hrc-home-v3-tracking-tight, normal);
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer h3 {
  margin: 0 0 var(--hrc-space-4);
  color: var(--hrc-color-text);
  font-size: var(--hrc-text-lg);
  font-weight: var(--hrc-weight-bold);
  line-height: var(--hrc-leading-tight);
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer p {
  margin: var(--hrc-space-2) 0;
  color: var(--hrc-color-text-soft);
  font-size: var(--hrc-text-sm);
  font-weight: var(--hrc-weight-medium);
  line-height: var(--hrc-leading-relaxed);
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer p strong {
  color: var(--hrc-color-text);
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer a {
  min-height: max(var(--hrc-control-height), var(--hrc-touch-target));
  display: flex;
  width: fit-content;
  max-width: 100%;
  overflow-wrap: anywhere;
  align-items: center;
  margin: 0;
  padding: var(--hrc-space-2) var(--hrc-space-3);
  color: var(--hrc-color-text-soft);
  border-radius: var(--hrc-radius-lg);
  font-size: var(--hrc-text-sm);
  font-weight: var(--hrc-weight-medium);
  line-height: var(--hrc-leading-normal);
  text-decoration: none;
  transition:
    color var(--hrc-motion-normal) var(--hrc-ease-standard),
    background-color var(--hrc-motion-normal) var(--hrc-ease-standard),
    box-shadow var(--hrc-motion-normal) var(--hrc-ease-standard),
    transform var(--hrc-motion-normal) var(--hrc-ease-standard);
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer a:is(:hover, :focus-visible) {
  color: var(--hrc-home-footer-accent);
  background: var(--hrc-home-footer-soft);
  box-shadow: 0 0 0 var(--hrc-focus-width) var(--hrc-home-footer-focus);
  outline: var(--hrc-focus-width) solid var(--hrc-color-focus);
  outline-offset: var(--hrc-focus-offset);
}

body.hrc-design-system-v1.hrc-family-public .tcv-footer-bottom {
  margin: var(--hrc-space-8) calc(var(--hrc-space-8) * -1) 0;
  padding: var(--hrc-space-5) var(--hrc-space-8);
  color: var(--hrc-color-text-soft);
  border-top: var(--hrc-border-width) solid var(--hrc-home-footer-line);
  background: color-mix(in srgb, var(--hrc-home-footer-soft) 62%, transparent);
  font-size: var(--hrc-text-sm);
  font-weight: var(--hrc-weight-medium);
  line-height: var(--hrc-leading-relaxed);
  text-align: center;
}

@media (max-width: 900px) {
  body.hrc-design-system-v1.hrc-family-public .tcv-footer {
    padding: var(--hrc-space-8) var(--hrc-space-6) 0;
  }

  body.hrc-design-system-v1.hrc-family-public .tcv-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--hrc-space-6);
  }

  body.hrc-design-system-v1.hrc-family-public .tcv-footer-bottom {
    margin-inline: calc(var(--hrc-space-6) * -1);
    padding-inline: var(--hrc-space-6);
  }
}

@media (max-width: 520px) {
  body.hrc-design-system-v1.hrc-family-public .tcv-footer {
    margin-top: var(--hrc-space-8);
    padding: var(--hrc-space-6) var(--hrc-space-4) 0;
    border-radius: var(--hrc-radius-lg) var(--hrc-radius-lg) 0 0;
  }

  body.hrc-design-system-v1.hrc-family-public .tcv-footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--hrc-space-5);
  }

  body.hrc-design-system-v1.hrc-family-public .tcv-footer-grid > div:not(:first-child) {
    padding-top: var(--hrc-space-4);
    border-top: var(--hrc-border-width) solid var(--hrc-home-footer-line);
  }

  body.hrc-design-system-v1.hrc-family-public .tcv-footer-grid > div:first-child {
    padding: var(--hrc-space-5);
    border-radius: var(--hrc-radius-lg);
  }

  body.hrc-design-system-v1.hrc-family-public .tcv-footer a {
    width: 100%;
  }

  body.hrc-design-system-v1.hrc-family-public .tcv-footer-bottom {
    margin-top: var(--hrc-space-6);
    margin-inline: calc(var(--hrc-space-4) * -1);
    padding-inline: var(--hrc-space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.hrc-design-system-v1.hrc-family-public .tcv-footer a {
    transition: none !important;
  }
}
