/* Pontifex Care accent — soft override on Folio primary tokens */
:root {
  --seron-indigo: #2196F3;
  --color-fd-primary: #2196F3;
  --color-fd-primary-foreground: #ffffff;
  --color-primary: #2196F3;
  --color-primary-foreground: #ffffff;
  --color-fc-primary: #2196F3;
  --color-fc-primary-foreground: #ffffff;
  --ring: #2196F3;
}

.dark {
  --color-fd-primary: #2196F3;
  --color-fd-primary-foreground: #ffffff;
  --color-primary: #2196F3;
  --color-primary-foreground: #ffffff;
  --color-fc-primary: #2196F3;
  --color-fc-primary-foreground: #ffffff;
  --ring: #2196F3;
}

/* Auth / Next pages using globals.css tokens */
:root {
  --primary: #2196F3;
  --primary-foreground: #ffffff;
}

.dark {
  --primary: #2196F3;
  --primary-foreground: #ffffff;
}

/* Hero clinic photo — readable under zoom, less tunnel vignette */
.seron-hero-bg {
  overflow: hidden;
}

.seron-hero-bg img {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* Light mode: slightly stronger so the scene still reads */
:root:not(.dark) .seron-hero-bg {
  opacity: 0.55;
}

.dark .seron-hero-bg {
  opacity: 0.45;
}

/* Full-bleed clinic atmosphere behind hero copy + dashboard */
.seron-hero-atmosphere {
  overflow: hidden;
}

.seron-hero-atmosphere img {
  transform: scale(1.04);
  filter: saturate(0.92) contrast(1.02);
}

/* Light mode: soft dark wash for white type — no hard plate */
.seron-hero-scrim {
  background:
    linear-gradient(
      to bottom,
      rgba(10, 10, 12, 0.55) 0%,
      rgba(10, 10, 12, 0.38) 28%,
      rgba(10, 10, 12, 0.22) 48%,
      rgba(250, 250, 250, 0.92) 100%
    );
}

.dark .seron-hero-scrim {
  background:
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.78) 0%,
      rgba(0, 0, 0, 0.55) 35%,
      rgba(0, 0, 0, 0.4) 55%,
      rgba(10, 10, 10, 0.92) 100%
    );
}

/* Hero headline/subtext — no black plate; rely on scrim + shadow */
.seron-hero-copy {
  position: relative;
  isolation: isolate;
}

.seron-hero-copy::before {
  display: none !important;
  content: none !important;
}

.seron-hero-copy h1 {
  color: #ffffff !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.55),
    0 8px 24px rgba(0, 0, 0, 0.4);
}

.seron-hero-copy p {
  color: rgba(255, 255, 255, 0.92) !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.5),
    0 6px 18px rgba(0, 0, 0, 0.35);
}

/* Kill decorative vertical dashed rails if any remain */
[data-seron-page] section.overflow-hidden .border-dashed {
  border-left: 0 !important;
  border-right: 0 !important;
  border-style: none !important;
}

/* Fixed nav clearance for hash scroll targets */
#features,
#solution,
#about {
  scroll-margin-top: 6rem;
}

/*
  Nav shell = frosted glass pill. Text stays high-contrast in light + dark.
*/
[data-seron-page] nav.fixed.z-20 > div {
  max-width: 72rem !important;
  margin-top: 0.75rem !important;
  padding-left: 1.35rem !important;
  padding-right: 1.1rem !important;
  border-radius: 9999px !important;
  border: 1px solid rgba(255, 255, 255, 0.45) !important;
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(22px) saturate(1.35) !important;
  -webkit-backdrop-filter: blur(22px) saturate(1.35) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.55) inset,
    0 10px 32px rgba(15, 23, 42, 0.12) !important;
  transition:
    max-width 0.3s ease,
    padding 0.3s ease,
    background 0.25s ease,
    box-shadow 0.3s ease !important;
}

[data-seron-page] nav.fixed.z-20 > div.seron-nav-compact {
  max-width: 56rem !important;
  padding-left: 1.15rem !important;
  padding-right: 1rem !important;
  background: rgba(255, 255, 255, 0.72) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.6) inset,
    0 12px 36px rgba(15, 23, 42, 0.14) !important;
}

.dark [data-seron-page] nav.fixed.z-20 > div {
  border-color: rgba(255, 255, 255, 0.14) !important;
  background: rgba(12, 12, 14, 0.52) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 12px 36px rgba(0, 0, 0, 0.45) !important;
}

.dark [data-seron-page] nav.fixed.z-20 > div.seron-nav-compact {
  background: rgba(12, 12, 14, 0.72) !important;
}

/* Inner row: no extra pill / ghost border */
[data-seron-page] nav.fixed.z-20 > div > div.relative {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  min-height: 3.35rem;
  align-items: center !important;
  padding-top: 0.7rem !important;
  padding-bottom: 0.7rem !important;
}

