/* IDEA3D25 Product Page v3.0 - Phase 1 */

body.i3d25-product-v3 {
    --i3p3-primary: #6d28d9;
    --i3p3-secondary: #8b5cf6;
    --i3p3-dark: #171449;
    --i3p3-border: rgba(23,20,73,.09);
    --i3p3-muted: rgba(23,20,73,.60);
    --i3p3-max: 1440px;
}

body.i3d25-product-v3 .i3p3-product,
body.i3d25-product-v3 .i3p3-product * {
    box-sizing: border-box;
}

body.i3d25-product-v3 .i3p3-product {
    width: 100%;
}

body.i3d25-product-v3 .i3p3-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.24fr) minmax(320px, .78fr) minmax(330px, .82fr);
    align-items: start;
    gap: 28px;
    width: min(calc(100% - 44px), var(--i3p3-max));
    margin: 0 auto;
    padding: 26px 0 34px;
}

body.i3d25-product-v3 .i3p3-gallery-column,
body.i3d25-product-v3 .i3p3-info-column,
body.i3d25-product-v3 .i3p3-buy-column {
    min-width: 0;
}


/* Premium gallery v3.1 */
body.i3d25-product-v3 .i3p3-gallery {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr);
    gap: 12px;
    min-width: 0;
}

body.i3d25-product-v3 .i3p3-gallery-thumbs {
    display: flex;
    max-height: 650px;
    flex-direction: column;
    gap: 9px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 1px;
    scrollbar-width: none;
}

body.i3d25-product-v3 .i3p3-gallery-thumbs::-webkit-scrollbar {
    display: none;
}

body.i3d25-product-v3 .i3p3-gallery-thumb {
    position: relative;
    display: grid;
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    place-items: center;
    overflow: hidden;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 13px;
    background: #f6f5fa;
    cursor: pointer;
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

body.i3d25-product-v3 .i3p3-gallery-thumb:hover {
    transform: translateY(-1px);
    border-color: rgba(109,40,217,.28);
}

body.i3d25-product-v3 .i3p3-gallery-thumb.is-active {
    border-color: var(--i3p3-primary);
    box-shadow: 0 5px 16px rgba(109,40,217,.13);
}

body.i3d25-product-v3 .i3p3-gallery-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

body.i3d25-product-v3 .i3p3-video-thumb-icon {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--i3p3-primary);
    font-size: .65rem;
}

body.i3d25-product-v3 .i3p3-video-thumb-label {
    position: absolute;
    right: 4px;
    bottom: 4px;
    left: 4px;
    color: var(--i3p3-dark);
    font-size: .52rem;
    font-weight: 850;
    text-align: center;
}

body.i3d25-product-v3 .i3p3-gallery-stage {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--i3p3-border);
    border-radius: 24px;
    background:
        radial-gradient(circle at 50% 25%, rgba(139,92,246,.06), transparent 42%),
        #f7f7fb;
}

body.i3d25-product-v3 .i3p3-gallery-main {
    display: grid;
    width: 100%;
    min-height: 560px;
    place-items: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: zoom-in;
}

body.i3d25-product-v3 .i3p3-gallery-main[hidden] {
    display: none !important;
}

body.i3d25-product-v3 .i3p3-gallery-main img {
    display: block;
    width: 100%;
    height: 560px;
    object-fit: contain;
    transition: transform .25s ease;
}

body.i3d25-product-v3 .i3p3-gallery-main:hover img {
    transform: scale(1.015);
}

body.i3d25-product-v3 .i3p3-gallery-video-stage {
    width: 100%;
    min-height: 560px;
}

body.i3d25-product-v3 .i3p3-gallery-video-stage[hidden] {
    display: none !important;
}

body.i3d25-product-v3 .i3p3-gallery-video-stage video {
    display: block;
    width: 100%;
    height: 560px;
    background: #111;
    object-fit: contain;
}

body.i3d25-product-v3 .i3p3-gallery-counter {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 2;
    padding: 5px 9px;
    border-radius: 999px;
    color: #fff;
    background: rgba(23,20,73,.72);
    backdrop-filter: blur(8px);
    font-size: .66rem;
    font-weight: 800;
}

body.i3d25-product-v3 .i3p3-gallery-nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid rgba(23,20,73,.08);
    border-radius: 50%;
    color: var(--i3p3-dark);
    background: rgba(255,255,255,.88);
    box-shadow: 0 8px 20px rgba(23,20,73,.10);
    cursor: pointer;
    font-size: 1.5rem;
    transform: translateY(-50%);
    backdrop-filter: blur(8px);
}

body.i3d25-product-v3 .i3p3-gallery-prev {
    left: 13px;
}

body.i3d25-product-v3 .i3p3-gallery-next {
    right: 13px;
}

body.i3d25-product-v3 .i3p3-gallery-empty {
    overflow: hidden;
    border-radius: 24px;
    background: #f7f7fb;
}

body.i3d25-product-v3 .i3p3-gallery-empty img {
    display: block;
    width: 100%;
    height: auto;
}

/* Gallery lightbox */
.i3p3-lightbox {
    position: fixed;
    z-index: 1000000;
    inset: 0;
    display: none;
    place-items: center;
    padding: 30px;
    background: rgba(8,7,22,.94);
}

.i3p3-lightbox.is-open {
    display: grid;
}

.i3p3-lightbox-image {
    display: block;
    max-width: min(94vw, 1600px);
    max-height: 91vh;
    border-radius: 16px;
    object-fit: contain;
}

.i3p3-lightbox-close {
    position: absolute;
    top: 18px;
    right: 18px;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 50%;
    color: #fff;
    background: rgba(255,255,255,.09);
    cursor: pointer;
    font-size: 1.7rem;
}

@media (max-width: 1180px) {
    body.i3d25-product-v3 .i3p3-gallery-main,
    body.i3d25-product-v3 .i3p3-gallery-main img,
    body.i3d25-product-v3 .i3p3-gallery-video-stage,
    body.i3d25-product-v3 .i3p3-gallery-video-stage video {
        min-height: 500px;
        height: 500px;
    }
}

@media (max-width: 767px) {
    body.i3d25-product-v3 .i3p3-gallery {
        display: flex;
        flex-direction: column-reverse;
        gap: 9px;
    }

    body.i3d25-product-v3 .i3p3-gallery-thumbs {
        display: flex;
        max-height: none;
        flex-direction: row;
        gap: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 2px;
    }

    body.i3d25-product-v3 .i3p3-gallery-thumb {
        width: 58px;
        height: 58px;
        flex-basis: 58px;
        border-radius: 10px;
    }

    body.i3d25-product-v3 .i3p3-gallery-stage {
        border-radius: 17px;
    }

    body.i3d25-product-v3 .i3p3-gallery-main,
    body.i3d25-product-v3 .i3p3-gallery-main img,
    body.i3d25-product-v3 .i3p3-gallery-video-stage,
    body.i3d25-product-v3 .i3p3-gallery-video-stage video {
        min-height: 0;
        height: min(90vw, 520px);
    }

    body.i3d25-product-v3 .i3p3-gallery-nav {
        width: 36px;
        height: 36px;
        font-size: 1.25rem;
    }

    body.i3d25-product-v3 .i3p3-gallery-counter {
        right: 10px;
        bottom: 10px;
    }

    .i3p3-lightbox {
        padding: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.i3d25-product-v3 .i3p3-gallery-thumb,
    body.i3d25-product-v3 .i3p3-gallery-main img {
        transition: none;
    }
}

/* Product information */
body.i3d25-product-v3 .i3p3-info-inner {
    padding: 10px 0;
}

body.i3d25-product-v3 .i3p3-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
}

body.i3d25-product-v3 .i3p3-badges span {
    padding: 5px 9px;
    border-radius: 999px;
    color: var(--i3p3-primary);
    background: rgba(109,40,217,.08);
    font-size: .68rem;
    font-weight: 850;
}

