.dag-menu,.dag-menu *{box-sizing:border-box}.dag-menu{width:100%;max-width:100%;margin:0 auto;background:var(--dag-base,#fff);font-family:inherit;position:relative}.dag-menu button,.dag-menu input,.dag-menu select{font:inherit}.dag-menu-controls{width:100%;padding:8px 0}.dag-menu-controls.is-top-left,.dag-menu-controls.is-bottom-left{justify-content:flex-start}.dag-menu-controls.is-top-right,.dag-menu-controls.is-bottom-right{justify-content:flex-end}.dag-language-switch{display:inline-flex;gap:6px}.dag-language-switch button{border:1px solid var(--dag-accent,#111);background:transparent;padding:6px 10px;border-radius:999px;cursor:pointer;opacity:.55}.dag-language-switch button.is-active{background:var(--dag-accent,#111);color:#fff!important;opacity:1}.dag-menu-with-side-allergens{display:grid;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:24px;align-items:start}.dag-menu-with-side-allergens.is-right{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}.dag-allergens-side{position:sticky;top:10px}.dag-category-list{display:flex;flex-direction:column}.dag-category{width:100%;min-width:0}.dag-category-button{position:relative;display:flex;align-items:center;justify-content:space-between;width:100%;min-width:0;overflow:hidden;text-align:left;cursor:pointer;color:inherit;transition:background .2s ease,border-color .2s ease}.dag-category-photo,.dag-category-photo-filter{position:absolute;inset:0;pointer-events:none}.dag-category-photo{z-index:0;background-repeat:no-repeat;background-position:center;background-size:cover}.dag-category-photo-filter{z-index:1}.dag-category-copy,.dag-category-arrow,.dag-category-end{position:relative;z-index:2}.dag-category-end,.dag-subcategory-end{display:flex;align-items:center;gap:10px;flex:0 0 auto}.dag-category-status,.dag-subcategory-status{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;padding:5px 9px;border:1px solid currentColor;border-radius:999px;white-space:nowrap;line-height:1!important}.dag-subcategory-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dag-category-copy{display:flex;align-items:center;gap:14px;min-width:0}.dag-category-text{display:flex;flex-direction:column;min-width:0}.dag-category-title{display:block}.dag-category-description-overlay{display:none;margin-top:8px;max-width:800px}.dag-category.is-open .dag-category-description-overlay{display:block}.dag-desc-mode-hidden .dag-category-description-overlay{display:none!important}.dag-desc-mode-overlay-box .dag-category-description-overlay{padding:10px 14px}.dag-category-description-below{padding:12px 16px;margin-top:8px}.dag-category-arrow{font-size:1.45em;line-height:1;transition:transform .2s ease}.dag-category.is-open .dag-category-arrow{transform:rotate(180deg)}.dag-category-icon-wrap{align-items:center;justify-content:center;flex:0 0 auto}.dag-icon-open{display:none}.dag-category.is-open .dag-icon-open{display:inline-flex}.dag-category.is-open .dag-icon-closed{display:none!important}.dag-category-icon{display:block;width:32px;height:32px;object-fit:contain}.dag-svg-icon{display:inline-block;background:currentColor;mask:var(--dag-svg) center/contain no-repeat;-webkit-mask:var(--dag-svg) center/contain no-repeat}.dag-category-content[hidden]{display:none!important}.dag-category-content{padding:0}.dag-subcategory{padding:16px 4px 8px}.dag-subcategory-title{margin:0}.dag-subcategory-description{margin:.35em 0 0}.dag-products-list{display:flex;flex-direction:column}.dag-product{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;transition:background .15s ease}.dag-product.has-media{grid-template-columns:auto minmax(0,1fr)}.dag-product-media{display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.dag-product-media img,.dag-product-media .dag-svg-icon{display:block;width:100%;height:100%;object-fit:cover}.dag-product-media .dag-svg-icon{background:currentColor}.dag-product-photo-button{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.dag-product-main{min-width:0}.dag-product-top{display:flex;align-items:baseline;gap:8px;min-width:0}.dag-product-title{margin:0;min-width:0}.dag-product-pieces,.dag-preservation{white-space:nowrap}.dag-product-price{margin-left:auto;white-space:nowrap}.dag-product-description{margin:.28em 0 0}.dag-product-allergens{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.dag-product-allergens span{display:inline-grid;place-items:center;min-width:1.55em;height:1.55em;border:1px solid currentColor;border-radius:50%;padding:0 .25em}.dag-product-badge{display:inline-block;margin-top:6px;padding:4px 7px;border-radius:999px;background:var(--dag-accent,#111)}.dag-product-badge.is-animated{animation:dagBlink 1.5s linear infinite}@keyframes dagBlink{50%{opacity:.3}}.dag-unavailable-label{display:block;margin-top:6px}.dag-allergens{padding:18px 0}.dag-allergens-title{display:block;margin-bottom:10px}.dag-allergens-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 18px}.dag-allergens-item{display:flex;gap:8px;align-items:flex-start}.dag-allergens-item b{display:inline-grid;place-items:center;min-width:1.7em;height:1.7em;border:1px solid currentColor;border-radius:50%;font:inherit}.dag-allergens-item i{font-style:normal}.dag-preservation-notes{padding:14px 0;display:grid;gap:5px}.dag-lightbox{position:fixed;inset:0;z-index:999999;background:#000d;display:grid;place-items:center;padding:20px}.dag-lightbox img{max-width:min(96vw,1200px);max-height:92vh}.dag-lightbox button{position:absolute;right:20px;top:20px;font-size:30px;background:#fff;border:0;border-radius:50%;width:44px;height:44px;cursor:pointer}
@media(max-width:700px){.dag-menu-with-side-allergens,.dag-menu-with-side-allergens.is-right{grid-template-columns:1fr}.dag-allergens-side{position:static}.dag-allergens-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dag-category-copy{gap:10px}.dag-category-icon{width:26px;height:26px}.dag-product-top{flex-wrap:wrap}.dag-product-price{margin-left:auto}.dag-category-description-below{margin-top:6px}}
.dag-icon-open{display:none}.dag-category:not(.is-open) .dag-icon-open{display:none}.dag-category.is-open .dag-icon-closed{display:none!important}.dag-desc-mode-below-box .dag-category-description-overlay,.dag-desc-mode-hidden .dag-category-description-overlay{display:none!important}

/* Preloader MenuFlow */
.dag-menu-shell{position:relative;width:100%}.dag-menu-shell.is-loading>.dag-menu{visibility:hidden}.dag-menu-preloader{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;background-repeat:no-repeat}.dag-menu-preloader-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;max-width:min(88vw,620px);text-align:center;padding:28px}.dag-menu-preloader-logo{display:block;max-width:min(62vw,320px);max-height:180px;width:auto;height:auto;object-fit:contain}.dag-menu-preloader-logo-svg{width:min(62vw,320px);height:180px;max-height:180px;-webkit-mask-image:var(--dag-preloader-logo);mask-image:var(--dag-preloader-logo);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.dag-menu-preloader-text{font:600 15px/1.35 system-ui,-apple-system,"Segoe UI",sans-serif;letter-spacing:.02em}.dag-menu-preloader-animation{position:relative;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px}.dag-menu-preloader-animation.is-ring{border:3px solid color-mix(in srgb,currentColor 22%,transparent);border-top-color:currentColor;border-radius:50%;animation:dagLoaderSpin .8s linear infinite}.dag-menu-preloader-animation.is-ring i{display:none}.dag-menu-preloader-animation.is-pulse{border-radius:50%;background:currentColor;animation:dagLoaderPulse 1s ease-in-out infinite}.dag-menu-preloader-animation.is-pulse i{display:none}.dag-menu-preloader-animation.is-dots{width:auto;height:20px;gap:7px}.dag-menu-preloader-animation.is-dots i{display:block;width:8px;height:8px;border-radius:50%;background:currentColor;animation:dagLoaderDots 1s ease-in-out infinite}.dag-menu-preloader-animation.is-dots i:nth-child(2){animation-delay:.14s}.dag-menu-preloader-animation.is-dots i:nth-child(3){animation-delay:.28s}.dag-menu-preloader-animation.is-bar{width:70px;height:4px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,currentColor 20%,transparent)}.dag-menu-preloader-animation.is-bar:after{content:"";position:absolute;inset:0 auto 0 0;width:35%;background:currentColor;border-radius:99px;animation:dagLoaderBar 1s ease-in-out infinite}.dag-menu-preloader-animation.is-bar i{display:none}.dag-menu-preloader.is-hiding{pointer-events:none;opacity:0;transition:opacity var(--dag-loader-fade,220ms) ease}.dag-menu-shell.is-ready .dag-menu-preloader{display:none}.dag-menu-shell.is-ready>.dag-menu{visibility:visible}@keyframes dagLoaderSpin{to{transform:rotate(360deg)}}@keyframes dagLoaderPulse{0%,100%{transform:scale(.72);opacity:.45}50%{transform:scale(1);opacity:1}}@keyframes dagLoaderDots{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(-7px);opacity:1}}@keyframes dagLoaderBar{0%{left:-35%}50%{left:35%}100%{left:100%}}

