:root {
  --ens-black:#0d0705;
  --ens-orange:#e34822;
  --ens-orange-dark:#c93d1c;
  --ens-cream:#fbf7f4;
  --ens-line:#eadfd8;
  --ens-line-2:#ded0c7;
  --ens-text:#140d0a;
  --ens-muted:#726660;
  --ens-green:#13b86a;
  --ens-green-dark:#048244;
  --ens-green-bg:#eafaf1;
}

body.single-product .site-content .ast-container,
body.single-product .ast-container,
body.single-product .site-main,
body.single-product .woocommerce {
  width:100% !important;
  max-width:1480px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
}

body.single-product .ens-product-page,
body.single-product .ens-product-page *,
body.single-product .ens-sticky-cart,
body.single-product .ens-sticky-cart *,
body.single-product .ens-modal,
body.single-product .ens-modal * {
  box-sizing:border-box !important;
  font-family:inherit !important;
}

body.single-product .ens-product-page {
  color:var(--ens-text) !important;
}

body.single-product .ens-product-top {
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr) !important;
  gap:48px !important;
  align-items:start !important;
  padding:28px 0 52px !important;
  border-bottom:1px solid var(--ens-line) !important;
}

body.single-product .ens-gallery-column {
  position:sticky !important;
  top:88px !important;
  min-width:0 !important;
}

body.single-product .woocommerce-product-gallery {
  width:100% !important;
  float:none !important;
  margin:0 !important;
  opacity:1 !important;
  position:relative !important;
}

body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery .flex-viewport {
  border:1px solid var(--ens-line) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fff 0%,var(--ens-cream) 100%) !important;
  min-height:565px !important;
  display:flex !important;
  align-items:center !important;
  overflow:hidden !important;
  margin:0 !important;
}

body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
  border:0 !important;
  border-radius:0 !important;
  min-height:565px !important;
}

body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image a {
  width:100% !important;
  min-height:565px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}

body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery img.wp-post-image {
  width:auto !important;
  max-width:min(76%,490px) !important;
  max-height:520px !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
}

body.single-product .flex-control-thumbs {
  display:grid !important;
  grid-template-columns:repeat(6,1fr) !important;
  gap:10px !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  list-style:none !important;
}

body.single-product .flex-control-thumbs li {
  width:auto !important;
  float:none !important;
  margin:0 !important;
}

body.single-product .flex-control-thumbs img {
  width:100% !important;
  height:80px !important;
  object-fit:contain !important;
  border:1px solid var(--ens-line) !important;
  border-radius:12px !important;
  background:#fff !important;
  padding:8px !important;
  opacity:1 !important;
  cursor:pointer !important;
}

body.single-product .flex-control-thumbs img.flex-active,
body.single-product .flex-control-thumbs img:hover {
  border:2px solid var(--ens-orange) !important;
}

body.single-product .woocommerce-product-gallery__trigger {
  right:18px !important;
  bottom:18px !important;
  top:auto !important;
  width:42px !important;
  height:42px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:50% !important;
  background:#fff !important;
  z-index:8 !important;
}

body.single-product .ens-gallery-arrow {
  position:absolute !important;
  top:282px !important;
  transform:translateY(-50%) !important;
  width:44px !important;
  height:44px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--ens-black) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:28px !important;
  line-height:1 !important;
  cursor:pointer !important;
  z-index:9 !important;
}

body.single-product .ens-gallery-arrow:hover {
  background:var(--ens-orange) !important;
  border-color:var(--ens-orange) !important;
  color:#fff !important;
}

body.single-product .ens-gallery-prev { left:18px !important; }
body.single-product .ens-gallery-next { right:18px !important; }

body.single-product .ens-purchase-card {
  border:1px solid var(--ens-line) !important;
  border-radius:18px !important;
  padding:26px !important;
  background:#fff !important;
  width:100% !important;
}

body.single-product .ens-meta-row,
body.single-product .ens-price-stock-row {
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:14px !important;
}

body.single-product .ens-product-category,
body.single-product .ens-product-category a {
  color:var(--ens-orange) !important;
  font-size:11px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:1.4px !important;
  text-decoration:none !important;
}

body.single-product .ens-rating {
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
  font-size:12px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}

body.single-product .ens-rating .star-rating {
  float:none !important;
  margin:0 !important;
  color:#f8a800 !important;
}

body.single-product .ens-stars-fallback {
  color:#f8a800 !important;
  letter-spacing:.5px !important;
}

body.single-product .ens-product-title {
  margin:14px 0 13px !important;
  font-size:clamp(26px,3vw,34px) !important;
  line-height:1.08 !important;
  text-transform:uppercase !important;
  letter-spacing:-.8px !important;
  font-weight:900 !important;
  color:var(--ens-text) !important;
}

body.single-product .ens-short-description {
  margin:0 0 16px !important;
  padding-left:14px !important;
  border-left:3px solid var(--ens-orange) !important;
  color:var(--ens-muted) !important;
  font-size:14px !important;
  line-height:1.65 !important;
}

body.single-product .ens-short-description-preview {
  display:-webkit-box !important;
  -webkit-line-clamp:3 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}

body.single-product .ens-short-description p {
  margin:0 !important;
}

body.single-product .ens-link-button {
  margin-top:8px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:var(--ens-orange) !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
}

body.single-product .ens-benefits {
  display:grid !important;
  grid-template-columns:repeat(2,1fr) !important;
  gap:8px !important;
  margin:0 0 18px !important;
}

body.single-product .ens-benefits span {
  border:1px solid var(--ens-line) !important;
  border-radius:12px !important;
  padding:10px 11px !important;
  font-size:12px !important;
  font-weight:800 !important;
}

body.single-product .ens-price-stock-row {
  align-items:flex-end !important;
  padding:17px 0 !important;
  margin-bottom:18px !important;
  border-top:1px solid var(--ens-line) !important;
  border-bottom:1px solid var(--ens-line) !important;
}

body.single-product .ens-section-label {
  display:block !important;
  color:#8b817b !important;
  font-size:11px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  margin-bottom:4px !important;
}

body.single-product .ens-price,
body.single-product .ens-price .price,
body.single-product .ens-price p.price {
  color:var(--ens-orange) !important;
  font-size:32px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  margin:0 !important;
}

body.single-product .ens-price del {
  color:var(--ens-muted) !important;
  font-size:20px !important;
}

body.single-product .ens-price ins {
  text-decoration:none !important;
}

