/* NRVE 2.1.2: a single, scoped product presentation layer. */
.single-product .nrve-single-product-wrap { background:#f3f4f2; color:#172023; padding:22px 0 64px; }
.nrve-single-product-wrap > .nrve-shell { max-width:1280px; }
.nrve-single-product-wrap .woocommerce-breadcrumb { font-size:12px; line-height:1.6; color:#596467; margin:0 0 24px; overflow-wrap:anywhere; }
.nrve-single-product-wrap .woocommerce-breadcrumb a { color:#263337; text-decoration:underline; text-underline-offset:3px; }
.nrve-single-product-wrap .nrve-shell > div.product { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; position:relative; }
.nrve-single-product-wrap .nrve-shell > div.product::before,
.nrve-single-product-wrap .nrve-shell > div.product::after { display:none; }
.nrve-single-product-wrap .nrve-shell > div.product > * { min-width:0; }
.nrve-single-product-wrap div.product div.summary { float:none; width:auto; margin:0; padding:0; color:#172023; }
.nrve-single-product-wrap .summary .nrve-peptide-badge { display:inline-flex; align-items:center; gap:9px; margin:0 0 16px; padding:7px 10px; border:1px solid #d3dad7; background:#fff; color:#243036; font-size:11px; line-height:1.4; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }
.nrve-single-product-wrap .summary .nrve-peptide-badge__dot { width:9px; height:9px; border-radius:50%; background:var(--nrve-accent); box-shadow:0 0 0 3px color-mix(in srgb,var(--nrve-accent) 16%,white); }
.nrve-single-product-wrap .summary h1.product_title { color:#111b1f; font-size:clamp(32px,3.6vw,50px); line-height:1.07; letter-spacing:-.045em; text-transform:none; margin:0 0 20px; overflow-wrap:anywhere; }
.nrve-single-product-wrap div.product .summary p.price,
.nrve-single-product-wrap div.product .summary span.price { color:#142025; font-size:30px; line-height:1.3; font-weight:800; margin:0 0 20px; letter-spacing:-.035em; }
.nrve-single-product-wrap .summary .price del { font-size:.65em; font-weight:500; opacity:1; color:#657075; }
.nrve-single-product-wrap .summary .price ins { text-decoration:none; background:none; }
.nrve-single-product-wrap .summary .woocommerce-price-suffix { font-size:12px; letter-spacing:0; font-weight:500; }
.nrve-single-product-wrap .summary .woocommerce-product-details__short-description { color:#465357; font-size:16px; line-height:1.7; }
.nrve-single-product-wrap .summary .woocommerce-product-details__short-description p { margin:0 0 16px; }
.nrve-single-product-wrap .summary .woocommerce-product-rating { margin:0 0 14px; font-size:13px; color:#37474d; }
.nrve-single-product-wrap div.product p.stock { font-size:13px; font-weight:700; color:#186140; }
.nrve-single-product-wrap div.product p.out-of-stock { color:#943535; }
/* The native slider, zoom and lightbox keep their own transforms and state. */
.nrve-single-product-wrap div.product div.woocommerce-product-gallery { float:none; width:100%; margin:0; align-self:start; }
.nrve-single-product-wrap .woocommerce-product-gallery__wrapper { margin:0; }
.nrve-single-product-wrap .woocommerce-product-gallery__image,
.nrve-single-product-wrap .woocommerce-product-gallery__image--placeholder { background:#fff; border:1px solid #e0e5e2; }
.nrve-single-product-wrap .woocommerce-product-gallery__image a { display:block; }
.nrve-single-product-wrap .woocommerce-product-gallery__image img:not(.zoomImg),
.nrve-single-product-wrap .woocommerce-product-gallery__image--placeholder img { display:block; width:100%; aspect-ratio:1; object-fit:contain; height:auto; }
.nrve-single-product-wrap div.product div.woocommerce-product-gallery .flex-control-thumbs { display:flex; gap:10px; overflow-x:auto; padding:12px 1px 3px; margin:0; }
.nrve-single-product-wrap div.product div.woocommerce-product-gallery .flex-control-thumbs li { width:72px; flex:0 0 72px; float:none; list-style:none; }
.nrve-single-product-wrap div.product div.woocommerce-product-gallery .flex-control-thumbs img { width:72px; height:72px; object-fit:contain; border:1px solid #c9d1ce; background:#fff; opacity:.7; }
.nrve-single-product-wrap div.product div.woocommerce-product-gallery .flex-control-thumbs img.flex-active { opacity:1; border:2px solid #172023; box-shadow:inset 0 -3px var(--nrve-accent); }
.nrve-single-product-wrap div.product div.woocommerce-product-gallery .flex-control-thumbs img:hover { opacity:1; }
.nrve-single-product-wrap div.product div.woocommerce-product-gallery .woocommerce-product-gallery__trigger { top:14px; right:14px; width:44px; height:44px; border-radius:50%; background:#fff; color:#152125; box-shadow:0 2px 12px #07101418; display:grid; place-items:center; }
.nrve-single-product-wrap div.product div.woocommerce-product-gallery .woocommerce-product-gallery__trigger::before { top:13px; left:13px; }
.nrve-single-product-wrap div.product div.woocommerce-product-gallery .woocommerce-product-gallery__trigger::after { top:25px; left:26px; }
.nrve-single-product-wrap div.product > .onsale { position:absolute; z-index:5; top:14px; left:14px; min-height:0; min-width:0; padding:7px 12px; border-radius:0; background:#142025; color:#fff; line-height:1.5; font-size:12px; }
/* Native variation table and selects; no proxy fields or cart-event interception. */
.nrve-single-product-wrap div.product form.cart { display:flex; flex-wrap:wrap; align-items:stretch; gap:12px; margin:24px 0; padding:22px 0; border-block:1px solid #d6ddda; }
.nrve-single-product-wrap div.product form.cart.variations_form { display:block; background:#fff; padding:20px; border:1px solid #d6ddda; border-top:3px solid var(--nrve-accent); }
.nrve-single-product-wrap div.product form.cart table.variations { display:block; width:100%; margin:0; border:0; background:transparent; }
.nrve-single-product-wrap div.product form.cart .variations tbody,
.nrve-single-product-wrap div.product form.cart .variations tr,
.nrve-single-product-wrap div.product form.cart .variations th,
.nrve-single-product-wrap div.product form.cart .variations td { display:block; width:100%; border:0; padding:0; background:transparent; }
.nrve-single-product-wrap div.product form.cart .variations tr + tr { margin-top:18px; }
.nrve-single-product-wrap div.product form.cart .variations label { display:block; text-align:left; font-size:12px; line-height:1.5; font-weight:800; letter-spacing:.04em; color:#263337; margin:0 0 8px; }
.nrve-single-product-wrap div.product form.cart .variations select { appearance:none; -webkit-appearance:none; display:block; width:100%; max-width:none; min-width:0; min-height:52px; margin:0; padding:12px 44px 12px 14px; border:1px solid #aab8b3; border-radius:3px; color:#172023; background:#fafbf9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23243337' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center; font:inherit; font-size:16px; cursor:pointer; }
.nrve-single-product-wrap div.product form.cart .variations select:focus-visible { outline:2px solid #152125; outline-offset:3px; border-color:var(--nrve-accent); }
.nrve-single-product-wrap div.product form.cart .reset_variations { font-size:12px; color:#465357; font-weight:600; text-decoration:underline; text-underline-offset:3px; line-height:32px; }
.nrve-single-product-wrap .single_variation_wrap { margin-top:18px; }
.nrve-single-product-wrap .woocommerce-variation-description { color:#465357; font-size:14px; }
.nrve-single-product-wrap .woocommerce-variation-price { margin:0 0 14px; }
.nrve-single-product-wrap .woocommerce-variation-add-to-cart { display:flex; align-items:stretch; flex-wrap:wrap; gap:12px; }
.nrve-single-product-wrap div.product form.cart div.quantity { float:none; margin:0; flex:0 0 76px; }
.nrve-single-product-wrap .quantity input.qty { width:76px; min-height:52px; padding:8px; border:1px solid #aab8b3; border-radius:3px; background:#fff; color:#172023; font:inherit; font-size:16px; font-weight:700; }
.nrve-single-product-wrap .summary button.single_add_to_cart_button { float:none; flex:1; min-width:140px; min-height:52px; padding:14px 20px; border:1px solid #142025; background:#142025 !important; color:#fff !important; border-radius:3px !important; font:inherit; font-size:15px; font-weight:800; line-height:1.4; cursor:pointer; box-shadow:inset 0 -3px var(--nrve-accent); }
.nrve-single-product-wrap .summary button.single_add_to_cart_button:hover { background:#2b3c43 !important; }
.nrve-single-product-wrap .summary button.single_add_to_cart_button.disabled,
.nrve-single-product-wrap .summary button.single_add_to_cart_button:disabled { opacity:.45; cursor:not-allowed; }
.nrve-single-product-wrap .summary form.grouped_form { display:block; }
.nrve-single-product-wrap .summary form.grouped_form table { width:100%; margin-bottom:18px; }
.nrve-single-product-wrap .summary form.grouped_form .button { margin-top:16px; width:100%; }
/* Useful assurances, with readable copy and no unconditional testing badge. */
.nrve-product-assurance { display:grid; grid-template-columns:1fr; gap:14px; margin:22px 0 0; }
.nrve-product-assurance > div { display:grid; grid-template-columns:24px 1fr; column-gap:12px; align-items:start; }
.nrve-product-assurance .nrve-icon { grid-row:1/3; color:#43564f; }
.nrve-product-assurance strong { font-size:12px; line-height:1.5; color:#263337; }
.nrve-product-assurance small { font-size:11px; line-height:1.6; color:#5a6669; }
/* Full-width sections must not become accidental gallery columns. */
.nrve-single-product-wrap div.product .woocommerce-tabs,
.nrve-single-product-wrap div.product > .related,
.nrve-single-product-wrap div.product > .upsells,
.nrve-single-product-wrap div.product > .nrve-product-resources { grid-column:1/-1; margin:0; clear:both; }
.nrve-single-product-wrap div.product .woocommerce-tabs ul.tabs { display:flex; overflow:auto; gap:28px; padding:0; margin:8px 0 0; border-bottom:1px solid #cdd6d2; }
.nrve-single-product-wrap div.product .woocommerce-tabs ul.tabs::before,
.nrve-single-product-wrap div.product .woocommerce-tabs ul.tabs li::before,
.nrve-single-product-wrap div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.nrve-single-product-wrap div.product .woocommerce-tabs ul.tabs li { flex:0 0 auto; margin:0; padding:0; border:0; border-bottom:3px solid transparent; border-radius:0; background:transparent; }
.nrve-single-product-wrap div.product .woocommerce-tabs ul.tabs li.active { background:transparent; border-bottom-color:var(--nrve-accent); }
.nrve-single-product-wrap div.product .woocommerce-tabs ul.tabs li a { display:block; padding:16px 2px; color:#526064; font-size:14px; font-weight:700; }
.nrve-single-product-wrap div.product .woocommerce-tabs ul.tabs li.active a { color:#142025; }
.nrve-single-product-wrap div.product .woocommerce-tabs .panel { margin:0; padding:28px 0 8px; color:#3f4e52; font-size:16px; line-height:1.75; overflow-wrap:anywhere; }
.nrve-single-product-wrap .woocommerce-tabs .panel > h2 { font-size:24px; text-transform:none; letter-spacing:-.025em; color:#142025; line-height:1.2; margin:0 0 14px; }
.nrve-single-product-wrap .woocommerce-tabs .panel p { max-width:80ch; }
.nrve-single-product-wrap .woocommerce-tabs .panel a { text-decoration:underline; text-underline-offset:3px; }
.nrve-single-product-wrap .woocommerce-tabs .panel table { border-collapse:collapse; width:100%; color:#263337; background:#fff; }
.nrve-single-product-wrap .woocommerce-tabs .panel :is(th,td) { border:1px solid #d7dfdb; padding:14px; text-align:left; }
.nrve-single-product-wrap .woocommerce-tabs .panel .wp-block-table { overflow:auto; margin-inline:0; }
.nrve-product-section-heading { margin:12px 0 22px; }
.nrve-product-section-heading .nrve-kicker { color:#607068; font-size:10px; letter-spacing:.14em; margin-bottom:10px; }
.nrve-product-section-heading h2,
.nrve-single-product-wrap div.product > :is(.related,.upsells) > h2 { font-size:clamp(25px,3vw,34px); line-height:1.2; text-transform:none; letter-spacing:-.035em; color:#142025; margin:0 0 20px; }
.nrve-resource-grid { display:grid; grid-template-columns:1fr; gap:18px; }
.nrve-resource-card { background:#fff; border:1px solid #d7dfdb; padding:24px; min-width:0; }
.nrve-resource-card__heading { display:flex; align-items:center; gap:12px; }
.nrve-resource-card__heading > .nrve-icon { color:#34483f; flex:none; }
.nrve-resource-card h3 { color:#142025; font-size:20px; line-height:1.3; margin:0; letter-spacing:-.025em; }
.nrve-resource-card p { font-size:14px; line-height:1.75; color:#526165; margin:16px 0; }
.nrve-resource-card .nrve-resource-note { font-size:12px; }
.nrve-resource-links { padding:0; margin:20px 0 0; list-style:none; }
.nrve-resource-links li { border-top:1px solid #e0e5e2; }
.nrve-resource-links a,.nrve-resource-action { display:flex; justify-content:space-between; gap:16px; align-items:center; min-height:48px; color:#172d25; font-size:13px; font-weight:800; line-height:1.5; overflow-wrap:anywhere; }
.nrve-resource-links a:hover,.nrve-resource-action:hover { text-decoration:underline; text-underline-offset:4px; }
.nrve-resource-action { border-top:1px solid #e0e5e2; margin-top:20px; padding-top:12px; }
.nrve-certificate-details { display:grid; grid-template-columns:1fr 1fr; gap:16px; padding:18px; background:#f3f5f3; margin:18px 0; }
.nrve-certificate-details dt { color:#59696d; font-size:11px; margin-bottom:4px; }
.nrve-certificate-details dd { color:#172023; font-size:13px; font-weight:700; margin:0; overflow-wrap:anywhere; }
.nrve-product-use-note { display:flex; gap:14px; border-left:3px solid var(--nrve-accent); background:#e9eeea; padding:18px 20px; margin-top:20px; }
.nrve-product-use-note .nrve-icon { flex:none; }
.nrve-product-use-note strong { color:#24362c; font-size:13px; }
.nrve-product-use-note p { color:#52625a; font-size:12px; line-height:1.65; margin:4px 0 0; }
.nrve-single-product-wrap div.product > :is(.related,.upsells) { padding-top:20px; }
.nrve-single-product-wrap div.product > :is(.related,.upsells) { display:block; width:100%; }
.nrve-single-product-wrap :is(.related,.upsells) ul.products { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; width:100%; }
.nrve-single-product-wrap :is(.related,.upsells) ul.products li.product { min-width:0; }
.nrve-single-product-wrap :is(.related,.upsells) .woocommerce-loop-product__title { overflow-wrap:anywhere; }
.nrve-single-product-wrap :is(input,button,a,select,textarea):focus-visible { outline:2px solid #172d25; outline-offset:4px; }
@media(min-width:540px) {
  .nrve-product-assurance { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
  .nrve-product-assurance > div { display:block; }
  .nrve-product-assurance :is(strong,small) { display:block; }
  .nrve-product-assurance .nrve-icon { margin-bottom:7px; }
}
@media(min-width:901px) {
  .single-product .nrve-single-product-wrap { padding-top:28px; }
  .nrve-single-product-wrap .nrve-shell > div.product { grid-template-columns:minmax(0,1.06fr) minmax(0,1fr); column-gap:56px; row-gap:40px; }
  .nrve-single-product-wrap div.product div.summary { padding-top:12px; }
  .nrve-resource-grid { grid-template-columns:1fr 1fr; gap:24px; }
  .nrve-single-product-wrap :is(.related,.upsells) ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:380px) {
  .nrve-single-product-wrap div.product form.cart.variations_form { padding:16px; }
  .nrve-resource-card { padding:20px; }
  .nrve-certificate-details { grid-template-columns:1fr; }
}

@media(max-width:539px) { .nrve-single-product-wrap :is(.related,.upsells) ul.products { grid-template-columns:minmax(0,1fr); } }
