/* Keep the existing desktop mega menu and compact menu; only adapt their layout. */
/* View all is the Brands call to action in both desktop and compact menus. */
.elementor-99 .menu-item-15407 > a,
.elementor-99 .menu-item-12765 > a {
    font-weight:700!important;
}
body:not(.elementor-editor-active) .elementor-99 {
    --ch-desktop-menu-display:flex;
    --ch-compact-menu-display:none;
    --ch-home-header-position:absolute;
    --ch-header-gap:clamp(16px, 1.4vw, 26px);
    --ch-account-slot:44px;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-6c9c502 {
    display:var(--ch-desktop-menu-display)!important;
    align-items:center;
    flex-wrap:nowrap!important;
    gap:var(--ch-header-gap);
    padding:12px clamp(20px, 1.7vw, 36px);
    min-height:80px;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-6c9c502::after {
    /* Visible account placeholder; login behavior will be connected separately. */
    content:"";
    display:block;
    flex:0 0 var(--ch-account-slot);
    width:var(--ch-account-slot);
    height:44px;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-50474d8 {
    width:clamp(128px, 10.5vw, 180px);
    flex:0 0 clamp(128px, 10.5vw, 180px);
    min-width:0;
    align-items:center;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-23a7fbf,
body:not(.elementor-editor-active) .elementor-99 .elementor-element-23a7fbf img { width:100%; max-width:100%; }
body:not(.elementor-editor-active) .elementor-99 .elementor-element-ce95311 {
    flex:1 1 0%;
    width:auto;
    min-width:0;
    justify-content:center;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a {
    width:100%;
    min-width:0;
    display:flex;
    align-items:center;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a > .elementor-widget-container {
    /* Center the menu inside Elementor's full-height widget wrapper. */
    width:100%;
    height:auto;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-heading {
    flex-wrap:nowrap!important;
    align-items:center;
    justify-content:space-between;
    gap:clamp(10px, 1.1vw, 24px);
    padding:0;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-item { flex:0 0 auto; }
body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-title {
    flex-wrap:nowrap!important;
    column-gap:0!important;
    min-height:44px;
    padding:10px 0;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-title-text {
    font-size:clamp(13px, calc(1.1vw - 1px), 18px)!important;
    line-height:1.3!important;
    white-space:nowrap!important;
    transition-property:color!important;
}
/* Highlight the hovered/open category without consuming any navigation width. */
body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-title::before {
    content:"";
    position:absolute;
    inset:5px -7px;
    border-radius:999px;
    background:var(--concepthub-header-color, #212529);
    opacity:0;
    pointer-events:none;
    transition:opacity 120ms ease;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-title:has(> .e-n-menu-dropdown-icon[aria-expanded="true"])::before,
body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-title:has(:focus-visible)::before {
    opacity:.13;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-title:has(:focus-visible)::before {
    transition:none;
}
@media (hover:hover) and (pointer:fine) {
    body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-title:hover::before {
        opacity:.13;
    }
}
@media (prefers-reduced-motion:reduce) {
    body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-title::before {
        transition:none;
    }
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-300c7d8 {
    display:var(--ch-compact-menu-display)!important;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-d03cd06 { display:block!important; }
body:not(.elementor-editor-active) .elementor-99 .elementor-element-12b7709 {
    width:100%;
    padding:16px 24px;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-12b7709 > .e-con-inner {
    display:grid;
    grid-template-columns:44px minmax(0, 1fr) var(--ch-account-slot);
    align-items:center;
    gap:16px;
    padding:0;
    width:100%;
    max-width:none;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-12b7709 > .e-con-inner::after {
    content:"";
    display:block;
    width:var(--ch-account-slot);
    height:44px;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-6c9c502::after,
body:not(.elementor-editor-active) .elementor-99 .elementor-element-12b7709 > .e-con-inner::after {
    background-color:var(--concepthub-header-color, #212529);
    --ch-account-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0.75 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.5'/%3E%3Cpath d='M4.5 21v-2a7.5 7.5 0 0 1 15 0v2'/%3E%3C/svg%3E");
    -webkit-mask:var(--ch-account-icon) center / 24px 24px no-repeat;
    mask:var(--ch-account-icon) center / 24px 24px no-repeat;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-d35a7b7 { width:44px; padding:0; }
body:not(.elementor-editor-active) .elementor-99 .elementor-element-d03cd06 .elementor-menu-toggle {
    width:44px;
    min-height:44px;
    padding:0;
    align-items:center;
    justify-content:center;
    color:var(--concepthub-header-color, #212529);
}
/* Match the account icon's 24px frame, 1.5px strokes and rounded ends. */
body:not(.elementor-editor-active) .elementor-99 .elementor-element-d03cd06 .elementor-menu-toggle > i {
    width:24px;
    height:24px;
    font-size:24px;
    line-height:1;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-d03cd06 .elementor-menu-toggle > i::before {
    content:"";
    display:block;
    width:24px;
    height:24px;
    background-color:currentColor;
    -webkit-mask:var(--ch-menu-icon) center / contain no-repeat;
    mask:var(--ch-menu-icon) center / contain no-repeat;
}
body:not(.elementor-editor-active) .elementor-99 .elementor-menu-toggle__icon--open {
    --ch-menu-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 6h15M4.5 12h15M4.5 18h15'/%3E%3C/svg%3E");
}
body:not(.elementor-editor-active) .elementor-99 .elementor-menu-toggle__icon--close {
    --ch-menu-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 6 12 12M18 6 6 18'/%3E%3C/svg%3E");
}
body:not(.elementor-editor-active) .elementor-99 .elementor-element-0f6fc29 { width:min(100%, 160px); justify-self:center; }
body:not(.elementor-editor-active) .elementor-99 .elementor-element-f5f99ad img { width:100%; max-width:160px; }
body.home:not(.elementor-editor-active) .elementor-99.elementor-location-header {
    position:var(--ch-home-header-position)!important;
}
body:not(.elementor-editor-active) .elementor-99.ch-header-compact {
    --ch-desktop-menu-display:none;
    --ch-compact-menu-display:flex;
    --ch-home-header-position:relative;
}
@media (max-width:1199px) {
    body:not(.elementor-editor-active) .elementor-99 {
        --ch-desktop-menu-display:none;
        --ch-compact-menu-display:flex;
        --ch-home-header-position:relative;
    }
}
@media (max-width:767px) {
    body:not(.elementor-editor-active) .elementor-99 .elementor-element-0f6fc29 {
        width:min(100%, 190px);
    }
    body:not(.elementor-editor-active) .elementor-99 .elementor-element-f5f99ad > .elementor-widget-container {
        width:100%;
    }
    body:not(.elementor-editor-active) .elementor-99 .elementor-element-f5f99ad img {
        max-width:100%;
    }
}

/* Keep wide-screen links left-aligned instead of stretching every gap. */
@media (min-width:1600px) {
    body:not(.elementor-editor-active) .elementor-99 .elementor-element-5728c1a .e-n-menu-heading {
        justify-content:flex-start;
        column-gap:28px!important;
    }
}