body.single-product .ens-stock-pill {
  display:inline-flex !important;
  align-items:center !important;
  border:1px solid #bee8d4 !important;
  border-radius:999px !important;
  background:var(--ens-green-bg) !important;
  color:var(--ens-green-dark) !important;
  padding:8px 12px !important;
  font-size:11px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

body.single-product .ens-stock-pill.is-out {
  color:var(--ens-orange-dark) !important;
  background:#fff1f1 !important;
  border-color:#ffdbdb !important;
}

/* ============================================================
   QTY HERO — selector de cantidad VISIBLE al lado del precio.
   Sustituye al pill "Disponible" liberando espacio horizontal,
   y permite que +/- se vean bien grandes sin pelearse con
   COMPRAR YA + carrito en la fila de abajo.
   ============================================================ */
body.single-product .ens-qty-hero {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 4px !important;
  flex-shrink: 0 !important;
}
body.single-product .ens-qty-hero[hidden] { display: none !important; }

body.single-product .ens-qty-hero-label {
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  color: #8b817b !important;
  letter-spacing: 0.4px !important;
  line-height: 1 !important;
}

body.single-product .ens-qty-hero-box {
  display: inline-flex !important;
  align-items: stretch !important;
  height: 38px !important;
  border: 1px solid var(--ens-line-2, #ded0c7) !important;
  border-radius: 9px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03) !important;
}

body.single-product .ens-qty-hero-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 34px !important;
  height: 38px !important;
  min-height: 38px !important;
  background: #faf8f7 !important;
  border: none !important;
  border-right: 1px solid var(--ens-line-2, #ded0c7) !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--ens-text) !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  flex-shrink: 0 !important;
  outline: none !important;
  text-indent: 0 !important;
  font-size: 0 !important;
}
body.single-product .ens-qty-hero-btn:last-child {
  border-right: none !important;
  border-left: 1px solid var(--ens-line-2, #ded0c7) !important;
}
body.single-product .ens-qty-hero-btn:hover,
body.single-product .ens-qty-hero-btn:active {
  background: var(--ens-orange) !important;
  color: #fff !important;
}
body.single-product .ens-qty-hero-btn svg {
  display: block !important;
  width: 13px !important;
  height: 13px !important;
  fill: none !important;
  stroke: currentColor !important;
  flex-shrink: 0 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

body.single-product .ens-qty-hero-value {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 38px !important;
  padding: 0 8px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: var(--ens-text) !important;
  background: #fff !important;
  user-select: none !important;
  font-variant-numeric: tabular-nums !important;
}

/* OCULTAR el qty viejo del cart-area: ya esta arriba */
body.single-product .ens-cart-area .quantity,
body.single-product .ens-cart-area .ens-qty {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  visibility: visible !important;  /* el input sigue submitando, solo no se ve */
  pointer-events: none !important;
}
/* El form ahora solo tiene COMPRAR YA + icono carrito */
body.single-product .woocommerce-variation-add-to-cart,
body.single-product .product-type-simple form.cart {
  grid-template-columns: 1fr 80px !important;
  grid-template-areas: "buy add" !important;
}

body.single-product .ens-cart-area form.cart {
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
}

body.single-product .ens-cart-area table.variations {
  display:block !important;
  margin:0 0 10px !important;
}

body.single-product .ens-cart-area table.variations tbody,
body.single-product .ens-cart-area table.variations tr,
body.single-product .ens-cart-area table.variations th,
body.single-product .ens-cart-area table.variations td {
  display:block !important;
  width:100% !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

body.single-product .ens-cart-area table.variations label {
  display:flex !important;
  justify-content:space-between !important;
  margin:0 0 8px !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

body.single-product .ens-cart-area table.variations select {
  width:100% !important;
  min-height:48px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:12px !important;
  padding:0 12px !important;
  background:#fff !important;
}

body.single-product .ens-cart-area table.variations select.ens-select-ready {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  opacity:0 !important;
  pointer-events:none !important;
}

body.single-product .ens-chip-list {
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:8px !important;
  margin:0 0 16px !important;
}

body.single-product .ens-chip {
  min-height:54px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:var(--ens-text) !important;
  padding:8px !important;
  font-size:12px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  text-align:center !important;
}

body.single-product .ens-chip.is-active {
  border:2px solid var(--ens-orange) !important;
  background:#fff7f3 !important;
  color:var(--ens-orange) !important;
}

body.single-product .ens-chip:disabled,
body.single-product .ens-chip.is-disabled {
  opacity:.35 !important;
  cursor:not-allowed !important;
}

body.single-product .reset_variations {
  color:var(--ens-orange) !important;
  font-size:11px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
}

body.single-product .single_variation_wrap {
  margin-top:10px !important;
}

body.single-product .woocommerce-variation-price {
  display:none !important;
}

body.single-product .woocommerce-variation-description,
body.single-product .woocommerce-variation-availability {
  color:var(--ens-muted) !important;
  font-size:12px !important;
  margin:0 0 8px !important;
}

body.single-product .woocommerce-variation-add-to-cart,
body.single-product .product-type-simple form.cart {
  display:grid !important;
  grid-template-columns:104px 1fr 1fr !important;
  gap:10px !important;
  align-items:center !important;
}

body.single-product .quantity {
  width:100% !important;
  margin:0 !important;
}

body.single-product .quantity input.qty {
  width:100% !important;
  height:54px !important;
  min-height:54px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:12px !important;
  text-align:center !important;
  font-weight:900 !important;
}

body.single-product .single_add_to_cart_button,
body.single-product .ens-buy-now-button {
  width:100% !important;
  height:54px !important;
  min-height:54px !important;
  border:0 !important;
  border-radius:12px !important;
  padding:0 16px !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  line-height:54px !important;
  cursor:pointer !important;
}

body.single-product .single_add_to_cart_button {
  background:var(--ens-orange) !important;
  color:#fff !important;
}

body.single-product .ens-buy-now-button {
  background:var(--ens-black) !important;
  color:#fff !important;
}

body.single-product .single_add_to_cart_button.disabled,
body.single-product .single_add_to_cart_button.wc-variation-selection-needed {
  opacity:.55 !important;
  cursor:not-allowed !important;
}

body.single-product .ens-trust-cards {
  display:grid !important;
  gap:10px !important;
  margin-top:18px !important;
}

body.single-product .ens-trust-card {
  display:flex !important;
  gap:12px !important;
  align-items:center !important;
  border:1px solid var(--ens-line) !important;
  border-radius:14px !important;
  padding:13px 14px !important;
}

body.single-product .ens-trust-card > span {
  width:34px !important;
  height:34px !important;
  border-radius:10px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#f6eeea !important;
}

body.single-product .ens-trust-card strong {
  display:block !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

body.single-product .ens-trust-card small {
  display:block !important;
  margin-top:3px !important;
  color:var(--ens-muted) !important;
  font-size:11px !important;
  font-weight:600 !important;
}

body.single-product .ens-stock-box {
  margin-top:14px !important;
  border:1px solid var(--ens-line) !important;
  border-radius:16px !important;
  padding:16px !important;
}

body.single-product .ens-stock-bar {
  height:5px !important;
  border-radius:999px !important;
  background:#ece7e4 !important;
  overflow:hidden !important;
  margin-bottom:15px !important;
}

body.single-product .ens-stock-bar span {
  display:block !important;
  height:100% !important;
  background:#32c971 !important;
}

body.single-product .ens-stock-box.is-low .ens-stock-bar span { background:#e6a926 !important; }
body.single-product .ens-stock-box.is-out .ens-stock-bar span { background:#c93d1c !important; }

body.single-product .ens-stock-main {
  display:flex !important;
  gap:12px !important;
  align-items:flex-start !important;
}

body.single-product .ens-stock-icon {
  width:36px !important;
  height:36px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#e9fbf0 !important;
  color:var(--ens-green) !important;
  font-weight:900 !important;
}

body.single-product .ens-stock-box.is-out .ens-stock-icon {
  background:#fff1f1 !important;
  color:var(--ens-orange-dark) !important;
}

body.single-product .ens-stock-copy strong {
  display:block !important;
  color:var(--ens-green-dark) !important;
  font-size:15px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

body.single-product .ens-stock-box.is-out .ens-stock-copy strong {
  color:var(--ens-orange-dark) !important;
}

body.single-product .ens-stock-copy p,
body.single-product .ens-restock {
  margin:5px 0 0 !important;
  color:var(--ens-text) !important;
  font-size:13px !important;
  line-height:1.5 !important;
}

body.single-product .ens-restock {
  display:block !important;
  color:#836c61 !important;
  font-weight:700 !important;
}

body.single-product .ens-product-nav {
  display:flex !important;
  gap:10px !important;
  overflow:auto !important;
  padding:26px 0 12px !important;
  border-bottom:1px solid var(--ens-line) !important;
}

body.single-product .ens-product-nav a {
  display:inline-flex !important;
  align-items:center !important;
  min-height:42px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:999px !important;
  padding:0 18px !important;
  color:var(--ens-black) !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

body.single-product .ens-product-nav a.is-active,
body.single-product .ens-product-nav a:hover {
  background:var(--ens-black) !important;
  border-color:var(--ens-black) !important;
  color:#fff !important;
}

body.single-product .ens-product-content {
  padding-top:22px !important;
}

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

body.single-product .woocommerce-tabs .panel {
  display:block !important;
  width:100% !important;
  float:none !important;
  margin:0 0 42px !important;
  padding:0 !important;
}

body.single-product .woocommerce-tabs .panel h2:first-child {
  font-size:32px !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
  margin:0 0 18px !important;
}

body.single-product .woocommerce-tabs .panel p,
body.single-product .woocommerce-tabs .panel li {
  font-size:15px !important;
  line-height:1.75 !important;
}

body.single-product section.related,
body.single-product section.upsells {
  margin-top:42px !important;
}

body.single-product section.related > h2,
body.single-product section.upsells > h2 {
  margin:0 0 22px !important;
  font-size:40px !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  font-style:italic !important;
  color:var(--ens-text) !important;
}

body.single-product ul.products {
  display:grid !important;
  grid-template-columns:repeat(4,1fr) !important;
  gap:16px !important;
}

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

body.single-product ul.products li.product {
  width:100% !important;
  float:none !important;
  margin:0 !important;
  border:1px solid var(--ens-line) !important;
  border-radius:16px !important;
  overflow:hidden !important;
  padding-bottom:58px !important;
  position:relative !important;
}

body.single-product ul.products li.product a img {
  height:178px !important;
  object-fit:contain !important;
  background:var(--ens-cream) !important;
  padding:18px !important;
}

body.single-product ul.products li.product .button {
  position:absolute !important;
  right:12px !important;
  bottom:12px !important;
  width:38px !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 !important;
  border-radius:50% !important;
  background:var(--ens-black) !important;
  color:#fff !important;
  font-size:0 !important;
}

body.single-product ul.products li.product .button::before {
  content:'+' !important;
  font-size:26px !important;
  line-height:38px !important;
}

body.single-product .ens-modal {
  position:fixed !important;
  inset:0 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:22px !important;
  z-index:100000 !important;
}

body.single-product .ens-modal.is-open { display:flex !important; }
body.single-product .ens-modal-backdrop {
  position:absolute !important;
  inset:0 !important;
  background:rgba(13,7,5,.62) !important;
}

body.single-product .ens-modal-dialog {
  position:relative !important;
  width:min(720px,100%) !important;
  max-height:78vh !important;
  overflow:auto !important;
  border-radius:20px !important;
  background:#fff !important;
  padding:28px !important;
}

body.single-product .ens-modal-close {
  position:absolute !important;
  top:16px !important;
  right:16px !important;
  width:36px !important;
  height:36px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:50% !important;
  background:#fff !important;
  font-size:24px !important;
  cursor:pointer !important;
}

body.single-product .ens-modal-content {
  color:var(--ens-text) !important;
  font-size:15px !important;
  line-height:1.75 !important;
}

body.single-product .ens-sticky-cart {
  position:fixed !important;
  left:50% !important;
  bottom:18px !important;
  width:min(1080px, calc(100% - 36px)) !important;
  transform:translateX(-50%) translateY(130%) !important;
  transition:transform .22s ease !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
  gap:16px !important;
  border-radius:18px !important;
  background:var(--ens-black) !important;
  color:#fff !important;
  padding:12px 14px !important;
  z-index:99999 !important;
}

body.single-product .ens-sticky-cart.is-visible {
  transform:translateX(-50%) translateY(0) !important;
}

body.single-product .ens-sticky-product,
body.single-product .ens-sticky-actions {
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  min-width:0 !important;
}

body.single-product .ens-sticky-product img {
  width:54px !important;
  height:54px !important;
  object-fit:contain !important;
  border-radius:10px !important;
  background:#fff !important;
}

body.single-product .ens-sticky-product strong {
  display:block !important;
  max-width:380px !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

body.single-product .ens-sticky-product span {
  display:block !important;
  color:rgba(255,255,255,.68) !important;
  font-size:11px !important;
  font-weight:700 !important;
}

body.single-product .ens-sticky-price {
  color:#ff6a3d !important;
  font-size:20px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

body.single-product .ens-sticky-qty {
  height:42px !important;
  border:1px solid rgba(255,255,255,.18) !important;
  border-radius:12px !important;
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:0 12px !important;
  font-weight:900 !important;
}

body.single-product .ens-sticky-qty button {
  border:0 !important;
  background:transparent !important;
  color:#fff !important;
  font-size:17px !important;
  cursor:pointer !important;
}

body.single-product .ens-sticky-submit {
  height:42px !important;
  border:0 !important;
  border-radius:12px !important;
  background:var(--ens-orange) !important;
  color:#fff !important;
  padding:0 20px !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  cursor:pointer !important;
}

@media (max-width:1020px) {
  body.single-product .ens-product-top {
    grid-template-columns:1fr !important;
    gap:24px !important;
  }

  body.single-product .ens-gallery-column {
    position:relative !important;
    top:auto !important;
  }

  body.single-product ul.products {
    grid-template-columns:repeat(3,1fr) !important;
  }
}

@media (max-width:720px) {
  body.single-product .site-content .ast-container,
  body.single-product .ast-container,
  body.single-product .site-main,
  body.single-product .woocommerce {
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body.single-product .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery .flex-viewport,
  body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery__image a {
    min-height:390px !important;
  }

  body.single-product .ens-gallery-arrow {
    top:195px !important;
  }

  body.single-product .ens-purchase-card {
    padding:20px !important;
  }

  body.single-product .ens-benefits,
  body.single-product .ens-chip-list {
    grid-template-columns:repeat(2,1fr) !important;
  }

  body.single-product .woocommerce-variation-add-to-cart,
  body.single-product .product-type-simple form.cart {
    grid-template-columns:92px 1fr !important;
  }

  body.single-product .ens-buy-now-button {
    grid-column:1 / -1 !important;
  }

  body.single-product .flex-control-thumbs {
    grid-template-columns:repeat(4,1fr) !important;
  }

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

  body.single-product .ens-sticky-cart {
    left:0 !important;
    bottom:0 !important;
    width:100% !important;
    border-radius:16px 16px 0 0 !important;
    transform:translateY(130%) !important;
  }

  body.single-product .ens-sticky-cart.is-visible {
    transform:translateY(0) !important;
  }

  body.single-product .ens-sticky-product img,
  body.single-product .ens-sticky-price,
  body.single-product .ens-sticky-qty {
    display:none !important;
  }
}

/* -------------------------------------------------------------------------
   ENS hotfix 2.0.1: protect Woo variation logic and clean broken layouts.
   These rules intentionally load at the end and override old global button CSS.
------------------------------------------------------------------------- */

body.single-product .site-content .ast-container,
body.single-product .ast-container,
body.single-product .site-main,
body.single-product .woocommerce {
  max-width:1480px !important;
}

body.single-product .ens-cart-area form.cart {
  display:block !important;
  flex-direction:initial !important;
  flex-wrap:initial !important;
}

body.single-product .ens-cart-area form.variations_form.cart {
  display:block !important;
}

body.single-product .ens-cart-area table.variations {
  width:100% !important;
  display:block !important;
  border:0 !important;
}

body.single-product .ens-cart-area table.variations tr {
  margin:0 0 16px !important;
}

body.single-product .ens-cart-area table.variations td.value {
  position:relative !important;
}

body.single-product .ens-cart-area table.variations select.ens-select-ready {
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  width:1px !important;
  height:1px !important;
  min-height:1px !important;
  padding:0 !important;
  border:0 !important;
  opacity:.01 !important;
  pointer-events:none !important;
}

body.single-product .ens-cart-area .single_variation_wrap {
  width:100% !important;
  margin-top:10px !important;
}

body.single-product .ens-cart-area .woocommerce-variation-add-to-cart.variations_button,
body.single-product .ens-cart-area .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled,
body.single-product .ens-cart-area .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled,
body.single-product .ens-cart-area .product-type-simple form.cart,
body.single-product.product-type-simple .ens-cart-area form.cart {
  /* v3.1.13: FLEX simple en lugar de grid. COMPRAR YA crece (flex:1),
     carrito fijo a 70px. La qty esta absolutamente posicionada fuera
     del flow asi que aqui solo cuentan los 2 botones. */
  display:flex !important;
  flex-direction:row !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:10px !important;
  width:100% !important;
  flex-wrap:nowrap !important;
  align-content:initial !important;
}

/* COMPRAR YA: ocupa todo el ancho sobrante */
body.single-product .ens-cart-area .ens-buy-now-button {
  flex:1 1 auto !important;
  flex-grow:1 !important;
  flex-shrink:1 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
}

/* CART icon: cuadrado fijo */
body.single-product .ens-cart-area .single_add_to_cart_button {
  flex:0 0 70px !important;
  flex-grow:0 !important;
  flex-shrink:0 !important;
  flex-basis:70px !important;
  width:70px !important;
  min-width:70px !important;
  max-width:70px !important;
}

body.single-product .ens-cart-area .ens-buy-now-button {
  /* v3.1.9: ya no spaneamos todas las columnas. El grid es ahora "buy add"
     con la add fija en 80px. La buy ocupa su columna 1fr natural. */
  grid-area: buy !important;
}

body.single-product .ens-cart-area .single_add_to_cart_button.button.alt,
body.single-product .ens-cart-area .single_add_to_cart_button.button.alt:not(.wpcbn-btn-single),
body.single-product .ens-cart-area form.cart .single_add_to_cart_button.button.alt:not(.wpcbn-btn-single),
body.single-product .ens-cart-area .woocommerce-variation-add-to-cart .single_add_to_cart_button.button.alt:not(.wpcbn-btn-single) {
  /* CART ICON — 70px cuadrado fijo (flex hereda de la regla principal, esto
     garantiza que el ancho no se escapa con especificidad alta) */
  flex:0 0 70px !important;
  flex-grow:0 !important;
  flex-shrink:0 !important;
  flex-basis:70px !important;
  width:70px !important;
  min-width:70px !important;
  max-width:70px !important;
  height:54px !important;
  min-height:54px !important;
  max-height:54px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:12px !important;
  background:var(--ens-black) !important;
  color:#fff !important;
  font-size:0 !important;
  line-height:1 !important;
  text-indent:-9999px !important;
  background-image:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  overflow:hidden !important;
  transition:background 0.2s ease !important;
}

body.single-product .ens-cart-area .single_add_to_cart_button.button.alt:hover,
body.single-product .ens-cart-area .single_add_to_cart_button.button.alt:not(.wpcbn-btn-single):hover,
body.single-product .ens-cart-area form.cart .single_add_to_cart_button.button.alt:not(.wpcbn-btn-single):hover,
body.single-product .ens-cart-area .woocommerce-variation-add-to-cart .single_add_to_cart_button.button.alt:not(.wpcbn-btn-single):hover {
  background:var(--ens-orange) !important;
  transform:translateY(-1px) !important;
  box-shadow:0 4px 14px rgba(227,72,34,0.28) !important;
}

body.single-product .ens-cart-area .single_add_to_cart_button::before,
body.single-product .ens-cart-area .single_add_to_cart_button::after {
  /* ::after still hidden; ::before es el icono carrito SVG, ver overrides finales */
}
body.single-product .ens-cart-area .single_add_to_cart_button::after {
  display:none !important;
  content:none !important;
}

body.single-product .ens-cart-area button.wpcbn-btn.wpcbn-btn-single,
body.single-product .ens-cart-area button.wpcbn-btn.wpcbn-btn-single.wpcbn-btn-simple {
  width:100% !important;
  border-radius:12px !important;
  background:var(--ens-black) !important;
  border-color:var(--ens-black) !important;
  color:#fff !important;
}

body.single-product .ens-cart-area .quantity input.qty {
  appearance:textfield !important;
  -moz-appearance:textfield !important;
}

body.single-product .ens-cart-area .quantity input.qty::-webkit-outer-spin-button,
body.single-product .ens-cart-area .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance:none !important;
  margin:0 !important;
}

/* Safer gallery layout: do not make the Flexslider inner wrapper a flex row. */
body.single-product .woocommerce-product-gallery .flex-viewport {
  border:1px solid var(--ens-line) !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,#fff 0%,var(--ens-cream) 100%) !important;
  min-height:565px !important;
  overflow:hidden !important;
}

body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  min-height:0 !important;
  display:block !important;
  align-items:initial !important;
  overflow:visible !important;
}

body.single-product .woocommerce-product-gallery:not(.woocommerce-product-gallery--with-images) .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery:not(.woocommerce-product-gallery--columns-4) .woocommerce-product-gallery__wrapper {
  display:block !important;
}

body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image a {
  float:none !important;
}

body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a {
  min-height:565px !important;
}

/* When Woo has not initialized the slider yet, avoid a vertical stack explosion. */
body.single-product .woocommerce-product-gallery:not(.flexslider) .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {
  display:none !important;
}

@media (max-width:720px) {
  body.single-product .ens-cart-area .woocommerce-variation-add-to-cart.variations_button,
  body.single-product .ens-cart-area .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled,
  body.single-product .ens-cart-area .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled,
  body.single-product .ens-cart-area .product-type-simple form.cart,
  body.single-product.product-type-simple .ens-cart-area form.cart {
    grid-template-columns:92px minmax(0,1fr) !important;
  }
}


/* ENS v2.0.2 fixes: gallery/modal cleanup and remove legacy visual artifacts. */
body.single-product .ens-benefits {
  display:none !important;
}

/* Gallery should stay clean: no shadows from Astra/Woo/Elementor wrappers. */
body.single-product .ens-gallery-column,
body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery *,
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery .flex-viewport,
body.single-product .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery__image a,
body.single-product .woocommerce-product-gallery__image img,
body.single-product .flex-control-thumbs,
body.single-product .flex-control-thumbs li,
body.single-product .flex-control-thumbs img {
  box-shadow:none !important;
  text-shadow:none !important;
}

/* Do not hide slides after Woo/Flexslider initializes; hiding non-first slides caused blank gallery. */
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  display:block !important;
  visibility:visible !important;
}

/* Keep the main gallery frame stable while allowing Flexslider to move slides normally. */
body.single-product .woocommerce-product-gallery .flex-viewport {
  border:1px solid var(--ens-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  min-height:565px !important;
  overflow:hidden !important;
}

body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
  display:block !important;
  min-height:565px !important;
  background:transparent !important;
  overflow:visible !important;
}

body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a {
  min-height:565px !important;
  height:565px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery img.wp-post-image,
body.single-product .woocommerce-product-gallery .wp-post-image {
  max-width:min(72%, 470px) !important;
  max-height:500px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
  filter:none !important;
}

/* Zoom trigger: place inside the main gallery, top right, as a perfect circle. */
body.single-product .woocommerce-product-gallery__trigger {
  position:absolute !important;
  top:16px !important;
  right:16px !important;
  bottom:auto !important;
  left:auto !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--ens-black) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  z-index:12 !important;
  opacity:1 !important;
  transform:none !important;
}

body.single-product .woocommerce-product-gallery__trigger::before,
body.single-product .woocommerce-product-gallery__trigger::after {
  display:none !important;
  content:none !important;
}

body.single-product .woocommerce-product-gallery__trigger img,
body.single-product .woocommerce-product-gallery__trigger svg {
  width:18px !important;
  height:18px !important;
  margin:0 !important;
}

/* Custom arrows: center vertically inside the image frame. */
body.single-product .ens-gallery-arrow {
  top:calc(565px / 2) !important;
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--ens-black) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:30px !important;
  font-weight:700 !important;
  line-height:1 !important;
  z-index:11 !important;
  box-shadow:none !important;
}
body.single-product .ens-gallery-prev { left:16px !important; }
body.single-product .ens-gallery-next { right:16px !important; }

/* Thumbnail cleanup. */
body.single-product .flex-control-thumbs img {
  box-shadow:none !important;
  filter:none !important;
  background:#fff !important;
}

/* Modal close: visible X and exact circle. */
body.single-product .ens-modal-dialog {
  overflow:visible !important;
  padding:28px !important;
}
body.single-product .ens-modal-close {
  position:absolute !important;
  top:16px !important;
  right:16px !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--ens-black) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:28px !important;
  font-weight:400 !important;
  line-height:1 !important;
  text-indent:0 !important;
  overflow:visible !important;
  opacity:1 !important;
  z-index:3 !important;
  box-shadow:none !important;
}
body.single-product .ens-modal-close::before,
body.single-product .ens-modal-close::after {
  display:none !important;
  content:none !important;
}

@media (max-width:720px) {
  body.single-product .woocommerce-product-gallery .flex-viewport,
  body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a {
    min-height:390px !important;
    height:390px !important;
  }
  body.single-product .ens-gallery-arrow {
    top:195px !important;
  }
  body.single-product .woocommerce-product-gallery__image img,
  body.single-product .woocommerce-product-gallery img.wp-post-image,
  body.single-product .woocommerce-product-gallery .wp-post-image {
    max-width:74% !important;
    max-height:340px !important;
  }
}

/* ENS v2.0.3: WooCommerce-native tabs, stable gallery, visible add-to-cart text. */

/* Rating: avoid Woo star icon font rendering as letters/symbols. */
body.single-product .ens-rating {
  gap:7px !important;
  align-items:center !important;
}
body.single-product .ens-stars-fallback {
  color:#f8a800 !important;
  letter-spacing:1px !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  font-family:Arial, sans-serif !important;
}
body.single-product .ens-rating .star-rating {
  display:none !important;
}

/* Remove the custom nav; use WooCommerce product tabs only. */
body.single-product .ens-product-nav {
  display:none !important;
}

/* WooCommerce tabs: keep default Woo labels/logic, only restyle the UI. */
body.single-product .woocommerce-tabs {
  width:100% !important;
  margin-top:0 !important;
}
body.single-product .woocommerce-tabs ul.tabs {
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  list-style:none !important;
  margin:0 0 24px !important;
  padding:0 0 10px !important;
  border-bottom:1px solid var(--ens-line) !important;
}
body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after {
  display:none !important;
  content:none !important;
}
body.single-product .woocommerce-tabs ul.tabs li {
  float:none !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  white-space:nowrap !important;
}
body.single-product .woocommerce-tabs ul.tabs li a {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:46px !important;
  padding:0 18px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--ens-black) !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  line-height:1 !important;
}
body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover {
  background:var(--ens-black) !important;
  border-color:var(--ens-black) !important;
  color:#fff !important;
}
body.single-product .woocommerce-tabs .panel {
  width:100% !important;
  float:none !important;
  margin:0 0 42px !important;
  padding:0 !important;
}
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  display:none !important;
}
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel[style*="display: block"],
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel[style*="display:block"],
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel:first-of-type {
  display:block !important;
}

/* Add-to-cart button must never inherit old icon-only CSS. */
body.single-product .ens-cart-area .single_add_to_cart_button,
body.single-product .ens-cart-area .single_add_to_cart_button.button,
body.single-product .ens-cart-area .single_add_to_cart_button.button.alt,
body.single-product .ens-cart-area form.cart button.single_add_to_cart_button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-width:0 !important;
  height:54px !important;
  min-height:54px !important;
  padding:0 18px !important;
  border:0 !important;
  border-radius:12px !important;
  background:var(--ens-orange) !important;
  background-image:none !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-align:center !important;
  text-indent:0 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  overflow:visible !important;
  opacity:1;
}
body.single-product .ens-cart-area .single_add_to_cart_button.disabled,
body.single-product .ens-cart-area .single_add_to_cart_button.wc-variation-selection-needed {
  opacity:.58 !important;
}
body.single-product .ens-cart-area .single_add_to_cart_button::before,
body.single-product .ens-cart-area .single_add_to_cart_button::after {
  display:none !important;
  content:none !important;
}

/* Gallery: let Flexslider keep its required float/width/transform mechanics. */
body.single-product .woocommerce-product-gallery {
  position:relative !important;
  overflow:visible !important;
}
body.single-product .woocommerce-product-gallery .flex-viewport {
  border:1px solid var(--ens-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  min-height:565px !important;
  height:565px !important;
  overflow:hidden !important;
}
body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
  display:block !important;
  min-height:565px !important;
  height:565px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  overflow:visible !important;
}
body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image {
  float:left !important;
  display:block !important;
  min-height:565px !important;
  height:565px !important;
  margin:0 !important;
  text-align:center !important;
}
body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a {
  min-height:565px !important;
  height:565px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
}
body.single-product .woocommerce-product-gallery__image img,
body.single-product .woocommerce-product-gallery img.wp-post-image,
body.single-product .woocommerce-product-gallery .wp-post-image {
  display:block !important;
  max-width:min(72%, 470px) !important;
  max-height:500px !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
  filter:none !important;
  box-shadow:none !important;
  opacity:1 !important;
  visibility:visible !important;
}
/* If Flexslider is not initialized yet, show a single stable image instead of a broken stack. */
body.single-product .woocommerce-product-gallery:not(.flexslider) > .woocommerce-product-gallery__wrapper {
  border:1px solid var(--ens-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  min-height:565px !important;
  height:565px !important;
  overflow:hidden !important;
}
body.single-product .woocommerce-product-gallery:not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  display:none !important;
}
body.single-product .woocommerce-product-gallery:not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
  display:flex !important;
  min-height:565px !important;
  height:565px !important;
  align-items:center !important;
  justify-content:center !important;
}

/* Arrows and zoom positioning. */
body.single-product .woocommerce-product-gallery__trigger {
  top:16px !important;
  right:16px !important;
  bottom:auto !important;
  left:auto !important;
  width:42px !important;
  height:42px !important;
  min-width:42px !important;
  min-height:42px !important;
  border-radius:50% !important;
}
body.single-product .ens-gallery-arrow {
  top:282px !important;
  transform:translateY(-50%) !important;
}

@media (max-width:720px) {
  body.single-product .woocommerce-product-gallery .flex-viewport,
  body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image,
  body.single-product .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image a,
  body.single-product .woocommerce-product-gallery:not(.flexslider) > .woocommerce-product-gallery__wrapper,
  body.single-product .woocommerce-product-gallery:not(.flexslider) > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:first-child {
    min-height:380px !important;
    height:380px !important;
  }
  body.single-product .ens-gallery-arrow {
    top:190px !important;
  }
}

/* v2.0.4: Custom gallery. We no longer depend on WooCommerce Flexslider for the main image. */
body.single-product .site-content .ast-container,
body.single-product .ast-container,
body.single-product .site-main,
body.single-product .woocommerce {
  max-width:1480px !important;
}

body.single-product .ens-custom-gallery {
  width:100% !important;
  margin:0 !important;
  position:relative !important;
}

body.single-product .ens-gallery-stage {
  width:100% !important;
  min-height:565px !important;
  border:1px solid var(--ens-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:relative !important;
  overflow:hidden !important;
}

body.single-product .ens-main-gallery-image {
  display:block !important;
  width:auto !important;
  max-width:min(76%,490px) !important;
  max-height:520px !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
  opacity:1 !important;
  visibility:visible !important;
  filter:none !important;
  box-shadow:none !important;
  transform:none !important;
}

body.single-product .ens-gallery-thumbs {
  display:grid !important;
  grid-template-columns:repeat(6,1fr) !important;
  gap:10px !important;
  margin:12px 0 0 !important;
  padding:0 !important;
}

body.single-product .ens-gallery-thumb {
  width:100% !important;
  height:80px !important;
  border:1px solid var(--ens-line) !important;
  border-radius:12px !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:8px !important;
  cursor:pointer !important;
  box-shadow:none !important;
}

body.single-product .ens-gallery-thumb.is-active,
body.single-product .ens-gallery-thumb:hover {
  border:2px solid var(--ens-orange) !important;
}

body.single-product .ens-gallery-thumb img {
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  filter:none !important;
  box-shadow:none !important;
}

body.single-product .ens-gallery-zoom {
  position:absolute !important;
  right:18px !important;
  top:18px !important;
  z-index:10 !important;
  width:42px !important;
  height:42px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--ens-black) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-decoration:none !important;
  font-size:18px !important;
  line-height:1 !important;
  box-shadow:none !important;
}

body.single-product .ens-gallery-stage .ens-gallery-arrow {
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:44px !important;
  height:44px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--ens-black) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  font-size:30px !important;
  line-height:1 !important;
  cursor:pointer !important;
  z-index:9 !important;
  box-shadow:none !important;
}

body.single-product .ens-gallery-stage .ens-gallery-prev {
  left:18px !important;
}

body.single-product .ens-gallery-stage .ens-gallery-next {
  right:18px !important;
}

body.single-product .ens-gallery-stage .ens-gallery-arrow:hover {
  background:var(--ens-orange) !important;
  border-color:var(--ens-orange) !important;
  color:#fff !important;
}

@media (max-width: 767px) {
  body.single-product .ens-gallery-stage {
    min-height:390px !important;
  }

  body.single-product .ens-main-gallery-image {
    max-width:82% !important;
    max-height:360px !important;
  }

  body.single-product .ens-gallery-thumbs {
    grid-template-columns:repeat(4,1fr) !important;
  }
}

/* -------------------------------------------------------------------------
   ENS v2.0.5: responsive gallery, vertical Woo tabs as anchors, related carousel.
   These rules must stay at the end of product.css.
------------------------------------------------------------------------- */

html,
body.single-product {
  overflow-x:hidden !important;
}

body.single-product .site-content .ast-container,
body.single-product .ast-container,
body.single-product .site-main,
body.single-product .woocommerce {
  max-width:1480px !important;
  width:100% !important;
}

body.single-product .ens-product-page {
  max-width:1480px !important;
  width:100% !important;
  margin:0 auto !important;
  overflow:visible !important;
}

/* Gallery: one stable stage + one horizontal thumbnail row. */
body.single-product .ens-gallery-column,
body.single-product .ens-custom-gallery {
  min-width:0 !important;
  overflow:visible !important;
}

body.single-product .ens-gallery-stage {
  min-height:clamp(390px, 44vw, 565px) !important;
  height:clamp(390px, 44vw, 565px) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  box-shadow:none !important;
}

body.single-product .ens-main-gallery-image {
  max-width:min(74%, 490px) !important;
  max-height:calc(clamp(390px, 44vw, 565px) - 42px) !important;
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center !important;
  box-shadow:none !important;
  filter:none !important;
}

body.single-product .ens-gallery-thumbs {
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  width:100% !important;
  margin:12px 0 0 !important;
  padding:0 0 8px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x proximity !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:thin !important;
}

body.single-product .ens-gallery-thumb {
  flex:0 0 calc((100% - 50px) / 6) !important;
  width:calc((100% - 50px) / 6) !important;
  min-width:86px !important;
  max-width:116px !important;
  height:76px !important;
  scroll-snap-align:start !important;
  border-radius:12px !important;
  box-shadow:none !important;
}

body.single-product .ens-gallery-thumb img {
  max-width:100% !important;
  max-height:100% !important;
}

body.single-product .ens-gallery-zoom {
  top:14px !important;
  right:14px !important;
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  min-height:40px !important;
  box-shadow:none !important;
}

body.single-product .ens-gallery-stage .ens-gallery-arrow {
  width:42px !important;
  height:42px !important;
  box-shadow:none !important;
}

body.single-product .ens-gallery-stage .ens-gallery-prev { left:16px !important; }
body.single-product .ens-gallery-stage .ens-gallery-next { right:16px !important; }

/* WooCommerce tabs: keep native tab labels, but show all panels vertically and use click-to-scroll. */
body.single-product .woocommerce-tabs {
  width:100% !important;
  margin-top:0 !important;
  padding-top:18px !important;
}

body.single-product .woocommerce-tabs ul.tabs {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:8px !important;
  width:100% !important;
  max-width:360px !important;
  overflow:visible !important;
  list-style:none !important;
  margin:0 0 26px !important;
  padding:0 !important;
  border:0 !important;
}

body.single-product .woocommerce-tabs ul.tabs::before,
body.single-product .woocommerce-tabs ul.tabs::after,
body.single-product .woocommerce-tabs ul.tabs li::before,
body.single-product .woocommerce-tabs ul.tabs li::after {
  display:none !important;
  content:none !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
  width:100% !important;
  float:none !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  white-space:normal !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:44px !important;
  padding:0 18px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:999px !important;
  background:#fff !important;
  color:var(--ens-black) !important;
  font-size:12px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  line-height:1.1 !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover,
body.single-product .woocommerce-tabs ul.tabs li a:focus {
  background:var(--ens-black) !important;
  border-color:var(--ens-black) !important;
  color:#fff !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs .panel {
  display:block !important;
  width:100% !important;
  float:none !important;
  margin:0 0 42px !important;
  padding:0 !important;
  scroll-margin-top:110px !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2:first-child,
body.single-product .woocommerce-tabs .panel h2:first-child {
  display:block !important;
  margin:0 0 18px !important;
  font-size:26px !important;
  line-height:1.15 !important;
  text-transform:uppercase !important;
  letter-spacing:-.5px !important;
}

/* Related/upsell carousel: rounded horizontal products, no square grid. */
body.single-product .upsells,
body.single-product section.related {
  width:100% !important;
  margin:54px 0 0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

body.single-product .upsells > h2,
body.single-product section.related > h2 {
  margin:0 0 24px !important;
  font-size:clamp(30px, 4vw, 48px) !important;
  line-height:.98 !important;
  font-style:italic !important;
  text-transform:uppercase !important;
  letter-spacing:-1px !important;
}

body.single-product .upsells ul.products,
body.single-product section.related ul.products,
body.single-product ul.products.columns-4,
body.single-product ul.products.columns-5,
body.single-product ul.products.columns-6 {
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:16px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:0 0 16px !important;
  margin:0 !important;
  list-style:none !important;
  scroll-snap-type:x proximity !important;
  -webkit-overflow-scrolling:touch !important;
  scrollbar-width:thin !important;
}

body.single-product .upsells ul.products li.product,
body.single-product section.related ul.products li.product,
body.single-product ul.products li.product {
  flex:0 0 190px !important;
  width:190px !important;
  max-width:190px !important;
  min-width:190px !important;
  margin:0 !important;
  padding:0 !important;
  float:none !important;
  border:1px solid var(--ens-line) !important;
  border-radius:24px !important;
  background:#fff !important;
  overflow:hidden !important;
  box-shadow:none !important;
  scroll-snap-align:start !important;
}

body.single-product ul.products li.product a.woocommerce-LoopProduct-link {
  display:block !important;
  color:inherit !important;
  text-decoration:none !important;
}

body.single-product ul.products li.product img {
  display:block !important;
  width:100% !important;
  height:170px !important;
  object-fit:contain !important;
  padding:18px !important;
  margin:0 !important;
  background:var(--ens-cream) !important;
  border-radius:24px 24px 18px 18px !important;
  box-shadow:none !important;
}

body.single-product ul.products li.product .woocommerce-loop-product__title,
body.single-product ul.products li.product h2,
body.single-product ul.products li.product h3 {
  min-height:42px !important;
  margin:14px 14px 6px !important;
  padding:0 !important;
  font-size:13px !important;
  line-height:1.25 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

body.single-product ul.products li.product .price {
  display:block !important;
  margin:0 14px 14px !important;
  color:var(--ens-black) !important;
  font-size:18px !important;
  font-weight:900 !important;
}

body.single-product ul.products li.product .button,
body.single-product ul.products li.product a.button,
body.single-product ul.products li.product .add_to_cart_button {
  width:38px !important;
  height:38px !important;
  min-height:38px !important;
  padding:0 !important;
  margin:0 14px 14px auto !important;
  border:0 !important;
  border-radius:50% !important;
  background:var(--ens-black) !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:0 !important;
  line-height:1 !important;
  text-indent:0 !important;
}

body.single-product ul.products li.product .button::before,
body.single-product ul.products li.product a.button::before,
body.single-product ul.products li.product .add_to_cart_button::before {
  content:'+' !important;
  display:block !important;
  font-size:26px !important;
  font-weight:700 !important;
  line-height:1 !important;
}

body.single-product .ens-related-controls {
  display:flex !important;
  justify-content:flex-end !important;
  gap:8px !important;
  margin:-54px 0 16px !important;
}

body.single-product .ens-related-control {
  width:42px !important;
  height:42px !important;
  border:1px solid var(--ens-line-2) !important;
  border-radius:50% !important;
  background:#fff !important;
  color:var(--ens-black) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  font-size:24px !important;
  line-height:1 !important;
  cursor:pointer !important;
}

body.single-product .ens-related-control:hover {
  background:var(--ens-orange) !important;
  border-color:var(--ens-orange) !important;
  color:#fff !important;
}

/* Responsive cleanup: no horizontal overflow and compact mobile spacing. */
@media (max-width: 767px) {
  body.single-product .site-content .ast-container,
  body.single-product .ast-container,
  body.single-product .site-main,
  body.single-product .woocommerce {
    padding-left:10px !important;
    padding-right:10px !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body.single-product .ens-product-top {
    gap:14px !important;
    padding:8px 0 28px !important;
  }

  body.single-product .ens-gallery-stage {
    min-height:330px !important;
    height:330px !important;
    border-radius:16px !important;
  }

  body.single-product .ens-main-gallery-image {
    max-width:82% !important;
    max-height:300px !important;
  }

  body.single-product .ens-gallery-stage .ens-gallery-arrow {
    width:38px !important;
    height:38px !important;
    font-size:26px !important;
  }

  body.single-product .ens-gallery-stage .ens-gallery-prev { left:10px !important; }
  body.single-product .ens-gallery-stage .ens-gallery-next { right:10px !important; }

  body.single-product .ens-gallery-zoom {
    width:38px !important;
    height:38px !important;
    top:10px !important;
    right:10px !important;
  }

  body.single-product .ens-gallery-thumbs {
    gap:8px !important;
    margin-top:8px !important;
    padding-bottom:8px !important;
  }

  body.single-product .ens-gallery-thumb {
    flex:0 0 calc((100% - 32px) / 5) !important;
    width:calc((100% - 32px) / 5) !important;
    min-width:62px !important;
    height:62px !important;
    border-radius:10px !important;
    padding:6px !important;
  }

  body.single-product .ens-purchase-card {
    padding:16px !important;
    border-radius:16px !important;
  }

  body.single-product .ens-product-title {
    font-size:26px !important;
  }

  body.single-product .ens-sticky-cart {
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    width:auto !important;
    max-width:calc(100vw - 20px) !important;
    min-width:0 !important;
    border-radius:16px !important;
    padding:10px 12px !important;
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    transform:translateY(calc(100% + 24px)) !important;
    overflow:hidden !important;
  }

  body.single-product .ens-sticky-cart.is-visible {
    transform:translateY(0) !important;
  }

  /* En movil escondemos producto/precio/qty: solo CTAs centrados */
  body.single-product .ens-sticky-product,
  body.single-product .ens-sticky-product img,
  body.single-product .ens-sticky-price,
  body.single-product .ens-sticky-qty {
    display:none !important;
  }

  /* Actions: row centrado, COMPRAR YA ocupa el resto, icono carrito fijo a la derecha */
  body.single-product .ens-sticky-actions {
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
    width:100% !important;
    min-width:0 !important;
  }

  /* COMPRAR YA ancho */
  body.single-product .ens-sticky-submit {
    flex:1 1 auto !important;
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    height:46px !important;
    padding:0 18px !important;
    font-size:13px !important;
    font-weight:900 !important;
    letter-spacing:0.5px !important;
    white-space:nowrap !important;
    border-radius:12px !important;
    text-align:center !important;
  }

  /* Icono carrito: cuadrado fijo, fondo neutro oscuro con borde sutil */
  body.single-product .ens-sticky-add {
    flex:0 0 46px !important;
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    border-radius:12px !important;
    background:rgba(255,255,255,0.08) !important;
    border:1px solid rgba(255,255,255,0.2) !important;
    color:#fff !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    padding:0 !important;
    transition:background 0.15s ease, border-color 0.15s ease !important;
  }
  body.single-product .ens-sticky-add:hover,
  body.single-product .ens-sticky-add:active {
    background:rgba(255,255,255,0.15) !important;
    border-color:rgba(255,255,255,0.4) !important;
  }
  body.single-product .ens-sticky-add svg {
    width:20px !important;
    height:20px !important;
    display:block !important;
  }

  body.single-product .woocommerce-tabs {
    padding-top:8px !important;
  }

  body.single-product .woocommerce-tabs ul.tabs {
    max-width:none !important;
    gap:7px !important;
    margin-bottom:20px !important;
  }

  body.single-product .woocommerce-tabs ul.tabs li a {
    min-height:42px !important;
    padding:0 15px !important;
    font-size:11px !important;
  }

  body.single-product ul.products li.product {
    flex-basis:158px !important;
    width:158px !important;
    min-width:158px !important;
    max-width:158px !important;
    border-radius:20px !important;
  }

  body.single-product ul.products li.product img {
    height:132px !important;
    padding:14px !important;
    border-radius:20px 20px 16px 16px !important;
  }

  body.single-product ul.products li.product .woocommerce-loop-product__title,
  body.single-product ul.products li.product h2,
  body.single-product ul.products li.product h3 {
    margin:12px 12px 6px !important;
    font-size:11px !important;
  }

  body.single-product ul.products li.product .price {
    margin:0 12px 12px !important;
    font-size:16px !important;
  }

  body.single-product .ens-related-controls {
    display:none !important;
  }
}

/* -------------------------------------------------------------------------
   ENS v2.0.6: mobile stability, no page horizontal overflow, safer touch UI.
   Keep this block at the very end.
------------------------------------------------------------------------- */
html,
body.single-product {
  max-width:100% !important;
  overflow-x:hidden !important;
  overscroll-behavior-x:none !important;
}

body.single-product .site,
body.single-product #page,
body.single-product .site-content,
body.single-product .ast-container,
body.single-product .site-main,
body.single-product .woocommerce,
body.single-product .ens-product-page,
body.single-product .ens-product-top,
body.single-product .ens-gallery-column,
body.single-product .ens-purchase-card,
body.single-product .ens-product-content {
  max-width:100% !important;
  min-width:0 !important;
  overflow-x:clip !important;
}

/* Only long product content is allowed to scroll horizontally if an inner table/image is wider. */
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel .woocommerce-product-details__short-description,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel .entry-content {
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  -webkit-overflow-scrolling:touch !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel table,
body.single-product .woocommerce-tabs .panel table {
  max-width:none !important;
}

/* Touch stability for variation chips. */
body.single-product .ens-chip,
body.single-product .ens-gallery-thumb,
body.single-product .ens-gallery-arrow,
body.single-product .ens-gallery-zoom,
body.single-product .single_add_to_cart_button,
body.single-product .ens-buy-now-button,
body.single-product .ens-sticky-submit,
body.single-product .ens-sticky-cart button {
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:rgba(227,72,34,.16) !important;
  user-select:none !important;
}

body.single-product .ens-chip-list {
  max-width:100% !important;
  overflow:visible !important;
}

body.single-product .ens-chip {
  position:relative !important;
  z-index:2 !important;
}

/* Sticky cart must not block mobile taps while hidden. */
body.single-product .ens-sticky-cart {
  pointer-events:none !important;
  max-width:calc(100vw - 24px) !important;
}
body.single-product .ens-sticky-cart.is-visible {
  pointer-events:auto !important;
}

/* Gallery thumbnails: one horizontal row always, never multiple rows. */
body.single-product .ens-gallery-thumbs {
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  max-width:100% !important;
  width:100% !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-snap-type:x proximity !important;
}

body.single-product .ens-gallery-thumb {
  flex-grow:0 !important;
  flex-shrink:0 !important;
}

/* Woo tabs: vertical and all visible, no horizontal tab scroller. */
body.single-product .woocommerce-tabs ul.tabs {
  display:flex !important;
  flex-direction:column !important;
  flex-wrap:nowrap !important;
  overflow:visible !important;
  max-width:380px !important;
  width:100% !important;
}

/* Related products: horizontal carousel only, no page overflow. */
body.single-product section.related,
body.single-product .upsells {
  max-width:100% !important;
  overflow:hidden !important;
}
body.single-product section.related ul.products,
body.single-product .upsells ul.products {
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  -webkit-overflow-scrolling:touch !important;
  scroll-snap-type:x proximity !important;
}

@media (max-width: 767px) {
  body.single-product .site-content .ast-container,
  body.single-product .ast-container,
  body.single-product .site-main,
  body.single-product .woocommerce {
    padding-left:8px !important;
    padding-right:8px !important;
    overflow-x:clip !important;
  }

  body.single-product .ens-product-top {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    padding-top:4px !important;
    padding-bottom:22px !important;
    overflow-x:clip !important;
  }

  body.single-product .ens-gallery-column {
    position:relative !important;
    top:auto !important;
    overflow:visible !important;
  }

  body.single-product .ens-gallery-stage {
    width:100% !important;
    min-height:300px !important;
    height:300px !important;
    max-height:300px !important;
    border-radius:14px !important;
  }

  body.single-product .ens-main-gallery-image {
    max-width:82% !important;
    max-height:270px !important;
  }

  body.single-product .ens-gallery-thumbs {
    gap:7px !important;
    margin-top:8px !important;
    padding:0 0 8px !important;
  }

  body.single-product .ens-gallery-thumb {
    flex-basis:calc((100% - 28px) / 5) !important;
    width:calc((100% - 28px) / 5) !important;
    min-width:calc((100% - 28px) / 5) !important;
    max-width:calc((100% - 28px) / 5) !important;
    height:58px !important;
    padding:5px !important;
    border-radius:10px !important;
  }

  body.single-product .ens-gallery-stage .ens-gallery-arrow {
    width:36px !important;
    height:36px !important;
    font-size:24px !important;
  }
  body.single-product .ens-gallery-stage .ens-gallery-prev { left:8px !important; }
  body.single-product .ens-gallery-stage .ens-gallery-next { right:8px !important; }

  body.single-product .ens-gallery-zoom {
    width:36px !important;
    height:36px !important;
    top:8px !important;
    right:8px !important;
  }

  body.single-product .ens-purchase-card {
    padding:14px !important;
    border-radius:14px !important;
    overflow:visible !important;
  }

  body.single-product .ens-meta-row,
  body.single-product .ens-price-stock-row {
    gap:10px !important;
  }

  body.single-product .ens-cart-area table.variations label {
    margin-bottom:7px !important;
  }

  body.single-product .ens-chip-list {
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:8px !important;
    margin-bottom:14px !important;
  }

  body.single-product .ens-chip {
    min-height:50px !important;
    font-size:12px !important;
    padding:8px 6px !important;
  }

  body.single-product .woocommerce-variation-add-to-cart,
  body.single-product form.cart:not(.variations_form) {
    max-width:100% !important;
    overflow:visible !important;
  }

  body.single-product .ens-cart-actions {
    grid-template-columns:82px minmax(0,1fr) !important;
    gap:8px !important;
  }

  body.single-product .quantity,
  body.single-product .quantity input.qty {
    max-width:100% !important;
  }

  body.single-product .single_add_to_cart_button,
  body.single-product .ens-buy-now-button {
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  body.single-product .ens-trust-cards,
  body.single-product .ens-stock-box {
    max-width:100% !important;
    overflow:hidden !important;
  }

  body.single-product .ens-sticky-cart {
    left:8px !important;
    right:8px !important;
    bottom:8px !important;
    width:auto !important;
    max-width:calc(100vw - 16px) !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    padding:9px !important;
    transform:translateY(calc(100% + 28px)) !important;
    overflow:hidden !important;
  }

  body.single-product .ens-sticky-cart.is-visible {
    transform:translateY(0) !important;
  }

  body.single-product .ens-sticky-product,
  body.single-product .ens-sticky-product > div {
    min-width:0 !important;
    overflow:hidden !important;
  }

  body.single-product .ens-sticky-actions {
    min-width:0 !important;
    width:auto !important;
  }

  body.single-product .ens-sticky-submit {
    width:auto !important;
    min-width:92px !important;
    max-width:116px !important;
    height:40px !important;
    padding:0 10px !important;
    font-size:10px !important;
  }

  body.single-product .woocommerce-tabs ul.tabs {
    max-width:none !important;
    width:100% !important;
  }

  body.single-product section.related ul.products li.product,
  body.single-product .upsells ul.products li.product,
  body.single-product ul.products li.product {
    flex:0 0 150px !important;
    width:150px !important;
    min-width:150px !important;
    max-width:150px !important;
  }
}

/* -------------------------------------------------------------------------
   ENS v2.0.7: mobile performance, left-column content, safer overflow,
   native Woo tabs as vertical anchors, custom related HTML area.
------------------------------------------------------------------------- */
html, body.single-product {
  overflow-x:hidden !important;
  max-width:100% !important;
}

body.single-product .site,
body.single-product .site-content,
body.single-product .ast-container,
body.single-product .site-main,
body.single-product .woocommerce,
body.single-product .ens-product-page {
  overflow-x:clip !important;
  max-width:100% !important;
}

body.single-product .site-content .ast-container,
body.single-product .ast-container,
body.single-product .site-main,
body.single-product .woocommerce {
  max-width:1480px !important;
  padding-left:18px !important;
  padding-right:18px !important;
}

@media (min-width:1021px) {
  body.single-product .ens-product-page {
    display:grid !important;
    grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr) !important;
    gap:0 48px !important;
    align-items:start !important;
  }

  body.single-product .ens-product-top {
    display:contents !important;
    padding:0 !important;
    border:0 !important;
  }

  body.single-product .ens-gallery-column {
    grid-column:1 !important;
    position:relative !important;
    top:auto !important;
    min-width:0 !important;
    padding-top:28px !important;
  }

  body.single-product .ens-purchase-card {
    grid-column:2 !important;
    position:sticky !important;
    top:88px !important;
    align-self:start !important;
    margin-top:28px !important;
  }

  body.single-product .ens-product-content {
    grid-column:1 !important;
    width:100% !important;
    padding-top:34px !important;
    margin-top:0 !important;
  }

  body.single-product .ens-related-html {
    grid-column:1 / -1 !important;
    width:100% !important;
  }
}

body.single-product .ens-custom-gallery {
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}

body.single-product .ens-gallery-stage {
  width:100% !important;
  aspect-ratio:1 / .84 !important;
  min-height:0 !important;
  max-height:none !important;
  border:1px solid var(--ens-line) !important;
  border-radius:18px !important;
  background:#fff !important;
  overflow:hidden !important;
}

body.single-product .ens-main-gallery-image {
  width:auto !important;
  max-width:76% !important;
  max-height:78% !important;
  height:auto !important;
  object-fit:contain !important;
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  box-shadow:none !important;
  filter:none !important;
}

body.single-product .ens-gallery-thumbs {
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:10px !important;
  width:100% !important;
  max-width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:12px 0 4px !important;
  margin:0 !important;
  scroll-snap-type:x proximity !important;
  -webkit-overflow-scrolling:touch !important;
}

body.single-product .ens-gallery-thumb {
  flex:0 0 calc((100% - 50px) / 6) !important;
  width:auto !important;
  min-width:0 !important;
  height:78px !important;
  border-radius:12px !important;
  scroll-snap-align:start !important;
  box-shadow:none !important;
  touch-action:manipulation !important;
}

body.single-product .ens-gallery-thumb img {
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  padding:7px !important;
  box-shadow:none !important;
  filter:none !important;
}

body.single-product .ens-gallery-stage .ens-gallery-zoom {
  top:14px !important;
  right:14px !important;
  bottom:auto !important;
  left:auto !important;
  width:40px !important;
  height:40px !important;
  border-radius:50% !important;
}

body.single-product .ens-gallery-stage .ens-gallery-arrow {
  width:40px !important;
  height:40px !important;
  font-size:25px !important;
  top:50% !important;
  box-shadow:none !important;
  touch-action:manipulation !important;
}

body.single-product .ens-cart-area .ens-chip,
body.single-product .ens-cart-area .single_add_to_cart_button,
body.single-product .ens-buy-now-button,
body.single-product .ens-sticky-submit,
body.single-product .ens-sticky-qty button,
body.single-product .quantity input.qty {
  touch-action:manipulation !important;
  -webkit-tap-highlight-color:transparent !important;
}

body.single-product .ens-chip.is-disabled,
body.single-product .ens-chip:disabled {
  opacity:.32 !important;
  color:#8d827c !important;
  background:#f7f3f0 !important;
  border-color:#e4d9d2 !important;
  cursor:not-allowed !important;
}

body.single-product .ens-chip.is-disabled::after,
body.single-product .ens-chip:disabled::after {
  content:'Agotado' !important;
  display:block !important;
  margin-top:2px !important;
  font-size:9px !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:#9c8e87 !important;
  text-transform:uppercase !important;
}

body.single-product .ens-price .woocommerce-price-suffix,
body.single-product .ens-price small,
body.single-product .ens-price .includes_tax,
body.single-product .ens-sticky-price .woocommerce-price-suffix,
body.single-product .ens-sticky-price small,
body.single-product .ens-sticky-price .includes_tax {
  display:inline-block !important;
  font-size:12px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
  color:var(--ens-muted) !important;
}

body.single-product .ens-stock-box {
  padding:14px !important;
}

body.single-product .ens-stock-copy strong {
  font-size:13px !important;
  line-height:1.25 !important;
  letter-spacing:.6px !important;
}

body.single-product .ens-stock-copy p,
body.single-product .ens-restock {
  font-size:12px !important;
  line-height:1.45 !important;
}

body.single-product .ens-stock-icon {
  width:28px !important;
  height:28px !important;
  font-size:13px !important;
  flex:0 0 28px !important;
}

body.single-product .woocommerce-tabs {
  width:100% !important;
  margin:0 !important;
}

body.single-product .woocommerce-tabs ul.tabs {
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  width:100% !important;
  overflow:visible !important;
  padding:0 0 18px !important;
  margin:0 0 22px !important;
  border-bottom:1px solid var(--ens-line) !important;
}

body.single-product .woocommerce-tabs ul.tabs li {
  display:block !important;
  width:100% !important;
  margin:0 !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
  width:100% !important;
  justify-content:flex-start !important;
  border-radius:14px !important;
  padding:13px 16px !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs .panel {
  display:block !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  max-width:100% !important;
  -webkit-overflow-scrolling:touch !important;
  padding:26px 0 30px !important;
  border-bottom:1px solid var(--ens-line) !important;
}

body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2:first-child,
body.single-product .woocommerce-tabs .panel h2:first-child,
body.single-product .ens-tab-section-title {
  display:block !important;
  margin:0 0 18px !important;
  font-size:26px !important;
  line-height:1.1 !important;
  text-transform:uppercase !important;
  font-weight:900 !important;
}

body.single-product .ens-related-html {
  margin-top:46px !important;
  max-width:100% !important;
  overflow:hidden !important;
}

body.single-product .ens-related-html .ens-tr {
  max-width:100% !important;
  overflow:hidden !important;
}

body.single-product .ens-related-html .ens-tr-grid {
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x proximity !important;
  -webkit-overflow-scrolling:touch !important;
  padding-bottom:8px !important;
}

body.single-product .ens-related-html .ens-tr-card,
body.single-product .ens-related-html .ens-tr-skel {
  flex:0 0 180px !important;
  scroll-snap-align:start !important;
}

@media (max-width:1020px) {
  body.single-product .ens-product-page {
    display:block !important;
  }

  body.single-product .ens-product-top {
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
    padding:14px 0 26px !important;
  }

  body.single-product .ens-gallery-column,
  body.single-product .ens-purchase-card,
  body.single-product .ens-product-content,
  body.single-product .ens-related-html {
    grid-column:auto !important;
    position:relative !important;
    top:auto !important;
    margin-top:0 !important;
  }
}

@media (max-width:720px) {
  body.single-product .site-content .ast-container,
  body.single-product .ast-container,
  body.single-product .site-main,
  body.single-product .woocommerce {
    padding-left:10px !important;
    padding-right:10px !important;
  }

  body.single-product .ens-product-top {
    gap:14px !important;
    padding-top:8px !important;
  }

  body.single-product .ens-gallery-stage {
    aspect-ratio:1 / .86 !important;
    border-radius:16px !important;
  }

  body.single-product .ens-main-gallery-image {
    max-width:78% !important;
    max-height:76% !important;
  }

  body.single-product .ens-gallery-thumbs {
    gap:8px !important;
    padding:9px 0 3px !important;
  }

  body.single-product .ens-gallery-thumb {
    flex-basis:calc((100% - 32px) / 5) !important;
    height:64px !important;
    border-radius:10px !important;
  }

  body.single-product .ens-purchase-card {
    padding:15px !important;
    border-radius:16px !important;
  }

  body.single-product .ens-meta-row,
  body.single-product .ens-price-stock-row {
    gap:9px !important;
  }

  body.single-product .ens-product-category,
  body.single-product .ens-product-category a,
  body.single-product .ens-rating {
    font-size:10px !important;
  }

  body.single-product .ens-product-title {
    font-size:25px !important;
  }

  body.single-product .ens-short-description {
    font-size:13px !important;
  }

  body.single-product .ens-price,
  body.single-product .ens-price .price,
  body.single-product .ens-price p.price {
    font-size:28px !important;
  }

  body.single-product .ens-chip-list {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  body.single-product .ens-chip {
    min-height:50px !important;
    font-size:12px !important;
  }

  body.single-product .ens-cart-area .woocommerce-variation-add-to-cart.variations_button,
  body.single-product .ens-cart-area .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-enabled,
  body.single-product .ens-cart-area .woocommerce-variation-add-to-cart.variations_button.woocommerce-variation-add-to-cart-disabled,
  body.single-product .ens-cart-area .product-type-simple form.cart,
  body.single-product.product-type-simple .ens-cart-area form.cart {
    /* v3.1.13 movil: el padre ya es flex desde la regla principal,
       aqui solo ajustamos el gap */
    gap:8px !important;
  }

  /* Boton carrito mas compacto en movil */
  body.single-product .ens-cart-area .single_add_to_cart_button {
    flex:0 0 60px !important;
    flex-basis:60px !important;
    width:60px !important;
    min-width:60px !important;
    max-width:60px !important;
  }

  body.single-product .ens-cart-area .quantity input.qty,
  body.single-product .ens-cart-area .single_add_to_cart_button.button.alt,
  body.single-product .ens-buy-now-button {
    height:50px !important;
    min-height:50px !important;
    line-height:50px !important;
  }

  body.single-product .ens-trust-cards {
    gap:8px !important;
  }

  body.single-product .ens-trust-card {
    padding:10px !important;
  }

  body.single-product .ens-sticky-cart {
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    max-width:100% !important;
    transform:translateY(130%) !important;
    border-radius:14px 14px 0 0 !important;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom)) !important;
    gap:8px !important;
  }

  body.single-product .ens-sticky-cart.is-visible {
    transform:translateY(0) !important;
  }

  body.single-product .ens-sticky-product {
    flex:1 1 auto !important;
    min-width:0 !important;
  }

  body.single-product .ens-sticky-product strong {
    max-width:52vw !important;
    font-size:11px !important;
  }

  body.single-product .ens-sticky-product span {
    font-size:10px !important;
  }

  body.single-product .ens-sticky-actions {
    flex:0 0 auto !important;
    min-width:0 !important;
  }

  body.single-product .ens-sticky-submit {
    height:42px !important;
    padding:0 13px !important;
    font-size:10px !important;
    white-space:nowrap !important;
  }

  body.single-product .woocommerce-tabs ul.tabs {
    gap:7px !important;
  }

  body.single-product .woocommerce-tabs ul.tabs li a {
    padding:11px 13px !important;
    font-size:11px !important;
  }

  body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2:first-child,
  body.single-product .woocommerce-tabs .panel h2:first-child,
  body.single-product .ens-tab-section-title {
    font-size:22px !important;
  }

  body.single-product .ens-related-html .ens-tr {
    padding:32px 0 44px !important;
  }

  body.single-product .ens-related-html .ens-tr-grid {
    gap:10px !important;
  }

  body.single-product .ens-related-html .ens-tr-card,
  body.single-product .ens-related-html .ens-tr-skel {
    flex-basis:42vw !important;
    min-width:145px !important;
  }
}

/* -------------------------------------------------------------------------
   ENS v2.0.8: true two-column desktop layout, horizontal desktop tabs,
   no blank grid row below gallery, sticky summary always visible on PC.
------------------------------------------------------------------------- */
body.single-product .ens-product-page {
  display:block !important;
  max-width:1480px !important;
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

body.single-product .ens-product-layout {
  width:100% !important;
  min-width:0 !important;
}

body.single-product .ens-left-column {
  min-width:0 !important;
  width:100% !important;
}

body.single-product .ens-product-content {
  width:100% !important;
}

@media (min-width:1021px) {
  body.single-product .ens-product-layout {
    display:grid !important;
    grid-template-columns:minmax(0, 1.08fr) minmax(380px, .92fr) !important;
    gap:48px !important;
    align-items:start !important;
  }

  body.single-product .ens-left-column {
    grid-column:1 !important;
    display:block !important;
    padding-top:28px !important;
  }

  body.single-product .ens-gallery-column {
    position:relative !important;
    top:auto !important;
    padding-top:0 !important;
    margin:0 !important;
  }

  body.single-product .ens-product-content {
    padding-top:34px !important;
    margin-top:0 !important;
  }

  body.single-product .ens-purchase-card {
    grid-column:2 !important;
    position:sticky !important;
    top:88px !important;
    align-self:start !important;
    margin-top:28px !important;
    max-height:calc(100vh - 104px) !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
  }

  body.single-product .ens-related-html {
    margin-top:54px !important;
    width:100% !important;
  }

  /* Desktop tabs: native WooCommerce labels, horizontal, all visible. */
  body.single-product .woocommerce-tabs ul.tabs {
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:10px !important;
    width:100% !important;
    max-width:none !important;
    overflow:visible !important;
    padding:0 0 18px !important;
    margin:0 0 26px !important;
    border-bottom:1px solid var(--ens-line) !important;
  }

  body.single-product .woocommerce-tabs ul.tabs li {
    width:auto !important;
    flex:0 0 auto !important;
    display:block !important;
  }

  body.single-product .woocommerce-tabs ul.tabs li a {
    width:auto !important;
    min-height:46px !important;
    justify-content:center !important;
    border-radius:999px !important;
    padding:0 18px !important;
    font-size:12px !important;
  }
}

@media (max-width:1020px) {
  body.single-product .ens-product-layout {
    display:block !important;
  }

  body.single-product .ens-left-column,
  body.single-product .ens-gallery-column,
  body.single-product .ens-purchase-card,
  body.single-product .ens-product-content {
    position:relative !important;
    top:auto !important;
    margin-top:0 !important;
  }

  body.single-product .ens-purchase-card {
    margin-top:18px !important;
  }
}


/* =========================================================================
   ENS v3.1 OVERRIDES — NeuroAds
   ========================================================================= */

/* ---- LAYOUT FIX: dos columnas equilibradas, sin overflow interno ---- */
@media (min-width: 1021px) {
  body.single-product .ens-product-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(420px, 480px) !important;
    gap: 40px !important;
    align-items: start !important;
  }

  body.single-product .ens-purchase-card {
    position: sticky !important;
    top: 100px !important;
    align-self: start !important;
    margin-top: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    overflow-y: visible !important;
  }

  body.single-product .ens-left-column {
    padding-top: 0 !important;
  }

  body.single-product .ens-product-content {
    padding-top: 40px !important;
    margin-top: 40px !important;
    border-top: 1px solid var(--ens-line) !important;
  }
}

/* ---- GALLERY STAGE: aspecto cuadrado, imagen centrada ---- */
body.single-product .ens-custom-gallery {
  width: 100% !important;
  display: block !important;
}

body.single-product .ens-gallery-stage {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  border: 1px solid var(--ens-line) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #fff 0%, var(--ens-cream) 100%) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  overflow: hidden !important;
  min-height: 0 !important;
}

body.single-product .ens-main-gallery-image {
  max-width: 78% !important;
  max-height: 78% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
  position: relative !important;
  z-index: 1 !important;
}

body.single-product .ens-gallery-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid var(--ens-line-2) !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: var(--ens-black) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 22px !important;
  line-height: 1 !important;
  cursor: pointer !important;
  z-index: 9 !important;
  padding: 0 !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
body.single-product .ens-gallery-arrow svg {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  pointer-events: none !important;
}
body.single-product .ens-gallery-prev { left: 16px !important; top: 50% !important; }
body.single-product .ens-gallery-next { right: 16px !important; top: 50% !important; }
body.single-product .ens-gallery-arrow:hover {
  background: var(--ens-orange) !important;
  border-color: var(--ens-orange) !important;
  color: #fff !important;
}

body.single-product .ens-gallery-zoom {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  width: 36px !important;
  height: 36px !important;
  border: 1px solid var(--ens-line-2) !important;
  border-radius: 50% !important;
  background: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--ens-text) !important;
  z-index: 9 !important;
  text-decoration: none !important;
}

/* ---- DOTS ---- */
body.single-product .ens-gallery-thumbs { display: none !important; }
body.single-product .ens-gallery-dots {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 14px 0 4px !important;
  flex-wrap: wrap !important;
}
body.single-product .ens-gallery-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--ens-line-2) !important;
  border: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  padding: 0 !important;
  display: inline-block !important;
}
body.single-product .ens-gallery-dot.is-active {
  background: var(--ens-orange) !important;
  width: 22px !important;
  border-radius: 4px !important;
}

/* ---- TABS COMPLETAMENTE OCULTOS ---- */
body.single-product .woocommerce-tabs ul.tabs { display: none !important; }
body.single-product .woocommerce-tabs .panel,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
  display: block !important;
  width: 100% !important;
  float: none !important;
  margin: 0 0 40px !important;
  padding: 0 !important;
}

/* Descripcion y resenas: titulos */
body.single-product .ens-section-title,
body.single-product .ens-tab-section-title,
body.single-product .woocommerce-tabs .panel h2:first-child,
body.single-product #reviews h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.5px !important;
  color: var(--ens-text) !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  line-height: 1.1 !important;
}

body.single-product .ens-product-description,
body.single-product .ens-product-reviews {
  margin-bottom: 40px !important;
}

/* OJO: NO forzamos color/background aqui. El HTML de la descripcion
   trae sus propios estilos inline (fondos oscuros, texto blanco, etc.)
   y debe poder pintar con libertad. Solo size/leading por defecto. */
body.single-product .ens-product-description p,
body.single-product .ens-product-description li {
  font-size: 15px;
  line-height: 1.7;
}

/* Resenas */
/* =====================================================
   RESENAS — diseno propio sobre el markup nativo de WC
   ===================================================== */
body.single-product #reviews {
  margin-top: 0 !important;
}
body.single-product #reviews h2,
body.single-product #reviews #comments > h2 {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.5px !important;
  color: var(--ens-text) !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  line-height: 1.1 !important;
}

/* "No hay valoraciones" */
body.single-product #reviews .woocommerce-noreviews {
  padding: 18px !important;
  background: #faf8f7 !important;
  border: 1px solid var(--ens-line) !important;
  border-radius: 12px !important;
  color: var(--ens-muted, #8a7d75) !important;
  font-size: 14px !important;
}

/* Lista de resenas */
body.single-product #reviews .commentlist,
body.single-product #reviews ol.commentlist {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 28px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}

body.single-product #reviews .commentlist li.review,
body.single-product #reviews .commentlist li.comment {
  position: relative !important;
  border: 1px solid var(--ens-line) !important;
  border-radius: 14px !important;
  padding: 18px 18px 18px 78px !important; /* 78px deja sitio al avatar a la izda */
  margin: 0 !important;
  background: #fff !important;
  list-style: none !important;
  transition: border-color 0.2s ease !important;
}
body.single-product #reviews .commentlist li.review:hover {
  border-color: var(--ens-line-2, #ded0c7) !important;
}

/* Avatar redondo a la izquierda. Si no hay avatar, ponemos un placeholder con la inicial */
body.single-product #reviews .commentlist .avatar {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  background: var(--ens-cream, #f7f0ea) !important;
  border: 2px solid var(--ens-line) !important;
  margin: 0 !important;
}

