body{
    margin: 0;
    font-family: 'Roboto', 'Poppins', sans-serif;
    color: #271E30;
    font-style: normal;
    font-weight: 200;
    font-size: 18px;
    /*color:#271E30;*/
    line-height: 30px;
}

.modal{
    z-index: 99999999!important;
}

img {
    margin:0;
}
img.img-bn{
    filter: grayscale(1);
}

.over-color:hover{
    background-color: #3cc5c7;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    
}

.over-color:hover img{
    opacity: .5;
}

h1{ 
    font-family: 'Roboto', 'Poppins', sans-serif;
    font-size: 48px;
    color: #271E30;
    font-weight: 600;
}

p {
    margin: 0;
}

h2{
    font-family: 'Roboto', 'Poppins', sans-serif;
    color: #271E30;
    font-weight: 700;  
    margin-bottom: 20px; 

}

.card:not(.angoli-curvi):hover{
    background-color: #3cc5c7;
    border-radius: 0px 0px 0px 0px;
}
.card:not(.angoli-curvi):hover img{
    opacity: .7;
}

.bg-dark{
    background-color: #000!important;
}


.catfilter-cancel{
    cursor: pointer;
}

.modal-footer>* {
    margin: 3px !important;
}
.badge.credits{
        position: absolute;
    top: 3px;
    right: 0px;
    background-color: white;
    border-radius: 35%;
    width: 25px;
}
.risultatotestuale{
    font-size:25px;
    color: #271E30;
    font-weight: 400;  
}

.bold{
    font-weight: 400;  
}

h3{
    font-size:20px;
    font-weight: 700;

}
.h3{
    font-family: 'Roboto', 'Poppins', sans-serif;
    text-transform: uppercase;
    font-size: 15px !important;
    font-weight: 600;
    padding: 25px 0;
    padding: 15px 0px 15px !important;
}


.azzurro{
    color: #3cc5c7;
}
.btn-colorselector{
    background-color: linear-gradient(45deg, rgba(255,255,255,1) 47%, rgba(255,3,3,1) 49%, rgba(255,255,255,1) 51%);
}
.dropdown-caret li:first-child a.color-btn, 
.simplecolorpicker > .color:first-child {
    background: rgb(255,255,255);
    background: linear-gradient(45deg, rgba(255,255,255,1) 47%, rgba(255,3,3,1) 49%, rgba(255,255,255,1) 51%);
}
.simplecolorpicker .color{
    
}

.rounded{
    border-radius: 30px !important;
}

a {
    color:#3cc5c7;
    border:none;
    text-decoration: underline;
}

a:hover,
a.active{
    color:#0070ED;
}

.link_formati {
    text-decoration: none;
    color: #271E30;
}

.link_formati:hover {
    text-decoration: underline;
    color: #3cc5c7;
}

.small, small {
    font-size: 70%;
    font-weight: 200;
}
.divider{
    font-weight: 100;
    color: #ccc;
}
.card-img-overlay {
    position: absolute;
    top: -30px;
    right: 0;
    bottom: 0;
    left: 20px;
    padding: 1.25rem;
}

.form-check{
        text-transform: uppercase;
    font-size: 14px;
    font-weight: 500;
}

.titolo:before {
   font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
   content: "\f106";
   float: right;
   -webkit-transition: all 0.5s;
   transition: all 0.5s;
   font-weight: 600;
   -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
       transform: rotate(0deg);
}
.titolo.collapsed:before {

    -webkit-transform: rotate(180deg);
    -ms-transform: rotate(180deg);
        transform: rotate(180deg);
} 

.sfondo-categorie img:hover{
    opacity: .5;
}


.overlay_green {
    background: rgb(79,134,135);
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(79,134,135,1)), to(rgba(52,52,52,1)));
    background: linear-gradient(0deg, rgba(79,134,135,1) 0%, rgba(52,52,52,1) 100%);
}
.overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    height: 100%;
    width: 100%;
    opacity: 0;
    -webkit-transition: .5s ease;
    transition: .5s ease;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(79,134,135,1)), to(rgba(52,52,52,1)));
    background: linear-gradient(0deg, rgba(79,134,135,1) 0%, rgba(52,52,52,1) 100%);
    z-index: 200;
}

.filtroattivo{
    font-size: 14px;
    font-weight: 200;
    height: 30px;
    line-height: 20px;
}

.img_hover{
    position: relative;
}

.img_hover:hover .overlay {
  opacity: .9;
}
.img_hover .overlay .nome_hover{
    position: absolute;
    bottom: 5px;
    /*bottom: 20px;
    left: 30px;*/
    color: white;
    font-weight: 500;
    width: 100%;
}
.simplecolorpicker > .color{
    width: 30px; 
    height: 30px;
    display: inline-block;
    margin: 3px;
    border-radius: 50%;
    border:1px solid #CCC !important;
}

.simplecolorpicker .color[data-selected]:after {
    position: relative;
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Brands";
    content: "\f00c";
    font-weight: 600;
    left: 8px;
    top: 0px;
    font-size: 13px;
    /* margin-left: 1px; */
    color: white;
    -webkit-text-stroke-width: 1px;
    -webkit-text-stroke-color: #000;
    display: table;
    /*mix-blend-mode: difference;*/
}
.simplecolorpicker .color[data-selected]{
    border: 3px solid #46c8ca;
}

.btn-colorselector {

    display: inline-block;
    width: 28px;
    height: 28px;
    vertical-align: middle;
    border-radius: 50%;
    border:  1px solid #CCC;
    position: relative;
    left: -15px;
    top: 1px;
}
.dropdown-toggle::after {
    display: none;
}

.color-position{
        position: absolute;
    width: 60px;
    left: 0;
}
.color-width{
   width: 60px !important; 
}

.dropdown-colorselector>.dropdown-menu {
    min-width: 308px!important;
}
.dropdown-colorselector>.dropdown-menu>li{
    width: 42px;
    height: 42px;

}
.dropdown-colorselector>.dropdown-menu>li>.color-btn {
    display: block;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border-radius: 50%;
    position: relative;
    -webkit-transition: all ease .1s;
    transition: all ease .1s;
}
.dropdown-colorselector>.dropdown-menu>li>.color-btn.selected:after {
    display: none;
}

.dropdown-colorselector>.dropdown-menu {
    padding: 15px 15px 15px 15px;
    max-width: 188px;
    min-width: 180px;
}

#loading{
    width: 100%; 
    height: 5px; 
    top: 80px; 
    position: absolute; 
    z-index: 10000; 
    background-color: #f7f6f9;
}
.loader__element {
    height: 4px;
    width: 100%;
    background: rgba(0,255,255,.9)

}

.loader__element:before {
    content: '';
    display: block;
    background-color: #46c8ca;
    height: 4px;
    width: 0;
  -webkit-animation: getWidth .5s ease-in infinite;
          animation: getWidth .5s ease-in infinite;
}

@-webkit-keyframes getWidth {
    100% { width: 100%; }
}

@keyframes getWidth {
    100% { width: 100%; }
}


.relative{
    position: relative;
}
a.no-underline {
    text-decoration: none;
}
a.ico-blue svg, h1.ico-blue svg {
    color: #3cc5c7;
}
*.line-height {
    line-height: 1.5em!important;
}

