/* Weber Mega Menus v2.0.5: visual match to live Divi overlay */
:root{--wmm-panel-width:62vw;--wmm-navy:#192950;--wmm-overlay:rgba(255,255,255,0.62);--wmm-construction:#009fff;--wmm-creative:#72b943;--wmm-speed:360ms}
.wmm-lock{overflow:hidden!important}
.wmm-backdrop{position:fixed;inset:0;background:var(--wmm-overlay);opacity:0;visibility:hidden;transition:opacity var(--wmm-speed) ease,visibility 0s linear var(--wmm-speed);z-index:999990}
.wmm-backdrop.is-open{opacity:1;visibility:visible;transition-delay:0s}
.wmm-panel{position:fixed;top:0;right:0;width:min(var(--wmm-panel-width),1100px);height:100dvh;background:var(--wmm-navy);color:#fff;transform:translateX(102%);visibility:hidden;transition:transform var(--wmm-speed) cubic-bezier(.22,.61,.36,1),visibility 0s linear var(--wmm-speed);z-index:999999;overflow:auto;font-family:'Geologica',sans-serif}
.wmm-panel.is-open{transform:translateX(0);visibility:visible;transition-delay:0s}
.wmm-panel__inner{min-height:100%;box-sizing:border-box;padding:clamp(75px,13vh,150px) clamp(34px,5vw,85px) clamp(75px,12vh,130px);display:flex;flex-direction:column;justify-content:center}
.wmm-close{position:absolute;top:20px;right:28px;width:46px;height:46px;border-radius:50%;border:0!important;background:#087dc4;color:#fff;outline:none!important;box-shadow:none!important;font:300 37px/1 Arial,sans-serif;display:grid;place-items:center;cursor:pointer;transition:background .2s ease,transform .2s ease}
.wmm-close:hover,.wmm-close:focus-visible{background:#1598e2;transform:rotate(5deg)}
.wmm-eyebrow{font-size:13px;letter-spacing:0;text-transform:none;font-weight:400;opacity:1;margin-bottom:clamp(36px,5vh,55px);padding-bottom:10px;border-bottom:1px solid var(--wmm-construction)}
.wmm-primary{display:flex;flex-direction:column;gap:5px}
.wmm-primary__link{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:clamp(10px,2vw,32px);width:fit-content;max-width:100%;color:#fff!important;text-decoration:none!important;font-size:clamp(32px,3vw,47px);line-height:1.15;font-weight:100;letter-spacing:-.035em;padding:0;transition:color .18s ease}
.wmm-primary__link:first-child{font-size:clamp(48px,5.1vw,78px);line-height:1.14;margin-bottom:2px}
.wmm-primary__link .wmm-arrow{display:block;flex:0 0 auto;width:.8em;height:.8em;opacity:0;transform:translateX(-9px);transition:opacity .18s ease,transform .18s ease;overflow:visible}
.wmm-primary__link:hover .wmm-arrow,.wmm-primary__link:focus-visible .wmm-arrow{opacity:1;transform:translateX(0)}
.wmm-primary__link.wmm-accent--construction:hover,.wmm-primary__link.wmm-accent--construction:focus-visible{color:#009fff!important}
.wmm-primary__link.wmm-accent--creative:hover,.wmm-primary__link.wmm-accent--creative:focus-visible{color:#009fff!important}
.wmm-utility{display:flex;flex-wrap:wrap;gap:14px clamp(22px,3.3vw,58px);margin-top:clamp(35px,5vh,62px);padding-top:0}
.wmm-utility a{color:#fff!important;text-decoration:none!important;font-size:clamp(14px,1.05vw,17px);font-weight:400;opacity:1;transition:opacity .18s ease}
.wmm-utility a:hover,.wmm-utility a:focus-visible{opacity:.65}
.wmm-switch{align-self:flex-start;display:inline-flex;align-items:center;gap:14px;margin-top:clamp(40px,6vh,65px);padding:14px 36px;border:0;border-radius:999px;color:#fff!important;text-decoration:none!important;font-size:15px;font-weight:500;letter-spacing:0;transition:filter .2s ease,background .2s ease}
.wmm-switch--construction,.wmm-switch--creative{background:rgba(255,255,255,.25);color:#fff!important}.wmm-switch--construction:hover,.wmm-switch--construction:focus-visible{background:var(--wmm-construction)}.wmm-switch--creative:hover,.wmm-switch--creative:focus-visible{background:var(--wmm-creative)}
.wmm-switch:hover,.wmm-switch:focus-visible{filter:none}
.wmm-panel a:focus-visible,.wmm-panel button:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:980px){.wmm-panel{width:min(86vw,760px)}.wmm-panel__inner{padding-left:42px;padding-right:42px}.wmm-primary__link:first-child{font-size:clamp(40px,6vw,65px)}.wmm-primary__link{font-size:clamp(32px,4.5vw,45px)}}
@media(max-width:640px){.wmm-panel{width:100vw}.wmm-panel__inner{justify-content:flex-start;padding:100px 26px 36px}.wmm-close{top:20px;right:20px;width:42px;height:42px}.wmm-eyebrow{margin-bottom:35px}.wmm-primary__link:first-child{font-size:clamp(36px,9vw,50px)}.wmm-primary__link{font-size:clamp(30px,7vw,42px)}.wmm-utility{gap:14px 24px;margin-top:42px}.wmm-switch{margin-top:40px}}
@media(prefers-reduced-motion:reduce){.wmm-panel,.wmm-backdrop,.wmm-primary__link .wmm-arrow{transition-duration:0.01ms!important}}

/* v2.0.4: exact overlay tint and switch-button interaction */
.wmm-switch__chevron{display:block;width:13px;height:13px;flex:0 0 13px;opacity:0;transform:translateX(-5px);margin-left:-13px;transition:opacity .2s ease,transform .2s ease,margin-left .2s ease}
.wmm-switch:hover .wmm-switch__chevron,.wmm-switch:focus-visible .wmm-switch__chevron{opacity:1;transform:translateX(0);margin-left:-8px}
.wmm-switch--creative:hover,.wmm-switch--creative:focus-visible{background:#80c342}
.wmm-primary__link:hover,.wmm-primary__link:focus-visible{color:#009fff!important}
.wmm-primary__link:hover .wmm-arrow,.wmm-primary__link:focus-visible .wmm-arrow{color:#009fff}
@media(prefers-reduced-motion:reduce){.wmm-switch__chevron{transition-duration:0.01ms!important}}

/* v2.0.6: enforce the reference white page tint independently of legacy saved settings. */
.wmm-backdrop{background:rgba(255,255,255,0.62)!important;isolation:isolate}
/* Center the label at rest. Reveal the same arrow used by primary links without
   reserving an asymmetric empty arrow slot in the default state. */
.wmm-switch{position:relative;gap:0;justify-content:center;padding-inline:36px!important;transition:background .2s ease,padding .2s ease,filter .2s ease}
.wmm-switch__label{display:block;white-space:nowrap}
.wmm-switch__chevron{position:absolute;top:50%;right:16px;width:13px;height:13px;flex:none;margin:0!important;opacity:0;transform:translate(-4px,-50%);transition:opacity .2s ease,transform .2s ease;pointer-events:none}
.wmm-switch:hover,.wmm-switch:focus-visible{padding-left:36px!important;padding-right:41px!important}
.wmm-switch:hover .wmm-switch__chevron,.wmm-switch:focus-visible .wmm-switch__chevron{opacity:1;transform:translate(0,-50%);margin:0!important}
@media(prefers-reduced-motion:reduce){.wmm-switch,.wmm-switch__chevron{transition-duration:.01ms!important}}

/* v2.0.7: align eyebrow typography across all three menus. */
.wmm-eyebrow{font-size:15px;letter-spacing:.3px}

/* Fixed-size switch with symmetric padding and a centered visible content group.
   Arrow is overlaid at rest; on hover the label moves slightly left as the arrow
   appears. The outer button never changes width or horizontal position. */
.wmm-switch{
  box-sizing:border-box;
  width:190px;
  min-width:190px;
  padding:14px 22px!important;
  justify-content:center;
  gap:0!important;
  transition:background-color .2s ease,filter .2s ease;
}
.wmm-switch:hover,.wmm-switch:focus-visible{padding:14px 22px!important;width:190px;min-width:190px}
.wmm-switch__label{transform:translateX(0);transition:transform .2s ease}
.wmm-switch:hover .wmm-switch__label,.wmm-switch:focus-visible .wmm-switch__label{transform:translateX(-8px)}
.wmm-switch__chevron{right:21px;width:13px;height:13px;transform:translate(-4px,-50%);transition:opacity .2s ease,transform .2s ease}
.wmm-switch:hover .wmm-switch__chevron,.wmm-switch:focus-visible .wmm-switch__chevron{transform:translate(0,-50%)}

/* Keep the backdrop in sync with the panel's actual open state, even if its
   JS-added is-open class is missing due to a separate frontend interaction. */
body:has(.wmm-panel.is-open) .wmm-backdrop,
html:has(.wmm-panel.is-open) .wmm-backdrop{
  opacity:1!important;
  visibility:visible!important;
  background:rgba(255,255,255,.62)!important;
  transition-delay:0s;
}

/* v2.0.8: keep the label and pill absolutely stationary in both states.
   Only the arrow fades in and travels 2px. */
.wmm-switch__label,
.wmm-switch:hover .wmm-switch__label,
.wmm-switch:focus-visible .wmm-switch__label{
  transform:none!important;
  transition:none!important;
}
.wmm-switch__chevron{
  opacity:0;
  transform:translate(-2px,-50%);
  transition:opacity .2s ease,transform .2s ease;
}
.wmm-switch:hover .wmm-switch__chevron,
.wmm-switch:focus-visible .wmm-switch__chevron{
  opacity:1;
  transform:translate(0,-50%);
}

/* v2.0.9: use the exact Weber/Divi global green, including older saved settings. */
:root{--wmm-creative:#7fbe40!important}
.wmm-primary__link.wmm-accent--creative:hover,
.wmm-primary__link.wmm-accent--creative:focus-visible,
.wmm-panel--creative .wmm-primary__link:hover,
.wmm-panel--creative .wmm-primary__link:focus-visible{color:#7fbe40!important}
.wmm-panel--creative .wmm-primary__link:hover .wmm-arrow,
.wmm-panel--creative .wmm-primary__link:focus-visible .wmm-arrow{color:#7fbe40!important}
.wmm-switch--creative:hover,.wmm-switch--creative:focus-visible{background:#7fbe40!important}
/* Longer label needs a wider stationary pill and its own dedicated arrow space. */
.wmm-switch--construction,
.wmm-switch--construction:hover,
.wmm-switch--construction:focus-visible{width:260px;min-width:260px;max-width:260px}
.wmm-switch--construction .wmm-switch__chevron{right:20px}
/* The backdrop is clickable when a menu is open; never let it sit above the panel. */
.wmm-backdrop.is-open,
body:has(.wmm-panel.is-open) .wmm-backdrop{pointer-events:auto}
.wmm-backdrop:not(.is-open){pointer-events:none}

/* v2.0.10: reliably capture clicks in the tinted area. */
html:has(.wmm-panel.is-open) .wmm-backdrop,
body:has(.wmm-panel.is-open) .wmm-backdrop{pointer-events:auto!important;cursor:pointer}
/* Match the Creative switch's visual side padding, with room for the arrow. */
.wmm-switch--construction,
.wmm-switch--construction:hover,
.wmm-switch--construction:focus-visible{width:225px;min-width:225px;max-width:225px;padding-inline:22px!important}
.wmm-switch--construction .wmm-switch__chevron{right:12px}

/* v2.0.11: Weber Group homepage menu only. Other two menus are unchanged. */
.wmm-panel--group .wmm-primary__link,
.wmm-panel--group .wmm-primary__link:first-child{
  font-size:clamp(42px,4.5vw,70px);
  line-height:1.16;
  margin-bottom:0;
}
.wmm-panel--group .wmm-primary{gap:12px}
.wmm-panel--group .wmm-primary__link.wmm-accent--construction:hover,
.wmm-panel--group .wmm-primary__link.wmm-accent--construction:focus-visible{color:#009fff!important}
.wmm-panel--group .wmm-primary__link.wmm-accent--construction:hover .wmm-arrow,
.wmm-panel--group .wmm-primary__link.wmm-accent--construction:focus-visible .wmm-arrow{color:#009fff!important}
.wmm-panel--group .wmm-primary__link.wmm-accent--creative:hover,
.wmm-panel--group .wmm-primary__link.wmm-accent--creative:focus-visible{color:#7fbe40!important}
.wmm-panel--group .wmm-primary__link.wmm-accent--creative:hover .wmm-arrow,
.wmm-panel--group .wmm-primary__link.wmm-accent--creative:focus-visible .wmm-arrow{color:#7fbe40!important}
.wmm-panel--group .wmm-utility a[aria-current="page"]{color:#7fbe40!important;opacity:1}
@media(max-width:640px){
  .wmm-panel--group .wmm-primary__link,
  .wmm-panel--group .wmm-primary__link:first-child{font-size:clamp(32px,8vw,48px)}
}