/* "comment-text" wrapper */
body.single-product #reviews .commentlist .comment-text,
body.single-product #reviews .commentlist .comment_container .comment-text {
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Cabecera: estrellas + meta */
body.single-product #reviews .commentlist .star-rating {
  margin: 0 0 6px !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
}
body.single-product #reviews .commentlist .star-rating::before {
  color: var(--ens-line-2, #ded0c7) !important;
}
body.single-product #reviews .commentlist .star-rating span::before {
  color: var(--ens-orange) !important;
}

body.single-product #reviews .commentlist .meta {
  margin: 0 0 8px !important;
  padding: 0 !important;
  font-size: 13px !important;
  color: var(--ens-text) !important;
  font-weight: 700 !important;
}
body.single-product #reviews .commentlist .meta strong {
  color: var(--ens-text) !important;
  font-weight: 800 !important;
}
body.single-product #reviews .commentlist .meta .woocommerce-review__published-date,
body.single-product #reviews .commentlist .meta time {
  display: inline-block !important;
  margin-left: 8px !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--ens-muted, #8a7d75) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
}
body.single-product #reviews .commentlist .meta .woocommerce-review__dash {
  display: none !important;
}

/* Texto del comentario */
body.single-product #reviews .commentlist .description,
body.single-product #reviews .commentlist .comment-text p {
  margin: 6px 0 0 !important;
  font-size: 14.5px !important;
  line-height: 1.55 !important;
  color: var(--ens-text) !important;
}

