.pdp-new-design .cz-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
#product-product.pdp-new-design .cz-title-row .product-title {
    margin: 0;
    font-size: 26px;
    font-weight: 400;
    line-height: 36px;
    color: #2C333A;
}
.cz-title-wishlist {
    flex: none;
    width: 26px;
    height: 24px;
    padding: 0;
    border: 0;
    background: url("../image/heart-shape-outline.svg") center / contain no-repeat;
    cursor: pointer;
}
#product-product.product-favourite .cz-title-wishlist { background-image: url("../image/heart-shape-fill.svg"); }
.cz-open-wishlist { display: none; }
body.cz-open .cz-card { position: relative; }
body.cz-open .cz-open-wishlist { display: block; position: absolute; z-index: 2; top: 0; right: 16px; }

.pdp-new-design #product .product-option,
.pdp-new-design #product .opzioni,
.pdp-new-design #product hr.opz { display: none; }
.pdp-new-design #product { padding-top: 0; }
.pdp-new-design .scrollable { height: auto !important; overflow: visible; }

#product-product.pdp-new-design { max-width: 1800px !important; }
.pdp-new-design #versioni { min-height: 0; margin: 20px 0 0; }
.pdp-new-design #versioni .box.related { float: none; width: auto; min-height: 0; margin: 0; padding: 0; }
.pdp-new-design #versioni .box-head { margin: 0 0 10px; padding: 0; }
.pdp-new-design #versioni .box-heading {
    margin: 0;
    padding: 0;
    text-align: left;
    font-size: 18px;
    font-weight: 400;
    letter-spacing: 0;
    color: #414A55;
}
.pdp-new-design #versioni { position: relative; }
.pdp-new-design:not(.customizer) #versioni { margin-bottom: 20px; }
body:not(.cz-open) .pdp-new-design #versioni { display: block !important; }
.pdp-new-design #versioni .customNavigation { display: none; }
.pdp-new-design #versioni .cz-versioni-strip {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scrollbar-width: none;
}
.pdp-new-design #versioni .cz-versioni-strip .slider-item { flex: 0 0 96px; }
.pdp-new-design #versioni .cz-versioni-strip .product-block,
.pdp-new-design #versioni .cz-versioni-strip .product-block-inner,
.pdp-new-design #versioni .cz-versioni-strip .image { height: auto; min-height: 0; margin: 0; padding: 0; border: 0; box-shadow: none; }
.pdp-new-design #versioni .cz-versioni-strip .image img { width: 96px; max-width: none; height: 48px; object-fit: contain; }
.pdp-new-design #versioni .cz-versioni-strip .saleicon,
.pdp-new-design #versioni .cz-versioni-strip .product-details { display: none; }

.pdp-new-design .additional-carousel { display: flex; flex-direction: column; flex-wrap: nowrap; max-height: none; }
.pdp-new-design .additional-carousel > .button-container {
    order: -1;
    position: relative;
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: 10px 16px 0;
}
.pdp-new-design .additional-carousel > .button-container > #viewer-button { order: 1; }
.pdp-new-design .additional-carousel > .button-container > #vto-button { order: 2; }
.pdp-new-design .additional-carousel > .button-container > #viewer-button,
.pdp-new-design .additional-carousel > .button-container > #vto-button {
    height: 20px;
    margin: 0;
    padding: 0 0 0 30px;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-position: left center;
    background-size: 24px 20px;
    font-size: 12px;
    font-weight: 500;
    line-height: 20px;
    letter-spacing: 0;
    color: #013E6B;
}

.pdp-new-design .cont-customizer { margin-bottom: 20px; }
.cont-customizer .undo,
.cont-customizer #color-picker-descriptions,
.cont-customizer #colori_montature:empty { display: none !important; }

.cz-summary,
.cz-card { margin: 20px 0 0; }

.cz-row,
.cont-customizer #lens-picker .cz-row {
    display: flex;
    gap: 14px;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}
.cz-row::-webkit-scrollbar { display: none; }
.cz-row-nav { display: none; }
@media (hover: hover) and (pointer: fine) {
    .cz-row-nav:not([hidden]) {
        position: absolute;
        left: 0;
        right: 0;
        display: flex;
        align-items: center;
        pointer-events: none;
    }
    .cz-row-nav button {
        width: 30px;
        height: 30px;
        padding: 0;
        border: 0;
        border-radius: 50%;
        background: #fff;
        box-shadow: #ccc 0 1px 4px;
        color: #013E6B;
        font-size: 24px;
        line-height: 30px;
        pointer-events: auto;
        cursor: pointer;
    }
    .cz-row-nav button[hidden] { display: none; }
    .cz-row-nav .cz-next { margin-left: auto; }
}
.cz-scroll-line {
    display: block;
    position: relative;
    height: 3px;
    margin: 16px 0 0;
    border-radius: 2px;
    background: #D9D9D9;
}
.cz-scroll-line[hidden] { display: none; }
.cz-scroll-line > span {
    position: absolute;
    left: 0;
    width: 85px;
    height: 3px;
    border-radius: 2px;
    background: #2C333A;
}

