.dm2{width:100%;background:var(--dm2-page-bg,#000);color:var(--dm2-text,#fff);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.dm2 *{box-sizing:border-box}
.dm2-header,.dm2-footer{width:100%}
.dm2-logo{height:auto;display:block;margin:0 auto;padding:18px 12px;width:auto}
.dm2{position:relative;left:50%;right:50%;width:100vw;max-width:100vw;margin-left:-50vw;margin-right:-50vw;min-height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat}.dm2-inner{max-width:1200px;margin:0 auto;padding:18px 0 28px;background:transparent}
.dm2-controls{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:0 18px;flex-wrap:wrap}
.dm2-search-wrap{flex:1;min-width:220px}
.dm2-search{width:100%;padding:14px 14px;border:1px solid var(--dm2-search-border,var(--dm2-border,#fff));border-radius:6px;background:var(--dm2-search-bg,transparent);color:var(--dm2-search-text,var(--dm2-text,#fff));outline:none}
.dm2-search::placeholder{color:var(--dm2-search-placeholder,rgba(255,255,255,.55))}
/* z-index:50 (era 1) — .dm2-lang crea uno stacking context, quindi lo z-index:9999
   del dropdown "+N" vale solo AL SUO INTERNO. Con quota 1 il blocco lingue restava
   sotto .dm2-cats (z-index:5) e il menu a tendina delle bandiere extra spariva dietro
   le categorie in tutti i temi tranne classic/editorial (che avevano un fix scoped).
   Portandolo a 50 il fix vale per tutti i temi. Tra 5 e 9998 non c'è nessun altro
   z-index nel file, quindi non tocca nient'altro. */
.dm2-lang{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:center;padding:10px !important;margin:0 !important;overflow:visible;box-sizing:border-box;position:relative;z-index:50}
.dm2-lang::-webkit-scrollbar{display:none;}
.dm2-lang button{display:flex;gap:8px;align-items:center;padding:8px 10px;border:1px solid var(--dm2-lang-inactive-border,var(--dm2-border,#fff));border-radius:999px;background:var(--dm2-lang-inactive-bg,transparent);color:var(--dm2-lang-inactive-text,var(--dm2-text,#fff));cursor:pointer;font-size:14px}
.dm2-lang button[aria-pressed="true"]{background:var(--dm2-lang-active-bg,var(--dm2-cat-active-bg,#fff));color:var(--dm2-lang-active-text,var(--dm2-cat-active-text,#000));border-color:var(--dm2-lang-active-border,var(--dm2-cat-active-border,#fff))}
.dm2-flag{font-size:16px;line-height:1}
@media(max-width:640px){.dm2-lang .dm2-lang-name{display:none}}

.dm2-cats{display:flex;gap:10px;overflow-x:auto;white-space:nowrap;padding:14px 18px 10px;scrollbar-width:none;margin-top:0;position:relative;z-index:5;background:inherit;clear:both}
.dm2-cats::-webkit-scrollbar{display:none}
/* Lingue: 10px padding sopra e sotto. Categorie: subito, senza margin extra.
   Z-index 5 sulle categorie per evitare che grafici di bandiere sbordino sopra. */
.dm2-cat-btn{flex:0 0 auto;padding:10px 14px;border-radius:999px;border:1px solid var(--dm2-cat-inactive-border,#444);background:var(--dm2-cat-inactive-bg,#111);color:var(--dm2-cat-inactive-text,#fff);cursor:pointer;font-size:var(--dm2-category-font-size,14px);font-family:var(--dm2-category-font-family,inherit)}
.dm2-cat-btn[aria-selected="true"]{background:var(--dm2-cat-active-bg,#fff);color:var(--dm2-cat-active-text,#000);border-color:var(--dm2-cat-active-border,#fff)}

/* Category thumbnail (optional) */
.dm2-cat-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.dm2-cat-thumb{display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.dm2-cat-thumb img{width:34px;height:34px;object-fit:cover;border-radius:10px;border:1px solid var(--dm2-cat-inactive-border,var(--dm2-border));background:var(--dm2-card-bg)}
.dm2-cat-name{display:block;line-height:1.05;white-space:nowrap}

.dm2-products{padding:10px 18px;display:grid;grid-template-columns:1fr;gap:14px}
.dm2-card{border:1px solid var(--dm2-product-card-border,var(--dm2-border,#fff));background:var(--dm2-card-bg,#0b0b0b);border-radius:12px;overflow:hidden;transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease}
.dm2-card:hover{border-color:var(--dm2-product-card-hover,var(--dm2-product-card-border,var(--dm2-border,#fff)));box-shadow:0 0 0 1px color-mix(in srgb, var(--dm2-product-card-hover,#ff4fa3) 35%, transparent)}
.dm2-card-inner{padding:16px}

.dm2-right{display:flex;flex-direction:column;min-width:0}
.dm2-title{order:10}
.dm2-desc{order:20}
.dm2-unavailable{order:25}
.dm2-allergens{order:30}
.dm2-price{order:40}
.dm2-sizes{order:40}
.dm2-title{font-size:var(--dm2-product-title-font-size,18px);font-family:var(--dm2-product-title-font-family,inherit);font-weight:700;margin:0 0 6px;color:var(--dm2-product-title,var(--dm2-text,#fff))}
.dm2-desc{margin:0 0 10px;color:var(--dm2-product-desc,var(--dm2-muted,#bfbfbf));line-height:1.35}
.dm2-price{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--dm2-price-border,var(--dm2-border,#fff));border-radius:999px;font-weight:800;margin-top:10px;background:var(--dm2-price-bg,transparent);color:var(--dm2-price-text,var(--dm2-text,#fff));font-size:var(--dm2-product-price-size,inherit)}
.dm2-sizes{margin-top:10px;color:var(--dm2-text,#fff);font-weight:700;display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.dm2-img-hero{width:100%;height:180px;object-fit:cover;display:block}
.dm2-row{display:flex;gap:12px;align-items:flex-start;flex-wrap:nowrap}
.dm2-img-left{width:96px;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--dm2-border,#fff);flex:0 0 auto}

/* Slightly round product images (inside card) */
.dm2 .dm2-img-left{border-radius:12px;}

.dm2-allergens{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.dm2-allergen{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;border:1px solid var(--dm2-allergen-border,rgba(255,255,255,.55));border-radius:8px;color:var(--dm2-allergen-text,#fff);background:var(--dm2-allergen-bg,transparent);font-size:12px;font-weight:800;letter-spacing:.2px}

.dm2-legend{padding:18px 18px 0;opacity:.95}
.dm2-legend-title{font-weight:800;margin:0 0 10px;color:var(--dm2-legend-title,var(--dm2-text,inherit))}
.dm2-legend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.dm2-legend-grid .dm2-allergen,.dm2-legend-grid .dm2-ref{width:100%;justify-content:flex-start}
.dm2-legend-item{display:flex;gap:8px;align-items:center;border:1px solid var(--dm2-allergen-border,var(--dm2-border));border-radius:999px;padding:8px 10px;background:var(--dm2-allergen-bg,transparent);color:var(--dm2-allergen-text,var(--dm2-text))}
.dm2-legend-name{color:var(--dm2-allergen-text,var(--dm2-text));font-size:13px}

.dm2-footer{padding:16px 12px}
.dm2-socials{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.dm2-socials a{display:inline-flex;gap:8px;align-items:center;color:var(--dm2-social-icon-color,var(--dm2-text));text-decoration:none;border:1px solid var(--dm2-social-icon-border,var(--dm2-border));padding:10px 12px;border-radius:999px;background:var(--dm2-social-icon-bg,transparent)}

.dm2-cat-btn:hover{background:var(--dm2-cat-hover-bg,#1a1a1a);color:var(--dm2-cat-hover-text,#fff);border-color:var(--dm2-cat-hover-border,#666)}
.dm2-lang button:hover{background:var(--dm2-lang-hover-bg,#1a1a1a);color:var(--dm2-lang-hover-text,#fff);border-color:var(--dm2-lang-hover-border,#666)}


.dm2-unavailable{display:inline-block;margin:6px 0 8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.08);font-weight:700;font-size:13px}

@media(max-width:640px){
  .dm2-lang{flex-wrap:wrap;justify-content:center;padding:12px 8px 16px !important;gap:6px;min-height:56px}
  .dm2-lang::-webkit-scrollbar{height:6px}
  .dm2-lang button{flex:0 0 auto}
}


/* Allergens: icon + code + name */
.dm2-allergens{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.dm2-allergen{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--dm2-allergen-border,var(--dm2-border));border-radius:999px;padding:6px 10px;font-size:12px;line-height:1;color:var(--dm2-allergen-text,var(--dm2-text));background:var(--dm2-allergen-bg,transparent)}
.dm2-allergen-ico{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;opacity:.95}
.dm2-allergen-ico svg{width:16px;height:16px}
.dm2-allergen-code{font-weight:700;opacity:.95}
.dm2-allergen-name{opacity:.9}

/* Languages: centered + horizontal slider on mobile */
.dm2-lang{display:flex;gap:10px;align-items:center;justify-content:center;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.dm2-lang::-webkit-scrollbar{display:none}
.dm2-lang button{flex:0 0 auto}
@media (max-width: 640px){
  .dm2-lang{justify-content:center;padding:0 14px}
  .dm2-lang .dm2-lang-name{display:none}
}


/* Category item (image above name) */
.dm2-cats{ display:flex; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; padding:14px 16px; }
.dm2-cat-item{ flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:8px; }
.dm2-cat-img{ width:56px; height:56px; border-radius:14px; border:1px solid var(--dm2-border); overflow:hidden; background:rgba(255,255,255,0.04); display:flex; align-items:center; justify-content:center; }
.dm2-cat-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.dm2-cat-btn{ padding:10px 14px; border-radius:999px; white-space:nowrap; }

/* Allergen & reference chips */
.dm2-allergen, .dm2-ref{ display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid var(--dm2-border); border-radius:999px; background:transparent; color:var(--dm2-text); text-decoration:none; }
.dm2-allergen-ico, .dm2-ref-ico{ width:18px; height:18px; display:inline-flex; }
.dm2-allergen-ico svg, .dm2-ref-ico svg{ width:18px; height:18px; }
.dm2-allergen-code{ font-weight:700; }
.dm2-allergen-name{ opacity:0.9; }
.dm2-legend-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
.dm2-legend-grid .dm2-allergen,
.dm2-legend-grid .dm2-ref{ width:100%; justify-content:flex-start; }
.dm2-refs-grid{ margin-top:10px; }

/* Size chips (always on one row, like category slider) */
.dm2-sizes{ display:flex; flex-wrap:nowrap; gap:10px; margin-top:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.dm2-sizes::-webkit-scrollbar{ height:6px; }
.dm2-sizechip{ display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border:1px solid var(--dm2-border); border-radius:999px; }
.dm2-sizechip-label{ font-weight:700; }
.dm2-sizechip-price{ opacity:0.95; }

/* Single-price chip (same style as sizes) */
.dm2-price{ display:inline-flex; align-items:center; gap:10px; padding:10px 14px; border:1px solid var(--dm2-border); border-radius:999px; margin-top:10px; font-weight:800; }

@media(max-width:640px){
  .dm2-sizechip{ padding:8px 10px; gap:8px; }
  .dm2-sizes{ gap:8px; }
  .dm2-sizechip-label, .dm2-sizechip-price{ font-size:calc(var(--dm2-product-price-size, 15px) * 12 / 15); }
  .dm2-price{ padding:8px 10px; font-size:calc(var(--dm2-product-price-size, 15px) * 12 / 15); }
}

/* Make language bar behave like categories on mobile when overflow */
.dm2-langs{ display:flex; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; justify-content:center; padding:14px 16px; }
.dm2-langs::-webkit-scrollbar, .dm2-cats::-webkit-scrollbar{ height:6px; }


/* --- DM2 Final patches (2026-02-24) --- */
.dm2 .dm2-sizes{ display:flex; flex-wrap:nowrap; gap:10px; overflow-x:auto; -webkit-overflow-scrolling:touch; white-space:nowrap; }
.dm2-sizechip{ flex:0 0 auto; }
.dm2-row > *{ min-width:0; }

.dm2-has-left .dm2-title{ font-size:16px; margin-bottom:4px; }
.dm2-has-left .dm2-desc{ font-size:12px; margin-bottom:8px; }

@media(max-width:640px){
  .dm2-img-left{ width:84px; height:84px; }
  .dm2 .dm2-sizes{ gap:8px; }
  .dm2-sizechip-label, .dm2-sizechip-price{ font-size:calc(var(--dm2-product-price-size, 15px) * 11 / 15); }
}



/* Flag images (uploaded) */
.dm2-flag img{width:18px;height:18px;object-fit:cover;border-radius:50%;display:block}

/* Sizes row below left-image layout */
.dm2-sizes.dm2-sizes-below-left{width:100%;display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;padding:6px 0 0 0;margin:0}
.dm2-allergens.dm2-allergens-below-left{width:100%;margin-top:6px}

/* --- DM2 v1.0.12 micro-tuning --- */
/* Make single price chip visually match size chips (smaller/pill) */
.dm2 .dm2-price{
  padding:9px 12px;
  gap:8px;
  /* Questa era LA regola che annullava l'impostazione "Dimensione prezzo
     prodotto". Con `.dm2 .dm2-price` ha specificita' 0,2,0 e batteva sia
     `.dm2-price{font-size:var(--dm2-product-price-size)}` sia tutte le regole
     dentro i media query: il prezzo restava inchiodato a 13px su qualunque
     schermo e con qualunque valore impostato.
     Ora segue la variabile mantenendo la proporzione: a impostazione 15
     (predefinita) rende esattamente 13px come prima, e cresce da li'. */
  font-size:calc(var(--dm2-product-price-size, 15px) * 13 / 15);
  font-weight:750;
  line-height:1.2;
}

/* Allergens: icon-only mode (no text, no pill box) */
.dm2 .dm2-allergen.dm2-allergen-icononly{
  border:none;
  padding:0;
  background:transparent;
  border-radius:0;
  gap:0;
}
.dm2 .dm2-allergen.dm2-allergen-icononly .dm2-allergen-ico{
  width:18px;
  height:18px;
}
.dm2 .dm2-allergen.dm2-allergen-icononly .dm2-allergen-ico svg{
  width:18px;
  height:18px;
}

/* Ensure sizes are ALWAYS one row when placed below (left layout) */
.dm2 .dm2-sizes.dm2-sizes-below-left{
  display:flex;
  flex-wrap:nowrap;
  white-space:nowrap;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.dm2 .dm2-sizes.dm2-sizes-below-left .dm2-sizechip{ flex:0 0 auto; }

/* --- DM2 v1.0.14 layout tuning (price chip width + sizes single row, no scroll) --- */
.dm2-pricing-block{margin-top:10px;display:flex;flex-direction:column;gap:8px}

/* Price chip should be only as wide as its content (not full-width) */
.dm2 .dm2-pricing-block .dm2-price{align-self:flex-start;width:auto;max-width:100%}

/* Size chips: always a single row, no scroll; distribute evenly */
.dm2 .dm2-pricing-block .dm2-sizes{overflow:visible;flex-wrap:nowrap;width:100%;gap:8px}
.dm2 .dm2-pricing-block .dm2-sizechip{flex:1 1 0;justify-content:center;white-space:nowrap;min-width:0}
.dm2-sizechip-label,.dm2-sizechip-price{font-size:calc(var(--dm2-product-price-size, 15px) * 12 / 15)}

@media(max-width:640px){
  .dm2 .dm2-pricing-block .dm2-sizechip{padding:8px 8px;gap:6px}
  .dm2-sizechip-label,.dm2-sizechip-price{font-size:calc(var(--dm2-product-price-size, 15px) * 11 / 15)}
}


/* Left image column: allow content (e.g., allergens) under the image */
.dm2-has-left .dm2-row { align-items: flex-start; }
.dm2-leftcol{ display:flex; flex-direction:column; align-items:flex-start; gap:8px; flex:0 0 96px; width:96px; max-width:96px; }
.dm2-leftcol .dm2-allergens{ width:100%; justify-content:flex-start; }
.dm2-allergens-under-image{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;margin-top:10px}
.dm2-allergens-under-image .dm2-allergen{ flex:0 0 auto; white-space:nowrap; }

@media(max-width:640px){
  .dm2-leftcol{ flex-basis:84px; width:84px; max-width:84px; }
}

/* === LAYOUT "right_price" (COMPATTO): foto sx | titolo+desc centro | prezzo dx === */
.dm2-layout-right-price .dm2-row{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;     /* DEFAULT (solo titolo): centrato perfetto */
  gap:14px !important;
  width:100%;
}
/* Se c'è descrizione, note, storage O allergeni: prezzo allineato AL TITOLO (in alto).
   Caso "solo titolo + prezzo" (anche con foto/logo): rimane align-items:center → TUTTO
   (foto, titolo, prezzo) perfettamente allineato verticalmente al centro del box.
   NOTA: .dm2-leftcol è stato RIMOSSO dai trigger: la sola presenza della foto non basta
   più a spingere tutto in alto; serve un contenuto testuale sotto il titolo. */
.dm2-layout-right-price .dm2-row:has(.dm2-desc),
.dm2-layout-right-price .dm2-row:has(.dm2-product-note),
.dm2-layout-right-price .dm2-row:has(.dm2-storage-badges),
.dm2-layout-right-price .dm2-row:has(.dm2-allergens-inline){
  align-items:flex-start !important;
}
/* Card: padding simmetrico = contenuto perfettamente centrato anche senza descrizione */
.dm2-layout-right-price .dm2-card-inner{padding:14px 16px !important}
/* === CENTRATURA VERTICALE "AL CENTRO IN ALTEZZA" quando ci sono SOLO titolo+prezzo ===
   La card-inner diventa un flex column con justify-content:center e min-height definita.
   Così titolo+prezzo appaiono esattamente a metà altezza del box, non solo in linea tra loro. */
.dm2-card.dm2-layout-right-price:not(:has(.dm2-leftcol)):not(:has(.dm2-desc)):not(:has(.dm2-product-note)):not(:has(.dm2-storage-badges)):not(:has(.dm2-allergens)):not(:has(.dm2-allergens-under-image)) .dm2-card-inner{
  min-height:72px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
}
/* Anche il titolo e il prezzo in questo caso si centrano tra loro (baseline visivo ~ stesso center) */
.dm2-layout-right-price .dm2-row:not(:has(.dm2-leftcol)):not(:has(.dm2-desc)):not(:has(.dm2-product-note)):not(:has(.dm2-storage-badges)){
  align-items:center !important;
}
/* Senza foto: colonna testo riempie da sinistra, prezzo sempre a destra */
.dm2-layout-right-price:not(.dm2-has-left) .dm2-row{gap:10px !important}
.dm2-layout-right-price:not(.dm2-has-left) .dm2-right{padding:0 !important}
.dm2-layout-right-price .dm2-leftcol{
  flex:0 0 72px !important;
  width:72px !important;
  max-width:72px !important;
}
.dm2-layout-right-price .dm2-img-left{
  width:72px !important;
  height:72px !important;
  border-radius:10px;
}
/* === Layout "right_price_logo": foto SEMPRE visibile (logo come fallback) ===
   Visivamente identico a right_price; qui gestiamo solo come viene mostrato il LOGO di fallback:
   object-fit:contain per non tagliarlo + sfondo tenue per dargli un box coerente con le altre card. */
.dm2-layout-right-price-logo .dm2-img-left[data-dm2-logo="1"]{
  object-fit:contain !important;
  background:rgba(255,255,255,.04);
  padding:6px;
  box-sizing:border-box;
}
.dm2-layout-right-price-logo .dm2-leftcol[data-dm2-logo="1"]{
  /* Piccolo marker visivo: bordo tratteggiato leggero per distinguere "fallback logo" da foto reale */
  border:1px dashed rgba(255,255,255,.12);
  border-radius:10px;
}
.dm2-layout-right-price .dm2-right{
  flex:1 1 auto !important;
  min-width:0 !important;
  padding:0 6px;
}
/* Titolo e prezzo SENZA margin verticali se sono soli → centratura perfetta.
   Se c'è descrizione, il titolo ha 4px di distanza dalla desc. */
.dm2-layout-right-price .dm2-right > .dm2-title{font-size:16px;margin:0 !important;padding:0;line-height:1.25;display:block}
.dm2-layout-right-price .dm2-right > .dm2-desc{font-size:13px;margin:4px 0 0 0 !important;padding:0;line-height:1.35;opacity:.85;display:block;overflow:visible;-webkit-line-clamp:none;word-wrap:break-word;overflow-wrap:break-word}
.dm2-layout-right-price .dm2-pricing-right{
  flex:0 0 auto !important;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-left:auto;
  padding-left:8px;
}
/* Prezzo: ripristino padding normale del chip (background+bordo), dimensione custom via CSS var */
.dm2-layout-right-price .dm2-pricing-right .dm2-price{margin:0 !important;font-size:var(--dm2-product-price-size,15px);font-weight:700;white-space:nowrap;line-height:1.25}
/* Prezzi multipli ("Piccolo 4€ / Medio 6€ / Grande 8€") in COLONNA ordinata, allineati a destra */
.dm2-layout-right-price .dm2-pricing-right .dm2-sizes{display:flex !important;flex-direction:column !important;gap:4px !important;align-items:flex-end !important;max-width:none !important;min-width:80px}
.dm2-layout-right-price .dm2-pricing-right .dm2-sizechip{display:inline-flex !important;align-items:center;gap:6px;font-size:calc(var(--dm2-product-price-size, 15px) * 12 / 15) !important;padding:4px 10px !important;white-space:nowrap;min-width:72px;justify-content:space-between;width:auto !important}
.dm2-layout-right-price .dm2-pricing-right .dm2-sizechip-label{font-weight:500;opacity:.85}
.dm2-layout-right-price .dm2-pricing-right .dm2-sizechip-price{font-weight:700}
/* Badge "Popolare/Consigliato" SOPRA il titolo (annulla order:15 globale) */
.dm2-layout-right-price .dm2-right .dm2-badges{order:-1 !important;margin:0 0 6px 0 !important}
.dm2-layout-right-price .dm2-allergens,
.dm2-layout-right-price .dm2-allergens-under-image,
.dm2-layout-right-price .dm2-right .dm2-allergens-inline{margin-top:8px;grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}
/* Allergeni DENTRO .dm2-right (layout right_price): allineati al titolo, sotto descrizione */
.dm2-layout-right-price .dm2-right .dm2-allergens-inline{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px 14px !important;         /* verticale 10px, orizzontale 14px (compensa padding rimosso sul primo) */
  width:100%;
  margin:8px 0 0 0 !important;
  padding-left:0 !important;
  justify-content:flex-start !important;
  order:30;                         /* sempre sotto titolo, desc, note, storage */
}
/* Allineamento FLUSH LEFT: il primo badge azzera il padding-left interno così la sua icona/testo
   parte esattamente alla stessa X del titolo prodotto. */
.dm2-layout-right-price .dm2-right .dm2-allergens-inline > .dm2-allergen:first-child{
  padding-left:0 !important;
  margin-left:0 !important;
}
/* Mobile right_price: mantiene layout orizzontale, foto più piccola */
@media(max-width:640px){
  .dm2-layout-right-price .dm2-leftcol{flex:0 0 60px !important;width:60px !important;max-width:60px !important}
  .dm2-layout-right-price .dm2-img-left{width:60px !important;height:60px !important}
  .dm2-layout-right-price .dm2-title{font-size:14px}
  .dm2-layout-right-price .dm2-desc{font-size:12px;-webkit-line-clamp:none;display:block;overflow:visible}
  .dm2-layout-right-price .dm2-pricing-right .dm2-price{font-size:calc(var(--dm2-product-price-size, 15px) * 13 / 15)}
  .dm2-layout-right-price .dm2-card-inner{padding:10px 12px !important}
  .dm2-layout-right-price .dm2-row{gap:10px !important}
}

/* --- DM2 v1.0.22: Product allergens as compact grid (max 2-3 per row) --- */
.dm2 .dm2-card-inner .dm2-allergens,
.dm2 .dm2-card-inner .dm2-allergens-under-image{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:8px;
  width:100%;
  overflow:visible;
}
@media(min-width:520px){
  .dm2-card-inner .dm2-allergens,
  .dm2-card-inner .dm2-allergens-under-image{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Make badges fit the cell and avoid overflow */
.dm2-card-inner .dm2-allergen{ min-width:0; justify-content:flex-start; }
.dm2-card-inner .dm2-allergen-name{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* Safety: hide code/initial inside product cards (we already remove it in JS) */
.dm2-card-inner .dm2-allergen-code{ display:none; }


/* Hide flags when disabled */
.dm2-hide-flags .dm2-lang .dm2-flag{display:none!important;}

/* When language selector is disabled, hide it completely (no flags and no names). */
.dm2-hide-lang .dm2-lang{display:none!important;}


/* Center language selector and allow horizontal swipe when overflow */
.dm2 .dm2-lang{display:flex;justify-content:center;align-items:center;gap:10px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:0 14px;scrollbar-width:none;}
.dm2 .dm2-lang::-webkit-scrollbar{display:none;}
.dm2 .dm2-lang button{flex:0 0 auto;}


@media (max-width: 520px){
  .dm2-controls{flex-direction:column;align-items:center;justify-content:center;gap:10px;}
  .dm2-search-wrap{width:100%;min-width:0;}
  .dm2-lang{max-width:100%;}
}


/* === Google Translate — nascondi COMPLETAMENTE ogni UI Google === */
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame,
.goog-te-balloon-frame,
#goog-gt-tt,
.goog-tooltip,
.goog-tooltip:hover,
.goog-tooltip-popup,
.goog-te-gadget-simple,
.goog-te-gadget-icon,
img.goog-te-gadget-icon,
.goog-te-gadget span,
.goog-te-gadget-simple .goog-te-gadget-icon,
.goog-te-menu-value,
.goog-te-menu-value span,
.goog-logo-link,
.goog-logo-link img,
.skiptranslate iframe,
.skiptranslate > iframe,
.goog-te-spinner-pos,
.VIpgJd-ZVi9od-aZ2wEe-wOHMyf,
.VIpgJd-ZVi9od-aZ2wEe,
.VIpgJd-ZVi9od-ORHb-OEVmcd,
#google_translate_element,
#dm2_google_translate_element {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
}
/* Google sposta il body di 40px quando mostra la banner — forziamo il reset */
body { top: 0 !important; position: static !important; }
html { margin-top: 0 !important; }
/* Rimuovi highlight hover Google su testo tradotto */
.goog-text-highlight { background: transparent !important; box-shadow: none !important; border: none !important; }

/* active = hover highlight */
.dm2-active-hover,.is-active,[aria-pressed="true"],[aria-selected="true"]{transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease}

.dm2-cat-btn[aria-selected="true"],.dm2-lang button[aria-pressed="true"]{box-shadow:0 0 0 2px rgba(255,255,255,.25) inset}


/* --- Menu themes (MenuDigitale24h) --- */
.dm2-menu-theme-showcase .dm2-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dm2-menu-theme-showcase .dm2-card{border-radius:18px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.dm2-menu-theme-showcase .dm2-card-inner{padding:18px}
.dm2-menu-theme-showcase .dm2-img-hero{height:220px}
.dm2-menu-theme-showcase .dm2-row{display:block}
.dm2-menu-theme-showcase .dm2-img-left{width:100%;height:220px;border-radius:0;border:0;display:block;margin:0 0 14px}
.dm2-menu-theme-showcase .dm2-title{font-size:24px;line-height:1.1;margin-bottom:8px}
.dm2-menu-theme-showcase .dm2-desc{font-size:15px;line-height:1.45}
.dm2-menu-theme-showcase .dm2-price,.dm2-menu-theme-showcase .dm2-sizechip{border-radius:12px}
@media(max-width:900px){.dm2-menu-theme-showcase .dm2-products{grid-template-columns:1fr}}

.dm2-menu-theme-compact .dm2-products{gap:10px}
.dm2-menu-theme-compact .dm2-card{border-radius:10px}
.dm2-menu-theme-compact .dm2-card-inner{padding:12px}
.dm2-menu-theme-compact .dm2-row{gap:14px;align-items:flex-start}
.dm2-menu-theme-compact .dm2-img-left{width:112px;height:112px;border-radius:10px}
.dm2-menu-theme-compact .dm2-title{font-size:17px;margin-bottom:4px;font-weight:700}
.dm2-menu-theme-compact .dm2-desc{font-size:13px;line-height:1.35;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.dm2.dm2-menu-theme-compact .dm2-price{padding:8px 11px;font-size:calc(var(--dm2-product-price-size, 15px) * 12 / 15)}
.dm2.dm2-menu-theme-compact .dm2-sizechip{padding:8px 10px}

.dm2-menu-theme-classic .dm2-products{grid-template-columns:1fr}
/* Tema Classic: header attacca subito sotto (no spazio bianco), ma categorie ben spaziate */
.dm2[data-dm2="menu"].dm2-menu-theme-classic{position:relative;z-index:1;margin-top:0 !important;padding-top:0 !important}
.dm2[data-dm2="menu"].dm2-menu-theme-classic .dm2-inner{padding-top:0 !important;margin-top:0 !important}
.dm2[data-dm2="menu"].dm2-menu-theme-classic .dm2-controls{padding-top:10px}
/* .dm2-lang z-index:50 > .dm2-cats z-index:10 così il dropdown "+N" (bandiere extra) appare
   SOPRA la riga categorie anche nei temi classic/editorial. overflow:visible evita il clipping. */
.dm2[data-dm2="menu"].dm2-menu-theme-classic .dm2-lang,
.dm2[data-dm2="menu"].dm2-menu-theme-editorial .dm2-lang{z-index:50;position:relative;clear:both;padding-bottom:14px !important;overflow:visible}
.dm2[data-dm2="menu"].dm2-menu-theme-classic .dm2-cats,
.dm2[data-dm2="menu"].dm2-menu-theme-editorial .dm2-cats{
  position:relative;
  z-index:10;
  scroll-margin-top:120px;
  clear:both;
  /* Solo per classic ed editorial: padding-top 20px sopra le categorie così i cerchi delle
     bandiere NON coprono le categorie (altri temi non hanno questo problema). */
  padding-top:20px !important;
}
.dm2[data-dm2="menu"].dm2-menu-theme-classic .dm2-products{clear:both;padding-top:8px}
@media(max-width:640px){
  .dm2[data-dm2="menu"].dm2-menu-theme-classic .dm2-controls{padding-top:6px}
  .dm2[data-dm2="menu"].dm2-menu-theme-classic .dm2-lang{padding-bottom:12px !important;min-height:56px}
  /* Mobile: MANTIENI padding-top 20px anche su classic+editorial per evitare sovrapposizione bandiere */
  .dm2[data-dm2="menu"].dm2-menu-theme-classic .dm2-cats,
  .dm2[data-dm2="menu"].dm2-menu-theme-editorial .dm2-cats{padding-top:20px !important;padding-bottom:10px !important}
}

@media(max-width:640px){
  .dm2-menu-theme-showcase .dm2-img-hero,.dm2-menu-theme-showcase .dm2-img-left{height:190px}
  .dm2-menu-theme-showcase .dm2-title{font-size:20px}
  .dm2-menu-theme-compact .dm2-row{display:flex}
  .dm2-menu-theme-compact .dm2-img-left{width:92px;height:92px}
}

/* ===== Additional customer menu themes ===== */
.dm2-menu-theme-grid .dm2-inner,
.dm2-menu-theme-mosaic .dm2-inner{max-width:1280px;padding-top:12px}
.dm2-menu-theme-grid .dm2-cats,
.dm2-menu-theme-mosaic .dm2-cats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:16px 18px 8px;
  overflow:visible;
  white-space:normal;
}
.dm2-menu-theme-grid .dm2-cat-item,
.dm2-menu-theme-mosaic .dm2-cat-item{
  position:relative;
  width:100%;
  min-height:180px;
  border-radius:0;
  overflow:hidden;
  display:block;
  border:1px solid var(--dm2-border,#fff);
  background:var(--dm2-card-bg,#0b0b0b);
}
.dm2-menu-theme-grid .dm2-cat-img,
.dm2-menu-theme-mosaic .dm2-cat-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:none;
  border-radius:0;
  overflow:hidden;
}
.dm2-menu-theme-grid .dm2-cat-img img,
.dm2-menu-theme-mosaic .dm2-cat-img img{
  width:100%;height:100%;object-fit:cover;display:block;
}
.dm2-menu-theme-grid .dm2-cat-img::after,
.dm2-menu-theme-mosaic .dm2-cat-img::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,.62) 100%);
}
.dm2-menu-theme-grid .dm2-cat-btn,
.dm2-menu-theme-mosaic .dm2-cat-btn{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  border:none;
  border-radius:0;
  background:transparent;
  color:#fff;
  align-items:flex-end;
  justify-content:flex-start;
  padding:18px;
  text-align:left;
}
.dm2-menu-theme-grid .dm2-cat-btn[aria-selected="true"],
.dm2-menu-theme-mosaic .dm2-cat-btn[aria-selected="true"]{
  background:transparent;
  color:#fff;
  /* RIMOSSO inset box-shadow: causava un bordo colorato 3px solo sulla prima categoria
     (quella attiva di default), creando un'asimmetria visiva indesiderata. La categoria
     attiva è comunque chiaramente identificabile dai prodotti mostrati sotto. */
  box-shadow:none;
}
.dm2-menu-theme-grid .dm2-cat-name,
.dm2-menu-theme-mosaic .dm2-cat-name{
  position:relative;
  z-index:2;
  font-size:clamp(24px,3.1vw,44px);
  line-height:1.05;
  font-weight:800;
  white-space:normal;
  text-shadow:0 2px 16px rgba(0,0,0,.45);
}
.dm2-menu-theme-grid .dm2-products,
.dm2-menu-theme-mosaic .dm2-products{padding-top:14px}
.dm2-menu-theme-mosaic .dm2-cats{grid-template-columns:repeat(3,minmax(0,1fr));}
.dm2-menu-theme-mosaic .dm2-cat-item:nth-child(4n+1){min-height:220px}
.dm2-menu-theme-mosaic .dm2-cat-item:nth-child(4n+2){min-height:220px}
.dm2-menu-theme-grid .dm2-card,
.dm2-menu-theme-mosaic .dm2-card{border-radius:18px}
@media(max-width:900px){
  .dm2-menu-theme-mosaic .dm2-cats{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  .dm2-menu-theme-grid .dm2-cats,
  .dm2-menu-theme-mosaic .dm2-cats{grid-template-columns:1fr 1fr;gap:10px;padding:12px 12px 6px}
  .dm2-menu-theme-grid .dm2-cat-item,
  .dm2-menu-theme-mosaic .dm2-cat-item{min-height:150px}
  .dm2-menu-theme-grid .dm2-cat-btn,
  .dm2-menu-theme-mosaic .dm2-cat-btn{padding:12px}
  .dm2-menu-theme-grid .dm2-cat-name,
  .dm2-menu-theme-mosaic .dm2-cat-name{font-size:var(--dm2-category-font-size,30px);font-family:var(--dm2-category-font-family,inherit)}
}

/* ===== Additional theme variants ===== */
.dm2-menu-theme-tiles .dm2-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 16px}
.dm2-menu-theme-tiles .dm2-cat-item{min-height:160px;border-radius:18px;overflow:hidden;position:relative;background:var(--dm2-card-bg,#111);border:1px solid var(--dm2-cat-inactive-border,#444)}
.dm2-menu-theme-tiles .dm2-cat-img{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0}
.dm2-menu-theme-tiles .dm2-cat-img img{width:100%;height:100%;object-fit:cover}
.dm2-menu-theme-tiles .dm2-cat-btn{position:absolute;inset:auto 12px 12px 12px;border-radius:18px;padding:18px 16px;background:rgba(0,0,0,.34);backdrop-filter:blur(2px);border:1px solid rgba(255,255,255,.18);white-space:normal}
.dm2-menu-theme-tiles .dm2-cat-name{font-size:var(--dm2-category-font-size,34px);font-family:var(--dm2-category-font-family,inherit);font-weight:800;line-height:1.03;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.dm2-menu-theme-tiles .dm2-products{padding-top:8px}

.dm2-menu-theme-editorial .dm2-cats{display:flex;gap:12px;overflow-x:auto;padding:16px 18px 10px}
.dm2-menu-theme-editorial .dm2-cat-item{min-width:220px;min-height:120px;border-radius:20px;overflow:hidden;position:relative;border:1px solid var(--dm2-cat-inactive-border,#444);background:var(--dm2-card-bg,#111)}
.dm2-menu-theme-editorial .dm2-cat-img{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0}
.dm2-menu-theme-editorial .dm2-cat-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.58))}
.dm2-menu-theme-editorial .dm2-cat-btn{position:absolute;left:12px;right:12px;bottom:12px;background:transparent;border:0;padding:0;justify-content:flex-start}
.dm2-menu-theme-editorial .dm2-cat-name{font-size:var(--dm2-category-font-size,28px);font-family:var(--dm2-category-font-family,inherit);font-weight:800;line-height:1.02;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45);white-space:normal}
.dm2-menu-theme-editorial .dm2-card{border-radius:24px}
.dm2-menu-theme-editorial .dm2-card-inner{padding:18px}
.dm2-menu-theme-editorial .dm2-row{gap:18px}
.dm2-menu-theme-editorial .dm2-img-left{width:120px;height:120px;border-radius:16px}
.dm2-menu-theme-editorial .dm2-title{font-size:22px}

.dm2-menu-theme-gallery .dm2-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px 16px}
.dm2-menu-theme-gallery .dm2-cat-item{min-height:180px;border-radius:24px;overflow:hidden;position:relative;background:var(--dm2-card-bg,#111);border:1px solid var(--dm2-cat-inactive-border,#444)}
.dm2-menu-theme-gallery .dm2-cat-img{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0}
.dm2-menu-theme-gallery .dm2-cat-img img{transform:scale(1.01);transition:transform .24s ease}
.dm2-menu-theme-gallery .dm2-cat-item:hover .dm2-cat-img img{transform:scale(1.06)}
.dm2-menu-theme-gallery .dm2-cat-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.55))}
.dm2-menu-theme-gallery .dm2-cat-btn{position:absolute;inset:auto 0 0 0;background:transparent;border:0;padding:18px}
.dm2-menu-theme-gallery .dm2-cat-name{font-size:var(--dm2-category-font-size,32px);font-family:var(--dm2-category-font-family,inherit);font-weight:800;line-height:1.02;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.45);white-space:normal}
.dm2-menu-theme-gallery .dm2-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dm2-menu-theme-gallery .dm2-card{border-radius:22px}
.dm2-menu-theme-gallery .dm2-row{display:block}
.dm2-menu-theme-gallery .dm2-img-left{width:100%;height:220px;border-radius:18px;margin:0 0 14px;border-width:0}
.dm2-menu-theme-gallery .dm2-card-inner{padding:18px}

@media(max-width:900px){.dm2-menu-theme-gallery .dm2-products{grid-template-columns:1fr}}
@media(max-width:767px){
  .dm2-menu-theme-tiles .dm2-cats,.dm2-menu-theme-gallery .dm2-cats{grid-template-columns:1fr 1fr}
  .dm2-menu-theme-tiles .dm2-cat-item,.dm2-menu-theme-gallery .dm2-cat-item{min-height:150px}
  .dm2-menu-theme-editorial .dm2-cat-item{min-width:180px;min-height:110px}
}


/* --- Menu themes refresh v1.40.3 --- */
.dm2-menu-theme-tiles .dm2-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
.dm2-menu-theme-tiles .dm2-cat-item{min-height:170px;border-radius:22px;overflow:hidden;position:relative;background:linear-gradient(160deg,rgba(255,255,255,.04),rgba(255,255,255,.01));border:1px solid var(--dm2-cat-inactive-border,#444);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.dm2-menu-theme-tiles .dm2-cat-item:not(:has(.dm2-cat-img)){background:linear-gradient(135deg,var(--dm2-card-bg,#111),color-mix(in srgb, var(--dm2-card-bg,#111) 70%, #fff 30%));}
.dm2-menu-theme-tiles .dm2-cat-btn{display:flex;align-items:flex-end;justify-content:flex-start;text-align:left;min-height:76px}
.dm2-menu-theme-tiles .dm2-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.dm2-menu-theme-tiles .dm2-card{border-radius:22px;overflow:hidden}
.dm2-menu-theme-tiles .dm2-card-inner{padding:18px}
@media(max-width:900px){.dm2-menu-theme-tiles .dm2-products{grid-template-columns:1fr}}

.dm2-menu-theme-editorial .dm2-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.dm2-menu-theme-editorial .dm2-card{border-radius:26px;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.18)}
.dm2-menu-theme-editorial .dm2-card-inner{padding:20px}
.dm2-menu-theme-editorial .dm2-title{font-size:24px;line-height:1.08;margin-bottom:8px}
.dm2-menu-theme-editorial .dm2-desc{font-size:14px;line-height:1.5}
@media(max-width:900px){.dm2-menu-theme-editorial .dm2-products{grid-template-columns:1fr}}

.dm2-menu-theme-gallery .dm2-card{box-shadow:0 16px 32px rgba(0,0,0,.18)}
.dm2-menu-theme-gallery .dm2-title{font-size:22px;line-height:1.08}
.dm2-menu-theme-gallery .dm2-desc{font-size:14px;line-height:1.45}

.dm2-menu-theme-slide .dm2-inner{max-width:1320px;padding-top:10px}
.dm2-menu-theme-slide .dm2-cats{display:flex;gap:14px;overflow-x:auto;padding:14px 18px 10px;scroll-snap-type:x proximity;scrollbar-width:thin}
.dm2-menu-theme-slide .dm2-cat-item{scroll-snap-align:start;flex:0 0 min(82vw,300px);min-height:220px;border-radius:26px;overflow:hidden;position:relative;background:linear-gradient(145deg,var(--dm2-card-bg,#111),color-mix(in srgb,var(--dm2-card-bg,#111) 68%, #fff 32%));border:1px solid var(--dm2-cat-inactive-border,#444);box-shadow:0 18px 36px rgba(0,0,0,.20)}
.dm2-menu-theme-slide .dm2-cat-img{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0}
.dm2-menu-theme-slide .dm2-cat-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform .28s ease}
.dm2-menu-theme-slide .dm2-cat-item:hover .dm2-cat-img img{transform:scale(1.08)}
.dm2-menu-theme-slide .dm2-cat-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.62))}
.dm2-menu-theme-slide .dm2-cat-btn{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(0,0,0,.22);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:18px 16px;justify-content:flex-start;text-align:left;white-space:normal}
.dm2-menu-theme-slide .dm2-cat-btn[aria-selected="true"]{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.34)}
.dm2-menu-theme-slide .dm2-cat-name{font-size:var(--dm2-category-font-size,36px);font-family:var(--dm2-category-font-family,inherit);font-weight:800;line-height:1;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.42)}
.dm2-menu-theme-slide .dm2-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-top:12px}
.dm2-menu-theme-slide .dm2-card{border-radius:24px;overflow:hidden;box-shadow:0 16px 30px rgba(0,0,0,.16)}
.dm2-menu-theme-slide .dm2-card-inner{padding:18px}
.dm2-menu-theme-slide .dm2-row{display:block}
.dm2-menu-theme-slide .dm2-img-left,.dm2-menu-theme-slide .dm2-img-hero{width:100%;height:220px;border-radius:18px;margin:0 0 14px;border-width:0;object-fit:cover}
.dm2-menu-theme-slide .dm2-title{font-size:22px;line-height:1.08;margin-bottom:8px}
.dm2-menu-theme-slide .dm2-desc{font-size:14px;line-height:1.45}
@media(max-width:900px){.dm2-menu-theme-slide .dm2-cat-item{flex-basis:min(78vw,260px);min-height:190px}.dm2-menu-theme-slide .dm2-products{grid-template-columns:1fr}.dm2-menu-theme-slide .dm2-img-left,.dm2-menu-theme-slide .dm2-img-hero{height:200px}}


/* v1.40.6 color consistency fixes */
.dm2-menu-theme-tiles .dm2-cat-btn,
.dm2-menu-theme-editorial .dm2-cat-btn,
.dm2-menu-theme-gallery .dm2-cat-btn,
.dm2-menu-theme-slide .dm2-cat-btn{color:var(--dm2-cat-active-text,var(--dm2-text));}
.dm2-menu-theme-tiles .dm2-cat-name,
.dm2-menu-theme-editorial .dm2-cat-name,
.dm2-menu-theme-gallery .dm2-cat-name,
.dm2-menu-theme-slide .dm2-cat-name{color:var(--dm2-cat-active-text,var(--dm2-text));}
.dm2-menu-theme-tiles .dm2-cat-btn,
.dm2-menu-theme-slide .dm2-cat-btn{background:color-mix(in srgb,var(--dm2-cat-active-bg) 22%, transparent);border-color:color-mix(in srgb,var(--dm2-cat-active-border) 55%, transparent);}
.dm2-menu-theme-tiles .dm2-cat-btn[aria-selected="true"],
.dm2-menu-theme-slide .dm2-cat-btn[aria-selected="true"]{background:color-mix(in srgb,var(--dm2-cat-active-bg) 38%, transparent);border-color:var(--dm2-cat-active-border);}
.dm2-menu-theme-editorial .dm2-cat-item,
.dm2-menu-theme-gallery .dm2-cat-item,
.dm2-menu-theme-slide .dm2-cat-item,
.dm2-menu-theme-tiles .dm2-cat-item{border-color:var(--dm2-cat-inactive-border,var(--dm2-border));}
.dm2-menu-theme-editorial .dm2-card,
.dm2-menu-theme-gallery .dm2-card,
.dm2-menu-theme-slide .dm2-card,
.dm2-menu-theme-tiles .dm2-card{border-color:var(--dm2-product-card-border,var(--dm2-border));}
.dm2-menu-theme-editorial .dm2-card:hover,
.dm2-menu-theme-gallery .dm2-card:hover,
.dm2-menu-theme-slide .dm2-card:hover,
.dm2-menu-theme-tiles .dm2-card:hover{border-color:var(--dm2-product-card-hover,var(--dm2-product-card-border,var(--dm2-border)));}
.dm2-menu-theme-editorial .dm2-title,
.dm2-menu-theme-gallery .dm2-title,
.dm2-menu-theme-slide .dm2-title,
.dm2-menu-theme-tiles .dm2-title{color:var(--dm2-product-title,var(--dm2-text));}
.dm2-menu-theme-editorial .dm2-desc,
.dm2-menu-theme-gallery .dm2-desc,
.dm2-menu-theme-slide .dm2-desc,
.dm2-menu-theme-tiles .dm2-desc{color:var(--dm2-product-desc,var(--dm2-muted));}


/* ===== DM2 v1.40.7 color consistency fixes (consolidated into v1.40.8 below) ===== */


/* ===== DM2 v1.40.8 allergen + sizes color hard fix ===== */
.dm2 .dm2-allergen,
.dm2 .dm2-allergen.dm2-allergen-icononly,
.dm2 .dm2-allergens .dm2-allergen,
.dm2 .dm2-allergens-under-image .dm2-allergen,
.dm2 .dm2-legend-item,
.dm2 .dm2-legend-grid .dm2-allergen,
.dm2 .dm2-ref,
.dm2 .dm2-legend-grid .dm2-ref{
  background:var(--dm2-allergen-bg, transparent);
  color:var(--dm2-allergen-text, var(--dm2-text, #fff));
  border-color:var(--dm2-allergen-border, var(--dm2-border, #fff));
}
.dm2 .dm2-allergen .dm2-allergen-ico,
.dm2 .dm2-allergen .dm2-allergen-ico svg,
.dm2 .dm2-legend-item .dm2-allergen-ico,
.dm2 .dm2-legend-item .dm2-allergen-ico svg{
  color:inherit;
  stroke:currentColor;
  fill:none;
}
.dm2 .dm2-allergen .dm2-allergen-code,
.dm2 .dm2-allergen .dm2-allergen-name,
.dm2 .dm2-legend-name{color:inherit;}

.dm2 .dm2-sizechip,
.dm2 .dm2-sizechip *,
.dm2 .dm2-price,
.dm2 .dm2-price *,
.dm2 .dm2-singleprice,
.dm2 .dm2-singleprice *,
.dm2 .dm2-sizes .dm2-sizechip,
.dm2 .dm2-sizes .dm2-sizechip *,
.dm2 .dm2-sizes.dm2-sizes-below-left .dm2-sizechip,
.dm2 .dm2-sizes.dm2-sizes-below-left .dm2-sizechip *{
  background:transparent;
  color:inherit;
}
.dm2 .dm2-sizechip,
.dm2 .dm2-price,
.dm2 .dm2-singleprice,
.dm2 .dm2-sizes .dm2-sizechip,
.dm2 .dm2-sizes.dm2-sizes-below-left .dm2-sizechip,
.dm2 .dm2-sizechip .dm2-sizechip-label,
.dm2 .dm2-sizechip .dm2-sizechip-price,
.dm2 .dm2-singleprice{
  background:var(--dm2-price-bg, transparent);
  color:var(--dm2-price-text, var(--dm2-text, #fff));
  border-color:var(--dm2-price-border, var(--dm2-border, #fff));
}
.dm2.dm2-menu-theme-showcase .dm2-sizechip,
.dm2.dm2-menu-theme-compact .dm2-sizechip,
.dm2.dm2-menu-theme-grid .dm2-sizechip,
.dm2.dm2-menu-theme-mosaic .dm2-sizechip,
.dm2.dm2-menu-theme-tiles .dm2-sizechip,
.dm2.dm2-menu-theme-editorial .dm2-sizechip,
.dm2.dm2-menu-theme-gallery .dm2-sizechip,
.dm2.dm2-menu-theme-slide .dm2-sizechip{
  background:var(--dm2-price-bg, transparent);
  color:var(--dm2-price-text, var(--dm2-text, #fff));
  border-color:var(--dm2-price-border, var(--dm2-border, #fff));
}


/* Popup theme: categories first, products after click */
.dm2-menu-theme-popup .dm2-inner{max-width:1200px}
.dm2-menu-theme-popup .dm2-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding-top:16px}
.dm2-menu-theme-popup .dm2-cat-item{min-height:170px;border-radius:24px;overflow:hidden;position:relative;background:linear-gradient(145deg,var(--dm2-card-bg,#111),color-mix(in srgb,var(--dm2-card-bg,#111) 70%, #fff 30%));border:1px solid var(--dm2-cat-inactive-border,var(--dm2-border));box-shadow:0 14px 28px rgba(0,0,0,.18)}
.dm2-menu-theme-popup .dm2-cat-img{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0}
.dm2-menu-theme-popup .dm2-cat-img img{width:100%;height:100%;object-fit:cover}
.dm2-menu-theme-popup .dm2-cat-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.62))}
.dm2-menu-theme-popup .dm2-cat-btn{position:absolute;left:14px;right:14px;bottom:14px;justify-content:flex-start;text-align:left;white-space:normal;background:color-mix(in srgb,var(--dm2-cat-active-bg) 24%, transparent);border-color:color-mix(in srgb,var(--dm2-cat-active-border) 58%, transparent);backdrop-filter:blur(4px);padding:18px 16px;border-radius:20px}
.dm2-menu-theme-popup .dm2-cat-name{font-size:var(--dm2-category-font-size,30px);font-family:var(--dm2-category-font-family,inherit);font-weight:800;line-height:1.02;color:var(--dm2-cat-active-text,var(--dm2-text));text-shadow:0 2px 10px rgba(0,0,0,.35)}
.dm2-menu-theme-popup .dm2-products{grid-template-columns:1fr;gap:18px;padding-top:6px}
.dm2-menu-theme-popup .dm2-card{border-radius:22px;overflow:hidden;box-shadow:0 12px 26px rgba(0,0,0,.12)}
.dm2-popup-back{display:inline-flex;align-items:center;gap:8px;margin:8px 0 14px;padding:12px 16px;border-radius:999px;border:1px solid var(--dm2-primary-btn-border,var(--dm2-border));background:var(--dm2-primary-btn-bg,var(--dm2-card-bg));color:var(--dm2-primary-btn-text,var(--dm2-text));font-weight:700;cursor:pointer}
.dm2-popup-back:hover{filter:brightness(1.05)}
@media(max-width:900px){.dm2-menu-theme-popup .dm2-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dm2-menu-theme-popup .dm2-cat-item{min-height:150px}.dm2-menu-theme-popup .dm2-cat-name{font-size:calc(var(--dm2-category-font-size,30px) * .78)}}


.dm2-cat-pos-left .dm2-cat-btn{justify-content:flex-start;text-align:left;align-items:flex-start}
.dm2-cat-pos-center .dm2-cat-btn{justify-content:center;text-align:center;align-items:center}
.dm2-cat-pos-right .dm2-cat-btn{justify-content:flex-end;text-align:right;align-items:flex-end}
.dm2-cat-pos-top-left .dm2-cat-btn{top:12px;bottom:auto;left:12px;right:12px;justify-content:flex-start;text-align:left;align-items:flex-start}
.dm2-cat-pos-top-center .dm2-cat-btn{top:12px;bottom:auto;left:12px;right:12px;justify-content:center;text-align:center;align-items:center}
.dm2-cat-pos-bottom-left .dm2-cat-btn{justify-content:flex-start;text-align:left;align-items:flex-start}
.dm2-cat-pos-bottom-center .dm2-cat-btn{justify-content:center;text-align:center;align-items:center}
.dm2-cat-pos-center-center .dm2-cat-btn{top:50%;bottom:auto;transform:translateY(-50%);left:12px;right:12px;justify-content:center;text-align:center;align-items:center}

.dm2-socials .dm2-ref-ico{display:inline-flex;align-items:center;justify-content:center;width:var(--dm2-social-icon-size,22px);height:var(--dm2-social-icon-size,22px)}
.dm2-socials .dm2-ref-ico svg{width:var(--dm2-social-icon-size,22px);height:var(--dm2-social-icon-size,22px);display:block;fill:currentColor}

.dm2-back-arrow{position:fixed;bottom:18px;left:18px;z-index:9998;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.12);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;outline:none;-webkit-appearance:none}
.dm2-back-arrow:hover{background:rgba(255,255,255,.25);transform:scale(1.1)}
.dm2-back-arrow svg{width:20px;height:20px;stroke:#fff;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* Hide Google Translate UI from start - translation works via cookie */
.dm2-gtranslate{height:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;position:absolute!important}
.skiptranslate{display:none!important}
.goog-te-banner-frame{display:none!important}
body{top:0!important}

/* Force overflow visible for language dropdown */
.dm2 .dm2-lang,.dm2 .dm2-controls .dm2-lang{overflow:visible;overflow-x:visible}

/* Flag dropdown menu */
.dm2-lang-more-wrap{position:relative;display:inline-flex;align-items:center}
.dm2-lang-more-btn{min-width:44px;height:44px;border-radius:22px;border:1px solid var(--dm2-lang-inactive-border,#fff);background:var(--dm2-lang-inactive-bg,#000);color:var(--dm2-lang-inactive-text,#fff);font-size:14px;font-weight:800;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0 6px}
.dm2-lang-more-btn:hover{background:var(--dm2-lang-hover-bg,#1a1a1a)}
.dm2-lang-dropdown{display:none;position:absolute;top:calc(100% + 8px);right:0;z-index:9999;background:#111;border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:8px;min-width:200px;max-height:320px;overflow-y:auto;box-shadow:0 12px 40px rgba(0,0,0,.7);flex-direction:column;gap:4px}
.dm2-lang-dropdown.is-open{display:flex}
.dm2-lang-dropdown button{width:100%;text-align:left;border-radius:10px;padding:10px 14px;font-size:14px;background:transparent;border:1px solid transparent;color:#fff;cursor:pointer;display:flex;align-items:center;gap:8px}
.dm2-lang-dropdown button:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15)}

/* ===== RESTAURANT TEMPLATES ===== */

/* Luxury */
.dm2.dm2-tpl-luxury{font-family:Garamond,"Times New Roman",Georgia,serif;letter-spacing:.01em}
.dm2.dm2-tpl-luxury .dm2-card{border-radius:4px;box-shadow:0 4px 24px rgba(0,0,0,.15)}
.dm2.dm2-tpl-luxury .dm2-title{font-size:22px;font-weight:400;letter-spacing:.04em;text-transform:uppercase}
.dm2.dm2-tpl-luxury .dm2-cat-btn{border-radius:4px;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
.dm2.dm2-tpl-luxury .dm2-price{border-radius:4px}

/* Pizzeria */
.dm2.dm2-tpl-pizzeria{font-family:"Segoe UI",Roboto,Arial,sans-serif}
.dm2.dm2-tpl-pizzeria .dm2-card{border-radius:20px;border-width:2px}
.dm2.dm2-tpl-pizzeria .dm2-title{font-size:20px;font-weight:800}
.dm2.dm2-tpl-pizzeria .dm2-cat-btn{border-radius:16px;font-weight:700;font-size:15px}
.dm2.dm2-tpl-pizzeria .dm2-price{border-radius:16px;font-weight:900}
.dm2.dm2-tpl-pizzeria .dm2-card:hover{transform:scale(1.01)}

/* Trattoria */
.dm2.dm2-tpl-trattoria{font-family:"Palatino Linotype",Palatino,Georgia,serif}
.dm2.dm2-tpl-trattoria .dm2-card{border-radius:14px;border-style:solid}
.dm2.dm2-tpl-trattoria .dm2-title{font-weight:600;font-size:19px}
.dm2.dm2-tpl-trattoria .dm2-cat-btn{border-radius:10px}
.dm2.dm2-tpl-trattoria .dm2-price{border-radius:10px}

/* Bistrot */
.dm2.dm2-tpl-bistrot{font-family:Georgia,"Times New Roman",serif}
.dm2.dm2-tpl-bistrot .dm2-card{border-radius:12px;border-style:dashed}
.dm2.dm2-tpl-bistrot .dm2-title{font-style:italic;font-weight:600}
.dm2.dm2-tpl-bistrot .dm2-cat-btn{border-radius:8px;border-style:dashed}
.dm2.dm2-tpl-bistrot .dm2-price{border-radius:8px}

/* Cocktail Bar */
.dm2.dm2-tpl-cocktail{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:.02em}
.dm2.dm2-tpl-cocktail .dm2-card{border-radius:16px;box-shadow:0 0 20px rgba(0,0,0,.2)}
.dm2.dm2-tpl-cocktail .dm2-title{font-weight:300;font-size:22px;letter-spacing:.04em;text-transform:uppercase}
.dm2.dm2-tpl-cocktail .dm2-cat-btn{border-radius:999px;font-weight:300;letter-spacing:.1em;text-transform:uppercase;font-size:12px}
.dm2.dm2-tpl-cocktail .dm2-price{border-radius:999px}
.dm2.dm2-tpl-cocktail .dm2-card:hover{box-shadow:0 0 30px rgba(0,0,0,.3)}

/* Moderno */
.dm2.dm2-tpl-moderno{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,sans-serif}
.dm2.dm2-tpl-moderno .dm2-card{border-radius:18px;box-shadow:0 1px 6px rgba(0,0,0,.06);border:none}
.dm2.dm2-tpl-moderno .dm2-title{font-weight:700;font-size:19px}
.dm2.dm2-tpl-moderno .dm2-cat-btn{border-radius:14px}
.dm2.dm2-tpl-moderno .dm2-price{border-radius:14px}
.dm2.dm2-tpl-moderno .dm2-card:hover{box-shadow:0 6px 24px rgba(0,0,0,.1);transform:translateY(-2px)}

/* Minimal */
.dm2.dm2-tpl-minimal{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}
.dm2.dm2-tpl-minimal .dm2-card{border-radius:6px;border:none;border-bottom:1px solid rgba(128,128,128,.2);box-shadow:none}
.dm2.dm2-tpl-minimal .dm2-card:hover{box-shadow:none}
.dm2.dm2-tpl-minimal .dm2-title{font-weight:500;font-size:17px}
.dm2.dm2-tpl-minimal .dm2-cat-btn{border-radius:0;border:none;border-bottom:2px solid transparent;padding:8px 4px;background:transparent}
.dm2.dm2-tpl-minimal .dm2-cat-btn[aria-selected="true"]{border-bottom-color:currentColor}
.dm2.dm2-tpl-minimal .dm2-price{border-radius:6px}

/* ===== COLOR PALETTES ===== */

/* Nero (default dark) */
.dm2.dm2-pal-nero{--dm2-page-bg:#000;--dm2-card-bg:#0b0b0b;--dm2-text:#fff;--dm2-muted:#bfbfbf;--dm2-border:#fff;--dm2-accent:#fff;--dm2-cat-inactive-bg:#111;--dm2-cat-inactive-text:#fff;--dm2-cat-inactive-border:#444;--dm2-cat-active-bg:#fff;--dm2-cat-active-text:#000;--dm2-cat-active-border:#fff;--dm2-product-card-border:#333;--dm2-product-card-hover:#fff;--dm2-product-title:#fff;--dm2-product-desc:#bfbfbf;--dm2-price-bg:#fff;--dm2-price-text:#000;--dm2-price-border:#fff;--dm2-allergen-text:#fff;--dm2-allergen-border:rgba(255,255,255,.4);--dm2-search-bg:#111;--dm2-search-text:#fff;--dm2-search-border:#444;--dm2-search-placeholder:rgba(255,255,255,.4);--dm2-lang-inactive-bg:#111;--dm2-lang-inactive-text:#fff;--dm2-lang-inactive-border:#444;--dm2-lang-active-bg:#fff;--dm2-lang-active-text:#000;--dm2-lang-active-border:#fff}

/* Bianco */
.dm2.dm2-pal-bianco{--dm2-page-bg:#f8f8f8;--dm2-card-bg:#fff;--dm2-text:#1a1a1a;--dm2-muted:#777;--dm2-border:#ddd;--dm2-accent:#333;--dm2-cat-inactive-bg:#fff;--dm2-cat-inactive-text:#333;--dm2-cat-inactive-border:#ddd;--dm2-cat-active-bg:#1a1a1a;--dm2-cat-active-text:#fff;--dm2-cat-active-border:#1a1a1a;--dm2-product-card-border:#e8e8e8;--dm2-product-card-hover:#333;--dm2-product-title:#1a1a1a;--dm2-product-desc:#777;--dm2-price-bg:#1a1a1a;--dm2-price-text:#fff;--dm2-price-border:#1a1a1a;--dm2-allergen-text:#333;--dm2-allergen-border:#ddd;--dm2-search-bg:#fff;--dm2-search-text:#1a1a1a;--dm2-search-border:#ddd;--dm2-search-placeholder:#aaa;--dm2-lang-inactive-bg:#fff;--dm2-lang-inactive-text:#333;--dm2-lang-inactive-border:#ddd;--dm2-lang-active-bg:#1a1a1a;--dm2-lang-active-text:#fff;--dm2-lang-active-border:#1a1a1a}

/* Rosso */
.dm2.dm2-pal-rosso{--dm2-page-bg:#1a0a0a;--dm2-card-bg:#200e0e;--dm2-text:#f0d0d0;--dm2-muted:#b08080;--dm2-border:#4a1a1a;--dm2-accent:#dc2626;--dm2-cat-inactive-bg:#2a1010;--dm2-cat-inactive-text:#e0a0a0;--dm2-cat-inactive-border:#4a1a1a;--dm2-cat-active-bg:#dc2626;--dm2-cat-active-text:#fff;--dm2-cat-active-border:#dc2626;--dm2-product-card-border:#3a1515;--dm2-product-card-hover:#dc2626;--dm2-product-title:#f5e0e0;--dm2-product-desc:#b08080;--dm2-price-bg:#dc2626;--dm2-price-text:#fff;--dm2-price-border:#dc2626;--dm2-allergen-text:#e0a0a0;--dm2-allergen-border:#4a1a1a;--dm2-search-bg:#200e0e;--dm2-search-text:#f0d0d0;--dm2-search-border:#4a1a1a;--dm2-search-placeholder:#805050;--dm2-lang-inactive-bg:#2a1010;--dm2-lang-inactive-text:#e0a0a0;--dm2-lang-inactive-border:#4a1a1a;--dm2-lang-active-bg:#dc2626;--dm2-lang-active-text:#fff;--dm2-lang-active-border:#dc2626}

/* Oro */
.dm2.dm2-pal-oro{--dm2-page-bg:#0a0a06;--dm2-card-bg:#141410;--dm2-text:#e8e0c8;--dm2-muted:#a89868;--dm2-border:#2a2418;--dm2-accent:#c9a036;--dm2-cat-inactive-bg:#1a1810;--dm2-cat-inactive-text:#c9a036;--dm2-cat-inactive-border:#2a2418;--dm2-cat-active-bg:#c9a036;--dm2-cat-active-text:#0a0a06;--dm2-cat-active-border:#c9a036;--dm2-product-card-border:#2a2418;--dm2-product-card-hover:#c9a036;--dm2-product-title:#f0e8d0;--dm2-product-desc:#a89868;--dm2-price-bg:#c9a036;--dm2-price-text:#0a0a06;--dm2-price-border:#c9a036;--dm2-allergen-text:#c9a036;--dm2-allergen-border:#2a2418;--dm2-search-bg:#141410;--dm2-search-text:#e8e0c8;--dm2-search-border:#2a2418;--dm2-search-placeholder:#6b5d35;--dm2-lang-inactive-bg:#1a1810;--dm2-lang-inactive-text:#c9a036;--dm2-lang-inactive-border:#2a2418;--dm2-lang-active-bg:#c9a036;--dm2-lang-active-text:#0a0a06;--dm2-lang-active-border:#c9a036}

/* Argento */
.dm2.dm2-pal-argento{--dm2-page-bg:#f0f0f2;--dm2-card-bg:#fafafa;--dm2-text:#2a2a2e;--dm2-muted:#8a8a90;--dm2-border:#c8c8cc;--dm2-accent:#6b6b75;--dm2-cat-inactive-bg:#e8e8ec;--dm2-cat-inactive-text:#4a4a50;--dm2-cat-inactive-border:#c8c8cc;--dm2-cat-active-bg:#4a4a50;--dm2-cat-active-text:#fff;--dm2-cat-active-border:#4a4a50;--dm2-product-card-border:#d8d8dc;--dm2-product-card-hover:#6b6b75;--dm2-product-title:#2a2a2e;--dm2-product-desc:#8a8a90;--dm2-price-bg:#4a4a50;--dm2-price-text:#fff;--dm2-price-border:#4a4a50;--dm2-allergen-text:#4a4a50;--dm2-allergen-border:#c8c8cc;--dm2-search-bg:#fff;--dm2-search-text:#2a2a2e;--dm2-search-border:#c8c8cc;--dm2-search-placeholder:#a0a0a5;--dm2-lang-inactive-bg:#e8e8ec;--dm2-lang-inactive-text:#4a4a50;--dm2-lang-inactive-border:#c8c8cc;--dm2-lang-active-bg:#4a4a50;--dm2-lang-active-text:#fff;--dm2-lang-active-border:#4a4a50}

/* Verde */
.dm2.dm2-pal-verde{--dm2-page-bg:#06120a;--dm2-card-bg:#0c1a10;--dm2-text:#d0f0d8;--dm2-muted:#70a878;--dm2-border:#1a3a20;--dm2-accent:#22c55e;--dm2-cat-inactive-bg:#0e2014;--dm2-cat-inactive-text:#80c090;--dm2-cat-inactive-border:#1a3a20;--dm2-cat-active-bg:#22c55e;--dm2-cat-active-text:#06120a;--dm2-cat-active-border:#22c55e;--dm2-product-card-border:#1a3020;--dm2-product-card-hover:#22c55e;--dm2-product-title:#e0f5e4;--dm2-product-desc:#70a878;--dm2-price-bg:#22c55e;--dm2-price-text:#06120a;--dm2-price-border:#22c55e;--dm2-allergen-text:#80c090;--dm2-allergen-border:#1a3a20;--dm2-search-bg:#0c1a10;--dm2-search-text:#d0f0d8;--dm2-search-border:#1a3a20;--dm2-search-placeholder:#3a6840;--dm2-lang-inactive-bg:#0e2014;--dm2-lang-inactive-text:#80c090;--dm2-lang-inactive-border:#1a3a20;--dm2-lang-active-bg:#22c55e;--dm2-lang-active-text:#06120a;--dm2-lang-active-border:#22c55e}

/* Blu */
.dm2.dm2-pal-blu{--dm2-page-bg:#0b1120;--dm2-card-bg:#131b2e;--dm2-text:#c8d6e5;--dm2-muted:#6b7b95;--dm2-border:#1e2d45;--dm2-accent:#2e86de;--dm2-cat-inactive-bg:#0f1828;--dm2-cat-inactive-text:#8eadd4;--dm2-cat-inactive-border:#1e2d45;--dm2-cat-active-bg:#2e86de;--dm2-cat-active-text:#fff;--dm2-cat-active-border:#2e86de;--dm2-product-card-border:#1e2d45;--dm2-product-card-hover:#2e86de;--dm2-product-title:#e4ecf5;--dm2-product-desc:#6b7b95;--dm2-price-bg:#2e86de;--dm2-price-text:#fff;--dm2-price-border:#2e86de;--dm2-allergen-text:#8eadd4;--dm2-allergen-border:#1e2d45;--dm2-search-bg:#131b2e;--dm2-search-text:#c8d6e5;--dm2-search-border:#1e2d45;--dm2-search-placeholder:#4a5d78;--dm2-lang-inactive-bg:#0f1828;--dm2-lang-inactive-text:#8eadd4;--dm2-lang-inactive-border:#1e2d45;--dm2-lang-active-bg:#2e86de;--dm2-lang-active-text:#fff;--dm2-lang-active-border:#2e86de}

/* Arancione */
.dm2.dm2-pal-arancione{--dm2-page-bg:#120a04;--dm2-card-bg:#1c1208;--dm2-text:#f0dcc8;--dm2-muted:#b09070;--dm2-border:#3a2410;--dm2-accent:#f97316;--dm2-cat-inactive-bg:#201408;--dm2-cat-inactive-text:#d0a060;--dm2-cat-inactive-border:#3a2410;--dm2-cat-active-bg:#f97316;--dm2-cat-active-text:#120a04;--dm2-cat-active-border:#f97316;--dm2-product-card-border:#3a2410;--dm2-product-card-hover:#f97316;--dm2-product-title:#f5e8d0;--dm2-product-desc:#b09070;--dm2-price-bg:#f97316;--dm2-price-text:#120a04;--dm2-price-border:#f97316;--dm2-allergen-text:#d0a060;--dm2-allergen-border:#3a2410;--dm2-search-bg:#1c1208;--dm2-search-text:#f0dcc8;--dm2-search-border:#3a2410;--dm2-search-placeholder:#705030;--dm2-lang-inactive-bg:#201408;--dm2-lang-inactive-text:#d0a060;--dm2-lang-inactive-border:#3a2410;--dm2-lang-active-bg:#f97316;--dm2-lang-active-text:#120a04;--dm2-lang-active-border:#f97316}

/* Rosa */
.dm2.dm2-pal-rosa{--dm2-page-bg:#fdf2f8;--dm2-card-bg:#fff;--dm2-text:#3d1f30;--dm2-muted:#a06080;--dm2-border:#f0c0d8;--dm2-accent:#ec4899;--dm2-cat-inactive-bg:#fce8f0;--dm2-cat-inactive-text:#a03068;--dm2-cat-inactive-border:#f0c0d8;--dm2-cat-active-bg:#ec4899;--dm2-cat-active-text:#fff;--dm2-cat-active-border:#ec4899;--dm2-product-card-border:#f5d0e4;--dm2-product-card-hover:#ec4899;--dm2-product-title:#3d1f30;--dm2-product-desc:#a06080;--dm2-price-bg:#ec4899;--dm2-price-text:#fff;--dm2-price-border:#ec4899;--dm2-allergen-text:#a03068;--dm2-allergen-border:#f0c0d8;--dm2-search-bg:#fff;--dm2-search-text:#3d1f30;--dm2-search-border:#f0c0d8;--dm2-search-placeholder:#c090a8;--dm2-lang-inactive-bg:#fce8f0;--dm2-lang-inactive-text:#a03068;--dm2-lang-inactive-border:#f0c0d8;--dm2-lang-active-bg:#ec4899;--dm2-lang-active-text:#fff;--dm2-lang-active-border:#ec4899}

/* Viola */
.dm2.dm2-pal-viola{--dm2-page-bg:#0e0818;--dm2-card-bg:#161020;--dm2-text:#d8c8f0;--dm2-muted:#8868b0;--dm2-border:#2a1840;--dm2-accent:#8b5cf6;--dm2-cat-inactive-bg:#140e22;--dm2-cat-inactive-text:#a888d0;--dm2-cat-inactive-border:#2a1840;--dm2-cat-active-bg:#8b5cf6;--dm2-cat-active-text:#fff;--dm2-cat-active-border:#8b5cf6;--dm2-product-card-border:#2a1840;--dm2-product-card-hover:#8b5cf6;--dm2-product-title:#e8d8f8;--dm2-product-desc:#8868b0;--dm2-price-bg:#8b5cf6;--dm2-price-text:#fff;--dm2-price-border:#8b5cf6;--dm2-allergen-text:#a888d0;--dm2-allergen-border:#2a1840;--dm2-search-bg:#161020;--dm2-search-text:#d8c8f0;--dm2-search-border:#2a1840;--dm2-search-placeholder:#5a4078;--dm2-lang-inactive-bg:#140e22;--dm2-lang-inactive-text:#a888d0;--dm2-lang-inactive-border:#2a1840;--dm2-lang-active-bg:#8b5cf6;--dm2-lang-active-text:#fff;--dm2-lang-active-border:#8b5cf6}

/* Quick Burger (fast food) */
.dm2.dm2-tpl-fastfood{font-family:"Segoe UI",Roboto,Arial,sans-serif}
.dm2.dm2-tpl-fastfood .dm2-card{border-radius:24px;border-width:2px;overflow:hidden}
.dm2.dm2-tpl-fastfood .dm2-card-inner{padding:18px}
.dm2.dm2-tpl-fastfood .dm2-title{font-size:21px;font-weight:900;text-transform:uppercase;letter-spacing:.02em}
.dm2.dm2-tpl-fastfood .dm2-cat-btn{border-radius:999px;font-weight:800;font-size:15px;padding:12px 20px;text-transform:uppercase}
.dm2.dm2-tpl-fastfood .dm2-price{border-radius:999px;font-weight:900;font-size:calc(var(--dm2-product-price-size, 15px) * 16 / 15);padding:12px 20px}
.dm2.dm2-tpl-fastfood .dm2-card:hover{transform:scale(1.02);box-shadow:0 8px 24px rgba(0,0,0,.2)}
.dm2.dm2-tpl-fastfood .dm2-desc{font-size:14px;line-height:1.4}

/* Sushi & Japanese */
.dm2.dm2-tpl-sushi{font-family:"Hiragino Mincho ProN",Georgia,"Times New Roman",serif;letter-spacing:.02em}
.dm2.dm2-tpl-sushi .dm2-card{border-radius:4px;border-width:1px}
.dm2.dm2-tpl-sushi .dm2-title{font-size:18px;font-weight:400;letter-spacing:.06em}
.dm2.dm2-tpl-sushi .dm2-cat-btn{border-radius:4px;font-weight:400;letter-spacing:.1em;text-transform:uppercase;font-size:12px;padding:10px 16px}
.dm2.dm2-tpl-sushi .dm2-price{border-radius:4px;font-weight:400}
.dm2.dm2-tpl-sushi .dm2-desc{font-style:italic;font-size:13px}
.dm2.dm2-tpl-sushi .dm2-card:hover{transform:none}

/* Coffee & Bakery */
.dm2.dm2-tpl-cafe{font-family:Georgia,"Palatino Linotype",serif}
.dm2.dm2-tpl-cafe .dm2-card{border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,.06)}
.dm2.dm2-tpl-cafe .dm2-card-inner{padding:18px}
.dm2.dm2-tpl-cafe .dm2-title{font-size:19px;font-weight:600;font-style:italic}
.dm2.dm2-tpl-cafe .dm2-cat-btn{border-radius:12px;font-style:italic}
.dm2.dm2-tpl-cafe .dm2-price{border-radius:12px}
.dm2.dm2-tpl-cafe .dm2-card:hover{box-shadow:0 6px 20px rgba(0,0,0,.1)}

/* Street Food */
.dm2.dm2-tpl-streetfood{font-family:"Arial Black",Impact,"Segoe UI",sans-serif}
.dm2.dm2-tpl-streetfood .dm2-card{border-radius:0;border-width:3px}
.dm2.dm2-tpl-streetfood .dm2-title{font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.dm2.dm2-tpl-streetfood .dm2-cat-btn{border-radius:0;font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:13px;border-width:3px}
.dm2.dm2-tpl-streetfood .dm2-price{border-radius:0;font-weight:900;border-width:2px}
.dm2.dm2-tpl-streetfood .dm2-card:hover{transform:rotate(-0.5deg) scale(1.01)}

/* Fine Dining */
.dm2.dm2-tpl-finedining{font-family:Garamond,"Palatino Linotype",Georgia,serif;letter-spacing:.02em}
.dm2.dm2-tpl-finedining .dm2-card{border-radius:0;border:none;border-bottom:1px solid rgba(128,128,128,.15)}
.dm2.dm2-tpl-finedining .dm2-card:hover{border-color:rgba(128,128,128,.3);box-shadow:none;transform:none}
.dm2.dm2-tpl-finedining .dm2-card-inner{padding:20px 0}
.dm2.dm2-tpl-finedining .dm2-title{font-size:18px;font-weight:400;letter-spacing:.08em;text-transform:uppercase}
.dm2.dm2-tpl-finedining .dm2-desc{font-style:italic;font-size:13px;letter-spacing:.01em}
.dm2.dm2-tpl-finedining .dm2-cat-btn{border-radius:0;border:none;border-bottom:1px solid transparent;font-weight:400;letter-spacing:.12em;text-transform:uppercase;font-size:12px;padding:8px 4px;background:transparent}
.dm2.dm2-tpl-finedining .dm2-cat-btn[aria-selected="true"]{border-bottom-color:currentColor}
.dm2.dm2-tpl-finedining .dm2-price{border-radius:0;border:none;font-weight:400;background:transparent;padding:0}
.dm2.dm2-tpl-finedining .dm2-allergen{border-radius:4px}

/* New palettes */
.dm2.dm2-pal-marrone{--dm2-page-bg:#1a1008;--dm2-card-bg:#221810;--dm2-text:#e8d8c8;--dm2-muted:#a08868;--dm2-border:#3a2818;--dm2-accent:#8b5e3c;--dm2-cat-inactive-bg:#2a1c10;--dm2-cat-inactive-text:#c8a880;--dm2-cat-inactive-border:#3a2818;--dm2-cat-active-bg:#8b5e3c;--dm2-cat-active-text:#fff;--dm2-cat-active-border:#8b5e3c;--dm2-product-card-border:#3a2818;--dm2-product-card-hover:#8b5e3c;--dm2-product-title:#f0e0d0;--dm2-product-desc:#a08868;--dm2-price-bg:#8b5e3c;--dm2-price-text:#fff;--dm2-price-border:#8b5e3c;--dm2-allergen-text:#c8a880;--dm2-allergen-border:#3a2818;--dm2-search-bg:#221810;--dm2-search-text:#e8d8c8;--dm2-search-border:#3a2818;--dm2-search-placeholder:#6a5038;--dm2-lang-inactive-bg:#2a1c10;--dm2-lang-inactive-text:#c8a880;--dm2-lang-inactive-border:#3a2818;--dm2-lang-active-bg:#8b5e3c;--dm2-lang-active-text:#fff;--dm2-lang-active-border:#8b5e3c}

.dm2.dm2-pal-giallo{--dm2-page-bg:#1a1800;--dm2-card-bg:#222008;--dm2-text:#f0e8c0;--dm2-muted:#b0a860;--dm2-border:#3a3410;--dm2-accent:#eab308;--dm2-cat-inactive-bg:#2a2808;--dm2-cat-inactive-text:#d4c850;--dm2-cat-inactive-border:#3a3410;--dm2-cat-active-bg:#eab308;--dm2-cat-active-text:#1a1800;--dm2-cat-active-border:#eab308;--dm2-product-card-border:#3a3410;--dm2-product-card-hover:#eab308;--dm2-product-title:#f5f0d0;--dm2-product-desc:#b0a860;--dm2-price-bg:#eab308;--dm2-price-text:#1a1800;--dm2-price-border:#eab308;--dm2-allergen-text:#d4c850;--dm2-allergen-border:#3a3410;--dm2-search-bg:#222008;--dm2-search-text:#f0e8c0;--dm2-search-border:#3a3410;--dm2-search-placeholder:#706820;--dm2-lang-inactive-bg:#2a2808;--dm2-lang-inactive-text:#d4c850;--dm2-lang-inactive-border:#3a3410;--dm2-lang-active-bg:#eab308;--dm2-lang-active-text:#1a1800;--dm2-lang-active-border:#eab308}

.dm2.dm2-pal-azzurro{--dm2-page-bg:#f0f8ff;--dm2-card-bg:#fff;--dm2-text:#1a3040;--dm2-muted:#5a8090;--dm2-border:#b8d8e8;--dm2-accent:#0ea5e9;--dm2-cat-inactive-bg:#e8f4fc;--dm2-cat-inactive-text:#1a6090;--dm2-cat-inactive-border:#b8d8e8;--dm2-cat-active-bg:#0ea5e9;--dm2-cat-active-text:#fff;--dm2-cat-active-border:#0ea5e9;--dm2-product-card-border:#d0e8f4;--dm2-product-card-hover:#0ea5e9;--dm2-product-title:#1a3040;--dm2-product-desc:#5a8090;--dm2-price-bg:#0ea5e9;--dm2-price-text:#fff;--dm2-price-border:#0ea5e9;--dm2-allergen-text:#1a6090;--dm2-allergen-border:#b8d8e8;--dm2-search-bg:#fff;--dm2-search-text:#1a3040;--dm2-search-border:#b8d8e8;--dm2-search-placeholder:#80b0c8;--dm2-lang-inactive-bg:#e8f4fc;--dm2-lang-inactive-text:#1a6090;--dm2-lang-inactive-border:#b8d8e8;--dm2-lang-active-bg:#0ea5e9;--dm2-lang-active-text:#fff;--dm2-lang-active-border:#0ea5e9}

.dm2.dm2-pal-bluscuro{--dm2-page-bg:#060a18;--dm2-card-bg:#0c1228;--dm2-text:#b8c8e0;--dm2-muted:#5a6a88;--dm2-border:#1a2440;--dm2-accent:#1d4ed8;--dm2-cat-inactive-bg:#0e1630;--dm2-cat-inactive-text:#7090c0;--dm2-cat-inactive-border:#1a2440;--dm2-cat-active-bg:#1d4ed8;--dm2-cat-active-text:#fff;--dm2-cat-active-border:#1d4ed8;--dm2-product-card-border:#1a2440;--dm2-product-card-hover:#1d4ed8;--dm2-product-title:#d0d8e8;--dm2-product-desc:#5a6a88;--dm2-price-bg:#1d4ed8;--dm2-price-text:#fff;--dm2-price-border:#1d4ed8;--dm2-allergen-text:#7090c0;--dm2-allergen-border:#1a2440;--dm2-search-bg:#0c1228;--dm2-search-text:#b8c8e0;--dm2-search-border:#1a2440;--dm2-search-placeholder:#3a4a68;--dm2-lang-inactive-bg:#0e1630;--dm2-lang-inactive-text:#7090c0;--dm2-lang-inactive-border:#1a2440;--dm2-lang-active-bg:#1d4ed8;--dm2-lang-active-text:#fff;--dm2-lang-active-border:#1d4ed8}

/* Background image support */
.dm2[style*="--dm2-bg-img"]::before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:var(--dm2-bg-img) center/cover no-repeat;opacity:var(--dm2-bg-opacity,1);z-index:0;pointer-events:none}
.dm2[style*="--dm2-bg-img"] .dm2-inner,.dm2[style*="--dm2-bg-img"] .dm2-header,.dm2[style*="--dm2-bg-img"] .dm2-footer{position:relative;z-index:1}

/* Fix templates that conflict with palettes - ensure all use CSS variables */
.dm2.dm2-tpl-finedining .dm2-card{border-bottom-color:var(--dm2-border,rgba(128,128,128,.15))}
.dm2.dm2-tpl-finedining .dm2-cat-btn[aria-selected="true"]{border-bottom-color:var(--dm2-cat-active-border,currentColor)}
.dm2.dm2-tpl-minimal .dm2-cat-btn[aria-selected="true"]{border-bottom-color:var(--dm2-cat-active-border,currentColor)}
.dm2.dm2-tpl-streetfood .dm2-card{border-color:var(--dm2-product-card-border,var(--dm2-border))}
.dm2.dm2-tpl-cocktail .dm2-card{box-shadow:0 0 20px rgba(0,0,0,.15)}

/* Storage badges (congelato/decongelato) - separated from allergens */
.dm2-storage-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;order:21}
.dm2-storage-tag{font-size:12px;color:var(--dm2-muted,#999);display:inline-flex;align-items:center;gap:2px;white-space:nowrap}
/* Emoji allergen style */
.dm2-allergen-emoji .dm2-emoji{font-size:18px;line-height:1}
.dm2-allergen-emoji{background:transparent;border-color:var(--dm2-border,rgba(255,255,255,.3))}

/* Product badges */
.dm2-badges{display:flex !important;gap:6px;flex-wrap:wrap;margin:4px 0 8px;order:15;visibility:visible !important}
.dm2-badge{display:inline-flex !important;align-items:center;gap:4px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em;visibility:visible !important;opacity:1 !important}
.dm2-badge-nuovo{background:rgba(59,130,246,.15);color:#3b82f6;border:1px solid rgba(59,130,246,.3)}
.dm2-badge-popolare{background:rgba(239,68,68,.15);color:#ef4444;border:1px solid rgba(239,68,68,.3)}
.dm2-badge-consigliato{background:rgba(234,179,8,.15);color:#eab308;border:1px solid rgba(234,179,8,.3)}
.dm2-badge-vegano{background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.3)}
.dm2-badge-vegetariano{background:rgba(34,197,94,.1);color:#16a34a;border:1px solid rgba(34,197,94,.2)}
.dm2-badge-senzaglutine{background:rgba(168,85,247,.1);color:#a855f7;border:1px solid rgba(168,85,247,.2)}

/* Product notes */
.dm2-product-note{font-size:12px;color:var(--dm2-muted,#999);margin-top:16px;font-style:italic;order:22}

/* Dietary filters */
.dm2-filters{display:flex;gap:8px;flex-wrap:wrap;padding:12px 16px;margin-bottom:8px}
.dm2-filter-btn{padding:6px 14px;border-radius:999px;border:1px solid var(--dm2-border,rgba(255,255,255,.2));background:var(--dm2-cat-inactive-bg,rgba(255,255,255,.06));color:var(--dm2-cat-inactive-text,#ccc);font-size:13px;cursor:pointer;transition:all .15s}
.dm2-filter-btn.active{background:var(--dm2-cat-active-bg,#fff);color:var(--dm2-cat-active-text,#000);border-color:var(--dm2-cat-active-border,#fff)}
.dm2-filter-btn:hover{opacity:.85}
.dm2-filter-clear{background:transparent;border-style:dashed;opacity:.7}

.dm2-desc{margin-bottom:8px}

/* Loading skeleton */
.dm2-skeleton{padding:16px}
.dm2-skeleton-bar{height:16px;background:linear-gradient(90deg,var(--dm2-card-bg,#111) 25%,rgba(255,255,255,.06) 50%,var(--dm2-card-bg,#111) 75%);background-size:200% 100%;animation:dm2-shimmer 1.5s infinite;border-radius:8px;margin-bottom:10px}
.dm2-skeleton-bar.w60{width:60%}
.dm2-skeleton-bar.w80{width:80%}
.dm2-skeleton-bar.w40{width:40%}
.dm2-skeleton-card{height:80px;background:var(--dm2-card-bg,#111);border-radius:12px;margin-bottom:12px;padding:16px;border:1px solid var(--dm2-border,rgba(255,255,255,.1))}
@keyframes dm2-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}

/* Fade-in products */
.dm2-card{animation:dm2-fadeIn .3s ease}
@keyframes dm2-fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* Lazy load images */
.dm2-img-hero,.dm2-img-left{content-visibility:auto}

/* Very small screens */
@media(max-width:380px){
  .dm2 .dm2-products{grid-template-columns:1fr}
  .dm2-card-inner{padding:12px}
  .dm2-title{font-size:16px}
  .dm2-price{font-size:calc(var(--dm2-product-price-size, 15px) * 14 / 15);padding:8px 14px}
  .dm2-cat-btn{padding:8px 12px;font-size:12px}
}

/* ===== Tema Fullpage (categorie a schermo intero tile-style) ===== */
.dm2-menu-theme-fullpage .dm2-inner{max-width:1400px;padding:0}
.dm2-menu-theme-fullpage .dm2-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px}
.dm2-menu-theme-fullpage .dm2-cat-item{position:relative;min-height:240px;border-radius:20px;overflow:hidden;background:var(--dm2-card-bg,#111);border:1px solid var(--dm2-cat-inactive-border,var(--dm2-border));cursor:pointer;transition:transform .3s ease, box-shadow .3s ease;box-shadow:0 10px 26px rgba(0,0,0,.22)}
.dm2-menu-theme-fullpage .dm2-cat-item:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.38)}
.dm2-menu-theme-fullpage .dm2-cat-img{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;overflow:hidden}
.dm2-menu-theme-fullpage .dm2-cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.dm2-menu-theme-fullpage .dm2-cat-item:hover .dm2-cat-img img{transform:scale(1.06)}
.dm2-menu-theme-fullpage .dm2-cat-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.78) 100%)}
/* Tutto il tile è cliccabile: button copre l'intera area (non solo il bottom) */
.dm2-menu-theme-fullpage .dm2-cat-btn{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;text-align:center;background:transparent;border:0;padding:14px 12px 16px;border-radius:0;white-space:normal !important;overflow:hidden;z-index:2}
.dm2-menu-theme-fullpage .dm2-cat-btn[aria-selected="true"]{background:transparent;border:0;box-shadow:none}
/* Titolo: usa il colore dal pannello, ombra solo se c'è un'immagine */
.dm2-menu-theme-fullpage .dm2-cat-name{width:100%;box-sizing:border-box;font-size:var(--dm2-category-font-size,16px);font-family:var(--dm2-category-font-family,inherit);font-weight:700;line-height:1.18;color:var(--dm2-cat-inactive-text,var(--dm2-text,#000));text-transform:uppercase;letter-spacing:.01em;text-shadow:none;white-space:normal !important;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
/* Se il tile ha immagine (c'è .dm2-cat-img prima del button), applica ombra e colore chiaro per leggibilità sull'overlay scuro */
.dm2-menu-theme-fullpage .dm2-cat-img ~ .dm2-cat-btn .dm2-cat-name{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.55)}
.dm2-menu-theme-fullpage .dm2-products{grid-template-columns:1fr;gap:16px;padding:10px 16px 24px}
.dm2-menu-theme-fullpage .dm2-card{border-radius:18px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.dm2-menu-theme-fullpage .dm2-popup-back{display:inline-flex;align-items:center;gap:8px;margin:14px 16px 6px;padding:12px 20px;border-radius:999px;border:1px solid var(--dm2-primary-btn-border,var(--dm2-border));background:var(--dm2-primary-btn-bg,var(--dm2-card-bg));color:var(--dm2-primary-btn-text,var(--dm2-text));font-weight:700;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.15)}
.dm2-menu-theme-fullpage .dm2-popup-back::before{content:"←";font-size:18px;margin-right:2px}
.dm2-menu-theme-fullpage .dm2-popup-back:hover{filter:brightness(1.06);transform:translateY(-1px)}
@media(min-width:901px){
  .dm2-menu-theme-fullpage .dm2-cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:24px}
  .dm2-menu-theme-fullpage .dm2-cat-item{min-height:280px}
}
@media(min-width:1200px){
  .dm2-menu-theme-fullpage .dm2-cats{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
  .dm2-menu-theme-fullpage .dm2-cat-item{min-height:320px}
}
@media(max-width:640px){
  .dm2-menu-theme-fullpage .dm2-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}
  .dm2-menu-theme-fullpage .dm2-cat-item{min-height:180px;border-radius:16px}
  .dm2-menu-theme-fullpage .dm2-cat-btn{padding:10px 8px 12px}
  .dm2-menu-theme-fullpage .dm2-cat-name{font-size:var(--dm2-category-font-size,14px);line-height:1.15}
}

/* Override per tema popup/fullpage: batte il !important di dm2-frontend-modern.css */
.dm2[data-dm2="menu"].dm2-menu-theme-popup.dm2-popup-open .dm2-cats,
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage.dm2-popup-open .dm2-cats,
.dm2[data-dm2="menu"].dm2-menu-theme-popup .dm2-cats.dm2-cats--hidden,
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cats.dm2-cats--hidden{
  display:none !important;
}
/* Forza il layout a griglia quando le categorie sono visibili (batte il flex!important del modern) */
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cats:not(.dm2-cats--hidden){
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  flex-wrap:initial !important;
  overflow:visible !important;
  white-space:normal !important;
  padding:18px !important;
  gap:14px !important;
}
@media(min-width:901px){
  .dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cats:not(.dm2-cats--hidden){grid-template-columns:repeat(3,minmax(0,1fr)) !important;padding:24px !important;gap:18px !important}
}
@media(min-width:1200px){
  .dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cats:not(.dm2-cats--hidden){grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:20px !important}
}
/* Anche popup aveva lo stesso bug: riparo in stile */
.dm2[data-dm2="menu"].dm2-menu-theme-popup .dm2-cats:not(.dm2-cats--hidden){
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  flex-wrap:initial !important;
  overflow:visible !important;
  white-space:normal !important;
}

/* Override universale: nasconde categorie al click quando attiva la modalità hideCatsOnClick */
.dm2[data-dm2="menu"].dm2-popup-open .dm2-cats,
.dm2[data-dm2="menu"] .dm2-cats.dm2-cats--hidden{
  display:none !important;
}
/* Stile del pulsante "Torna alle categorie" quando appare con temi diversi da popup/fullpage */
.dm2[data-dm2="menu"] .dm2-popup-back{
  display:inline-flex;align-items:center;gap:8px;
  margin:14px 16px 6px;padding:10px 18px;
  border-radius:999px;
  border:1px solid var(--dm2-primary-btn-border,var(--dm2-border,#fff));
  background:var(--dm2-primary-btn-bg,var(--dm2-card-bg,#111));
  color:var(--dm2-primary-btn-text,var(--dm2-text,#fff));
  font-weight:700;cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
}
.dm2[data-dm2="menu"] .dm2-popup-back::before{content:"←";margin-right:4px;font-size:16px}
.dm2[data-dm2="menu"] .dm2-popup-back:hover{filter:brightness(1.08)}


/* ===== HIDE-CATS MODE — stili puliti (display gestito via JS inline !important) ===== */
.dm2[data-dm2="menu"].dm2-hide-cats-mode .dm2-popup-back{
  align-items:center;gap:8px;
  margin:14px 16px 6px;padding:10px 18px;
  border-radius:999px;
  border:1px solid var(--dm2-border,#ccc);
  background:var(--dm2-card-bg,#fff);
  color:var(--dm2-text,#000);
  font-weight:700;cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
}
.dm2[data-dm2="menu"].dm2-hide-cats-mode .dm2-popup-back::before{content:"←";margin-right:4px;font-size:16px}
.dm2[data-dm2="menu"].dm2-hide-cats-mode .dm2-popup-back:hover{filter:brightness(1.08)}

/* ===== Bulletproof hide categories quando popup aperto ===== */
body.dm2-menu-popup-open .dm2[data-dm2="menu"]:not(.dm2-menu-theme-stampa_full) .dm2-cats,
body.dm2-menu-popup-open .dm2[data-dm2="menu"]:not(.dm2-menu-theme-stampa_full) .dm2-cat-item,
html body.dm2-menu-popup-open .dm2[data-dm2="menu"]:not(.dm2-menu-theme-stampa_full) .dm2-cats,
html body.dm2-menu-popup-open .dm2[data-dm2="menu"]:not(.dm2-menu-theme-stampa_full) .dm2-cat-item{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  max-height:0 !important;
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
}

/* Spazio tra header e selettore lingue (solo per temi che lo richiedono) */
.dm2[data-dm2="menu"] .dm2-lang{margin-top:18px}
@media(max-width:640px){
  .dm2[data-dm2="menu"] .dm2-lang{margin-top:14px}
}

/* ===== Tema Square (come Fullpage ma quadrato, senza bordi arrotondati) ===== */
.dm2-menu-theme-square .dm2-inner{max-width:1400px;padding:0}
.dm2-menu-theme-square .dm2-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:16px 14px 12px}
.dm2-menu-theme-square .dm2-cat-item{position:relative;min-height:220px;border-radius:0;overflow:hidden;background:var(--dm2-card-bg,#111);border:1px solid var(--dm2-cat-inactive-border,var(--dm2-border));cursor:pointer;transition:transform .25s ease, box-shadow .25s ease;box-shadow:none}
.dm2-menu-theme-square .dm2-cat-item:hover{box-shadow:0 6px 20px rgba(0,0,0,.25)}
.dm2-menu-theme-square .dm2-cat-img{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;overflow:hidden}
.dm2-menu-theme-square .dm2-cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.dm2-menu-theme-square .dm2-cat-item:hover .dm2-cat-img img{transform:scale(1.04)}
.dm2-menu-theme-square .dm2-cat-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.78) 100%)}
.dm2-menu-theme-square .dm2-cat-btn{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;text-align:center;background:transparent;border:0;padding:12px 10px 14px;border-radius:0;white-space:normal !important;overflow:hidden;z-index:2}
.dm2-menu-theme-square .dm2-cat-btn[aria-selected="true"]{background:transparent;border:0;box-shadow:none}
.dm2-menu-theme-square .dm2-cat-name{width:100%;box-sizing:border-box;font-size:var(--dm2-category-font-size,15px);font-family:var(--dm2-category-font-family,inherit);font-weight:700;line-height:1.15;color:var(--dm2-cat-inactive-text,var(--dm2-text,#000));text-transform:uppercase;letter-spacing:.01em;text-shadow:none;white-space:normal !important;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.dm2-menu-theme-square .dm2-cat-img ~ .dm2-cat-btn .dm2-cat-name{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.55)}
.dm2-menu-theme-square .dm2-products{grid-template-columns:1fr;gap:14px;padding:10px 14px 20px}
.dm2-menu-theme-square .dm2-card{border-radius:0;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.dm2-menu-theme-square .dm2-popup-back{display:inline-flex;align-items:center;gap:8px;margin:14px 14px 6px;padding:10px 18px;border-radius:0;border:1px solid var(--dm2-primary-btn-border,var(--dm2-border));background:var(--dm2-primary-btn-bg,var(--dm2-card-bg));color:var(--dm2-primary-btn-text,var(--dm2-text));font-weight:700;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.dm2-menu-theme-square .dm2-popup-back::before{content:"←";font-size:16px;margin-right:2px}
@media(min-width:901px){
  .dm2-menu-theme-square .dm2-cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}
  .dm2-menu-theme-square .dm2-cat-item{min-height:260px}
}
@media(min-width:1200px){
  .dm2-menu-theme-square .dm2-cats{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
  .dm2-menu-theme-square .dm2-cat-item{min-height:300px}
}
@media(max-width:640px){
  .dm2-menu-theme-square .dm2-cats{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:12px 10px 8px}
  .dm2-menu-theme-square .dm2-cat-item{min-height:160px;border-radius:0}
  .dm2-menu-theme-square .dm2-cat-btn{padding:8px 6px 10px}
  .dm2-menu-theme-square .dm2-cat-name{font-size:var(--dm2-category-font-size,13px);line-height:1.12}
}

/* ===== Tema Tris (3 categorie per riga, stile Fullpage con bordi arrotondati) ===== */
.dm2-menu-theme-tris .dm2-inner{max-width:1400px;padding:0}
.dm2-menu-theme-tris .dm2-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:14px}
.dm2-menu-theme-tris .dm2-cat-item{position:relative;min-height:200px;border-radius:16px;overflow:hidden;background:var(--dm2-card-bg,#111);border:1px solid var(--dm2-cat-inactive-border,var(--dm2-border));cursor:pointer;transition:transform .3s ease, box-shadow .3s ease;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.dm2-menu-theme-tris .dm2-cat-item:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.3)}
.dm2-menu-theme-tris .dm2-cat-img{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;overflow:hidden}
.dm2-menu-theme-tris .dm2-cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.dm2-menu-theme-tris .dm2-cat-item:hover .dm2-cat-img img{transform:scale(1.05)}
.dm2-menu-theme-tris .dm2-cat-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.78) 100%)}
.dm2-menu-theme-tris .dm2-cat-btn{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;text-align:center;background:transparent;border:0;padding:12px 10px 14px;border-radius:0;white-space:normal !important;overflow:hidden;z-index:2}
.dm2-menu-theme-tris .dm2-cat-btn[aria-selected="true"]{background:transparent;border:0;box-shadow:none}
.dm2-menu-theme-tris .dm2-cat-name{width:100%;box-sizing:border-box;font-size:var(--dm2-category-font-size,14px);font-family:var(--dm2-category-font-family,inherit);font-weight:700;line-height:1.15;color:var(--dm2-cat-inactive-text,var(--dm2-text,#000));text-transform:uppercase;letter-spacing:.01em;text-shadow:none;white-space:normal !important;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.dm2-menu-theme-tris .dm2-cat-img ~ .dm2-cat-btn .dm2-cat-name{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.55)}
.dm2-menu-theme-tris .dm2-products{grid-template-columns:1fr;gap:14px;padding:10px 14px 20px}
.dm2-menu-theme-tris .dm2-card{border-radius:16px;overflow:hidden;box-shadow:0 8px 18px rgba(0,0,0,.1)}
.dm2-menu-theme-tris .dm2-popup-back{display:inline-flex;align-items:center;gap:8px;margin:14px 14px 6px;padding:10px 18px;border-radius:999px;border:1px solid var(--dm2-primary-btn-border,var(--dm2-border));background:var(--dm2-primary-btn-bg,var(--dm2-card-bg));color:var(--dm2-primary-btn-text,var(--dm2-text));font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.dm2-menu-theme-tris .dm2-popup-back::before{content:"←";font-size:16px;margin-right:2px}
@media(min-width:901px){
  .dm2-menu-theme-tris .dm2-cats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:18px}
  .dm2-menu-theme-tris .dm2-cat-item{min-height:240px}
}
@media(min-width:1200px){
  .dm2-menu-theme-tris .dm2-cats{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
  .dm2-menu-theme-tris .dm2-cat-item{min-height:260px}
}
@media(max-width:640px){
  .dm2-menu-theme-tris .dm2-cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px}
  .dm2-menu-theme-tris .dm2-cat-item{min-height:130px;border-radius:12px}
  .dm2-menu-theme-tris .dm2-cat-btn{padding:8px 6px 10px}
  .dm2-menu-theme-tris .dm2-cat-name{font-size:var(--dm2-category-font-size,12px);line-height:1.1}
}

/* ===== Tema Trisquare (3 categorie per riga, quadrato senza bordi arrotondati) ===== */
.dm2-menu-theme-trisquare .dm2-inner{max-width:1400px;padding:0}
.dm2-menu-theme-trisquare .dm2-cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:16px 14px 12px}
.dm2-menu-theme-trisquare .dm2-cat-item{position:relative;min-height:180px;border-radius:0;overflow:hidden;background:var(--dm2-card-bg,#111);border:1px solid var(--dm2-cat-inactive-border,var(--dm2-border));cursor:pointer;transition:transform .25s ease, box-shadow .25s ease;box-shadow:none}
.dm2-menu-theme-trisquare .dm2-cat-item:hover{box-shadow:0 6px 20px rgba(0,0,0,.25)}
.dm2-menu-theme-trisquare .dm2-cat-img{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;overflow:hidden}
.dm2-menu-theme-trisquare .dm2-cat-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.dm2-menu-theme-trisquare .dm2-cat-item:hover .dm2-cat-img img{transform:scale(1.04)}
.dm2-menu-theme-trisquare .dm2-cat-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.35) 55%,rgba(0,0,0,.78) 100%)}
.dm2-menu-theme-trisquare .dm2-cat-btn{position:absolute;inset:0;width:100%;height:100%;display:flex;align-items:flex-end;justify-content:center;text-align:center;background:transparent;border:0;padding:10px 8px 12px;border-radius:0;white-space:normal !important;overflow:hidden;z-index:2}
.dm2-menu-theme-trisquare .dm2-cat-btn[aria-selected="true"]{background:transparent;border:0;box-shadow:none}
.dm2-menu-theme-trisquare .dm2-cat-name{width:100%;box-sizing:border-box;font-size:var(--dm2-category-font-size,14px);font-family:var(--dm2-category-font-family,inherit);font-weight:700;line-height:1.15;color:var(--dm2-cat-inactive-text,var(--dm2-text,#000));text-transform:uppercase;letter-spacing:.01em;text-shadow:none;white-space:normal !important;word-wrap:break-word;overflow-wrap:break-word;hyphens:auto;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.dm2-menu-theme-trisquare .dm2-cat-img ~ .dm2-cat-btn .dm2-cat-name{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.55)}
.dm2-menu-theme-trisquare .dm2-products{grid-template-columns:1fr;gap:14px;padding:10px 14px 20px}
.dm2-menu-theme-trisquare .dm2-card{border-radius:0;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.dm2-menu-theme-trisquare .dm2-popup-back{display:inline-flex;align-items:center;gap:8px;margin:14px 14px 6px;padding:10px 18px;border-radius:0;border:1px solid var(--dm2-primary-btn-border,var(--dm2-border));background:var(--dm2-primary-btn-bg,var(--dm2-card-bg));color:var(--dm2-primary-btn-text,var(--dm2-text));font-weight:700;cursor:pointer;box-shadow:0 4px 10px rgba(0,0,0,.15)}
.dm2-menu-theme-trisquare .dm2-popup-back::before{content:"←";font-size:16px;margin-right:2px}
@media(min-width:901px){
  .dm2-menu-theme-trisquare .dm2-cats{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:18px}
  .dm2-menu-theme-trisquare .dm2-cat-item{min-height:220px}
}
@media(min-width:1200px){
  .dm2-menu-theme-trisquare .dm2-cats{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}
  .dm2-menu-theme-trisquare .dm2-cat-item{min-height:240px}
}
@media(max-width:640px){
  .dm2-menu-theme-trisquare .dm2-cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:12px 10px 8px}
  .dm2-menu-theme-trisquare .dm2-cat-item{min-height:120px;border-radius:0}
  .dm2-menu-theme-trisquare .dm2-cat-btn{padding:6px 4px 8px}
  .dm2-menu-theme-trisquare .dm2-cat-name{font-size:var(--dm2-category-font-size,12px);line-height:1.1}
}

/* ===== Forza visibilità allergeni e storage badges sui prodotti ===== */
.dm2[data-dm2="menu"] .dm2-card .dm2-allergens,
.dm2[data-dm2="menu"] .dm2-card .dm2-allergens-under-image{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:4px !important;
  margin-top:6px !important;
}
.dm2[data-dm2="menu"] .dm2-card .dm2-allergen{
  display:inline-flex !important;
  visibility:visible !important;
  align-items:center !important;
}
.dm2[data-dm2="menu"] .dm2-card .dm2-allergen-name{
  display:inline !important;
  visibility:visible !important;
}
/* Se l'utente ha scelto stile "icon only" o "emoji icon" mostra l'icona (il modern CSS di default la nasconde) */
.dm2[data-dm2="menu"] .dm2-card .dm2-allergen-icononly .dm2-allergen-ico,
.dm2[data-dm2="menu"] .dm2-card .dm2-allergen.dm2-allergen-emoji .dm2-allergen-ico{
  display:inline-flex !important;
  visibility:visible !important;
}
/* Storage badges (Congelato/Decongelato) */
.dm2[data-dm2="menu"] .dm2-card .dm2-storage-badges{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:10px !important;
  margin-top:8px !important;
}
.dm2[data-dm2="menu"] .dm2-card .dm2-storage-tag{
  display:inline-flex !important;
  visibility:visible !important;
  align-items:center !important;
  gap:2px !important;
  font-size:12px !important;
  white-space:nowrap !important;
}

/* ===== Override finale: forza TUTTI i badge allergeni visibili (icone + nomi) ===== */
.dm2[data-dm2="menu"] .dm2-card-inner .dm2-allergen-ico,
.dm2[data-dm2="menu"] .dm2-card .dm2-allergen-ico{
  display:inline-flex !important;
  visibility:visible !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  height:auto !important;
  min-width:14px !important;
}
.dm2[data-dm2="menu"] .dm2-card-inner .dm2-allergen-name,
.dm2[data-dm2="menu"] .dm2-card .dm2-allergen-name{
  display:inline !important;
  visibility:visible !important;
  color:inherit !important;
}
.dm2[data-dm2="menu"] .dm2-card-inner .dm2-allergens,
.dm2[data-dm2="menu"] .dm2-card-inner .dm2-allergens-under-image,
.dm2[data-dm2="menu"] .dm2-card .dm2-allergens,
.dm2[data-dm2="menu"] .dm2-card .dm2-allergens-under-image{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin-top:6px !important;
  opacity:1 !important;
  visibility:visible !important;
}
.dm2[data-dm2="menu"] .dm2-card-inner .dm2-allergen,
.dm2[data-dm2="menu"] .dm2-card .dm2-allergen{
  display:inline-flex !important;
  visibility:visible !important;
  opacity:1 !important;
  align-items:center !important;
  gap:4px !important;
  padding:2px 8px !important;
}

/* ===== Posizione testo categorie per i nuovi temi (fullpage/square/tris/trisquare) ===== */
/* Il button copre tutto il tile con inset:0; qui regoliamo align-items e justify-content. */

/* Tre position base: left, center, right (fondo verticale di default) */
.dm2-menu-theme-fullpage .dm2-cat-pos-left .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-left .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-left .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-left .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-start !important;text-align:left !important;
}
.dm2-menu-theme-fullpage .dm2-cat-pos-center .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-center .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-center .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-center .dm2-cat-btn{
  align-items:flex-end !important;justify-content:center !important;text-align:center !important;
}
.dm2-menu-theme-fullpage .dm2-cat-pos-right .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-right .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-right .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-right .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-end !important;text-align:right !important;
}

/* In alto a sinistra/centro */
.dm2-menu-theme-fullpage .dm2-cat-pos-top-left .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-top-left .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-top-left .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-top-left .dm2-cat-btn{
  align-items:flex-start !important;justify-content:flex-start !important;text-align:left !important;
  padding-top:14px !important;
}
.dm2-menu-theme-fullpage .dm2-cat-pos-top-center .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-top-center .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-top-center .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-top-center .dm2-cat-btn{
  align-items:flex-start !important;justify-content:center !important;text-align:center !important;
  padding-top:14px !important;
}

/* In basso a sinistra (default effetto) / centro */
.dm2-menu-theme-fullpage .dm2-cat-pos-bottom-left .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-bottom-left .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-bottom-left .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-bottom-left .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-start !important;text-align:left !important;
}
.dm2-menu-theme-fullpage .dm2-cat-pos-bottom-center .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-bottom-center .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-bottom-center .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-bottom-center .dm2-cat-btn{
  align-items:flex-end !important;justify-content:center !important;text-align:center !important;
}

/* Centro centro (verticalmente e orizzontalmente) */
.dm2-menu-theme-fullpage .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-center-center .dm2-cat-btn{
  align-items:center !important;justify-content:center !important;text-align:center !important;
}

/* ===== Spazio extra tra prodotti/allergeni e footer ===== */
.dm2[data-dm2="menu"] .dm2-products{padding-bottom:36px !important}
.dm2[data-dm2="menu"] .dm2-legend{margin-top:18px;padding-top:24px}
.dm2[data-dm2="menu"] .dm2-footer{margin-top:22px;padding-top:22px;padding-bottom:24px}

/* Forza il button a coprire tutto il tile per i nuovi temi anche con classi pos-* */
.dm2-menu-theme-fullpage .dm2-cat-pos-top-left .dm2-cat-btn,
.dm2-menu-theme-fullpage .dm2-cat-pos-top-center .dm2-cat-btn,
.dm2-menu-theme-fullpage .dm2-cat-pos-bottom-left .dm2-cat-btn,
.dm2-menu-theme-fullpage .dm2-cat-pos-bottom-center .dm2-cat-btn,
.dm2-menu-theme-fullpage .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2-menu-theme-fullpage .dm2-cat-pos-left .dm2-cat-btn,
.dm2-menu-theme-fullpage .dm2-cat-pos-center .dm2-cat-btn,
.dm2-menu-theme-fullpage .dm2-cat-pos-right .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-top-left .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-top-center .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-bottom-left .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-bottom-center .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-left .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-center .dm2-cat-btn,
.dm2-menu-theme-square .dm2-cat-pos-right .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-top-left .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-top-center .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-bottom-left .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-bottom-center .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-left .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-center .dm2-cat-btn,
.dm2-menu-theme-tris .dm2-cat-pos-right .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-top-left .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-top-center .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-bottom-left .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-bottom-center .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-left .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-center .dm2-cat-btn,
.dm2-menu-theme-trisquare .dm2-cat-pos-right .dm2-cat-btn{
  top:0 !important;
  bottom:0 !important;
  left:0 !important;
  right:0 !important;
  inset:0 !important;
  transform:none !important;
  width:100% !important;
  height:100% !important;
}

/* ===== Posizione testo categorie con specificità MAGGIORE (batte dm2-frontend-modern.css) ===== */
/* Aggiungiamo .dm2[data-dm2="menu"] al selettore per avere specificità (0,4,0) vs modern (0,3,0) */

/* In alto a sinistra / centro */
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-top-left .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-top-left .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-top-left .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-top-left .dm2-cat-btn{
  align-items:flex-start !important;justify-content:flex-start !important;text-align:left !important;
}
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-top-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-top-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-top-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-top-center .dm2-cat-btn{
  align-items:flex-start !important;justify-content:center !important;text-align:center !important;
}
/* In basso a sinistra / centro (default) */
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-bottom-left .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-bottom-left .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-bottom-left .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-bottom-left .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-start !important;text-align:left !important;
}
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-bottom-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-bottom-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-bottom-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-bottom-center .dm2-cat-btn{
  align-items:flex-end !important;justify-content:center !important;text-align:center !important;
}
/* Centro verticale + orizzontale */
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-center-center .dm2-cat-btn{
  align-items:center !important;justify-content:center !important;text-align:center !important;
}
/* Sinistra / Centro / Destra (orizzontale con default bottom) */
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-left .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-left .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-left .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-left .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-start !important;text-align:left !important;
}
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-center .dm2-cat-btn{
  align-items:flex-end !important;justify-content:center !important;text-align:center !important;
}
.dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-right .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-right .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-right .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-right .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-end !important;text-align:right !important;
}

/* ===== Override FINALE con html body (specificità massima) ===== */
html body .dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-top-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-top-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-top-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-top-left .dm2-cat-btn{
  align-items:flex-start !important;justify-content:flex-start !important;text-align:left !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-top-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-top-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-top-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-top-center .dm2-cat-btn{
  align-items:flex-start !important;justify-content:center !important;text-align:center !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-bottom-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-bottom-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-bottom-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-bottom-left .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-start !important;text-align:left !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-bottom-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-bottom-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-bottom-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-bottom-center .dm2-cat-btn{
  align-items:flex-end !important;justify-content:center !important;text-align:center !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-center-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-center-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-center-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-center-center .dm2-cat-btn{
  align-items:center !important;justify-content:center !important;text-align:center !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-left .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-start !important;text-align:left !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-center .dm2-cat-btn{
  align-items:flex-end !important;justify-content:center !important;text-align:center !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-fullpage .dm2-cat-pos-right .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-square .dm2-cat-pos-right .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-tris .dm2-cat-pos-right .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-trisquare .dm2-cat-pos-right .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-end !important;text-align:right !important;
}

/* ===== Posizione testo categorie anche per Mosaic e Grid ===== */
html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-pos-top-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-grid .dm2-cat-pos-top-left .dm2-cat-btn{
  align-items:flex-start !important;justify-content:flex-start !important;text-align:left !important;
  top:0 !important;bottom:0 !important;left:0 !important;right:0 !important;inset:0 !important;transform:none !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-pos-top-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-grid .dm2-cat-pos-top-center .dm2-cat-btn{
  align-items:flex-start !important;justify-content:center !important;text-align:center !important;
  top:0 !important;bottom:0 !important;left:0 !important;right:0 !important;inset:0 !important;transform:none !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-pos-bottom-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-grid .dm2-cat-pos-bottom-left .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-start !important;text-align:left !important;
  top:0 !important;bottom:0 !important;left:0 !important;right:0 !important;inset:0 !important;transform:none !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-pos-bottom-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-grid .dm2-cat-pos-bottom-center .dm2-cat-btn{
  align-items:flex-end !important;justify-content:center !important;text-align:center !important;
  top:0 !important;bottom:0 !important;left:0 !important;right:0 !important;inset:0 !important;transform:none !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-pos-center-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-grid .dm2-cat-pos-center-center .dm2-cat-btn{
  align-items:center !important;justify-content:center !important;text-align:center !important;
  top:0 !important;bottom:0 !important;left:0 !important;right:0 !important;inset:0 !important;transform:none !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-pos-left .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-grid .dm2-cat-pos-left .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-start !important;text-align:left !important;
  top:0 !important;bottom:0 !important;left:0 !important;right:0 !important;inset:0 !important;transform:none !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-pos-center .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-grid .dm2-cat-pos-center .dm2-cat-btn{
  align-items:flex-end !important;justify-content:center !important;text-align:center !important;
  top:0 !important;bottom:0 !important;left:0 !important;right:0 !important;inset:0 !important;transform:none !important;
}
html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-pos-right .dm2-cat-btn,
html body .dm2[data-dm2="menu"].dm2-menu-theme-grid .dm2-cat-pos-right .dm2-cat-btn{
  align-items:flex-end !important;justify-content:flex-end !important;text-align:right !important;
  top:0 !important;bottom:0 !important;left:0 !important;right:0 !important;inset:0 !important;transform:none !important;
}

/* ===== Normalizza dimensioni tile mosaic (rimuove il "primo più grande") ===== */
html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-item:nth-child(4n+1),
html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-item:nth-child(4n+2){
  min-height:180px !important;
}
@media(max-width:640px){
  html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-item:nth-child(4n+1),
  html body .dm2[data-dm2="menu"].dm2-menu-theme-mosaic .dm2-cat-item:nth-child(4n+2){
    min-height:150px !important;
  }
}

/* ===== Header sottocategoria (quando una categoria madre ha sottocategorie) ===== */
.dm2[data-dm2="menu"] .dm2-subcat-header{
  grid-column:1 / -1 !important;
  font-size:var(--dm2-subcat-title-size,17px);
  font-family:var(--dm2-product-title-font-family,inherit);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--dm2-subcat-title,var(--dm2-text,#fff));
  padding:16px 18px 8px;
  margin:14px 0 4px;
  border-bottom:2px solid var(--dm2-subcat-border,var(--dm2-border,rgba(255,255,255,.3)));
  opacity:.95;
}
.dm2[data-dm2="menu"] .dm2-subcat-header .dm2-subcat-desc{
  display:block;
  font-size:calc(var(--dm2-subcat-title-size,17px) * 0.72);
  font-weight:400;
  text-transform:none;
  letter-spacing:.01em;
  color:var(--dm2-subcat-desc,var(--dm2-muted,#bfbfbf));
  margin-top:6px;
  line-height:1.35;
  opacity:.9;
}
.dm2[data-dm2="menu"] .dm2-subcat-header:first-child{margin-top:4px}
@media(max-width:640px){
  .dm2[data-dm2="menu"] .dm2-subcat-header{padding:12px 14px 6px}
}

/* ===== Override v2.5.4: variabili CSS tile (ombra, sfondo, righe titolo, font mobile) ===== */
.dm2-menu-theme-fullpage .dm2-cat-item,
.dm2-menu-theme-square .dm2-cat-item,
.dm2-menu-theme-tris .dm2-cat-item,
.dm2-menu-theme-trisquare .dm2-cat-item{
  box-shadow:var(--dm2-tile-shadow,0 10px 26px rgba(0,0,0,.22)) !important;
  background:var(--dm2-tile-bg,var(--dm2-card-bg,#111)) !important;
}
/* Applica righe max titolo tile */
.dm2-menu-theme-fullpage .dm2-cat-name,
.dm2-menu-theme-square .dm2-cat-name,
.dm2-menu-theme-tris .dm2-cat-name,
.dm2-menu-theme-trisquare .dm2-cat-name{
  -webkit-line-clamp:var(--dm2-tile-title-clamp,2);
  line-clamp:var(--dm2-tile-title-clamp,2);
}
/* Font size mobile custom */
@media(max-width:640px){
  .dm2-menu-theme-fullpage .dm2-cat-name,
  .dm2-menu-theme-square .dm2-cat-name,
  .dm2-menu-theme-tris .dm2-cat-name,
  .dm2-menu-theme-trisquare .dm2-cat-name{
    font-size:var(--dm2-category-font-size-mobile, var(--dm2-category-font-size,14px)) !important;
  }
}

/* ===== Coperto banner ===== */
.dm2[data-dm2="menu"] .dm2-coperto-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:18px 16px;
  padding:14px 18px;
  background:var(--dm2-coperto-bg,var(--dm2-card-bg,#111));
  color:var(--dm2-coperto-text,var(--dm2-text,#fff));
  border:1px solid var(--dm2-coperto-border,var(--dm2-accent,#d9901f));
  border-left:4px solid var(--dm2-coperto-border,var(--dm2-accent,#d9901f));
  border-radius:10px;
  font-weight:600;
  font-size:15px;
  box-shadow:0 4px 12px rgba(0,0,0,.1);
}
.dm2[data-dm2="menu"] .dm2-coperto-banner .dm2-coperto-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:14px;
}
.dm2[data-dm2="menu"] .dm2-coperto-banner .dm2-coperto-icon{
  font-size:18px;
  line-height:1;
  display:inline-flex;
  align-items:center;
  margin-right:4px;
}
.dm2[data-dm2="menu"] .dm2-coperto-banner .dm2-coperto-price{
  font-weight:800;
  font-size:17px;
  padding:4px 12px;
  border-radius:999px;
  border:1px solid var(--dm2-coperto-border,var(--dm2-accent,#d9901f));
  background:color-mix(in srgb,var(--dm2-coperto-border,#d9901f) 20%,transparent);
}
@media(max-width:640px){
  .dm2[data-dm2="menu"] .dm2-coperto-banner{margin:14px 12px;padding:12px 14px;font-size:14px}
  .dm2[data-dm2="menu"] .dm2-coperto-banner .dm2-coperto-label{font-size:12px}
  .dm2[data-dm2="menu"] .dm2-coperto-banner .dm2-coperto-price{font-size:15px}
}

/* ===== Banner categoria attiva (modalità hide-cats) ===== */
.dm2[data-dm2="menu"] .dm2-cat-banner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:14px 16px 10px;
  padding:14px 20px;
  background:var(--dm2-cat-banner-bg,var(--dm2-card-bg,#1a1a1a));
  color:var(--dm2-cat-banner-text,var(--dm2-text,#fff));
  border:1px solid var(--dm2-cat-banner-border,var(--dm2-accent,#d9901f));
  border-left:4px solid var(--dm2-cat-banner-border,var(--dm2-accent,#d9901f));
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.dm2[data-dm2="menu"] .dm2-cat-banner .dm2-cat-banner-title{
  font-size:var(--dm2-cat-banner-font-size,22px);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  line-height:1.15;
}
.dm2[data-dm2="menu"] .dm2-cat-banner .dm2-cat-banner-icon{
  font-size:calc(var(--dm2-cat-banner-font-size,22px) * 1.05);
  line-height:1;
  display:inline-flex;
  align-items:center;
}
@media(max-width:640px){
  .dm2[data-dm2="menu"] .dm2-cat-banner{margin:12px 12px 8px;padding:12px 14px}
  .dm2[data-dm2="menu"] .dm2-cat-banner .dm2-cat-banner-title{font-size:calc(var(--dm2-cat-banner-font-size,22px) * 0.85)}
}

/* ===== Banner categoria: stile "sottolineato" (niente box/sfondo/ombra) ===== */
.dm2[data-dm2="menu"] .dm2-cat-banner.dm2-cat-banner--underline{
  background:transparent !important;
  border:0 !important;
  border-left:0 !important;
  box-shadow:none !important;
  padding:10px 16px 14px !important;
  /* Stessa larghezza dei prodotti: 18px margin a sinistra/destra (come .dm2-products padding) */
  margin:16px 18px 12px !important;
  max-width:none !important;
  width:auto !important;
  display:block !important;
  text-align:center !important;
  position:relative !important;
  border-radius:0 !important;
}
.dm2[data-dm2="menu"] .dm2-cat-banner.dm2-cat-banner--underline .dm2-cat-banner-title,
.dm2[data-dm2="menu"] .dm2-cat-banner.dm2-cat-banner--underline .dm2-cat-banner-icon{
  display:inline-block !important;
  vertical-align:middle !important;
}
.dm2[data-dm2="menu"] .dm2-cat-banner.dm2-cat-banner--underline::after{
  content:'' !important;
  position:absolute !important;
  /* Linea FISSA al 50% del banner (stessa larghezza dei prodotti), sempre centrata */
  left:50% !important;
  bottom:0 !important;
  transform:translateX(-50%) !important;
  width:50% !important;
  right:auto !important;
  top:auto !important;
  height:2px !important;
  background:var(--dm2-cat-banner-border,var(--dm2-accent,#d9901f)) !important;
  border-radius:2px !important;
}
@media(max-width:640px){
  .dm2[data-dm2="menu"] .dm2-cat-banner.dm2-cat-banner--underline{margin:14px 18px 10px !important;padding:8px 12px 12px !important}
}
.dm2[data-dm2="menu"] .dm2-cat-banner.dm2-cat-banner--underline .dm2-cat-banner-title{
  color:var(--dm2-cat-banner-text,var(--dm2-text,#fff));
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.1em;
  text-align:center;
}

/* ===== Pulsanti azione in fondo ai prodotti (back + torna su) — simmetrici via GRID ===== */
.dm2[data-dm2="menu"] .dm2-popup-actions{
  display:none; /* JS imposta display:grid !important quando visibile */
  grid-template-columns:1fr 1fr !important;
  grid-auto-rows:1fr !important;
  gap:12px;
  margin:18px 16px 24px;
  align-items:stretch;
}
.dm2[data-dm2="menu"] .dm2-popup-actions[style*="display:flex"],
.dm2[data-dm2="menu"] .dm2-popup-actions[style*="display: flex"]{
  display:grid !important;
}
.dm2[data-dm2="menu"] .dm2-popup-actions .dm2-popup-back,
.dm2[data-dm2="menu"] .dm2-popup-actions .dm2-popup-top{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  flex:unset !important;
  margin:0 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:14px 16px !important;
  height:52px !important;
  min-height:52px !important;
  border-radius:999px !important;
  border:1px solid var(--dm2-primary-btn-border,var(--dm2-border,#ccc)) !important;
  background:var(--dm2-primary-btn-bg,var(--dm2-card-bg,#fff)) !important;
  color:var(--dm2-primary-btn-text,var(--dm2-text,#000)) !important;
  font-weight:700 !important;
  font-size:14px !important;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(0,0,0,.12);
  transition:filter .18s ease, transform .18s ease;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  box-sizing:border-box !important;
  line-height:1.2 !important;
}
.dm2[data-dm2="menu"] .dm2-popup-actions .dm2-popup-back:hover,
.dm2[data-dm2="menu"] .dm2-popup-actions .dm2-popup-top:hover{
  filter:brightness(1.07);
  transform:translateY(-1px);
}
@media(max-width:640px){
  .dm2[data-dm2="menu"] .dm2-popup-actions{margin:14px 12px 20px;gap:8px}
  .dm2[data-dm2="menu"] .dm2-popup-actions .dm2-popup-back,
  .dm2[data-dm2="menu"] .dm2-popup-actions .dm2-popup-top{padding:12px 10px !important;font-size:13px !important;height:48px !important;min-height:48px !important}
}

/* ===== Sottocategorie: stili Box e Underline (il "simple" usa le regole base esistenti) ===== */
/* Icon */
.dm2[data-dm2="menu"] .dm2-subcat-header .dm2-subcat-icon{
  display:inline-flex;
  align-items:center;
  margin-right:6px;
  line-height:1;
  font-size:calc(var(--dm2-subcat-title-size,17px) * 0.9);
}
/* Stile SIMPLE (default): mantiene le regole originali, nessuna modifica */

/* Stile UNDERLINE: testo centrato + linea sotto (larghezza = stesso spazio dei prodotti) */
.dm2[data-dm2="menu"] .dm2-subcat-header.dm2-subcat-header--underline{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:14px 0 10px !important;
  margin:16px 0 10px !important;
  max-width:none !important;
  width:100% !important;
  display:block !important;
  text-align:center !important;
  position:relative;
  border-radius:0 !important;
  grid-column:1 / -1 !important;
}
.dm2[data-dm2="menu"] .dm2-subcat-header.dm2-subcat-header--underline::after{
  content:'';
  position:absolute;
  /* Linea FISSA al 50% del contenitore, centrata — indipendente dalla lunghezza del testo */
  left:50%;
  bottom:4px;
  transform:translateX(-50%);
  width:50%;
  right:auto;
  height:2px;
  background:var(--dm2-subcat-border,var(--dm2-border,#fff));
  border-radius:2px;
}
.dm2[data-dm2="menu"] .dm2-subcat-header.dm2-subcat-header--underline .dm2-subcat-title{
  display:inline-block !important;
  color:var(--dm2-subcat-title,var(--dm2-text,#fff));
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.1em;
  line-height:1.2;
}
.dm2[data-dm2="menu"] .dm2-subcat-header.dm2-subcat-header--underline .dm2-subcat-desc{
  display:block;
  margin-top:6px;
  opacity:.9;
}

/* Stile BOX: pulsante con sfondo + bordo (larghezza = stesso spazio dei prodotti) */
.dm2[data-dm2="menu"] .dm2-subcat-header.dm2-subcat-header--box{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin:16px 0 12px !important;
  padding:12px 18px !important;
  width:100% !important;
  box-sizing:border-box !important;
  background:var(--dm2-subcat-bg,var(--dm2-card-bg,#1a1a1a)) !important;
  color:var(--dm2-subcat-title,var(--dm2-text,#fff)) !important;
  border:1px solid var(--dm2-subcat-border,var(--dm2-border,#fff)) !important;
  border-left:4px solid var(--dm2-subcat-border,var(--dm2-border,#fff)) !important;
  border-radius:10px !important;
  box-shadow:0 4px 12px rgba(0,0,0,.12) !important;
  grid-column:1 / -1 !important;
  flex-direction:column !important;
}
.dm2[data-dm2="menu"] .dm2-subcat-header.dm2-subcat-header--box .dm2-subcat-title{
  color:var(--dm2-subcat-title,var(--dm2-text,#fff));
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.05em;
  line-height:1.2;
  font-size:var(--dm2-subcat-title-size,17px);
}
.dm2[data-dm2="menu"] .dm2-subcat-header.dm2-subcat-header--box .dm2-subcat-desc{
  display:block;
  margin-top:6px;
  font-weight:400;
  text-transform:none;
  letter-spacing:.01em;
  color:var(--dm2-subcat-desc,var(--dm2-muted,#bfbfbf));
}
@media(max-width:640px){
  /* Mobile: sottocategorie allineate e larghe come i prodotti (niente margin orizzontale) */
  .dm2[data-dm2="menu"] .dm2-subcat-header.dm2-subcat-header--box{margin:12px 0 10px !important;padding:10px 14px !important;width:100% !important;box-sizing:border-box !important}
  .dm2[data-dm2="menu"] .dm2-subcat-header.dm2-subcat-header--underline{margin:12px 0 8px !important;padding:10px 12px 8px !important;width:100% !important;box-sizing:border-box !important}
}

/* ══════════════════════════════════════════════════════════════════════════
   Dimensione del prezzo — nota di manutenzione

   L'impostazione "Dimensione prezzo prodotto (px)" arriva qui nella variabile
   --dm2-product-price-size, scritta da frontend.js. Tutte le regole che
   toccano la dimensione del prezzo e delle varianti la usano come base, in
   proporzione: `calc(var(--dm2-product-price-size, 15px) * N / 15)`.

   15 e' il valore predefinito, quindi con l'impostazione a 15 ogni regola
   produce esattamente il pixel che aveva prima (12, 11, 13, 14, 16...).

   Prima queste regole avevano misure fisse e, trovandosi piu' in basso nel
   file, scavalcavano la variabile: da telefono il prezzo restava a 12px
   qualunque cosa si impostasse, e le varianti non seguivano l'impostazione
   nemmeno da computer.

   Se aggiungi una nuova regola sul prezzo, usa la stessa forma invece di un
   numero fisso, altrimenti l'impostazione torna a non avere effetto.
   ══════════════════════════════════════════════════════════════════════════ */


/* ══════════════════════════════════════════════════════════════════════════
   MODELLO "LISTINO" — righe semplici con linea divisoria

   Nome a sinistra, prezzo a destra sulla stessa riga, descrizione sotto,
   una riga sottile fra un prodotto e l'altro. Niente foto, niente riquadri,
   niente pillola attorno al prezzo: il menu di carta, sullo schermo.

   Si attiva SOLO scegliendo "Listino — righe semplici" fra i modelli: ogni
   regola qui sotto e' ancorata a `.dm2.dm2-menu-theme-listino`, che compare sul
   contenitore radice unicamente in quel caso. Nessun altro modello e' toccato.

   Il colore del prezzo viene da "Colore sfondo prezzo" nelle impostazioni:
   nella pillola quello e' lo sfondo, qui — non essendoci pillola — diventa il
   colore del testo. E' il colore che nel pannello si vede come "colore del
   prezzo", quindi il comportamento resta intuitivo.
   ══════════════════════════════════════════════════════════════════════════ */

/* Una colonna sola, senza spazi fra le righe: e' un elenco, non una griglia */
.dm2.dm2-menu-theme-listino .dm2-products{
  grid-template-columns:1fr !important;
  gap:0 !important;
}

/* La card diventa una riga: nessun riquadro, solo il filo che divide */
.dm2.dm2-menu-theme-listino .dm2-card{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  border-bottom:1px solid var(--dm2-border,rgba(255,255,255,.14)) !important;
  overflow:visible;
}
.dm2.dm2-menu-theme-listino .dm2-card:last-child{ border-bottom:0 !important; }
.dm2.dm2-menu-theme-listino .dm2-card:hover{
  transform:none !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* Riga 1: nome + prezzo. Righe successive: descrizione, note, allergeni.
   Tutto cio' che non e' nome o prezzo occupa la riga intera e va sotto:
   cosi' anche un elemento nuovo, aggiunto in futuro, finisce al posto giusto
   invece di infilarsi accanto al prezzo. */
.dm2.dm2-menu-theme-listino .dm2-card-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  column-gap:16px;
  padding:14px 4px;
}
/* `flex` va dichiarato !important perche' il JavaScript scrive `flex:1 1 auto`
   IN LINEA sul blocco .dm2-right (quello degli allergeni), e uno stile in linea
   batte una regola CSS normale. Senza !important, sui prodotti SENZA descrizione
   non c'era nulla che mandasse a capo la riga: .dm2-right restava accanto al
   titolo e al prezzo e, essendo elastico, si prendeva lo spazio a destra
   spingendo il prezzo verso il centro. Con la descrizione presente il problema
   non si vedeva, perche' era lei a mandare a capo. */
.dm2.dm2-menu-theme-listino .dm2-card-inner > *{ flex:0 0 100% !important; order:9; min-width:0; }
.dm2.dm2-menu-theme-listino .dm2-card-inner > .dm2-badges{ order:1; margin-bottom:2px; }
.dm2.dm2-menu-theme-listino .dm2-card-inner > .dm2-title{ order:2; flex:1 1 auto !important; }
.dm2.dm2-menu-theme-listino .dm2-card-inner > .dm2-pricing-block{
  order:3;
  flex:0 0 auto !important;
  width:auto !important;
  margin:0 0 0 auto !important;
  align-items:flex-end;
  text-align:right;
}
.dm2.dm2-menu-theme-listino .dm2-card-inner > .dm2-desc{ order:4; margin-top:3px; }
.dm2.dm2-menu-theme-listino .dm2-card-inner > .dm2-product-note{ order:5; }
.dm2.dm2-menu-theme-listino .dm2-card-inner > .dm2-storage-badges{ order:6; }
.dm2.dm2-menu-theme-listino .dm2-card-inner > .dm2-right{ order:7; }

/* Nel layout "prezzo a destra" la riga esiste gia': qui serve solo togliere
   i margini, il resto lo fa il layout stesso. */
.dm2.dm2-menu-theme-listino .dm2-card-inner > .dm2-row{ order:2; margin:0; width:100%; }

/* Niente foto: e' il senso di questo modello */
.dm2.dm2-menu-theme-listino .dm2-img-hero,
.dm2.dm2-menu-theme-listino .dm2-img-left,
.dm2.dm2-menu-theme-listino .dm2-leftcol{ display:none !important; }

/* Nome del prodotto */
.dm2.dm2-menu-theme-listino .dm2-title{
  font-weight:700;
  line-height:1.25;
  margin:0;
}

/* Descrizione: sottotono, come sul menu di carta */
.dm2.dm2-menu-theme-listino .dm2-desc{
  opacity:.65;
  line-height:1.35;
  margin:0;
}

/* Prezzo nudo: nessuna pillola, nessun bordo, nessuno sfondo */
.dm2.dm2-menu-theme-listino .dm2-price,
.dm2.dm2-menu-theme-listino .dm2-pricing-block .dm2-price{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  /* Il colore NON puo' venire da --dm2-price-bg: quella variabile porta con se'
     l'opacita' impostata in "Colore sfondo prezzo", e come sfondo di una pillola
     una trasparenza si nota appena, mentre come colore di un testo lo rende
     illeggibile. Si usa l'accento della palette, che e' sempre un colore pieno
     scelto per essere visibile su quello sfondo; se mancasse, si ricade sul
     colore del titolo e poi su quello del testo. In nessun caso il prezzo puo'
     sparire. */
  color:var(--dm2-accent, var(--dm2-product-title, var(--dm2-text,#fff))) !important;
  font-weight:700;
  white-space:nowrap;
  align-self:flex-end;
}

/* Varianti (Piccola / Media / Grande): incolonnate a destra, senza pillola */
.dm2.dm2-menu-theme-listino .dm2-pricing-block .dm2-sizes{
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  width:auto;
  overflow:visible;
}
/* Il chip perde la pillola. Serve azzerare lo sfondo anche sulle DUE meta'
   interne (etichetta e prezzo): una regola precedente lo dipinge su entrambe,
   e senza questo restavano due rettangoli arancioni al posto del testo. */
.dm2.dm2-menu-theme-listino .dm2-sizechip,
.dm2.dm2-menu-theme-listino .dm2-pricing-block .dm2-sizechip,
.dm2.dm2-menu-theme-listino .dm2-sizechip .dm2-sizechip-label,
.dm2.dm2-menu-theme-listino .dm2-sizechip .dm2-sizechip-price,
.dm2.dm2-menu-theme-listino .dm2-sizechip *{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.dm2.dm2-menu-theme-listino .dm2-sizechip,
.dm2.dm2-menu-theme-listino .dm2-pricing-block .dm2-sizechip{
  display:flex !important;
  padding:0 !important;
  margin:0 !important;
  gap:10px;
  flex:0 0 auto !important;
  width:auto !important;
  min-width:0 !important;
  justify-content:flex-end;
  align-items:baseline;
  white-space:nowrap;
}
.dm2.dm2-menu-theme-listino .dm2-sizechip .dm2-sizechip-label{
  opacity:.6;
  font-weight:500;
  padding:0 !important;
  color:var(--dm2-text,#fff) !important;
}
.dm2.dm2-menu-theme-listino .dm2-sizechip .dm2-sizechip-price{
  color:var(--dm2-accent, var(--dm2-product-title, var(--dm2-text,#fff))) !important;
  font-weight:700;
  padding:0 !important;
}

/* Allergeni e note: piccoli, sotto, senza riquadri pesanti */
.dm2.dm2-menu-theme-listino .dm2-allergens{ margin-top:6px; }
.dm2.dm2-menu-theme-listino .dm2-product-note{ opacity:.6; margin-top:4px; }

@media(max-width:640px){
  .dm2.dm2-menu-theme-listino .dm2-card-inner{ padding:12px 2px; column-gap:12px; }
}

/* ===== PREZZI: DA 4 IN SU VANNO A CAPO =============================================
   Prima i prezzi di un prodotto stavano per forza su una riga sola: al telefono, con
   5 prezzi, ogni etichetta veniva tagliata e la riga scorreva di lato. La classe
   dm2-sizes-molti la mette frontend.js solo da 4 prezzi in su: fino a 3 non cambia
   niente. Dove i prezzi sono gia' in colonna (prezzo a destra, Listino) la colonna
   resta colonna: qui si cambia solo l'andare a capo. */
.dm2 .dm2-sizes.dm2-sizes-molti{flex-wrap:wrap !important;overflow-x:visible !important;white-space:normal}
.dm2 .dm2-sizes.dm2-sizes-molti .dm2-sizechip{flex:0 1 auto !important;max-width:100%;white-space:normal}
/* Dove con 2-3 prezzi le etichette si allargano a riempire la riga, fanno lo stesso
   anche quando vanno a capo: stesso aspetto degli altri prodotti del tema. */
.dm2 .dm2-pricing-block .dm2-sizes.dm2-sizes-molti .dm2-sizechip{flex:1 1 auto !important}

/* ===== ICONE DISEGNATE (le stesse della stampa) ====================================
   Compaiono solo se in "Stile allergeni" si sceglie "Icone disegnate": frontend.js
   usa la classe dm2-dico e dm2-allergen-drawn solo in quel caso, quindi con gli altri
   stili queste regole non toccano niente. Colore e grandezza arrivano da
   --dm2-dico-color (vuoto = colore del testo) e --dm2-dico-scale. */
.dm2 .dm2-dico{display:inline-block;width:calc(1em * var(--dm2-dico-scale,1.1));height:calc(1em * var(--dm2-dico-scale,1.1));
  vertical-align:-.2em;flex:0 0 auto;color:var(--dm2-dico-color,currentColor);stroke:currentColor;fill:none;margin-right:.35em}
/* Il foglio "modern" nasconde le icone degli allergeni dentro le schede: con le icone
   disegnate scelte apposta, devono vedersi. */
.dm2[data-dm2="menu"] .dm2-allergen.dm2-allergen-drawn .dm2-allergen-ico{display:inline-flex !important;visibility:visible !important;
  width:auto !important;height:auto !important;min-width:0 !important;margin-right:.3em}
.dm2[data-dm2="menu"] .dm2-allergen.dm2-allergen-drawn .dm2-allergen-ico svg.dm2-dico{width:calc(1em * var(--dm2-dico-scale,1.1)) !important;
  height:calc(1em * var(--dm2-dico-scale,1.1)) !important;margin:0;color:var(--dm2-dico-color,currentColor);stroke:currentColor}
.dm2[data-dm2="menu"] .dm2-allergen.dm2-allergen-drawn.dm2-allergen-icononly .dm2-allergen-ico{margin-right:0}

/* ===== FONT DESCRIZIONE PRODOTTO ===================================================
   frontend.js scriveva gia' --dm2-product-desc-font-family, ma nessuna regola la
   usava: la tendina "Font descrizione prodotto" non aveva effetto. Con il valore di
   serie ("Predefinito" = inherit) il carattere resta quello ereditato di prima. */
.dm2 .dm2-desc{font-family:var(--dm2-product-desc-font-family,inherit)}

/* ===== ACCANTO AL LOGO: FRECCIA E COPERTO ==========================================
   Solo se accesi in Impostazioni > Header: frontend.js aggiunge allora la classe
   dm2-header-extra e i due lati. Tre colonne: lato sinistro, logo, lato destro; i
   lati sono sempre tutti e due, anche vuoti, cosi' il logo resta al centro. Con
   l'header spento compare una barra sottile (dm2-header-mini) solo per loro. */
.dm2 .dm2-header.dm2-header-extra{display:flex !important;align-items:center;gap:8px;box-sizing:border-box}
/* I lati allineati ai bordi del menu: frontend.js misura le schede e scrive le due
   distanze. Selettore piu' forte di quello di dm2-frontend-modern.css. */
.dm2[data-dm2="menu"] .dm2-header.dm2-header-extra{padding-left:var(--dm2-hdr-sx,12px) !important;padding-right:var(--dm2-hdr-dx,12px) !important}
.dm2 .dm2-header.dm2-header-extra > .dm2-logo{order:2;flex:0 1 auto;min-width:0}
.dm2 .dm2-header.dm2-header-mini{min-height:54px;padding-top:8px;padding-bottom:8px}
.dm2 .dm2-hdr-side{flex:1 1 0;min-width:0;display:flex;align-items:center;gap:8px}
.dm2 .dm2-hdr-side-sx{order:1;justify-content:flex-start;text-align:left}
.dm2 .dm2-hdr-side-dx{order:3;justify-content:flex-end;text-align:right}
.dm2 .dm2-hdr-back{flex:0 0 auto;width:36px !important;height:36px !important;min-width:0 !important;min-height:0 !important;
  border-radius:50% !important;border:1px solid currentColor !important;background:transparent !important;box-shadow:none !important;
  color:var(--dm2-text,#fff) !important;display:inline-flex !important;align-items:center;justify-content:center;
  padding:0 !important;margin:0 !important;line-height:1 !important;cursor:pointer;opacity:.85;-webkit-tap-highlight-color:transparent}
.dm2 .dm2-hdr-back:hover{opacity:1}
.dm2 .dm2-hdr-back svg{width:18px;height:18px;display:block}
.dm2 .dm2-hdr-coperto{font-size:12px;line-height:1.25;color:var(--dm2-coperto-text,var(--dm2-text,#fff))}
.dm2 .dm2-hdr-coperto-price{font-weight:700;white-space:nowrap}

/* ===== TEMA "COME LA STAMPA" (Classico, tutto di seguito) ==========================
   Il menu online impaginato come il modello Classico della stampa: logo al centro,
   ogni categoria col titolo centrato in maiuscolo, i piatti su righe (nome a
   sinistra, prezzo a destra), descrizione in corsivo, allergeni piccoli. I colori
   vengono dalla palette. Tutte le regole valgono solo con .dm2-menu-theme-stampa;
   il prefisso lungo serve a vincere anche su dm2-frontend-modern.css. */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa{font-family:Georgia,"Times New Roman",serif !important}
/* Il fondo e' il "foglio": il colore della card, piu' tenue dello sfondo pagina. */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa{background-color:var(--dm2-card-bg,#ffffff) !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-inner{max-width:760px !important;margin:0 auto !important;padding:0 20px 48px !important;box-sizing:border-box}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-inner{padding:0 20px 48px !important}
/* Margini ai lati anche contro le regole dei temi WordPress: selettore piu' forte. */
html body .dm2[data-dm2="menu"].dm2-menu-theme-stampa > .dm2-inner{padding-left:20px !important;padding-right:20px !important}
/* Categorie un po' staccate dalle lingue del traduttore. */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-cats{margin-top:18px !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-products{display:block !important;background:transparent !important;border:0 !important;
  border-radius:0 !important;margin:0 !important;padding:0 !important;overflow:visible !important;box-shadow:none !important}
/* Titolo di categoria */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-sez-titolo{margin:var(--dm2-st-spazio-cat,34px) 0 var(--dm2-st-spazio-sotto,14px);scroll-margin-top:90px;
  border-bottom:1px solid var(--dm2-border,#999);border-bottom-color:color-mix(in srgb, var(--dm2-text,#1a1a1a) 22%, transparent)}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-sez-titolo h2{margin:0 0 8px;text-align:center;font-size:21px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;line-height:1.3;font-size:calc(var(--dm2-category-font-size,30px) * 21 / 30);
  font-family:var(--dm2-category-font-family,inherit);color:var(--dm2-cat-active-bg,var(--dm2-text,#333))}
/* Il piatto: una riga, senza scheda */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card{background:transparent !important;border:0 !important;border-radius:0 !important;
  box-shadow:none !important;margin:0 !important;padding:14px 0 !important;overflow:visible !important;
  border-bottom:1px dotted color-mix(in srgb, var(--dm2-text,#1a1a1a) 20%, transparent) !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card:last-child{border-bottom:0 !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-card-inner{padding:0 !important;background:transparent !important;border:0 !important;box-shadow:none !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-row{display:flex !important;align-items:flex-start !important;gap:16px !important;flex-wrap:nowrap !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-leftcol,
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-img-left,
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-img-hero,
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-img-placeholder,
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-add-btn{display:none !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-right{flex:1 1 auto !important;min-width:0 !important;display:flex !important;flex-direction:column !important}
/* Il nome sempre in prima riga, allineato al prezzo; i badge subito sotto. */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-right > .dm2-title{order:-2}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-right > .dm2-badges{order:-1;margin:2px 0 6px !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-card-inner .dm2-title{font-size:calc(var(--dm2-product-title-font-size,22px) * 17 / 22) !important;font-weight:700 !important;line-height:1.35 !important;
  margin:0 0 4px !important;white-space:normal !important;overflow:visible !important;text-overflow:clip !important;text-transform:none !important;
  letter-spacing:0 !important;color:var(--dm2-product-title,var(--dm2-text,#1a1a1a)) !important;font-family:var(--dm2-product-title-font-family,inherit) !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-card-inner .dm2-desc{font-size:var(--dm2-product-desc-font-size,14px) !important;font-style:italic !important;line-height:1.5 !important;
  margin:0 !important;white-space:normal !important;overflow:visible !important;text-overflow:clip !important;
  color:var(--dm2-product-desc,var(--dm2-muted,#666)) !important;font-family:var(--dm2-product-desc-font-family,inherit) !important}
/* Allergeni: piccoli, senza pillola */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-card-inner .dm2-allergens{display:flex !important;flex-wrap:wrap !important;gap:4px 12px !important;margin-top:8px !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-card-inner .dm2-allergen{background:transparent !important;border:0 !important;padding:0 !important;
  border-radius:0 !important;font-size:12px !important;gap:4px !important;color:var(--dm2-allergen-text,var(--dm2-text,#555)) !important;opacity:.85}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-card-inner .dm2-allergen-name{background:transparent !important;padding:0 !important;
  border:0 !important;font-size:12px !important;color:inherit !important;font-weight:400 !important}
/* Prezzo a destra, testo semplice */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-pricing-block{flex:0 0 auto !important;display:flex !important;flex-direction:column !important;
  align-items:flex-end !important;gap:2px !important;margin:0 !important;padding:0 !important;background:transparent !important;border:0 !important;min-width:0 !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-pricing-block .dm2-price{background:transparent !important;border:0 !important;padding:0 !important;
  margin:0 !important;border-radius:0 !important;box-shadow:none !important;font-size:calc(var(--dm2-product-price-size,15px) * 17 / 15) !important;font-weight:700 !important;white-space:nowrap !important;
  color:var(--dm2-price-text,var(--dm2-product-title,var(--dm2-text,#1a1a1a))) !important;width:auto !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-pricing-block .dm2-sizes{display:flex !important;flex-direction:column !important;
  align-items:flex-end !important;gap:2px !important;margin:0 !important;overflow:visible !important;min-width:0 !important;flex-wrap:nowrap !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-pricing-block .dm2-sizechip,
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-pricing-block .dm2-sizechip *{background:transparent !important;border:0 !important;
  border-radius:0 !important;box-shadow:none !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-pricing-block .dm2-sizechip{display:flex !important;align-items:baseline !important;gap:8px !important;
  padding:0 !important;margin:0 !important;min-width:0 !important;width:auto !important;justify-content:flex-end !important;white-space:nowrap !important;
  flex:0 0 auto !important;color:var(--dm2-price-text,var(--dm2-product-title,var(--dm2-text,#1a1a1a))) !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-pricing-block .dm2-sizechip-label{font-size:calc(var(--dm2-product-price-size,15px) * 13 / 15) !important;font-weight:400 !important;opacity:.8;
  color:var(--dm2-product-desc,var(--dm2-muted,#666)) !important;padding:0 !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-pricing-block .dm2-sizechip-price{font-size:calc(var(--dm2-product-price-size,15px) * 16 / 15) !important;font-weight:700 !important;
  color:var(--dm2-price-text,var(--dm2-product-title,var(--dm2-text,#1a1a1a))) !important;padding:0 !important}
/* Coperto in alto: una riga fra due linee, come sulla carta */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-coperto-banner{background:transparent !important;border:0 !important;border-radius:0 !important;
  border-top:1px solid var(--dm2-text,#1a1a1a) !important;border-bottom:1px solid var(--dm2-text,#1a1a1a) !important;box-shadow:none !important;
  padding:10px 0 !important;margin:16px 0 !important;justify-content:flex-start !important;gap:6px !important;font-family:inherit !important;
  color:var(--dm2-text,#1a1a1a) !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-coperto-banner .dm2-coperto-label{text-transform:none !important;letter-spacing:0 !important;
  font-weight:400 !important;font-size:15px !important;font-family:inherit !important;color:inherit !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-coperto-banner .dm2-coperto-icon{display:none !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-coperto-banner .dm2-coperto-price{background:transparent !important;border:0 !important;padding:0 !important;
  font-size:inherit !important;font-weight:700 !important;color:inherit !important}
@media (max-width:480px){
  .dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-inner{padding:0 22px 40px !important}
  html body .dm2[data-dm2="menu"].dm2-menu-theme-stampa > .dm2-inner{padding-left:22px !important;padding-right:22px !important}
  .dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-card-inner .dm2-title{font-size:calc(var(--dm2-product-title-font-size,22px) * 16 / 22) !important}
  .dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-sez-titolo h2{font-size:calc(var(--dm2-category-font-size,30px) * 19 / 30)}
}

/* ===== GRANDEZZE SCELTE A MANO: TITOLO E DESCRIZIONE ===============================
   frontend.js aggiunge dm2-fs-title / dm2-fs-desc solo se la grandezza e' stata
   cambiata dal valore di serie. Allora vale in tutti i temi, anche con
   dm2-frontend-modern.css. "Come la stampa" le usa gia' in proporzione. Il testo
   ingrandito va a capo invece di essere tagliato coi puntini. */
html body .dm2[data-dm2="menu"].dm2-fs-title:not(.dm2-menu-theme-stampa) .dm2-products .dm2-title{font-size:var(--dm2-product-title-font-size,22px) !important;
  white-space:normal !important;overflow:visible !important;text-overflow:clip !important}
html body .dm2[data-dm2="menu"].dm2-fs-desc:not(.dm2-menu-theme-stampa) .dm2-products .dm2-desc{font-size:var(--dm2-product-desc-font-size,14px) !important;
  white-space:normal !important;overflow:visible !important;text-overflow:clip !important}

/* ===== LE TRE VARIANTI DI "COME LA STAMPA" =========================================
   Portano tutte la classe dm2-menu-theme-stampa (aspetto del foglio) piu' la loro:
     stampa_foglio  niente barra delle categorie: solo il menu, come sulla carta
     stampa_cat     una categoria alla volta (la barra la disegna il CSS di sempre)
     stampa_full    prima le categorie a schermo intero, poi una alla volta con la
                    barra a pillole in alto */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_foglio .dm2-cats{display:none !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_foglio .dm2-products{margin-top:6px !important}

/* --- categorie a schermo intero (prima della scelta) --- */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full:not(.dm2-popup-open) .dm2-cats{
  display:grid !important;grid-template-columns:1fr !important;gap:12px !important;
  overflow:visible !important;padding:10px 0 28px !important;margin-top:14px !important;
  background:transparent !important;border:0 !important;position:static !important}
@media(min-width:720px){
  .dm2[data-dm2="menu"].dm2-menu-theme-stampa_full:not(.dm2-popup-open) .dm2-cats{grid-template-columns:1fr 1fr !important}
}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full:not(.dm2-popup-open) .dm2-cat-item{
  position:relative;min-height:120px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--dm2-border,#999);border-color:color-mix(in srgb, var(--dm2-text,#1a1a1a) 30%, transparent);
  border-radius:0;overflow:hidden;background:transparent}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full:not(.dm2-popup-open) .dm2-cat-img{position:absolute;inset:0;opacity:.35}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full:not(.dm2-popup-open) .dm2-cat-img img{width:100%;height:100%;object-fit:cover}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full:not(.dm2-popup-open) .dm2-cat-btn{
  position:absolute;inset:0;width:100%;height:100%;padding:0;
  background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;
  color:var(--dm2-text,#1a1a1a) !important;cursor:pointer}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full:not(.dm2-popup-open) .dm2-cat-name{
  position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);padding:0 12px;box-sizing:border-box;
  font-size:calc(var(--dm2-category-font-size,30px) * 21 / 30) !important;font-weight:700 !important;
  letter-spacing:.08em !important;text-transform:uppercase !important;text-align:center !important;
  color:var(--dm2-text,#1a1a1a) !important;font-family:var(--dm2-category-font-family,inherit) !important}
/* Aperta una categoria, la barra torna a pillole e resta in alto per spostarsi. */
/* Con una categoria aperta una regola generale nasconde barra e riquadri
   (body.dm2-menu-popup-open): qui la barra deve restare, a pillole. */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full.dm2-popup-open .dm2-cats{
  display:flex !important;flex-wrap:nowrap !important;overflow-x:auto !important;gap:8px !important;
  padding:10px 0 !important;margin-top:8px !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full.dm2-popup-open .dm2-cat-item{min-height:0;border:0;display:block;position:relative}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full.dm2-popup-open .dm2-cat-img{display:none}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full.dm2-popup-open .dm2-cat-btn{
  position:static !important;width:auto !important;height:auto !important;padding:8px 14px !important;
  border:1px solid var(--dm2-cat-inactive-border,#444) !important;border-radius:999px !important;
  background:var(--dm2-cat-inactive-bg,transparent) !important;color:var(--dm2-cat-inactive-text,inherit) !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full.dm2-popup-open .dm2-cat-btn[aria-selected="true"]{
  background:var(--dm2-cat-active-bg,#fff) !important;color:var(--dm2-cat-active-text,#000) !important;
  border-color:var(--dm2-cat-active-border,#fff) !important}
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full.dm2-popup-open .dm2-cat-name{
  position:static !important;transform:none !important;font-size:14px !important;letter-spacing:.02em !important;
  text-transform:none !important;padding:0 !important;white-space:nowrap !important;color:inherit !important}

/* ===== TRAMA DI SFONDO DEL MENU (marmo, legno, carta, lino, cemento) ===============
   Le stesse trame della stampa, disegnate dentro la pagina (nessun file da
   scaricare). L'intensita' e' gia' dentro il disegno. Compare solo se scelta:
   il PHP scrive --dm2-tex soltanto in quel caso. */
.dm2[style*="--dm2-tex"]::after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;
  background-image:var(--dm2-tex);background-size:var(--dm2-tex-size,auto);background-repeat:repeat;
  z-index:0;pointer-events:none}
.dm2[style*="--dm2-tex"] .dm2-inner,.dm2[style*="--dm2-tex"] .dm2-header,.dm2[style*="--dm2-tex"] .dm2-footer{position:relative;z-index:1}

/* ===== COLORI PROPRI DELLA BARRA CATEGORIE NEI MODELLI "COME LA STAMPA" ============
   Prima le pillole delle categorie e il titolo di categoria pescavano tutti e due
   dai colori generali: cambiando lo sfondo della categoria attiva si tingeva anche
   il titolo, e non c'era modo di separarli.
   Queste regole valgono solo con la classe dm2-st-cat, che il PHP mette soltanto
   quando almeno uno di questi colori e' stato scelto. Chi non li tocca non vede
   cambiare niente: ogni valore ricade sul colore generale di prima. */
.dm2[data-dm2="menu"].dm2-st-cat.dm2-menu-theme-stampa .dm2-cat-btn{
  background:var(--dm2-st-cat-inactive-bg, var(--dm2-cat-inactive-bg)) !important;
  color:var(--dm2-st-cat-inactive-text, var(--dm2-cat-inactive-text)) !important;
  border-color:var(--dm2-st-cat-inactive-border, var(--dm2-cat-inactive-border)) !important}
.dm2[data-dm2="menu"].dm2-st-cat.dm2-menu-theme-stampa .dm2-cat-btn[aria-selected="true"],
.dm2[data-dm2="menu"].dm2-st-cat.dm2-menu-theme-stampa .dm2-cat-btn.is-active{
  background:var(--dm2-st-cat-active-bg, var(--dm2-cat-active-bg)) !important;
  color:var(--dm2-st-cat-active-text, var(--dm2-cat-active-text)) !important;
  border-color:var(--dm2-st-cat-active-border, var(--dm2-cat-active-border)) !important}
/* Il titolo di categoria ("ANTIPASTI") smette di seguire lo sfondo della pillola. */
.dm2[data-dm2="menu"].dm2-st-cat.dm2-menu-theme-stampa .dm2-sez-titolo h2{
  color:var(--dm2-st-cat-title, var(--dm2-cat-active-bg, var(--dm2-text,#333))) !important}
/* Nel modello a schermo intero i riquadri grandi seguono lo stesso colore del titolo. */
.dm2[data-dm2="menu"].dm2-st-cat.dm2-menu-theme-stampa_full:not(.dm2-popup-open) .dm2-cat-name{
  color:var(--dm2-st-cat-title, var(--dm2-text,#1a1a1a)) !important}
.dm2[data-dm2="menu"].dm2-st-cat.dm2-menu-theme-stampa_full:not(.dm2-popup-open) .dm2-cat-item{
  border-color:var(--dm2-st-cat-inactive-border, var(--dm2-cat-inactive-border)) !important}

/* ===== STAMPA: IL PREZZO STA SEMPRE SULLA RIGA DEL TITOLO =========================
   Nel layout "prezzo a destra" c'e' una regola che, quando sotto il titolo non c'e'
   niente (niente descrizione, note, conservazione), centra la riga in verticale e
   alza la card a 72px: sul menu online normale e' voluto, ma su un foglio stampato
   no. Li' il prezzo deve stare in linea col nome, come su un menu di carta: piatti
   con e senza descrizione devono incolonnarsi uguale.
   Queste due regole valgono solo nei quattro modelli "come la stampa" e vengono
   dopo, quindi vincono a parita' di peso. */
html body .dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card.dm2-layout-right-price .dm2-row{
  align-items:flex-start !important}
html body .dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card.dm2-layout-right-price .dm2-card-inner{
  min-height:0 !important;display:block !important;justify-content:flex-start !important}

/* 3.0.47 - "Posizione testo categorie: Centro centro" nei temi con la barra.
   La regola .dm2-cat-pos-center-center .dm2-cat-btn (translateY(-50%)) e' per i
   temi a riquadri, dove il pulsante sta sopra la foto. Nella barra alzava ogni
   pulsante di mezza altezza: categorie attaccate alle lingue e bordo alto tagliato.
   Qui il pulsante resta dove lo mettono le altre posizioni. Schermo intero: solo a
   categoria aperta, quando torna la barra. */
.dm2[data-dm2="menu"]:is(.dm2-menu-theme-classic,.dm2-menu-theme-showcase,.dm2-menu-theme-compact,.dm2-menu-theme-listino,.dm2-menu-theme-stampa):not(.dm2-menu-theme-stampa_full) .dm2-cat-pos-center-center .dm2-cat-btn,
.dm2[data-dm2="menu"].dm2-menu-theme-stampa_full.dm2-popup-open .dm2-cat-pos-center-center .dm2-cat-btn{transform:none}

/* 3.0.47 - "Come la stampa": badge sopra al nome (li sposta frontend.js fuori dalla
   riga nome+prezzo). Stesso spazio che avevano sotto al nome. */
.dm2[data-dm2="menu"].dm2-menu-theme-stampa .dm2-card .dm2-card-inner > .dm2-badges{order:-1;margin:0 0 6px !important}
