#image-block,
#image-block-viewer2d,
#image-block-builder2d {
    margin-bottom: 10px;
}

.pb-left-column #thumbs_list {
    width: 200px;
}

.pb-left-column #image-block #view_full_size .span_link,
.pb-left-column #image-block-viewer2d #view_full_size-viewer2d .span_link {
    z-index: 5000;
}

.pb-left-column #image-block img,
.pb-left-column #image-block-viewer2d img {
    background: none !important;
}

#configurator_preview {
    z-index: 6000;
}

#configurator_preview.loading:not(.scroll-to-fixed-fixed) {
    position: relative !important;
}

@media(max-width: 992px) {

    #configurator_preview_clear::before,
    #configurator_preview_clear::after {
        content: " ";
        display: table;
    }

    #configurator_preview_clear::after {
        clear: both;
    }

    #configurator_preview_clear::before,
    #configurator_preview_clear::after {
        content: " ";
        display: table;
    }
}

#configurator_preview {
    width: 100%;
}

#configurator_block .bloc-infos-text {
    margin: 15px 0px;
}

#configurator_block .bloc-infos-text p {
    font-weight: 600;
    margin: 15px 0px;
}

#configurator_block .error-step,
#configurator_block .info_text,
#configurator_block .info-step {
    color: #f13340;
}

#configurator_block .step_list label.title {
    display: block;
    padding: 0px;
    text-align: left;
    margin-bottom: 0px;
}

#configurator_block .step_list label.title sup {
    display: none !important;
}

#configurator_block .step_list label .step_title {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1rem;
    margin-bottom: 0;
    padding: 7px 0;
    text-transform: uppercase;
}

#configurator_block .step_list label .step_title .material-icons {
    margin-left: -30px;
}

#configurator_block input[type=number]::-webkit-outer-spin-button#configurator_block input[type=number]::-webkit-outer-spin-button,
#configurator_block input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: inner-spin-button !important;
}

.dmicons:after {
    content: "";
    background: url(../img/icon/chevron_right.png) no-repeat 0px 0px / 10px 10px;
    display: block;
    position: absolute;
    z-index: 1;
    width: 10px;
    height: 10px;
    left: -12px;
    top: 10px;
}

#configurator_block sup {
    font-weight: normal;
    color: #f13340;
    font-size: 17px;
    top: -3px;
}

#configurator_block .display-step-amount {
    background: white none repeat scroll 0 0;
    border: 1px solid #c8c8c8;
    border-radius: 3px;
    color: #333;
    display: inline-block;
    float: right;
    font-size: 14px;
    top: -2px;
    padding: 3px;
    position: relative;
    min-width: 100px;
    text-align: center;
}

#configurator_block .display-step-amount::before {
    background: rgba(0, 0, 0, 0) linear-gradient(to right, #fff 0%, #d2d2d2 100%) repeat scroll 0 0;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    right: 100%;
    top: 50%;
    width: 100%;
}

#configurator_block .page-heading {
    margin-top: 0;
}

#configurator_block .page-heading .required {
    text-transform: none;
    font-size: 14px;
    font-weight: normal;
}

#configurator_block .step_list div>span {
    top: 0;
}

#configurator_block .info,
#configurator_block .info-fb {
    cursor: pointer;
    padding: 2px 4px;
    margin-left: 3px;
    font-size: 12px;
    background: #2fb5d2;
    color: white;
    border-radius: 3px;
    font-weight: normal;
}

#configurator_block .option_block {
    cursor: pointer;
    font-size: 15px;
    margin: 0px 1px 1px 0px;
    position: relative;
    text-align: center;
}

#configurator_block .option_block .configurator-zoom {
    position: absolute;
    background: #c46200;
    bottom: 27px !important;
    top: auto !important;
    width: 48px;
    height: 33px;
    right: 0;
    color: #fff;
    font-size: 16px;
    padding: 4px 5px;
    cursor: pointer;
    display: none;
}

#configurator_block .option_block:hover .configurator-zoom {
    display: block;
}

#configurator_block .option_block.color:hover .configurator-zoom {
    display: none;
}

#configurator_block .quantity_wanted input {
    margin: 0 auto;
    text-align: center;
}

#configurator_block .custom .quantity_wanted input {
    max-width: 175px;
}

#configurator_block .quantity_wanted input.qty-inline {
    margin: 0;
    display: inline-block;
}

#configurator_block .option label {
    cursor: pointer;
}

#configurator_block .option .quantity_wanted {
    display: inline-block;
    position: relative;
    top: 10px;
    margin: 0;
}

#configurator_block .option_block .quantity_wanted {
    margin-bottom: 0;
}

