/*
        Important: Please do not modify on this file directly
        Please use the module in the link below to load you CSS files
        http://www.prestashop.com/forums/topic/386184-free-medialoader-module-load-your-js-and-css-files-easily/
*/

html,body{
    background: #f0e7d8;
    height: -webkit-fill-available;
    min-height: 100%;
    margin: 0;
}

.clr{
    clear: both;
}

/* General */
.ctd_no_show{
    display: none !important;
}

.ctd_invisible{
    visibility: hidden !important;
}

#center_column{
    overflow: visible !important;
}

.ctd_product_panel{
    font-size: 13px;
    width: 100%;
    display: none;
    margin: 20px 0px 0px;
    min-width: 280px;
    clear: both;
}

.ctd_product_panel * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.ctd_product_panel.ctd_popup{
    display: none;
    position: fixed;
    top: 4px;
    left: 4px;
    z-index: 1002;
    margin: 0px;
    z-index: 8004;
    max-width: 99%;
}

.ctd_popup p.alert.warning {
    margin: 10px 0px;
}

div.ctd_bg{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.5;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=50);
    z-index: 8001;
}

.ctd_close_popup{
    width: 24px;
    height: 24px;
    background: rgba(0, 0, 0, 0) url(../img/close-icon.png) no-repeat;
    display: block;
    position: absolute;
    right: 0px;
    top: 0px;
}

.ctd_product_panel .checker{
    display: inline;
    margin-right: 0px;
}

.ctd_product_panel .uploader{
    margin: 5px 0px;
    min-height: 27px;
}

.ctd_product_panel .styled-file{
    position: absolute;
    top: -4px;
    opacity: 0;
}

.ctd_panel_content{
    position: relative;
    opacity: 1;
    transition: max-height 0.3s ease,opacity 0.3s ease,padding 0.3s ease;
    -webkit-transition: max-height 0.3s ease,opacity 0.3s ease,padding 0.3s ease;
    -moz-transition: max-height 0.3s ease,opacity 0.3s ease,padding 0.3s ease;
    background: #eeeeee;
}

.ctd_product_panel.collapsed .ctd_panel_content{
    max-height: 0px;
    padding: 0px;
    overflow: hidden;
    border: none;
    opacity: 0;
}

.ctd_panel_content .ctd_preview{
    background: #000;
    position: relative;
    height: 100dvh; /*635px;*/
    overflow: hidden;
    max-height: 79vh; /*635px;*/
}

.ctd_preview .ctd_prv_c{
    position: relative;
}

.ctd_img{
    background: #FFF;
}

.ctd_preview.ctd_preview_hover .ctd_prv_c{
    overflow: visible !important;
    height: 100%;
}


.ctd_preview.ctd_preview_hover .ctd_img_mask{
    opacity: 0.7;
}

.ctd_nopointer_events .ctd_img_mask{
    visibility: hidden;
}

.ctd_preview.ctd_preview_hover .ctd_overlay_container{
    opacity: 1;
}

.ctd_prv{
    width: auto !important;
    display: inherit;
    height: 635px;
    position: absolute;
    left: -100px;
    display: none;
}

.ctd_panel_content .ctd_preview img.ctd_img_overlay{
    position: absolute;
    top: 0px;
    left: 0px;
    max-width: 100%;
    max-height: 100%;
    width: 100% !important;
    height: 100%;
    /*z-index: 1000; GBS*/
    z-index: 8;
}

.ctd_panel_content .ctd_preview img.ctd_img_mask{
    transition: opacity linear .2s;
    pointer-events:none;
    display: block !important;
    position: absolute;
    top: 0px;
    left: 0px;
    max-width: 100%;
    max-height: 100%;
    width: 100% !important;
    height: 100%;
    z-index: 1003;
}

.ctd_panel_title{
    box-sizing: border-box;
    height: 42px;
    padding: 12px 6px;
    background-color: #17C1FF;
    cursor: pointer;
    position: relative;
    border-radius: 6px 6px 0px 0px;
    overflow: visible;
    z-index: 1006;
}

.ctd_panel_title a, .ctd_design a{
    text-decoration:none;
    color: #FFF;
    font-weight: bold;
}

.ctd_design{
    position: absolute !important;
    right: 21px;
    top: 3px;
}

.ctd_design_title{
    height: auto;
}

.ctd_design_title > a{
    display: block;
    width: auto;
    height: 50px;
    background-repeat: no-repeat;
    background-position: 30px center;
    text-align: center;
    font-size: 16px;
    background-color: #fff;
    color: #000;
    /* text-transform: uppercase; */
    line-height: 50px;
    text-align: left;
    text-indent: 95px;
    margin-bottom:5px;
    border-radius: 16px;
        position: relative;
}

.ctd_design_title a.active{
    /*background-color: #e40613 !important;*/
    /* background-color: #81a479 !important; */
    background-color: #fff !important;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin-bottom: 0;
        position: relative;
}

.ctd_side_design a{
    border-radius: 0px;
    height: 42px;
    padding-top: 32px;
    background-position: center 3px;
    line-height: 4px;
}

.ctd_side_design .ctd_a_template{
    width: 48px !important;
}

.ctd_side_design {
    display: none;
    right: -47px;
    top: -42px;
    width: 47px;
    overflow: hidden;
    height: auto !important;
    border-radius: 0px 6px 6px 0px;
}

.ctd_side_design .ctd_design_title {
    height: auto !important;
}

.ctd_show_side .ctd_panel_title{
    border-radius: 6px 0px 0px 0px;
}

.ctd_show_side .ctd_panel_title .ctd_design{
    display: none;
}

.ctd_show_side .ctd_side_design{
    display: block;
    z-index: 1006;
}

.ctd_show_side .ctd_design_div{
    padding-left: 53px;
    right: -100%;
    margin-right: -5px;
    margin-top: -42px;
    border-radius: 0px 6px 6px 6px;
    box-shadow: 1px 1px #C0BFBF;
}

.ctd_show_side .ctd_text_tabs{
    left: 53px;
}

.ctd_show_side .ctd_first_tab{
    border-left: 1px solid #A9A9A9;
    border-radius: 0px;
}

.ctd_show_side .ctd_first_tab .ctd_text_tab{
    border-radius: 0px;
}

.ctd_a_inputs{
    background-image: url(../img/inputs.png);
    color: black;
}

.ctd_a_text{
    background-image: url(../img/tinconfig-tabs/smallcaps.svg) !important;;
    color: black;
}

.ctd_a_image{
    background-image: url(../img/tinconfig-tabs/gallery.svg) !important;;
    color: black;
}

.ctd_a_dimension{
    background-image: url(../img/tinconfig-tabs/color-swatch.svg) !important;;
    color: black;
}

.ctd_a_color{
    background-image: url(../img/tinconfig-tabs/group.svg) !important;;
    color: black;
}

.ctd_a_help{
    background-image: url(../img/tinconfig-tabs/coffee.svg) !important;
    color: black;
}

.ctd_a_template{
    width: 57px !important;
    background-image: url(../img/template.png);
}

li.caps-1{
    background-image: url(../img/caps-1.png);
}
li.caps-2{
    background-image: url(../img/caps-2.png);
}
li.caps-3{
    background-image: url(../img/caps-3.png);
}
li.caps-4{
    background-image: url(../img/caps-4.png);
}
li.caps-5{
    background-image: url(../img/caps-5.png);
}
li.caps-6{
    background-image: url(../img/caps-6.png);
}
.list-caps li{
    list-style-type: none;
    padding: 11px;
    background-repeat: no-repeat;
    padding-left: 100px;
    margin-left: 27px;
    font-weight: 500;
}
.list-caps{
    margin: 20px 0;
}
.list-caps li input{
    position:absolute;
    right: 20px;
    cursor: pointer;
    accent-color:#000;
}
.ctd_fixed_wrapper{
    z-index: 1003;
}

.ctd_preview:hover .ctd_fixed_wrapper{
    z-index: 1001;
}

.ctd_preview.ctd_details_shown .draggable-wrapper{
    opacity: 0;
}

#ctd_pin{
    display: none;
}

.ctd_preview .ui-wrapper{
    /*z-index: 1002; Nuovo Shop*/
    z-index: 9;
    overflow: visible !important;
}

.ctd_preview .draggable-wrapper, .ctd_preview .ui-wrapper{
    filter: Alpha(Opacity=100) !important;
    opacity: 1 !important;
}

.ctd_product_panel:hover .ft-container.selected .ui-wrapper .ctd_item{

}

.ft-hover .ui-wrapper .ctd_item{

}

.ui-wrapper.ctd_outbound .ctd_item{

}

.ctd_preview .ui-resizable-handle,
.ctd_preview .ui-rotatable-handle,
.ft-container .ft-control{
    cursor: default;
    opacity: 0;
}

.ft-container{
    position: relative;	
}

.ft-container .ui-resizable-handle{
    background: #17DAFF;
    border: 1px solid #11928C;
    width: 16px;
    height: 16px;
    opacity: 0;
}

.ft-container .ui-resizable-e {
    top: 50%;
    margin-top: -8px;
    background: #17DAFF url(../img/arrow-e.png) no-repeat 3px;
}

.ft-container .ui-resizable-w {
    top: 50%;
    margin-top: -8px;
    background: #17DAFF url(../img/arrow-w.png) no-repeat 3px;
}

.ft-container .ui-resizable-n {
    left: 50%;
    margin-left: -8px;
    background: #17DAFF url(../img/arrow-n.png) no-repeat 3px;
}

.ft-container .ui-resizable-s {
    left: 50%;
    margin-left: -8px;
    background: #17DAFF url(../img/arrow-s.png) no-repeat 3px;
}

.ft-container .ui-resizable-se {
    background: #17DAFF url(../img/arrow-resize.png) no-repeat -1px;
    bottom: -5px;
    right: -5px;
}

.ft-container.ft-hover .ui-resizable-handle,
.ft-container.ft-hover .ui-rotatable-handle,
.ft-container.ft-hover .ft-control,
.ft-container.ft-hover .ctd_ratio{
    opacity: 1;
}

.ctd_narrow_w .ui-resizable-n,
.ctd_narrow_w .ui-resizable-s{
    display: none;
}

.ctd_narrow_h .ui-resizable-e,
.ctd_narrow_h .ui-resizable-w{
    display: none;
}

.ctd_narrow_w.ctd_narrow_h .ui-resizable-n,
.ctd_narrow_w.ctd_narrow_h .ui-resizable-s,
.ctd_narrow_w.ctd_narrow_h .ui-resizable-e,
.ctd_narrow_w.ctd_narrow_h .ui-resizable-w,
.ctd_narrow_w.ctd_narrow_h .ui-resizable-ne,
.ctd_narrow_w.ctd_narrow_h .ui-resizable-nw,
.ctd_narrow_w.ctd_narrow_h .ui-resizable-sw
{
    display: none;
}
.ctd_custom_product{
    display: none !important;
}

