:root {
  --font-base: "Gotham", system-ui, sans-serif;
  --white: #fff; 
  --black: #000; 
  --ice-green: #006945;
  --blue: #273582; 
  --fondino: #f2f1f1; 
  --filetti: #b2b5b5; 
  --grey: #646363; 
  --green-ch: #cce0d9;
}
body { font-family: var(--font-base) !important;}
a:hover {
  color: inherit;
  text-decoration: none !important;
}
/* Headings globali */
/*h1 { font-size: 64px; line-height: 1.1; font-weight: 700; }
h2 { font-size: 42px; line-height: 1.2; font-weight: 500; }
h3 { font-size: 36px; line-height: 1.3; font-weight: 500; }
h4 { font-size: 21px; line-height: 1.4; font-weight: 400; }
p  { font-size: 16px; line-height: 1.5; font-weight: 400; }*/

/* Testo piccolo */
.small { font-size: 14px; line-height: 1.5; font-weight: 400; }

/* custom colori */
.white{ color: #fff; }
.black{ color: #000; }
.ice-green{ color: #006945;}
.blue{ color: #273582; }
.fondino{ color: #f2f1f1; }
.filetti{ color: #b2b5b5; }
.grey{ color: #646363; }
.green-ch{ color: #cce0d9;}

/* grandezze font */
.fs-64 { font-size:64px; }
.fs-42 { font-size:42px; }
.fs-36 { font-size:36px; }
.fs-21 { font-size:21px; }
.fs-16 { font-size:16px; }
.fs-14 { font-size:14px; }


/* Extra large desktop (>=1400px) */
@media (min-width: 1400px) {
  .container {
    width: 1320px;
    max-width: 100%;
  }
}

/* Ultra wide desktop (>=1600px) */
@media (min-width: 1600px) {
  .container {
    width: 1510px;
    max-width: 100%;
  }
}

/* Full HD / 1920px */
@media (min-width: 1920px) {
  .container {
    width: 1670px;
    max-width: 100%;
  }
}
/* ---------------------custom css --------------------- */

.add-to-wishlist, .products article .contenitore-pr-list .wishlist-button-add{    display: none !important; }
/*** Header ***/
.header-top .logo{
    width: 105px;
}

li.cms-page a{
  font-size: 16px !important;
  font-weight: 300 !important;
  color: var(--grey) !important;
}
#header .header-top>.container>.row:first-of-type {
    align-items: flex-end !important;
}
.header-top-right.position-static{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
#search_widget form{
    border-radius: 25px;
    border: 1px solid var(--filetti);
    display: flex;
    align-items: center;
}
.search-icon {
  width: 20px;
  height: 20px;
  stroke: var(--filetti);   /* colore */
  margin-right: .75rem;
}
#search_widget form input {
    width: 100%;
    padding: 10px 20px;
    outline: none;
    background-color: #f1f1f100;
    font-size: 14px;
    color: var(--filetti);
}

.icon-menu-wrapper img{
    width: 17px;
}
.icon-menu-wrapper > div{
    background-color: var(--fondino);
    border-radius: 50%;
    padding: 10px;
    width: 40px;
    display: flex;
    height: 40px;
    align-items: center;
    justify-content: center;
    margin-left: 25px;
}
.d-flex{display: flex;}


/** home **/
#slider-wrapper{
  background-image: url("../img/sf_hero.jpg");
  background-size: contain;       /* copre tutto il wrapper */
  background-position: center;  /* centrato */
  background-repeat: no-repeat; 
}
#slider-wrapper .carousel .carousel-inner {
    height: auto !important;
}

 /**dots slider **/
.homeslider_tabs {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 16px;                 /* spazio tra le linee */
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 3;
  bottom: -30px;                 /* alza/abbassa */
}

.homeslider_tabs li a {
  display: block;
  width: 55px;               /* lunghezza linea */
  height: 2.5px;               /* altezza “track” */
  text-indent: -9999px;
  position: relative;
  background: #cbcbcb;   /* grigio chiaro su foto */
}

.homeslider_tabs + .homeslider_tabs { display: none !important; }

.homeslider_tabs li.homeslider_here a{
  background: #0A6B4A;       /* verde brand */
}

.homeslider_tabs li a:hover{
  background: #cbcbcbc9;
}
.homeslider_tabs li.homeslider_here a:hover{
  background: #0a6b4bbe;
}

.homeslider .caption {
  position: absolute;
  top: 50%;                     /* centra verticalmente */
  left: 15px;                   /* distanza dal bordo sinistro */
  transform: translateY(-50%);  /* solo verticale, NON orizzontale */
  background: none !important;  /* rimuove fascia nera */
  color: #fff;
  text-align: left;  
    width: 750px;
    height: fit-content;
}

.homeslider .caption h2 {
  font-size: 64px !important; 
  font-weight: 700 !important;
  color: white !important;
}
.homeslider .caption div > *{
  font-size: 64px !important;
  font-weight: 400 !important;
color: white !important;
line-height: 1.2 !important;
}
.rslides{
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15), 0 8px 16px rgba(0, 0, 0, 0.20), 0 16px 32px rgba(0, 0, 0, 0.10);
    border-radius: 30px;
}
input:focus-visible {
  outline: none !important;
}
/*BUTTON*/
.btn{
  font-weight: 700 !important;
  font-size: 16px;
  color: #fff;
  border-radius: 25px;
  padding: 20px 30px;
  background-color: var(--ice-green);
  border-color: var(--ice-green);
  transition: all .3s ease;
}
button{
  transition: all .3s ease;
}

.btn-outline{
  color: var(--ice-green);
  background-color: #fff;
  border: 1px solid var(--ice-green);
}
.btn-light{
  background-color: #fff;
  font-size: 16px;
  font-weight: 700;
  border-color: white;
  color: var(--ice-green);
  padding: 20px 30px;
  border-radius: 30px;
}

.btn-small{
  padding: 5px 25px;
}

.btn-large{
  padding: 20px 50px;
}

.btn:hover{
  background-color: #11533d;
  color: white;
}

.btn.focus, .btn:focus {
  outline: 0;
  box-shadow: none !important;
}
.btn-light:hover{
  color: var(--ice-green);
  background-color: #f1f1f1;
  border: 1px solid #f1f1f1;
}
.btn-light:not(:disabled):not(.disabled).active, .btn-light:not(:disabled):not(.disabled):active, .show>.btn-light.dropdown-toggle {
    color: var(--ice-green);
    background-color: #f1f1f1;
    border-color: #f1f1f1;
}
.btn.btn-outline.btn-small:hover{
  background-color: var(--ice-green);
  color: white;
}

/*** Footer ***/
#footer{
  background-color: var(--ice-green);
  border-top: 1px solid #ffffff1f;
  padding: 45px 0 65px 0;
}

#custom-text p , .ib-legal-links *{
  color: #fff;
  font-size: 14px;
  line-height: 1.2;
  margin-bottom: 5px;
  font-weight: 400;
}
.ib-legal-links *:hover {
  color: var(--fondino);
}

.footer-logo{
  margin-bottom: 15px;
}
.footer-logo img{
  height: 55px;
  width: auto;
}

/* Layout generale: 2 colonne, sinistra più larga */
.ib-footer-links {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 48px;
  align-items: start;
}

/* Card/blocco con separatore verticale tra sinistra e destra */
.ib-block {
  position: relative;
  min-width: 0;
  padding: 0 24px;
}
.ib-block {
border-left: 1px solid #fff;
}

/* Titolo */
.ib-block-title {
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: .02em;
  font-size: 14px;
  margin: 0 0 8px 0;
  color: white;
}

/* Lista link */
.ib-links { list-style: none; margin: 0; padding: 0; }
.ib-link { margin: .25rem 0; }

/* Il blocco "Prodotti" in 3 colonne (flow automatico) */
.ib-block--prodotti .ib-links {
  column-count: 3;          /* 3 colonne come nello screenshot */
  column-gap: 32px;
}
.ib-block--prodotti .ib-link { break-inside: avoid; }

/* Responsive */
@media (max-width: 992px) {
  .ib-footer-links { grid-template-columns: 1fr; gap: 24px; }
  .ib-block + .ib-block { border-left: 0; border-top: 1px solid rgba(255,255,255,.35); padding-top: 16px; }
  .ib-block--prodotti .ib-links { column-count: 2; }
}
@media (max-width: 576px) {
  .ib-block--prodotti .ib-links { column-count: 1; }
}
.ib-block.ib-block--istituzionale h4{
  display: none
}

.ib-block a{
  color: white;
}

.ib-block--prodotti a{
  font-weight: 400;
  font-size: 14px;
}

.ib-block--prodotti a:hover{
  color: var(--fondino);
}

.ib-block--istituzionale a{
  font-weight: 500;
  font-size: 14px;
  text-transform: uppercase;
}

.breadcrumb-wrapper{
  padding: 20px 0 50px 0;
}

.breadcrumb-custom{
  display: flex;
  flex-wrap: wrap;
}

.breadcrumb-custom div{
  padding-right: 10px;
}

.breadcrumb-custom div > *{
  color: var(--filetti);
  font-size: 12px;
  text-transform: lowercase;
  font-weight: 400;
}

.breadcrumb-custom div:last-child > *{
  color: var(--grey);
  font-size: 12px;
  font-weight: 700;
  text-transform: math-auto;
}

.firstnews{
  background-image: linear-gradient(to bottom, #fff 0%, var(--fondino) 100%);
}

.firstnews h2,.news-single h1, .firstnews h1{
  font-size: 42px;
  color: var(--ice-green);
  font-weight: 700;
}

.firstnews p, .news-single p{
  font-weight: 400;
  font-size: 16px;
  color: var(--grey);
}

.firstnews .date-news{
  font-weight: 700;
  font-size: 16px;
  color: var(--grey);
}

.firstnews img{
  border-radius: 25px;
  width: 100%;
}

.row-first{
  padding: 60px 0 80px 0;
}

.newslist{
  padding-top: 60px;
  padding-bottom: 60px;
}

.data-firstnews{
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding-left: 30px;
}

.ib-news-home__date{
  font-size: 16px;
  color: var(--grey);
  font-weight: 400;
  margin-bottom: 5px;
  display: block;
}

.ib-news-home__h3 a, .news-single h4{
  font-size: 21px;
  font-weight: 700;
  margin: 0 0 15px 0;
  color: var(--ice-green);
}

.ib-news-home__excerpt{
  font-size: 16px;
  color: var(--grey);
  font-weight: 400;
  margin: 0;
}

.ib-newsbox, .ultime-news-box{
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
  border-radius: 25px;
  margin-bottom: 90px;
}
.ultime-news-box{
  padding: 1.5rem !important;
}

.ib-news-home__body{
  padding: 20px 25px 30px 25px;
}

.ib-news-home__cta{
  text-align: right;
  margin: 25px 0 0 0;
}

.ib-news-home__media img{
  width: 100%;
  border-radius: 25px 25px 0 0;
}

.pagination .page-item .page-link{
  color: var(--grey);
  background-color: white;
}
.pagination .page-list{
  display: flex;
  align-items: center;
}
.pagination img{
  width: 10px;
  height: auto;
}
.pagination .page-item.active .page-link, .page-list .current{
  border-radius: 25px;
  padding: 5px 10px;
  background-color: #106946;
  border: 0px solid;
  color: white;
}

.page-list li{
  margin-right: 10px;
}
.page-list li a{
  color: var(--ice-green);
}

.page-list .current a{
  color: white;
}

.news-single img{
  width: 100%;
  border-radius: 25px;
}

.ultime-news-box img{
  width: 100px;
  height: fit-content;
  border-radius: 0px;
}

.ultime-news-box .singola-news-box{
  display: flex;
  border-top: 1px solid rgba(0, 0, 0, 0.06);
  margin-top: 15px;
  padding-top: 15px;
}

.ultime-news-box .singola-news-box .ib-news-home__date{
  font-size: 14px;
}
.ultime-news-box .singola-news-box h3 a{
  font-size: 16px;
}

.list-products .thumbnail-top img,#product .thumbnail-top img {
  width: 100%;
  height: auto;
  border-radius: 10px;
  margin-bottom:15px;
}

.list-products .product-title a,.list-products .product-title, #product .product-title{
  color: var(--ice-green);
  font-size: 16px;
  font-weight: 700;
}