#configurator_block .label.totalprice {
    font-size: 92%;
}

#configurator_block .option_block .label.totalprice {
    margin-top: 15px;
}

#configurator_block .option_block.custom.selected .label.totalprice {
    margin-top: 11px;
}

#configurator_block .option_block.colortexture .label.totalprice {
    max-width: 113px;
}

#configurator_block .option_block .option_block_content {
    position: relative;
    margin: 0 auto;
}

#configurator_block .option_block .option_block_content .label {
    display: block;
    margin-left: 0;
    margin-top: 15px;
}

#configurator_block .option_block .option_block_content .label:empty {
    display: none;
}

#configurator_block .option_group .label {
    padding: 3px;
}

#configurator_block .option_group.disabled::after {
    content: '';
    background: #000;
    opacity: 0.1;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99999;
    cursor: no-drop;
}

#configurator_block .option_block.colortexture .option_block_content .label {
    display: none;
    bottom: 23px;
    font-size: 14px;
    margin: 0;
    position: absolute;
    right: 5px;
    top: auto;
    z-index: 1;
    color: #fff;
}

#configurator_block .step_group .table .row-title {
    display: block;
    text-align: right;
}

#configurator_block .step_group .table .col-title {
    display: block;
    text-align: left;
}

#configurator_block .step_group .table thead>tr>td,
#configurator_block .step_group .table tbody>tr>td.table-cell {
    text-align: center;
    padding-left: 8px;
    vertical-align: middle;
    line-height: 9px;
}

#configurator_block .step_group td.selected {
    background-color: #ddf9e1;
    color: #35b33f;
}

#configurator_block .step_group td.table-cell {
    cursor: pointer;
}

#configurator_block .option_block.selected .option_block_content {}

#configurator_block .option_block.selected .option_block_content::after {
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAOCAYAAAAi2ky3AAAAiElEQVQokaXPwQ3DMAgF0D9LVugKhItlxvBOHQBbynBeITm0qSKRpOAg/dvnCYDBYZXCml6j+wCAucnCTVauuZMmeobsqbmHLzPIHpXyK7FKIU1TFJmbLLb0+dlgMeTw8xFzIQDANXdT/GJuBABIE51iFzlFotgt4sVcyD8shFxhQ4jF8tu7swGui+otf3QUOQAAAABJRU5ErkJggg==);
    border-radius: 30px;
    bottom: 33px;
    color: #c46200;
    content: " ";
    display: block;
    font-family: "FontAwesome";
    font-size: 25px;
    position: absolute;
    left: 10px;
    z-index: 3;
    height: 30px;
    width: 30px;
    background-repeat: no-repeat;
    border: 2px solid #46a74e;
    background-color: white;
    background-position: center center;
}

.form-group.form-ok.quantity_wanted input.qty {
    background: none;
    background-color: #ddf9e1;
}

.form-group.form-error.quantity_wanted input.qty {
    background: none;
    background-color: #fff1f2;
    padding: 3px 5px;
}

#configurator_block .option_block.colortexture .option_block_content {
    height: auto;
    width: 100%;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}

#configurator_block .option_block.colortexture img {
    width: 100%;
    height: auto;
}

#configurator_block .option_block.custom {
    min-height: 175px;
    width: 125px;
}

#configurator_block .option_block .option_img>img {
    width: 100%;
}

#configurator_block .option_block.colortexture .option_img {
    width: 100px;
    height: 100%;
}

#configurator_block .option_block.selected .option_img {
    border: none;
}

#configurator_block .option_block.custom .option_img {
    height: 120px;
    overflow: hidden;
}

#configurator_block .option_block.custom .option_block_content {}

#configurator_block .option_block.selected .option_block_content {}

#configurator_block .step-color-texture .option_block {
    width: calc(25% - 1px);
    height: auto;
}

#configurator_block .gout-tiramisu-monvillers .step-color-texture .option_block {
    width: calc(33% - 1px);
    height: auto;
}

#configurator_block .gout-cookies-monvillers .step-color-texture .option_block {
    width: calc(33% - 1px);
    height: auto;
}

#configurator_block .gout-buches-monvillers .step-color-texture .option_block {
    width: calc(33% - 1px);
    height: auto;
}

#configurator_block .coffret-chocolat-monvillers .step-color-texture .option_block {
    width: calc(25% - 1px);
    height: auto;
}

#configurator_block .gout-chocolat-monvillers .step-color-texture .option_block {
    width: calc(14.28% - 1px);
    height: auto;
    background: #E5E1E6;
}