.autogrow{overflow: hidden;}

/* Font */
#ctd_font{
    position: relative;
    /*height: 31px;*/
    margin: 10px 0px;
    border: 1px solid #A9A9A9;
    padding: 7px 7px;
    text-align: left;
    z-index: 1001;
    vertical-align: middle;
    display: block;
    width: 100% !important;
    border-radius: 8px;
}

#ctd_font > img{
    display: none;
    cursor: pointer;
    border-radius: 0px !important;
}
#ctd_font img{
    height: 21px;
    /* 	max-width: 146px; */
}
#ctd_font .ctd_sb_container img {
    max-height: 20px;
    padding-right: 75%;
}
/* GBS
#ctd_font .ctd_sb_container img {
    max-height: 20px;
}
*/

.ctd_sb_arrow{
    display: none;
    background: #DDD url(../img/arrow-down.png) no-repeat 4px center;
    width: 24px;
    height: 100%;
    position: absolute;
    right: 0px;
    top: 0px;
}

#ctd_font:hover .ctd_sb_arrow{
    display: block;
}

.ctd_sb_container{
    display: none;
    background: white;
    position: absolute;
    top: 31px;
    left: 0px;
    height: auto;
    max-height: 640px;
    overflow-y: auto;
    overflow-x: hidden;
    max-width: 100%;
    border: 1px solid #A9A9A9;
    padding: 3px;
    text-align: left;
    cursor: pointer;
    width: 100%;
}

.ctd_sb_row{
    padding: 5px 10px;
}

.ctd_sb_row:hover{
    background: #EFF0F2;
}

#ctd_font.ctd_sb_expanded .ctd_sb_container{
    display: block;
}

/* Font */

#ctd_material{
    min-width: 200px;
    margin:5px 0px;
}
.row-2 #ctd_material{
    margin: 0;
}
ul.ctd_color{
    margin-top: 10px;
    text-align: center;
}

ul.ctd_color li{
    display: inline;
    margin: 0px 1px 1px 0px;
}

ul.ctd_color li a{
    display:inline-block;
    width: 40px;
    height: 40px;
    border: 1px solid #999;
    border-radius: 20px;
}

/* custom color */
ul#ctd_customcolor {
    /*max-width: 400px;*/
    margin-bottom: 0px;
    /*margin-left: 25px;*/
    height: inherit;
    overflow: auto;
}


ul#ctd_customcolor li{
    display:inline;
    margin: 0px 1px 1px 0px;
}

ul#ctd_customcolor li a{
    display: inline-block;
    width: 60px;
    height: 60px;
    border: 2px solid #E2E2E2;
    border-radius: 10px;
    /*background-position: 40px center;*/
    background-size: auto 100%;
    margin: 2px;


}

.ctd_customsize_controls ul#ctd_customcolor li a {
    background-position-x: -10px !important;
    background-position-y: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
}


ul#ctd_customcolor li.active a{
    border: 2px solid #17DAFF;
}

/* custom color */

/* image color */

ul#ctd_imagecolor{
    margin-bottom: 0px;
}

ul#ctd_imagecolor li{
    display:inline;
    margin: 0px 1px 1px 0px;
}

ul#ctd_imagecolor li a{
    display:inline-block;
    width: 24px;
    height: 24px;
    border: 2px solid #E2E2E2;
    border-radius: 12px;
}

ul#ctd_imagecolor li.active a{
    border: 2px solid #17DAFF;
}

ul#ctd_imagecolor li a.ctd_imagepicker{
    background: #11DAF5 url("../img/select.png") -6px 0 no-repeat;
}

/* image color */

a.ctd_slider_reset{
    float: right;
    margin-right: 1px;
    border: 1px solid #A9A9A9;
    border-radius: 5px;
    padding: 0px 5px;
    background: #E7F9FF;
    color: #000;
}

span.ctd_slider_value{
    float: right;
    width: 40px;
    text-align: right;
}

#ctd_alpha_slider,#ctd_curve_slider{
    margin: 7px;
}

ul.ctd_color li a.ctd_picker{
    background: url("../img/choice-color.jpg") 0 0 no-repeat;
    background-size: 100% 100%;
    border-radius: 20px;
}

ul.ctd_color li.active a {
    position: relative;
    align-items: center;
    justify-content: center;
    border-color: none;
}

ul.ctd_color li.active a::after {
    content: "\2713";           /* Carattere Unicode della spunta (✓) */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Centratura assoluta perfetta */

    color: #ffffff;             /* Colore della spunta (bianco o nero a seconda del fondo) */
    font-size: 20px;            /* Dimensione dell'icona */
    font-weight: bold;
    line-height: 1;
    pointer-events: none;       /* Evita che l'icona interferisca con i click */
    text-shadow: 0 0 3px rgba(0, 0, 0, 0.8), 0 0 1px #000;
}

.ctd_label{
    margin-right: 10px;
    margin-bottom: 2px;
}

.ctd_label input{
    vertical-align: text-top;
}

#ctd_buttons{
    position: relative;
    top: 2px;
    z-index: 1;
    text-align: right;
}

.ctd_button{
    display:inline-block;
    background-repeat: no-repeat !important;
    line-height: 24px !important;
    padding: 0px 8px 0px 8px !important;
    color: #FFF !important;
    background-color: #17C1FF;
    border-radius: 12px;
    min-width: 24px;
    min-height: 24px;
}

.ctd_icon{
    padding: 0px 8px 0px 25px !important;
}

.ctd_button:hover{
    background-color: #98E5FF;
}

#ctd_apply{
    background-image: url(../img/apply-24.png);
    padding-left: 25px !important;
}
.ctd_text #ctd_buttons {
    position: relative;
    top: 2px;
    z-index: 1;
    text-align: center;
    margin-bottom: 15px;
    margin-top: 10px;
}

#ctd_add{
    background: #333;
    padding: 5px 30px !important;
    text-transform: uppercase;
    display: flex;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
    justify-content: center;
    min-height: 36px;
    align-items: center;
}

#ctd_add:focus{
    color: white !important;
}

.ctd_buttons_reset{
    display: flex;
    width: 100%;
    background-color: #e5e5e5;
    color: #333;
    padding: 14px 40px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
    justify-content: center;
    float: none;
    margin: 0;
}

.image_buttons_reset{
    padding: 11px;
    background: black;
    color: white;
    text-align: center;
    width: 128px;
    float: right;
    margin-bottom: 20px;
    margin-right: 9px;
}

.image_buttons_reset:hover {
    cursor: pointer;
    text-decoration: underline;
}

.ctd_buttons_reset:hover {
    cursor: pointer;
    text-decoration: underline;
}
.ctd_text_preview{
    position: absolute;
    top:0px;
    left:0px;
}

.ctd_design_div{
    display:block !important;
    opacity: 1;
    filter: alpha(opacity=100);
    transition: opacity .2s ease-in-out;
    padding: 5px 5px 5px 5px;
    background: #fff;
    position: relative;
    right: 0px;
    /*box-shadow: 0px 1px #C0BFBF;*/
    top: 0px;
    _max-height: 95%;
    /*z-index: 1005;*/
    /*z-index: 09;*/
    max-width: 100%;
    margin-bottom: 5px;
    border-radius: 0 0 16px 16px;
    padding-left: 20px;
    padding-right: 20px;
}
.row-2 .ctd_design_div{
    padding-right: 25px;
}

.ctd_design_div.ctd_hide{
    opacity: 0;
    filter: alpha(opacity=0);
    z-index: -1;
}

.ctd_show_side .ctd_design_div.ctd_hide{
    opacity: 1;
    filter: alpha(opacity=100);
    z-index: 1005;
}

#ctd_text{
    display: inline-block;
    width: 100%;
    max-width: 100%;
    padding: 6px;
    white-space: pre;
    /*line-height: 15px;*/
    border: 1px solid #A9A9A9;
    /*min-width: 200px;*/
    min-height: 36px !important;
    /*margin-bottom: 10px;*/
    border-radius: 8px;
    font-size: 18px;
}

.ctd_images{
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    outline: none;
}

.ctd_help{
    /*width: 600px;*/
    overflow: auto;
    outline: none;
    min-height: 60px;
    max-height: 100%;
    max-width: 100%;
}
.ctd_image_group{
    display: inline-block;
    text-align: center;
    margin: 0px 5px 5px;
    padding: 5px;
    background: #F7F7F7;
    border: 1px solid #e2e2e2;
    border-radius: 3px;
}

.ctd_image_group:hover{
    background: #93E1FC;
}

.ctd_image_group.ctd_has_parent{
    display: none !important;
}

.ctd_image_group.ctd_has_parent_show{
    display: inline-block !important;
}

.ctd_image_group label {
    font-size: 13px;
    display: block;
    cursor: pointer;
    text-align: center;
}

.ctd_template{
    display: inline-block;
    text-align: center;
    padding: 5px;
}

.ctd_template:hover{
    background: #93E1FC;
}

.ctd_template label {
    display: block;
    cursor: pointer;
}

.ctd_close_image_group{
    display: block;
    position: absolute;
    top: 0px;
    left: -20px;
    width:20px;
    height: 100%;
    background: #E7E7E8 url(../img/back.png) repeat-y;
}

.ctd_close_image_group:hover{
    opacity: 1;
}

.ctd_image{
    display: none;
    vertical-align: top;
}

.ctd_user_upload{
    display: inline-block !important;
}

.ctd_image img{
    opacity: 1;
    box-sizing: content-box;
    background: #EEE url(../img/noise.png);
    display: inline-block;
    margin: 0px 5px 5px;
    padding: 5px;
    max-height:70px;
}

.ctd_image img:hover{
    background: #93E1FC;
}

.ctd_image_preview{
    position: absolute;
    top:0px;
    left:0px;
}

.ft-static{
    display: inline-block;
    position: static !important;
    width: 16px;
    height: 16px;
    background-position: 0px 0px !important;
}

.ctd_img_container{
    min-height: 85px;
    font-size: 0;
    margin: 5px 5px 5px 20px;
    position: relative;
}

.ctd_upload_c{
    display: inline-block;
    /*overflow: hidden;
    height: 27px;*/
    position: relative;
}

.ctd_upload_c div{
    position: absolute;
    top:0px;
    left:0px;
    margin: 0px !important;
}

#ctd_upload .uploader .filename,
#ctd_upload .uploader .action{
    display: none;
}

.ctd_url_c{
    display: inline-block;
    overflow: hidden;
    height: 27px;
}