/* 2.2.3 category wrapping + hover isolation */
.dag-menu .dag-category-button,.dag-menu .dag-category-button:hover,.dag-menu .dag-category-button:focus,.dag-menu .dag-category-button:focus-visible,.dag-menu .dag-category-button:active{color:inherit!important;text-decoration:none!important;transform:none!important;box-shadow:none!important;outline:none!important}
.dag-menu .dag-category:not(.is-open) .dag-category-button:hover,.dag-menu .dag-category:not(.is-open) .dag-category-button:focus,.dag-menu .dag-category:not(.is-open) .dag-category-button:focus-visible,.dag-menu .dag-category:not(.is-open) .dag-category-button:active{background:var(--dag-cat-closed-bg)!important;border-color:var(--dag-cat-closed-border)!important}
.dag-menu .dag-category.is-open .dag-category-button:hover,.dag-menu .dag-category.is-open .dag-category-button:focus,.dag-menu .dag-category.is-open .dag-category-button:focus-visible,.dag-menu .dag-category.is-open .dag-category-button:active{background:var(--dag-cat-open-bg)!important;border-color:var(--dag-cat-open-border)!important}
.dag-menu .dag-category-copy,.dag-menu .dag-category-text{min-width:0;max-width:100%}
.dag-menu .dag-category-text{flex:1 1 auto}
.dag-menu .dag-category-title,.dag-menu .dag-category-description-overlay,.dag-menu .dag-category-description-below{white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;text-overflow:clip!important;overflow:visible!important;max-width:100%!important}
.dag-menu .dag-category-arrow{flex:0 0 auto;margin-left:16px}

