/* Product page reference pass based on the supplied PDF mockup. */
body.single-product{
  --sa-ref-ink: #10291e;
  --sa-ref-green: #129447;
  --sa-ref-yellow: #ffd400;
  --sa-ref-paper: #f6f3ec;
  --sa-ref-line: #263d33;
  background: #fff !important;
  padding-bottom: 76px;
}

/* Keep product FAQs readable instead of stretching each question edge to edge. */
body.single-product .sa-product-live__faq .sa-hd-narrow{
  width: min(880px, calc(100% - 40px)) !important;
  margin-inline: auto !important;
}

@media (max-width: 640px){
  body.single-product .sa-product-live__faq .sa-hd-narrow{
    width: calc(100% - 32px) !important;
  }
}

body.single-product form.cart.sa-design-choice-missing .single_add_to_cart_button[data-sa-file-choice-disabled="true"]{
  opacity: 0.48 !important;
  cursor: not-allowed !important;
  filter: grayscale(0.35) !important;
}

body.single-product .sa-product-reference-header{
  position: relative !important;
  z-index: 100;
  background: #fff;
  color: var(--sa-ref-ink);
  border-bottom: 2px solid var(--sa-ref-line);
  font-family: AvenirNextLTPro, Avenir, Arial, sans-serif;
}

body.single-product .sa-product-reference-header__shipping{
  display: flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  background: var(--sa-ref-ink);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0;
  text-align: center;
  text-transform: uppercase;
}

body.single-product .sa-product-reference-header__bar{
  border-bottom: 0;
  background: #fff;
}

body.single-product .sa-product-reference-header__inner{
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  width: min(100% - 32px, 1110px);
  min-height: 64px;
  margin: 0 auto;
  align-items: center;
  gap: 32px;
}

body.single-product .sa-product-reference-header__brand img,
body.single-product .sa-product-reference-header__brand .custom-logo{
  display: block;
  width: auto !important;
  max-width: 76px !important;
  max-height: 48px !important;
  object-fit: contain;
}

body.single-product .sa-product-reference-header__nav{
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
  align-items: center;
}

body.single-product .sa-product-reference-header__nav a{
  color: var(--sa-ref-ink) !important;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none !important;
}

body.single-product .sa-product-reference-header__cart{
  position: relative;
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border: 2px solid var(--sa-ref-line);
  border-radius: 8px;
  color: var(--sa-ref-ink);
}

body.single-product .sa-product-reference-header__cart svg{
  width: 23px;
  height: 21px;
  fill: currentColor;
}

body.single-product .sa-product-reference-header__cart-count{
  position: absolute;
  top: 6px;
  right: 6px;
  display: grid;
  min-width: 15px;
  height: 15px;
  place-items: center;
  border-radius: 999px;
  background: var(--sa-ref-yellow);
  color: var(--sa-ref-ink);
  font-size: 10px;
  font-weight: 900;
}

body.single-product .sa-site-main{
  overflow: visible !important;
  padding-top: 0 !important;
}

body.single-product .sa-product-live{
  background: #fff !important;
  color: var(--sa-ref-ink) !important;
  font-family: AvenirNextLTPro, Avenir, Arial, sans-serif !important;
  overflow: visible !important;
  padding-top: 0 !important;
}

body.single-product .sa-product-live__breadcrumbs{
  display: block !important;
  width: min(100% - 32px, 1110px) !important;
  margin: 0 auto !important;
  padding: 18px 0 12px !important;
  color: var(--sa-ref-green) !important;
  font-size: 12px !important;
}

body.single-product .sa-product-live__breadcrumbs a,
body.single-product .sa-product-live__breadcrumbs .woocommerce-breadcrumb{
  color: var(--sa-ref-green) !important;
}