#ctd_user_image, #uniform-ctd_user_image, #ctd_upload .styled-file{
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
    border: none;
    background: none;
    position: absolute;
    top: 0;
    right: 0;
    float: right;
    cursor: pointer;
    width: 100%;
    height: 100%;
    min-height: 27px;
    margin: 0px !important;
}

.ctd_img_send_container{
    margin: 4px 0px 4px 0px;
}

.ctd_img_send_container.ctd_upload #ctd_upload{
    display: block;
}

.ctd_img_send_container.ctd_url #ctd_url{
    display: block;
}

.ctd_img_send_container.ctd_upload .ctd_img_btn,
.ctd_img_send_container.ctd_url .ctd_img_c{
    display: none;
}

input#ctd_url_input {
    display: block;
    padding: 3px 5px;
    margin: 5px 0px;
    max-width: 90%;
    width: 400px;
    border: 1px solid #CCC;
}

.ctd_loader{
    /*position:absolute;
    right:5px;
    bottom:5px;
    z-index:1004;
    display:none;
    width: 100px;*/
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1004;
    display: none;
    width: 100%;
    background: rgba(255, 255, 255, 0.75);
    padding: 30%;
    display: none !important;
}

.ctd_uploader{
    position:absolute;
    right:32px;
    bottom:5px;
    z-index:1004;
    display:none;
    width: 20px;
}

.ctd_percent{
    position: absolute;
    bottom: 23px;
    right: 21px;
    font-weight: bold;
    z-index: 1004;
    display: block;
    width: 40px;
    text-align: center;
    display:none;
}

#ctd_upload{
    __margin-bottom: 20px;
    __display:none;
}

#ctd_url{
    margin-bottom: 20px;
    display: none;
}

#ctd_upload .filename{
    font-size: 11px;
}

.ctd_img_btn{
    color: #FFF;
    background: #17DAFF;
    background-repeat: no-repeat;
    background-position: 6px center;
    padding: 0px 10px 0px 35px;
    border-radius: 3px;
    display: inline-block;
    margin-right: 5px;
    line-height: 27px;
}

#ctd_img_upload{
    background-image: url('../img/icon-upload.png');
}

#ctd_img_url{
    background-image: url('../img/icon-url.png');
}

.ctd_warning{
    margin:10px 0px;
    border: 1px solid #C0C0C0;
    background: #E7F9FF;
}

.ctd_add_to_cart{
    text-align: right;
    padding: 0;
    border-radius: 0px 0px 6px 6px;
    clear: both;
    width: 24%;

    position: absolute;
    bottom: 35px;
    z-index: 998;
    margin-left: 10px;
}

.ctd_details{
    width:100%;
    height:100%;
    position: absolute;
    top:0px;
    left:0px;
    background: #EFF0F2;
    display: none;
    text-align: center;
    z-index: 1004;
    overflow: hidden;
}
.ctd_prices{
    padding: 4% 20px;
    max-height: 100%;
    overflow: auto;
}
.ctd_prices > div{
    line-height:30px;
}
.ctd_prices span{
    vertical-align: text-bottom;
    display: inline-block;
    width:150px;
}
.ctd_prices hr{
    border:none;
    border-top:1px solid #C4C4C4;
}
.ctd_prices img{
    border:1px solid #E4E4E4;
    background: url(../img/noise.png);
}
.ctd_details_buttons{
    text-align: right;
    display: none;
    padding: 10px;
    border-radius: 0px 0px 6px 6px;
    background: #EFF0F2;
}

.ctd_custom_product{margin: 20px 0px;}
.ctd_custom_product table{border:1px solid #EFEFEF;width:100%;border-spacing: 0;}
.ctd_custom_product tr{border-bottom:1px solid #EFEFEF}
.ctd_custom_product th{background:#EFEFEF}
.ctd_custom_product th,.ctd_custom_product td{padding:5px;}
.ctd_custom_product .ctd_preview{max-width: 150px;}
.ctd_custom_product .remove_custom_product{
    display: inline-block;
    width:20px;
    height:20px;
    background: url(../img/remove1.png) no-repeat;
}
.ctd_custom_product .edit_custom_product{
    display: inline-block;
    width:20px;
    height:20px;
    background: url(../img/edit.png) no-repeat;
}
.preview_custom_product{
    display: inline-block;
    width:20px;
    height:20px;
    background: url(../img/preview.png) no-repeat;
}
.add_custom_product_to_cart{
    display: inline-block;
    width:20px;
    height:20px;
    background: url(../img/cart.png) no-repeat;
}
.add_custom_product_to_cart.ctd_hilite{
    background: url(../img/cart-hi.png) no-repeat;
}

/* lnk on detail product page */
.ctd_customize_button {
    display: none;
    font-weight: 700;
    color: #0090C8;
}
.ctd_customize_button:before {
    content: "\f005";
    font: 400 15px/31px "FontAwesome";
    color: white;
    background: #0090C8;
    width: 30px;
    text-align: center;
    display: inline-block;
    height: 30px;
    margin: 0 6px 0 0;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    border-radius: 50px;
}

#ctd_customize_button15{
    display: none;
    position: relative;
    float: right;
    padding: 0;
    padding-bottom: 0px !important;
    margin: 10px 0px;}
#ctd_customize_button15 span {
    z-index:10;
    display:block;
    position:absolute;
    top:0;
    left:-12px;
    height:26px;
    width:26px;
    background:url(../img/customize.png) no-repeat 0 0 transparent;
}
#ctd_customize_button15 .exclusive{
    padding: 6px 7px 4px 15px;
    height: 26px;
}

.dbg{
    display: none;
    position:fixed;
    bottom:0px;
    width:100%;
    border-top:1px solid gray;
    z-index: 30001;
    padding: 5px;
    background: white;
}

.ft-control{
    position: absolute;
    top: -19px;
    width: 24px;
    height: 24px;
    cursor: pointer !important;
    border: 1px solid #11928C;
    background-color: #17DAFF;
}

.ft-colorize{
    display: none;
}

.ft-crop{
    display: none;
}

.ctd_imagecolor .ctd_image_wrapper .ft-colorize, .ctd_text_wrapper .ft-colorize{
    display: block;
    right: -30px;
    top: 70px;
    background: #17DAFF url('../img/colorize.png') no-repeat 3px;
}

.ctd_imagecrop .ctd_image_wrapper .ft-crop{
    display: block;
    right: -1px;
    top: -30px;
    background: #17DAFF url('../img/crop.png') no-repeat 3px;
}

.ft-front{
    background: #17DAFF url('../img/small_front.png') no-repeat 4px;
    right: -30px;
    top: 20px;
}

.ft-back{
    background: #17DAFF url('../img/small_back.png') no-repeat 4px;
    right: -30px;
    top: 45px;
}

.ft-suppr{
    background: #17DAFF url('../img/small_suppr.png') no-repeat 3px;
    right: -30px;
    top: -5px;
}

.ft-horiz{
    width: 16px;
    height: 16px;
    background: #17DAFF url('../img/horiz.png') no-repeat;
    left: 50%;
    top: -17px;
    margin-left: -8px;
}

.ctd_in_cf .ft-horiz,
.ctd_in_cf .ft-vertic,
.ctd_no_center .ft-horiz,
.ctd_no_center .ft-vertic
{
    display: none;
}

.ft-vertic{
    width: 16px;
    height: 16px;
    background: #17DAFF url('../img/vertic.png') no-repeat;
    top: 50%;
    left: -17px;
    margin-top: -8px;
}

.ui-rotatable-handle {
    height: 24px;
    width: 24px;
    cursor: pointer !important;
    background: url(../img/rotate.png) no-repeat 3px;
    left: -1px;
    top: -30px;
    position: absolute;
    border: 1px solid #11928C;
    background-color: #17DAFF;
}

.ctd_customsize_controls {
    display: block !important;
    height: 310px !important;
    width: 100%;
}

.ctd_customsize_controls input[type=text] {
    width: 100px;
    min-height: 22px;
    border: 1px solid #A9A9A9;
    display: inline-block;
}

.ctd_label{
    width: 100px;
    display: inline-block;
}

.ctd_customsize_controls a.ctd_customcolor{
    display:inline-block;
    width:21px;
    height:22px;
    border:1px solid gray;
    background: #11daf5 url("../img/select.png") no-repeat;
}

.ctd_customsize_container{
    border: 1px solid #C3C3C3;
    border-width: 1px 0px;
    padding: 5px 0px;
}

.ctd_ttc{
    font-style: italic;
    display: none;
}

/* Custom Fields */
div.ctd_cf{
    display: none;
    position: absolute;
    border: 1px solid #FFF;
    z-index: 1000;
}

div.ctd_cf.ctd_cf_active{
    border: 1px dotted #0F0 !important;
}

div.ctd_cf:hover .ctd_cf_icon{
    display: block;
}

.ctd_cf_icon{
    position: absolute;
    display: none;
    top: 1px;
    width: 16px;
    height: 16px;
}

.ctd_del_cf{
    right: 1px;
    background-image: url(../img/small_suppr.png);
}

.ctd_dup_cf{
    right: 18px;
    background-image: url(../img/copy-16.png);
}

.ctd_cf_with_label .ctd_cf_inside{
    display: none;
}

div.ctd_cf > span.ctd_cf_label{
    background: #FFF;
    color: #000;
    position: absolute;
    bottom: -18px;
    line-height: 16px;
    font-size: 13px;
    white-space: nowrap;
}

/* Custom Fields */

/* Rotator */

.ctd_rotator_container{
    opacity: 0;
    filter: alpha(opacity=0);
    transition: opacity .1s linear;
    position: absolute;
    bottom: -0px;
    right: -77px;
    border: 1px solid #E4E4E4;
    border-left-width: 0px;
    background: #FFF;
    width: 77px;
    padding: 5px;
    z-index: 1005;
}

.ctd_rotator_container.ctd_hidden_container{
    display: none !important;
    visibility: hidden !important;
}

.ctd_preview_hover .ctd_rotator_container{
    opacity: 1;
    filter: alpha(opacity=100);
}

#ctd_rotator{
    height: 150px;
    margin: 10px;
    display: inline-block;
    float: left;
}

#ctd_rotator a{
    cursor: pointer !important;
}

#ctd_rotator_value{
    display: block;
    font-weight: bold;
    color: #17DAFF;
    width: 32px;
    text-align: center;
    margin-left: 33px;
}

.ctd_rotator_btn{
    color: #17DAFF;
    background: #FFF;
    border: 1px solid;
    padding: 1px 2px;
    width: 31px;
    display: block;
    text-align: center;
    transition: color .1s linear;
    margin-bottom: 3px;
}

.ctd_rotator_btn:hover{
    color: #FF17DA;
}