.cont-customizer #lens-picker #coating label,
.cont-customizer #lens-picker #opacity-values li {
    display: flex;
    flex: 0 0 170px;
    align-items: center;
    justify-content: center;
    height: 40px;
    margin: 0;
    padding: 0 12px;
    border: 1px solid #D9D9D9;
    border-radius: 5px;
    box-shadow: none;
    background: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 20px;
    white-space: nowrap;
    color: #2C333A;
}
.cont-customizer #lens-picker #coating label.selected,
.cont-customizer #lens-picker #opacity-values li.selected {
    border-color: #013E6B;
    font-weight: 500;
    color: #013E6B;
}
.cont-customizer #lens-picker label.new::after { display: none; }

.cz-intro-title,
.cz-intro-subtitle { display: block; }
.cz-intro-title { font-size: 18px; font-weight: 500; line-height: 26px; color: #013E6B; }
.cz-intro-subtitle { margin-top: 4px; font-size: 14px; line-height: 20px; color: #414A55; }
body:not(.cz-open) .cz-card { padding: 16px 16px 22px; border-radius: 10px; background: #F6F6F6; cursor: pointer; }
body:not(.cz-open) .cz-configured .cz-card,
body:not(.cz-open) .cz-back,
body:not(.cz-open) .cz-info,
body:not(.cz-open) .cz-step-value,
body:not(.cz-open) .cz-step:not([data-step="coating"]):not([data-step="color"]),
body.cz-open .cz-intro { display: none !important; }
body:not(.cz-open) .cont-customizer #lens-picker { padding: 0; }
body:not(.cz-open) .cz-step { margin: 16px 0 0; }
body:not(.cz-open) .cz-step-head { margin-bottom: 10px; }
body:not(.cz-open) .cz-step-title { font-size: 14px; line-height: 20px; }
body:not(.cz-open) .cz-step-title::before { display: none; }

.cz-summary { display: none; padding: 16px; border-radius: 6px; background: #EEEEEE; }
.cz-configured .cz-summary { display: block; }
.cz-summary .cz-intro-title { font-size: 17px; line-height: 24px; }
.cz-summary-list { display: grid; gap: 0; margin: 9px 0 0; padding: 0; list-style: none; }
.cont-customizer .cz-summary-list li { display: flex; align-items: center; gap: 4px; font-size: 13px !important; font-weight: 500; line-height: 22.5px; color: #2C333A; }
.cz-summary-list li span { display: inline-flex; align-items: center; gap: 6px; }
.cz-summary-swatch { width: 15px; height: 15px; margin: 0 4px 0 5px; border-radius: 50%; }
.cz-summary-actions { display: flex; justify-content: center; gap: 16px; margin-top: 10px; padding-top: 14px; border-top: 1px solid #B5B5B5; }
.cz-summary-actions button {
    width: 132px;
    height: 33px;
    padding: 0 12px;
    border: 1px solid #8A8A8A;
    border-radius: 4px;
    background: none;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    color: #7B7B7B;
}
.cz-summary-edit-icon { display: none; }

.cz-back {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 20px;
    padding: 0;
    border: 0;
    background: none;
    font-size: 16px;
    line-height: 24px;
    color: #2C333A;
}
.cz-back::before {
    content: '';
    width: 8px;
    height: 8px;
    margin-left: 3px;
    border: solid #2C333A;
    border-width: 0 0 1.5px 1.5px;
    transform: rotate(45deg);
}
.cont-customizer #lens-picker { margin: 0; padding: 0 16px; counter-reset: cz-step; }

.cz-step { position: relative; counter-increment: cz-step; margin: 0 0 36px; }
.cz-step-head {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
}
.cz-step-title { font-size: 16px; font-weight: 500; line-height: 22px; color: #2C333A; }
.cz-step-title::before {
    content: counter(cz-step);
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 12px;
    border-radius: 50%;
    background: #013E6B;
    vertical-align: 1px;
    text-align: center;
    font-size: 12px;
    font-weight: 400;
    line-height: 20px;
    color: #fff;
}
.cz-step[data-step="brand"] .cz-step-value { text-transform: uppercase; }

.cz-info {
    position: relative;
    flex: none;
    width: 16px;
    height: 16px;
    padding: 0;
    border: 0;
    background: url("../image/info.svg") center / contain no-repeat;
    cursor: pointer;
}
.cz-tooltip {
    position: absolute;
    z-index: 20;
    left: 0;
    bottom: calc(100% + 10px);
    width: 286px;
    max-width: 100%;
    padding: 14px 22px;
    border-radius: 10px;
    background: #2C333A;
    text-align: left;
    font-size: 13px;
    font-weight: 500;
    line-height: 17px;
    white-space: normal;
    color: #fff;
}
.cz-tooltip::after {
    content: '';
    position: absolute;
    top: 100%;
    left: var(--arrow);
    margin-left: -7px;
    border: 7px solid transparent;
    border-top-color: #2C333A;
}

.cont-customizer #lens-picker-toggle-wrapper { display: block; margin: -6px 0 0; }
.cont-customizer #lens-picker-toggle-description { margin: 0 0 15px; font-size: 14px; line-height: 20px; color: #2C333A; }
.cont-customizer #lens-picker-toggle-description .info { display: none !important; }
.cont-customizer #lens-picker-toggle {
    display: flex;
    gap: 14px;
    width: auto;
    min-width: 0;
    height: auto;
    border-radius: 0;
    background: none;
    line-height: normal;
}
.cont-customizer #lens-picker-toggle-selector { display: none; }
.cont-customizer #lens-picker-toggle .lens-picker-toggle-item {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    height: 40px;
    margin: 0;
    border: 1px solid #D9D9D9;
    border-radius: 5px;
    background: #fff;
    font-size: 14px;
    font-weight: 400;
    color: #2C333A;
}
.cont-customizer #lens-picker-toggle .lens-picker-toggle-item:first-of-type { order: 2; }
.cont-customizer #lens-picker-toggle .lens-picker-toggle-item-selected { border-color: #013E6B; font-weight: 500; color: #013E6B; }

.cont-customizer #lens-picker #color-picker {
    gap: 24px;
    min-height: 0;
    padding: 5px 5px 5px 6px;
}
.cont-customizer #lens-picker #color-picker:has(.color-picker-category) { padding-top: 27px; }
.cont-customizer #lens-picker #color-picker { transition: opacity .2s ease-out; }
.cont-customizer #lens-picker #color-picker.cz-loading { opacity: .3; pointer-events: none; }
.cont-customizer #lens-picker #color-picker label { flex: none; width: 28px; padding: 0; }
.cont-customizer #lens-picker #color-picker label > span { display: none; }
.cont-customizer #lens-picker #color-picker img {
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
}
.cont-customizer #lens-picker #color-picker label.selected img { box-shadow: 0 0 0 2px #fff, 0 0 0 4px #013E6B; }
.cont-customizer #lens-picker #color-picker .color-picker-separator { display: none; }
.cont-customizer #lens-picker #color-picker .color-picker-separator-border {
    flex: none;
    width: 1px;
    height: 25px;
    margin: 4px 0 0;
    background: #A5A5A5;
}
.cont-customizer #lens-picker #color-picker .color-picker-category {
    flex: 0 0 0;
    width: 0;
    margin: -24px -24px 0 0;
    font-size: 10px;
    font-weight: 500;
    line-height: 14px;
    color: #929292;
}

.cont-customizer #lens-picker #opacity-container[data-off] { display: none !important; }
.cont-customizer #lens-picker #opacity-container { margin: 0 0 36px; }
.cont-customizer #lens-picker #opacity { display: none; }
.cont-customizer #lens-picker #opacity-values { justify-content: flex-start; gap: 14px; margin: 0; padding: 0; }
.cont-customizer #lens-picker #opacity-values li { flex-basis: auto; flex-direction: row-reverse; gap: 4px; width: auto; padding: 0 16px; }
.cont-customizer #lens-picker #opacity-values li span { display: inline; font-size: 14px; }

.cz-step-engraving { margin: 0 -16px 36px; padding: 0 16px; border-radius: 5px; background: #EFEFEF; }
.cz-step-engraving:not(:has(.engraving-on)) { display: none; }
.cz-step-engraving { animation: cz-in .3s ease-out; }
.cz-step-engraving > .cz-step-head { height: 53px; margin: 0; cursor: pointer; }
.cz-step-engraving .cz-step-value { display: none; }
.cz-step-engraving > .cz-step-head::after {
    content: '';
    width: 9px;
    height: 9px;
    margin: 0 4px 0 auto;
    border: solid #2C333A;
    border-width: 2px 2px 0 0;
    transform: rotate(-45deg);
}
.cz-step-engraving > .cz-step-head[aria-expanded="true"]::after { transform: rotate(135deg); }
.cz-step-engraving > [aria-expanded="false"] + #engraving-customizer { display: none; }
#engraving-customizer { padding: 0 0 22px; }

#engraving-controls :is([class*="_slotRows_"], [class*="_slotGrid_"]) { display: flex; flex-direction: column; gap: 20px; }
#engraving-controls :is([class*="_slot_"], [class*="_slotOpen_"]) { padding: 0; border: 0; border-radius: 0; background: none; }
#engraving-controls :is([class*="_slotEmpty_"], [class*="_slotField_"]) {
    display: flex;
    flex-direction: row;
    gap: 0;
    align-items: center;
    width: 100%;
    height: 46px;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    text-align: left;
}
#engraving-controls :is([class*="_slotOpen_"], [class*="_slot_"]) > [class*="_slotLabel_"],
#engraving-controls [class*="_slotStep_"],
#engraving-controls [class*="_fontPickerArrow_"] { display: none; }
#engraving-controls :is([class*="_slotEmpty_"] [class*="_slotLabel_"], [class*="_textInputShell_"], [class*="_slotValue_"]) {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    height: 46px;
    min-width: 0;
    margin: 0;
    padding: 0 0 0 14px;
    border: 2px solid #fff;
    border-right: 0;
    border-radius: 5px 0 0 5px;
    background: #fff;
    font-size: 16px;
    line-height: 20px;
    color: #2C333A;
}
#engraving-controls [class*="_slotField_"] > [class*="_slotValue_"] { border: 2px solid #013E6B; border-radius: 5px; }
#engraving-controls [class*="_slotField_"] > [class*="_textInputShell_"] { padding: 0; }
#engraving-controls [class*="_slotValuePreview_"] { font-size: 16px; }
#engraving-controls input[class*="_textInput_"] { height: 42px; border: 1px solid transparent; font-size: 16px; }
#engraving-controls input[class*="_textInput_"]::placeholder { font-size: 14px; }
#engraving-controls :is([class*="_slotEmpty_"] [class*="_slotAdd_"], [class*="_fontPickerTrigger_"]) {
    position: relative;
    display: flex;
    flex: 0 0 77px;
    align-items: center;
    justify-content: flex-start;
    height: 46px;
    margin: 0;
    padding: 0 0 0 14px;
    border: 2px solid #fff;
    border-left: 0;
    border-radius: 0 5px 5px 0;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232C333A' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 10px center / 10px 6px !important;
    font-size: 0;
}
#engraving-controls [class*="_fontPicker_"] { flex: 0 0 77px; height: 46px; }
#engraving-controls [class*="_slotEmpty_"] [class*="_slotAdd_"]::after { content: 'Abc'; font-size: 16px; color: #2C333A; }
#engraving-controls :is([class*="_slotEmpty_"] [class*="_slotAdd_"], [class*="_fontPickerTrigger_"])::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 1px;
    background: #D9D9D9;
}
#engraving-controls [class*="_fontPickerSample_"] { width: 40px; height: 24px; }
#engraving-controls [class*="_slotOpen_"] :is([class*="_textInputShell_"], [class*="_fontPickerTrigger_"]) { border-color: #013E6B; }
#engraving-controls [class*="_slotPrice_"] {
    display: block;
    flex: 0 0 69px;
    margin-left: 4px;
    font-size: 14px;
    line-height: 20px;
    white-space: nowrap;
    color: #A5A5A5;
}
#engraving-controls [class*="_slotPrice_"][data-added] { font-weight: 500; color: #013E6B; }
#engraving-controls [class*="_slotEmpty_"]::after,
#engraving-controls [class*="_slotField_"]:not(:has(:is([class*="_slotConfirm_"], [class*="_slotRemove_"])))::after,
#engraving-controls :is([class*="_slotConfirm_"], [class*="_slotRemove_"]) {
    content: '';
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    margin: 0 0 0 4px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-size: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23A5A5A5' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm4.6-12.4L10 14.2l-2.6-2.6L6 13l4 4 8-8z'/%3E%3C/svg%3E") center / 21px 21px no-repeat;
}
#engraving-controls [class*="_slotConfirm_"] { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23013E6B' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm4.6-12.4L10 14.2l-2.6-2.6L6 13l4 4 8-8z'/%3E%3C/svg%3E") center / 21px 21px no-repeat; }
#engraving-controls [class*="_slotRemove_"] { background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23013E6B' d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 18a8 8 0 1 1 0-16 8 8 0 0 1 0 16zm2.6-12L12 10.6 9.4 8 8 9.4l2.6 2.6L8 14.6 9.4 16l2.6-2.6 2.6 2.6 1.4-1.4-2.6-2.6L16 9.4z'/%3E%3C/svg%3E") center / 21px 21px no-repeat; }
#engraving-controls [class*="_fontPickerMenu_"] { top: auto; bottom: calc(100% + 6px); width: 280px; }

