.price-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:24px 38px;align-items:start;padding-bottom:80px}
.price-controls{grid-column:1;grid-row:1;min-width:0}
.price-list{grid-column:1;grid-row:2;min-width:0}
.price-sidebar{grid-column:2;grid-row:1 / span 2;position:sticky;top:28px;padding:30px 24px;background:#fcfbf9;border:1px solid #dfdbd3;min-width:0}
.price-sidebar h2{font-size:29px;line-height:1.16;margin-bottom:22px}
.price-sidebar .eyebrow{font-size:11px}
.price-jumps{display:flex;flex-direction:column;gap:1px;max-height:65vh;overflow:auto;overscroll-behavior:contain;border-top:1px solid #dedad2;padding-top:12px;scrollbar-width:thin;scrollbar-color:#cbc6bd transparent}
.price-jumps a{font-size:14px;line-height:1.55;padding:8px 10px;border-left:2px solid transparent;color:#2a3f78;text-decoration:none;overflow-wrap:anywhere}
.price-jumps a:hover,.price-jumps a:focus-visible{color:#7a6128;background:#f1eee9}
.price-jumps a[aria-current="location"]{border-left-color:#9d7f34;background:#eeebe5;color:#1d2b52;font-weight:600}
.price-mobile-jump{display:none}
.price-controls .price-search{display:block;font-size:14px;font-weight:500;color:#1d2b52;margin:0;padding:0;background:none}
.price-controls .price-search input{display:block;width:100%;margin-top:10px;min-height:54px;padding:14px 17px;border:1px solid #cbc5ba;border-radius:0;background:#fff;font:400 16px/1.5 var(--sans);color:#1d2b52}
.price-controls .price-search input::placeholder{color:#575d6e;opacity:1}
.price-controls .price-search input:focus-visible,.price-mobile-jump select:focus-visible{outline:2px solid #7a6128;outline-offset:3px}
.price-controls #price-status{font-size:14px;color:#2a3f78;margin:12px 0 0;line-height:1.6}
.price-controls #price-status:empty{display:none}
.price-list .price-category{border:0;margin:0 0 28px;scroll-margin-top:30px}
.price-category-head{display:flex;align-items:center;justify-content:space-between;gap:22px;background:#e9e5dc;border-left:3px solid #cbaf6a;padding:21px 19px;margin-bottom:4px}
.price-list .price-category-head h2{font:500 24px/1.3 var(--serif);letter-spacing:0;margin:0;color:#21315e}
.price-category-head>span{font-size:14px;font-weight:600;color:#2a3f78;flex-shrink:0}
.price-list .content-block,.price-list .content-table{margin:0;padding:0;overflow:visible}
.price-list table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0 5px;font-size:14px;line-height:1.65}
.price-list td,.price-list th{border:0;background:#f0eeeb;padding:13px 14px;vertical-align:top;font-size:14px;line-height:1.65;font-weight:400;color:#223362}
.price-list td:first-child{width:75%;overflow-wrap:anywhere}
.price-list td:last-child{width:25%;text-align:right;white-space:normal;font-variant-numeric:tabular-nums;font-weight:600;color:#21315e}
.price-list tr:hover td{background:#ebe7e0}
.price-list td p{margin:0;font:inherit}
.price-list td small{font-size:12px;color:#4c5261;line-height:1.5}
.price-list .price-group-title{margin:40px 0 20px;border-bottom:1px solid #cbaf6a77;padding-bottom:17px}
.price-list .price-group-title h2{font-size:35px;margin:0}
.price-list [hidden]{display:none!important}
.price-payment{margin-top:45px;padding-top:30px;border-top:1px solid #cbaf6a66}
.price-payment .content-block{margin-bottom:18px}
.price-payment p,.price-payment li{font-size:14px;line-height:1.8}
.price-payment img{max-width:350px}
@media(max-width:1050px){.price-layout{grid-template-columns:minmax(0,1fr) 250px;gap:24px}.price-sidebar{padding:22px 16px}}
@media(max-width:760px){
 .price-layout{display:flex;flex-direction:column;gap:22px}
 .price-controls{width:100%;order:0}
 .price-sidebar{position:static;width:100%;padding:0;order:1;background:none;border:0}
 .price-list{width:100%;order:2}
 .price-sidebar>.eyebrow,.price-sidebar>h2,.price-jumps{display:none}
 .price-mobile-jump{display:block;min-width:0;color:#1d2b52;font-size:14px;font-weight:500;line-height:1.5}
 .price-mobile-jump select{display:block;width:100%;max-width:100%;min-width:0;height:52px;margin-top:9px;padding:12px 36px 12px 14px;border:1px solid #cbc5ba;border-radius:0;background:#f3f1ed;color:#21315e;font:400 16px/1.5 var(--sans);text-overflow:ellipsis}
 .price-category-head{padding:17px 12px;gap:12px}
 .price-list .price-category-head h2{font-size:23px;overflow-wrap:anywhere}
 .price-list td,.price-list th{padding:12px 10px;font-size:14px;line-height:1.6}
 .price-list td:first-child{width:69%}
 .price-list td:last-child{width:31%;overflow-wrap:normal}
 .price-list td small{font-size:12px}
 .price-payment img{max-width:100%}
}
.price-jumps a.price-jump-sub{padding-left:24px;font-size:13px;color:#4c5161}

.price-category h2 .price-service-link { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; text-decoration-color: currentColor; }
.price-category h2 .price-service-link:hover { opacity: .75; }

/* Laboratory prices and turnaround times remain readable together. */
.lab-price-note { font:400 14px/1.7 var(--sans); max-width:760px; margin:20px 0 28px; }
.lab-price-note a { text-decoration:underline; text-underline-offset:3px; }
/* Laboratory tables after the Spektrum-Lab price list: a column header and compact striped rows. */
.price-list .lab-price-table { border:1px solid var(--line); border-collapse:collapse; border-spacing:0; background:#fff; }
.price-list .lab-price-table th,.price-list .lab-price-table td { padding:8px 12px; border:0; border-bottom:1px solid #e6e2da; font-size:14px; line-height:1.45; vertical-align:middle; overflow-wrap:anywhere; }
.price-list .lab-price-table th { overflow-wrap:normal; background:#e9e5dc; color:var(--navy); font-weight:700; font-size:13px; line-height:1.35; }
.price-list .lab-price-table th span { display:block; font-weight:400; color:var(--muted); }
.price-list .lab-price-table tbody tr:nth-child(odd) td { background:#fff; }
.price-list .lab-price-table tbody tr:nth-child(even) td { background:#f6f4ef; }
.price-list .lab-price-table tbody tr:hover td { background:#ebe7e0; }
.price-list .lab-price-table td:first-child,.price-list .lab-price-table th:first-child { width:60%; text-align:left; }
.price-list .lab-price-table td:nth-child(2),.price-list .lab-price-table th:nth-child(2) { width:18%; text-align:center; font-variant-numeric:tabular-nums; font-weight:600; white-space:nowrap; }
.price-list .lab-price-table td:last-child,.price-list .lab-price-table th:last-child { width:22%; text-align:center; font-weight:400; font-variant-numeric:tabular-nums; }
.price-list .lab-price-table th:nth-child(2),.price-list .lab-price-table th:last-child { white-space:normal; font-weight:700; }
@media(max-width:650px) {
 .price-list .lab-price-table td,.price-list .lab-price-table th { padding:8px 7px; font-size:13px; }
 .price-list .lab-price-table th { font-size:12px; }
 .price-list .lab-price-table td:first-child,.price-list .lab-price-table th:first-child { width:52%; }
 .price-list .lab-price-table td:nth-child(2),.price-list .lab-price-table th:nth-child(2) { width:22%; }
 .price-list .lab-price-table td:last-child,.price-list .lab-price-table th:last-child { width:26%; }
}
/* A test with its own page opens it from the price list. */
.price-list .price-test-link { color:inherit; text-decoration:underline; text-decoration-color:#cbaf6a; text-decoration-thickness:1px; text-underline-offset:3px; }
.price-list .price-test-link:hover { color:var(--navy); text-decoration-thickness:2px; }
/* The laboratory fields fold under one expandable entry in the quick navigation. */
.price-jump-group summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:8px 10px; border-left:2px solid transparent; font-size:14px; line-height:1.55; color:#2a3f78; cursor:pointer; list-style:none; }
.price-jump-group summary::-webkit-details-marker { display:none; }
.price-jump-group summary::after { content:""; flex-shrink:0; width:7px; height:7px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform .2s; }
.price-jump-group[open] summary::after { transform:translateY(2px) rotate(-135deg); }
.price-jump-group summary:hover,.price-jump-group summary:focus-visible { color:#7a6128; background:#f1eee9; }
.price-jump-group.has-current:not([open]) summary { border-left-color:#9d7f34; background:#eeebe5; color:#1d2b52; font-weight:600; }
.price-jump-group a { display:block; margin-top:1px; }
@media(prefers-reduced-motion:reduce) { .price-jump-group summary::after { transition:none; } }