.ctd_rotator_buttons{
    margin-top: 10px;
    text-align: center;
    float: left;
}
/* Rotator */

/* Color Attributes */

.ctd_color_list{
    text-align: left;
    float: left;
}

#ctd_color_list{
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0px;
    margin-left: 5px;
}

#ctd_color_list li{
    display: inline-block;
    height: 26px;
    width: 26px;
    border: 1px solid #B3F3FF;
    padding: 1px;
    margin: 0 3px 3px 0;
}

#ctd_color_list li.selected{
    border: 1px solid #4D4D4D;
}

#ctd_color_list li a{
    display: block;
    height: 22px;
    width: 22px;
}
#ctd_color_list li a img{
    display: block;
    height: 22px;
    width: 22px;
}

/* Color Attributes */

@media screen and (max-width: 520px) {

    .ctd_toggle_panel{
        display: none;
    }

}

@media screen and (max-width: 520px) {
    .ctd_nomob{
        display: none;
    }
}

.ctd_text{
    width: 100%;
    /*max-width: 580px;*/
}

.ctd_text_tabs{
    position: absolute;
    left: 0px;
    bottom: 0px;
    border-radius: 0px 0px 0px 6px;
    height: 29px;
    z-index: 2;
}

.ctd_text_tab{
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    width: 100%;
    height: 100%;
    border-right: 1px solid #A9A9A9;
}

.ctd_text_tabs ul li{
    display: inline-block;
    width: 40px;
    height: 29px;
    margin-right: -4px;
    border-top: 1px solid #A9A9A9;
    background-color: #17C1FF;
}

.ctd_text_tab:hover{
    background-color: #FFC117;
}

.ctd_first_tab{
    border-radius: 0px 0px 0px 10px;
}

.ctd_first_tab .ctd_text_tab{
    border-radius: 0px 0px 0px 6px;
}

#ctd_input_tab{
    background-image: url(../img/tab-text.png);
}

#ctd_color_tab{
    background-image: url(../img/tab-color.png);
}

#ctd_font_tab{
    background-image: url(../img/tab-font.png);
}

#ctd_alpha_tab{
    background-image: url(../img/tab-alpha.png);
}

#ctd_curve_tab{
    background-image: url(../img/tab-curve.png);
}

#ctd_extra_tab{
    background-image: url(../img/tab-extra.png);
}

.ctd_text_container > div{
    display: none;
    min-height: 40px;
}
.preview_custom_product{
    display: none !important;
}
.edit_custom_product{
    display: none !important;
}
.ctd_close_design, .ctd_close_details{
    position: absolute;
    top: 3px;
    right: 3px;
    display: block;
    width: 20px;
    height: 20px;
    background: transparent url(../img/icon-close.png) no-repeat center;
    display: none;
}

img.ctd_user_upload_img {
    margin-left: 25px;
}
.ctd_text_container{
    padding-left: 15px;
    padding-top: 15px;
}
.ctd_text_div{
    padding-right: 0;
    margin-top: 10px;
    padding-bottom: 10px;
}

.ctd_font_div {
    position: relative;
}

.ctd_narrow_390 .ctd_a_help{
    display: none;
}

.ctd_narrow_390 .ctd_img_btn{
    font-size: 11px;
}

.ctd_narrow_390 .ctd_design_div{
    max-height: none;
}

.ctd_narrow_390 .ctd_text{
    padding-bottom: 35px;
}

.ctd_narrow_450 .ctd_font_div{
    position: static;
    margin-bottom: 9px;
}

.ctd_narrow_450 .ctd_text_div{
    padding-right: 0px;
}

.ctd_narrow_450 ul.ctd_color_main{
    padding-right: 0px;
}

.ctd_narrow_450 .ctd_nomob{
    display: none !important;
}

.ctd_narrow_450 .ctd_toggle_panel{
    display: none !important;
}

.ctd_narrow_450 .ctd_image img{
    max-height: 50px !important;
}

.ctd_side_controls{
    position: relative;
    top: -3px;
}

.ctd_side_label{
    display: inline-block;
    text-align: center;
    min-width: 100px;
    vertical-align: middle;
    color: #FFF;
}

.ctd_side_link{
    vertical-align: middle;
    display: inline-block;
    width: 24px;
    height: 24px;

}

.ctd_side_minus{background: url(../img/minus.png);}
.ctd_side_minus:hover{background: url(../img/minus-hover.png);}
.ctd_side_plus{background: url(../img/plus.png);}
.ctd_side_plus:hover{background: url(../img/plus-hover.png);}

.ctd_ct_noattr{
    display: none;
    position: absolute;
    top: 10px;
    text-align: center;
    width: 100%;
    z-index: 1005;
}

.ctd_noattr .ctd_ct_noattr{
    display: block;
}

.ctd_noattr .ctd_add_cart{
    background-color: #DDD;
    color: #FFF;
}

.ctd_noattr_msg{
    display: inline-block;
    border-radius: 6px;
    padding: 5px 10px;
    background: #EEE;
    color: #888;
}

.ctd_instruction{
    position: absolute;
    bottom: 12px;
    text-align: center;
    width: 100%;
    z-index: 1005;
}

.ctd_instruction:before {
    font-family: "FontAwesome";
    content: "\f057";
    font-size: 20px;
    vertical-align: -2px;
    padding-right: 7px;
    float: right;
}

.ctd_init_design {
    position: absolute;
    top: -75px;
    left: 5px;
    z-index: 1006;
}

.ctd_design_btn{
    display: inline-block;
    background: #1C1;
    padding: 5px;
    color: #FFF;
}

#ctd_rem_initial{
    background: #C11;
}

.ctd_pre_img{
    position: fixed;
    top: -10000px;
    left: -10000px;
}

.ctd_cf_input{
    opacity: 0;
    position: absolute;
    border: none;
    outline: none;
    height: 18px;
    width: 100%;
    line-height: 20px;
    padding: 0px 1px;
    font-size: 12px;
    background: #EFF0F2;
    color: #000;
    top: -19px;
    margin: 0px;
}

.ctd_cf:hover .ctd_cf_input{
    opacity: 1;
}

.ctd_cf_inside .ctd_cf_input {
    opacity: 1;
    top: 0px;
    height: 100%;
    text-align: center;
    padding-right: 21px;
}

a.ctd_cf_input_apply {
    position: absolute;
    right: 2px;
    top: 0px;
}

.ctd_preview.ctd_inside .draggable-wrapper{
    visibility: hidden !important;
}

.ctd_span {
    font-weight: 500;
    color: #535353;
    margin-left: 0px;
    float: none;
    text-transform: uppercase;
    margin-bottom: 5px;
    display: block;
}

#ctd_pointer_container{
    position: fixed;
    top:0px;
    left:0px;
    width:100px;
    height:100px;
    background: red;
    opacity:0.5;
}

#ctd_pointer_container .ctd_abs{
    position: absolute;
    top:0px;
    left:0px;
    width:100%;
    height:100%;
    background: green;
}

#ctd_calibrate{
    position: fixed;
    top: -10000px;
    left: -10000px;
    _top: 10px;
    _left: 10px;
    background: #FFE;
    min-width: 280px;
}

#ctd_calibrator {
    position: fixed;
    top: -10000px;
    left: -10000px;
    background: #CCC;
}

#ctd_calibrator img {
    max-width: 100%;
    max-height: 100%;
}

#ctd_text_buttons{
    /*display: none;*/
    position: absolute;
    /*top: 6px;*/
    right: 5px;
}

#ctd_text_buttons > a{
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0px 1px;
}

/* #ctd_list_container:hover #ctd_text_buttons{ */
    /* display: block;
} */

#ctd_expand_list{
    background: transparent url(../img/arrow-down.png) no-repeat;
}

#ctd_apply_text{
    background: transparent url(../img/tick.png) no-repeat;
}

#ctd_qrcode{
    background: transparent url(../img/qrcode.png) no-repeat;
}

div#ctd_text_list{
    display: none;
    position: absolute;
    background: white;
    z-index: 1002;
    padding: 10px 5px;
    margin-top: -10px;
    width: 100%;
    max-height: 400px;
    overflow: auto;
    border-radius: 0px 0px 6px 6px;
    box-shadow: 0px 1px 2px #838383;
}

div#ctd_text_list div{
    padding: 0px 5px;
    line-height: 21px;
    max-height: 21px;
    overflow: hidden;
    cursor: pointer;
    border-radius: 3px;
}

div#ctd_text_list div:hover{
    background-color: #EEE;
    color: #000;
}

#ctd_list_container{
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}

.ctd_cf_inputs{
    margin: 10px;
}

.ctd_cf_group{
    display: table;
}

.ctd_cf_group > div{
    display: table-row;
}

.ctd_cf_span{
    display: table-cell;
    font-weight: bold;
}

.ctd_cf_text{
    display: table-cell;
    margin: 0px 0px 5px 5px;
    width: 250px;
    max-width: 80%;
}

.ctd_cf_text_apply{
    display: inline-block;
    width: 17px;
    height: 15px;
    margin-left: 5px;
    background: transparent url(../img/tick.png);
    opacity: 0.6;
}

.ctd_ratio {
    cursor: pointer;
    display: none;
    position: absolute;
    right: 20px;
    background-color: black;
    color: #DDD;
    padding: 0px 5px;
    bottom: -16px;
    line-height: 15px;
    font-size: 12px;
    opacity: 0;
    white-space: nowrap;
}

.ctd_ratio *{
    cursor: pointer;
}

.ctd_edit_dimensions{
    display: inline-block;
    width: 15px;
    height: 15px;
    background: black url(../img/edit-15.png);
    vertical-align: middle;
}


.ctd_full_bg{
    display: none;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0.7;
    z-index: 9000;
}

.ctd_overlay_container{
    display: none;
    position: absolute;
    top: 30px;
    left: 0px;
    width: 100%;
    _height: 100%;
    text-align: center;
    z-index: 9001;
    opacity: 0;
}

.ctd_overlay_content{
    position: relative;
    text-align: left;
    margin: 0 auto;
    display: inline-block;
    z-index: 9001;
    background: #FFF;
    border: 5px solid;
    border-radius: 6px 0px 6px 6px;
    padding: 5px;
    margin: 0px 30px;
}

.ctd_close_overlay{
    position: absolute;
    top: -5px;
    right: -28px;
    width: 23px;
    height: 20px;
    padding-left: 9px;
    background: transparent url(../img/close.png) no-repeat 4px 2px;
    border-radius: 0px 10px 10px 0px;
    display: block;
}

.ctd_item_size > div{
    margin: 3px 0;
}

.ctd_item_size .text{
    width: 130px;
}

.ctd_size_apply{
    margin-top: 10px !important;
    text-align: right;
}

