/*
* DISCLAIMER
*
* Do not edit or add to this file.
* You are not authorized to modify, copy or redistribute this file.
* Permissions are reserved by FME Modules.
*
*  @author    FMM Modules
*  @copyright FME Modules 2021
*  @license   Single domain
*/

#main-design {
    font-family: Open sans,Helvetica,Arial;
    overflow: hidden;
    position: relative;
}
#main-design h3, #main-design h1 {
    color: #389090;
}
.qtip_group_form {
    height: auto;
    max-width: 70%;
    top: 65px !important;
    width: 100%;
}
.qtip-close {
    right: 16px !important;
    top: 10px !important;
}
.qtip-icon .ui-icon {
    color: red !important;
    text-indent: 2px !important;
}
.ui-resizable-handle {
    z-index: 9 !important;
}
#cpd_design_preview {
    border: 1px solid #e5e5e5;
    border-radius: 0.1rem;
    display: block;
    margin-bottom: 0.75rem;
    min-height: 480px;
    min-width: 320px;
    padding: 5px;
    position: relative;
}
#cpd_image_thumbs {
    overflow: auto;
}
.cpd_layer_top {
    margin: 0% auto;
    text-align: center;
}
.tool_box {
    background-color: #f9f9f9;
    border: 1px solid #eee;
    margin: 0 auto 5px;
    overflow-y: hidden;
    text-align: center;
    width: 98%;
}
.designer_panel {
    min-height: 320px;
    min-width: 275px;
    overflow: hidden;
    position: relative;
}
.cpd_image_upload {
    visibility: hidden;
}
.cpd_upload_area .image_up {
    left: 9.5em;
    position: relative;
}
.image_up, .cpd_select_image {
    cursor: pointer;
}
.cpd_fade {
    background: #000 none no-repeat scroll center top;
    height: 100%;
    left: 0;
    opacity: 0.6;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99;
}
.tag_wrapper {
    width: 100%;
}
.cpd_upload_area {
    border: 2px dotted #ddd;
    padding: 15px;
}
.or-sep {
    color: #444;
    font-weight: normal;
    display: block;
    text-align: center;
    padding: 3px 0;
}
.image-upload-container {
    padding: 2px 0px 2px 0px;
    margin-bottom: 8px; 
}
#browse_logo {
    width: 100%;
    background: #EFEFEF;
}
#image_url {
    border: 1px solid #d1d1d1;
    border-radius: 3px;
    color: gray;
    font-size: 12px;
    padding: 5px;
    width: 72%;
}
.upload_container {
    display: inline-block;
    width: 98%;
}
.cpd_image_layer {
    height: 15%;
    overflow: hidden !important;
    padding: 0 5px;
    position: absolute !important;
    text-align: center;
    width: 15%;
}
.cpd_text_layer {
    color: #fff;
    height: 48px;
    overflow: hidden !important;
    padding: 0 5px;
    width: 80px;
}
.cpd_text_layer p.tag_text {
    color: #fff;
    padding: 0 5px;
    white-space: pre-wrap;
    word-wrap: break-word;
}
.layer_tag {
    position: absolute;
}
.cpd_remove_img {
    cursor: pointer;
}
.cpd_image_pos {
    left: 90px;
    top: 30px;
}
.imageTollBox .image-upload-container .c_p_d-button {
    border: 0px;margin: 0px; width: 24%; margin-left: 1%; font-size: 13px; border-bottom: 2px solid #999;
    }
.imageTollBox .image-upload-container .c_p_d-button::before { content:''; display: none}
.image_loader {
    background: #fff url("../../img/circle-loading.gif") no-repeat scroll center center;
    height: 100%;
    left: 0;
    opacity: 0.85;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99;
}
a.status_layer, a.remove_layer {
    color: #fff;
}
a.design_title {
    color: #25b9d7 !important;
}
#cpd-tools-box-container > .DesignPanel > .DesignPanelTab.ui-state-active {
    background-color: #dddcdc;
}
.my-designs.DesignPanelTab.ui-state-active {
}
#text.DesignPanelTab.ui-state-active {
}
#text.DesignPanelTab.ui-state-active {
}
#uploads.DesignPanelTab.ui-state-active {
}
#designs.DesignPanelTab.ui-state-active {
}
a#customize_product.btn-success {
    /*background: #46a74e linear-gradient(to right, #3e9546, #46a74e) repeat scroll 0 0;
    border-color: #3e9546;
    border-radius: 2px;
    border-width: 2px;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding: 1em 2.5em;*/
}
a#customize_product.btn-success:hover {
    /*background: #55c65e linear-gradient(to right, #46a74e, #3e9546) repeat scroll 0 0;*/
}
a.rot_left:link, a.rot_left:hover, a.rot_left:visited, a.rot_left:active, a.rot_right:link, a.rot_right:hover, a.rot_right:visited, a.rot_right:active {
    text-decoration: none !important;
}
.txt-align {
    display: none;
}
.text_align {
    background: #eeeeee none repeat scroll 0 0;
}
.normal {
    display: none;
    left: 15px;
    position: relative;
    top: 15px;
}
.custom_colors {
    top: -18px;
}
.highlighted {
    display: inline;
}
.upload_link, .text_box {
    background: #EFEFEF;
    margin-bottom: 5px;
    min-height: 25px;
    font-size: 13px;
    line-height: 22px;
    width: 100%;
}
.upload_link .link {
    color: #fff;
}
.link {
    color: #fff !important;
    font-size: 12px;
}
.link:hover {
    color: #2fb5d2 !important;
    text-decoration: underline;
}
.upload_link a.link:hover {
    color: #000 !important;
}
.close-tooltip {
    cursor: pointer;
    float: right;
}
.close-tooltip::before {
   font-family: Material Icons;font-size: 25px; color:#ff8400; line-height: 25px;
display: block; content: 'clear'; 
}
.close-tooltip:hover::before {
    color: red; font-weight: bold;
}
.drag-toolbox {
    cursor: move;
    float: left;
}

.drag-toolbox::before {
   font-family: Material Icons;font-size: 24px; color:#ff8400; line-height: 25px;
display: block; content: 'open_with'; 
}

#upload_logo_front {
    border-bottom: 1px dashed #ddd;
    border-top: 1px dashed #ddd;
    max-height: 175px;
    overflow-x: auto;
    padding: 2px;
}
#text .cpd_title, .upload_link .cpd_title {
    color: #444;
    font-size: 13px;
    font-weight: bold;
    padding-left: 6px;
    vertical-align: text-bottom;
}
.cpd_fade {
    background: #000 none no-repeat scroll center top;
    height: 100%;
    left: 0;
    opacity: 0.6;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99;
}
.cpd_upload_area {
    border: 2px dotted #ddd;
    padding: 15px;
}
.tag_title {
    display: inline-block;
}
.tag_price {
    color: #999;
    float: left;
    font-size: 10px;
    font-style: italic;
}
#materialDropdown-dd-placeholder {
    margin: auto -4px;
}
.dd-container {
    position: static !important;
}
div.image_tag {
    display: inline-block; float: right;
    width: 20%;
    vertical-align: middle;
}
.cpd_element_type_tag_txt .tag_price { float: right !important; width: auto !important;line-height: 18px; display: inline}

.cpd_element_type_tag_img .tag_price { line-height: 22px;}

.cpd_element_type_tag_txt .tag_title { width: auto !important; line-height: 18px; display: inline; float: none;}

