/* Mega Menu 1.0.10 — scoped frontend styles with stable header layering. */
.smm-panel,.smm-panel *{box-sizing:border-box}
.smm-panel[hidden]{display:none!important}
.smm-panel{position:fixed;top:0;left:0;z-index:var(--smm-z,999999);color:var(--smm-link-color,var(--smm-effective-text,#525c5a));font-family:var(--smm-link-font,var(--smm-effective-font-family,inherit));direction:inherit;border:var(--smm-panel-border-width,0px) solid var(--smm-border-color,#e8ebea);border-radius:var(--smm-panel-radius,16px);background:var(--smm-bg,var(--smm-effective-background,#fff));box-shadow:var(--smm-shadow,var(--smm-effective-shadow,0 12px 34px #0001));min-height:var(--smm-panel-min-height,0px);max-height:min(var(--smm-panel-max-height,650px),calc(100dvh - 15px));overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;isolation:isolate}
@supports (background:color-mix(in srgb,red 50%,transparent)){.smm-panel{background:color-mix(in srgb,var(--smm-bg,var(--smm-effective-background,#fff)) calc(var(--smm-bg-opacity,100) * 1%),transparent)}}
.smm-panel[data-smm-overflow=visible]{overflow:visible}


@keyframes smm-fade{from{opacity:0}to{opacity:1}}
@keyframes smm-slide{from{opacity:0;transform:translateY(-9px)}to{opacity:1;transform:translateY(0)}}
.smm-panel-main{display:flex;flex-direction:row;align-items:flex-start;gap:24px;padding:var(--smm-panel-padding-y,20px) var(--smm-panel-padding-x,32px) var(--smm-panel-padding-bottom,16px);min-width:0}
.smm-image-right .smm-image{order:-1}
.smm-groups{display:grid;grid-template-columns:repeat(var(--smm-display-cols,var(--smm-real-cols,5)),minmax(0,1fr));gap:var(--smm-columns-gap,22px);flex:1 1 0;min-width:0;text-align:var(--smm-column-align,start)}
/* Automatic mode: row-major DOM/keyboard order, fluid columns based on available space. */
.smm-groups.smm-auto-layout{display:block}
.smm-auto-layout .smm-auto-links{display:grid;grid-template-columns:repeat(var(--smm-display-cols,var(--smm-real-cols,1)),minmax(0,1fr));column-gap:var(--smm-columns-gap,22px);row-gap:var(--smm-link-gap,10px);align-items:start}
.smm-auto-layout .smm-auto-links>li{min-width:0}
.smm-auto-layout .smm-auto-links .smm-link{height:100%;align-items:flex-start}
.smm-column{min-width:0;display:flex;flex-direction:column;gap:var(--smm-groups-gap,22px)}
.smm-group{min-width:0}
.smm-group-title{margin:0 0 var(--smm-title-bottom,14px);padding:var(--smm-title-padding,0px);color:var(--smm-title-color,var(--smm-effective-title,#252727));font-family:var(--smm-title-font,var(--smm-effective-font-family,inherit));font-size:var(--smm-title-size,var(--smm-effective-font-size,14px));font-weight:var(--smm-title-weight,600);line-height:var(--smm-title-line,165%);letter-spacing:var(--smm-title-tracking,var(--smm-effective-letter-spacing,0px));text-align:var(--smm-title-align,start);overflow-wrap:anywhere}
.smm-group-title a{color:inherit;font:inherit;text-decoration:none}
.smm-group-title:has(a):hover{color:var(--smm-link-hover,var(--smm-effective-hover,#374151))}
.smm-panel[style*='--smm-title-border:solid'] .smm-group-title{border-bottom:1px solid currentColor;padding-bottom:7px}
.smm-links,.smm-links li{list-style:none!important;padding:0!important;margin:0!important;border:0!important}
.smm-links{display:flex;flex-direction:column;align-items:stretch;gap:var(--smm-link-gap,8px)}
.smm-links .smm-link{display:flex!important;align-items:center;gap:var(--smm-link-icon-gap,6px);padding:var(--smm-link-padding,6px 8px);border-radius:var(--smm-link-hover-radius,6px);color:var(--smm-link-color,var(--smm-effective-text,#525c5a));background:transparent;font-family:var(--smm-link-font,var(--smm-effective-font-family,inherit));font-size:var(--smm-link-size,var(--smm-effective-font-size,14px));font-weight:var(--smm-link-weight,var(--smm-effective-font-weight,400));line-height:var(--smm-link-line,var(--smm-effective-line-height,170%));letter-spacing:var(--smm-effective-letter-spacing,normal);text-decoration:none!important;white-space:normal;overflow-wrap:anywhere;transition:color var(--smm-link-transition,160ms) ease,background var(--smm-link-transition,160ms) ease;box-shadow:none!important}
.smm-links .smm-link:hover,.smm-links .smm-link:focus-visible{color:var(--smm-link-hover,var(--smm-effective-hover,#374151));background:var(--smm-link-hover-bg,var(--smm-effective-hover-background,rgba(0,0,0,.045)));text-decoration:var(--smm-link-underline,none)}
.smm-links .smm-link-current{color:var(--smm-link-active,var(--smm-effective-active,#374151))}
.smm-panel[style*='--smm-link-icon-side:end'] .smm-link-icon{order:2}
.smm-link-icon{flex:none}
/* Media slot: same sizing token is used by the placement algorithm and CSS.
   Auto mode grows into available space; an explicit custom width stays an upper
   bound and is never silently replaced by a 'new default'. */
.smm-image{flex:0 1 var(--smm-resolved-img-slot,min(var(--smm-img-maxw,460px),max(var(--smm-img-w,420px),var(--smm-image-space,33%))));min-width:0;max-width:100%;display:flex;align-items:flex-start;justify-content:center;background:var(--smm-image-bg,transparent);border:var(--smm-image-border-width,0px) solid var(--smm-image-border-color,transparent);border-radius:var(--smm-image-radius,16px);padding:var(--smm-img-pad,0px);overflow:clip}
.smm-panel-main:not(.smm-has-image)>.smm-groups{flex:1 1 auto}
.smm-image.smm-image-sizing-custom{flex-basis:min(var(--smm-image-space,32%),var(--smm-img-w,240px),var(--smm-img-maxw,400px));max-width:100%}
.smm-image a{display:flex;align-items:flex-start;justify-content:center;width:100%;height:auto;min-width:0;border-radius:inherit;overflow:hidden}
.smm-image .smm-photo{display:block;object-fit:var(--smm-img-fit,contain);object-position:var(--smm-img-position,center);width:100%;height:auto;max-width:100%;max-height:var(--smm-img-maxh,420px);margin:0 auto;border:0!important;box-shadow:none!important;border-radius:inherit}
/* Deliberate fixed-height custom images retain their semantics. Smart images
   always use their natural intrinsic aspect ratio, avoiding blank letterboxing. */
.smm-image.smm-image-explicit-height.smm-image-sizing-custom .smm-photo{height:var(--smm-img-h,auto)}

.smm-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:var(--smm-bar-min-height,44px);padding:var(--smm-bar-pad,12px) var(--smm-panel-padding-x,36px);background:var(--smm-bar-bg,#f7f8f7);border-top:1px solid var(--smm-bar-border,#e6e9e7);color:var(--smm-bar-color,#777f7b);font-size:11px}
.smm-bar-items{display:flex;align-items:center;gap:var(--smm-bar-gap,26px);flex-wrap:wrap}
.smm-bar a{color:inherit!important;text-decoration:none!important}
.smm-bar a:hover{color:var(--smm-bar-hover,#164937)!important;text-decoration:underline!important}
.smm-bar-cta{font-weight:700;white-space:nowrap}
.smm-bar-start{flex-direction:row-reverse}
.smm-toggle{display:none!important;align-items:center;justify-content:center;flex:none;border:0!important;background:transparent!important;box-shadow:none!important;color:inherit!important;font-size:var(--smm-parent-arrow-size,12px);line-height:1;cursor:pointer;padding:3px!important;margin-inline-start:var(--smm-parent-arrow-gap,4px)!important}
.smm-parent.smm-enhanced>.smm-toggle{display:inline-flex!important}
.smm-parent.smm-enhanced>.smm-toggle-icon-hidden{font-size:0;inline-size:20px;block-size:20px}
.smm-parent.smm-enhanced>.smm-toggle-icon-hidden:focus-visible{outline:2px solid currentColor}
.smm-parent.smm-enhanced>ul.sub-menu,.smm-parent.smm-enhanced>ul.elementor-nav-menu--dropdown{display:none!important;visibility:hidden!important;pointer-events:none!important}
/* Native Elementor indicator remains visible and acts as the only submenu arrow. */
.smm-parent.smm-enhanced.smm-parent-normal-custom>a[data-smm-trigger]{color:var(--smm-parent-normal)}
.smm-parent.smm-enhanced.smm-parent-hover-custom>a[data-smm-trigger]:hover{color:var(--smm-parent-hover)}
.smm-parent.smm-enhanced.smm-open.smm-parent-border-custom>a[data-smm-trigger]{box-shadow:inset 0 calc(-1 * var(--smm-parent-border-width,2px)) var(--smm-parent-border,#334155)}
.smm-parent.smm-enhanced.smm-open.smm-parent-open-custom>a[data-smm-trigger]{color:var(--smm-parent-open)}
.smm-parent.smm-open>.smm-toggle span{display:inline-block;transform:rotate(180deg)}
.smm-nav .smm-nav-list{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0}
.smm-nav .smm-nav-list>li{list-style:none;margin:0;position:relative;display:flex;align-items:center}
.smm-nav .smm-nav-list a{color:inherit;text-decoration:none}
.smm-nav .smm-nav-list>li>.sub-menu{position:absolute;top:100%;inset-inline-start:0;background:white;padding:15px;min-width:180px;box-shadow:0 8px 25px #0002;z-index:10}
.smm-nav.smm-vertical .smm-nav-list{flex-direction:column;align-items:flex-start}
.smm-nav.smm-vertical .smm-nav-list>li{width:100%}
@media(max-width:1023px){.smm-nav .smm-nav-list{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.smm-panel{transition:none!important;transform:none!important}.smm-links .smm-link{transition:none!important}}

/* The plugin-owned shortcode/widget retains visible, usable nested links below its configured breakpoint. */
.smm-nav.smm-mobile .smm-nav-list{flex-direction:column!important;align-items:stretch!important;gap:6px!important}
.smm-nav.smm-mobile .smm-nav-list>li{display:block!important;width:100%}
.smm-nav.smm-mobile .smm-nav-list>li>.sub-menu{position:static!important;display:block!important;box-shadow:none!important;min-width:0!important;background:transparent!important;padding:8px 15px!important;margin:0!important}
.smm-nav.smm-mobile .smm-nav-list>li>.sub-menu li{margin:6px 0!important}

/* v1.0.2: exit animation uses explicit state, never hides on close before fade finishes. */
.smm-panel{opacity:0;visibility:hidden;transform:translateY(0);pointer-events:none;
 transition:opacity var(--smm-duration,200ms) cubic-bezier(.22,1,.36,1),transform var(--smm-duration,200ms) cubic-bezier(.22,1,.36,1);
 will-change:opacity,transform;}
.smm-panel[data-smm-state="open"]{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.smm-panel[data-smm-state="opening"]{opacity:0;visibility:visible;pointer-events:none}
.smm-panel[data-smm-state="closing"]{opacity:0;visibility:visible;pointer-events:none}
.smm-panel[data-smm-effective-animation="slide"][data-smm-state="opening"],
.smm-panel[data-smm-effective-animation="slide"][data-smm-state="closing"]{transform:translateY(-7px)}
.smm-panel[data-smm-effective-animation="none"]{transition:none!important;transform:none!important}
/* Suppress a second toggle only inside the compatible Elementor desktop nav. */
.elementor-widget-nav-menu .smm-parent.smm-enhanced>.smm-toggle,
.smm-parent.smm-enhanced>.smm-elementor-toggle{display:none!important}
/* Elementor's own pointer/underline is styled by .elementor-item-active. */
/* More compact readable auto columns: avoid full-width stretching of sparse links. */
.smm-panel .smm-groups.smm-auto-layout{flex:1 1 0;width:auto;max-width:100%}
.smm-auto-layout .smm-auto-links{row-gap:var(--smm-link-gap,8px)}
.smm-auto-layout .smm-auto-links>li{min-width:0}
.smm-panel .smm-links .smm-link:focus-visible{outline:2px solid var(--smm-link-hover,var(--smm-effective-hover,#38475a));outline-offset:2px}
@media(prefers-reduced-motion:reduce){.smm-panel{transition:none!important;transform:none!important}}
/* PHP preview shares Renderer markup but has no frontend trigger/state machine. */
.smm-panel.smm-is-preview{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:none;will-change:auto}

/* v1.0.3: anchored dropdown, unobtrusive elevation, interactive throughout opening. */
.smm-panel.smm-mode-auto{border-radius:var(--smm-panel-radius,16px);box-shadow:var(--smm-shadow,var(--smm-effective-shadow,0 12px 34px rgba(0,0,0,.11)));}
.smm-panel[data-smm-state="opening"]{pointer-events:auto}
.smm-panel .smm-links .smm-link:hover{transform:none}

/* v1.0.4 Embedded content: Elementor owns the containing box and all dropdown state. */
.smm-embedded-content,.smm-embedded-content *{box-sizing:border-box}
.smm-embedded-content{
  position:static;display:block;width:100%;max-width:100%;min-width:0;
  visibility:inherit;opacity:1;transform:none;pointer-events:inherit;
  direction:inherit;isolation:isolate;overflow-wrap:anywhere;
  color:var(--smm-link-color,var(--e-global-color-text,inherit));
  font-family:var(--smm-link-font,var(--e-global-typography-text-font-family,inherit));
  background:var(--smm-bg,transparent);border-radius:var(--smm-panel-radius,16px);
  font-size:var(--smm-link-size,inherit);
}
.smm-embedded-content .smm-panel-main{min-width:0;padding:var(--smm-panel-padding-y,24px) var(--smm-panel-padding-x,26px)}
.smm-embedded-content .smm-groups{min-width:0;flex:1 1 auto;width:100%}
.smm-embedded-content .smm-auto-layout .smm-auto-links{
  display:grid;grid-template-columns:repeat(var(--smm-real-cols,1),minmax(0,1fr));
  gap:var(--smm-link-gap,8px) var(--smm-columns-gap,18px);
}
.smm-embedded-content .smm-links .smm-link{
  color:var(--smm-link-color,var(--e-global-color-text,inherit));
  font-family:var(--smm-link-font,var(--e-global-typography-text-font-family,inherit));
}
.smm-embedded-content .smm-links .smm-link:hover,
.smm-embedded-content .smm-links .smm-link:focus-visible{
  color:var(--smm-link-hover,var(--e-global-color-primary,currentColor));
}
.smm-embedded-content .smm-group-title{color:var(--smm-title-color,var(--e-global-color-primary,inherit))}
.smm-embedded-content[style*='--smm-title-border:solid'] .smm-group-title{border-bottom:1px solid currentColor;padding-bottom:7px}
.smm-embedded-content[style*='--smm-link-icon-side:end'] .smm-link-icon{order:2}
/* Respect Elementor's own padding/background/radius/shadow and visibility on the host. */
.smm-elementor-mega-host{--smm-embedded-host:1}
@container (max-width:740px){
  .smm-embedded-content .smm-auto-layout .smm-auto-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .smm-embedded-content .smm-groups:not(.smm-auto-layout){grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width:480px){
  .smm-embedded-content .smm-auto-layout .smm-auto-links,
  .smm-embedded-content .smm-groups:not(.smm-auto-layout){grid-template-columns:minmax(0,1fr)}
  .smm-embedded-content .smm-panel-main{flex-direction:column}
  .smm-embedded-content .smm-image{width:100%;flex-basis:auto}
}
/* Container-relative responsive layout without manipulating the host's geometry. */
.smm-embedded-content{container-type:inline-size}
@media(max-width:600px){.smm-embedded-content .smm-panel-main{padding:16px}}

.smm-elementor-mega-host .smm-embedded-widget{width:100%;max-width:100%;min-width:0;flex:1 1 100%}

/* v1.0.9: Single source of geometry above. Visual defaults remain overridable. */
.smm-panel{border-radius:var(--smm-panel-radius,16px);border-color:var(--smm-border-color,rgba(31,41,55,.08));box-shadow:var(--smm-shadow,var(--smm-effective-shadow,0 18px 55px rgba(15,23,42,.14)))}
.smm-panel .smm-bar{padding-inline:var(--smm-panel-padding-x,32px)}
.elementor-widget-nav-menu .smm-parent.smm-enhanced > a[data-smm-trigger]{
  position:relative;
}
/* The open state is communicated by color + ARIA, not an extra underline.
   Suppress Elementor's pointer only on the currently-open mega-menu parent. */
.elementor-widget-nav-menu .smm-parent.smm-enhanced.smm-open > a[data-smm-trigger],
.elementor-widget-nav-menu .smm-parent.smm-enhanced.smm-open > a[data-smm-trigger]:hover{
  box-shadow:none!important;
}
.elementor-widget-nav-menu .smm-parent.smm-enhanced.smm-open > a[data-smm-trigger]::before,
.elementor-widget-nav-menu .smm-parent.smm-enhanced.smm-open > a[data-smm-trigger]::after,
.elementor-widget-nav-menu .smm-parent.smm-enhanced.smm-open > a[data-smm-trigger]:hover::before,
.elementor-widget-nav-menu .smm-parent.smm-enhanced.smm-open > a[data-smm-trigger]:hover::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  transform:scaleX(0)!important;
}