#configurator_block .gout-chocolat-monvillers .option_block.selected .option_block_content::after {
    right: 7px;
    bottom: 7px;
}

#configurator_block .step-color-texture .option_block .option_img {
    width: 100%;
    height: auto;
}

#configurator_block .option_block img {
    margin: 0 auto;
    max-height: 100%;
}

#configurator_block div.checker {
    display: inline-block;
}

#configurator_block .step_options hr {
    border-style: dashed none none;
}

#configurator_block .step_options.collapsing,
#configurator_block .step_options.in {
    padding-left: 25px;
}

#configurator_block .step_options.in {
    border-left: 2px solid #0074df;
}

#configurator_block>.col-md-3 {
    position: static;
}

#configurator_preview .dl-horizontal dt {
    text-align: left;
}

#configurator_preview .dl-horizontal dd {}

#configurator_preview .dl-final-price dt {}

#configurator_preview #old_price {
    font-weight: normal;
    font-size: 18px;
}

#configurator_preview #old_price {
    text-decoration: line-through;
}

#configurator_preview .list-group {
    max-height: auto;
    overflow: auto;
}

@media(max-width: 992px) {
    #configurator_preview #configurator-progress {
        display: none;
    }

    #configurator_preview .list-group {
        max-height: auto;
    }

    #configurator_preview .list-group .list-group-item {
        padding: 0px 10px;
    }

    #configurator_preview .list-group .list-group-item strong {
        display: inline-block;
    }
}

#configurator_preview .list-group-item strong {}

#configurator_preview .advantage {
    color: #b53930;
}

#configurator_preview dt.advantage {
    white-space: normal;
    margin-top: -5px;
}

#configurator_preview {
    margin-top: 15px;
}

#configurator_preview .dl-final-price dt {
    display: inline-block;
    width: 49%;
    font-size: 25px;
}

#configurator_preview .dl-final-price dd {
    display: inline-block;
    width: 50%;
    text-align: right;
    margin: 0;
}

.button.configure_link {
    font: 700 17px/21px Arial, Helvetica, sans-serif;
    color: #fff;
    text-shadow: 1px 1px rgba(0, 0, 0, 0.2);
    padding: 0;
    border: 1px solid;
    border-color: #0079b6 #006fa8 #012740 #006fa8;
    margin: 0 7px 10px;
}

.button.configure_link span {
    border: 1px solid;
    border-color: #06b2e6;
    padding: 10px 14px;
    display: block;
    background: #009ad0;
    background: -moz-linear-gradient(top, #009ad0 0%, #007ab7 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #009ad0), color-stop(100%, #007ab7));
    background: -webkit-linear-gradient(top, #009ad0 0%, #007ab7 100%);
    background: -o-linear-gradient(top, #009ad0 0%, #007ab7 100%);
    background: -ms-linear-gradient(top, #009ad0 0%, #007ab7 100%);
    background: linear-gradient(to bottom, #009ad0 0%, #007ab7 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#009ad0', endColorstr='#007ab7', GradientType=0);
}

.button.configure_link:hover {
    border-color: #01314e #004b74 #0079b6 #004b74;
}

.button.configure_link:hover span {
    filter: none;
    background: #0084bf;
}

#buy_block .configure_link {
    width: 80%;
    text-align: center;
    display: block;
    margin: 15px auto;
}

.our_price_display .from_price {
    display: block;
}

.buttons_container .form-group {
    margin: 0 5px 0 0 !important;
}

.buttons_container .form-group input {
    text-align: center;
}

.buttons_container label {
    margin: 0 5px 0 0 !important;
    font-size: 18px;
    line-height: 44px;
}

.buttons_container #form_add_configurator_to_cart {
    display: flex;
}

.configurator-qty {
    display: inline-flex;
    width: 0%;
}

.configurator-add {
    display: inline-flex;
    width: 100%;
}

.configurator-add button {
    width: 100%;
}

#quantity-configurator-label {
    display: inline-flex;
}

.configurator-qty .form-group {
    display: inline-flex;
    flex: auto;
}

.quantity-selector {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.quantity-btn {
    width: 40px;
    height: 44px;
    border: 1px solid #ddd;
    background: #f8f8f8;
    font-size: 18px;
    font-weight: normal;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.quantity-btn:hover {
    background: #e8e8e8;
}

#quantity-configurator {
    width: calc(100% - 80px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    text-align: center;
    border-left: none;
    border-right: none;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    margin: 0;
    -moz-appearance: textfield;
}

#quantity-configurator::-webkit-outer-spin-button,
#quantity-configurator::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#order .cart_description ul.configurator li strong {
    color: #525252;
}

.loading {
    position: relative;
}

.loading:before {
    content: "";
    display: block;
    background-color: rgb(255, 255, 255);
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9000;
    background-image: url("../img/loader.gif");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 35% auto;
}

#configurator-progress {
    height: 80px;
    margin: 25px auto;
    position: relative;
    width: 80px;
}

#configurator-progress:after {
    content: "";
    background: url('../img/progress-bg.png') no-repeat 0px 0px / 100px 100px;
    display: block;
    position: absolute;
    z-index: 1;
    width: 100px;
    height: 300px;
    top: -10px;
    left: -10px;
}

#configurator-progress strong,
#configurator-progress canvas {
    position: relative;
    z-index: 2;
    color: #8b7f76;
    text-shadow: 0px 1px 30px rgba(250, 245, 239, 0.5);
}