b,strong{
    font-weight: 500;
}

div.bg-grey {
    background-color: #eeeeee;
}
/* filtri  */

.sottocat{
    margin-left: 30px;
}

a.titolo {
    border: none;
    background: none;
}
.barradiricerca{
    border-bottom: 1px solid #f1efef;
}
.title-filter {
    background: #ffffff;
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
}
.card {
    border-radius: 0;
    border-right: none;
    border-left: none;
    border-bottom:  none;
    border: 0px;
    -webkit-transition: all ease .1s;
    -webkit-transition: all ease .4s;
    transition: all ease .4s;

}

.card.no-fade {
    -webkit-transition: none;
    transition: none;

}

.card-header {
    background: #ffffff;
}

.card.inverse{
    background-color: #3cc5c7;
    color: white;
}

.outerDivFull {
    margin: 0;
}

ul.no-list {
    padding: 0;
}
ul.no-list li {
    list-style-type: none!important;
}
ul.no-list li input[type='checkbox'] {
    margin-right: 0.7em;
    width: 16px;
    height: 16px;
    margin-top: 7px;
    opacity: 0.5;
}
ul.no-list li input:checked[type='checkbox'] {
    opacity: 1;
}
.thumb{
    cursor: pointer;
}
.box-formato {
    border: 1px solid #e6e6e6;
    min-height: 105px;
    cursor: pointer;
    border-radius: 15px;
}
.box-formato:hover {
    border: 1px solid #3cc5c7;
}

.box-formato.attivo {
    border-color: #3cc5c7;
    background: #3cc5c717;
}

.outerDivFull { margin:50px; } 

.switchToggle input[type=checkbox]{height: 0; width: 0; visibility: hidden; position: absolute; }
.switchToggle label {cursor: pointer; text-indent: -9999px; width: 70px; max-width: 70px; height: 30px; background: #bfeced; display: block; border-radius: 100px; position: relative; }
.switchToggle label:after {content: ''; position: absolute; top: 2px; left: 2px; width: 26px; height: 26px; background: #fff; border-radius: 90px; -webkit-transition: 0.3s; transition: 0.3s; }
.switchToggle input:checked + label, .switchToggle input:checked + input + label  {background: #3cc5c7; }
.switchToggle input + label:before, .switchToggle input + input + label:before {content: 'NO'; position: absolute; left: 35px; width: 26px; height: 26px; border-radius: 90px; -webkit-transition: 0.3s; transition: 0.3s; text-indent: 0; color: #3cc5c7; }
.switchToggle input:checked + label:before, .switchToggle input:checked + input + label:before {content: 'YES'; position: absolute; left: 10px; width: 26px; height: 26px; border-radius: 90px; -webkit-transition: 0.3s; transition: 0.3s; text-indent: 0; color: #fff; }
.switchToggle input:checked + label:after, .switchToggle input:checked + input + label:after {left: calc(100% - 2px); -webkit-transform: translateX(-100%); -ms-transform: translateX(-100%); transform: translateX(-100%); }
.switchToggle label:active:after {width: 60px; } 
.toggle-switchArea { margin: 10px 0 10px 0; }
.finale{
    font-size: 15px;
    color: #271E30;
}

.finale ul{
    padding-left: 0;
}

.finale li{
    list-style-type: none;
    float: left;
    margin-right: 20px;
}

#footer {
    clear: both;
}

.spazio_brand_footer{
    text-align: right;
}

.img_cactus{
    margin-left: 10px;
    width: 31px;
    height: 24px;
}

.container-fluid {
    padding: 0!important;
    margin: 0!important;
}

.list-group {
    min-width: 250px;
}
.list-group a {
    text-decoration: none;
}
.list-group a:hover {
    text-decoration: underline;
}
.navbar {
    background-color: #000000;
    margin: 0;
    padding: 0 1em;
    /*text-transform: uppercase;*/
}
a.nav-link {
    margin: 0 1em;
    color: #ffffff!important;
    text-decoration: none;
    font-size: 15px;
}
a.nav-link:hover {
    color: #3cc5c7!important;
}

.nav-item.active a.nav-link {
    color: #3cc5c7!important;
    border-bottom: 1px solid   #3cc5c7!important;
}

a.nav-link.evidence {
    border: 1px solid white;
    padding: 5px 25px !important;
    border-radius: 2em;
}
.animateButton2,
.animateButton{
    position: relative;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transition: all 500ms ease-out;
    transition: all 500ms ease-out;
}
.animateButton:hover{
    color: white !important;
    background-color: #3cc5c7!important;
}
.animateButton.full:hover{
    color: white !important;
    background-color: #262626!important;
}

a.nav-link.blue {
    color: #3cc5c7;
}
a.nav-link.evidence.blue {
    color: #3cc5c7!important;
    border-color: #3cc5c7;
}
a.nav-link.blue svg {
    color: #3cc5c7!important;
}

.bg-grey {
    background-color: #f9f9f9!important;
}
div.bg-blue {
    background-color: #d7f7f8!important;
}
a.btn-radius {
    border-radius: 40px;
    font-size: 18px;
}
a.blue, p.blue, *.blue {
    color: #3cc5c7!important;
    border-color: #3cc5c7;
}
a.blue:hover, p.blue:hover, *.blue:hover {
    /*color: #fff!important;*/
}
a.full {
    background-color: #3cc5c7;
    color: #ffffff!important;
}

.table-striped th {
    background-color:  #3cc5c7;
    color: white;
}

div.elenco p.bg-elenco {
    background: #d7f7f8;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    display: inline-block;
    padding: 0.6em 0 0 1em;
}
div.elenco p.bg-elenco svg {
    color: #48dbde;
}

.angoli-curvi {
    border-radius: 1.5em;
    overflow: hidden;
}
.angoli-curvi-5 {
    border-radius: 50%;
    overflow: hidden;
    height: 200px;
    width: 200px;
}
.angoli-curvi-50 {
    border-radius: 50%;
    overflow: hidden;
    height: 75px;
    width: 75px;
}
p.card-nome-prodotto {
    font-size: 14px;
    font-weight: 500;
}
p.card-nome-prodotto svg {
    color: #48dbde;
}


/*
.crediti svg {
    color: #48dbde;
    background: #d7f7f8;
    padding: 0.2em;
    margin: 0;
    border-radius: 1em;
    font-size: 2em;
}*/
.crediti{
    

}

.border-bottom {
    border-bottom: 1px solid #eeeeee;
}
.hover-hidden {
    overflow: hidden;
}
.menu-profilo li a {
    color: #000000;
}
.menu-profilo li a:hover {
    color: #3cc5c7;
}
span.alert {
    color: red;
}

.bg-icon {
    background: #e6e7e8;
    border-radius: 2em;
    font-size: 0.7em;
}


.only_nurbs{
    background-color: black;
    border-color: #d7f7f8;
    display: block;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    text-align: center;
    padding-top: 10px;
    position: absolute;
    left: 15px;
    top: 15px;
    z-index: 2;
    opacity: .5;
}

.only_nurbs img{
        margin-top: -11px;
    width: 80%;
}

.crediti {
    background: #e6e7e8;
    border-radius: 5px;
    font-size: 0.8em;
    font-weight: 400;
    position: absolute;
    padding: 6px 10px;
    right: 15px;
    bottom: 45px;
    line-height: 11px;
    display: flex;
    align-items: center;
        align-content: space-between;
}

.crediti-home {
    position: absolute;
    padding: 0 25px;
    bottom: 15px;
    line-height: 11px;
    width: 100%;
    display: flex;
    align-items: center;
    align-content: space-between;
}

.crediti-home .badge-crediti{
    background: #e6e7e8;
    border-radius: 5px;
    font-size: 0.8em;
    font-weight: 400;
    padding: 6px 10px;
    
    line-height: 11px;
    display: flex;
    align-items: center;
        align-content: space-between;
        margin-left:5px;
}


.check-formato,
.preferiti {
    background: none;
    border-color: #d7f7f8;
    display: initial;
    border-radius: 50%;
    
    /*position: absolute;
    right: 0px;
    bottom: 17px;
    z-index: 2;*/
    opacity: .5;
}

.preferiti.active {
    background: #d7f7f8;
    display: initial;
    border-radius: 50%;
    
    /*padding-top: 10px;
    position: absolute;
    right: 0px;
    bottom: 17px;
    z-index: 2;*/
    opacity: 1;
}
.bg-darkgrey{
    background-color: #e9e9e9;
}

.badge-row-carrello{
    font-weight: normal;

}
.loghini{
    display: block;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    text-align: center;
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 2;
    opacity: 1;
}
.loghini_pack{
    background-color: white;
    /*border-radius: 50%;*/
    width: 25px;
    height: 25px;
    text-align: center;
    z-index: 2;
    opacity: 1;
    margin-left: 0px;
}


.check-formato{
    display: none;
}
.attivo .check-formato{
    display: block;
}

p.back {
    background: #d7f7f8;
    display: block;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    text-align: center;
    padding-top: 5px;
        padding-top: 0px;
    line-height: 25px;
}
p.back a{
    font-size: 17px;
}

.claer-both {
    clear: both!important;
}
.display-block {
    display: block!important;
}

#pianiContainer a.nav-link, #account-profileContainer a.nav-link {
    color: black!important;
    text-transform: uppercase;
}

#pianiContainer a.nav-link.active, #account-profileContainer a.nav-link.active {
    color: #3cc5c7!important;
}

.txt-small {
    font-size: 0.8em;
}

div.emme {
    background: url(../images/m.png) no-repeat center center;
}
div.puntini {
    background: url(../images/puntini.png) no-repeat center center;
}

div.collabora {
    background: url(../images/collabora.png) no-repeat right top;
}

img.cursore-360 {
    position: absolute;
    right: 0!important;
    bottom: 0;
}

hr.separatore {
    background: #fbfbfb;
}

#box-ricerca {

    border-radius: 2em;
    background: #ffffff;
    border: 1px solid #eeeeee;
    padding: 1.5em;
    -webkit-box-shadow: 5px 10px 18px #ffffff;
            box-shadow: 5px 10px 18px #ffffff;
    display: block;
}

#box-ricerca.interna{
    margin-top: 0px;
    border-radius: 2em;
    background: #ffffff;
    border: 0px solid #eeeeee;
    padding: 0em;
    -webkit-box-shadow: none;
            box-shadow: none;
    display: block;
}

