@font-face {
  font-family: 'GreatVibes';
  src: url('fonts/GreatVibes.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

/* RESET */

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:'Segoe UI', sans-serif;
  background:#f5e6d8;
  color:#3b1f1a;
  overflow-x:hidden;
}

/* NAVBAR */

.navbar{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  padding:14px 50px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:rgba(59,31,26,0.85);
  backdrop-filter:blur(8px);
  z-index:1000;
}

.nav-brand{
  display:flex;
  align-items:center;
  gap:12px;
  color:#e7c6a5;
}

.nav-img{
  width:70px;
  height:70px;
  border-radius:50%;
  object-fit:cover;
  display:block;
  box-shadow:0 0 14px rgba(0,0,0,0.35);
}

.nav-title{
  display:flex;
  flex-direction:column;
  line-height:1.1;
}

.nav-title span{
  font-family:'GreatVibes', 'Playfair Display', serif;
  font-size:2rem;
  color:#e7c6a5;
  font-weight:normal;
}

.nav-title small{
  font-family:'Playfair Display', serif;
  font-size:0.75rem;
  color:#d6b08c;
  font-weight:600;
}

.nav-links{
  display:flex;
  align-items:center;
}

.nav-links a{
  color:#f5e6d8;
  text-decoration:none;
  margin-left:25px;
  font-weight:500;
}

.nav-links a:hover{
  color:#d6b08c;
}

/* HERO */

.hero{
  min-height:100vh;
  background:
  linear-gradient(rgba(35,20,15,0.75), rgba(35,20,15,0.75)),
  url('img/hero.jpg') center/cover no-repeat;

  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  position:relative;
  text-align:center;
  padding:150px 20px 60px 20px;
}

.titolo-sito{
  font-family:'GreatVibes', 'Playfair Display', serif;
  color:#e7c6a5;
  text-shadow:0 0 20px rgba(0,0,0,0.5);
  margin-bottom:45px;
  text-align:center;
  line-height:1.1;
}

.titolo-principale{
  display:block;
  font-family:'GreatVibes', 'Playfair Display', serif;
  font-size:10rem;
  font-weight:normal;
  letter-spacing:2px;
}

.titolo-secondario{
  display:block;
  font-family:'Playfair Display', serif;
  font-size:2.2rem;
  font-weight:600;
  letter-spacing:1px;
  margin-top:12px;
  color:#d6b08c;
}

.logo{
  width:180px;
  height:180px;
  max-width:90%;
  margin-bottom:30px;
  border-radius:50%;
  object-fit:cover;
  display:block;
  box-shadow:0 0 40px rgba(0,0,0,0.35);
}

.hero p{
  color:#f5e6d8;
  font-size:1.2rem;
  margin-bottom:25px;
  max-width:600px;
  line-height:1.6;
}

/* BOTTONI */

.buttons{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  justify-content:center;
}

.btn{
  padding:12px 24px;
  border-radius:50px;
  text-decoration:none;
  font-weight:bold;
  transition:0.3s;
  font-size:1rem;
  display:inline-block;
  line-height:1.2;
}

.instagram{
  background:#d6b08c;
  color:#3b1f1a;
}

.whatsapp{
  background:#3b1f1a;
  color:#f5e6d8;
  border:1px solid #d6b08c;
}

.btn:hover{
  transform:translateY(-3px);
  opacity:0.9;
}

/* BOTTONI SOCIAL PREMIUM */

.buttons{
  flex-wrap:wrap;
}

.buttons .btn.instagram,
.buttons .btn.tiktok,
.buttons .btn.facebook,
.buttons .btn.whatsapp{
  background:transparent;
  color:#f5e6d8;
  border:1px solid #d6b08c;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:160px;
  font-weight:600;
  backdrop-filter:blur(4px);
}

.buttons .btn.instagram:hover,
.buttons .btn.tiktok:hover,
.buttons .btn.facebook:hover,
.buttons .btn.whatsapp:hover{
  background:#d6b08c;
  color:#3b1f1a;
}

/* MINI BIO HOME */

.mini-bio{
  padding:85px 40px;
  background:#fff7ef;
}

.mini-bio-container{
  max-width:1150px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 0.8fr;
  gap:60px;
  align-items:center;
}

.mini-bio-box{
  max-width:650px;
  text-align:left;
}

.mini-bio h2{
  font-family:'Playfair Display', serif;
  font-size:2.8rem;
  color:#7a4b3a;
  margin-bottom:20px;
  line-height:1.15;
}

.mini-bio p{
  font-size:1.08rem;
  line-height:1.8;
  color:#4a2a22;
  margin-bottom:28px;
}

.mini-bio-btn{
  background:#3b1f1a;
  color:#f5e6d8;
  border:1px solid #d6b08c;
}

.mini-bio-foto{
  display:flex;
  justify-content:center;
  align-items:center;
}

.mini-bio-foto img{
  width:340px;
  height:430px;
  max-width:100%;
  object-fit:cover;
  border-radius:28px;
  box-shadow:0 15px 35px rgba(0,0,0,0.18);
}

/* PAGINA BIO */

.pagina-bio{
  background:#f5e6d8;
  color:#3b1f1a;
}

.bio-hero{
  min-height:70vh;
  padding:120px 40px 80px 40px;
  background:
    linear-gradient(rgba(59,31,26,0.82), rgba(59,31,26,0.82)),
    url('img/hero.jpg') center/cover no-repeat;
  display:grid;
  grid-template-columns:1fr 0.8fr;
  gap:60px;
  align-items:center;
}

.bio-testo{
  max-width:650px;
}

.bio-testo h1{
  font-family:'GreatVibes', serif;
  font-size:4rem;
  color:#e7c6a5;
  margin-bottom:20px;
}

.bio-testo p{
  font-size:1.2rem;
  line-height:1.8;
  color:#f5e6d8;
}

.bio-foto-box{
  display:flex;
  justify-content:center;
}

.bio-foto-placeholder{
  width:330px;
  height:430px;
  border-radius:30px;
  background:
    url('img/bio2.webp') center/cover no-repeat;
  box-shadow:0 18px 40px rgba(0,0,0,0.25);
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#f5e6d8;
  font-family:'Playfair Display', serif;
  font-size:1.5rem;
  padding:25px;
}

.bio-contenuto{
  max-width:1300px;
  margin:0 auto;
  padding:90px 35px;
  line-height:1.8;
}

.bio-layout{
  display:grid;
  grid-template-columns:220px 1fr 220px;
  gap:45px;
  align-items:start;
}

.bio-testo-centrale{
  max-width:720px;
  margin:0 auto;
}

.bio-testo-centrale h2{
  font-family:'Playfair Display', serif;
  font-size:2.5rem;
  color:#7a4b3a;
  margin-top:35px;
  margin-bottom:18px;
}

.bio-testo-centrale h2:first-child{
  margin-top:0;
}

.bio-testo-centrale p{
  font-size:1.08rem;
  margin-bottom:18px;
  color:#4a2a22;
}

.bio-gallery{
  display:flex;
  flex-direction:column;
  gap:25px;
  position:sticky;
  top:120px;
}

.bio-gallery img{
  width:100%;
  height:260px;
  object-fit:cover;
  border-radius:24px;
  box-shadow:0 12px 28px rgba(0,0,0,0.16);
}

/* PRODOTTI */

.prodotti{
  padding:100px 40px;
  text-align:center;
}

.prodotti h2{
  font-family:'Playfair Display', serif;
  font-size:3rem;
  margin-bottom:60px;
  color:#7a4b3a;
}

.disclaimer-prodotti{
  max-width:800px;
  margin:-35px auto 50px auto;
  font-size:1rem;
  line-height:1.6;
  color:#5b3a30;
  background:#fff7ef;
  border-left:4px solid #d6b08c;
  padding:18px 22px;
  border-radius:12px;
}

#contenitore-prodotti{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,360px));
  gap:40px;
  max-width:1300px;
  margin:auto;
  justify-content:center;
}

