/* E-95: PDP composition from the approved product reference. */
body.sh-pdp { --sh-pdp-section: clamp(1.75rem,1.2rem + 2.4vw,2.5rem); --sh-pdp-name: clamp(2.25rem, 1.3rem + 3.6vw, 3.75rem); }
body.sh-pdp #inner-wrap { background: var(--sh-bg); color: var(--sh-text); }
body.sh-pdp #primary { padding-block: 2rem 0; margin-block: 0; }
body.sh-pdp #main { max-width: 82.5rem; margin-inline: auto; }
body.sh-pdp .content-container { max-width: 85.5rem; padding-inline: 1.5rem; }
body.sh-pdp .woocommerce-breadcrumb, body.sh-pdp .kadence-breadcrumbs { margin: 0 0 2rem; padding: 0; color: var(--sh-text-muted); font-size: .875rem; overflow-wrap: anywhere; }
body.sh-pdp .woocommerce-breadcrumb a, body.sh-pdp .kadence-breadcrumbs a { color: var(--sh-text-muted); }
.sh-pdp-top { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 2rem; position: relative; margin-bottom: 3.5rem; }
body.sh-pdp div.product .sh-pdp-top > .summary { float: none; width: 100%; margin: 0; display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
body.sh-pdp .summary > * { margin: 0; max-width: 100%; min-width: 0; }
body.sh-pdp .summary .product_title { font: 800 var(--sh-pdp-name)/.95 var(--font-display); letter-spacing: -.03em; text-transform: uppercase; overflow-wrap: anywhere; text-wrap: balance; }
.sh-pdp-title-sub { display: block; margin-top: .875rem; font: 400 clamp(1.125rem, 1rem + .5vw, 1.25rem)/1.35 var(--font-body); letter-spacing: 0; text-transform: none; color: var(--sh-text-muted); }
body.sh-pdp div.product .summary p.price { color: var(--sh-text); font: 800 clamp(1.75rem, 1.4rem + 1.4vw, 2.25rem)/1.2 var(--font-display); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
body.sh-pdp .woocommerce-product-details__short-description { max-width: 32.5rem; font-size: 1rem; line-height: 1.6; }
body.sh-pdp .woocommerce-product-details__short-description p { margin: 0 0 1rem; }
body.sh-pdp .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }
body.sh-pdp .woocommerce-product-details__short-description ul { list-style: none; padding: 0; margin: 1rem 0 0; }
body.sh-pdp .woocommerce-product-details__short-description li { position: relative; padding-left: 1.75rem; margin: .75rem 0; overflow-wrap: anywhere; color: var(--sh-text-muted); }
body.sh-pdp .woocommerce-product-details__short-description li::before { content: ''; position: absolute; left: .15rem; top: .45em; width: .65rem; height: .4rem; border-left: 1.75px solid var(--sh-text); border-bottom: 1.75px solid var(--sh-text); transform: rotate(-45deg); }
body.sh-pdp .woocommerce-product-details__short-description strong { color: var(--sh-text); font-weight: 600; }
.sh-pdp-gallery { min-width: 0; }
.sh-gallery-slides { display: grid; gap: .75rem; }
.sh-gallery-slide { aspect-ratio: 1; position: relative; margin: 0; border-radius: var(--sh-radius); overflow: hidden; background: var(--sh-surface); }
.sh-gallery-slide a { display: block; width: 100%; height: 100%; }
.sh-gallery-slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 34%; }
html.sh-js .sh-pdp-gallery .sh-gallery-slides { display: block; position: relative; aspect-ratio: 1; }
html.sh-js .sh-pdp-gallery .sh-gallery-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .35s var(--sh-ease), visibility 0s linear .35s; }
html.sh-js .sh-pdp-gallery:not(.is-enhanced) .sh-gallery-slide:first-child, html.sh-js .sh-pdp-gallery .sh-gallery-slide.is-current { opacity: 1; visibility: visible; transition-delay: 0s; }
.sh-gallery-thumbs { display: none; }
html.sh-js .sh-gallery-thumbs { display: flex; visibility: hidden; flex-wrap: wrap; gap: .75rem; margin-top: .75rem; }
html.sh-js .sh-pdp-gallery.is-enhanced .sh-gallery-thumbs { visibility: visible; }
.sh-gallery-thumbs button { padding: 0; width: 4.5rem; height: 4.5rem; min-width: 44px; min-height: 44px; background: var(--sh-surface); border: 2px solid var(--sh-control); border-radius: var(--sh-radius); overflow: hidden; }
.sh-gallery-thumbs img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sh-gallery-thumbs button[aria-current="true"] { border-color: var(--sh-gold); }
.sh-gallery-thumbs button:hover { border-color: var(--sh-text); }
body.sh-pdp :is(button,a,input):focus-visible { outline: 3px solid var(--sh-gold); outline-offset: 3px; box-shadow: none; }
.sh-gallery-missing { display: grid; place-items: center; padding: 1.5rem; aspect-ratio: 1; background: var(--sh-surface); border-radius: var(--sh-radius); }
.sh-gallery-error { color: var(--sh-error); margin-top: 1rem; }
body.sh-pdp .sh-pdp-materials { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; list-style: none; padding: 0; }
.sh-pdp-material { display: flex; align-items: center; gap: .625rem; margin: 0; min-height: 44px; }
.sh-pdp-material-mark { display: inline-flex; flex: 0 0 2.5rem; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center; color: var(--sh-text-muted); }
.sh-pdp-material-photo { display: block; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.sh-pdp-material-label { color: var(--sh-text-muted); font: 600 .75rem/1.3 var(--font-body); text-transform: uppercase; overflow-wrap: anywhere; }
body.sh-pdp .sh-pdp-pills,body.sh-pdp .sh-pdp-benefits { display: flex; flex-wrap: wrap; gap: .75rem; list-style: none; padding: 0; }
.sh-pdp-pill-icon { width: 1.25rem; height: 1.25rem; object-fit: contain; }
.sh-pdp-pill { display: flex; align-items: center; gap: .5rem; }
body.sh-pdp .sh-pdp-benefits { display: grid; }
body.sh-pdp .sh-pdp-specs { display: flex; flex-wrap: wrap; gap: 1rem; }
.sh-pdp-spec dt { color: var(--sh-text-muted); font-size: .75rem; }
.sh-pdp-spec dd { margin: 0; }
.sh-pdp-datasheet-link { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .5rem; min-height: 44px; padding: .75rem 1rem; border: 1px solid var(--sh-control); border-radius: var(--sh-radius); color: var(--sh-text); text-decoration: none; font-size: .875rem; }
.sh-pdp-datasheet-meta { color: var(--sh-text-muted); }
body.sh-pdp .summary form.cart { width: 100%; display: flex; flex-wrap: wrap; gap: .75rem; margin: 0; }
body.sh-pdp .summary form.cart .quantity { min-height: 52px; background: var(--sh-bg); border-color: var(--sh-control); border-radius: var(--sh-radius); }
body.sh-pdp .summary form.cart .quantity .qty { color: var(--sh-text); background: transparent; width: 3.5rem; min-width: 0; }
body.sh-pdp .summary form.cart .sh-qty-btn { color: var(--sh-text); min-width: 44px; width: 44px; min-height: 44px; background: transparent; }
body.sh-pdp:not(.sh-pdp-ready) [data-sh-qty] { display: none; }
body.sh-pdp .summary form.cart .single_add_to_cart_button, body.sh-pdp .sh-sticky-btn { background: var(--sh-gold); color: var(--sh-onyx); border: 2px solid var(--sh-gold); border-radius: var(--sh-radius); min-height: 52px; padding: .75rem 1.25rem; font: 800 1rem/1.25 var(--font-display); letter-spacing: .02em; text-transform: uppercase; white-space: normal; box-shadow: none; }
body.sh-pdp .summary form.cart .single_add_to_cart_button { flex: 1 1 12rem; }
body.sh-pdp .summary form.cart .single_add_to_cart_button:hover,body.sh-pdp .sh-sticky-btn:hover { background: var(--sh-gold-hi); border-color: var(--sh-gold-hi); }
body.sh-pdp .sh-sticky-btn:disabled { opacity: .6; cursor: not-allowed; }
body.sh-pdp .summary .stock { margin-bottom: -.5rem; font-weight: 600; }
body.sh-pdp .summary .out-of-stock { color: var(--sh-error); }
body.sh-pdp .sh-reassure { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; border-top: 1px solid var(--sh-line); padding: 1rem 0 0; list-style: none; }
.sh-reassure li { min-height: 44px; display: flex; align-items: center; font-size: .875rem; overflow-wrap: anywhere; }
.sh-reassure-pay,body.sh-pdp .product_meta { color: var(--sh-text-muted); font-size: .875rem; overflow-wrap: anywhere; }
body.sh-pdp .summary .product_meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
body.sh-pdp .product_meta a { color: var(--sh-text-muted); display: inline-flex; align-items: center; min-height: 44px; }
.sh-sticky-atc { display: none; }
@media (min-width: 60rem) { .sh-pdp-top { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); gap: 4rem; } }
@media (min-width: 60rem) and (min-height: 52rem) { .sh-pdp-gallery { position: sticky; top: 6rem; } }
@media (max-width: 48em) {
 body.sh-pdp.sh-pdp-ready { padding-bottom: var(--sh-pdp-bar-height, 7rem); }
 html:has(body.sh-pdp-ready) { scroll-padding-bottom: calc(var(--sh-pdp-bar-height, 7rem) + 1rem); }
 .sh-sticky-atc:not([hidden]) { display: flex; position: fixed; inset: auto 0 0; z-index: 90; align-items: center; justify-content: space-between; gap: 1rem; padding: .75rem 1.5rem max(.75rem,env(safe-area-inset-bottom)); background: var(--sh-surface); border-top: 1px solid var(--sh-control); visibility: hidden; opacity: 0; transform: translateY(100%); transition: transform .3s var(--sh-ease), opacity .3s, visibility 0s linear .3s; }
 .sh-sticky-atc.is-visible { visibility: visible; opacity: 1; transform: translateY(0); transition-delay: 0s; }
 .sh-sticky-atc > div { min-width: 0; }
 .sh-sticky-title { display: block; font: 800 .875rem/1.25 var(--font-display); overflow-wrap: anywhere; text-transform: uppercase; }
 .sh-sticky-price { display: block; margin-top: .25rem; font: 800 1rem/1.25 var(--font-display); }
 .sh-sticky-btn { flex: 0 1 auto; max-width: 60%; }
}
@media (prefers-reduced-motion: reduce) { html.sh-js .sh-pdp-gallery .sh-gallery-slide { transition: opacity .2s linear,visibility 0s linear .2s; } .sh-sticky-atc:not([hidden]) { transform: none; transition: opacity .2s linear,visibility 0s linear .2s; } }
@media (forced-colors: active) { .sh-gallery-thumbs button[aria-current="true"] { border-color: Highlight; outline: 2px solid Highlight; } body.sh-pdp .single_add_to_cart_button,body.sh-pdp .sh-sticky-btn { border-color: ButtonText; } }

