/* Eclipse MDI Product Page Polish v1.1 — all rules confined to public single-product pages.
   Safe alongside the separate Eclipse GF2 Style popup: form and overlay are not styled here. */
body.single-product {
  --ep-ink: #172742;
  --ep-muted: #62758d;
  --ep-violet: #6e4bc3;
  --ep-violet-dark: #53379e;
  --ep-teal: #087e8b;
  --ep-border: #dfe5ef;
  --ep-soft: #f5f8fd;
}
/* WooCommerce product heading, category metadata and breadcrumbs */
body.single-product .woocommerce-breadcrumb,
body.single-product .breadcrumb,
body.single-product .breadcrumbs {
  color: var(--ep-muted);
  font-size: 13px;
  letter-spacing: .012em;
}
body.single-product .woocommerce-breadcrumb a,
body.single-product .breadcrumb a,
body.single-product .breadcrumbs a { color: var(--ep-teal); text-decoration: none; }
body.single-product .woocommerce-breadcrumb a:hover,
body.single-product .breadcrumb a:hover,
body.single-product .breadcrumbs a:hover { color: var(--ep-violet); text-decoration: underline; }
body.single-product div.product .product_title,
body.single-product div.product h1.product_title,
body.single-product .product_title.entry-title {
  color: var(--ep-ink);
  font-size: clamp(25px, 2.5vw, 39px);
  font-weight: 750;
  letter-spacing: -.03em;
  line-height: 1.18;
  margin-bottom: 16px;
}
body.single-product div.product .product_meta {
  padding: 12px 15px;
  margin: 18px 0;
  background: var(--ep-soft);
  border-left: 3px solid var(--ep-teal);
  border-radius: 0 9px 9px 0;
  color: var(--ep-muted);
  font-size: 13px;
  line-height: 1.75;
}
body.single-product div.product .product_meta a { color: var(--ep-teal); text-decoration: none; }
body.single-product div.product .product_meta a:hover { color: var(--ep-violet); text-decoration: underline; }
/* Product photographs: gentle framing without resizing/cropping originals */
body.single-product div.product .woocommerce-product-gallery__wrapper,
body.single-product div.product .woocommerce-product-gallery__image {
  border-radius: 13px;
}
body.single-product div.product .woocommerce-product-gallery img { border-radius: 11px; }
/* WooCommerce outer Description / Additional Information tabs */
body.single-product div.product .woocommerce-tabs { margin-top: 22px; }
body.single-product div.product .woocommerce-tabs ul.tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: stretch;
  margin-bottom: 0;
  border-bottom: 1px solid var(--ep-border);
  padding: 0 0 11px;
}
body.single-product div.product .woocommerce-tabs ul.tabs::before,
body.single-product div.product .woocommerce-tabs ul.tabs::after { border-bottom-color: transparent; }
body.single-product div.product .woocommerce-tabs ul.tabs li {
  background: #f2f5fa;
  border: 1px solid #e2e8f1;
  border-radius: 9px;
  box-shadow: none;
  margin: 0;
  padding: 0;
}
body.single-product div.product .woocommerce-tabs ul.tabs li::before,
body.single-product div.product .woocommerce-tabs ul.tabs li::after { display: none; }
body.single-product div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 11px 17px;
  color: #354861;
  font-weight: 650;
  font-size: 14px;
  text-decoration: none;
}
body.single-product div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--ep-ink);
  border-color: var(--ep-ink);
}
body.single-product div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }
body.single-product div.product .woocommerce-tabs ul.tabs li:not(.active):hover { background: #ebe5fb; border-color: #d9cff4; }
body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel {
  background: #fff;
  border: 1px solid var(--ep-border);
  border-radius: 0 0 14px 14px;
  padding: clamp(18px, 3vw, 34px);
  box-shadow: 0 10px 28px rgba(17,38,66,.05);
}
body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child {
  color: var(--ep-ink);
  font-weight: 730;
  letter-spacing: -.02em;
}
/* WPBakery nested product tabs (About / Features / Mechanical / Quote / Charts) */
body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list,
body.single-product .woocommerce-Tabs-panel .wpb_tabs_nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 6px 0 14px;
  border-bottom: 1px solid var(--ep-border);
}
body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list > li,
body.single-product .woocommerce-Tabs-panel .wpb_tabs_nav > li {
  float: none;
  margin: 0;
  background: transparent;
}
body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list > li > a,
body.single-product .woocommerce-Tabs-panel .wpb_tabs_nav > li > a {
  display: block;
  padding: 11px 15px;
  background: #f1f5fb;
  border: 1px solid #e1e8f2;
  border-radius: 9px;
  color: #334965;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  box-shadow: none;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list > li.vc_active > a,
body.single-product .woocommerce-Tabs-panel .wpb_tabs_nav > li.ui-tabs-active > a,
body.single-product .woocommerce-Tabs-panel .wpb_tabs_nav > li.active > a {
  background: var(--ep-violet);
  border-color: var(--ep-violet);
  color: #fff;
}
body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list > li:not(.vc_active) > a:hover,
body.single-product .woocommerce-Tabs-panel .wpb_tabs_nav > li:not(.ui-tabs-active) > a:hover {
  background: #ebe5fb;
  border-color: #d1c2f1;
  color: var(--ep-violet-dark);
}
body.single-product .woocommerce-Tabs-panel .vc_tta-panel-body,
body.single-product .woocommerce-Tabs-panel .wpb_tab { color: var(--ep-ink); line-height: 1.75; }
/* Body content / engineering data */
body.single-product div.product .woocommerce-tabs p,
body.single-product div.product .woocommerce-tabs li { line-height: 1.75; }
body.single-product div.product .woocommerce-tabs h2,
body.single-product div.product .woocommerce-tabs h3,
body.single-product div.product .woocommerce-tabs h4 { color: var(--ep-ink); letter-spacing: -.018em; }
body.single-product div.product .woocommerce-tabs .wpb_text_column ul:not(.tabs):not(.vc_tta-tabs-list):not(.wpb_tabs_nav) {
  padding-left: 1.35rem;
}
body.single-product div.product .woocommerce-tabs .wpb_text_column li::marker { color: var(--ep-teal); }
body.single-product div.product .woocommerce-tabs table,
body.single-product div.product .woocommerce-product-attributes {
  width: 100%; border-collapse: collapse; border: 1px solid var(--ep-border);
  border-radius: 10px; overflow: hidden; background: #fff; font-size: 14px;
}
body.single-product div.product .woocommerce-tabs table th,
body.single-product div.product .woocommerce-tabs table td { padding: 11px 13px; border: 1px solid var(--ep-border); text-align: left; }
body.single-product div.product .woocommerce-tabs table th { color: #233c58; background: #eff4fa; font-weight: 700; }
body.single-product div.product .woocommerce-tabs table tr:nth-child(even) td { background: #f8faff; }
body.single-product div.product .woocommerce-tabs a:not(.vc_tta-title-text):not(.vc_tta-tabs-list a):not(.wpb_tabs_nav a) { text-underline-offset: 3px; }
/* Datasheet links: pill-style treatments for PDFs without changing navigation behavior */
body.single-product .woocommerce-Tabs-panel a[href$=".pdf"],
body.single-product .woocommerce-Tabs-panel a[href*=".pdf?"] {
  color: var(--ep-violet-dark);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: #baa6ef;
}
/* Related products */
body.single-product .related.products { margin-top: 40px; }
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
  color: var(--ep-ink);
  font-size: clamp(20px, 2.1vw, 28px);
  font-weight: 760;
  letter-spacing: -.02em;
  padding-bottom: 12px;
  border-bottom: 3px solid var(--ep-violet);
}
body.single-product .related.products ul.products li.product,
body.single-product .upsells.products ul.products li.product {
  border: 1px solid var(--ep-border);
  background: white;
  border-radius: 13px;
  padding: 14px;
  box-shadow: 0 7px 23px rgba(17,38,66,.055);
  transition: transform .15s ease, box-shadow .15s ease;
}
body.single-product .related.products ul.products li.product:hover,
body.single-product .upsells.products ul.products li.product:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(17,38,66,.1);
}
body.single-product .related.products ul.products li.product h2,
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title { color: var(--ep-ink); line-height: 1.4; font-weight: 700; }
/* Preserve GF2 popup overlay and contents untouched; avoid targeting modal buttons. */
@media (max-width: 767px) {
  body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel { padding: 18px 14px; }
  body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list > li > a,
  body.single-product .woocommerce-Tabs-panel .wpb_tabs_nav > li > a { padding: 9px 11px; }
  body.single-product .related.products ul.products li.product { padding: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  body.single-product .related.products ul.products li.product,
  body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list > li > a { transition: none; }
}

/* v1.1: consistent violet tabs and enhanced technical readability. */
body.single-product { --ep-violet:#6546b9; --ep-violet-dark:#50349c; --ep-teal:#087986; }
body.single-product div.product .product_meta { color:#40536b; background:#f3f7fc; border-left-color:var(--ep-teal); }
body.single-product div.product .product_meta .sku { color:#283b55; font-weight:700; }
body.single-product div.product .woocommerce-tabs ul.tabs li.active,
body.single-product div.product .woocommerce-tabs ul.tabs li.active:hover { background:var(--ep-violet); border-color:var(--ep-violet); }
body.single-product div.product .woocommerce-tabs ul.tabs li.active a { color:#fff; }
body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list > li.vc_active > a,
body.single-product .woocommerce-Tabs-panel .wpb_tabs_nav > li.ui-tabs-active > a,
body.single-product .woocommerce-Tabs-panel .wpb_tabs_nav > li.active > a { background:var(--ep-violet); border-color:var(--ep-violet); color:#fff; }
body.single-product div.product .woocommerce-tabs ul.tabs li a:focus-visible,
body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list > li > a:focus-visible,
body.single-product .woocommerce-Tabs-panel .wpb_tabs_nav > li > a:focus-visible { outline:3px solid var(--ep-teal); outline-offset:3px; }
body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel { border-color:#dbe3ee; box-shadow:0 8px 24px rgba(17,38,66,.045); }
body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel h2,
body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel h3 { line-height:1.32; margin-bottom:.65em; }
body.single-product div.product .woocommerce-tabs .woocommerce-Tabs-panel p { color:#35465f; line-height:1.72; }
body.single-product div.product .woocommerce-tabs table th { color:#223752; background:#edf3f9; }
body.single-product div.product .woocommerce-tabs table td { color:#33455d; }
body.single-product div.product .woocommerce-tabs table tr:nth-child(even) td { background:#f7f9fd; }
body.single-product div.product .woocommerce-tabs table tr:hover td { background:#f0f5fa; }
body.single-product div.product .woocommerce-product-gallery img { object-fit:contain; }
body.single-product div.product .woocommerce-tabs ul.tabs li,
body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list > li > a { transition:background-color .16s ease,border-color .16s ease,color .16s ease; }
@media(prefers-reduced-motion:reduce){body.single-product div.product .woocommerce-tabs ul.tabs li,body.single-product .woocommerce-Tabs-panel .vc_tta-tabs-list > li > a {transition:none;}}