.pdp-new-design #engraving-stage,
.pdp-new-design .cz-flat-switch,
#engraving-stage [class*="_viewToggle_"] { display: none; }
#engraving-stage [class*="_previewExpand_"] { cursor: default; }
@supports (-webkit-touch-callout: none) {
    #engraving-stage text { filter: none; }
}
body:is(.cz-open.cz-engraving, .cz-engraved:not(.cz-photo-off)) .pdp-new-design #engraving-stage:not([hidden]) {
    display: block;
    position: absolute;
    z-index: 4;
    inset: 0;
    height: auto !important;
    background: #fff;
}
body:not(.cz-open) .pdp-new-design #engraving-stage { pointer-events: none; }
body.cz-engraved:not(.cz-engraving) .pdp-new-design .additional-carousel > .button-container { z-index: 5; }
body.cz-open.cz-engraving .pdp-new-design #engraving-stage:not([hidden]) ~ .cz-flat-switch {
    display: flex;
    position: absolute;
    z-index: 5;
    top: 10px;
    left: 50%;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    transform: translateX(-50%);
    font-size: 14px;
    line-height: 20px;
    color: #A5A5A5;
}
.cz-flat-switch::before {
    content: '';
    width: 36px;
    height: 20px;
    border-radius: 10px;
    background: #D9D9D9 radial-gradient(circle at 10px 50%, #fff 7px, transparent 8px);
}
.cz-flat-switch[aria-checked="true"] { color: #013E6B !important; }
.cz-flat-switch[aria-checked="true"]::before { background: #013E6B radial-gradient(circle at 26px 50%, #fff 7px, transparent 8px); }
.fancybox-engraving-preview .engraving-preview-overlay { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }

body.cz-open .pdp-new-design .cz-title-row,
body.cz-open .pdp-new-design .product-subtitle,
body.cz-open .pdp-new-design #versioni,
body.cz-open .pdp-new-design #product > :not(.cont-customizer) { display: none; }
body.cz-open .pdp-new-design .cz-card { margin: 0; }
@media (min-width: 768px) {
    body.cz-open .cont-customizer #lens-picker { padding: 0; }
    body.cz-open .cz-step-engraving { margin-left: 0; margin-right: 0; }
    body.cz-open .cz-open-wishlist { right: 0; }
}
body.cz-open .pdp-new-design #additional-carousel .owl-nav { display: none !important; }
body.cz-open .pdp-new-design #additional-carousel .owl-stage-outer { pointer-events: none; }

.pdp-new-design #buttons-container .blocco-prezzi { text-align: center; }
.pdp-new-design #buttons-container .omnibus.hide { display: block !important; }
.pdp-new-design #buttons-container .omnibus.hide > :not(.iva-inclusa) { display: none !important; }
.pdp-new-design #buttons-container .blocco-prezzi > div { display: flex; align-items: center; justify-content: center; gap: 11px; }

@media (max-width: 767px) {
    .pdp-new-design .additional-carousel { background: #fff; box-shadow: 0 3px 3px rgba(0, 0, 0, .1); }
    .pdp-new-design .product-info #additional-carousel .owl-stage-outer { margin: 0; }
    body:has(.pdp-new-design) .popup-taglie {
        position: fixed !important;
        z-index: 1002;
        top: auto !important;
        bottom: var(--cz-buybar, 0px) !important;
        left: 0 !important;
        width: 100% !important;
        transform: none !important;
        border-radius: 12px 12px 0 0;
        box-shadow: 0 -4px 16px rgba(0, 0, 0, .15);
    }
    body:has(.pdp-new-design) .popup-taglie.show { max-height: 70vh; overflow-y: auto; }
    body:has(.pdp-new-design) .popup-taglie > div { padding: 14px 0 8px; border: 0; }
    body:has(.pdp-new-design) .popup-taglie .row { margin: 0 20px; padding: 14px 0; }
    .pdp-new-design #additional-carousel img { height: auto !important; }
    .pdp-new-design #additional-carousel img.cz-worn { width: 100% !important; max-height: none; aspect-ratio: var(--cz-crop, auto); }
    body.cz-open .pdp-new-design #additional-carousel .owl-item:not(.active) img { display: none; }
    body.cz-open .pdp-new-design .product-info { min-height: var(--cz-photo, 0px) !important; }
    .pdp-new-design .additional-carousel > .button-container {
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        right: 0;
        padding: 10px 12px 0;
        pointer-events: none;
    }
    .pdp-new-design .additional-carousel > .button-container > #viewer-button,
    .pdp-new-design .additional-carousel > .button-container > #vto-button {
        height: 28px;
        padding: 0 10px 0 38px;
        border-radius: 14px;
        background-color: rgba(255, 255, 255, .85);
        background-position: 10px center;
        line-height: 28px;
        pointer-events: auto;
    }
    .pdp-new-design #additional-carousel .owl-nav .owl-prev { display: none; }
    .pdp-new-design .product-right { padding: 20px 14px 0; border-left: 0; }
    #product-product.pdp-new-design .cz-title-row .product-title { font-size: 20px; line-height: 28px; }
    .pdp-new-design #versioni .box-heading { font-size: 16px; }

    body.cz-open { padding-top: 40px; }
    body.cz-open .header,
    body.cz-open .gray-container > .white-background,
    body.cz-open #footer-wrapper,
    body.cz-open .pdp-new-design .product-right > :not(.scrollable):not(#buttons-container) { display: none; }
    body.cz-open .gray-container { border-top: 0; }
    .cz-back {
        position: fixed;
        z-index: 1001;
        top: 0;
        left: 0;
        right: 0;
        height: 40px;
        margin: 0;
        padding: 0 14px;
        background: #fff;
        font-size: 14px;
    }
    body.cz-open .pdp-new-design .additional-carousel {
        position: fixed;
        z-index: 1000;
        top: 40px;
        left: 0;
        right: 0;
        min-height: 0;
    }
    body.cz-open.cz-typing .pdp-new-design #buttons-wrapper { display: none; }
    body.cz-open.cz-typing .cz-flat-switch { visibility: hidden; }
    body.cz-open.cz-typing .cz-back { transform: translateY(var(--vv-top, 0px)); }
    body.cz-open .cz-open-wishlist { position: fixed; z-index: 1002; top: 8px; right: 14px; }
    body.cz-open.cz-typing .cz-open-wishlist { transform: translateY(var(--vv-top, 0px)); }
    body.cz-open.cz-typing .pdp-new-design .additional-carousel {
        position: fixed;
        z-index: 1000;
        top: calc(40px + var(--vv-top, 0px));
        left: 0;
        right: 0;
    }
    body.cz-open.cz-typing #engraving-controls {
        position: fixed;
        z-index: 1;
        top: calc(40px + var(--cz-photo, 0px) + var(--vv-top, 0px));
        left: 0;
        right: 0;
        bottom: 0;
        padding: 0 30px;
        overflow: hidden;
        background: #EFEFEF;
        animation: cz-in .2s ease-out;
    }
    body.cz-open.cz-typing #engraving-controls > [class*="_controls_"] { transform: translateY(calc(16px - var(--cz-row, 0px))); }
    body.cz-open.cz-typing #engraving-customizer { min-height: var(--cz-sheet, 0px); }
    body.cz-settling #engraving-customizer::before {
        content: '';
        position: fixed;
        z-index: 1;
        top: calc(40px + var(--cz-photo, 0px));
        left: 0;
        right: 0;
        bottom: 0;
        background: #EFEFEF;
        pointer-events: none;
        animation: cz-out .3s ease-out both;
    }
    body.cz-settling #engraving-controls { position: relative; z-index: 2; }
    body.cz-settling .pdp-new-design #buttons-wrapper { animation: cz-rise .3s ease-out both; }
    body.cz-settling .cz-flat-switch { animation: cz-in .3s ease-out both; }
    body.cz-open.cz-typing #engraving-controls [class*="_fontPickerMenu_"] { top: calc(100% + 6px); bottom: auto; }
    body:not(.cz-open) .pdp-new-design .additional-carousel.fixed { position: relative; top: auto; z-index: auto; }
    body.cz-open .pdp-new-design .product-right { padding-top: 12px; }
    .cont-customizer #lens-picker-toggle .lens-picker-toggle-item { font-size: 12px; }
    .cont-customizer #lens-picker #coating label { font-size: 13px !important; }

    body:has(.pdp-new-design) { padding-bottom: 144px; }
    .pdp-new-design #buttons-container { margin: 0; min-height: 0 !important; }
    .pdp-new-design #buttons-wrapper {
        position: fixed;
        z-index: 10;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0;
        padding: 10px 14px 16px;
        background: #fff;
        box-shadow: 0 -3px 3px rgba(0, 0, 0, .1);
    }
    .pdp-new-design #buttons-container .blocco-prezzi { margin: 0; padding: 0; }
    #product-product.pdp-new-design #content #buttons-container ul.list-unstyled.price,
    #product-product.pdp-new-design #content #buttons-container ul.list-unstyled.price li { margin: 0 !important; padding: 0; line-height: 26px; }
    .pdp-new-design #buttons-container .product-price { margin: 0; font-size: 18px !important; font-weight: 500; line-height: 26px; }
    .pdp-new-design #buttons-container .iva-inclusa,
    .pdp-new-design #buttons-container .omnibus { margin: 0; line-height: 18px; }
    .pdp-new-design #buttons-container .iva-inclusa span { margin: 0; color: #A5A5A5; }
    .pdp-new-design #buttons-container .blocco-addcart { display: flex; gap: 12px; margin: 12px 0 0; padding: 0; }
    .pdp-new-design #buttons-container .blocco-addcart > .btn {
        flex: 1 1 0;
        width: auto;
        height: 54px;
        margin: 0;
        padding: 0 22px !important;
        border-radius: 5px;
        font-size: 12px;
        line-height: 16px;
        white-space: normal;
    }
    .pdp-new-design #buttons-container #button-oftalmiche { order: -1; border: 2px solid #013E6B; }
    .pdp-new-design #buttons-container .row-spec.consegna { display: flex; align-items: center; justify-content: center; margin: 10px 0 0; padding: 0; border: 0; }
    .pdp-new-design #buttons-container .row-spec.consegna div { font-size: 12px; font-weight: 500; line-height: 16px; text-align: center; color: #2C333A; }
    .pdp-new-design #buttons-container .row-spec.consegna div span { display: inline; font-size: inherit; font-weight: 400; }
}

