/* Dyester Menu v1. Global, early head CSS: navigation is styled before any JS. */
.dyester-menu,.dyester-menu *{box-sizing:border-box}
.dyester-menu{--dyester-menu-text:#737373;--dyester-menu-hover:#2184ac;--dyester-menu-gap:26px;--dyester-menu-panel:#fff;--dyester-menu-accent:#25384b;position:relative;min-width:0;line-height:1.35}
.dyester-menu ul{list-style:none;margin:0;padding:0}
.dyester-menu a{text-decoration:none}
.dyester-menu__desktop{position:relative;display:block;min-width:0}
.dyester-menu__desktop-list{display:flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;gap:var(--dyester-menu-gap)}
.dyester-menu__item{display:flex;position:relative;align-items:center;gap:5px;flex-shrink:0}
.dyester-menu__item--mega{position:static}
.dyester-menu__link,.dyester-menu__trigger{display:inline-flex;align-items:center;gap:7px;color:var(--dyester-menu-text);font-size:15px;font-weight:600;white-space:nowrap;cursor:pointer;padding:12px 0;margin:0}
/* Elementor Kit often targets .elementor-kit-N a (higher specificity than
   a lone menu class). Keep the widget defaults scoped and overridable by
   Elementor's direct per-widget color controls. */
.elementor-widget-dyester-menu .dyester-menu .dyester-menu__desktop .dyester-menu__link,
.elementor-widget-dyester-menu .dyester-menu .dyester-menu__desktop .dyester-menu__trigger{color:var(--dyester-menu-text)}
.elementor-widget-dyester-menu .dyester-menu .dyester-menu__desktop .dyester-menu__link:hover,
.elementor-widget-dyester-menu .dyester-menu .dyester-menu__desktop .dyester-menu__trigger:hover,
.elementor-widget-dyester-menu .dyester-menu .dyester-menu__desktop .dyester-menu__item.is-current>.dyester-menu__link,
.elementor-widget-dyester-menu .dyester-menu .dyester-menu__desktop .dyester-menu__item.is-current>.dyester-menu__trigger{color:var(--dyester-menu-hover)}
.dyester-menu__link:hover,.dyester-menu__trigger:hover,.dyester-menu__item.is-current>.dyester-menu__link,.dyester-menu__item.is-current>.dyester-menu__trigger{color:var(--dyester-menu-hover)}
.dyester-menu__chevron{display:inline-block;width:8px;height:8px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);flex:0 0 8px}
.dyester-menu__desktop-state{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.dyester-menu__dropdown-toggle{display:inline-flex;align-items:center;justify-content:center;padding:12px 3px;cursor:pointer;color:var(--dyester-menu-text)}
.dyester-menu__dropdown{display:none;position:absolute;top:100%;left:0;min-width:200px;max-width:360px;padding:10px 0!important;background:var(--dyester-menu-panel);box-shadow:none;z-index:1010;border-radius:4px}
/* Level-one submenu aligns to its parent's right edge, not the text's left. */
.dyester-menu__desktop-list>.dyester-menu__item--dropdown>.dyester-menu__dropdown{left:auto;right:0}
.dyester-menu__dropdown>.dyester-menu__item{display:flex;padding:0 16px;align-items:center;justify-content:space-between}
.dyester-menu__dropdown .dyester-menu__link,.dyester-menu__dropdown .dyester-menu__trigger{white-space:normal;padding:10px 0}
.dyester-menu__dropdown .dyester-menu__dropdown{top:0;left:100%}
.dyester-menu__item--dropdown:hover>.dyester-menu__dropdown,.dyester-menu__item--dropdown>.dyester-menu__desktop-state:checked~.dyester-menu__dropdown{display:block}
/* The panel follows the nav list in DOM order. Its natural top:auto
   position sits under the header; fixed viewport edges eliminate JS
   measurements and do not depend on the width of the Elementor widget. */
.dyester-menu__mega{position:fixed;top:auto;left:0;right:0;z-index:1020;display:none;width:100%;max-width:none;padding:0;background:var(--dyester-menu-panel);box-shadow:0 15px 35px rgba(0,0,0,.14);color:var(--dyester-menu-accent)}
.dyester-menu__mega-inner{box-sizing:border-box;width:100%;max-width:var(--content-width,var(--container-max-width,var(--e-con-default-content-width,1140px)));margin-inline:auto;padding:0}
/* The panel is a direct nav child after the list. Native checkbox
   plus :has() work without JavaScript, including with WP Rocket Delay JS. */
.dyester-menu__desktop:not(.is-mega-dismissed):has(.dyester-menu__item--mega:hover)>.dyester-menu__mega,
.dyester-menu__desktop:not(.is-mega-dismissed)>.dyester-menu__desktop-mega-state:checked~.dyester-menu__mega,
.dyester-menu__desktop:not(.is-mega-dismissed)>.dyester-menu__mega:hover{display:block}
.dyester-menu__mega-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#7e7e7e}
.dyester-menu__mega-close{font-size:31px;font-weight:300;line-height:1;cursor:pointer;color:var(--dyester-menu-accent);text-decoration:none;user-select:none}
.dyester-menu__brands{display:grid;grid-template-columns:repeat(var(--dyester-menu-columns,6),minmax(0,1fr));gap:var(--dyester-menu-cards-gap,12px);align-items:stretch}
.dyester-menu__brand-item{min-width:0}
.dyester-menu__brand{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:0;height:100%;gap:2px;padding:0;background:transparent;color:var(--dyester-menu-accent);text-align:center;line-height:1.2;text-transform:uppercase}
.dyester-menu__brand:hover{color:var(--dyester-menu-accent);opacity:.9}
.dyester-menu__brand-title{font-weight:700;font-size:16px;letter-spacing:.045em}
.dyester-menu__brand-logo{display:block;width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain}
.dyester-menu__mobile{display:none}
/* Mobile is available by default for small screens, or up to tablet width when configured. */
@media(max-width:1024px){
.dyester-menu[data-mobile-breakpoint="tablet"] .dyester-menu__desktop{display:none}
.dyester-menu[data-mobile-breakpoint="tablet"] .dyester-menu__mobile{display:block}
}
@media(max-width:767px){
.dyester-menu .dyester-menu__desktop{display:none}
.dyester-menu .dyester-menu__mobile{display:block}
}
.dyester-menu__mobile{position:relative}
.dyester-menu__mobile-open,.dyester-menu__mobile-products-state{position:absolute;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.dyester-menu__hamburger{width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--dyester-menu-accent);margin:0}
.dyester-menu__hamburger-lines{width:26px;height:20px;display:flex;flex-direction:column;justify-content:space-between}
.dyester-menu__hamburger-lines i{display:block;width:100%;height:2px;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.dyester-menu__mobile-open:checked~.dyester-menu__hamburger .dyester-menu__hamburger-lines i:first-child{transform:translateY(9px) rotate(45deg)}
.dyester-menu__mobile-open:checked~.dyester-menu__hamburger .dyester-menu__hamburger-lines i:nth-child(2){opacity:0}
.dyester-menu__mobile-open:checked~.dyester-menu__hamburger .dyester-menu__hamburger-lines i:last-child{transform:translateY(-9px) rotate(-45deg)}
/* The drawer must be viewport-aligned rather than aligned to the narrow
   Elementor menu widget. A fixed element with top:auto retains its native
   static vertical position immediately after the hamburger; no JavaScript
   measurement, header-height guess or CSS anchor() is needed. */
.dyester-menu__mobile-drawer{display:none;position:fixed;left:0;right:0;top:auto;margin-top:10px;width:100vw;max-width:100vw;max-height:calc(100dvh - 90px);min-height:min(620px,calc(100dvh - 90px));flex-direction:column;background:#fff;box-shadow:0 14px 25px rgba(0,0,0,.12);z-index:1050;overflow-y:auto;color:#777}
.dyester-menu__mobile-open:checked~.dyester-menu__mobile-drawer{display:flex}
.dyester-menu__mobile-list,.dyester-menu__mobile-sublist{margin:0;padding:0}
.dyester-menu__mobile-item{margin:0}
.dyester-menu__mobile-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:62px;width:100%;padding:14px 28px;color:#737373;font-size:20px;font-weight:600;text-decoration:none;cursor:pointer;border:0;border-bottom:1px solid #e9e9e9;background:transparent;list-style:none}
/* Scoped link and label colors; Elementor per-widget selectors are
   intentionally more specific than these defaults and the Kit rules. */
.dyester-menu .dyester-menu__mobile .dyester-menu__mobile-row{color:#737373}
.dyester-menu .dyester-menu__mobile .dyester-menu__mobile-row:hover,
.dyester-menu .dyester-menu__mobile .dyester-menu__mobile-row.is-current,
.dyester-menu .dyester-menu__mobile .dyester-menu__mobile-details[open]>.dyester-menu__mobile-row{color:var(--dyester-menu-hover)}
.dyester-menu__mobile-details summary::-webkit-details-marker{display:none}
.dyester-menu__mobile-details summary::marker{content:''}
.dyester-menu__mobile-details[open]>.dyester-menu__mobile-row .dyester-menu__chevron{transform:rotate(225deg)}
.dyester-menu__mobile-sublist .dyester-menu__mobile-row{padding-left:42px;min-height:50px;font-size:17px;font-weight:500}
.dyester-menu__mobile-products{display:none;padding:0;min-width:0;width:100%}
.dyester-menu__mobile-products-state:checked~.dyester-menu__mobile-drawer .dyester-menu__mobile-main{display:none}
.dyester-menu__mobile-products-state:checked~.dyester-menu__mobile-drawer .dyester-menu__mobile-products{display:block}
.dyester-menu__mobile-products-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#777}
.dyester-menu__mobile-back{font-size:31px;line-height:1;color:#25384b;cursor:pointer}
.dyester-menu__mobile-products .dyester-menu__brands{grid-template-columns:repeat(var(--dyester-menu-columns,2),minmax(0,1fr));gap:var(--dyester-menu-cards-gap,10px)}
.dyester-menu__mobile-products .dyester-menu__brand{min-height:0;padding:0}
.dyester-menu__mobile-products .dyester-menu__brand-title{font-size:13px}
.dyester-menu__contact{margin-top:auto;padding:38px 30px 50px}
.dyester-menu__contact-label{font-size:15px;color:#777;margin-bottom:12px}
.dyester-menu__contact-link{display:flex;align-items:center;justify-content:space-evenly;gap:16px;padding:11px 16px;color:#777;border:1px solid #dadada;border-radius:12px;font-size:18px;font-weight:600;white-space:nowrap}
.dyester-menu__contact-link:hover{color:var(--dyester-menu-hover)}
.dyester-menu__contact-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px}
.dyester-menu__contact-icon svg,.dyester-menu__contact-icon i{display:block;width:100%;height:100%;font-size:27px}
@media(max-width:390px){.dyester-menu__mobile-row{padding:13px 21px}.dyester-menu__contact{padding:30px 20px 40px}}
@media(prefers-reduced-motion:reduce){.dyester-menu__hamburger-lines i{transition:none}}