#box-ricerca .col-1, #box-ricerca .col-2, #box-ricerca .col-9 {
    padding: 0!important;
    margin: 0!important;
}

#box-ricerca input, #box-ricerca select {
    border-color: #eeeeee;
    height: 3em;
    padding: 0 1em;
    border-radius: 2em;
    color: #333333;
}

#ricerca-pagine input, #ricerca-pagine select{
    border-color: #eeeeee;
    height: 3em;
    padding: 0 1em;
    border-radius: 2em;
    color: #333333;
}



div.footer-black input, form.form-group input {
    border: 0px;
    height: 3em;
    padding: 0 1em;
    border-radius: 2em;
    color: #333333;
}

#box-ricerca #ricerca-libera {
    border-radius: 2em 0 0 2em;
    margin-right: 0;
    border-right: 0;
    height: 4em;
}
#box-ricerca #ricerca-tipologie {
    border-radius: 0;
    margin: 0;
    background-color: #f8f9fa;
    border: 0;
    height: 4em;
    cursor: pointer;
}

#box-ricerca #ricerca-button {
    background: #46c8ca;
    color: #ffffff;
    /*font-weight: bold;*/
    font-size: 1.2em;
    border-radius: 0 2em 2em 0;
    border: 0;
    height: 100%;
    /*padding: 0 1em;*/
}

#box-ricerca label {
    float: left!important;
}
#box-ricerca.interna #ricerca-libera,
#box-ricerca.interna #ricerca-tipologie,
#box-ricerca.interna #ricerca-button,
#box-ricerca.interna input, #box-ricerca.interna select {
    height: 45px;
}



#ricerca-pagine .col-1, #ricerca-pagine .col-2, #ricerca-pagine .col-9 {
    padding: 0!important;
    margin: 0!important;
}


#ricerca-pagine #ricerca-libera {
    border-radius: 2em 0 0 2em;
    margin-right: 0;
    border-right: 0;
    height: 4em;
}
#ricerca-pagine #ricerca-tipologie {
    border-radius: 0;
    margin: 0;
    background: #f8f9fa;
    border: 0;
    height: 4em;
}

#ricerca-pagine #ricerca-button {
    background: #46c8ca;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.2em;
    border-radius: 0 2em 2em 0;
    border: 0;
    height: 100%;
    padding: 0 1em;
}

#ricerca-pagine label {
    float: left!important;
}



/* anteprima 3d  */

.anteprima-modello3d model-viewer{
    width: 100%;
    min-height: 500px;
}

/* Radio button chiaro-scuro */
/*
.wrapper {
  font-size: 0.8em;
  overflow: hidden;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;

}
.toggle_radio{
  position: relative;
  background: #E2F7F7;
  margin: 0 auto;
  overflow: hidden;
  padding: 0 !important;
  border-radius: 50px;
  position: relative;
  height: 40px;
  width: 140px;
  float:left;
}
.toggle_radio > * {
  float: left;
}
.toggle_radio input[type=radio]{
  display: none;
}
.toggle_radio label{
  z-index: 0;
  display: block;
  width: 70px;
  height: 30px;
  margin: 3px 3px;
  border-radius: 50px;
  cursor: pointer;
  z-index: 1;
  text-align: center;
  float: left!important;
}
label p.pre {
  margin-right:15px;
  line-height:36px;
  float:left;
  left: 0;
  cursor: pointer;
  color: #46C8CA;
}
label p.post {
  cursor: pointer;
  margin-left:15px;
  float:right;
  line-height:36px;
  color:#46C8CA
}
.toggle_option_slider{
  width: 38px;
  height: 38px;
  position: absolute;
  border: 1px solid #eeeeee;
  top: 1px;
  background: #ffffff;
  border-radius: 50px;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
}

#first_toggle:checked ~ .toggle_option_slider{
  left: 1px;
  background:#E2F7F7;
  border:1px solid white;
}

#second_toggle:checked ~ .toggle_option_slider{
  left: 50px;
}
#third_toggle:checked ~ .toggle_option_slider{
  left: 100px;
  background:#46c8ca;
}
*/