/* CARD PRODOTTI */

.card{
  width:100%;
  max-width:360px;
  background:white;
  border-radius:25px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,0.1);
  transition:0.4s;
  text-align:center;
}

.card:hover{
  transform:translateY(-10px);
}

.card img{
  width:100%;
  height:420px;
  object-fit:cover;
  cursor:pointer;
  transition:0.3s;
}

.card img:hover{
  transform:scale(1.03);
}

.card-content{
  padding:22px 22px 28px 22px;
}

.tag-prodotto{
  display:inline-block;
  background:#f5e6d8;
  color:#7a4b3a;
  padding:6px 14px;
  border-radius:30px;
  font-size:0.85rem;
  font-weight:bold;
  margin-bottom:15px;
}

.card h3{
  font-size:1.5rem;
  margin-bottom:12px;
  color:#3b1f1a;
}

.descrizione{
  color:#666;
  margin-bottom:22px;
  line-height:1.5;
}

.card .whatsapp{
  background:#3b1f1a;
  color:#f5e6d8;
  border:1px solid #d6b08c;
  padding:11px 22px;
  font-size:0.95rem;
  margin-top:8px;
}

/* PULSANTI CARD PRODOTTO */

.card-actions{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin-top:18px;
  flex-wrap:wrap;
}

.dettagli-btn,
.contatta-btn{
  width:auto;
  min-width:130px;
  padding:11px 16px;
  font-size:0.92rem;
  text-align:center;
}

