.mm-862{--mm-lt:2px;--mm-off:16px;--mm-cx:16px;--mm-cy:16px;--mm-cg:24px;--mm-fx:16px;--mm-fy:16px;--mm-bfx:16px;--mm-bfy:16px}
.mm-862 *{box-sizing:border-box}

/* ---------- pulsante ---------- */
.mm-862-btn{position:relative;z-index:100001;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;height:48px;padding:0 12px;margin:0;border:0 solid transparent;cursor:pointer;background:#fff;color:#222;border-radius:50px;font:inherit;font-weight:700;letter-spacing:.08em;line-height:1;transition:color .3s,background-color .3s,border-color .3s;-webkit-tap-highlight-color:transparent;appearance:none}
.mm-862-btn:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.mm-862.is-open .mm-862-btn{color:#fff}
/* hover disattivato: il pulsante resta identico anche se tema / kit di Elementor definiscono un hover per i <button> */
.mm-862:not(.is-open):not(.mm-862-bhov) .mm-862-btn:hover{background-color:var(--mm-bgc,#fff);color:var(--mm-icc,#222);box-shadow:none;text-decoration:none;opacity:1;filter:none}
.mm-862.is-open:not(.mm-862-bhov) .mm-862-btn:hover{background-color:var(--mm-bgc,rgba(255,255,255,.12));color:var(--mm-icc,#fff);box-shadow:none;text-decoration:none;opacity:1;filter:none}
.mm-862:not(.mm-862-pos-inline) .mm-862-btn{position:fixed}
.mm-862-pos-tr .mm-862-btn{top:var(--mm-off);right:var(--mm-off)}
.mm-862-pos-tl .mm-862-btn{top:var(--mm-off);left:var(--mm-off)}
.mm-862-pos-br .mm-862-btn{bottom:var(--mm-off);right:var(--mm-off)}
.mm-862-pos-bl .mm-862-btn{bottom:var(--mm-off);left:var(--mm-off)}
/* posizione libera del pulsante: ancoraggio + distanze scelte nel widget */
.mm-862-pos-free .mm-862-btn{top:var(--mm-bfy);right:var(--mm-bfx);translate:var(--mm-btx,0) var(--mm-bty,0)}
.mm-862-pos-free.mm-862-bh-l .mm-862-btn{left:var(--mm-bfx);right:auto}
.mm-862-pos-free.mm-862-bh-c .mm-862-btn{left:calc(50% + var(--mm-bfx));right:auto;--mm-btx:-50%}
.mm-862-pos-free.mm-862-bv-b .mm-862-btn{top:auto;bottom:var(--mm-bfy)}
.mm-862-pos-free.mm-862-bv-m .mm-862-btn{top:calc(50% + var(--mm-bfy));--mm-bty:-50%}
.mm-862-pos-inline.is-open .mm-862-btn{position:relative}
/* con la X separata il pulsante del menu sparisce quando il menu è aperto */
.mm-862-sepclose.is-open .mm-862-btn{visibility:hidden;pointer-events:none}

/* ---------- pulsante di chiusura separato ---------- */
.mm-862-close{position:absolute;z-index:3;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:48px;height:48px;padding:0 12px;margin:0;border:0 solid transparent;cursor:pointer;background:#fff;color:#222;border-radius:50px;font:inherit;font-weight:700;letter-spacing:.08em;line-height:1;transition:color .3s,background-color .3s,border-color .3s;-webkit-tap-highlight-color:transparent;appearance:none}
.mm-862-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.mm-862-close .mm-862-ico{width:24px;height:24px;font-size:24px}
.mm-862-cp-tr .mm-862-close{top:var(--mm-cy);right:var(--mm-cx)}
.mm-862-cp-tl .mm-862-close{top:var(--mm-cy);left:var(--mm-cx)}
.mm-862-cp-br .mm-862-close{bottom:var(--mm-cy);right:var(--mm-cx)}
.mm-862-cp-bl .mm-862-close{bottom:var(--mm-cy);left:var(--mm-cx)}
.mm-862-cp-tc .mm-862-close{top:var(--mm-cy);left:50%;transform:translateX(-50%)}
.mm-862-cp-bc .mm-862-close{bottom:var(--mm-cy);left:50%;transform:translateX(-50%)}
/* posizione libera: ancoraggio + distanze scelte nel widget */
.mm-862-cp-free .mm-862-close{top:var(--mm-fy);right:var(--mm-fx);translate:var(--mm-ctx,0) var(--mm-cty,0)}
.mm-862-cp-free.mm-862-fh-l .mm-862-close{left:var(--mm-fx);right:auto}
.mm-862-cp-free.mm-862-fh-c .mm-862-close{left:calc(50% + var(--mm-fx));right:auto;--mm-ctx:-50%}
.mm-862-cp-free.mm-862-fv-b .mm-862-close{top:auto;bottom:var(--mm-fy)}
.mm-862-cp-free.mm-862-fv-m .mm-862-close{top:calc(50% + var(--mm-fy));--mm-cty:-50%}
/* sopra al menu, nel flusso: non si sovrappone alle voci */
.mm-862-cp-fr .mm-862-close,.mm-862-cp-fl .mm-862-close,.mm-862-cp-fc .mm-862-close{position:relative;flex:none;margin:0 0 var(--mm-cg)}
.mm-862-cp-fr .mm-862-close{align-self:flex-end}
.mm-862-cp-fl .mm-862-close{align-self:flex-start}
.mm-862-cp-fc .mm-862-close{align-self:center}

/* ---------- icona ---------- */
.mm-862-ico{position:relative;width:28px;height:28px;flex:none;display:block;font-size:28px;line-height:1}
.mm-862-ico .ic,.mm-862-ico .ix{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:opacity .3s,transform .4s}
.mm-862-ico svg{width:100%;height:100%}
.mm-862-ico:not(.mm-862-custom) svg{fill:currentColor;stroke:currentColor}
.mm-862-custom svg{max-width:100%;max-height:100%}
.mm-862-custom i{line-height:1}
/* "colora con il colore dell'icona": rispetta fill/stroke = none dell'SVG */
.mm-862-tint svg:not([fill="none"]) *:not([fill]):not([stroke]){fill:currentColor}
.mm-862-tint svg [fill]:not([fill="none"]){fill:currentColor}
.mm-862-tint svg [stroke]:not([stroke="none"]){stroke:currentColor}
.mm-862-tint svg:not([fill]):not([stroke]){fill:currentColor}
.mm-862-ico .ix{opacity:0;transform:rotate(-90deg) scale(.5)}
.mm-862.is-open .mm-862-swap .ic{opacity:0;transform:rotate(90deg) scale(.5)}
.mm-862.is-open .mm-862-swap .ix{opacity:1;transform:none}
.mm-862-lines span{position:absolute;left:0;width:100%;height:var(--mm-lt);background:currentColor;border-radius:2px;transition:top .35s,transform .35s,width .35s,opacity .25s}
.mm-862-lines .l1{top:22%}
.mm-862-lines .l2{top:50%;transform:translateY(-50%)}
.mm-862-lines .l3{top:78%}
.mm-862-two .l1{top:35%}.mm-862-two .l3{top:65%}.mm-862-two .l2{opacity:0}
.mm-862-short .l2{width:65%}.mm-862-short .l3{width:82%}
.mm-862.is-open .mm-862-lines .l1{top:50%;width:100%;transform:translateY(-50%) rotate(45deg)}
.mm-862.is-open .mm-862-lines .l3{top:50%;width:100%;transform:translateY(-50%) rotate(-45deg)}
.mm-862.is-open .mm-862-lines .l2{opacity:0}

/* ---------- pannello ---------- */
.mm-862-panel{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;z-index:100000;visibility:hidden;overflow:hidden;background-color:#442b25;color:#fff}
.mm-862-panel::before{content:"";position:absolute;inset:0;pointer-events:none}
.mm-862-scroll{position:absolute;inset:0;overflow-y:auto;display:flex;flex-direction:column;padding:90px 28px 40px;text-align:left}
.mm-862-inner{margin:auto 0;width:100%;position:relative}

/* voci */
.mm-862-list,.mm-862-list ul{list-style:none;margin:0;padding:0;width:100%}
.mm-862-list li{margin:0;padding:0;list-style:none}
.mm-862-list a{display:block;text-decoration:none;font-size:30px;font-weight:600;line-height:1.2;padding:12px 0;color:#fff;transition:color .2s}
.mm-862-list a:hover,.mm-862-list a:focus-visible,.mm-862-list a.is-current,.mm-862-list .current-menu-item>a,.mm-862-list .current-menu-ancestor>a{color:#f2b84b;outline:0}

/* sottomenu */
.mm-862-list>li.menu-item-has-children{display:flex;flex-wrap:wrap;align-items:center}
.mm-862-list>li.menu-item-has-children>a{flex:1 1 0;min-width:0}
.mm-862-sub-toggle{flex:none;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin:0 0 0 12px;padding:0;border:0 solid transparent;background:none;color:#fff;cursor:pointer;font-size:24px;line-height:1;transition:color .2s,background-color .2s,border-color .2s;-webkit-tap-highlight-color:transparent;appearance:none}
.mm-862-sub-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.mm-862-sub-ico{display:block;width:100%;height:100%;transition:transform .3s}
.mm-862-sub-ico svg{display:block;width:100%;height:100%}
.mm-862-sub-rot li.is-expanded>.mm-862-sub-toggle .mm-862-sub-ico{transform:rotate(180deg)}
.mm-862-list .sub-menu{display:none;flex:0 0 100%;overflow:hidden;padding:0 0 10px 18px}
.mm-862-list li.is-expanded>.sub-menu{display:block}
.mm-862-list .sub-menu a{font-size:21px;font-weight:400;padding:6px 0}

/* info */
.mm-862-info{margin-top:28px}
.mm-862-info-block{padding:24px 0}
.mm-862-info-block:first-child{padding-top:0}
.mm-862-info-block+.mm-862-info-block{border-top:1px solid rgba(255,255,255,.25)}
.mm-862-info-title{margin:0 0 .45em;font-size:34px;font-weight:300;line-height:1.15;color:#8c7468}
.mm-862-info-text,.mm-862-info-text p{font-size:18px;line-height:1.5;color:#fff}
.mm-862-info-text p{margin:0 0 .7em}
.mm-862-info-text p:last-child{margin-bottom:0}
.mm-862-info-text a{text-decoration:none}

/* CTA */
.mm-862-cta{margin-top:12px}
.mm-862-cta a{display:inline-block;background:#f2b84b;color:#222;padding:.8em 1.6em;border-radius:50px;font-family:"Marcellus",serif;font-size:16px;font-weight:700;text-decoration:none;line-height:1.2;transition-property:color,background-color,border-color,transform,opacity;transition-duration:.25s;transition-timing-function:ease}
.mm-862-hov-lift a:hover,.mm-862-hov-lift a:focus-visible{transform:translateY(-3px)}
.mm-862-hov-zoom a:hover,.mm-862-hov-zoom a:focus-visible{transform:scale(1.06)}
.mm-862-hov-dim a:hover,.mm-862-hov-dim a:focus-visible{opacity:.8}

@media (prefers-reduced-motion:reduce){.mm-862 *{transition:none!important}}
