.mp_product_description_wrap{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.mp_product_description {
    /* flex: 1 0 auto; occupa tutto lo spazio disponibile sopra */
}
.mp_posizionamento_wrap {
    margin: 75px 0 0 0;  /* auto 0 0 0 - sta appoggiato sotto */
}
.posizionamento-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
    padding: 0;
    margin: 0;
    list-style: inside none !important;
    margin: 0 !important;
}
.posizionamento-item { margin: 0; padding: 0; }
.posizionamento-pill {
    display: inline-block;
    padding: 8px 20px;
    border: 1px solid #1f7a33;
    border-radius: 999px;
    color: #1f7a33;
    background-color: #fff;
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
    text-decoration: none !important;
}
a.posizionamento-pill:hover,
a.posizionamento-pill:focus {
    background-color: #e8f5ec;            /* leggero fill al hover */
    border-color: #1b6d2d;
    color: #1b6d2d;
    text-decoration: none;
}

.mp_product_wrap .wpb_column ul.slick-dots {
    bottom: 0;
}
.mp_product_description{
    margin-top: 60px;
}
.mp_photos_gallery{
    margin-right: 75px;
}
.mp_forma_gallery li{
    margin-bottom:0;
}

.vca_padder_row.vca_forma_row {
    padding-right: 0;
    margin-top: 50px;
}

#mp_forme_sel, .mp_tessuti_thumbs, .tessuto_galleria, ul.tessuti-list, #mp_formati_disponibili{
    list-style: none;
    margin: 0;
}
#mp_forme_sel{
    margin-right: 50px;
}
#mp_forme_sel li, .mp_tessuti_thumbs_set li, .tessuto-galleria li{
    display: inline-block;
    margin: 0 15px 30px 0;
    padding: 0;
    cursor: pointer;
}
.tessuto-galleria li {
    margin: 0 10px 10px 0;
}
.mp_finitura_main_item img, #mp_forme_sel li i, #mp_forme_sel li img, .mp_tessuti_thumbs_set li img, .tessuto-galleria li img {
    border: 2px solid #fff;
    padding: 5px;
    max-width: 130px;
}
#mp_forme_sel li.is-active img, .mp_tessuti_thumbs_set li.is-active img, .tessuto-galleria li.is-active img{
    border: 2px solid #3f3f3d;
}
#mp_forme_sel li:hover img, .mp_tessuti_thumbs_set li:hover img, .tessuto-galleria li:hover img{
    border: 2px solid #999;
}
#dim_label_selected{
    font-weight: 600;
    text-transform: uppercase;
}
#mp_forme_sel li a, #mp_forme_sel li span, .mp_tessuti_thumbs_set li span, .mp_tessuti_thumbs_set li img, .tessuto-galleria li img, .tessuto-galleria li span{display: block}
#mp_forme_sel li span, .mp_tessuti_thumbs_set li span, .tessuto-galleria li span {
    text-transform: uppercase;
    font-size: 14px;
    line-height: 16px;
    margin: 8px 0 0 0;
    text-align: center;
    font-weight: 600;
}
#mp_forme_sel li span, .mp_tessuti_thumbs_set li span, .tessuto-galleria li span {
    margin: 13px 0 0 0;
}
#mp_forme_sel li a.mp_forma_selector {
    text-align: center;
    min-width: 130px;
}
.mp_forma_selector i{
    font-size: 100px;
}
#mp_forme_sel li i:before{
    color:#ddd !important;
}
#mp_forme_sel li.is-active i:before, #mp_forme_sel li:hover i:before{
    color:#111 !important;
}

.mp_tessuti_thumbs_set li span, .tessuto-galleria li span {
    font-size: 12px;
    line-height: 14px;
    margin: 3px 0 0 0;
}
.forma-tessuti-thumbs-wrap{
    margin-bottom: 50px;
}

.vca_tessuto_row{
    margin-top: 75px;
}
.vca_dimensioni_row {
    margin-top: 100px;
    margin-bottom: 75px;
}
.forma-img-dimensioni-wrap {
    margin: 50px 0 35px;
}
.forma-img-dimensioni-wrap .dida_forma_dim_img {
    display: block;
    margin: 45px 0 0;
    max-width: 800px;
}