@media (min-width: 768px) {
    .pdp-new-design .product-info .additional-carousel #actionsleft { z-index: 2; top: auto; bottom: 16px; left: 32px; }
    .pdp-new-design .additional-carousel > .button-container {
        position: absolute;
        z-index: 2;
        top: 0;
        left: 0;
        right: 0;
        padding: 16px 32px 0;
        pointer-events: none;
    }
    .pdp-new-design .additional-carousel > .button-container > #viewer-button,
    .pdp-new-design .additional-carousel > .button-container > #vto-button {
        height: 36px;
        padding: 0 16px 0 46px;
        border-radius: 18px;
        background-color: rgba(255, 255, 255, .85);
        background-position: 14px center;
        font-size: 16px;
        line-height: 36px;
        pointer-events: auto;
    }
    .pdp-new-design .additional-carousel { margin-top: -10px; }
    .pdp-new-design #additional-carousel .owl-stage { align-items: flex-start; }
    .pdp-new-design #additional-carousel .slider-item:has(img.cz-worn) { align-items: flex-start; }
    .pdp-new-design #additional-carousel img.cz-worn { max-height: 680px; }
    .pdp-new-design #versioni .cz-versioni-strip { gap: 34px; }

    .pdp-new-design #buttons-container .product-price { font-size: 24px !important; font-weight: 500; }

    .pdp-new-design #buttons-container .blocco-addcart { display: flex; flex-direction: column; gap: 10px; }
    .pdp-new-design #buttons-container .blocco-addcart > .btn {
        float: none;
        width: 100%;
        max-width: none;
        height: 46px;
        margin: 0;
        border-radius: 5px;
        font-size: 16px;
    }
    .pdp-new-design #buttons-container #button-oftalmiche { order: -1; border: 2px solid #013E6B; }
}
.pdp-new-design #additional-carousel img.cz-worn { object-fit: cover; object-position: center top; }
.pdp-new-design #buttons-container .row-spec.consegna i { display: none; }
.pdp-new-design #buttons-container .row-spec.consegna div > b { font-weight: 600; color: #016B53; }
@media (min-width: 768px) {
    .pdp-new-design #buttons-container .row-spec.consegna { justify-content: center; margin: 0 0 15px; text-align: center; }
    .pdp-new-design #buttons-container .row-spec.consegna div { font-size: 16px; line-height: 22px; color: #2C333A; }
    .pdp-new-design #buttons-container .row-spec.consegna div span { font-size: 14px; }
}
@media (min-width: 992px) {
    .pdp-new-design #additional-carousel .owl-stage { align-items: stretch; }
    .pdp-new-design #additional-carousel .owl-item > .slider-item { height: 100%; }
    .pdp-new-design .product-info #additional-carousel .slider-item { height: max(400px, calc(100vh - var(--cz-gallery-top, 120px) - var(--cz-gallery-below, 190px))); min-height: 0 !important; max-height: none; }
    .pdp-new-design .product-info .additional-carousel { container-type: inline-size; }
    .pdp-new-design .product-info #additional-carousel.cz-has-worn .slider-item { height: min(calc(100cqw / var(--cz-ratio, 1.3333)), max(400px, calc(100vh - var(--cz-gallery-top, 120px) - var(--cz-gallery-below, 190px)))); }
    .pdp-new-design .product-left > #versioni { margin: 0; padding: 0 46px 20px; }
    .pdp-new-design .product-left > #versioni .box-heading { text-align: center; }
    .pdp-new-design .product-left > #versioni .cz-versioni-strip > :first-child { margin-left: auto; }
    .pdp-new-design .product-left > #versioni .cz-versioni-strip > :last-child { margin-right: auto; }
    .pdp-new-design .product-left > #versioni .cz-versioni-strip { gap: 30px; }
    .pdp-new-design .product-left > #versioni .cz-versioni-strip .slider-item { flex-basis: 200px; }
    .pdp-new-design .product-left > #versioni .cz-versioni-strip .image img { width: 200px; height: 100px; }
    .pdp-new-design #additional-carousel .slider-item:has(img.cz-worn) > a { width: 100%; height: 100%; }
    .pdp-new-design #additional-carousel img.cz-worn { width: 100% !important; height: 100% !important; max-height: none; }
}
@media (min-width: 1200px) {
    .pdp-new-design .product-left { width: calc(100% - max(28%, 440px)); }
    .pdp-new-design .product-right { width: max(28%, 440px); }
}
@media (min-width: 992px) and (hover: none) and (pointer: coarse) {
    .pdp-new-design .product-left { width: 55%; }
    .pdp-new-design .product-right { width: 45%; }
}

