/* Chinese Medi jade edition. Load this after every existing site stylesheet. */
:root {
  --jade-ink: #263a34;
  --jade-deep: #0f5f54;
  --jade-accent: #176f60;
  --jade-hover: #0b5148;
  --jade-muted: #53665d;
  --jade-paper: #f8f7f2;
  --jade-white: #fffefa;
  --jade-mist: #eaf2ee;
  --jade-line: #d5dfd8;
  --jade-warning: #704c1e;
  --jade-warning-wash: #fbf3e4;
  --paper: var(--jade-paper);
  --ink: var(--jade-ink);
  --muted: var(--jade-muted);
  --line: var(--jade-line);
  --green: var(--jade-deep);
  --white: var(--jade-white);
  --jade: var(--jade-accent);
  --cinnabar: var(--jade-accent);
  --copper: var(--jade-hover);
  --red-strong: var(--jade-deep);
  --red-wash: rgba(23, 111, 96, .09);
  --medi-forest: var(--jade-ink);
  --medi-red: var(--jade-accent);
  --medi-sage: var(--jade-mist);
  --medi-soft: #f3f6f2;
  --medi-border: var(--jade-line);
}

body,
body[data-medi-page] { background-color: var(--jade-paper); color: var(--jade-ink); }
body[data-medi-release] {
  --mr-ink: var(--jade-ink);
  --mr-muted: var(--jade-muted);
  --mr-red: var(--jade-deep);
  --mr-bright: var(--jade-accent);
  --mr-line: var(--jade-line);
  --mr-paper: var(--jade-paper);
}
body[data-medi-page] {
  --mp-ink: var(--jade-ink);
  --mp-red: var(--jade-deep);
  --mp-paper: var(--jade-paper);
  --mp-line: var(--jade-line);
}
.medi-suppliers { --sup-ink: var(--jade-ink); --sup-red: var(--jade-deep); --sup-line: var(--jade-line); }
.mw-guide,.mw-workbench,.mw-context,.mw-dialog,.mw-supplier-tools,.mw-supplier-toolbar {
  --mw-red: var(--jade-deep);
  --mw-ink: var(--jade-ink);
  --mw-muted: var(--jade-muted);
  --mw-line: var(--jade-line);
  --mw-paper: var(--jade-white);
}
.mn-network { --mn-red: var(--jade-deep); --mn-ink: var(--jade-ink); --mn-paper: var(--jade-paper); }

