:root {
    --um-font-family: Inter, Arial, sans-serif;
    --um-header-bg: #f4f0e8;
    --um-header-link: #334d24;
    --um-header-hover: #223518;
    --um-header-border: rgba(51, 77, 36, .14);
    --um-header-height: 78px;
    --um-header-padding-x: 18px;
    --um-content-max-width: 100%;
    --um-logo-width: 160px;
    --um-mobile-logo-width: 148px;
    --um-menu-gap: 36px;
    --um-logo-menu-gap: 28px;
    --um-actions-gap: 16px;
    --um-drawer-width: 420px;
    --um-drawer-bg: #334d24;
    --um-drawer-link: #fff;
    --um-drawer-border: rgba(255,255,255,.17);
    --um-drawer-control-bg: rgba(255,255,255,.1);
    --um-drawer-logo-filter: none;
    --um-overlay-bg: rgba(8,12,6,.48);
    --um-button-bg: #17390d;
    --um-button-color: #fff;
    --um-button-radius: 999px;
    --um-scroll-bg: #334d24;
    --um-scroll-link: #fff;
    --um-scroll-border: rgba(255,255,255,.14);
    --um-scroll-logo-filter: none;
    --um-social-size: 20px;
    --um-social-gap: 12px;
}

.urucum-menu-shell,
.urucum-menu-shell *,
.urucum-drawer,
.urucum-drawer *,
.urucum-menu-overlay,
.urucum-mega-backdrop { box-sizing: border-box; }

.elementor-widget-shortcode:has(.urucum-menu-shell),
.elementor-widget-container:has(.urucum-menu-shell),
.elementor-shortcode:has(.urucum-menu-shell) {
    max-width: none !important;
    overflow: visible !important;
}

.urucum-menu-shell {
    position: relative !important;
    left: 50% !important;
    width: 100vw !important;
    width: 100dvw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
    color: var(--um-header-link);
    font-family: var(--um-font-family);
    line-height: 1.5;
    z-index: 90;
}

.urucum-menu-shell a,
.urucum-drawer a { text-decoration: none !important; }

.urucum-menu-shell ul,
.urucum-drawer ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.urucum-menu-shell button,
.urucum-drawer button {
    font: inherit;
    margin: 0;
    border: 0;
    appearance: none;
    -webkit-appearance: none;
}

html.urucum-menu-is-open,
body.urucum-menu-is-open { overflow: hidden !important; }

.urucum-header {
    width: 100%;
    min-height: var(--um-header-height);
    background: var(--um-header-bg);
    border-bottom: 1px solid var(--um-header-border);
    box-shadow: 0 7px 24px rgba(24,36,16,.04);
    transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.urucum-menu-shell.is-scrolled .urucum-header {
    background: var(--um-scroll-bg);
    border-bottom-color: var(--um-scroll-border);
    box-shadow: 0 12px 32px rgba(16,26,11,.12);
}

.urucum-header__container {
    width: 100%;
    max-width: var(--um-content-max-width);
    min-height: var(--um-header-height);
    margin: 0 auto;
    padding: 0 var(--um-header-padding-x);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--um-logo-menu-gap);
}

.urucum-header__logo,
.urucum-drawer__logo {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    line-height: 0;
}

.urucum-header__logo img,
.urucum-drawer__logo img {
    display: block;
    width: auto !important;
    height: auto !important;
    object-fit: contain;
    transition: filter .22s ease;
}

.urucum-header__logo img {
    max-width: var(--um-logo-width) !important;
    max-height: calc(var(--um-header-height) - 18px) !important;
}

.urucum-menu-shell.is-scrolled .urucum-header__logo img {
    filter: var(--um-scroll-logo-filter);
}

.urucum-header__navwrap {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--um-actions-gap);
    flex: 1 1 auto;
    min-width: 0;
    margin-left: auto;
}

.urucum-desktop-navigation {
    flex: 1 1 auto;
    min-width: 0;
}

.urucum-desktop-menu {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: var(--um-menu-gap);
    flex-wrap: nowrap;
}

.urucum-desktop-menu > li {
    position: relative;
    margin: 0 !important;
    flex: 0 0 auto;
}

.urucum-desktop-menu > li > a {
    position: relative;
    display: flex !important;
    align-items: center;
    min-height: calc(var(--um-header-height) - 14px);
    padding: 8px 0 !important;
    color: var(--um-header-link) !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: .01em;
    white-space: nowrap;
    transition: color .2s ease, opacity .2s ease;
}

.urucum-menu-shell.is-scrolled .urucum-desktop-menu > li > a,
.urucum-menu-shell.is-scrolled .urucum-socials--desktop { color: var(--um-scroll-link) !important; }

.urucum-desktop-menu > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    height: 2px;
    border-radius: 99px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right center;
    transition: transform .2s ease;
}

.urucum-desktop-menu > li:hover > a,
.urucum-desktop-menu > li:focus-within > a,
.urucum-desktop-menu > .current-menu-item > a,
.urucum-desktop-menu > .current-menu-ancestor > a,
.urucum-desktop-menu > .current_page_item > a,
.urucum-desktop-menu > .current_page_ancestor > a { color: var(--um-header-hover) !important; }

.urucum-menu-shell.is-scrolled .urucum-desktop-menu > li:hover > a,
.urucum-menu-shell.is-scrolled .urucum-desktop-menu > li:focus-within > a,
.urucum-menu-shell.is-scrolled .urucum-desktop-menu > .current-menu-item > a,
.urucum-menu-shell.is-scrolled .urucum-desktop-menu > .current-menu-ancestor > a,
.urucum-menu-shell.is-scrolled .urucum-desktop-menu > .current_page_item > a,
.urucum-menu-shell.is-scrolled .urucum-desktop-menu > .current_page_ancestor > a {
    color: var(--um-scroll-link) !important;
    opacity: .78;
}