#configurator-progress strong {
    font-size: 25px;
    left: 0;
    position: absolute;
    text-align: center;
    top: 29px;
    width: 100%;
}

#configurator-tabs {
    text-align: center;
    margin-bottom: 20px;
}

#configurator-tabs li:hover,
#configurator-tabs li:active,
#configurator-tabs li:focus {
    text-decoration: none;
}

#configurator-tabs li {
    background: #eee none repeat scroll 0 0;
    color: #333;
    cursor: pointer;
    display: inline-block;
    line-height: 45px;
    padding: 0;
    text-align: center;
    border-right: 1px solid #cfcfcf;
    border-bottom: 1px solid #fff;
}

#configurator-tabs li:nth-last-child(-n + 1 of:not([data-display=false])) {
    border: none;
    border-radius: 0 7px 7px 0;
}

#configurator-tabs li:not([data-display=false]):first-child {
    border-radius: 7px 0 0 7px;
}

#configurator-tabs li:not([data-display=false]):only-child {
    border-radius: 7px 7px 7px 7px;
}

#configurator-tabs li[data-selected=true] {
    text-shadow: 1px 1px rgba(0, 0, 0, 0.2);
    background: #0088C2;
    color: white;
}

#configurator-tabs li[disabled] {
    opacity: 0.5;
    cursor: default;
}

#configurator_block.tabs {
    margin: 0;
}

.accordion-opened {
    border-color: #3276b1;
}

.configurator-tab-page {
    cursor: pointer;
    font-weight: 600;
    font-size: 15px;
}

.accordion-opened .configurator-tab-page {
    background: #3276b1;
    color: #fff;
}

.configurator-tab-page i {
    transform: rotate(90deg);
}

.accordion-opened .configurator-tab-page i {
    transform: rotate(-90deg);
}

.configurator-accordions-actions {
    text-align: center;
    margin: 1rem;
}

#configurator_block label span.label-default {
    border-radius: 3px;
    font-size: 11px;
    font-weight: normal;
    background: #2fb5d2;
    color: white;
    display: inline-block;
    margin-left: 5px;
    padding: 0 3px !important;
}

#configurator_block h1 span {
    text-transform: none;
    font-weight: normal;
    font-size: 0.9375rem;
    display: none;
    float: right;
    height: 1.5rem;
    line-height: 1.6rem;
}

#configurator_block .form-group.form-error .form-control,
.form-group.form-ok .form-control {}

#configurator_block .form-group.form-ok input,
.form-group.form-ok textarea {
    margin: 0;
    border: none;
    text-align: center;
    color: #35b33f;
    background: #ddf9e1c7;
}

#configurator_block .quantity_wanted.form-group.form-ok input:focus,
#configurator_block .quantity_wanted.form-group.form-error input:focus {
    outline: 0;
}

#configurator_block .form-group.form-error input,
.form-group.form-error textarea {
    border: 1px solid #f13340;
    color: #f13340;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAAj0lEQVQokZWRsQ2AMAwEvVLsFuEUzMIKzMIKrMBO6JkAGiJMYiOI5CaXK3Imug5SP4E7oeCAdWw4RJdd8gHWDSkPjeTxclmmll3OnRBYNwusXEuGj4SUB0+OBqLL/YeP8kP6KruSSb6GolPbrRcF+yW5Mljn4NEarirc4xUiCobUTw2s673yAsE6u+EKN9IJydM/ZmaVOVAAAAAASUVORK5CYII=) 98% no-repeat #fff1f2;
}

#configurator_block .input-group-addon {
    padding: 6px 12px;
    font-size: 13px;
    font-weight: normal;
    line-height: 1;
    text-align: center;
    background-color: #eeeeee;
    border: 1px solid #d6d4d4;
    border-radius: 0px;
    color: #777;
}