.list-products.product-miniature ,#product .product-miniature{
  box-shadow: rgb(100 100 111 / 20%) 0px 9px 20px 0px;
  border-radius: 30px;
  padding: 25px;
  transition: all .3s ease;
}


.list-products.product-miniature:hover ,#product .product-miniature:hover{
  box-shadow: rgb(100 100 111 / 30%) 0px 9px 20px 0px;
}

.list-products .mini-attr__label, #product .mini-attr__label{
  font-size: 16px;
  font-weight: 300;
  color: var(--grey);
}
.list-products .mini-attr__value, #product .mini-attr__value{
  font-size: 16px;
  font-weight: 700;
  color: var(--grey);
}
#product .caratteristiche .mini-attr__label{
  font-size: 21px;
}
#product .caratteristiche .mini-attr__value{
  font-size: 21px;
}
.products{
  padding: 50px 0;
}
#header .header-top a[data-depth="0"]{
  padding: 0 30px;
  font-weight: 300 !important;
  position: relative !important;
}
#header .header-top a[data-depth="0"]:hover{
  color: var(--ice-green) !important;
  background-color: transparent;
}
.dropdown-item .float-xs-right{
  display: none;
}
#product .product-cover{
  margin-top: 3rem;
}
#product .product-cover img{
  border-radius: 30px;
  box-shadow: 0px 14px 15px rgba(0, 0, 0, .2);
}
#product .images-container, #product .caratteristiche, #product .product-information{
  z-index: 9;
  position: relative;
}
#product .caratteristiche{
  width: 85%;
  padding: 45px 5px 15px 5px;
}
#product  .caratteristiche .product-description span{
  font-weight: 700;
  color: var(--grey);
  font-size: 16px;
  text-transform: uppercase;
}
#product .caratteristiche .product-description p{
  font-weight: 400;
  color: var(--grey);
  font-size: 16px;
  margin-top: 5px;
}

