/* NOVA single-product Ascend / Salient. Scope is strictly body.nova-pwf-single. */
body.nova-pwf-single {
  --nvsp-green:#0a8550; --nvsp-deep:#075a42; --nvsp-text:#1b2924;
  --nvsp-muted:#66766d; --nvsp-border:#e1ebe4; --nvsp-bg:#f7faf8;
}
body.nova-pwf-single .container-wrap .main-content {padding-top:34px;padding-bottom:70px;}
body.nova-pwf-single .main-content > .row > nav.woocommerce-breadcrumb,
body.nova-pwf-single .main-content nav.woocommerce-breadcrumb {font-size:12px;line-height:1.7;color:#7e8b83;margin:0 0 24px!important;}
body.nova-pwf-single nav.woocommerce-breadcrumb a {color:#587267;text-decoration:none;}
body.nova-pwf-single nav.woocommerce-breadcrumb a:hover {color:var(--nvsp-green);}
body.nova-pwf-single nav.woocommerce-breadcrumb svg {width:7px;height:11px;vertical-align:middle;margin:0 7px;opacity:.5;}
/* Main detail uses theme structure, keeps gallery sliders and Woo hooks untouched. */
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap {display:flex;align-items:flex-start;gap:clamp(22px,4vw,60px);}
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .single-product-main-image,
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .span_5.single-product-main-image {width:44%!important;flex:0 0 44%;float:none!important;margin:0!important;min-width:0;position:relative;}
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .summary,
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .entry-summary {width:auto!important;flex:1 1 0%;float:none!important;margin:0!important;min-width:0;}
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .single-product-main-image .woocommerce-product-gallery {
  border:1px solid var(--nvsp-border);border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#fff 20%,#f3f8f4 100%);
  box-shadow:0 16px 48px rgba(11,47,27,.055);padding:clamp(12px,2.3vw,28px);box-sizing:border-box;width:100%!important;
}
body.nova-pwf-single .single-product-main-image .woocommerce-product-gallery__image img,
body.nova-pwf-single .single-product-main-image .woo-product-gallery-slider img {object-fit:contain;max-width:100%;height:auto;}
body.nova-pwf-single .single-product-main-image .wpgs-nav {margin-top:13px;}
body.nova-pwf-single .single-product-main-image .wpgs-nav img {border-radius:10px;}
body.nova-pwf-single .main-content div.product .summary h1.product_title {font-size:clamp(28px,3.4vw,47px)!important;letter-spacing:-.04em;line-height:1.12!important;font-weight:750!important;color:var(--nvsp-text)!important;margin:0 0 18px!important;}
body.nova-pwf-single .main-content div.product .summary p.price:empty {display:none!important;}
body.nova-pwf-single .main-content div.product .summary .product_meta {border-top:1px solid var(--nvsp-border);margin:24px 0 18px;padding:17px 0;color:var(--nvsp-muted);font-size:12px;}
body.nova-pwf-single .main-content div.product .summary .product_meta a {color:var(--nvsp-green);font-weight:700;text-decoration:none;}
body.nova-pwf-single .main-content div.product .summary .woocommerce-product-details__short-description {background:#fff;border:1px solid var(--nvsp-border);border-radius:21px;padding:clamp(17px,2.4vw,28px);box-shadow:0 8px 32px rgba(9,45,24,.04);color:#47564e;font-size:14px;line-height:1.7;overflow:hidden;}
body.nova-pwf-single .summary .woocommerce-product-details__short-description > h4 {font-size:11px!important;line-height:1.45!important;color:var(--nvsp-deep)!important;font-weight:800!important;letter-spacing:.085em!important;text-transform:uppercase!important;margin:16px 0 9px!important;}
body.nova-pwf-single .summary .woocommerce-product-details__short-description > h4:first-child {margin-top:0!important;}
body.nova-pwf-single .summary .woocommerce-product-details__short-description > p {font-size:13.5px;line-height:1.72;color:#3f5148;margin:0 0 10px;}
body.nova-pwf-single .summary .woocommerce-product-details__short-description > hr {border:0!important;border-top:1px solid #e7eee9!important;margin:17px 0!important;height:0!important;}
/* Highlight COMPOSICIÓN specifically; JS adds class only to the existing paragraph. */
body.nova-pwf-single .summary .woocommerce-product-details__short-description > p.nvsp-composition {
 background:linear-gradient(130deg,#eaf7ef,#f5faf7);color:#265441!important;border:1px solid #d7ecde;
 border-radius:13px;padding:14px 16px;margin:0 0 17px!important;font-size:13.5px;line-height:1.65;
}
/* Preserve existing toggles, make the theme accordion look like a refined list. */
body.nova-pwf-single .summary .woocommerce-product-details__short-description .toggles {margin:12px 0!important;}
body.nova-pwf-single .summary .woocommerce-product-details__short-description .toggle {border:1px solid var(--nvsp-border)!important;border-radius:13px!important;overflow:hidden;background:#fbfcfb;margin:9px 0!important;box-shadow:none!important;}
body.nova-pwf-single .summary .woocommerce-product-details__short-description .toggle .toggle-title,
body.nova-pwf-single .summary .woocommerce-product-details__short-description .toggle h3.toggle-title {margin:0!important;font-size:13px!important;line-height:1.4!important;}
body.nova-pwf-single .summary .woocommerce-product-details__short-description .toggle .toggle-heading {display:flex!important;align-items:center;padding:15px 17px!important;gap:9px;color:var(--nvsp-text)!important;font-weight:700!important;text-decoration:none!important;}
body.nova-pwf-single .summary .woocommerce-product-details__short-description .toggle .toggle-heading svg {width:17px!important;height:17px!important;flex:0 0 17px;color:var(--nvsp-green);}
body.nova-pwf-single .summary .woocommerce-product-details__short-description .toggle .inner-toggle-wrap {padding:4px 17px 17px!important;color:#4e5e55;font-size:13px;line-height:1.7;}
body.nova-pwf-single .summary .woocommerce-product-details__short-description .nectar-button,
body.nova-pwf-single .woocommerce-Tabs-panel .nectar-button {border-radius:12px!important;min-height:46px;display:inline-flex!important;align-items:center;justify-content:center;text-decoration:none!important;font-size:12px!important;font-weight:750!important;letter-spacing:0!important;transition:transform .25s ease,box-shadow .25s ease;}
body.nova-pwf-single .summary .woocommerce-product-details__short-description .nectar-button:hover,
body.nova-pwf-single .woocommerce-Tabs-panel .nectar-button:hover {transform:translateY(-2px);box-shadow:0 9px 23px rgba(8,93,55,.12)!important;}
/* Tabbed detail content */
body.nova-pwf-single .main-content div.product > .woocommerce-tabs {margin-top:48px;}
body.nova-pwf-single .main-content div.product .woocommerce-tabs .wc-tabs {border-bottom:1px solid var(--nvsp-border)!important;}
body.nova-pwf-single .main-content div.product .woocommerce-tabs .wc-tabs li a {font-size:13px!important;font-weight:700!important;}
body.nova-pwf-single .main-content div.product .woocommerce-Tabs-panel {color:#46584d;line-height:1.7;}
body.nova-pwf-single .woocommerce-Tabs-panel table {border-radius:11px;overflow:hidden;}
/* Related products inherit Ascend card language without impacting normal catalog. */
body.nova-pwf-single .main-content div.product section.related.products {margin-top:55px!important;padding-top:25px;border-top:1px solid var(--nvsp-border);}
body.nova-pwf-single .main-content div.product section.related.products > h2 {font-size:clamp(22px,2.5vw,31px)!important;letter-spacing:-.025em;color:var(--nvsp-text);font-weight:750;margin:0 0 25px;}
body.nova-pwf-single .main-content div.product section.related.products ul.products {display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px!important;padding:0!important;margin:0!important;}
body.nova-pwf-single .main-content div.product section.related.products ul.products:before,
body.nova-pwf-single .main-content div.product section.related.products ul.products:after {display:none!important;}
body.nova-pwf-single .main-content div.product section.related.products li.product {display:flex!important;flex-direction:column;float:none!important;width:auto!important;min-width:0!important;margin:0!important;padding:0!important;background:#fff;border:1px solid var(--nvsp-border)!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 9px 24px rgba(7,47,27,.04)!important;transition:transform .3s ease,box-shadow .3s ease;}
body.nova-pwf-single .main-content div.product section.related.products li.product:hover {transform:translateY(-4px);box-shadow:0 16px 36px rgba(7,47,27,.09)!important;}
body.nova-pwf-single .main-content div.product section.related.products li.product .product-wrap {display:flex!important;flex-direction:column;flex:1;margin:0!important;overflow:visible!important;}
body.nova-pwf-single .main-content div.product section.related.products li.product .product-wrap > a:first-child {height:190px!important;background:linear-gradient(140deg,#fff,#f8fbf9);padding:17px!important;display:flex!important;align-items:center;justify-content:center;}
body.nova-pwf-single .main-content div.product section.related.products li.product .product-wrap > a:first-child img {height:100%!important;width:100%!important;object-fit:contain!important;transition:transform .3s ease;}
body.nova-pwf-single .main-content div.product section.related.products li.product:hover .product-wrap > a:first-child img {transform:scale(1.035);}
body.nova-pwf-single .main-content div.product section.related.products li.product .product-meta {position:static!important;transform:none!important;opacity:1!important;background:transparent!important;padding:15px 16px 20px!important;}
body.nova-pwf-single .main-content div.product section.related.products li.product h2.woocommerce-loop-product__title {font-size:13.5px!important;line-height:1.45!important;color:var(--nvsp-text)!important;font-weight:750!important;margin:0!important;padding:0!important;}
body.nova-pwf-single .main-content div.product section.related.products li.product .product-add-to-cart {display:none!important;}
@media(max-width:999px) {
 body.nova-pwf-single .main-content div.product > .nectar-prod-wrap {gap:25px;}
 body.nova-pwf-single .main-content div.product section.related.products ul.products {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:767px) {
 body.nova-pwf-single .container-wrap .main-content {padding-top:20px;}
 body.nova-pwf-single .main-content div.product > .nectar-prod-wrap {display:block;}
 body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .single-product-main-image,
 body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .span_5.single-product-main-image,
 body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .summary {width:100%!important;display:block!important;float:none!important;margin:0 0 26px!important;}
 body.nova-pwf-single .main-content div.product .summary h1.product_title {font-size:30px!important;margin-bottom:14px!important;}
 body.nova-pwf-single .main-content div.product .summary .woocommerce-product-details__short-description {padding:17px;border-radius:16px;}
 body.nova-pwf-single .main-content div.product section.related.products ul.products {gap:11px!important;}
 body.nova-pwf-single .main-content div.product section.related.products li.product .product-wrap > a:first-child {height:150px!important;padding:10px!important;}
 body.nova-pwf-single .main-content div.product section.related.products li.product .product-meta {padding:12px!important;}
 body.nova-pwf-single .main-content div.product section.related.products li.product h2.woocommerce-loop-product__title {font-size:12px!important;}
}
@media(prefers-reduced-motion:reduce) {
 body.nova-pwf-single .main-content div.product section.related.products li.product,
 body.nova-pwf-single .main-content div.product section.related.products li.product img,
 body.nova-pwf-single .nectar-button {transition:none!important;transform:none!important;}
}


/* v1.6 — Products with a separate custom product logo.
   The logo is a direct sibling of the Woo gallery and summary (e.g. VERSION).
   Grid assigns each sibling an explicit cell, preventing the third item from
   squeezing the gallery or pushing the product summary out of alignment. */
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap.nvsp-has-product-logo,
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap:has(> .producto-logo) {
  display:grid!important;
  grid-template-columns:minmax(0,44fr) minmax(0,56fr);
  grid-template-rows:auto minmax(0,1fr);
  column-gap:clamp(22px,4vw,60px);
  row-gap:14px;
  align-items:start;
}
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .producto-logo {
  grid-column:1;
  grid-row:1;
  display:flex!important;
  align-items:center;
  justify-content:flex-start;
  float:none!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:70px;
  box-sizing:border-box;
  margin:0!important;
  padding:12px 16px!important;
  border:1px solid var(--nvsp-border);
  border-radius:17px;
  background:linear-gradient(115deg,#f1f8f3,#fff);
  box-shadow:0 5px 22px rgba(9,45,24,.035);
  z-index:1;
}
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .producto-logo img {
  display:block!important;
  width:auto!important;
  height:auto!important;
  max-width:min(100%,235px)!important;
  max-height:95px!important;
  object-fit:contain!important;
  object-position:left center;
  margin:0!important;
  padding:0!important;
  box-shadow:none!important;
}
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap.nvsp-has-product-logo > .single-product-main-image,
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap:has(> .producto-logo) > .single-product-main-image {
  grid-column:1;
  grid-row:2;
  width:100%!important;
  flex:none!important;
  min-width:0!important;
  max-width:100%!important;
}
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap.nvsp-has-product-logo > .summary,
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap:has(> .producto-logo) > .summary {
  grid-column:2;
  grid-row:1 / span 2;
  width:100%!important;
  min-width:0!important;
  align-self:start;
}
@media(max-width:767px) {
  body.nova-pwf-single .main-content div.product > .nectar-prod-wrap.nvsp-has-product-logo,
  body.nova-pwf-single .main-content div.product > .nectar-prod-wrap:has(> .producto-logo) {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    row-gap:12px!important;
  }
  body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .producto-logo {
    grid-column:1!important;
    grid-row:1!important;
    min-height:65px;
    padding:11px 14px!important;
  }
  body.nova-pwf-single .main-content div.product > .nectar-prod-wrap > .producto-logo img {max-height:80px!important;max-width:min(100%,200px)!important;}
  body.nova-pwf-single .main-content div.product > .nectar-prod-wrap.nvsp-has-product-logo > .single-product-main-image,
  body.nova-pwf-single .main-content div.product > .nectar-prod-wrap:has(> .producto-logo) > .single-product-main-image {
    grid-column:1!important;
    grid-row:2!important;
    margin:0!important;
  }
  body.nova-pwf-single .main-content div.product > .nectar-prod-wrap.nvsp-has-product-logo > .summary,
  body.nova-pwf-single .main-content div.product > .nectar-prod-wrap:has(> .producto-logo) > .summary {
    grid-column:1!important;
    grid-row:3!important;
    margin:14px 0 0!important;
  }
}

/* v1.9.2 — H1 oculto SOLO si el producto tiene logo propio (.producto-logo).
   Técnica "visually-hidden": el H1 sigue en el DOM y en el HTML (rastreable y leído por lectores de pantalla),
   pero no ocupa espacio ni se ve. NO usar display:none / visibility:hidden. */
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap.nvsp-has-product-logo .summary h1.product_title,
body.nova-pwf-single .main-content div.product > .nectar-prod-wrap:has(> .producto-logo) .summary h1.product_title {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
}