.ctd_size_limit{
    display: inline;
}

.ctd_item_size.ctd_type_text .ctd_image_limit{
    display: none;
}
.ctd_item_size.ctd_type_image .ctd_text_limit{
    display: none;
}

.ctd_total{
    margin-right: 10px;
    font-size: 20px;
    line-height: 20px;
    vertical-align: middle;
    font-weight: bold;
    display: none;
}

#ctd_sharer{
    position: relative;
    float: left;
    width: 30px;
    background-color: #EFF0F2;
    padding: 0px 2px;
    left: -3px;
}

#ctd_share_icons{
    position: absolute;
    bottom: 100%;
    left: -7px;
    z-index: 1006;
    background-color: #EFF0F2;
    height: 0px;
    overflow: hidden;
    padding: 0px 9px;
    border-radius: 6px;
    transition: all linear .25s;
}

#ctd_sharer.ctd_share_open #ctd_share_icons{
    height: 150px;
    padding: 9px;
}

.ctd_share_btn{
    display: inline-block;
    width: 26px;
    height: 26px;
}

#ctd_share_btn{
    display: inline-block;
    width: 26px;
    height: 26px;
    background: transparent url(../img/share.png);
}

#ctd_share_fb{
    background: transparent url(../img/facebook.png);
}

#ctd_share_tw{
    background: transparent url(../img/twitter.png);
}

#ctd_share_gp{
    background: transparent url(../img/googleplus.png);
}

#ctd_share_pn{
    background: transparent url(../img/pinterest.png);
}

.ctd_display_attributes {
    text-align: left;
    max-width: 260px;
}

.ctd_cf{
    opacity: 0;
    transition: opacity 0.3s ease;
}

.ctd_product_panel:hover .ctd_cf{
    opacity: 1;
}

#ctd_crop{
    text-align: center;
    padding-bottom: 60px;
}

#ctd_crop_image{
    max-width: 100%;
    max-height: 100%;
}

#ctd_save_crop{
    margin-top: 10px;
}
.customtextdesign-left{
    float: right;
    width: 24%;
    position: absolute;
    z-index: 998;
    right: 0;
    margin-right: 10px;
    bottom: 0;
    top: 0;
    align-self: anchor-center;
    overflow-y: auto;
    max-height: 100%;
}
.customtextdesign-right{
    float: left;
    width: 100%;
    /*border: 4px solid #e40613;*/
    /*border: 4px solid #81a479;*/
}
.top-cap{
    height: 30px;
    display: none;
}
#ctd_panel{
    width: 100% !important;
}
.row-item{
    clear: both;
    position: relative;
    max-height: 0;
    overflow: hidden;
}
.row-active{
    max-height: 100%;
    overflow: inherit;
}
.customtextdesign-2{
    margin-right: 1px;
}
.product-tpye{
    color:#444444;
    border-radius: 10px;
    border: 2px dashed #cccccccc;
    margin-top: 10px;

}

.product-tpye:has(.product-check:checked) {
    border: 2px solid rgb(189,146,86);
    background-color: #F5F1E8;
}

.product-tpye h4{
    margin: 0;
    padding: 0;
}
.product-tpye input{
    display: none;
}
.product-tpye > div {
    margin-left: 0;
    padding: 10px;
}
.logo-print{
    position: absolute;
    width: 100px;
    height: 100px;
    top: 0px;
    left: 50%;
    margin-left: -50px;
    margin-top: 50px;
}
.logo-print-wrapper{
    visibility: unset !important;
}

.ctd_product_panel-1 .ctd_preview .draggable-wrapper{
    top: 535px !important;
    /* left: 175px !important; */
    left: 0 !important;
}
.ctd_product_panel-1 .ctd_preview .template-2 .draggable-wrapper,
.ctd_product_panel-1 .ctd_preview .template-3 .draggable-wrapper{
    /* left: 95px !important; */
    left: 0 !important;
}
.ctd_product_panel-1 .ctd_preview .ui-wrapper{
}
.ctd_product_panel-1 .ctd_preview  .logo-print{
    width: 100px !important;
    height: 100px !important;
}
.ctd_product_panel-1 .ctd_preview .draggable-wrapper > div{
    width: 100%;
    height: 100%;
}
.template-1 .ctd_text_preview{
    max-height: 40px;
    max-width: 300px;
    position: absolute !important;
    height: auto !important;
    width: auto !important;
    border-radius: 0px !important;
}
.template-2 .ctd_text_preview,.template-3 .ctd_text_preview{
    max-width: 460px;
    max-height: 30px;
    position: absolute !important;
    height: auto !important;
    width: auto !important;
    border-radius: 0px !important;
}
#ctd_customcolor > div{
    clear: both;
    padding: 10px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.ptype-action{
    cursor: pointer;
}
.list-template{
    /* text-align: center; */
    display: flex;
    justify-content: space-between;
    padding: 0px;
    list-style-type: none;
    margin-left: 10px;
    margin-right: 10px;
}
.list-template li{
    display: inline-block;
    padding: 15px;
    line-height: 20px;
    text-align: center;
    border: 2px solid #333;
    margin-left: 15px;
}
.template-image-box,.template-image-text{
    display: none;
}

.template-1 .template-image-area,.template-2 .template-image-area,.template-3 .template-image-area{

}
.template-1 .picture1{
    display: block;
    width: auto;
    height: 330px;
    width: 330px;
    resize: none;
    position: absolute;
    top: 188px;
    z-index: 1;
}
.bg-text1,.bg-text2{
    display: none;
}
.template-1 .text-active .bg-text1,.template-2 .text-active .bg-text2,.template-3 .text-active .bg-text2{
    display: block;
}
.template-1 .picture2,.template-2 .picture2,.template-1 .mass2{
    display: none;
}
.template-2 .mass1,.template-3 .mass1{
    display: none;
}
.template-1 .picture3,.template-2 .picture3{
    display: none;
}
/*
.template-2 .picture1{
        display: none;
}
*/
.template-2 .picture1{
    display: block;
    width: auto;
    height: 330px;
    resize: none;
    position: absolute;
    top: 188px;
    z-index: 1;
    width: 488px;
}
.template-3 .picture1{
    display: block;
    width: 243px;
    height: 330px;
    resize: none;
    position: absolute;
    top: 188px;
    z-index: 1;
}
.template-3 .picture2{
    display: block;
    width: 240px;
    height: 164px;
    resize: none;
    position: absolute;
    top: 189px;
    z-index: 1;
}
.template-3 .picture3{
    display: block;
    width: 240px;
    height: 163px;
    resize: none;
    position: absolute;
    top: 353px;
    z-index: 1;
}
.mass2{
    position: absolute;
    z-index: 9;
    top: 174px;
    left: 66px;
}
.mass1{
    position: absolute;
    z-index: 9;
    top: 173px;
    left: 146px;
}
.bg-text1{
    position: absolute;
    z-index: 9;
    top: 535px;
    left: 146px;
}
.bg-text2{
    position: absolute;
    z-index: 9;
    top: 535px;
    left: 66px;
}
.template-2 .bg-mass1,.template-3 .bg-mass1{
    display: none;
}
.template-3 .bg-text1,.template-2 .bg-text1{
    display: none;
}
.template-1 .bg-text2{
    display: none;
}
.template-1 .bg-mass2,.template-2 .bg-mass2{
    display: none;
}
.bg-mass2{
    position: absolute;
    top: 188px;
    z-index: 1;
    left: 80px;
}
.bg-mass1{
    position: absolute;
    top: 188px;
    z-index: 1;
    left: 160px;
}
.list-template img{
    cursor: pointer;
}
.ctd_customcolor_save{
    display: none;
}
.row-1 > div{
    padding-left: 20px;
}
/*.ctd_img_container{
        display: none !important;
}*/
.text-active{
    display: block;
}
.ft-control{
    display: none !important;
}
/* GBS 2018-10-25 Nuovo shop
.ctd_add_to_cart .ctd_add_cart,.ctd_add_to_cart .ctd_add_cart:hover{
        background: #e40613 url("img/carrello_btn_acquista.png") 83% 50% no-repeat;
        border-radius: 0;
        padding: 10px 20px !important;
        font-size: 16px;
        padding-right: 56px !important;
        text-decoration: none;
}
.ctd_add_to_cart .ctd_add_cart.disabled,.ctd_add_to_cart .ctd_add_cart.disabled:hover{
        background: #c3c3c3 url("img/carrello_btn_acquista.png") 83% 50% no-repeat;
        border-radius: 0;
        padding: 10px 20px !important;
        font-size: 16px;
        padding-right: 56px !important;
        cursor: text;
}/**/
.ctd_add_to_cart .ctd_add_cart {
    /*background: #e40613;*/
    background: #81a479;
    float: right;
    border-radius: 3px;
    text-transform: uppercase;
    font-family: DIN, serif;
    font-size: 14px;
    line-height: 14px;
}
.ctd_add_to_cart .ctd_add_cart:hover {
    color: #fff;
    /*background: #e40613;*/
    background: #81a479;
    float: right;
    opacity: 0.8;
}
.ctd_add_to_cart em span {
    display: block;
    font-size: 14px;
    line-height: 15px;
    text-align: left;
    font-weight: bold;
}
.ctd_total,.ctd_add_to_cart em {
    display: inline-block;
    padding: 2px 0 0 10px;
    font-size: 20px;
    line-height: 17px;
    font-style: normal;
    vertical-align: middle;
    text-align: left;
}
.ctd_add_to_cart .ctd_total {
    color: #000;
    margin: 0;
    font-size: 40px;
}
.ctd_add_to_cart .price_container{
    float: left;
    padding-bottom: 0;
    padding: 10px;
}
#ctd_quantity {
    position: relative;
    left: 0;
    border: 1px solid rgba(0,0,0,.15);
    height: 32px!important;
    width: 35px;
    outline: 0;
    border-radius: 15px!important;
    text-align: center;
    line-height: 16px;
    font-size: 18px;
    display: inline-block!important;
    margin: 0 4px;
    padding: 0 0 5px 0;
    float: left;
}
.ctd_quantity_1{
    position: relative;
    display: inline-block;
    margin-top: 20px;
}
.ctd_quantity_1 button:hover {
    background: #81a479 !important;
    color: #fff !important;
    border: 1px solid #ddd;
}
/* Nuovo shop
.product_quantity_down{
    position: absolute;
    right: 1px;
    bottom: 3px;
}
.product_quantity_up{
    position: absolute;
    right: 1px;
    top: 3px;
}
*/
.ctd_quantity_1 a {
    background: #81a479 none repeat scroll 0 0;
    border: medium none;
    color: #fff !important;
    display: block;
    font-size: 16px;
    font-weight: 700;
    height: 18px;
    line-height: 15px;
    text-align: center;
    text-decoration: none;
    width: 18px;
}
.ctd_quantity_1 button {
    z-index: 9;
    position: relative;
    background: #81a479 none repeat scroll 0 0;
    border: 1px solid #ddd;
    color: #fff !important;
    display: block;
    font-size: 27px;
    font-weight: bold;
    height: 30px;
    line-height: 0px;
    text-align: center;
    text-decoration: none;
    width: 30px;
    float: left;
    padding: 0;
}
.list-file-upload input{
    display: none;
}
/*.list-file-upload a{*/
    /*background: #e40613 url("img/icon1.png") 5px center no-repeat;*/
    /* background: #81a479 url("img/icon1.png") 5px center no-repeat;
    line-height: 21px;
    display: block;
    color: #fff !important;
    text-transform: uppercase;
    padding-left: 29px;
    cursor: pointer;  */