.cpd_element_type_tag_img,
.cpd_element_type_tag_txt { padding-bottom: 6px; margin-bottom: 6px; border-bottom: 1px solid #ccc}

.cpd_element_type_tag_img .cpd_tags_bundle { float: left; width: 70%;}

.cpd_element_type_tag_img .cpd_tags_bundle .tag_title,
.cpd_element_type_tag_img .cpd_tags_bundle .tag_price { display: block; text-align: left}

.cpd_element_type_tag_img div.image_tag img { }

.mini_preview {
    opacity: 0.5;
}
.mini_preview:hover, .mini_preview.selected {
    opacity: 1;
}
.mini_preview.selected.selected {
    border-color: #ba5e0f;
}
.tags {
    cursor: pointer;
}
.cpd_text_layer {
    padding: 10% 0;
}
.ui-draggable {
    position: absolute;
    right: 3% !important;
    top: 20px;
}
.tooltipster-sidetip {
    left: 23%;
    top: 31px;
}
.delete_tag {
    position: absolute;
    right: 1px;
    top: 1px;
    z-index: 99999;
}
.setting_tag {
    left: 2px;
    position: absolute;
    top: 2px;
    z-index: 99999;
}
.mini-icons {
    background-color: #ffffff;
    border: 0px;
}
.designer_panel .cpd_text_layer .ui-icon-gripsmall-diagonal-se { border: 0px !important;}
.ok_btn {
    float: left;
}
.cancel_btn {
    float: right;
}
.cpd_marked {
    border: 1px dashed #4cbb6c;
}
#total-price {
    /*min-height: 60px;*/
    position: relative;
}
.cpd_attribute_list {
    float: left;
    margin: 0.2em;
}
.cpd_attribute_selection {
    cursor: pointer;
}
input.cpd_attribute_radio {
    display: none !important;
}
.cpd_attribute_container {
    border: 1px solid #c4c4c4;
    border-radius: 21px;
    box-shadow: 0 0 2px #000;
    height: 30px;
    overflow: hidden;
    width: 30px;
}
.selected_attribute {
    border: 2px solid #ff7c1f;
    border-radius: 30px;
}
.price_update {
    background: #fff url("../../../views/img/load.gif") no-repeat scroll center center;
    height: 100%;
    left: 0;
    opacity: 0.88;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99;
}
.total_order {
    color: #444;
}
.total_calc {
    font-weight: bold;
    color: #ff8400;
}
.image_processing {
    background: #fff url("../../../views/img/rolling.gif") no-repeat scroll center center;
    height: 100%;
    left: 0;
    opacity: 0.85;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99;
}
.cpd_busy {
    background: #fff url("../../../views/img/rolling.gif") no-repeat scroll center top;
    height: 100%;
    left: 0;
    opacity: 0.85;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 99;
}
.cpd_main_loader {
    background: #fff url("../../../views/img/main_loader.gif") no-repeat scroll center center;
    height: 100%;
    left: 0;
    opacity: 0.8;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 9999;
}
.cpd_glow {
    border-radius: 3px;
    position: fixed;
    right: 10px;
    top: 10px;
    z-index: 999;
}
.cart_loader {
    background: #fff url("../../../views/img/loader.gif") no-repeat scroll center center;
    height: 100%;
    left: 0;
    opacity: 0.85;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 99;
}
.font_rangeslider {
    background-color: gray;
    border-radius: 5px;
    height: 5px;
    margin-top: 6px;
    position: relative;
    width: 100%;
}
.font_rangeslider__handle {
    background-color: #ff7c1f;
    border-radius: 100%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5), 0 0 0 2px white inset;
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    height: 15px;
    position: absolute;
    top: -7px;
    transition: background-color 0.2s ease 0s;
    width: 15px;
    z-index: 3;
}
.font_rangeslider__handle__value {
    background-color: #ff7c1f;
    border-radius: 5px;
    border-top: 1px solid #ff7c1f;
    box-shadow: 0 -4px 1px rgba(0, 0, 0, 0.07), 0 -5px 20px rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
    color: white;
    font-size: 13px;
    left: -10px;
    padding: 5px;
    position: absolute;
    text-align: center;
    top: -40px;
    transition: background-color 0.2s ease 0s, box-shadow 0.1s ease 0s, transform 0.1s ease 0s;
    white-space: nowrap;
    width: 40px;
}
.font_rangeslider__handle__value::before {
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #ff7c1f;
    bottom: -10px;
    content: "";
    height: 0;
    left: calc(50% - 10px);
    position: absolute;
    transition: border-top-color 0.2s ease 0s;
    width: 0;
}
.font_rangeslider__handle__value::after {
    content: "px";
}
.font_rangeslider__fill {
    background-color: #ff7c1f;
    border-radius: 5px;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 1;
}
.font_rangeslider__labels {
    display: flex;
    justify-content: space-between;
    position: absolute;
    width: 100%;
    z-index: 2;
}
.font_rangeslider__labels__label {
    color: gray;
    font-size: 0.75em;
    padding-top: 15px;
    position: relative;
}
.font_rangeslider__labels__label::before {
    background-color: rgba(128, 128, 128, 0.5);
    border-radius: 1px;
    content: "";
    height: 9px;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 1px;
}
.font_rangeslider__labels__label:first-child::before, .font_rangeslider__labels__label:last-child::before {
    height: 12px;
    width: 2px;
}
.font_rangeslider__labels__label:first-child::before {
    background-color: #0099ff;
}
.font_rangeslider__labels__label:last-child::before {
    background-color: gray;
}
.font_rangeslider__labels__label:first-child {
    transform: translateX(-48%);
}
.font_rangeslider__labels__label:last-child {
    transform: translateX(48%);
}
.font_rangeslider.font_rangeslider--active .font_rangeslider__handle, .font_rangeslider.font_rangeslider--active .font_rangeslider__handle * {
    background-color: #33adff;
}
.font_rangeslider.font_rangeslider--active .font_rangeslider__handle *::before {
    border-top-color: #33adff;
}
.font_rangeslider.font_rangeslider--active .font_rangeslider__handle__value {
    box-shadow: 0 -3px 2px rgba(0, 0, 0, 0.04), 0 -9px 25px rgba(0, 0, 0, 0.15);
    transform: translateY(-5px);
}
.cpd_icon img {
    height: auto !important;
    max-width: 100%;
}
.bottom_right {
    background-image: url("../../img/resize.png");
    /*position: absolute;*/
    /*right: 0;*/
    /*bottom: 0;*/
    cursor: se-resize;
    height: 17px !important;
    width: 17px !important;
}
.resizable-helper {
    border: 2px dotted #617FC0;
}
.formating {
    width: 100%;
}
.cpd_left_block {
    float: left;
}
.cpd_right_block {
    clear: right;
    float: right;
}
#rotate.ui-widget-content {
    background: #ff7c1f none repeat scroll 0 0 !important;
    border-color: #ff7c1f;
    border-radius: 5px;
    margin-bottom: 5px;
    position: relative;
    height: 5px;
    top: 4px;
    z-index: 1;
}
#rotate .ui-slider-handle {
    background: #ff7c1f none repeat scroll 0 0;
    border: 2px solid #eee;
    border-radius: 12px;
    height: 16px;
    position: absolute;
    display: inline-block;
    top: -7px;
    width: 16px;
}

.tooltipster-sidetip.tooltipster-shadow .tooltipster-content { color: #444 !important; font-size: 13px;}
.cpd-editor-col.right div.add_to_cart { padding-bottom: 10px}
.cpd-editor-col.right div#total-price { padding-top: 8px;}
.cpd-editor-col.right div#total-price table td { padding: 0; margin: 0; font-weight: bold;}
.cpd_thumbs_bottom_title,
.cpd_thumbs_bottom_title a { font-size: 11px; color: #444;}
.cpd_thumbs_bottom_title a:focus,
.cpd_thumbs_bottom_title a:active { outline: none !important; text-decoration: none;}

#fmm_cpd_btn { padding: 20px 0}
#fmm_cpd_btn a { line-height: 23px;}
.designer_panel .cpd_layer_top .ui-icon-gripsmall-diagonal-se,
.designer_panel .cpd_layer_top .ui-resizable-autohide .ui-resizable-handle { background: url('../../../views/img/drag.png') no-repeat left center !important;
border: 0px !important;}

/*-------- Hints Block --------*/
#cpd_hints_blk { top: 10%; border: 2px solid #25b9d7; width: 90%; clear: both; padding: 5px 0px 5px 47px; position: absolute;
background: #fff; left: 0; margin: 0 5%; box-shadow: 0 6px 15px #ccc; z-index: 99;}
#cpd_hints_blk::before {font-family: Material Icons; font-weight: 400; font-style: normal; font-size: 24px; display: inline-block;
line-height: 1; text-transform: none; letter-spacing: normal; vertical-align: middle; word-wrap: normal; white-space: nowrap; direction: ltr;
-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; -moz-osx-font-smoothing: grayscale; -webkit-font-feature-settings: "liga";
font-feature-settings: "liga"; position: absolute; top: 0; bottom: 0; left: 0; width: 46px; height: 100%; text-align: center; 
display: flex; -ms-flex-pack: center; justify-content: center; -ms-flex-direction: column; flex-direction: column; content: "\E88F";
background-color: #dff5f9;color: #25b9d7;}
#cpd_hints_blk .cpd_hints_text { padding: 0 5px}
#cpd_hints_blk .cpd_hints_text ul { padding: 0; margin: 0; list-style: circle; font-size: 12px; color: #363a41; padding-left: 20px}
#cpd_hints_blk .material-icons { color: #c05c67; cursor: pointer; position: absolute; right: 3px; top: 3px; font-size: 18px;}
#cpd_hints_blk .material-icons:hover { color: red;}

/* ---- ---- ---- New Version Changes ---- --- ---- */
#personalization #cpd_footer_wrap #cpd_qty_wanted,
#personalization #cpd_footer_wrap #add_custom_product_to_cart { display: inline-block !important; vertical-align: middle;}
#personalization #cpd_footer_wrap #cpd_qty_wanted { border: 1px solid #dfdfdf; border-radius: 4px; padding: 6px; font-size: 12px;
width: 15%; text-align: center;}
#personalization #cpd_footer_wrap #add_custom_product_to_cart { width: 76% !important;}
#personalization #cpd_footer_wrap .add_to_cart_container { position: relative;}
#personalization .qty_update { background: #fff url("../../../views/img/load.gif") no-repeat scroll center center; height: 100%;
 left: 0; opacity: 0.88; position: absolute;top: 0; width: 100%; z-index: 99; display: none;}
