.elementor-807 .elementor-element.elementor-element-5be6398{--display:flex;}/* Start custom CSS for shortcode, class: .elementor-element-363e4bd *//* Font di base usato nel widget */
.elementor-807 .elementor-element.elementor-element-363e4bd{
  --mgs-avant: "itc-avant-garde-gothic-pro","ITC Avant Garde Gothic Pro",
               "Avant Garde","Avenir","Helvetica Neue",Arial,sans-serif;
}

/* Layout generali */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-menu{ max-width: 900px; margin: 0 auto; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-section{ margin: 2rem 0; }

/* Titoli categoria + evidenziatore */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-section h3{
  --hl-color: #fff3a3;       /* colore di default */
  --hl-height: .52em;
  --hl-offset: .10em;

  font-family: var(--mgs-avant) !important;
  font-weight: 700;
  letter-spacing: .02em;
  font-size: clamp(22px, 2.6vw, 18px);
  line-height: 1.5;
  display: inline;
  padding: 0 .12em;

  background-image: linear-gradient(transparent calc(100% - var(--hl-height)), var(--hl-color) 0);
  background-size: 100% var(--hl-height);
  background-position: 0 calc(100% - var(--hl-offset));
  background-repeat: no-repeat;
  -webkit-box-decoration-break: clone;
          box-decoration-break: clone;

  margin: 0 0 .6rem;
}

/* Colori per categoria — usa gli slug reali */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-cat-antipasti-freddi    h3{ --hl-color:#FFF3A3; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-cat-antipasti-caldi     h3{ --hl-color:#FFF3A3; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-cat-primi-piatti        h3{ --hl-color:#FFF3A3; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-cat-secondi-piatti      h3{ --hl-color:#FFF3A3; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-cat-contorni            h3{ --hl-color:#FFF3A3; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-cat-dolci               h3{ --hl-color:#FFF3A3; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-cat-bollicine-e-rosati  h3{ --hl-color:#F3D1BB; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-cat-vini-locali         h3{ --hl-color:#A4C2E7; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-cat-vini-artigianali    h3{ --hl-color:#A4C2E7; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-cat-menu-bimbi          h3{ --hl-color:#FAD3D4; }

/* Riga piatto */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-item{
  display:flex; gap:1rem; align-items:flex-start; justify-content:space-between;
  padding:.6rem 0; border-bottom:1px solid #eee;
}
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-item:last-child{ border-bottom:none; }

/* Nome + icone affiancati, ingredienti sotto */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-left{
  display:grid;
  grid-template-columns: max-content max-content 1fr; /* nome, icone, riempitivo */
  grid-template-areas:
    "name icons gap"
    "ing  ing   ing";
  column-gap:.35rem; row-gap:.25rem;
  align-items:baseline;
  min-width:0;
}
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-name{
  grid-area:name;
  font-family:var(--mgs-avant) !important;
  font-weight:600;
  font-size:clamp(16px, 1.2vw, 16px);
  line-height:2;
}
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-icos{ grid-area:icons; display:flex; gap:.3rem; align-items:center; margin-top:0; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-ing{
  grid-area:ing;
  font-family:var(--mgs-avant) !important;
  font-weight:300;
  font-size:13px; line-height:15px; color:#5f6b76;
}

/* Nascondi riga testo "Allergeni:" */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-allergens{ display:none !important; }

/* Prezzo */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-price{
  white-space:nowrap; font-family:var(--mgs-avant) !important; font-weight:500; font-size: 15px;
}

/* Responsive */
@media (max-width:640px){
  .elementor-807 .elementor-element.elementor-element-363e4bd .mgs-item{ display:grid; grid-template-columns: 1fr auto; align-items:start; }
  .elementor-807 .elementor-element.elementor-element-363e4bd .mgs-price{ align-self:start; margin-left:12px; }
}

/* Legenda (se attiva) */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-legend{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:.6rem 1rem; margin-top:1.2rem; font-size:.9rem; opacity:.9;
}
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-legend span{ display:flex; align-items:center; gap:.5rem; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-legend .mgs-ico{ width:18px; height:18px; }




/* 1) Allinea le icone al baseline del nome piatto e abbassale di 2px */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-icos{ align-items: baseline; }
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-icos .mgs-ico{
  position: relative;
  top: 2px;                 /* se serve di più o di meno: 1px / 3px */
}

/* 2) Dimensione icone più piccola (vale anche nella legenda) */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-ico{
  width: 18px !important;   /* prima erano 22px */
  height: 18px !important;
}

/* (facoltativo) icone più vicine al nome */
.elementor-807 .elementor-element.elementor-element-363e4bd .mgs-left{ column-gap: 1rem; }  /* prima .35rem */



/* Mobile: metti le icone sotto gli ingredienti */
@media (max-width: 640px){
  /* cambia la griglia del blocco sinistro */
  .elementor-807 .elementor-element.elementor-element-363e4bd .mgs-left{
    grid-template-columns: 1fr;
    grid-template-areas:
      "name"
      "ing"
      "icons";
    column-gap: 0;
    row-gap: .35rem;
    align-items: start;
  }
  /* icone allineate a sinistra e senza offset verticale mobile */
  .elementor-807 .elementor-element.elementor-element-363e4bd .mgs-icos{ justify-self: start; align-items: center; margin-top: .1rem; }
  .elementor-807 .elementor-element.elementor-element-363e4bd .mgs-icos .mgs-ico{ top: 0; }
}/* End custom CSS */