/* } */

.list-file-upload li{
    width: 90px;
    list-style-type: none;
    margin: 0 4px;
    float: left;
}
.file-upload-1 div.sample1{

}
.ctd_upload_c ul.list-file-upload div{
    position: relative;
}
.ctd_upload_c .thumb-upload-1{
    background-image: url(../img/tinconfig-tabs/gallery-add.svg) !important;
    background-repeat: no-repeat !important;
    background-size: auto !important;
    background-position: center !important;
    border: 1px solid #000;
    background-color: #ffffff;
    width: 50px !important;
    height: 50px !important;
    text-align: center;
    line-height: 50px;
    font-size: 20px;
}
.ctd_upload_c .thumb-upload-2{
    background-image: url(../img/tinconfig-tabs/gallery-add.svg) !important;
    background-repeat: no-repeat !important;
    background-size: auto !important;
    background-position: center !important;
    border: 1px solid #000;
    background-color: #ffffff;
    width: 50px !important;
    height: 50px !important;
    text-align: center;
    line-height: 50px;
    font-size: 20px;
}
.ctd_upload_c .thumb-upload-3{
    background-image: url(../img/tinconfig-tabs/gallery-add.svg) !important;
    background-repeat: no-repeat !important;
    background-size: auto !important;
    background-position: center !important;
    border: 1px solid #000;
    background-color: #ffffff;
    width: 50px !important;
    height: 50px !important;
    text-align: center;
    line-height: 50px;
    font-size: 20px;
}
.list-file-upload{
    margin: 0 -10px;
}
.list-file-upload li{
    display: none;
}
#more_info_block{
    display: none;
}
.banner-customtextdesign{    
    text-align: center;
    position: relative;
    margin: 0 -25%;
    display: block;
}
.banner-customtextdesign img{
    position: relative;
    z-index: 1;
}
#product > #page > .columns-CNT.clearfix{
    /*padding-top: 0 !important;*/
}
.edit_image {
    width: 90px;
    line-height: 14px;
    background: #FF0000 url(img/icon1.png) 5px center no-repeat;
    padding: 5px 2px 5px 20px;
    color: white;
    text-transform: uppercase;

}
.ctd-image {
    float: left;
    width: 33%;
}
.thumb-upload-1 {
    overflow: hidden;
    border: 1px solid #000;
    background: #fff;
    height: 90px;
    text-align: center;
    line-height: 90px;
    font-size: 20px;
    margin-top: 5px !important;
    
    max-width: 100%;
    max-height: 100%
}
.thumb-upload-2 {
    overflow: hidden;
    border: 1px solid #000;
    background: #d1d1d1;
    height: 90px;
    text-align: center;
    line-height: 90px;
    font-size: 20px;
    margin-top: 5px !important;
    margin-left: 5px;

    max-width: 100%;
    max-height: 100%
}
.thumb-upload-3 {
    overflow: hidden;
    border: 1px solid #000;
    background: #6f6f6f;
    height: 90px;
    text-align: center;
    line-height: 90px;
    font-size: 20px;
    margin-top: 5px !important;
    margin-left: 5px;

    max-width: 100%;
    max-height: 100%
}

#primary_block{
    display: block;
    position: relative;
    left: 0;
    height: 0;
    width: 0;
    overflow: hidden;

}
.ctd_a_help {
    display: block !important;
}

.customtextdesign-right{
    position: relative;
}
.mass-preview{
    display: none;
}
#button_crop_original{
    position: absolute;
    top: -33px;
    right: 38px;
    /*background: #e40613;*/
    background: #81a479;
    color: #fff;
    border: none;
    padding: 5px 10px;
}
#button_crop_recortar{
    position: relative;
    left: -25px;
    text-transform: uppercase;
    color: #fff;
    border: none;
    padding: 5px 10px;
    background-color: #333;
    border-radius: 10px;
    font-weight: 600;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
body .ui-dialog .ui-dialog-titlebar-close{
    background: rgba(0, 0, 0, 0) url(../img/close.jpg) no-repeat;
    width: 25px;
    height: 25px;
    border: none;
    opacity: 1;
    top: 35px;
}
#JtuyoshiCrop #Principal{
    margin: auto !important;
}

.ui-dialog .ui-dialog-titlebar-close span{
        display: none !important;
}

.thumb-upload{
    display: none;
}

#d3preview-container{
    position: absolute;
    width: 100%;
    z-index: 10;
    height: 100%;
    /*overflow: auto;*/
    background-color: #fdfdfd;
}

.disable-scrollbars::-webkit-scrollbar {
    background: transparent; /* Chrome/Safari/Webkit */
    width: 0px;
  }
      
  .disable-scrollbars {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none;  /* IE 10+ */
  }



  /* Forza i contenitori a riempire l'altezza */
#customtextdesign,
.customtextdesign-right {
    height: 100% !important;
    max-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}


@media screen and (min-width: 1024px) and (max-width: 1440px) {
  .customtextdesign-left {
    width: 31% !important; /* L'uso di !important potrebbe essere necessario se ci sono stili inline o script che sovrascrivono il valore */
  }

  .ctd_add_to_cart {
    width: max-content !important;
    min-width: 245px !important;
  }

  #box-sacchetto-regalo, #box-price {
    width: 100% !important;
  }
}

@media (max-width: 1024px) {
    .columns-CNT, #columns {
        width: 100%;
    }

    button#aiBackground {
        font-size: 0 !important;
    }

    button#aiBackground .icon {
        font-size: 16px !important;
        display: inline-block !important;
    }

    button#aiBackground::after {
        content: "IA" !important;
        font-size: 12px !important;
        visibility: visible !important;
        vertical-align: middle;
    }

    .list-template li{
        padding: 5px;
        margin-left: 0px;
    }

    .list-template img{
        width: 45px;
    }

    html{
        background: #F1E8D9;
    }
}



@media (max-width: 768px) {

    #d3preview-container {
        width: 100%;
        /*height: 367px;*/
        height: 298px;
    }

    ul#ctd_customcolor{
        max-width: 800px;
    }
    .mass-preview {
        display: none;
        width: 100%;
        height: 100%;
        position: absolute;
        z-index: 9;
    }
    .ctd_add_to_cart {
        padding-top: 20px;    
        margin: 0px;
        width: 100%;
        clear: both;
        position: static !important;
        bottom: auto;
        z-index: auto;
        text-align: center;

        display: flex;
        flex-direction: column;
        order: 3;

    }

    .ctd_add_to_cart .price_container {    
        float: left;   
        padding-bottom: 0;   
        padding: 10px;    
        width: 44%;
        text-align: left;
    }

    .ctd_quantity_1 { 
        position: relative;   
        display: inline-block;    
        float: left;    
        width: 21%;
    }

    .ctd_button.ctd_add_cart {
        float: left;
    }

    #customtextdesign{
        position: relative;
        display: block !important;
    }

    .customtextdesign-right {   
        float: none;   
        width: 100%;
        clear: both;
        height: 248px;
        position: static !important;

        /*display: flex;
        flex-direction: column;*/
        position: relative;
        display: block;

    }

    #customtextdesign, .customtextdesign-right{
        height: auto !important
    }

    .customtextdesign-left {    
        float: none;    
        width: 100%;
        position: relative !important;
        /*z-index: auto;*/
        right: auto;
        margin-right: 0;
        margin-top: 0;
        clear: both;
        margin-bottom: unset;
        height: inherit;
    }

    .ctd-panel-buttons-section {
        grid-template-columns: 1fr 1fr;
    }


    ul.ctd_color li a{
        width: 35px;
        height: 35px;
    }
}

.banner-customtextdesign img {
    max-width:100%;
}	

@media (max-width: 600px) {
    #customtextdesign .logo-print img{
        width: 50px !important;
        height: 50px !important;
    }
    .ctd_product_panel-1 #customtextdesign .ctd_preview .logo-print{
        width: 50px !important;
        height: 50px !important;
    }
    #customtextdesign .logo-print {
        margin-left: -25px;
        margin-top: 25px;
    }
    #customtextdesign .template-2 .picture1{
        width: 300px;
        height: auto;
        top: 98px;
    }
    #customtextdesign .mass2{
        width: 314px;
        top:90px;
    }
    #customtextdesign .mass1{
        width:217px;
        height: auto;
        top:90px;
    }
    #customtextdesign .template-1 .picture1{
        width: 200px;
        height: auto;
        top: 98px;
    }
    #customtextdesign .template-3 .picture1{
        width: 148px;
        top: 98px;
        height: auto;
    }
    #customtextdesign .bg-mass2 {
        position: absolute;
        top: 98px;
        z-index: 1;
        left: 53px;
        height: 203px;
    }
    #customtextdesign .template-3 .picture2 {
        width: 150px;
        top: 98px;
        height: auto;
    }
    #customtextdesign .template-3 .picture3 {
        width: 150px;
        top: 201px;
        height: auto;
    }
    #customtextdesign .bg-text2{
        width: 314px;
        top: 303px;
    }
    #customtextdesign .bg-text1{
        width: 217px;
        top: 303px;
    }

    .ctd_product_panel-1 #customtextdesign .ctd_preview .draggable-wrapper{
        top:303px !important;
    }
    #customtextdesign .ctd_prv_c .ctd_text_preview{
        max-height: 17px;
    }
    #customtextdesign .max-height-20 .ctd_text_preview{
        max-height: 30px;
    }
    #Principal img{
        max-width: 400px;
    }
    .ctd_product_panel-1 .template-1 .draggable-wrapper{
    }
    .ctd_product_panel-1 .ctd_preview .template-2 .draggable-wrapper, 
    .ctd_product_panel-1 .ctd_preview .template-3 .draggable-wrapper{
    }
    #customtextdesign .template-1 .ctd_text_preview{
        max-width: 185px;
    }
    #customtextdesign .template-2 .ctd_text_preview, .template-3 .ctd_text_preview{
        max-width: 285px;
    }
    .ui-dialog{
        width: auto !important	
    }	
    .ctd_add_to_cart .ctd_total {
        font-size: 30px;
    }
    .ctd_total, .ctd_add_to_cart em{
        font-size: 14px;
        line-height: 12px;
    }
    .ctd_add_to_cart em span{
        font-size: 12px;
    }
    .ctd_add_to_cart .price_container{
        width: auto;
    }
    .ctd_quantity_1{
        width: 60px;
    }
    #ctd_quantity {
        width: 60px;
    }

}
@media (max-width: 480px) {
    .ctd_panel_content .ctd_preview{
        max-height: 400px;
    }
    .ctd_narrow_390 .ctd_a_help{
        display: none;
    }
    .ctd_prv {
        height: 400px;
        left: -109px;
    }
    #button_crop_recortar{
        top:2px;
        /*right: 100px; GBS 2017-09-27 Tin Configurator Pulsante Unico Crop*/
        left: -10px;
        position: relative;                
        /*Fine */
    }
    #button_crop_original {
        top: 2px;
        right: 7px;
    }

}