.dettagli-btn{
  background:#3b1f1a;
  color:#f5e6d8;
  border:1px solid #d6b08c;
  cursor:pointer;
}

.contatta-btn{
  background:#25d366;
  color:white;
  border:1px solid #25d366;
}

.contatta-btn:hover{
  background:#1ebe5d;
  color:white;
}

/* LIGHTBOX GALLERIA */

.lightbox{
  display:none;
  position:fixed;
  z-index:9999;
  inset:0;
  background:rgba(0,0,0,0.92);
  justify-content:center;
  align-items:center;
  padding:30px;
}

.lightbox-content{
  max-width:82%;
  max-height:82%;
  border-radius:18px;
  object-fit:contain;
  box-shadow:0 15px 40px rgba(0,0,0,0.45);
}

.close{
  position:absolute;
  top:22px;
  right:35px;
  color:white;
  font-size:42px;
  cursor:pointer;
  z-index:10001;
}

.lightbox-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:52px;
  height:52px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,0.35);
  background:rgba(59,31,26,0.75);
  color:#f5e6d8;
  font-size:1.4rem;
  cursor:pointer;
  display:flex;
  justify-content:center;
  align-items:center;
  transition:0.3s;
  z-index:10000;
}

.lightbox-arrow:hover{
  background:#d6b08c;
  color:#3b1f1a;
}

.lightbox-prev{
  left:35px;
}

.lightbox-next{
  right:35px;
}

.lightbox-counter{
  position:absolute;
  bottom:25px;
  left:50%;
  transform:translateX(-50%);
  background:rgba(59,31,26,0.85);
  color:#f5e6d8;
  padding:8px 18px;
  border-radius:30px;
  font-size:0.95rem;
  font-weight:bold;
}

/* WHATSAPP FISSO */

.whatsapp-fisso{
  position:fixed;
  bottom:25px;
  right:25px;
  width:60px;
  height:60px;
  background:#25D366;
  color:white;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  text-decoration:none;
  box-shadow:0 8px 25px rgba(0,0,0,0.25);
  z-index:1000;
  transition:0.3s;
}

.whatsapp-fisso:hover{
  transform:scale(1.08);
}

/* FOOTER */

footer{
  background:#5a261a;
  color:#f5e6d8;
  text-align:center;
  padding:70px 20px 35px 20px;
  margin-top:0;
}

.footer-logo-box{
  display:flex;
  justify-content:center;
  align-items:center;
  margin-bottom:22px;
}

.footer-logo{
  width:260px;
  max-width:80%;
  height:auto;
  display:block;
  object-fit:contain;
  border-radius:18px;
  box-shadow:0 6px 18px rgba(0,0,0,0.22);
}

.footer-info{
  max-width:700px;
  margin:0 auto 20px auto;
  line-height:1.7;
  font-size:0.98rem;
  opacity:0.9;
}

.footer-links{
  margin:18px 0 15px 0;
}

.footer-links a{
  color:#d6b08c;
  text-decoration:none;
  margin:0 10px;
  font-size:0.95rem;
  display:inline-block;
}

.footer-links a:hover{
  text-decoration:underline;
}