#product h1{
  font-weight: 700;
  font-size: 32px;
  color: var(--ice-green);
}
.product-visual::before{
  content: "";
  position: absolute;
  inset: 0;
  background: var(--fondino);
  border-radius: 30px;
  transform: translate(-30%, 0%);
  width: 125%;
  z-index: 1;
}

#product .dp-badge {
  position: absolute;
  left: 0;
  bottom: 0;
}

#product .images-container{
  width: 85%;
}

/* ====== Vars / reset locali ====== */
.ib-tabs{ padding: 80px 0 60px 0; background-image: linear-gradient(to bottom, #fff 0%, var(--fondino) 100%); border-radius: 0 0 30px 30px;}
.ib-tab-radio{ position:absolute; opacity:0; pointer-events:none; }

.ib-tablist{
  display:flex; flex-wrap:wrap; gap:12px;
  justify-content:center; /* spazio come nello shot */
  margin-bottom:18px;
}
.ib-tab{
  cursor:pointer;
  padding:12px 26px;
  border-radius:999px;
  border:1px solid var(--filetti);
  color: var(--filetti);
  background:#fff;
  font-weight:700;           /* Bold come indicazioni */
  text-transform:uppercase;  /* stile etichette */
  font-size:14px;
  line-height:1;
  letter-spacing:.02em;
  user-select:none;
  margin: 5px 30px;
  transition:all .18s ease;
}

.ib-tab:hover{ transform:translateY(-1px); box-shadow:0 6px 18px rgba(0,0,0,.06); }
.ib-tab:focus-visible{ outline:3px solid rgba(0,163,122,.35); outline-offset:2px; }

.ib-panels{
  padding:25px 0;
  color: var(--grey);
  text-align: center;
}

.ib-lead{ font-size:18px; line-height:1.55; text-align:center; margin:0; }
.ib-list{ margin:0; padding-left:18px; line-height:1.6; }

.ib-panel{ display:none; }
#tab-ingredienti:checked ~ .ib-tablist label[for="tab-ingredienti"],
#tab-allergeni:checked   ~ .ib-tablist label[for="tab-allergeni"],
#tab-utilizzo:checked    ~ .ib-tablist label[for="tab-utilizzo"],
#tab-nutrizionali:checked~ .ib-tablist label[for="tab-nutrizionali"],
#tab-pesi:checked        ~ .ib-tablist label[for="tab-pesi"]{
  background:var(--ice-green);
  color:#fff;
  border-color:var(--ice-green);
}

/* pannello attivo */
#tab-ingredienti:checked ~ .ib-panels #panel-ingredienti,
#tab-allergeni:checked   ~ .ib-panels #panel-allergeni,
#tab-utilizzo:checked    ~ .ib-panels #panel-utilizzo,
#tab-nutrizionali:checked~ .ib-panels #panel-nutrizionali,
#tab-pesi:checked        ~ .ib-panels #panel-pesi{ display:block; }

/* ====== Responsive ====== */
@media (max-width: 768px){
  .ib-tablist{ gap:10px; justify-content:center; }
  .ib-tab{ padding:10px 18px; font-size:13px; }
  .ib-panels{ border-radius:22px; padding:20px 16px; }
  .ib-lead{ font-size:16px; }
}

.product-accessories h5{
  color: var(--ice-green);
  font-size: 21px;
  font-weight: 400;
  text-transform: uppercase;
}
#wrapper-contatti{
  background-image: url('../img/img_sfonfo_contatti.jpg');
  background-repeat: no-repeat;
  background-size: cover;
}
#wrapper-contatti h1{
  font-size: 42px;
  color: var(--ice-green);
  font-weight: 700;
}
span.testocontactbold{
  font-size: 21px;
  color: var(--grey);
  font-weight: 700;
  display: block;
}
span.testocontact, span.testocontact a{
  font-size: 21px !important;
  color: var(--grey) !important;
  font-weight: 400 !important;
}
.div-form-contact{
  background-color: white;
  padding: 50px 25px;
  border-radius: 20px;
  box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}