#configurator_block .option_input.form-group {
    height: auto;
}

#configurator_block .step_group.form-group {
    height: auto;
    margin-bottom: 25px;
}

.configurator-bloc-option {
    position: absolute;
    top: 0px;
    width: 100%;
    padding: 10px 0px;
    background-image: linear-gradient(to top, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.35));
}

.configurator-bloc-quantity {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
}

#configurator_block .step_list .btn {
    background: #f7f7f773;
    font-weight: normal;
    height: 26px;
    color: #001489;
    margin-top: 2px;
}

#configurator_block .step_list input {
    background: #f7f7f773;
    font-weight: normal;
    height: 30px;
    color: #001489;
    border: 0px;
    margin-top: 2px !important;
}

#configurator_block .step_list .form-ok input {
    background: #fff;
    color: #C46200;
}

#configurator_block .step_list .btn:hover {
    color: #C46200;
}

#configurator_block .step_list .configurator-name-option {
    width: 78%;
    color: #fff;
    display: inline-block;
    text-align: left;
    float: left;
    text-align: left;
    padding-left: 10px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

#configurator_block .step_list .configurator-name-option-title {
    width: 100%;
    color: #001489;
    display: table-cell;
    line-height: 15px;
    padding: 5px;
    height: 85px;
    vertical-align: middle;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

#configurator_block .step_list .configurator-price-option {
    width: 22%;
    color: #fff;
    display: inline-block;
    text-align: right;
    padding-right: 10px;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

#configurator_block .step_options {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

#configurator_block .color,
.custom-checkbox input[type="checkbox"]+span.color {
    width: 100px;
    height: auto;
    margin-right: 2px;
    border-shadow: inherit !important;
}

#configurator_block .hidden {
    display: none;
}

#configurator_block .option_block.option_group.colortexture.color.selected {
    border: 1px solid #c46200;
}

#configurator_block .option_block.option_group.colortexture.color.selected .option_block_content {
    border: none;
}

#configurator_block .color:hover {
    outline: 0;
    border: 0px solid;
}

#configurator_block .option_block.colortexture.selected .option_img {
    width: 100%;
    height: auto;
}

#configurator_block .color,
#configurator_block .custom-checkbox input[type="checkbox"]+span.color {
    border: inherit;
}

#configurator_block .color.option_block.selected .option_block_content {
    height: 98px !important;
}

#configurator_block .step_group {
    position: relative;
}

#configurator_block .step_group.info-on-this-step {
    border-color: #2fb5d2;
}

#configurator_block .step_group.error-on-this-step {
    border-color: #f13340;
}

#configurator_block .step_group.info-on-this-step label.title .step_title .material-icons,
#configurator_block .step_group.error-on-this-step label.title .step_title .material-icons {
    color: white;
}

#configurator_block .step_group {
    margin-bottom: 0px;
}

#add_configurator_to_cart {
    padding: .5rem .7rem;
}

#add_configurator_to_cart i {
    margin-right: 0;
}

#add_configurator_to_cart span {
    font-size: .9rem;
}

#tab-action-next-preview {
    margin-top: 1rem;
}

.configurator_step_error {
    background: url(../img/icon/form-error.png) no-repeat;
    width: 14px;
    display: inline-block;
    height: 14px;
    margin-right: 5px;
}

.step_group .uploader-webcam-block {
    position: relative;
}

.step_group .uploader-webcam-block .uplaoder-webcam-actions {
    position: absolute;
    width: 100%;
    text-align: center;
    bottom: 25px;
    z-index: 10;
}

.step_group .uploader-webcam-block .uplaoder-webcam-actions .uploader-webcam-picture-btn {
    font-size: 40px;
    border-radius: 50%;
    padding: 10px 30px;
}

.step_group .uploader-webcam-block.preview-on .uplaoder-webcam-actions .uploader-webcam-picture-btn {
    display: none;
}

.step_group .uploader-webcam-block .webcam-preview {
    position: absolute;
    left: 0;
    width: 100%;
}

.step_group .uploader-webcam-block.preview-on .uplaoder-webcam-actions .btn {
    padding: 5px 20px;
    font-size: 30px;
}

.step_group .uploader-webcam-block.preview-off .uplaoder-webcam-actions .btn {
    display: none;
}

.step_group .uploader-webcam-block.preview-off .uplaoder-webcam-actions .uploader-webcam-picture-btn {
    display: inline-block;
}

.step_group .uploader-thumb {
    max-height: 50px;
    padding: 0 10px 0;
}

.step_group .configurator-progress {
    height: .5rem;
    background: #f6f6f6;
    margin-top: .5rem;
}