/* "Comprado verificado" badge */
body.single-product #reviews .commentlist .verified::before,
body.single-product #reviews .commentlist .review-verified::before {
  content: '\2713  Compra verificada' !important;
  display: inline-block !important;
  margin-left: 8px !important;
  padding: 2px 8px !important;
  border-radius: 12px !important;
  background: #ecfdf5 !important;
  color: #16a34a !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.4px !important;
  vertical-align: middle !important;
}

/* Form de nueva resena */
body.single-product #review_form_wrapper {
  margin-top: 28px !important;
  padding: 22px !important;
  border: 1px solid var(--ens-line) !important;
  border-top: 2px solid var(--ens-orange) !important;
  border-radius: 14px !important;
  background: #faf8f7 !important;
}
body.single-product #review_form #reply-title {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 18px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.3px !important;
  color: var(--ens-text) !important;
  margin: 0 0 14px !important;
  line-height: 1.2 !important;
}
body.single-product #review_form .comment-form-rating label,
body.single-product #review_form .comment-form-author label,
body.single-product #review_form .comment-form-email label,
body.single-product #review_form .comment-form-comment label {
  display: block !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  color: var(--ens-text) !important;
  margin: 12px 0 6px !important;
}
body.single-product #review_form .comment-form-rating .stars {
  margin: 6px 0 14px !important;
}
body.single-product #review_form .comment-form-rating .stars a {
  color: var(--ens-line-2, #ded0c7) !important;
  transition: color 0.15s ease !important;
}
body.single-product #review_form .comment-form-rating .stars a:hover,
body.single-product #review_form .comment-form-rating .stars.selected a.active,
body.single-product #review_form .comment-form-rating .stars.selected a.active ~ a {
  color: var(--ens-orange) !important;
}
body.single-product #review_form input[type="text"],
body.single-product #review_form input[type="email"],
body.single-product #review_form textarea {
  width: 100% !important;
  max-width: 100% !important;
  padding: 12px 14px !important;
  border: 1.5px solid var(--ens-line-2, #ded0c7) !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  font-family: inherit !important;
  background: #fff !important;
  color: var(--ens-text) !important;
  box-shadow: none !important;
  transition: border-color 0.15s ease, box-shadow 0.15s ease !important;
}
body.single-product #review_form input[type="text"]:focus,
body.single-product #review_form input[type="email"]:focus,
body.single-product #review_form textarea:focus {
  border-color: var(--ens-orange) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(227,72,34,0.08) !important;
}
body.single-product #review_form .comment-form-cookies-consent {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 12px 0 !important;
  font-size: 12px !important;
  color: var(--ens-muted, #8a7d75) !important;
}
body.single-product #review_form .comment-form-cookies-consent label {
  margin: 0 !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.single-product #review_form .form-submit input[type="submit"],