.cz-summary,
.cz-card { view-transition-name: cz-card; }
.pdp-new-design .additional-carousel { view-transition-name: cz-gallery; }
.pdp-new-design #buttons-wrapper { view-transition-name: cz-buybar; }
body.cz-open .cz-back { view-transition-name: cz-back; }
html.cz-swap .cz-summary,
html.cz-swap .cz-card { view-transition-name: none; }
@media (min-width: 768px) {
    html.cz-swap body > .header { view-transition-name: cz-header; }
}
@media (max-width: 767px) {
    html.cz-swap .pdp-new-design .additional-carousel { view-transition-name: none; }
    html.cz-swap .pdp-new-design #engraving-stage,
    html.cz-swap body:not(:is(.cz-open.cz-engraving, .cz-engraved:not(.cz-photo-off))) .pdp-new-design #additional-carousel .owl-item:not(.cloned) a:has(> .img-main),
    html.cz-swap .pdp-new-design .additional-carousel:has(> #engraving-stage[hidden]) #additional-carousel .owl-item:not(.cloned) a:has(> .img-main) { view-transition-name: cz-gallery; }
    html.cz-swap .pdp-new-design .additional-carousel > .button-container { view-transition-name: cz-tools; }
}
::view-transition-group(*) { animation-duration: .3s; animation-timing-function: ease-out; }
::view-transition-group(cz-card) { overflow: clip; border-radius: 10px; }
::view-transition { pointer-events: none; }
html.cz-swap::view-transition-old(root) { animation: cz-out .12s ease-out both; }
html.cz-swap::view-transition-new(root) { animation: cz-rise-in .22s ease-out .08s both; }
html.cz-plain body.cz-open .pdp-new-design .additional-carousel,
html.cz-plain body.cz-open .cz-card { animation: cz-in .25s ease-out; }
.pdp-new-design #additional-carousel a:has(> .img-main) { position: relative; display: block; }
.pdp-new-design #additional-carousel .cz-photo-ghost {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    pointer-events: none;
    transition: opacity .25s ease-out;
}
.pdp-new-design #additional-carousel .cz-photo-ghost.cz-photo-out { opacity: 0; }
@keyframes cz-in { from { opacity: 0; } }
@keyframes cz-rise-in { from { opacity: 0; transform: translateY(12px); } }
@keyframes cz-out { to { opacity: 0; } }
@keyframes cz-rise { from { translate: 0 100%; } }