.toggle_radio{
  transition-property: background background-color transform color;
  
  background: rgb(70 200 202);
  margin: 4px auto;
  overflow: hidden;
  padding: 0 !important;
  border-radius: 50px;
  height: 30px;
  width: 90px;
  position: absolute;
    right: 75px;
}
.toggle_radio > * {
  float: left;
}
.toggle_radio input[type=radio]{
  display: none;
  /*position: fixed;*/
}
.toggle_radio label{
    transition-duration: 0.5s;
  color: rgba(0,255,255,.9);
  z-index: 0;
  display: block;
  width: 90px;
  height: 30px;
  margin: 3px 3px;
  border-radius: 50px;
  cursor: pointer;
  z-index: 1;
  text-align: center;
  /*margin: 0 2px;*/
  /*background: blue;*/ /*make it blue*/
}
.toggle_option_slider{
  /*display: none;*/
  /*background: red;*/
  width: 28px;
  height: 28px;
  position: absolute;
  top: 1px;
  border-radius: 50px;
  -webkit-transition: all .4s ease;
  transition: all .4s ease;
}

.first_toggle{

    padding-top: 5px;
    padding-right: 40px;
    cursor: pointer;
    position: absolute;
    right: 140px;
    z-index: 999;
}

.third_toggle{
    padding-top: 5px;
    padding-left: 45px;
    cursor: pointer;
    position: absolute;
    right: 20px;
    z-index: 999;
}

.second_toggle{
    position: absolute;
    top: 0px;
    height: 48px;
    width: 100%;
    position: absolute;
}
.second_toggle::after{
    margin-right: -10000px;
}

#first_toggle:checked ~ .toggle_option_slider{
    transition-duration: 0.5s;
  background: rgba(255,255,255,1);
  left: 1px;
}
#second_toggle:checked ~ .toggle_option_slider{
    transition-duration: 0.5s;
  background: rgba(0,255,255,.3);
  background: linear-gradient(90deg, rgba(255,255,255,1) 45%, rgba(0,0,0,0.1) 45%);
  left: 30px;
}
#third_toggle:checked ~ .toggle_option_slider{
    transition-duration: 0.5s;
  background: rgba(0,0,0,.3);
  left: 59px;
}
/* fine radio */

div.footer-black{
    background-color: #262626;
}
div.followus {
    background-color: #000000;
}

ul.social {
    margin: 0;
    padding: 0 0 0 1.5em;
    overflow: hidden;
}

ul.social li {
    float: left;
    display: block;
    font-size: 2em;
    margin: 0 0.2em;
    color: #ADADAD;
}


#box-ricerca input, #box-ricerca select,
.custom-select{
    border-color: #eeeeee;
    height: 2em;
    padding: 0 1em;
    border-radius: 2em;
    color: #333333;
}


/* GRANDE SCHERMO */
@media (min-width: 1290px){
    
.bg_banner{
    min-height: 812px;
}

}


/* GRANDE SCHERMO */
@media (min-width: 1288px){


}

/* GRANDE SCHERMO */
@media (min-width: 1900px){
 

.bg_banner{
    min-height: 1000px;
}   

}


/* GRANDE SCHERMO */
@media (max-width: 1489px){
    
.bg_banner{
    min-height: 812px;
}

}

/* GRANDE SCHERMO */
@media (min-width: 1500px){
    

}


/* GRANDE SCHERMO */
@media (max-width: 1288px){
    

.promo_header{
    position: relative;
    bottom: 0;
    left: 0;
    padding-left: 100px;
    padding-right: 10px;
}

.punti_valore{
    margin-top: 30px;
}   


}

/* MEDIO */
@media (max-width: 1200px){

.image_linea{
    margin-top: -100px;
}
    
}

/* SOLO TABLET */
@media (max-width: 1129px){




}


/* SOLO TABLET */
@media (max-width: 1021px){



}

/* SPAZIO TABLET */
@media (max-width: 992px) {

    .followus > .container > .row{
        text-align: center !important;
    }

    .followus > .container > .row p{
        width: 100%;
        text-align: center;
    }

.dropdown.dropdown-colorselector{
    width: 100%;
}

#box-ricerca input, #box-ricerca select,
.custom-select{
    border-color: #eeeeee;
    height: 3em;
    padding: 0 1em;
    border-radius: 2em;
    color: #333333;
}

#box-ricerca #ricerca-button {
    background: #46c8ca;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.2em;
    border-radius: 2em;
    border: 0;
    height: 100%;
    padding: 0.5em 1em ;
    width: 100%;
}
#box-ricerca #ricerca-libera{
    border-radius: 2em;
    width: 100%;
}

#box-ricerca #ricerca-libera {
    height: 3em;
    padding: 0 1em;
}

.btn-colorselector{
    width: 100%;
    border-radius: 25px;
    margin: 15px 0px;
}
.btn-colorselector::after{
    /*content: 'Color Selection';*/

}
    
h1{
    font-size: 40px;
}
div.collabora {
    background: none;
}

.cta_big{
    font-size: 37px;
    line-height: 45px;
}

.ico_video{
    width: 35%;
}

.spazio_text_video{
    top: 20px;
}

.bg_video{
    -webkit-filter: brightness(68%);
            filter: brightness(68%);
}

.animateButton{
    margin-bottom: 5px !important;
}
.navbar-toggler{
        position: absolute;
    right: 15px;
    top: 18px;
}

.cartIcon{
        margin-right: 30px;
}
}  




/* SOLO MOBILE */
@media (max-width: 768px) {

    .badge.credits {
        right: 15px;
    }

    .prodotto-titolo{
        font-size: 22px !important;
    }
.modal-dialog{
    max-width: none !important;
}
.navbar-toggler{
        position: absolute;
    top: 0;
    margin-top: -70px;
}
#box-ricerca.interna{
    margin-top: 15px;
}
#box-ricerca.interna input{
    margin-bottom: 15px;
}
.text-box{
    font-size: 11px;
}
.cartIcon{
        margin-right: 30px;
}
div.collabora {
    background: none;
}

.spazio_brand_footer{
    text-align: left;
}

.finale{
    padding-bottom: 100px;
}

.img_certificazioni{
    height: auto;
}

.punti_valore{
    margin-top: 0px;
}
.animateButton{
    margin-bottom: 5px !important;
}
.btn-colorselector{
    width: 28px !important;
    display: block !important;
}
.wrapper{
        height: 50px !important;
    margin-top: -50px !important;
}
.navbar-toggler{
        position: absolute;
    right: 15px;
    top: 18px;
}
}

/* SOLO MOBILE */
@media (max-width: 576px) {

.btn_mobile{
    font-size: 16px;
    padding: 13px 19px;
}

.btn_mobile .ico_pulsante{
    font-size: 16px;
}

.logo_header{
    width: 140px;
}

.logo_header{
    width: 44%;
}

.image_linea{
    margin-top: 30px;
}

.bg_banner {
    background: url(../images/banner_header.jpg) no-repeat left top;
}

.title_big{
    font-size:30px;
    line-height: 36px;
}

.promo_header{
    padding-left: 20px;
    bottom: -38px;
}

}