body.single-product #review_form .submit {
  display: inline-block !important;
  background: var(--ens-orange) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 14px 28px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  cursor: pointer !important;
  transition: background 0.15s ease, transform 0.15s ease !important;
  margin: 8px 0 0 !important;
  min-height: 0 !important;
  line-height: 1 !important;
  width: auto !important;
}
body.single-product #review_form .form-submit input[type="submit"]:hover {
  background: var(--ens-orange-dark, #c93d1c) !important;
  transform: translateY(-1px) !important;
}

/* ---- DROPDOWN STYLES (variaciones) ---- */
body.single-product .ens-chip-list { display: none !important; }
body.single-product .ens-cart-area table.variations select.ens-select-ready {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

body.single-product .ens-cart-area table.variations {
  display: block !important;
  margin: 0 0 16px !important;
  width: 100% !important;
}

body.single-product .ens-cart-area table.variations tbody,
body.single-product .ens-cart-area table.variations tr,
body.single-product .ens-cart-area table.variations th,
body.single-product .ens-cart-area table.variations td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.single-product .ens-cart-area table.variations tr {
  margin-bottom: 12px !important;
}

body.single-product .ens-cart-area table.variations label {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  color: var(--ens-text) !important;
  margin: 0 0 4px !important;
  display: block !important;
  justify-content: flex-start !important;
}

body.single-product .ens-cart-area table.variations select {
  width: 100% !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: var(--ens-text) !important;
  background: #f8f6f4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236a5a50' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center !important;
  border: 1.5px solid var(--ens-line-2) !important;
  border-radius: 10px !important;
  padding: 12px 40px 12px 16px !important;
  min-height: 46px !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  outline: none !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease !important;
}

body.single-product .ens-cart-area table.variations select:focus {
  border-color: var(--ens-orange) !important;
  background-color: #fff !important;
  box-shadow: 0 0 0 3px rgba(227,72,34,0.06) !important;
}

body.single-product .reset_variations { display: none !important; }

/* ---- BOTONES: layout y estética ---- */
body.single-product .woocommerce-variation-add-to-cart,
body.single-product .product-type-simple form.cart {
  display: grid !important;
  grid-template-columns: 140px 1fr 54px !important;
  grid-template-areas: "qty buy add" !important;
  gap: 8px !important;
  align-items: center !important;
  margin: 16px 0 0 !important;
}

body.single-product .ens-cart-area .quantity { grid-area: qty !important; }
body.single-product .ens-cart-area .single_add_to_cart_button { grid-area: add !important; }
body.single-product .ens-cart-area .ens-buy-now-button { grid-area: buy !important; }

/* QUANTITY +/- */
body.single-product .quantity {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  border: 1.5px solid var(--ens-line-2) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #f8f6f4 !important;
  height: 54px !important;
}

body.single-product .quantity input.qty {
  border: none !important;
  border-left: 1.5px solid var(--ens-line-2) !important;
  border-right: 1.5px solid var(--ens-line-2) !important;
  border-radius: 0 !important;
  background: #fff !important;
  width: 44px !important;
  text-align: center !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: var(--ens-text) !important;
  height: 100% !important;
  min-height: 0 !important;
  -webkit-appearance: none !important;
  -moz-appearance: textfield !important;
  padding: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

body.single-product .quantity input.qty::-webkit-inner-spin-button,
body.single-product .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}

body.single-product .ens-qty-btn,
body.single-product .ens-cart-area .ens-qty-btn,
body.single-product .ens-cart-area .quantity .ens-qty-btn {
  width: 40px !important;
  height: 54px !important;          /* altura explicita, no dependemos de stretch */
  min-height: 54px !important;
  max-height: 54px !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  color: var(--ens-text) !important;
  transition: background 0.15s ease, color 0.15s ease !important;
  flex-shrink: 0 !important;
  text-indent: 0 !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  outline: none !important;
  box-shadow: none !important;
}
/* SVG dentro del boton: tamano fijo, sin transformaciones que lo puedan ocultar */
body.single-product .ens-qty-btn svg,
body.single-product .ens-cart-area .ens-qty-btn svg {
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  pointer-events: none !important;
  fill: none !important;
  stroke: currentColor !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.single-product .ens-qty-btn:hover,
body.single-product .ens-cart-area .ens-qty-btn:hover {
  background: var(--ens-orange) !important;
  color: #fff !important;
}

/* COMPRAR YA (botón principal naranja) */
body.single-product .ens-cart-area .ens-buy-now-button {
  background: var(--ens-orange) !important;
  color: #fff !important;
  border: 2px solid var(--ens-orange) !important;
  border-radius: 12px !important;
  height: 54px !important;
  min-height: 54px !important;
  line-height: 1 !important;
  padding: 0 20px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 1.2px !important;
  cursor: pointer !important;
  width: 100% !important;
  box-shadow: none !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}
body.single-product .ens-cart-area .ens-buy-now-button:hover {
  background: var(--ens-orange-dark) !important;
  border-color: var(--ens-orange-dark) !important;
}

/* ÚNICO BOTÓN CARRITO (icono SVG) */
body.single-product .ens-cart-area .single_add_to_cart_button,
body.single-product .ens-cart-area .single_add_to_cart_button.button,
body.single-product .ens-cart-area .single_add_to_cart_button.button.alt,
body.single-product .ens-cart-area form.cart .single_add_to_cart_button.button.alt {
  font-size: 0 !important;
  width: 54px !important;
  min-width: 54px !important;
  max-width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  border-radius: 12px !important;
  background: var(--ens-black) !important;
  background-image: none !important;
  color: #fff !important;
  border: 2px solid var(--ens-black) !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.15s ease !important;
  box-shadow: none !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
}

body.single-product .ens-cart-area .single_add_to_cart_button::before,
body.single-product .ens-cart-area .single_add_to_cart_button.button::before,
body.single-product .ens-cart-area .single_add_to_cart_button.button.alt::before {
  content: '' !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  text-indent: 0 !important;
}

body.single-product .ens-cart-area .single_add_to_cart_button:hover,
body.single-product .ens-cart-area .single_add_to_cart_button.button:hover,
body.single-product .ens-cart-area .single_add_to_cart_button.button.alt:hover {
  background: var(--ens-orange) !important;
  border-color: var(--ens-orange) !important;
  transform: scale(1.03) !important;
}

body.single-product .ens-cart-area .single_add_to_cart_button:hover::before,
body.single-product .ens-cart-area .single_add_to_cart_button.button:hover::before,
body.single-product .ens-cart-area .single_add_to_cart_button.button.alt:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6'/%3E%3C/svg%3E") !important;
}

body.single-product .ens-cart-area .single_add_to_cart_button.disabled,
body.single-product .ens-cart-area .single_add_to_cart_button.wc-variation-selection-needed,
body.single-product .ens-cart-area .ens-buy-now-button:disabled {
  opacity: 0.45 !important;
  cursor: not-allowed !important;
}

/* ---- GUARANTEES ---- */
body.single-product .ens-pg { padding: 16px 0 8px !important; }
body.single-product .ens-pg * { box-sizing: border-box !important; }
body.single-product .ens-pg-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  border: 1px solid #ece7e4 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 0 !important;
}
body.single-product .ens-pg-item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 13px 16px !important;
  border-bottom: 1px solid #ece7e4 !important;
  transition: background 0.18s ease !important;
}
body.single-product .ens-pg-item:last-child { border-bottom: none !important; }
body.single-product .ens-pg-icon {
  width: 34px !important; height: 34px !important;
  border-radius: 8px !important; background: #f5f0ed !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important;
}
body.single-product .ens-pg-icon svg {
  width: 16px !important; height: 16px !important;
  fill: none !important; stroke: var(--ens-orange) !important;
  stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important;
}
body.single-product .ens-pg-text { flex: 1 !important; min-width: 0 !important; }
body.single-product .ens-pg-label {
  font-size: 10px !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: 1px !important;
  color: var(--ens-text) !important; line-height: 1 !important; margin: 0 0 3px !important;
}
body.single-product .ens-pg-desc {
  font-size: 11px !important; font-weight: 500 !important;
  color: #8a7a70 !important; line-height: 1.4 !important;
  margin: 0 !important;
}

