body.product-v4 {
  --product-v4-accent: var(--theme-accent, var(--gold, #d6b46d));
  --product-v4-secondary: var(--theme-secondary, var(--gold2, #8f6a29));
  --product-v4-panel: var(--theme-panel, var(--panel, #ffffff));
  --product-v4-bg: var(--theme-bg, var(--bg, #fff8ef));
  --product-v4-text: var(--theme-text, var(--text, #17120c));
  --product-v4-muted: var(--muted, #756654);
  --product-v4-line: color-mix(in srgb, var(--product-v4-accent) 26%, transparent);
}
body.product-v4 .public-container { max-width: 1500px; padding-top: 20px; }
body.product-v4 .product-v4-shell { min-width: 0; }
body.product-v4 .breadcrumbs { margin-bottom: 14px; }
body.product-v4 .product-v4-stage {
  display: grid; grid-template-columns: minmax(390px, .94fr) minmax(460px, 1.06fr);
  gap: clamp(24px, 3vw, 48px); align-items: start; padding: clamp(20px, 2.5vw, 34px);
  overflow: visible; border-radius: 24px;
}
body.product-v4 .product-detail-media { min-width: 0; }
body.product-v4 .product-gallery-track {
  display: flex; width: 100%; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory;
  border: 1px solid var(--product-v4-line); border-radius: 18px; background: color-mix(in srgb, var(--product-v4-panel) 96%, #fff);
  scrollbar-width: none; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18);
}
body.product-v4 .product-gallery-track::-webkit-scrollbar { display: none; }
body.product-v4 .product-gallery-slide {
  position: relative; flex: 0 0 100%; width: 100%; height: clamp(500px, 57vw, 690px);
  padding: clamp(14px, 2vw, 26px); border: 0; border-radius: 0; background: transparent;
  scroll-snap-align: start; overflow: hidden; cursor: zoom-in;
}
body.product-v4 .product-v4-orientation-portrait .product-gallery-slide { height: clamp(590px, 66vw, 800px); }
body.product-v4 .product-v4-orientation-landscape .product-gallery-slide { height: clamp(450px, 48vw, 620px); }
body.product-v4 .product-v4-orientation-panorama .product-gallery-slide { height: clamp(390px, 40vw, 530px); }
body.product-v4 .product-gallery-slide > img:not(.elite-card-logo) { width: 100%; height: 100%; object-fit: contain !important; object-position: center; }
body.product-v4 .elite-card-store { max-width: 64%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.product-v4 .product-gallery-status { padding: 9px 4px 2px; font-size: 11px; }
body.product-v4 .gallery-thumbs {
  display: grid; grid-auto-flow: column; grid-auto-columns: 74px; gap: 9px; justify-content: start;
  width: 100%; padding-top: 12px; overflow-x: auto; scrollbar-width: thin;
}
body.product-v4 .gallery-thumb {
  width: 74px; height: 86px; padding: 5px; border-radius: 12px; background: color-mix(in srgb, var(--product-v4-panel) 94%, #fff);
}
body.product-v4 .gallery-thumb img { width: 100%; height: 100%; object-fit: contain !important; }
body.product-v4 .gallery-thumb.is-active { border-color: var(--product-v4-accent); box-shadow: 0 0 0 2px color-mix(in srgb, var(--product-v4-accent) 18%, transparent); }
body.product-v4 .product-detail-info { min-width: 0; padding-top: 3px; }
body.product-v4 .product-detail-info > .muted:first-child { margin: 0 0 10px; color: var(--product-v4-accent); font-weight: 800; }
body.product-v4 .product-detail-info h1 {
  margin: 0; color: var(--product-v4-text); font-size: clamp(34px, 4.15vw, 64px); line-height: .98; letter-spacing: -.045em;
  overflow-wrap: anywhere;
}
body.product-v4 .product-detail-info .lead { margin: 17px 0 0; color: var(--product-v4-text); font-size: clamp(15px, 1.45vw, 20px); line-height: 1.5; }
body.product-v4 .product-price { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; margin: 26px 0 16px; }
body.product-v4 .product-price strong { color: var(--product-v4-accent); font-size: clamp(30px, 3.25vw, 48px); line-height: 1; }
body.product-v4 .product-price span { color: var(--product-v4-muted); font-size: 17px; text-decoration: line-through; }
body.product-v4 .spec-chip-row { margin: 17px 0 4px; gap: 7px; }
body.product-v4 .spec-chip-row .badge { padding: 6px 10px; color: var(--product-v4-accent); background: transparent; }
body.product-v4 .sticky-buy.add-cart-form {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 18px; padding: 16px;
  border: 1px solid var(--product-v4-line); border-radius: 17px; background: color-mix(in srgb, var(--product-v4-panel) 96%, #fff);
  box-shadow: 0 16px 45px rgba(0,0,0,.06);
}
body.product-v4 .sticky-buy.add-cart-form > .actions { width: 100%; display: grid; grid-template-columns: 110px minmax(150px, 1fr); gap: 10px; }
body.product-v4 .sticky-buy.add-cart-form > .actions .qty-label { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px; margin: 0; }
body.product-v4 .sticky-buy.add-cart-form > .actions .qty-input { min-width: 0; height: 48px; }
body.product-v4 .sticky-buy.add-cart-form > .actions .btn { height: 48px; }
body.product-v4 .sticky-buy.add-cart-form > .btn.ghost { width: fit-content; }
body.product-v4 .catalogue-v2-selector { width: 100%; }
body.product-v4 #variantInstalmentPanel { border-radius: 16px !important; }
body.product-v4 .product-v4-share-system { margin-top: 18px; padding-top: 19px; border-top: 1px solid var(--product-v4-line); }
body.product-v4 .product-v4-section-heading h3 { margin: 3px 0 10px; }
body.product-v4 .copy-link-card,
body.product-v4 .share-kit-card {
  border-color: color-mix(in srgb, var(--product-v4-accent) 56%, #3e321f) !important;
  background: linear-gradient(100deg, #050505, #12100d 58%, #030303) !important;
  color: #fff !important; box-shadow: 0 12px 35px rgba(0,0,0,.16);
}
body.product-v4 .copy-link-label,
body.product-v4 .share-kit-copy strong { color: var(--product-v4-accent) !important; }
body.product-v4 .copy-link-display,
body.product-v4 .share-kit-copy small { color: #bdb4a7 !important; }
body.product-v4 .copy-link-card .icon-btn,
body.product-v4 .share-kit-card .icon-btn { color: var(--product-v4-accent); border-color: color-mix(in srgb, var(--product-v4-accent) 46%, transparent); }
body.product-v4 .product-detail-info > h3 { margin: 27px 0 11px; font-size: 22px; }
body.product-v4 .spec-table { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
body.product-v4 .spec-table > div {
  display: grid; gap: 4px; min-width: 0; padding: 12px 13px; border: 1px solid var(--product-v4-line); border-radius: 13px;
  background: color-mix(in srgb, var(--product-v4-panel) 96%, #fff);
}
body.product-v4 .spec-table span { color: var(--product-v4-accent); font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
body.product-v4 .spec-table strong { overflow-wrap: anywhere; }
body.product-v4 .section-block,
body.product-v4 .product-page-variety { margin-top: 20px; padding: clamp(22px, 2.8vw, 34px); border-radius: 22px; }
body.product-v4 .section-head,
body.product-v4 .product-shelf-head { align-items: end; gap: 16px; }
body.product-v4 .section-head h2,
body.product-v4 .product-shelf-head h2 { font-size: clamp(27px, 3vw, 42px); line-height: 1; }
body.product-v4 .product-engagement-public-list { display: grid; gap: 12px; }
body.product-v4 .product-engagement-public-thread { margin: 0; }
body.product-v4 .product-engagement-public-message { border-radius: 14px; }
body.product-v4 .product-engagement-form { margin-top: 20px; padding: 19px; border: 1px solid var(--product-v4-line); border-radius: 17px; background: color-mix(in srgb, var(--product-v4-panel) 96%, #fff); }
body.product-v4 .product-engagement-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }
body.product-v4 .public-review-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
body.product-v4 .public-review-card { min-width: 0; border-radius: 15px; }
body.product-v4 .product-page-variety { overflow: visible; }
body.product-v4 .product-shelf-rail { min-width: 0; }
body.product-v4 .product-page-variety .elite-cut-media img { object-fit: contain !important; }
body.product-v4 .product-v4-variety-empty { margin-top: 14px; }
body.product-v4 .image-zoom-modal img { object-fit: contain !important; }
body.product-v4 .share-kit-modal { z-index: 10070; }
body.product-v4 .share-kit-dialog { max-width: 860px; }
body.product-v4 .share-option-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 1050px) {
  body.product-v4 .public-container { max-width: 930px; }
  body.product-v4 .product-v4-stage { grid-template-columns: 1fr; gap: 20px; }
  body.product-v4 .product-gallery-slide,
  body.product-v4 .product-v4-orientation-portrait .product-gallery-slide,
  body.product-v4 .product-v4-orientation-landscape .product-gallery-slide,
  body.product-v4 .product-v4-orientation-panorama .product-gallery-slide { height: min(72vh, 690px); }
  body.product-v4 .product-detail-info h1 { font-size: clamp(36px, 6.8vw, 58px); }
  body.product-v4 .public-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  body.product-v4 .public-container { padding-left: 8px; padding-right: 8px; }
  body.product-v4 .product-v4-labbar span,
  body.product-v4 .breadcrumbs { font-size: 10px; overflow-x: auto; white-space: nowrap; }
  body.product-v4 .product-v4-stage { padding: 12px; border-radius: 17px; }
  body.product-v4 .product-gallery-slide,
  body.product-v4 .product-v4-orientation-portrait .product-gallery-slide,
  body.product-v4 .product-v4-orientation-landscape .product-gallery-slide,
  body.product-v4 .product-v4-orientation-panorama .product-gallery-slide { height: min(62vh, 560px); padding: 9px; }
  body.product-v4 .gallery-thumbs { grid-auto-columns: 62px; gap: 7px; }
  body.product-v4 .gallery-thumb { width: 62px; height: 72px; }
  body.product-v4 .product-detail-info h1 { font-size: clamp(30px, 9.6vw, 43px); }
  body.product-v4 .product-price { margin-top: 20px; }
  body.product-v4 .product-price strong { font-size: 29px; }
  body.product-v4 .sticky-buy.add-cart-form { padding: 12px; }
  body.product-v4 .sticky-buy.add-cart-form > .actions { grid-template-columns: 88px minmax(0, 1fr); }
  body.product-v4 .spec-table { grid-template-columns: 1fr; }
  body.product-v4 .section-block,
  body.product-v4 .product-page-variety { padding: 18px 14px; border-radius: 17px; }
  body.product-v4 .section-head,
  body.product-v4 .product-shelf-head { align-items: start; }
  body.product-v4 .public-review-grid { grid-template-columns: 1fr; }
  body.product-v4 .share-option-grid { grid-template-columns: 1fr; }
  body.product-v4 .copy-link-card { align-items: center; flex-direction: row; }
  body.product-v4 .copy-link-actions { justify-content: flex-end; }
}
@media (max-width: 430px) {
  body.product-v4 .product-v4-stage { padding: 9px; }
  body.product-v4 .product-gallery-slide,
  body.product-v4 .product-v4-orientation-portrait .product-gallery-slide,
  body.product-v4 .product-v4-orientation-landscape .product-gallery-slide,
  body.product-v4 .product-v4-orientation-panorama .product-gallery-slide { height: min(56vh, 470px); }
  body.product-v4 .elite-card-store { max-width: 55%; font-size: 8px; }
  body.product-v4 .product-detail-info h1 { font-size: 30px; }
  body.product-v4 .product-detail-info .lead { font-size: 14px; }
  body.product-v4 .sticky-buy.add-cart-form > .actions { grid-template-columns: 78px minmax(0, 1fr); }
  body.product-v4 .sticky-buy.add-cart-form > .btn.ghost { width: 100%; }
  body.product-v4 .copy-link-card { align-items: stretch; flex-direction: column; }
  body.product-v4 .copy-link-actions { justify-content: flex-start; }
}

body.product-v4 .product-v4-share-system .share-kit-card,
body.product-v4 .product-v4-share-system .copy-link-card { width: 100%; }
body.product-v4 .product-v4-stage .product-detail-info > p:last-child { overflow-wrap: anywhere; }
@media (max-width: 760px) {
  body.product-v4 .product-v4-stage { margin-bottom: 14px; }
}


/* Module 5 R2: align Product V4 with the live Homepage V3 chrome. */
body.product-v4.public-modern-shell {
    margin: 0;
    padding-bottom: 0;
}
body.product-v4 .product-v4-main {
    width: 100%;
    padding: 12px 0 0;
}
body.product-v4 .product-v4-main > .product-v4-shell {
    width: min(1360px, calc(100vw - 32px));
    margin-inline: auto;
}
body.product-v4 .product-v4-related {
    width: 100%;
    margin: 24px 0 0;
    padding: 22px 18px 20px;
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--emlab-shadow);
}
body.product-v4 .product-v4-related .emlab-product-rail {
    width: 100%;
}
body.product-v4 .product-v4-related .emlab-product-card {
    min-width: 0;
}
body.product-v4 .public-modern-messages {
    width: min(1360px, calc(100vw - 32px));
    margin: 10px auto 0;
}
body.product-v4 .cookie-consent {
    z-index: 125;
}
@media (max-width: 820px) {
    body.product-v4.public-modern-shell {
        padding-bottom: calc(68px + env(safe-area-inset-bottom));
    }
    body.product-v4 .product-v4-main {
        padding-top: 8px;
    }
    body.product-v4 .product-v4-main > .product-v4-shell {
        width: 100%;
    }
    body.product-v4 .product-v4-related {
        margin-top: 10px;
        padding: 13px 0 15px;
        border-radius: 0;
        border-top: 1px solid #e9ebee;
        border-bottom: 1px solid #e9ebee;
        box-shadow: none;
    }
    body.product-v4 .product-v4-related .emlab-section-head {
        padding-inline: 10px;
    }
    body.product-v4 .product-v4-related .emlab-product-rail {
        padding-inline: 10px;
    }
    body.product-v4 .public-modern-messages {
        width: calc(100vw - 16px);
        margin-top: 8px;
    }
}