body.i3d25-product-v3 .i3p3-info-column .product_title {
    margin: 0 0 12px !important;
    color: var(--i3p3-dark);
    font-size: clamp(2.1rem, 3vw, 3.4rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em;
}

body.i3d25-product-v3 .i3p3-info-column .woocommerce-product-rating {
    margin-bottom: 12px !important;
}

body.i3d25-product-v3 .i3p3-info-column .price {
    margin: 0 0 18px !important;
    color: var(--i3p3-primary) !important;
    font-size: 1.8rem !important;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-short-description {
    color: var(--i3p3-muted);
    font-size: .95rem;
    line-height: 1.65;
}

body.i3d25-product-v3 .i3p3-quick-points {
    display: grid;
    gap: 0;
    margin-top: 22px;
    border-top: 1px solid var(--i3p3-border);
}

body.i3d25-product-v3 .i3p3-quick-points > div {
    display: grid;
    gap: 3px;
    padding: 14px 0;
    border-bottom: 1px solid var(--i3p3-border);
}

body.i3d25-product-v3 .i3p3-quick-points strong {
    color: var(--i3p3-dark);
    font-size: .82rem;
}

body.i3d25-product-v3 .i3p3-quick-points span {
    color: var(--i3p3-muted);
    font-size: .72rem;
}

/* Buy/config card */
body.i3d25-product-v3 .i3p3-buy-card {
    position: sticky;
    top: 90px;
    padding: 22px;
    border: 1px solid var(--i3p3-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(23,20,73,.08);
}

body.i3d25-product-v3 .i3p3-buy-head > span {
    display: block;
    margin-bottom: 5px;
    color: var(--i3p3-primary);
    font-size: .65rem;
    font-weight: 900;
    letter-spacing: .1em;
}

body.i3d25-product-v3 .i3p3-buy-head h2 {
    margin: 0;
    color: var(--i3p3-dark);
    font-size: 1.05rem;
    line-height: 1.25;
}

body.i3d25-product-v3 .i3p3-buy-price .price {
    margin: 10px 0 14px !important;
    color: var(--i3p3-primary) !important;
    font-size: 1.35rem !important;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-buy-placeholder {
    margin: 14px 0;
    padding: 14px;
    border-radius: 14px;
    background: #f8f7fc;
}

body.i3d25-product-v3 .i3p3-buy-placeholder strong {
    color: var(--i3p3-dark);
    font-size: .8rem;
}

body.i3d25-product-v3 .i3p3-buy-placeholder p {
    margin: 6px 0 0;
    color: var(--i3p3-muted);
    font-size: .7rem;
    line-height: 1.45;
}

body.i3d25-product-v3 .i3p3-cart-area form.cart {
    display: grid !important;
    grid-template-columns: 94px minmax(0, 1fr);
    gap: 9px;
    margin: 0 !important;
}

body.i3d25-product-v3 .i3p3-cart-area .quantity,
body.i3d25-product-v3 .i3p3-cart-area .qty,
body.i3d25-product-v3 .i3p3-cart-area .single_add_to_cart_button {
    width: 100% !important;
}

body.i3d25-product-v3 .i3p3-cart-area .qty,
body.i3d25-product-v3 .i3p3-cart-area .single_add_to_cart_button {
    min-height: 48px;
    border-radius: 11px !important;
}

body.i3d25-product-v3 .i3p3-cart-area .single_add_to_cart_button {
    border: 0 !important;
    background: linear-gradient(135deg, var(--i3p3-primary), var(--i3p3-secondary)) !important;
    box-shadow: 0 12px 26px rgba(109,40,217,.20);
    font-weight: 900 !important;
}

body.i3d25-product-v3 .i3p3-payment-note {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 12px;
    color: var(--i3p3-muted);
    font-size: .68rem;
}

/* Suppress legacy v2 visual sections while v3 is being built */
body.i3d25-product-v3 .i3p2-purchase-extras,
body.i3d25-product-v3 .i3p2-description-section,
body.i3d25-product-v3 .i3p2-related-section,
body.i3d25-product-v3 .i3p2-cross-sell-section,
body.i3d25-product-v3 .i3p2-sticky-mobile,
body.i3d25-product-v3 .i3p2-conversion-badges,
body.i3d25-product-v3 .i3p2-conversion-messages {
    display: none !important;
}

/* Suppress express wallets on product page */
body.i3d25-product-v3 [class*="amazon-pay"],
body.i3d25-product-v3 [id*="amazon-pay"],
body.i3d25-product-v3 [class*="express-checkout"],
body.i3d25-product-v3 [class*="payment-request-button"] {
    display: none !important;
}

@media (max-width: 1180px) {
    body.i3d25-product-v3 .i3p3-shell {
        grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
    }

    body.i3d25-product-v3 .i3p3-buy-column {
        grid-column: 1 / -1;
    }

    body.i3d25-product-v3 .i3p3-buy-card {
        position: static;
    }
}

@media (max-width: 767px) {
    body.i3d25-product-v3 .i3p3-shell {
        grid-template-columns: 1fr;
        gap: 18px;
        width: calc(100% - 24px);
        padding: 14px 0 22px;
    }

    body.i3d25-product-v3 .i3p3-info-column .product_title {
        font-size: clamp(2rem, 10vw, 2.8rem) !important;
    }

    body.i3d25-product-v3 .i3p3-buy-card {
        padding: 16px;
        border-radius: 16px;
    }

    body.i3d25-product-v3 .i3p3-cart-area form.cart {
        grid-template-columns: 80px minmax(0, 1fr);
    }

    body.i3d25-product-v3 .i3p3-gallery-column .woocommerce-product-gallery__wrapper {
        border-radius: 17px;
    }

    body.i3d25-product-v3 .i3p3-gallery-column .flex-control-thumbs {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 8px;
    }

    body.i3d25-product-v3 .i3p3-lower-placeholder {
        width: calc(100% - 24px);
        margin-bottom: 22px;
    }

    body.i3d25-product-v3 .i3p3-lower-inner {
        display: grid;
        gap: 5px;
        padding: 14px;
    }
}


/* ===== v3.2 Product info ===== */
body.i3d25-product-v3 .i3p3-info-inner {
    padding: 4px 0 0;
}

body.i3d25-product-v3 .i3p3-category {
    margin-bottom: 7px;
    color: rgba(23,20,73,.48);
    font-size: .72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}

body.i3d25-product-v3 .i3p3-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 12px;
}

body.i3d25-product-v3 .i3p3-badges span {
    padding: 6px 10px;
    border-radius: 999px;
    color: var(--i3p3-primary);
    background: rgba(109,40,217,.08);
    font-size: .65rem;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-info-column .product_title {
    max-width: 560px;
    margin: 0 0 12px !important;
    color: var(--i3p3-dark);
    font-size: clamp(2.05rem, 2.75vw, 3.25rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em;
}

body.i3d25-product-v3 .i3p3-rating-row {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 14px;
}

body.i3d25-product-v3 .i3p3-rating-row .star-rating {
    margin: 0 !important;
    color: #f5a623;
}

body.i3d25-product-v3 .i3p3-rating-row > span {
    color: rgba(23,20,73,.50);
    font-size: .7rem;
}

body.i3d25-product-v3 .i3p3-main-price {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 17px;
    color: var(--i3p3-primary);
    font-size: 1.85rem;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-main-price del {
    opacity: .38;
    font-size: .72em;
}

body.i3d25-product-v3 .i3p3-main-price small {
    color: rgba(23,20,73,.42);
    font-size: .62rem;
    font-weight: 700;
}

body.i3d25-product-v3 .i3p3-short-description {
    color: rgba(23,20,73,.67);
    font-size: .91rem;
    line-height: 1.62;
}

body.i3d25-product-v3 .i3p3-short-description > :first-child {
    margin-top: 0;
}

body.i3d25-product-v3 .i3p3-short-description > :last-child {
    margin-bottom: 0;
}

body.i3d25-product-v3 .i3p3-feature-list {
    display: grid;
    margin-top: 22px;
    border-top: 1px solid var(--i3p3-border);
}

body.i3d25-product-v3 .i3p3-feature {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    padding: 12px 0;
    border-bottom: 1px solid var(--i3p3-border);
}

body.i3d25-product-v3 .i3p3-feature-icon {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border-radius: 9px;
    color: var(--i3p3-primary);
    background: rgba(109,40,217,.075);
    font-size: .72rem;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-feature > div {
    display: grid;
    gap: 2px;
}

body.i3d25-product-v3 .i3p3-feature strong {
    color: var(--i3p3-dark);
    font-size: .79rem;
}

body.i3d25-product-v3 .i3p3-feature span:not(.i3p3-feature-icon) {
    color: rgba(23,20,73,.52);
    font-size: .69rem;
    line-height: 1.35;
}

body.i3d25-product-v3 .i3p3-special-project {
    display: grid;
    gap: 10px;
    margin-top: 18px;
    padding: 15px;
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0, rgba(139,92,246,.13), transparent 40%),
        rgba(109,40,217,.035);
}

body.i3d25-product-v3 .i3p3-special-project > div {
    display: grid;
    gap: 3px;
}

body.i3d25-product-v3 .i3p3-special-project strong {
    color: var(--i3p3-dark);
    font-size: .82rem;
}

body.i3d25-product-v3 .i3p3-special-project span {
    color: rgba(23,20,73,.56);
    font-size: .69rem;
    line-height: 1.4;
}

body.i3d25-product-v3 .i3p3-special-project a {
    width: fit-content;
    color: var(--i3p3-primary) !important;
    font-size: .7rem;
    font-weight: 900;
    text-decoration: none !important;
}

/* ===== v3.2 Compact configurator / buy card ===== */
body.i3d25-product-v3 .i3p3-buy-card {
    position: sticky;
    top: 86px;
    padding: 20px;
    border: 1px solid rgba(109,40,217,.11);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(23,20,73,.075);
}

body.i3d25-product-v3 .i3p3-buy-head > span {
    display: block;
    margin-bottom: 5px;
    color: var(--i3p3-primary);
    font-size: .62rem;
    font-weight: 900;
    letter-spacing: .1em;
}

body.i3d25-product-v3 .i3p3-buy-head h2 {
    margin: 0;
    color: var(--i3p3-dark);
    font-size: 1rem;
    line-height: 1.25;
}

body.i3d25-product-v3 .i3p3-buy-price {
    margin: 8px 0 14px;
    color: var(--i3p3-primary);
    font-size: 1.24rem;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-configurator {
    display: grid;
    gap: 13px;
    margin-bottom: 15px;
}

body.i3d25-product-v3 .i3p3-config-block {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

body.i3d25-product-v3 .i3p3-config-block legend,
body.i3d25-product-v3 .i3p3-config-field > span {
    display: block;
    margin-bottom: 7px;
    color: var(--i3p3-dark);
    font-size: .71rem;
    font-weight: 850;
}

body.i3d25-product-v3 .i3p3-choice-row {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

body.i3d25-product-v3 .i3p3-choice-pill {
    position: relative;
    cursor: pointer;
}

body.i3d25-product-v3 .i3p3-choice-pill input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

body.i3d25-product-v3 .i3p3-choice-pill span {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    padding: 7px 11px;
    border: 1px solid rgba(23,20,73,.11);
    border-radius: 9px;
    color: rgba(23,20,73,.72);
    background: #fff;
    font-size: .68rem;
    font-weight: 800;
    transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

body.i3d25-product-v3 .i3p3-choice-pill:hover span {
    border-color: rgba(109,40,217,.35);
}

body.i3d25-product-v3 .i3p3-choice-pill.is-selected span,
body.i3d25-product-v3 .i3p3-choice-pill input:checked + span {
    border-color: var(--i3p3-primary);
    color: var(--i3p3-primary);
    background: rgba(109,40,217,.07);
    box-shadow: 0 0 0 2px rgba(109,40,217,.06);
}

body.i3d25-product-v3 .i3p3-config-field {
    display: grid;
}

body.i3d25-product-v3 .i3p3-config-field input,
body.i3d25-product-v3 .i3p3-config-field textarea {
    width: 100%;
    border: 1px solid rgba(23,20,73,.11);
    border-radius: 10px;
    color: var(--i3p3-dark);
    background: #fff;
    font-size: .76rem;
}

body.i3d25-product-v3 .i3p3-config-field input {
    min-height: 40px;
    padding: 8px 10px;
}

body.i3d25-product-v3 .i3p3-config-field textarea {
    padding: 9px 10px;
    resize: vertical;
}

body.i3d25-product-v3 .i3p3-upload {
    display: grid;
    min-height: 112px;
    place-items: center;
    align-content: center;
    gap: 3px;
    padding: 12px;
    border: 1px dashed rgba(109,40,217,.30);
    border-radius: 12px;
    background: rgba(109,40,217,.025);
    cursor: pointer;
    text-align: center;
    transition: border-color .16s ease, background .16s ease;
}

body.i3d25-product-v3 .i3p3-upload:hover,
body.i3d25-product-v3 .i3p3-upload.is-dragging,
body.i3d25-product-v3 .i3p3-upload.has-file {
    border-color: var(--i3p3-primary);
    background: rgba(109,40,217,.055);
}

body.i3d25-product-v3 .i3p3-upload input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

body.i3d25-product-v3 .i3p3-upload-icon {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    margin-bottom: 2px;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(135deg, var(--i3p3-primary), var(--i3p3-secondary));
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-upload strong {
    color: var(--i3p3-dark);
    font-size: .72rem;
}

body.i3d25-product-v3 .i3p3-upload small,
body.i3d25-product-v3 .i3p3-upload-name {
    max-width: 100%;
    overflow: hidden;
    color: rgba(23,20,73,.45);
    font-size: .6rem;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.i3d25-product-v3 .i3p3-cart-area form.cart {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 8px;
    margin: 0 !important;
}

body.i3d25-product-v3 .i3p3-cart-area .i3p3-configurator {
    grid-column: 1 / -1;
}

body.i3d25-product-v3 .i3p3-cart-area .quantity,
body.i3d25-product-v3 .i3p3-cart-area .qty,
body.i3d25-product-v3 .i3p3-cart-area .single_add_to_cart_button {
    width: 100% !important;
}

body.i3d25-product-v3 .i3p3-cart-area .qty,
body.i3d25-product-v3 .i3p3-cart-area .single_add_to_cart_button {
    min-height: 48px;
    border-radius: 11px !important;
}

body.i3d25-product-v3 .i3p3-cart-area .single_add_to_cart_button {
    border: 0 !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--i3p3-primary), var(--i3p3-secondary)) !important;
    box-shadow: 0 12px 25px rgba(109,40,217,.20);
    font-weight: 900 !important;
}

body.i3d25-product-v3 .i3p3-payment-strip {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    margin-top: 11px;
    padding-top: 11px;
    border-top: 1px solid var(--i3p3-border);
    color: rgba(23,20,73,.49);
    font-size: .63rem;
}

body.i3d25-product-v3 .i3p3-payment-strip strong {
    color: rgba(23,20,73,.66);
}

body.i3d25-product-v3 .i3p3-feasibility-note {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 8px;
    margin-top: 11px;
    padding: 9px 10px;
    border-radius: 10px;
    background: #f8f7fc;
}

body.i3d25-product-v3 .i3p3-feasibility-note > span {
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: var(--i3p3-primary);
    font-size: .62rem;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-feasibility-note p {
    margin: 1px 0 0 !important;
    color: rgba(23,20,73,.50);
    font-size: .61rem;
    line-height: 1.38;
}

/* Remove duplicate/legacy payment widgets from the product page only */
body.i3d25-product-v3 .wc-stripe-amazon-pay-container,
body.i3d25-product-v3 .wc-stripe-link-container,
body.i3d25-product-v3 [class*="amazon-pay"],
body.i3d25-product-v3 [id*="amazon-pay"],
body.i3d25-product-v3 [class*="express-checkout"],
body.i3d25-product-v3 [class*="payment-request-button"] {
    display: none !important;
}

@media (max-width: 1180px) {
    body.i3d25-product-v3 .i3p3-buy-card {
        position: static;
    }
}

@media (max-width: 767px) {
    body.i3d25-product-v3 .i3p3-info-inner {
        padding-top: 0;
    }

    body.i3d25-product-v3 .i3p3-info-column .product_title {
        font-size: clamp(1.9rem, 9.5vw, 2.65rem) !important;
    }

    body.i3d25-product-v3 .i3p3-feature {
        padding: 10px 0;
    }

    body.i3d25-product-v3 .i3p3-buy-card {
        padding: 15px;
        border-radius: 16px;
    }

    body.i3d25-product-v3 .i3p3-choice-pill span {
        min-height: 32px;
        padding: 6px 9px;
        font-size: .65rem;
    }

    body.i3d25-product-v3 .i3p3-upload {
        min-height: 96px;
    }

    body.i3d25-product-v3 .i3p3-cart-area form.cart {
        grid-template-columns: 76px minmax(0, 1fr);
    }
}

@media (prefers-reduced-motion: reduce) {
    body.i3d25-product-v3 .i3p3-choice-pill span,
    body.i3d25-product-v3 .i3p3-upload {
        transition: none;
    }
}


/* ===== v3.3 Lower product area ===== */
body.i3d25-product-v3 .i3p3-lower {
    width: min(calc(100% - 44px), var(--i3p3-max));
    margin: 0 auto 42px;
}

body.i3d25-product-v3 .i3p3-service-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    margin-bottom: 28px;
    border: 1px solid var(--i3p3-border);
    border-radius: 18px;
    background: #fff;
}

body.i3d25-product-v3 .i3p3-service-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 15px 16px;
}

body.i3d25-product-v3 .i3p3-service-item + .i3p3-service-item {
    border-left: 1px solid var(--i3p3-border);
}

body.i3d25-product-v3 .i3p3-service-item > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 9px;
    color: var(--i3p3-primary);
    background: rgba(109,40,217,.07);
    font-size: .72rem;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-service-item > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

body.i3d25-product-v3 .i3p3-service-item strong {
    color: var(--i3p3-dark);
    font-size: .76rem;
}

body.i3d25-product-v3 .i3p3-service-item small {
    color: rgba(23,20,73,.48);
    font-size: .63rem;
}

/* Tabs */
body.i3d25-product-v3 .i3p3-tabs {
    overflow: hidden;
    margin-bottom: 34px;
    border: 1px solid var(--i3p3-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(23,20,73,.045);
}

body.i3d25-product-v3 .i3p3-tab-nav {
    display: flex;
    gap: 2px;
    overflow-x: auto;
    padding: 8px;
    border-bottom: 1px solid var(--i3p3-border);
    scrollbar-width: none;
}

body.i3d25-product-v3 .i3p3-tab-nav::-webkit-scrollbar {
    display: none;
}

body.i3d25-product-v3 .i3p3-tab-nav button {
    flex: 0 0 auto;
    min-height: 38px;
    padding: 8px 14px;
    border: 0;
    border-radius: 10px;
    color: rgba(23,20,73,.58);
    background: transparent;
    cursor: pointer;
    font-size: .72rem;
    font-weight: 850;
}

body.i3d25-product-v3 .i3p3-tab-nav button.is-active {
    color: var(--i3p3-primary);
    background: rgba(109,40,217,.075);
}

body.i3d25-product-v3 .i3p3-tab-panels {
    padding: 24px;
}

body.i3d25-product-v3 .i3p3-tab-panel {
    color: rgba(23,20,73,.68);
    font-size: .9rem;
    line-height: 1.7;
}

body.i3d25-product-v3 .i3p3-tab-panel > :first-child {
    margin-top: 0;
}

body.i3d25-product-v3 .i3p3-tab-panel > :last-child {
    margin-bottom: 0;
}

body.i3d25-product-v3 .i3p3-attributes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
}

body.i3d25-product-v3 .i3p3-attributes > div {
    display: grid;
    grid-template-columns: minmax(110px, .45fr) minmax(0, 1fr);
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid var(--i3p3-border);
}

body.i3d25-product-v3 .i3p3-attributes strong {
    color: var(--i3p3-dark);
    font-size: .74rem;
}

body.i3d25-product-v3 .i3p3-attributes span {
    color: rgba(23,20,73,.57);
    font-size: .72rem;
}

body.i3d25-product-v3 .i3p3-shipping-copy {
    display: grid;
    gap: 10px;
}

body.i3d25-product-v3 .i3p3-shipping-copy p {
    margin: 0;
}

/* Recommended */
body.i3d25-product-v3 .i3p3-recommended-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

body.i3d25-product-v3 .i3p3-recommended-head > div:first-child > span {
    display: block;
    margin-bottom: 4px;
    color: var(--i3p3-primary);
    font-size: .64rem;
    font-weight: 900;
    letter-spacing: .1em;
}

body.i3d25-product-v3 .i3p3-recommended-head h2 {
    margin: 0;
    color: var(--i3p3-dark);
    font-size: clamp(1.55rem, 2.4vw, 2.2rem);
    letter-spacing: -.03em;
}

body.i3d25-product-v3 .i3p3-recommended-controls {
    display: flex;
    gap: 7px;
}

body.i3d25-product-v3 .i3p3-recommended-controls button {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--i3p3-border);
    border-radius: 50%;
    color: var(--i3p3-dark);
    background: #fff;
    cursor: pointer;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-related-carousel {
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}

body.i3d25-product-v3 .i3p3-related-carousel::-webkit-scrollbar {
    display: none;
}

body.i3d25-product-v3 .i3p3-related-track {
    display: flex;
    gap: 13px;
    width: max-content;
    padding: 2px 2px 12px;
}

body.i3d25-product-v3 .i3p3-related-card {
    display: flex;
    width: clamp(210px, 21vw, 255px);
    flex: 0 0 auto;
    flex-direction: column;
    overflow: hidden;
    scroll-snap-align: start;
    border: 1px solid var(--i3p3-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 9px 24px rgba(23,20,73,.05);
}

body.i3d25-product-v3 .i3p3-related-image {
    display: block;
    aspect-ratio: 1;
    overflow: hidden;
    background: #f7f7fb;
}

body.i3d25-product-v3 .i3p3-related-image img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .25s ease;
}

body.i3d25-product-v3 .i3p3-related-card:hover .i3p3-related-image img {
    transform: scale(1.035);
}

body.i3d25-product-v3 .i3p3-related-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 12px;
}

body.i3d25-product-v3 .i3p3-related-body h3 {
    margin: 0;
    font-size: .82rem;
    line-height: 1.3;
}

body.i3d25-product-v3 .i3p3-related-body h3 a {
    color: var(--i3p3-dark) !important;
    text-decoration: none !important;
}

body.i3d25-product-v3 .i3p3-related-price {
    margin-top: 7px;
    color: var(--i3p3-primary);
    font-size: .84rem;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-related-link {
    margin-top: 10px;
    color: var(--i3p3-primary) !important;
    font-size: .69rem;
    font-weight: 900;
    text-decoration: none !important;
}

@media (max-width: 980px) {
    body.i3d25-product-v3 .i3p3-service-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.i3d25-product-v3 .i3p3-service-item:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--i3p3-border);
    }

    body.i3d25-product-v3 .i3p3-service-item:nth-child(4) {
        border-top: 1px solid var(--i3p3-border);
    }
}

@media (max-width: 767px) {
    body.i3d25-product-v3 .i3p3-lower {
        width: calc(100% - 24px);
        margin-bottom: 26px;
    }

    body.i3d25-product-v3 .i3p3-service-strip {
        margin-bottom: 18px;
        border-radius: 14px;
    }

    body.i3d25-product-v3 .i3p3-service-item {
        grid-template-columns: 29px minmax(0, 1fr);
        gap: 7px;
        padding: 10px 9px;
    }

    body.i3d25-product-v3 .i3p3-service-item > span {
        width: 28px;
        height: 28px;
        border-radius: 8px;
    }

    body.i3d25-product-v3 .i3p3-service-item strong {
        font-size: .66rem;
    }

    body.i3d25-product-v3 .i3p3-service-item small {
        font-size: .56rem;
    }

    body.i3d25-product-v3 .i3p3-tabs {
        margin-bottom: 23px;
        border-radius: 15px;
    }

    body.i3d25-product-v3 .i3p3-tab-nav {
        padding: 6px;
    }

    body.i3d25-product-v3 .i3p3-tab-nav button {
        min-height: 34px;
        padding: 7px 10px;
        font-size: .66rem;
    }

    body.i3d25-product-v3 .i3p3-tab-panels {
        padding: 15px;
    }

    body.i3d25-product-v3 .i3p3-tab-panel {
        font-size: .82rem;
        line-height: 1.58;
    }

    body.i3d25-product-v3 .i3p3-attributes {
        grid-template-columns: 1fr;
    }

    body.i3d25-product-v3 .i3p3-recommended-controls {
        display: none;
    }

    body.i3d25-product-v3 .i3p3-related-track {
        gap: 9px;
    }

    body.i3d25-product-v3 .i3p3-related-card {
        width: min(67vw, 220px);
        border-radius: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.i3d25-product-v3 .i3p3-related-carousel {
        scroll-behavior: auto;
    }

    body.i3d25-product-v3 .i3p3-related-image img {
        transition: none;
    }
}


/* ===== v3.4 Native WooCommerce form integration ===== */
body.i3d25-product-v3 .i3p3-config-intro {
    display: grid;
    gap: 3px;
    margin: 12px 0 8px;
    padding: 10px 11px;
    border-radius: 10px;
    background: rgba(109,40,217,.035);
}

body.i3d25-product-v3 .i3p3-config-intro strong {
    color: var(--i3p3-dark);
    font-size: .71rem;
}

body.i3d25-product-v3 .i3p3-config-intro span {
    color: rgba(23,20,73,.49);
    font-size: .61rem;
    line-height: 1.38;
}

body.i3d25-product-v3 .i3p3-cart-area form.cart > .i3p3-configurator {
    grid-column: 1 / -1;
    width: 100%;
    margin-bottom: 4px;
}

body.i3d25-product-v3 .i3p3-cart-area form.variations_form,
body.i3d25-product-v3 .i3p3-cart-area form.grouped_form {
    display: block !important;
}

body.i3d25-product-v3 .i3p3-cart-area form.variations_form > .i3p3-configurator,
body.i3d25-product-v3 .i3p3-cart-area form.grouped_form > .i3p3-configurator {
    margin-bottom: 14px;
}

body.i3d25-product-v3 .i3p3-cart-area .variations {
    width: 100% !important;
    margin: 0 0 12px !important;
}

body.i3d25-product-v3 .i3p3-cart-area .variations tr {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    margin-bottom: 9px;
}

body.i3d25-product-v3 .i3p3-cart-area .variations th,
body.i3d25-product-v3 .i3p3-cart-area .variations td {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    text-align: left !important;
}

body.i3d25-product-v3 .i3p3-cart-area .variations label {
    color: var(--i3p3-dark);
    font-size: .7rem;
    font-weight: 850;
}

body.i3d25-product-v3 .i3p3-cart-area .variations select {
    width: 100% !important;
    min-height: 40px;
    margin: 0 !important;
    border: 1px solid rgba(23,20,73,.11);
    border-radius: 10px;
    background: #fff;
    font-size: .74rem;
}

body.i3d25-product-v3 .i3p3-cart-area .reset_variations {
    display: inline-block;
    margin-top: 5px;
    color: var(--i3p3-primary) !important;
    font-size: .62rem;
    font-weight: 800;
}

body.i3d25-product-v3 .i3p3-cart-area .single_variation_wrap {
    margin-top: 10px;
}

body.i3d25-product-v3 .i3p3-cart-area .woocommerce-variation-price {
    margin-bottom: 9px;
    color: var(--i3p3-primary);
    font-size: 1rem;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-cart-area .woocommerce-variation-add-to-cart {
    display: grid !important;
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 8px;
}

body.i3d25-product-v3 .i3p3-cart-area .group_table {
    width: 100%;
    margin-bottom: 12px;
}

@media (max-width: 767px) {
    body.i3d25-product-v3 .i3p3-cart-area .woocommerce-variation-add-to-cart {
        grid-template-columns: 76px minmax(0, 1fr);
    }
}


/* =========================================================
   v3.5 FRONTEND REBUILD - authoritative final layer
   ========================================================= */

body.i3d25-product-v3 {
    --i3p3-page-max: 1380px;
    --i3p3-gap: 30px;
}

/* Prevent theme containers from shrinking the v3 page */
body.i3d25-product-v3 .site-main,
body.i3d25-product-v3 #main,
body.i3d25-product-v3 .content-area,
body.i3d25-product-v3 .entry-content,
body.i3d25-product-v3 article.product,
body.i3d25-product-v3 div.product.i3p3-product {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

body.i3d25-product-v3 .i3p3-page {
    width: min(calc(100% - 40px), var(--i3p3-page-max));
    max-width: var(--i3p3-page-max);
    margin: 0 auto;
    padding: 26px 0 42px;
}

/* real 3-column desktop layout */
body.i3d25-product-v3 .i3p3-top-grid {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1.34fr)
        minmax(300px, .94fr)
        minmax(330px, .90fr) !important;
    align-items: start;
    gap: var(--i3p3-gap) !important;
    width: 100%;
}

body.i3d25-product-v3 .i3p3-gallery-column,
body.i3d25-product-v3 .i3p3-info-column,
body.i3d25-product-v3 .i3p3-buy-column {
    min-width: 0 !important;
    width: 100% !important;
}

/* Gallery prominence */
body.i3d25-product-v3 .i3p3-gallery {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 12px !important;
}

body.i3d25-product-v3 .i3p3-gallery-stage {
    min-width: 0;
    border-radius: 22px !important;
}

body.i3d25-product-v3 .i3p3-gallery-main,
body.i3d25-product-v3 .i3p3-gallery-main img,
body.i3d25-product-v3 .i3p3-gallery-video-stage,
body.i3d25-product-v3 .i3p3-gallery-video-stage video {
    min-height: 520px !important;
    height: 520px !important;
}

/* Info column */
body.i3d25-product-v3 .i3p3-info-inner {
    padding: 4px 0 0 !important;
}

body.i3d25-product-v3 .i3p3-category {
    margin-bottom: 8px !important;
    font-size: .7rem !important;
}

body.i3d25-product-v3 .i3p3-badges {
    margin-bottom: 14px !important;
}

body.i3d25-product-v3 .i3p3-info-column .product_title {
    max-width: none !important;
    margin-bottom: 13px !important;
    font-size: clamp(2rem, 2.65vw, 3.25rem) !important;
}

body.i3d25-product-v3 .i3p3-main-price {
    margin-bottom: 18px !important;
    font-size: 1.85rem !important;
}

body.i3d25-product-v3 .i3p3-short-description {
    font-size: .92rem !important;
    line-height: 1.62 !important;
}

body.i3d25-product-v3 .i3p3-value-list {
    display: grid;
    gap: 0;
    margin-top: 22px;
    border-top: 1px solid var(--i3p3-border);
}

body.i3d25-product-v3 .i3p3-value-list > div {
    display: grid;
    gap: 3px;
    padding: 13px 0;
    border-bottom: 1px solid var(--i3p3-border);
}

body.i3d25-product-v3 .i3p3-value-list strong {
    color: var(--i3p3-dark);
    font-size: .78rem;
}

body.i3d25-product-v3 .i3p3-value-list span {
    color: rgba(23,20,73,.53);
    font-size: .68rem;
    line-height: 1.4;
}

body.i3d25-product-v3 .i3p3-project-link {
    display: inline-block;
    margin-top: 16px;
    color: var(--i3p3-primary) !important;
    font-size: .72rem;
    font-weight: 900;
    text-decoration: none !important;
}

/* Compact buy card */
body.i3d25-product-v3 .i3p3-buy-card {
    position: sticky !important;
    top: 82px !important;
    width: 100%;
    padding: 20px !important;
    border-radius: 20px !important;
    box-shadow: 0 18px 44px rgba(23,20,73,.075) !important;
}

body.i3d25-product-v3 .i3p3-buy-head h2 {
    font-size: 1rem !important;
}

body.i3d25-product-v3 .i3p3-buy-price {
    display: flex;
    align-items: baseline;
    gap: 7px;
    margin: 8px 0 14px !important;
    font-size: 1.25rem !important;
}

body.i3d25-product-v3 .i3p3-buy-price small {
    color: rgba(23,20,73,.42);
    font-size: .58rem;
    font-weight: 700;
}

/* configurator */
body.i3d25-product-v3 .i3p3-cart-area form.cart {
    display: grid !important;
    grid-template-columns: 84px minmax(0, 1fr) !important;
    gap: 8px !important;
    align-items: stretch;
}

body.i3d25-product-v3 .i3p3-cart-area form.cart > .i3p3-configurator {
    grid-column: 1 / -1 !important;
}

body.i3d25-product-v3 .i3p3-configurator {
    display: grid;
    gap: 12px !important;
    margin-bottom: 5px !important;
}

body.i3d25-product-v3 .i3p3-config-block legend,
body.i3d25-product-v3 .i3p3-config-field > span {
    margin-bottom: 6px !important;
    font-size: .68rem !important;
}

body.i3d25-product-v3 .i3p3-choice-row {
    gap: 6px !important;
}

body.i3d25-product-v3 .i3p3-choice-pill span {
    min-height: 32px !important;
    padding: 6px 9px !important;
    border-radius: 8px !important;
    font-size: .64rem !important;
}

body.i3d25-product-v3 .i3p3-config-field input {
    min-height: 38px !important;
}

body.i3d25-product-v3 .i3p3-config-field textarea {
    min-height: 76px;
}

body.i3d25-product-v3 .i3p3-upload {
    min-height: 92px !important;
    padding: 10px !important;
}

body.i3d25-product-v3 .i3p3-upload-icon {
    width: 28px !important;
    height: 28px !important;
}

body.i3d25-product-v3 .i3p3-cart-area .qty,
body.i3d25-product-v3 .i3p3-cart-area .single_add_to_cart_button {
    min-height: 48px !important;
}

body.i3d25-product-v3 .i3p3-payment-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 12px !important;
    padding: 11px 0 0 !important;
    border-top: 1px solid var(--i3p3-border);
}

body.i3d25-product-v3 .i3p3-payment-strip > div {
    display: grid;
    gap: 2px;
}

body.i3d25-product-v3 .i3p3-payment-strip strong {
    color: var(--i3p3-dark);
    font-size: .67rem;
}

body.i3d25-product-v3 .i3p3-payment-strip span {
    color: rgba(23,20,73,.46);
    font-size: .6rem;
}

body.i3d25-product-v3 .i3p3-lock {
    font-size: .8rem !important;
}

body.i3d25-product-v3 .i3p3-feasibility {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid var(--i3p3-border);
}

body.i3d25-product-v3 .i3p3-feasibility summary {
    color: rgba(23,20,73,.58);
    cursor: pointer;
    font-size: .61rem;
    font-weight: 800;
}

body.i3d25-product-v3 .i3p3-feasibility p {
    margin: 7px 0 0 !important;
    color: rgba(23,20,73,.47);
    font-size: .59rem;
    line-height: 1.4;
}

/* Remove every legacy/express purchase widget from single product display */
body.i3d25-product-v3 .wc-stripe-amazon-pay-container,
body.i3d25-product-v3 .wc-stripe-link-container,
body.i3d25-product-v3 [class*="amazon-pay"],
body.i3d25-product-v3 [id*="amazon-pay"],
body.i3d25-product-v3 [class*="express-checkout"],
body.i3d25-product-v3 [class*="payment-request-button"],
body.i3d25-product-v3 [class*="ppcp-messages"],
body.i3d25-product-v3 [class*="paypal-button"],
body.i3d25-product-v3 [id*="paypal-button"] {
    display: none !important;
}

/* lower area uses same page width, no theme grid leakage */
body.i3d25-product-v3 .i3p3-lower {
    width: 100% !important;
    max-width: none !important;
    margin: 34px 0 0 !important;
}

/* Related carousel more premium and aligned */
body.i3d25-product-v3 .i3p3-related-track {
    gap: 14px !important;
}

body.i3d25-product-v3 .i3p3-related-card {
    width: clamp(220px, 19vw, 255px) !important;
}

@media (max-width: 1180px) {
    body.i3d25-product-v3 .i3p3-page {
        width: min(calc(100% - 28px), 1120px);
    }

    body.i3d25-product-v3 .i3p3-top-grid {
        grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr) !important;
        gap: 24px !important;
    }

    body.i3d25-product-v3 .i3p3-buy-column {
        grid-column: 1 / -1 !important;
    }

    body.i3d25-product-v3 .i3p3-buy-card {
        position: static !important;
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
        gap: 18px 24px;
    }

    body.i3d25-product-v3 .i3p3-buy-head,
    body.i3d25-product-v3 .i3p3-buy-price,
    body.i3d25-product-v3 .i3p3-payment-strip,
    body.i3d25-product-v3 .i3p3-feasibility {
        grid-column: 1;
    }

    body.i3d25-product-v3 .i3p3-cart-area {
        grid-column: 2;
        grid-row: 1 / span 4;
    }
}

@media (max-width: 767px) {
    body.i3d25-product-v3 .i3p3-page {
        width: calc(100% - 20px);
        padding: 12px 0 24px;
    }

    body.i3d25-product-v3 .i3p3-top-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }

    body.i3d25-product-v3 .i3p3-gallery-column,
    body.i3d25-product-v3 .i3p3-info-column,
    body.i3d25-product-v3 .i3p3-buy-column {
        grid-column: 1 !important;
    }

    body.i3d25-product-v3 .i3p3-gallery-main,
    body.i3d25-product-v3 .i3p3-gallery-main img,
    body.i3d25-product-v3 .i3p3-gallery-video-stage,
    body.i3d25-product-v3 .i3p3-gallery-video-stage video {
        min-height: 0 !important;
        height: min(92vw, 500px) !important;
    }

    body.i3d25-product-v3 .i3p3-info-column .product_title {
        font-size: clamp(1.9rem, 9vw, 2.65rem) !important;
    }

    body.i3d25-product-v3 .i3p3-buy-card {
        position: static !important;
        display: block !important;
        padding: 15px !important;
    }

    body.i3d25-product-v3 .i3p3-cart-area form.cart {
        grid-template-columns: 76px minmax(0, 1fr) !important;
    }

    body.i3d25-product-v3 .i3p3-lower {
        margin-top: 20px !important;
    }
}


/* =========================================================
   v3.6 MOCKUP MATCH - based on supplied reference image
   ========================================================= */

body.i3d25-product-v3 {
    background: #fff;
}

body.i3d25-product-v3 .i3p3-page {
    width: min(calc(100% - 46px), 1460px) !important;
    padding-top: 28px !important;
}

body.i3d25-product-v3 .i3p3-top-grid {
    grid-template-columns: minmax(0, 1.18fr) minmax(340px, .86fr) minmax(390px, .92fr) !important;
    gap: 34px !important;
}

/* Gallery */
body.i3d25-product-v3 .i3p3-gallery {
    grid-template-columns: 78px minmax(0, 1fr) !important;
    gap: 14px !important;
}

body.i3d25-product-v3 .i3p3-gallery-thumbs {
    gap: 12px !important;
    max-height: 560px !important;
}

body.i3d25-product-v3 .i3p3-gallery-thumb {
    width: 74px !important;
    height: 74px !important;
    flex-basis: 74px !important;
    border-radius: 12px !important;
}

body.i3d25-product-v3 .i3p3-gallery-stage {
    border: 0 !important;
    border-radius: 18px !important;
    background: #f8f8fb !important;
    overflow: visible !important;
}

body.i3d25-product-v3 .i3p3-gallery-main,
body.i3d25-product-v3 .i3p3-gallery-main img,
body.i3d25-product-v3 .i3p3-gallery-video-stage,
body.i3d25-product-v3 .i3p3-gallery-video-stage video {
    height: 500px !important;
    min-height: 500px !important;
    border-radius: 18px !important;
}

body.i3d25-product-v3 .i3p3-gallery-main img {
    object-fit: cover !important;
}

body.i3d25-product-v3 .i3p3-gallery-counter {
    right: auto !important;
    left: 34% !important;
    bottom: -58px !important;
    color: rgba(23,20,73,.65) !important;
    background: #f7f7fb !important;
    font-size: .68rem !important;
}

body.i3d25-product-v3 .i3p3-gallery-prev,
body.i3d25-product-v3 .i3p3-gallery-next {
    top: auto !important;
    bottom: -60px !important;
    width: 40px !important;
    height: 40px !important;
    background: #fff !important;
    box-shadow: none !important;
    border: 1px solid rgba(23,20,73,.08) !important;
    transform: none !important;
}

body.i3d25-product-v3 .i3p3-gallery-prev {
    left: calc(34% + 62px) !important;
}

body.i3d25-product-v3 .i3p3-gallery-next {
    left: calc(34% + 108px) !important;
    right: auto !important;
}

/* Middle column */
body.i3d25-product-v3 .i3p3-badges-mock {
    gap: 10px !important;
}

body.i3d25-product-v3 .i3p3-badge-outline,
body.i3d25-product-v3 .i3p3-badge-green {
    padding: 7px 18px !important;
    border-radius: 999px !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
}

body.i3d25-product-v3 .i3p3-badge-outline {
    border: 1px solid #7657ff !important;
    color: #6d28d9 !important;
    background: #fff !important;
}

body.i3d25-product-v3 .i3p3-badge-green {
    color: #28a745 !important;
    background: #e8f8ea !important;
}

body.i3d25-product-v3 .i3p3-info-column .product_title {
    margin-top: 20px !important;
    margin-bottom: 6px !important;
    font-size: clamp(2.15rem, 2.45vw, 3.05rem) !important;
}

body.i3d25-product-v3 .i3p3-subtitle {
    margin-bottom: 22px;
    color: rgba(23,20,73,.55);
    font-size: .92rem;
}

body.i3d25-product-v3 .i3p3-main-price {
    margin-bottom: 8px !important;
    color: #7c20ff !important;
    font-size: 1.8rem !important;
}

body.i3d25-product-v3 .i3p3-rating-row {
    gap: 10px !important;
    margin-bottom: 22px !important;
}

body.i3d25-product-v3 .i3p3-stars-inline .star-rating {
    color: #ffb000 !important;
}

body.i3d25-product-v3 .i3p3-rating-row span {
    color: rgba(23,20,73,.58) !important;
    font-size: .74rem !important;
}

body.i3d25-product-v3 .i3p3-short-description {
    margin-bottom: 26px !important;
    font-size: .88rem !important;
}

body.i3d25-product-v3 .i3p3-icon-benefits {
    display: grid;
    gap: 18px;
}

body.i3d25-product-v3 .i3p3-icon-benefit {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
}

body.i3d25-product-v3 .i3p3-benefit-icon {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 50%;
    color: #7425ff;
    background: #f2edff;
    font-size: .78rem;
    font-weight: 900;
}

body.i3d25-product-v3 .i3p3-icon-benefit > div {
    display: grid;
    gap: 2px;
}

body.i3d25-product-v3 .i3p3-icon-benefit strong {
    color: var(--i3p3-dark);
    font-size: .78rem;
}

body.i3d25-product-v3 .i3p3-icon-benefit span:last-child {
    color: rgba(23,20,73,.50);
    font-size: .68rem;
}

body.i3d25-product-v3 .i3p3-special-cta {
    display: grid !important;
    grid-template-columns: 36px minmax(0,1fr) 20px;
    align-items: center;
    gap: 10px;
    margin-top: 28px !important;
    padding: 14px 16px;
    border: 1px solid rgba(109,40,217,.10);
    border-radius: 14px;
    color: var(--i3p3-dark) !important;
    text-decoration: none !important;
}

body.i3d25-product-v3 .i3p3-special-cta-icon {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    color: #7425ff;
    border-radius: 50%;
    background: #f4efff;
}

body.i3d25-product-v3 .i3p3-special-cta > span:nth-child(2) {
    display: grid;
    gap: 2px;
}

body.i3d25-product-v3 .i3p3-special-cta strong {
    color: #6d28d9;
    font-size: .73rem;
}

body.i3d25-product-v3 .i3p3-special-cta small {
    color: rgba(23,20,73,.52);
    font-size: .63rem;
}

/* Right configurator */
body.i3d25-product-v3 .i3p3-buy-card {
    padding: 24px !important;
    border-radius: 22px !important;
    border: 1px solid rgba(23,20,73,.08) !important;
    box-shadow: 0 12px 34px rgba(23,20,73,.04) !important;
}

body.i3d25-product-v3 .i3p3-buy-head-mock {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 24px;
}

body.i3d25-product-v3 .i3p3-config-gear {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    color: #7425ff;
    background: #f3eeff;
    font-size: .72rem;
}

body.i3d25-product-v3 .i3p3-buy-head-mock h2 {
    font-size: .96rem !important;
}

body.i3d25-product-v3 .i3p3-cart-area form.cart {
    display: grid !important;
    grid-template-columns: 132px minmax(0,1fr) !important;
    gap: 14px !important;
}

body.i3d25-product-v3 .i3p3-cart-area form.cart > .i3p3-configurator {
    grid-column: 1 / -1 !important;
}

body.i3d25-product-v3 .i3p3-configurator-mock {
    gap: 18px !important;
}

body.i3d25-product-v3 .i3p3-config-block legend,
body.i3d25-product-v3 .i3p3-config-field > span {
    margin-bottom: 8px !important;
    color: var(--i3p3-dark);
    font-size: .7rem !important;
    font-weight: 800 !important;
}

body.i3d25-product-v3 .i3p3-config-field > span em {
    color: rgba(23,20,73,.42);
    font-style: normal;
    font-weight: 600;
}

body.i3d25-product-v3 .i3p3-color-dots {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

body.i3d25-product-v3 .i3p3-color-dot {
    position: relative;
    cursor: pointer;
}

body.i3d25-product-v3 .i3p3-color-dot input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

body.i3d25-product-v3 .i3p3-color-dot span {
    display: block;
    width: 38px;
    height: 38px;
    border: 3px solid #fff;
    border-radius: 50%;
    background: var(--dot-color);
    box-shadow: 0 0 0 1px rgba(23,20,73,.10);
}

body.i3d25-product-v3 .i3p3-color-dot input:checked + span {
    box-shadow: 0 0 0 2px #7425ff, 0 0 0 5px #fff;
}

body.i3d25-product-v3 .i3p3-field-counted > div {
    position: relative;
}

body.i3d25-product-v3 .i3p3-field-counted input,
body.i3d25-product-v3 .i3p3-field-counted textarea {
    width: 100% !important;
    border-radius: 12px !important;
    padding: 12px 54px 12px 13px !important;
    border: 1px solid rgba(23,20,73,.11) !important;
    font-size: .72rem !important;
}

body.i3d25-product-v3 .i3p3-field-counted input {
    min-height: 48px !important;
}

body.i3d25-product-v3 .i3p3-field-counted textarea {
    min-height: 86px !important;
}

body.i3d25-product-v3 .i3p3-field-counted small {
    position: absolute;
    right: 12px;
    bottom: 10px;
    color: rgba(23,20,73,.40);
    font-size: .56rem;
}

body.i3d25-product-v3 .i3p3-cart-area .quantity {
    height: 48px;
}

body.i3d25-product-v3 .i3p3-cart-area .single_add_to_cart_button {
    min-height: 50px !important;
    border-radius: 10px !important;
    font-size: .80rem !important;
}

body.i3d25-product-v3 .i3p3-secure-payment {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 16px;
    color: rgba(23,20,73,.48);
    font-size: .60rem;
    text-align: left;
}

body.i3d25-product-v3 .i3p3-secure-payment p {
    margin: 0 !important;
    line-height: 1.35;
}

/* Service row */
body.i3d25-product-v3 .i3p3-service-strip-mock {
    margin-top: 78px !important;
    margin-bottom: 24px !important;
    padding: 10px 0;
    border-radius: 16px !important;
}

body.i3d25-product-v3 .i3p3-service-strip-mock .i3p3-service-item {
    padding: 10px 20px !important;
}

/* Lower split = tabs left, recommendations right */
body.i3d25-product-v3 .i3p3-lower-split {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(420px, .95fr);
    gap: 34px;
    align-items: start;
}

body.i3d25-product-v3 .i3p3-tabs-flat {
    margin-bottom: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.i3d25-product-v3 .i3p3-tabs-flat .i3p3-tab-nav {
    padding: 0 !important;
    border-bottom: 1px solid rgba(23,20,73,.08);
}

body.i3d25-product-v3 .i3p3-tabs-flat .i3p3-tab-nav button {
    border-radius: 0 !important;
    background: transparent !important;
    padding: 11px 18px !important;
}

body.i3d25-product-v3 .i3p3-tabs-flat .i3p3-tab-nav button.is-active {
    color: #7425ff !important;
    border-bottom: 2px solid #7425ff !important;
}

body.i3d25-product-v3 .i3p3-tabs-flat .i3p3-tab-panels {
    padding: 22px 0 0 !important;
}

body.i3d25-product-v3 .i3p3-spec-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

body.i3d25-product-v3 .i3p3-spec-chips span {
    padding: 10px 14px;
    border: 1px solid rgba(23,20,73,.08);
    border-radius: 10px;
    color: rgba(23,20,73,.70);
    background: #fff;
    font-size: .63rem;
}

body.i3d25-product-v3 .i3p3-recommended-side {
    min-width: 0;
}

body.i3d25-product-v3 .i3p3-recommended-side .i3p3-recommended-head {
    align-items: center !important;
    margin-bottom: 12px !important;
}

body.i3d25-product-v3 .i3p3-recommended-side .i3p3-recommended-head h2 {
    font-size: 1rem !important;
}

body.i3d25-product-v3 .i3p3-recommended-side .i3p3-related-card {
    width: 190px !important;
    border-radius: 12px !important;
}

body.i3d25-product-v3 .i3p3-recommended-side .i3p3-related-image {
    aspect-ratio: 1.15 / 1 !important;
}

body.i3d25-product-v3 .i3p3-recommended-side .i3p3-related-body {
    padding: 10px !important;
}

body.i3d25-product-v3 .i3p3-recommended-side .i3p3-related-body h3 {
    font-size: .68rem !important;
}

body.i3d25-product-v3 .i3p3-recommended-side .i3p3-related-price {
    font-size: .72rem !important;
}

/* Wallet suppression - stronger */
body.i3d25-product-v3 [class*="amazon"],
body.i3d25-product-v3 [id*="amazon"],
body.i3d25-product-v3 [class*="link"],
body.i3d25-product-v3 [id*="link"],
body.i3d25-product-v3 [class*="express"] {
    display: none !important;
}

@media (max-width: 1180px) {
    body.i3d25-product-v3 .i3p3-top-grid {
        grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr) !important;
    }

    body.i3d25-product-v3 .i3p3-buy-column {
        grid-column: 1 / -1 !important;
    }

    body.i3d25-product-v3 .i3p3-buy-card {
        position: static !important;
    }

    body.i3d25-product-v3 .i3p3-lower-split {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 767px) {
    body.i3d25-product-v3 .i3p3-top-grid {
        grid-template-columns: 1fr !important;
    }

    body.i3d25-product-v3 .i3p3-gallery {
        flex-direction: column-reverse !important;
    }

    body.i3d25-product-v3 .i3p3-gallery-counter {
        left: 12px !important;
        bottom: 12px !important;
    }

    body.i3d25-product-v3 .i3p3-gallery-prev,
    body.i3d25-product-v3 .i3p3-gallery-next {
        bottom: 10px !important;
    }

    body.i3d25-product-v3 .i3p3-gallery-prev {
        left: auto !important;
        right: 58px !important;
    }

    body.i3d25-product-v3 .i3p3-gallery-next {
        left: auto !important;
        right: 12px !important;
    }

    body.i3d25-product-v3 .i3p3-service-strip-mock {
        margin-top: 20px !important;
    }

    body.i3d25-product-v3 .i3p3-color-dot span {
        width: 34px;
        height: 34px;
    }

    body.i3d25-product-v3 .i3p3-cart-area form.cart {
        grid-template-columns: 92px minmax(0, 1fr) !important;
    }

    body.i3d25-product-v3 .i3p3-recommended-side .i3p3-related-card {
        width: min(68vw, 205px) !important;
    }
}


/* =========================================================
   v3.7 FORCED TEMPLATE / BLOCKSY RESET
   ========================================================= */

body.i3d25-product-v3-forced-template .ct-container,
body.i3d25-product-v3-forced-template .ct-container-full,
body.i3d25-product-v3-forced-template [data-content="normal"],
body.i3d25-product-v3-forced-template [data-content="narrow"],
body.i3d25-product-v3-forced-template .content-area,
body.i3d25-product-v3-forced-template .site-main,
body.i3d25-product-v3-forced-template #primary,
body.i3d25-product-v3-forced-template .i3p3-forced-main {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.i3d25-product-v3-forced-template .i3p3-forced-main {
    display: block !important;
}

body.i3d25-product-v3-forced-template .i3p3-product {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

body.i3d25-product-v3-forced-template .i3p3-page {
    width: min(calc(100vw - 64px), 1460px) !important;
    max-width: 1460px !important;
    margin: 0 auto !important;
    padding: 32px 0 48px !important;
}

body.i3d25-product-v3-forced-template .i3p3-top-grid {
    display: grid !important;
    grid-template-columns:
        minmax(460px, 1.22fr)
        minmax(330px, .82fr)
        minmax(370px, .92fr) !important;
    align-items: start !important;
    gap: 34px !important;
}

body.i3d25-product-v3-forced-template .i3p3-gallery-column,
body.i3d25-product-v3-forced-template .i3p3-info-column,
body.i3d25-product-v3-forced-template .i3p3-buy-column {
    display: block !important;
    float: none !important;
    position: relative;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Ensure custom gallery is visible and Woo gallery is not occupying layout */
body.i3d25-product-v3-forced-template .woocommerce-product-gallery:not(.i3p3-gallery) {
    float: none !important;
}

/* Kill theme single-product column sizing */
body.i3d25-product-v3-forced-template div.product > .summary,
body.i3d25-product-v3-forced-template div.product > .woocommerce-product-gallery {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

/* Keep lower area aligned to entire page */
body.i3d25-product-v3-forced-template .i3p3-lower {
    width: 100% !important;
    max-width: none !important;
}

/* Hide known legacy sections from other IDEA3D25 Product Page generations */
body.i3d25-product-v3-forced-template .i3p2-purchase-extras,
body.i3d25-product-v3-forced-template .i3p2-description-section,
body.i3d25-product-v3-forced-template .i3p2-related-section,
body.i3d25-product-v3-forced-template .i3p2-cross-sell-section,
body.i3d25-product-v3-forced-template .i3p2-sticky-mobile,
body.i3d25-product-v3-forced-template .i3p2-conversion-badges,
body.i3d25-product-v3-forced-template .i3p2-conversion-messages {
    display: none !important;
}

@media (max-width: 1240px) {
    body.i3d25-product-v3-forced-template .i3p3-page {
        width: min(calc(100vw - 36px), 1160px) !important;
    }

    body.i3d25-product-v3-forced-template .i3p3-top-grid {
        grid-template-columns:
            minmax(0, 1.08fr)
            minmax(330px, .92fr) !important;
        gap: 28px !important;
    }

    body.i3d25-product-v3-forced-template .i3p3-buy-column {
        grid-column: 1 / -1 !important;
    }
}

@media (max-width: 767px) {
    body.i3d25-product-v3-forced-template .i3p3-page {
        width: calc(100vw - 20px) !important;
        padding: 14px 0 28px !important;
    }

    body.i3d25-product-v3-forced-template .i3p3-top-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 20px !important;
    }

    body.i3d25-product-v3-forced-template .i3p3-gallery-column,
    body.i3d25-product-v3-forced-template .i3p3-info-column,
    body.i3d25-product-v3-forced-template .i3p3-buy-column {
        grid-column: 1 !important;
    }
}


/* =========================================================
   v3.8 VISUAL UNIFICATION
   ========================================================= */
body.i3d25-product-v3-forced-template {
    --i3v38-purple:#6d28d9;
    --i3v38-violet:#7c20ff;
    --i3v38-ink:#171449;
    --i3v38-muted:#74738a;
    --i3v38-line:#e9e7f1;
    --i3v38-soft:#f8f7fc;
}

body.i3d25-product-v3-forced-template .i3p3-page{
    width:min(calc(100vw - 48px),1440px)!important;
    padding-top:34px!important;
}
body.i3d25-product-v3-forced-template .i3p3-top-grid{
    grid-template-columns:minmax(500px,1.18fr) minmax(350px,.82fr) minmax(390px,.9fr)!important;
    gap:38px!important;
}

/* Make all iconography coherent */
body.i3d25-product-v3-forced-template .i3p3-benefit-icon svg,
body.i3d25-product-v3-forced-template .i3p3-special-cta-icon svg,
body.i3d25-product-v3-forced-template .i3p3-config-gear svg,
body.i3d25-product-v3-forced-template .i3p3-secure-payment svg,
body.i3d25-product-v3-forced-template .i3p3-service-icon svg{
    width:22px;height:22px;display:block;fill:currentColor;
}
body.i3d25-product-v3-forced-template .i3p3-benefit-icon,
body.i3d25-product-v3-forced-template .i3p3-special-cta-icon,
body.i3d25-product-v3-forced-template .i3p3-config-gear{
    width:38px!important;height:38px!important;
    display:grid!important;place-items:center!important;
    color:var(--i3v38-violet)!important;
    background:#f3edff!important;
    border:1px solid #e4d7ff!important;
    border-radius:12px!important;
}
body.i3d25-product-v3-forced-template .i3p3-icon-benefits{gap:13px!important}
body.i3d25-product-v3-forced-template .i3p3-icon-benefit{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:12px!important;align-items:center!important;
}
body.i3d25-product-v3-forced-template .i3p3-icon-benefit strong{
    font-size:.82rem!important;line-height:1.2!important;
}
body.i3d25-product-v3-forced-template .i3p3-icon-benefit div span{
    margin-top:3px!important;font-size:.67rem!important;line-height:1.35!important;
}

/* Product image */
body.i3d25-product-v3-forced-template .i3p3-gallery-main,
body.i3d25-product-v3-forced-template .i3p3-gallery-main img{
    height:520px!important;min-height:520px!important;border-radius:18px!important;
}
body.i3d25-product-v3-forced-template .i3p3-gallery-thumb{
    width:76px!important;height:76px!important;flex-basis:76px!important;
}
body.i3d25-product-v3-forced-template .i3p3-gallery-thumb.is-active{
    border:2px solid var(--i3v38-violet)!important;
    box-shadow:0 0 0 3px #f0e9ff!important;
}

/* Typography and spacing */
body.i3d25-product-v3-forced-template .i3p3-info-column .product_title{
    font-size:clamp(2.25rem,2.6vw,3.2rem)!important;
    line-height:.98!important;letter-spacing:-.045em!important;
}
body.i3d25-product-v3-forced-template .i3p3-subtitle{font-size:.9rem!important}
body.i3d25-product-v3-forced-template .i3p3-main-price{font-size:1.95rem!important}
body.i3d25-product-v3-forced-template .i3p3-short-description{
    color:#55546b!important;font-size:.82rem!important;line-height:1.6!important;
}

/* Special CTA */
body.i3d25-product-v3-forced-template .i3p3-special-cta{
    grid-template-columns:42px minmax(0,1fr) 18px!important;
    padding:14px!important;border:1px solid #e5dff4!important;
    box-shadow:0 8px 25px rgba(50,30,100,.035)!important;
}

/* Configurator card */
body.i3d25-product-v3-forced-template .i3p3-buy-card{
    padding:26px!important;border:1px solid #e8e4ef!important;
    border-radius:22px!important;background:#fff!important;
    box-shadow:0 12px 38px rgba(42,26,88,.045)!important;
}
body.i3d25-product-v3-forced-template .i3p3-buy-head-mock{margin-bottom:22px!important}
body.i3d25-product-v3-forced-template .i3p3-buy-head-mock h2{
    font-size:1rem!important;font-weight:850!important;
}
body.i3d25-product-v3-forced-template .i3p3-color-dot span{
    width:40px!important;height:40px!important;
}
body.i3d25-product-v3-forced-template .i3p3-field-counted input,
body.i3d25-product-v3-forced-template .i3p3-field-counted textarea{
    border-color:#e3e0ea!important;background:#fff!important;
}
body.i3d25-product-v3-forced-template .i3p3-cart-area .single_add_to_cart_button{
    background:linear-gradient(90deg,#8718ed,#4e31e9)!important;
    box-shadow:0 10px 22px rgba(109,40,217,.22)!important;
}
body.i3d25-product-v3-forced-template .i3p3-secure-payment span{
    color:#69677a;display:grid;place-items:center;
}
body.i3d25-product-v3-forced-template .i3p3-secure-payment svg{width:16px;height:16px}

/* Service strip */
body.i3d25-product-v3-forced-template .i3p3-service-strip-mock{
    margin-top:82px!important;
    border:1px solid #e8e5ef!important;
    background:#fff!important;
    box-shadow:0 8px 28px rgba(42,26,88,.025)!important;
}
body.i3d25-product-v3-forced-template .i3p3-service-item{
    display:grid!important;grid-template-columns:40px minmax(0,1fr)!important;
    gap:12px!important;align-items:center!important;
}
body.i3d25-product-v3-forced-template .i3p3-service-icon{
    width:38px;height:38px;display:grid;place-items:center;
    color:var(--i3v38-violet);
}
body.i3d25-product-v3-forced-template .i3p3-service-icon svg{width:28px;height:28px}
body.i3d25-product-v3-forced-template .i3p3-service-item strong{
    font-size:.74rem!important;color:var(--i3v38-ink)!important;
}
body.i3d25-product-v3-forced-template .i3p3-service-item small{
    font-size:.61rem!important;color:var(--i3v38-muted)!important;
}

/* Bottom */
body.i3d25-product-v3-forced-template .i3p3-lower-split{
    grid-template-columns:minmax(0,1.08fr) minmax(520px,.92fr)!important;
    gap:42px!important;
}
body.i3d25-product-v3-forced-template .i3p3-tabs-flat .i3p3-tab-nav button{
    font-size:.68rem!important;font-weight:750!important;
}
body.i3d25-product-v3-forced-template .i3p3-recommended-side .i3p3-related-card{
    width:205px!important;border:1px solid #ebe8f0!important;
    box-shadow:0 8px 24px rgba(42,26,88,.035)!important;
}

/* Desktop zoom protection: retain proportions instead of collapsing */
@media (min-width:1241px) and (max-width:1400px){
 body.i3d25-product-v3-forced-template .i3p3-page{width:calc(100vw - 32px)!important}
 body.i3d25-product-v3-forced-template .i3p3-top-grid{
   grid-template-columns:minmax(430px,1.12fr) minmax(320px,.82fr) minmax(360px,.9fr)!important;
   gap:26px!important;
 }
}
@media (max-width:1240px){
 body.i3d25-product-v3-forced-template .i3p3-top-grid{
   grid-template-columns:minmax(0,1fr) minmax(330px,.8fr)!important;
 }
 body.i3d25-product-v3-forced-template .i3p3-buy-column{grid-column:1/-1!important}
 body.i3d25-product-v3-forced-template .i3p3-lower-split{grid-template-columns:1fr!important}
}
@media (max-width:767px){
 body.i3d25-product-v3-forced-template .i3p3-page{width:calc(100vw - 20px)!important}
 body.i3d25-product-v3-forced-template .i3p3-top-grid{grid-template-columns:1fr!important;gap:22px!important}
 body.i3d25-product-v3-forced-template .i3p3-gallery-main,
 body.i3d25-product-v3-forced-template .i3p3-gallery-main img{height:min(92vw,480px)!important;min-height:0!important}
 body.i3d25-product-v3-forced-template .i3p3-info-column .product_title{font-size:2.15rem!important}
 body.i3d25-product-v3-forced-template .i3p3-service-strip-mock{margin-top:24px!important}
}


/* =========================================================
   v4.0 — Personalizzazione su richiesta
   ========================================================= */
body.i3d25-product-v3 .i3p3-personalize-choice{
    margin:14px 0 16px;
    border:1px solid #e7dff1;
    border-radius:16px;
    background:#fff;
    overflow:hidden;
}

body.i3d25-product-v3 .i3p3-personalize-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:15px 16px;
    border:0;
    background:linear-gradient(135deg,#fbf9ff,#fff);
    color:#21172e;
    text-align:left;
    cursor:pointer;
    transition:background .18s ease,box-shadow .18s ease;
}

body.i3d25-product-v3 .i3p3-personalize-toggle:hover{
    background:#f8f4ff;
}

body.i3d25-product-v3 .i3p3-personalize-copy{
    display:grid;
    gap:3px;
    min-width:0;
}

body.i3d25-product-v3 .i3p3-personalize-copy strong{
    font-size:14px;
    line-height:1.2;
}

body.i3d25-product-v3 .i3p3-personalize-copy small{
    color:#71677d;
    font-size:10px;
    line-height:1.4;
}

body.i3d25-product-v3 .i3p3-personalize-action{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
}

body.i3d25-product-v3 .i3p3-personalize-action b{
    color:#6d28d9;
    font-size:11px;
    white-space:nowrap;
}

body.i3d25-product-v3 .i3p3-personalize-action i{
    display:grid;
    width:28px;
    height:28px;
    place-items:center;
    border-radius:50%;
    background:#6d28d9;
    color:#fff;
    font-style:normal;
    font-size:18px;
    line-height:1;
}

body.i3d25-product-v3 .i3p3-personalize-choice.is-open{
    border-color:#a987ef;
    box-shadow:0 0 0 2px rgba(109,40,217,.05);
}

body.i3d25-product-v3 .i3p3-personalize-panel{
    padding:0 16px 16px;
    border-top:1px solid #eee8f4;
    background:#fff;
}

body.i3d25-product-v3 .i3p3-personalize-panel[hidden]{
    display:none !important;
}

body.i3d25-product-v3 .i3p3-personalize-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 0 10px;
}

body.i3d25-product-v3 .i3p3-personalize-panel-head strong{
    font-size:13px;
}

body.i3d25-product-v3 .i3p3-personalize-panel-head button{
    width:30px;
    height:30px;
    border:0;
    border-radius:50%;
    background:#f2eef7;
    color:#5d5268;
    font-size:18px;
    cursor:pointer;
}

body.i3d25-product-v3 .i3p3-personalize-panel .i3p3-configurator{
    margin:0;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
}

@media(max-width:640px){
    body.i3d25-product-v3 .i3p3-personalize-toggle{
        align-items:flex-start;
        padding:14px;
    }

    body.i3d25-product-v3 .i3p3-personalize-action b{
        display:none;
    }

    body.i3d25-product-v3 .i3p3-personalize-panel{
        padding:0 14px 14px;
    }
}


/* =========================================================
   v4.1 — Personalizzazione leggibile nella buy card
   ========================================================= */

body.i3d25-product-v3 .i3p3-buy-card{
    display:flex;
    flex-direction:column;
    gap:14px;
}

body.i3d25-product-v3 .i3p3-cart-area,
body.i3d25-product-v3 .i3p3-cart-area form.cart{
    width:100%;
}

body.i3d25-product-v3 .i3p3-cart-area form.cart{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    align-items:stretch !important;
}

body.i3d25-product-v3 .i3p3-personalize-choice{
    width:100%;
    margin:0 !important;
    border:1px solid #e7dff1;
    border-radius:16px;
    overflow:hidden;
    background:#fff;
    box-sizing:border-box;
}

body.i3d25-product-v3 .i3p3-personalize-toggle{
    width:100%;
    display:grid;
    grid-template-columns:36px minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:15px;
    border:0;
    background:linear-gradient(135deg,#fbf9ff,#fff);
    color:#21172e;
    text-align:left;
    cursor:pointer;
}

body.i3d25-product-v3 .i3p3-personalize-icon{
    display:grid;
    width:36px;
    height:36px;
    place-items:center;
    border-radius:11px;
    background:#f0e8ff;
    color:#6d28d9;
    font-size:17px;
}

body.i3d25-product-v3 .i3p3-personalize-copy{
    display:grid;
    gap:3px;
    min-width:0;
}

body.i3d25-product-v3 .i3p3-personalize-copy strong{
    font-size:13px;
    line-height:1.2;
}

body.i3d25-product-v3 .i3p3-personalize-copy small{
    color:#71677d;
    font-size:10px;
    line-height:1.35;
}

body.i3d25-product-v3 .i3p3-personalize-action{
    display:flex;
    align-items:center;
    gap:8px;
    flex:0 0 auto;
}

body.i3d25-product-v3 .i3p3-personalize-action b{
    color:#6d28d9;
    font-size:10px;
    white-space:nowrap;
}

body.i3d25-product-v3 .i3p3-personalize-action i{
    display:grid;
    width:30px;
    height:30px;
    place-items:center;
    border-radius:50%;
    background:#6d28d9;
    color:#fff;
    font-style:normal;
    font-size:18px;
    line-height:1;
}

body.i3d25-product-v3 .i3p3-personalize-choice.is-open{
    border-color:#a987ef;
    box-shadow:0 0 0 2px rgba(109,40,217,.05);
}

body.i3d25-product-v3 .i3p3-personalize-panel{
    width:100%;
    padding:0 15px 15px;
    border-top:1px solid #eee8f4;
    box-sizing:border-box;
    background:#fff;
}

body.i3d25-product-v3 .i3p3-personalize-panel[hidden]{
    display:none !important;
}

body.i3d25-product-v3 .i3p3-personalize-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 0 12px;
}

body.i3d25-product-v3 .i3p3-personalize-panel-head>div{
    display:grid;
    gap:2px;
}

body.i3d25-product-v3 .i3p3-personalize-panel-head strong{
    font-size:13px;
}

body.i3d25-product-v3 .i3p3-personalize-panel-head small{
    color:#766c81;
    font-size:9px;
}

body.i3d25-product-v3 .i3p3-personalize-panel-head button{
    width:30px;
    height:30px;
    border:0;
    border-radius:50%;
    background:#f2eef7;
    color:#5d5268;
    font-size:18px;
    cursor:pointer;
}

body.i3d25-product-v3 .i3p3-personalize-panel .i3p3-configurator{
    display:grid !important;
    gap:14px !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
}

body.i3d25-product-v3 .i3p3-personalize-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
}

body.i3d25-product-v3 .i3p3-config-field,
body.i3d25-product-v3 .i3p3-config-field>div,
body.i3d25-product-v3 .i3p3-config-field input,
body.i3d25-product-v3 .i3p3-config-field textarea{
    width:100% !important;
    max-width:none !important;
    box-sizing:border-box !important;
}

body.i3d25-product-v3 .i3p3-config-field{
    display:grid !important;
    gap:6px !important;
}

body.i3d25-product-v3 .i3p3-config-field>span,
body.i3d25-product-v3 .i3p3-config-block legend{
    font-size:10px !important;
    font-weight:800 !important;
    color:#352b42 !important;
}

body.i3d25-product-v3 .i3p3-config-field>div{
    position:relative;
}

body.i3d25-product-v3 .i3p3-config-field input,
body.i3d25-product-v3 .i3p3-config-field textarea{
    min-height:42px !important;
    padding:10px 42px 10px 11px !important;
    border:1px solid #ddd5e7 !important;
    border-radius:10px !important;
    background:#fff !important;
    font-size:11px !important;
}

body.i3d25-product-v3 .i3p3-config-field textarea{
    min-height:90px !important;
    resize:vertical !important;
    padding-right:11px !important;
}

body.i3d25-product-v3 .i3p3-field-counted>div>small{
    position:absolute;
    right:9px;
    bottom:8px;
    color:#9a90a4;
    font-size:8px;
    pointer-events:none;
}

body.i3d25-product-v3 .i3p3-config-block-wide{
    margin:0;
    padding:0;
    border:0;
}

body.i3d25-product-v3 .i3p3-color-dots{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:8px !important;
    margin-top:7px;
}

body.i3d25-product-v3 .i3p3-color-dot{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    min-width:0 !important;
}

body.i3d25-product-v3 .i3p3-color-dot span{
    width:28px !important;
    height:28px !important;
    border-radius:50% !important;
}

body.i3d25-product-v3 .i3p3-color-dot em{
    display:none;
}

body.i3d25-product-v3 .i3p3-cart-area .quantity{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
}

body.i3d25-product-v3 .i3p3-cart-area .single_add_to_cart_button{
    width:100% !important;
    min-height:48px !important;
    margin:0 !important;
}

/* Evita che la personalizzazione si affianchi alla quantità */
body.i3d25-product-v3 .i3p3-cart-area form.cart > *{
    grid-column:1 / -1 !important;
}

@media(max-width:1180px){
    body.i3d25-product-v3 .i3p3-personalize-grid{
        grid-template-columns:1fr;
    }
}

@media(max-width:640px){
    body.i3d25-product-v3 .i3p3-personalize-toggle{
        grid-template-columns:34px minmax(0,1fr) auto;
        padding:13px;
        gap:10px;
    }

    body.i3d25-product-v3 .i3p3-personalize-action b{
        display:none;
    }

    body.i3d25-product-v3 .i3p3-personalize-panel{
        padding:0 13px 13px;
    }

    body.i3d25-product-v3 .i3p3-personalize-grid{
        grid-template-columns:1fr;
    }
}


/* =========================================================
   v5.0 — IDEA3D25 CUSTOMIZER V1
   ========================================================= */
body.i3d25-product-v3 .i3p5-panel{
    padding:0 16px 16px;
}

body.i3d25-product-v3 .i3p5-layout{
    display:grid;
    grid-template-columns:minmax(260px,.9fr) minmax(0,1.25fr);
    gap:16px;
}

body.i3d25-product-v3 .i3p5-preview-card{
    position:sticky;
    top:110px;
    align-self:start;
    overflow:hidden;
    border:1px solid #e5dced;
    border-radius:15px;
    background:linear-gradient(145deg,#fbf9ff,#fff);
}

body.i3d25-product-v3 .i3p5-preview-stage{
    --i3p5-selected-color:#7c3aed;
    position:relative;
    display:grid;
    min-height:280px;
    place-items:center;
    overflow:hidden;
    background:
        radial-gradient(circle at 50% 35%,rgba(139,92,246,.09),transparent 32%),
        linear-gradient(180deg,#fff,#f7f3fb);
}

body.i3d25-product-v3 .i3p5-preview-grid{
    position:absolute;
    inset:0;
    opacity:.32;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(109,40,217,.05) 1px,transparent 1px),
        linear-gradient(90deg,rgba(109,40,217,.05) 1px,transparent 1px);
    background-size:24px 24px;
}

body.i3d25-product-v3 .i3p5-preview-object{
    position:relative;
    z-index:2;
    width:72%;
    max-width:250px;
    transition:transform .20s cubic-bezier(.22,.61,.36,1),filter .18s ease;
    transform-origin:center;
}

body.i3d25-product-v3 .i3p5-preview-object img{
    display:block;
    width:100%;
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 18px 22px rgba(31,20,45,.18));
}

body.i3d25-product-v3 .i3p5-preview-stage.has-color .i3p5-preview-object::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:16px;
    background:var(--i3p5-selected-color);
    mix-blend-mode:color;
    opacity:.20;
    pointer-events:none;
}

body.i3d25-product-v3 .i3p5-preview-meta{
    display:grid;
    grid-template-columns:1.4fr .7fr 1fr;
    gap:1px;
    border-top:1px solid #e9e1ef;
    background:#e9e1ef;
}

body.i3d25-product-v3 .i3p5-preview-meta>div{
    display:grid;
    gap:3px;
    padding:10px;
    background:#fff;
}

body.i3d25-product-v3 .i3p5-preview-meta span{
    color:#84798d;
    font-size:7px;
    text-transform:uppercase;
    letter-spacing:.05em;
}

body.i3d25-product-v3 .i3p5-preview-meta strong{
    color:#2e2436;
    font-size:9px;
}

body.i3d25-product-v3 .i3p5-controls{
    display:grid;
    gap:11px;
}

body.i3d25-product-v3 .i3p5-control{
    margin:0;
    padding:13px;
    border:1px solid #e5dced;
    border-radius:13px;
    background:#fff;
}

body.i3d25-product-v3 .i3p5-control legend{
    padding:0 5px;
    color:#2d2336;
    font-size:10px;
    font-weight:900;
}

body.i3d25-product-v3 .i3p5-color-list{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
}

body.i3d25-product-v3 .i3p5-color{
    display:flex;
    align-items:center;
    gap:6px;
    padding:5px 8px 5px 5px;
    border:1px solid #e8e1ed;
    border-radius:999px;
    background:#fff;
    cursor:pointer;
    transition:.15s ease;
}

body.i3d25-product-v3 .i3p5-color input{
    position:absolute;
    opacity:0;
    pointer-events:none;
}

body.i3d25-product-v3 .i3p5-color>span{
    width:23px;
    height:23px;
    border:2px solid #fff;
    border-radius:50%;
    background:var(--i3p5-color);
    box-shadow:0 0 0 1px #d7cedd;
}

body.i3d25-product-v3 .i3p5-color em{
    color:#5d5265;
    font-size:8px;
    font-style:normal;
    font-weight:750;
}

body.i3d25-product-v3 .i3p5-color.is-selected{
    border-color:#9b7ae9;
    background:#f8f4ff;
    box-shadow:0 0 0 2px rgba(109,40,217,.05);
}

body.i3d25-product-v3 .i3p5-scale-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-bottom:7px;
}

body.i3d25-product-v3 .i3p5-scale-head span{
    color:#6e6377;
    font-size:9px;
}

body.i3d25-product-v3 .i3p5-scale-head strong{
    color:#6d28d9;
    font-size:10px;
}

body.i3d25-product-v3 .i3p5-control input[type="range"]{
    width:100%;
    accent-color:#6d28d9;
}

body.i3d25-product-v3 .i3p5-scale-range{
    display:flex;
    justify-content:space-between;
    margin-top:3px;
    color:#968b9e;
    font-size:7px;
}

body.i3d25-product-v3 .i3p5-dimension-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:7px;
    margin-top:11px;
}

body.i3d25-product-v3 .i3p5-dimension-grid label{
    position:relative;
    display:grid;
    gap:4px;
}

body.i3d25-product-v3 .i3p5-dimension-grid span,
body.i3d25-product-v3 .i3p5-two label>span{
    color:#766b7e;
    font-size:8px;
}

body.i3d25-product-v3 .i3p5-dimension-grid input,
body.i3d25-product-v3 .i3p5-two input,
body.i3d25-product-v3 .i3p5-control textarea{
    width:100%;
    min-height:39px;
    padding:8px 10px;
    border:1px solid #ded6e5;
    border-radius:9px;
    background:#fff;
    color:#2c2234;
    box-sizing:border-box;
    font-size:10px;
}

body.i3d25-product-v3 .i3p5-dimension-grid input{
    padding-right:28px;
    background:#faf9fc;
}

body.i3d25-product-v3 .i3p5-dimension-grid b{
    position:absolute;
    right:8px;
    bottom:11px;
    color:#9b90a2;
    font-size:7px;
}

body.i3d25-product-v3 .i3p5-two{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
}

body.i3d25-product-v3 .i3p5-two label{
    display:grid;
    gap:5px;
}

body.i3d25-product-v3 .i3p5-summary{
    display:flex;
    align-items:end;
    justify-content:space-between;
    gap:12px;
    padding:12px 13px;
    border:1px solid #d9cbea;
    border-radius:12px;
    background:linear-gradient(135deg,#faf6ff,#fff);
}

body.i3d25-product-v3 .i3p5-summary>div{
    display:grid;
    gap:3px;
}

body.i3d25-product-v3 .i3p5-summary span{
    color:#81758a;
    font-size:7px;
    text-transform:uppercase;
}

body.i3d25-product-v3 .i3p5-summary strong{
    color:#2d2137;
    font-size:10px;
}

body.i3d25-product-v3 .i3p5-summary>div:last-child{
    text-align:right;
}

body.i3d25-product-v3 .i3p5-summary>div:last-child strong{
    color:#6d28d9;
    font-size:14px;
}

body.i3d25-product-v3 .i3p5-note{
    margin:0;
    color:#877b90;
    font-size:8px;
    line-height:1.45;
}

@media(max-width:980px){
    body.i3d25-product-v3 .i3p5-layout{
        grid-template-columns:1fr;
    }

    body.i3d25-product-v3 .i3p5-preview-card{
        position:static;
    }
}

@media(max-width:620px){
    body.i3d25-product-v3 .i3p5-panel{
        padding:0 12px 12px;
    }

    body.i3d25-product-v3 .i3p5-preview-stage{
        min-height:220px;
    }

    body.i3d25-product-v3 .i3p5-preview-meta{
        grid-template-columns:1fr 1fr;
    }

    body.i3d25-product-v3 .i3p5-preview-meta>div:first-child{
        grid-column:1/-1;
    }

    body.i3d25-product-v3 .i3p5-dimension-grid,
    body.i3d25-product-v3 .i3p5-two{
        grid-template-columns:1fr;
    }

    body.i3d25-product-v3 .i3p5-summary{
        display:grid;
        grid-template-columns:1fr;
    }

    body.i3d25-product-v3 .i3p5-summary>div:last-child{
        text-align:left;
    }
}

/* v5.1 Customizer Pro */
body.i3d25-product-v3 .i3p5-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 10px}
body.i3d25-product-v3 .i3p5-presets button{display:grid;gap:1px;min-height:45px;padding:7px;border:1px solid #e3dbe9;border-radius:9px;background:#fff;color:#3a3042;cursor:pointer}
body.i3d25-product-v3 .i3p5-presets button strong{font-size:8px} body.i3d25-product-v3 .i3p5-presets button small{font-size:7px;color:#8d8195}
body.i3d25-product-v3 .i3p5-presets button.is-selected{border-color:#8b5cf6;background:#f7f2ff;box-shadow:0 0 0 2px rgba(109,40,217,.06)}
body.i3d25-product-v3 .i3p5-custom-color{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;margin-top:10px;padding-top:10px;border-top:1px solid #eee8f2}
body.i3d25-product-v3 .i3p5-custom-color span{font-size:8px;font-weight:800;color:#675c70}
body.i3d25-product-v3 .i3p5-custom-color input{min-height:36px;padding:7px 9px;border:1px solid #ded6e5;border-radius:8px;font-size:9px}
body.i3d25-product-v3 .i3p5-actions{display:grid;grid-template-columns:1fr auto;gap:9px;align-items:stretch}
body.i3d25-product-v3 .i3p5-feasibility{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid #dce9df;border-radius:11px;background:#f7fcf8}
body.i3d25-product-v3 .i3p5-feasibility.needs-review{border-color:#eadfc9;background:#fffaf1}
body.i3d25-product-v3 .i3p5-feasibility>span{display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:#e5f5e9;color:#267441;font-size:10px;font-weight:900}
body.i3d25-product-v3 .i3p5-feasibility.needs-review>span{background:#f8ecd5;color:#9a6517}
body.i3d25-product-v3 .i3p5-feasibility>div{display:grid;gap:2px} body.i3d25-product-v3 .i3p5-feasibility strong{font-size:9px;color:#312638}
body.i3d25-product-v3 .i3p5-feasibility small{font-size:7px;color:#7c7184;line-height:1.4}
body.i3d25-product-v3 .i3p5-reset{padding:0 12px;border:1px solid #ddd4e4;border-radius:10px;background:#fff;color:#6d28d9;font-size:8px;font-weight:850;cursor:pointer}
@media(max-width:620px){body.i3d25-product-v3 .i3p5-presets{grid-template-columns:repeat(2,1fr)}body.i3d25-product-v3 .i3p5-actions{grid-template-columns:1fr}body.i3d25-product-v3 .i3p5-reset{min-height:40px}body.i3d25-product-v3 .i3p5-custom-color{grid-template-columns:1fr}}


/* =========================================================
   v5.2 — Viewer 3D interattivo + limite 250 mm
   ========================================================= */

body.i3d25-product-v3 .i3p5-model-viewer{
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    height:320px;
    background:
        radial-gradient(circle at 50% 38%,rgba(139,92,246,.10),transparent 35%),
        linear-gradient(180deg,#fff,#f7f3fb);
    --poster-color:transparent;
}

body.i3d25-product-v3 .i3p5-viewer-tools{
    position:absolute;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:5;
    display:flex;
    align-items:center;
    gap:6px;
    padding:7px;
    border:1px solid rgba(255,255,255,.65);
    border-radius:11px;
    background:rgba(255,255,255,.82);
    box-shadow:0 8px 22px rgba(34,22,47,.10);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}

body.i3d25-product-v3 .i3p5-viewer-tools button{
    display:flex;
    align-items:center;
    gap:5px;
    min-height:31px;
    padding:0 8px;
    border:1px solid #e0d6e8;
    border-radius:8px;
    background:#fff;
    color:#52475b;
    font-size:7px;
    font-weight:850;
    cursor:pointer;
}

body.i3d25-product-v3 .i3p5-viewer-tools button.is-active{
    border-color:#a58bea;
    background:#f5efff;
    color:#6d28d9;
}

body.i3d25-product-v3 .i3p5-viewer-tools button span{
    font-size:11px;
}

body.i3d25-product-v3 .i3p5-viewer-status{
    margin-left:auto;
    color:#83778c;
    font-size:7px;
    white-space:nowrap;
}

body.i3d25-product-v3 .i3p5-machine-limit{
    display:flex;
    justify-content:space-between;
    gap:10px;
    margin-top:8px;
    padding:7px 9px;
    border:1px solid #e8e0ee;
    border-radius:8px;
    background:#faf8fc;
}

body.i3d25-product-v3 .i3p5-machine-limit span{
    color:#81768a;
    font-size:7px;
}

body.i3d25-product-v3 .i3p5-machine-limit strong{
    color:#6d28d9;
    font-size:8px;
}

@media(max-width:620px){
    body.i3d25-product-v3 .i3p5-model-viewer{
        height:260px;
    }

    body.i3d25-product-v3 .i3p5-viewer-status{
        display:none;
    }

    body.i3d25-product-v3 .i3p5-viewer-tools{
        justify-content:center;
    }
}


/* =========================================================
   v5.2.1 — CUSTOMIZER FULL SCREEN / NO CLIPPING
   ========================================================= */

html.i3p5-customizer-open,
body.i3p5-customizer-open{
    overflow:hidden !important;
}

/* Il pannello non è più vincolato alla colonna acquisto. */
body.i3d25-product-v3 .i3p3-personalize-panel.i3p5-panel{
    position:fixed !important;
    inset:0 !important;
    z-index:100500 !important;
    width:100vw !important;
    height:100dvh !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:18px !important;
    border:0 !important;
    border-radius:0 !important;
    background:rgba(20,14,27,.70) !important;
    backdrop-filter:blur(12px) !important;
    -webkit-backdrop-filter:blur(12px) !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

body.i3d25-product-v3 .i3p3-personalize-panel.i3p5-panel[hidden]{
    display:none !important;
}

body.i3d25-product-v3 .i3p3-personalize-panel.i3p5-panel:not([hidden]){
    display:block !important;
}

/* Finestra principale */
body.i3d25-product-v3 .i3p5-modal-shell{
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) !important;
    width:min(1500px,100%) !important;
    height:100% !important;
    margin:0 auto !important;
    overflow:hidden !important;
    border:1px solid rgba(255,255,255,.75) !important;
    border-radius:22px !important;
    background:#f8f6fb !important;
    box-shadow:0 34px 90px rgba(13,7,19,.38) !important;
}

body.i3d25-product-v3 .i3p5-modal-top{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:18px !important;
    min-height:78px !important;
    padding:14px 18px !important;
    border-bottom:1px solid #e7e0ec !important;
    background:
        radial-gradient(circle at 8% 0%,rgba(139,92,246,.13),transparent 35%),
        linear-gradient(100deg,#fff,#f7f1ff 62%,#fff) !important;
}

body.i3d25-product-v3 .i3p5-modal-top>div{
    display:grid !important;
    gap:2px !important;
    min-width:0 !important;
}

body.i3d25-product-v3 .i3p5-modal-top span{
    color:#6d28d9 !important;
    font-size:8px !important;
    font-weight:950 !important;
    letter-spacing:.11em !important;
}

body.i3d25-product-v3 .i3p5-modal-top strong{
    overflow:hidden !important;
    color:#211729 !important;
    font-size:19px !important;
    line-height:1.15 !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

body.i3d25-product-v3 .i3p5-modal-top small{
    color:#776c80 !important;
    font-size:9px !important;
}

body.i3d25-product-v3 .i3p5-modal-close{
    display:grid !important;
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
    place-items:center !important;
    padding:0 !important;
    border:1px solid #ded4e6 !important;
    border-radius:12px !important;
    background:#fff !important;
    color:#392f41 !important;
    font-size:23px !important;
    line-height:1 !important;
    cursor:pointer !important;
}

/* Layout vero: viewer ampio + controlli scrollabili. */
body.i3d25-product-v3 .i3p5-panel .i3p5-layout{
    display:grid !important;
    grid-template-columns:minmax(0,1.45fr) minmax(380px,.75fr) !important;
    gap:0 !important;
    min-width:0 !important;
    min-height:0 !important;
    height:100% !important;
    overflow:hidden !important;
}

/* Viewer */
body.i3d25-product-v3 .i3p5-panel .i3p5-preview-card{
    position:relative !important;
    top:auto !important;
    display:grid !important;
    grid-template-rows:minmax(0,1fr) auto !important;
    min-width:0 !important;
    min-height:0 !important;
    height:100% !important;
    overflow:hidden !important;
    border:0 !important;
    border-right:1px solid #e6deeb !important;
    border-radius:0 !important;
    background:#f2eef6 !important;
}

body.i3d25-product-v3 .i3p5-panel .i3p5-preview-stage{
    display:grid !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    place-items:center !important;
    overflow:hidden !important;
    background:
        radial-gradient(circle at 50% 42%,rgba(139,92,246,.12),transparent 38%),
        linear-gradient(180deg,#fff,#f2edf7) !important;
}

body.i3d25-product-v3 .i3p5-panel .i3p5-model-viewer{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:420px !important;
    max-height:none !important;
    background:transparent !important;
}

/* Fallback immagine: sempre contenuta e mai tagliata. */
body.i3d25-product-v3 .i3p5-panel .i3p5-preview-object{
    display:grid !important;
    width:min(68%,620px) !important;
    max-width:620px !important;
    height:min(70%,620px) !important;
    max-height:620px !important;
    place-items:center !important;
    transform:none !important;
}

body.i3d25-product-v3 .i3p5-panel .i3p5-preview-object img{
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
}

/* Barra dati sotto viewer */
body.i3d25-product-v3 .i3p5-panel .i3p5-preview-meta{
    position:relative !important;
    z-index:8 !important;
    grid-template-columns:1.35fr .65fr 1fr !important;
    min-height:70px !important;
}

/* Tool viewer non deve coprire il modello */
body.i3d25-product-v3 .i3p5-panel .i3p5-viewer-tools{
    left:16px !important;
    right:auto !important;
    bottom:16px !important;
    max-width:calc(100% - 32px) !important;
}

/* Colonna controlli */
body.i3d25-product-v3 .i3p5-panel .i3p5-controls{
    display:block !important;
    min-width:0 !important;
    min-height:0 !important;
    height:100% !important;
    padding:16px !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain !important;
    background:#fff !important;
    scrollbar-width:thin !important;
    scrollbar-color:#c7b8d4 transparent !important;
}

body.i3d25-product-v3 .i3p5-panel .i3p5-control{
    margin:0 0 12px !important;
}

body.i3d25-product-v3 .i3p5-panel .i3p5-summary,
body.i3d25-product-v3 .i3p5-panel .i3p5-actions,
body.i3d25-product-v3 .i3p5-panel .i3p5-note{
    margin-bottom:12px !important;
}

/* Desktop più piccolo */
@media(max-width:1150px){
    body.i3d25-product-v3 .i3p5-panel .i3p5-layout{
        grid-template-columns:minmax(0,1fr) 390px !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-model-viewer{
        min-height:360px !important;
    }
}

/* Tablet/mobile: viewer sopra, controlli sotto, tutto scrollabile. */
@media(max-width:820px){
    body.i3d25-product-v3 .i3p3-personalize-panel.i3p5-panel{
        padding:8px !important;
        overflow:auto !important;
    }

    body.i3d25-product-v3 .i3p5-modal-shell{
        display:block !important;
        height:auto !important;
        min-height:calc(100dvh - 16px) !important;
        border-radius:16px !important;
        overflow:visible !important;
    }

    body.i3d25-product-v3 .i3p5-modal-top{
        position:sticky !important;
        top:0 !important;
        z-index:30 !important;
        min-height:66px !important;
        padding:10px 12px !important;
    }

    body.i3d25-product-v3 .i3p5-modal-top strong{
        font-size:15px !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-layout{
        display:block !important;
        height:auto !important;
        overflow:visible !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-card{
        display:block !important;
        height:auto !important;
        border-right:0 !important;
        border-bottom:1px solid #e6deeb !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-stage{
        height:360px !important;
        min-height:360px !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-model-viewer{
        width:100% !important;
        height:360px !important;
        min-height:360px !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-object{
        width:72% !important;
        height:280px !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-controls{
        height:auto !important;
        max-height:none !important;
        padding:12px !important;
        overflow:visible !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-viewer-tools{
        left:8px !important;
        bottom:8px !important;
    }
}

@media(max-width:520px){
    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-stage,
    body.i3d25-product-v3 .i3p5-panel .i3p5-model-viewer{
        height:300px !important;
        min-height:300px !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-meta{
        grid-template-columns:1fr 1fr !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-meta>div:first-child{
        grid-column:1/-1 !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-viewer-tools{
        right:8px !important;
        justify-content:center !important;
    }
}


/* =========================================================
   v5.2.2 — DESKTOP CUSTOMIZER REDESIGN
   Più ecommerce, meno "pannello tecnico"
   Mobile invariato
   ========================================================= */

@media(min-width:821px){

    /* overlay più leggero */
    body.i3d25-product-v3 .i3p3-personalize-panel.i3p5-panel{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        padding:28px !important;
        background:
            radial-gradient(circle at 18% 10%,rgba(139,92,246,.16),transparent 28%),
            radial-gradient(circle at 85% 90%,rgba(109,40,217,.12),transparent 30%),
            rgba(17,11,24,.64) !important;
    }

    body.i3d25-product-v3 .i3p3-personalize-panel.i3p5-panel[hidden]{
        display:none !important;
    }

    /* finestra centrata e proporzionata */
    body.i3d25-product-v3 .i3p5-modal-shell{
        width:min(1320px,calc(100vw - 56px)) !important;
        height:min(820px,calc(100dvh - 56px)) !important;
        min-height:650px !important;
        grid-template-rows:auto minmax(0,1fr) !important;
        border-radius:24px !important;
        overflow:hidden !important;
        background:#fff !important;
        box-shadow:
            0 40px 100px rgba(9,5,14,.34),
            0 0 0 1px rgba(255,255,255,.42) !important;
    }

    /* testata più compatta */
    body.i3d25-product-v3 .i3p5-modal-top{
        min-height:68px !important;
        padding:12px 18px !important;
        background:
            linear-gradient(100deg,#fff 0%,#faf6ff 52%,#f4edff 100%) !important;
    }

    body.i3d25-product-v3 .i3p5-modal-top strong{
        font-size:17px !important;
    }

    body.i3d25-product-v3 .i3p5-modal-top small{
        font-size:8px !important;
    }

    /* rapporto più bilanciato: viewer 58%, controlli 42% */
    body.i3d25-product-v3 .i3p5-panel .i3p5-layout{
        grid-template-columns:minmax(0,1.15fr) minmax(390px,.85fr) !important;
        background:#f8f6fb !important;
    }

    /* viewer come card premium, non una distesa vuota */
    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-card{
        margin:16px 8px 16px 16px !important;
        border:1px solid #e6deeb !important;
        border-radius:18px !important;
        overflow:hidden !important;
        background:#fff !important;
        box-shadow:0 12px 34px rgba(37,24,49,.07) !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-stage{
        min-height:0 !important;
        background:
            radial-gradient(circle at 50% 40%,rgba(139,92,246,.10),transparent 36%),
            linear-gradient(180deg,#fff,#f7f4fa) !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-model-viewer{
        min-height:0 !important;
        height:100% !important;
        width:100% !important;
    }

    /* fallback immagine ben centrata */
    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-object{
        width:min(58%,520px) !important;
        height:min(62%,520px) !important;
    }

    /* dati viewer più eleganti */
    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-meta{
        min-height:64px !important;
        border-top:1px solid #ece5f1 !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-meta>div{
        padding:9px 11px !important;
    }

    /* controlli come colonna ecommerce */
    body.i3d25-product-v3 .i3p5-panel .i3p5-controls{
        margin:16px 16px 16px 8px !important;
        padding:0 4px 0 0 !important;
        background:transparent !important;
        overflow-y:auto !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-control{
        padding:12px !important;
        border:1px solid #e8e1ed !important;
        border-radius:12px !important;
        background:#fff !important;
        box-shadow:0 5px 18px rgba(34,22,45,.035) !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-control legend{
        font-size:9px !important;
        color:#312638 !important;
    }

    /* preset più belli e meno invadenti */
    body.i3d25-product-v3 .i3p5-presets{
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
        gap:5px !important;
    }

    body.i3d25-product-v3 .i3p5-presets button{
        min-height:40px !important;
        padding:6px !important;
        border-radius:8px !important;
    }

    /* riepilogo forte e pulito */
    body.i3d25-product-v3 .i3p5-panel .i3p5-summary{
        position:sticky !important;
        bottom:0 !important;
        z-index:8 !important;
        padding:12px 13px !important;
        border:1px solid #d6c7e8 !important;
        background:
            linear-gradient(135deg,#ffffff,#f8f3ff) !important;
        box-shadow:0 10px 28px rgba(109,40,217,.08) !important;
    }

    /* barra strumenti viewer meno grossa */
    body.i3d25-product-v3 .i3p5-panel .i3p5-viewer-tools{
        left:12px !important;
        bottom:12px !important;
        padding:6px !important;
        border-radius:10px !important;
    }

    body.i3d25-product-v3 .i3p5-viewer-tools button{
        min-height:29px !important;
        font-size:7px !important;
    }

    /* scroll più discreto */
    body.i3d25-product-v3 .i3p5-panel .i3p5-controls::-webkit-scrollbar{
        width:6px;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-controls::-webkit-scrollbar-thumb{
        border-radius:999px;
        background:#d3c6dc;
    }
}

@media(min-width:1280px){
    body.i3d25-product-v3 .i3p5-modal-shell{
        width:min(1280px,calc(100vw - 80px)) !important;
        height:min(780px,calc(100dvh - 80px)) !important;
    }
}


/* =========================================================
   v5.3.0 — DESKTOP UX REDESIGN
   Studio prodotto + pannello configurazione
   ========================================================= */

@media(min-width:821px){

    body.i3d25-product-v3 .i3p3-personalize-panel.i3p5-panel{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        padding:24px !important;
        background:rgba(13,9,18,.72) !important;
        backdrop-filter:blur(14px) !important;
        -webkit-backdrop-filter:blur(14px) !important;
    }

    body.i3d25-product-v3 .i3p3-personalize-panel.i3p5-panel[hidden]{
        display:none !important;
    }

    body.i3d25-product-v3 .i3p5-modal-shell{
        position:relative !important;
        display:grid !important;
        grid-template-rows:68px 42px minmax(0,1fr) !important;
        width:min(1220px,calc(100vw - 48px)) !important;
        height:min(790px,calc(100dvh - 48px)) !important;
        min-height:620px !important;
        overflow:hidden !important;
        border:0 !important;
        border-radius:22px !important;
        background:#fff !important;
        box-shadow:0 40px 110px rgba(0,0,0,.38) !important;
    }

    /* header minimal */
    body.i3d25-product-v3 .i3p5-modal-top{
        min-height:0 !important;
        padding:12px 18px !important;
        border-bottom:1px solid #ece7f0 !important;
        background:#fff !important;
    }

    body.i3d25-product-v3 .i3p5-modal-top span{
        font-size:7px !important;
        letter-spacing:.13em !important;
    }

    body.i3d25-product-v3 .i3p5-modal-top strong{
        font-size:16px !important;
    }

    body.i3d25-product-v3 .i3p5-modal-top small{
        display:none !important;
    }

    body.i3d25-product-v3 .i3p5-modal-close{
        width:38px !important;
        height:38px !important;
        flex-basis:38px !important;
        border:0 !important;
        border-radius:50% !important;
        background:#f4f1f6 !important;
        font-size:20px !important;
    }

    /* step indicator */
    body.i3d25-product-v3 .i3p5-desktop-steps{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:8px !important;
        padding:0 20px !important;
        border-bottom:1px solid #eee9f1 !important;
        background:#faf9fb !important;
    }

    body.i3d25-product-v3 .i3p5-desktop-steps span{
        display:flex !important;
        align-items:center !important;
        gap:5px !important;
        color:#817789 !important;
        font-size:8px !important;
        font-weight:800 !important;
    }

    body.i3d25-product-v3 .i3p5-desktop-steps span b{
        display:grid !important;
        width:19px !important;
        height:19px !important;
        place-items:center !important;
        border-radius:50% !important;
        background:#ebe6ef !important;
        color:#706576 !important;
        font-size:7px !important;
    }

    body.i3d25-product-v3 .i3p5-desktop-steps span.is-active{
        color:#6d28d9 !important;
    }

    body.i3d25-product-v3 .i3p5-desktop-steps span.is-active b{
        background:#6d28d9 !important;
        color:#fff !important;
    }

    body.i3d25-product-v3 .i3p5-desktop-steps i{
        width:34px !important;
        height:1px !important;
        background:#ddd5e3 !important;
    }

    /* main split */
    body.i3d25-product-v3 .i3p5-panel .i3p5-layout{
        display:grid !important;
        grid-template-columns:minmax(0,56%) minmax(0,44%) !important;
        gap:0 !important;
        min-width:0 !important;
        min-height:0 !important;
        height:100% !important;
        overflow:hidden !important;
        background:#fff !important;
    }

    /* LEFT = studio canvas */
    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-card{
        position:relative !important;
        display:grid !important;
        grid-template-rows:minmax(0,1fr) 68px !important;
        min-width:0 !important;
        min-height:0 !important;
        height:100% !important;
        margin:0 !important;
        overflow:hidden !important;
        border:0 !important;
        border-right:1px solid #ece6f0 !important;
        border-radius:0 !important;
        background:#f4f1f6 !important;
        box-shadow:none !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-stage{
        position:relative !important;
        min-width:0 !important;
        min-height:0 !important;
        height:100% !important;
        overflow:hidden !important;
        background:
            radial-gradient(circle at 50% 46%,rgba(139,92,246,.11),transparent 34%),
            radial-gradient(circle at 50% 48%,#fff 0,#f7f4f9 45%,#eee9f1 100%) !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-stage::before{
        content:"";
        position:absolute;
        left:12%;
        right:12%;
        bottom:12%;
        height:9%;
        border-radius:50%;
        background:rgba(40,25,55,.10);
        filter:blur(20px);
        pointer-events:none;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-model-viewer{
        position:relative !important;
        z-index:2 !important;
        width:100% !important;
        height:100% !important;
        min-height:0 !important;
        background:transparent !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-object{
        position:relative !important;
        z-index:2 !important;
        width:min(62%,500px) !important;
        height:min(72%,500px) !important;
        max-width:500px !important;
        max-height:500px !important;
        transform:none !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-object img{
        width:100% !important;
        height:100% !important;
        object-fit:contain !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-meta{
        z-index:5 !important;
        grid-template-columns:1.4fr .65fr 1fr !important;
        min-height:68px !important;
        border-top:1px solid #e3dce8 !important;
        background:#fff !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-preview-meta>div{
        padding:10px 12px !important;
        background:#fff !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-viewer-tools{
        left:14px !important;
        right:auto !important;
        bottom:84px !important;
        max-width:calc(100% - 28px) !important;
        padding:5px !important;
        border:1px solid rgba(216,207,223,.8) !important;
        border-radius:9px !important;
        background:rgba(255,255,255,.88) !important;
    }

    /* RIGHT = clean commerce panel */
    body.i3d25-product-v3 .i3p5-panel .i3p5-controls{
        position:relative !important;
        display:block !important;
        min-width:0 !important;
        min-height:0 !important;
        height:100% !important;
        margin:0 !important;
        padding:20px 22px 100px !important;
        overflow-y:auto !important;
        background:#fff !important;
        scrollbar-width:thin !important;
    }

    body.i3d25-product-v3 .i3p5-controls-intro{
        display:grid !important;
        gap:3px !important;
        margin-bottom:17px !important;
    }

    body.i3d25-product-v3 .i3p5-controls-intro>span{
        color:#7c3aed !important;
        font-size:7px !important;
        font-weight:950 !important;
        letter-spacing:.11em !important;
    }

    body.i3d25-product-v3 .i3p5-controls-intro>strong{
        color:#211729 !important;
        font-size:19px !important;
        line-height:1.1 !important;
    }

    body.i3d25-product-v3 .i3p5-controls-intro>small{
        max-width:390px !important;
        color:#7c7283 !important;
        font-size:8px !important;
        line-height:1.45 !important;
    }

    /* sections no longer nested cards */
    body.i3d25-product-v3 .i3p5-panel .i3p5-control{
        margin:0 !important;
        padding:15px 0 !important;
        border:0 !important;
        border-top:1px solid #eee9f1 !important;
        border-radius:0 !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-control legend{
        padding:0 !important;
        margin:0 0 10px !important;
        color:#2c2233 !important;
        font-size:10px !important;
        font-weight:900 !important;
    }

    /* color chips */
    body.i3d25-product-v3 .i3p5-color-list{
        gap:8px !important;
    }

    body.i3d25-product-v3 .i3p5-color{
        min-height:36px !important;
        padding:5px 9px 5px 5px !important;
        border-color:#e7e0ec !important;
        background:#fff !important;
    }

    body.i3d25-product-v3 .i3p5-color.is-selected{
        border-color:#7c3aed !important;
        background:#faf7ff !important;
    }

    /* presets simple segmented control */
    body.i3d25-product-v3 .i3p5-presets{
        display:grid !important;
        grid-template-columns:repeat(4,1fr) !important;
        gap:4px !important;
        padding:4px !important;
        border-radius:10px !important;
        background:#f4f1f6 !important;
    }

    body.i3d25-product-v3 .i3p5-presets button{
        min-height:42px !important;
        border:0 !important;
        border-radius:8px !important;
        background:transparent !important;
        box-shadow:none !important;
    }

    body.i3d25-product-v3 .i3p5-presets button.is-selected{
        background:#fff !important;
        color:#6d28d9 !important;
        box-shadow:0 3px 10px rgba(39,25,52,.08) !important;
    }

    /* compact summary; footer does the main price */
    body.i3d25-product-v3 .i3p5-panel .i3p5-summary{
        position:static !important;
        margin:14px 0 0 !important;
        padding:10px 12px !important;
        border:1px solid #e7dfee !important;
        border-radius:10px !important;
        background:#faf8fc !important;
        box-shadow:none !important;
    }

    body.i3d25-product-v3 .i3p5-panel .i3p5-actions{
        margin-top:10px !important;
    }

    /* fixed bottom CTA inside right side */
    body.i3d25-product-v3 .i3p5-desktop-apply{
        position:absolute !important;
        left:0 !important;
        right:0 !important;
        bottom:0 !important;
        z-index:20 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:14px !important;
        min-height:78px !important;
        padding:12px 22px !important;
        border-top:1px solid #e9e2ed !important;
        background:rgba(255,255,255,.96) !important;
        backdrop-filter:blur(10px) !important;
        box-shadow:0 -10px 24px rgba(32,20,43,.05) !important;
    }

    body.i3d25-product-v3 .i3p5-desktop-apply>div{
        display:grid !important;
        gap:2px !important;
    }

    body.i3d25-product-v3 .i3p5-desktop-apply>div span{
        color:#84798c !important;
        font-size:7px !important;
        text-transform:uppercase !important;
        letter-spacing:.06em !important;
    }

    body.i3d25-product-v3 .i3p5-desktop-apply>div strong{
        color:#24182e !important;
        font-size:17px !important;
    }

    body.i3d25-product-v3 .i3p5-desktop-apply>button{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        gap:9px !important;
        min-width:190px !important;
        min-height:46px !important;
        padding:0 17px !important;
        border:0 !important;
        border-radius:11px !important;
        background:linear-gradient(135deg,#7c3aed,#5b21b6) !important;
        color:#fff !important;
        font-size:9px !important;
        font-weight:900 !important;
        cursor:pointer !important;
        box-shadow:0 9px 22px rgba(109,40,217,.20) !important;
    }

    body.i3d25-product-v3 .i3p5-desktop-apply>button span{
        font-size:15px !important;
    }

    body.i3d25-product-v3 .i3p3-personalize-toggle.has-configuration{
        border-color:#8b5cf6 !important;
        background:#faf7ff !important;
    }
}

/* Hide desktop-only controls on mobile, preserving existing acceptable mobile UX. */
@media(max-width:820px){
    body.i3d25-product-v3 .i3p5-desktop-steps,
    body.i3d25-product-v3 .i3p5-controls-intro,
    body.i3d25-product-v3 .i3p5-desktop-apply{
        display:none !important;
    }
}

/* IDEA3D25 5.4 CONVERSION FIRST */
body.i3d25-product-v3 .i3p3-info-inner{display:flex;flex-direction:column;gap:14px}
body.i3d25-product-v3 .i3p3-main-price{margin:0!important;font-size:clamp(1.8rem,2.2vw,2.5rem)!important;line-height:1!important}
body.i3d25-product-v3 .i3p3-conversion-microcopy{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:.78rem;opacity:.84}
body.i3d25-product-v3 .i3p3-conversion-microcopy span{display:inline-flex;align-items:center;gap:6px}
body.i3d25-product-v3 .i3p3-conversion-microcopy svg{width:16px;height:16px}
body.i3d25-product-v3 .i3p3-buy-card-conversion{border:1px solid rgba(142,72,255,.32)!important;box-shadow:0 18px 50px rgba(0,0,0,.22),0 0 0 1px rgba(142,72,255,.06)!important}
body.i3d25-product-v3 .i3p3-buy-kicker{display:block;margin-bottom:2px;font-size:.65rem;font-weight:850;letter-spacing:.13em;opacity:.65}
body.i3d25-product-v3 .i3p3-personalize-trigger{display:grid;grid-template-columns:38px minmax(0,1fr) 26px;gap:10px;align-items:center;width:100%;margin:0 0 14px;padding:13px;border:1px solid rgba(154,84,255,.45);border-radius:14px;background:linear-gradient(135deg,rgba(117,49,218,.16),rgba(255,255,255,.035));color:inherit;text-align:left;cursor:pointer;transition:.18s ease}
body.i3d25-product-v3 .i3p3-personalize-trigger:hover{transform:translateY(-1px);border-color:rgba(176,117,255,.8)}
body.i3d25-product-v3 .i3p3-personalize-trigger__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:rgba(145,76,255,.16)}
body.i3d25-product-v3 .i3p3-personalize-trigger__icon svg{width:21px;height:21px}
body.i3d25-product-v3 .i3p3-personalize-trigger strong,body.i3d25-product-v3 .i3p3-personalize-trigger small{display:block}
body.i3d25-product-v3 .i3p3-personalize-trigger small{margin-top:2px;font-size:.72rem;opacity:.7}
body.i3d25-product-v3 .i3p3-personalize-trigger__arrow{font-size:1.35rem;text-align:center}
body.i3d25-product-v3 .i3p3-buy-reassurance{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0 0}
body.i3d25-product-v3 .i3p3-buy-reassurance span{display:flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:6px;border-radius:9px;background:rgba(255,255,255,.035);font-size:.69rem;text-align:center}
body.i3d25-product-v3 .i3p3-buy-reassurance svg{width:15px;height:15px}
body.i3d25-product-v3 .single_add_to_cart_button{min-height:52px!important;font-weight:900!important}
@media(max-width:767px){body.i3d25-product-v3 .i3p3-conversion-microcopy{display:grid;gap:6px}body.i3d25-product-v3 .i3p3-buy-reassurance{grid-template-columns:1fr}}


/* IDEA3D25 v5.5 — social proof + sticky desktop */
body.i3d25-product-v3 .i3p3-social-proof{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:-2px;font-size:.77rem}
body.i3d25-product-v3 .i3p3-rating-link,
body.i3d25-product-v3 .i3p3-new-product-proof,
body.i3d25-product-v3 .i3p3-sales-proof{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:4px 8px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:rgba(255,255,255,.025);color:inherit;text-decoration:none}
body.i3d25-product-v3 .i3p3-rating-link:hover{border-color:rgba(153,82,255,.45)}
body.i3d25-product-v3 .i3p3-stars{color:#f5b942;letter-spacing:.03em;font-size:.72rem}
body.i3d25-product-v3 .i3p3-sales-proof{opacity:.82}
body.i3d25-product-v3 .i3p3-sticky-desktop{position:fixed;left:0;right:0;bottom:0;z-index:10020;padding:10px 18px;border-top:1px solid rgba(255,255,255,.08);background:rgba(13,11,17,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 -16px 40px rgba(0,0,0,.25)}
body.i3d25-product-v3 .i3p3-sticky-desktop[hidden]{display:none!important}
body.i3d25-product-v3 .i3p3-sticky-desktop__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(1240px,100%);margin:0 auto}
body.i3d25-product-v3 .i3p3-sticky-desktop__product{display:flex;align-items:center;gap:10px;min-width:0}
body.i3d25-product-v3 .i3p3-sticky-desktop__image{width:48px;height:48px;flex:0 0 48px;overflow:hidden;border-radius:9px;background:#fff}
body.i3d25-product-v3 .i3p3-sticky-desktop__image img{width:100%;height:100%;object-fit:cover}
body.i3d25-product-v3 .i3p3-sticky-desktop__product>div:last-child{display:grid;gap:2px;min-width:0}
body.i3d25-product-v3 .i3p3-sticky-desktop__product strong{overflow:hidden;max-width:420px;white-space:nowrap;text-overflow:ellipsis;font-size:.9rem}
body.i3d25-product-v3 .i3p3-sticky-desktop__product span{font-weight:850}
body.i3d25-product-v3 .i3p3-sticky-desktop__actions{display:flex;gap:8px;flex:0 0 auto}
body.i3d25-product-v3 .i3p3-sticky-desktop__actions button{min-height:42px;padding:0 16px;border-radius:10px;font-weight:850;cursor:pointer}
body.i3d25-product-v3 .i3p3-sticky-personalize{border:1px solid rgba(158,92,255,.45);background:transparent;color:#fff}
body.i3d25-product-v3 .i3p3-sticky-buy{border:0;background:linear-gradient(135deg,#8b3dff,#6222c7);color:#fff;box-shadow:0 8px 20px rgba(104,34,211,.25)}
@media(max-width:899px){body.i3d25-product-v3 .i3p3-sticky-desktop{display:none!important}}


/* ==========================================================
   IDEA3D25 v5.6 — SMART MERCHANDISING / AOV
   ========================================================== */
body.i3d25-product-v3 .i3p3-recommended-head{
    align-items:flex-start!important;
}
body.i3d25-product-v3 .i3p3-recommended-head>div:first-child{
    min-width:0;
}
body.i3d25-product-v3 .i3p3-recommended-kicker{
    display:block;
    margin-bottom:4px;
    font-size:.63rem;
    line-height:1;
    font-weight:900;
    letter-spacing:.13em;
    color:#b886ff;
}
body.i3d25-product-v3 .i3p3-recommended-head h2{
    margin:0!important;
}
body.i3d25-product-v3 .i3p3-free-shipping-nudge{
    margin:6px 0 0;
    font-size:.72rem;
    line-height:1.35;
    opacity:.78;
}
body.i3d25-product-v3 .i3p3-free-shipping-nudge strong{
    color:#b886ff;
}
body.i3d25-product-v3 .i3p3-free-shipping-nudge.is-reached{
    opacity:.72;
}
body.i3d25-product-v3 .i3p3-related-card{
    position:relative;
}
body.i3d25-product-v3 .i3p3-related-body{
    display:flex;
    flex-direction:column;
    min-height:132px;
}
body.i3d25-product-v3 .i3p3-related-badge{
    align-self:flex-start;
    margin-bottom:5px;
    padding:3px 7px;
    border-radius:999px;
    background:rgba(141,64,255,.14);
    border:1px solid rgba(159,94,255,.25);
    font-size:.61rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.06em;
}
body.i3d25-product-v3 .i3p3-related-rating{
    margin-top:5px;
    font-size:.68rem;
    color:#f5b942;
}
body.i3d25-product-v3 .i3p3-related-rating span{
    color:inherit;
    opacity:.62;
}
body.i3d25-product-v3 .i3p3-related-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-top:auto;
    padding-top:9px;
}
body.i3d25-product-v3 .i3p3-related-cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:31px;
    padding:0 10px;
    border:1px solid rgba(151,82,255,.38);
    border-radius:8px;
    color:inherit;
    text-decoration:none;
    font-size:.68rem;
    font-weight:850;
    transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
body.i3d25-product-v3 .i3p3-related-cta:hover{
    transform:translateY(-1px);
    border-color:rgba(176,117,255,.75);
    background:rgba(132,61,237,.09);
}
@media(max-width:640px){
    body.i3d25-product-v3 .i3p3-recommended-head{
        gap:8px!important;
    }
    body.i3d25-product-v3 .i3p3-free-shipping-nudge{
        max-width:240px;
    }
}


/* ==========================================================
   IDEA3D25 v5.7 — FINAL STABILIZATION
   ========================================================== */
body.i3d25-product-v3 .i3p3-related-card{
    min-width:0;
}
body.i3d25-product-v3 .i3p3-related-image{
    overflow:hidden;
}
body.i3d25-product-v3 .i3p3-related-image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
body.i3d25-product-v3 .i3p3-free-shipping-nudge{
    max-width:480px;
}