.copyright{
  font-size:0.9rem;
  opacity:0.75;
  margin-top:10px;
}

/* SOCIAL FOOTER */

.footer-social{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
  margin:22px 0;
}

.footer-social a{
  width:42px;
  height:42px;
  border-radius:50%;
  background:#3b1f1a;
  color:#f5e6d8;
  display:flex;
  justify-content:center;
  align-items:center;
  text-decoration:none;
  font-size:1.2rem;
  border:1px solid #d6b08c;
  transition:0.3s;
}

.footer-social a:hover{
  background:#d6b08c;
  color:#3b1f1a;
}

/* PAGINE LEGALI */

.pagina-legale{
  max-width:900px;
  margin:0 auto;
  padding:80px 25px;
  color:#3b1f1a;
  line-height:1.8;
}

.pagina-legale h1{
  font-family:'Playfair Display', serif;
  font-size:3rem;
  color:#7a4b3a;
  margin-bottom:30px;
}

.pagina-legale h2{
  font-family:'Playfair Display', serif;
  font-size:1.8rem;
  color:#7a4b3a;
  margin-top:35px;
  margin-bottom:12px;
}

.pagina-legale p{
  font-size:1.05rem;
  margin-bottom:15px;
}

.ultimo-aggiornamento{
  margin-top:35px;
  font-style:italic;
  opacity:0.8;
}

/* PERCHE SCEGLIERE */

.vantaggi{
  padding:100px 40px;
  background:#f5e6d8;
  text-align:center;
}

.vantaggi h2{
  font-family:'Playfair Display', serif;
  font-size:3rem;
  color:#7a4b3a;
  margin-bottom:60px;
}

.vantaggi-container{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:30px;
}

.vantaggio-card{
  background:#fff7ef;
  padding:35px 25px;
  border-radius:25px;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
  transition:0.3s;
}

.vantaggio-card:hover{
  transform:translateY(-8px);
}

.vantaggio-card i{
  font-size:2.2rem;
  color:#b76e3c;
  margin-bottom:20px;
}

.vantaggio-card h3{
  font-size:1.35rem;
  color:#3b1f1a;
  margin-bottom:15px;
}

.vantaggio-card p{
  color:#5b3a30;
  line-height:1.6;
  font-size:0.98rem;
}


/* COME ACQUISTARE */

.come-acquistare{
  padding:100px 40px;
  background:#fff7ef;
}

.come-container{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:0.9fr 1.1fr;
  gap:60px;
  align-items:center;
}

.come-testo h2{
  font-family:'Playfair Display', serif;
  font-size:3rem;
  color:#7a4b3a;
  margin-bottom:25px;
}

.come-testo p{
  font-size:1.08rem;
  line-height:1.8;
  color:#4a2a22;
}

.step-container{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:25px;
}

.step-card{
  background:white;
  padding:28px 24px;
  border-radius:22px;
  box-shadow:0 10px 25px rgba(0,0,0,0.08);
  transition:0.3s;
}

.step-card:hover{
  transform:translateY(-6px);
}

.step-card span{
  display:inline-block;
  font-family:'Playfair Display', serif;
  font-size:2rem;
  color:#d6b08c;
  margin-bottom:12px;
  font-weight:700;
}

.step-card h3{
  font-size:1.25rem;
  color:#3b1f1a;
  margin-bottom:10px;
}

.step-card p{
  color:#5b3a30;
  line-height:1.6;
  font-size:0.96rem;
}


/* FAQ */

.faq{
  padding:100px 40px;
  background:#f5e6d8;
}

.faq h2{
  font-family:'Playfair Display', serif;
  font-size:3rem;
  color:#7a4b3a;
  text-align:center;
  margin-bottom:55px;
}

.faq-container{
  max-width:900px;
  margin:0 auto;
}

.faq-item{
  background:#fff7ef;
  padding:28px 30px;
  border-radius:20px;
  margin-bottom:20px;
  box-shadow:0 8px 20px rgba(0,0,0,0.06);
  border-left:4px solid #d6b08c;
}

.faq-item h3{
  font-size:1.25rem;
  color:#3b1f1a;
  margin-bottom:12px;
}

.faq-item p{
  color:#5b3a30;
  line-height:1.7;
  font-size:1rem;
}