.div-form-contact .form-control{
  border-radius: 20px;
  border: 1px solid var(--filetti);
}
.div-form-contact label{
  font-weight: 400;
  font-size: 16px;
  color: var(--grey);
}
.form-control:focus {
  box-shadow: none !important;
}
.testoctacliente1{
  font-weight: 700;
  color: var(--ice-green);
  font-size: 21px;
  display: block;
  text-transform: uppercase;
}
.testoctacliente2{
  font-weight: 400;
  color: var(--grey);
  font-size: 16px;
  display: block;
}
.map-section iframe{
  border: 5px solid white !important;
  border-radius: 20px;
}
#wrapper-map{
  background-color: var(--fondino);
}
.div-form-contact .btn{
  text-transform: uppercase;
  font-weight: 400 !important;
  padding: 5px 45px;
  font-size: 16px;
  margin: 0;
}
.ibsc-textarea{ min-height: 190px; }              /* mobile/tablet */
@media (min-width: 992px){
  .ibsc-textarea{ min-height: 230px; }            /* desktop */
}
.menu-mobile{
  display: none;
}

.img-burger-mobile{
  width: 30px;
}
.mySwiperNovitaProdotti{ padding: 70px 15px 25px 15px; }

.mySwiperNovitaProdotti .swiper-button-next,.mySwiper .swiper-button-prev{
    position: absolute;
    top: 25px !important;
    right: 0 !important;
    left: unset !important;
    color: #006945;
    background-color: #f2f2f2;
    padding: 15px 5px;
    border-radius: 50%;
}
.mySwiperNovitaProdotti .swiper-button-next:after,.mySwiper .swiper-button-prev:after{
    content: unset;
}
.mySwiperNovitaProdotti .swiper-button-next svg,.mySwiper .swiper-button-prev svg{
    height: 15px;
}