/* SOLO MOBILE */
@media (max-width: 320px) {

.btn_mobile{
    font-size: 15px;
    padding: 13px 15px;
}

.btn_mobile .ico_pulsante{
    font-size: 15px;
}

}

.wrapper{
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0px auto;
}

.blue.credits{
    font-size: 16px;
    font-weight: bold;
}


.form-control:disabled, .form-control[readonly] {
        background-color: #fafafa !important;
        border:  0px !important;
    }

input.error{
    border-color: red !important;
}
  
.pagination a{
    text-decoration: none !important;
    color: #3cc5c7;
}

.pagination>.active>a, .pagination>.active>a:focus, .pagination>.active>a:hover, .pagination>.active>span, .pagination>.active>span:focus, .pagination>.active>span:hover{
    background-color: #46c8c9 !important;
    border-color: #46C8C9 !important;
}

a.text-black{
    color: black !important;
}
a.text-white{
    color: white !important;
}


button.owl-prev{
    left: 14px!important;
    position: absolute!important;
    top: 50%!important;
    background-color: #46c8c9 !important;
    border-radius: 25px!important;
}
button.owl-next{
    right: 14px!important;
    position: absolute!important;
    top: 50%!important;
    background-color: #46c8c9 !important;
    border-radius: 25px!important;
}

.owl-prev span,
.owl-next span{
    background-color: none;
    color:white;
    padding: 15px;
    
}

.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev, .owl-carousel button.owl-dot {
        background: 0 0;
    color: inherit;
    padding: 0px 0px !important;
    font: inherit;
    background-color: #d7f7f8 !important;
    border-radius: 50%;
    height: 46px;
    opacity: .8;
    top: 32% !important;
}

/* ===== BUG-16 — Uniformazione border-radius pulsanti (14/4/2026) ===== */
/* Target: pulsanti "Close" nei modal (.btn-default di Bootstrap) */
/* Obiettivo: stile pillola 40px coerente con .btn-radius del resto del sito */
.btn-default {
    border-radius: 40px !important;
}
/* ===== FINE BUG-16 ===== */

/* ============================================================
   BUG-14b (14/04/2026) — Redesign blocco acquisto scheda prodotto
   Opzione A "Premium Minimal": prezzo inline + CTA pillola teal bianco
   Selettori mirati per non impattare altri usi di .angoli-curvi
   ============================================================ */

/* CTA "Add to Cart" — pillola teal con icona carrello e testo bianco */
#infopoint .openmodaldownload.angoli-curvi {
  background-color: #46c8ca !important;
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  height: 48px !important;
  width: auto !important;
  min-width: 160px !important;
  padding: 0 28px !important;
  border-radius: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  cursor: pointer;
  transition: opacity .2s ease, transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 2px 8px rgba(70, 200, 202, 0.25);
}

#infopoint .openmodaldownload.angoli-curvi:hover {
  opacity: 0.92 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(70, 200, 202, 0.35) !important;
}

#infopoint .openmodaldownload.angoli-curvi::before {
  content: "\f07a"; /* Font Awesome shopping-cart */
  font-family: "Font Awesome 5 Free", "Font Awesome 6 Free", "FontAwesome";
  font-weight: 900;
  font-size: 14px;
  display: inline-block;
}

/* Prezzo — rimozione badge/cerchio, testo inline */
#infopoint .col-md-6.text-right > .angoli-curvi:not(.openmodaldownload) {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 16px 0 0 !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  font-weight: 700 !important;
  font-size: 28px !important;
  color: #1a1a1a !important;
  display: inline-block !important;
  vertical-align: middle !important;
  letter-spacing: -0.5px;
}

/* Variante 5 CTA tutto-in-uno — prezzo dentro il pulsante */
#infopoint .openmodaldownload.angoli-curvi .cta-price {
  font-weight: 700;
  font-size: 15px;
  padding-left: 12px;
  margin-left: 12px;
  border-left: 1px solid rgba(255,255,255,0.45);
  color: #fff;
  line-height: 1;
}


/* ==========================================================
   3DM Dark Theme Override — v1.0 — Apr 2026
   Blocco da aggiungere IN CODA al file /css/style.css
   Risolve: colori testo, sfondi, contrasti, form, card
   ========================================================== */

/* ── CSS Variables (ridefinite qui per sicurezza) ── */
:root {
  --3dm-bg:       #0a0b0d;
  --3dm-bg2:      #0d0f13;
  --3dm-bg-card:  #131518;
  --3dm-bg-card2: #1a1c21;
  --3dm-acc:      #00c8c8;
  --3dm-acc2:     #0099b0;
  --3dm-txt:      #e8eaed;
  --3dm-txt2:     #c5c8ce;
  --3dm-muted:    #8a9099;
  --3dm-border:   rgba(255,255,255,.08);
  --3dm-border2:  rgba(255,255,255,.13);
  --3dm-rcard:    16px;
}

/* ── Base — forza sfondo e testo su tutto il documento ── */
html, body {
  background-color: var(--3dm-bg) !important;
  color: var(--3dm-txt) !important;
}

#content {
  background-color: var(--3dm-bg) !important;
  color: var(--3dm-txt) !important;
}

/* ── Headings ── */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--3dm-txt) !important;
}

/* ── Testi generici ── */
p, span, label, li, td, th,
.finale, .risultatotestuale,
.bold, .txt-small, .link_formati {
  color: var(--3dm-txt2) !important;
}