/* FAQ A TENDINA */

.faq-item{
  cursor:pointer;
  transition:0.3s;
}

.faq-item h3{
  position:relative;
  padding-right:35px;
}

.faq-item h3::after{
  content:"+";
  position:absolute;
  right:0;
  top:0;
  font-size:1.6rem;
  color:#b76e3c;
  transition:0.3s;
}

.faq-item.active h3::after{
  content:"−";
}

.faq-item p{
  max-height:0;
  overflow:hidden;
  opacity:0;
  margin-bottom:0;
  transition:0.4s ease;
}

.faq-item.active p{
  max-height:300px;
  opacity:1;
  margin-top:12px;
}

/* CONSULENZA */

.consulenza{
  padding:90px 40px;
  background:
    linear-gradient(rgba(59,31,26,0.82), rgba(59,31,26,0.82)),
    url('img/hero.jpg') center/cover no-repeat;
  text-align:center;
  color:#f5e6d8;
}

.consulenza-box{
  max-width:850px;
  margin:0 auto;
}

.consulenza h2{
  font-family:'Playfair Display', serif;
  font-size:3rem;
  color:#e7c6a5;
  margin-bottom:22px;
}

.consulenza p{
  font-size:1.1rem;
  line-height:1.8;
  max-width:700px;
  margin:0 auto 30px auto;
}

.consulenza-btn{
  background:#d6b08c;
  color:#3b1f1a;
  border:none;
}

.consulenza-btn:hover{
  background:#e7c6a5;
}

/* CURA PRODOTTO HOME */

.cura-home{
  padding:90px 40px;
  background:#fff7ef;
  text-align:center;
}

.cura-home-box{
  max-width:850px;
  margin:0 auto;
}

.cura-home h2{
  font-family:'Playfair Display', serif;
  font-size:3rem;
  color:#7a4b3a;
  margin-bottom:22px;
}

.cura-home p{
  font-size:1.1rem;
  line-height:1.8;
  color:#4a2a22;
  max-width:700px;
  margin:0 auto 30px auto;
}

.cura-btn{
  background:#3b1f1a;
  color:#f5e6d8;
  border:1px solid #d6b08c;
}

/* PRODOTTI SU RICHIESTA */

.su-richiesta{
  padding:100px 40px;
  background:
    linear-gradient(rgba(59,31,26,0.88), rgba(59,31,26,0.88)),
    url('img/hero.jpg') center/cover no-repeat;
  color:#f5e6d8;
}

.su-richiesta-container{
  max-width:1200px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:60px;
  align-items:center;
}

.su-richiesta-testo h2{
  font-family:'Playfair Display', serif;
  font-size:3rem;
  color:#e7c6a5;
  margin-bottom:25px;
  line-height:1.15;
}

.su-richiesta-testo p{
  font-size:1.08rem;
  line-height:1.8;
  margin-bottom:18px;
  color:#f5e6d8;
}

.richiesta-btn{
  margin-top:15px;
  background:#d6b08c;
  color:#3b1f1a;
  border:none;
}

.richiesta-btn:hover{
  background:#e7c6a5;
}

.su-richiesta-box{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:25px;
}

.richiesta-card{
  background:rgba(255,247,239,0.12);
  border:1px solid rgba(214,176,140,0.35);
  padding:28px 24px;
  border-radius:24px;
  backdrop-filter:blur(6px);
  box-shadow:0 10px 25px rgba(0,0,0,0.15);
  transition:0.3s;
}

.richiesta-card:hover{
  transform:translateY(-6px);
  background:rgba(255,247,239,0.18);
}

.richiesta-card span{
  display:inline-block;
  font-family:'Playfair Display', serif;
  font-size:2rem;
  color:#d6b08c;
  font-weight:700;
  margin-bottom:12px;
}

.richiesta-card h3{
  font-size:1.25rem;
  color:#e7c6a5;
  margin-bottom:10px;
}

.richiesta-card p{
  color:#f5e6d8;
  line-height:1.6;
  font-size:0.96rem;
}

/* LABEL SEZIONI */

.sezione-label{
  display:inline-block;
  background:#d6b08c;
  color:#3b1f1a;
  padding:8px 18px;
  border-radius:30px;
  font-size:0.9rem;
  font-weight:bold;
  margin-bottom:20px;
}

