/* Scoped Product Detail presentation. Locked Homepage/Shop are unaffected. */
.sp-d4a-product { color:#102738; background:#f4fbff; }
.sp-d4a-product .sp-main { background:linear-gradient(110deg,#ffffffed,#effafff5),url('../img/d4a-laboratory.png') center top/1500px auto; }
.sp-d4a-product .sp-shop__crumbs { padding-top:22px; padding-bottom:8px; font-size:.8rem; }
.sp-d4a-product .sp-shop__body { padding-bottom:0; }
.sp-d4a-product.woocommerce div.product { gap:28px; padding-top:12px; padding-bottom:36px; }
.sp-d4a-product.woocommerce div.product .woocommerce-product-gallery { position:relative; top:auto; border:1px solid #cce9f7; border-radius:12px; background:radial-gradient(ellipse at 50% 55%,#bceeff77,transparent 70%),linear-gradient(#ffffffc9,#e4f6ffdd),url('../img/d4a-laboratory.png') center/cover; box-shadow:0 8px 25px #1570930b; }
.sp-d4a-product.woocommerce div.product .woocommerce-product-gallery__image img { padding:20px 12%; aspect-ratio:1/1; max-height:580px; object-fit:contain; }
.sp-d4a-product.woocommerce div.product .flex-viewport { min-width:0; max-width:100%; overflow:hidden; }
.sp-d4a-product.woocommerce div.product .flex-control-thumbs { padding:14px!important; gap:10px; flex-wrap:wrap; background:#ffffffbd; border-top:1px solid #d3ebf6; }
.sp-d4a-product.woocommerce div.product .flex-control-thumbs li { width:68px!important; }
.sp-d4a-product.woocommerce div.product .flex-control-thumbs img { border:1px solid #cde8f5; background:#fff; opacity:.7; }
.sp-d4a-product.woocommerce div.product .flex-control-thumbs img.flex-active { border-color:#009edc; opacity:1; }
.sp-d4a-product.woocommerce div.product .summary { padding:12px 0 0; }
.sp-d4a-product.woocommerce div.product .summary .product_title { font:700 clamp(2rem,3.4vw,3.3rem)/1.08 Georgia,'Times New Roman',serif; letter-spacing:-.035em; color:#102738; margin:0 0 10px; }
.sp-d4a-product.woocommerce div.product .summary .sp-product-sub { color:#007fae; font:700 1rem/1.5 var(--font-body); margin:0 0 16px; }
.sp-d4a-product.woocommerce div.product p.price,.sp-d4a-product.woocommerce div.product span.price { font-family:var(--font-body); font-size:1.8rem; font-weight:800; margin-bottom:18px; }
.sp-d4a-product.woocommerce div.product .woocommerce-product-details__short-description { font-size:.92rem; line-height:1.7; color:#486272; margin-bottom:20px; }
.sp-d4a-product.woocommerce div.product form.cart .variations td.value { position:relative; }
/* Anchor the clipped native select to its cell, rather than its static position outside the page. */
.sp-d4a-product .variations select.sp-visually-hidden { position:absolute!important; inset:0 auto auto 0!important; width:1px!important; height:1px!important; margin:0!important; clip-path:inset(50%); overflow:hidden; }
.sp-d4a-product .sp-swatch { border-radius:6px; min-width:62px; padding:8px 12px; border-color:#bdddea; font-family:var(--font-body); font-size:.85rem; }
.sp-d4a-product .sp-swatch.is-active { background:#008dca; border-color:#008dca; box-shadow:0 3px 10px #008dcc20; }
.sp-d4a-product.woocommerce div.product form.cart .single_add_to_cart_button { background:#f00030!important; border:1px solid #f00030!important; border-radius:6px; color:#fff!important; box-shadow:none; font-family:var(--font-body); font-weight:800; }
.sp-d4a-product.woocommerce div.product form.cart .single_add_to_cart_button:hover { background:#c70029!important; }
.sp-d4a-product.woocommerce div.product form.cart .quantity .qty { border-radius:6px; border:1px solid #bdddea; width:74px; }
.sp-d4a-product .sp-summary-trust .sp-badges { display:grid; grid-template-columns:1fr; gap:12px; background:none; border:0; box-shadow:none; padding:18px 0; margin:0; border-top:1px solid #d2e8f3; }
.sp-d4a-product .sp-summary-trust .sp-badge { background:none; border:0; box-shadow:none; padding:0; gap:12px; }
.sp-d4a-product .sp-summary-trust .sp-badge__icon { color:#009fdf; background:#eaf9ff; border:1px solid #bae5f8; border-radius:8px; }
.sp-d4a-product .sp-summary-trust .sp-badge__title { font-size:.83rem; }
.sp-d4a-product .sp-summary-trust .sp-badge__text { font-size:.78rem; line-height:1.5; }
.sp-d4a-product.woocommerce div.product .product_meta { font-size:.78rem; margin-top:10px; }
.sp-d4a-product .sp-ruo { border-color:#c9e8f7; background:#f1faff; }
.sp-d4a-product.woocommerce div.product .woocommerce-tabs ul.tabs { width:100%; border-radius:8px; margin-bottom:14px!important; background:#fff; border-color:#d0e8f4; }
.sp-d4a-product.woocommerce div.product .woocommerce-tabs ul.tabs li a { min-height:44px; font-family:var(--font-body); font-size:.82rem; }
.sp-d4a-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:#e3f6ff!important; border-radius:5px!important; }
.sp-d4a-product.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:#006b98!important; }
.sp-d4a-product.woocommerce div.product .woocommerce-tabs .panel { border-radius:10px; border-color:#d0e8f4; background:#ffffffed; font-size:.92rem; line-height:1.75; overflow-wrap:anywhere; }
.sp-d4a-product .woocommerce-tabs .panel h2,.sp-d4a-product .related>h2 { font-family:Georgia,'Times New Roman',serif!important; color:#102738; }
.sp-d4a-product .woocommerce-tabs .panel table { width:100%; table-layout:fixed; }
.sp-d4a-product .woocommerce-tabs .panel td,.sp-d4a-product .woocommerce-tabs .panel th { overflow-wrap:anywhere; }
.sp-d4a-product .woocommerce-tabs .panel a:has(img) { display:block; padding:14px; margin:14px 0 24px; border:1px solid #cce8f6; border-radius:8px; background:#f3faff; }
.sp-d4a-product .woocommerce-tabs .panel a img { display:block; max-width:100%; max-height:720px; width:auto; height:auto; object-fit:contain; margin:auto; }
.sp-d4a-product .related .sp-pcard { opacity:1!important; transform:none!important; border:1px solid #d3e9f5; border-radius:9px; box-shadow:0 3px 12px #05698c09; }
.sp-d4a-product .related .sp-pcard__media { background:linear-gradient(#fff,#e8f8ff); }
.sp-d4a-product .related .sp-pcard__img { object-fit:contain; }
.sp-d4a-product .related .sp-btn--primary { background:#f00030; border-color:#f00030; border-radius:6px; box-shadow:none; }
.sp-d4a-product :is(a,button,input):focus-visible { outline:3px solid #008dcc; outline-offset:3px; }
.sp-d4a-product .sp-header { background:#fff; }
.sp-d4a-product .sp-header .sp-brand { gap:5px; }
.sp-d4a-product .sp-header .sp-brand__mark { height:56px; }
.sp-d4a-product .d4a-brand-word { display:block; position:relative; width:148px; height:67px; overflow:hidden; }
.sp-d4a-product .d4a-brand-word img { position:absolute; width:246px; max-width:none; height:auto; left:-92px; top:-25px; }
.sp-d4a-product .sp-footer { background:#f7fcff; padding-top:28px; }
.sp-d4a-product .sp-footer__list a { min-height:44px; display:inline-flex; align-items:center; }
@media(min-width:900px) { .sp-d4a-product.woocommerce div.product { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px 48px; } }
@media(max-width:899px) { .sp-d4a-product.woocommerce div.product .woocommerce-product-gallery { max-width:520px; width:100%!important; justify-self:center; } .sp-d4a-product.woocommerce div.product .summary { padding-top:0; } }
@media(max-width:639px) { .sp-d4a-product.woocommerce div.product { gap:22px; } .sp-d4a-product.woocommerce div.product .woocommerce-product-gallery__image img { max-height:370px; padding:16px 14%; } .sp-d4a-product.woocommerce div.product .summary .product_title { font-size:2.2rem; } .sp-d4a-product.woocommerce div.product .woocommerce-tabs .panel { padding:18px; } .sp-d4a-product.woocommerce table.shop_attributes th { width:40%; } .sp-d4a-product .sp-header .sp-brand__mark { height:43px; } .sp-d4a-product .sp-header .d4a-brand-word { width:114px; height:52px; } .sp-d4a-product .sp-header .d4a-brand-word img { width:190px; left:-71px; top:-19px; } .sp-d4a-product .sp-header__inner { gap:8px; } }
@media(prefers-reduced-motion:reduce) { .sp-d4a-product *, .sp-d4a-product *::before,.sp-d4a-product *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

/* Gate 1: upper purchase-area polish; lower content architecture unchanged. */
.sp-d4a-product .sp-shop__body { padding-top:14px; }
.sp-d4a-product.woocommerce div.product { padding-top:0; column-gap:32px; }
.sp-d4a-product.woocommerce div.product .woocommerce-product-gallery { border-color:#b6dceb; box-shadow:0 5px 20px #14628410; }
.sp-d4a-product.woocommerce div.product .summary { background:#ffffffeb; border:1px solid #c6e2ef; border-radius:12px; padding:22px; box-shadow:0 5px 20px #14628408; }
.sp-d4a-product.woocommerce div.product .summary .sp-product-sub { margin-bottom:10px; }
.sp-d4a-product.woocommerce div.product .summary>p.price { margin-bottom:12px; }
.sp-d4a-product.woocommerce div.product .woocommerce-product-details__short-description { margin-bottom:14px; }
.sp-d4a-product.woocommerce div.product .woocommerce-product-details__short-description p { margin-bottom:10px; }
.sp-d4a-product.woocommerce div.product form.cart { margin-bottom:12px!important; }
.sp-d4a-product.woocommerce div.product form.cart .variations { margin-bottom:8px; }
.sp-d4a-product.woocommerce div.product form.cart .variations label { margin-bottom:8px; }
.sp-d4a-product.woocommerce div.product form.cart .reset_variations { margin-top:5px; min-height:32px; line-height:32px; }
.sp-d4a-product.woocommerce div.product .woocommerce-variation-description p { margin:0 0 6px; font-size:.85rem; color:#486272; }
.sp-d4a-product.woocommerce div.product .single_variation .price { font-size:1.8rem!important; font-weight:800; color:#102738!important; }
.sp-d4a-product.woocommerce div.product .summary:has(.woocommerce-variation-add-to-cart-enabled)>p.price { font-size:1.12rem; color:#526b78!important; }
.sp-d4a-product.woocommerce div.product .single_variation_wrap .woocommerce-variation-price { margin-bottom:10px; }
.sp-d4a-product .sp-summary-trust .sp-badges { padding:12px 0 8px; gap:10px; }
.sp-d4a-product.woocommerce div.product .product_meta { font-size:.72rem; color:#607987; margin-top:6px; }
.sp-d4a-product.woocommerce div.product .flex-control-thumbs { padding:10px!important; gap:8px; align-items:center; }
.sp-d4a-product.woocommerce div.product .flex-control-thumbs li { width:62px!important; }
.sp-d4a-product.woocommerce div.product .flex-control-thumbs img { border:2px solid #d1e7f1; border-radius:7px; opacity:.8; }
.sp-d4a-product.woocommerce div.product .flex-control-thumbs img.flex-active { border-color:#008fce; box-shadow:0 0 0 2px #008fce18; opacity:1; }
@media(max-width:899px) { .sp-d4a-product.woocommerce div.product .woocommerce-product-gallery { max-width:440px; } .sp-d4a-product.woocommerce div.product .woocommerce-product-gallery__image img { max-height:420px; } }
@media(max-width:639px) {
 .sp-d4a-product .sp-shop__crumbs { padding-top:12px; padding-bottom:0; }
 .sp-d4a-product .sp-shop__body { padding-top:12px; }
 .sp-d4a-product.woocommerce div.product { row-gap:14px; }
 .sp-d4a-product.woocommerce div.product .woocommerce-product-gallery__image img { max-height:260px; padding:10px 12%; }
 .sp-d4a-product.woocommerce div.product .flex-control-thumbs li { width:52px!important; }
 .sp-d4a-product.woocommerce div.product .flex-control-thumbs { padding:8px!important; }
 .sp-d4a-product.woocommerce div.product .summary { padding:16px; border-radius:9px; }
 .sp-d4a-product.woocommerce div.product .summary .product_title { margin-bottom:6px; }
 .sp-d4a-product.woocommerce div.product .summary .sp-product-sub { margin-bottom:8px; }
 .sp-d4a-product.woocommerce div.product .woocommerce-product-details__short-description { margin-bottom:12px; font-size:.88rem; line-height:1.6; }
 .sp-d4a-product .sp-swatch { min-width:54px; min-height:46px; padding:8px 10px; }
 .sp-d4a-product .sp-swatches { gap:7px; }
}

/* Phase 3 completion: lower-content presentation only. */
.sp-d4a-product.woocommerce div.product .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:4px; overflow:visible; padding:4px!important; }
.sp-d4a-product.woocommerce div.product .woocommerce-tabs ul.tabs li { margin:0!important; }
.sp-d4a-product.woocommerce div.product .woocommerce-tabs .panel { padding:28px 32px; border-color:#c6e2ef; box-shadow:0 4px 16px #14628408; }
.sp-d4a-product .woocommerce-tabs .panel>p { max-width:85ch; }
.sp-d4a-product .woocommerce-tabs .panel h2 { margin:0 0 14px; font-size:1.7rem; line-height:1.2; }
.sp-d4a-product .woocommerce-tabs .panel h2:not(:first-child) { margin-top:28px; }
.sp-d4a-product .woocommerce-tabs .panel h3 { margin:22px 0 12px; font-size:1.08rem; }
.sp-d4a-product .woocommerce-tabs .panel :is(.sp-spec,.shop_attributes) { border-collapse:collapse; margin:16px 0 24px; border:1px solid #d1e7f1; border-radius:6px; }
.sp-d4a-product .woocommerce-tabs .panel :is(.sp-spec,.shop_attributes) :is(th,td) { text-align:left; vertical-align:top; padding:12px 16px; border-bottom:1px solid #dbeaf2; font-size:.88rem; line-height:1.6; }
.sp-d4a-product .woocommerce-tabs .panel :is(.sp-spec,.shop_attributes) th { width:30%; color:#183a4d; background:#f0f9fd; font-weight:700; }
.sp-d4a-product .woocommerce-tabs .panel :is(.sp-spec,.shop_attributes) td { background:#fff; }
.sp-d4a-product .woocommerce-tabs .panel .shop_attributes td p { margin:0; padding:0; }
.sp-d4a-product .sp-product-documents { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:20px 0; }
.sp-d4a-product .sp-product-document { min-width:0; border:1px solid #c6e2ef; border-radius:9px; padding:18px; background:linear-gradient(#fff,#f3faff); }
.sp-d4a-product .sp-product-document>p:first-child { margin:0 0 12px; font-size:.82rem; line-height:1.7; color:#486272; overflow-wrap:anywhere; }
.sp-d4a-product .sp-product-document strong { color:#102738; font-size:.98rem; }
.sp-d4a-product .sp-product-document>p:last-child { margin:0; }
.sp-d4a-product .woocommerce-tabs .panel .sp-product-document a:has(img) { margin:0; padding:12px; background:#eaf7fd; }
.sp-d4a-product .woocommerce-tabs .panel .sp-product-document a img { max-height:300px; }
.sp-d4a-product .related { margin-top:12px; padding-top:16px; border-top:1px solid #d1e7f1; }
.sp-d4a-product .related>h2 { margin:0 0 22px; font-size:clamp(1.7rem,3vw,2.3rem); }
.sp-d4a-product .related .sp-pcard__body { padding:16px; }
.sp-d4a-product .related .sp-pcard__strengths { flex-wrap:wrap; }
.sp-d4a-product .related .sp-pcard__foot { gap:12px; }
@media(max-width:639px) {
 .sp-d4a-product.woocommerce div.product .woocommerce-tabs ul.tabs { display:grid; grid-template-columns:1fr; }
 .sp-d4a-product.woocommerce div.product .woocommerce-tabs ul.tabs li a { display:flex; align-items:center; min-height:44px; padding:10px 14px; }
 .sp-d4a-product.woocommerce div.product .woocommerce-tabs .panel { padding:18px; }
 .sp-d4a-product .woocommerce-tabs .panel h2 { font-size:1.5rem; }
 .sp-d4a-product .woocommerce-tabs .panel :is(.sp-spec,.shop_attributes) :is(th,td) { padding:10px; font-size:.82rem; }
 .sp-d4a-product .woocommerce-tabs .panel :is(.sp-spec,.shop_attributes) th { width:38%; }
 .sp-d4a-product .sp-product-documents { grid-template-columns:1fr; gap:14px; }
 .sp-d4a-product .sp-product-document { padding:14px; }
 .sp-d4a-product .woocommerce-tabs .panel .sp-product-document a img { max-height:300px; }
 .sp-d4a-product .related .sp-pcard__body { padding:12px; }
}
.sp-d4a-product .flex-control-thumbs img:focus-visible { outline:3px solid #008dcc; outline-offset:3px; }
@media(min-width:640px) and (max-width:1023px) { .sp-d4a-product.woocommerce .related ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* D4A five-tab product layout: Research Information / COA & Testing / Shipping / FAQ. */
.sp-d4a-product .woocommerce-tabs .panel .sp-tab-lede { font-weight:600; color:#123248; }
.sp-d4a-product .woocommerce-tabs .panel .sp-coa-list { list-style:none; margin:18px 0; padding:0; display:grid; gap:10px; }
.sp-d4a-product .woocommerce-tabs .panel .sp-coa-list a { display:flex; align-items:center; gap:12px; padding:12px 16px; border:1px solid #d1e7f1; border-radius:8px; background:#f3faff; text-decoration:none; color:#123248; font-weight:600; }
.sp-d4a-product .woocommerce-tabs .panel .sp-coa-list a:hover { border-color:#65cbe9; }
.sp-d4a-product .woocommerce-tabs .panel .sp-coa-list .sp-icon { color:#0a9bd4; flex:none; }
.sp-d4a-product .woocommerce-tabs .panel .sp-ship-list { margin:16px 0; padding-left:20px; display:grid; gap:8px; color:#365467; }
.sp-d4a-product .woocommerce-tabs .panel details.sp-faq { border:1px solid #d1e7f1; border-radius:8px; margin:10px 0; background:#fff; }
.sp-d4a-product .woocommerce-tabs .panel details.sp-faq summary { cursor:pointer; padding:14px 18px; font-weight:600; color:#123248; list-style:none; }
.sp-d4a-product .woocommerce-tabs .panel details.sp-faq summary::-webkit-details-marker { display:none; }
.sp-d4a-product .woocommerce-tabs .panel details.sp-faq .sp-faq__body { padding:0 18px 16px; color:#365467; }
.sp-d4a-product .woocommerce-tabs .panel details.sp-faq .sp-faq__body p { margin:0; }
