.dxpc-product-hero{--dxpc-product-hero-accent:#3c44de;--dxpc-product-hero-bg:#fff;--dxpc-product-hero-text:#111827;--dxpc-product-hero-button:var(--dxpc-product-hero-accent);--dxpc-product-hero-button-text:#fff;--dxpc-product-hero-radius:28px;margin:0 var(--dxpc-product-hero-space-right,0px) 42px var(--dxpc-product-hero-space-left,0px);padding:42px 24px;border-radius:var(--dxpc-product-hero-radius);background:var(--dxpc-product-hero-bg);color:var(--dxpc-product-hero-text);position:relative;overflow:hidden;box-shadow:var(--dxpc-product-hero-shadow, 0 24px 70px rgba(15,23,42,.08));font-family:var(--dxpc-font, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif)}
.dxpc-product-hero__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:42px;align-items:center;position:relative;z-index:2}
.dxpc-product-hero__media{border-radius:24px;overflow:hidden;background:rgba(255,255,255,.72);box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)}
.dxpc-product-hero__image{display:block;width:100%;height:auto;object-fit:cover;aspect-ratio:1.16/1}
.dxpc-product-hero__content{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.dxpc-product-hero__badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:color-mix(in srgb,var(--dxpc-product-hero-accent) 12%,transparent);color:var(--dxpc-product-hero-accent);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.dxpc-product-hero__title{margin:0;color:var(--dxpc-product-hero-text);font-size:clamp(34px,5vw,72px);line-height:.94;letter-spacing:-.06em;font-weight:900}
.dxpc-product-hero__excerpt{margin:0;max-width:640px;color:color-mix(in srgb,var(--dxpc-product-hero-text) 72%,transparent);font-size:clamp(16px,1.5vw,20px);line-height:1.55}
.dxpc-product-hero__price{font-size:22px;font-weight:900;color:var(--dxpc-product-hero-text)}
.dxpc-product-hero__price .amount{color:var(--dxpc-product-hero-text)}
.dxpc-product-hero__features{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 0;padding:0;list-style:none}
.dxpc-product-hero__features li{padding:9px 12px;border-radius:14px;background:rgba(255,255,255,.52);box-shadow:inset 0 0 0 1px rgba(15,23,42,.08);font-size:13px;font-weight:750;color:var(--dxpc-product-hero-text)}
.dxpc-product-hero__cta{display:inline-flex;align-items:center;justify-content:center;max-width:100%;box-sizing:border-box;margin-top:6px;padding:14px 20px;border-radius:999px;background:var(--dxpc-product-hero-button);color:var(--dxpc-product-hero-button-text);text-decoration:none;font-weight:900;box-shadow:0 18px 35px color-mix(in srgb,var(--dxpc-product-hero-accent) 28%,transparent);transition:transform .2s ease,box-shadow .2s ease}
.dxpc-product-hero__cta:hover{transform:translateY(-2px);box-shadow:0 22px 46px color-mix(in srgb,var(--dxpc-product-hero-accent) 36%,transparent)}
.dxpc-product-hero--minimal{text-align:center;padding-top:58px;background:linear-gradient(180deg,var(--dxpc-product-hero-bg),#fff)}
.dxpc-product-hero--minimal .dxpc-product-hero__inner{display:flex;flex-direction:column;gap:28px}
.dxpc-product-hero--minimal .dxpc-product-hero__content{align-items:center}.dxpc-product-hero--minimal .dxpc-product-hero__media{width:min(760px,100%);box-shadow:none;background:transparent}.dxpc-product-hero--minimal .dxpc-product-hero__image{aspect-ratio:16/9;object-fit:contain}
.dxpc-product-hero--background_overlay{min-height:520px;display:flex;align-items:center;background-image:linear-gradient(90deg,color-mix(in srgb,var(--dxpc-product-hero-bg) 88%,transparent),color-mix(in srgb,var(--dxpc-product-hero-bg) 42%,transparent)),var(--dxpc-product-hero-image);background-size:cover;background-position:center;color:var(--dxpc-product-hero-text)}
.dxpc-product-hero--background_overlay .dxpc-product-hero__inner{display:block;width:100%}.dxpc-product-hero--background_overlay .dxpc-product-hero__content{max-width:680px}.dxpc-product-hero--background_overlay .dxpc-product-hero__features li{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.dxpc-product-hero--tech_preview{background:radial-gradient(circle at 15% 12%,color-mix(in srgb,var(--dxpc-product-hero-accent) 20%,transparent),transparent 30%),var(--dxpc-product-hero-bg)}
.dxpc-product-hero--tech_preview .dxpc-product-hero__inner{grid-template-columns:minmax(0,.95fr) minmax(340px,1fr)}
.dxpc-product-hero__preview-card{position:relative;margin:20px;border-radius:var(--dxpc-product-hero-radius);background:#fff;padding:18px;box-shadow:0 30px 80px rgba(15,23,42,.16)}
.dxpc-product-hero__preview-chip{position:absolute;left:28px;bottom:28px;padding:10px 14px;border-radius:999px;background:var(--dxpc-product-hero-accent);color:#fff;font-weight:900;font-size:12px;box-shadow:0 14px 35px rgba(15,23,42,.25)}
.dxpc-product-hero--hero_split:before{content:none}
@media (max-width: 900px){.dxpc-product-hero{margin:0 clamp(0px,var(--dxpc-product-hero-space-right,0px),32px) 24px clamp(0px,var(--dxpc-product-hero-space-left,0px),32px);border-radius:22px;padding:28px 18px}.dxpc-product-hero__inner,.dxpc-product-hero--tech_preview .dxpc-product-hero__inner{grid-template-columns:1fr;gap:24px}.dxpc-product-hero--background_overlay{min-height:440px}.dxpc-product-hero__features{display:grid;grid-template-columns:1fr;width:100%}.dxpc-product-hero__cta{width:100%}}

/* Hide the standard WooCommerce single-product top area when DX custom Product Hero is active.
   This also covers block themes that render Product Gallery/Summary through template blocks instead of classic hooks. */
body.dxpc-product-hero-active.single-product div.product > .woocommerce-product-gallery,
body.dxpc-product-hero-active.single-product div.product > .summary.entry-summary,
body.dxpc-product-hero-active.single-product .wp-block-woocommerce-product-image-gallery,
body.dxpc-product-hero-active.single-product .wp-block-post-title:is(h1),
body.dxpc-product-hero-active.single-product .wp-block-woocommerce-product-price,
body.dxpc-product-hero-active.single-product .wp-block-post-excerpt,
body.dxpc-product-hero-active.single-product .wp-block-add-to-cart-form,
body.dxpc-product-hero-active.single-product .wp-block-woocommerce-product-meta {
  display: none !important;
}
body.dxpc-product-hero-active.single-product .dxpc-product-hero .wp-block-post-title,
body.dxpc-product-hero-active.single-product .dxpc-product-hero .wp-block-post-excerpt {
  display: revert;
}

.dxpc-product-hero__gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(58px,74px));gap:10px;margin:14px;padding:0 0 4px}
.dxpc-product-hero__thumb{appearance:none;border:1px solid rgba(15,23,42,.12);border-radius:14px;background:#fff;padding:4px;cursor:pointer;box-shadow:0 8px 22px rgba(15,23,42,.06);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.dxpc-product-hero__thumb:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,23,42,.11)}
.dxpc-product-hero__thumb.is-active{border-color:var(--dxpc-product-hero-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--dxpc-product-hero-accent) 18%,transparent)}
.dxpc-product-hero__thumb img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px}
.dxpc-product-hero__features li{display:inline-flex;align-items:flex-start;gap:8px}
.dxpc-product-hero__feature-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px;width:18px;height:18px;border-radius:999px;background:var(--dxpc-product-hero-accent);color:#fff;font-size:11px;font-weight:900;line-height:1;margin-top:1px}
.dxpc-product-hero__feature-copy{display:grid;gap:1px;min-width:0}
.dxpc-product-hero__feature-copy strong{font-size:13px;line-height:1.2}
.dxpc-product-hero__feature-copy small{font-size:12px;line-height:1.35;color:color-mix(in srgb,var(--dxpc-product-hero-text) 68%,transparent);font-weight:650}
.dxpc-product-hero--background_overlay .dxpc-product-hero__gallery{margin:18px 0 0;grid-template-columns:repeat(auto-fit,minmax(52px,64px))}
.dxpc-product-hero--background_overlay .dxpc-product-hero__thumb{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.22);box-shadow:none}

/* v004 Product gallery polish: contain images, one-row thumbnails, optional zoom. */
.dxpc-product-hero__media,
.dxpc-product-hero__preview-card{
  display:flex;
  flex-direction:column;
}
.dxpc-product-hero__image{
  width:100%;
  aspect-ratio:4/3;
  max-height:620px;
  object-fit:contain;
  object-position:center;
  background:#f8fafc;
}
.dxpc-product-hero--minimal .dxpc-product-hero__image{
  object-fit:contain;
  background:transparent;
}
.dxpc-product-hero__gallery{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:12px;
  margin:16px 14px 14px;
  padding:2px 2px 10px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  -webkit-overflow-scrolling:touch;
}
.dxpc-product-hero__gallery::-webkit-scrollbar{height:8px}
.dxpc-product-hero__gallery::-webkit-scrollbar-thumb{background:rgba(15,23,42,.16);border-radius:999px}
.dxpc-product-hero__thumb{
  flex:0 0 74px;
  width:74px;
  height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:6px;
  scroll-snap-align:start;
}
.dxpc-product-hero__thumb img{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  object-fit:contain;
  background:#f8fafc;
}
.dxpc-product-hero__thumb.is-active{
  border-color:var(--dxpc-product-hero-accent);
  box-shadow:0 0 0 2px #fff,0 0 0 5px color-mix(in srgb,var(--dxpc-product-hero-accent) 72%,transparent),0 12px 30px rgba(15,23,42,.12);
}
.dxpc-product-hero--background_overlay .dxpc-product-hero__gallery{
  max-width:min(680px,100%);
}
.dxpc-product-hero--background_overlay .dxpc-product-hero__thumb img{background:rgba(255,255,255,.84)}
.dxpc-product-hero--zoom-enabled .dxpc-product-hero__image{cursor:zoom-in}
.dxpc-product-hero-zoom{
  position:fixed;
  inset:0;
  z-index:999999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(18px,4vw,52px);
  background:rgba(15,23,42,.78);
  backdrop-filter:blur(14px);
}
.dxpc-product-hero-zoom__img{
  display:block;
  max-width:min(1180px,96vw);
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:20px;
  background:#fff;
  box-shadow:0 30px 90px rgba(0,0,0,.35);
}
.dxpc-product-hero-zoom__close{
  position:absolute;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#111827;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}
@media (max-width: 700px){
  .dxpc-product-hero__image{aspect-ratio:1/1;max-height:460px}
  .dxpc-product-hero__thumb{flex-basis:64px;width:64px;height:64px}
}

/* v005: breadcrumbs above Product Hero and cleaner tech preview gallery. */
.dxpc-product-hero-breadcrumbs{
  max-width:1180px;
  margin:0 auto 18px;
  padding:0 calc(24px + var(--dxpc-product-hero-space-right,0px)) 0 calc(24px + var(--dxpc-product-hero-space-left,0px));
  color:#64748b;
  font-size:13px;
  line-height:1.4;
}
.dxpc-product-hero-breadcrumbs .woocommerce-breadcrumb,
.dxpc-product-hero-breadcrumbs__nav{
  margin:0;
  color:#64748b;
}
.dxpc-product-hero-breadcrumbs a{
  color:#475569;
  text-decoration:none;
  font-weight:700;
}
.dxpc-product-hero-breadcrumbs a:hover{
  color:var(--dxpc-product-hero-accent,#3c44de);
}
.dxpc-product-hero--tech_preview .dxpc-product-hero__preview-card{
  padding-bottom:18px;
}
@media (max-width: 900px){
  .dxpc-product-hero-breadcrumbs{margin:0 auto 12px;padding:0 calc(18px + clamp(0px,var(--dxpc-product-hero-space-right,0px),32px)) 0 calc(18px + clamp(0px,var(--dxpc-product-hero-space-left,0px),32px))}
}

/* v006: hide duplicated WooCommerce/theme breadcrumbs outside our top Product Hero wrapper. */
body.dxpc-product-hero-active .woocommerce-breadcrumb:not(.dxpc-product-hero-breadcrumbs__nav){
  display:none !important;
}