.urucum-desktop-menu > li:hover > a::after,
.urucum-desktop-menu > li:focus-within > a::after,
.urucum-desktop-menu > .current-menu-item > a::after,
.urucum-desktop-menu > .current-menu-ancestor > a::after,
.urucum-desktop-menu > .current_page_item > a::after,
.urucum-desktop-menu > .current_page_ancestor > a::after {
    transform: scaleX(1);
    transform-origin: left center;
}

.urucum-desktop-menu .sub-menu,
.urucum-desktop-menu .children {
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 40;
    min-width: 220px;
    padding: 8px !important;
    background: #fff;
    border: 1px solid var(--um-header-border);
    border-radius: 14px;
    box-shadow: 0 20px 52px rgba(21,34,13,.14);
    visibility: hidden;
    opacity: 0;
    transform: translate(-50%, 10px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    pointer-events: none;
}

.urucum-desktop-menu > li:last-child > .sub-menu,
.urucum-desktop-menu > li:last-child > .children,
.urucum-desktop-menu > li:nth-last-child(2) > .sub-menu,
.urucum-desktop-menu > li:nth-last-child(2) > .children {
    right: 0;
    left: auto;
    transform: translateY(10px);
}

.urucum-desktop-menu li:hover > .sub-menu,
.urucum-desktop-menu li:focus-within > .sub-menu,
.urucum-desktop-menu li:hover > .children,
.urucum-desktop-menu li:focus-within > .children {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, 0);
    pointer-events: auto;
}

.urucum-desktop-menu > li:last-child:hover > .sub-menu,
.urucum-desktop-menu > li:last-child:focus-within > .sub-menu,
.urucum-desktop-menu > li:last-child:hover > .children,
.urucum-desktop-menu > li:last-child:focus-within > .children,
.urucum-desktop-menu > li:nth-last-child(2):hover > .sub-menu,
.urucum-desktop-menu > li:nth-last-child(2):focus-within > .sub-menu,
.urucum-desktop-menu > li:nth-last-child(2):hover > .children,
.urucum-desktop-menu > li:nth-last-child(2):focus-within > .children { transform: translateY(0); }

.urucum-desktop-menu .sub-menu li + li,
.urucum-desktop-menu .children li + li { margin-top: 2px !important; }

.urucum-desktop-menu .sub-menu a,
.urucum-desktop-menu .children a {
    display: flex !important;
    align-items: center;
    width: 100%;
    padding: 10px 12px !important;
    border-radius: 10px;
    color: var(--um-header-link) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    white-space: nowrap;
    transition: background-color .18s ease, transform .18s ease;
}

.urucum-desktop-menu .sub-menu a:hover,
.urucum-desktop-menu .children a:hover,
.urucum-desktop-menu .sub-menu .current-menu-item > a,
.urucum-desktop-menu .children .current_page_item > a {
    background: rgba(51,77,36,.08);
    transform: translateX(2px);
}

.urucum-socials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--um-social-gap);
    color: var(--um-header-link);
    flex: 0 0 auto;
}

.urucum-socials__link {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: calc(var(--um-social-size) + 14px);
    height: calc(var(--um-social-size) + 14px);
    color: inherit !important;
    border: 1px solid currentColor;
    border-radius: 999px;
    opacity: .82;
    transition: opacity .18s ease, transform .18s ease, background-color .18s ease;
}

.urucum-socials__link:hover {
    opacity: 1;
    transform: translateY(-1px);
    background: color-mix(in srgb, currentColor 8%, transparent);
}

.urucum-socials__link span,
.urucum-socials__link svg {
    display: block;
    width: var(--um-social-size);
    height: var(--um-social-size);
}

.urucum-cta {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 22px !important;
    background: var(--um-button-bg);
    color: var(--um-button-color) !important;
    border-radius: var(--um-button-radius);
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1;
    white-space: nowrap;
    transition: transform .18s ease, filter .18s ease;
}

.urucum-cta:hover { filter: brightness(1.04); transform: translateY(-1px); }

.urucum-cta__icon,
.urucum-cta__icon svg,
.urucum-cta__icon-image {
    display: block;
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
}

.urucum-cta__icon-image { object-fit: contain; }

.urucum-menu-toggle {
    display: none;
    width: 46px;
    height: 46px;
    padding: 10px;
    background: transparent;
    color: var(--um-header-link);
    cursor: pointer;
    border-radius: 12px;
}

.urucum-menu-shell.is-scrolled .urucum-menu-toggle { color: var(--um-scroll-link); }

.urucum-menu-toggle span {
    display: block;
    width: 100%;
    height: 2px;
    margin: 6px 0;
    border-radius: 999px;
    background: currentColor;
}

.urucum-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 998;
    visibility: hidden;
    opacity: 0;
    background: var(--um-overlay-bg);
    backdrop-filter: blur(3px);
    transition: opacity .26s ease, visibility .26s ease;
}

.urucum-menu-overlay.is-visible { visibility: visible; opacity: 1; }

.urucum-drawer {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 999;
    width: min(calc(100vw - 18px), var(--um-drawer-width));
    height: 100dvh;
    display: flex;
    flex-direction: column;
    background: var(--um-drawer-bg);
    color: var(--um-drawer-link);
    font-family: var(--um-font-family);
    transform: translateX(100%);
    visibility: hidden;
    box-shadow: -12px 0 48px rgba(9,14,7,.22);
    transition: transform .3s cubic-bezier(.22,1,.36,1), visibility .3s ease;
}