.step_group .configurator-progress .progress-bar {
    height: .5rem;
    background: #0087ff;
}

.step_group .configurator-progress.configurator-upload-finished .progress-bar {
    background: #b1df9e;
}

.step_group .alert-success .configurator-progress.configurator-upload-finished {
    display: none;
}

.option_block .option_block_content {}

.option_block .option_block_content .product-name {
    height: 80px;
    overflow: hidden;
    display: block;
    font-size: 13px;
}

.dmviewer2d-dropzone {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 99999 !important;
}

.dmviewer2d-dropzone-item {
    border-radius: 50%;
    display: block;
    position: absolute;
    border: rgba(0, 100, 200, 0.5) dotted 1px;
    background: rgba(0, 100, 200, 0.05);
}

.dmviewer2d-dropzone-item img {
    vertical-align: top;
}

.dmviewer2d-dropzone-item-hover,
.dmviewer2d-dropzone-item-selected {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.dmviewer2d-dropzone-hover {
    background: rgba(255, 0, 0, 0.2)
}

.dmviewer2d-step-dropzone .option_block .option_img {
    overflow: initial !important;
}

.dmviewer2d-step-dropzone .option_block .option_img .ui-draggable.ui-draggable-dragging {
    z-index: 10000;
    width: 18px !important;
}

.dmviewer2d-step-dropzone .quantity_wanted {
    display: none !important;
}

.configurator-custom-left-column .configurator-product-cover .images-container .product-cover {
    display: block;
}

.configurator-custom-left-column .viewer2d-cover-container,
.configurator-custom-left-column .builder2d-cover-container {
    display: none;
}

.configurator-custom-left-column #viewer2d-back-to-cover,
.configurator-custom-left-column #builder2d-back-to-cover {
    display: block;
}

.configurator-custom-left-column #viewer2d-back-to-cover button,
.configurator-custom-left-column #builder2d-back-to-cover button {
    margin: .5rem auto;
    display: inherit;
}

.configurator-custom-left-column[data-configurator-view="2d"] .configurator-product-cover .images-container .product-cover {
    display: none;
}

.configurator-custom-left-column[data-configurator-view="2d"] .viewer2d-cover-container,
.configurator-custom-left-column[data-configurator-view="2d"] .builder2d-cover-container {
    display: block;
}

.configurator-custom-left-column[data-configurator-view="2d"] #viewer2d-back-to-cover,
.configurator-custom-left-column[data-configurator-view="2d"] #builder2d-back-to-cover {
    display: none;
}

.hide-btn {
    display: none !important;
}

.configurator-quantity-minus,
.configurator-quantity-plus {}

.quantity_wanted input::-webkit-outer-spin-button,
.quantity_wanted input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.quantity_wanted input[type=number] {
    -moz-appearance: textfield;
}

.btn-configurator {}

.configurator-ral-list li {
    float: left;
    width: 100px;
    padding: 10px;
}

.configurator-ral-attribute {
    width: 80px;
    height: 50px;
    cursor: pointer;
}

#configurator_block input[readonly=readonly] {
    background-color: #f6f6f6;
    cursor: pointer;
}

#configurator_block .btn-configurator-ral {
    cursor: pointer;
    background: #2fb5d2;
    color: white;
    font-weight: normal;
}

.badge-reduction {
    background-color: #f39d72;
    font-weight: 700;
    padding: .3125rem .4375rem;
    text-transform: uppercase;
    color: #fff;
    font-size: 1rem;
}


#configurator_block .gallery {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 15px;
    width: 100%;
}

#configurator_block .product-block {
    position: relative;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
    text-align: center;
}

#configurator_block .product-block img {
    border-radius: 15px;
    max-height: 420px;
    height: auto;
    width: 100%;
}

#configurator_block .product-block.selected img {
    box-shadow: inset 0px 0px 0px 0px #C46200, 0px 4px 0px #C46200;
}

#configurator_block .selected-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #C46200;
    color: white;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: normal;
    z-index: 3;
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s ease;
}

#configurator_block .product-block.selected .selected-badge {
    opacity: 1;
    transform: scale(1);
}

#configurator_block .product-image {
    width: auto;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

#configurator_block .product-block:hover {
    opacity: 0.95;
    ;
}

#configurator_block .product-block.selected:hover {
    transform: translateY(-5px) scale(1.02);
}

#configurator_block .product-block:hover .product-image {}

#configurator_block .product-block::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0.7;
    transition: opacity 0.3s ease;
    z-index: 1;
}

#configurator_block .product-block:hover::before {
    opacity: 0.9;
}