/* ── Link standard ── */
a {
  color: var(--3dm-acc) !important;
  text-decoration: none !important;
}
a:hover {
  color: #fff !important;
}
a.no-underline,
a.text-white { color: #fff !important; }
a.text-black { color: var(--3dm-txt) !important; }
.link_formati { color: var(--3dm-txt2) !important; }
.link_formati:hover { color: var(--3dm-acc) !important; }

/* ── Navbar Bootstrap (vecchia, usata in alcune pagine) ── */
.navbar {
  background-color: var(--3dm-bg) !important;
  border-bottom: 1px solid var(--3dm-border) !important;
}
a.nav-link {
  color: var(--3dm-txt2) !important;
}
a.nav-link:hover,
.nav-item.active a.nav-link {
  color: var(--3dm-acc) !important;
}
a.nav-link.evidence {
  border-color: var(--3dm-border2) !important;
}

/* ── Container e sezioni ── */
.container-fluid,
div.bg-grey, .bg-grey,
div.bg-blue, .bg-blue,
.bg-darkgrey {
  background-color: var(--3dm-bg2) !important;
  color: var(--3dm-txt) !important;
}

/* ── Card Bootstrap ── */
.card,
.card-header,
.card-body,
.card-footer {
  background-color: var(--3dm-bg-card) !important;
  border-color: var(--3dm-border) !important;
  color: var(--3dm-txt) !important;
}
.card:not(.angoli-curvi):hover {
  background-color: var(--3dm-bg-card2) !important;
  border-color: var(--3dm-acc) !important;
}

/* ── Filtri laterali ── */
.title-filter {
  background: var(--3dm-bg-card) !important;
  border-color: var(--3dm-border) !important;
  color: var(--3dm-txt) !important;
}
.barradiricerca {
  border-bottom: 1px solid var(--3dm-border) !important;
}
.border-bottom {
  border-bottom: 1px solid var(--3dm-border) !important;
}
.list-group-item {
  background-color: var(--3dm-bg-card) !important;
  border-color: var(--3dm-border) !important;
  color: var(--3dm-txt2) !important;
}
.list-group-item:hover,
.list-group-item:focus {
  background-color: var(--3dm-bg-card2) !important;
  color: var(--3dm-txt) !important;
}

/* ── Checkbox e form filtri ── */
.form-check,
.form-check-label {
  color: var(--3dm-txt2) !important;
}
ul.no-list li {
  color: var(--3dm-txt2) !important;
}

/* ── Search box principale ── */
#box-ricerca,
#box-ricerca.interna {
  background: var(--3dm-bg-card) !important;
  border-color: var(--3dm-border) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.4) !important;
}
#box-ricerca input,
#box-ricerca select,
#box-ricerca.interna input,
#box-ricerca.interna select,
#ricerca-pagine input,
#ricerca-pagine select {
  background-color: var(--3dm-bg2) !important;
  border-color: var(--3dm-border2) !important;
  color: var(--3dm-txt) !important;
}
#box-ricerca input:focus,
#box-ricerca select:focus {
  border-color: var(--3dm-acc) !important;
  box-shadow: 0 0 0 2px rgba(0,200,200,.15) !important;
  outline: none !important;
}
#box-ricerca #ricerca-tipologie,
#ricerca-pagine #ricerca-tipologie {
  background-color: var(--3dm-bg2) !important;
  color: var(--3dm-txt2) !important;
}
#box-ricerca #ricerca-button,
#ricerca-pagine #ricerca-button {
  background: var(--3dm-acc) !important;
  color: #fff !important;
}
#box-ricerca #ricerca-button:hover,
#ricerca-pagine #ricerca-button:hover {
  background: var(--3dm-acc2) !important;
}

/* ── Form controls generici ── */
.form-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
select,
textarea {
  background-color: var(--3dm-bg-card) !important;
  border-color: var(--3dm-border2) !important;
  color: var(--3dm-txt) !important;
}
.form-control:focus {
  background-color: var(--3dm-bg-card2) !important;
  border-color: var(--3dm-acc) !important;
  color: var(--3dm-txt) !important;
  box-shadow: 0 0 0 2px rgba(0,200,200,.15) !important;
}
.form-control:disabled,
.form-control[readonly] {
  background-color: var(--3dm-bg2) !important;
  color: var(--3dm-muted) !important;
  border-color: var(--3dm-border) !important;
}
.form-control::placeholder,
input::placeholder { color: var(--3dm-muted) !important; }

/* ── Select dropdown ── */
select option {
  background-color: var(--3dm-bg-card) !important;
  color: var(--3dm-txt) !important;
}

/* ── Dropdown menu Bootstrap ── */
.dropdown-menu {
  background-color: var(--3dm-bg-card2) !important;
  border-color: var(--3dm-border) !important;
}
.dropdown-item {
  color: var(--3dm-txt2) !important;
}
.dropdown-item:hover,
.dropdown-item:focus {
  background-color: var(--3dm-bg2) !important;
  color: var(--3dm-txt) !important;
}
.dropdown-colorselector>.dropdown-menu {
  background-color: var(--3dm-bg-card2) !important;
  border-color: var(--3dm-border) !important;
}

/* ── Badge e crediti ── */
.crediti,
.crediti-home .badge-crediti {
  background: var(--3dm-bg-card2) !important;
  color: var(--3dm-txt) !important;
  border: 1px solid var(--3dm-border) !important;
}
.badge.credits {
  background-color: var(--3dm-bg-card2) !important;
  color: var(--3dm-txt) !important;
  border: 1px solid var(--3dm-border) !important;
}

/* ── Badge prezzo card ── */
.blue.credits {
  color: var(--3dm-acc) !important;
}

/* ── Card prodotto — prezzo e formati ── */
p.card-nome-prodotto {
  color: var(--3dm-txt) !important;
}
p.card-nome-prodotto svg {
  color: var(--3dm-acc) !important;
}

/* ── Loading bar ── */
#loading {
  background-color: var(--3dm-bg) !important;
}

/* ── Box formato (scheda prodotto) ── */
.box-formato {
  border-color: var(--3dm-border) !important;
  background: var(--3dm-bg-card) !important;
  color: var(--3dm-txt2) !important;
}
.box-formato:hover {
  border-color: var(--3dm-acc) !important;
  background: var(--3dm-bg-card2) !important;
}
.box-formato.attivo {
  border-color: var(--3dm-acc) !important;
  background: rgba(0,200,200,.08) !important;
}

/* ── Scheda prodotto — prezzo e CTA ── */
#infopoint .col-md-6.text-right > .angoli-curvi:not(.openmodaldownload) {
  color: var(--3dm-txt) !important;
  background: transparent !important;
}

/* ── Separatori e sfondi sezioni ── */
hr.separatore { background: var(--3dm-border) !important; }
.bg-icon { background: var(--3dm-bg-card2) !important; }
p.back { background: rgba(0,200,200,.12) !important; }
p.back a { color: var(--3dm-acc) !important; }

/* ── Menu profilo e piani ── */
.menu-profilo li a { color: var(--3dm-txt2) !important; }
.menu-profilo li a:hover { color: var(--3dm-acc) !important; }
#pianiContainer a.nav-link,
#account-profileContainer a.nav-link { color: var(--3dm-txt2) !important; }
#pianiContainer a.nav-link.active,
#account-profileContainer a.nav-link.active { color: var(--3dm-acc) !important; }

/* ── Paginazione ── */
.pagination a { color: var(--3dm-acc) !important; }
.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover {
  background-color: var(--3dm-acc) !important;
  border-color: var(--3dm-acc) !important;
  color: #fff !important;
}
.page-item .page-link {
  background-color: var(--3dm-bg-card) !important;
  border-color: var(--3dm-border) !important;
  color: var(--3dm-txt2) !important;
}
.page-item .page-link:hover {
  background-color: var(--3dm-bg-card2) !important;
  color: var(--3dm-acc) !important;
}