.mySwiperNovitaProdotti .swiper-button-prev{
    right: 50px !important;
}

/**----------------------------------filtri----------------------------------*/
.container-filtri{
  display: flex;
  align-items: center;
  color: var(--ice-green);
  font-size: 16;
}
.div-icon-filtri{
  background-color: var(--fondino);
  border-radius: 50px;
  height: fit-content;
}
.icon-filtri{
  width: 43px;
  padding: 10px;
}


/*menu**/
.menu-right-container {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: -webkit-fill-available;
    padding: 45px 0 30px 0;
    height: 100%;
}
nav.right_menu_togle {
    background: #f2f1f1;
    display: block;
    height: 100%;
    overflow: auto;
    position: fixed;
    right: -520px;
    font-size: 15px;
    top: 0;
    width: 100%;
    max-width: 520px;
    z-index: 2000;
    transition: right 0.3s 
ease-in-out 0s;
    -webkit-transition: right 0.3s 
ease-in-out 0s;
    -moz-transition: right 0.3s ease-in-out 0s;
    -o-transition: right 0.3s ease-in-out 0s;
}
 .right_menu_togle {
  background-image: linear-gradient(90deg, #e5f2f9 0%, #ffffff 100%);
  padding: 50px;
  right: -535px;
  z-index: 999999;
  transition: all 0.3s ease;
  position: fixed;
}
 .right_menu_togle .close-btn {
  overflow: visible;
}
 .right_menu_togle .close-btn .nav-link {
  position: absolute;
  right: 25px;
  top: 25px;
}
 .right_menu_togle .menu-panel__menu-item a {
    color: #7a7a7a;
    text-transform: uppercase;
    font-weight: 300;
    font-size: 16px;
}
 .right_menu_togle .menu-panel__menu-item a:hover {
  color: var(--ice-green) !important;
  background-color: transparent;
}
.nav-expanded nav {
  right: 0 !important;
}

#_desktop_top_menu > .top-menu > li.current > a:after{
 content: "";
 position: absolute;
  display: inline-block;           /* o block */
  width: 10px;
  height: 10px;
  background-image: url("../img/arr_solid_up.svg");
  background-repeat: no-repeat;
  background-size: contain;        /* o cover */
  background-position: center;
  left: 50%;
  transform: translateX(-50%);
  bottom: -10px;
}

.dropdown-lang{
  position: absolute;
  top: 100%;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transform: scaleY(0);
  transform-origin: 0 0 0;
  transition: all .3s ease;
    padding: 15px;
  background-color: var(--fondino);
  margin-top: 15px;
  border-radius: 25px;
}

.dropdown-lang a{
  color: var(--grey);
  text-transform: uppercase;
}
.dropdown-lang a:hover{
  color: var(--ice-green) !important;
}
.lang-item img{
  width: 20px;
  height: auto;
  border-radius: 5px;
}

.change-lang:hover .dropdown-lang{
  opacity: 1;
    visibility: visible;
  transform: translateY(0px);
  transform: scaleY(1);
}

.change-lang:hover{ background-color: #e9e9e9;}

.popover{
  display: none;
  box-shadow: rgb(100 100 111 / 20%) 9px 9px 10px 0px;
  border: 0px !important;
  border-radius: 0px;
  width: 550px;
  max-width: none;
  padding: 15px 25px;

  color: var(--grey);
  font-weight: 400;
  font-size: 16px;
  text-transform: uppercase;
}
.dropdown-item.dropdown-submenu{
  padding: 0;
}

/* Solo desktop */
#_desktop_top_menu .top-menu[data-depth="0"] > li { position: relative; }
#_desktop_top_menu .top-menu[data-depth="0"] > li::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  top: 100%;
  height: 50px;                  /* = spazio desiderato */
  /* niente background: resta invisibile ma mantiene l'hover */
}
/* contenitore mega */
#_desktop_top_menu .mega.sub-menu {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 40px;
  background: var(--fondino); /* simile allo screen */
  padding: 25px;
  box-shadow: rgb(100 100 111 / 20%) 9px 9px 10px 0px;
  z-index: 50;
  width: fit-content;
}