#configurator_block .product-info {
    position: absolute;
    bottom: 120px;
    left: 15px;
    right: 15px;
    text-align: center !important;
    color: #001489;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
}

#configurator_block .product-details {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px;
}

#configurator_block .product-name {
    font-family: 'Kanit', sans-serif;
    font-size: 18px;
    margin-bottom: -10px;
    display: flex;
    align-items: center;
    gap: 5px;
}

#configurator_block .product-price {
    font-size: 16px;
    font-weight: 500;
    color: #001489;
    display: flex;
    align-items: center;
    gap: 5px;
}

#configurator_block .quantity-controls {
    display: flex;
    align-items: center;
    gap: 5px;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.3s ease;
}

#configurator_block .product-block {
    position: relative;
    overflow: hidden;
}

#configurator_block .product-content {
    color: #001489;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: justify;
    padding: 0px 15px 10px 15px;
    min-height: 65px;
}

#configurator_block .product-image {
    transition: opacity 0.3s ease;
}

#configurator_block .product-content p {
    font-size: 15px;
    line-height: 17px;
    letter-spacing: 1px;
}

#configurator_block .selected .quantity-controls,
#configurator_block .product-block:hover .quantity-controls {
    opacity: 1;
    transform: translateY(0);
}

#configurator_block .quantity-btn {
    width: 28px;
    height: 28px;
    border: none;
    border-radius: 50%;
    background: white;
    color: #001489;
    font-size: 14px;
    font-weight: normal;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

#configurator_block .quantity-btn:hover {
    background: #E5E1E6;
    transform: scale(1.1);
}

#configurator_block .quantity-input {
    width: 40px;
    height: 28px;
    border: none;
    border-radius: 5px;
    text-align: center;
    font-size: 13px;
    font-weight: normal;
    background: white;
    color: #001489;
}

#configurator_block .quantity-input:focus {
    outline: 2px solid #C46200;
}

#configurator_block .zoom-icon {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    background: white;
    border-radius: 50%;
    display: none !important;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: scale(0.8);
    transition: all 0.3s ease;
    z-index: 2;
    cursor: pointer;
}

#configurator_block .zoom-icon:hover {
    background: #E5E1E6;
    transform: scale(1.1);
}

#configurator_block .zoom-icon svg {
    width: 20px;
    height: 20px;
    fill: #001489;
}

#configurator_block .product-block:hover .zoom-icon {
    opacity: 1;
    transform: scale(1);
}

#configurator_block .cart-block {
    grid-column: 9 / 13;
    background: linear-gradient(135deg, #001489 0%, #000f6e 100%);
    border-radius: 15px;
    padding: 25px;
    box-shadow: 0 5px 10px rgba(0, 20, 137, 0.3);
    color: white;
    position: relative;
    overflow: hidden;
}

#configurator_block .cart-block::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -50%;
    width: 100%;
    height: 200%;
    background: radial-gradient(circle, rgba(196, 98, 0, 0.1) 0%, transparent 70%);
    z-index: 1;
}

#configurator_block .cart-photo-coffret {
    display: block;
    width: 165px;
    height: 165px;
    margin-right: 25px;
    float: left;
    background-image: url('../img/coffret.jpg');
    background-repeat: no-repeat;
    background-size: contain;
}

#configurator_block .cart-title {
    font-family: 'Kanit', sans-serif;
    font-size: 1.8rem;
    font-weight: 600;
    color: #E5E1E6;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 10px;
}

#configurator_block .cart-title::before {
    font-size: 1.5rem;
}

#configurator_block .cart-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
    position: relative;
    z-index: 2;
}

#configurator_block .cart-items {
    display: flex;
    flex-direction: column;
    gap: 12px;
    border: 0px;
}

#configurator_block .cart-items::-webkit-scrollbar {
    width: 6px;
}

#configurator_block .cart-items::-webkit-scrollbar-track {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
}

#configurator_block .cart-items::-webkit-scrollbar-thumb {
    background: #C46200;
    border-radius: 10px;
}

#configurator_block .cart-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    border-left: 4px solid #C46200;
    backdrop-filter: blur(10px);
    transition: all 0.3s ease;
}

#configurator_block .cart-item:hover {
    background: rgba(255, 255, 255, 0.15);
    transform: translateX(5px);
}

#configurator_block .cart-item-info {
    flex: 1;
}

#configurator_block .cart-item-name {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 4px;
}

#configurator_block .cart-item-details {
    display: flex;
    gap: 15px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.8);
}

#configurator_block .cart-item-price {
    font-weight: 500;
}

#configurator_block .cart-item-quantity {
    font-weight: 500;
}