#personalization #cpd_footer_wrap .add_to_cart { width: 30%; display: inline-block; padding: 12px 2%;}
#personalization #cpd_footer_wrap .add_to_cart .c_p_d-button {background-color: #ff7c1f; color: #fff; border-color: #ba5e0f;}
#personalization #cpd_footer_wrap .add_to_cart a#add_custom_product_to_cart::before {color: #fff;}
#personalization #cpd_footer_wrap .add_to_cart .c_p_d-button:hover { background-color: #fa3a5e !important;}
#personalization #cpd_footer_wrap .add_to_cart a:active,
#personalization #cpd_footer_wrap .add_to_cart a:focus {outline: none; text-decoration:none;}
#personalization #cpd_footer_wrap .cpd-qty-container { display: inline-block; vertical-align: middle; width: 20%;}
#personalization #cpd_footer_wrap #cpd_grand_total { text-align: right; font-size: 18px; color: #444; font-weight: 800;}
#personalization #cpd_footer_wrap #cpd_grand_total i { font-size: 22px; color: #8f8e8e; cursor: pointer}
#personalization #cpd_footer_wrap #cpd_grand_total .total_custom_price { color: #f05929}
#personalization #cpd_footer_wrap #cpd_grand_total .cpd_total_lbl { padding-right: 3px;}
#personalization #cpd_footer_wrap #cpd_grand_total span,
#personalization #cpd_footer_wrap #cpd_grand_total div.cpd_more_prices { display:inline-block;vertical-align: middle;}
#personalization #cpd_footer_wrap #cpd_sub_totals { display: none; position: absolute; bottom: 40px; right: 0px; min-width: 100px;
background: #fff; padding: 10px;box-shadow:2px 5px 16px #ccc; font-size: 13px;}
#personalization #cpd_footer_wrap #cpd_sub_totals::before {font-family: Material Icons;
	font-size: 20px;
	color: #fff;
	line-height: 1px;
	display: block;
	position: absolute;
   bottom: 0px;
	right: 1px;
	content: 'signal_wifi_4_bar';}
#personalization #cpd_footer_wrap #cpd_grand_total .cpd_more_prices:hover > #cpd_sub_totals { display: block !important;}
#personalization #cpd_footer_wrap #cpd_sub_totals .cproduct_price,
#personalization #cpd_footer_wrap #cpd_sub_totals .custom_price {color: #f05929}
#personalization #cpd_footer_wrap #cpd_footer_navigation {display: inline-block; vertical-align: middle; width: 49%; text-align: right;
padding-right: 0%}
#personalization #cpd_footer_wrap #cpd_footer_navigation ul { padding: 0; margin: 0; list-style: none;}
#personalization #cpd_footer_wrap #cpd_footer_navigation ul li { padding: 0 10px; margin: 0; display: inline-block; vertical-align: middle;
border-right: 1px solid #e0e0e0;}
#personalization #cpd_footer_wrap #cpd_footer_navigation ul li.last_ele { border-right: 0px;}
#personalization #cpd_footer_wrap #cpd_footer_navigation button { border: 0px; background: transparent; display: inline-block; outline: none;
color: #999; cursor: pointer; padding: 0px; margin: 0px; opacity: 0.7; position: relative;}
#personalization #cpd_footer_wrap #cpd_footer_navigation button span { display: none;position: absolute; bottom: 40px;
right: 0px; min-width: 10px; background: #fff; padding: 6px 10px;box-shadow:2px 5px 16px #ccc; font-size: 13px; color: #444; white-space: nowrap}
#personalization #cpd_footer_wrap #cpd_footer_navigation button span::before {font-family: Material Icons;
	font-size: 20px;
	color: #fff;
	line-height: 1px;
	display: block;
	position: absolute;
   bottom: 0px;
	right: 1px;
	content: 'signal_wifi_4_bar';}
#personalization #cpd_footer_wrap #cpd_footer_navigation button i { font-size: 32px;}
#personalization #cpd_footer_wrap #cpd_footer_navigation button:hover { color: #f05929; opacity: 1;}
#personalization #cpd_footer_wrap #cpd_footer_navigation button:hover,
#personalization #cpd_footer_wrap #cpd_footer_navigation button:active,
#personalization #cpd_footer_wrap #cpd_footer_navigation button:focus { outline: none;}
#personalization #cpd_footer_wrap #cpd_footer_navigation button:hover > span { display: inline-block}

#personalization #cpd_supernav { display: inline-block; width: 30%; vertical-align: top;border-right: 1px solid #b7b7b7;}
#personalization #cpd_secondary_nav { width: 80px; display: inline-block; vertical-align: top;}
#personalization #custom-design-center-column { display: inline-block; vertical-align: middle; width: 62%; padding: 0 2%;
padding-left: 3%;}

#personalization #cpd_product_opts_btn { clear: both; width: 100%; position: relative; text-align: right;}
#personalization #cpd_product_opts_btn a { display: block;}
#personalization #cpd_product_opts_btn a:hover { text-decoration: none; outline: none;}
#personalization #cpd_product_opts_btn i.material-icons { border: 1px solid #fa3a5e; border-radius: 6px; padding: 5px; color: #fa3a5e;
display: inline-block; width: 50px; height: 50px; font-size: 39px; cursor: pointer;}
#personalization #cpd_product_opts_btn i.material-icons:hover { color: #f05929; border-color: #f05929;}
#personalization #cpd_product_opts_btn span.cpd_i { display: none;position: absolute; bottom: -39px;
right: 15px; min-width: 10px; background: #fff; padding: 6px 10px;box-shadow:0px 0px 20px #ccc; font-size: 13px; color: #444;
white-space: nowrap; z-index: 9999;}
#personalization #cpd_product_opts_btn a:hover > span { display: inline-block}
#personalization #cpd_product_opts_btn a.cpd_a span::before {font-family: Material Icons;
	font-size: 20px;
	color: #fff;
	line-height: 1px;
	display: block;
	position: absolute;
   top: 0px;
	right: 1px;
	content: 'eject';}


#personalization #cpd_product_materials_btn { clear: both; width: 100%; position: relative; text-align: right; margin-top: 10px}
#personalization #cpd_product_materials_btn a { display: block;}
#personalization #cpd_product_materials_btn a:hover { text-decoration: none; outline: none;}
#personalization #cpd_product_materials_btn i.material-icons { border: 1px solid #fa3a5e; border-radius: 6px; padding: 5px; color: #fa3a5e;
display: inline-block; width: 50px; height: 50px; font-size: 39px; cursor: pointer;}
#personalization #cpd_product_materials_btn i.material-icons:hover { color: #f05929; border-color: #f05929;}
#personalization #cpd_product_materials_btn span.cpd_i { display: none;position: absolute; bottom: -39px;
right: 15px; min-width: 10px; background: #fff; padding: 6px 10px;box-shadow:0px 0px 20px #ccc; font-size: 13px; color: #444;
white-space: nowrap; z-index: 9999;}
#personalization #cpd_product_materials_btn a:hover > span { display: inline-block}
#personalization #cpd_product_materials_btn a.cpd_a span::before {font-family: Material Icons;
	font-size: 20px;
	color: #fff;
	line-height: 1px;
	display: block;
	position: absolute;
   top: 0px;
	right: 1px;
	content: 'eject';}
