/*
 * DBC / BIOTEN V7.31.9 final upgrade layer.
 * Scope: verified accessibility, contrast and keyboard-reachability defects.
 * This layer deliberately leaves approved information architecture, copy,
 * card identity and page-family visual systems unchanged.
 */

/* About: retain the restrained visual hierarchy while meeting text contrast. */
html body.dbc-about-page .dbc-about-continuity span {
  color: #d2deed;
}

html body.dbc-about-page .dbc-about-network__grid span,
html body.dbc-about-page .dbc-about-network__foot p,
html body.dbc-about-page .dbc-about-evidence__items article > span {
  color: #5d6f72 !important;
}

html body.dbc-about-page .dbc-about-network__grid a:is(:hover, :focus-visible) span {
  color: #e0ebf5;
}

/* BIOTEN application family: technical signal labels stay quiet but readable. */
body.bioten-family-v7160.v520-app .v520-signal span {
  color: #596f73;
}

/* Developer: restore the dark context rail intended for the dark laboratory UI. */
html body.dev740-page .v500-context {
  color: #d8ebe8;
  background: rgba(3, 19, 29, .97);
  border-color: rgba(127, 215, 205, .18);
}

html body.dev740-page .v500-context :is(ol, a, .v500-context__next) {
  color: #d8ebe8;
}

html body.dev740-page .v500-context [aria-current="page"] {
  color: #b9d2ce !important;
}

html body.dev740-page .dev740-start__actions .dev740-start__primary small {
  color: #124a3c;
}

html body.dev740-page .dev740-footer__bottom :is(span, a) {
  color: #9eb2b6;
}

/* Shared relationship paths and compact local navigation. */
html body.v281-site:not(.home-v281) .v281-path__copy small {
  color: #576b74;
}

html body .bioten-page-nav a {
  color: #536a75 !important;
}

html[data-v7319-release] body.contact-suite-page {
  --v280-muted: #536a75;
}

html[data-v7319-release] body.contact-suite-page main#main-content nav.bioten-page-nav a {
  color: #536a75 !important;
}

/* Bioten Plus editorial release: metadata and section rail contrast. */
body[data-v7318-packaging-page="packaging-insight-bioten-plus-balanced-paper-packaging"] .bp7140-context a,
body[data-v7318-packaging-page="packaging-insight-bioten-plus-balanced-paper-packaging"] .bp7140-passport dt {
  color: #53665f !important;
}

html[data-v7319-release] body[data-v7318-packaging-page="packaging-insight-bioten-plus-balanced-paper-packaging"] {
  --bp7150-muted: #53665f;
  --bp7160-muted: #53665f;
}

html[data-v7319-release] body[data-v7318-packaging-page="packaging-insight-bioten-plus-balanced-paper-packaging"] nav.bp7140-toc a {
  color: #53665f !important;
}

/* Patent evidence: keep the terminal aesthetic without hiding the vector label. */
body .pgeo-patent-card__vector > span {
  color: #a8bbc8;
}

/* Developer V2.x: harmonise late theme overrides with the light engineering UI. */
html[data-v7319-release] body.dv22-page {
  --dv22-muted: #4b6070;
  --dv2-muted: #4b6070;
}

html[data-v7319-release] body.dv42-page {
  --dv42-muted: #52626c;
  --v770-family-accent: #0c6f54;
}

html[data-v7319-release] body.dv22-page .dv2-action--accent,
html[data-v7319-release] body.dv22-page .dv2-action--accent:hover,
html[data-v7319-release] body.dv22-page footer.formal-site-footer:not(#dv22-dark-footer) .formal-footer-cta a.formal-button--primary {
  color: #f7fafb !important;
  -webkit-text-fill-color: #f7fafb !important;
}

html[data-v7319-release] body.dv2-page .dv2-final__inner > p {
  color: #3e5663 !important;
  -webkit-text-fill-color: #3e5663 !important;
}

/* V5.2 application and specialist pages: quiet labels must remain readable. */
html[data-v7319-release] body.v520-site {
  --v520-muted: #505d66;
}

