 /*-------- TESTO SFUMATO ----------------- 
 background: linear-gradient(270deg, #5dd05d 0%, #4ad3e8 100%);-webkit-background-clip: text;-webkit-text-fill-color: transparent;background-clip: text;text-fill-color: transparent;
 ----------------------------------------*/

/* === RESET & BASE === */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Helvetica Neue', sans-serif;
  line-height: 1.6;
  color: #333;
  background-color: #fff;
  overflow-x:hidden;
  font-weight: 300;
  letter-spacing:0.2px;
}

a {
  color: #000;
  text-decoration: none;
}

a:hover {
  text-decoration:none;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "Inter", sans-serif;
  font-weight:300;
  margin-bottom: 0.3em;
}
h1{font-family: "Prata", serif;font-weight: 200;letter-spacing:8px;text-transform:uppercase;font-size: 2.6rem;line-height: 50px;color:#000;font-size: 35px;}
h2{font-family: "Nunito", sans-serif;position: relative;margin-bottom:25px;font-weight:400;font-size:20px;line-height: 1.2;color:#6b6b6b;}
p{margin-bottom: 1em;}
#nero { display: none; }
#bianco { display: block; }
img {
  max-width: 100%;
  height: auto;
  display: block;
}

input, select, textarea{border: 1px solid rgb(198, 198, 198);border-radius: 0.25rem;line-height: 48px;text-indent:15px;font-family: 'Helvetica Neue', sans-serif;color: rgb(118 118 118);font-weight:300;}
select{height:50px;}
center{margin:auto;}
.top-bar-fixed{position:fixed;top:0;left:0;width:100%;background:white;z-index:999;}

/* === GRID SYSTEM === */
.container {
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
  max-width: 1480px;
}

.full-screen{padding:0 !important;max-width:100% !important;background: black;}
.full-screen .testo{padding:80px 0 90px;max-width:400px;margin:auto;}
.full-screen .testo p{color:#bbb;}
.full-screen .testo h1{color:white;font-size:5.5rem;text-transform:uppercase;font-weight:normal;margin:40px 0 60px;line-height: 5.2rem;}
.full-screen [class^="col-"] {padding: 0;}


.elenco{text-align:center;margin-top:80px;margin-bottom:80px;}
.elenco h1{margin-bottom:0.1rem;}
.elenco h3{text-transform:uppercase;font-weight:300;letter-spacing:1px;margin-top:20px;font-size:1.2em;margin-bottom:0;}
.elenco p{font-weight: 400;letter-spacing: 1.5px;font-size: 0.9rem;}
.elenco .btn{display:inline-block;}
.elenco .box {
  opacity: 1;
  transform: scale(1);
  transition: opacity 0.5s ease, transform 0.5s ease, max-height 0.5s ease;
  visibility: visible;
  overflow: hidden;
}

.elenco .box.hide {
  opacity: 0;
  transform: scale(0.95);
  visibility: hidden;
  pointer-events: none;
  max-height: 0;
}

.elenco li[rel="4"], .elenco li[rel="3"]{display: none;}

.img-wrapper {
  position: relative;
  width: 100%;
  height: 450px; /* o qualunque altezza fissa/responsiva tu voglia */
  overflow: hidden;
}

.img-wrapper img {
  position: absolute;
  top: 0;
  left: 50%;
  height: 100%;
  width: auto;
  transform: translateX(-50%);
  max-width:none;
}


.row {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
}

.col {
  flex: 1;
  padding: 0 15px;
  min-width: 0;
}

/* Column sizes */
[class*="col-"] {
  padding: 0 15px;
}

.d-flex {
  display: flex;
}

.justify-center {
  justify-content: center;
}

.align-center{align-items: center;}
.align-left{text-align: left;}
.align-right{text-align: left;}

.gap-05 {
  gap: 0.5rem;
}

.material-symbols-outlined {
  font-size: 1.5rem;
}

[class^="col-"] {
  padding: 0 15px;
  box-sizing: border-box;
}
.col-1 { flex: 0 0 8.3333%; max-width: 8.3333%; }
.col-2 { flex: 0 0 16.6667%; max-width: 16.6667%; }
.col-3 { flex: 0 0 25%; max-width: 25%; }
.col-4 { flex: 0 0 33.3333%; max-width: 33.3333%; }
.col-5 { flex: 0 0 41.6667%; max-width: 41.6667%; }
.col-6 { flex: 0 0 50%; max-width: 50%; }
.col-7 { flex: 0 0 58.3333%; max-width: 58.3333%; }
.col-8 { flex: 0 0 66.6667%; max-width: 66.6667%; }
.col-9 { flex: 0 0 75%; max-width: 75%; }
.col-10 { flex: 0 0 83.3333%; max-width: 83.3333%; }
.col-11 { flex: 0 0 91.6667%; max-width: 91.6667%; }
.col-12 { flex: 0 0 100%; max-width: 100%; }

/* === BUTTONS === */
.btn, .btn:focus{border: none;border-radius: 20px;padding: 6px 22px 6px !important;color: #fff !important;background: linear-gradient(270deg, #999999 0%, #656565 100%);transition: background 0.3s ease, transform 0.2s ease;}
.btn:hover {background: linear-gradient(270deg, #5dd05d 0%, #4ad3e8 100%);}
.btn i{font-size: 19px;margin-right: 10px;padding-bottom: 4px;}
.btn-secondary {
  background-color: #6c757d;
}

.btn-secondary:hover {
  background-color: #565e64;
}

/* === NAVBAR === */
.navbar {display: flex;align-items: center;justify-content: space-between;background-color:transparent;position: relative;margin-bottom:35px;}
.logo {
  font-weight: bold;
  font-size: 1.2rem;
  display: inline-block;
}

.logo img{width:110px;padding-top:10px;}

/* MENU LINK ORIZZONTALE */
.nav-links{list-style:none;display:flex;justify-content:center;gap:20px;align-items:center;margin:30px 0 0 auto;height:40px;width:fit-content;}

.nav-links li {
  position: relative;
}

/* stato iniziale submenu (chiuso) */
.nav-links .sub-menu {
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 9999;
  width: 260px; /* cambia se vuoi più o meno largo, o usa min-width */
  max-height: 0;           /* animiamo max-height */
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-8px); /* leggero offset iniziale */
  transform-origin: top left;
  transition:
    max-height 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.22s ease,
    visibility 0s linear 0.38s; /* visibility si sincronizza alla fine */
  background: #fff; /* adattalo al tuo tema */
}

/* elementi interna del submenu — evita che il padding faccia uscire area */
.nav-links .sub-menu li {
  display: block;
  padding: 0;
}

/* link dentro submenu */
.nav-links .sub-menu a {
  display: block;
  padding: 10px 0;
  white-space: nowrap;
}

.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor: pointer;transition:transform 0.4s cubic-bezier(0.77, 0.2, 0.05, 1.0)}
.hamburger span{display:block;width:25px;height:1px;background:#000;border-radius:2px; transition:transform 0.4s cubic-bezier(0.77, 0.2, 0.05, 1.0),opacity 0.3s ease,background-color 0.3s ease;}
.hamburger.active span:nth-child(1){transform: rotate(45deg) translateY(8px);}
.hamburger.active span:nth-child(2) {opacity: 0;}
.hamburger.active span:nth-child(3) {transform: rotate(-45deg) translateY(-8px);}

/* === CARD === */
.card {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.card-title {
  font-size: 1.25rem;
  margin-bottom: 0.5em;
}

.card-text {
  color: #555;
}

.icone-top .material-symbols-outlined{font-size:28px;border-radius: .4rem;padding: .5rem .75rem;background: #000000b5;backdrop-filter: blur(5px);}
.login a, .cart a{color:#fff;}
.carousel-home{position:relative;}
.carousel-home .carousel-dots{margin-top:-30px;z-index:99;position:relative;}
.carousel-home .carousel-dots button{margin-top: -30px;}
.carousel{margin-top: -25px;}
.carousel-wrapper{width:100%;position:relative;margin:auto;}

/* --- CAROUSEL --- */
.carousel {
  overflow: hidden; /* nasconde immagini extra */
  width: 100%;
  position: relative;
}

/* TRACK */
.carousel-track {
  display: flex;
  transition: transform 0.6s ease-in-out;
}

/* ITEMS */
.carousel .item {
  flex: 0 0 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* FRECCE */
.carousel-btn {
  display: none; /* puoi impostare block se vuoi mostrarle */
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(0,0,0,0.5);
  border: none;
  color: white;
  font-size: 30px;
  cursor: pointer;
  padding: 8px 12px;
  border-radius: 50%;
  z-index: 20; /* sopra le immagini */
}
.carousel-btn.prev { left: 10px; }
.carousel-btn.next { right: 10px; }

/* PALLINI FUORI DAL CAROUSEL */
.carousel-dots {
  text-align: center;
  margin-top: 10px;
}
.carousel-dots button {
  border: none;
  width: 12px;
  height: 12px;
  margin: 5px;
  border-radius: 50%;
  background: #bbb;
  cursor: pointer;
}
.carousel-dots button.active {
  background: #333;
}

.vertical-up{opacity:0;transform: translateX(-50px);transition: all 0.8s ease; /* durata e fluidità */}

/* Quando la slide diventa attiva */
.item.active .vertical-up{
  opacity: 1;
  transform: translateX(0);
}

.slide-home .carousel-caption{display:none !important;position:absolute;right:0;transition:opacity 0.8s ease;background: linear-gradient(270deg, #5dd05d 0%, #4ad3e8 100%);top:0; bottom:0;width:35%;margin-top:-40px;margin-bottom: -40px;z-index:999;display:flex;flex-direction:column;justify-content: center;align-items: flex-start;height: 100%;box-sizing: border-box;pointer-events: auto;padding: 0 3rem;}
.slide-home .carousel-caption a{display: block;}
.slide-home .carousel-caption img{width:300px;}
.slide-home .carousel-dots{margin-top:0;}
.slide-home .carousel-dots button{position: relative;margin-top: -30px;z-index:99;}
.slide-home-fade .carousel-track {position: relative;overflow: hidden;}
.slide-home-fade .item{opacity: 0;transition: opacity 0.8s ease;}
.slide-home-fade .item.active {opacity: 1;z-index: 2;}
.slide-home-fade img{width:100%;height:auto;display:block;}
.vertical-up{position:relative;width:300px;height:300px;}
.vertical-up h1{font-weight:900;color:#fff;bottom:15%;width: 400px;font-size: 60px;line-height:70px;position:absolute;top:50%;left:50%;transform: translate(-50%, -50%) rotate(-90deg);transform-origin:center center;margin:0;text-align:center;}


.accordion {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #ccc;
}

.accordion li {
  border-bottom: 1px solid #ccc;
  overflow: hidden;
}

.accordionButton {  
  _float: none;  /* Float works in all browsers but IE6 */
  cursor: pointer;
  padding:15px 0;
  border-bottom: 1px solid #ebebeb;
  width:100%;
  color:#000000;
  font-size: 13px;
  font-weight:400;
}
.accordionButton i{font-style:normal; font-size:25px; float:right;}
.accordionContent { 
  width: 100%;
  _float: none; /* Float works in all browsers but IE6 */
  margin: 8px 0 13px 0;
   line-height:22px;
  letter-spacing: 0.5px;
  }
.accordionContent .btn{margin-top:0;}   

.header {
  padding: 15px;
  cursor: pointer;
  position: relative;
  font-weight: bold;
}

.header::after {
  content: "+";
  position: absolute;
  right: 20px;
  opacity: 0;
  transition: opacity 0.3s;
}

.header:hover::after {
  opacity: 1;
}

.content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, opacity 0.4s ease;
  opacity: 0;
  padding: 0 15px;
}

li.active .content {
  max-height: 500px; /* abbastanza alto da contenere tutto */
  opacity: 1;
  padding: 15px;
}

li.active .header::after {
  content: "-";
  opacity: 1;
}






/* === UTILITY CLASSES === */
.dettaglio{padding:80px 0 50px;}
.dettaglio .contacts label{text-align:left;}
.descrizione ul{}
.container.collezione{padding-bottom:70px;}
.collezione .col-3 {padding-bottom: 30px;overflow: hidden;}
.collezione .col-3 img {
  width: 100%;              /* sempre larga quanto col-3 */
  height: 250px;            /* scegli l’altezza che vuoi */
  object-fit: cover;        /* CROPPING automatico */
  object-position: center;  /* centrata */
  display: block;
}
.autore{text-align:center;padding:80px 0 80px;}
.autore .row{display:flex;align-items: stretch;}
.autore .col-2{display:flex;align-items: flex-end;justify-content: center;}
.autore .col-2 img {max-width: 100%;height: auto;display: block;background:#eee;padding:20px 10px 0;border-radius:10px;}
.autore .testo{padding:0 8rem;}
.autore a{color: white;font-size:0.8rem;}
.box-due{background-color: #f8f8f8;}
.box-due .row{display:flex;align-items: stretch;}
.box-due.box-0 .testo{padding:90px 120px 110px 110px;}
.box-due.box-1 .testo{padding:90px 150px 90px 100px;}
.box-due.box-2 .testo{padding:90px 150px 90px 100px;}
.box-due.box-2 video, .box-due.box-4 video{display:block;}
.box-due .col-4{display:flex;justify-content:center;align-items:center;}
.box-due img{max-width:100%;height:auto;display:block;}
.box-due p{line-height: 27px;color: #969696;}
.box-due.box-1, .box-due.box-3{background-color: #fff;}
.box-due.box-3 .col-6{padding-left:0;}
.box-due.box-3 .testo{padding:100px 100px 100px 150px;}
.box-due.box-3 img{width:70%;padding:0 30px 0 30px;}
.box-due.box-4 .testo{padding:100px 100px 100px 100px}
.box-due ul {list-style:none;padding:0;margin: 0;}
.box-due ul li {position: relative;padding-left: 30px;margin-bottom: 8px;}
.box-due ul li::before {content: "";position: absolute;left: 0;top: 50%;transform: translateY(-50%);width: var(--bullet-size, 12px);   /* puoi cambiare il diametro qui */height: var(--bullet-size, 12px);border-radius: 50%;background: linear-gradient(270deg, #5dd05d 0%, #4ad3e8 100%);}
.box-due .video-det{width:100%;}
.d-flex {display: flex;}
.align-center {align-items: center;gap: 8px; /* Spazio tra l'icona e il testo */}
.text-center { text-align: center; }
.mt-1 { margin-top: 1rem; }
.mb-1 { margin-bottom: 1rem; }
.pt-1 { padding-top: 1rem; }
.pb-1 { padding-bottom: 1rem; }
.hidden { display: none !important;}
.assistenza, .login, .preferiti, .cart{display:inline-block;margin-left:20px;}
.cambio-lingua{display:inline-flex;}
.cambio-lingua dropdown label, dropdown ul li{width: 43px;text-align:center;display: block;}
.cambio-lingua .animate a{margin-left:70px;}
.elementi-home{padding:50px 0;}
.stacco{height:400px;text-align:right;color:white;background-image: url(../foto_normal/articoli/dark-bg.jpg);background-attachment: scroll;background-repeat: no-repeat;background-size: cover;background-position: center;}
.stacco .contenuti{text-align:left;margin-left: auto;padding-top:115px;}
.stacco img{width:105px;padding-top:130px;}
.stacco h1{margin-bottom:20px;letter-spacing:1px;}
.stacco .btn{color:white;margin:0;display: block;width: fit-content;}
.stacco .btn:after, .stacco .btn:before, .stacco .btn span:after, .stacco .btn span:before{border-color:white;}
.stacco .btn span:hover{border: solid 1px #fff;}
.stacco .col-6 img {display: block;margin-left: auto;margin-right: 50%;margin-top: -10px;}
.interne{margin-top:-100px;display: flex;align-items: center;height:550px;}
.interne h1{margin:150px auto 0;font-size:3rem;text-align: center;line-height: 4rem;}
.dettaglio h3{position: relative;}
.pre-heading {margin-bottom: 0;--preheading-colour: #f2d953;border-radius: .125rem;font-size: 1rem;font-weight: 300;line-height: 1;padding-left: .625rem;position: relative;}
.pre-heading:before {--tw-translate-y: -50%;background-color:#dddddd;border-radius: .125rem;content: "";height: .813rem;left: 0;position: absolute;top:0;transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));width: .125rem;}
.dettaglio h1{margin-top:0.6rem;}
.dettaglio li{list-style:none;display:inline;}
.dettaglio .btn{margin:0;}
.foto{margin:0 0 40px;width:95%;}
.foto-sin{float:left;margin:0 40px 0 0;width:40%;}
.foto-des{float:right;margin:0 0 0 80px;width:30%;}
.social i {text-align: center;color:#adadad;font-size:12px;margin-right:13px;}
.social.seguici-su{text-align:left;margin-left:-20px;margin-top:0;}
.prezzo{font-size:33px;}
.section-top{margin-top: 100px;margin-bottom:100px;}
.nascosto{display:none;}
.tab_content a{color:black;}
#tab1{display:block !important;}
.tabs li:nth-child(3), .tabs li:nth-child(4) {display: none;}
.tab_container{margin-top:40px;}
.news1 h3{color: #000000;font-size: 16px;margin-bottom: 15px;font-family: "Prata", serif;padding-bottom: 10px;border-bottom: solid 1px #dedede;}
.news1 .post{padding:0;border: solid 0 #015197;border-radius: 10px;line-height: 30px;}
.newsletter{margin: 60px auto 70px;text-align:center;font-size: 0.9rem;}
.newsletter h2{font-size: 1.2rem;letter-spacing: 3px;margin-bottom:10px;}
.newsletter p {margin-bottom: 2.5em;}
.newsletter label{margin-top:1em;display:inline-block;}
.newsletter .btn{display:inline-block;}
.dettaglio .ultime-news{display:none;}
.team-home{padding-top:70px;background: #fff;text-align: center;background: url("../images/erbetta.jpg") center center / cover no-repeat; /* <-- sostituisci col tuo percorso immagine */}
.team-home h2{margin-bottom: 0;}
.team-home .row{display:flex;flex-wrap:wrap;justify-content:center;gap: 20px;}
.team-home article a{display: inline-block;}
.team-home .col-2 { flex: 0 0 18.6667%; max-width: 18.6667%; }
.card_main{display:flex;justify-content:center;align-items:center;height:120px;width: 100%;}
.client{display:flex;justify-content:center;align-items:center;height:100%;width:100%;overflow:hidden;}
.client img {max-height:60%;max-width: 100%;object-fit: contain;}

.servizi-icone{padding:90px 0 30px;}
.servizi-icone [class^="col-"]{margin-bottom:30px;}
.servizi-icone span{float:left;border-radius: 50%;background: #f5f5f5;text-align:center;width: 80px;height: 80px;line-height:80px;margin-right:25px;margin-bottom:70px;font-size:40px;font-variation-settings:'FILL' 0,'wght' 200,'GRAD' 0,'opsz' 24}
.servizi-icone h2{margin-bottom:10px;}
.servizi-icone i{color:#ffd804;font-size:75px;}
.servizi-icone p{color:#878787;}

.col-2:nth-child(4) .client img {max-height:80%;}
.newsletter-section h2{font-size: 1.4rem;margin-bottom: 30px;}
.newsletter-section p {
  font-size: 1rem;
  color: #ccc;
  margin-bottom: 25px;
  line-height: 1.5;
}

.newsletter-form {
  width: 100%;
}

.newsletter-input-wrap{padding:10px;width:400px;display:flex;align-items:center;border:1px solid #dddddd;border-radius:3px;overflow:hidden;margin-top:10px;}
.newsletter-input-wrap input[type="text"]{flex:1;background:none;border:none;color:#fff;}

.newsletter-input::placeholder {
  color: #aaa;
}

.newsletter-input:focus {
  outline: none;
}

.newsletter-btn {
  background: none;
  border: none;
  padding: 0 15px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}

.newsletter-btn:hover {
  transform: scale(1.1);
}
.newsletter-btn span{font-size:28px;color:#adadad;}
.newsletter-options{margin: 15px -5px 0 0;font-size: 0.75rem;}
.newsletter-options input{margin:0 6px;}
.newsletter-info{font-size:0.7rem;text-decoration:underline;}
.newsletter-info:hover {
  text-decoration: none;
}
footer{padding:60px 0 50px;font-size:0.9rem;line-height:2rem;background:#f9f9f9;}
footer img{width: 220px;margin-bottom: 30px;}
footer i{color: #adadad;width: 10px;text-align:center;margin-right: 15px;}
footer a{color: #242223;}
footer .dati a{line-height: 1.4rem;margin-bottom:9px;display: block;}
footer h2{font-size: 1.0rem;}
footer h4{font-family: "Nunito", sans-serif;position: relative;margin-bottom:25px;font-size:20px;line-height: 1.2;letter-spacing: 1px;color:#000;}
footer .dati .fa{display:none;}
footer li{list-style:none;}
footer .social a{color:white;font-size: 1.8rem;margin-right: 5px;}
footer .pagamenti{margin-top:30px;}
footer .pagamenti img{filter: brightness(2.2);margin-left: -10px;margin-top: -15px;}
.footer .colonne{justify-content: center;display: flex !important;align-items:normal;}
.footer-menu .accordionContent{width: 225px;text-transform:initial;padding-left: 10px;}
.footer-menu .accordionContent a{line-height: 30px;font-size: 13px;}
.privacy-footer ul ul li:first-of-type {display: none;}
.cookie-btn i{border: solid 0 #ffffff;display: block;margin-bottom: 17px;width: 40px;height: 40px;color: #fff;-webkit-transition: 1s;-moz-transition: 1s;-o-transition: 1s;transition: 1s;font-size: 20px;line-height: 40px;text-align:center;background: rgb(0 0 0 / 80%);border-radius: 50%;position: fixed;left: 20px;bottom: 33px;overflow: hidden;z-index: 99;}
.selezione select, .selezione input{height:50px;width: 80px;font-weight: 400;text-indent: 0;text-align: center;border: 1px solid rgb(198, 198, 198);}
.bottom-bar {display:none;}
.exestudios{text-align:center;color:#929292;padding:10px 0;background-color:#f3f3f3;font-size: 12px; border-top: solid 0px #1e1e1e;}   
/*- sistemare -*/
*, *:before, *:after {box-sizing: border-box;}
.lighter-text{color: #333333;float:left;}

.main-color-text {
  color: #000000;
  float:right;
}
.badge {position:absolute;
font-size: 12px;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
width:22px;height:22px;line-height:22px;text-align:center;padding:0;background-color: #444;
}

.shopping-cart .shopping-cart-items button i {
    color: #ff0000;
    font-size: 18px;
    margin-top: 15px;
    border: 0;
    padding: 0;
    height: auto;
    width: auto;
}

.shopping-cart {
  float: right;
  background: #ffffff;
  width: 240px;
  position: relative;
  border-radius: 3px;
  padding:0 10px;
  border:solid 1px #dfdfdf;
  right: 144px;
}
.shopping-cart .shopping-cart-header {
padding:10px 0;
  border-bottom: 1px solid #9e9e9e;
  border-top: 1px solid #9e9e9e;
  display:inline-block;
      width: 100%;
}
.shopping-cart .shopping-cart-header .shopping-cart-total {
  text-align: center;
}
.shopping-cart .shopping-cart-items {font-size: 14px;
  padding-top:5px;
  max-height:350px;
  overflow: hidden;   
  overflow-y: scroll;
  text-align: left;
}
.shopping-cart .shopping-cart-items li {
  margin:10px 0;
  line-height: 18px;
}
.shopping-cart .shopping-cart-items img {
  padding:0 0 30px;
  float: left;
  margin-right: 10px;
  width:60px;
}
.shopping-cart .shopping-cart-items .item-name {color: #000;
  display: block;
  padding-top: 0px;
}
.shopping-cart .shopping-cart-items .item-price {
  color: #000000;
}
.shopping-cart .shopping-cart-items .item-quantity {
  color: #333333;
}
.shopping-cart-total span{font-size:17px;color:#000000;}

.clearfix:after {
  content: "";
  display: table;
  clear: both;
}
.carrello{position:absolute;z-index: 1000;margin-top:2px;}
.carrello button{float:right;vertical-align:middle;border:0;background:#ffffff;}
.shopping-cart .btn{color:black;margin:15px 0 15px;}
/*- sistemare -*/


.badge {position:absolute;margin-left:5px;
font-size: 12px;
-webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -o-border-radius: 50%;
    -ms-border-radius: 50%;
width:22px;height:22px;line-height:22px;text-align:center;padding:0;background-color: #444;
}



.elenco .ordine p{letter-spacing:0;}

.tabella .prodotto {font-size: 14px;text-align:left;}
.tabella td{border: 1px solid #dfdfdf;}
.tabella th{font-family: "Jost", sans-serif;font-weight: 500;}
.tabella input{width:50px;}
.tabella button{border:0;background:transparent;}
.tabella i{font-size:17px;}

.coupon .btn{display:inline-block;}

.accedi{border-right: 1px solid #dfdfdf;}
.accedi .btn{display:inline-block;}
.accedi .btn input{border:0;background:transparent;line-height:1;text-transform:uppercase;text-indent:0;}

.spedizione{margin:50px 0 0;text-align:left;}
.spedizione h2{margin-bottom:10px;}
.spedizione label{margin:5px 0;display:block;}
.spedizione input[type="text"], .spedizione select{width:100%;}
.conferma .btn{margin:auto;}

.pagamento h2{margin-bottom:20px;}

.registrati [class^="col-"]{margin-bottom:10px;padding: 0 5px;}
.registrati{padding:0 3%;}
.registrati .btn{display:inline-block;}
.registrati select, .registrati input[type="text"], .registrati input[type="password"]{width:100%;}

.login input[type="text"], .login input[type="password"]{border-top-left-radius:0;border-bottom-left-radius:0;width:100%;}
.login .btn{margin:auto;width:100%;}

.recupera{margin:60px 0 80px;}
.recupera .grid{margin:0}

.responsive{font-size:13px;}

.area{margin:60px auto 60px;}
.area .btn{font-size:12px;}
.area .btn span{padding:12px 20px;}
.area .logout span{padding: 15px 25px;}
.area .btn span span{display:inline-block;border:0;padding:0;}


.contatti select, .contatti input[type="text"], .contatti input[type="password"], .contatti textarea{width:100%;margin:5px 0;}
.contatti .btn{display:inline-block;}

.dati input[type="text"], .dati input[type="password"], .dati select{width:100%;margin:5px 0;}

.page-margin{margin:60px auto 60px;}

.prodotti .btn{margin:auto;}

@media (min-width:981px) {
.assistenza, .cambio-lingua, .social-top{display:none;}
.login, .cart, .logo{position: absolute;z-index: 99;}
.text-center {margin-top:-15px;}
.cart{margin-left:100px;}
.login{margin-left:40px;}
.messaggio{display:none;}
}


/* === RESPONSIVE === */
@media (max-width:380px) {
.slide-home .carousel-caption {width:100%;}
.vertical-up{width:100%;height:auto;text-align:center;}
.vertical-up h1{transform: translate(0, -50%) rotate(0deg);width:370px;bottom:auto;}
.mobile .carousel-caption {top: auto;height:140px;bottom:0;margin-top:30px;}
.mobile .servizi-icone .col-4{flex: 0 0 100% !important;max-width:100% !important;}
}

@media (min-width:381px) and (max-width:600px){
.mobile .servizi-icone .col-4{flex: 0 0 50% !important;max-width: 50% !important;}
.vertical-up{width:200px;height:200px;}
.vertical-up h1{width: 330px;height:105px;font-size:35px;line-height:40px;}
}

@media (min-width:381px) and (max-width:768px){
.mobile .collezione .col-3 {flex: 0 0 50% !important;max-width:50% !important;}
}


@media (max-width:600px) {
.row{margin:0;}
[class^="col-"]{flex: 0 0 100% !important;max-width: 100% !important;}
.elenco [class^="col-"]{padding:0;}
.stacco{height:auto;padding-bottom:80px;}
.stacco .contenuti{text-align: center;}
.stacco .btn {margin: 30px auto 0;}
.full-screen .testo h1{font-size: 4.2rem;margin-bottom: 40px;}
.btn{width:fit-content;min-width:auto;margin: 0 5px;}
.btn span{padding: 12px 12px;}
.elenco{margin-top:50px;margin-bottom:50px;}
  .descrizione {
    display: flex;
    flex-direction: column; /* tutti in colonna */
  }

  .descrizione img {
    padding-top:40px;
    float: none;           /* rimuove il float */
    order: 10;             /* la foto va in fondo */
    margin: 20px 0 0 0;
    width: 100%;           /* opzionale */
    height: auto;
  }
.descrizione h1, .descrizione h2, .descrizione p, .descrizione ul{order: 1;}
.mobile .descrizione .social{order: 11;padding-bottom:0;}
.mobile .dettaglio{padding: 70px 0 50px;}
.mobile .stacco{background-position: left;}
.mobile .autore{padding-top:60px;padding-bottom:60px !important;}
.newsletter input[type="text"]{width: 190px;}
.mobile .tab_container{margin-top:50px;}
.mobile .box-due .container{padding-bottom:40px !important;}
.mobile .box-due.box-3 .margin-mobile{padding: 0;margin: 0;}
.mobile .box-due.box-0 .col-4, .box-due.box-2 .col-4, .box-due.box-4 .col-4 {order: 2; /* va sotto */}
.mobile .box-due.box-0 .row .col-8, .box-due.box-2 .col-8, .box-due.box-4 .col-8 {order: 1; /* va sopra */}
.mobile .box-due .testo{padding: 60px 0 10px;}
.mobile .team-home .col-2{padding:0;flex: 0 0 33% !important; max-width: 33% !important;}
.mobile .team-home h2{margin-bottom: 30px;}
.mobile .card_main{min-height:90px !important;}
.mobile .team-home [class^="col-"] {padding:0;}
.mobile .col-2:nth-child(1) .client img{max-height:90% !important; max-width: 100% !important;}
.mobile .col-2:nth-child(2) .client img{max-height:100% !important;}
.mobile .col-2:nth-child(3) .client img{max-height:90% !important;}
.mobile .col-2:nth-child(4) .client img{max-height:80% !important;}
.mobile .col-2:nth-child(5) .client img{max-height:100% !important;}
.mobile .container.servizi-icone{padding: 40px 20px;}
.mobile .newsletter-input-wrap{width:100%;}
}

@media (min-width:601px) and (max-width:768px){
.mobile .container {max-width:620px;}
.vertical-up{width:200px;height:200px;}
.vertical-up h1{width: 330px;height: 60px;font-size:35px;line-height:40px;}
.mobile .team-home{padding-top:40px;margin-bottom:40px;}
.mobile .footer{padding:40px 0;}
.mobile .newsletter-input-wrap{width: 100%;}
.mobile .team-home .col-2{padding:0;flex: 0 0 25%;max-width: 25%;}
}


@media (min-width:601px) and (max-width:980px){
.contenuti{flex: 0 0 70%;}
.mobile .box-due.box-3 img{width: 100%;padding: 0;}
.mobile .team-home article .card_main{min-height:80px;}
.mobile .newsletter-input-wrap{width:100%;}
footer .col-4.newsletter-section ul{width:300px; margin:auto;}
footer .col-3 { flex: 0 0 50%; max-width: 50%; }
}


@media (max-width: 768px) {
.carousel{overflow:hidden;}
.carousel-track{display:flex;transition:transform 0.3s ease;}
.carousel-track .item{flex: 0 0 100%;max-width:100%;box-sizing: border-box;}
.carousel-track img{width:100%;height:auto;display:block;object-fit:contain;}
.mobile .slide-home .item{position: relative;overflow: hidden;}
.mobile .slide-home .item img{width: auto;height:400px;object-fit:cover;object-position:center;margin-top:90px}
.mobile .col-2:nth-child(1) .client img{max-height:70%;}
.mobile .col-2:nth-child(2) .client img{max-height:60%;}
.mobile .col-2:nth-child(3) .client img{max-height:60%;}
.mobile .col-2:nth-child(4) .client img{max-height:80%;}
.mobile .col-2:nth-child(5) .client img{max-height:70%;}
}

@media (min-width:769px) and (max-width:980px){
.mobile .container {max-width:760px;}
.mobile .vertical-up{width:200px;height:200px;}
.mobile .vertical-up h1{width: 400px;height: 60px;font-size: 44px;line-height: 55px;}
.mobile .team-home{padding-top:40px;}
.mobile .collezione .col-3 {flex: 0 0 33.33333% !important;max-width:33.33333% !important;}
}

@media (max-width:980px) {
h1{font-size:1.9rem;}
h2{font-size: 1.1rem;}
.container {padding: 0 20px;}
[class^="col-"] {padding: 0 20px;}
.assistenza, .cambio-lingua, .social-top{display:none;}
.login, .cart, .logo{position: absolute;top:20px;z-index: 99;}
.text-center {margin-top:-15px;}
.logo{position:absolute;margin-left:10px;top:20px;z-index: 99;}
.logo img{width:90px;padding-top: 5px;}
.cart{margin-left: -120px;margin-top: -5px;}
.login{margin-left:-180px;margin-top: -5px;}
.messaggio{display:none;}
.stacco img{margin:auto;width: 80px;}
.full-screen .testo{padding: 20px 40px 60px;max-width: fit-content;margin:auto;}
.mobile .top-bar-fixed {height:90px;}
.logo img{width:auto;height: 75px;padding-top: 0px;margin-top: -10px;}
.navbar{padding:0;}
.navbar .container{flex-wrap:wrap;position:relative;padding:0;}
.nav-links{align-items: normal;}
.hamburger{display:flex;position: absolute;top:45px;right:30px;z-index: 999;  transform: translateY(-8px); /* leggero offset iniziale */
  transform-origin: top left;

  transition:
    max-height 0.38s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.32s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.22s ease,
    visibility 0s linear 0.38s; /* visibility si sincronizza alla fine */}
.nav-links{flex-direction:column;width:100%;background:#fff;margin-top:60px; /* spazio per hamburger */padding:10px 20px;height:auto; transform: translateY(-20px);
  transition: transform 0.4s ease, opacity 0.4s ease;opacity: 0;
  overflow: hidden;display:none;}
.nav-links li:has(.sub-menu) > a {position: relative;padding-right: 30px;}
.nav-links li:has(.sub-menu) > a .arrow {position: absolute;right: 10px;top: 50%;width: 8px;height: 8px;border-right: 2px solid #333;border-bottom: 2px solid #333;transform: translateY(-50%) rotate(45deg);transition: transform 0.3s ease;}
.nav-links li.open > a .arrow {transform: translateY(-50%) rotate(-135deg);}
.nav-links .sub-menu {position:relative;max-height: 0;overflow: hidden;opacity: 0;visibility: hidden;transition: all 0.4s ease;}
.nav-links .sub-menu.show{margin-top: 8px;max-height: 600px; /* aumenta se hai molte voci */opacity: 1;visibility: visible;padding: 8px 0;}
.nav-links.show{display: flex;margin: 0;padding:130px 20px 30px;border-radius: 0;  transform: translateY(0);opacity: 1;}
.mobile .team-home .col-2 { flex: 0 0 30.6667%; max-width: 30.6667%;}
.mobile .box-due h1 {margin-bottom: 10px;font-size: 20px;line-height: 32px;letter-spacing: 4px;}
.mobile .servizi-icone{padding:40px 0;}
.mobile .servizi-icone span{float:none;margin-bottom:20px;}
footer {padding:30px 0 30px;}
footer h2{margin:40px 0 20px;}
footer .col-4{flex: 0 0 60%; max-width: 60%;}
footer .col-4.footer-menu{flex: 0 0 40%; max-width:40%;}
footer .col-4.newsletter-section{flex: 0 0 100%; max-width: 100%;}
#bianco{display:block !important;}
#nero{display:none !important;}
.mobile .slide-home-fade .item {padding-bottom:60px;}
.mobile .autore{padding-bottom:40px}
.mobile .autore .testo{padding:0;}
.mobile .autore .col-8{order:1;width:100%;flex: 0 0 100%;max-width: 100%;padding-bottom:40px}
.mobile .autore .col-2{order:2;width:50%;flex: 0 0 50% !important;max-width:50% !important;}
.mobile .autore .col-2 img{max-width:80%;}
.mobile .box-due{padding:40px 0;}
.mobile .box-due .testo{padding:30px 0;}
}

@media (min-width:981px){
.messaggio{margin-bottom:-40px;}
.header-top{margin-top:160px;}
  .nav-links li:hover > .sub-menu,
  .nav-links li:focus-within > .sub-menu,
  .nav-links li.hover > .sub-menu { /* .hover usata dal JS fallback */
    max-height: 600px; /* abbastanza grande per contenuti; usa valore alto */
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition-delay: 0s;
  }

  /* evita che l'anchor principale copra il submenu: assicurati che sia sopra */
  .nav-links > li > a {
    position: relative;
    z-index: 2;
  }

  /* permette di muovere il mouse dentro il submenu senza perdere hover */
  .nav-links .sub-menu {
    pointer-events: auto;
  }
}

@media (min-width:981px) and (max-width:1120px){
.mobile .container {max-width:950px;}
.mobile .box-due .testo{padding:70px 35px 100px 35px;}
.mobile .box-due.box-3 img{width: 100%;padding: 0;}
}

@media (min-width:1121px) and (max-width:1280px){
.mobile .container {max-width:1024px;}
.mobile .autore .testo{padding:0 2rem;}
.mobile .box-due .testo{padding:70px 35px 100px 35px;}
}

@media (min-width:1281px) and (max-width:1400px){
.mobile .container {max-width:1100px;}
}

@media (min-width:1401px) and (max-width:1540px){
.mobile .container {max-width:1280px;}
}