/* Brand and navigation: the existing ink landscape and Taiji asset stay in place. */
.medi-header { background: rgba(255, 254, 250, .97); border-bottom-color: var(--jade-line); }
.medi-seal,.brand-mark {
  background: var(--jade-deep) !important;
  color: var(--jade-white);
  box-shadow: inset 0 0 0 2px var(--jade-deep), inset 0 0 0 4px rgba(255, 254, 250, .7);
}
.medi-main-nav a:hover,.medi-footer-grid a:hover,.medi-text-button:hover,
.medi-services a:hover h3,.top nav a:hover,.ink-legal-bar a:hover { color: var(--jade-deep); }
.medi-text-button:hover { border-color: var(--jade-deep); }
body[data-medi-page] #medi-main-nav a[aria-current="page"] {
  color: var(--jade-deep);
  background: var(--jade-mist);
  box-shadow: inset 0 -3px 0 var(--jade-deep);
}
body[data-medi-page] #medi-main-nav a.medi-nav-cta[aria-current="page"],
body[data-medi-release] #medi-main-nav .medi-nav-cta,
body[data-medi-release] .medi-hero a:first-of-type,
body[data-medi-release] #medi-request-generate,
body[data-medi-release] [data-mw-action="save"] {
  background: var(--jade-deep);
  border-color: var(--jade-deep);
  color: #fff;
}
body[data-medi-page] #medi-main-nav a.medi-nav-cta[aria-current="page"]:hover,
body[data-medi-release] #medi-main-nav .medi-nav-cta:hover,
body[data-medi-release] .medi-hero a:first-of-type:hover,
body[data-medi-release] #medi-request-generate:hover,
body[data-medi-release] [data-mw-action="save"]:hover {
  background: var(--jade-hover);
  border-color: var(--jade-hover);
  color: #fff;
}
.medi-hero { background: var(--jade-white); }
.medi-hero-art { filter: grayscale(1) brightness(1.04); }
.medi-red,.ink-title .ink-title-accent { color: var(--jade-deep); }
.ink-title-accent:after,.ink-eyebrow:before { background: var(--jade-accent); }
.ink-button-primary { background: var(--jade-deep); border-color: var(--jade-deep); }
.ink-button-primary:hover { background: var(--jade-hover); border-color: var(--jade-hover); }
.ink-district:first-child { --accent: var(--jade-deep); }
.ink-district:nth-child(3) { --accent: #527780; }
#news::before { border-color: rgba(23,111,96,.22); }

/* Make the three product areas calm and distinct while retaining their names. */
.medi-quick,.medi-sage { background: var(--jade-mist); border-color: var(--jade-line); }
.medi-area { background: var(--jade-white); border-color: var(--jade-line); border-top-color: var(--jade-deep); }
.medi-area-health { background: #fbfcf8; border-top-color: #63846a; }
.medi-area-device { background: #fafcfc; border-top-color: #527780; }
.medi-area-pharma .medi-area-top svg { stroke: var(--jade-deep); }
.medi-area-meta b,.medi-scenario>span,.medi-trust-grid article:last-child strong,
.medi-batch-row button { color: var(--jade-deep); }
.medi-page-intro {
  background: var(--jade-paper);
  border-bottom-color: var(--jade-line);
}
.medi-page-intro::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url('ink-landscape-fine.png') right 42%/cover no-repeat;
  filter: grayscale(1);
  opacity: .16;
  pointer-events: none;
}
body[data-medi-release] #medi-page-intro::after { display: none; }
.medi-page-chapter span,.medi-page-card-number,.medi-page-position,
.medi-page-card-enter:after { color: var(--jade-deep); }
.medi-page-directory { background: linear-gradient(180deg,#fbfaf6,#f2f6f2); }
.medi-page-card { background: var(--jade-white); border-color: var(--jade-line); }
.medi-page-card:first-child {
  background: linear-gradient(125deg,#eaf2ee,var(--jade-white));
  border-top-color: var(--jade-deep);
}
.medi-page-card:hover { background: #fff; border-color: #8cad9e; }
.medi-page-card-enter { color: var(--jade-deep); }
.medi-page-sectors a { background: var(--jade-white); border-color: #b7cec2; }

/* Product, supplier and research cards keep their existing structure and controls. */
body[data-medi-release] #products article,
body[data-medi-release] #sup-grid article,
#medi-main .product,#medi-main .product-card,
#medi-main .news-card,#medi-main .news-item,
#medi-main .market,#medi-main .market-card,
#medi-main .resource,#medi-main .resource-card,
.medi-source-card,.medi-scenario,.ms-lead {
  background: #fff !important;
  border-color: var(--jade-line) !important;
  box-shadow: none;
}
#medi-main .product,#medi-main .product-card { border-top: 3px solid #5a8274 !important; }
body[data-medi-release] #products article:hover,
body[data-medi-release] #sup-grid article:hover { border-color: #8cad9e !important; box-shadow: 0 5px 16px rgba(32, 64, 51, .07); }
.medi-suppliers .sup-stats,.medi-suppliers .sup-filters,
.mr-filter-tools,.mr-project-progress,.medi-request-preview,
.medi-policy-strip,.medi-calculator { background: #f5f8f5; border-color: var(--jade-line); }
.medi-suppliers .sup-card { background: #fff; border-color: var(--jade-line); border-top-color: #7ea395; }
.medi-suppliers .sup-state,
.medi-suppliers .sup-save[aria-pressed="true"],
.mr-filter-state .mr-chip {
  color: var(--jade-deep);
  background: var(--jade-mist);
  border-color: #a7c7b8;
}
.medi-suppliers .sup-feedback,.medi-suppliers h2 em { color: var(--jade-deep); }
.medi-suppliers .sup-caveat { border-left-color: var(--jade-deep); background: #f3f7f2; }
.mr-jump-row,.mr-inline-guide,.mr-evidence-note,
.mw-context,.ms-directory,.ms-note { border-left-color: var(--jade-deep); }
.mr-jump-row a span,.mr-flow a>span,.mr-metrics dd,
.mr-empty-mark,.mr-resource-kind,.mr-guide[open] summary,
.mr-jump-row a:hover,.mr-jump-row button:hover,
.mr-filter-tools button:hover,.mr-copy-row button:hover,
.ms-kicker,.ms-stats strong,.ms-card-button,.ms-lead a {
  color: var(--jade-deep);
}
.mr-filter-tools button:hover,.mr-copy-row button:hover,
body[data-medi-release] #medi-page-pagination a:hover { border-color: var(--jade-deep); }
.mr-project-progress progress { accent-color: var(--jade-deep); }
.ms-badge { color: var(--jade-deep); background: var(--jade-mist); }
#ms-supply-dialog { border-top-color: var(--jade-deep); }
.ms-controls button,#ms-supply-dialog [data-ms-to-project],
.medi-shared-contact .medi-shared-contact-button,
.mw-btn-red {
  background: var(--jade-deep);
  border-color: var(--jade-deep);
  color: #fff;
}
.ms-controls button:hover,#ms-supply-dialog [data-ms-to-project]:hover,
.medi-shared-contact .medi-shared-contact-button:hover,
.mw-btn-red:hover {
  background: var(--jade-hover);
  border-color: var(--jade-hover);
  color: #fff;
}
.medi-evidence-review { border-top-color: var(--jade-deep); border-color: var(--jade-line); }
.medi-evidence-review .mer-kicker { color: var(--jade-deep); }
.mn-site { --mn-accent: var(--jade-deep); background: var(--jade-white); border-color: var(--jade-line); }
.mn-site-peptide { --mn-accent: #416d73; }
.mn-site-herbs { --mn-accent: #577354; }
.mn-site-action { color: var(--jade-deep); }
.mn-site:hover { border-color: var(--jade-deep); }

/* Warning and error messages also carry their existing explicit text. */
.medi-result[data-error="true"],.medi-scenario-warning,
.mw-confirm,.mw-flash {
  color: var(--jade-warning);
  background: var(--jade-warning-wash);
  border-color: #c5a56f;
}
.medi-result[data-error="true"] { border-left: 3px solid #9a6c2f; }
.medi-scenario-warning { border-left: 3px solid #9a6c2f; }
.mw-doc-row[data-status="followup"] { border-left-color: #9a6c2f; }
.mw-review-line span:last-child { color: var(--jade-warning); }

/* Keyboard focus is visible on both pale panels and dark action buttons. */
body[data-medi-release] :is(a,button,input,select,textarea,summary):focus-visible,
#medi-main :is(a,button,input,select,textarea,summary):focus-visible,
.medi-header :is(a,button,select):focus-visible,
.medi-suppliers :is(a,button,input,select):focus-visible,
.mw-btn:focus-visible,.mw-tab:focus-visible,.mw-step:focus-visible,
.medi-page-card:focus-visible,.medi-page-sectors a:focus-visible,
.medi-page-pagination a:focus-visible,.mn-site:focus-visible,
.mer-links a:focus-visible,.medi-language-switch select:focus-visible {
  outline: 3px solid var(--jade-deep);
  outline-offset: 3px;
}
body[data-medi-release] #medi-main :is(input,select,textarea):focus-visible {
  border-color: var(--jade-deep) !important;
}
.medi-notice a:focus-visible { outline-color: var(--jade-white); }

/* The static information pages can use this file too when the builder links it. */
body:not([data-medi-page]):not([data-lang]) { background: var(--jade-paper); color: var(--jade-ink); }
.page .eyebrow { color: var(--jade-deep); }
.page .notice { border-left-color: var(--jade-deep); background: var(--jade-mist); }
.page .seal { background: var(--jade-deep); }
.page a:focus-visible { outline: 3px solid var(--jade-deep); outline-offset: 3px; }

/* Research has its own stylesheet and page structure. */
body[data-lang] {
  --ink: var(--jade-ink);
  --forest: var(--jade-deep);
  --leaf: var(--jade-mist);
  --paper: var(--jade-paper);
  --white: var(--jade-white);
  --line: var(--jade-line);
  --muted: var(--jade-muted);
  --accent: var(--jade-deep);
  --focus: var(--jade-deep);
  background: linear-gradient(160deg,#f4f7f4,var(--jade-paper) 58%,#f3f5f0);
}
body[data-lang] .topbar { background: rgba(255,254,250,.96); border-color: var(--jade-line); }
body[data-lang] .toolbar,body[data-lang] .card,body[data-lang] .empty {
  background: var(--jade-white);
  border-color: var(--jade-line);
  border-radius: 4px;
}
body[data-lang] .card:hover { border-color: #8cad9e; }
body[data-lang] .language a[aria-current],body[data-lang] .kicker,
body[data-lang] .notice { color: var(--jade-deep); }
body[data-lang] .boundary { background: var(--jade-mist); border-left-color: var(--jade-deep); }
body[data-lang] :is(a,button,input,select,summary,textarea):focus-visible {
  outline: 3px solid var(--jade-deep);
  outline-offset: 3px;
}
body[data-lang] .card-top>* { min-width: 0; overflow-wrap: anywhere; }
body[data-lang] noscript p { color: var(--jade-warning); background: var(--jade-warning-wash); }

/* Long German labels and source URLs must remain inside 375 px cards. */
html[lang^="de"] :is(.medi-page-card,.medi-page-pagination>a,.resource-card,
  .medi-source-card,.medi-scenario,.mn-site,.sup-card,.ms-lead,
  .mw-card,.mw-doc-row) { min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
html[lang^="de"] :is(.medi-page-card h3,.resource-card h3,.mn-site strong,
  .sup-card h3,.ms-lead h3) { overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 560px) {
  .medi-page-directory { padding-block: 32px 38px; }
  .medi-page-grid { grid-template-columns: minmax(0,1fr); }
  .medi-page-pagination { grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); }
  body:not([data-medi-page="home"]) .mn-sites { grid-template-columns: minmax(0,1fr); }
  body:not([data-medi-page="home"]) .mn-site { padding: 13px 16px; }
  body[data-lang] .site-nav { flex-wrap: wrap; justify-content: flex-start; gap: 6px 14px; }
  body[data-lang] .site-nav a { min-width: 0; overflow-wrap: anywhere; }
  body[data-lang] .results-head { flex-wrap: wrap; }
}
