/* ELK PDP datasheet — ELK-only presentation layer.
   Every rule is nested under .adme-elk-datasheet, which the shared ELISA datasheet view
   emits ONLY when sc_products_description.template is EKEL_Elisa_Kits. No rule here
   targets .prod_info_grid, h4, th, td, .detail_title or the Show More controls globally,
   so the other ELISA catalogues, antibodies and every other page are unreachable
   from this file. ._inner-35 is a shared spacing utility and is deliberately never styled. */

/* The shared stylesheet sets table-layout:fixed on the grid, and the grid's first row is a
   single colspan=2 cell, so fixed layout would split the columns evenly and ignore the
   label width below. Auto layout restores the intended ratio without altering table width. */
.adme-elk-datasheet .prod_info_grid{table-layout:auto;color:#344054;}

/* Section headings. One shared implementation for the h4 (Product Overview, Target
   Information) and the th.detail_title rows (Other Names, Principle, Standard Curve, Precision,
   Recovery), so every accent is identical.

   The accent is a pseudo-element of a FIXED 22px height, centred against the 24px line box.
   A border-left cannot do this: it stretches to whatever height the element happens to be, which
   is why the bars differed between a one-line heading and a taller cell. border:0 below also
   removes the previous border-left, so no heading can show two accents.

   ACCENT_W 3px + ACCENT_GAP 10px = 13px, the single inset used by every heading AND by every
   section body, so the first character of content lines up with the first character of its
   heading rather than with the bar. */
.adme-elk-datasheet .prod_info_grid h4,
.adme-elk-datasheet .prod_info_grid > tbody > tr > th.detail_title{
  position:relative;border:0;background:transparent;
  margin:0;padding:0 0 0 13px;
  font-size:18px;line-height:24px;font-weight:600;color:#18334A;
  text-align:left;letter-spacing:.1px;}
.adme-elk-datasheet .prod_info_grid h4::before,
.adme-elk-datasheet .prod_info_grid > tbody > tr > th.detail_title::before{
  content:"";position:absolute;left:0;top:50%;margin-top:-11px;
  width:3px;height:22px;background:#F5B900;}

/* Separation between adjacent sections, applied above the heading so the 6px below it is not
   disturbed. The h4 sits in its own full-width cell, so it takes the spacing as margin.

   The th uses a TRANSPARENT TOP BORDER rather than padding-top. An absolutely positioned
   pseudo-element is placed against the PADDING box, which excludes the border -- so with padding
   the bar stayed pinned 18px above the text it was meant to sit beside, while the h4 (no such
   padding) looked right. With a border the padding box starts where the text does, and one
   top offset is then correct for both kinds of heading.

   The 6px below each heading also rides on a transparent border, and is declared as 7px: under
   the collapsed border model the cell border is centred on the grid line, so roughly half of the
   declared width lands inside the cell. Measured on the render: 4px -> 4px gap, 6px -> 5px,
   7px -> 6px on all six headings, matching the Product Overview h4. Do not "tidy" it to 6px. */
.adme-elk-datasheet .prod_info_grid > tbody > tr > th.detail_title{
  border-top:18px solid transparent;border-bottom:7px solid transparent;vertical-align:middle;}
.adme-elk-datasheet .prod_info_grid h4{margin:18px 0 4px;}
.adme-elk-datasheet .prod_info_grid > tbody > tr:first-child h4{margin-top:0;}

/* Full-width cells carry no padding of their own; the inset is owned by the heading and by the
   body rules below, which is what keeps the two in agreement. */
.adme-elk-datasheet .prod_info_grid > tbody > tr > td[colspan]{padding:0;}
.adme-elk-datasheet .prod_info_grid > tbody > tr > th[colspan]{padding-left:13px;}

/* Product Overview: light two-column specs, hairline separators, labels subordinate. */
.adme-elk-datasheet .prod_info_grid > tbody > tr > th:not([colspan]){
  width:30%;background:transparent;border:0;border-bottom:1px solid #EEF1F4;
  padding:9px 14px 9px 13px;font-size:13px;font-weight:600;color:#667085;
  text-align:left;vertical-align:top;}
.adme-elk-datasheet .prod_info_grid > tbody > tr > td:not([colspan]){
  width:70%;background:transparent;border:0;border-bottom:1px solid #EEF1F4;
  padding:9px 0 9px 2px;font-size:14px;color:#18334A;vertical-align:top;}
/* 13px matches the heading inset exactly; the 6px gap lives on the heading's padding-bottom. */
.adme-elk-datasheet .prod_info_grid > tbody > tr > td.detail_value{
  border:0;padding:0 0 0 13px;font-size:14px;line-height:1.6;color:#344054;}

/* Science tables. */
.adme-elk-datasheet .elk-tbl{
  border-collapse:collapse;width:100%;table-layout:fixed;font-size:13px;line-height:1.5;}
/* The shared stylesheet sets .prod_info_grid th{width:155px}. These tables are nested inside
   that grid, so under table-layout:fixed those 155px cell widths would size the table and make
   it overflow its column. width:auto hands sizing back to the rules below. */
.adme-elk-datasheet .elk-tbl th{
  background:#F1F4F7;color:#18334A;font-weight:600;border:1px solid #DDE3E8;
  padding:8px 9px;text-align:left;vertical-align:middle;width:auto;}
.adme-elk-datasheet .elk-tbl-num th,
.adme-elk-datasheet .elk-tbl-num td{width:33.33%;}
.adme-elk-datasheet .elk-tbl td{
  border:1px solid #DDE3E8;padding:8px 9px;color:#344054;vertical-align:top;}
.adme-elk-datasheet .elk-tbl-num th,
.adme-elk-datasheet .elk-tbl-num td{text-align:center;}

/* Standard Curve: table 42 / graph 58, top aligned, natural aspect ratio, no crop.
   min-width:0 defeats the flex item's automatic minimum, which is what made the old
   inline min-widths compete at the real ~700px content width. */
.adme-elk-datasheet .elk-sc{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;}
.adme-elk-datasheet .elk-sc-table{flex:0 1 42%;min-width:0;}
.adme-elk-datasheet .elk-sc-graph{flex:1 1 55%;min-width:0;}
.adme-elk-datasheet .elk-sc-graph img{max-width:100%;height:auto;display:block;}

/* Precision 29 / 15 / 56, CV centred. */
.adme-elk-datasheet .elk-precision th:nth-child(1),
.adme-elk-datasheet .elk-precision td:nth-child(1){width:29%;}
.adme-elk-datasheet .elk-precision th:nth-child(2),
.adme-elk-datasheet .elk-precision td:nth-child(2){width:15%;text-align:center;white-space:nowrap;}
.adme-elk-datasheet .elk-precision th:nth-child(3),
.adme-elk-datasheet .elk-precision td:nth-child(3){width:56%;}

/* Recovery 39 / 34 / 27, both numeric columns centred. */
.adme-elk-datasheet .elk-recovery th:nth-child(1),
.adme-elk-datasheet .elk-recovery td:nth-child(1){width:39%;}
.adme-elk-datasheet .elk-recovery th:nth-child(2),
.adme-elk-datasheet .elk-recovery td:nth-child(2){width:34%;text-align:center;}
.adme-elk-datasheet .elk-recovery th:nth-child(3),
.adme-elk-datasheet .elk-recovery td:nth-child(3){width:27%;text-align:center;}

.adme-elk-datasheet .elk-intro{margin:0 0 10px;font-size:14px;line-height:1.6;color:#344054;}


/* Document actions (Datasheet / Safety Data Sheet). Scoped to .adme-elk-actions, which the
   shared ELISA datasheet view emits ONLY for the ELK template. .dl-action and .dl-actions are
   shared by the default, cells, peptide and elisakits datasheets, so no bare rule for either
   appears here -- every selector below is a descendant of the ELK-only container. */
.adme-elk-actions{gap:8px;}
.adme-elk-actions .dl-action{
  height:34px;padding:0 14px;gap:8px;
  font-size:13px;font-weight:600;color:#18334A;
  background-color:#FFFFFF;border:1px solid #DDE3E8;border-radius:4px;}
.adme-elk-actions .dl-action:hover{
  background-color:#FFF8E6;border-color:#DDE3E8;color:#18334A;}
.adme-elk-actions .dl-action:active{background-color:#FDF3D6;}
.adme-elk-actions .dl-action .dl-action-ico{color:#F5B900;}
/* Keyboard focus stays clearly visible, and distinct from hover. */
.adme-elk-actions .dl-action:focus-visible{
  outline:2px solid #0071bb;outline-offset:2px;background-color:#FFF8E6;}
