.mmd-lock{overflow:hidden!important;}
.mmd-trigger{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0!important;background:var(--mmd-trigger-bg,#fff)!important;color:inherit!important;padding:8px;cursor:pointer;line-height:1;font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-shadow:none!important;text-decoration:none!important;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;}
.mmd-trigger:hover,.mmd-trigger:focus,.mmd-trigger:focus-visible{background:var(--mmd-trigger-hover-bg,#fff)!important;color:var(--mmd-trigger-hover-text,#202124)!important;border-color:transparent!important;box-shadow:none!important;text-decoration:none!important;outline:none;}
.mmd-trigger__icon{width:var(--mmd-trigger-size,28px);height:calc((var(--mmd-trigger-line,2px) * 3) + (var(--mmd-trigger-gap,6px) * 2));display:flex;flex-direction:column;justify-content:space-between;flex:0 0 auto;}
.mmd-trigger__icon span{display:block;width:100%;height:var(--mmd-trigger-line,2px);background:currentColor;border-radius:999px;}
.mmd-trigger__label{line-height:1;}
.mmd-root{position:fixed;inset:0;z-index:999999;visibility:hidden;pointer-events:none;font-family:var(--mmd-font-family,inherit);font-size:var(--mmd-font-size,16px);color:var(--mmd-text,#202124);transition:visibility 0s linear var(--mmd-close-speed,280ms);}
.mmd-root.is-open{visibility:visible;pointer-events:auto;transition-delay:0s;}
.mmd-root[hidden]{display:none!important;}
.mmd-overlay{position:absolute;inset:0;background:var(--mmd-overlay,rgba(0,0,0,.62));opacity:0;backdrop-filter:none;-webkit-backdrop-filter:none;transition:opacity var(--mmd-close-speed,280ms) var(--mmd-easing,cubic-bezier(.22,.61,.36,1));}
.mmd-root.is-open .mmd-overlay{backdrop-filter:blur(var(--mmd-overlay-blur,0));-webkit-backdrop-filter:blur(var(--mmd-overlay-blur,0));}
.mmd-root.is-open .mmd-overlay{opacity:1;transition-duration:var(--mmd-open-speed,320ms);}
.mmd-drawer{position:absolute;top:0;bottom:0;width:min(var(--mmd-width,88vw),var(--mmd-max-width,420px));background:var(--mmd-bg,#fff);box-shadow:var(--mmd-shadow,0 0 18px rgba(0,0,0,.18));overflow:hidden;transition:transform var(--mmd-close-speed,280ms) var(--mmd-easing,cubic-bezier(.22,.61,.36,1));display:flex;flex-direction:column;}
.mmd-side-left .mmd-drawer{left:0;transform:translateX(-102%);border-radius:0 var(--mmd-radius,0) var(--mmd-radius,0) 0;}
.mmd-side-right .mmd-drawer{right:0;transform:translateX(102%);border-radius:var(--mmd-radius,0) 0 0 var(--mmd-radius,0);}
.mmd-root.is-open .mmd-drawer{transform:translateX(0);transition-duration:var(--mmd-open-speed,320ms);}
.mmd-topbar{height:var(--mmd-topbar-height,64px);min-height:var(--mmd-topbar-height,64px);display:flex;align-items:center;justify-content:space-between;padding:0 var(--mmd-topbar-padding,18px);border-bottom:var(--mmd-divider-width,1px) solid var(--mmd-border,#e5e7eb);background:var(--mmd-bg,#fff);position:relative;z-index:3;}
.mmd-topbar__title{font-weight:700;font-size:18px;}
.mmd-logo{display:block;max-width:var(--mmd-logo-max-width,180px);max-height:var(--mmd-logo-max-height,40px);width:auto;height:auto;}
.mmd-close{appearance:none;-webkit-appearance:none;border:0!important;background:var(--mmd-close-bg,#fff)!important;color:var(--mmd-text,#202124)!important;width:40px;height:40px;min-width:40px;min-height:40px;padding:0!important;display:flex!important;align-items:center!important;justify-content:center!important;position:relative;font-size:0!important;line-height:0!important;cursor:pointer;box-shadow:none!important;text-decoration:none!important;transition:background-color .18s ease,color .18s ease;}

.mmd-close__icon{position:relative;display:block;width:var(--mmd-close-size,28px);height:var(--mmd-close-size,28px);flex:0 0 auto;}
.mmd-close__icon::before,.mmd-close__icon::after{content:"";position:absolute;left:50%;top:50%;width:100%;height:2px;background:currentColor;border-radius:999px;transform-origin:center;}
.mmd-close__icon::before{transform:translate(-50%,-50%) rotate(45deg);}
.mmd-close__icon::after{transform:translate(-50%,-50%) rotate(-45deg);}

.mmd-close:hover,.mmd-close:focus,.mmd-close:focus-visible{background:var(--mmd-close-hover-bg,#fff)!important;color:var(--mmd-close-hover-text,#202124)!important;border-color:transparent!important;box-shadow:none!important;text-decoration:none!important;outline:none;}
.mmd-stage{position:relative;flex:1;overflow:hidden;background:var(--mmd-bg,#fff);}
.mmd-panel{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:var(--mmd-bg,#fff);visibility:hidden;pointer-events:none;will-change:transform,opacity;transition-property:transform,opacity;transition-duration:var(--mmd-panel-speed,360ms);transition-timing-function:var(--mmd-panel-easing,cubic-bezier(.16,1,.3,1));}
.mmd-panel-forward-right .mmd-panel{transform:translateX(var(--mmd-panel-distance,100%));}
.mmd-panel-forward-left .mmd-panel{transform:translateX(calc(var(--mmd-panel-distance,100%) * -1));}
.mmd-root.mmd-panel-back .mmd-panel{transition-duration:var(--mmd-panel-back-speed,340ms);}
.mmd-root.mmd-panel-back.mmd-panel-forward-right .mmd-panel:not(.is-active){transform:translateX(calc(var(--mmd-panel-distance,100%) * -1));}
.mmd-root.mmd-panel-back.mmd-panel-forward-left .mmd-panel:not(.is-active){transform:translateX(var(--mmd-panel-distance,100%));}
.mmd-panel-fade .mmd-panel{opacity:0;}
.mmd-panel.is-active{transform:translateX(0)!important;visibility:visible;pointer-events:auto;z-index:2;opacity:1;}
.mmd-back{appearance:none;-webkit-appearance:none;width:100%;min-height:var(--mmd-row-height,54px);border:0!important;border-bottom:var(--mmd-divider-width,1px) solid var(--mmd-border,#e5e7eb)!important;background:var(--mmd-back-bg,#fff)!important;color:var(--mmd-text,#202124)!important;padding:0 var(--mmd-row-padding,18px);display:flex;align-items:center;gap:12px;text-align:left;font:inherit;cursor:pointer;box-shadow:none!important;text-decoration:none!important;transition:background-color .18s ease,color .18s ease;}
.mmd-back:hover,.mmd-back:focus,.mmd-back:focus-visible{background:var(--mmd-back-hover-bg,#f7f7f7)!important;color:var(--mmd-back-hover-text,#202124)!important;border-left:0!important;border-right:0!important;border-top:0!important;box-shadow:none!important;text-decoration:none!important;outline:none;}
.mmd-back:hover span,.mmd-back:hover strong,.mmd-back:focus span,.mmd-back:focus strong,.mmd-back:focus-visible span,.mmd-back:focus-visible strong{color:inherit!important;}
.mmd-back span{font-size:var(--mmd-arrow-size,27px);line-height:1;font-weight:300;}
.mmd-back strong{font-size:inherit;font-weight:700;}
.mmd-list{list-style:none!important;margin:0!important;padding:0!important;}
.mmd-item{list-style:none!important;margin:0!important;padding:0!important;border-bottom:var(--mmd-divider-width,1px) solid var(--mmd-border,#e5e7eb);}
a.mmd-row:visited{color:var(--mmd-visited,var(--mmd-text,#202124));}
.mmd-row{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:100%;min-height:var(--mmd-row-height,54px);padding:9px var(--mmd-row-padding,18px);display:flex;align-items:center;justify-content:space-between;gap:var(--mmd-row-gap,14px);border:0;background:transparent;color:var(--mmd-text,#202124);font:inherit;font-size:inherit;font-weight:var(--mmd-font-weight,500);text-align:left;text-decoration:none!important;cursor:pointer;transition:color .18s ease,background-color .18s ease;}
a.mmd-row:hover,a.mmd-row:focus,.mmd-row--parent:hover,.mmd-row--parent:focus{color:var(--mmd-hover-text,#65af25);background:var(--mmd-hover-bg,#f7f7f7);outline:none;}
.mmd-arrow{font-size:var(--mmd-arrow-size,27px);line-height:1;font-weight:300;color:var(--mmd-muted,#6b7280);}
.mmd-item.is-current>.mmd-row{color:var(--mmd-accent,#65af25);font-weight:700;background:var(--mmd-current-bg,#fff);}
@media (prefers-reduced-motion:reduce){.mmd-overlay,.mmd-drawer,.mmd-panel{transition:none!important;}}


/* === Engine hardening 1.3.0 === */
.mmd-root,
.mmd-root *,
.mmd-trigger,
.mmd-trigger * {
  -webkit-tap-highlight-color: transparent !important;
}

.mmd-trigger,
.mmd-close,
.mmd-back,
.mmd-row,
.mmd-row--parent {
  -webkit-touch-callout: none;
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  outline: none;
}

.mmd-trigger,
.mmd-close,
.mmd-back {
  background: var(--mmd-control-bg,#fff) !important;
  color: var(--mmd-control-text,#202124) !important;
}

@media (hover:hover) and (pointer:fine) {
  .mmd-trigger:hover,
  .mmd-close:hover,
  .mmd-back:hover {
    background: var(--mmd-control-hover-bg,#f7f7f7) !important;
    color: var(--mmd-control-hover-text,#202124) !important;
  }
}

@media (hover:none), (pointer:coarse) {
  .mmd-trigger:hover,
  .mmd-close:hover,
  .mmd-back:hover,
  .mmd-row:hover,
  .mmd-row--parent:hover {
    box-shadow: none !important;
    filter: none !important;
  }
}

.mmd-trigger:active,
.mmd-close:active,
.mmd-back:active,
.mmd-row:active,
.mmd-row--parent:active {
  box-shadow: none !important;
  text-shadow: none !important;
  filter: none !important;
  outline: none !important;
}

.mmd-trigger:focus:not(:focus-visible),
.mmd-close:focus:not(:focus-visible),
.mmd-back:focus:not(:focus-visible),
.mmd-row:focus:not(:focus-visible),
.mmd-row--parent:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

.mmd-trigger:focus-visible,
.mmd-close:focus-visible,
.mmd-back:focus-visible,
.mmd-row:focus-visible,
.mmd-row--parent:focus-visible {
  outline: none !important;
  outline-offset: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Prevent theme/Elementor transitions from creating flashes during drawer animation */
.mmd-root button,
.mmd-root a,
.mmd-trigger {
  transition-property: background-color,color,transform,opacity !important;
}

/* Drawer should never acquire theme shadows on open/close */
.mmd-drawer,
.mmd-panel,
.mmd-topbar,
.mmd-back {
  filter: none !important;
}

/* Remove mobile Safari pressed flash from links/buttons */
.mmd-root a,
.mmd-root button,
.mmd-trigger {
  -webkit-tap-highlight-color: rgba(0,0,0,0) !important;
}


/* 1.4.4 — nessun focus ring persistente sui controlli del menu */
.mmd-trigger:focus,.mmd-trigger:focus-visible,.mmd-trigger:active,
.mmd-close:focus,.mmd-close:focus-visible,.mmd-close:active,
.mmd-back:focus,.mmd-back:focus-visible,.mmd-back:active,
.mmd-row:focus,.mmd-row:focus-visible,.mmd-row:active,
.mmd-row--parent:focus,.mmd-row--parent:focus-visible,.mmd-row--parent:active {
  outline: 0 !important;
  outline-offset: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}


/* === Layout controls 1.4.5 === */
.mmd-row {
  text-align: var(--mmd-text-align,left) !important;
}
.mmd-row > span:first-child {
  flex: 1 1 auto;
  text-align: inherit;
}
.mmd-arrow-left .mmd-row--parent {
  flex-direction: row-reverse;
}
.mmd-arrow-right .mmd-row--parent {
  flex-direction: row;
}
.mmd-arrow-left .mmd-arrow {
  margin-right: 0;
  margin-left: auto;
}
.mmd-arrow-right .mmd-arrow {
  margin-left: auto;
  margin-right: 0;
}

/* Header close button positioning */
.mmd-close-left .mmd-topbar {
  flex-direction: row-reverse;
}
.mmd-close-left .mmd-topbar .mmd-close {
  margin-right: auto;
  margin-left: 0;
}
.mmd-close-right .mmd-topbar .mmd-close {
  margin-left: auto;
  margin-right: 0;
}

/* Touch devices: never persist hover/focus/active background on controls */
@media (hover:none), (pointer:coarse) {
  .mmd-trigger,
  .mmd-trigger:hover,
  .mmd-trigger:focus,
  .mmd-trigger:focus-visible,
  .mmd-trigger:active,
  .mmd-close,
  .mmd-close:hover,
  .mmd-close:focus,
  .mmd-close:focus-visible,
  .mmd-close:active,
  .mmd-back,
  .mmd-back:hover,
  .mmd-back:focus,
  .mmd-back:focus-visible,
  .mmd-back:active {
    background: var(--mmd-control-bg,#fff) !important;
    color: var(--mmd-control-text,#202124) !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    filter: none !important;
  }
}


/* === Top gap after close control 1.4.9 === */
/* Apply spacing to the root menu content, not to the stage wrapper. */
.mmd-panel[data-panel="root"] > .mmd-list{
  padding-top: var(--mmd-top-gap,20px) !important;
}

/* Submenus keep their own layout and are not affected by the root top gap. */
.mmd-panel:not([data-panel="root"]) > .mmd-list{
  padding-top: 0 !important;
}





/* === Definitive close control positioning 1.4.11 === */
.mmd-topbar{
  position:relative !important;
  overflow:visible !important;
  z-index:4 !important;
}

.mmd-close-left .mmd-topbar,
.mmd-close-center .mmd-topbar,
.mmd-close-right .mmd-topbar{
  flex-direction:row !important;
}

/* The vertical value is now a real distance from the top edge of the drawer. */
.mmd-close-left .mmd-close,
.mmd-close-center .mmd-close,
.mmd-close-right .mmd-close{
  position:absolute !important;
  top:var(--mmd-close-top-offset,12px) !important;
  margin:0 !important;
  z-index:5 !important;
  will-change:auto !important;
}

.mmd-close-left .mmd-close{
  left:var(--mmd-topbar-padding,18px) !important;
  right:auto !important;
  transform:none !important;
}

.mmd-close-center .mmd-close{
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) !important;
}

.mmd-close-right .mmd-close{
  right:var(--mmd-topbar-padding,18px) !important;
  left:auto !important;
  transform:none !important;
}


/* 1.6.3 — voci padre cliccabili: titolo naviga, freccia apre il sottomenu */
.mmd-row--split{padding:0!important;gap:0!important;}
.mmd-parent-link{box-sizing:border-box;min-width:0;min-height:var(--mmd-row-height,54px);padding:9px var(--mmd-row-padding,18px);display:flex;align-items:center;flex:1 1 auto;color:inherit!important;text-decoration:none!important;text-align:var(--mmd-text-align,left)!important;}
.mmd-parent-link>span{width:100%;text-align:inherit;}
.mmd-submenu-toggle{appearance:none;-webkit-appearance:none;align-self:stretch;flex:0 0 auto;min-width:54px;padding:0 var(--mmd-row-padding,18px);display:flex;align-items:center;justify-content:center;border:0!important;background:transparent!important;color:inherit!important;font:inherit;cursor:pointer;box-shadow:none!important;outline:0!important;}
.mmd-row--split:hover,.mmd-row--split:focus-within{color:var(--mmd-hover-text,#65af25);background:var(--mmd-hover-bg,#f7f7f7);}
.mmd-arrow-left .mmd-row--split{flex-direction:row-reverse;}
.mmd-arrow-right .mmd-row--split{flex-direction:row;}
.mmd-row--split .mmd-arrow{margin:0!important;}