#cpd_supernav #cpd_left_basic_nav { width: 30%; display: inline-block; vertical-align: top; padding: 0 2%}
#cpd_supernav #cpd_left_basic_nav ul { list-style: none; padding: 0; margin: 0;}
#cpd_supernav #cpd_left_basic_nav ul li { list-style: none; padding: 0; margin: 0; display: block; padding-bottom: 6px;}
#cpd_supernav #cpd_left_basic_nav ul li a { display: block; padding: 5px; border: 2px solid #b7b7b7; font-size: 13px; color: #b7b7b7; text-align: center;
 cursor: pointer; -webkit-transition: border-color .4s; -moz-transition: border-color .4s; -o-transition: border-color .4s;
transition: border-color .4s;-webkit-transition: color .4s; -moz-transition: color .4s; -o-transition: color .4s;
transition: color .4s;}
#cpd_supernav #cpd_left_basic_nav ul li a i { display: inline-block; clear: both; font-size: 44px; width: 100%;}
#cpd_supernav #cpd_left_basic_nav ul li a:hover,
#cpd_supernav #cpd_left_basic_nav ul li a.active { color: #f05929; border-color: #f05929;}

#cpd_supernav #cpd-tools-box-container { display: inline-block;width: 66%; vertical-align: top; padding: 0 2%; position: relative}
#cpd_supernav #cpd-tools-box-container #designs-panel,
#cpd_supernav #cpd-tools-box-container .DesignPanel { display: none;}
#cpd_supernav #cpd-tools-box-container .DesignPanel .cpd_right_txt { text-align: right;}
#cpd_supernav #cpd-tools-box-container .DesignPanel .cpd_right_txt i {color: #b7b7b7;}
#cpd_supernav #cpd-tools-box-container .DesignPanel .cpd_right_txt a:hover > i {color: #f05929;}
#cpd_supernav #cpd-tools-box-container .DesignPanel .cpd_right_txt a:active,
#cpd_supernav #cpd-tools-box-container .DesignPanel .cpd_right_txt a:focus { outline: none;}

#personalization #design_content { padding-bottom: 50px;}

#cpd_supernav #cpd-tools-box-container #cpd_img_txt_blox_content textarea { padding: 3px; font-size: 13px; border-radius: 4px;
box-shadow:2px 5px 16px #ccc; outline: none; min-height: 100px}
#cpd_supernav #cpd-tools-box-container #cpd_img_txt_blox_content textarea:focus { outline: none;}
#cpd_supernav #cpd-tools-box-container #cpd_img_txt_blox_content ul { margin: 0px;}

#cpd_supernav #cpd_toolset #text-panel,
#cpd_supernav #cpd_toolset .imageTollBox { padding: 5px; box-shadow:0px 0px 20px #ccc; margin-top: 10px; font-size: 12px;
border-radius: 4px;}
#cpd_supernav #cpd_toolset p { margin-bottom: 3px;}

#personalization #cpd_tags_filters { list-style: none; padding: 0; margin: 0;}
#personalization #cpd_tags_filters li { list-style: none; vertical-align: middle; display: inline-block; margin-right: 2px; margin-top: 3px;}
#personalization #cpd_tags_filters li a { display: block; padding: 3px 4px; background:#f2f1f0; cursor: pointer }
#personalization #cpd_tags_filters li a.active,
#personalization #cpd_tags_filters li a:hover { background:#f05929; color: #fff; }

#personalization .cpd_extra_layer_btns { position: absolute; right: -29px; top: -33px; z-index: 99; display: flex}
#personalization .cpd_extra_layer_btns a { cursor: pointer; display: none; padding: 4px; border: 2px solid #fa3a5e; color: #fa3a5e;
border-radius: 6px; font-size: 30px;/* animation: pulse 2s infinite; box-shadow:0 0 0 rgba(204,169,44, 0.4);*/}
#personalization .cpd_extra_layer_btns a:hover { color: #f05929; border-color: #f05929;}
#personalization .cpd_extra_layer_btns span.cpd_i { display: none;position: absolute; bottom: -39px;
right: 5px; min-width: 10px; background: #fff; padding: 6px 10px;box-shadow:0px 0px 20px #ccc; font-size: 13px; color: #444;
white-space: nowrap; z-index: 9999;}
#personalization .cpd_extra_layer_btns a:hover > span { display: inline-block}
#personalization .cpd_extra_layer_btns a span::before {font-family: Material Icons;
	font-size: 20px;
	color: #fff;
	line-height: 1px;
	display: block;
	position: absolute;
   top: 0px;
	right: 1px;
	content: 'eject';}
.fancybox-overlay,
.fancybox-opened { z-index: 9999 !important;}

/*---------- NEW Design Responsive changes ----------*/
@media (min-width: 768px) and (max-width: 1120px) {
#personalization #cpd_secondary_nav { width: 55px}
}
@media (min-width: 200px) and (max-width: 900px) {
#personalization #cpd_footer_wrap #cpd_footer_navigation { width: 25% !important;}
}
@media (min-width: 200px) and (max-width: 800px) {
#personalization #cpd_product_opts_btn i.material-icons,
#personalization #cpd_product_materials_btn i.material-icons { font-size: 25px !important; width: 38px !important; height: 38px !important;}
#personalization #cpd_secondary_nav { width: 39px}
#personalization #cpd_header_wrap .cpd_header_left { max-width: 70% !important;}
#design_content #inner-content #main-design { padding-top: 25px !important;}
}
@media (min-width: 200px) and (max-width: 768px) {
#personalization #cpd_footer_wrap #cpd_footer_navigation { width: 40% !important;}
#personalization #cpd_footer_wrap .cpd-qty-container,
#personalization #cpd_footer_wrap .add_to_cart { width: 30%;}
#personalization #cpd_footer_wrap { white-space: nowrap}
}
@media (min-width: 200px) and (max-width: 600px) {
#personalization #cpd_supernav { width: 97% !important; border-right: 0px !important;}
#personalization #custom-design-center-column { width: 90%; padding-top: 3%;}
#personalization #cpd_secondary_nav { padding-top: 3%;}
#personalization #cpd_header_wrap .cpd_header_right a span { display: none}
#personalization #cpd_header_wrap .cpd_header_right a::before { position: static !important;}
#personalization #cpd_header_wrap .cpd_header_right a { padding-left: 12px !important;}
#design_content #inner-content #main-design { padding-top: 0px !important;}
#personalization #cpd_header_wrap .cpd_header_left .h1 { font-size: 15px; line-height: 27px;}
#cpd_supernav #cpd_left_basic_nav { width: 100%; clear: both;}
#cpd_supernav #cpd_left_basic_nav ul li { display:table-cell; vertical-align: middle;}
#cpd_supernav #cpd_left_basic_nav ul li a { max-height: 30px; overflow: hidden; max-width: 35px; padding: 3px;}
#cpd_supernav #cpd_left_basic_nav ul li a i { font-size: 22px;}
#cpd_supernav #cpd-tools-box-container { width: 100%; padding-top: 10px;}
#cpd_supernav #cpd_left_basic_nav ul { width: 100%; display: table}
#personalization .cpd_extra_layer_btns { position: static;margin-bottom: 10px}
#personalization .cpd_extra_layer_btns span.cpd_i { display: inline-block; vertical-align: middle; position: static; }
#personalization #cpd_footer_wrap #browse_logo { display: table;}
#personalization #cpd_footer_wrap #cpd_footer_navigation,
#personalization #cpd_footer_wrap .cpd-qty-container,
#personalization #cpd_footer_wrap .add_to_cart { width: auto !important; display: table-cell}
}
@media (min-width: 200px) and (max-width: 480px) {
#personalization #cpd_footer_wrap #add_custom_product_to_cart { font-size: 11px;}
#personalization #cpd_footer_wrap #cpd_footer_navigation button i { font-size: 25px;}
#personalization #cpd_footer_wrap #cpd_footer_navigation ul li { padding-left: 3px; padding-right: 3px}
#personalization #cpd_footer_wrap #cpd_grand_total { font-size: 15px;}
#personalization #cpd_product_materials_btn i.material-icons,
#personalization #cpd_product_opts_btn i.material-icons{ font-size: 19px !important; width: 30px !important; height: 30px !important;}
#personalization #cpd_secondary_nav { width: 30px !important;}
}
@media (min-width: 200px) and (max-width: 380px) {
#personalization #cpd_footer_wrap #add_custom_product_to_cart { font-size: 10px; text-indent: 16px;}
#personalization #cpd_footer_wrap #add_custom_product_to_cart::before { text-indent: 0px;}
}
/*--------- Fix for resizable disalbed ---------*/
.designer_panel .cpd_layer_top .tags.ui-state-disabled { opacity: 1; filter: Alpha(Opacity=100);}