/* 2.3.0 - sottocategorie ad accordion opzionali */
.dag-subcategory-accordion{display:flex;flex-direction:column;gap:8px;padding:8px 0}.dag-subcategory-item{border:0}.dag-menu .dag-subcategory-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;appearance:none;-webkit-appearance:none;border:1px solid #ddd!important;background:#fff!important;color:inherit;text-align:left;padding:15px 8px;cursor:pointer;font:inherit}.dag-subcategory-button-copy{display:flex;flex-direction:column;gap:4px;min-width:0}.dag-subcategory-button .dag-subcategory-title{margin:0}.dag-subcategory-button .dag-subcategory-description{margin:0;opacity:.78}.dag-subcategory-arrow{flex:0 0 auto;font-size:1.25em;transition:transform .2s ease}.dag-subcategory-item.is-open .dag-subcategory-arrow{transform:rotate(180deg)}.dag-subcategory-content[hidden]{display:none!important}.dag-subcategory-content{padding:0 0 8px}.dag-subcategory-button:hover,.dag-subcategory-button:focus,.dag-subcategory-button:active{color:inherit;text-decoration:none;box-shadow:none;outline:none}

/* 2.3.1 - categoria esclusiva singola sempre aperta */
.dag-category.is-locked-open>.dag-category-button{cursor:default}.dag-category.is-locked-open>.dag-category-button>.dag-category-arrow{display:none!important}

/* v2.3.2: anchor diretti per sottocategorie */
.dag-subcategory-item[id],.dag-subcategory[id]{scroll-margin-top:18px;}

@media(max-width:700px){.dag-category-end,.dag-subcategory-end{gap:7px}.dag-category-status,.dag-subcategory-status{padding:4px 7px}.dag-subcategory-heading{align-items:flex-start;flex-direction:column;gap:6px}}