html[data-v7319-release] body.v520-site.v530-site main
  :is(#gallery, #output).v520-section:not(.v520-section--dark)
  .v520-section-head > p {
  color: #58666d !important;
  -webkit-text-fill-color: #58666d !important;
}

html[data-v7319-release] body.v520-site .v520-signal span {
  color: #58666d;
}

html[data-v7319-release] body.v520-dev .v520-dev-flow p {
  color: #536169;
}

html[data-v7319-release] body.v520-dev--agriculture .v520-dev-flow span {
  color: #5d701f;
}

html[data-v7319-release] body.v520-dev--care .v520-dev-flow span {
  color: #356c74;
}

html[data-v7319-release] body.v520-dev--waterborne .v520-dev-flow span,
html[data-v7319-release] body.v520-dev--coatings .v520-dev-flow span {
  color: #815432;
}

/* Corporate brand pages: one accessible supporting-copy token. */
html[data-v7319-release] body.brand510-site {
  --brand510-muted: #4d5a56;
}

html[data-v7319-release] body.v500-page--dbc .v500-fact > span {
  color: #596871;
}

html[data-v7319-release] body.v500-page--dbc .v500-section--dark .v500-chain article > span {
  color: #9eb5c0;
}

/* Packaging publishing family and R30 capability labels. */
html[data-v7319-release] body.bp7160-packaging-polish {
  --bp7150-muted: #53665f;
  --bp7160-muted: #53665f;
}

html[data-v7319-release] body[data-v7318-packaging-professional="r30"] {
  --bp-r30-cyan: #087569;
}

html[data-v7319-release] body.fs7301-page .fs7301-section--deep h2 {
  color: #f6f8fb !important;
  -webkit-text-fill-color: #f6f8fb !important;
}

html[data-v7319-release] body.bioten-packaging-page #main-content
  :is(.packaging-hero-actions, .packaging-cta) > .packaging-button.primary {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

html[data-v7319-release] body.bioten-packaging-page :is(.packaging-process-grid, .packaging-proof-grid) article > span,
html[data-v7319-release] body.solutions-page .solutions-product-card > span {
  color: #5f4b1e !important;
}

/* BIOTEN program notes whose dark text was lost when their panel became light. */
html[data-v7319-release] body.v520-app--agriculture .v710-scope-note__label {
  color: #0c6f54 !important;
}

html[data-v7319-release] body.v520-app--care .v710-scope-note__label {
  color: #176c7b !important;
}

html[data-v7319-release] body.v245-page #main-content .v245-claim-boundary > strong {
  color: #0b607a !important;
  -webkit-text-fill-color: #0b607a !important;
}

html[data-v7319-release] body.v245-page #main-content .v245-claim-boundary > p {
  color: #3e5663 !important;
  -webkit-text-fill-color: #3e5663 !important;
}

/* Knowledge and observer utility pages. */
html[data-v7319-release] body #contact-knowledge > div > p {
  color: #3e5663 !important;
}

html[data-v7319-release] body #main-content li > small {
  color: #586a76;
}

html[data-v7319-release] body .scope-note {
  color: #59635d;
}

html[data-v7319-release] body.bioten-page.knowledge-page #main-content
  :is(.v270-pdf-link, [data-v281-external="true"]) > span {
  color: #665f55 !important;
  -webkit-text-fill-color: #665f55 !important;
}

html[data-v7319-release] body :is(.observer-breadcrumb, .observer-document-links) :is(a, span) {
  color: #596a7a;
}

/* Editorial links embedded in prose remain identifiable beyond color alone. */
html[data-v7319-release] body main :is(.bp7140-copy > a, a[data-news-cn][data-news-en]) {
  text-decoration-line: underline !important;
  text-decoration-thickness: .08em !important;
  text-underline-offset: .18em !important;
}

/* All explicitly focusable horizontal regions share one visible focus ring. */
html[data-v7319-release] :is(
  .observer-table-wrap,
  .brand510-scene-grid,
  .routing-table-wrap,
  .dv42-delivery-chain,
  .decision-table-wrap,
  .copy-text,
  .solutions-keyword-strip
)[tabindex="0"]:focus-visible {
  outline: 3px solid #1c7ea1;
  outline-offset: 3px;
}

/* Keyboard users need a visible focus target on horizontally scrollable tables. */
body[data-observer-design="v7318"] .observer-table-wrap:focus-visible {
  outline: 3px solid #1c7ea1;
  outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
  html[data-v7319-release] *,
  html[data-v7319-release] *::before,
  html[data-v7319-release] *::after {
    scroll-behavior: auto !important;
  }
}
