/* ============================================================
   OREYNE PRODUCT PAGE v1.7.3
   产品详情页完整重构

   作用范围：仅 body.oreyne-pdp-active 内生效。
   不修改 Header、Footer、语言切换器、移动底部导航，
   也不主动修改现有 Sticky Add to Cart。
   ============================================================ */


/* ============================================================
   00. UMINO / WOOCOMMERCE 旧版布局强制复位
   v1.2.0 使用完整模板接管后，仍需清掉主题针对 .product / .summary
   的 float、width、margin 等历史规则，避免新版 Grid 被旧主题覆盖。
   ============================================================ */

body.oreyne-pdp-active div.product.oreyne-pdp-product,
body.oreyne-pdp-active .oreyne-pdp-product {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.oreyne-pdp-active .oreyne-pdp-product::before,
body.oreyne-pdp-active .oreyne-pdp-product::after {
    content: none !important;
    display: none !important;
}

body.oreyne-pdp-active .oreyne-pdp-summary.summary,
body.oreyne-pdp-active div.product .oreyne-pdp-summary.summary {
    float: none !important;
    clear: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* 新版不输出 Umino 原生图库和旧 Tabs；若第三方再次注入，则隐藏重复结构。 */
body.oreyne-pdp-active .oreyne-pdp-product > .woocommerce-product-gallery,
body.oreyne-pdp-active .oreyne-pdp-product > .images,
body.oreyne-pdp-active .oreyne-pdp-product > .woocommerce-tabs,
body.oreyne-pdp-active .oreyne-pdp-product > .product-tabs-wrapper {
    display: none !important;
}

body.oreyne-pdp-active .oreyne-pdp-product,
body.oreyne-pdp-active .oreyne-pdp-product * {
    box-sizing: border-box;
}

body.oreyne-pdp-active .oreyne-pdp-product {
    --oreyne-text: #151515;
    --oreyne-muted: #68645f;
    --oreyne-line: #dedbd5;
    --oreyne-soft: #f7f6f3;
    --oreyne-white: #ffffff;
    --oreyne-cta: #111111;
    --oreyne-accent: #a78967;
    width: 100%;
    color: var(--oreyne-text);
    background: var(--oreyne-white);
}

/* ============================================================
   01. 桌面端主布局
   左侧：大图画廊
   右侧：购买信息 + 三项保障 + 折叠详情
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-top {
    width: min(100% - 48px, 1660px);
    margin: 0 auto;
    padding: 28px 0 84px;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(400px, 0.95fr);
    gap: clamp(34px, 4vw, 72px);
    align-items: start;
}

/* ============================================================
   02. 桌面端产品图库
   参考艺术珠宝网站：不显示传统缩略图条，直接展示大图网格。
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-gallery {
    position: relative;
    min-width: 0;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__track {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    align-items: start;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__item {
    margin: 0;
    min-width: 0;
    background: var(--oreyne-soft);
    overflow: hidden;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__item img,
body.oreyne-pdp-active .oreyne-pdp-gallery__item .woocommerce-placeholder {
    display: block;
    width: 100%;
    height: auto;
    max-width: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

body.oreyne-pdp-active .oreyne-pdp-sale-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 3;
    min-width: 48px;
    height: 30px;
    padding: 0 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--oreyne-text);
    color: #fff;
    font-size: 11px;
    letter-spacing: .08em;
}

/* 桌面端不需要计数器和圆点。 */
body.oreyne-pdp-active .oreyne-pdp-gallery__mobile-ui {
    display: none;
}

/* ============================================================
   03. 右侧购买信息区
   使用 sticky 让左侧浏览多张图片时购买信息仍然可见。
   这不是底部 Sticky Add to Cart，不会改动现有底部功能。
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-summary {
    position: sticky;
    top: 104px;
    align-self: start;
    width: 100%;
    min-width: 0;
    max-height: none;
    padding: 2px 8px 18px 0;
    overflow: visible;
}

body.oreyne-pdp-active .oreyne-pdp-summary::-webkit-scrollbar {
    width: 4px;
}

body.oreyne-pdp-active .oreyne-pdp-summary::-webkit-scrollbar-thumb {
    background: rgba(21, 21, 21, .22);
    border-radius: 8px;
}

body.oreyne-pdp-active .oreyne-pdp-summary__category {
    margin: 0 0 9px;
    color: var(--oreyne-muted);
    font-size: 11px;
    line-height: 1.4;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.oreyne-pdp-active .oreyne-pdp-summary__category a {
    color: inherit;
    text-decoration: none;
}

body.oreyne-pdp-active .oreyne-pdp-summary .product_title,
body.oreyne-pdp-active .oreyne-pdp-summary h1.product_title {
    margin: 0 0 12px;
    padding: 0;
    color: var(--oreyne-text);
    font-size: clamp(27px, 2.05vw, 38px);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: -.025em;
}

body.oreyne-pdp-active .oreyne-pdp-summary__meta-row {
    min-height: 18px;
    margin-bottom: 11px;
}

body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-product-rating {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-review-link {
    color: var(--oreyne-muted);
    font-size: 12px;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.oreyne-pdp-active .oreyne-pdp-summary .price {
    margin: 0 0 18px;
    color: var(--oreyne-text);
    font-size: 20px;
    line-height: 1.3;
    font-weight: 500;
}

body.oreyne-pdp-active .oreyne-pdp-summary .price del {
    color: #96918b;
    opacity: 1;
    font-size: .85em;
}

body.oreyne-pdp-active .oreyne-pdp-summary .price ins {
    color: inherit;
    text-decoration: none;
}

/* 购买区关键事实：SKU / 库存 / 制作时间 / 配送。 */
body.oreyne-pdp-active .oreyne-pdp-key-info {
    margin: 18px 0 22px;
    padding: 18px 0;
    border-top: 1px solid var(--oreyne-line);
    border-bottom: 1px solid var(--oreyne-line);
}

body.oreyne-pdp-active .oreyne-pdp-key-info__row {
    margin: 0;
    color: var(--oreyne-text);
    font-size: 13px;
    line-height: 1.55;
}

body.oreyne-pdp-active .oreyne-pdp-key-info__row + .oreyne-pdp-key-info__row {
    margin-top: 9px;
}

body.oreyne-pdp-active .oreyne-pdp-key-info__label {
    color: var(--oreyne-muted);
}

/* v1.7.10：直接点击 SKU 数值复制；悬停时使用手指指针，明确提示可点击。 */
body.oreyne-pdp-active .oreyne-pdp-key-info__row.sku {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}

body.oreyne-pdp-active .oreyne-pdp-sku-copy {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    margin: -4px 0;
    padding: 4px 3px;
    border-radius: 3px;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    transition: color 160ms ease, background-color 160ms ease;
}

body.oreyne-pdp-active .oreyne-pdp-sku-copy:hover,
body.oreyne-pdp-active .oreyne-pdp-sku-copy:focus-visible {
    color: var(--oreyne-text);
    background: rgba(21, 21, 21, .045);
    outline: none;
}

body.oreyne-pdp-active .oreyne-pdp-sku-copy:focus-visible {
    box-shadow: 0 0 0 1px rgba(21, 21, 21, .16);
}

body.oreyne-pdp-active .oreyne-pdp-sku-copy__feedback {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 6px);
    z-index: 8;
    transform: translate(-50%, 4px);
    padding: 5px 8px;
    border-radius: 4px;
    background: #151515;
    color: #fff;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 150ms ease, transform 150ms ease, visibility 150ms ease;
}

body.oreyne-pdp-active .oreyne-pdp-sku-copy.is-copied .oreyne-pdp-sku-copy__feedback,
body.oreyne-pdp-active .oreyne-pdp-sku-copy.is-error .oreyne-pdp-sku-copy__feedback {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

body.oreyne-pdp-active .oreyne-pdp-sku-copy.is-copied .oreyne-pdp-sku-copy__feedback {
    background: #151515;
}

body.oreyne-pdp-active .oreyne-pdp-sku-copy.is-error .oreyne-pdp-sku-copy__feedback {
    background: #8b3430;
}

body.oreyne-pdp-active .oreyne-pdp-key-info__row.availability.in-stock .oreyne-pdp-key-info__value {
    color: #46723b;
}

body.oreyne-pdp-active .oreyne-pdp-key-info__row.availability.out-of-stock .oreyne-pdp-key-info__value {
    color: #9b3b35;
}

body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-product-details__short-description {
    margin: 0 0 22px;
    color: var(--oreyne-muted);
    font-size: 14px;
    line-height: 1.72;
}

body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-product-details__short-description > :first-child {
    margin-top: 0;
}

body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-product-details__short-description > :last-child {
    margin-bottom: 0;
}

/* ============================================================
   04. 购买表单
   保留 WooCommerce 原生结构，仅统一视觉。
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-summary__purchase {
    margin-top: 4px;
}

body.oreyne-pdp-active .oreyne-pdp-summary form.cart {
    margin: 0 0 22px;
}

body.oreyne-pdp-active .oreyne-pdp-summary form.cart:not(.variations_form) {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}

body.oreyne-pdp-active .oreyne-pdp-summary form.cart:not(.variations_form) > .quantity {
    margin: 0;
    width: 100%;
}

body.oreyne-pdp-active .oreyne-pdp-summary .quantity {
    min-height: 52px;
    border: 1px solid var(--oreyne-line);
    border-radius: 0;
    background: #fff;
}

body.oreyne-pdp-active .oreyne-pdp-summary .quantity input.qty {
    min-height: 50px;
    border: 0;
    background: transparent;
    color: var(--oreyne-text);
}

body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button,
body.oreyne-pdp-active .oreyne-pdp-summary button.single_add_to_cart_button {
    min-height: 52px;
    width: 100%;
    margin: 0;
    padding: 0 24px;
    border: 1px solid var(--oreyne-cta);
    border-radius: 0;
    background: var(--oreyne-cta);
    color: #fff;
    font-size: 13px;
    line-height: 1;
    font-weight: 500;
    letter-spacing: .025em;
    text-transform: uppercase;
    box-shadow: none;
}

body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button:hover,
body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button:focus-visible {
    background: #2b2b2b;
    border-color: #2b2b2b;
    color: #fff;
}

body.oreyne-pdp-active .oreyne-pdp-summary .variations {
    width: 100%;
    margin: 0 0 14px;
    border: 0;
}

body.oreyne-pdp-active .oreyne-pdp-summary .variations tr,
body.oreyne-pdp-active .oreyne-pdp-summary .variations th,
body.oreyne-pdp-active .oreyne-pdp-summary .variations td {
    display: block;
    width: 100%;
    border: 0;
    padding: 0;
}

body.oreyne-pdp-active .oreyne-pdp-summary .variations th.label {
    margin: 0 0 7px;
    color: var(--oreyne-text);
    font-size: 12px;
    font-weight: 500;
}

body.oreyne-pdp-active .oreyne-pdp-summary .variations td.value {
    margin: 0 0 16px;
}

body.oreyne-pdp-active .oreyne-pdp-summary .variations select {
    width: 100%;
    min-height: 48px;
    padding: 0 14px;
    border: 1px solid var(--oreyne-line);
    border-radius: 0;
    background-color: #fff;
    color: var(--oreyne-text);
    font: inherit;
    font-size: 13px;
}

body.oreyne-pdp-active .oreyne-pdp-summary .reset_variations {
    display: inline-block;
    margin-top: 7px;
    color: var(--oreyne-muted);
    font-size: 12px;
}

body.oreyne-pdp-active .oreyne-pdp-summary .single_variation_wrap .woocommerce-variation-add-to-cart {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 10px;
    align-items: stretch;
}

body.oreyne-pdp-active .oreyne-pdp-summary .stock {
    margin: 0 0 14px;
    color: #4d654c;
    font-size: 12px;
}

/* v1.7.28：库存统一由 Availability 区展示；隐藏 WooCommerce 在购买表单中动态输出的重复库存数量。 */
body.oreyne-pdp-active .oreyne-pdp-summary__purchase .stock,
body.oreyne-pdp-active .oreyne-pdp-summary .single_variation_wrap .stock {
    display: none !important;
}

/* ============================================================
   05. 三项保障
   Tracked Worldwide Delivery / 30-Day Returns / One-Year Warranty
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-assurance {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0;
    margin: 4px 0 0;
    padding: 18px 0 20px;
    border-top: 1px solid var(--oreyne-line);
    border-bottom: 1px solid var(--oreyne-line);
}

body.oreyne-pdp-active .oreyne-pdp-assurance__item {
    min-width: 0;
    padding: 0 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: opacity .18s ease, background-color .18s ease;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__item:hover {
    color: inherit;
    text-decoration: none;
    opacity: .72;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__item:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 6px;
    color: inherit;
    text-decoration: none;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__item + .oreyne-pdp-assurance__item {
    border-left: 1px solid var(--oreyne-line);
}

body.oreyne-pdp-active .oreyne-pdp-assurance__icon {
    width: 31px;
    height: 31px;
    margin-bottom: 9px;
    color: var(--oreyne-text);
}

body.oreyne-pdp-active .oreyne-pdp-assurance__icon svg {
    width: 100%;
    height: 100%;
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
    color: var(--oreyne-text);
    font-size: 10.5px;
    line-height: 1.35;
    font-weight: 600;
    letter-spacing: .025em;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__copy small {
    color: var(--oreyne-muted);
    font-size: 10px;
    line-height: 1.35;
}

/* ============================================================
   06. DESCRIPTION / MATERIALS / DIMENSIONS 折叠区
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-accordion {
    border-bottom: 1px solid var(--oreyne-line);
}

body.oreyne-pdp-active .oreyne-pdp-accordion__item {
    border-top: 1px solid var(--oreyne-line);
}

body.oreyne-pdp-active .oreyne-pdp-accordion__item:first-child {
    border-top: 0;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__heading {
    margin: 0;
    padding: 0;
    font: inherit;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__trigger {
    appearance: none;
    -webkit-appearance: none;
    width: 100%;
    min-height: 58px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    border: 0;
    background: transparent;
    color: var(--oreyne-text);
    font: inherit;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: .045em;
    text-align: left;
    cursor: pointer;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__symbol {
    position: relative;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__symbol::before,
body.oreyne-pdp-active .oreyne-pdp-accordion__symbol::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 13px;
    height: 1px;
    background: currentColor;
    transform: translate(-50%, -50%);
    transition: transform 180ms ease, opacity 180ms ease;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__symbol::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

body.oreyne-pdp-active .oreyne-pdp-accordion__trigger[aria-expanded="true"] .oreyne-pdp-accordion__symbol::after {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(0deg);
}

body.oreyne-pdp-active .oreyne-pdp-accordion__panel[hidden] {
    display: none;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__content {
    padding: 0 0 22px;
    color: var(--oreyne-muted);
    font-size: 13px;
    line-height: 1.68;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__content img {
    max-width: 100%;
    height: auto;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__content > :first-child {
    margin-top: 0;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__content > :last-child {
    margin-bottom: 0;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__item--know_how .oreyne-pdp-accordion__content p {
    margin: 0 0 14px;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__item--know_how .oreyne-pdp-accordion__content p + p {
    margin-top: 14px;
}

body.oreyne-pdp-active .oreyne-pdp-empty {
    color: #8f8a84;
    font-style: italic;
}

/* ============================================================
   07. SHORTCUTS
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-shortcuts {
    padding: 22px 0 4px;
}

body.oreyne-pdp-active .oreyne-pdp-shortcuts h2 {
    margin: 0 0 13px;
    padding: 0;
    color: var(--oreyne-text);
    font: inherit;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: .045em;
}

body.oreyne-pdp-active .oreyne-pdp-shortcuts__links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 18px;
}

body.oreyne-pdp-active .oreyne-pdp-shortcuts__links a {
    color: var(--oreyne-text);
    font-size: 12px;
    line-height: 1.55;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

body.oreyne-pdp-active .oreyne-pdp-shortcuts__links a:hover,
body.oreyne-pdp-active .oreyne-pdp-shortcuts__links a:focus-visible {
    opacity: .58;
}

/* ============================================================
   08. 完整产品长描述
   DESCRIPTION 折叠区只显示短描述；这里完整保留 WooCommerce
   产品“描述”中的 Design Origin、工艺故事、图片与富文本。
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-long-description {
    width: 100%;
    clear: both;
    padding: 18px 0 84px;
}

body.oreyne-pdp-active .oreyne-pdp-long-description__inner {
    width: min(100% - 48px, 1380px);
    margin: 0 auto;
}

body.oreyne-pdp-active .oreyne-pdp-long-description__inner > :first-child {
    margin-top: 0;
}

body.oreyne-pdp-active .oreyne-pdp-long-description__inner > :last-child {
    margin-bottom: 0;
}

body.oreyne-pdp-active .oreyne-pdp-long-description img {
    max-width: 100%;
    height: auto;
}

/* ============================================================
   09. 主区域以下：相关推荐
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-after-main {
    width: 100%;
    clear: both;
}

body.oreyne-pdp-active .oreyne-pdp-related {
    width: min(100% - 48px, 1380px);
    margin: 0 auto;
    padding: 18px 0 82px;
}

body.oreyne-pdp-active .oreyne-pdp-related .related.products {
    margin: 0;
}

body.oreyne-pdp-active .oreyne-pdp-related .related.products > h2 {
    margin: 0 0 34px;
    color: var(--oreyne-text);
    font-size: 15px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
}

/* ============================================================
   10. 页面最末尾：Customer Reviews
   不再使用旧 Description / Additional Information / Reviews Tabs。
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-reviews {
    width: min(100% - 48px, 1320px);
    margin: 0 auto;
    padding: 68px 0 90px;
    border-top: 1px solid var(--oreyne-line);
    clear: both;
}

body.oreyne-pdp-active .oreyne-pdp-reviews__heading {
    margin: 0 0 36px;
    text-align: center;
}

body.oreyne-pdp-active .oreyne-pdp-reviews__heading p {
    margin: 0 0 8px;
    color: var(--oreyne-muted);
    font-size: 10px;
    letter-spacing: .14em;
}

body.oreyne-pdp-active .oreyne-pdp-reviews__heading h2 {
    margin: 0;
    color: var(--oreyne-text);
    font-size: clamp(26px, 2.6vw, 38px);
    line-height: 1.15;
    font-weight: 400;
}

body.oreyne-pdp-active .oreyne-pdp-reviews #reviews,
body.oreyne-pdp-active .oreyne-pdp-reviews .woocommerce-Reviews,
body.oreyne-pdp-active .oreyne-pdp-reviews .woocommerce-Reviews-title {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

/* ============================================================
   11. 平板端
   ============================================================ */

@media (max-width: 1100px) and (min-width: 768px) {
    body.oreyne-pdp-active .oreyne-pdp-top {
        width: min(100% - 36px, 1200px);
        grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
        gap: 30px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary {
        top: 90px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy small {
        display: none;
    }
}

/* ============================================================
   12. 手机端 <= 767px
   参考移动端艺术珠宝详情：
   - 单张横向滑动图库
   - 不显示缩略图条
   - 标题 / 价格 / 简介集中
   - Add to Cart 后紧接三项保障和折叠详情
   ============================================================ */

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-top {
        width: 100%;
        margin: 0;
        padding: 0 0 54px;
        display: block;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery {
        width: 100%;
        overflow: hidden;
        background: var(--oreyne-soft);
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__track {
        width: 100%;
        display: flex;
        gap: 0;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-behavior: smooth;
        overscroll-behavior-x: contain;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__track::-webkit-scrollbar {
        display: none;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item {
        flex: 0 0 100%;
        width: 100%;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        background: var(--oreyne-soft);
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item img,
    body.oreyne-pdp-active .oreyne-pdp-gallery__item .woocommerce-placeholder {
        width: 100%;
        height: auto;
        min-height: 0;
        object-fit: contain;
        background: var(--oreyne-soft);
    }

    body.oreyne-pdp-active .oreyne-pdp-sale-badge {
        top: 12px;
        left: 12px;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__mobile-ui {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 13px;
        z-index: 4;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        pointer-events: none;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__counter {
        min-width: 42px;
        height: 24px;
        padding: 0 8px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 1px solid rgba(21, 21, 21, .12);
        border-radius: 999px;
        background: rgba(255,255,255,.88);
        color: var(--oreyne-text);
        font-size: 10px;
        line-height: 1;
        backdrop-filter: blur(8px);
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__dots {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 5px;
        pointer-events: auto;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__dot {
        appearance: none;
        -webkit-appearance: none;
        width: 5px;
        height: 5px;
        min-width: 5px;
        min-height: 5px;
        padding: 0;
        margin: 0;
        border: 0;
        border-radius: 50%;
        background: rgba(21,21,21,.28);
        cursor: pointer;
        transition: width 160ms ease, border-radius 160ms ease, background-color 160ms ease;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__dot.is-active {
        width: 15px;
        border-radius: 99px;
        background: var(--oreyne-text);
    }

    body.oreyne-pdp-active .oreyne-pdp-summary {
        position: static;
        width: 100%;
        max-height: none;
        padding: 24px 18px 0;
        overflow: visible;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary__head {
        text-align: center;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary__category {
        margin-bottom: 7px;
        font-size: 10px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .product_title,
    body.oreyne-pdp-active .oreyne-pdp-summary h1.product_title {
        margin-bottom: 9px;
        font-size: 22px;
        line-height: 1.2;
        letter-spacing: -.018em;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary__meta-row,
    body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-product-rating {
        display: flex;
        justify-content: center;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .price {
        margin-bottom: 14px;
        font-size: 17px;
        text-align: center;
    }

    body.oreyne-pdp-active .oreyne-pdp-key-info {
        margin: 16px 0 20px;
        padding: 16px 0;
        text-align: left;
    }

    body.oreyne-pdp-active .oreyne-pdp-key-info__row {
        font-size: 12px;
        line-height: 1.55;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-product-details__short-description {
        max-width: 520px;
        margin: 0 auto 20px;
        font-size: 13px;
        line-height: 1.65;
        text-align: center;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary form.cart:not(.variations_form),
    body.oreyne-pdp-active .oreyne-pdp-summary .single_variation_wrap .woocommerce-variation-add-to-cart {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 8px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .quantity,
    body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button,
    body.oreyne-pdp-active .oreyne-pdp-summary button.single_add_to_cart_button {
        min-height: 50px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .quantity input.qty {
        min-height: 48px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance {
        margin-top: 0;
        padding: 20px 0 18px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__item {
        padding: 0 6px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__icon {
        width: 29px;
        height: 29px;
        margin-bottom: 8px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
        font-size: 10px;
        line-height: 1.3;
        letter-spacing: 0;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy small {
        display: none;
    }

    body.oreyne-pdp-active .oreyne-pdp-accordion__trigger {
        min-height: 62px;
        font-size: 13px;
    }

    body.oreyne-pdp-active .oreyne-pdp-accordion__content {
        padding-bottom: 24px;
        font-size: 13px;
        line-height: 1.68;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts {
        padding-top: 22px;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts h2 {
        font-size: 13px;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts__links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 16px;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts__links a {
        font-size: 12px;
    }

    body.oreyne-pdp-active .oreyne-pdp-long-description {
        padding: 8px 0 58px;
    }

    body.oreyne-pdp-active .oreyne-pdp-long-description__inner {
        width: calc(100% - 36px);
    }

    body.oreyne-pdp-active .oreyne-pdp-related {
        width: 100%;
        padding: 8px 18px 58px;
        overflow: hidden;
    }

    body.oreyne-pdp-active .oreyne-pdp-related .related.products > h2 {
        margin-bottom: 26px;
        font-size: 13px;
    }

    body.oreyne-pdp-active .oreyne-pdp-related ul.products {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 12px;
    }

    body.oreyne-pdp-active .oreyne-pdp-related ul.products::before,
    body.oreyne-pdp-active .oreyne-pdp-related ul.products::after {
        display: none;
    }

    body.oreyne-pdp-active .oreyne-pdp-related ul.products li.product {
        width: auto;
        margin: 0;
        float: none;
        clear: none;
    }

    body.oreyne-pdp-active .oreyne-pdp-reviews {
        width: calc(100% - 36px);
        padding: 50px 0 76px;
    }

    body.oreyne-pdp-active .oreyne-pdp-reviews__heading {
        margin-bottom: 28px;
    }

    body.oreyne-pdp-active .oreyne-pdp-reviews__heading h2 {
        font-size: 28px;
    }
}

/* ============================================================
   13. 小屏手机 <= 390px
   ============================================================ */

@media (max-width: 390px) {
    body.oreyne-pdp-active .oreyne-pdp-summary {
        padding-left: 14px;
        padding-right: 14px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__item {
        padding-left: 4px;
        padding-right: 4px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
        font-size: 9.5px;
    }

    body.oreyne-pdp-active .oreyne-pdp-long-description__inner {
        width: calc(100% - 28px);
    }

    body.oreyne-pdp-active .oreyne-pdp-related {
        padding-left: 14px;
        padding-right: 14px;
    }

    body.oreyne-pdp-active .oreyne-pdp-reviews {
        width: calc(100% - 28px);
    }
}

/* ============================================================
   14. 减少动画偏好
   ============================================================ */

@media (prefers-reduced-motion: reduce) {
    body.oreyne-pdp-active .oreyne-pdp-gallery__track {
        scroll-behavior: auto;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__dot,
    body.oreyne-pdp-active .oreyne-pdp-accordion__symbol::before,
    body.oreyne-pdp-active .oreyne-pdp-accordion__symbol::after {
        transition: none;
    }
}


/* ============================================================
   15. v1.3.0 主题兼容补强
   ============================================================ */
body.oreyne-pdp-active .oreyne-pdp-related .products,
body.oreyne-pdp-active .oreyne-pdp-reviews {
    clear: both !important;
    float: none !important;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__image {
    cursor: default;
}

/* 参考页桌面端：图库与右侧信息从同一视觉起点开始。 */
@media (min-width: 1110px) {
    body.oreyne-pdp-active .oreyne-pdp-top {
        align-items: start;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item {
        min-height: 360px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item img,
    body.oreyne-pdp-active .oreyne-pdp-gallery__item .woocommerce-placeholder {
        width: 100%;
        height: auto;
        object-fit: contain;
    }
}

/* 手机端必须完全取消 Umino 对 summary 的 float / width 设置。 */
@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-summary.summary,
    body.oreyne-pdp-active div.product .oreyne-pdp-summary.summary {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        margin: 0 !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item {
        min-height: 0 !important;
    }
}


/* ============================================================
   16. v1.4.0 阅读体验与规格信息优化
   - 顶部评价链接可准确定位到评价区
   - Materials / Dimensions 使用更清晰的规格排版
   - 提升桌面端与移动端正文、购买信息、保障、评价的字号
   ============================================================ */

body.oreyne-pdp-active #oreyne-customer-reviews {
    scroll-margin-top: 120px;
}

/* 顶部购买信息：整体提高可读性。 */
body.oreyne-pdp-active .oreyne-pdp-summary__category {
    font-size: 12px;
}

body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-review-link {
    font-size: 14px;
    line-height: 1.45;
}

body.oreyne-pdp-active .oreyne-pdp-summary .price {
    font-size: 22px;
}

body.oreyne-pdp-active .oreyne-pdp-key-info__row {
    font-size: 14px;
    line-height: 1.65;
}

body.oreyne-pdp-active .oreyne-pdp-summary .variations th.label,
body.oreyne-pdp-active .oreyne-pdp-summary .variations select,
body.oreyne-pdp-active .oreyne-pdp-summary .stock {
    font-size: 14px;
}

body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button,
body.oreyne-pdp-active .oreyne-pdp-summary button.single_add_to_cart_button {
    font-size: 14px;
}

/* 三项保障：不再使用过小的 10px 字号。 */
body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
    font-size: 12px;
    line-height: 1.4;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__copy small {
    font-size: 11.5px;
    line-height: 1.45;
}

/* Accordion 标题和正文。 */
body.oreyne-pdp-active .oreyne-pdp-accordion__trigger {
    min-height: 64px;
    font-size: 14px;
    line-height: 1.4;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__content {
    padding: 2px 0 26px;
    font-size: 15px;
    line-height: 1.72;
}

/* Materials / Dimensions 自动提取后的统一规格列表。 */
body.oreyne-pdp-active .oreyne-pdp-spec-list {
    display: grid;
    gap: 14px;
}

body.oreyne-pdp-active .oreyne-pdp-spec-list__item {
    min-width: 0;
}

body.oreyne-pdp-active .oreyne-pdp-spec-list__item strong,
body.oreyne-pdp-active .oreyne-pdp-spec-list__item span {
    display: block;
}

body.oreyne-pdp-active .oreyne-pdp-spec-list__item strong {
    margin-bottom: 4px;
    color: var(--oreyne-text);
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
}

body.oreyne-pdp-active .oreyne-pdp-spec-list__item span {
    color: var(--oreyne-muted);
    font-size: 15px;
    line-height: 1.55;
}

/* 参考站 Dimensions：桌面端尽量横向并列展示规格。 */
body.oreyne-pdp-active .oreyne-pdp-accordion__item--dimensions .oreyne-pdp-spec-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 24px;
}

/* Shortcuts 也提高字号。 */
body.oreyne-pdp-active .oreyne-pdp-shortcuts h2,
body.oreyne-pdp-active .oreyne-pdp-shortcuts__links a {
    font-size: 14px;
}

/* 完整产品长描述保留原设计结构，只提高正文阅读基准。 */
body.oreyne-pdp-active .oreyne-pdp-long-description__inner {
    font-size: 15.5px;
    line-height: 1.75;
}

body.oreyne-pdp-active .oreyne-pdp-long-description__inner p,
body.oreyne-pdp-active .oreyne-pdp-long-description__inner li {
    line-height: 1.75;
}

/* 相关推荐标题不再过小。 */
body.oreyne-pdp-active .oreyne-pdp-related .related.products > h2 {
    font-size: 17px;
}

/* CusRev / WooCommerce 评价区整体提高可读性，并适当收窄正文宽度。 */
body.oreyne-pdp-active .oreyne-pdp-reviews {
    width: min(100% - 48px, 1180px);
    font-size: 15px;
    line-height: 1.65;
}

body.oreyne-pdp-active .oreyne-pdp-reviews__heading p {
    font-size: 11px;
}

body.oreyne-pdp-active .oreyne-pdp-reviews input,
body.oreyne-pdp-active .oreyne-pdp-reviews select,
body.oreyne-pdp-active .oreyne-pdp-reviews textarea,
body.oreyne-pdp-active .oreyne-pdp-reviews button {
    font-size: 14px;
}

body.oreyne-pdp-active .oreyne-pdp-reviews .cr-all-reviews-shortcode,
body.oreyne-pdp-active .oreyne-pdp-reviews .cr-reviews-ajax-reviews,
body.oreyne-pdp-active .oreyne-pdp-reviews .woocommerce-Reviews {
    font-size: 15px;
    line-height: 1.65;
}

/* 客户上传媒体在评价区保持可见且不被主题压缩成异常尺寸。 */
body.oreyne-pdp-active .oreyne-pdp-reviews .cr-comment-images,
body.oreyne-pdp-active .oreyne-pdp-reviews .cr-comment-video {
    max-width: 100%;
}

body.oreyne-pdp-active .oreyne-pdp-reviews .cr-comment-images img {
    width: auto;
    max-width: 120px;
    height: auto;
    border-radius: 4px;
}

/* ============================================================
   v1.4.0 手机端阅读体验
   ============================================================ */
@media (max-width: 767px) {
    body.oreyne-pdp-active #oreyne-customer-reviews {
        scroll-margin-top: 92px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary {
        padding-left: 20px;
        padding-right: 20px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .product_title,
    body.oreyne-pdp-active .oreyne-pdp-summary h1.product_title {
        font-size: 25px;
        line-height: 1.18;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-review-link {
        font-size: 13.5px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .price {
        font-size: 20px;
    }

    body.oreyne-pdp-active .oreyne-pdp-key-info__row {
        font-size: 14px;
        line-height: 1.65;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
        font-size: 11px;
    }

    body.oreyne-pdp-active .oreyne-pdp-accordion__trigger {
        min-height: 66px;
        font-size: 14.5px;
    }

    body.oreyne-pdp-active .oreyne-pdp-accordion__content {
        font-size: 15px;
        line-height: 1.72;
    }

    body.oreyne-pdp-active .oreyne-pdp-accordion__item--dimensions .oreyne-pdp-spec-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    body.oreyne-pdp-active .oreyne-pdp-spec-list__item strong {
        font-size: 14px;
    }

    body.oreyne-pdp-active .oreyne-pdp-spec-list__item span {
        font-size: 15px;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts h2,
    body.oreyne-pdp-active .oreyne-pdp-shortcuts__links a {
        font-size: 14px;
    }

    body.oreyne-pdp-active .oreyne-pdp-long-description__inner {
        width: calc(100% - 40px);
        font-size: 15.5px;
        line-height: 1.75;
    }

    body.oreyne-pdp-active .oreyne-pdp-related .related.products > h2 {
        font-size: 16px;
    }

    body.oreyne-pdp-active .oreyne-pdp-reviews {
        width: calc(100% - 40px);
        padding-top: 56px;
        font-size: 15px;
    }

    body.oreyne-pdp-active .oreyne-pdp-reviews__heading h2 {
        font-size: 30px;
    }

    body.oreyne-pdp-active .oreyne-pdp-reviews input,
    body.oreyne-pdp-active .oreyne-pdp-reviews select,
    body.oreyne-pdp-active .oreyne-pdp-reviews textarea,
    body.oreyne-pdp-active .oreyne-pdp-reviews button {
        min-height: 44px;
        font-size: 14px;
    }
}

@media (max-width: 390px) {
    body.oreyne-pdp-active .oreyne-pdp-accordion__item--dimensions .oreyne-pdp-spec-list {
        grid-template-columns: 1fr;
    }

    body.oreyne-pdp-active .oreyne-pdp-reviews {
        width: calc(100% - 28px);
    }
}


/* v1.4.0 统一正文基准字号。 */
body.oreyne-pdp-active .oreyne-pdp-product {
    font-size: 16px;
    line-height: 1.6;
}

body.oreyne-pdp-active .oreyne-pdp-long-description__inner h2 {
    font-size: clamp(30px, 2.4vw, 42px);
    line-height: 1.18;
}

body.oreyne-pdp-active .oreyne-pdp-long-description__inner h3 {
    font-size: clamp(24px, 1.8vw, 32px);
    line-height: 1.22;
}

body.oreyne-pdp-active .oreyne-pdp-long-description__inner h4 {
    font-size: 18px;
    line-height: 1.35;
}

body.oreyne-pdp-active .oreyne-pdp-related ul.products li.product .woocommerce-loop-product__title,
body.oreyne-pdp-active .oreyne-pdp-related ul.products li.product h2,
body.oreyne-pdp-active .oreyne-pdp-related ul.products li.product h3 {
    font-size: 14px;
    line-height: 1.45;
}

body.oreyne-pdp-active .oreyne-pdp-related ul.products li.product .price {
    font-size: 14px;
    line-height: 1.4;
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-product {
        font-size: 15.5px;
    }

    body.oreyne-pdp-active .oreyne-pdp-long-description__inner h2 {
        font-size: 30px;
    }

    body.oreyne-pdp-active .oreyne-pdp-long-description__inner h3 {
        font-size: 24px;
    }

    body.oreyne-pdp-active .oreyne-pdp-related ul.products li.product .woocommerce-loop-product__title,
    body.oreyne-pdp-active .oreyne-pdp-related ul.products li.product h2,
    body.oreyne-pdp-active .oreyne-pdp-related ul.products li.product h3,
    body.oreyne-pdp-active .oreyne-pdp-related ul.products li.product .price {
        font-size: 13.5px;
    }
}


/* ============================================================
   14. v1.5.0 — 桌面端视觉精修与统一阅读层级
   目标：保留 v1.4.0 的页面架构，只提升信息密度、字号、保障区、
   长描述、相关推荐和评价区的阅读体验。
   ============================================================ */

@media (min-width: 1101px) {
    body.oreyne-pdp-active .oreyne-pdp-top {
        width: min(calc(100% - 64px), 1760px);
        padding-top: 34px;
        padding-bottom: 92px;
        grid-template-columns: minmax(0, 1.68fr) minmax(440px, .92fr);
        gap: clamp(30px, 2.8vw, 54px);
    }

    body.oreyne-pdp-active .oreyne-pdp-summary {
        top: 98px;
        padding-right: 2px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary__category {
        margin-bottom: 10px;
        font-size: 12px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .product_title,
    body.oreyne-pdp-active .oreyne-pdp-summary h1.product_title {
        margin-bottom: 14px;
        font-size: clamp(30px, 1.9vw, 40px);
        line-height: 1.14;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-review-link {
        font-size: 14px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .price {
        margin-bottom: 22px;
        font-size: 25px;
    }

    body.oreyne-pdp-active .oreyne-pdp-key-info {
        margin: 20px 0 24px;
        padding: 20px 0;
    }

    body.oreyne-pdp-active .oreyne-pdp-key-info__row {
        font-size: 15px;
        line-height: 1.58;
    }

    body.oreyne-pdp-active .oreyne-pdp-key-info__row + .oreyne-pdp-key-info__row {
        margin-top: 10px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button,
    body.oreyne-pdp-active .oreyne-pdp-summary button.single_add_to_cart_button {
        font-size: 14px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance {
        min-height: 112px;
        padding: 22px 0 20px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__icon {
        width: 35px;
        height: 35px;
        margin-bottom: 11px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
        font-size: 12.5px;
        line-height: 1.35;
        letter-spacing: .015em;
    }

    /* 保障区保持像参考站一样干净，详细说明留在政策页面。 */
    body.oreyne-pdp-active .oreyne-pdp-assurance__copy small {
        display: none;
    }

    body.oreyne-pdp-active .oreyne-pdp-accordion__trigger {
        min-height: 66px;
        font-size: 15px;
        letter-spacing: .025em;
    }

    body.oreyne-pdp-active .oreyne-pdp-accordion__content {
        padding-bottom: 26px;
        font-size: 15px;
        line-height: 1.72;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts {
        padding-top: 24px;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts h2 {
        margin-bottom: 15px;
        font-size: 14px;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts__links {
        gap: 10px 22px;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts__links a {
        font-size: 14px;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts__links a::after {
        content: ' ↗';
        display: inline-block;
        margin-left: 2px;
        font-size: .85em;
        text-decoration: none;
    }
}

/* 完整产品故事保持比顶部商业区更窄，让长文本更容易阅读。 */
body.oreyne-pdp-active .oreyne-pdp-long-description {
    padding-top: 28px;
    padding-bottom: 96px;
}

body.oreyne-pdp-active .oreyne-pdp-long-description__inner {
    width: min(calc(100% - 48px), 1240px);
    font-size: 16px;
    line-height: 1.72;
}

body.oreyne-pdp-active .oreyne-pdp-long-description__inner p,
body.oreyne-pdp-active .oreyne-pdp-long-description__inner li {
    line-height: 1.72;
}

/* 相关推荐：图片继续由主题管理，但把商品文字层级提高一档。 */
body.oreyne-pdp-active .oreyne-pdp-related {
    width: min(calc(100% - 48px), 1440px);
    padding-top: 30px;
    padding-bottom: 92px;
}

body.oreyne-pdp-active .oreyne-pdp-related .related.products > h2 {
    margin-bottom: 42px;
    font-size: clamp(28px, 2vw, 34px);
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: -.015em;
    text-transform: none;
}

body.oreyne-pdp-active .oreyne-pdp-related li.product .woocommerce-loop-product__title,
body.oreyne-pdp-active .oreyne-pdp-related li.product .product-title,
body.oreyne-pdp-active .oreyne-pdp-related li.product h2,
body.oreyne-pdp-active .oreyne-pdp-related li.product h3 {
    font-size: 14px;
    line-height: 1.45;
}

body.oreyne-pdp-active .oreyne-pdp-related li.product .price {
    font-size: 14px;
    line-height: 1.45;
}

/* ============================================================
   15. v1.5.0 — Customer Reviews 视觉摘要
   数据来自 WooCommerce 当前产品真实评分，不依赖 CusRev 的摘要模板。
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-reviews {
    width: min(calc(100% - 48px), 1380px);
    padding-top: 78px;
    padding-bottom: 104px;
    scroll-margin-top: 120px;
}

body.oreyne-pdp-active .oreyne-pdp-reviews__heading {
    margin-bottom: 34px;
}

body.oreyne-pdp-active .oreyne-pdp-reviews__heading p {
    font-size: 11px;
}

body.oreyne-pdp-active .oreyne-pdp-reviews__heading h2 {
    font-size: clamp(30px, 2.6vw, 40px);
}

body.oreyne-pdp-active .oreyne-pdp-review-summary {
    display: grid;
    grid-template-columns: minmax(230px, .75fr) minmax(360px, 1.25fr);
    gap: clamp(42px, 6vw, 90px);
    align-items: center;
    max-width: 960px;
    margin: 0 auto 42px;
    padding: 30px 40px;
    border-top: 1px solid var(--oreyne-line);
    border-bottom: 1px solid var(--oreyne-line);
}

body.oreyne-pdp-active .oreyne-pdp-review-summary__overall {
    text-align: center;
}

body.oreyne-pdp-active .oreyne-pdp-review-summary__score {
    display: block;
    margin-bottom: 8px;
    color: var(--oreyne-text);
    font-size: 38px;
    line-height: 1;
    font-weight: 500;
}

body.oreyne-pdp-active .oreyne-pdp-review-summary__stars .star-rating {
    float: none;
    margin: 0 auto 9px;
}

body.oreyne-pdp-active .oreyne-pdp-review-summary__count {
    display: block;
    color: var(--oreyne-muted);
    font-size: 14px;
    line-height: 1.5;
}

body.oreyne-pdp-active .oreyne-pdp-review-summary__bars {
    display: grid;
    gap: 8px;
}

body.oreyne-pdp-active .oreyne-pdp-review-summary__bar-row {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 28px;
    gap: 10px;
    align-items: center;
    color: var(--oreyne-muted);
    font-size: 13px;
}

body.oreyne-pdp-active .oreyne-pdp-review-summary__bar-track {
    position: relative;
    display: block;
    height: 7px;
    overflow: hidden;
    background: #ece9e3;
}

body.oreyne-pdp-active .oreyne-pdp-review-summary__bar-track > span {
    display: block;
    height: 100%;
    background: #dba400;
}

body.oreyne-pdp-active .oreyne-pdp-review-summary__bar-count {
    text-align: right;
}

/* CusRev：保留其功能，只统一为更宽松的 OREYNE 阅读尺度。 */
body.oreyne-pdp-active .oreyne-pdp-reviews .cr-all-reviews-shortcode,
body.oreyne-pdp-active .oreyne-pdp-reviews #reviews,
body.oreyne-pdp-active .oreyne-pdp-reviews .woocommerce-Reviews {
    color: var(--oreyne-text);
    font-size: 15px;
    line-height: 1.65;
}

body.oreyne-pdp-active .oreyne-pdp-reviews .cr-ajax-search,
body.oreyne-pdp-active .oreyne-pdp-reviews .cr-count-row {
    margin-top: 18px;
    margin-bottom: 24px;
}

body.oreyne-pdp-active .oreyne-pdp-reviews .cr-ajax-search input,
body.oreyne-pdp-active .oreyne-pdp-reviews .cr-ajax-search button,
body.oreyne-pdp-active .oreyne-pdp-reviews .cr-ajax-reviews-sort {
    min-height: 44px;
    font-size: 14px;
}

body.oreyne-pdp-active .oreyne-pdp-reviews ol.commentlist > li,
body.oreyne-pdp-active .oreyne-pdp-reviews .commentlist > li {
    padding-top: 28px;
    padding-bottom: 28px;
}

body.oreyne-pdp-active .oreyne-pdp-reviews .comment-text,
body.oreyne-pdp-active .oreyne-pdp-reviews .comment-text p,
body.oreyne-pdp-active .oreyne-pdp-reviews .description,
body.oreyne-pdp-active .oreyne-pdp-reviews .description p {
    font-size: 15px;
    line-height: 1.7;
}

body.oreyne-pdp-active .oreyne-pdp-reviews .meta,
body.oreyne-pdp-active .oreyne-pdp-reviews .meta strong,
body.oreyne-pdp-active .oreyne-pdp-reviews .comment-author {
    font-size: 15px;
}

body.oreyne-pdp-active .oreyne-pdp-reviews .commentmetadata,
body.oreyne-pdp-active .oreyne-pdp-reviews time {
    font-size: 12.5px;
}

/* ============================================================
   16. v1.5.0 — 手机端阅读优化
   不改变既有滑动图库与购买流程，只把字号和间距提到更舒适的水平。
   ============================================================ */

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-summary {
        padding-left: 20px;
        padding-right: 20px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .product_title,
    body.oreyne-pdp-active .oreyne-pdp-summary h1.product_title {
        font-size: 24px;
        line-height: 1.18;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .woocommerce-review-link {
        font-size: 13px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .price {
        font-size: 20px;
    }

    body.oreyne-pdp-active .oreyne-pdp-key-info__row {
        font-size: 13.5px;
        line-height: 1.6;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__icon {
        width: 31px;
        height: 31px;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
        font-size: 10.5px;
    }

    body.oreyne-pdp-active .oreyne-pdp-accordion__trigger {
        min-height: 64px;
        font-size: 14px;
    }

    body.oreyne-pdp-active .oreyne-pdp-accordion__content {
        font-size: 14px;
        line-height: 1.7;
    }

    body.oreyne-pdp-active .oreyne-pdp-shortcuts__links a {
        font-size: 13px;
    }

    body.oreyne-pdp-active .oreyne-pdp-long-description__inner {
        width: calc(100% - 40px);
        font-size: 15px;
    }

    body.oreyne-pdp-active .oreyne-pdp-related .related.products > h2 {
        font-size: 27px;
    }

    body.oreyne-pdp-active .oreyne-pdp-related li.product .woocommerce-loop-product__title,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-title,
    body.oreyne-pdp-active .oreyne-pdp-related li.product h2,
    body.oreyne-pdp-active .oreyne-pdp-related li.product h3,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .price {
        font-size: 13px;
    }

    body.oreyne-pdp-active .oreyne-pdp-reviews {
        width: calc(100% - 40px);
        padding-top: 58px;
        padding-bottom: 84px;
        scroll-margin-top: 88px;
    }

    body.oreyne-pdp-active .oreyne-pdp-review-summary {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-bottom: 30px;
        padding: 24px 0;
    }

    body.oreyne-pdp-active .oreyne-pdp-review-summary__score {
        font-size: 34px;
    }

    body.oreyne-pdp-active .oreyne-pdp-review-summary__bars {
        max-width: 430px;
        width: 100%;
        margin: 0 auto;
    }

    body.oreyne-pdp-active .oreyne-pdp-reviews .cr-all-reviews-shortcode,
    body.oreyne-pdp-active .oreyne-pdp-reviews #reviews,
    body.oreyne-pdp-active .oreyne-pdp-reviews .woocommerce-Reviews,
    body.oreyne-pdp-active .oreyne-pdp-reviews .comment-text,
    body.oreyne-pdp-active .oreyne-pdp-reviews .comment-text p,
    body.oreyne-pdp-active .oreyne-pdp-reviews .description,
    body.oreyne-pdp-active .oreyne-pdp-reviews .description p {
        font-size: 14px;
    }
}

/* ============================================================
   16. v1.6.0 — 产品图库统一尺寸
   解决不同原图比例导致同一行图片一高一低、出现大片空白的问题。

   桌面端与手机端的每一个 Gallery 卡位统一为 1:1 正方形；
   图片使用 object-fit: cover 填满卡位。这样不管上传的是 1:1、4:5、
   3:4 或横图，前台展示尺寸都会一致。
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-gallery__item {
    position: relative;
    aspect-ratio: 1 / 1;
    width: 100%;
    min-height: 0;
    background: #f7f6f3;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__item img,
body.oreyne-pdp-active .oreyne-pdp-gallery__item .woocommerce-placeholder {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover;
    object-position: center center;
}

/* 白底主图尽量保持完整产品轮廓，仍然占据同样大小的 1:1 卡位。 */
body.oreyne-pdp-active .oreyne-pdp-gallery__item:first-child img {
    object-fit: contain;
    background: #ffffff;
}

/* 手机端同样固定每一张为统一高度，滑动时不会上下跳动。 */
@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-gallery__item {
        flex: 0 0 100%;
        width: 100%;
        aspect-ratio: 1 / 1;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item img,
    body.oreyne-pdp-active .oreyne-pdp-gallery__item .woocommerce-placeholder {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item:first-child img {
        object-fit: contain;
    }
}

/* ============================================================
   17. v1.6.0 — MATERIALS 精简显示
   只保留 Metal / Finish / Gemstone / Pearl / Craft 等关键字段，
   不再把设计故事和 Structure 等内容重复塞进材料区。
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-accordion__item--materials .oreyne-pdp-spec-list {
    gap: 12px;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__item--materials .oreyne-pdp-spec-list__item {
    display: grid;
    grid-template-columns: minmax(72px, 96px) minmax(0, 1fr);
    gap: 14px;
    align-items: baseline;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__item--materials .oreyne-pdp-spec-list__item strong,
body.oreyne-pdp-active .oreyne-pdp-accordion__item--materials .oreyne-pdp-spec-list__item span {
    margin: 0;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__item--materials .oreyne-pdp-spec-list__item strong {
    font-size: 14px;
    line-height: 1.55;
    font-weight: 600;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__item--materials .oreyne-pdp-spec-list__item span {
    font-size: 15px;
    line-height: 1.55;
}

@media (max-width: 480px) {
    body.oreyne-pdp-active .oreyne-pdp-accordion__item--materials .oreyne-pdp-spec-list__item {
        grid-template-columns: 78px minmax(0, 1fr);
        gap: 10px;
    }
}


/* ============================================================
   18. v1.7.1 — 结构化 Materials / Dimensions
   数据来自产品后台 OREYNE Details，空字段不输出。
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-accordion__item--dimensions .oreyne-pdp-spec-list__item span {
    overflow-wrap: anywhere;
}

body.oreyne-pdp-active .oreyne-pdp-accordion__item--materials .oreyne-pdp-spec-list__item span {
    overflow-wrap: anywhere;
}

/* ============================================================
   19. v1.7.1 — 购买区与三项保障重新排版

   目标：
   1. 数量选择器独立一行，并与收藏 / 对比等辅助操作整齐对齐。
   2. ADD TO CART 独占下一行全宽，参考高端珠宝详情页的购买节奏。
   3. 三项保障取消拥挤的竖向分隔线，放大图标与文字，改成更轻盈的三列结构。
   4. 桌面端与移动端采用同一阅读逻辑，避免手机端数量框、按钮和图标挤在一块。
   ============================================================ */

/* ---------- 购买表单：先提供无 JS 也稳定的纵向兜底 ---------- */
body.oreyne-pdp-active .oreyne-pdp-summary form.cart:not(.variations_form),
body.oreyne-pdp-active .oreyne-pdp-summary .single_variation_wrap .woocommerce-variation-add-to-cart {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
    width: 100% !important;
    margin-bottom: 0 !important;
}

body.oreyne-pdp-active .oreyne-pdp-summary form.cart:not(.variations_form) > .quantity,
body.oreyne-pdp-active .oreyne-pdp-summary .single_variation_wrap .woocommerce-variation-add-to-cart > .quantity {
    width: 142px !important;
    max-width: 142px !important;
    margin: 0 !important;
    flex: 0 0 auto !important;
}

body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button,
body.oreyne-pdp-active .oreyne-pdp-summary button.single_add_to_cart_button {
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* JS 会把数量框与收藏 / 对比等辅助功能整理到这一行。 */
body.oreyne-pdp-active .oreyne-pdp-purchase-row {
    width: 100%;
    min-height: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

body.oreyne-pdp-active .oreyne-pdp-purchase-row .quantity {
    flex: 0 0 142px !important;
    width: 142px !important;
    max-width: 142px !important;
    min-height: 48px !important;
    margin: 0 !important;
}

body.oreyne-pdp-active .oreyne-pdp-purchase-row .quantity input.qty {
    min-height: 46px !important;
}

body.oreyne-pdp-active .oreyne-pdp-aux-actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
}

/* 清掉 Umino / 第三方把收藏、对比包成大块区域时留下的宽度和 margin。 */
body.oreyne-pdp-active .oreyne-pdp-aux-actions > * {
    float: none !important;
    clear: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.oreyne-pdp-active .oreyne-pdp-aux-actions a,
body.oreyne-pdp-active .oreyne-pdp-aux-actions button {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 1px solid var(--oreyne-line) !important;
    border-radius: 0 !important;
    background: #fff !important;
    color: var(--oreyne-text) !important;
    box-shadow: none !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

body.oreyne-pdp-active .oreyne-pdp-aux-actions a:hover,
body.oreyne-pdp-active .oreyne-pdp-aux-actions button:hover,
body.oreyne-pdp-active .oreyne-pdp-aux-actions a:focus-visible,
body.oreyne-pdp-active .oreyne-pdp-aux-actions button:focus-visible {
    border-color: #9e9992 !important;
    background: #faf9f7 !important;
    color: var(--oreyne-text) !important;
}

body.oreyne-pdp-active .oreyne-pdp-aux-actions svg,
body.oreyne-pdp-active .oreyne-pdp-aux-actions i {
    width: 19px;
    height: 19px;
    font-size: 19px;
    line-height: 1;
}

/* ---------- 三项保障：更接近参考站的轻量三列 ---------- */
body.oreyne-pdp-active .oreyne-pdp-assurance {
    min-height: 0 !important;
    margin: 24px 0 0 !important;
    padding: 26px 0 24px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    border-top: 0 !important;
    border-bottom: 1px solid var(--oreyne-line) !important;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__item {
    min-height: 88px;
    padding: 0 12px !important;
    justify-content: flex-start;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__item + .oreyne-pdp-assurance__item {
    border-left: 0 !important;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__icon {
    width: 38px !important;
    height: 38px !important;
    margin-bottom: 12px !important;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__copy {
    width: 100%;
    gap: 5px !important;
    align-items: center;
}

/* v1.7.20：保障区统一为“标题 + 副文案”，避免只显示口号而缺少具体承诺。 */
body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
    max-width: 170px;
    margin: 0 auto;
    color: var(--oreyne-text);
    font-size: 14px !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    text-wrap: balance;
}

body.oreyne-pdp-active .oreyne-pdp-assurance__copy small {
    display: block !important;
    max-width: 190px;
    margin: 0 auto;
    color: #8f765d;
    font-size: 12.5px !important;
    line-height: 1.42 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-align: center;
    text-wrap: balance;
}

/* 保障区和 DESCRIPTION 之间保持一条清晰但轻的分隔。 */
body.oreyne-pdp-active .oreyne-pdp-assurance + .oreyne-pdp-accordion {
    margin-top: 0;
}

/* ---------- 桌面端购买区 ---------- */
@media (min-width: 768px) {
    body.oreyne-pdp-active .oreyne-pdp-summary__purchase {
        margin-top: 2px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary form.cart,
    body.oreyne-pdp-active .oreyne-pdp-summary .single_variation_wrap .woocommerce-variation-add-to-cart {
        width: 100%;
    }
}

/* ---------- 手机端购买区 ---------- */
@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-summary__purchase {
        margin-top: 2px;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary form.cart:not(.variations_form),
    body.oreyne-pdp-active .oreyne-pdp-summary .single_variation_wrap .woocommerce-variation-add-to-cart {
        gap: 10px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-purchase-row {
        min-height: 46px;
        gap: 10px;
    }

    body.oreyne-pdp-active .oreyne-pdp-purchase-row .quantity,
    body.oreyne-pdp-active .oreyne-pdp-summary form.cart:not(.variations_form) > .quantity,
    body.oreyne-pdp-active .oreyne-pdp-summary .single_variation_wrap .woocommerce-variation-add-to-cart > .quantity {
        flex-basis: 118px !important;
        width: 118px !important;
        max-width: 118px !important;
        min-height: 46px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-purchase-row .quantity input.qty,
    body.oreyne-pdp-active .oreyne-pdp-summary .quantity input.qty {
        min-height: 44px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button,
    body.oreyne-pdp-active .oreyne-pdp-summary button.single_add_to_cart_button {
        min-height: 52px !important;
        font-size: 13px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-aux-actions {
        gap: 6px;
    }

    body.oreyne-pdp-active .oreyne-pdp-aux-actions a,
    body.oreyne-pdp-active .oreyne-pdp-aux-actions button {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance {
        margin-top: 20px !important;
        padding: 22px 0 20px !important;
        gap: 4px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__item {
        min-height: 84px;
        padding: 0 5px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__icon {
        width: 34px !important;
        height: 34px !important;
        margin-bottom: 10px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
        max-width: 112px;
        font-size: 11.5px !important;
        line-height: 1.38 !important;
        font-weight: 400 !important;
    }
}

@media (max-width: 390px) {
    body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
        max-width: 104px;
        font-size: 11px !important;
    }
}


/* ============================================================
   18. 桌面端产品图片放大浏览 v1.7.6

   仅桌面端 >= 768px 启用：
   - 图片 hover 显示圆形“+”提示；
   - 点击任意图片打开全图库 Lightbox；
   - 移动端完全保留当前 Swipe / 圆点 / 计数交互，不启用 Lightbox。
   ============================================================ */

@media (min-width: 768px) {
    body.oreyne-pdp-active .oreyne-pdp-gallery__item[data-oreyne-lightbox-item] {
        position: relative;
        cursor: zoom-in;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item[data-oreyne-lightbox-item]::after {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        background: rgba(255, 255, 255, 0.035);
        opacity: 0;
        pointer-events: none;
        transition: opacity .22s ease;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item[data-oreyne-lightbox-item]:hover::after {
        opacity: 1;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__zoom {
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 3;
        width: 52px;
        height: 52px;
        min-width: 52px;
        min-height: 52px;
        margin: 0;
        padding: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        transform: translate(-50%, -50%) scale(.92);
        border: 1px solid rgba(20, 20, 20, .14);
        border-radius: 50%;
        background: rgba(255, 255, 255, .94);
        color: #161616;
        box-shadow: 0 8px 28px rgba(0, 0, 0, .10);
        opacity: 0;
        visibility: hidden;
        cursor: zoom-in;
        transition: opacity .2s ease, transform .2s ease, visibility .2s ease, background-color .2s ease;
        -webkit-backdrop-filter: blur(8px);
        backdrop-filter: blur(8px);
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__zoom span {
        display: block;
        margin-top: -2px;
        font-family: Arial, Helvetica, sans-serif;
        font-size: 29px;
        line-height: 1;
        font-weight: 300;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item[data-oreyne-lightbox-item]:hover .oreyne-pdp-gallery__zoom,
    body.oreyne-pdp-active .oreyne-pdp-gallery__zoom:focus-visible {
        opacity: 1;
        visibility: visible;
        transform: translate(-50%, -50%) scale(1);
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__zoom:hover,
    body.oreyne-pdp-active .oreyne-pdp-gallery__zoom:focus-visible {
        background: #fff;
        outline: none;
        box-shadow: 0 10px 34px rgba(0, 0, 0, .14);
    }
}

/* 手机端明确禁用新增的“+”按钮，不改变现有图库点击/滑动体验。 */
@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-gallery__zoom {
        display: none !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery__item[data-oreyne-lightbox-item] {
        cursor: default !important;
    }
}

/* ---------- 桌面端 Lightbox ---------- */
html.oreyne-pdp-lightbox-open,
body.oreyne-pdp-lightbox-open {
    overflow: hidden !important;
}

.oreyne-pdp-lightbox {
    position: fixed;
    inset: 0;
    z-index: 1000001;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 34px 76px 54px;
    background: rgba(250, 249, 247, .985);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .22s ease, visibility .22s ease;
}

.oreyne-pdp-lightbox.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.oreyne-pdp-lightbox__stage {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.oreyne-pdp-lightbox__media {
    width: min(86vw, 1500px);
    height: min(86vh, 1100px);
    display: flex;
    align-items: center;
    justify-content: center;
}

.oreyne-pdp-lightbox__image {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    opacity: 1;
    transition: opacity .15s ease;
    user-select: none;
    -webkit-user-drag: none;
}

.oreyne-pdp-lightbox__image.is-loading {
    opacity: .35;
}

.oreyne-pdp-lightbox__close,
.oreyne-pdp-lightbox__nav {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(20, 20, 20, .14);
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    color: #171717;
    box-shadow: 0 5px 22px rgba(0, 0, 0, .08);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.oreyne-pdp-lightbox__close:hover,
.oreyne-pdp-lightbox__nav:hover,
.oreyne-pdp-lightbox__close:focus-visible,
.oreyne-pdp-lightbox__nav:focus-visible {
    background: #fff;
    outline: none;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .13);
}

.oreyne-pdp-lightbox__close {
    position: absolute;
    top: 22px;
    right: 26px;
    z-index: 4;
    width: 48px;
    height: 48px;
    padding: 0 0 3px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 32px;
    line-height: 1;
    font-weight: 200;
}

.oreyne-pdp-lightbox__close:hover {
    transform: rotate(5deg) scale(1.03);
}

.oreyne-pdp-lightbox__nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 50px;
    height: 50px;
    padding: 0 0 4px;
    transform: translateY(-50%);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 38px;
    line-height: 1;
    font-weight: 300;
}

.oreyne-pdp-lightbox__nav--prev {
    left: 0;
}

.oreyne-pdp-lightbox__nav--next {
    right: 0;
}

.oreyne-pdp-lightbox__nav:hover {
    transform: translateY(-50%) scale(1.03);
}

.oreyne-pdp-lightbox__counter {
    position: absolute;
    left: 50%;
    bottom: 22px;
    z-index: 4;
    min-width: 64px;
    padding: 7px 13px;
    transform: translateX(-50%);
    border: 1px solid rgba(20, 20, 20, .10);
    border-radius: 999px;
    background: rgba(255, 255, 255, .90);
    color: #3f3d39;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .06em;
    text-align: center;
}

/* 理论上移动端不会打开 Lightbox；再用 CSS 做一道硬保护。 */
@media (max-width: 767px) {
    .oreyne-pdp-lightbox {
        display: none !important;
    }
}


/* ============================================================
   19. 桌面 / 平板双栏协调滚动 v1.7.7

   目标：
   - 左侧图库与右侧购买信息先随页面一起自然滚动；
   - 较短的一栏到达可视边界后停止，较长的一栏继续；
   - 当较长栏也滚到同一底部位置时，较短栏解除停留；
   - 两栏随后一起离开视口，下一模块自然进入。

   说明：
   旧版 .oreyne-pdp-summary 使用 position: sticky; top: 104px，
   会让右栏过早固定，无法形成“短栏到底后等待长栏”的效果。
   v1.7.7 在 >= 768px 时取消旧 sticky，由 JS 仅通过 translateY
   协调较短栏的位置。移动端完全不参与此逻辑。
   ============================================================ */

@media (min-width: 768px) {
    body.oreyne-pdp-active .oreyne-pdp-top {
        position: relative;
        align-items: start;
    }

    body.oreyne-pdp-active .oreyne-pdp-summary {
        position: relative;
        top: auto;
        align-self: start;
        max-height: none;
        overflow: visible;
    }

    body.oreyne-pdp-active .oreyne-pdp-gallery,
    body.oreyne-pdp-active .oreyne-pdp-summary {
        transform: translate3d(0, 0, 0);
        transition: none;
    }

    body.oreyne-pdp-active .oreyne-pdp-balanced-scroll__short {
        will-change: transform;
        z-index: 2;
    }
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-gallery,
    body.oreyne-pdp-active .oreyne-pdp-summary {
        transform: none !important;
        will-change: auto;
    }
}


/* ============================================================
   21. v1.7.12 — 手机端 Sticky Add to Cart / 底部导航强兼容

   Umino 的移动底部导航与 Sticky Add to Cart 都是 fixed 元素。
   JS 会动态读取底部导航真实高度并给购买条设置 bottom，
   因此这里只提供安全层级和尺寸保护，不写死 68px / 80px。
   ============================================================ */
@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-mobile-sticky-cart {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        transform: none !important;
    }

    /* 购买条被抬高后，确保它不会被 Umino 底部导航覆盖。 */
    body.oreyne-pdp-active.oreyne-pdp-mobile-sticky-cart-fixed .oreyne-pdp-mobile-sticky-cart {
        visibility: visible !important;
    }
}


/* ============================================================
   22. v1.7.12 — Umino 移动底部导航硬回退
   当主题 body 已明确带有 has-mobile-sticky-menu 时，使用 72px 作为
   JS 尚未量到真实导航高度前的安全回退。真正识别后 JS 会写入精确值。
   ============================================================ */
@media (max-width: 767px) {
    body.oreyne-pdp-active.has-mobile-sticky-menu {
        --oreyne-mobile-bottom-nav-offset: 72px;
    }

    body.oreyne-pdp-active .oreyne-pdp-mobile-sticky-cart,
    body.oreyne-pdp-active [data-oreyne-mobile-sticky-cart="1"] {
        position: fixed !important;
        top: auto !important;
        inset-block-start: auto !important;
        bottom: var(--oreyne-mobile-bottom-nav-offset, 0px) !important;
        inset-block-end: var(--oreyne-mobile-bottom-nav-offset, 0px) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        transform: translate3d(0,0,0) !important;
        z-index: 99980 !important;
    }
}


/* ============================================================
   23. v1.7.14 — Umino 原生手机 Sticky Add to Cart 精确兼容

   已根据实际浏览器 DOM 确认：
   - 当前主题购买条根节点为 .sticky-add-to-cart（例如：
     <div class="sticky-add-to-cart variable show">）
   - 旧版/部分 Umino 构建可能使用 .bls-sticky-addcart，因此保留兼容。

   只调整购买条在移动底部导航上方的位置和层级；不强制修改主题
   visibility / display / transform，以保留 Umino 自己的 show/hide 动画。
   ============================================================ */
@media (max-width: 767px) {
    body.oreyne-pdp-active .sticky-add-to-cart,
    body.oreyne-pdp-active .bls-sticky-addcart {
        position: fixed !important;
        top: auto !important;
        inset-block-start: auto !important;
        bottom: var(--oreyne-umino-mobile-nav-offset, 0px) !important;
        inset-block-end: var(--oreyne-umino-mobile-nav-offset, 0px) !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        z-index: 9990 !important;
        box-sizing: border-box !important;
    }

    /* 保证购买条自身有完整可点击高度，避免只露出一条黑色边。 */
    body.oreyne-pdp-active .sticky-add-to-cart.show,
    body.oreyne-pdp-active .bls-sticky-addcart.show {
        min-height: 48px !important;
    }

    body.oreyne-pdp-active .sticky-add-to-cart .wc-sticky-product-bar,
    body.oreyne-pdp-active .bls-sticky-addcart .wc-sticky-product-bar {
        min-height: 48px !important;
        box-sizing: border-box !important;
    }

    body.oreyne-pdp-active .sticky-add-to-cart .cart-btn,
    body.oreyne-pdp-active .sticky-add-to-cart button,
    body.oreyne-pdp-active .sticky-add-to-cart a,
    body.oreyne-pdp-active .sticky-add-to-cart input,
    body.oreyne-pdp-active .bls-sticky-addcart .cart-btn,
    body.oreyne-pdp-active .bls-sticky-addcart button,
    body.oreyne-pdp-active .bls-sticky-addcart a,
    body.oreyne-pdp-active .bls-sticky-addcart input {
        pointer-events: auto !important;
        touch-action: manipulation;
    }
}


/* ============================================================
   24. v1.7.17 — 仅移动端移除长描述 / 相关推荐左右空白

   本版本只处理手机端 <= 767px：
   - 完整产品描述（Long Description）外层与 inner 不再额外缩窄；
   - You May Also Like 相关推荐取消左右 18px padding；
   - 两个模块都贴齐当前移动端产品内容视口；
   - 不修改 Summary、Gallery、Reviews、Header、Footer、Sticky Cart；
   - 不修改任何 >= 768px 的桌面 / 平板布局。
   ============================================================ */
@media (max-width: 767px) {
    /* 完整产品描述：取消历史版本叠加的 36/40px 缩窄。 */
    body.oreyne-pdp-active .oreyne-pdp-long-description {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-long-description__inner {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* 相关推荐：取消原 18px 左右 padding，让模块与视口对齐。 */
    body.oreyne-pdp-active .oreyne-pdp-related {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden;
    }

    body.oreyne-pdp-active .oreyne-pdp-related .related.products {
        width: 100% !important;
        max-width: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-related ul.products {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}


/* ============================================================
   25. v1.7.18 — 移动端隐藏 You May Also Like 卡片操作按钮

   仅作用于产品详情页的相关推荐模块，<= 767px：
   - 隐藏 Umino 商品卡片上的 Add to Cart / Wishlist / Quick View / Compare
     等悬浮圆形操作按钮；
   - 保留商品图片、标题、分类、评分、价格、色板及商品链接；
   - 桌面端和平板/Shop/首页/分类页完全不受影响；
   - JS 会为不同 Umino 构建自动标记动作容器，本组 CSS 同时提供
     常见类名兜底，避免主题更新后再次出现按钮条。
   ============================================================ */
@media (max-width: 767px) {
    /* JS 精确识别后的动作项 / 动作组。 */
    body.oreyne-pdp-active .oreyne-pdp-related .oreyne-related-mobile-action-hidden,
    body.oreyne-pdp-active .oreyne-pdp-related .oreyne-related-mobile-action-group-hidden {
        display: none !important;
    }

    /* Umino / WooCommerce 常见产品卡片动作容器兜底。 */
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-action,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-actions,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-item-actions,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-action-inner,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-action-horizontal,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-action-bottom,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-hover-action,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-hover-actions,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .bls-product-action,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .bls-product-actions,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .bls-product-action-inner,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-icons,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-icon-action,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .product-buttons,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .group-buttons,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .action-product {
        display: none !important;
    }

    /* 如果主题把三个按钮分开输出而没有共同动作容器，也单独隐藏。 */
    body.oreyne-pdp-active .oreyne-pdp-related li.product .add_to_cart_button,
    body.oreyne-pdp-active .oreyne-pdp-related li.product .ajax_add_to_cart,
    body.oreyne-pdp-active .oreyne-pdp-related li.product [class*="wishlist"],
    body.oreyne-pdp-active .oreyne-pdp-related li.product [class*="quickview"],
    body.oreyne-pdp-active .oreyne-pdp-related li.product [class*="quick-view"],
    body.oreyne-pdp-active .oreyne-pdp-related li.product [class*="compare"] {
        display: none !important;
    }
}

/* ============================================================
   26. v1.7.19 — 移动端相关推荐操作按钮强制隐藏

   v1.7.18 的选择器依赖 li.product，部分 Umino 商品卡模板的动作条
   不位于该节点内，导致按钮仍然显示。本版本将作用域放宽到整个
   .oreyne-pdp-related，但仍只针对明确的 Add to Cart / Wishlist /
   Quick View / Compare 控件及动作组，产品图片、标题、价格、评分和色板不受影响。
   ============================================================ */
@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-related .oreyne-related-mobile-action-hidden,
    body.oreyne-pdp-active .oreyne-pdp-related .oreyne-related-mobile-action-group-hidden,
    body.oreyne-pdp-active .oreyne-pdp-related .product-action,
    body.oreyne-pdp-active .oreyne-pdp-related .product-actions,
    body.oreyne-pdp-active .oreyne-pdp-related .product-item-actions,
    body.oreyne-pdp-active .oreyne-pdp-related .product-action-inner,
    body.oreyne-pdp-active .oreyne-pdp-related .product-action-horizontal,
    body.oreyne-pdp-active .oreyne-pdp-related .product-action-bottom,
    body.oreyne-pdp-active .oreyne-pdp-related .product-hover-action,
    body.oreyne-pdp-active .oreyne-pdp-related .product-hover-actions,
    body.oreyne-pdp-active .oreyne-pdp-related .bls-product-action,
    body.oreyne-pdp-active .oreyne-pdp-related .bls-product-actions,
    body.oreyne-pdp-active .oreyne-pdp-related .bls-product-action-inner,
    body.oreyne-pdp-active .oreyne-pdp-related .product-icons,
    body.oreyne-pdp-active .oreyne-pdp-related .product-icon-action,
    body.oreyne-pdp-active .oreyne-pdp-related .product-buttons,
    body.oreyne-pdp-active .oreyne-pdp-related .group-buttons,
    body.oreyne-pdp-active .oreyne-pdp-related .action-product,
    body.oreyne-pdp-active .oreyne-pdp-related .bls-add-cart,
    body.oreyne-pdp-active .oreyne-pdp-related .bls-wishlist,
    body.oreyne-pdp-active .oreyne-pdp-related .bls-quickview,
    body.oreyne-pdp-active .oreyne-pdp-related .bls-quick-view,
    body.oreyne-pdp-active .oreyne-pdp-related .bls-compare,
    body.oreyne-pdp-active .oreyne-pdp-related .add_to_cart_button,
    body.oreyne-pdp-active .oreyne-pdp-related .ajax_add_to_cart,
    body.oreyne-pdp-active .oreyne-pdp-related [class*="wishlist"],
    body.oreyne-pdp-active .oreyne-pdp-related [class*="quickview"],
    body.oreyne-pdp-active .oreyne-pdp-related [class*="quick-view"],
    body.oreyne-pdp-active .oreyne-pdp-related [class*="compare"],
    body.oreyne-pdp-active .oreyne-pdp-related a[href*="add-to-cart"],
    body.oreyne-pdp-active .oreyne-pdp-related [aria-label*="add to cart" i],
    body.oreyne-pdp-active .oreyne-pdp-related [title*="add to cart" i],
    body.oreyne-pdp-active .oreyne-pdp-related [aria-label*="wishlist" i],
    body.oreyne-pdp-active .oreyne-pdp-related [title*="wishlist" i],
    body.oreyne-pdp-active .oreyne-pdp-related [aria-label*="quick view" i],
    body.oreyne-pdp-active .oreyne-pdp-related [title*="quick view" i],
    body.oreyne-pdp-active .oreyne-pdp-related [aria-label*="compare" i],
    body.oreyne-pdp-active .oreyne-pdp-related [title*="compare" i] {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}


/* =====================================================
   27. v1.7.20 — 三项保障标题 + 副文案
   ===================================================== */
@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-assurance {
        gap: 4px !important;
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__item {
        min-height: 98px !important;
        padding-left: 5px !important;
        padding-right: 5px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__icon {
        width: 34px !important;
        height: 34px !important;
        margin-bottom: 9px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy {
        gap: 4px !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy strong {
        max-width: 120px;
        font-size: 12.5px !important;
        line-height: 1.3 !important;
    }

    body.oreyne-pdp-active .oreyne-pdp-assurance__copy small {
        max-width: 125px;
        font-size: 10.5px !important;
        line-height: 1.35 !important;
    }
}


/* ============================================================
   28. v1.7.21 — Sticky Add to Cart 浮动控件避让
   JS 会按购买条实时高度计算 bottom；这里仅提供产品页的平滑过渡，
   不改变翻译 / WhatsApp 自身功能与桌面端 WhatsApp 原位置。
   ============================================================ */
body.oreyne-pdp-active [data-oreyne-floater-raised="1"] {
    transition: bottom .18s ease, inset-block-end .18s ease;
}

/* ============================================================
   30. v1.7.23 — 多产品视频 Gallery

   - 每个产品可添加多个本地媒体库视频；
   - 视频作为 Gallery 项目，与图片保持统一 1:1 卡位；
   - 默认显示 Poster + 播放按钮，用户主动点击后才播放；
   - 图片继续使用桌面 Lightbox，视频不进入图片 Lightbox；
   - 移动端视频跟随现有横向 Swipe Gallery。
   ============================================================ */

body.oreyne-pdp-active .oreyne-pdp-gallery__item--video {
    position: relative;
    background: #111;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: #111;
    object-fit: cover;
    object-position: center center;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__video-play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 5;
    width: 58px;
    height: 58px;
    min-width: 58px;
    min-height: 58px;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(20, 20, 20, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: #151515;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .14);
    cursor: pointer;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transition: transform .2s ease, opacity .2s ease, background-color .2s ease, box-shadow .2s ease;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__video-play span {
    display: block;
    width: 0;
    height: 0;
    margin-left: 4px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 13px solid currentColor;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__video-play:hover,
body.oreyne-pdp-active .oreyne-pdp-gallery__video-play:focus-visible {
    transform: translate(-50%, -50%) scale(1.06);
    background: #fff;
    box-shadow: 0 10px 34px rgba(0, 0, 0, .18);
    outline: none;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__item--video.is-playing .oreyne-pdp-gallery__video-play {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

body.oreyne-pdp-active .oreyne-pdp-gallery__item--video.is-playing .oreyne-pdp-gallery__video {
    z-index: 4;
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-gallery__video-play {
        width: 52px;
        height: 52px;
        min-width: 52px;
        min-height: 52px;
    }
}

/* ============================================================
   33. v1.7.33 — CUSTOMIZATION / Contact Form 7
   - DESCRIPTION / MATERIALS / DIMENSIONS 后新增 CUSTOMIZATION；
   - 沿用 OREYNE 极简产品详情视觉；
   - Name + Email 桌面两列，SKU / Request 全宽；移动端统一单列；
   - 不创建第二套表单 UI，不改变 Contact Form 7 的提交机制。
   ============================================================ */
body.oreyne-pdp-active .oreyne-pdp-accordion__item--customization .oreyne-pdp-accordion__content {
    padding-top: 26px;
    padding-bottom: 30px;
}

body.oreyne-pdp-active .oreyne-pdp-customization {
    width: 100%;
    max-width: 100%;
}

body.oreyne-pdp-active .oreyne-pdp-customization__intro {
    margin: 0 0 24px;
}

body.oreyne-pdp-active .oreyne-pdp-customization__intro strong {
    display: block;
    margin: 0 0 7px;
    color: var(--oreyne-text, #171717);
    font-size: 16px;
    line-height: 1.35;
    font-weight: 600;
}

body.oreyne-pdp-active .oreyne-pdp-customization__intro p {
    max-width: 620px;
    margin: 0;
    color: var(--oreyne-muted, #68645f);
    font-size: 14px;
    line-height: 1.65;
}

body.oreyne-pdp-active .oreyne-pdp-customization .wpcf7,
body.oreyne-pdp-active .oreyne-pdp-customization .wpcf7-form {
    width: 100%;
    margin: 0;
}

body.oreyne-pdp-active .oreyne-pdp-customization .oreyne-customization-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
    width: 100%;
}

body.oreyne-pdp-active .oreyne-pdp-customization .oreyne-customization-field {
    min-width: 0;
    margin: 0;
}

body.oreyne-pdp-active .oreyne-pdp-customization .oreyne-customization-field:has(input[name="product-sku"]),
body.oreyne-pdp-active .oreyne-pdp-customization .oreyne-customization-field--message,
body.oreyne-pdp-active .oreyne-pdp-customization .oreyne-customization-submit,
body.oreyne-pdp-active .oreyne-pdp-customization .wpcf7-response-output {
    grid-column: 1 / -1;
}

body.oreyne-pdp-active .oreyne-pdp-customization label {
    display: block;
    margin: 0;
    color: var(--oreyne-text, #171717);
    font-size: 13px;
    line-height: 1.4;
    font-weight: 600;
}

body.oreyne-pdp-active .oreyne-pdp-customization .wpcf7-form-control-wrap {
    display: block;
    margin-top: 7px;
}

body.oreyne-pdp-active .oreyne-pdp-customization input[type="text"],
body.oreyne-pdp-active .oreyne-pdp-customization input[type="email"],
body.oreyne-pdp-active .oreyne-pdp-customization textarea {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 12px 14px;
    border: 1px solid #d8d4ce;
    border-radius: 0;
    background: #fff;
    color: #171717;
    font: inherit;
    font-size: 14px;
    line-height: 1.5;
    box-shadow: none;
    outline: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}

body.oreyne-pdp-active .oreyne-pdp-customization input[type="text"],
body.oreyne-pdp-active .oreyne-pdp-customization input[type="email"] {
    min-height: 48px;
}

body.oreyne-pdp-active .oreyne-pdp-customization textarea {
    min-height: 138px;
    resize: vertical;
}

body.oreyne-pdp-active .oreyne-pdp-customization input:focus,
body.oreyne-pdp-active .oreyne-pdp-customization textarea:focus {
    border-color: #9b8b78;
    box-shadow: 0 0 0 1px rgba(155, 139, 120, .12);
}

body.oreyne-pdp-active .oreyne-pdp-customization input[name="product-sku"][readonly] {
    background: #f7f5f2;
    color: #68645f;
    cursor: default;
}

body.oreyne-pdp-active .oreyne-pdp-customization input::placeholder,
body.oreyne-pdp-active .oreyne-pdp-customization textarea::placeholder {
    color: #aaa59e;
    opacity: 1;
}

body.oreyne-pdp-active .oreyne-pdp-customization .oreyne-customization-submit {
    margin-top: 2px;
}

body.oreyne-pdp-active .oreyne-pdp-customization input[type="submit"],
body.oreyne-pdp-active .oreyne-pdp-customization button[type="submit"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    min-height: 48px;
    margin: 0;
    padding: 13px 24px;
    border: 1px solid #111;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 12px;
    line-height: 1.2;
    font-weight: 600;
    letter-spacing: .055em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: none;
    transition: background-color .18s ease, color .18s ease, opacity .18s ease;
}

body.oreyne-pdp-active .oreyne-pdp-customization input[type="submit"]:hover,
body.oreyne-pdp-active .oreyne-pdp-customization input[type="submit"]:focus-visible,
body.oreyne-pdp-active .oreyne-pdp-customization button[type="submit"]:hover,
body.oreyne-pdp-active .oreyne-pdp-customization button[type="submit"]:focus-visible {
    background: #fff;
    color: #111;
    outline: none;
}

body.oreyne-pdp-active .oreyne-pdp-customization .wpcf7-spinner {
    margin: 0 0 0 12px;
    vertical-align: middle;
}

body.oreyne-pdp-active .oreyne-pdp-customization .wpcf7-not-valid-tip {
    margin-top: 6px;
    color: #9f332d;
    font-size: 12px;
    line-height: 1.4;
}

body.oreyne-pdp-active .oreyne-pdp-customization .wpcf7-response-output {
    margin: 2px 0 0 !important;
    padding: 12px 14px !important;
    border: 1px solid #d8d4ce !important;
    color: #4b4844;
    font-size: 13px;
    line-height: 1.55;
}

body.oreyne-pdp-active .oreyne-pdp-customization .wpcf7 form.sent .wpcf7-response-output,
body.oreyne-pdp-active .oreyne-pdp-customization form.sent .wpcf7-response-output {
    border-color: #b7afa5 !important;
    background: #faf9f7;
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-accordion__item--customization .oreyne-pdp-accordion__content {
        padding-top: 22px;
        padding-bottom: 26px;
    }

    body.oreyne-pdp-active .oreyne-pdp-customization__intro {
        margin-bottom: 20px;
    }

    body.oreyne-pdp-active .oreyne-pdp-customization .oreyne-customization-form {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    body.oreyne-pdp-active .oreyne-pdp-customization .oreyne-customization-field:has(input[name="product-sku"]),
    body.oreyne-pdp-active .oreyne-pdp-customization .oreyne-customization-field--message,
    body.oreyne-pdp-active .oreyne-pdp-customization .oreyne-customization-submit,
    body.oreyne-pdp-active .oreyne-pdp-customization .wpcf7-response-output {
        grid-column: auto;
    }

    body.oreyne-pdp-active .oreyne-pdp-customization input[type="submit"],
    body.oreyne-pdp-active .oreyne-pdp-customization button[type="submit"] {
        width: 100%;
    }
}

/* ============================================================
   33.1 v1.7.33 — CUSTOMIZATION compact request field + robust CF7 wrappers
   The live CF7 form may use either .oreyne-custom-field / .oreyne-custom-submit
   or the earlier .oreyne-customization-field / .oreyne-customization-submit names.
   Keep Name + Email as two columns on desktop; SKU and Request each use a full row.
   ============================================================ */
body.oreyne-pdp-active .oreyne-pdp-customization :is(.oreyne-custom-field, .oreyne-customization-field):has(input[name="product-sku"]),
body.oreyne-pdp-active .oreyne-pdp-customization :is(.oreyne-custom-field, .oreyne-customization-field):has(textarea[name="customization-request"]),
body.oreyne-pdp-active .oreyne-pdp-customization :is(.oreyne-custom-submit, .oreyne-customization-submit) {
    grid-column: 1 / -1;
}

body.oreyne-pdp-active .oreyne-pdp-customization textarea[name="customization-request"] {
    height: 106px !important;
    min-height: 106px !important;
    max-height: 180px;
    resize: vertical;
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-customization :is(.oreyne-custom-field, .oreyne-customization-field):has(input[name="product-sku"]),
    body.oreyne-pdp-active .oreyne-pdp-customization :is(.oreyne-custom-field, .oreyne-customization-field):has(textarea[name="customization-request"]),
    body.oreyne-pdp-active .oreyne-pdp-customization :is(.oreyne-custom-submit, .oreyne-customization-submit) {
        grid-column: auto;
    }

    body.oreyne-pdp-active .oreyne-pdp-customization textarea[name="customization-request"] {
        height: 112px !important;
        min-height: 112px !important;
        max-height: 160px;
    }
}

\n\n/* v1.7.34 — Price-adjacent craftsmanship value anchor. */\n.oreyne-pdp-craft-value {\n    margin: 12px 0 0;\n    max-width: 520px;\n}\n\n.oreyne-pdp-craft-value__title,\n.oreyne-pdp-craft-value__text {\n    margin: 0;\n}\n\n.oreyne-pdp-craft-value__title {\n    font-size: 13px;\n    line-height: 1.45;\n    font-weight: 600;\n    letter-spacing: 0.01em;\n    color: var(--oreyne-pdp-text, #181818);\n}\n\n.oreyne-pdp-craft-value__text {\n    margin-top: 3px;\n    font-size: 12px;\n    line-height: 1.55;\n    font-weight: 400;\n    color: var(--oreyne-pdp-muted, #766f69);\n}\n\n@media (max-width: 767px) {\n    .oreyne-pdp-craft-value {\n        margin-top: 10px;\n    }\n\n    .oreyne-pdp-craft-value__title {\n        font-size: 13px;\n        line-height: 1.45;\n    }\n\n    .oreyne-pdp-craft-value__text {\n        font-size: 12px;\n        line-height: 1.55;\n    }\n}\n

/* v1.7.35 — Conversion-focused purchase information refinements. */
body.oreyne-pdp-active .oreyne-pdp-craft-value__text {
    margin-top: 1px;
}

body.oreyne-pdp-active .oreyne-pdp-key-info__row.availability .oreyne-pdp-key-info__label,
body.oreyne-pdp-active .oreyne-pdp-key-info__row.dispatch .oreyne-pdp-key-info__label {
    color: var(--oreyne-text);
    font-weight: 500;
}

body.oreyne-pdp-active .oreyne-pdp-key-info__row.availability .oreyne-pdp-key-info__value,
body.oreyne-pdp-active .oreyne-pdp-key-info__row.dispatch .oreyne-pdp-key-info__value {
    font-weight: 500;
}

body.oreyne-pdp-active .oreyne-pdp-key-info__row.sku,
body.oreyne-pdp-active .oreyne-pdp-key-info__row.delivery {
    color: var(--oreyne-muted);
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-craft-value__text {
        margin-top: 1px;
    }
}

/* ============================================================
   37. v1.7.37 — THE MAKING
   Product-level making-process video placed immediately before
   the long Design Story. Poster loads with the page; the video
   source itself is injected only after the customer presses Play.
   ============================================================ */
body.oreyne-pdp-active .oreyne-pdp-making {
    width: min(calc(100% - 48px), 1120px);
    margin: 0 auto;
    padding: 42px 0 28px;
    clear: both;
}

body.oreyne-pdp-active .oreyne-pdp-making__heading {
    width: min(100%, 880px);
    margin: 0 auto 18px;
    text-align: center;
}

body.oreyne-pdp-active .oreyne-pdp-making__eyebrow {
    margin: 0 0 8px;
    color: #7d6a56;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 500;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.oreyne-pdp-active .oreyne-pdp-making__heading h2 {
    margin: 0;
    color: var(--oreyne-text);
    font-family: inherit;
    font-size: clamp(25px, 2.1vw, 34px);
    line-height: 1.18;
    font-weight: 400;
    letter-spacing: -.015em;
}

body.oreyne-pdp-active .oreyne-pdp-making__media {
    position: relative;
    width: min(100%, 880px);
    aspect-ratio: 16 / 9;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 10px;
    background: #111;
}

body.oreyne-pdp-active .oreyne-pdp-making__video {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    background: #111;
    object-fit: cover;
    object-position: center;
}

body.oreyne-pdp-active .oreyne-pdp-making__play {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 3;
    width: 64px;
    height: 64px;
    min-width: 64px;
    min-height: 64px;
    margin: 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(20, 20, 20, .12);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: #151515;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .14);
    cursor: pointer;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    transition: transform .2s ease, opacity .2s ease, background-color .2s ease, box-shadow .2s ease;
}

body.oreyne-pdp-active .oreyne-pdp-making__play span {
    display: block;
    width: 0;
    height: 0;
    margin-left: 4px;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-left: 15px solid currentColor;
}

body.oreyne-pdp-active .oreyne-pdp-making__play:hover,
body.oreyne-pdp-active .oreyne-pdp-making__play:focus-visible {
    transform: translate(-50%, -50%) scale(1.06);
    background: #fff;
    box-shadow: 0 10px 34px rgba(0, 0, 0, .18);
    outline: none;
}

body.oreyne-pdp-active .oreyne-pdp-making.is-playing .oreyne-pdp-making__play {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Once THE MAKING exists, keep the Design Story close enough to feel continuous. */
body.oreyne-pdp-active .oreyne-pdp-making + .oreyne-pdp-long-description {
    padding-top: 18px;
}

@media (min-width: 768px) and (max-width: 1199px) {
    body.oreyne-pdp-active .oreyne-pdp-making__heading,
    body.oreyne-pdp-active .oreyne-pdp-making__media {
        width: min(100%, 820px);
    }
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-making {
        width: calc(100% - 36px);
        padding: 34px 0 22px;
    }

    body.oreyne-pdp-active .oreyne-pdp-making__heading {
        margin-bottom: 16px;
        text-align: left;
    }

    body.oreyne-pdp-active .oreyne-pdp-making__eyebrow {
        margin-bottom: 6px;
        font-size: 11px;
    }

    body.oreyne-pdp-active .oreyne-pdp-making__heading h2 {
        font-size: 24px;
        line-height: 1.2;
    }

    body.oreyne-pdp-active .oreyne-pdp-making__media {
        width: 100%;
        border-radius: 8px;
    }

    body.oreyne-pdp-active .oreyne-pdp-making__play {
        width: 54px;
        height: 54px;
        min-width: 54px;
        min-height: 54px;
    }

    body.oreyne-pdp-active .oreyne-pdp-making + .oreyne-pdp-long-description {
        padding-top: 12px;
    }
}

/* ============================================================
   36. v1.7.42 — IN WEAR compact single-row wearing gallery
   Position: immediately after the primary product/purchase area,
   before THE MAKING / Design Story. Desktop and mobile remain a
   single horizontal row with counter + dots; image size is capped
   so the gallery supports reading instead of dominating the page.
   ============================================================ */
body.oreyne-pdp-active .oreyne-pdp-wearing {
    width: 100%;
    clear: both;
    padding: 48px 0 54px;
    border-bottom: 1px solid var(--oreyne-line);
}

body.oreyne-pdp-active .oreyne-pdp-wearing__inner {
    width: min(calc(100% - 48px), 1080px);
    margin: 0 auto;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__heading {
    max-width: 620px;
    margin: 0 auto 26px;
    padding: 0 12px;
    text-align: center;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__eyebrow {
    margin: 0 0 8px;
    color: var(--oreyne-muted);
    font-size: 11px;
    line-height: 1.3;
    font-weight: 600;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__heading h2 {
    margin: 0;
    color: var(--oreyne-text);
    font-family: var(--oreyne-heading-font, inherit);
    font-size: clamp(28px, 2.3vw, 36px);
    line-height: 1.12;
    font-weight: 400;
    letter-spacing: -.018em;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__intro {
    max-width: 560px;
    margin: 11px auto 0;
    color: var(--oreyne-muted);
    font-size: 14px;
    line-height: 1.58;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__viewport {
    position: relative;
    width: 100%;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__track {
    display: flex;
    flex-wrap: nowrap;
    gap: 18px;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
    touch-action: pan-x pan-y;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__track::-webkit-scrollbar {
    display: none;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__track.is-dragging {
    scroll-snap-type: none;
    scroll-behavior: auto;
    cursor: grabbing;
    user-select: none;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__slide {
    flex: 0 0 calc((100% - 36px) / 3);
    min-width: 0;
    margin: 0;
    overflow: hidden;
    border-radius: 9px;
    background: #f6f3ee;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: center;
    border-radius: inherit;
    background: #f6f3ee;
    -webkit-user-drag: none;
    user-select: none;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__arrow {
    position: absolute;
    top: 50%;
    z-index: 3;
    width: 42px;
    height: 42px;
    margin: -21px 0 0;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(17,17,17,.12);
    border-radius: 50%;
    background: rgba(255,255,255,.94);
    color: var(--oreyne-text);
    box-shadow: none;
    cursor: pointer;
    transition: opacity .2s ease, background .2s ease;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__arrow--prev { left: 12px; }
body.oreyne-pdp-active .oreyne-pdp-wearing__arrow--next { right: 12px; }

body.oreyne-pdp-active .oreyne-pdp-wearing__arrow span {
    width: 8px;
    height: 8px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__arrow--prev span {
    transform: rotate(-135deg) translate(-1px, -1px);
}

body.oreyne-pdp-active .oreyne-pdp-wearing__arrow--next span {
    transform: rotate(45deg) translate(-1px, -1px);
}

body.oreyne-pdp-active .oreyne-pdp-wearing__arrow[disabled] {
    opacity: 0;
    pointer-events: none;
}

@media (hover:hover) and (pointer:fine) {
    body.oreyne-pdp-active .oreyne-pdp-wearing__arrow:hover,
    body.oreyne-pdp-active .oreyne-pdp-wearing__arrow:focus-visible {
        background: #fff;
    }
}

body.oreyne-pdp-active .oreyne-pdp-wearing__nav {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 16px;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__counter {
    min-width: 48px;
    height: 28px;
    padding: 0 11px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(17,17,17,.12);
    border-radius: 999px;
    color: #4d4a46;
    background: #fff;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .01em;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__dots {
    min-height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__dot {
    width: 18px;
    height: 18px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    appearance: none;
    cursor: pointer;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__dot span {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #c3c0bc;
    transition: width .2s ease, background .2s ease;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__dot.is-active span {
    width: 19px;
    background: #171717;
}

body.oreyne-pdp-active .oreyne-pdp-wearing__dot.is-outside-window { display: none; }

body.oreyne-pdp-active .oreyne-pdp-wearing__dot:focus-visible {
    outline: 1px solid currentColor;
    outline-offset: 1px;
    border-radius: 10px;
}

/* The gallery now leads the below-fold product story. Keep the next block close. */
body.oreyne-pdp-active .oreyne-pdp-wearing + .oreyne-pdp-making {
    padding-top: 28px;
}
body.oreyne-pdp-active .oreyne-pdp-wearing + .oreyne-pdp-long-description {
    padding-top: 28px;
}

@media (max-width: 1023px) and (min-width: 768px) {
    body.oreyne-pdp-active .oreyne-pdp-wearing__inner {
        width: min(calc(100% - 48px), 820px);
    }
    body.oreyne-pdp-active .oreyne-pdp-wearing__slide {
        flex-basis: calc((100% - 16px) / 2);
    }
    body.oreyne-pdp-active .oreyne-pdp-wearing__track { gap: 16px; }
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-wearing {
        padding: 36px 0 42px;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing__inner {
        width: 100%;
        max-width: none;
        padding: 0 20px;
        box-sizing: border-box;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing__heading {
        max-width: 360px;
        margin-bottom: 20px;
        padding: 0;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing__eyebrow {
        margin-bottom: 6px;
        font-size: 10px;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing__heading h2 {
        font-size: 27px;
        line-height: 1.12;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing__intro {
        max-width: 330px;
        margin-top: 9px;
        font-size: 14px;
        line-height: 1.55;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing__track {
        gap: 12px;
    }

    /* Do not let one portrait image dominate the mobile viewport.
       84vw with a 320px cap still reads as one focused slide and leaves
       enough visual room to signal that more images are available. */
    body.oreyne-pdp-active .oreyne-pdp-wearing__slide {
        flex: 0 0 min(84vw, 320px);
        border-radius: 8px;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing__image {
        aspect-ratio: 3 / 4;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing__arrow {
        display: none;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing__nav {
        margin-top: 12px;
        gap: 5px;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing__counter {
        height: 26px;
        font-size: 11px;
    }

    body.oreyne-pdp-active .oreyne-pdp-wearing + .oreyne-pdp-making,
    body.oreyne-pdp-active .oreyne-pdp-wearing + .oreyne-pdp-long-description {
        padding-top: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.oreyne-pdp-active .oreyne-pdp-wearing__track { scroll-behavior: auto; }
    body.oreyne-pdp-active .oreyne-pdp-wearing__dot span,
    body.oreyne-pdp-active .oreyne-pdp-wearing__arrow { transition: none; }
}


/* ============================================================
   38. v1.7.43 — Product-specific price-adjacent highlights
   One textarea in OREYNE Details; each non-empty line is shown
   as one concise product highlight beneath the price.
   ============================================================ */
body.oreyne-pdp-active .oreyne-pdp-product-highlights {
    width: 100%;
    max-width: 640px;
    margin: 18px 0 0;
    display: grid;
    gap: 9px;
}

body.oreyne-pdp-active .oreyne-pdp-product-highlights__item {
    margin: 0;
    color: var(--oreyne-text, #181818);
    font-size: 15px;
    line-height: 1.5;
    font-weight: 400;
    letter-spacing: 0;
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-product-highlights {
        margin-top: 15px;
        gap: 7px;
    }

    body.oreyne-pdp-active .oreyne-pdp-product-highlights__item {
        font-size: 14.5px;
        line-height: 1.5;
    }
}

/* v1.7.65 — Low Stock already-in-cart state + validation modal */
.oreyne-pdp-active .single_add_to_cart_button.oreyne-pdp-already-in-cart{opacity:.55!important;cursor:not-allowed!important;pointer-events:none!important}
.oreyne-cart-error-modal{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(18,18,18,.34);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.oreyne-cart-error-modal.is-visible{opacity:1;visibility:visible}.oreyne-cart-error-modal__panel{position:relative;width:min(420px,100%);padding:30px 28px 24px;background:#fff;box-shadow:0 18px 60px rgba(0,0,0,.16);text-align:left}.oreyne-cart-error-modal__close{position:absolute;top:10px;right:12px;border:0;background:transparent;font-size:26px;line-height:1;color:#777;cursor:pointer}.oreyne-cart-error-modal__title{margin:0 34px 12px 0;font-size:20px;font-weight:500;color:#171717}.oreyne-cart-error-modal__message{margin:0 0 22px;font-size:14px;line-height:1.6;color:#555}.oreyne-cart-error-modal__confirm{width:100%;min-height:46px;border:0;border-radius:24px;background:#111;color:#fff;font-size:14px;font-weight:600;cursor:pointer}
@media(max-width:767px){.oreyne-cart-error-modal{align-items:flex-end;padding:14px}.oreyne-cart-error-modal__panel{width:100%;padding:28px 22px 20px;border-radius:12px}.oreyne-cart-error-modal__title{font-size:18px}}

/* ============================================================
   39. v1.7.72 — PDP purchase-flow polish
   - one mobile CTA at a time
   - sticky CTA sits flush on the real Umino bottom nav
   - validation overlay covers header language / WhatsApp floaters
   - direct Buy It Now CTA
   - title-adjacent Instagram social proof
   ============================================================ */
body.oreyne-pdp-active .woocommerce-notices-wrapper,
body.oreyne-pdp-active > .woocommerce-message,
body.oreyne-pdp-active > .woocommerce-error,
body.oreyne-pdp-active > .woocommerce-info {
    display: none !important;
}

body.oreyne-pdp-active .oreyne-pdp-social-proof {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    margin: 8px 0 1px;
    color: #5e5a54;
    font-size: 13.5px;
    line-height: 1.35;
    text-decoration: none;
    transition: color .18s ease, opacity .18s ease;
}
body.oreyne-pdp-active .oreyne-pdp-social-proof:hover,
body.oreyne-pdp-active .oreyne-pdp-social-proof:focus-visible {
    color: #171717;
}
body.oreyne-pdp-active .oreyne-pdp-social-proof__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    border: 1px solid #a78a62;
    border-radius: 50%;
    color: #8f724c;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
}

body.oreyne-pdp-active .oreyne-pdp-buy-now {
    width: 100%;
    min-height: 54px;
    margin: 10px 0 0;
    padding: 0 24px;
    border: 1px solid #171717;
    border-radius: 0;
    background: #fff;
    color: #171717;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .02em;
    cursor: pointer;
    transition: background .18s ease, color .18s ease, opacity .18s ease;
}
body.oreyne-pdp-active .oreyne-pdp-buy-now:hover,
body.oreyne-pdp-active .oreyne-pdp-buy-now:focus-visible {
    background: #f5f2ed;
}
body.oreyne-pdp-active .oreyne-pdp-buy-now[disabled],
body.oreyne-pdp-active .oreyne-pdp-buy-now.is-loading {
    opacity: .58;
    cursor: wait;
}

.oreyne-cart-error-modal {
    z-index: 2147483646 !important;
}
body.oreyne-cart-error-open #oreyne-header-language,
#oreyne-header-language[data-oreyne-modal-hidden="1"],
body.oreyne-cart-error-open #oreyne-header-language *,
body.oreyne-cart-error-open .gt_switcher_wrapper,
body.oreyne-cart-error-open .gtranslate_wrapper,
body.oreyne-cart-error-open .translate_wrapper,
body.oreyne-cart-error-open [id^="gt-wrapper-"],
body.oreyne-cart-error-open #qlwapp,
body.oreyne-cart-error-open .oreyne-whatsapp-float,
body.oreyne-cart-error-open .joinchat,
body.oreyne-cart-error-open .ht-ctc-chat {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-social-proof {
        margin-top: 7px;
        font-size: 13px;
    }

    body.oreyne-pdp-active .oreyne-pdp-buy-now {
        min-height: 50px;
        margin-top: 8px;
        font-size: 13px;
    }

    /* The real product CTA wins whenever it is visible. */
    body.oreyne-pdp-active.oreyne-pdp-main-atc-visible .sticky-add-to-cart,
    body.oreyne-pdp-active.oreyne-pdp-main-atc-visible .bls-sticky-addcart,
    body.oreyne-pdp-active.oreyne-pdp-main-atc-visible [data-oreyne-mobile-sticky-cart="1"] {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    body.oreyne-pdp-active .sticky-add-to-cart,
    body.oreyne-pdp-active .bls-sticky-addcart,
    body.oreyne-pdp-active [data-oreyne-mobile-sticky-cart="1"] {
        margin: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
    }

    body.oreyne-pdp-active.oreyne-mini-cart-open .sticky-add-to-cart,
    body.oreyne-pdp-active.oreyne-mini-cart-open .bls-sticky-addcart,
    body.oreyne-pdp-active.oreyne-mini-cart-open [data-oreyne-mobile-sticky-cart="1"] {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}


/* ============================================================
   v1.7.73 — Social proof rhythm + purchase CTA hierarchy
   ============================================================ */
body.oreyne-pdp-active .oreyne-pdp-social-proof {
    margin: 7px 0 11px !important;
}

body.oreyne-pdp-active .oreyne-pdp-summary__meta-row {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
}

/* De-emphasize Add to Cart and make Buy It Now the primary CTA.
   Scope this to the main PDP purchase block only; sticky ATC remains unchanged. */
body.oreyne-pdp-active .oreyne-pdp-summary__purchase form.cart .single_add_to_cart_button,
body.oreyne-pdp-active .oreyne-pdp-summary__purchase form.cart button.single_add_to_cart_button {
    background: #fff !important;
    color: #171717 !important;
    border: 1px solid #171717 !important;
    box-shadow: none !important;
}
body.oreyne-pdp-active .oreyne-pdp-summary__purchase form.cart .single_add_to_cart_button:hover,
body.oreyne-pdp-active .oreyne-pdp-summary__purchase form.cart .single_add_to_cart_button:focus-visible {
    background: #f5f2ed !important;
    color: #171717 !important;
}

body.oreyne-pdp-active .oreyne-pdp-buy-now {
    margin-top: 12px !important;
    background: #171717 !important;
    color: #fff !important;
    border-color: #171717 !important;
}
body.oreyne-pdp-active .oreyne-pdp-buy-now:hover,
body.oreyne-pdp-active .oreyne-pdp-buy-now:focus-visible {
    background: #2a2927 !important;
    color: #fff !important;
}

@media (max-width: 767px) {
    body.oreyne-pdp-active .oreyne-pdp-social-proof {
        margin: 6px auto 10px !important;
    }
    body.oreyne-pdp-active .oreyne-pdp-buy-now {
        margin-top: 10px !important;
    }
}


/* ============================================================
   v1.7.82 — shared fixed dock, no independent bottom offset
   ============================================================ */
@media (max-width: 767px) {
    body.oreyne-pdp-active #oreyne-mobile-bottom-dock > .sticky-add-to-cart,
    body.oreyne-pdp-active #oreyne-mobile-bottom-dock > .bls-sticky-addcart,
    body.oreyne-pdp-active #oreyne-mobile-bottom-dock > [data-oreyne-pdp-docked="1"] {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        inset: auto !important;
        inset-block-start: auto !important;
        inset-block-end: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
        border-bottom: 0 !important;
        box-sizing: border-box !important;
        z-index: 2 !important;
    }

    /* When Umino removes .show, the hidden bar must not leave a blank row in the dock. */
    body.oreyne-pdp-active #oreyne-mobile-bottom-dock > .sticky-add-to-cart:not(.show),
    body.oreyne-pdp-active #oreyne-mobile-bottom-dock > .bls-sticky-addcart:not(.show) {
        display: none !important;
    }
}


/* v1.7.88 — responsive purchase-flow loading feedback. */
body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button.oreyne-add-to-cart-loading,
body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button.loading {
    position: relative !important;
    cursor: wait !important;
    opacity: .76 !important;
    pointer-events: none !important;
}
body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button.oreyne-add-to-cart-loading::before,
body.oreyne-pdp-active .oreyne-pdp-summary .single_add_to_cart_button.loading::before {
    content: "" !important;
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    margin: 0 9px -2px 0 !important;
    border: 1.7px solid currentColor !important;
    border-right-color: transparent !important;
    border-radius: 50% !important;
    animation: oreynePdpButtonSpin .72s linear infinite !important;
    vertical-align: middle !important;
}
.oreyne-cart-error-modal__confirm.is-loading {
    cursor: wait !important;
    opacity: .78 !important;
    pointer-events: none !important;
}
.oreyne-cart-error-modal__confirm.is-loading::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    margin: 0 9px -2px 0;
    border: 1.7px solid rgba(255,255,255,.95);
    border-right-color: transparent;
    border-radius: 50%;
    animation: oreynePdpButtonSpin .72s linear infinite;
    vertical-align: middle;
}
@keyframes oreynePdpButtonSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

/* ============================================================
   v1.7.98 — ownership-safe Privé dock bridge

   OREYNE Privé owns #oreyne-mobile-bottom-dock and
   #oreyne-mobile-bottom-nav (grid, dimensions, fixed position, z-index and
   Mini Cart open/close visibility). Product Page only controls the Umino
   Sticky Add to Cart row that it inserts immediately before the nav.

   IMPORTANT: do not add display / position / visibility rules for the dock
   or nav here. Doing so overrides Privé's four-column Grid and breaks the
   shared bottom-menu layout.
   ============================================================ */
@media (max-width: 767px) {
    /* Main CTA visible: hide only the docked floating purchase row. */
    body.oreyne-pdp-active.oreyne-pdp-main-atc-visible:not(.oreyne-mini-cart-open)
    #oreyne-mobile-bottom-dock > .sticky-add-to-cart,
    body.oreyne-pdp-active.oreyne-pdp-main-atc-visible:not(.oreyne-mini-cart-open)
    #oreyne-mobile-bottom-dock > .bls-sticky-addcart,
    body.oreyne-pdp-active.oreyne-pdp-main-atc-visible:not(.oreyne-mini-cart-open)
    #oreyne-mobile-bottom-dock > [data-oreyne-pdp-docked="1"] {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    /* Main CTA out of view: show only the docked floating purchase row. */
    body.oreyne-pdp-active:not(.oreyne-pdp-main-atc-visible):not(.oreyne-mini-cart-open)
    #oreyne-mobile-bottom-dock > .sticky-add-to-cart,
    body.oreyne-pdp-active:not(.oreyne-pdp-main-atc-visible):not(.oreyne-mini-cart-open)
    #oreyne-mobile-bottom-dock > .bls-sticky-addcart,
    body.oreyne-pdp-active:not(.oreyne-pdp-main-atc-visible):not(.oreyne-mini-cart-open)
    #oreyne-mobile-bottom-dock > [data-oreyne-pdp-docked="1"] {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        min-height: 48px !important;
    }

    /* Umino may remove .show while scrolled. Product Page may restore only
       its own docked purchase row; the Privé nav remains untouched. */
    body.oreyne-pdp-active:not(.oreyne-pdp-main-atc-visible):not(.oreyne-mini-cart-open)
    #oreyne-mobile-bottom-dock > .sticky-add-to-cart:not(.show),
    body.oreyne-pdp-active:not(.oreyne-pdp-main-atc-visible):not(.oreyne-mini-cart-open)
    #oreyne-mobile-bottom-dock > .bls-sticky-addcart:not(.show) {
        display: block !important;
    }
}


/* ============================================================
   v1.8.7 — Sticky Add to Cart loading feedback
   Keep the floating CTA responsive while the real PDP AJAX add request runs.
   ============================================================ */
body.oreyne-pdp-active .sticky-add-to-cart .oreyne-sticky-add-to-cart-loading,
body.oreyne-pdp-active .bls-sticky-addcart .oreyne-sticky-add-to-cart-loading,
body.oreyne-pdp-active [data-oreyne-mobile-sticky-cart="1"] .oreyne-sticky-add-to-cart-loading {
    position: relative !important;
    cursor: wait !important;
    opacity: .76 !important;
    pointer-events: none !important;
    transition: opacity .18s ease, background-color .18s ease, color .18s ease !important;
}

body.oreyne-pdp-active .sticky-add-to-cart .oreyne-sticky-add-to-cart-loading::before,
body.oreyne-pdp-active .bls-sticky-addcart .oreyne-sticky-add-to-cart-loading::before,
body.oreyne-pdp-active [data-oreyne-mobile-sticky-cart="1"] .oreyne-sticky-add-to-cart-loading::before {
    content: "" !important;
    display: inline-block !important;
    width: 15px !important;
    height: 15px !important;
    margin: 0 9px -2px 0 !important;
    border: 1.7px solid currentColor !important;
    border-right-color: transparent !important;
    border-radius: 50% !important;
    animation: oreynePdpButtonSpin .72s linear infinite !important;
    vertical-align: middle !important;
}


/* ============================================================
   v1.8.9 — Academy PDP simplification
   ============================================================ */
body.oreyne-pdp-active .oreyne-pdp-key-info--delivery-only {
    margin-top: 18px;
    margin-bottom: 22px;
}
body.oreyne-pdp-active .oreyne-pdp-key-info--delivery-only .oreyne-pdp-key-info__row,
body.oreyne-pdp-active .oreyne-pdp-key-info--delivery-only .oreyne-pdp-key-info__label,
body.oreyne-pdp-active .oreyne-pdp-key-info--delivery-only .oreyne-pdp-key-info__value {
    color: #111 !important;
}
body.oreyne-pdp-active .oreyne-pdp-key-info--delivery-only .oreyne-pdp-key-info__label {
    font-weight: 500;
}

/* Bottom navigation is currently disabled on Academy. Keep the native Umino
   floating purchase bar flush with the viewport bottom when no visible shared
   navigation dock is present. */
@media (max-width: 767px) {
    body.oreyne-pdp-active.oreyne-pdp-no-mobile-bottom-nav .sticky-add-to-cart,
    body.oreyne-pdp-active.oreyne-pdp-no-mobile-bottom-nav .bls-sticky-addcart,
    body.oreyne-pdp-active.oreyne-pdp-no-mobile-bottom-nav [data-oreyne-mobile-sticky-cart="1"] {
        bottom: 0 !important;
        inset-block-end: 0 !important;
        margin-bottom: 0 !important;
    }
}