/* ─────────────────────────────────────────────────────────────────────────
   Parcours par faces (face 1 -> face 2) + éditeur responsive
   ───────────────────────────────────────────────────────────────────────── */
#personalization .cpd-hidden,
#personalization #cpd_footer_wrap .cpd-hidden,
#personalization #cpd_footer_wrap #add_custom_product_to_cart.cpd-hidden { display: none !important;}

/* Indicateur d'étapes */
#personalization .cpd-steps-wrap { margin: 0 0 14px; text-align: center;}
#personalization .cpd-steps { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px;}
#personalization .cpd-step { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 5px 14px 5px 5px;
border: 2px solid #e2e2e2; border-radius: 999px; background: #fff; color: #7a7a7a; font-size: 14px; font-weight: 600;
line-height: 1; cursor: pointer; transition: border-color .2s, color .2s, box-shadow .2s;}
#personalization .cpd-step:hover:not(:disabled) { border-color: #ff7c1f; color: #232323;}
#personalization .cpd-step:focus { outline: none;}
#personalization .cpd-step:focus-visible { outline: 2px solid #ff7c1f; outline-offset: 2px;}
#personalization .cpd-step:disabled { opacity: .55; cursor: not-allowed;}
#personalization .cpd-step-num { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px;
border-radius: 50%; background: #efefef; color: #7a7a7a; font-size: 13px;}
#personalization .cpd-step-num .material-icons { font-size: 18px;}
#personalization .cpd-step.is-current { border-color: #ff7c1f; color: #232323; box-shadow: 0 2px 10px rgba(255, 124, 31, .18);}
#personalization .cpd-step.is-current .cpd-step-num { background: #ff7c1f; color: #fff;}
#personalization .cpd-step.is-done { border-color: #2e9e5b; color: #2e9e5b;}
#personalization .cpd-step.is-done .cpd-step-num { background: #2e9e5b; color: #fff;}
#personalization .cpd-step-sep { width: 28px; height: 2px; border-radius: 2px; background: #e2e2e2;}
#personalization .cpd-step-sep.is-done { background: #2e9e5b;}
#personalization .cpd-steps-hint { margin: 8px 0 0; font-size: 12px; color: #8a8a8a;}
#personalization.cpd-has-steps #product-part-container { display: none !important;}

/* Boutons du pied de page */
#personalization #cpd_footer_wrap .add_to_cart_container { display: flex; align-items: center; gap: 6px;}
#personalization #cpd_footer_wrap .add_to_cart_container .hidden_data { display: none;}
#personalization #cpd_footer_wrap #cpd_qty_wanted { flex: 0 0 56px; width: 56px;}
#personalization #cpd_footer_wrap #add_custom_product_to_cart,
#personalization #cpd_footer_wrap #cpd_next_face_btn { flex: 1 1 auto; width: auto !important; margin: 0; text-align: center;}
#personalization #cpd_footer_wrap #cpd_next_face_btn { display: inline-flex; align-items: center; justify-content: center; gap: 4px;
background-color: #ff7c1f; border-color: #ba5e0f; color: #fff; font-size: 13px; line-height: 1.2;}
#personalization #cpd_footer_wrap #cpd_next_face_btn::before { display: none;}
#personalization #cpd_footer_wrap #cpd_next_face_btn:hover { background-color: #fa3a5e;}
#personalization #cpd_footer_wrap #cpd_next_face_btn .material-icons { font-size: 18px;}
#personalization #cpd_footer_wrap .cpd-prev-face-btn { display: inline-flex; flex: 0 0 38px; align-items: center; justify-content: center;
width: 38px; height: 38px; border: 1px solid #dfdfdf; border-radius: 4px; background: #fff; color: #555;}
#personalization #cpd_footer_wrap .cpd-prev-face-btn:hover { border-color: #ff7c1f; color: #ff7c1f; text-decoration: none;}

/* Avertissement mobile */
#personalization .cpd-mobile-warning { display: flex; align-items: flex-start; gap: 10px; margin: 10px 12px 0; padding: 10px 12px;
border: 1px solid #ffd2b0; border-left: 4px solid #ff7c1f; border-radius: 6px; background: #fff7f0; color: #4a3b30;}
#personalization .cpd-mobile-warning[hidden] { display: none !important;}
#personalization .cpd-mobile-warning .material-icons { flex: 0 0 auto; color: #ff7c1f; font-size: 22px;}
#personalization .cpd-mobile-warning p { flex: 1 1 auto; margin: 0; color: inherit; font-size: 13px; line-height: 1.45;}
#personalization .cpd-mobile-warning-ok { flex: 0 0 auto; align-self: center; padding: 6px 10px; border: 0; border-radius: 4px;
background: #ff7c1f; color: #fff; font-size: 12px; font-weight: 600; cursor: pointer;}

/* Téléphone : pas d'onglet Calques (ordre des calques) ni « Mes designs » */
#personalization #designs-panel { display: none !important;}

/* Outils retirés : icônes posées sur le calque (crayon, X), poignée de
   redimensionnement d'origine, transparence, rotation par curseur, import par URL */
#personalization #design_preview .rotation_wrapper,
#personalization #design_preview .ui-resizable-handle,
#personalization .transparency-wrapper,
#personalization .rotation-wrapper,
#personalization #logo-upload-url,
#personalization .image-upload-container > .or-sep { display: none !important;}

/* Bouton d'import d'image */
#personalization .imageTollBox .image-upload-container #browse_logo.c_p_d-button { display: flex; align-items: center; justify-content: center;
gap: 8px; width: 100%; margin: 0; padding: 10px 12px; border: 1px dashed #ff7c1f; border-radius: 6px; background: #fff7f0;
color: #c25a10; font-size: 13px; font-weight: 600; white-space: normal; text-align: center;}
#personalization .imageTollBox .image-upload-container #browse_logo.c_p_d-button:hover { background: #ff7c1f; color: #fff;}
#personalization .imageTollBox #browse_logo .material-icons { font-size: 22px;}

/* Poignées sur l'aperçu (rotation, redimensionnement, suppression) */
#personalization .cpd-tag-handle { position: absolute; z-index: 100; display: flex; align-items: center; justify-content: center;
width: 28px; height: 28px; border: 1px solid #ff7c1f; border-radius: 50%; background: #fff; color: #ff7c1f;
box-shadow: 0 2px 6px rgba(0, 0, 0, .2); cursor: pointer; touch-action: none; user-select: none; -webkit-user-select: none;}
#personalization .cpd-tag-handle .material-icons { font-size: 17px; pointer-events: none;}
#personalization .cpd-tag-handle-rotate { cursor: grab;}
#personalization .cpd-tag-handle-rotate:active { cursor: grabbing;}
#personalization .cpd-tag-handle-resize { cursor: nwse-resize;}
#personalization .cpd-tag-handle-resize .material-icons { transform: rotate(90deg);}
#personalization .cpd-tag-handle-remove { border-color: #e04848; color: #e04848;}
#personalization .cpd-tag-handle-remove:hover { background: #e04848; color: #fff;}

/* Cotes en taille réelle du calque sélectionné */
#personalization .cpd-tag-dim { position: absolute; z-index: 101; transform: translate(-50%, -50%); padding: 2px 6px; border-radius: 4px;
background: rgba(35, 35, 35, .85); color: #fff; font-size: 11px; font-weight: 600; line-height: 1.3; white-space: nowrap;
pointer-events: none;}
#personalization .cpd-tag-dim-h { transform: translate(-100%, -50%);}
#personalization #design_preview.cpd-capturing .cpd-tag-dim { display: none !important;}