/* Nav links — always readable */
[data-seron-page] nav.fixed ul a,
[data-seron-page] nav.fixed ul a span,
[data-seron-page] nav.fixed a.block.text-muted-foreground,
[data-seron-page] nav.fixed a.block.text-muted-foreground span {
  color: #18181b !important;
  font-weight: 600 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

[data-seron-page] nav.fixed ul a:hover,
[data-seron-page] nav.fixed ul a:hover span,
[data-seron-page] nav.fixed a.block.text-muted-foreground:hover,
[data-seron-page] nav.fixed a.block.text-muted-foreground:hover span {
  color: #000000 !important;
}

.dark [data-seron-page] nav.fixed ul a,
.dark [data-seron-page] nav.fixed ul a span,
.dark [data-seron-page] nav.fixed a.block.text-muted-foreground,
.dark [data-seron-page] nav.fixed a.block.text-muted-foreground span {
  color: #fafafa !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

.dark [data-seron-page] nav.fixed ul a:hover,
.dark [data-seron-page] nav.fixed ul a:hover span {
  color: #ffffff !important;
}

[data-seron-page] nav.fixed span.font-semibold,
[data-seron-page] nav.fixed .font-semibold {
  color: #09090b !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.35);
}

.dark [data-seron-page] nav.fixed span.font-semibold,
.dark [data-seron-page] nav.fixed .font-semibold {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

/* Login — frosted outline pill */
[data-seron-page] nav.fixed a[href="/login"] {
  color: #18181b !important;
  border-radius: 9999px !important;
  border-color: rgba(24, 24, 27, 0.22) !important;
  background: rgba(255, 255, 255, 0.55) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

.dark [data-seron-page] nav.fixed a[href="/login"] {
  color: #fafafa !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

/* Sign Up — solid indigo pill */
[data-seron-page] nav.fixed a[href="/signup"] {
  border-radius: 9999px !important;
  background: #2196F3 !important;
  color: #ffffff !important;
  border-color: transparent !important;
}

[data-seron-page] nav.fixed a[href="/signup"]:hover {
  background: #3a52e8 !important;
}

/* Dashboard — more solid in light mode so it doesn’t wash out */
.seron-dash-glass {
  background: rgba(255, 255, 255, 0.92) !important;
  backdrop-filter: blur(20px) saturate(1.1);
  -webkit-backdrop-filter: blur(20px) saturate(1.1);
  border-color: rgba(0, 0, 0, 0.08) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.8) inset,
    0 18px 50px rgba(15, 23, 42, 0.14);
}

.dark .seron-dash-glass {
  background: rgba(18, 18, 18, 0.78) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 16px 48px rgba(0, 0, 0, 0.5);
}

/* Footer lab bench atmosphere */
.seron-footer > div[aria-hidden="true"] img {
  object-fit: cover;
  object-position: center 70%;
  filter: saturate(0.95) contrast(1.02);
}

.seron-footer > div[aria-hidden="true"] > div.absolute.inset-0 {
  /* Soft overlay so links stay readable on bright bench */
  background: color-mix(in oklab, var(--color-fd-background, #fff) 48%, transparent) !important;
}

.dark .seron-footer > div[aria-hidden="true"] > div.absolute.inset-0 {
  background: color-mix(in oklab, #0a0a0a 68%, transparent) !important;
}

/* Scroll-in section reveals */
.seron-reveal {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  filter: blur(2px);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition-delay: var(--seron-reveal-delay, 0ms);
  will-change: opacity, transform, filter;
}

.seron-reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

/* Soft stagger for direct cards/columns inside a revealed section */
.seron-reveal-visible > .mx-auto,
.seron-reveal-visible > .container {
  animation: seron-fade-up 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes seron-fade-up {
  from {
    opacity: 0.55;
    transform: translate3d(0, 12px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .seron-reveal,
  .seron-reveal-visible,
  .seron-reveal-visible > .mx-auto,
  .seron-reveal-visible > .container {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }

  .seron-scroll-top {
    transition: opacity 0.15s ease !important;
  }
}

.seron-scroll-top {
  color: inherit;
}

.dark .seron-scroll-top {
  background: rgba(24, 24, 27, 0.92);
  border-color: rgba(255, 255, 255, 0.14);
}


/* Pontifex Care logos — theme via .dark on <html>, NOT Tailwind dark: variants
   (those follow OS prefers-color-scheme and were hiding the logo). */
.pc-brand {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 0 !important;
}
.pc-logo {
  display: block !important;
  filter: none !important;
  height: auto !important;
  width: auto !important;
}
.pc-logo-on-light {
  display: block !important;
}
.pc-logo-on-dark {
  display: none !important;
}
.dark .pc-logo-on-light {
  display: none !important;
}
.dark .pc-logo-on-dark {
  display: block !important;
}

[data-seron-page] a[aria-label="Pontifex Care home"] {
  gap: 0 !important;
}
[data-seron-page] a[aria-label="Pontifex Care home"] .pc-logo {
  height: 2.35rem !important;
  max-width: 10rem !important;
  width: auto !important;
}
[data-seron-page] footer .pc-logo {
  height: 5rem !important;
  max-width: 16rem !important;
  width: auto !important;
}

/* Hero dashboard mock — compact lockup */
[data-seron-page] .pc-brand-dash .pc-logo {
  height: 1.75rem !important;
  max-width: 7.5rem !important;
  width: auto !important;
}
