.baltesa-mega :is(ul, ol) {
    list-style: none;
    margin: 0;
    padding: 0;
}

.baltesa-mega [hidden] {
    display: none;
}

@media (min-width: 1200px) {
    .baltesa-navigation {
        position: relative;
    }

    .baltesa-mega .baltesa-mega__bar {
        display: flex;
        align-items: stretch;
        gap: .45rem;
        padding-block: .5rem;
    }

    .baltesa-mega__area {
        display: flex;
        flex: 1 1 auto;
        min-inline-size: min-content;
    }
}

.baltesa-mega :is(button, a) {
    text-decoration: none;
    text-align: start;
    touch-action: manipulation;
}

.baltesa-mega :is(a, button):focus-visible,
.baltesa-mega [data-menu-heading]:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: -3px;
    border-radius: .45rem;
}

.baltesa-mega__trigger {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: .625rem;
    flex: 1;
    min-block-size: 3rem;
    padding: .5rem clamp(.625rem, 1vw, .9375rem);
    border: 1px solid var(--baltesa-menu-border);
    border-radius: .5rem;
    background: var(--baltesa-menu-surface);
    color: inherit;
    font-size: .8125rem;
    font-weight: 650;
    line-height: 1.3;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.baltesa-mega__trigger[data-baltesa-category-id]::before,
#menu-mobile .baltesa-mobile-menu-root::before {
    content: "";
    display: var(--baltesa-category-icon-display, none);
    flex: 0 0 auto;
    inline-size: var(--baltesa-primary-category-icon-size, 1.375rem);
    block-size: var(--baltesa-primary-category-icon-size, 1.375rem);
    background-color: var(--baltesa-category-icon-color, var(--baltesa-menu-accent));
    mask: var(--baltesa-category-icon) center / contain no-repeat;
}

.baltesa-mega__trigger[data-menu-toggle]::after,
button.baltesa-mega__branch::after {
    content: "";
    flex: 0 0 .42rem;
    block-size: .42rem;
    margin-inline: auto .125rem;
    border: solid currentColor;
    border-width: 0 1.5px 1.5px 0;
    transform: translateY(-.12rem) rotate(45deg);
}

.baltesa-mega__trigger[aria-expanded=true]::after {
    transform: translateY(.12rem) rotate(225deg);
}

button.baltesa-mega__branch::after {
    transform: rotate(-45deg);
}

.baltesa-mega__area.is-path > .baltesa-mega__trigger,
.baltesa-mega__branch.is-path {
    background: var(--baltesa-menu-accent-light);
    border-color: var(--baltesa-menu-current-border);
    color: var(--baltesa-menu-accent-dark);
}

.baltesa-mega :is(.baltesa-mega__trigger, .baltesa-mega__branch):hover {
    background: var(--baltesa-menu-accent-light);
    color: var(--baltesa-menu-accent-dark);
}

.baltesa-mega :is(.baltesa-mega__trigger, .baltesa-mega__branch)[aria-expanded=true] {
    --baltesa-category-icon-color: currentColor;
    background: var(--baltesa-menu-accent);
    border-color: var(--baltesa-menu-accent-dark);
    color: #fff;
    font-weight: 700;
}

.baltesa-mega__popup {
    position: absolute;
    inset: 100% 0 auto;
    z-index: 1;
    max-block-size: max(12rem, calc(100dvh - var(--scroll-padding-top, 13rem)));
    overflow: auto;
    overscroll-behavior: contain;
    background: #fff;
    border-block-end: 1px solid var(--baltesa-menu-border);
    box-shadow: 0 .625rem 1.375rem #2026301c;
}

.baltesa-mega__layout {
    display: grid;
    grid-template-columns: minmax(13rem, 1fr) minmax(0, 3.7fr);
    gap: clamp(.875rem, 1.6vw, 1.5rem);
    align-items: start;
    padding-block: 1rem 1.125rem;
}

.baltesa-mega__rail {
    padding: .5rem;
    background: var(--baltesa-menu-surface);
    border: 1px solid var(--baltesa-menu-border);
    border-radius: .75rem;
}

.baltesa-mega__area-all,
.baltesa-mega__all,
.baltesa-mega__all-link {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    min-block-size: 2.5rem;
    padding: .375rem .625rem;
    border-radius: .45rem;
    color: var(--baltesa-menu-accent-dark);
    font-size: .8125rem;
    font-weight: 700;
    line-height: 1.35;
}

.baltesa-mega__area-all {
    display: flex;
    margin-block-end: .375rem;
    border-block-end: 1px solid var(--baltesa-menu-border);
    border-radius: 0;
}

.baltesa-mega :is(.baltesa-mega__area-all, .baltesa-mega__all, a.baltesa-mega__branch)::after {
    content: '→';
    flex: none;
    font-size: 1rem;
}

a.baltesa-mega__branch::after {
    margin-inline-start: auto;
}

.baltesa-mega__branches {
    display: grid;
    gap: .1875rem;
}

.baltesa-mega__rail:only-child {
    grid-column: 1 / -1;
}

.baltesa-mega__rail:only-child .baltesa-mega__branches {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}

.baltesa-mega__branch {
    display: flex;
    align-items: center;
    gap: .625rem;
    inline-size: 100%;
    min-block-size: 44px;
    padding: .5rem .625rem;
    border: 1px solid transparent;
    border-radius: .45rem;
    background: transparent;
    color: inherit;
    font-size: .8125rem;
    line-height: 1.35;
}