@media (max-width: 360px) {
    .ctd_button.ctd_add_cart span{
        display: none;
    }
    .ctd_button.ctd_add_cart {
        float: left;
        display: block;
        background-position: center center;
        height: 44px;
        margin-left: 5px;
    }
}
@media(max-width: 768px){
    .banner-customtextdesign{
        text-align: center;
        position: relative;
        display: block;
        width: 100%;
        margin: 0;
    }
    .banner-customtextdesign img{
        position: relative;
        z-index: 1;
        width: 100%;
    }    
}
@media (max-width: 375px) {	
    .ctd_buttons_reset {
        right: 25px;
        bottom: 48px;
    }
}

/*GBS 2018-10-25 Nuovo shop */
.product-actions, .product-prices, .product-tabs, .more-info-product{
    display: none;
}

/*.ctd_product_panel a:focus{
  outline: none;
}*/

button#aggiungi_custom {
    border: 0;
    padding: 10px 20px;
    margin-top: 15px;
    color: white !important;
}

#box-price #aggiungi_custom{
    font-size: 14px !important;
    font-family: 'Poppins';
}

#box-sacchetto-regalo .gift-toggle-label{
    margin: 0px;
}

#product .wishlist, #product .flags-and-availability, #product .product-add-to-cart, #product .product-variants, #product .title-info-product, #product .block-reassurance-item, #product #thumb-gallery {
    display: none;
}

/*tin configurator 2k schermo*/

@media screen and (min-width:2000px) { 
	.ctd_show_side .ctd_design_div {
		max-width: 100%!important;
		right: 0!important;
		margin-top: 0!important;
	}
}

.ptype-action > h4 {
    display: flex !important;
    align-items: center !important;
    justify-content: b-between !important; /* Spinge l'icona in fondo */
    width: 100%;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 6px;
}

.ptype-action > h4 > i {
    margin-left: auto !important;
}



/* RIVEDERE TUTTO  */

/* Reset della lista: i punti elenco devono stare uno sotto l'altro */
 .list-file-upload {
    padding: 0;
    margin: 0;
    list-style: none;
    display: block; /* Fondamentale: i LI devono tornare a comportarsi come blocchi */
}

/* Ogni riga (LI) */
.list-file-upload li {
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom: 5px;
    gap: 15px;
}

/* Show a compact thumbnail box inside the upload list rows */
.list-file-upload li .thumb-upload {
    display: block !important;
    width: 75px;
    height: 75px;
    line-height: 36px;
    text-align: center;
    overflow: hidden;
    border-radius: 4px;
}

/* Contenitore interno del LI */
.list-file-upload li > div {
    display: flex;
    align-items: center;
    width: auto;
    gap: 15px;
}

/* Thumbnail - primo elemento */
.list-file-upload li .thumb-upload {
    flex-shrink: 0;
    order: 1;
}

/* Scritta - elemento centrale */
.list-file-upload li .image-label {
    flex: 0 1 auto;
    order: 2;
    text-align: left;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Bottone Aggiungi - ultimo elemento */
.list-file-upload li .load-image {
    flex-shrink: 0;
    order: 3;
    padding-left: 10px;
    padding-right: 10px;
}


.ctd_font_div{
    padding-bottom: 10px;
}

img:not([src]) {
  visibility: hidden; /* Nasconde l'immagine e la sua icona */
}

/* Load Image Button */

.load-image {
	display: inline-block;
	background-color: #000000;
	color: #ffffff;
	padding: 4px;
	border-radius: 8px;
	cursor: pointer;
	font-size: 10px;
	font-weight: 500;
}

.load-image i {
	margin-left: 6px;
}

body.product-lattina-personalizzata section#wrapper {
    margin: unset;
}

body.product-lattina-personalizzata section#wrapper #content-wrapper{
    background-color: #F1E8D9;
}

body.product-lattina-personalizzata section#wrapper #main{
    padding-top: 0 !important;
}

body.product-lattina-personalizzata a:focus{
    color: black !important;
}


.smallDisclaimer {
    font-weight: 500 !important;
    display: inline-block;
    width: 100% !important;
    color: dimgray;
    line-height: normal;
    margin-bottom: 5px;
}

div.ctd_design_title .row-item > div {
    height: 455px;
    background-color: white;
}

.border-radius {
    border-radius: 0px 0px 16px 16px;
}

.border-radius-full {
    border-radius: 16px 16px 16px 16px;
}

.text-center {
    text-align: center !important;
}

.tab-footer {
    text-align: center;
    padding: 10px;
    position: absolute;
    bottom: 0;
    left: 0;
    padding-left: 25px;
    padding-right: 25px;
    background-color: white;
    border-radius: 0px 0px 16px 16px;
}

.tab-footer .button {
    display: flex;
    width: 100%;
    background-color: #333;
    color: white;
    padding: 14px 40px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
    justify-content: center;
}

.tab-footer .button:hover {
    background-color: #555;
}

.tab-footer .image_buttons_reset {
    display: flex;
    width: 100%;
    background-color: #e5e5e5;
    color: #333;
    padding: 14px 40px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    border: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
    justify-content: center;
    float: none;
    margin: 0;
}

.tab-footer .image_buttons_reset:hover {
    background-color: #d7d7d7;
    text-decoration: none;
}

.tab-footer .image_buttons_reset:active {
    background-color: #c9c9c9;
}

.tab-footer .button:active {
    background-color: #222;
}

.tab-footer .link {
    display: block;
    color: #333;
    text-decoration: underline;
    font-size: 13px;
    cursor: pointer;
    transition: color 0.2s ease;
}

.tab-footer .link:hover {
    color: #666;
}


.button-ia {
  padding: 12px 24px;
  background-color: white;
  border: 2px solid;
  border-image: linear-gradient(90deg, #00d4ff 0%, #ff6b9d 100%) 1;
  border-radius: 20px;
  font-weight: 600;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  display: inline-block;
  width: 100%;
}

button.button-ia {
  border: 2px solid transparent; /* Crea lo spazio per il bordo */
  border-radius: 10px;
  background-image:
    linear-gradient(white, white), /* Colore interno del bottone */
    linear-gradient(90deg, #00d4ff 0%, #ff6b9d 100%); /* Colore del bordo */
  background-origin: border-box;
  background-clip: padding-box, border-box;

}

.button-ia:hover {
  background-image:
    linear-gradient(#f0f0f0, #f0f0f0), /* Cambia il colore interno */
    linear-gradient(90deg, #00d4ff 0%, #ff6b9d 100%);
  /*transform: translateY(-2px);*/
}

.button-ia::before {
  margin-right: 8px;
  font-size: 16px;
}


div.tab-footer .actions{
    display: flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
}

.icon {
 display: inline-block;
 width: 20px;
 height: 20px;
 background-image: url(../img/tinconfig-tabs/magicpen.svg) !important;
 vertical-align: middle;
 margin-right: px;
}

.theme-counter{
    margin-right: 12px;
}

.picture-element-image{
    width: 100% !important;
    height: 100% !important;
    object-fit: fill;
    border-radius: 4px;
}

/* 1. Allargamento del contenitore esterno */
li.file-upload-1.ctd-image1 {
    width: 100%;
}

/* 2. Assicurarsi che il div interno usi tutto lo spazio */
li.file-upload-1.ctd-image1 > div {
    width: 100%;
}

/* 3. Spostamento del pulsante a destra */
a.load-image {
    font-family: "Poppins", serif;
    font-size: 13px;
    font-weight: 600; /* Verrà visualizzato il massimo peso disponibile, es. 600 */
    color: white !important;
    text-decoration: none;
    margin-left: auto; /* Fondamentale per l'allineamento a destra */
    display: block;
    background-color: #333;
}

a.load-image.is-loaded {
    background-color: #cc4638;
}


header#header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    z-index: 1 !important; /* Deve stare sopra a tutto */
}

.ctd_product_panel{
    margin-top: 148px !important;
}

.top-cap{
    height: 50px;
    display: none;
}

body.page-product {
    overflow: hidden !important;
    min-height: 100dvh;
}


.btn-close{
    font-size: 20px;
    margin: 0px;
    display: block;
    color: rgb(0, 0, 0);
    padding: 0px;
}

.theme-counter{
    display: none;
}


.template-image-area img{
    border-radius: 0px !important;
}

.customtextdesign-left *:not(i):not(a.acodion-title) {
    font-size: 12px;
    font-family: Poppins, serif;
}

.ctd_upload_c.ctd_img_c {
    width: 100%;
}

.acodion-title.active{
    font-size: 20px;
}

/* Rimuove ogni animazione e transizione dall'accordion del modulo */
.ctd_design_title,
.ctd_design_title *,
.row-item,
.row-item * {
    transition: none !important;
    transition-duration: 0s !important;
    animation: none !important;
    animation-duration: 0s !important;
}


#ctd_panel {
    position: fixed !important;
    top: 110px !important; /* Altezza dell'header, regolala se necessario */
    left: 0 !important;
    width: 100vw !important;
    height: calc(100dvh - 110px) !important;
    margin: 0 !important;
    /*z-index: 999999 !important;*/
    background-color: white; /* Evita trasparenze sul resto della pagina */
    overflow: hidden !important; /* Rimuove lo scroll principale del pannello */
}

/* Rimuove il limite del 79vh che causava lo spazio bianco */
.ctd_preview.ctd_imagecolor {
    max-height: none !important;
    height: 100% !important;
}

/* Se hai bisogno di scorrere le opzioni (es. lista colori), abilita solo lì lo scroll */
ul#ctd_customcolor {
    max-height: calc(100dvh - 350px) !important;
    overflow-y: auto !important;
}



/* Container principale del Dialog */
.ui-dialog.ui-widget.ui-widget-content {
  border: none !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.15) !important;
  padding: 0 !important;
  font-family: 'Poppins', sans-serif !important;
  background: #ffffff !important;
  overflow: hidden !important;
}

