.elementor-2290 .elementor-element.elementor-element-33ba287{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0vw 5vw;--row-gap:0vw;--column-gap:5vw;--padding-top:4vw;--padding-bottom:4vw;--padding-left:4vw;--padding-right:4vw;}.elementor-2290 .elementor-element.elementor-element-e7be022{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2290 .elementor-element.elementor-element-75f25f1{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2290 .elementor-element.elementor-element-e7ad192{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}body.elementor-page-2290:not(.elementor-motion-effects-element-type-background), body.elementor-page-2290 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-c1777ce );}@media(min-width:768px){.elementor-2290 .elementor-element.elementor-element-e7be022{--width:35%;}.elementor-2290 .elementor-element.elementor-element-75f25f1{--width:65%;}}/* Start custom CSS *//* Wrapper filtri */
#gbFilters.gb-filters{
  width: 100%;
}

/* Top bar Filtri + Annulla */
#gbFilters .gb-filters__top{
  display:flex;
  justify-content:space-between;
  align-items:center;
}

/* Contatore */
#gbFilters .gb-filters__count{
  margin-top: 10px;
  margin-bottom: 14px;
}

/* Ogni gruppo (Pet, Età, Taglia...) */
#gbFilters .gb-group{
  padding: 16px 0;
  border-top: 1px solid rgba(0,0,0,.25);
}

/* Header gruppo: titolo + Annulla */
#gbFilters .gb-group__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom: 10px;
}

/* Righe opzioni: UNA per riga */
#gbFilters .gb-group label{
  display:flex;
  align-items:center;
  gap: 10px;
  margin: 10px 0;
  line-height: 1.2;
  cursor: pointer;
}

/* Checkbox dimensione e allineamento */
#gbFilters .gb-group input[type="checkbox"]{
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 16px;
}

/* Link "Annulla" */
#gbFilters a[data-gb-reset]{
  text-decoration: none;
  color: black;
  
}

/* (Opzionale) ultimo divider in basso, se lo vuoi */
#gbFilters .gb-group:last-child{
  border-bottom: 1px solid rgba(0,0,0,.25);
}

/* Bottone Filtri: di default nascosto */
.gb-mobile-filters-btn{
  display:none;
  width:100%;
  padding:14px 16px;
  border:1px solid rgba(0,0,0,.25);
  border-radius:14px;
  background:transparent;
}

/* Offcanvas */
.gb-offcanvas{
  position:fixed;
  inset:0;
  z-index:99999;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, visibility .18s ease;
}

.gb-offcanvas.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

/* Backdrop fade */
.gb-offcanvas__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.35);
  opacity:0;
  transition:opacity .18s ease;
}

.gb-offcanvas.is-open .gb-offcanvas__backdrop{
  opacity:1;
}

/* Panel slide + slight ease */
.gb-offcanvas__panel{
  position:absolute;
  top:0;
  right:0;
  height:100%;
  width:min(92vw, 420px);
  background:#e6dccf;
  transform:translateX(100%);
  transition:transform .26s cubic-bezier(.16,1,.3,1);
  display:flex;
  flex-direction:column;
  border-left:1px solid rgba(0,0,0,.2);
  will-change: transform;
}

.gb-offcanvas.is-open .gb-offcanvas__panel{
  transform:translateX(0);
}

/* (opzionale) riduce animazioni se utente ha "riduci movimento" */
@media (prefers-reduced-motion: reduce){
  .gb-offcanvas,
  .gb-offcanvas__backdrop,
  .gb-offcanvas__panel{
    transition:none !important;
  }
}

.gb-offcanvas__header{
  display:flex; justify-content:space-between; align-items:center;
  padding:16px; border-bottom:1px solid rgba(0,0,0,.2);
}
.gb-offcanvas__content{ padding:16px; overflow:auto; flex:1; }
.gb-offcanvas__footer{ padding:16px; border-top:1px solid rgba(0,0,0,.2); }

.gb-offcanvas__close{ background:transparent; border:0; font-size:18px; cursor:pointer; }
.gb-offcanvas__apply{
  width:100%;
  padding:14px 16px;
  border-radius:14px;
  border:1px solid rgba(0,0,0,.25);
  background:transparent;
  cursor:pointer;
}

/* Mobile */
@media (max-width: 767px){
  .gb-mobile-filters-btn{ display:block; }
}
/* Desktop: niente bottone */
.gb-mobile-filters-btn{ display:none; }

/* Mobile: mostra bottone e nascondi filtri nel layout */
@media (max-width: 767px){
  .gb-mobile-filters-btn{ display:block; }

  /* nasconde il blocco filtri nel layout desktop su mobile */
  #gbFilters{
    display:none;
  }
}

/* Quando i filtri vengono spostati dentro il pannello, devono tornare visibili */
#gbOffcanvas #gbFilters{
  display:block !important;
}/* End custom CSS */