.tessuto-galleria li img {
    border-radius: 50%;
    max-width: 75px;
    padding: 3px;
    font-size: 10px;
    text-align: center;
}

.mp_photos_gallery{
    position: relative;
}
.mp_forma_gallery{
    list-style: none;
    margin: 0;
    padding: 0;
}
.mp_forma_gallery > li{
    margin: 0;
    padding: 0;
}
/* Solo quando slick è attivo mostriamo i dots */
.mp_forma_gallery .slick-dots{ display: none; }
.mp_forma_gallery.slick-initialized .slick-dots{ display: block; }
.mp_forma_gallery.slick-initialized .slick-list{
    overflow: hidden;
}

.flex_row.vca_variations_row {
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
    margin: 20px 0 0 0;
}
.flex_row.vca_variations_row > div {

}
/* colori */
.flex_row .vca_colori_wrapper{
    width: 48%;
    margin: 0;
}
.flex_row .vca_formati_wrapper{
    width: 52%;
}
.vca_colori_wrapper {
    margin: 16px 0 0 0;
}
.wpb_text_column .vca_colori_wrapper .mp_colori_disponibili_list, .mp_formati_disponibili {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 16px 0 5px 0;
    justify-content: flex-start;
}
.mp_colore_item, .mp_formati_disponibili li {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    cursor: default;
    transition: transform 0.2s ease, opacity 0.2s ease;
}
.mp_formati_disponibili li {
    min-width:65px;
}
.mp_colore_item:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}
.mp_colore_swatch {
    width: 60px;
    height: 40px;
    border-radius: 4px;
    /* border: 1px solid #ddd; */
    /* box-shadow: 0 0 2px rgba(0,0,0,0.1); */
    transition: box-shadow 0.2s ease;
}
.mp_colore_item:hover .mp_colore_swatch {
    box-shadow: 0 0 6px rgba(0,0,0,0.2);
}
/* Etichetta colore */
.mp_colore_label, .mp_formati_disponibili span {
    font-size: 12px;
    margin-top: 6px;
    line-height: 14px;
}
.vca_colori_wrapper small, .vca_formati_wrapper small{
    font-size: 10px;
    line-height: 12px;
    display: block;
    padding-right: 50px;
}
.vca_formati_wrapper small{
    margin-top: 12px;
    padding-right: 0;
}
.mp_formati_disponibili i {
    font-size: 60px;
    line-height: 62px;
}

.tessuto_custom_txt{
    margin: 15px 0 0 0;
}
.tessuto_custom_txt p, .dida_forma_dim_img {
    font-size: 14px;
    line-height: 18px;
    margin-bottom: 8px;
    font-style: italic;
}

/* sticky del box che contiene l'immagine */
.vca_forma_row .vc_col-sm-4 > .vc_column-inner > .wpb_wrapper {
    position: sticky;
    position: -webkit-sticky;
    top: 24px;
    overflow: hidden;
    margin-right: -15px;
}
/* l’immagine: occupa la larghezza, resta dentro la viewport */
#img_color_selected {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    /*background-size: cover;*/
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 50%;
    margin-left: 50%;
}
#img_color_label_selected {
    display: block;
    font-weight: bold;
    padding-right: 20px;
}
#iclsel_wrap {
    font-size: 18px;
    line-height: 21px;
    display: block;
    position: absolute;
    top: 50%;
    right: 50%;
}

.mp_finitura_group{
    margin-bottom:10px;
}
.mp_finitura_title {
    font-weight: normal;
    font-size: 14px;
    margin-bottom: 6px;
    text-transform: uppercase;
    line-height: 15px;
}
.mp_tessuti_thumbs_group{
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}
.mp_prod_wood .tessuto-campione-caption{
    display:none !important;
}

/* hardening: evita che antenati rompano lo sticky */
.vca_forma_row, .vca_forma_row .vc_column_container, .vca_forma_row .vc_column-inner {
    overflow: visible;
}

