:root{
    --fs-mega-ink: var(--ink, #3D3D3D);
    --fs-mega-accent: var(--accent, #DC4405);
    --fs-mega-radius: var(--radius, 16px);
}

.fs-mega{
    border-radius: calc(var(--fs-mega-radius) + 2px);
    overflow: hidden;
    border: 1px solid rgba(61,61,61,.10) !important;
    border-top: 3px solid rgba(220,68,5,.22) !important;
    background: #fff;
    box-shadow: 0 14px 34px rgba(14,24,39,.12), 0 2px 8px rgba(14,24,39,.06);
}

.fs-mega-trigger{
    border-radius: 999px;
    padding-left: 12px !important;
    padding-right: 12px !important;
    transition: background .10s linear, box-shadow .10s linear, color .10s linear;
}

.fs-mega-trigger:hover,
.fs-mega-trigger:focus{
    background: rgba(220,68,5,.06);
    box-shadow: inset 0 0 0 1px rgba(220,68,5,.10);
    text-decoration:none;
}

#mega-menu-label-4 .hs-icon{ opacity:.72; }

.fs-mega__top{
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px 16px;
    border-bottom: 1px solid rgba(14,24,39,.08);
    background: rgba(255,255,255,.98);
}

.fs-mega__title{
    font-weight: 950;
    letter-spacing: .2px;
    color: var(--fs-mega-ink);
    line-height: 1.1;
    font-size: 14px;
}

.fs-mega__sub{
    margin-top: 2px;
    font-weight: 800;
    color: rgba(61,61,61,.62);
    font-size: 11px;
}

.fs-mega__mode{
    display: inline-flex;
    margin-top: 7px;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(39,93,56,.08);
    color: #275D38;
    font-size: 10.5px;
    font-weight: 950;
    line-height: 1;
}

.fs-mega__search{
    display:flex;
    align-items:center;
    gap: 10px;
    padding: 9px 12px;
    border-radius: 999px;
    background: rgba(14,24,39,.03);
    box-shadow: inset 0 0 0 1px rgba(14,24,39,.10);
}

.fs-mega__search i{ opacity:.58; }

.fs-mega__search input{
    border:0;
    outline:none;
    background: transparent;
    width: 220px;
    max-width: 40vw;
    font-weight: 800;
    color: var(--fs-mega-ink);
    font-size: 12px;
}

.fs-mega__search input::placeholder{
    color: rgba(61,61,61,.55);
    font-weight: 800;
}

.fs-mega__clear{
    border:0;
    background: transparent;
    opacity: .55;
    font-weight: 900;
    cursor: pointer;
    padding: 0 2px;
}

.fs-mega__clear:hover{ opacity: .85; }

.fs-mega__quick{
    display:flex;
    gap: 10px;
    flex-wrap: wrap;
    padding: 10px 16px 12px;
    border-bottom: 1px solid rgba(14,24,39,.06);
    background: #fff;
}

.fs-mega__chip{
    display:inline-flex;
    align-items:center;
    gap: 8px;
    padding: 7px 10px;
    border-radius: 999px;
    text-decoration:none;
    font-weight: 900;
    font-size: 11px;
    color: rgba(61,61,61,.84);
    background: rgba(14,24,39,.03);
    box-shadow: inset 0 0 0 1px rgba(14,24,39,.08);
    transition: background .10s linear, box-shadow .10s linear, color .10s linear;
}

.fs-mega__chip:hover,
.fs-mega__chip:focus{
    background: rgba(220,68,5,.06);
    box-shadow: inset 0 0 0 1px rgba(220,68,5,.12);
    text-decoration:none;
}

.fs-mega__body{
    padding: 14px 8px 16px;
    background: #fff;
}

.fs-mega__empty{
    padding: 18px;
    color: rgba(61,61,61,.66);
    font-weight: 850;
}

.mega-menu__col{ position: relative; }
.mega-menu__col-inner{ padding: 6px 14px; }

.mega-menu__heading{
    position: relative;
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 10px;
    font-weight: 950;
    letter-spacing: .2px;
    color: var(--fs-mega-ink);
    margin: 0 0 8px 0;
    padding: 10px 0 10px;
    border-bottom: 1px solid rgba(14,24,39,.08);
    background: #fff;
    font-size: 13px;
}

.mega-menu__heading:after{
    content:"";
    position:absolute;
    left:0;
    bottom:-1px;
    height: 2px;
    width: 44px;
    border-radius: 99px;
    background: linear-gradient(90deg, rgba(220,68,5,.95), rgba(234,118,0,.85));
}

.mega-menu__count{
    color: rgba(61,61,61,.50);
    font-size: 10.5px;
    font-weight: 950;
}

.mega-menu__list{
    margin:0;
    padding: 2px 0 0 0;
    max-height: 360px;
    overflow:auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(14,24,39,.22) transparent;
}

.mega-menu__list::-webkit-scrollbar{ width:10px; }

.mega-menu__list::-webkit-scrollbar-thumb{
    background: rgba(14,24,39,.16);
    border-radius: 99px;
    border: 3px solid transparent;
    background-clip: content-box;
}

.mega-menu__list.is-dense{
    column-count: 2;
    column-gap: 10px;
}

.mega-menu__list.is-dense .mega-menu__item{
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
}

.mega-menu__link{
    display:flex;
    align-items:center;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 0;
    background: transparent;
    border-bottom: 1px solid rgba(14,24,39,.06);
    color: rgba(61,61,61,.88);
    text-decoration: none;
    line-height: 1.25;
    transition: background .10s linear, color .10s linear;
}

.mega-menu__item:last-child .mega-menu__link{ border-bottom: 0; }

.mega-menu__link:hover,
.mega-menu__link:focus{
    background: rgba(220,68,5,.05);
    color: rgba(61,61,61,.98);
    text-decoration: none;
}

.mega-menu__link:focus{ outline:none; }

.mega-menu__link:focus-visible{
    background: rgba(220,68,5,.06);
    box-shadow: 0 0 0 3px rgba(220,68,5,.12);
}

.mega-menu__link-text{
    font-size: 12.5px;
    font-weight: 850;
    letter-spacing: .1px;
}

.mega-menu__link-icon{
    opacity: .33;
}

@media (min-width: 768px){
    .fs-mega__body{ padding: 18px 10px 20px; }
}

@media (min-width: 992px){
    .mega-menu__col + .mega-menu__col:before{
        content:"";
        position:absolute;
        top: 12px;
        bottom: 12px;
        left: 0;
        width: 1px;
        background: rgba(14,24,39,.06);
    }
}

@media (max-width: 767.98px){
    .fs-mega{
        max-height: calc(100vh - 170px);
        overflow: auto;
        border-radius: 12px;
    }

    .fs-mega__top{
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
        padding: 12px;
    }

    .fs-mega__quick{
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 9px 12px 10px;
        -webkit-overflow-scrolling: touch;
    }

    .fs-mega__chip{
        flex: 0 0 auto;
    }

    .fs-mega__search input{
        width: 100%;
        max-width: none;
    }

    .mega-menu__list.is-dense{
        column-count: 1;
    }

    .mega-menu__col-inner{
        padding: 4px 8px;
    }

    .mega-menu__list{
        max-height: none;
        overflow: visible;
    }
}

@media (prefers-reduced-motion: reduce){
    .fs-mega-trigger,
    .fs-mega__chip,
    .mega-menu__link{
        transition: none !important;
    }
}