/* SCROLL FLUIDO */

html{
  scroll-behavior:smooth;
}

section{
  scroll-margin-top:110px;
}


/* MENU HAMBURGER */

.menu-toggle{
  display:none;
  background:none;
  border:none;
  color:#f5e6d8;
  font-size:1.7rem;
  cursor:pointer;
}


/* FILTRI PRODOTTI */

.filtri-prodotti{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  margin:-30px auto 45px auto;
}

.filtro-btn{
  border:1px solid #d6b08c;
  background:#fff7ef;
  color:#3b1f1a;
  padding:10px 18px;
  border-radius:30px;
  font-weight:bold;
  cursor:pointer;
  transition:0.3s;
}

.filtro-btn:hover,
.filtro-btn.active{
  background:#3b1f1a;
  color:#f5e6d8;
}

/* POPUP DETTAGLI PRODOTTO */

.dettagli-btn{
  background:#3b1f1a;
  color:#f5e6d8;
  border:1px solid #d6b08c;
  cursor:pointer;
}

.product-modal{
  display:none;
  position:fixed;
  inset:0;
  z-index:9998;
  background:rgba(0,0,0,0.82);
  justify-content:center;
  align-items:center;
  padding:30px;
  overflow-y:auto;
}

.product-modal-box{
  position:relative;
  background:#fff7ef;
  color:#3b1f1a;
  width:100%;
  max-width:650px;
  max-height:85vh;
  overflow-y:auto;
  padding:45px 38px;
  border-radius:28px;
  box-shadow:0 18px 45px rgba(0,0,0,0.35);
  text-align:center;
  -webkit-overflow-scrolling:touch;
}

.product-modal-close{
  position:sticky;
  top:0;
  float:right;
  font-size:34px;
  cursor:pointer;
  color:#3b1f1a;
  z-index:10;
}

.product-modal-box h2{
  clear:both;
  font-family:'Playfair Display', serif;
  font-size:2.4rem;
  color:#7a4b3a;
  margin:18px 0;
}

.product-modal-box p{
  font-size:1.05rem;
  line-height:1.8;
  color:#4a2a22;
  margin-bottom:28px;
  text-align:left;
  white-space:pre-line;
}

.product-modal-box .whatsapp{
  margin-top:10px;
}

.product-modal-box strong{
  font-weight:700;
  color:#7a4b3a;
}

.contatta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}

.contatta-btn i{
  font-size:0.95rem;
}

/* SCROLLBAR ELEGANTE POPUP PRODOTTO */

.product-modal-box{
  scrollbar-width:thin;
  scrollbar-color:#d6b08c transparent;
}

.product-modal-box::-webkit-scrollbar{
  width:6px;
}

.product-modal-box::-webkit-scrollbar-track{
  background:transparent;
  border-radius:20px;
}

.product-modal-box::-webkit-scrollbar-thumb{
  background:#d6b08c;
  border-radius:20px;
}

.product-modal-box::-webkit-scrollbar-thumb:hover{
  background:#7a4b3a;
}

/* VERSIONE MOBILE */

