/* Single-product presentation. The existing catalog CSS owns the approved
   exterior width and the content/sidebar grid; this file does not replace it. */
body.single-product {
  --lge-single-cream:#faf7f0;
  --lge-single-white:#fff;
  --lge-single-ink:#111;
  --lge-single-gold:#a98225;
  --lge-single-line:#e2d8c8;
  background:var(--lge-single-cream);
  color:var(--lge-single-ink);
}
body.single-product .site-inner {position:relative;isolation:isolate;background:var(--lge-single-cream)}
body.single-product .breadcrumb,
body.single-product .content-sidebar-wrap {position:relative;z-index:1}
body.single-product .content-sidebar-wrap {gap:48px;align-items:start}
body.single-product .content-sidebar-wrap > .content {min-width:0}
body.single-product .content-sidebar-wrap > .sidebar-primary {min-width:0}
body.single-product .breadcrumb {padding-block:14px 20px;color:#514b43}
body.single-product .breadcrumb a {color:var(--lge-single-gold)}
body.single-product .breadcrumb a:focus-visible {outline:2px solid var(--lge-single-gold);outline-offset:3px}

/* The new left wrapper keeps gallery and original metadata in one column. */
body.single-product div.product .lge-product-gallery-column,
body.single-product div.product .summary {
  box-sizing:border-box;
  min-width:0;
  align-self:stretch;
  margin-bottom:0;
  background:var(--lge-single-white);
  border:1px solid var(--lge-single-line);
  border-radius:4px;
  padding:22px;
}
body.single-product div.product .lge-product-gallery-column {
  flex:1 1 48%;
  max-width:48%;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
body.single-product div.product .lge-product-gallery-column .woocommerce-product-gallery {
  position:relative;
  width:100%!important;
  max-width:100%!important;
  flex:none!important;
  float:none!important;
  margin:0!important;
  padding:48px 0 0!important;
  border:0!important;
  background:transparent!important;
}
body.single-product div.product .woocommerce-product-gallery img:not(.zoomImg) {
  display:block;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
body.single-product div.product .woocommerce-product-gallery .zoomImg {pointer-events:none}
body.single-product div.product .woocommerce-product-gallery__image {overflow:hidden}
body.single-product div.product .woocommerce-product-gallery__image > a {cursor:zoom-in;pointer-events:auto!important}
/* Single-product badges use the gallery toolbar; catalog badges retain plugin sizing. */
body.single-product div.product .woocommerce-product-gallery:has(.etb-overlay-container:not(.etb-loop)) {
  --lge-single-badge-width:150px;
  --lge-single-badge-rows:1;
  --lge-single-badge-space:calc(var(--lge-single-badge-rows) * (var(--lge-single-badge-width) * .732 + 8px) + 4px);
  padding-top:var(--lge-single-badge-space)!important;
}
body.single-product div.product .woocommerce-product-gallery:has(.etb-overlay-container .etb-badge:nth-child(2)) {--lge-single-badge-rows:2}
body.single-product div.product .woocommerce-product-gallery:has(.etb-overlay-container .etb-badge:nth-child(3)) {--lge-single-badge-rows:3}
body.single-product div.product .woocommerce-product-gallery:has(.etb-overlay-container .etb-badge:nth-child(4)) {--lge-single-badge-rows:4}
body.single-product div.product .woocommerce-product-gallery:has(.etb-overlay-container .etb-badge:nth-child(5)) {--lge-single-badge-rows:5}
body.single-product div.product .woocommerce-product-gallery:has(.etb-overlay-container .etb-badge:nth-child(6)) {--lge-single-badge-rows:6}
body.single-product div.product .woocommerce-product-gallery:has(.etb-overlay-container .etb-badge:nth-child(7)) {--lge-single-badge-rows:7}
body.single-product div.product .woocommerce-product-gallery:has(.etb-overlay-container .etb-badge:nth-child(8)) {--lge-single-badge-rows:8}
body.single-product div.product .woocommerce-product-gallery__wrapper > .etb-overlay-container:not(.etb-loop) {
  top:calc(8px - var(--lge-single-badge-space))!important;
  left:8px!important;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  width:var(--lge-single-badge-width)!important;
  max-width:100%;
}
body.single-product div.product .woocommerce-product-gallery__wrapper > .etb-overlay-container:not(.etb-loop) > .etb-badge {
  width:var(--lge-single-badge-width)!important;
  max-width:none!important;
  height:auto!important;
  transform:none!important;
}
body.single-product div.product .woocommerce-product-gallery__trigger {
  box-sizing:border-box;
  position:absolute!important;
  top:0!important;
  right:0!important;
  z-index:5;
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:44px!important;
  height:44px!important;
  --lge-single-loupe:var(--lge-single-gold);
  color:var(--lge-single-loupe);
  background:#fff;
  border:1px solid var(--lge-single-line);
  border-radius:4px;
}
body.single-product div.product .woocommerce-product-gallery__trigger span {display:none!important}
body.single-product div.product .woocommerce-product-gallery__trigger::before {
  content:"";
  position:absolute;
  top:10px;
  left:10px;
  width:17px;
  height:17px;
  border:2px solid var(--lge-single-loupe);
  border-radius:50%;
  background:none;
}
body.single-product div.product .woocommerce-product-gallery__trigger::after {
  content:"";
  position:absolute;
  top:26px;
  left:25px;
  width:10px;
  height:2px;
  background:var(--lge-single-loupe);
  transform:rotate(45deg);
  transform-origin:left center;
}
body.single-product div.product .woocommerce-product-gallery__trigger:hover,
body.single-product div.product .woocommerce-product-gallery__trigger:focus-visible {
  --lge-single-loupe:#fff;
  color:#fff;
  background:var(--lge-single-gold);
  border-color:var(--lge-single-gold);
}
body.single-product div.product .woocommerce-product-gallery__trigger:focus-visible {
  outline:2px solid var(--lge-single-gold);
  outline-offset:2px;
}
/* Keep WooCommerce's own viewer above the theme's fixed mobile search (z-index:9999). */
body.single-product .pswp {z-index:10000}
body.single-product div.product .product_title {
  margin:0 0 20px;
  color:var(--lge-single-ink);
  font-size:clamp(30px,2.8vw,42px);
  font-weight:700;
  line-height:1.15;
  text-transform:none;
}
body.single-product div.product .summary > .price {
  margin:0 0 22px;
  color:var(--lge-single-ink);
  font-size:clamp(29px,2.6vw,38px);
  font-weight:700;
  line-height:1.2;
}
body.single-product div.product .summary > .price :is(.amount,ins) {color:inherit}
body.single-product div.product .summary > .price del {color:#68645f;font-size:.65em}
body.single-product div.product .summary > .price .woocommerce-price-suffix {font-size:.45em;font-weight:500}
body.single-product div.product .summary .woocommerce-product-details__short-description {color:var(--lge-single-ink);font-size:16px;line-height:1.6}
body.single-product div.product .summary form.cart {
  box-sizing:border-box;
  max-width:100%;
  padding:18px;
  margin:26px 0 18px;
  background:var(--lge-single-cream);
  border:1px solid var(--lge-single-line);
  border-radius:4px;
}
body.single-product div.product .summary form.cart :is(input,select,textarea) {
  color:var(--lge-single-ink);
  background:var(--lge-single-white);
  border:1px solid #9f9b95;
  border-radius:4px;
}
body.single-product div.product .summary form.cart :is(input,select,textarea):focus-visible {
  outline:2px solid var(--lge-single-gold);
  outline-offset:2px;
}
body.single-product div.product .summary form.cart .quantity input.qty {min-height:44px;text-align:center}
body.single-product div.product .summary form.cart .single_add_to_cart_button {
  min-height:44px;
  color:#fff;
  background:#111;
  border:1px solid #111;
  border-radius:4px;
  font-weight:650;
  transition:background-color .15s ease,border-color .15s ease;
}
body.single-product div.product .summary form.cart .single_add_to_cart_button:hover,
body.single-product div.product .summary form.cart .single_add_to_cart_button:focus-visible {
  color:#fff!important;
  background:var(--lge-single-gold)!important;
  border-color:var(--lge-single-gold)!important;
}
body.single-product div.product .summary form.cart .single_add_to_cart_button:focus-visible {outline:2px solid #111;outline-offset:3px}
body.single-product div.product .summary #total-price-container {
  padding:12px 0;
  border-bottom:1px solid var(--lge-single-line);
  color:var(--lge-single-ink)!important;
  font-size:18px!important;
}
body.single-product div.product .summary #total-price {font-size:22px;font-weight:700}
body.single-product div.product .lge-product-gallery-column .product_meta {
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  column-gap:12px;
  row-gap:2px;
  max-width:100%;
  margin:17px 0 0;
  padding-top:13px;
  border-top:1px solid var(--lge-single-line);
  color:#514b43;
  font-size:14px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
body.single-product div.product .lge-product-gallery-column .product_meta > .sku_wrapper {order:-1;flex-basis:100%}
body.single-product div.product .lge-product-gallery-column .product_meta > :is(.posted_in,.tagged_as) {margin:0!important;min-width:0;white-space:normal}
body.single-product div.product .lge-product-gallery-column .product_meta > .posted_in:has(a[href*="/categoria-producto/"]) {order:0;flex-basis:100%}
body.single-product div.product .lge-product-gallery-column .product_meta > .posted_in:not(:has(a[href*="/categoria-producto/"])) {order:1}
body.single-product div.product .lge-product-gallery-column .product_meta > .tagged_as {order:2}
body.single-product div.product .lge-product-gallery-column .product_meta a {color:var(--lge-single-gold);text-decoration:none}
body.single-product div.product .lge-product-gallery-column .product_meta a:hover {text-decoration:underline}
body.single-product div.product .lge-product-gallery-column .product_meta a:focus-visible {outline:2px solid var(--lge-single-gold);outline-offset:2px}

/* Keep the existing ten-tab controller and its mobile selector intact. */
body.single-product .woocommerce-tabs.lge-product-tabs {
  --lge-tabs-ink:#111;
  --lge-tabs-text:#111;
  --lge-tabs-line:#d8cec0;
  --lge-tabs-line-soft:#e2d8c8;
  --lge-tabs-warm:#faf7f0;
  --lge-tabs-warm-2:#faf7f0;
  --lge-tabs-accent:#a98225;
  box-sizing:border-box;
  padding:26px;
  background:#fff;
  border:1px solid var(--lge-single-line);
  border-radius:4px;
}
body.single-product .woocommerce-tabs.lge-product-tabs ul.tabs li a,
body.single-product .woocommerce-tabs.lge-product-tabs ul.wc-tabs li a {font-size:15px}
@media(min-width:769px) {
  body.single-product .woocommerce-tabs.lge-product-tabs .lge-erp-tab-heading {font-size:24px}
}
body.single-product .woocommerce-tabs.lge-product-tabs .lge-erp-tab-heading,
body.single-product .woocommerce-tabs.lge-product-tabs .woocommerce-Tabs-panel > :is(h2,h3):first-child {text-transform:none}
body.single-product .woocommerce-tabs.lge-product-tabs .woocommerce-Tabs-panel,
body.single-product .woocommerce-tabs.lge-product-tabs .panel {font-size:16px;line-height:1.6}
body.single-product .woocommerce-tabs.lge-product-tabs table {max-width:100%;border-collapse:collapse}
body.single-product .woocommerce-tabs.lge-product-tabs table :is(th,td) {padding:9px;border:1px solid var(--lge-single-line);text-align:left}
body.single-product .woocommerce-tabs.lge-product-tabs .lge-product-tabs-mobile-button:focus-visible,
body.single-product .woocommerce-tabs.lge-product-tabs :is(a,button):focus-visible {outline:2px solid var(--lge-single-gold);outline-offset:2px}
/* Only tab controls change color; panel content and plugin tab data stay intact. */
body.single-product .woocommerce-tabs.lge-product-tabs :is(ul.tabs,ul.wc-tabs) li a:hover,
body.single-product .woocommerce-tabs.lge-product-tabs :is(ul.tabs,ul.wc-tabs) li:is(.active,.is-lge-active-tab) a,
body.single-product .woocommerce-tabs.lge-product-tabs .lge-product-tabs-mobile-button,
body.single-product .woocommerce-tabs.lge-product-tabs .lge-product-tabs-mobile-option:is(.is-active,:hover) {
  background:var(--lge-single-gold);
  color:#fff;
}
body.single-product .woocommerce-tabs.lge-product-tabs :is(ul.tabs,ul.wc-tabs) li:is(.active,.is-lge-active-tab) a {box-shadow:none}
@media(min-width:769px) {
  body.single-product .woocommerce-tabs.lge-product-tabs-mode-vertical :is(ul.tabs,ul.wc-tabs) li:is(.active,.is-lge-active-tab) a {padding-left:.78rem}
}
body.single-product .woocommerce-tabs.lge-product-tabs :is(ul.tabs,ul.wc-tabs) li a:focus-visible,
body.single-product .woocommerce-tabs.lge-product-tabs :is(.lge-product-tabs-mobile-button,.lge-product-tabs-mobile-option):focus-visible {outline:2px solid var(--lge-single-ink);outline-color:var(--lge-single-ink)!important;outline-offset:2px}

body.single-product :is(.related.products,.upsells.products) {
  box-sizing:border-box;
  min-width:0;
  margin-top:36px;
  padding:26px;
  background:#fff;
  border:1px solid var(--lge-single-line);
  border-radius:4px;
}
body.single-product :is(.related.products,.upsells.products) > h2 {margin:0 0 24px;color:#111;font-size:30px;line-height:1.2;text-transform:none}

/* Existing category widget; no links, counts or hierarchy are regenerated. */
body.single-product .sidebar-primary .widget_product_categories {
  box-sizing:border-box;
  padding:24px;
  background:#fff;
  border:1px solid var(--lge-single-line);
  border-radius:4px;
}
body.single-product .sidebar-primary .widget_product_categories .widget-title {margin:0 0 18px;color:#111;font-size:24px;line-height:1.2;text-transform:none}
body.single-product .sidebar-primary .widget_product_categories ul {margin:0;padding:0;list-style:none}
body.single-product .sidebar-primary .widget_product_categories ul.children {margin:6px 0 0 13px;padding-left:13px;border-left:1px solid var(--lge-single-line)}
body.single-product .sidebar-primary .widget_product_categories li {margin:0;padding:5px 0;line-height:1.4}
body.single-product .sidebar-primary .widget_product_categories li a {color:#111;text-decoration:none}
body.single-product .sidebar-primary .widget_product_categories li a:hover {color:var(--lge-single-gold);text-decoration:underline}
body.single-product .sidebar-primary .widget_product_categories li a:focus-visible {outline:2px solid var(--lge-single-gold);outline-offset:2px}
body.single-product .sidebar-primary .widget_product_categories li.current-cat > a,
body.single-product .sidebar-primary .widget_product_categories li.current-cat-parent > a {font-weight:700}
body.single-product .sidebar-primary .widget_product_categories li.current-cat {padding-left:9px;border-left:3px solid var(--lge-single-gold);background:var(--lge-single-cream)}
body.single-product .sidebar-primary .widget_product_categories .count {color:#6c645b;font-size:12px;white-space:nowrap}

/* The shared Bauhaus SVG component supplies the palette and drawings. */
body.single-product .lge-single-product-decoration {z-index:0}
body.single-product .lge-single-product-decoration .lge-bauhaus-motif {width:240px;height:240px}
body.single-product .lge-single-product-decoration .lge-bauhaus-motif--orbit {left:0;top:70px}
body.single-product .lge-single-product-decoration .lge-bauhaus-motif--rhythm {left:calc(100% - 220px);top:750px;width:210px;height:210px}
body.single-product .lge-single-product-decoration .lge-bauhaus-motif--corner {left:0;top:1550px;width:190px;height:190px}

@media(max-width:1280px) {
  body.single-product .content-sidebar-wrap {gap:0}
  body.single-product .sidebar-primary {margin-top:32px}
}
@media(max-width:700px) {
  body.single-product .breadcrumb {padding-block:12px 16px}
  body.single-product div.product .lge-product-gallery-column,
  body.single-product div.product .summary {align-self:flex-start;margin-bottom:2px;padding:18px}
  body.single-product div.product .lge-product-gallery-column {display:block;flex-basis:100%;max-width:100%}
  body.single-product div.product .summary .product_title {font-size:32px}
  body.single-product div.product .summary form.cart {padding:14px}
  body.single-product .woocommerce-tabs.lge-product-tabs,
  body.single-product :is(.related.products,.upsells.products),
  body.single-product .sidebar-primary .widget_product_categories {padding:20px}
  body.single-product .lge-single-product-decoration .lge-bauhaus-motif {display:none}
}
@media(prefers-reduced-motion:reduce) {
  body.single-product div.product .summary form.cart .single_add_to_cart_button {transition:none}
}