/* Modification d'un article du panier */
#personalization .cpd-edit-banner { display: flex; align-items: center; gap: 8px; max-width: 560px; margin: 0 auto 12px; padding: 8px 12px;
border-left: 4px solid #2f80ed; border-radius: 6px; background: #eef5ff; color: #1d3f73; font-size: 13px; line-height: 1.4;}
#personalization .cpd-edit-banner .material-icons { flex: 0 0 auto; font-size: 20px;}
.cpd-cart-edit { display: inline-flex; align-items: center; gap: 4px; margin: 8px 0; font-size: 13px; text-transform: none;}
.cpd-cart-edit .material-icons { font-size: 18px;}

/* Pas de « tirer pour actualiser » pendant la personnalisation (mobile) */
html.cpd-editor-open,
html.cpd-editor-open body { overscroll-behavior-y: none;}

/* Calques : déplaçables au doigt, cadre ajusté au contenu et tournant avec lui */
#personalization #design_preview .tags { touch-action: none; transform-origin: 50% 50%; box-sizing: border-box; cursor: move;
user-select: none; -webkit-user-select: none;}
#personalization #design_preview .tags img { -webkit-user-drag: none; user-drag: none; pointer-events: none;}
#personalization #design_preview .cpd_text_layer { padding: 2px 4px !important;}
#personalization #design_preview .cpd_text_layer .cpd_icon { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;}
#personalization #design_preview .cpd_text_layer .tag_text { display: inline-block !important; margin: 0 !important; padding: 0 !important;
white-space: pre !important; word-wrap: normal !important; line-height: 1.2;}
#personalization #design_preview .cpd_image_layer { padding: 0 !important;}
#personalization #design_preview .cpd_image_layer .cpd_icon { width: 100%; height: 100%;}
#personalization #design_preview .cpd_image_layer img.tag_image { display: block; width: 100% !important;}

/* Onglets : PC = Calques uniquement ; téléphone = Texte et Images */
#personalization.cpd-desktop .cpd-mobile-only { display: none !important;}
#personalization .cpd-back-to-layers { display: inline-flex; align-items: center; gap: 4px; margin: 0 0 10px; padding: 4px 8px 4px 4px;
border: 0; border-radius: 4px; background: transparent; color: #555; font-size: 13px; cursor: pointer;}
#personalization .cpd-back-to-layers:hover { background: #f2f2f2; color: #ff7c1f;}
#personalization .cpd-back-to-layers .material-icons { font-size: 18px;}
/* Liste d'origine du module : remplacée par le panneau des calques */
#personalization #cpd_layers_section_content,
#personalization .cpd_extra_layer_btns,
#personalization #cpd_img_txt_blox_content textarea { display: none !important;}
#personalization #cpd_layers_section .cpd_ui_layer { cursor: pointer;}

/* PC : ajout de calques sous la liste des calques (plus de boutons flottants) */
#personalization .cpd-layer-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 12px;}
#personalization .cpd-add-layer-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin: 0;
padding: 10px 12px; border: 1px dashed #ff7c1f; border-radius: 6px; background: #fff7f0; color: #c25a10; font-size: 13px;
font-weight: 600; cursor: pointer;}
#personalization .cpd-add-layer-btn:hover { background: #ff7c1f; color: #fff;}
#personalization .cpd-add-layer-btn .material-icons { font-size: 20px;}

/* Calques vides : emplacement visible pendant l'édition (jamais dans le visuel) */
#personalization #design_preview:not(.cpd-capturing) .tags.cpd-empty-layer { outline: 2px dashed rgba(255, 124, 31, .75);
outline-offset: -2px; background: rgba(255, 124, 31, .07);}
#personalization #design_preview:not(.cpd-capturing) .tags.cpd-empty-layer::after { content: attr(data-empty-label); position: absolute;
top: 0; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; color: #ff7c1f;
font-size: 12px; font-weight: 600; pointer-events: none;}
#personalization #design_preview.cpd-capturing .cpd-tag-handle { display: none !important;}

/* Qualité d'impression des images (DPI) : contour coloré + légende */
#personalization #design_preview:not(.cpd-capturing) .cpd_image_layer[data-dpi-level="good"] { outline: 2px solid #2e9e5b; outline-offset: 1px;}
#personalization #design_preview:not(.cpd-capturing) .cpd_image_layer[data-dpi-level="mid"] { outline: 2px solid #e8b100; outline-offset: 1px;}
#personalization #design_preview:not(.cpd-capturing) .cpd_image_layer[data-dpi-level="low"] { outline: 2px solid #e04848; outline-offset: 1px;}
#personalization .cpd-dpi-legend { max-width: 560px; margin: 4px auto 10px; font-size: 12px; color: #555;}
#personalization .cpd-dpi-legend[hidden] { display: none;}
#personalization .cpd-dpi-scale { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 12px;}
#personalization .cpd-dpi-title { font-weight: 600; color: #444;}
#personalization .cpd-dpi-item { display: inline-flex; align-items: center; gap: 5px;}
#personalization .cpd-dpi-item::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: currentColor;}
#personalization .cpd-dpi-item.is-good { color: #2e9e5b;}
#personalization .cpd-dpi-item.is-mid { color: #b38800;}
#personalization .cpd-dpi-item.is-low { color: #e04848;}
#personalization .cpd-dpi-selected { margin: 6px 0 0; text-align: center; font-weight: 600; color: #444;}
#personalization .cpd-dpi-warning { margin: 8px 0 0; padding: 8px 10px; border-left: 4px solid #e04848; border-radius: 4px;
background: #fdecec; color: #8a2a2a; font-size: 12px; line-height: 1.4;}
#personalization .cpd-dpi-selected[hidden],
#personalization .cpd-dpi-warning[hidden] { display: none;}

/* Miniatures des faces : remplacées par l'indicateur d'étapes (absent si une seule face) */
#personalization.cpd-no-thumbs #product-part-container { display: none !important;}

/* Chargements : voile clair + anneau animé, au-dessus de tout */
#personalization .cpd_main_loader,
.cpd_main_loader,
#personalization .cart_loader { z-index: 100000 !important; background: rgba(255, 255, 255, .88) !important; opacity: 1 !important;
-webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);}
.cpd_main_loader::after,
#personalization .cart_loader::after,
#personalization .working_loader::after,
#personalization .design_loader::after { content: ''; position: absolute; top: 50%; left: 50%; width: 46px; height: 46px; margin: -23px 0 0 -23px;
border: 4px solid rgba(255, 124, 31, .2); border-top-color: #ff7c1f; border-radius: 50%; animation: cpd-spin .8s linear infinite;}
.cpd_main_loader[data-label]::before,
#personalization .cart_loader[data-label]::before { content: attr(data-label); position: absolute; top: 50%; left: 0; right: 0;
margin-top: 40px; padding: 0 16px; color: #444; font-size: 14px; font-weight: 600; text-align: center;}
#personalization .working_loader,
#personalization .design_loader { background: rgba(255, 255, 255, .8) !important; opacity: 1 !important;}
#personalization .cpd_busy,
#personalization .price_update,
#personalization .qty_update,
#personalization .image_processing { background: rgba(255, 255, 255, .7) !important; opacity: 1 !important;}
#personalization .cpd_busy::after,
#personalization .price_update::after,
#personalization .qty_update::after,
#personalization .image_processing::after { content: ''; position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px;
border: 3px solid rgba(255, 124, 31, .2); border-top-color: #ff7c1f; border-radius: 50%; animation: cpd-spin .8s linear infinite;}
@keyframes cpd-spin { to { transform: rotate(360deg);}}

/* Écart de prix sur les options */
#personalization .cpd-option-chip { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px;}
#personalization .cpd-option-delta { font-size: 11px; font-weight: 600; color: #8a8a8a;}
#personalization .cpd-option-delta[hidden] { display: none;}
#personalization .cpd-option-chip.is-selected .cpd-option-delta { color: #fff;}