/* ── Tabelle ── */
.table { color: var(--3dm-txt2) !important; }
.table th, .table td { border-color: var(--3dm-border) !important; }
.table-striped th { background-color: var(--3dm-acc) !important; color: #fff !important; }
.table-striped tbody tr:nth-of-type(odd) { background-color: var(--3dm-bg-card) !important; }
.table-striped tbody tr:nth-of-type(even) { background-color: var(--3dm-bg2) !important; }

/* ── Modal ── */
.modal-content {
  background-color: var(--3dm-bg-card2) !important;
  border-color: var(--3dm-border) !important;
  color: var(--3dm-txt) !important;
}
.modal-header {
  border-bottom-color: var(--3dm-border) !important;
  color: var(--3dm-txt) !important;
}
.modal-footer {
  border-top-color: var(--3dm-border) !important;
}
.modal-title { color: var(--3dm-txt) !important; }
.close, button.close { color: var(--3dm-muted) !important; }
.close:hover { color: var(--3dm-txt) !important; }

/* ── Alert ── */
.alert-success { background: rgba(0,200,200,.12) !important; border-color: var(--3dm-acc) !important; color: var(--3dm-txt) !important; }
.alert-danger  { background: rgba(220,50,50,.12) !important; border-color: rgba(220,50,50,.4) !important; color: #f87171 !important; }
.alert-warning { background: rgba(245,158,11,.12) !important; border-color: rgba(245,158,11,.4) !important; color: #fbbf24 !important; }
.alert-info    { background: rgba(0,200,200,.08) !important; border-color: var(--3dm-border) !important; color: var(--3dm-txt2) !important; }

/* ── Testo risultati ricerca ── */
.risultatotestuale { color: var(--3dm-txt2) !important; font-size: 15px !important; }

/* ── Hero banner (immagine di sfondo pagina listing) ── */
.container-fluid[style*="background"] {
  position: relative;
}
.container-fluid[style*="background"]::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,11,13,.45) 0%, rgba(10,11,13,.75) 100%);
  pointer-events: none;
}

/* ── Titoli sezione listing (Devices, Tablewares…) ── */
.h3, h3 { color: var(--3dm-txt2) !important; letter-spacing: .06em; }

/* ── "All products in…" pill button ── */
a.btn-radius,
a.full,
.animateButton {
  border-color: var(--3dm-border2) !important;
  color: var(--3dm-txt) !important;
}
a.full {
  background-color: var(--3dm-acc) !important;
  border-color: var(--3dm-acc) !important;
  color: #fff !important;
}
.animateButton:hover {
  background-color: var(--3dm-acc) !important;
  color: #fff !important;
}

/* ── elenco / crediti sezione ── */
div.elenco p.bg-elenco {
  background: rgba(0,200,200,.12) !important;
}
div.elenco p.bg-elenco svg { color: var(--3dm-acc) !important; }

/* ── Scrollbar personalizzata ── */
::-webkit-scrollbar { width: 6px; background: var(--3dm-bg); }
::-webkit-scrollbar-thumb { background: var(--3dm-bg-card2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: var(--3dm-muted); }

/* == FINE Dark Override == */


/* ═══════════════════════════════════════════════════════════
   PRODUCT CARD — P3DM NEW DESIGN (homepage v9 aligned)
   17 apr 2026
   ═══════════════════════════════════════════════════════════ */

/* Card wrapper */
.p3dm-card {
  background: #0d0f13 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  transition: transform .3s ease, box-shadow .3s ease !important;
  position: relative;
}
.p3dm-card:hover {
  background: #0d0f13 !important;
  transform: translateY(-6px) !important;
  box-shadow: 0 24px 60px rgba(0,0,0,.5), 0 0 0 1px rgba(0,200,200,.15) !important;
}

/* Image — square crop */
a.p3dm-img-wrap {
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #111;
}
a.p3dm-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 2%;
  transition: transform .35s ease;
}
.p3dm-card:hover a.p3dm-img-wrap img {
  transform: scale(1.05);
}

/* Card body */
.p3dm-body {
  padding: 13px 15px 15px;
}

/* Brand tag */
.p3dm-brand-tag {
  margin-bottom: 5px;
}
.p3dm-brand-tag,
.p3dm-brand-tag a {
  font-size: 9.5px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  color: #00dede !important;
  text-decoration: none !important;
}

/* Product name */
a.p3dm-name {
  display: block;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  color: #eef0f2 !important;
  line-height: 1.25;
  margin-bottom: 4px;
  text-decoration: none !important;
}
a.p3dm-name:hover {
  color: #ffffff !important;
}

/* Designer */
.p3dm-designer {
  font-size: 11px !important;
  color: #b8c8d2 !important;
  margin-bottom: 0;
}

/* Footer: price + actions */
.p3dm-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-top: 12px;
}

/* Price */
.p3dm-price {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  color: #fff !important;
  line-height: 1;
}
.p3dm-price sup {
  font-size: 13px !important;
  vertical-align: super;
  color: #c0d0d8 !important;
  font-weight: 400 !important;
}
.p3dm-free {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 20px !important;
  color: #00dede !important;
}

/* Action icons */
.p3dm-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.p3dm-heart,
.p3dm-download {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px;
  border-radius: 50% !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
  color: #9daab4 !important;
  flex-shrink: 0;
}
.p3dm-heart:hover,
.p3dm-heart.active {
  background: rgba(0,200,200,.12) !important;
  border-color: rgba(0,200,200,.3) !important;
  color: #00dede !important;
}
.p3dm-download:hover {
  background: rgba(0,200,200,.1) !important;
  border-color: rgba(0,200,200,.3) !important;
  color: #00dede !important;
}

/* NURBS badge — pill */
span.p3dm-badge {
  position: absolute !important;
  top: 10px !important;
  left: 10px !important;
  z-index: 3;
  padding: 3px 12px;
  border-radius: 100px;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: .1em;
  text-transform: uppercase;
  background: linear-gradient(135deg, #00c8c8, #0099b0) !important;
  color: #fff !important;
  pointer-events: none;
  line-height: 1.6;
}

/* === P3DM CARD v2 — img wrapper corrected (no class on anchor) === */
.p3dm-card > a:first-of-type {
  display: block !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #111;
}
.p3dm-card > a:first-of-type img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  padding: 0 !important;
  transition: transform .35s ease;
}
.p3dm-card:hover > a:first-of-type img {
  transform: scale(1.05);
}

/* ================================================
   TASK B — p3dm action buttons v2 (17 apr 2026)
   ================================================ */
.p3dm-actions { display:flex; gap:8px; align-items:center; }