body.sh-pdp .sh-qty-btn[aria-disabled="true"] { opacity: .45; cursor: not-allowed; }

/* Finish review: retain intrinsic CTA height and readable metadata at text zoom. */
body.sh-pdp div.product .summary form.cart button.single_add_to_cart_button {
 height: auto; min-height: 3.25rem; max-height: none; min-width: 0; max-width: 100%;
 width: auto; box-sizing: border-box; font-size: 1rem; line-height: 1.25;
 white-space: normal; overflow-wrap: anywhere; padding: .75rem 1.25rem;
}
body.sh-pdp div.product .summary .product_meta :is(span,a) {
 color: var(--sh-text-muted); font-size: .875rem; line-height: 1.6;
}

/* E-96: visible server content and anchor navigation, matching the PDP reference. */
.sh-pdp-jump { border-block: 1px solid var(--sh-line); padding-block: .75rem; }
.sh-pdp-jump ul { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.sh-pdp-jump a { display: inline-flex; align-items: center; min-height: 44px; padding: .5rem 1rem; border: 1px solid var(--sh-control); border-radius: var(--sh-radius); background: var(--sh-surface); color: var(--sh-text); text-decoration: none; font-size: .875rem; font-weight: 600; overflow-wrap: anywhere; }
.sh-pdp-jump a:hover { border-color: var(--sh-text); }
.sh-pdp-info { display: grid; grid-template-columns: minmax(0,1fr); gap: 3.5rem; padding-block: clamp(3.5rem,2rem + 6vw,6.5rem); }
.sh-pdp-info-main,.sh-pdp-info-side { min-width: 0; display: flex; flex-direction: column; gap: 3rem; }
.sh-pdp-info section { min-width: 0; overflow-wrap: anywhere; scroll-margin-top: 7rem; }
body.sh-pdp .sh-pdp-info h2 { margin: 0 0 1.25rem; font: 800 var(--sh-pdp-section)/.98 var(--font-display); letter-spacing: -.02em; text-transform: uppercase; text-wrap: balance; }
body.sh-pdp .sh-pdp-info h3 { margin: 2rem 0 1rem; font: 700 1.125rem/1.3 var(--font-display); text-wrap: balance; }
.sh-pdp-info p { max-width: 42rem; margin: 0 0 1.25rem; }
.sh-pdp-info :is(ul,ol) { margin: 0 0 1.5rem; padding-inline-start: 1.5rem; }
.sh-pdp-info li { margin-block: .75rem; padding-inline-start: .25rem; }
.sh-pdp-info .sh-copy-sections { display: block; }
.sh-pdp-info #uzycie > ol { padding: 0; list-style: none; counter-reset: step; }
.sh-pdp-info #uzycie > ol > li { counter-increment: step; display: grid; grid-template-columns: 3rem minmax(0,1fr); gap: .75rem; margin: 0; padding: 1rem 0; border-top: 1px solid var(--sh-line); }
.sh-pdp-info #uzycie > ol > li:last-child { border-bottom: 1px solid var(--sh-line); }
.sh-pdp-info #uzycie > ol > li::before { content: counter(step,decimal-leading-zero); content: counter(step,decimal-leading-zero) / ''; font: 800 1.25rem/1.3 var(--font-display); color: var(--sh-text-muted); font-variant-numeric: tabular-nums; }
.sh-pdp-info .sh-copy-note { padding: 1.25rem; margin-block: 1.5rem; background: var(--sh-surface); border-radius: var(--sh-radius); }
body.sh-pdp .sh-pdp-info .sh-copy-note > h3 { margin-top: 0; }
.sh-pdp-info .sh-copy-note > :last-child { margin-bottom: 0; }
.sh-pdp-info .sh-copy-specs { display: block; margin: 0; }
.sh-pdp-info .sh-copy-specs > div { display: grid; grid-template-columns: minmax(0,1fr); gap: .25rem 1.5rem; border-top: 1px solid var(--sh-line); padding-block: .875rem; }
.sh-pdp-info .sh-copy-specs:last-child { border-bottom: 1px solid var(--sh-line); }
.sh-pdp-info .sh-copy-specs dt { color: var(--sh-text-muted); font: 700 .75rem/1.4 var(--font-display); text-transform: uppercase; letter-spacing: .08em; }
.sh-pdp-info .sh-copy-specs dd { margin: 0; font-variant-numeric: tabular-nums; }
.sh-pdp-info .sh-pdp-datasheet { margin-block: 1.5rem 0; }
.sh-pdp-info a { color: var(--sh-text); text-decoration-color: var(--sh-gold); text-underline-offset: .25em; }
.sh-pdp-policy { display: inline-flex; align-items: center; min-height: 44px; }
.sh-pdp-info figure { margin: 1.5rem 0; }
.sh-pdp-info figure img { display: block; width: 100%; height: auto; border-radius: var(--sh-radius); }
body.sh-pdp :is(.related,.up-sells) { padding-block: clamp(3.5rem,2rem + 6vw,6.5rem); border-top: 1px solid var(--sh-line); margin: 0; }
body.sh-pdp :is(.related,.up-sells) > h2 { margin: 0 0 2.5rem; font: 800 clamp(2rem,1.2rem + 3.6vw,3.5rem)/.95 var(--font-display); text-transform: uppercase; letter-spacing: -.02em; text-wrap: balance; overflow-wrap: anywhere; }
body.sh-pdp.woocommerce #inner-wrap :is(.related,.up-sells) ul.products { grid-template-columns: minmax(0,1fr); }
body.sh-pdp #reviews { color: var(--sh-text); }
body.sh-pdp #reviews input:not([type=checkbox]),body.sh-pdp #reviews textarea { background: var(--sh-bg); color: var(--sh-text); border: 1px solid var(--sh-control); max-width: 100%; }
body.sh-pdp #reviews :is(input,button,label) { min-height: 44px; }
@media (min-width: 36rem) { .sh-pdp-info .sh-copy-specs > div { grid-template-columns: 9rem minmax(0,1fr); } }
@media (min-width: 40em) { body.sh-pdp.woocommerce #inner-wrap :is(.related,.up-sells) ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width: 60rem) { .sh-pdp-info { grid-template-columns: minmax(0,1.05fr) minmax(0,1fr); column-gap: 4rem; } }
@media (min-width: 68.75em) { body.sh-pdp.woocommerce #inner-wrap :is(.related,.up-sells) ul.products { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (forced-colors: active) { .sh-pdp-jump a,.sh-pdp-info a { color: LinkText; text-decoration-color: LinkText; } }

body.sh-pdp .sh-pdp-info .woocommerce-product-attributes { border: 0; border-collapse: collapse; margin: 0 0 1.5rem; }
body.sh-pdp .sh-pdp-info .woocommerce-product-attributes :is(th,td) { background: transparent; border: 0; border-bottom: 1px solid var(--sh-line); color: var(--sh-text); padding: .875rem .5rem; overflow-wrap: anywhere; }
body.sh-pdp .sh-pdp-info .woocommerce-product-attributes th { color: var(--sh-text-muted); font-size: .75rem; text-transform: uppercase; }
body.sh-pdp .sh-pdp-info .woocommerce-product-attributes p { margin: 0; }
/* Match the catalog placement so the badge cannot cover quick view. */
body.sh-pdp :is(.related,.up-sells) .sh-product-card__badge { top: auto; bottom: .625rem; max-width: calc(100% - 1.25rem); }

/* E-96 finish review: native reviews occupy the full information column. */
body.sh-pdp .sh-pdp-info #reviews { display: block; }
body.sh-pdp .sh-pdp-info #reviews #comments,
body.sh-pdp .sh-pdp-info #reviews #review_form_wrapper { float: none; width: 100%; margin: 0 0 1.5rem; }
body.sh-pdp .sh-pdp-info #reviews #comments > h2 { margin: 0 0 1.25rem; font: 800 var(--sh-pdp-section)/.98 var(--font-display); letter-spacing: -.02em; text-transform: uppercase; }
body.sh-pdp .sh-pdp-info #reviews .comment-reply-title { display: block; margin: 0 0 1rem; font: 700 1.125rem/1.3 var(--font-display); }
body.sh-pdp #reviews input:not([type=checkbox]),body.sh-pdp #reviews textarea { border-radius: var(--sh-radius); }
body.sh-pdp #reviews p.stars { display: flex; flex-wrap: wrap; }
body.sh-pdp #reviews p.stars a { width: 44px; height: 44px; min-width: 44px; min-height: 44px; }
body.sh-pdp #reviews p.stars a::before { top: 50%; left: 50%; transform: translate(-50%,-50%); }

/* E109: compact secondary action, sharing E92 state and E87 control tokens. */
body.sh-pdp .sh-pdp-favorite { align-self: flex-start; width: auto; min-height: var(--sh-button-height); }
body.sh-pdp .sh-pdp-favorite[aria-pressed="true"] svg { fill: var(--sh-gold); stroke: var(--sh-gold); }
body.sh-pdp .sh-pdp-favorites #sh-local-note { margin: .5rem 0 0; color: var(--sh-text-muted); font-size: .875rem; line-height: 1.5; }
@media (forced-colors: active) { body.sh-pdp .sh-pdp-favorite[aria-pressed="true"] svg { fill: Highlight; stroke: Highlight; } }