@media(max-width:768px){

/* BASE MOBILE */

body{
overflow-x:hidden;
}

/* NAVBAR / MENU MOBILE */

.navbar{
padding:12px 18px;
flex-direction:row;
gap:10px;
}

.nav-brand{
font-size:1.25rem;
}

.nav-img{
width:45px;
height:45px;
}

.nav-title span{
font-size:1.3rem;
}

.nav-title small{
font-size:0.65rem;
}

.menu-toggle{
display:block;
background:none;
border:none;
color:#f5e6d8;
font-size:1.7rem;
cursor:pointer;
z-index:1002;
}

.nav-links{
position:absolute;
top:100%;
left:0;
width:100%;
background:rgba(59,31,26,0.97);
display:none;
flex-direction:column;
align-items:center;
padding:22px 0;
gap:16px;
box-shadow:0 10px 25px rgba(0,0,0,0.25);
z-index:1001;
}

.nav-links.active{
display:flex;
}

.nav-links a{
margin:0;
font-size:1rem;
color:#f5e6d8;
text-decoration:none;
font-weight:600;
padding:6px 0;
}

/* HERO */

.hero{
min-height:100vh;
padding:180px 20px 70px 20px;
}

.titolo-sito{
margin-bottom:30px;
}

.titolo-principale{
font-size:3.5rem;
letter-spacing:1px;
}

.titolo-secondario{
font-size:1.4rem;
}

.logo{
width:180px;
height:180px;
margin-bottom:25px;
}

.hero p{
font-size:1rem;
line-height:1.6;
max-width:330px;
}

/* BOTTONI */

.buttons{
flex-direction:column;
gap:14px;
width:100%;
align-items:center;
}

.buttons .btn,
.card .whatsapp{
width:220px;
text-align:center;
padding:12px 20px;
}

/* MINI BIO HOME */

.mini-bio{
padding:70px 22px;
}

.mini-bio-container{
grid-template-columns:1fr;
gap:40px;
text-align:center;
}

.mini-bio-box{
max-width:100%;
text-align:center;
}

.mini-bio h2{
font-size:2.1rem;
}

.mini-bio p{
font-size:1rem;
}

.mini-bio-btn{
width:auto;
max-width:230px;
}

.mini-bio-foto img{
width:280px;
height:360px;
}

/* PAGINA CHI SONO - HERO */

.bio-hero{
grid-template-columns:1fr;
text-align:center;
padding:100px 22px 70px 22px;
}

.bio-testo h1{
font-size:2.8rem;
}

.bio-testo p{
font-size:1rem;
}

.bio-foto-placeholder{
width:280px;
height:360px;
}

/* PAGINA CHI SONO - CONTENUTO E FOTO */

.bio-contenuto{
padding:60px 22px;
}

.bio-layout{
grid-template-columns:1fr;
gap:35px;
}

.bio-testo-centrale{
max-width:100%;
text-align:left;
order:1;
}

.bio-testo-centrale h2{
font-size:2rem;
}

.bio-testo-centrale p{
font-size:1rem;
}

.bio-gallery{
position:static;
display:grid;
grid-template-columns:1fr 1fr;
gap:16px;
}

.bio-gallery-left{
order:2;
}

.bio-gallery-right{
order:3;
}

.bio-gallery img{
height:220px;
border-radius:20px;
}

/* PERCHE SCEGLIERE */

.vantaggi{
padding:70px 22px;
}

.vantaggi h2{
font-size:2.2rem;
margin-bottom:40px;
}

.vantaggio-card{
padding:30px 22px;
}

/* COME ACQUISTARE */

.come-acquistare{
padding:70px 22px;
}

.come-container{
grid-template-columns:1fr;
gap:40px;
text-align:center;
}

.come-testo h2{
font-size:2.2rem;
}

.come-testo p{
font-size:1rem;
}

.step-container{
grid-template-columns:1fr;
}

/* PRODOTTI SU RICHIESTA */

.su-richiesta{
padding:70px 22px;
}

.su-richiesta-container{
grid-template-columns:1fr;
gap:40px;
text-align:center;
}

.su-richiesta-testo h2{
font-size:2.2rem;
}

.su-richiesta-testo p{
font-size:1rem;
}

.su-richiesta-box{
grid-template-columns:1fr;
}

.richiesta-card{
padding:26px 22px;
}

.richiesta-btn{
width:auto;
max-width:260px;
}

/* PRODOTTI */

.prodotti{
padding:70px 20px;
}

.prodotti h2{
font-size:2.2rem;
margin-bottom:40px;
}

.disclaimer-prodotti{
margin:-20px auto 35px auto;
font-size:0.92rem;
padding:16px 18px;
}

.filtri-prodotti{
margin:-15px auto 35px auto;
gap:10px;
}

.filtro-btn{
padding:9px 15px;
font-size:0.9rem;
}

#contenitore-prodotti{
grid-template-columns:1fr;
gap:30px;
}

.card{
max-width:360px;
margin:auto;
}

.card img{
height:400px;
}

.card h3{
font-size:1.35rem;
}

.descrizione{
font-size:0.95rem;
}

.card .whatsapp{
width:100%;
max-width:240px;
}

/* PULSANTI CARD PRODOTTO */

.card-actions{
  gap:10px;
}