.urucum-drawer.is-open { transform: translateX(0); visibility: visible; }

.urucum-drawer__header {
    min-height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--um-drawer-border);
}

.urucum-drawer__logo img {
    max-width: var(--um-mobile-logo-width) !important;
    max-height: 52px !important;
    filter: var(--um-drawer-logo-filter);
}

.urucum-menu-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    flex: 0 0 auto;
    color: var(--um-drawer-link);
    background: var(--um-drawer-control-bg);
    border-radius: 999px;
    cursor: pointer;
}

.urucum-menu-close svg { width: 28px; height: 28px; display: block; }

.urucum-mobile-navigation { padding: 14px 18px; overflow: auto; }

.urucum-mobile-menu > li {
    position: relative;
    border-bottom: 1px solid var(--um-drawer-border);
}

.urucum-mobile-menu > li > a {
    display: flex !important;
    align-items: center;
    min-height: 68px;
    padding: 9px 48px 9px 0 !important;
    color: var(--um-drawer-link) !important;
    font-size: clamp(17px, 3vw, 21px) !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.urucum-mobile-menu > li > a:hover,
.urucum-mobile-menu > li.current-menu-item > a,
.urucum-mobile-menu > li.current-menu-ancestor > a,
.urucum-mobile-menu > li.current_page_item > a,
.urucum-mobile-menu > li.current_page_ancestor > a { opacity: .78; }

.urucum-submenu-toggle {
    position: absolute;
    top: 13px;
    right: 0;
    width: 42px;
    height: 42px;
    background: transparent;
    color: var(--um-drawer-link);
    cursor: pointer;
}

.urucum-submenu-toggle::before,
.urucum-submenu-toggle::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 14px;
    height: 2px;
    border-radius: 99px;
    background: currentColor;
    transform: translate(-50%, -50%);
}

.urucum-submenu-toggle::after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: transform .18s ease;
}

.urucum-submenu-toggle[aria-expanded="true"]::after { transform: translate(-50%, -50%) rotate(0); }

.urucum-mobile-menu .sub-menu,
.urucum-mobile-menu .children { padding: 0 0 14px 14px !important; }

.urucum-mobile-menu .sub-menu a,
.urucum-mobile-menu .children a {
    display: flex !important;
    align-items: center;
    min-height: 44px;
    color: var(--um-drawer-link) !important;
    font-size: 15px !important;
    opacity: .88;
}

.urucum-drawer__footer {
    margin-top: auto;
    padding: 16px 18px 18px;
    border-top: 1px solid var(--um-drawer-border);
    display: grid;
    gap: 14px;
}

.urucum-socials--mobile {
    color: var(--um-drawer-link);
    justify-content: flex-start;
    flex-wrap: wrap;
}

.urucum-socials--mobile .urucum-socials__link { border-color: var(--um-drawer-border); opacity: 1; }

.urucum-cta--mobile { width: 100%; min-height: 56px; font-size: 17px !important; }

.urucum-menu-empty { margin: 12px 0 0; font-size: 14px; }

@media (max-width: 1120px) {
    .urucum-header__navwrap { display: none; }
    .urucum-menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
    .urucum-header__container { min-height: clamp(70px, var(--um-header-height), 84px); }
    .urucum-header__logo img { max-width: min(var(--um-logo-width), 150px) !important; max-height: 52px !important; }
}

@media (max-width: 640px) {
    .urucum-header__container {
        padding-left: max(10px, calc(var(--um-header-padding-x) - 4px));
        padding-right: max(10px, calc(var(--um-header-padding-x) - 4px));
    }
    .urucum-drawer { width: min(calc(100vw - 8px), var(--um-drawer-width)); }
    .urucum-drawer__header,
    .urucum-mobile-navigation,
    .urucum-drawer__footer { padding-left: 14px; padding-right: 14px; }
    .urucum-mobile-menu > li > a { min-height: 64px; font-size: 18px !important; }
}

@supports not (width: 100dvw) {
    .urucum-menu-shell { width: 100vw !important; }
}

@supports not (background: color-mix(in srgb, black 10%, transparent)) {
    .urucum-socials__link:hover { background: transparent; }
}

@media (prefers-reduced-motion: reduce) {
    .urucum-header,
    .urucum-menu-overlay,
    .urucum-drawer,
    .urucum-desktop-menu > li > a,
    .urucum-desktop-menu .sub-menu,
    .urucum-desktop-menu .children,
    .urucum-cta,
    .urucum-submenu-toggle::after,
    .urucum-header__logo img { transition: none !important; }
}

/* Correções de compatibilidade 2.2.1: remove espaçamentos do tema e garante o drawer mobile. */
.elementor-widget-shortcode:has(.urucum-menu-shell),
.elementor-widget-shortcode:has(.urucum-menu-shell) > .elementor-widget-container,
.elementor-widget-container:has(> .elementor-shortcode > .urucum-menu-shell),
.elementor-shortcode:has(> .urucum-menu-shell) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.urucum-menu-shell .urucum-header {
    height: var(--um-header-height) !important;
    min-height: var(--um-header-height) !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: normal !important;
}

