/* ===================================================== *
 *  BREAKPOINT MOBILE (≤ 768 px) – FAB lente + drawer     *
 * ===================================================== */
@media(max-width:768px){
/* HEADER ------------------------------------------------ */
.header{height:70px;padding:0 16px;display:flex;align-items:center;}
.logo{width:70px;height:70px;}
.hamburger{width:28px;height:22px;background:none;border:none;cursor:pointer;position:relative;margin-left:24px;z-index:1200;}
.hamburger span,
.hamburger span::before,
.hamburger span::after{content:"";position:absolute;left:0;width:100%;height:3px;background:#1e1e1e;border-radius:3px;transition:.3s;}
.hamburger span{top:50%;transform:translateY(-50%);}
.hamburger span::before{top:-8px;}
.hamburger span::after{top:8px;}
.hamburger.active span{background:transparent;}
.hamburger.active span::before{top:0;transform:rotate(45deg);}
.hamburger.active span::after{top:0;transform:rotate(-45deg);}

/* NAV laterale */
.nav-links{position:fixed;top:70px;left:-82%;width:82%;height:calc(100vh - 70px);flex-direction:column;gap:24px;padding:40px 24px;background:#000;transition:left .35s ease;z-index:1100;}
.nav-links.open{left:0;}
.nav-item{color:#fff;} .nav-item:hover{color:#d4b13f;}
.nav-links.open::after{content:"";position:fixed;inset:0;top:70px;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);z-index:-1;}

/* CATALOGO --------------------------------------------- */
.catalog-wrapper::before{left:0;}

/* FAB lente */
.filter-btn{
  position:fixed;bottom:24px;right:24px;z-index:1300;
  width:56px;height:56px;border-radius:50%;
  display:grid;place-items:center;
  background:#d4b13f;color:#1e1e1e;font-size:22px;border:none;cursor:pointer;
  box-shadow:0 6px 12px rgba(0,0,0,.25);transition:transform .25s;
}
.filter-btn:active{transform:scale(.92);}
@keyframes pulse{0%{transform:scale(1);}50%{transform:scale(1.15);}100%{transform:scale(1);}}
.filter-btn.pulse{animation:pulse 1.4s ease-in-out infinite;}

/* Drawer sinistro */
.catalog-sidebar{position:fixed;top:70px;left:-75vw;width:75vw;max-width:340px;height:calc(100vh - 70px);overflow-y:auto;background:#111;padding:116px 20px 40px;transition:left .35s ease;z-index:1200;box-shadow:6px 0 14px rgba(0,0,0,.3);}
.catalog-sidebar.shown{left:0;}
.catalog-sidebar.shown::after{content:"";position:fixed;inset:0;top:70px;background:rgba(0,0,0,.55);backdrop-filter:blur(2px);z-index:-1;}

/* search */
.search-box{position:relative;margin-bottom:28px;}
.search-input{width:100%;padding:10px 44px 10px 14px;background:#1e1e1e;color:#fff;border:none;border-radius:6px;font-size:16px;}
.search-box::after{content:"\f002";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#666;font-size:16px;}
.search-btn{display:none;}

/* categorie */
.catalog-categories li{padding:14px 0;font-size:15px;border-bottom:1px solid #333;}
.catalog-categories li:last-child{border:none;}

/* griglia */
.product-section{padding:0 16px 100px;}
.product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}

/* scaling generali ------------------------------------ */
.home-content{padding:90px 16px 60px;}
.title{font-size:36px;} .subtitle{font-size:24px;margin-bottom:40px;}
.description{font-size:18px;margin-bottom:40px;} .cta-button{font-size:20px;padding:14px 40px;}
.vision-container,.vision-next{height:auto;padding:80px 20px;}
.section-title{font-size:40px;margin-bottom:32px;}
.values-grid{grid-template-columns:1fr;gap:32px;}
.contact-wrapper{padding-top:calc(70px + 4rem);}
.contact-card{padding:1.8rem;margin-bottom:5rem;}
.footer-columns{grid-template-columns:1fr;text-align:center;gap:2rem;}
.footer-social{justify-content:center;}
}