#mp_hidden_downloads .vc_tta-panel-heading{
    display:none;
}
body .vc_tta.vc_general #mp_hidden_downloads .vc_tta-panel-body{
    padding-top: 0;
}
.vca_simple_downloads_wrap{
    margin-top: 40px;
}
.gb_vc_area_downloads{
    margin-bottom: 75px;
}
.desc_txt_downloads{
    font-size: 16px;
    line-height: 20px;
    max-width: 480px;
}

/* accordion start */
body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-title > a,
body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel.vc_active .vc_tta-panel-title > a {
    color: #383836;
}
body .vc_tta-color-white.vc_tta-style-outline .vc_active .vc_tta-panel-heading .vc_tta-controls-icon::after, body .vc_tta-color-white.vc_tta-style-outline .vc_active .vc_tta-panel-heading .vc_tta-controls-icon::before,
body .vc_tta-color-white.vc_tta-style-outline .vc_tta-controls-icon::after, body .vc_tta-color-white.vc_tta-style-outline .vc_tta-controls-icon::before {
    border-color: #000;
}
body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel-heading:focus .vc_tta-controls-icon::after, body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel-heading:focus .vc_tta-controls-icon::before, .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel-heading:hover .vc_tta-controls-icon::after, body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel-heading:hover .vc_tta-controls-icon::before {
    border-color: #383836;
}
body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-heading:focus, body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-heading:hover {
    background: none;
}
body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-heading,
body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-body,
body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel.vc_active .vc_tta-panel-heading {
    border:none;
}
body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-heading{
    border-bottom: 1px solid #1D1D1B;
}
body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel.vc_active .vc_tta-panel-heading {
    border-bottom: 1px solid #fff;
}
body .vc_tta.vc_general .vc_tta-panel-body {
    padding: 14px 0;
}
body .vc_tta.vc_tta-accordion .vc_tta-controls-icon-position-right .vc_tta-controls-icon {
    right: 10px;
}
body .vc_tta.vc_general .vc_tta-panel-title > a {
    padding: 14px 0 8px 0;
    font-weight: bold;
    text-transform: uppercase;
}
/* accordion end */

/* =========================
   FINITURE MAIN (livello sopra)
   ========================= */
.mp_finituremain_group {
    display: flex;
    flex-wrap: wrap;
    gap: 0 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px;
}

/* singola finitura (macro item) */
.mp_finitura_main_item{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    cursor: pointer;

    /*min-width: 110px;
    text-align: center;*/

    transition: transform .2s ease, opacity .2s ease;
}

/* hover */
.mp_finitura_main_item:hover{

}

/* immagine finitura */
.mp_finitura_main_img{
    display: block;
    max-width: 90px;
    border: 2px solid #fff;
    padding: 5px;
    transition: border-color .2s ease;
}

/* stato active */
.mp_finitura_main_item.is-active .mp_finitura_main_img{
    border: 2px solid #3f3f3d;
}
/* hover immagine */
.mp_finitura_main_item:hover .mp_finitura_main_img{
    border: 2px solid #999;
}

/* titolo */
.mp_finitura_main_title{
    display: block;
    margin: 8px 0 0 0;
    font-size: 12px;
    line-height: 14px;
    font-weight: 600;
    text-transform: uppercase;
    border: 1px solid #fff;
    padding: 6px 12px;
}
.mp_finitura_main_item.is-active .mp_finitura_main_title {
    border: 1px solid #222;
}
.mp_finitura_main_item:hover .mp_finitura_main_title {
    border: 1px solid #999;
}


/* =========================
   GRUPPI FINITURE (livello sotto)
   ========================= */

.mp_finitura_group{
    margin-bottom: 10px;
}

/* identico comportamento a tessuti */
.mp_tessuti_thumbs_group{
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

/* uniformiamo spacing */
.mp_tessuti_thumbs_group li{
    margin: 0;
    padding: 0;
}
/* forza coerenza dimensioni thumb */
.mp_tessuti_thumbs_group img{
    max-width: 90px;
}

@media (max-width: 1540px) {
    .mp_forma_selector i {
        font-size: 85px;
    }
}

@media (max-width: 1270px) { /* ipad pro */
    .mp_forma_selector i {
        font-size: 70px;
    }
    #mp_forme_sel li span, .mp_tessuti_thumbs_set li span, .tessuto-galleria li span {
        font-size: 12px;
        line-height: 14px;
        margin: 8px 0 0 0;
    }
}