.dettagli-btn,
.contatta-btn{
  min-width:120px;
  padding:10px 14px;
  font-size:0.88rem;
}

/* FAQ */

.faq{
padding:70px 22px;
}

.faq h2{
font-size:2.2rem;
margin-bottom:40px;
}

.faq-item{
padding:24px 22px;
}

.faq-item h3{
font-size:1.15rem;
}

/* CURA PRODOTTO HOME */

.cura-home{
padding:70px 22px;
}

.cura-home h2{
font-size:2.2rem;
}

.cura-home p{
font-size:1rem;
}

.cura-btn{
width:auto;
max-width:220px;
}

/* CONSULENZA */

.consulenza{
padding:70px 22px;
}

.consulenza h2{
font-size:2.2rem;
}

.consulenza p{
font-size:1rem;
}

.consulenza-btn{
width:auto;
max-width:260px;
}

/* POPUP DETTAGLI PRODOTTO */

.product-modal{
  padding:18px;
  align-items:flex-start;
}

.product-modal-box{
  max-height:88vh;
  overflow-y:auto;
  padding:35px 24px 30px 24px;
  border-radius:22px;
  margin-top:20px;
  margin-bottom:20px;
}

.product-modal-box h2{
  font-size:2rem;
}

.product-modal-box p{
  font-size:1rem;
  text-align:left;
  line-height:1.75;
}

.product-modal-close{
  font-size:32px;
}


/* LIGHTBOX */

.lightbox{
  padding:18px;
}

.lightbox-content{
  max-width:95%;
  max-height:78%;
  border-radius:14px;
}

.close{
  top:14px;
  right:22px;
  font-size:38px;
}

.lightbox-arrow{
  width:44px;
  height:44px;
  font-size:1.1rem;
}

.lightbox-prev{
  left:14px;
}

.lightbox-next{
  right:14px;
}

.lightbox-counter{
  bottom:18px;
  font-size:0.85rem;
  padding:7px 15px;
}

/* WHATSAPP FISSO */

.whatsapp-fisso{
width:55px;
height:55px;
font-size:1.8rem;
bottom:18px;
right:18px;
}

/* FOOTER */

footer{
padding:35px 20px;
}

.footer-logo{
width:220px;
}

.footer-info{
font-size:0.92rem;
padding:0 10px;
}

.footer-links a{
margin:6px 8px;
font-size:0.9rem;
}

/* PAGINE LEGALI */

.pagina-legale{
padding:60px 22px;
}

.pagina-legale h1{
font-size:2.3rem;
}

.pagina-legale h2{
font-size:1.5rem;
}

}


/* TELEFONI MOLTO PICCOLI */

@media(max-width:420px){

/* HERO */

.titolo-principale{
font-size:3.0rem;
}

.titolo-secondario{
font-size:1.1rem;
}

.hero{
padding-top:170px;
}

.logo{
width:160px;
height:160px;
}

/* NAVBAR / MENU MOBILE */

.nav-links{
gap:12px;
}

.nav-links a{
font-size:0.85rem;
}

/* BOTTONI */

.btn{
width:200px;
}

/* MINI BIO HOME */

.mini-bio h2{
font-size:1.9rem;
}

.mini-bio-foto img{
width:250px;
height:330px;
}

/* PAGINA CHI SONO - HERO */

.bio-testo h1{
font-size:2.3rem;
}

.bio-foto-placeholder{
width:250px;
height:330px;
}

/* PAGINA CHI SONO - GALLERIA FOTO */

.bio-gallery{
grid-template-columns:1fr;
}

.bio-gallery img{
height:260px;
}

/* TITOLI SEZIONI */

.vantaggi h2,
.come-testo h2,
.faq h2,
.su-richiesta-testo h2,
.cura-home h2,
.consulenza h2{
font-size:1.9rem;
}

/* CARD E BOX */

.step-card,
.faq-item,
.vantaggio-card,
.richiesta-card{
border-radius:18px;
}

/* PULSANTI CARD PRODOTTO */

.card-actions{
  flex-direction:column;
}

.dettagli-btn,
.contatta-btn{
  width:100%;
  max-width:220px;
}

/* PRODOTTI */

.card img{
height:375px;
}

/* FOOTER */

.footer-logo{
width:180px;
}

}