.baltesa-mega .baltesa-subcategory-icon {
    position: static;
    flex: 0 0 var(--baltesa-subcategory-icon-size);
    transform: none;
}

.baltesa-mega__panel-heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: .375rem 1rem;
    padding: 0 .375rem .625rem;
    border-block-end: 1px solid var(--baltesa-menu-border);
}

.baltesa-mega__panel-heading h2 {
    margin: 0;
    font-size: clamp(1.05rem, 1.6vw, 1.375rem);
    line-height: 1.3;
}

.baltesa-mega__panel-heading p {
    margin: .25rem 0 0;
    color: #555c64;
    font-size: .8125rem;
}

.baltesa-mega__all {
    background: var(--baltesa-menu-accent-light);
}

.baltesa-mega :is(.baltesa-mega__featured, .baltesa-mega__groups, .baltesa-mega__tiles) {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
    align-items: start;
    gap: .375rem .75rem;
    margin-block-start: .625rem;
}

.baltesa-mega .baltesa-mega__featured {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
}

.baltesa-mega .baltesa-mega__tiles {
    border-block-start: 1px solid var(--baltesa-menu-border);
    padding-block-start: .5rem;
}

.baltesa-mega__group {
    min-inline-size: 0;
    padding: 0 .25rem .375rem;
}

.baltesa-mega__group h3 {
    margin: 0;
    font-size: .9375rem;
    line-height: 1.35;
}

.baltesa-mega__eyebrow {
    margin: .5625rem 0 .1875rem;
    padding-inline: .5rem;
    color: #5d4d49;
    font-size: .6875rem;
    font-weight: 750;
    letter-spacing: .035em;
    line-height: 1.35;
    text-transform: uppercase;
}

.baltesa-mega :is(.baltesa-mega__group-title, .baltesa-mega__tile, .baltesa-mega__link, .baltesa-mega__shortcut) {
    display: flex;
    align-items: center;
    gap: .5rem;
    min-block-size: 1.875rem;
    padding: .3125rem .5rem;
    border: 1px solid transparent;
    border-radius: .375rem;
    color: inherit;
    line-height: 1.35;
}

.baltesa-mega :is(.baltesa-mega__group-title, .baltesa-mega__tile) {
    min-block-size: 2.375rem;
    background: var(--baltesa-menu-surface);
    font-size: .875rem;
    font-weight: 700;
}

.baltesa-mega :is(.baltesa-mega__link, .baltesa-mega__shortcut) {
    font-size: .8125rem;
}

.baltesa-mega__all-link {
    min-block-size: 1.875rem;
    margin-block-start: .1875rem;
}

.baltesa-mega__shortcuts {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
}

.baltesa-mega :is(.baltesa-mega__group-title, .baltesa-mega__tile, .baltesa-mega__link, .baltesa-mega__shortcut, .baltesa-mega__area-all, .baltesa-mega__all, .baltesa-mega__all-link):hover {
    background: var(--baltesa-menu-accent-light);
    color: var(--baltesa-menu-accent-dark);
}

.baltesa-mega a.baltesa-active-ancestor {
    background: var(--baltesa-menu-accent-light);
    color: var(--baltesa-menu-accent-dark);
}

.baltesa-mega a:is([aria-current=page], [aria-current=location]) {
    border-color: var(--baltesa-menu-current-border);
    background: var(--baltesa-menu-accent-light);
    color: var(--baltesa-menu-accent-dark);
    font-weight: 700;
}

#mobileMenu .offcanvas-header {
    padding-inline: 1rem;
}

#mobileMenu .menu__list > li > .menu__link,
#mobileMenu .offcanvas-header > .btn-close {
    min-inline-size: 44px;
    min-block-size: 44px;
    box-sizing: border-box;
}

#menu-mobile .baltesa-mobile-menu-root {
    --baltesa-primary-category-icon-size: 1.625rem;
    gap: .625rem;
    border: 0;
    border-radius: inherit;
    background: transparent;
    color: inherit;
    text-align: start;
}

#menu-mobile .baltesa-mobile-menu-root i {
    flex: none;
    margin-inline-start: auto;
}

#mobileMenu .menu__list > li.baltesa-mobile-menu-group {
    padding: .625rem .25rem .25rem;
    border: 0;
    color: var(--baltesa-menu-accent-dark);
    font-size: .75rem;
    font-weight: 750;
    letter-spacing: .025em;
    text-transform: uppercase;
}

#mobileMenu .menu__list > li.baltesa-mobile-menu-all {
    border-color: var(--baltesa-menu-branch-border);
    background: var(--baltesa-menu-accent-light);
    color: var(--baltesa-menu-accent-dark);
    font-weight: 700;
}

#mobileMenu .baltesa-mobile-menu-all > a {
    gap: .5rem;
}

#mobileMenu .baltesa-mobile-menu-all > a::after {
    content: '→';
    margin-inline-start: auto;
}

#mobileMenu .js-back-button .baltesa-mobile-back-label {
    flex: none;
}

#mobileMenu .js-back-button .baltesa-open-category-name {
    padding-inline-start: .4375rem;
    border-inline-start: 1px solid #ffffff72;
    font-weight: 600;
}

.baltesa-catalogue-scope {
    display: flex;
    flex-wrap: wrap;
    gap: .25rem 1rem;
    margin-block-end: .875rem;
    padding: .625rem .875rem;
    border: 1px solid #dcc3bd;
    border-radius: .5rem;
    background: #f4e8e4;
    color: #70281f;
}