/* layout 3 colonne */
#_desktop_top_menu .top-menu[data-depth="0"] > li:hover > .mega.sub-menu,
#_desktop_top_menu .top-menu[data-depth="0"] > li > .mega.sub-menu:hover  {
  display: flex !important;
  gap: 25px;
}
#_desktop_top_menu .mega__col { flex: 1; }
#_desktop_top_menu .mega__right { position: relative;/*display:flex; align-items:center; justify-content:center;*/ }

.mega__panel { display: none; position: absolute; inset: 0; overflow:auto;}
.mega__panel.is-active { display: flex; position: relative; }
/* tipografia/indicatori come screenshot */
#_desktop_top_menu .mega__left .mega__list { list-style: none; margin: 0; padding: 0;border-right: 1px solid var(--filetti);width: 350px;}
#_desktop_top_menu .mega__link{position: relative;}
#_desktop_top_menu .mega__link,#_desktop_top_menu .mega__sublink { display:block; padding: 0; text-transform: uppercase; color:var(--grey); width: max-content; }
#_desktop_top_menu .mega__link:hover,#_desktop_top_menu .mega__sublink:hover { color:var(--ice-green); } /* verde */
#_desktop_top_menu .mega__img { height: auto; width: 250px; display: block; object-fit: cover; margin-left: 25px; border: 1px solid white;} 
#_desktop_top_menu .mega__img_father {height: auto; width: 45px; object-fit: cover; padding-right: 15px; margin: 0; z-index: 900; background-color: #f2f1f1; }
.mega__empty { color:#999; margin: 8px 0 0; }

#_desktop_top_menu .mega.sub-menu .mega__list >  li > a.is-active {
  color: #0b7a55;
}

#_desktop_top_menu .mega__left .mega__list > li > a.mega__link::after {
  content: "";
  position: absolute;
  right: 0px;                     
  top: 50%;
  width: 100%;                     
  height: 1px;
  background: var(--filetti);        
  transform: translateY(-50%) scaleX(0);
  transform-origin: left center;
  transition: transform .18s ease;
  pointer-events: none;
  z-index: 1;                      
}
#_desktop_top_menu .mega__img { display: none; }
#_desktop_top_menu .mega__img.is-active { display: block; }
/* mostra la lineetta su hover e sul selezionato */
#_desktop_top_menu .mega__left .mega__list > li > a.mega__link:hover::after,
#_desktop_top_menu .mega__left .mega__list > li > a.mega__link.is-active::after {
  transform: translateY(-50%) scaleX(1);
}
#_desktop_top_menu .mega__link.d-flex span{
  background-color: #f2f1f1;
  z-index: 20;
  padding-right: 25px;
}
#_desktop_top_menu .mega__link.d-flex.is-active{
  width: 100%;
}

.all-products{
  padding: 10px 15px;
  border: 1px solid var(--filetti);
  border-radius: 25px;
  display: block;
  width: max-content;
  text-transform: uppercase;
  color: var(--grey);
  font-size: 14px;
  display: flex;
  margin-right: 25px;
  margin-top: 30px;
  transition: all .3s ease;
}

.all-products:hover{
  color: var(--ice-green) !important;
  border: 1px solid var(--ice-green);
}

.all-products img{
  width: 10px;
  margin-left: 10px;
}

.subcategory-banners{
  background-color: white;
  border-radius: 30px;
  box-shadow: rgb(0 0 0 / 20%) 0px 7px 29px 0px;
}

.subcategory-banners .testo-banner{
  padding: 75px 50px;
}

.subcategory-banners img{
  border-radius: 30px;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.subcategory-title{
  font-size: 42px;
  color: var(--ice-green);
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 25px;
}

.description-content{
  font-size: 16px;
  font-weight: 400;
  color: var(--grey);
}

 #novita-wrapper h3.title-section{
  font-weight: 700;
  font-size: 42px;
  color: var(--ice-green);
}
#novita-wrapper img{
  width: -webkit-fill-available;
  border-radius: 30px 30px 0 0;
}
#novita-wrapper .product-description{
  padding: 5px 25px 20px;
}

#novita-wrapper .product-title a{
  font-weight: 700;
  font-size: 21px;
  color: var(--ice-green);
  text-transform: uppercase;
}
#novita-wrapper .list-products.product-miniature{
  padding: 0;
}
#novita-wrapper .mini-attr__label{
  font-size: 16px;
  font-weight: 300;
  color: var(--grey);
}