body.single-product .sa-product-live__summary-breadcrumbs{
  margin: 0 0 12px !important;
  color: var(--sa-ref-green) !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

body.single-product .sa-product-live__summary-breadcrumbs .woocommerce-breadcrumb{
  margin: 0 !important;
  color: var(--sa-ref-green) !important;
}

body.single-product .sa-product-live__summary-breadcrumbs a{
  color: var(--sa-ref-green) !important;
  text-decoration: none !important;
}

body.single-product .sa-product-live__hero{
  min-height: 0 !important;
  overflow: visible !important;
  background: #fff !important;
}

body.single-product .sa-product-live__hero::before,
body.single-product .sa-product-live__hero::after{
  display: none !important;
}

body.single-product .sa-product-live__grid{
  display: grid !important;
  grid-template-columns: minmax(360px, 525px) minmax(380px, 525px) !important;
  width: min(100% - 32px, 1110px) !important;
  max-width: 1110px !important;
  margin: 0 auto !important;
  padding: clamp(72px, 6vw, 104px) 0 60px !important;
  gap: 32px !important;
  align-items: start !important;
}

body.single-product .sa-product-live__media{
  position: static !important;
  z-index: auto !important;
}

body.single-product .sa-product-live__media .woocommerce-product-gallery{
  width: 100% !important;
  opacity: 1 !important;
}

body.single-product .sa-product-live__media .woocommerce-product-gallery__wrapper{
  margin: 0 !important;
}

body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child{
  display: grid !important;
  min-height: 525px !important;
  padding: 28px !important;
  place-items: center !important;
  border: 2px solid var(--sa-ref-line) !important;
  border-radius: 8px !important;
  background: linear-gradient(180deg, #e7f3d1 0%, #f8f8f8 72%) !important;
  box-shadow: none !important;
}

body.single-product .sa-product-live__media .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child){
  display: none !important;
}

body.single-product .sa-product-live__media .woocommerce-product-gallery__image img{
  width: auto !important;
  max-width: 100% !important;
  max-height: 460px !important;
  object-fit: contain !important;
}

body.single-product .sa-product-live__media .flex-control-thumbs{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 14px 0 0 !important;
  padding: 0 !important;
}

body.single-product .sa-product-live__media .flex-control-thumbs li{
  width: auto !important;
  float: none !important;
  list-style: none !important;
}

body.single-product .sa-product-live__media .flex-control-thumbs img{
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border: 2px solid #6ac67a !important;
  border-radius: 8px !important;
  background: #daf1cb !important;
  object-fit: cover !important;
  opacity: 1 !important;
}

body.single-product .sa-product-live__summary{
  position: static !important;
  z-index: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.single-product .sa-product-live__summary .onsale,
body.single-product .sa-product-live__summary .product_meta,
body.single-product .sa-product-live__summary .quantity{
  display: none !important;
}

body.single-product .sa-product-live__summary .product_title{
  margin: 6px 0 12px !important;
  color: var(--sa-ref-ink) !important;
  font-family: "Avenir bold", AvenirNextLTPro, Avenir, Arial, sans-serif !important;
  font-size: clamp(34px, 4.1vw, 48px) !important;
  line-height: .96 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

body.single-product .sa-product-live__summary .product_title::before{
  display: none !important;
  content: none !important;
}

body.single-product .sa-product-live__summary .woocommerce-product-rating{
  display: inline-flex !important;
  margin: 0 0 10px !important;
  vertical-align: middle;
}

body.single-product .sa-product-live__summary .price{
  display: none !important;
}

body.single-product .sa-product-live__summary .woocommerce-product-details__short-description{
  display: block !important;
  margin: 0 0 18px !important;
  color: #3d4d45 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.single-product .sa-product-live__summary form.cart{
  display: grid !important;
  gap: 18px !important;
  margin: 0 !important;
}

body.single-product .sa-product-live__send-file-later{
  justify-self: start;
  min-height: 28px;
  margin: -4px 0 0 !important;
  padding: 0 0 0 28px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--sa-ref-ink) !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  position: relative;
  text-transform: none !important;
}

body.single-product .sa-product-live__send-file-later::before{
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 20px;
  height: 20px;
  border: 2px solid var(--sa-ref-line);
  border-radius: 5px;
  background: #fff;
}

body.single-product .sa-product-live__send-file-later.is-selected::after{
  content: "";
  position: absolute;
  left: 6px;
  top: 9px;
  width: 9px;
  height: 5px;
  border-bottom: 3px solid var(--sa-ref-green);
  border-left: 3px solid var(--sa-ref-green);
  transform: rotate(-45deg);
}

body.single-product .sa-product-live__summary .single_add_to_cart_button{
  width: auto !important;
  min-width: 210px !important;
  min-height: 52px !important;
  justify-self: end;
  margin: 0 !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--sa-ref-yellow) !important;
  box-shadow: none !important;
  color: var(--sa-ref-ink) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  text-transform: none !important;
}

body.single-product .sa-native-configurator{
  display: grid !important;
  gap: 14px !important;
  margin: 18px 0 10px !important;
  color: var(--sa-ref-ink) !important;
  counter-reset: sa-config-step;
}

body.single-product .sa-native-configurator__panel{
  counter-increment: sa-config-step;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .sa-native-configurator__toggle{
  display: flex !important;
  min-height: 32px !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--sa-ref-ink) !important;
  font-family: "Avenir bold", AvenirNextLTPro, Avenir, Arial, sans-serif !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  pointer-events: none;
}

body.single-product .sa-native-configurator__toggle::before{
  content: counter(sa-config-step);
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  border: 2px solid var(--sa-ref-line);
  border-radius: 7px;
  background: var(--sa-ref-yellow);
  color: var(--sa-ref-ink);
  font-size: 13px;
  font-weight: 950;
}

body.single-product .sa-native-configurator__toggle span{
  display: none !important;
}

body.single-product .sa-native-configurator__panel.is-open .sa-native-configurator__toggle{
  border-bottom: 0 !important;
}

body.single-product .sa-native-configurator__body{
  display: block !important;
  padding: 8px 0 0 !important;
}

body.single-product .sa-native-configurator__eyebrow{
  margin: 0 0 9px !important;
  color: #456156 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 850 !important;
}

body.single-product .sa-native-configurator__formats{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 9px !important;
}

body.single-product .sa-native-configurator__format{
  display: grid !important;
  min-height: 78px !important;
  grid-template-columns: 1fr !important;
  place-items: center !important;
  gap: 5px !important;
  padding: 8px 6px !important;
  border: 2px solid var(--sa-ref-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--sa-ref-ink) !important;
  font-size: 11px !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  text-align: center !important;
}

body.single-product .sa-native-configurator__format:hover,
body.single-product .sa-native-configurator__format:has(input:checked){
  background: var(--sa-ref-yellow) !important;
}

body.single-product .sa-native-configurator__format input{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.single-product .sa-native-configurator__format img{
  grid-column: auto !important;
  grid-row: auto !important;
  width: auto !important;
  max-width: 42px !important;
  height: 34px !important;
  object-fit: contain !important;
}

body.single-product .sa-native-configurator__format span{
  grid-column: auto !important;
}

body.single-product .sa-native-configurator__sizes{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.single-product .sa-native-configurator__sizes label,
body.single-product .sa-native-configurator__chip{
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px 8px !important;
  border: 2px solid var(--sa-ref-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--sa-ref-ink) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  line-height: 1.05 !important;
  font-weight: 950 !important;
  text-align: center !important;
  text-transform: none !important;
}

body.single-product .sa-native-configurator__sizes input{
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.single-product .sa-native-configurator__sizes label:hover,
body.single-product .sa-native-configurator__sizes label:has(input:checked),
body.single-product .sa-native-configurator__chip:hover,
body.single-product .sa-native-configurator__chip.is-active{
  background: var(--sa-ref-yellow) !important;
  color: var(--sa-ref-ink) !important;
  transform: none !important;
}

body.single-product .sa-native-configurator__chips{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
}

body.single-product .sa-native-configurator__chip span{
  position: static !important;
  display: inline-flex;
  margin-left: 4px;
  transform: none !important;
  border: 0 !important;
  border-radius: 999px;
  background: var(--sa-ref-green) !important;
  color: #fff !important;
  font-size: 8px !important;
  padding: 2px 4px !important;
}

body.single-product .sa-native-configurator__custom-size{
  margin-top: 10px !important;
}

body.single-product .sa-native-configurator__custom-size h3{
  margin: 0 0 8px !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
}

body.single-product .sa-native-configurator__custom-size label,
body.single-product .sa-native-configurator__quantity-input{
  font-size: 12px !important;
  font-weight: 850 !important;
}

body.single-product .sa-native-configurator__custom-size input,
body.single-product .sa-native-configurator__quantity-input input{
  height: 42px !important;
  margin-top: 5px !important;
  border: 2px solid var(--sa-ref-line) !important;
  border-radius: 8px !important;
  font-size: 15px !important;
}

body.single-product .sa-native-configurator__quantity-input{
  grid-template-columns: 1fr 84px 22px !important;
  gap: 8px !important;
  align-items: end !important;
}

body.single-product .sa-native-configurator__quantity-input em{
  padding-bottom: 12px !important;
}

body.single-product .sa-native-configurator__price-panel{
  position: relative !important;
  display: grid !important;
  gap: 6px !important;
  margin-top: 4px !important;
  padding: 18px 20px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: var(--sa-ref-ink) !important;
  color: #fff !important;
  box-shadow: none !important;
}

body.single-product .sa-native-configurator__price-label,
body.single-product .sa-native-configurator__listino,
body.single-product .sa-native-configurator__price-unit,
body.single-product .sa-native-configurator__upsell{
  color: #dce9df !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

body.single-product .sa-native-configurator__price-total{
  margin: 0 !important;
  color: var(--sa-ref-yellow) !important;
  font-size: 34px !important;
  line-height: .95 !important;
  font-weight: 950 !important;
}

body.single-product .sa-native-configurator__saving{
  right: 14px !important;
  top: 14px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--sa-ref-yellow) !important;
  color: var(--sa-ref-ink) !important;
  padding: 5px 8px !important;
  font-size: 12px !important;
  transform: none !important;
}

body.single-product .sa-native-configurator__upsell{
  margin-top: 4px !important;
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}

body.single-product .sa-native-configurator__compare{
  display: none !important;
}

body.single-product .sa-native-configurator__file{
  display: grid !important;
  min-height: 94px !important;
  place-items: center !important;
  border: 2px dashed var(--sa-ref-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: var(--sa-ref-ink) !important;
  font-size: 12px !important;
  font-weight: 950 !important;
}

body.single-product .sa-native-configurator__file input{
  max-width: min(100%, 240px) !important;
}

body.single-product .sa-native-configurator__later{
  margin-top: 10px !important;
  color: var(--sa-ref-ink) !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}

body.single-product .sa-native-configurator__later input{
  width: 19px;
  height: 19px;
  flex: 0 0 19px;
  accent-color: var(--sa-ref-green);
}

body.single-product .sa-native-configurator__note{
  margin: 7px 0 0 !important;
  color: #40574d !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

body.single-product .sa-product-live__benefits{
  padding: 0 0 60px !important;
  background: #fff !important;
}

body.single-product .sa-product-live__benefits-grid{
  display: flex !important;
  width: min(100% - 32px, 525px) !important;
  margin: -18px calc((100% - min(100% - 32px, 1110px)) / 2) 0 auto !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
}

body.single-product .sa-product-live__benefit{
  display: inline-flex !important;
  min-height: 34px !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 6px 14px !important;
  border: 2px solid var(--sa-ref-line) !important;
  border-radius: 999px !important;
  background: #fff !important;
  color: var(--sa-ref-ink) !important;
  font-size: 11px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}

body.single-product .sa-product-live__benefit img{
  width: 15px !important;
  height: 15px !important;
  object-fit: contain;
}

body.single-product .sa-product-live__benefit small{
  display: none !important;
}

body.single-product .sa-product-live__details{
  padding: 74px 0 70px !important;
  border-top: 2px solid var(--sa-ref-line);
  border-bottom: 2px solid var(--sa-ref-line);
  background: var(--sa-ref-paper) !important;
}

body.single-product .sa-product-live__details > .sa-container{
  width: min(100% - 32px, 740px) !important;
  max-width: 740px !important;
  margin: 0 auto !important;
}

body.single-product .sa-product-live__details .woocommerce-tabs ul.tabs,
body.single-product .sa-product-live__details .woocommerce-Tabs-panel--additional_information,
body.single-product .sa-product-live__details .woocommerce-Tabs-panel--reviews{
  display: none !important;
}

body.single-product .sa-product-live__details .woocommerce-tabs,
body.single-product .sa-product-live__details .woocommerce-Tabs-panel{
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.single-product .sa-product-live__details .woocommerce-Tabs-panel h2{
  margin: 0 0 18px !important;
  color: var(--sa-ref-ink) !important;
  font-size: clamp(30px, 3.4vw, 42px) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

body.single-product .sa-product-live__details .woocommerce-Tabs-panel p{
  color: #33453c !important;
  font-size: 15px !important;
  line-height: 1.65 !important;
}

body.single-product .sa-product-live__reviews,
body.single-product .sa-product-live__graphic{
  display: none !important;
}

body.single-product .sa-product-live__faq{
  padding: 76px 0 68px !important;
  background: #fff !important;
}

body.single-product .sa-product-live__faq > .sa-container,
body.single-product .sa-product-live__related > .sa-container{
  width: min(100% - 32px, 740px) !important;
  max-width: 740px !important;
  margin: 0 auto !important;
}

body.single-product .sa-product-live__faq h2,
body.single-product .sa-product-live__related h2{
  margin: 0 0 28px !important;
  color: var(--sa-ref-ink) !important;
  font-size: clamp(30px, 3vw, 40px) !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  text-align: center !important;
  text-transform: uppercase !important;
}

body.single-product .sa-product-live__faq-grid{
  display: grid !important;
  gap: 14px !important;
}

body.single-product .sa-product-live__faq details{
  border: 2px solid var(--sa-ref-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  padding: 14px 18px !important;
}

body.single-product .sa-product-live__faq summary{
  color: var(--sa-ref-ink) !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  cursor: pointer;
}

body.single-product .sa-product-live__faq p{
  margin: 8px 0 0 !important;
  color: #33453c !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body.single-product .sa-product-live__related{
  padding: 0 0 78px !important;
  background: #fff !important;
}

body.single-product .sa-product-live__related .related.products{
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .sa-product-live__related ul.products{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product .sa-product-live__related ul.products::before,
body.single-product .sa-product-live__related ul.products::after{
  display: none !important;
}

body.single-product .sa-product-live__related li.product{
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid var(--sa-ref-line) !important;
  border-radius: 8px !important;
  overflow: hidden;
  background: #fff !important;
  text-align: center !important;
}

body.single-product .sa-product-live__related li.product img{
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 !important;
  padding: 8px !important;
  object-fit: contain !important;
}

body.single-product .sa-product-live__related .woocommerce-loop-product__title{
  min-height: 32px;
  margin: 0 !important;
  padding: 7px 8px !important;
  border-top: 2px solid var(--sa-ref-line);
  color: var(--sa-ref-ink) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  text-transform: uppercase;
}

body.single-product .sa-product-live__related .price,
body.single-product .sa-product-live__related .button,
body.single-product .sa-product-live__related .star-rating{
  display: none !important;
}

body.single-product .sa-product-live__sticky-cart{
  position: fixed;
  z-index: 120;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 68px;
  align-items: center;
  gap: 18px;
  padding: 8px clamp(14px, 4vw, 32px);
  border-top: 2px solid var(--sa-ref-line);
  background: #fff;
  color: var(--sa-ref-ink);
  box-shadow: 0 -8px 20px rgb(16 41 30 / 10%);
  opacity: 0;
  pointer-events: none;
  transform: translateY(110%);
  transition: opacity .18s ease, transform .18s ease;
}

body.single-product .sa-product-live__sticky-cart.is-visible{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

body.single-product .sa-product-live__sticky-copy{
  display: grid;
  gap: 2px;
  min-width: 0;
  font-size: 12px;
  line-height: 1.1;
  text-transform: uppercase;
}

body.single-product .sa-product-live__sticky-copy strong{
  overflow: hidden;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.single-product .sa-product-live__sticky-copy span{
  color: var(--sa-ref-ink);
  font-size: 22px;
  font-weight: 950;
}

body.single-product .sa-product-live__sticky-copy del,
body.single-product .sa-product-live__sticky-copy .screen-reader-text{
  display: none !important;
}

body.single-product .sa-product-live__sticky-button{
  min-height: 48px;
  padding: 0 26px;
  border: 2px solid var(--sa-ref-line);
  border-radius: 8px;
  background: var(--sa-ref-yellow);
  color: var(--sa-ref-ink);
  font-size: 14px;
  font-weight: 950;
  cursor: pointer;
}

body.single-product .sa-elementor-footer{
  background: var(--sa-ref-ink) !important;
  color: #d9e7de !important;
}

@media (max-width: 980px){
  body.single-product .sa-product-live__grid{
    grid-template-columns: 1fr !important;
  }

  body.single-product .sa-product-live__benefits-grid{
    width: min(100% - 32px, 740px) !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 720px){
  body.single-product{
    padding-bottom: 92px;
  }

  body.single-product .sa-product-reference-header__inner{
    grid-template-columns: auto auto;
    gap: 16px;
    min-height: 58px;
  }

  body.single-product .sa-product-reference-header__nav{
    grid-column: 1 / -1;
    gap: 14px;
    padding-bottom: 12px;
  }

  body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child{
    min-height: 340px !important;
  }

  body.single-product .sa-native-configurator__formats,
body.single-product .sa-native-configurator__sizes,
body.single-product .sa-native-configurator__chips{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.single-product .sa-product-live__related ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.single-product .sa-product-live__sticky-cart{
    grid-template-columns: 1fr;
    gap: 8px;
  }

  body.single-product .sa-product-live__sticky-button{
    width: 100%;
  }
}

/* Final product-page refinements for the live configurator layout. */
body.single-product .sa-product-live__grid{
  width: min(100% - 80px, 1720px) !important;
  max-width: 1720px !important;
  grid-template-columns: minmax(520px, 760px) minmax(560px, 820px) !important;
  gap: clamp(42px, 5vw, 96px) !important;
  padding-top: clamp(52px, 4vw, 84px) !important;
}

body.single-product .sa-product-live__media{
  position: sticky !important;
  top: clamp(112px, 8vw, 164px) !important;
  align-self: start !important;
}

body.single-product .sa-product-live__media .flex-direction-nav,
body.single-product .sa-product-live__media .flex-direction-nav *,
body.single-product .sa-product-live__media .flex-prev,
body.single-product .sa-product-live__media .flex-next,
body.single-product .sa-product-live__media .woocommerce-product-gallery__trigger{
  display: none !important;
}

body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child{
  min-height: clamp(560px, 40vw, 760px) !important;
}

body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child img,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child video{
  max-height: clamp(520px, 38vw, 720px) !important;
  object-fit: contain !important;
}

body.single-product .sa-native-configurator > .sa-native-configurator__panel:last-of-type{
  margin-top: 20px !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.single-product .sa-native-configurator > .sa-native-configurator__panel:last-of-type > .sa-native-configurator__toggle{
  margin-bottom: 16px !important;
}

body.single-product .sa-native-configurator > .sa-native-configurator__panel:last-of-type > .sa-native-configurator__toggle span{
  display: block !important;
  color: inherit !important;
  font-size: 0 !important;
}

body.single-product .sa-native-configurator > .sa-native-configurator__panel:last-of-type > .sa-native-configurator__toggle span::after{
  content: "IL TUO DESIGN";
  font-size: clamp(22px, 2vw, 28px);
  line-height: 1;
}

body.single-product .sa-native-configurator > .sa-native-configurator__panel:last-of-type > .sa-native-configurator__toggle::after{
  display: none !important;
}

body.single-product .sa-native-configurator > .sa-native-configurator__panel:last-of-type .sa-native-configurator__body{
  display: grid !important;
  gap: 18px !important;
  padding: 0 !important;
}

body.single-product .sa-native-configurator__file{
  position: relative !important;
  display: grid !important;
  min-height: 164px !important;
  place-items: center !important;
  padding: 26px !important;
  border: 3px dashed var(--sa-ref-line) !important;
  border-radius: 14px !important;
  background: #f7f5ee !important;
  color: var(--sa-ref-ink) !important;
  text-align: center !important;
  cursor: pointer !important;
}

body.single-product .sa-native-configurator__file::before{
  content: "";
  display: block;
  width: 40px;
  height: 30px;
  margin: 0 auto 14px;
  border-radius: 3px 3px 5px 5px;
  background: #ffd84a;
  box-shadow: 0 -8px 0 -4px #ffd84a, 0 7px 18px rgb(16 41 30 / 10%);
}

body.single-product .sa-native-configurator__file input[type="file"]{
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

body.single-product .sa-native-configurator__file span{
  display: block !important;
  color: transparent !important;
  font-size: 0 !important;
}

body.single-product .sa-native-configurator__file span::after{
  content: "Upload your artwork now\A PDF, AI, EPS, SVG, PNG, JPG, TIFF, PSD or ZIP · max 128 MB";
  display: block;
  color: var(--sa-ref-ink);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.45;
  white-space: pre-line;
}

body.single-product .sa-native-configurator__later{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: var(--sa-ref-ink) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

body.single-product .sa-native-configurator__later input{
  width: 28px !important;
  height: 28px !important;
  border: 2px solid var(--sa-ref-line) !important;
  border-radius: 6px !important;
  appearance: none !important;
}

body.single-product .sa-native-configurator__later input:checked{
  background: var(--sa-ref-green) !important;
  box-shadow: inset 0 0 0 5px #fff !important;
}

body.single-product .sa-native-configurator > .sa-native-configurator__panel:last-of-type .sa-native-configurator__note{
  display: none !important;
}

body.single-product .sa-product-live__benefits{
  padding: 12px 0 56px !important;
}

body.single-product .sa-product-live__benefits-grid{
  display: grid !important;
  width: min(100% - 80px, 820px) !important;
  max-width: 820px !important;
  margin: 0 calc((100% - min(100% - 80px, 1720px)) / 2) 0 auto !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

body.single-product .sa-product-live__benefit{
  min-height: 54px !important;
  border-radius: 999px !important;
  background: #f7f5ee !important;
  font-size: 15px !important;
}

body.single-product .sa-product-live__benefit:nth-child(4),
body.single-product .sa-product-live__benefit:nth-child(5){
  display: none !important;
}

@media (max-width: 980px){
  body.single-product .sa-product-live__grid{
    width: min(100% - 32px, 760px) !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding-top: 32px !important;
  }

  body.single-product .sa-product-live__media{
    position: static !important;
  }

  body.single-product .sa-product-live__benefits-grid{
    width: min(100% - 32px, 760px) !important;
    margin: 0 auto !important;
  }
}

@media (max-width: 640px){
  body.single-product .sa-product-live__benefits-grid{
    grid-template-columns: 1fr !important;
  }

  body.single-product .sa-native-configurator__file{
    min-height: 138px !important;
    padding: 22px 16px !important;
  }
}

/* --- Conversion layer configuratore (sconti quantita) --- */

body.single-product .sa-native-configurator__chip .sa-chip-off{
  position: static !important;
  display: inline-flex !important;
  margin-left: 5px;
  border: 0 !important;
  border-radius: 999px;
  background: var(--sa-ref-ink) !important;
  color: var(--sa-ref-yellow) !important;
  font-size: 9px !important;
  line-height: 1 !important;
  padding: 3px 6px !important;
  transform: none !important;
}

body.single-product .sa-native-configurator__chip.is-active .sa-chip-off{
  background: var(--sa-ref-yellow) !important;
  color: var(--sa-ref-ink) !important;
}

body.single-product .sa-native-configurator__compare{
  display: table !important;
  width: 100% !important;
  margin-top: 12px !important;
  border-collapse: separate !important;
  border-spacing: 0 4px !important;
  background: transparent !important;
}

body.single-product .sa-native-configurator__compare td{
  border: 0 !important;
  background: rgb(255 255 255 / 8%);
  color: #fff !important;
  font-size: 11px !important;
  padding: 8px 10px !important;
  vertical-align: middle;
}

body.single-product .sa-native-configurator__compare td:first-child{
  border-radius: 8px 0 0 8px;
  font-weight: 900;
  white-space: nowrap;
}

body.single-product .sa-native-configurator__compare td:last-child{
  border-radius: 0 8px 8px 0;
  text-align: right;
}

body.single-product .sa-native-configurator__compare tr.is-current td{
  background: rgb(255 240 1 / 16%) !important;
}

body.single-product .sa-native-configurator__compare tr.is-clickable{
  cursor: pointer;
}

body.single-product .sa-native-configurator__compare tr.is-clickable:hover td,
body.single-product .sa-native-configurator__compare tr.is-clickable:focus-visible td{
  background: rgb(255 255 255 / 22%) !important;
}

body.single-product .sa-native-configurator__compare .sa-save{
  display: inline-block;
  background: var(--sa-ref-yellow) !important;
  color: var(--sa-ref-ink) !important;
  border-radius: 999px;
  padding: 3px 8px !important;
  font-size: 10px !important;
  font-weight: 900;
}

body.single-product .sa-native-configurator__progress{
  margin-top: 12px !important;
}

body.single-product .sa-native-configurator__progress-track{
  height: 7px;
  border: 0 !important;
  border-radius: 999px;
  background: rgb(255 255 255 / 15%) !important;
  overflow: hidden;
}

body.single-product .sa-native-configurator__progress-bar{
  height: 100%;
  width: 0;
  background: var(--sa-ref-yellow) !important;
  transition: width .25s ease;
}

body.single-product .sa-native-configurator__progress-label{
  display: block;
  margin-top: 6px !important;
  color: #dce9df !important;
  font-size: 11px !important;
  font-weight: 700;
}

body.single-product button.sa-native-configurator__upsell{
  display: block !important;
  width: 100%;
  margin-top: 10px !important;
  padding: 10px 12px !important;
  border: 1px dashed rgb(255 240 1 / 60%) !important;
  border-radius: 8px !important;
  background: rgb(255 240 1 / 8%) !important;
  color: #fff !important;
  font-family: inherit;
  font-size: 11px !important;
  line-height: 1.35 !important;
  text-align: left;
  cursor: pointer;
  transition: background .15s ease;
}

body.single-product button.sa-native-configurator__upsell:hover,
body.single-product button.sa-native-configurator__upsell:focus-visible{
  background: rgb(255 240 1 / 18%) !important;
}

body.single-product button.sa-native-configurator__upsell strong{
  color: var(--sa-ref-yellow);
}

body.single-product .sa-native-configurator__listino strong{
  color: var(--sa-ref-yellow);
}

body.single-product .sa-native-configurator__trust{
  margin-top: 12px !important;
  padding-top: 10px;
  border-top: 1px solid rgb(255 255 255 / 15%);
  color: #b9cdbf !important;
  font-size: 10px !important;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

/* --- Fix UX pagina prodotto (mobile-first) --- */

/* 1. Quadranti benefit sotto il carrello: tutti visibili, griglia stabile */
body.single-product .sa-product-live__benefit:nth-child(4),
body.single-product .sa-product-live__benefit:nth-child(5){
  display: flex !important;
}

body.single-product .sa-product-live__benefits-grid{
  width: min(100% - 32px, 1240px) !important;
  max-width: none !important;
  margin: 0 auto !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.single-product .sa-product-live__benefit{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 64px !important;
  padding: 12px 18px !important;
  border: 1px solid rgb(16 41 29 / 14%) !important;
  border-radius: 14px !important;
  background: #fff !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
}

body.single-product .sa-product-live__benefit strong{
  font-size: 14px !important;
}

body.single-product .sa-product-live__benefit small{
  display: block !important;
  font-size: 12px !important;
  opacity: .75;
}

@media (max-width: 980px){
  body.single-product .sa-product-live__benefits-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px){
  body.single-product .sa-product-live__benefits-grid{
    grid-template-columns: 1fr !important;
  }
}

/* 2. "Upload your artwork now" toggle: remove overlapping icon/text */
body.single-product .sa-native-configurator > .sa-native-configurator__panel:last-of-type > .sa-native-configurator__toggle span,
body.single-product .sa-native-configurator > .sa-native-configurator__panel:last-of-type > .sa-native-configurator__toggle span::before,
body.single-product .sa-native-configurator > .sa-native-configurator__panel:last-of-type > .sa-native-configurator__toggle span::after{
  content: none !important;
  display: none !important;
}

/* 3. Galleria/immagine prodotto: mai fuori dallo schermo */
body.single-product .sa-product-live__media,
body.single-product .sa-product-live__media .woocommerce-product-gallery{
  max-width: 100% !important;
  overflow: hidden !important;
}

body.single-product .sa-product-live__media img,
body.single-product .sa-product-live__media video{
  max-width: 100% !important;
  height: auto !important;
}

@media (max-width: 980px){
  body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child{
    min-height: 0 !important;
  }

  body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child img,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child video{
    width: 100% !important;
    max-height: 80vw !important;
    object-fit: contain !important;
  }
}

/* 4. Descrizione prodotto: da tab orizzontali a sezioni impilate (SEO friendly) */
body.single-product .sa-product-live__details{
  padding: clamp(36px, 5vw, 64px) 0 !important;
  background: #faf6ec !important;
}

body.single-product .woocommerce-tabs ul.wc-tabs,
body.single-product .woocommerce-tabs ul.tabs{
  display: none !important;
}

body.single-product .woocommerce-tabs{
  width: min(100%, 880px) !important;
  margin-inline: auto !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel{
  display: block !important;
  margin: 0 0 16px !important;
  padding: clamp(22px, 3.5vw, 40px) !important;
  background: #fff !important;
  border: 1px solid rgb(16 41 29 / 14%) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 12px rgb(16 41 29 / 5%) !important;
  color: #10291d !important;
}

body.single-product .woocommerce-Tabs-panel > h2:first-of-type,
body.single-product .woocommerce-Tabs-panel > h2:first-child{
  margin: 0 0 16px !important;
  padding-bottom: 10px !important;
  border-bottom: 3px solid #fff001 !important;
  color: #10291d !important;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif !important;
  font-size: clamp(20px, 2.2vw, 26px) !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

body.single-product .woocommerce-Tabs-panel h3{
  margin: 22px 0 10px !important;
  color: #10291d !important;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif !important;
  font-size: clamp(16px, 1.6vw, 19px) !important;
  font-weight: 950 !important;
}

body.single-product .woocommerce-Tabs-panel p,
body.single-product .woocommerce-Tabs-panel li{
  color: #10291d !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

body.single-product .woocommerce-Tabs-panel p{
  margin: 0 0 14px !important;
}

body.single-product .woocommerce-Tabs-panel ul{
  margin: 0 0 14px 20px !important;
}

/* Descrizione: layout fluido, niente griglie legacy */
body.single-product .woocommerce-Tabs-panel--description,
body.single-product #tab-description{
  display: block !important;
}

body.single-product .woocommerce-Tabs-panel img{
  max-width: 100% !important;
  height: auto !important;
  border-radius: 12px !important;
  margin: 10px 0 !important;
}

/* ==================================================================
   Pagina prodotto v2: rating, add-to-cart, descrizione, recensioni, UGC
   ================================================================== */

/* --- 1. Rating in testata: badge pulito --- */

body.single-product .woocommerce-product-rating{
  display: flex !important;
  flex-wrap: wrap;
  align-items: center !important;
  gap: 10px !important;
  margin: 6px 0 18px !important;
  float: none !important;
}

body.single-product .star-rating{
  position: relative !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  font-size: 0 !important;
  font-family: inherit !important;
  letter-spacing: 0 !important;
}

body.single-product .star-rating::before{
  content: "★★★★★" !important;
  display: block;
  color: rgb(16 41 29 / 22%) !important;
  font-size: 19px !important;
  line-height: 1 !important;
  letter-spacing: 2px;
}

body.single-product .star-rating > span{
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  overflow: hidden !important;
  white-space: nowrap;
  font-size: 0 !important;
  padding-top: 0 !important;
}

body.single-product .star-rating > span::before{
  content: "★★★★★" !important;
  display: block;
  color: #2b9348 !important;
  font-size: 19px !important;
  line-height: 1 !important;
  letter-spacing: 2px;
  position: static !important;
}

body.single-product .star-rating .rating,
body.single-product .star-rating strong{
  font-size: 0 !important;
}

body.single-product .woocommerce-review-link{
  color: #10291d !important;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

/* --- 2. Add to cart + note: coerenti col design --- */

body.single-product .single_add_to_cart_button{
  width: 100% !important;
  min-height: 62px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #fff001 !important;
  box-shadow: 0 8px 16px rgb(16 41 29 / 22%) !important;
  color: #10291d !important;
  font-size: clamp(17px, 1.5vw, 21px) !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  transition: transform .15s ease, box-shadow .15s ease !important;
}

body.single-product .single_add_to_cart_button:hover,
body.single-product .single_add_to_cart_button:focus-visible{
  transform: translateY(-2px);
  box-shadow: 0 12px 20px rgb(16 41 29 / 30%) !important;
}

body.single-product .sa-native-configurator__note{
  position: relative !important;
  margin: 10px 0 0 !important;
  padding-left: 28px !important;
  color: #10291d !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

body.single-product .sa-native-configurator__note::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  display: grid;
  place-items: center;
  width: 19px;
  height: 19px;
  border-radius: 50%;
  background: #fff001;
  color: #10291d;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif;
  font-size: 11px;
  font-weight: 950;
}

/* --- 3. Descrizione: layout pieno, tipografia leggibile (fix definitivo) --- */

body.single-product .sa-product-live__details .woocommerce-Tabs-panel,
body.single-product .sa-product-live__details #tab-description,
body.single-product .sa-product-live__details #tab-description.is-active{
  display: block !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}

body.single-product .sa-product-live__details #tab-description::after{
  content: none !important;
  display: none !important;
}

body.single-product .sa-product-live__details .woocommerce-Tabs-panel p{
  max-width: 100% !important;
  margin: 0 0 14px !important;
  font-size: 16px !important;
}

body.single-product .sa-product-live__details .woocommerce-Tabs-panel h2{
  display: block !important;
}

body.single-product .sa-product-live__details .woocommerce-Tabs-panel h3{
  font-size: clamp(16px, 1.6vw, 19px) !important;
  line-height: 1.3 !important;
  margin: 22px 0 10px !important;
}

body.single-product .sa-product-live__details .sa-product-tab-layout{
  display: block !important;
}

body.single-product .sa-product-live__details .woocommerce-Tabs-panel img{
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 14px 0 !important;
}

/* --- 4. Recensioni prodotto: card sa-hd --- */

body.single-product .sa-product-live__reviews{
  padding: clamp(44px, 5vw, 72px) 0 !important;
  background: #fff !important;
}

body.single-product .sa-product-live__reviews-title{
  margin-bottom: clamp(24px, 3vw, 40px) !important;
}

body.single-product .woocommerce-Reviews{
  width: min(100%, 1240px);
  margin-inline: auto;
}

body.single-product .woocommerce-Reviews-title{
  margin: 0 0 18px !important;
  color: rgb(16 41 29 / 65%) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: center;
  text-transform: none !important;
}

body.single-product .woocommerce-Reviews .commentlist{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product .woocommerce-Reviews .commentlist > li{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.single-product .woocommerce-Reviews .comment_container{
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  padding: 22px !important;
  background: #faf6ec !important;
  border: 1px solid rgb(16 41 29 / 14%) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 12px rgb(16 41 29 / 5%) !important;
}

body.single-product .woocommerce-Reviews .comment_container > img,
body.single-product .woocommerce-Reviews .avatar{
  display: none !important;
}

body.single-product .woocommerce-Reviews .comment-text{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.single-product .woocommerce-Reviews .comment-text .description p{
  margin: 8px 0 0 !important;
  color: #10291d !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

body.single-product .woocommerce-Reviews .meta{
  margin: 4px 0 0 !important;
  color: #10291d !important;
  font-size: 13px !important;
}

body.single-product .woocommerce-Reviews .meta strong{
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif !important;
  font-weight: 950 !important;
}

body.single-product .woocommerce-Reviews #review_form_wrapper{
  margin-top: 28px;
}

/* --- 5. Video UGC: slider a ventaglio con mockup telefono --- */

.sa-ugc{
  padding: clamp(48px, 6vw, 84px) 0;
  background: #faf6ec;
  overflow: hidden;
}

.sa-ugc__fan{
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: clamp(12px, 2vw, 28px);
  margin-top: clamp(32px, 4vw, 52px);
  padding: 20px 24px 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.sa-ugc__phone{
  position: relative;
  flex: 0 0 auto;
  width: min(240px, 62vw);
  margin: 0;
  padding: 10px;
  background: #10291d;
  border-radius: 34px;
  box-shadow: 0 18px 34px rgb(16 41 29 / 30%);
  scroll-snap-align: center;
  transition: transform .25s ease, box-shadow .25s ease;
}

.sa-ugc__fan .sa-ugc__phone:nth-child(odd){
  transform: rotate(-3deg) translateY(6px);
}

.sa-ugc__fan .sa-ugc__phone:nth-child(even){
  transform: rotate(2.5deg);
}

.sa-ugc__phone:hover,
.sa-ugc__phone:focus-within{
  transform: rotate(0) translateY(-6px) scale(1.03);
  box-shadow: 0 24px 44px rgb(16 41 29 / 38%);
  z-index: 2;
}

.sa-ugc__notch{
  position: absolute;
  top: 16px;
  left: 50%;
  z-index: 2;
  width: 34%;
  height: 14px;
  background: #10291d;
  border-radius: 999px;
  transform: translateX(-50%);
}

.sa-ugc__phone video{
  display: block;
  width: 100%;
  aspect-ratio: 9 / 16;
  object-fit: cover;
  background: #000;
  border-radius: 26px;
}

.sa-ugc__hint{
  margin: 26px 0 0;
  color: rgb(16 41 29 / 65%);
  font-size: 14px;
  text-align: center;
}

@media (max-width: 680px){
  .sa-ugc__fan{
    justify-content: flex-start;
  }

  .sa-ugc__fan .sa-ugc__phone:nth-child(odd),
.sa-ugc__fan .sa-ugc__phone:nth-child(even){
    transform: none;
  }
}

/* --- 6. FAQ prodotto in stile home --- */

body.single-product .sa-product-live__faq{
  padding: clamp(44px, 5vw, 72px) 0 !important;
  background: #faf6ec !important;
}

body.single-product .sa-product-live__faq .sa-hd-faq__list{
  margin-top: clamp(24px, 3vw, 40px);
}

/* Rating testata: neutralizzazione widget legacy (4.8 hardcoded) */
body.single-product .sa-product-live__summary .woocommerce-product-rating{
  float: none !important;
  display: flex !important;
  width: auto !important;
  margin: 6px 0 18px !important;
  justify-items: start !important;
  text-align: left !important;
}

body.single-product .sa-product-live__summary .woocommerce-product-rating::before{
  content: none !important;
  display: none !important;
}

body.single-product .sa-product-live__summary .woocommerce-product-rating .woocommerce-review-link{
  display: inline !important;
}

body.single-product .star-rating{
  width: auto !important;
  min-width: max-content !important;
  height: 19px !important;
}

body.single-product .star-rating{
  width: 106px !important;
  min-width: 106px !important;
  flex-shrink: 0 !important;
  overflow: hidden !important;
}

/* ===== FIX GRAFICI FINALI: add-to-cart, checkbox file, benefit (coerenza sa-hd) ===== */

/* form.cart a colonna: il CTA occupa tutta la larghezza */
body.single-product .sa-product-live__summary form.cart{
  display: block !important;
}

/* Add to cart: pill giallo prominente, come i bottoni del resto del sito */
body.single-product .sa-product-live__summary .single_add_to_cart_button{
  width: 100% !important;
  min-width: 0 !important;
  min-height: 60px !important;
  justify-self: stretch !important;
  margin: 6px 0 0 !important;
  padding: 14px 28px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #fff001 !important;
  box-shadow: 0 8px 16px rgb(16 41 29 / 22%) !important;
  color: #10291d !important;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif !important;
  font-size: clamp(16px, 1.5vw, 20px) !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  text-transform: uppercase !important;
  transition: transform .15s ease, box-shadow .15s ease !important;
}

body.single-product .sa-product-live__summary .single_add_to_cart_button:hover,
body.single-product .sa-product-live__summary .single_add_to_cart_button:focus-visible{
  transform: translateY(-2px);
  box-shadow: 0 12px 22px rgb(16 41 29 / 30%) !important;
}

/* Checkbox "invio file piu tardi": riga pulita dentro un box chiaro */
body.single-product .sa-native-configurator__later{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 14px !important;
  padding: 14px 16px !important;
  border: 1px solid rgb(16 41 29 / 14%) !important;
  border-radius: 12px !important;
  background: #faf6ec !important;
  color: #10291d !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  cursor: pointer;
}

body.single-product .sa-native-configurator__later input{
  flex: 0 0 auto !important;
  width: 24px !important;
  height: 24px !important;
  border: 2px solid rgb(16 41 29 / 30%) !important;
  border-radius: 6px !important;
  appearance: none !important;
  cursor: pointer;
}

body.single-product .sa-native-configurator__later input:checked{
  background: #2b9348 !important;
  border-color: #2b9348 !important;
  box-shadow: inset 0 0 0 4px #fff !important;
}

/* Benefit: card con icona dentro badge giallo (come le card della home) */
body.single-product .sa-product-live__benefits-grid{
  display: grid !important;
  width: min(100% - 32px, 1240px) !important;
  max-width: none !important;
  margin: 0 auto !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

body.single-product .sa-product-live__benefit{
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 72px !important;
  padding: 14px 18px !important;
  border: 1px solid rgb(16 41 29 / 14%) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #10291d !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
}

body.single-product .sa-product-live__benefit > span[aria-hidden]{
  display: grid !important;
  place-items: center !important;
  flex: 0 0 auto !important;
  width: 46px !important;
  height: 46px !important;
  border: 1px solid #10291d !important;
  border-radius: 12px !important;
  background: #fff001 !important;
}

body.single-product .sa-product-live__benefit img{
  width: 26px !important;
  height: 26px !important;
  object-fit: contain !important;
}

body.single-product .sa-product-live__benefit strong{
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
}

body.single-product .sa-product-live__benefit small{
  display: block !important;
  margin-top: 2px !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  opacity: .7;
}

@media (max-width: 980px){
  body.single-product .sa-product-live__benefits-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px){
  body.single-product .sa-product-live__benefits-grid{
    grid-template-columns: 1fr !important;
  }
}

/* ===== Galleria prodotto: media in cover, niente barre nere/bianche/verdi ===== */
body.single-product .sa-product-live__media .woocommerce-product-gallery__image,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child{
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #10291d !important;
}

body.single-product .sa-product-live__media .woocommerce-product-gallery__image img,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image video,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child img,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child video{
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  border-radius: 16px !important;
  display: block !important;
}

@media (max-width: 980px){
  body.single-product .sa-product-live__media .woocommerce-product-gallery__image,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child{
    aspect-ratio: 1 / 1 !important;
  }
}

/* Galleria: stira il wrapper intermedio (a.rtpg-trigger) a tutta la cella */
body.single-product .sa-product-live__media .woocommerce-product-gallery__image{
  place-items: stretch !important;
}

body.single-product .sa-product-live__media .woocommerce-product-gallery__image > a,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image > .rtpg-trigger,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image > *{
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  display: block !important;
}

/* Galleria: forza la colonna grid a piena larghezza (colpevole: grid-template-columns fisso + place-items center su :first-child) */
body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image{
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  place-items: stretch !important;
}

/* Galleria: azzera padding/border della cella (creavano le barre verde/bianca) */
body.single-product .sa-product-live__media .woocommerce-product-gallery__image:first-child,
body.single-product .sa-product-live__media .woocommerce-product-gallery__image{
  padding: 0 !important;
  border: 0 !important;
}

/* ===================================================================
   DESCRIZIONE PRODOTTO: layout largo a 2 colonne (indice + contenuto)
   =================================================================== */

body.single-product .sa-product-live__details{
  padding: clamp(48px, 6vw, 84px) 0 !important;
  background: #faf6ec !important;
  border-top: 1px solid rgb(16 41 29 / 12%) !important;
}

/* Container allargato a tutta la pagina */
body.single-product .sa-product-live__details > .sa-container{
  width: min(100% - 48px, 1240px) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

/* Griglia: indice sticky (sx) + contenuto (dx) */
body.single-product .sa-product-live__details .woocommerce-tabs.sa-desc{
  display: grid !important;
  grid-template-columns: minmax(0, 260px) minmax(0, 1fr) !important;
  gap: clamp(28px, 4vw, 64px) !important;
  align-items: start !important;
}

/* --- Indice --- */
.sa-desc__toc{
  position: sticky;
  top: 130px;
  align-self: start;
}

.sa-desc__toc-title{
  margin: 0 0 14px !important;
  color: #2b9348;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.sa-desc__toc nav{
  display: grid;
  gap: 2px;
  border-left: 2px solid rgb(16 41 29 / 14%);
}

.sa-desc__toc a{
  display: block;
  margin-left: -2px;
  padding: 10px 16px;
  border-left: 2px solid transparent;
  color: #5a6b62;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: color .15s ease, border-color .15s ease;
}

.sa-desc__toc a:hover,
.sa-desc__toc a:focus-visible{
  color: #10291d;
}

.sa-desc__toc a.is-active{
  border-left-color: #2b9348;
  color: #10291d;
  font-weight: 950;
}

/* --- Contenuto --- */
.sa-desc__body{
  min-width: 0;
  display: grid;
  gap: 16px;
}

body.single-product .sa-product-live__details .sa-desc__body .woocommerce-Tabs-panel{
  display: block !important;
  margin: 0 !important;
  padding: clamp(24px, 3vw, 40px) !important;
  border: 1px solid rgb(16 41 29 / 12%) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 4px 14px rgb(16 41 29 / 5%) !important;
  scroll-margin-top: 150px;
}

body.single-product .sa-product-live__details .sa-desc__body .woocommerce-Tabs-panel h2{
  margin: 0 0 18px !important;
  padding-bottom: 12px !important;
  border-bottom: 3px solid #fff001 !important;
  color: #10291d !important;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif !important;
  font-size: clamp(22px, 2.4vw, 30px) !important;
  font-weight: 950 !important;
  line-height: 1.05 !important;
  text-transform: uppercase !important;
}

body.single-product .sa-product-live__details .sa-desc__body .woocommerce-Tabs-panel h3{
  margin: 26px 0 10px !important;
  color: #10291d !important;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif !important;
  font-size: clamp(17px, 1.8vw, 21px) !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
  text-transform: none !important;
}

body.single-product .sa-product-live__details .sa-desc__body .woocommerce-Tabs-panel p,
body.single-product .sa-product-live__details .sa-desc__body .woocommerce-Tabs-panel li{
  color: #33453c !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

body.single-product .sa-product-live__details .sa-desc__body .woocommerce-Tabs-panel p{
  margin: 0 0 15px !important;
}

body.single-product .sa-product-live__details .sa-desc__body .woocommerce-Tabs-panel ul{
  margin: 0 0 15px 20px !important;
}

body.single-product .sa-product-live__details .sa-desc__body .woocommerce-Tabs-panel a{
  color: #2b9348 !important;
  font-weight: 700 !important;
  text-underline-offset: 2px;
}

/* Mobile: colonna singola, indice a chip orizzontali in cima */
@media (max-width: 900px){
  body.single-product .sa-product-live__details .woocommerce-tabs.sa-desc{
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  .sa-desc__toc{
    position: static;
    top: auto;
  }

  .sa-desc__toc nav{
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    border-left: 0;
    padding-bottom: 6px;
    -webkit-overflow-scrolling: touch;
  }

  .sa-desc__toc a{
    flex: 0 0 auto;
    margin-left: 0;
    padding: 9px 16px;
    border: 1px solid rgb(16 41 29 / 16%);
    border-radius: 999px;
    background: #fff;
    white-space: nowrap;
  }

  .sa-desc__toc a.is-active{
    border-color: #2b9348;
    background: #2b9348;
    color: #fff;
  }
}

/* ===================================================================
   STICKY BAR: barra fissa arricchita e centrata
   =================================================================== */

body.single-product .sa-product-live__sticky-cart{
  display: block !important;
  padding: 10px 0 !important;
}

.sa-product-live__sticky-inner{
  display: flex;
  align-items: center;
  gap: clamp(16px, 3vw, 40px);
  width: min(100% - 40px, 1240px);
  margin: 0 auto;
}

/* Gruppo prodotto (thumb + nome) */
.sa-sticky__product{
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  flex: 1 1 auto;
}

.sa-sticky__thumb{
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid rgb(16 41 29 / 14%);
}

.sa-sticky__info{
  display: grid;
  gap: 2px;
  min-width: 0;
}

.sa-sticky__name{
  color: #10291d;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif;
  font-size: 17px;
  font-weight: 950;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sa-sticky__selection{
  color: #5a6b62;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Riga trust al centro */
.sa-sticky__trust{
  display: flex;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 0 0 auto;
}

.sa-sticky__trust li{
  position: relative;
  padding-left: 22px;
  color: #33453c;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.sa-sticky__trust li::before{
  content: "✓";
  position: absolute;
  left: 0;
  top: 50%;
  display: grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #2b9348;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  transform: translateY(-50%);
}

/* Gruppo acquisto (prezzo + bottone) */
.sa-sticky__buy{
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 0 0 auto;
}

.sa-sticky__price{
  color: #10291d;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif;
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
}

body.single-product .sa-product-live__sticky-button{
  min-height: 52px !important;
  padding: 12px 30px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #fff001 !important;
  color: #10291d !important;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgb(16 41 29 / 22%) !important;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease !important;
}

body.single-product .sa-product-live__sticky-button:hover,
body.single-product .sa-product-live__sticky-button:focus-visible{
  transform: translateY(-2px);
  box-shadow: 0 10px 18px rgb(16 41 29 / 30%) !important;
}

@media (max-width: 980px){
  .sa-sticky__trust{
    display: none;
  }
}

@media (max-width: 640px){
  .sa-sticky__thumb{
    width: 44px;
    height: 44px;
  }

  .sa-sticky__name{
    font-size: 15px;
  }

  .sa-sticky__selection{
    display: none;
  }

  .sa-product-live__sticky-button{
    padding: 12px 20px !important;
    font-size: 14px !important;
  }

  .sa-sticky__buy{
    gap: 10px;
  }
}

/* Descrizione: sblocca il vecchio limite 880px e centra il blocco (contenuto leggibile) */
body.single-product .sa-product-live__details .woocommerce-tabs.sa-desc{
  width: 100% !important;
  max-width: none !important;
  grid-template-columns: 250px minmax(0, 800px) !important;
  justify-content: center !important;
}

/* Mobile: riafferma colonna singola (deve vincere sul width-fix desktop appeso sopra) */
@media (max-width: 900px){
  body.single-product .sa-product-live__details .woocommerce-tabs.sa-desc{
    grid-template-columns: 1fr !important;
    justify-content: stretch !important;
    gap: 18px !important;
  }
}

/* ===================================================================
   UGC VIDEO — COVERFLOW (card centrale + laterali sfalsati in penombra)
   Sostituisce il vecchio mockup telefono. Palette del sito.
   =================================================================== */

body.single-product .sa-ugc{
  padding: clamp(52px, 6vw, 88px) 0 clamp(44px, 5vw, 72px) !important;
  background: #faf6ec !important;
  overflow: hidden !important;
  text-align: center;
}

.sa-ugc .sa-hd-title--center{
  margin-bottom: clamp(28px, 4vw, 52px);
}

/* Palcoscenico */
.sa-ugc__stage{
  position: relative;
  width: 100%;
  margin: 0 auto;
  outline: none;
}

.sa-ugc__track{
  position: relative;
  height: clamp(400px, 46vw, 560px);
  margin: 0 auto;
}

/* glow morbido dietro la card centrale (in brand, non neon) */
.sa-ugc__track::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(280px, 34vw, 420px);
  height: clamp(280px, 34vw, 420px);
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgb(43 147 72 / 22%) 0%, rgb(43 147 72 / 0%) 68%);
  pointer-events: none;
}

/* Card video verticale */
.sa-ugc__card{
  position: absolute;
  top: 50%;
  left: 50%;
  width: clamp(232px, 24vw, 300px);
  aspect-ratio: 9 / 16;
  margin: 0;
  overflow: hidden;
  border: 3px solid #10291d;
  border-radius: 22px;
  background: #10291d;
  box-shadow: 0 18px 40px rgb(16 41 29 / 22%);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(.6);
  transition: transform .5s cubic-bezier(.2, .7, .2, 1), opacity .45s ease, filter .45s ease;
  will-change: transform, opacity;
  cursor: pointer;
}

.sa-ugc__card video{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --- Stati coverflow (data-offset impostato via JS) --- */
.sa-ugc__card[data-offset="0"]{
  opacity: 1;
  pointer-events: auto;
  z-index: 5;
  transform: translate(-50%, -50%) translateY(-10px) scale(1);
  box-shadow: 0 26px 54px rgb(16 41 29 / 32%);
  filter: none;
  cursor: default;
}

.sa-ugc__card[data-offset="1"]{
  opacity: 1;
  pointer-events: auto;
  z-index: 4;
  transform: translate(-50%, -50%) translateX(64%) translateY(24px) scale(.82);
  filter: none;
}

.sa-ugc__card[data-offset="-1"]{
  opacity: 1;
  pointer-events: auto;
  z-index: 4;
  transform: translate(-50%, -50%) translateX(-64%) translateY(24px) scale(.82);
  filter: none;
}

.sa-ugc__card[data-offset="2"]{
  opacity: 1;
  pointer-events: auto;
  z-index: 3;
  transform: translate(-50%, -50%) translateX(112%) translateY(54px) scale(.66);
  filter: none;
}

.sa-ugc__card[data-offset="-2"]{
  opacity: 1;
  pointer-events: auto;
  z-index: 3;
  transform: translate(-50%, -50%) translateX(-112%) translateY(54px) scale(.66);
  filter: none;
}

.sa-ugc__card[data-offset="hidden"]{
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  transform: translate(-50%, -50%) scale(.55);
}

.sa-ugc__card[data-offset="1"]:hover,
.sa-ugc__card[data-offset="-1"]:hover,
.sa-ugc__card[data-offset="2"]:hover,
.sa-ugc__card[data-offset="-2"]:hover{
  filter: none;
}

/* Bottone audio sulla card centrale */
.sa-ugc__mute{
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border: 0;
  border-radius: 50%;
  background: rgb(16 41 29 / 62%);
  color: #fff;
  cursor: pointer;
  transition: background .15s ease;
}

.sa-ugc__mute:hover,
.sa-ugc__mute:focus-visible{
  background: #2b9348;
}

.sa-ugc__card[data-offset="0"] .sa-ugc__mute{
  display: grid;
}

.sa-ugc__card:not([data-offset="0"]) .sa-ugc__mute{
  display: none;
}

/* Navigazione */
.sa-ugc__nav{
  position: relative;
  z-index: 6;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: clamp(20px, 3vw, 34px);
  padding: 6px;
  border-radius: 999px;
  background: #10291d;
  box-shadow: 0 10px 24px rgb(16 41 29 / 26%);
}

.sa-ugc__arrow{
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #fff001;
  cursor: pointer;
  transition: background .15s ease, transform .15s ease;
}

.sa-ugc__arrow:hover,
.sa-ugc__arrow:focus-visible{
  background: rgb(255 240 1 / 16%);
  transform: scale(1.06);
}

.sa-ugc__nav-label{
  padding: 0 14px;
  color: #f7f5ee;
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.sa-ugc__hint{
  margin: clamp(22px, 3vw, 34px) auto 0;
  max-width: 640px;
  color: #5a6b62;
  font-size: clamp(15px, 1.4vw, 17px);
  line-height: 1.5;
}

@media (prefers-reduced-motion: reduce){
  .sa-ugc__card{
    transition: none;
  }
}

/* --- Tablet: riduci lo scarto laterale --- */
@media (max-width: 1024px){
  .sa-ugc__card[data-offset="1"]{
    transform: translate(-50%, -50%) translateX(58%) translateY(22px) scale(.8);
  }
  .sa-ugc__card[data-offset="-1"]{
    transform: translate(-50%, -50%) translateX(-58%) translateY(22px) scale(.8);
  }
  .sa-ugc__card[data-offset="2"]{
    transform: translate(-50%, -50%) translateX(100%) translateY(48px) scale(.62);
  }
  .sa-ugc__card[data-offset="-2"]{
    transform: translate(-50%, -50%) translateX(-100%) translateY(48px) scale(.62);
  }
}

/* --- Mobile: solo centro + 1 per lato (offset 2 nascosto via JS) --- */
@media (max-width: 720px){
  .sa-ugc__track{
    height: clamp(420px, 128vw, 520px);
  }
  .sa-ugc__card{
    width: clamp(210px, 56vw, 260px);
  }
  .sa-ugc__card[data-offset="1"]{
    transform: translate(-50%, -50%) translateX(46%) translateY(18px) scale(.72);
  }
  .sa-ugc__card[data-offset="-1"]{
    transform: translate(-50%, -50%) translateX(-46%) translateY(18px) scale(.72);
  }
}

/* ===================================================================
   Immagini descrizione: frame orizzontale 718x418 (altezza mai > 418)
   =================================================================== */
body.single-product .sa-product-live__details .sa-product-tab-layout img,
body.single-product .sa-product-live__details .woocommerce-Tabs-panel img{
  width: 100% !important;
  max-width: 718px !important;
  aspect-ratio: 718 / 418 !important;
  height: auto !important;
  max-height: 418px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
  margin: 16px 0 4px !important;
}

/* ===================================================================
   Mobile: elimina lo scroll orizzontale accidentale.
   overflow-x: clip NON crea uno scroll container -> non rompe sticky.
   =================================================================== */
html{
  overflow-x: clip;
}

body.single-product{
  overflow-x: clip;
  max-width: 100%;
}

/* Elementi che potenzialmente sforano su schermi stretti: contienili */
body.single-product .sa-native-configurator__compare{
  table-layout: fixed !important;
  width: 100% !important;
}

body.single-product .sa-native-configurator__compare td{
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 720px){
  body.single-product .sa-hd-wide,
body.single-product .sa-product-live__details > .sa-container,
body.single-product .sa-product-live__sticky-inner{
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 16px !important;
    margin-inline: 0 !important;
  }

  body.single-product .sa-product-live__grid{
    padding-inline: 16px !important;
  }
}

/* ===================================================================
   #16 — Form "misura personalizzata" su 2 colonne (mobile + desktop)
   =================================================================== */
body.single-product .sa-native-configurator__custom-size.is-visible{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px 14px !important;
  align-items: end !important;
}

body.single-product .sa-native-configurator__custom-size h3{
  grid-column: 1 / -1 !important;
  margin: 0 !important;
}

body.single-product .sa-native-configurator__custom-size label{
  margin: 0 !important;
}

/* ===================================================================
   #19 — Regressione banner: SOLO le 3 img dei tab-layout hanno il
   frame 718x418. Le altre img della descrizione (banner anteprima)
   restano al loro aspect naturale.
   =================================================================== */
body.single-product .sa-product-live__details .woocommerce-Tabs-panel img{
  aspect-ratio: auto !important;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: fill !important;
  border-radius: 10px !important;
}

body.single-product .sa-product-live__details .sa-product-tab-layout img{
  width: 100% !important;
  max-width: 718px !important;
  aspect-ratio: 718 / 418 !important;
  height: auto !important;
  max-height: 418px !important;
  object-fit: cover !important;
  border-radius: 14px !important;
}

/* ===================================================================
   #20 — UGC: senza nav "Sfoglia". Hint centrato, cursore grab.
   =================================================================== */
.sa-ugc__stage{
  cursor: grab;
}

.sa-ugc__stage:active{
  cursor: grabbing;
}

.sa-ugc__hint{
  margin-top: clamp(28px, 4vw, 44px);
}

/* ===================================================================
   #21 — Prodotti correlati: integrati nella pagina (crema, largo,
   card sa-hd con hover, spazi generosi)
   =================================================================== */
body.single-product .sa-product-live__related{
  padding: clamp(52px, 6vw, 88px) 0 clamp(60px, 6vw, 92px) !important;
  background: #faf6ec !important;
  border-top: 1px solid rgb(16 41 29 / 10%) !important;
}

body.single-product .sa-product-live__related > .sa-container{
  width: min(100% - 48px, 1240px) !important;
  max-width: 1240px !important;
  margin: 0 auto !important;
}

body.single-product .sa-product-live__related h2{
  margin: 0 0 clamp(30px, 4vw, 50px) !important;
}

body.single-product .sa-product-live__related ul.products{
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(16px, 2vw, 24px) !important;
}

body.single-product .sa-product-live__related li.product{
  border: 1px solid rgb(16 41 29 / 12%) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 4px 12px rgb(16 41 29 / 5%) !important;
  transition: transform .18s ease, box-shadow .18s ease !important;
}

body.single-product .sa-product-live__related li.product:hover{
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 24px rgb(16 41 29 / 16%) !important;
}

body.single-product .sa-product-live__related li.product img{
  aspect-ratio: 1 / 1 !important;
  padding: 18px !important;
  object-fit: contain !important;
}

body.single-product .sa-product-live__related .woocommerce-loop-product__title{
  min-height: 0 !important;
  padding: 14px 12px 18px !important;
  border-top: 1px solid rgb(16 41 29 / 10%) !important;
  color: #10291d !important;
  font-size: 13px !important;
  letter-spacing: .04em;
}

/* ===================================================================
   #18 — Hardening overflow mobile: tutti i container stanno nello schermo
   =================================================================== */
@media (max-width: 720px){
  body.single-product .sa-hd-wide,
body.single-product .sa-product-live__details > .sa-container,
body.single-product .sa-product-live__reviews > .sa-container,
body.single-product .sa-product-live__related > .sa-container,
body.single-product .woocommerce-Reviews,
body.single-product .sa-product-live__sticky-inner{
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 16px !important;
    margin-inline: 0 !important;
  }

  body.single-product .sa-product-live__grid{
    grid-template-columns: 1fr !important;
    padding-inline: 16px !important;
    gap: 24px !important;
  }

  body.single-product .sa-product-live__summary,
body.single-product .sa-native-configurator,
body.single-product .sa-desc__body,
body.single-product .woocommerce-tabs.sa-desc,
body.single-product .woocommerce-Tabs-panel{
    min-width: 0 !important;
    max-width: 100% !important;
  }

  body.single-product .sa-native-configurator__formats,
body.single-product .sa-native-configurator__sizes{
    grid-template-columns: 1fr !important;
  }

  body.single-product .sa-product-live__related ul.products{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* le immagini non sforano mai */
  body.single-product img,
body.single-product video{
    max-width: 100% !important;
  }
}

/* ===== Mute UGC: UNA sola icona visibile, parte muto ===== */
.sa-ugc__mute .sa-ugc__mute-icon{
  grid-area: 1 / 1;
  width: 22px;
  height: 22px;
}
.sa-ugc__mute .sa-ugc__mute-icon--sound{ display: none; }
.sa-ugc__mute .sa-ugc__mute-icon--muted{ display: block; }
.sa-ugc__mute.is-sound .sa-ugc__mute-icon--muted{ display: none; }
.sa-ugc__mute.is-sound .sa-ugc__mute-icon--sound{ display: block; }

/* ===================================================================
   #4/#25 — Sezione recensioni visibile + ancora #reviews funzionante
   =================================================================== */
body.single-product .sa-product-live__reviews{
  display: block !important;
}

body.single-product #reviews,
body.single-product .sa-product-live__reviews{
  scroll-margin-top: 120px !important;
}

/* ===================================================================
   #23 — Scroll: togliere overflow-x dal root (html), spostarlo sul
   wrapper .sa-site-main (su mobile l'overflow sul root resettava lo scroll)
   =================================================================== */
html{
  overflow-x: visible !important;
}

body.single-product{
  overflow-x: visible !important;
}

.sa-site-main{
  overflow-x: clip;
}

/* ===================================================================
   #24 — Descrizione = articolo SEO pulito (via l'indice laterale,
   testo SEO a piena leggibilità, sezioni con divisori)
   =================================================================== */
.sa-desc__toc{
  display: none !important;
}

body.single-product .sa-product-live__details .woocommerce-tabs.sa-desc{
  display: block !important;
  width: min(100%, 880px) !important;
  max-width: 880px !important;
  margin: 0 auto !important;
}

body.single-product .sa-product-live__details .sa-desc__body{
  display: block !important;
  padding: clamp(28px, 4vw, 52px) !important;
  background: #fff !important;
  border: 1px solid rgb(16 41 29 / 12%) !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 20px rgb(16 41 29 / 6%) !important;
}

body.single-product .sa-product-live__details .sa-desc__body .woocommerce-Tabs-panel{
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.single-product .sa-product-live__details .sa-desc__body .woocommerce-Tabs-panel + .woocommerce-Tabs-panel{
  margin-top: clamp(30px, 4vw, 44px) !important;
  padding-top: clamp(30px, 4vw, 44px) !important;
  border-top: 1px solid rgb(16 41 29 / 12%) !important;
}

.sa-site-main{ overflow-x: clip !important; }

/* #4/#23 — scroll-behavior smooth rompe lo scroll programmatico sulle pagine prodotto (layout-shift) */
html{ scroll-behavior: auto !important; }

/* ===== Configuratore: font opzioni più leggibili (solo dimensione, design invariato) ===== */
body.single-product .sa-native-configurator__eyebrow{
  font-size: 14px !important;
}

body.single-product .sa-native-configurator__format{
  font-size: 14px !important;
}

body.single-product .sa-native-configurator__sizes label,
body.single-product .sa-native-configurator__chip{
  min-height: 46px !important;
  font-size: 15px !important;
}

body.single-product .sa-native-configurator__chip span{
  font-size: 11px !important;
}

body.single-product .sa-native-configurator__quantity-input span{
  font-size: 14px !important;
}

/* ===== Pannello prezzo: font più leggibili (solo dimensione, design invariato) ===== */
body.single-product .sa-native-configurator__price-label{
  font-size: 13px !important;
}
body.single-product .sa-native-configurator__price-unit,
body.single-product .sa-native-configurator__listino{
  font-size: 14px !important;
}
body.single-product .sa-native-configurator__progress-label{
  font-size: 13px !important;
}
body.single-product button.sa-native-configurator__upsell{
  font-size: 13px !important;
  line-height: 1.4 !important;
}
body.single-product .sa-native-configurator__compare td{
  font-size: 13px !important;
}
body.single-product .sa-native-configurator__compare .sa-save{
  font-size: 11px !important;
}
body.single-product .sa-native-configurator__trust{
  font-size: 11px !important;
}

/* Riga trust pannello prezzo: font ridotto (richiesta) */
body.single-product .sa-native-configurator__trust{ font-size: 9px !important; letter-spacing: .02em !important; }

/* ===== Recensioni prodotto: minimal come home ("Perché scegliere StickyAttack?") ===== */

/* niente form: pulito come in homepage */
body.single-product .sa-product-live__reviews #review_form_wrapper,
body.single-product .sa-product-live__reviews #respond,
body.single-product .sa-product-live__reviews .comment-respond{
  display: none !important;
}

/* griglia 3 colonne come home, mostra al massimo 3 recensioni (riga pulita) */
body.single-product .woocommerce-Reviews .commentlist{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(16px, 2vw, 28px) !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.single-product .woocommerce-Reviews .commentlist > li:nth-child(n+4){
  display: none !important;
}

/* card recensione identica a .sa-hd-review */
body.single-product .woocommerce-Reviews .comment_container{
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  height: 100% !important;
  padding: 24px !important;
  background: #faf6ec !important;
  border: 1px solid rgb(16 41 29 / 16%) !important;
  border-radius: 16px !important;
  box-shadow: 0 4px 12px rgb(16 41 29 / 6%) !important;
}

/* stelle verdi come home */
body.single-product .woocommerce-Reviews .star-rating{
  color: #2b9348 !important;
  font-size: 15px !important;
  letter-spacing: .12em !important;
}
body.single-product .woocommerce-Reviews .star-rating::before,
body.single-product .woocommerce-Reviews .star-rating span::before{
  color: #2b9348 !important;
}

/* testo recensione */
body.single-product .woocommerce-Reviews .comment-text .description p{
  margin: 0 !important;
  color: #10291d !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

/* meta (autore · data) discreta in fondo */
body.single-product .woocommerce-Reviews .meta{
  margin-top: auto !important;
  color: #10291d !important;
  font-size: 14px !important;
}
body.single-product .woocommerce-Reviews .meta strong{
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif !important;
  font-weight: 950 !important;
}
body.single-product .woocommerce-Reviews .meta .verified{
  color: #5a6b62 !important;
  font-weight: 500 !important;
}

/* niente avatar (minimal) */
body.single-product .woocommerce-Reviews .avatar,
body.single-product .woocommerce-Reviews .comment_container > img{
  display: none !important;
}

/* Recensioni: via il titolo decorativo residuo 'Lascia una RECENSIONE' (c'e gia l'h2 sezione) */
body.single-product .woocommerce-Reviews-title,
body.single-product .woocommerce-Reviews-title::before,
body.single-product .woocommerce-Reviews-title::after{
  display: none !important;
  content: none !important;
}
body.single-product .woocommerce-Reviews,
body.single-product .sa-product-live__reviews #comments{
  display: block !important;
}

/* Recensioni: elimina pseudo-elementi della lista che occupano la prima cella grid */
body.single-product .woocommerce-Reviews .commentlist::before,
body.single-product .woocommerce-Reviews .commentlist::after{
  display: none !important;
  content: none !important;
}
body.single-product .woocommerce-Reviews .commentlist > li{
  display: block !important;
  list-style: none !important;
  float: none !important;
  width: auto !important;
}
body.single-product .woocommerce-Reviews .commentlist > li:nth-child(n+4){
  display: none !important;
}

/* ===== Riga rating totale sopra le recensioni ===== */
body.single-product .sa-product-live__reviews-rating{
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 12px 0 clamp(30px, 3.5vw, 46px);
  color: #10291d;
  font-size: clamp(15px, 1.3vw, 17px);
}
body.single-product .sa-product-live__reviews-rating .sa-hd-stars{
  color: #2b9348;
  font-size: 1.3em;
  letter-spacing: .1em;
}
body.single-product .sa-product-live__reviews-rating strong{
  font-family: "Avenir bold", AvenirNextLTPro, Arial, sans-serif;
  font-weight: 950;
}

body.single-product .sa-product-live__reviews-rating a{ color: #2b9348 !important; font-weight: 700 !important; text-decoration: underline !important; text-underline-offset: 3px; }

/* ===== Rating in testata: voto 4,9 stile Trustpilot a sinistra delle stelle ===== */
body.single-product .sa-product-live__summary .woocommerce-product-rating{
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
}
body.single-product .sa-product-live__summary .woocommerce-product-rating::before{
  content: '4,9';
  order: -1;
  color: #00b67a;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: 800;
  font-size: 22px;
  line-height: 1;
}
/* stelle di questa riga in verde Trustpilot per coerenza */
body.single-product .sa-product-live__summary .woocommerce-product-rating .star-rating span::before,
body.single-product .sa-product-live__summary .woocommerce-product-rating .star-rating::before{
  color: #00b67a !important;
}

/* Forza il voto 4,9 a sinistra delle stelle (batte il content:none del redesign) */
body.single-product .sa-product-live__summary .woocommerce-product-rating::before{
  content: '4,9' !important;
  display: inline-block !important;
  order: -1 !important;
  color: #00b67a !important;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* Product reviews: one readable full-width card per row on mobile. */
@media (max-width: 720px){
  body.single-product .sa-product-live__reviews{
    padding: 40px 0 46px !important;
  }

  body.single-product .sa-product-live__reviews > .sa-container,
body.single-product .sa-product-live__reviews .woocommerce-Reviews{
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-inline: 16px !important;
  }

  body.single-product .sa-product-live__reviews .woocommerce-Reviews .commentlist,
body.single-product .woocommerce-Reviews .commentlist{
    display: grid !important;
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  body.single-product .woocommerce-Reviews .commentlist > li.review{
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  body.single-product .woocommerce-Reviews .comment_container{
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 18px !important;
    border-radius: 8px !important;
  }

  body.single-product .woocommerce-Reviews .comment-text,
body.single-product .woocommerce-Reviews .description{
    min-width: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }

  body.single-product .woocommerce-Reviews .comment-text .description p{
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: initial !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
  }

  body.single-product .sa-product-live__reviews-rating{
    margin-bottom: 24px !important;
    text-align: center !important;
  }
}

/* Product content alignment: keep these rules last in the cascade. */
body.single-product .sa-product-live__reviews-title,
body.single-product .sa-product-live__reviews-title .sa-hd-eyebrow{
  display: block !important;
  width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
}

body.single-product .sa-product-live__details > .sa-container{
  width: min(100% - 32px, 960px) !important;
  max-width: 960px !important;
  margin-inline: auto !important;
}

body.single-product .sa-product-live__details .woocommerce-tabs.wc-tabs-wrapper{
  width: min(100%, 880px) !important;
  max-width: 880px !important;
  margin-inline: auto !important;
}

@media (max-width: 720px){
  body.single-product .sa-product-live__details > .sa-container,
body.single-product .sa-product-live__details .woocommerce-tabs.wc-tabs-wrapper{
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
  }
}

/* Add-to-cart asincrono: stato di caricamento, conferma e messaggi. */
body.single-product .single_add_to_cart_button.is-sa-cart-loading,
body.single-product .sa-product-live__sticky-button.is-sa-cart-loading{
  position: relative !important;
  color: transparent !important;
  cursor: wait !important;
  pointer-events: none !important;
}

body.single-product .single_add_to_cart_button.is-sa-cart-loading::after,
body.single-product .sa-product-live__sticky-button.is-sa-cart-loading::after{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 24px;
  height: 24px;
  margin: -14px 0 0 -14px;
  border: 3px solid rgb(16 41 29 / 24%);
  border-top-color: #10291d;
  border-radius: 50%;
  animation: sa-cart-spin .72s linear infinite;
}

body.single-product .single_add_to_cart_button.is-sa-cart-added,
body.single-product .sa-product-live__sticky-button.is-sa-cart-added{
  background: #2b9348 !important;
  color: #fff !important;
  box-shadow: 0 8px 18px rgb(43 147 72 / 28%) !important;
}

body.single-product .sa-cart-ajax-error{
  margin: 0 0 14px !important;
  padding: 12px 14px !important;
  border: 1px solid #c62828 !important;
  border-radius: 10px !important;
  background: #fff4f4 !important;
  color: #8b1717 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

@keyframes sa-cart-spin{
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce){
  body.single-product .single_add_to_cart_button.is-sa-cart-loading::after,
body.single-product .sa-product-live__sticky-button.is-sa-cart-loading::after{
    animation-duration: 1.5s;
  }
}