#configurator_block .cart-item-remove {
    background: #C46200;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 8px 12px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
}

#configurator_block .cart-item-remove:hover {
    background: #a35200;
    transform: scale(1.05);
}

#configurator_block .cart-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

#configurator_block .cart-total {
    font-family: 'Kanit', sans-serif;
    font-size: 1.8rem;
    font-weight: 600;
    color: #fff;
}

#configurator_block .add-to-cart-btn {
    padding: 15px 35px;
    background: #C46200;
    color: white;
    border: none;
    border-radius: 8px;
    font-family: 'Kanit', sans-serif;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(196, 98, 0, 0.3);
    width: 100%;
    min-width: 250px;
    max-width: 320px;
}

#configurator_block .add-to-cart-btn:hover {
    background: #a35200;
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(196, 98, 0, 0.4);
}

#configurator_block .empty-cart {
    padding: 0px;
    color: #fff;
    font-style: italic;
    font-size: 1.2rem;
}

#configurator_block .block-0 {
    grid-column: 1 / 5;
}

#configurator_block .block-1 {
    grid-column: 5 / 9;
}

#configurator_block .block-2 {
    grid-column: 9 / 13;
}

#configurator_block .block-3 {
    grid-column: 1 / 5;
}

#configurator_block .block-4 {
    grid-column: 5 / 9;
}

#configurator_block .block-5 {
    grid-column: 9 / 13;
}

#configurator_block .block-6 {
    grid-column: 1 / 5;
}

#configurator_block .block-7 {
    grid-column: 5 / 9;
}

#configurator_block .block-8 {
    grid-column: 9 / 13;
}

#configurator_block .block-9 {
    grid-column: 1 / 13;
}

#configurator_block .gout-buches-monvillers .block-0 {
    grid-column: 3 / 7;
}

#configurator_block .gout-buches-monvillers .block-1 {
    grid-column: 7 / 11;
}

#configurator_block .coffret-degustation-cookies .block-0 {grid-column: 1 / 3;}
#configurator_block .coffret-degustation-cookies .block-1 {grid-column: 3 / 5;}
#configurator_block .coffret-degustation-cookies .block-2 {grid-column: 5 / 7;}
#configurator_block .coffret-degustation-cookies .block-3 {grid-column: 7 / 9;}
#configurator_block .coffret-degustation-cookies .block-4 {grid-column: 9 / 11;}
#configurator_block .coffret-degustation-cookies .block-5 {grid-column: 11 / 13;}
@media (max-width:768px) {
    #configurator_block .gallery {grid-template-columns: 1fr;gap: 10px;}
    #configurator_block .coffret-degustation-cookies .block-0,
    #configurator_block .coffret-degustation-cookies .block-1,
    #configurator_block .coffret-degustation-cookies .block-2,
    #configurator_block .coffret-degustation-cookies .block-3,
    #configurator_block .coffret-degustation-cookies .block-4,
    #configurator_block .coffret-degustation-cookies .block-5,
    #configurator_block .block-0,
    #configurator_block .block-1,
    #configurator_block .block-2,
    #configurator_block .block-3,
    #configurator_block .block-4,
    #configurator_block .block-5,
    #configurator_block .block-6,
    #configurator_block .block-7,
    #configurator_block .block-8,
    #configurator_block .block-9 {grid-column: 1;}

    #configurator_block .cart-block {
        grid-column: 1;
    }

    #configurator_block .cart-summary {
        flex-direction: column;
        gap: 15px;
        text-align: center;
    }

    #configurator_block .zoom-icon {
        width: 35px;
        height: 35px;
        top: 10px;
        right: 10px;
    }

    #configurator_block .zoom-icon svg {
        width: 18px;
        height: 18px;
    }

    #configurator_block .gout-buches-monvillers .block-0,
    #configurator_block .gout-buches-monvillers .block-1 {
        grid-column: 1;
    }

    #configurator_block .cart-photo-coffret {
        margin: auto;
        text-align: center;
        float: none;
    }

    #configurator_block .cart-title {
        margin: auto;
        text-align: center;
        display: inline-flex
    }

    #configurator_block {
        text-align: center;
    }
}

@media (min-width:769px) and (max-width:1024px) {
    #configurator_block .gallery {
        grid-template-columns: repeat(8, 1fr);
        gap: 12px;
    }
}

@media (min-width:1025px) and (max-width:1200px) {
    #configurator_block .gallery {
        gap: 12px;
    }
}

.add-to-cart-btn.disabled,
.add-to-cart-btn[disabled] {
    opacity: 0.5 !important;
    cursor: not-allowed !important;
    pointer-events: none !important;
}