#novita-wrapper .mini-attr__value{
  font-size: 16px;
  font-weight: 700;
  color: var(--ice-green);
}
#novita-wrapper .dp-badge{
    position: absolute;
    left: 15px;
    top: 40px;
    padding: 12px 5px 12px 15px;
    font-size: 16px;
    border-radius: 0px;
}
#novita-wrapper .dp-badge:after {
  content: "";
  position: absolute;
  top: 0px;
  right: -23px;
  width: 25px;
  height: 40px;
  background-color: inherit;
  clip-path: polygon(100% 0, 50% 50%, 100% 100%, 0 100%, 0 0);
}

.filters-topbar {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 1.5rem;
}

.filters-topbar__count {
  font-weight: 600;
}

.filters-topbar__filters {
  display: flex;
  gap: 1rem;
}
.filters-topbar__filter {
  position: relative;
  display: inline-block; /* così button + ul stanno insieme */
}

.filters-topbar__button {
  border: none;
  padding: 0.5rem 1rem;
  background: var(--fondino);
  text-transform: uppercase;
  font-size: 16px;
  cursor: pointer;
  min-width: 200px;
  display: flex;
  justify-content: space-between;
}
.subcategorioes .filters-topbar__button{
  min-width: 250px;
}

/* dropdown nascosto di default */
.filters-topbar__dropdown {
  display: none;
  position: absolute;
  top: 100%;      /* attaccato subito sotto il bottone */
  left: 0;
  padding: 0.5rem 0;
  margin: 0;      /* niente margin che crea “buco” */
  list-style: none;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.08);
  z-index: 20;
  width: -webkit-fill-available;
}
.filters-topbar__button > span{
  color: var(--ice-green);
}

/* si apre quando sei sopra TUTTO il blocco (button + ul) */
.filters-topbar__filter:hover .filters-topbar__dropdown {
  display: block;
}

.filters-topbar__dropdown li a {
  display: block;
  padding: 0.3rem 0.8rem;
  text-decoration: none;
  text-transform: uppercase;
  color: var(--grey);
}
.filters-topbar__dropdown li a:hover {
  color: var(--ice-green);
}
.menu-panel__submenu {
  display: none;
  padding-left: 1.5rem;
  margin-top: 0.5rem;
}

.menu-panel__submenu-item {
  margin-bottom: 0.25rem;
}

.menu-panel__submenu-link {
  font-size: 0.95rem;
}

/* quando l'item è aperto */
.menu-panel__menu-item.is-open > .menu-panel__submenu {
  display: block;
}
.js-mobile-submenu-toggle{
  background-color: unset;
  border: unset;
  color: #7a7a7a;
  text-transform: uppercase;
  font-weight: 300;
  font-size: 16px;
  padding: 0;
}
.js-mobile-submenu-toggle:focus{
  outline: unset;
}

/* bottone con spazio per la freccia */
.menu-panel__menu-link.js-mobile-submenu-toggle {
  position: relative;
  padding-right: 1.5rem; /* spazio a destra per il chevron */
}

/* chevron chiuso (verso il basso) */
.menu-panel__menu-link.js-mobile-submenu-toggle::after {
  content: '▾';                 /* o '\25BE' */
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  font-size: 22px;
    color: var(--ice-green);
  transition: transform 0.2s ease;
}

/* quando l'item è aperto, ruota il chevron */
.menu-panel__menu-item.is-open > .js-mobile-submenu-toggle::after {
  transform: translateY(-50%) rotate(180deg);
}
.right_menu_togle .menu-panel__submenu{
  padding-left: 1rem !important;
}
.wpcf7 form h3,.wpcf7 .clearfix{ display: none;}
.wpcf7-form-control-wrap.richiesta{ margin-top: 0;}
div.wpcf7 .ajax-loader {
    position: absolute;
    bottom: -35px;
    right: 20%;
}
.wpcf7-submit.btn{
  background-color: var(--ice-green) !important;
}
.products .js-product.product {
        padding-bottom: 25px;
    }
/** ---------responsive--------- */
/* <= 768px (md) */
@media (max-width: 48em) {
  .sost h3 {
    text-align: left;
    margin-bottom: 0 !important;
  }
  .persone h3, .persone h4{
    text-align: left;
  }

  .ib-newsletter__text{
    padding-bottom: 25px;
  } 
  .ib-lines__head {
    padding: 100px 0px;
  }
  .filters-topbar__filters {
    display: flex;
    gap: 1rem;
    flex-direction: column;
  }

  .persone .row.align-items-center:last-of-type .testi-sost h4{
    margin-bottom: 0 !important;
    margin-top: 25px !important;
  }
}