/* Options du produit (taille...) dans l'éditeur */
#personalization .cpd-options { display: flex; flex-direction: column; gap: 10px; margin: 6px auto 12px; max-width: 560px;}
#personalization .cpd-option-group { display: flex; flex-direction: column; gap: 6px;}
#personalization .cpd-option-label { color: #444; font-size: 13px; font-weight: 600;}
#personalization .cpd-option-values { display: flex; flex-wrap: wrap; gap: 6px;}
#personalization .cpd-option-chip { min-width: 44px; min-height: 36px; margin: 0; padding: 6px 12px; border: 1px solid #d6d6d6;
border-radius: 6px; background: #fff; color: #444; font-size: 13px; line-height: 1.2; cursor: pointer;
transition: border-color .15s, background-color .15s, color .15s;}
#personalization .cpd-option-chip:hover { border-color: #ff7c1f;}
#personalization .cpd-option-chip:focus { outline: none;}
#personalization .cpd-option-chip:focus-visible { outline: 2px solid #ff7c1f; outline-offset: 2px;}
#personalization .cpd-option-chip.is-selected { border-color: #ff7c1f; background: #ff7c1f; color: #fff;}
#personalization .cpd-option-swatch { min-width: 0; padding: 3px; border-radius: 50%;}
#personalization .cpd-option-swatch .cpd_attribute_container { box-shadow: none;}
#personalization .cpd-option-swatch.is-selected { background: #fff; box-shadow: 0 0 0 2px #ff7c1f;}

/* Bouton de fermeture des menus déroulants */
#personalization .cpd-popup-close { position: absolute; top: 4px; right: 4px; z-index: 2; display: flex; align-items: center;
justify-content: center; width: 32px; height: 32px; padding: 0; border: 0; border-radius: 50%; background: transparent;
color: #555; cursor: pointer;}
#personalization .cpd-popup-close:hover { background: #f2f2f2; color: #ff7c1f;}
#personalization .cpd-popup-close .material-icons { font-size: 20px;}
#personalization #cpd-variants,
#personalization .material-wrapper { padding-top: 36px;}