/* Barra del titolo */
.ui-dialog .ui-dialog-titlebar {
  background-color: #f8f5f0 !important;
  border: none !important;
  border-bottom: 1px solid #eee !important;
  padding: 15px 25px !important;
  border-radius: 0 !important;
}

/* Testo del titolo */
.ui-dialog .ui-dialog-title {
  color: #454545 !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  font-size: 14px !important;
}

/* Area del contenuto */
.ui-dialog .ui-dialog-content {
  padding: 20px !important;
  color: #454545 !important;
}

/* Sfondo oscurato (Overlay) */
.ui-widget-overlay {
  background: rgba(0,0,0,0.4) !important;
  backdrop-filter: blur(4px) !important;
}

div#JtuyoshiCrop {
    height: auto !important;
}

@media screen and (max-width: 1023px) {
    /*#ctd_panel {
        top: 60px !important;
    }*/
}

/* Correzione specifica per schermi molto piccoli (es. iPhone SE) */
@media (max-width: 380px) {
  .ctd-price-meta {
    text-align: center;
    width: 100%;
  }
}


/* Solo per smartphone ruotati in orizzontale */
@media screen and (max-height: 480px) and (orientation: landscape) {
    #main * {
        font-size: 0.95em !important;
    }

    #ctd_panel {
        height: calc(100dvh - 60px) !important;
    }

    #box-price, #box-sacchetto-regalo{
        width: fit-content;
    }
}


@media (max-width: 768px) {
    #ctd_panel {
        top: 60px !important;
        left: 0 !important;
        width: 100vw !important;
        height: calc(100dvh - 60px) !important;
        overflow-y: auto !important;
    }

    .ctd_add_to_cart{
        position: relative;
    }

    .customtextdesign-right{
        display: block !important;
        height: 248px !important;
    }

    .ctd_text_container{
        padding-top: 0px;
    }
}


/* Stile modali acquisto */
.text-white {
    color: #1f1f1f !important;
}

.modal-footer.w-100 {
    display: flex !important;
    justify-content: space-between !important; 
    gap: 15px  !important;
}

.modal-footer > .btn{
    background: #4a4a4a !important;
    display: block !important;
    border: none !important;
}
.modal-footer > .btn:hover{
    background: #333 !important;
}

/* Stile progressbar */

#progressbarTinConf .ui-progressbar-value {
    background: #a69175 !important;
    border-radius: 14px !important;
}

#progressbarTinConf {
    background-color: #f1f1f1 !important; 
    border: none !important;
    overflow: hidden;
    border-radius: 14px !important;
}



.ai-not-logged {
    position: relative;
    filter: blur(4px);
    pointer-events: none;
    user-select: none;
}

.ai-login-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    filter: blur(0);
    pointer-events: auto;
}

.ai-login-message {
    background: white;
    padding: 32px 40px;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    text-align: center;
    max-width: 400px;
}

.ai-login-message p {
    margin: 0 0 20px 0;
    font-size: 16px;
    color: #333;
    line-height: 1.5;
}

.ai-login-message .btn {
    margin: 0;
}


/* Nasconde il modal */
#blockcart-modal {
    display: none !important;
    visibility: hidden !important;
}

/* Impedisce al backdrop di apparire e alla pagina di bloccarsi */
.modal-backdrop.in {
    display: none !important;
}

body.modal-open {
    overflow: auto !important;
}


@media (max-width: 768px) {
    /* Sposta il carrello a fondo pagina */
    .ctd_add_to_cart {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: auto !important;
        z-index: 9999 !important;
        background: white !important;
        padding: 15px !important;
        box-shadow: 0 -2px 15px rgba(0,0,0,0.1) !important;
        margin: 0 !important;
        display: flex !important;
        justify-content: center !important;
    }

    /* Allarga l'area dell'anteprima */
    .customtextdesign-right {
        width: 100% !important;
        height: 55vh !important; /* Regola questa altezza per l'anteprima */
        display: flex !important;
        flex-direction: column !important;
        margin-bottom: 80px !important; /* Spazio per non finire sotto il carrello */
    }

    /* Adatta i container interni dell'anteprima */
    #d3preview-container, .ctd_preview {
        width: 100% !important;
        height: 100% !important;
    }

    /* Pannello opzioni a comparsa (sopra il carrello) */
    .customtextdesign-left {
        overflow: visible !important;
        /* Rimuovi ogni riferimento a top */
        top: auto !important;

        /* Ancoraggio al fondo */
        bottom: 0 !important;

        /* Altezza del pannello (puoi regolarla a piacimento) */
        height: 85vh !important;

        /* Altri stili necessari */
        position: fixed !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 1001 !important;
        background: white;
        margin: 0 !important;

        /* Animazione */
        transform: translateY(100%);
        transition: transform 0.3s ease-in-out !important;
    }

    .customtextdesign-left.is-open {
        transform: translateY(0) !important;
        bottom: 0 !important;
    }

    #ctd-mobile-close {
        opacity: 0 !important;
        pointer-events: none !important;
        transition: opacity 0.3s ease !important;

        /* Stili di posizionamento (già definiti prima) */
        position: absolute !important;
        top: -60px !important;
        right: 20px !important;
        background: white !important;
        width: 45px !important;
        height: 45px !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
        z-index: 1002 !important;
    }

    /* Mostra il pulsante SOLO quando il pannello ha la classe .is-open */
    .customtextdesign-left.is-open #ctd-mobile-close {
        opacity: 1 !important;
        pointer-events: auto !important;
        color: #000;
    }

    .ctd-control-option {
        height: 100%;
        overflow-y: auto;
    }
}

@media (max-width: 768px) {
    /* Stile pulsante apertura */
    button#ctd-mobile-trigger {
        position: fixed !important;
        bottom: 5px !important;
        left: 20px !important;
        right: auto !important;
        transform: none !important; /* Rimuove eventuali centrature */

        background-color: #E1D6C5 !important;
        color: #000 !important;
        padding: 12px 24px !important;
        border-radius: 50px !important;
        border: none !important;
        font-weight: bold !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;

        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        z-index: 1001 !important;
        width: auto !important;
        height: auto !important;

        width: 77px !important;
        height: 59px !important;
        font-size: x-large;

        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        -webkit-text-fill-color: #000;
    }

    /* Header del pannello a comparsa */
    .ctd-mobile-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 15px;
        border-bottom: 1px solid #eee;
        position: sticky;
        top: 0;
        background: white;
        z-index: 10;
    }

    #ctd-mobile-close {
        background: none;
        border: none;
        font-size: 28px;
        line-height: 1;
        padding: 5px 10px;
        cursor: pointer;
    }

    /* Nascondi il pulsante di apertura su desktop */
}

@media (min-width: 769px) {
    #ctd-mobile-trigger, .ctd-mobile-header {
        display: none !important;
    }

    #ctd-mobile-close {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}


/* Applica queste regole solo su Mobile (< 768px) */
@media (max-width: 767px) {

    button#ctd-mobile-close {
        top: 10px !important;
        right: 10px !important;
        position: absolute !important;
        background-color: #fff !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.3) !important;
        z-index: 1005 !important;
    }

    /* Crea spazio nel pannello per il pulsante */
    .customtextdesign-left.is-open {
        padding-top: 60px !important;
        box-sizing: border-box !important;
    }
.ctd_add_to_cart {
        position: fixed !important;
        bottom: 70px !important;
        right: 20px !important;
        /* left: auto !important; */
        /* width: 100% !important; */
        /* max-width: 85vw !important; */
        background-color: #ffffff !important;
        border-radius: 12px !important;
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15) !important;
        z-index: 1001 !important;
        padding: 20px !important;
        display: flex !important;
        flex-direction: column !important;
        /*gap: 15px !important;*/
        transform: translateX(120%);
        opacity: 0;
        transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s ease !important;
    }

    .ctd_add_to_cart.is-open {
        transform: translateX(0) !important;
        opacity: 1 !important;
    }

    #ctd-panel-toggle {
        display: block !important;
        position: fixed;
        bottom: 5px;
        right: 20px;
        z-index: 1001;
        padding: 12px 24px;
        background-color: #E1D6C5;
        color: #000;
        border: none;
        border-radius: 50px;
        box-shadow: 0 4px 12px rgba(0,0,0,0.3);
    }

    #box-price { width: 100% !important; display: block !important; }


    div#d3preview-container {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        z-index: 1000 !important;
        background-color: #fff !important;
    }

    iframe#iframe3dpreview {
        width: 100% !important;
        height: 100% !important;
        border: none !important;
    }


}

/* Nascondi il tasto toggle su Desktop */
@media (min-width: 768px) {
    #ctd-panel-toggle {
        display: none !important;
    }
}


/* Forza l'allineamento orizzontale e centrato su mobile */
@media (max-width: 767px) {
  div.modal-footer {
    display: flex !important;
    justify-content: center !important;
    gap: 10px !important;
    padding: 15px !important;
  }

  div.modal-footer button#disclaimerBack,
  div.modal-footer button#disclaimerAdd {
    display: inline-block !important;
    width: 145px !important; /* Larghezza fissa uguale per entrambi per simmetria */
    margin: 0 !important;
    flex: none !important;
    white-space: nowrap;
  }
}

/* Forza la disposizione verticale e centrata per i 3 bottoni finali */
@media (max-width: 767px) {
  div#divProsegui div.modal-footer.w-100 {
    display: flex !important;
    flex-direction: column !important; /* Mette i bottoni uno sotto l'altro */
    align-items: center !important;    /* Centra i bottoni orizzontalmente */
    gap: 12px !important;              /* Spazio verticale tra i bottoni */
    width: 100% !important;
    padding: 10px 0 !important;
  }

  div#divProsegui div.modal-footer.w-100 button#disclaimerCarrello,
  div#divProsegui div.modal-footer.w-100 button#disclaimerHome,
  div#divProsegui div.modal-footer.w-100 button#disclaimerRicrea {
    display: block !important;
    width: 90% !important;             /* Occupa quasi tutta la larghezza per leggibilità */
    max-width: 280px !important;       /* Ma non diventa troppo gigante su schermi larghi */
    margin: 0 auto !important;         /* Centratura di sicurezza */
    white-space: normal !important;    /* Permette al testo lungo di andare a capo se serve */
    height: auto !important;           /* Adatta l'altezza al testo */
    padding: 10px !important;
  }
}