.p3dm-heart,
.p3dm-download {
  width:34px!important; height:34px!important;
  border-radius:50%!important;
  display:flex!important; align-items:center!important; justify-content:center!important;
  cursor:pointer!important;
  transition:background .2s,transform .15s,border-color .2s,color .2s!important;
  border:1px solid rgba(255,255,255,0.18)!important;
  background:rgba(255,255,255,0.06)!important;
  color:rgba(200,215,225,0.65)!important;
  flex-shrink:0!important;
}
.p3dm-heart:hover { background:rgba(0,200,200,0.15)!important; border-color:rgba(0,200,200,0.5)!important; color:#00c8c8!important; transform:scale(1.08)!important; }
.p3dm-download:hover { background:rgba(0,153,176,0.18)!important; border-color:rgba(0,153,176,0.6)!important; color:#0099b0!important; transform:scale(1.08)!important; }
.p3dm-heart.active { background:rgba(0,200,200,0.15)!important; border-color:rgba(0,200,200,0.45)!important; color:#00c8c8!important; }
.p3dm-heart.active svg path { fill:#00c8c8!important; }

/* ================================================
   TASK C — Filter sidebar restyling (17 apr 2026)
   ================================================ */
.filter-bar {
  background:#0c0e11!important;
  border-right:1px solid rgba(255,255,255,0.06)!important;
}
.filter-bar .panel-heading {
  font-family:'Roboto',sans-serif!important;
  font-size:10px!important; font-weight:700!important;
  letter-spacing:.12em!important; text-transform:uppercase!important;
  color:#6a7b86!important;
  border-bottom:1px solid rgba(255,255,255,0.07)!important;
  padding:14px 0 10px!important; margin-bottom:2px!important;
  display:block!important; text-decoration:none!important;
}
.filter-bar .panel-heading:hover { color:#9daab4!important; text-decoration:none!important; }
.filter-bar ul.no-list { margin:0!important; padding:0!important; list-style:none!important; }
.filter-bar ul.no-list li { padding:2px 0!important; }
.filter-bar .form-check {
  padding-left:0!important; display:flex!important;
  align-items:center!important; gap:8px!important; cursor:pointer!important;
}
.filter-bar .form-check-input {
  -webkit-appearance:none!important; appearance:none!important;
  width:13px!important; height:13px!important;
  border:1px solid rgba(255,255,255,0.22)!important;
  border-radius:3px!important; background:transparent!important;
  cursor:pointer!important; flex-shrink:0!important;
  margin:0!important; position:relative!important;
  transition:border-color .15s,background .15s!important;
}
.filter-bar .form-check-input:checked {
  background:#00c8c8!important; border-color:#00c8c8!important;
}
.filter-bar .form-check-label {
  font-family:'Roboto',sans-serif!important;
  font-size:12px!important; color:#a8bac4!important;
  cursor:pointer!important; transition:color .15s!important;
  line-height:1.4!important; margin-bottom:0!important;
}
.filter-bar .form-check:hover .form-check-label { color:#e0ecf2!important; }
.filter-bar .form-check-input:checked + .form-check-label { color:#00c8c8!important; }

/* Sezioni lunghe scrollabili */
#BrandFiltro, #DesinerFiltro {
  max-height:200px!important; overflow-y:auto!important;
  scrollbar-width:thin!important;
  scrollbar-color:rgba(0,200,200,0.25) transparent!important;
}
#BrandFiltro::-webkit-scrollbar, #DesinerFiltro::-webkit-scrollbar { width:3px!important; }
#BrandFiltro::-webkit-scrollbar-thumb, #DesinerFiltro::-webkit-scrollbar-thumb {
  background:rgba(0,200,200,0.3)!important; border-radius:2px!important;
}

/* Nascondi sezioni filtro vuote */
#ColoreFiltri, #DimensioniFiltri { display:none!important; }
.filter-bar .row:has(a[href="#ColoreFiltri"]),
.filter-bar .row:has(a[href="#DimensioniFiltri"]) { display:none!important; }

/* Freccia collapse */
.filter-bar a.panel-heading::after {
  content:"›"; float:right; font-size:15px; line-height:1;
  transform:rotate(90deg); display:inline-block; transition:transform .2s;
  color:#4a5a63;
}
.filter-bar a.panel-heading.collapsed::after { transform:rotate(0deg); }

/* === FIX freccia collapse sidebar (override ::after precedente) === */
.filter-bar a.panel-heading::after { content:none!important; display:none!important; }
.filter-bar a.panel-heading::before { content:none!important; display:none!important; }

/* Freccia corretta con aria-expanded */
.filter-bar a.panel-heading {
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
}
.filter-bar a.panel-heading .chevron-icon { display:none!important; }

/* Aggiungo freccia SVG via background-image su pseudo elemento */
.filter-bar a.panel-heading[aria-expanded="true"]::after {
  content:"▲"!important; display:inline-block!important;
  font-size:8px!important; color:#4a5a63!important; margin-left:auto!important;
  transition:transform .2s!important; line-height:1!important;
}
.filter-bar a.panel-heading[aria-expanded="false"]::after {
  content:"▼"!important; display:inline-block!important;
  font-size:8px!important; color:#4a5a63!important; margin-left:auto!important;
  transition:transform .2s!important; line-height:1!important;
}

/* === FIX freccia sidebar — override Font Awesome .titolo::before === */
.filter-bar .titolo::before,
.filter-bar .titolo:before {
  content: none !important;
  display: none !important;
  font-family: none !important;
}
.filter-bar a.panel-heading[aria-expanded="true"]::after {
  content: "▲" !important; display: inline-block !important;
  font-size: 7px !important; color: #4a5a63 !important;
  font-family: sans-serif !important; line-height: 1 !important;
}
.filter-bar a.panel-heading[aria-expanded="false"]::after {
  content: "▼" !important; display: inline-block !important;
  font-size: 7px !important; color: #4a5a63 !important;
  font-family: sans-serif !important; line-height: 1 !important;
}

/* === FIX nome prodotto — line-clamp invece di truncate PHP === */
.p3dm-name {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  white-space: normal !important;
  min-height: 2.6em;
}

/* ============================================================
   P1 — SIDEBAR STICKY (Nielsen H3/H7)
   ============================================================ */
#filterPage.filter-bar {
  position: sticky !important;
  top: 80px !important;
  max-height: calc(100vh - 80px) !important;
  overflow-y: auto !important;
  align-self: flex-start !important;
  /* scrollbar sottile */
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.12) transparent;
}
#filterPage.filter-bar::-webkit-scrollbar { width: 4px; }
#filterPage.filter-bar::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.12);
  border-radius: 2px;
}

/* ============================================================
   P3 — PRICE TYPOGRAPHY FIX (Nielsen H8)
   ============================================================ */
.p3dm-price {
  display: flex !important;
  align-items: baseline !important;
  gap: 1px !important;
}
.p3dm-price sup {
  font-size: 10px !important;
  line-height: 1 !important;
  vertical-align: baseline !important;
  position: relative !important;
  top: -3px !important;
  color: rgba(200,215,225,0.6) !important;
}
.p3dm-price .p3dm-free {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #00c8c8 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
}


/* ============================================================
   P2 — CLEAR ALL FILTERS BUTTON (Nielsen H3)
   ============================================================ */
.p3dm-clear-wrap {
  padding: 8px 0 12px !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  margin-bottom: 4px !important;
}
.p3dm-clear-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(0,200,200,0.8) !important;
  text-decoration: none !important;
  border: 1px solid rgba(0,200,200,0.3) !important;
  border-radius: 20px !important;
  padding: 4px 10px !important;
  transition: all .2s !important;
  background: rgba(0,200,200,0.06) !important;
}
.p3dm-clear-btn:hover {
  color: #00c8c8 !important;
  background: rgba(0,200,200,0.15) !important;
  border-color: rgba(0,200,200,0.6) !important;
}


/* ============================================================
   FORMAT BADGES ON CARD (Nielsen H6)
   ============================================================ */
.p3dm-formats {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 3px !important;
  padding: 5px 14px 10px !important;
  border-top: 1px solid rgba(255,255,255,0.05) !important;
  margin-top: 2px !important;
}
.p3dm-fmt-badge {
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  color: rgba(0,200,200,0.65) !important;
  border: 1px solid rgba(0,200,200,0.18) !important;
  border-radius: 3px !important;
  padding: 1px 4px !important;
  background: rgba(0,200,200,0.04) !important;
  line-height: 1.4 !important;
}