/* ---- URGENCY ---- */
body.single-product .ens-urg { padding: 14px 0 4px !important; font-family: 'Montserrat', sans-serif !important; }
body.single-product .ens-urg * { box-sizing: border-box !important; }
body.single-product .ens-urg-box { border-radius: 12px !important; padding: 16px !important; position: relative !important; overflow: hidden !important; margin: 0 !important; }
body.single-product .ens-urg-box.level-low  { background: #f9f7f5 !important; border: 1.5px solid #e8e0dc !important; }
body.single-product .ens-urg-box.level-mid  { background: #fffaf0 !important; border: 1.5px solid #edc97a !important; }
body.single-product .ens-urg-box.level-high { background: #fef2ee !important; border: 1.5px solid var(--ens-orange) !important; }
body.single-product .ens-urg-box.level-high::before { content: '' !important; position: absolute !important; inset: -1px !important; border-radius: 12px !important; pointer-events: none !important; animation: ens-urg-glow 3s ease-in-out infinite !important; }
@keyframes ens-urg-glow { 0%,100%{box-shadow:0 0 0 0 rgba(224,72,32,0)} 50%{box-shadow:0 0 0 4px rgba(224,72,32,0.08)} }

body.single-product .ens-urg-bar-wrap { width: 100% !important; height: 4px !important; background: rgba(0,0,0,0.06) !important; border-radius: 2px !important; margin: 0 0 14px !important; overflow: hidden !important; }
body.single-product .ens-urg-bar { height: 100% !important; border-radius: 2px !important; width: 0%; transition: width 1.2s cubic-bezier(.4,0,.2,1) !important; }
body.single-product .ens-urg-box.level-low .ens-urg-bar  { background: linear-gradient(90deg,#4ade80,#22c55e) !important; }
body.single-product .ens-urg-box.level-mid .ens-urg-bar  { background: linear-gradient(90deg,#fbbf24,#f59e0b) !important; }
body.single-product .ens-urg-box.level-high .ens-urg-bar { background: linear-gradient(90deg,#f87171,var(--ens-orange)) !important; }

body.single-product .ens-urg-main { display: flex !important; align-items: flex-start !important; gap: 12px !important; }
body.single-product .ens-urg-icon-wrap { width: 36px !important; height: 36px !important; border-radius: 10px !important; display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important; }
body.single-product .ens-urg-box.level-low .ens-urg-icon-wrap  { background: #ecfdf5 !important; }
body.single-product .ens-urg-box.level-mid .ens-urg-icon-wrap  { background: #fefce8 !important; }
body.single-product .ens-urg-box.level-high .ens-urg-icon-wrap { background: #fef2f2 !important; }
body.single-product .ens-urg-icon-wrap svg { width: 18px !important; height: 18px !important; fill: none !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
body.single-product .ens-urg-box.level-low .ens-urg-icon-wrap svg  { stroke: #16a34a !important; }
body.single-product .ens-urg-box.level-mid .ens-urg-icon-wrap svg  { stroke: #d97706 !important; }
body.single-product .ens-urg-box.level-high .ens-urg-icon-wrap svg { stroke: var(--ens-orange) !important; }

body.single-product .ens-urg-content { flex: 1 !important; }
body.single-product .ens-urg-headline { font-size: 12px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: 0.4px !important; line-height: 1.35 !important; margin: 0 0 4px !important; }
body.single-product .ens-urg-box.level-low .ens-urg-headline  { color: #15803d !important; }
body.single-product .ens-urg-box.level-mid .ens-urg-headline  { color: #92400e !important; }
body.single-product .ens-urg-box.level-high .ens-urg-headline { color: #c03010 !important; }
body.single-product .ens-urg-detail { font-size: 12px !important; font-weight: 500 !important; color: #5a4a40 !important; line-height: 1.55 !important; margin: 0 !important; }
body.single-product .ens-urg-detail strong { font-weight: 700 !important; color: var(--ens-text) !important; }
body.single-product .ens-urg-detail .hl { color: var(--ens-orange) !important; font-weight: 700 !important; }
body.single-product .ens-urg-guarantee { margin: 10px 0 0 !important; padding: 8px 12px !important; border-radius: 8px !important; font-size: 10.5px !important; font-weight: 600 !important; line-height: 1.45 !important; display: none !important; align-items: center !important; gap: 8px !important; }
body.single-product .ens-urg-guarantee.show { display: flex !important; }
body.single-product .ens-urg-box.level-mid .ens-urg-guarantee  { background: #fefce8 !important; color: #713f12 !important; }
body.single-product .ens-urg-box.level-high .ens-urg-guarantee { background: #fef2f2 !important; color: #7f1d1d !important; }
body.single-product .ens-urg-guarantee svg { width: 14px !important; height: 14px !important; flex-shrink: 0 !important; fill: none !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important; }
body.single-product .ens-urg-box.level-mid .ens-urg-guarantee svg  { stroke: #d97706 !important; }
body.single-product .ens-urg-box.level-high .ens-urg-guarantee svg { stroke: var(--ens-orange) !important; }
body.single-product .ens-urg-restock { display: flex !important; align-items: center !important; gap: 5px !important; margin: 10px 0 0 !important; font-size: 10.5px !important; font-weight: 600 !important; color: #8a7a70 !important; }
body.single-product .ens-urg-restock svg { width: 12px !important; height: 12px !important; fill: none !important; stroke: #a08070 !important; stroke-width: 2 !important; stroke-linecap: round !important; flex-shrink: 0 !important; }

/* ---- STICKY CART ---- */
body.single-product .ens-sticky-product { display: none !important; }
body.single-product .ens-sticky-actions {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  justify-content: center !important;
}
body.single-product .ens-sticky-add {
  height: 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
}
body.single-product .ens-sticky-add:hover { background: rgba(255,255,255,0.12) !important; }
body.single-product .ens-sticky-add svg { width: 18px !important; height: 18px !important; }

/* ---- TOAST de añadido al carrito ---- */
.ens-cart-toast {
  position: fixed !important;
  top: 24px !important;
  right: 24px !important;
  width: 340px !important;
  max-width: calc(100% - 32px) !important;
  background: #fff !important;
  border: 1px solid var(--ens-line) !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.12) !important;
  padding: 16px 20px 16px 16px !important;
  display: grid !important;
  grid-template-columns: 36px 1fr auto !important;
  grid-template-areas: "icon content close" "actions actions actions" !important;
  gap: 10px 12px !important;
  align-items: center !important;
  z-index: 99999 !important;
  transform: translateX(120%) !important;
  opacity: 0 !important;
  transition: transform 0.3s ease, opacity 0.3s ease !important;
  pointer-events: none !important;
  font-family: 'Montserrat', sans-serif !important;
}
.ens-cart-toast.is-visible {
  transform: translateX(0) !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}
.ens-cart-toast-icon {
  grid-area: icon !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #ecfdf5 !important;
  color: #16a34a !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ens-cart-toast-content {
  grid-area: content !important;
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}
.ens-cart-toast-content strong {
  font-size: 13px !important;
  font-weight: 800 !important;
  color: var(--ens-text) !important;
  line-height: 1.2 !important;
  margin-bottom: 2px !important;
}
.ens-cart-toast-content span {
  font-size: 11px !important;
  color: var(--ens-muted) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.ens-cart-toast-close {
  grid-area: close !important;
  background: transparent !important;
  border: none !important;
  font-size: 22px !important;
  line-height: 1 !important;
  color: var(--ens-muted) !important;
  cursor: pointer !important;
  padding: 0 !important;
  width: 24px !important;
  height: 24px !important;
}
.ens-cart-toast-actions {
  grid-area: actions !important;
  display: flex !important;
  gap: 8px !important;
  margin-top: 4px !important;
}
.ens-toast-btn {
  flex: 1 !important;
  text-align: center !important;
  padding: 10px 12px !important;
  border-radius: 8px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
.ens-toast-btn-light {
  background: #f8f6f4 !important;
  color: var(--ens-text) !important;
  border: 1px solid var(--ens-line-2) !important;
}
.ens-toast-btn-light:hover { background: var(--ens-line) !important; }
.ens-toast-btn-dark {
  background: var(--ens-orange) !important;
  color: #fff !important;
  border: 1px solid var(--ens-orange) !important;
}
.ens-toast-btn-dark:hover { background: var(--ens-orange-dark) !important; }

/* ============================================================
   RELATED PRODUCTS (.ens-rel) — diseno tomado del ens-tr original.
   Cabecera con eyebrow + titulo italic + "Ver toda la tienda".
   Cards minimalistas: imagen square, badge "Oferta", nombre
   uppercase mini, precio con "desde"/old-sale, boton + circular.
   Desktop 6 col, tablet 3 col, movil carrusel snap 2 cards.
   ============================================================ */

body.single-product .ens-rel {
  margin: 48px 0 64px !important;
  padding: 0 !important;
  width: 100% !important;
  overflow-x: clip !important;
  font-family: 'Montserrat', sans-serif !important;
}
body.single-product .ens-rel * { box-sizing: border-box !important; }

/* CABECERA */
body.single-product .ens-rel-head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 28px !important;
}
body.single-product .ens-rel-head-text { min-width: 0 !important; }

body.single-product .ens-rel-eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--ens-orange) !important;
  margin: 0 0 7px !important;
  line-height: 1 !important;
}
body.single-product .ens-rel-eyebrow-line {
  display: inline-block !important;
  width: 20px !important;
  height: 2px !important;
  background: var(--ens-orange) !important;
  border-radius: 1px !important;
}

body.single-product .ens-rel-title {
  font-size: clamp(22px, 3.5vw, 36px) !important;
  font-weight: 900 !important;
  font-style: italic !important;
  text-transform: uppercase !important;
  color: var(--ens-text) !important;
  line-height: 0.95 !important;
  letter-spacing: -1px !important;
  margin: 0 !important;
  padding: 0 !important;
}
body.single-product .ens-rel-title span { color: var(--ens-orange) !important; }

body.single-product .ens-rel-shoplink {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: var(--ens-orange) !important;
  text-decoration: none !important;
  border-bottom: 1.5px solid rgba(224,72,32,0.3) !important;
  padding-bottom: 2px !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  transition: border-color 0.2s ease !important;
}
body.single-product .ens-rel-shoplink:hover {
  border-bottom-color: var(--ens-orange) !important;
}

/* GRID: 6 columnas desktop */
body.single-product .ens-rel-track {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

/* CARD: todo el card es un solo enlace */
body.single-product .ens-rel-card {
  position: relative !important;
  display: block !important;
  background: #fff !important;
  border-radius: 14px !important;
  border: 1px solid #f0ebe8 !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease !important;
  min-width: 0 !important;
}
body.single-product .ens-rel-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 28px rgba(224,72,32,0.10) !important;
  border-color: rgba(224,72,32,0.2) !important;
}

/* IMAGEN: cuadrada con contain (los productos son botes con fondo blanco,
   contain evita recortes) */
body.single-product .ens-rel-img-wrap {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  background: #f8f6f4 !important;
  overflow: hidden !important;
  position: relative !important;
}
body.single-product .ens-rel-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  padding: 14px !important;
  transition: transform 0.4s ease !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
body.single-product .ens-rel-card:hover .ens-rel-img {
  transform: scale(1.05) !important;
}

/* BADGE OFERTA */
body.single-product .ens-rel-badge {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  background: var(--ens-orange) !important;
  color: #fff !important;
  font-size: 8px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 3px 7px !important;
  border-radius: 4px !important;
  z-index: 2 !important;
  line-height: 1 !important;
}

/* CUERPO */
body.single-product .ens-rel-body {
  padding: 10px 12px 42px !important;
}
body.single-product .ens-rel-name {
  font-size: 10.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  color: var(--ens-text) !important;
  letter-spacing: 0.2px !important;
  line-height: 1.35 !important;
  margin: 0 0 4px !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}
body.single-product .ens-rel-price {
  font-size: 13px !important;
  font-weight: 900 !important;
  color: var(--ens-text) !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
/* WC price markup: from/to wrap, del, ins */
body.single-product .ens-rel-price .from {
  font-size: 8px !important;
  font-weight: 600 !important;
  color: #b0a098 !important;
  text-transform: uppercase !important;
}
body.single-product .ens-rel-price .price del {
  font-size: 9px !important;
  font-weight: 500 !important;
  color: #c0a898 !important;
  text-decoration: line-through !important;
  margin-right: 3px !important;
  display: inline-block !important;
}
body.single-product .ens-rel-price .price ins {
  background: transparent !important;
  text-decoration: none !important;
  color: var(--ens-orange) !important;
}
/* Rango de precio variable: "29.90€ – 39.90€" */
body.single-product .ens-rel-price .woocommerce-Price-amount {
  font-weight: 900 !important;
}
body.single-product .ens-rel-price .woocommerce-Price-currencySymbol {
  font-weight: 900 !important;
}

/* BOTON + circular abajo derecha (decorativo, el card entero ya es enlace) */
body.single-product .ens-rel-add {
  position: absolute !important;
  bottom: 10px !important;
  right: 10px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: var(--ens-black, #0a0202) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  font-family: Arial, sans-serif !important;
  text-decoration: none !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.2s ease !important;
  z-index: 2 !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.single-product .ens-rel-card:hover .ens-rel-add {
  background: var(--ens-orange) !important;
}



/* ---- MOBILE ---- */
@media (max-width: 768px) {
  /* ORDEN MOVIL: galeria > tarjeta compra > descripcion+resenas > relacionados.
     Para reordenar sin tocar PHP, aplanamos .ens-left-column con display:contents
     y usamos order en los hijos. */
  body.single-product .ens-product-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    grid-template-columns: 1fr !important;
  }
  body.single-product .ens-left-column {
    display: contents !important;
    padding-top: 0 !important;
  }
  body.single-product .ens-gallery-column { order: 1 !important; }
  body.single-product .ens-purchase-card  { order: 2 !important; }
  body.single-product .ens-product-content { order: 3 !important; }

  body.single-product .ens-gallery-stage {
    aspect-ratio: 1 / 1 !important;
    border-radius: 14px !important;
  }
  body.single-product .ens-main-gallery-image {
    max-width: 80% !important;
    max-height: 80% !important;
  }
  body.single-product .ens-gallery-arrow {
    width: 36px !important;
    height: 36px !important;
    font-size: 18px !important;
  }
  body.single-product .ens-gallery-arrow svg {
    width: 14px !important;
    height: 14px !important;
  }
  body.single-product .ens-gallery-prev { left: 10px !important; }
  body.single-product .ens-gallery-next { right: 10px !important; }

  body.single-product .ens-purchase-card {
    margin-top: 0 !important;
    padding: 16px !important;
    /* en movil no es sticky */
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  /* Botones: stack vertical en móvil */
  body.single-product .woocommerce-variation-add-to-cart,
  body.single-product .product-type-simple form.cart {
    grid-template-columns: 100px 1fr 50px !important;
    gap: 6px !important;
  }
  body.single-product .ens-cart-area .ens-buy-now-button {
    height: 50px !important;
    min-height: 50px !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
  }
  body.single-product .ens-cart-area .single_add_to_cart_button {
    width: 50px !important;
    height: 50px !important;
    min-height: 50px !important;
  }
  body.single-product .quantity { height: 50px !important; }

  /* Guarantees mobile */
  body.single-product .ens-pg-list {
    flex-direction: row !important;
    border-radius: 10px !important;
    border: none !important;
    gap: 6px !important;
    background: transparent !important;
  }
  body.single-product .ens-pg-item {
    flex: 1 !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 6px !important;
    padding: 10px 6px !important;
    border-bottom: none !important;
    border: 1px solid #ece7e4 !important;
    border-radius: 10px !important;
    background: #faf8f7 !important;
  }
  body.single-product .ens-pg-icon { width: 28px !important; height: 28px !important; border-radius: 6px !important; }
  body.single-product .ens-pg-icon svg { width: 13px !important; height: 13px !important; }
  body.single-product .ens-pg-label { font-size: 8px !important; letter-spacing: 0.5px !important; margin-bottom: 2px !important; }
  body.single-product .ens-pg-desc { display: none !important; }

  /* Urgency mobile */
  body.single-product .ens-urg-box { padding: 13px 14px !important; }
  body.single-product .ens-urg-headline { font-size: 11px !important; }
  body.single-product .ens-urg-detail { font-size: 10.5px !important; }
  body.single-product .ens-urg-icon-wrap { width: 32px !important; height: 32px !important; }
  body.single-product .ens-urg-icon-wrap svg { width: 15px !important; height: 15px !important; }

  /* Related products MOVIL: cabecera compacta, carrusel horizontal de 2 cards */
  body.single-product .ens-rel {
    margin: 32px 0 40px !important;
    padding: 0 !important;
    overflow-x: visible !important;   /* permitir que el scroll del carrusel se vea */
  }
  body.single-product .ens-rel-head {
    margin-bottom: 18px !important;
    align-items: center !important;
  }
  body.single-product .ens-rel-title {
    font-size: 20px !important;
    letter-spacing: -0.5px !important;
  }
  body.single-product .ens-rel-eyebrow {
    font-size: 9px !important;
    letter-spacing: 1.8px !important;
  }
  body.single-product .ens-rel-shoplink {
    display: none !important;  /* tu original tambien lo ocultaba en movil */
  }

  body.single-product .ens-rel-track {
    display: flex !important;
    flex-direction: row !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
    gap: 10px !important;
    padding: 4px 0 14px !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    scrollbar-width: thin !important;
    scrollbar-color: var(--ens-line-2, #ded0c7) transparent !important;
  }
  body.single-product .ens-rel-track::-webkit-scrollbar {
    height: 4px !important;
  }
  body.single-product .ens-rel-track::-webkit-scrollbar-track {
    background: transparent !important;
  }
  body.single-product .ens-rel-track::-webkit-scrollbar-thumb {
    background: var(--ens-line-2, #ded0c7) !important;
    border-radius: 2px !important;
  }
  /* cada card: 2 visibles por viewport */
  body.single-product .ens-rel-card {
    flex: 0 0 calc(50% - 5px) !important;
    width: calc(50% - 5px) !important;
    min-width: 0 !important;
    max-width: none !important;
    scroll-snap-align: start !important;
  }
  body.single-product .ens-rel-img {
    padding: 10px !important;
  }
  body.single-product .ens-rel-body {
    padding: 8px 10px 38px !important;
  }
  body.single-product .ens-rel-name {
    font-size: 9.5px !important;
    letter-spacing: 0.15px !important;
  }
  body.single-product .ens-rel-price {
    font-size: 12px !important;
  }
  body.single-product .ens-rel-badge {
    font-size: 7.5px !important;
    padding: 2px 6px !important;
    top: 6px !important;
    left: 6px !important;
  }
  body.single-product .ens-rel-add {
    width: 26px !important;
    height: 26px !important;
    right: 8px !important;
    bottom: 8px !important;
    font-size: 17px !important;
  }

  /* Description + reviews mobile */
  body.single-product .ens-section-title,
  body.single-product .ens-tab-section-title,
  body.single-product #reviews h2 { font-size: 22px !important; }
  body.single-product .ens-product-description p { font-size: 14px !important; }

  /* Toast mobile */
  .ens-cart-toast {
    top: auto !important;
    bottom: 80px !important;
    right: 12px !important;
    left: 12px !important;
    width: auto !important;
  }
}

/* ---- MEDIUM TABLET ---- */
@media (min-width: 769px) and (max-width: 1020px) {
  body.single-product .ens-product-layout {
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }
  body.single-product .ens-left-column {
    display: contents !important;
  }
  body.single-product .ens-gallery-column { order: 1 !important; }
  body.single-product .ens-purchase-card  {
    order: 2 !important;
    margin-top: 0 !important;
    position: relative !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.single-product .ens-product-content { order: 3 !important; }
  body.single-product .ens-rel-track { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* ============================================================
   OVERRIDES FINALES — van al final a proposito para ganar por
   source-order frente a reglas legacy que pisan los valores.
   ============================================================ */

/* --- STICKY MOVIL: COMPRAR YA ancho de verdad + icono carrito --- */
@media (max-width: 768px) {

  body.single-product .ens-sticky-cart#ens-sticky-cart {
    left: 10px !important;
    right: 10px !important;
    bottom: 10px !important;
    width: auto !important;
    max-width: calc(100vw - 20px) !important;
    border-radius: 16px !important;
    padding: 10px 12px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  /* Ocultar todo lo que no son los 2 CTAs */
  body.single-product .ens-sticky-cart .ens-sticky-product,
  body.single-product .ens-sticky-cart .ens-sticky-price,
  body.single-product .ens-sticky-cart .ens-sticky-qty {
    display: none !important;
  }

  /* Actions: ocupa todo el ancho, centra hijos, COMPRAR YA crece */
  body.single-product .ens-sticky-cart .ens-sticky-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
  }

  /* COMPRAR YA: GROW al maximo */
  body.single-product .ens-sticky-cart .ens-sticky-actions .ens-sticky-submit {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 18px !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    white-space: nowrap !important;
    border-radius: 12px !important;
    border: 0 !important;
    background: var(--ens-orange) !important;
    color: #fff !important;
    cursor: pointer !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Carrito: cuadrado fijo a la derecha */
  body.single-product .ens-sticky-cart .ens-sticky-actions .ens-sticky-add {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,0.10) !important;
    border: 1px solid rgba(255,255,255,0.25) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
  }
  body.single-product .ens-sticky-cart .ens-sticky-actions .ens-sticky-add svg {
    display: block !important;
    width: 20px !important;
    height: 20px !important;
  }
  body.single-product .ens-sticky-cart .ens-sticky-actions .ens-sticky-add:hover,
  body.single-product .ens-sticky-cart .ens-sticky-actions .ens-sticky-add:active {
    background: rgba(255,255,255,0.18) !important;
    border-color: rgba(255,255,255,0.45) !important;
  }
}

/* --- QTY HERO en MOVIL: que sea un poco mas pequeno y ocupe ancho razonable --- */
@media (max-width: 480px) {
  body.single-product .ens-price-stock-row {
    flex-wrap: wrap !important;
    gap: 10px 14px !important;
  }
  body.single-product .ens-qty-hero {
    align-items: flex-start !important;
  }
  body.single-product .ens-qty-hero-box {
    height: 44px !important;
  }
  body.single-product .ens-qty-hero-btn {
    height: 44px !important;
    width: 40px !important;
  }
  body.single-product .ens-qty-hero-value {
    height: 44px !important;
    font-size: 16px !important;
    min-width: 48px !important;
  }
}

/* ============================================================
   v3.1.8 FINAL OVERRIDES — COMPRAR YA centrado + animado,
   carrito 80px negro/naranja, sticky movil compacto,
   ocultar widgets externos (whatsapp, etc.)
   ============================================================ */

/* --- CART AREA: centrar contenido del row --- */
body.single-product .ens-cart-area .woocommerce-variation-add-to-cart,
body.single-product .ens-cart-area .product-type-simple form.cart,
body.single-product .ens-cart-area form.cart {
  grid-template-columns: minmax(0, 1fr) 80px !important;
  grid-template-areas: "buy add" !important;
  justify-items: stretch !important;
  align-items: center !important;
  gap: 10px !important;
}

/* --- COMPRAR YA: centrado, con animacion shine y leve pulse --- */
body.single-product .ens-cart-area .ens-buy-now-button {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;  /* contiene el ::after */
  height: 56px !important;
  min-height: 56px !important;
  background: linear-gradient(135deg, var(--ens-orange) 0%, #d94018 100%) !important;
  border: none !important;
  border-radius: 14px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 1.3px !important;
  text-transform: uppercase !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: 0 4px 14px rgba(227,72,34,0.28) !important;
  transition: transform 0.18s ease, box-shadow 0.18s ease !important;
  width: 100% !important;
  padding: 0 18px !important;
  text-decoration: none !important;
  z-index: 1 !important;
}
body.single-product .ens-cart-area .ens-buy-now-button:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 20px rgba(227,72,34,0.4) !important;
  background: linear-gradient(135deg, #d94018 0%, #c93d1c 100%) !important;
}
body.single-product .ens-cart-area .ens-buy-now-button:active {
  transform: translateY(0) !important;
}

/* Brillo que cruza el boton cada 3.5s */
body.single-product .ens-cart-area .ens-buy-now-button::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: -120% !important;
  width: 60% !important;
  height: 100% !important;
  background: linear-gradient(
    100deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.38) 50%,
    rgba(255,255,255,0) 100%
  ) !important;
  transform: skewX(-22deg) !important;
  pointer-events: none !important;
  animation: ensBuyShine 3.5s ease-in-out infinite !important;
  z-index: 2 !important;
}
/* Texto siempre por encima del brillo */
body.single-product .ens-cart-area .ens-buy-now-button > * {
  position: relative !important;
  z-index: 3 !important;
}

@keyframes ensBuyShine {
  0%   { left: -120%; }
  60%  { left: 120%; }
  100% { left: 120%; }
}

/* Si el usuario prefiere menos movimiento, paramos la animacion */
@media (prefers-reduced-motion: reduce) {
  body.single-product .ens-cart-area .ens-buy-now-button::before {
    animation: none !important;
    display: none !important;
  }
}

/* --- CARRITO icono: 80px ancho, NEGRO + HOVER NARANJA --- */
body.single-product .ens-cart-area .single_add_to_cart_button,
body.single-product .ens-cart-area .single_add_to_cart_button.button,
body.single-product .ens-cart-area .single_add_to_cart_button.button.alt,
body.single-product .ens-cart-area form.cart .single_add_to_cart_button.button.alt {
  width: 80px !important;
  min-width: 80px !important;
  max-width: 80px !important;
  height: 56px !important;
  min-height: 56px !important;
  border-radius: 14px !important;
  background: var(--ens-black, #140d0a) !important;
  background-image: none !important;
  color: #fff !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  cursor: pointer !important;
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
  box-shadow: none !important;
  text-indent: -9999px !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 1 !important;
}
body.single-product .ens-cart-area .single_add_to_cart_button:hover,
body.single-product .ens-cart-area .single_add_to_cart_button.button:hover,
body.single-product .ens-cart-area .single_add_to_cart_button.button.alt:hover {
  background: var(--ens-orange) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(227,72,34,0.28) !important;
}
body.single-product .ens-cart-area .single_add_to_cart_button::before,
body.single-product .ens-cart-area .single_add_to_cart_button.button::before,
body.single-product .ens-cart-area .single_add_to_cart_button.button.alt::before {
  content: '' !important;
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 002 1.61h9.72a2 2 0 002-1.61L23 6H6'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  text-indent: 0 !important;
  pointer-events: none !important;
}

/* --- STICKY MOVIL: mas compacto (Mario dice que era demasiado grande) --- */
@media (max-width: 768px) {

  body.single-product .ens-sticky-cart#ens-sticky-cart {
    left: 8px !important;
    right: 8px !important;
    bottom: 8px !important;
    width: auto !important;
    max-width: calc(100vw - 16px) !important;
    border-radius: 14px !important;
    padding: 8px 10px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    overflow: hidden !important;
  }

  body.single-product .ens-sticky-cart .ens-sticky-product,
  body.single-product .ens-sticky-cart .ens-sticky-price,
  body.single-product .ens-sticky-cart .ens-sticky-qty {
    display: none !important;
  }

  body.single-product .ens-sticky-cart .ens-sticky-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
  }

  /* COMPRAR YA en sticky: mas compacto pero sigue ancho */
  body.single-product .ens-sticky-cart .ens-sticky-actions .ens-sticky-submit {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 16px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.4px !important;
    white-space: nowrap !important;
    border-radius: 10px !important;
    border: 0 !important;
    background: var(--ens-orange) !important;
    color: #fff !important;
    cursor: pointer !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
  }
  /* Mismo brillo en el sticky pero mas discreto */
  body.single-product .ens-sticky-cart .ens-sticky-actions .ens-sticky-submit::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: -120% !important;
    width: 50% !important;
    height: 100% !important;
    background: linear-gradient(100deg, rgba(255,255,255,0), rgba(255,255,255,0.3), rgba(255,255,255,0)) !important;
    transform: skewX(-22deg) !important;
    pointer-events: none !important;
    animation: ensBuyShine 3.5s ease-in-out infinite !important;
  }

  body.single-product .ens-sticky-cart .ens-sticky-actions .ens-sticky-add {
    flex: 0 0 42px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    border-radius: 10px !important;
    background: rgba(255,255,255,0.10) !important;
    border: 1px solid rgba(255,255,255,0.22) !important;
    color: #fff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
  }
  body.single-product .ens-sticky-cart .ens-sticky-actions .ens-sticky-add svg {
    display: block !important;
    width: 17px !important;
    height: 17px !important;
  }
  body.single-product .ens-sticky-cart .ens-sticky-actions .ens-sticky-add:hover {
    background: var(--ens-orange) !important;
    border-color: var(--ens-orange) !important;
  }
}

/* --- OCULTAR WIDGETS EXTERNOS en la pagina del producto ---
   WhatsApp flotantes, chat widgets, etc. Selectores comunes de los
   plugins mas conocidos (Joinchat, Click to Chat, WP Social Chat,
   Holler Box, etc.) */
body.single-product .joinchat,
body.single-product .joinchat__button,
body.single-product .joinchat_button,
body.single-product .joinchat-button,
body.single-product #joinchat,
body.single-product .ws-plugin--s2member-pro-paypal-form-li,
body.single-product .wp_chat_now,
body.single-product .click_to_chat,
body.single-product .ctc_holder,
body.single-product .ctc-analytics,
body.single-product .btn-whatsapp-pulsa,
body.single-product .btnWhatsapp,
body.single-product .ws_chat_now,
body.single-product .wpcw-widget,
body.single-product .wcw-widget,
body.single-product .holler-box-floating-circle,
body.single-product .help-button,
body.single-product .floating-whatsapp,
body.single-product .whatsapp-button,
body.single-product [class*="whatsapp-float"],
body.single-product [class*="WhatsappButton"],
body.single-product [id*="whatsapp-button"],
body.single-product [id*="wpchatic"],
body.single-product [id*="chaty"],
body.single-product .chaty-widget,
body.single-product .ch-list-container,
body.single-product .ch-stand-out,
body.single-product .nasa-whatsapp-button {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