.urucum-menu-shell .urucum-header__container {
    height: var(--um-header-height) !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.urucum-menu-shell .urucum-header__navwrap,
.urucum-menu-shell .urucum-desktop-navigation,
.urucum-menu-shell .urucum-desktop-menu,
.urucum-menu-shell .urucum-socials--desktop {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    align-self: center !important;
}

.urucum-menu-shell .urucum-desktop-menu > li > a {
    min-height: 44px !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.urucum-menu-shell .urucum-desktop-menu > li > a::after {
    bottom: 1px !important;
}

.urucum-menu-shell .urucum-menu-toggle {
    position: relative !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 48px !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--um-header-link) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    cursor: pointer !important;
    overflow: visible !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}

.urucum-menu-shell.is-scrolled .urucum-menu-toggle {
    color: var(--um-scroll-link) !important;
}

.urucum-menu-shell .urucum-menu-toggle svg {
    display: block !important;
    width: 30px !important;
    height: 30px !important;
    overflow: visible !important;
    color: inherit !important;
    pointer-events: none !important;
}

.urucum-menu-shell .urucum-menu-toggle svg path {
    stroke: currentColor !important;
}

body > .urucum-menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483645 !important;
    display: block !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

body > .urucum-menu-overlay.is-visible {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

body > .urucum-drawer {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 2147483646 !important;
    display: flex !important;
    width: min(calc(100vw - 8px), var(--um-drawer-width)) !important;
    max-width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: hidden !important;
    transform: translate3d(105%, 0, 0) !important;
    pointer-events: none !important;
    overflow: hidden !important;
}

body > .urucum-drawer.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translate3d(0, 0, 0) !important;
    pointer-events: auto !important;
}

body > .urucum-drawer .urucum-menu-close {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    min-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--um-drawer-link) !important;
    background: var(--um-drawer-control-bg) !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

@media (max-width: 1120px) {
    .urucum-menu-shell .urucum-header__navwrap {
        display: none !important;
    }

    .urucum-menu-shell .urucum-menu-toggle {
        display: inline-flex !important;
    }

    .urucum-menu-shell .urucum-header,
    .urucum-menu-shell .urucum-header__container {
        height: var(--um-header-height) !important;
        min-height: var(--um-header-height) !important;
    }
}


/* Correção 2.2.2: encosta o menu no topo e remove folga superior de builders/tema. */
.urucum-menu-shell {
    display: block !important;
    top: 0 !important;
    margin-top: -28px !important;
}

.elementor-widget-shortcode:has(.urucum-menu-shell),
.elementor-widget-shortcode:has(.urucum-menu-shell) > .elementor-widget-container,
.elementor-widget-container:has(> .elementor-shortcode > .urucum-menu-shell),
.elementor-shortcode:has(> .urucum-menu-shell),
.elementor-element:has(> .elementor-widget-wrap > .elementor-widget-shortcode .urucum-menu-shell),
.elementor-element:has(.urucum-menu-shell),
section:has(.urucum-menu-shell),
div:has(> .urucum-menu-shell) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

body.admin-bar .urucum-menu-shell {
    margin-top: 0 !important;
}

@media (max-width: 1120px) {
    .urucum-menu-shell {
        margin-top: -20px !important;
    }
}

@media (max-width: 767px) {
    .urucum-menu-shell {
        margin-top: -16px !important;
    }
}

/* Ajustes 2.2.3: escala automática em telas menores e folga segura no desktop. */
.urucum-header__navwrap {
    padding-right: var(--um-desktop-actions-edge, 22px);
}

.urucum-drawer__header {
    flex: 0 0 auto;
}

.urucum-mobile-navigation {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}

.urucum-drawer__footer {
    flex: 0 0 auto;
    padding-bottom: max(18px, env(safe-area-inset-bottom));
}

@media (max-width: 1120px) {
    .urucum-header__navwrap {
        padding-right: 0;
    }
}

@media (max-width: 480px) {
    body > .urucum-drawer,
    .urucum-drawer {
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 0 !important;
    }

    .urucum-drawer__header {
        min-height: clamp(66px, 17vw, 78px);
        padding: 10px 12px;
    }

    .urucum-drawer__logo img {
        max-width: min(var(--um-mobile-logo-width), 132px) !important;
        max-height: 44px !important;
    }

    .urucum-menu-close {
        width: 44px !important;
        min-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
    }

    .urucum-menu-close svg {
        width: 24px !important;
        height: 24px !important;
    }

    .urucum-mobile-navigation {
        padding: 8px 14px 10px;
    }

    .urucum-mobile-menu > li > a {
        min-height: clamp(56px, 15vw, 64px);
        padding-top: 8px !important;
        padding-bottom: 8px !important;
        font-size: clamp(16px, 5vw, 18px) !important;
    }

    .urucum-submenu-toggle {
        top: 8px;
        width: 40px;
        height: 40px;
    }

    .urucum-drawer__footer {
        gap: 10px;
        padding: 12px 14px max(12px, env(safe-area-inset-bottom));
    }

    .urucum-socials--mobile {
        gap: 9px;
    }

    .urucum-socials--mobile .urucum-socials__link {
        width: 38px;
        height: 38px;
    }

    .urucum-cta--mobile {
        min-height: 50px;
        padding-inline: 16px !important;
        font-size: 16px !important;
    }
}

@media (max-width: 360px) {
    .urucum-drawer__header,
    .urucum-mobile-navigation,
    .urucum-drawer__footer {
        padding-left: 10px;
        padding-right: 10px;
    }

    .urucum-mobile-menu > li > a {
        min-height: 54px;
        font-size: 16px !important;
    }

    .urucum-socials--mobile .urucum-socials__link {
        width: 35px;
        height: 35px;
    }

    .urucum-cta--mobile {
        min-height: 47px;
        font-size: 15px !important;
    }
}

@media (max-height: 740px) {
    .urucum-drawer__header {
        min-height: 66px;
        padding-top: 8px;
        padding-bottom: 8px;
    }

    .urucum-drawer__logo img {
        max-height: 42px !important;
    }

    .urucum-mobile-navigation {
        padding-top: 6px;
        padding-bottom: 6px;
    }

    .urucum-mobile-menu > li > a {
        min-height: 54px;
        padding-top: 6px !important;
        padding-bottom: 6px !important;
        font-size: 17px !important;
    }

    .urucum-submenu-toggle {
        top: 6px;
    }

    .urucum-drawer__footer {
        gap: 8px;
        padding-top: 10px;
        padding-bottom: max(10px, env(safe-area-inset-bottom));
    }

    .urucum-cta--mobile {
        min-height: 46px;
    }
}

@media (max-height: 600px) {
    .urucum-drawer__header {
        min-height: 58px;
    }

    .urucum-drawer__logo img {
        max-height: 36px !important;
    }

    .urucum-menu-close {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
    }

    .urucum-mobile-menu > li > a {
        min-height: 48px;
        font-size: 16px !important;
    }

    .urucum-socials--mobile .urucum-socials__link {
        width: 34px;
        height: 34px;
    }

    .urucum-cta--mobile {
        min-height: 42px;
        font-size: 15px !important;
    }
}


/* Ajustes 2.2.4: responsivo encostado como o desktop e logo branca no drawer. */
@media (max-width: 1120px) {
    .urucum-menu-shell {
        margin-top: -28px !important;
    }

    body > .urucum-drawer,
    .urucum-drawer {
        top: 0 !important;
        right: 0 !important;
        margin: 0 !important;
    }

    .urucum-drawer__logo img {
        filter: brightness(0) saturate(100%) invert(1) !important;
    }
}

@media (max-width: 767px) {
    .urucum-menu-shell {
        margin-top: -28px !important;
    }
}


/* Mega menu e árvore completa — 2.3.0. */
.urucum-header__container {
    position: relative;
}

.urucum-menu-item__content,
.urucum-menu-item__title,
.urucum-menu-item__description,
.urucum-menu-item__media {
    display: block;
    min-width: 0;
}

.urucum-menu-item__description {
    margin-top: 3px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    opacity: .68;
    white-space: normal;
}

.urucum-menu-item__media {
    overflow: hidden;
    border-radius: 10px;
    background: rgba(51, 77, 36, .08);
}

.urucum-menu-item__image {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform .25s ease;
}

.urucum-desktop-menu .sub-menu a.urucum-menu-link--with-image,
.urucum-desktop-menu .children a.urucum-menu-link--with-image {
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 11px;
    align-items: center;
    min-width: 280px;
    white-space: normal;
}

.urucum-desktop-menu .sub-menu a.urucum-menu-link--with-image .urucum-menu-item__media,
.urucum-desktop-menu .children a.urucum-menu-link--with-image .urucum-menu-item__media {
    width: 64px;
    height: 50px;
}

/* Submenus comuns em níveis profundos abrem lateralmente. */
.urucum-desktop-menu .sub-menu .sub-menu,
.urucum-desktop-menu .sub-menu .children,
.urucum-desktop-menu .children .sub-menu,
.urucum-desktop-menu .children .children {
    top: -9px;
    right: auto;
    left: 100%;
    transform: translate(10px, 0);
}

.urucum-desktop-menu .sub-menu li:hover > .sub-menu,
.urucum-desktop-menu .sub-menu li:focus-within > .sub-menu,
.urucum-desktop-menu .sub-menu li:hover > .children,
.urucum-desktop-menu .sub-menu li:focus-within > .children,
.urucum-desktop-menu .children li:hover > .sub-menu,
.urucum-desktop-menu .children li:focus-within > .sub-menu,
.urucum-desktop-menu .children li:hover > .children,
.urucum-desktop-menu .children li:focus-within > .children {
    transform: translate(0, 0);
}

/* O item principal marcado como mega menu usa toda a largura interna do cabeçalho. */
.urucum-desktop-menu > li.urucum-menu-item--mega {
    position: static;
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children,
.urucum-desktop-menu > li.urucum-menu-item--mega:last-child > .sub-menu,
.urucum-desktop-menu > li.urucum-menu-item--mega:last-child > .children,
.urucum-desktop-menu > li.urucum-menu-item--mega:nth-last-child(2) > .sub-menu,
.urucum-desktop-menu > li.urucum-menu-item--mega:nth-last-child(2) > .children {
    top: 100%;
    right: 0;
    left: 0;
    width: 100%;
    min-width: 0;
    max-height: min(72vh, 720px);
    padding: 22px !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    align-items: start;
    gap: 18px;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 0 0 18px 18px;
    transform: translateY(12px);
}

.urucum-desktop-menu > li.urucum-menu-item--mega:hover > .sub-menu,
.urucum-desktop-menu > li.urucum-menu-item--mega:focus-within > .sub-menu,
.urucum-desktop-menu > li.urucum-menu-item--mega:hover > .children,
.urucum-desktop-menu > li.urucum-menu-item--mega:focus-within > .children {
    transform: translateY(0);
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu > li,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children > li {
    min-width: 0;
    margin: 0 !important;
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu > li + li,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children > li + li {
    margin-top: 0 !important;
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu > li > a,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children > li > a {
    min-width: 0;
    height: 100%;
    padding: 12px !important;
    align-content: start;
    background: rgba(51, 77, 36, .045);
    border: 1px solid rgba(51, 77, 36, .09);
    border-radius: 14px;
    white-space: normal;
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu > li > a.urucum-menu-link--with-image,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children > li > a.urucum-menu-link--with-image {
    display: block !important;
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu > li > a .urucum-menu-item__media,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children > li > a .urucum-menu-item__media {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    margin-bottom: 11px;
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu > li > a .urucum-menu-item__title,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children > li > a .urucum-menu-item__title {
    font-size: 15px;
    font-weight: 700;
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu > li:hover > a .urucum-menu-item__image,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children > li:hover > a .urucum-menu-item__image {
    transform: scale(1.035);
}

/* Dentro do painel, os níveis seguintes ficam visíveis como listas/colunas. */
.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu .sub-menu,
.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu .children,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children .sub-menu,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children .children {
    position: static;
    width: auto;
    min-width: 0;
    margin: 7px 0 0 !important;
    padding: 3px 4px 0 !important;
    display: block !important;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    transform: none;
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu .sub-menu a,
.urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu .children a,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children .sub-menu a,
.urucum-desktop-menu > li.urucum-menu-item--mega > .children .children a {
    min-width: 0;
    padding: 7px 8px !important;
    font-size: 13px !important;
    border-radius: 8px;
    white-space: normal;
}

/* Imagens também funcionam na árvore expansível do celular. */
.urucum-mobile-menu .sub-menu a.urucum-menu-link--with-image,
.urucum-mobile-menu .children a.urucum-menu-link--with-image {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 10px;
    min-height: 66px;
    padding: 7px 0 !important;
}

.urucum-mobile-menu a.urucum-menu-link--with-image .urucum-menu-item__media {
    width: 58px;
    height: 48px;
}

.urucum-mobile-menu .urucum-menu-item__description {
    color: inherit;
    font-size: 12px;
    opacity: .68;
}

@media (max-width: 1320px) and (min-width: 1121px) {
    .urucum-desktop-menu > li.urucum-menu-item--mega > .sub-menu,
    .urucum-desktop-menu > li.urucum-menu-item--mega > .children {
        grid-template-columns: repeat(auto-fit, minmax(165px, 1fr));
        gap: 13px;
        padding: 16px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .urucum-menu-item__image {
        transition: none !important;
    }
}


/* Correção 2.3.1: mantém o submenu clicável durante a passagem do cursor. */
.urucum-desktop-menu li.is-submenu-open > .sub-menu,
.urucum-desktop-menu li.is-submenu-open > .children {
    visibility: visible;
    opacity: 1;
    transform: translate(-50%, 0);
    pointer-events: auto;
}

.urucum-desktop-menu > li:last-child.is-submenu-open > .sub-menu,
.urucum-desktop-menu > li:last-child.is-submenu-open > .children,
.urucum-desktop-menu > li:nth-last-child(2).is-submenu-open > .sub-menu,
.urucum-desktop-menu > li:nth-last-child(2).is-submenu-open > .children {
    transform: translateY(0);
}

.urucum-desktop-menu .sub-menu li.is-submenu-open > .sub-menu,
.urucum-desktop-menu .sub-menu li.is-submenu-open > .children,
.urucum-desktop-menu .children li.is-submenu-open > .sub-menu,
.urucum-desktop-menu .children li.is-submenu-open > .children {
    transform: translate(0, 0);
}

.urucum-desktop-menu > li.urucum-menu-item--mega.is-submenu-open > .sub-menu,
.urucum-desktop-menu > li.urucum-menu-item--mega.is-submenu-open > .children {
    transform: translateY(0);
}

.urucum-desktop-menu .sub-menu[aria-hidden="true"],
.urucum-desktop-menu .children[aria-hidden="true"] {
    pointer-events: none;
}

/* Mega menu editorial com banner — 2.4.0. */
.urucum-header__container {
    position: relative;
}

.urucum-desktop-menu > li.urucum-menu-item--mega {
    position: static;
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .urucum-mega-panel {
    position: absolute;
    top: calc(100% - 1px);
    left: 50%;
    z-index: 120;
    width: min(1050px, calc(100vw - 44px));
    max-height: min(76vh, 650px);
    padding: 30px;
    display: grid;
    grid-template-columns: minmax(250px, 304px) 1px minmax(0, 1fr);
    gap: 24px;
    overflow-x: hidden;
    overflow-y: auto;
    background: rgba(255, 255, 255, .985);
    border: 1px solid rgba(51, 77, 36, .14);
    border-radius: 20px;
    box-shadow: 0 28px 72px rgba(34, 42, 27, .19);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translate(-50%, 10px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.urucum-desktop-menu > li.urucum-menu-item--mega > .urucum-mega-panel::before {
    content: "";
    position: absolute;
    top: -14px;
    left: 0;
    right: 0;
    height: 14px;
}

.urucum-desktop-menu > li.urucum-menu-item--mega:hover > .urucum-mega-panel,
.urucum-desktop-menu > li.urucum-menu-item--mega:focus-within > .urucum-mega-panel,
.urucum-desktop-menu > li.urucum-menu-item--mega.is-submenu-open > .urucum-mega-panel {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
}

.urucum-desktop-menu .urucum-mega-panel[aria-hidden="true"] {
    pointer-events: none;
}

.urucum-desktop-menu > li.urucum-menu-item--mega:hover > .urucum-mega-panel[aria-hidden="true"],
.urucum-desktop-menu > li.urucum-menu-item--mega:focus-within > .urucum-mega-panel[aria-hidden="true"],
.urucum-desktop-menu > li.urucum-menu-item--mega.is-submenu-open > .urucum-mega-panel[aria-hidden="true"] {
    pointer-events: auto;
}

.urucum-mega-panel__divider {
    display: block;
    width: 1px;
    min-height: 100%;
    background: rgba(51, 77, 36, .16);
}

.urucum-mega-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 28px;
    margin-bottom: 24px;
    color: var(--um-header-link);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.urucum-mega-heading__icon,
.urucum-mega-heading__icon svg {
    display: block;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
}

.urucum-mega-feature,
.urucum-mega-services {
    min-width: 0;
}

.urucum-mega-feature__card {
    display: block !important;
    overflow: hidden;
    color: var(--um-header-link) !important;
    background: #fff;
    border: 1px solid rgba(51, 77, 36, .18);
    border-radius: 16px;
    box-shadow: 0 5px 18px rgba(34, 42, 27, .035);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.urucum-mega-feature__card:hover,
.urucum-mega-feature__card:focus-visible {
    border-color: rgba(51, 77, 36, .38);
    box-shadow: 0 12px 30px rgba(34, 42, 27, .10);
    transform: translateY(-2px);
}

.urucum-mega-feature__media {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: rgba(51, 77, 36, .06);
}

.urucum-mega-feature__media img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    transition: transform .35s ease;
}

.urucum-mega-feature__card:hover .urucum-mega-feature__media img {
    transform: scale(1.025);
}

.urucum-mega-feature__body {
    display: block;
    padding: 16px 17px 17px;
}

.urucum-mega-feature__title,
.urucum-mega-feature__description,
.urucum-mega-feature__button {
    display: block;
}

.urucum-mega-feature__title {
    color: var(--um-header-link);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 23px;
    font-weight: 500;
    line-height: 1.15;
}

.urucum-mega-feature__description {
    margin-top: 9px;
    color: color-mix(in srgb, var(--um-header-link) 68%, transparent);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.55;
}

.urucum-mega-feature__button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 43px;
    margin-top: 16px;
    padding: 0 17px;
    color: var(--um-header-link);
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 600;
}

.urucum-mega-feature__card--without-image .urucum-mega-feature__body {
    padding-top: 24px;
}

.urucum-desktop-menu .urucum-mega-panel > .urucum-mega-services > .urucum-mega-services__grid {
    position: static;
    inset: auto;
    width: auto;
    min-width: 0;
    max-height: none;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 24px 34px;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition: none;
}

.urucum-desktop-menu .urucum-mega-services__grid > li {
    min-width: 0;
    margin: 0 !important;
}

.urucum-desktop-menu .urucum-mega-services__grid > li + li {
    margin-top: 0 !important;
}

.urucum-desktop-menu .urucum-mega-services__grid > li > a.urucum-menu-link--mega-service {
    display: grid !important;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    min-width: 0;
    width: 100%;
    padding: 0 !important;
    color: var(--um-header-link) !important;
    background: transparent;
    border: 0;
    border-radius: 0;
    white-space: normal;
    transform: none;
}

.urucum-desktop-menu .urucum-mega-services__grid > li > a.urucum-menu-link--mega-service:hover {
    background: transparent;
    transform: none;
}

.urucum-menu-link--mega-service .urucum-menu-item__media--service {
    display: grid;
    width: 68px;
    height: 68px;
    margin: 0;
    overflow: hidden;
    place-items: center;
    color: var(--um-header-link);
    background: color-mix(in srgb, var(--um-header-bg) 82%, #fff);
    border-radius: 999px;
}

.urucum-menu-link--mega-service .urucum-menu-item__media--service img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
}

.urucum-menu-item__fallback-icon,
.urucum-menu-item__fallback-icon svg {
    display: block;
    width: 35px;
    height: 35px;
}

.urucum-menu-link--mega-service .urucum-menu-item__content {
    min-width: 0;
    padding-top: 3px;
}

.urucum-menu-link--mega-service .urucum-menu-item__title {
    color: var(--um-header-link);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 21px;
    font-weight: 500;
    line-height: 1.2;
}

.urucum-menu-link--mega-service .urucum-menu-item__description {
    margin-top: 6px;
    color: color-mix(in srgb, var(--um-header-link) 65%, transparent);
    font-size: 13px;
    line-height: 1.55;
    opacity: 1;
}

.urucum-menu-item__more {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 12px;
    color: var(--um-header-link);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
}

.urucum-menu-link--mega-service:hover .urucum-menu-item__more {
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Níveis adicionais permanecem visíveis dentro de cada bloco do mega menu. */
.urucum-desktop-menu .urucum-mega-services__grid > li > .sub-menu,
.urucum-desktop-menu .urucum-mega-services__grid > li > .children {
    position: static;
    inset: auto;
    min-width: 0;
    width: auto;
    margin: 10px 0 0 84px !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition: none;
}

.urucum-desktop-menu .urucum-mega-services__grid > li > .sub-menu a,
.urucum-desktop-menu .urucum-mega-services__grid > li > .children a {
    min-width: 0;
    padding: 5px 0 !important;
    background: transparent;
    color: var(--um-header-link) !important;
    font-size: 12px !important;
    white-space: normal;
}

@media (max-width: 1260px) and (min-width: 1121px) {
    .urucum-desktop-menu > li.urucum-menu-item--mega > .urucum-mega-panel {
        width: min(940px, calc(100vw - 30px));
        grid-template-columns: minmax(220px, 270px) 1px minmax(0, 1fr);
        gap: 19px;
        padding: 23px;
    }

    .urucum-desktop-menu .urucum-mega-panel > .urucum-mega-services > .urucum-mega-services__grid {
        gap: 20px 24px;
    }

    .urucum-desktop-menu .urucum-mega-services__grid > li > a.urucum-menu-link--mega-service {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 12px;
    }

    .urucum-menu-link--mega-service .urucum-menu-item__media--service {
        width: 58px;
        height: 58px;
    }

    .urucum-menu-link--mega-service .urucum-menu-item__title {
        font-size: 18px;
    }
}

/* Fundo de destaque e bloqueio da página — 2.4.3. */
.urucum-menu-shell.is-mega-open {
    z-index: 10001 !important;
}

.urucum-mega-backdrop {
    position: fixed;
    top: var(--urucum-mega-backdrop-top, var(--um-header-height));
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 10000;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    background: var(--um-overlay-bg, rgba(8, 12, 6, .48));
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    transition: opacity .22s ease, visibility .22s ease;
}

.urucum-mega-backdrop.is-visible {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

/* Mantém a página exatamente na posição em que o mega menu foi aberto. */
html.urucum-mega-menu-is-open {
    overflow: hidden !important;
    overscroll-behavior: none;
}

body.urucum-mega-menu-is-open {
    overflow: hidden !important;
    padding-right: var(--urucum-mega-lock-padding-right, 0px) !important;
    overscroll-behavior: none;
}

/* O painel precisa permanecer acima do fundo escurecido. */
.urucum-desktop-menu > li.urucum-menu-item--mega > .urucum-mega-panel {
    z-index: 120;
}

@media (max-width: 1120px) {
    .urucum-mega-backdrop {
        display: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .urucum-mega-backdrop {
        transition: none !important;
    }
}



/* Camadas e abertura por hover real do item — 2.4.4. */
@media (min-width: 1121px) {
    /* O fundo permanece dentro do componente. Assim, ele não pode cobrir o painel. */
    .urucum-menu-shell.is-mega-open {
        position: relative !important;
        z-index: 2147483000 !important;
        isolation: isolate;
        overflow: visible !important;
    }

    .urucum-menu-shell.is-mega-open .urucum-header {
        position: relative !important;
        z-index: 3 !important;
        overflow: visible !important;
    }

    .urucum-menu-shell .urucum-mega-backdrop {
        position: absolute !important;
        top: var(--urucum-mega-backdrop-offset, 100%) !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        z-index: 1 !important;
        width: 100% !important;
        height: var(--urucum-mega-backdrop-height, calc(100dvh - var(--um-header-height))) !important;
        min-height: 0 !important;
    }

    .urucum-menu-shell .urucum-desktop-menu > li.urucum-menu-item--mega > .urucum-mega-panel {
        position: absolute;
        z-index: 6 !important;
    }

    /* Não deixa as regras genéricas de :hover abrirem o painel por uma área da página. */
    .urucum-desktop-menu li:not(.is-submenu-open):not(:focus-within) > .sub-menu,
    .urucum-desktop-menu li:not(.is-submenu-open):not(:focus-within) > .children,
    .urucum-desktop-menu li:not(.is-submenu-open):not(:focus-within) > .urucum-mega-panel {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .urucum-desktop-menu li.is-submenu-open > .sub-menu,
    .urucum-desktop-menu li.is-submenu-open > .children,
    .urucum-desktop-menu li.is-submenu-open > .urucum-mega-panel,
    .urucum-desktop-menu li:focus-within > .sub-menu,
    .urucum-desktop-menu li:focus-within > .children,
    .urucum-desktop-menu li:focus-within > .urucum-mega-panel {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .urucum-desktop-menu > li.urucum-menu-item--mega.is-submenu-open > .urucum-mega-panel,
    .urucum-desktop-menu > li.urucum-menu-item--mega:focus-within > .urucum-mega-panel {
        transform: translate(-50%, 0) !important;
    }
}

/* Abertura estritamente pelo link do menu — 2.4.5. */
@media (min-width: 1121px) {
    /*
     * Remove qualquer abertura visual herdada de :hover/:focus-within no <li>.
     * O JavaScript adiciona .is-submenu-open somente quando o ponteiro entra
     * no link real do menu (ou quando ele recebe foco pelo teclado).
     */
    .urucum-desktop-menu > li.urucum-menu-item--mega:not(.is-submenu-open) > .urucum-mega-panel,
    .urucum-desktop-menu > li:not(.is-submenu-open) > .sub-menu,
    .urucum-desktop-menu > li:not(.is-submenu-open) > .children {
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .urucum-desktop-menu > li.urucum-menu-item--mega.is-submenu-open > .urucum-mega-panel,
    .urucum-desktop-menu > li.is-submenu-open > .sub-menu,
    .urucum-desktop-menu > li.is-submenu-open > .children {
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .urucum-desktop-menu > li.urucum-menu-item--mega.is-submenu-open > .urucum-mega-panel {
        transform: translate(-50%, 0) !important;
    }

    /* A área do item principal fica limitada ao próprio link no cabeçalho. */
    .urucum-desktop-menu > li.urucum-menu-item--mega {
        pointer-events: none;
    }

    .urucum-desktop-menu > li.urucum-menu-item--mega > a,
    .urucum-desktop-menu > li.urucum-menu-item--mega.is-submenu-open > .urucum-mega-panel {
        pointer-events: auto;
    }
}

/* Remove o fundo imposto pelo tema no botão de submenu mobile — 2.4.6. */
@media (max-width: 1120px) {
    body .urucum-drawer button.urucum-submenu-toggle,
    body .urucum-drawer button.urucum-submenu-toggle:hover,
    body .urucum-drawer button.urucum-submenu-toggle:focus,
    body .urucum-drawer button.urucum-submenu-toggle:active {
        -webkit-appearance: none !important;
        appearance: none !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        color: var(--um-drawer-link) !important;
    }

    body .urucum-drawer button.urucum-submenu-toggle:focus-visible {
        outline: 2px solid currentColor !important;
        outline-offset: 2px !important;
    }
}