@media (max-width: 1200px) {
    #iclsel_wrap {
        font-size: 15px;
        line-height: 20px;
    }
    .mp_finitura_main_item img, #mp_forme_sel li i, #mp_forme_sel li img, .mp_tessuti_thumbs_set li img, .tessuto-galleria li img {
        max-width: 90px;
    }
    .mp_tessuti_thumbs_set li {
        margin: 0 15px 15px 0;
    }
    .mp_tessuti_thumbs_set li span, .tessuto-galleria li span {
        font-size: 9px;
        line-height: 11px;
        margin: 4px 0 0 0;
    }
    .tessuto-galleria li span {
        margin: 1px 0 0 0;
    }
    .tessuto-galleria li img {
        max-width: 50px;
        padding: 0;
    }

    .tessuto_custom_txt p, .dida_forma_dim_img {
        font-size: 12px;
        line-height: 14px;
        margin-bottom: 8px;
    }

    body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel .vc_tta-panel-title > a, body .vc_tta-color-white.vc_tta-style-outline .vc_tta-panel.vc_active .vc_tta-panel-title > a {
        font-size: 15px;
    }
}

@media (max-width: 850px) { /* ipad */
    .gb_vc_area_downloads .vc_col-sm-6, .vca_product_intro .vc_col-sm-6{
        width: 100%;
        float: none;
    }
    .gb_vc_area_downloads {
        margin-top: 50px;
    }

    .mp_product_wrap .wpb_column .mp_carousel_imgs ul.slick-dots, .mp_carousel_imgs ul.slick-dots,
    .mp_product_wrap .wpb_column ul.slick-dots {
        bottom: -30px;
    }
    .vca_product_hero .gb_vc_titolo.ggg .title {
        max-width: 100%;
    }
    .mp_photos_gallery {
        margin-right: 0;
    }
    #mp_forme_sel {
        margin-right: 0;
    }
    .mp_product_description {
        margin-top: 70px;
    }
    .vca_tessuto_row {
        margin-top: 25px;
    }
    .vca_padder_row.vca_forma_row {
        padding-right: 0;
        margin-top: 0;
    }
}

@media (max-width: 767px) {
    .flex_row .vca_formati_wrapper, .flex_row .vca_colori_wrapper {
        width: 100%;
    }
    .vca_forma_row .vc_col-sm-4 > .vc_column-inner > .wpb_wrapper {
        position: static;
        margin-top: 35px;
    }
    .mp_posizionamento_wrap, .flex_row .vca_formati_wrapper{
        margin-top: 35px;
    }

    .mp_forma_selector i {
        font-size: 40px;
    }
    #mp_forme_sel li a.mp_forma_selector {
        min-width: 90px;
    }
    #mp_forme_sel li span, .mp_tessuti_thumbs_set li span, .tessuto-galleria li span {
        font-size: 10px;
        line-height: 12px;
        margin: 8px 0 0 0;
    }

    .vca_dimensioni_row {
        margin-top: 30px;
        margin-bottom: 50px;
    }

    #iclsel_wrap {
        font-size: 14px;
        line-height: 19px;
        right: auto;
        left: 15px;
        width: 50%;
    }

}

@media (max-width: 500px) {
    .tessuto_custom_txt p, .dida_forma_dim_img {
        font-size: 11px;
        line-height: 13px;
        margin-bottom: 5px;
    }

    .mp_colore_swatch {
        width: 50px;
        height: 35px;
    }
    .mp_formati_disponibili i {
        font-size: 40px;
        line-height: 42px;
    }
    .mp_colore_label, .mp_formati_disponibili span {
        font-size: 11px;
        margin-top: 2px;
        line-height: 12px;
    }
    .posizionamento-list {
        gap: 0 10px;
    }
    .posizionamento-pill {
        padding: 6px 14px;
        font-size: 12px;
    }
}