/* Fenêtre après ajout au panier */
.cpd-after-cart { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 8px 4px 4px; text-align: center;}
.cpd-after-cart-icon { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%;
background: #e8f6ee; color: #2e9e5b;}
.cpd-after-cart-icon .material-icons { font-size: 32px;}
.cpd-after-cart.is-error .cpd-after-cart-icon { background: #fdecec; color: #e04848;}
.cpd-after-cart .cpd-after-cart-title { margin: 0 0 4px; color: #232323; font-size: 17px; font-weight: 700; line-height: 1.35;}
.cpd-after-cart-previews { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-bottom: 6px;}
.cpd-after-cart-previews img { width: 88px; height: 88px; object-fit: contain; border: 1px solid #eee; border-radius: 8px; background: #fafafa;}
.cpd-after-cart .btn { width: 100%; margin: 0; padding: 11px 14px; border-radius: 6px; text-align: center; white-space: normal;
font-weight: 600;}
.jconfirm-content-pane .cart-content-btn.cpd-after-cart .btn.cpd-new-design { background: #ff7c1f !important; border-color: #ba5e0f !important; color: #fff !important;}
.jconfirm-content-pane .cart-content-btn.cpd-after-cart .btn.cpd-same-design { background: #fff !important; border: 1px solid #ff7c1f !important; color: #ff7c1f !important;}
.jconfirm-content-pane .cart-content-btn.cpd-after-cart .btn.proceed { background: #ff7c1f !important; border: 1px solid #ff7c1f !important; color: #fff !important;}
.jconfirm-content-pane .cart-content-btn.cpd-after-cart .btn.cpd-new-design { background: #fff !important; border: 1px solid #ddd !important; color: #444 !important;}

#personalization.cpd-mobile .cpd-editor-wrap { display: flex; flex-direction: column; padding-top: 10px;}
#personalization.cpd-mobile #custom-design-center-column { order: 1; width: 100% !important; padding: 0 12px !important;}
#personalization.cpd-mobile #cpd_secondary_nav { order: 2; width: 100% !important; padding: 8px 12px 0 !important;}
#personalization.cpd-mobile #cpd_supernav { order: 3; width: 100% !important; padding: 12px 12px 0; border-right: 0 !important;}

#personalization.cpd-mobile #cpd_supernav #cpd_left_basic_nav { width: 100%; padding: 0;}
#personalization.cpd-mobile #cpd_supernav #cpd_left_basic_nav ul { display: flex; gap: 8px; width: 100%;}
#personalization.cpd-mobile #cpd_supernav #cpd_left_basic_nav ul li { display: block; flex: 1 1 0; padding: 0;}
#personalization.cpd-mobile #cpd_supernav #cpd_left_basic_nav ul li a { display: flex; align-items: center; justify-content: center; gap: 6px;
max-width: none; max-height: none; padding: 8px; border-radius: 8px; font-size: 13px;}
#personalization.cpd-mobile #cpd_supernav #cpd_left_basic_nav ul li a i { width: auto; font-size: 20px;}
#personalization.cpd-mobile #cpd_supernav #cpd-tools-box-container { width: 100%; padding: 12px 0 0;}

#personalization.cpd-mobile #cpd-design-btn-box { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;}
#personalization.cpd-mobile #cpd_product_opts_btn,
#personalization.cpd-mobile #cpd_product_materials_btn { width: auto; margin: 0; text-align: center;}
#personalization.cpd-mobile #cpd-design-btn-box a.cpd_a { display: inline-flex; align-items: center; gap: 6px; padding: 6px 14px;
border: 1px solid #fa3a5e; border-radius: 999px; color: #fa3a5e; font-size: 13px;}
#personalization.cpd-mobile #cpd-design-btn-box a.cpd_a i.material-icons { width: auto !important; height: auto !important; padding: 0;
border: 0; font-size: 20px !important;}
#personalization.cpd-mobile #cpd-design-btn-box span.cpd_i { display: inline; position: static; padding: 0; box-shadow: none;
background: transparent; color: inherit;}
#personalization.cpd-mobile #cpd-design-btn-box span.cpd_i::before { display: none;}
#personalization.cpd-mobile .cpd-editor-col.right #cpd-variants,
#personalization.cpd-mobile .cpd-editor-col.right .material-wrapper { position: fixed; left: 12px; right: 12px; top: auto; bottom: 130px;
max-height: 50vh; overflow-y: auto; border-radius: 8px; box-shadow: 0 6px 24px rgba(0, 0, 0, .18);}
#personalization.cpd-mobile .cpd-editor-col.right #cpd-variants::before,
#personalization.cpd-mobile .cpd-editor-col.right .material-wrapper::before { display: none;}

#personalization.cpd-mobile #design_content { padding-bottom: 130px;}
#personalization.cpd-mobile #cpd_footer_wrap { padding-bottom: env(safe-area-inset-bottom, 0px); white-space: normal;}
#personalization.cpd-mobile #cpd_footer { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; padding: 8px 12px;}
#personalization.cpd-mobile #cpd_footer_wrap #cpd_footer_navigation { display: block; flex: 0 0 auto; order: 1; width: auto !important;
text-align: left;}
#personalization.cpd-mobile #cpd_footer_wrap .cpd-qty-container { display: block; flex: 1 1 auto; order: 2; width: auto !important;}
#personalization.cpd-mobile #cpd_footer_wrap .add_to_cart { display: block; flex: 1 1 100%; order: 3; width: 100% !important; padding: 0;}
#personalization.cpd-mobile #cpd_footer_wrap #add_custom_product_to_cart,
#personalization.cpd-mobile #cpd_footer_wrap #cpd_next_face_btn { min-height: 44px; font-size: 14px;}
#personalization.cpd-mobile .cpd-step { padding-right: 12px; font-size: 13px;}

/* ─── Panneau des calques ─── */
#personalization .cpd-layers-panel { margin: 0 0 4px;}
#personalization .cpd-layer-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px;}
#personalization .cpd-layer-item { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border: 1px solid #e2e2e2; border-radius: 8px;
background: #fff; cursor: pointer; transition: border-color .15s, box-shadow .15s;}
#personalization .cpd-layer-item:hover { border-color: #ffb27a;}
#personalization .cpd-layer-item.is-selected { border-color: #ff7c1f; box-shadow: 0 0 0 2px rgba(255, 124, 31, .18);}
#personalization .cpd-layer-item.ui-sortable-helper { box-shadow: 0 6px 18px rgba(0, 0, 0, .15);}
#personalization .cpd-layer-drag { flex: 0 0 auto; color: #b0b0b0; font-size: 20px; cursor: grab;}
#personalization .cpd-layer-thumb { flex: 0 0 44px; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px;
overflow: hidden; border: 1px solid #eee; border-radius: 6px; background: #f6f6f6; color: #999;}
#personalization .cpd-layer-thumb img { max-width: 100%; max-height: 100%; object-fit: contain;}
#personalization .cpd-layer-thumb .material-icons { font-size: 22px;}
#personalization .cpd-layer-label { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px;}
#personalization .cpd-layer-name { color: #232323; font-size: 13px; font-weight: 600;}
#personalization .cpd-layer-detail { overflow: hidden; color: #8a8a8a; font-size: 12px; white-space: nowrap; text-overflow: ellipsis;}
#personalization .cpd-layer-tools { flex: 0 0 auto; display: flex; align-items: center; gap: 2px;}
#personalization .cpd-layer-btn { display: inline-flex; align-items: center; justify-content: center; gap: 4px; min-width: 32px; height: 32px;
margin: 0; padding: 0 6px; border: 0; border-radius: 6px; background: transparent; color: #555; font-size: 12px; cursor: pointer;}
#personalization .cpd-layer-btn:hover:not(:disabled) { background: #f2f2f2; color: #ff7c1f;}
#personalization .cpd-layer-btn:disabled { opacity: .3; cursor: default;}
#personalization .cpd-layer-btn .material-icons { font-size: 19px;}
#personalization .cpd-layer-replace { border: 1px solid #ff7c1f; color: #c25a10; font-weight: 600;}
#personalization .cpd-layer-remove:hover:not(:disabled) { color: #e04848;}
#personalization .cpd-layer-empty { margin: 4px 0; color: #8a8a8a; font-size: 13px;}
#personalization .cpd-layer-empty[hidden] { display: none;}
#personalization.cpd-mobile .cpd-layer-item { flex-wrap: wrap;}
#personalization.cpd-mobile .cpd-layer-tools { flex: 1 1 100%; justify-content: flex-end; padding-top: 4px; border-top: 1px solid #f2f2f2;}
#personalization.cpd-mobile .cpd-layer-btn { min-width: 40px; height: 40px;}

/* Texte modifié directement sur le calque */
#personalization #design_preview .tags.cpd-editing-tag { cursor: text; outline: 2px solid #2f80ed !important; outline-offset: 1px;}
#personalization #design_preview .tags.cpd-editing-tag,
#personalization #design_preview .tags.cpd-editing-tag * { user-select: text; -webkit-user-select: text; touch-action: auto;}
#personalization #design_preview .tag_text[contenteditable="true"] { outline: none; caret-color: #2f80ed; min-width: 1ch;}

/* Options épuisées / indisponibles */
#personalization .cpd-option-chip.is-unavailable { opacity: .45; text-decoration: line-through;}
#personalization .cpd-option-chip.is-unavailable .cpd-option-delta { text-decoration: none;}
#personalization .cpd-options-warning { margin: 4px 0 0; padding: 6px 10px; border-left: 4px solid #e04848; border-radius: 4px;
background: #fdecec; color: #8a2a2a; font-size: 12px;}
#personalization .cpd-options-warning[hidden] { display: none;}
/* En rupture mais commandable : grisée, reste cliquable */
#personalization .cpd-option-chip.is-oos:not(.is-selected) { background: #eee; border-style: dashed; border-color: #bbb; color: #999;}
#personalization .cpd-option-chip.is-oos:not(.is-selected) .cpd_attribute_container { opacity: .4;}
#personalization .cpd-option-chip.is-oos.is-selected { background: #c9c9c9; border-color: #ff7c1f; color: #444;}
#personalization .cpd-option-chip.is-oos.is-selected .cpd-option-delta { color: #444;}
#personalization .cpd-option-swatch.is-oos.is-selected { background: #fff;}
/* Disponibilité de la déclinaison choisie */
#personalization .cpd-availability { margin: 6px 0 0; padding: 6px 10px; border-left: 4px solid #3aa55d; border-radius: 4px;
background: #edf8f0; color: #24603a; font-size: 12px; line-height: 1.4;}
#personalization .cpd-availability.is-oos { border-left-color: #ff9a52; background: #fff6ef; color: #8a4a12;}
#personalization .cpd-availability[hidden] { display: none;}
#personalization .cpd-availability p { margin: 0;}
#personalization .cpd-availability-title { font-weight: 600;}
#personalization .cpd-availability-title .material-icons { font-size: 15px; vertical-align: -3px;}
#personalization #cpd_footer_wrap .cpd-blocked { opacity: .5;}
/* ─── Disposition : faces, calques, options et quantité dans la colonne de gauche ─── */
/* Bouton « Calques » (seul onglet restant) et bouton « Réinitialiser » masqués */
#personalization #cpd_supernav #cpd_left_basic_nav,
#personalization #cpd_footer_wrap #cpd_footer_navigation { display: none !important;}
#personalization #cpd_supernav #cpd-tools-box-container { width: 100%; padding: 0;}
#personalization.cpd-desktop #cpd_supernav { padding: 0 16px 16px; box-sizing: border-box;}
#personalization.cpd-desktop #cpd_supernav .cpd-steps-wrap { margin: 0 0 14px; padding-bottom: 14px; border-bottom: 1px solid #ececec;}
#personalization.cpd-desktop #cpd_supernav .cpd-steps { justify-content: flex-start;}
#personalization.cpd-desktop #cpd_supernav .cpd-steps-hint { text-align: left;}
#personalization.cpd-desktop #cpd_supernav .cpd-options { margin: 14px 0 0; padding-top: 14px; border-top: 1px solid #ececec; max-width: none;}

/* Téléphone : faces, calques + ajout, aperçu, options + quantité */
#personalization.cpd-mobile .cpd-editor-wrap > .cpd-steps-wrap { order: 0; margin: 0 0 8px; padding: 0 12px;}
#personalization.cpd-mobile #cpd_supernav { order: 1; padding: 0 12px 10px;}
#personalization.cpd-mobile #custom-design-center-column { order: 2;}
#personalization.cpd-mobile #cpd_secondary_nav { order: 3;}

/* Quantité */
#personalization .cpd-qty-field { display: inline-flex; align-items: stretch; height: 36px; border: 1px solid #d6d6d6; border-radius: 6px;
overflow: hidden; background: #fff; align-self: flex-start;}
#personalization .cpd-qty-btn { width: 36px; margin: 0; padding: 0; border: 0; background: #f5f5f5; color: #333; font-size: 18px; line-height: 1;
cursor: pointer;}
#personalization .cpd-qty-btn:hover { background: #ffe9d9; color: #ff7c1f;}
#personalization .cpd-qty-field #cpd_qty_wanted { width: 56px; margin: 0; padding: 0 4px; border: 0; border-left: 1px solid #d6d6d6;
border-right: 1px solid #d6d6d6; border-radius: 0; text-align: center; font-size: 14px; -moz-appearance: textfield;}
#personalization .cpd-qty-field #cpd_qty_wanted::-webkit-outer-spin-button,
#personalization .cpd-qty-field #cpd_qty_wanted::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0;}
/* Petit « i » des détails du prix masqué */
#personalization .cpd_more_prices { display: none !important;}
#personalization .cpd-qty-group .cpd-option-label { display: block; margin: 0; text-align: left;}
/* Faces centrées dans la colonne de gauche */
#personalization.cpd-desktop #cpd_supernav .cpd-steps { justify-content: center;}
#personalization.cpd-desktop #cpd_supernav .cpd-steps-hint { text-align: center;}
/* Quantité alignée à droite (libellé et sélecteur) */
#personalization .cpd-qty-group { align-items: flex-end;}
#personalization .cpd-qty-group .cpd-option-label { text-align: right;}
#personalization .cpd-qty-field { align-self: flex-end;}
/* Total sans remise de quantité, barré */
#personalization #total-price .cpd-total-regular { margin-right: 6px; color: #8a8a8a; font-size: .8em; font-weight: 400;
text-decoration: line-through;}
#personalization #total-price .cpd-total-regular[hidden] { display: none;}