/* <=992px */
@media (max-width: 62em) {
  .punti-di-forza img {
    margin-top: 35px;
    width: 60%;
  }
.ib-tabs {
    background-image: none;
}
  .filters-topbar {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }
  .ib-block.ib-block--prodotti{
    padding: 25px 0 15px;
    border-left: 0px;
    border-top: 1px solid rgba(255,255,255,.35);
  }
  .ib-block{
    padding: 0px;
  }

  .ib-footer-links {
    gap: 0;
  }
  
  .product-container .images-container{
    width: 100% !important;
  }

  .product-container .product-cover{
    margin-top: 0 !important;
  }

  #product .caratteristiche{
    width: 100%;
    padding: 45px 15px 15px 15px;
  }
  .product-visual::before {
    transform: translate(0%, 0%);
    margin: 15px;
    width: auto;
  }

  .dettagli-single-product{
    margin-top: -70px;
  }
.product-visual{
padding-top:70px;
}

  #product .dp-badge {
    bottom: -50px;
  }
  .product-cover img{
    width: 100%;
  }

  .data-firstnews{
    margin-top: 25px;
    padding-left: 15px;
  }

  .news-single .row .col-lg-9 .content{
    margin-bottom: 0 !important;
  } 
}

/* <= 1024px (lg) */
@media (max-width: 64em) {
  .change-lang{
    position: relative;
  }
  .dropdown-lang{
    top: 25px;
  }

  #search_widget {
    min-width: auto !important;
    max-width: unset !important;
  }
  .menu-right-container #search_widget form {
    background-color: white;
  }
  .menu-right-container .icon-menu-wrapper{
    margin-top: 25px;
  }
  .menu-right-container .icon-menu-wrapper > div {
    background-color: #ffffff;
    margin-left: 0px;
    border: 1px solid var(--filetti);
  }
  .menu-mobile,.menu-right-container .searchbar-container{
    display: block !important;
  }

  /*fs 64px->48 */
  .homeslider .caption h2, .homeslider .caption div > *{
    font-size: 48px !important;
  }
  
  .img-azienda .ib-title, .img-azienda .ib-titleg {
    font-size: 36px !important;
  }
  /*fs 42px */
  #cta_home .ib-hero__title {
    font-size: 32px;
  }
  .searchbar-container, .menu{
    display: none !important;
  }

  .homeslider img {
    height: 80vh;
    object-fit: cover;
  }

  .homeslider-container {
    padding: 0 15px;
  }

  .homeslider .caption {
    left: 0px;
    width: 100%;
  }

  #cta_home .ib-hero__content {
    left: 0px;
    max-width: 100%;
  }

  #cta_cap .ib-hero__image img {
    height: unset;
  }

  #cta_cap .ib-hero__card{
    padding-top: 50px;
    padding-bottom: 75px;
    max-width: 100%;
  }

  .ib-news-home__card, #maggiorinfo #content-wrapper .col-md-4{
    padding-bottom: 50px;
  }

  #maggiorinfo {
    padding: 50px 0 15px 0;
  }

  .ib-newsletter {
    padding: 50px 0 !important;
  }

  #cta_cap .ib-hero__image img {
    margin-left: -30px;
  }

  .img-azienda img, .marketing img {
    height: 50vh;
    object-fit: cover;
  }

  .hero__content {
    width: 100%;
    padding: 0 30px;
    left: 0;
  }

  .testi-marketing {
    padding: 75px 0px 0 0;
  }

  .marketing .row{
    padding: 110px 0 100px 0;
  }

  .row > .ib-line .d-flex {
    border-bottom: 1px solid #b2b5b5;
  }

  .header-top-right .d-flex{
    width: 100%;
    justify-content: space-between;
    align-items: center !important;
  }
}

/* <= 1200px (xl) */
@media (max-width: 75em) {
   .ib-block.ib-block--prodotti{
    margin-top: 25px;
  }

  #header .header-top a[data-depth="0"] {
    padding: 0 10px !important;
  }

  #search_widget {
    min-width: 9.5rem !important;
    max-width: 12.5rem;
  }
}

/* ≥ 1024px <= 1400px (xl) */
@media (min-width: 64em) and (max-width: 88em) {
  .ib-hero.container{
    max-width: 100%;
  }
  .img-azienda .ib-title, .img-azienda .ib-titleg {
    font-size: 46px !important;
  }

  #header .header-top a[data-depth="0"] {
    padding: 0 15px;
  }
  #search_widget {
    min-width: 12.5rem;
  }

  #search_widget form input {
    padding: 10px 15px;
  }

  .icon-menu-wrapper > div {
    margin-left: 15px;
  }

  #header .header-top .position-static#_desktop_top_menu{
    margin-left: 15px !important;
  }
}
@media (min-width: 87.5em) {
    .col-xxl-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%;
    }
}
